(57)【要約】  プログラマブルロジックコントローラ（３）と、プログラマブルロジックコントローラ（４）とを有する制御システムであって、プログラマブルロジックコントローラ（３）は、更新後のファームウェアのバージョンを指定する情報であるプログラマブルロジックコントローラ（４）のファームウェア更新設定を記憶するファームウェア更新設定記憶部（３０２）と、ファームウェアデータを記憶するファームウェアデータ記憶部（３０３）とを有し、プログラマブルロジックコントローラ（４）は、プログラマブルロジックコントローラ（３）からファームウェア更新設定及びファームウェアデータを取得するファームウェア更新設定処理部（４０１）と、ファームウェア更新設定に従いファームウェアデータにより、ファームウェア更新設定によって指定されたバージョンでファームウェアを更新するファームウェア更新実行部（４１１）とを有する。
2016166799.tif 000002
【特許請求の範囲】
【請求項１】
第１のプログラマブルロジックコントローラと、該第１のプログラマブルロジックコントローラにネットワークで接続される少なくとも一つの第２のプログラマブルロジックコントローラとを有する制御システムであって、
前記第１のプログラマブルロジックコントローラは、更新後のファームウェアのバージョンを指定する情報である前記第２のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、前記第２のプログラマブルロジックコントローラのファームウェアデータを記憶するファームウェアデータ記憶部とを有し、
前記第２のプログラマブルロジックコントローラは、前記第１のプログラマブルロジックコントローラから前記ファームウェア更新設定及び前記ファームウェアデータを取得するファームウェア更新設定処理部と、前記ファームウェア更新設定に従い前記ファームウェアデータにより、前記ファームウェア更新設定によって指定されたバージョンでファームウェアを更新するファームウェア更新実行部とを有することを特徴とする制御システム。
【請求項２】
前記ファームウェア更新設定は、ファームウェアの更新可否を指定する情報を含むことを特徴とする請求項１に記載の制御システム。
【請求項３】
前記第１のプログラマブルロジックコントローラ及び前記第２のプログラマブルロジックコントローラが処理する制御プログラムを作成するプログラミングツールを有し、
前記プログラミングツールは、前記ファームウェア更新設定記憶部及び前記ファームウェアデータ記憶部に前記ファームウェア更新設定及び前記ファームウェアデータを書き込むファームウェア更新設定部を有することを特徴とする請求項２に記載の制御システム。
【請求項４】
前記プログラミングツールは、
前記第２のプログラマブルロジックコントローラが実行する制御プログラムに動作を許可するファームウェアのバージョンを設定する制御プログラム設定部を有し、
前記ファームウェア更新設定部は、前記制御プログラムにおいて動作を許可するバージョンが設定された第２のプログラマブルロジックコントローラのファームウェアの更新を不可にして前記ファームウェア更新設定を作成することを特徴とする請求項３に記載の制御システム。
【請求項５】
前記第２のプログラマブルロジックコントローラは、ファームウェアの更新状態を監視するファームウェア更新状態管理部を有し、
前記第１のプログラマブルロジックコントローラは、前記第２のプログラマブルロジックコントローラから、前記ファームウェアの更新状態を示す情報を収集するファームウェア更新状態収集部を有し、
前記プログラミングツールは、前記ファームウェア更新状態収集部が収集した情報に基づいて、前記第２のプログラマブルロジックコントローラのファームウェアの更新状態を表示するファームウェア状態表示部を有することを特徴とする請求項３又は４に記載の制御システム。
【請求項６】
リムーバブル記憶媒体に記憶された前記ファームウェア更新設定及び前記ファームウェアデータを読み出し、前記ファームウェア更新設定記憶部及び前記ファームウェアデータ記憶部に記憶させることを特徴とする請求項１に記載の制御システム。
【請求項７】
スレーブ局となる他のプログラマブルロジックコントローラにネットワークを通じてされてマスタ局となるプログラマブルロジックコントローラであって、
更新後のファームウェアのバージョンを指定する情報である前記第２のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、前記ファームウェア更新設定によって指定されたバージョンの前記他のプログラマブルロジックコントローラのファームウェアのファームウェアデータを記憶するファームウェアデータ記憶部とを有することを特徴とするプログラマブルロジックコントローラ。
【請求項８】
マスタ局となる他のプログラマブルロジックコントローラにネットワークを通じてされてスレーブ局となるプログラマブルロジックコントローラであって、
前記他のプログラマブルロジックコントローラから、更新後のファームウェアのバージョンを指定する情報であるファームウェア更新設定及び前記ファームウェア更新設定によって指定されたバージョンのファームウェアのファームウェアデータを取得するファームウェア更新設定処理部と、前記ファームウェア更新設定に従い前記ファームウェアデータによりファームウェアを更新するファームウェア更新実行部とを有することを特徴とするプログラマブルロジックコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ局となるプログラマブルロジックコントローラとスレーブ局となるプログラマブルロジックコントローラとをネットワークを通じて接続した制御システム及びプログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
従来、プログラマブルロジックコントローラのファームウェアを更新する場合、ユーザがメーカのウェブサイトから対象機種のあるバージョンのファームウェアのデータを取得し、各プログラマブルロジックコントローラに対してファームウェアをインストールしていた。上記方法では、ファームウェアの更新作業は、プログラマブルロジックコントローラ１台ずつ行われており、プログラマブルロジックコントローラを複数用いた大規模な制御システムでは、作業工数が増大してしまう。【０００３】
特に、各プログラマブルロジックコントローラのファームウェアのバージョンを確認した上で、更新が必要か否か及びいずれのバージョンで更新するかを判断する作業に時間を要する。【０００４】
特許文献１には、マスタＣＰＵが、スレーブＣＰＵにおける書き換えるべきファームウェアを有し、マスタＣＰＵにネットワークで接続されたスレーブＣＰＵのファームウェアを更新する手法が提案されている。また、特許文献２には、ファームの更新時に、新しいバージョンに更新するか古いバージョンに戻すかを設定により選択可能とすることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−６７２１５号公報
【特許文献２】特開２００３−１５８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の手法では、スレーブＣＰＵのファームウェア更新時にファームウェアのバージョンを指定できないため、特定のスレーブＣＰＵのファームウェアを特定のバージョンに戻したり、特定の制御向けにカスタマイズされたファームウェアを特定のスレーブＣＰＵにインストールしたりすることはできない。また、特定のバージョンのファームウェアに特化されたプログラムが存在する場合、ファームウェアを更新した結果、制御の振る舞い及びタイミングにずれが生じることを防止できない。【０００７】
また、特許文献２に記載の手法では、ファームを更新するか否か及びアップグレードかダウングレードかの選択は、設定により可能であるが、特許文献１と同様にファームウェアのバージョンを指定することはできないため、特許文献１と同様の問題が生じる。【０００８】
本発明は、上記に鑑みてなされたものであって、システム中のプログラマブルロジックコントローラのファームウェアを、バージョンを指定して更新できる制御システムを得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、第１のプログラマブルロジックコントローラと、第１のプログラマブルロジックコントローラにネットワークで接続される少なくとも一つの第２のプログラマブルロジックコントローラとを有する制御システムを提供する。第１のプログラマブルロジックコントローラは、更新後のファームウェアのバージョンを指定する情報である第２のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、ファームウェアデータを記憶するファームウェアデータ記憶部とを有する。第２のプログラマブルロジックコントローラは、第１のプログラマブルロジックコントローラからファームウェア更新設定及びファームウェアデータを取得するファームウェア更新設定処理部と、ファームウェア更新設定に従いファームウェアデータにより、ファームウェア更新設定によって指定されたバージョンでファームウェアを更新するファームウェア更新実行部とを有する。
【発明の効果】
【００１０】
本発明にかかる制御システムは、システム中のプログラマブルロジックコントローラのファームウェアを、バージョンを指定して更新できるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１にかかるプログラマブルロジックコントローラを用いた制御システムの概略構成を示す図
【図２】実施の形態１にかかる制御システムの構成を示す図
【図３】実施の形態１にかかる制御システムを構成するプログラミングツールに適用される情報処理装置のハードウェア構成を示す図
【図４】実施の形態１にかかる制御システムのマスタ局であるプログラマブルロジックコントローラのハードウェア構成を示す図
【図５】実施の形態１にかかるスレーブ局であるプログラマブルロジックコントローラのハードウェア構成を示す図
【図６】実施の形態１にかかる制御システムのファームウェア情報の収集の流れを示すシーケンス図
【図７】実施の形態１にかかるプログラミングツールが表示させるファームウェア情報一覧表示画面の一例を示す図
【図８】実施の形態１にかかる制御システムでのファームウェア更新設定の流れを示すシーケンス図
【図９】実施の形態１にかかるプログラミングツールが表示させるファームウェア更新設定画面の一例を示す図
【図１０】実施の形態１にかかるスレーブ局であるプログラマブルロジックコントローラのプル型でのファームウェア更新処理の流れを示すフローチャート
【図１１】実施の形態１にかかるプログラミングツールが表示させるファームウェア更新状態一覧表示画面の一例を示す図
【図１２】本発明の実施の形態２にかかる制御システムの構成を示す図
【図１３】実施の形態２にかかる制御システムに用いられるメモリカードにデータを記録するプログラミングツールに適用される情報処理装置のハードウェア構成を示す図
【図１４】実施の形態２にかかる制御システムのマスタ局であるプログラマブルロジックコントローラのハードウェア構成を示す図
【発明を実施するための形態】
【００１２】
以下に、本発明の実施の形態にかかる制御システム及びプログラマブルロジックコントローラを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１にかかるプログラマブルロジックコントローラを用いた制御システムの概略構成を示す図である。制御システムは、マスタ局となる第１のプログラマブルロジックコントローラであるプログラマブルロジックコントローラ３と、スレーブ局となる第２のプログラマブルロジックコントローラでありネットワーク５で接続されたプログラマブルロジックコントローラ３によって制御されるプログラマブルロジックコントローラ４と、プログラマブルロジックコントローラ３に接続されたプログラミングツール２と、プログラミングツール２に接続されたサーバ１とを有する。
【００１４】
サーバ１は、プログラマブルロジックコントローラ３，４を製造するメーカによって運用される。サーバ１には、プログラマブルロジックコントローラ３，４のファームウェアが格納されている。プログラミングツール２とサーバ１との間は、インターネット又はローカルエリアネットワークによって接続される。
【００１５】
図２は、実施の形態１にかかる制御システムの構成を示す図である。なお、図１中のプログラマブルロジックコントローラ４は全て同じ構成であるため、図２にはプログラマブルロジックコントローラ４を一つだけ図示している。プログラミングツール２は、プログラマブルロジックコントローラ３，４のプログラムを作成する装置である。プログラミングツール２は、ファームウェア更新設定画面を表示するファームウェア更新設定部２１、各プログラマブルロジックコントローラのファームウェア情報を収集して一覧表示するファームウェア情報収集部２２、プログラマブルロジックコントローラの制御プログラムに動作を許可する特定のファームウェアのバージョンを設定する制御プログラム設定部２３、プログラマブルロジックコントローラの制御プログラムを記憶する制御プログラム記憶部２４及び制御システム全体のファームウェアの更新状態を画面上に一覧表示するファームウェア更新状態表示部２５を有する。
【００１６】
図３は、実施の形態１にかかる制御システムを構成するプログラミングツールに適用される情報処理装置のハードウェア構成を示す図である。プログラミングツール２は、情報処理装置５０がプログラミングツールソフトウェア５３１を実行することによって実現されている。すなわち、プログラミングツールソフトウェア５３１を実行中の情報処理装置５０は、プログラミングツール２となる。情報処理装置５０は、プログラミングツールソフトウェア５３１を実行する演算装置５１、演算装置５１がワークエリアに用いるメモリ５２、プログラミングツールソフトウェア５３１を記憶する記憶装置５３、情報入力用のユーザインタフェースである入力装置５４、情報を表示する表示装置５５、サーバ１との通信用の通信装置５６及びプログラマブルロジックコントローラ３との通信用の通信装置５７を備える。演算装置５１には、ＣＰＵ（Central  Processing  Unit）を適用できる。メモリ５２には、ＲＡＭ（Random  Access  Memory）を適用できる。記憶装置５３には、ハードディスクドライブ又はソリッドステートドライブを適用できる。入力装置５４にはキーボード及びマウスを適用できる。表示装置５５には液晶表示装置を適用できる。
【００１７】
図２に示すファームウェア更新設定部２１、ファームウェア情報収集部２２、制御プログラム設定部２３及びファームウェア更新状態表示部２５は、演算装置５１がメモリ５２をワークエリアに用いてプログラミングツールソフトウェア５３１を実行することによって実現されている。また、複数の演算装置及び複数のメモリが連携して上記機能を実行してもよい。制御プログラム記憶部２４は、記憶装置５３によって実現されている。
【００１８】
図２に示すように、プログラマブルロジックコントローラ３は、ファームウェア更新設定を管理するファームウェア更新設定管理部３０１、更新後のファームウェアのバージョンを指定する情報であるプログラマブルロジックコントローラ３，４のファームウェア更新設定を記憶するファームウェア更新設定記憶部３０２、プログラマブルロジックコントローラ３，４のファームウェアデータを記憶するファームウェアデータ記憶部３０３、プログラミングツール２からファームウェア情報収集コマンドを受信するとプログラマブルロジックコントローラ４に対してファームウェア情報を要求するファームウェア情報収集管理部３０４及びプログラマブルロジックコントローラ４のファームウェア更新状態を収集するファームウェア更新状態収集部３０５を有する。また、プログラマブルロジックコントローラ３は、ファームウェア更新設定及びファームウェアデータをファームウェア更新設定記憶部３０２及びファームウェアデータ記憶部３０３に記憶させるファームウェア更新設定処理部３０６、ファームウェア情報を処理するファームウェア情報処理部３０７、ファームウェア情報を記憶するファームウェア情報記憶部３０８、制御プログラム設定部２３の要求を受けてプログラム動作設定記憶部３１０に記憶されているプログラム動作設定を返す制御プログラム設定処理部３０９、プログラム動作設定を記憶するプログラム動作設定記憶部３１０、制御プログラムを記憶する制御プログラム記憶部３１１、ファームウェア更新状態を管理するファームウェア更新状態管理部３１２、ファームウェア更新状態を表示するファームウェア更新状態表示部３１３、ファームウェアの更新を実行するファームウェア更新実行部３１４、実行用のファームウェアが格納されるファームウェア格納部３１５、プログラマブルロジックコントローラ３，４にかかっている負荷を監視する負荷監視部３１６及びプログラマブルロジックコントローラ３にかかっている負荷を測定する負荷算出部３１７を有する。
【００１９】
図４は、実施の形態１にかかる制御システムのマスタ局であるプログラマブルロジックコントローラのハードウェア構成を示す図である。プログラマブルロジックコントローラ３は、ファームウェアを実行する演算装置６１、演算装置６１がワークエリアに用いるメモリ６２、演算装置６１が実行するファームウェアを記憶する記憶装置６３、制御プログラムのようなデータを記憶する記憶装置６４、プログラミングツール２との通信用の通信装置６５及びプログラマブルロジックコントローラ４との通信用の通信装置６６を備える。演算装置６１には、ＣＰＵ（Central  Processing  Unit）を適用できる。メモリ６２には、ＲＡＭ（Random  Access  Memory）を適用できる。記憶装置６３には、不揮発性半導体メモリを適用できる。記憶装置６４には、不揮発性半導体メモリを適用できる。
【００２０】
図２に示すファームウェア更新設定管理部３０１、ファームウェア情報収集管理部３０４及びファームウェア更新状態収集部３０５は、演算装置６１がメモリ６２をワークエリアに用いて記憶装置６３に記憶されているファームウェアを実行することによって実現される。また、複数の演算装置及びメモリが連携して上記機能を実行してもよい。ファームウェア更新設定記憶部３０２及びファームウェアデータ記憶部３０３は、記憶装置６４によって実現される。
【００２１】
図２に示したファームウェア更新設定処理部３０６、ファームウェア情報処理部３０７、制御プログラム設定処理部３０９、ファームウェア更新状態管理部３１２及びファームウェア更新実行部３１４は、演算装置６１がメモリ６２をワークエリアにして記憶装置６３に記憶されているファームウェアを実行することによって実現される。ファームウェア情報記憶部３０８、プログラム動作設定記憶部３１０及び制御プログラム記憶部３１１は、記憶装置６４によって実現される。ファームウェア格納部３１５は、記憶装置６３により実現される。ファームウェア更新状態表示部３１３は、表示ランプ６７により実現される。
【００２２】
図２に示すように、プログラマブルロジックコントローラ４は、プログラマブルロジックコントローラ３からファームウェア更新設定及びファームウェアデータを取得するファームウェア更新設定処理部４０１、ファームウェア更新設定を記憶するファームウェア更新設定記憶部４０２、ファームウェアデータを記憶するファームウェアデータ記憶部４０３、ファームウェア情報を処理するファームウェア情報処理部４０４、ファームウェア情報を記憶するファームウェア情報記憶部４０５、制御プログラム設定部２３の要求を受けてプログラム動作設定記憶部４０７に記憶されているプログラム動作設定を返す制御プログラム設定処理部４０６、プログラム動作設定を記憶するプログラム動作設定記憶部４０７、制御プログラムを記憶する制御プログラム記憶部４０８、ファームウェア更新状態を管理するファームウェア更新状態管理部４０９、ファームウェア更新状態を表示するファームウェア更新状態表示部４１０を有する。また、プログラマブルロジックコントローラ４は、ファームウェアの更新を実行するファームウェア更新実行部４１１、実行用のファームウェアが格納されるファームウェア格納部４１２及びプログラマブルロジックコントローラ４にかかっている負荷を測定する負荷算出部４１３を有する。
【００２３】
図５は、実施の形態１にかかるスレーブ局であるプログラマブルロジックコントローラのハードウェア構成を示す図である。プログラマブルロジックコントローラ４は、ファームウェアを実行する演算装置７１、演算装置７１がワークエリアに用いるメモリ７２、演算装置７１が実行するファームウェアを記憶する記憶装置７３、制御プログラムのようなデータを記憶する記憶装置７４、プログラマブルロジックコントローラ３との通信用の通信装置７５及び複数の点灯色及び点灯パターンを持つ表示ランプ７６を備える。演算装置７１には、ＣＰＵ（Central  Processing  Unit）を適用できる。メモリ７２には、ＲＡＭ（Random  Access  Memory）を適用できる。記憶装置７３には、不揮発性半導体メモリを適用できる。記憶装置７４には、不揮発性半導体メモリを適用できる。表示ランプ７６にはＬＥＤ（Light  Emitting  Diode）ランプを適用できる。
【００２４】
図２に示したファームウェア更新設定処理部４０１、ファームウェア情報処理部４０４、制御プログラム設定処理部４０６、ファームウェア更新状態管理部４０９及びファームウェア更新実行部４１１は、演算装置７１がメモリ７２をワークエリアにして記憶装置７３に記憶されているファームウェアを実行することによって実現される。ファームウェア更新設定記憶部４０２、ファームウェアデータ記憶部４０３、ファームウェア情報記憶部４０５、プログラム動作設定記憶部４０７、制御プログラム記憶部４０８は、記憶装置７４によって実現される。ファームウェア格納部４１２は、記憶装置７３により実現される。ファームウェア更新状態表示部４１０は、表示ランプ７６により実現される。
【００２５】
次に、実施の形態１にかかる制御システムでのファームウェア情報の収集処理について説明する。図６は、実施の形態１にかかる制御システムのファームウェア情報の収集の流れを示すシーケンス図である。ステップＳ１でプログラミングツール２のファームウェア情報収集部２２は、プログラマブルロジックコントローラ３に対し、ファームウェア情報収集コマンドを発行する。
【００２６】
プログラマブルロジックコントローラ３のファームウェア情報収集管理部３０４は、ファームウェア情報収集コマンドを受信すると、ステップＳ２で、プログラマブルロジックコントローラ３に接続されているプログラマブルロジックコントローラ４の各々に対し、ファームウェア情報を要求する。また、ステップＳ２では、ファームウェア情報処理部３０７は、ファームウェア情報記憶部３０８からファームウェア情報を読み出す処理も行う。
【００２７】
プログラマブルロジックコントローラ３からファームウェア情報を要求されたプログラマブルロジックコントローラ４は、ステップＳ３で、ファームウェア情報処理部４０４が、ファームウェア情報記憶部４０５に記憶されているファームウェア情報を取得して、プログラマブルロジックコントローラ３へ送信する。
【００２８】
ファームウェア情報は、現在のファームウェアのバージョン、ファームウェアの更新可否、プログラマブルロジックコントローラ４の機器情報を含んでいる。プログラマブルロジックコントローラ４の機器情報は、プログラマブルロジックコントローラ４の型名及びネットワークにおけるプログラマブルロジックコントローラ４のアドレス情報を含んでいる。アドレス情報にはインターネットプロトコルアドレスを用いることができる。
【００２９】
ステップＳ４で、プログラマブルロジックコントローラ３のファームウェア情報収集管理部３０４は、プログラマブルロジックコントローラ４から収集したファームウェア情報及びファームウェア情報処理部３０７がファームウェア情報記憶部３０８から読み出したファームウェア情報を、ファームウェア情報収集コマンドに対しての応答でプログラミングツール２のファームウェア情報収集部２２に返す。
【００３０】
ステップＳ５で、プログラミングツール２のファームウェア情報収集部２２は、収集したプログラマブルロジックコントローラ４の各々のファームウェア情報を一覧表示する。
【００３１】
図７は、実施の形態１にかかるプログラミングツールが表示させるファームウェア情報一覧表示画面の一例を示す図である。ファームウェア情報一覧表示画面８０は、番号欄８１、アドレス情報欄８２、型名欄８３、現ファームウェアバージョン欄８４及び更新可否欄８５を有する。番号欄の番号は、制御システム中のプログラマブルロジックコントローラ４についての通し番号になっている。アドレス情報欄８２、型名欄８３及び現ファームウェアバージョン欄８４は、ファームウェア情報に含まれていた情報がそのまま表示される。
【００３２】
次に、実施の形態１にかかる制御システムでのファームウェア更新設定の処理について説明する。図８は、実施の形態１にかかる制御システムでのファームウェア更新設定の流れを示すシーケンス図である。ステップＳ１１で、プログラミングツール２のファームウェア更新設定部２１は、ファームウェア情報収集部２２が収集したファームウェア情報を基に、ファームウェア更新設定画面を表示する。図９は、実施の形態１にかかるプログラミングツールが表示させるファームウェア更新設定画面の一例を示す図である。ファームウェア更新設定画面９０は、図７に示したファームウェア情報一覧表示画面８０の番号欄８１、アドレス情報欄８２、型名欄８３、現ファームウェアバージョン欄８４及び更新可否欄８５と同様の番号欄９１、アドレス情報欄９２、型名欄９３、現ファームウェアバージョン欄９４及び更新可否欄９５に加え更新設定欄９６を有している。更新設定欄９６は、ファームウェアデータ欄９６１と更新後ファームウェアバージョン欄９６２とを備えている。
【００３３】
ファームウェアデータ欄９６１は、ファームウェア更新設定画面９０上で指定可能なファームウェアデータのファイルの選択肢をリスト形式で表示し、リストの中からファイルを選択できる。ただし、更新可否欄９５で更新不可に設定されているプログラマブルロジックコントローラに対しては、更新するファームウェアデータのファイルを指定できない。
【００３４】
更新後ファームウェアバージョン欄９６２は、ファームウェアデータ欄９６１でファームウェアデータのファイルを指定することによって、指定したファイルのファームウェアで更新した場合にファームウェアがどのバージョンになるかが表示される。更新後ファームウェアバージョン欄９６２の内容は、確認のために表示されるものであり、ユーザが設定内容を変更することはできない。
【００３５】
ステップＳ１２で、プログラミングツール２のファームウェア更新設定部２１は、ファームウェア更新設定画面９０に対しての更新設定の設定操作を、入力装置５４を介して受け付ける。
【００３６】
ステップＳ１３で、プログラミングツール２のファームウェア更新設定部２１は、ステップＳ１２で受け付けた操作により設定されたファームウェア更新設定をプログラマブルロジックコントローラ３のファームウェア更新設定管理部３０１に送信する。
【００３７】
ステップＳ１４で、プログラマブルロジックコントローラ３のファームウェア更新設定管理部３０１は、ファームウェア更新設定記憶部３０２にファームウェア更新設定を書き込む。
【００３８】
ステップＳ１５で、プログラミングツール２のファームウェア更新設定部２１は、ファームウェアデータ欄で指定したファームウェアデータをサーバ１から取得する。
【００３９】
ステップＳ１６で、プログラミングツール２のファームウェア更新設定部２１は、ステップＳ１５で取得したファームウェアデータをプログラマブルロジックコントローラ３のファームウェア更新設定管理部３０１に送信する。
【００４０】
ステップＳ１７で、プログラマブルロジックコントローラ３のファームウェア更新設定管理部３０１は、ファームウェアデータ記憶部３０３にファームウェアデータを書き込む。
【００４１】
次に、実施の形態１にかかる制御システムでのファームウェア更新処理について説明する。ファームウェアの更新は、スレーブ局であるプログラマブルロジックコントローラ４の各々が、マスタ局であるプログラマブルロジックコントローラ３から取得したファームウェアデータ及びファームウェア更新設定を基に、ファームウェア更新実行部４１１で自局の記憶装置に記憶されたファームウェアデータを書き換えることにより実行する。
【００４２】
プログラマブルロジックコントローラ４がファームウェアの更新処理を行う手法は、プッシュ型かプル型かを選択可能である。プッシュ型では、ファームウェア更新設定管理部３０１は、プログラミングツール２から受信したファームウェアデータ及びファームウェア更新設定をファームウェアデータ記憶部３０３及びファームウェア更新設定記憶部３０２に書き込んだ後、即座にファームウェア更新設定に従って、プログラマブルロジックコントローラ４の各々のファームウェア更新設定処理部４０１に対してファームウェアデータを送信し、書き込みを行う。
【００４３】
一方、プル型では、ファームウェア更新設定管理部３０１は、プログラマブルロジックコントローラ４からの要求を受けて要求元のプログラマブルロジックコントローラ４のファームウェア更新設定処理部４０１に対してファームウェアデータを送信し、書き込みを行う。
【００４４】
プッシュ型かプル型かは、使用状況に応じて選択される。プッシュ型は、スレーブ局であるプログラマブルロジックコントローラ４が稼働中にファームウェア更新を実行できるが、ファームウェア更新処理の負荷により、プログラマブルロジックコントローラ４で動作する制御プログラムの実行に影響が及ぶ可能性がある。一方、プル型は、スレーブ局であるプログラマブルロジックコントローラ４の起動処理の中で実行するため、制御プログラムへの影響はないが、ファームウェアの更新に先立ってプログラマブルロジックコントローラ４の電源を切る必要がある。
【００４５】
実施の形態１では、負荷算出部３１７，４１３により、プログラマブルロジックコントローラ３，４の負荷状況を測定し、既定の閾値よりも負荷が低い場合はプッシュ型、既定の閾値よりも負荷が低くない場合はプル型を選択して、ファームウェアの更新処理を実行する。
【００４６】
負荷算出部４１３は、演算装置７１の使用率及びメモリ７２の使用率に基づいて、プログラマブルロジックコントローラ４の負荷を算出する。負荷監視部３１６は、プログラマブルロジックコントローラ４の負荷算出部４１３からプログラマブルロジックコントローラ４の負荷の情報を取得する。負荷監視部３１６は、規定の閾値を保持しており、プログラマブルロジックコントローラ４から取得した情報が示す負荷と閾値とを比較し、閾値よりも負荷が低ければプッシュ型、低くなければプル型を選択して、選択結果をファームウェア設定管理部３０１に通知する。
【００４７】
図１０は、実施の形態１にかかるスレーブ局であるプログラマブルロジックコントローラのプル型でのファームウェア更新処理の流れを示すフローチャートである。プログラマブルロジックコントローラ４は、電源投入後のイニシャル処理でファームウェアの更新処理を行う。ステップＳ２１で、ファームウェア更新実行部４１１は、自局のファームウェアの更新が可能となっているか否かを確認する。ファームウェアが更新可能か否かの判断は、ファームウェア情報記憶部４０５に記憶されたファームウェア情報を参照して行う。ファームウェアを更新可能な状態であれば、ステップＳ２１でＹｅｓとなり、ステップＳ２２で、ファームウェア更新設定処理部４０１は、プログラマブルロジックコントローラ３のファームウェア更新設定管理部３０１からファームウェア更新設定を取得する。
【００４８】
自局のファームウェアの更新が可能でなければ、ステップＳ２１でＮｏとなり、処理を終了する。
【００４９】
ステップＳ２３で、ファームウェア更新設定管理部３０１は、自局の更新設定が存在するか否かを確認する。自局の更新設定が存在するか否かの確認は、ファームウェア更新設定記憶部４０２に記憶されているファームウェア更新設定に自局のエントリが存在するか否かに基づいて行う。自局の更新設定が存在すれば、ステップＳ２３でＹｅｓとなり、ステップＳ２４で、ファームウェア更新設定処理部４０１は、プログラマブルロジックコントローラ３からファームウェアデータを取得する。ファームウェアデータを取得する際には、ファームウェア更新設定処理部４０１は、ファームウェア更新設定記憶部４０２に記憶されているファームウェア更新設定に基づいて、更新設定で指定されているバージョンのファームウェアデータを取得する。
【００５０】
自局の更新設定が存在しなければ、ステップＳ２３でＮｏとなり、処理を終了する。
【００５１】
ステップＳ２５で、ファームウェア更新実行部４１１は、ファームウェアデータ記憶部４０３に記憶されているファームウェアデータを、ファームウェア格納部４１２に書き込むことによりファームウェアの更新を実行する。
【００５２】
ステップＳ２６で、ファームウェア更新実行部４１１は、ファームウェア情報記憶部４０５内のファームウェア情報を更新する。
【００５３】
マスタ局となるプログラマブルロジックコントローラ３は、スレーブ局となるプログラマブルロジックコントローラ４と同様に、演算装置６１の使用率及びメモリ６２の使用率に基づいて、プログラマブルロジックコントローラ３の負荷を算出する負荷算出部３１７とファームウェア更新設定を管理するファームウェア更新設定処理部３０６とを備えているため、プログラマブルロジックコントローラ３の内部でプッシュ型又はプル型のファームウェア更新処理を行える。
【００５４】
なお、プログラマブルロジックコントローラ４は、ファームウェア更新実行部４１１によるファームウェア更新処理の実行状態について、ファームウェア更新状態管理部４０９で監視している。ファームウェア更新処理の実行状態は更新中又は更新完了である。ファームウェア更新状態管理部４０９は、ファームウェア更新状態表示部４１０にて、ファームウェアの更新処理の実行状態を表示させる。一例を挙げると、ファームウェア更新状態管理部４０９は、ファームウェア更新状態表示部４１０をなす表示ランプ７６の点灯色及び点灯パターンを変化させることで、ファームウェアの更新処理の実行状況を表示させる。
【００５５】
マスタ局であるプログラマブルロジックコントローラ３も同様に、ファームウェア更新実行部３１４によるファームウェア更新処理の実行状態について、ファームウェア更新状態管理部３１２で監視している。ファームウェア更新処理の実行状態は更新中又は更新完了である。ファームウェア更新状態管理部３１２は、ファームウェア更新状態表示部３１３にて、ファームウェアの更新処理の実行状態を表示させる。一例を挙げると、ファームウェア更新状態管理部３１２は、ファームウェア更新状態表示部３１３をなす表示ランプ６７の点灯色及び点灯パターンを変化させることで、ファームウェアの更新処理の実行状況を表示させる。
【００５６】
マスタ局であるプログラマブルロジックコントローラ３は、ファームウェア更新状態収集部３０５が、ファームウェア更新状態管理部３１２が保持するファームウェアの更新状態と、スレーブ局であるプログラマブルロジックコントローラ４のファームウェア更新状態管理部４０９が保持するファームウェア更新状態とを取得することにより、制御システム全体でのファームウェア更新状態を収集する。プログラミングツール２のファームウェア更新状態表示部２５は、ファームウェア更新状態収集部３０５が収集した制御システム全体でのファームウェア更新状態を、ファームウェア更新状態一覧表示画面で表示する。
【００５７】
図１１は、実施の形態１にかかるプログラミングツールが表示させるファームウェア更新状態一覧表示画面の一例を示す図である。ファームウェア更新状態一覧表示画面１１０は、図９に示したファームウェア更新設定画面９０の番号欄９１、アドレス情報欄９２、型名欄９３、現ファームウェアバージョン欄９４、更新可否欄９５及び更新設定欄９６と同様の番号欄１１１、アドレス情報欄１１２、型名欄１１３、現ファームウェアバージョン欄１１４、更新可否欄１１５及び更新設定欄１１６に加え、更新状態欄１１７を有している。更新状態欄１１７にはプログラマブルロジックコントローラ４のファームウェアの更新状態が表示される。
【００５８】
次に、実施の形態１にかかる制御システムにおけるプログラム動作設定について説明する。プログラミングツール２では、制御プログラム設定部２３において、マスタ局であるプログラマブルロジックコントローラ３で動作させる制御プログラム及びスレーブ局であるプログラマブルロジックコントローラ４で動作させる制御プログラムに対し、動作を許可する特定のファームウェアバージョンを設定することにより、設定されたバージョンと異なるバージョンのファームウェアへの更新の実行を不可とする。
【００５９】
具体的には、制御プログラム設定部２３は、プログラミングツール２で作成されて制御プログラム記憶部２４に記憶されている制御プログラムに対し、動作を許可する特定のファームウェアのバージョンを設定し、制御プログラム設定処理部３０９，４０６に送信して、制御プログラム記憶部３１１，４０８に記憶させる。特定のファームウェアバージョンが設定された場合、制御プログラム設定処理部３０９，４０６は、ファームウェア情報記憶部３０８，４０５内のファームウェア情報に対して、ファームウェア更新可否の情報を追加記録する。ファームウェア更新可否に不可の設定がなされたプログラマブルロジックコントローラ３，４に対しては、ファームウェア更新設定を行うことができなくなる。
【００６０】
上記のように、実施の形態１にかかる制御システムは、複数のプログラマブルロジックコントローラをネットワークで接続して構成しても、ファームウェアの更新処理を行う際の作業工数の増加を抑えることができる。また、特定のプログラマブルロジックコントローラに対して特定のバージョンのファームウェアを指定したい場合に、プログラマブルロジックコントローラごとにファームウェアのバージョンを指定できる。また、特定のファームウェアに特化された制御プログラムが存在する場合、ファームウェアの更新可否に不可を設定することにより、誤ってファームウェアを更新してしまい、制御の振る舞い又はタイミングがずれるなどの問題が生じることを防止できる。
【００６１】
実施の形態２．
図１２は、本発明の実施の形態２にかかる制御システムの構成を示す図である。実施の形態２にかかる制御システムは、ファームウェアの更新を実行する際にプログラミングツールを使用せず、プログラマブルロジックコントローラ３’がファームウェア更新設定４１及びファームウェアデータ４２をメモリカード４０から取得する点で実施の形態１と相違している。
【００６２】
マスタ局であるプログラマブルロジックコントローラ３’は、ファームウェア更新設定４１及びファームウェアデータ４２をメモリカード４０から読み出す自己ファームウェア更新処理部３１８を有する点で、実施の形態１のプログラマブルロジックコントローラ３と相違している。
【００６３】
メモリカード４０には、プログラミングツールによりファームウェア更新設定４１及び更新対象となるプログラマブルロジックコントローラ４の分のファームウェアデータ４２が記録されている。
【００６４】
図１３は、実施の形態２にかかる制御システムに用いられるメモリカードにデータを記録するプログラミングツールに適用される情報処理装置のハードウェア構成を示す図である。情報処理装置５０’は、メモリカードライタ５８を備える点で、実施の形態１の制御システムを構成するプログラミングツール２に適用される情報処理装置５０と相違している。
【００６５】
図１２に示すファームウェア更新設定４１及びファームウェアデータ４２は、演算装置５１がメモリ５２をワークエリアに用いて記憶装置５３に記憶されているファームウェアを実行し、メモリカードライタ５８を用いることによってメモリカード４０に書き込まれる。
【００６６】
図１４は、実施の形態２にかかる制御システムのマスタ局であるプログラマブルロジックコントローラのハードウェア構成を示す図である。プログラマブルロジックコントローラ３’は、メモリカードリーダ６８を備える点で、実施の形態１の制御システムのマスタ局であるプログラマブルロジックコントローラ３と相違している。
【００６７】
図１２に示す自己ファームウェア更新処理部３１８は、演算装置６１がメモリ６２をワークエリアに用いて記憶装置６３に記憶されているファームウェアを実行し、メモリカードリーダ６８を用いることによって実現される。また、複数の演算装置及びメモリが連携して上記機能を実行してもよい。
【００６８】
マスタ局であるプログラマブルロジックコントローラ３’を起動することにより、自己ファームウェア更新処理部３１８によって、ファームウェア更新設定４１及びファームウェアデータ４２がメモリカード４０から読み出され、ファームウェア更新設定管理部３０１によりファームウェア更新設定記憶部３０２及びファームウェアデータ記憶部３０３に記憶される。
【００６９】
ファームウェア更新設定記憶部３０２内のファームウェア更新設定及びファームウェアデータ記憶部３０３内のファームウェアデータを用いてプログラマブルロジックコントローラ３’，４のファームウェアを更新する処理は、実施の形態１と同様である。
【００７０】
実施の形態２によれば、遠隔地でファームウェアの更新を実施したい場合などに、メモリカード４０を送付すれば、プログラミングツールが無くてもプログラマブルロジックコントローラ３’，４のファームウェアを更新できるため、メンテナンスコストを低減できる。
【００７１】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【００７２】
１  サーバ、２  プログラミングツール、３，３’，４  プログラマブルロジックコントローラ、５  ネットワーク、２１  ファームウェア更新設定部、２２  ファームウェア情報収集部、２３  制御プログラム設定部、２４  制御プログラム記憶部、２５  ファームウェア状態表示部、４０  メモリカード、４１  ファームウェア更新設定、４２  ファームウェアデータ、５１，６１，７１  演算装置、５２，６２，７２  メモリ、５３，６３，６４，７３，７４  記憶装置、５４  入力装置、５５  表示装置、５６，５７，６５，６６，７５  通信装置、５８  メモリカードライタ、６８  メモリカードリーダ、６７，７６  表示ランプ、８０  ファームウェア情報一覧表示画面、８１，９１，１１１  番号欄、８２，９２，１１２  アドレス情報欄、８３，９３，１１３  型名欄、８４，９４，１１４  現ファームウェアバージョン欄、８５，９５，１１５  更新可否欄、９０  ファームウェア更新設定画面、９６，１１６  更新設定欄、１１０  ファームウェア更新状態一覧表示画面、１１７  更新状態欄、３０１、ファームウェア更新設定管理部、３０２，４０２  ファームウェア更新設定記憶部、３０３，４０３  ファームウェアデータ記憶部、３０４  ファームウェア情報収集管理部、３０５  ファームウェア更新状態収集部、３０６，４０１  ファームウェア更新設定処理部、３０７，４０４  ファームウェア情報処理部、３０８，４０５  ファームウェア情報記憶部、３０９，４０６  制御プログラム設定処理部、３１０，４０７  プログラム動作設定記憶部、３１１，４０８  制御プログラム記憶部、３１２，４０９  ファームウェア更新状態管理部、３１３，４１０  ファームウェア更新状態表示部、３１４，４１１  ファームウェア更新実行部、３１５，４１２  ファームウェア格納部、３１６  負荷監視部、３１７，４１３  負荷算出部、３１８  自己ファームウェア更新処理部、５３１  プログラミングツールソフトウェア、９６１  ファームウェアデータ欄、９６２  更新後ファームウェアバージョン欄。
【図１】
2016166799.tif 000003
【図２】
2016166799.tif 000004
【図３】
2016166799.tif 000005
【図４】
2016166799.tif 000006
【図５】
2016166799.tif 000007
【図６】
2016166799.tif 000008
【図７】
2016166799.tif 000009
【図８】
2016166799.tif 000010
【図９】
2016166799.tif 000011
【図１０】
2016166799.tif 000012
【図１１】
2016166799.tif 000013
【図１２】
2016166799.tif 000014
【図１３】
2016166799.tif 000015
【図１４】
2016166799.tif 000016
【手続補正書】
【提出日】平成29年3月30日(2017.3.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のプログラマブルロジックコントローラと、該第１のプログラマブルロジックコントローラにネットワークで接続される少なくとも一つの第２のプログラマブルロジックコントローラとを有する制御システムであって、
前記第１のプログラマブルロジックコントローラは、更新後のファームウェアのバージョンを指定する情報である前記第２のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、前記第２のプログラマブルロジックコントローラのファームウェアデータを記憶するファームウェアデータ記憶部と、前記第２のプログラマブルロジックコントローラの処理負荷を示す情報を前記第２のプログラマブルロジックコントローラから取得する負荷監視部とを有し、
前記第２のプログラマブルロジックコントローラは、前記第１のプログラマブルロジックコントローラから前記ファームウェア更新設定及び前記ファームウェアデータを取得するファームウェア更新設定処理部と、前記ファームウェア更新設定に従い前記ファームウェアデータにより、前記ファームウェア更新設定によって指定されたバージョンでファームウェアを更新するファームウェア更新実行部と、前記第２のプログラマブルロジックコントローラの処理負荷を測定する負荷算出部とを有し、
前記第１のプログラマブルロジックコントローラは、前記第２のプログラマブルロジックコントローラの処理負荷が規定の閾値よりも低い場合にはプッシュ型で前記ファームウェアデータを前記ファームウェア更新設定処理部に送信し、前記第２のプログラマブルロジックコントローラの処理負荷が前記規定の閾値よりも低くない場合にはプル型で前記ファームウェアデータを前記ファームウェア更新設定処理部に送信することを特徴とする制御システム。
【請求項２】
前記ファームウェア更新設定は、ファームウェアの更新可否を指定する情報を含むことを特徴とする請求項１に記載の制御システム。
【請求項３】
第１のプログラマブルロジックコントローラと、該第１のプログラマブルロジックコントローラにネットワークで接続される少なくとも一つの第２のプログラマブルロジックコントローラと、前記第１のプログラマブルロジックコントローラ及び前記第２のプログラマブルロジックコントローラが処理する制御プログラムを作成するプログラミングツールとを有する制御システムであって、
前記第１のプログラマブルロジックコントローラは、更新後のファームウェアのバージョンを指定する情報である前記第２のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、前記第２のプログラマブルロジックコントローラのファームウェアデータを記憶するファームウェアデータ記憶部とを有し、
前記第２のプログラマブルロジックコントローラは、前記第１のプログラマブルロジックコントローラから前記ファームウェア更新設定及び前記ファームウェアデータを取得するファームウェア更新設定処理部と、前記ファームウェア更新設定に従い前記ファームウェアデータにより、前記ファームウェア更新設定によって指定されたバージョンでファームウェアを更新するファームウェア更新実行部とを有し、
前記プログラミングツールは、前記ファームウェア更新設定記憶部及び前記ファームウェアデータ記憶部に前記ファームウェア更新設定及び前記ファームウェアデータを書き込むファームウェア更新設定部を有し、
前記ファームウェア更新設定は、ファームウェアの更新可否を指定する情報を含むことを特徴とする制御システム。
【請求項４】
前記プログラミングツールは、
前記第２のプログラマブルロジックコントローラが実行する制御プログラムに動作を許可するファームウェアのバージョンを設定する制御プログラム設定部を有し、
前記ファームウェア更新設定部は、前記制御プログラムにおいて動作を許可するバージョンが設定された第２のプログラマブルロジックコントローラのファームウェアの更新を不可にして前記ファームウェア更新設定を作成することを特徴とする請求項３に記載の制御システム。
【請求項５】
前記第２のプログラマブルロジックコントローラは、ファームウェアの更新状態を監視するファームウェア更新状態管理部を有し、
前記第１のプログラマブルロジックコントローラは、前記第２のプログラマブルロジックコントローラから、前記ファームウェアの更新状態を示す情報を収集するファームウェア更新状態収集部を有し、
前記プログラミングツールは、前記ファームウェア更新状態収集部が収集した情報に基づいて、前記第２のプログラマブルロジックコントローラのファームウェアの更新状態を表示するファームウェア状態表示部を有することを特徴とする請求項３又は４に記載の制御システム。
【請求項６】
リムーバブル記憶媒体に記憶された前記ファームウェア更新設定及び前記ファームウェアデータを読み出し、前記ファームウェア更新設定記憶部及び前記ファームウェアデータ記憶部に記憶させることを特徴とする請求項１に記載の制御システム。
【請求項７】
スレーブ局となる他のプログラマブルロジックコントローラにネットワークを通じて接続されてマスタ局となるプログラマブルロジックコントローラであって、
更新後のファームウェアのバージョンを指定する情報である前記他のプログラマブルロジックコントローラのファームウェア更新設定を記憶するファームウェア更新設定記憶部と、前記ファームウェア更新設定によって指定されたバージョンの前記他のプログラマブルロジックコントローラのファームウェアのファームウェアデータを記憶するファームウェアデータ記憶部と、前記他のプログラマブルロジックコントローラの処理負荷を示す情報を前記他のプログラマブルロジックコントローラから取得する負荷監視部とを有し、
前記他のプログラマブルロジックコントローラの処理負荷が規定の閾値よりも低い場合にはプッシュ型で前記ファームウェアデータを前記他のプログラマブルロジックコントローラに送信し、前記他のプログラマブルロジックコントローラの処理負荷が前記規定の閾値よりも低くない場合にはプル型で前記ファームウェアデータを前記他のプログラマブルロジックコントローラに送信することを特徴とするプログラマブルロジックコントローラ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
負荷算出部４１３は、演算装置７１の使用率及びメモリ７２の使用率に基づいて、プログラマブルロジックコントローラ４の負荷を算出する。負荷監視部３１６は、プログラマブルロジックコントローラ４の負荷算出部４１３からプログラマブルロジックコントローラ４の負荷の情報を取得する。負荷監視部３１６は、規定の閾値を保持しており、プログラマブルロジックコントローラ４から取得した情報が示す負荷と閾値とを比較し、閾値よりも負荷が低ければプッシュ型、低くなければプル型を選択して、選択結果をファームウェア更新設定管理部３０１に通知する。
【国際調査報告】
2016166799.tif 000017
2016166799.tif 000018