(57)【特許請求の範囲】
【請求項１】
複数のプログラマブルコントローラを備える制御システムであって、
前記複数のプログラマブルコントローラの各々は、
機械の制御の際に使用されるデータ又はプログラムを記憶するバックアップ対象記憶部と、
前記データ又はプログラムをバックアップ記憶するバックアップ記憶部と、
監視対象ハードウェアの状態を表す値を監視して、前記値が予め定められた閾値に達したか否かを判定する状態監視部と、
前記値が前記閾値に達したと前記状態監視部で判定されたら、前記データ又はプログラムを前記バックアップ対象記憶部から読み出して前記バックアップ記憶部に書き込んでバックアップするバックアップ処理部と、
を備え、
前記複数のプログラマブルコントローラの内の１つは、
前記バックアップ記憶部にバックアップした前記データ又はプログラムを、前記複数のプログラマブルコントローラの内の他の１つに送信するバックアップ送信部を更に備え、
前記複数のプログラマブルコントローラの内の他の１つは、
前記複数のプログラマブルコントローラの内の１つから前記データ又はプログラムを受信して前記バックアップ記憶部に書き込んでバックアップする他装置バックアップ管理部を更に備えることを特徴とする、制御システム。
【請求項２】
前記他装置バックアップ管理部は、
前記複数のプログラマブルコントローラの内の１つから前記データ又はプログラムを受信した際に、前記バックアップ記憶部内に前記複数のプログラマブルコントローラの内の１つの前記データ又はプログラムが既にある場合は、前記バックアップ記憶部内に既にある前記データ又はプログラムと受信した前記データ又はプログラムとの差分を、前記バックアップ記憶部に書き込んでバックアップすることを特徴とする、請求項１に記載の制御システム。
【請求項３】
前記複数のプログラマブルコントローラの内の他の１つの前記バックアップ記憶部にバックアップされている前記データ又はプログラムのリストを、前記複数のプログラマブルコントローラの内の他の１つに要求するリスト要求部と、
前記リスト要求部で受信した前記データ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示部と、
リストア対象の前記データ又はプログラム並びに前記複数のプログラマブルコントローラの内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を前記一覧表示画面内で受け付けるリストア入力受付部と、
リストア対象の前記データ又はプログラム並びに前記複数のプログラマブルコントローラの内のリストア先のプログラマブルコントローラを一意に特定する情報を、前記複数のプログラマブルコントローラの内の他の１つに送信するリストア要求送信部と、
を有する外部装置を更に備え、
前記複数のプログラマブルコントローラの内の他の１つは、
リストア対象の前記データ又はプログラムを前記バックアップ記憶部から読み出して、前記複数のプログラマブルコントローラの内のリストア先のプログラマブルコントローラに送信するリストア管理部を更に備え、
前記複数のプログラマブルコントローラの内の１つは、
リストア対象の前記データ又はプログラムを前記複数のプログラマブルコントローラの内の他の１つから受信して、前記バックアップ記憶部又は前記バックアップ対象記憶部に書き込んでリストアするリストア処理部を更に備えることを特徴とする、請求項１に記載の制御システム。
【請求項４】
前記複数のプログラマブルコントローラの内の他の１つは、
前記複数のプログラマブルコントローラの内の他の１つの前記バックアップ記憶部にバックアップされている前記データ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示部と、
リストア対象の前記データ又はプログラム並びに前記複数のプログラマブルコントローラの内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を前記一覧表示画面内で受け付けるリストア入力受付部と、
リストア対象の前記データ又はプログラムを前記バックアップ記憶部から読み出して、前記複数のプログラマブルコントローラの内のリストア先のプログラマブルコントローラに送信するリストア管理部を更に備え、
前記複数のプログラマブルコントローラの内の１つは、
リストア対象の前記データ又はプログラムを前記複数のプログラマブルコントローラの内の他の１つから受信して、前記バックアップ記憶部又は前記バックアップ対象記憶部に書き込んでリストアするリストア処理部を更に備えることを特徴とする、請求項１に記載の制御システム。
【請求項５】
複数のプログラマブルコントローラを備える制御システムが実行する制御方法であって、
前記複数のプログラマブルコントローラの各々は、
監視対象ハードウェアの状態を表す値を監視して、前記値が予め定められた閾値に達したか否かを判定する状態監視ステップと、
前記値が前記閾値に達したと前記状態監視ステップで判定されたら、機械の制御の際に使用されるデータ又はプログラムをバックアップ対象記憶部から読み出して、前記データ又はプログラムをバックアップ記憶するバックアップ記憶部に書き込んでバックアップするバックアップ処理ステップと、
を実行し、
前記複数のプログラマブルコントローラの内の１つは、
前記バックアップ記憶部にバックアップした前記データ又はプログラムを、前記複数のプログラマブルコントローラの内の他の１つに送信するバックアップ送信ステップを更に実行し、
前記複数のプログラマブルコントローラの内の他の１つは、
前記複数のプログラマブルコントローラの内の１つから前記データ又はプログラムを受信して前記バックアップ記憶部に書き込んでバックアップする他装置バックアップ管理ステップを更に実行することを特徴とする、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機械を制御するプログラマブルコントローラ、制御システム及び制御方法に関する。
【背景技術】
【０００２】
従来、工場の生産ラインでは、産業機械を制御するプログラマブルコントローラが使用されている。【０００３】
一般に、プログラマブルコントローラで産業機械を制御するための制御プログラム及び制御パラメータは、コンピュータ上でエンジニアリングツールプログラムを実行することにより作成されて、コンピュータからプログラマブルコントローラに送信される。【０００４】
ところで、制御プログラム及び制御パラメータは、産業機械を動作させながら、プログラマブルコントローラ上で変更又は調整される場合がある。その後、故障で例示されるトラブルがプログラマブルコントローラで発生すると、変更又は調整された後の制御プログラム及び制御パラメータが失われてしまうことになる。従って、プログラマブルコントローラ内の制御プログラム及び制御パラメータをバックアップする要求がある。【０００５】
関連する技術として、特許文献１には、中央処理部１７０の動作の異常を検知するエラー検知部ＷＤＴ（ウォッチドッグタイマ）を有し、アクセス素子１７８は、エラー検知部ＷＤＴによって中央処理部１７０の動作のトラブルが検知されると、被バックアップ記憶部１８２のデータをバックアップ記憶部１８４に退避するプログラマブルコントローラ１２０が記載されている（要約書）。【０００６】
また、特許文献２には、ＣＰＵ２２は、情報処理ユニットに電力を供給する電源電圧が切断されたときには、電源電圧が切断されたときから、情報処理ユニットを構成する回路を動作させるための動作電源電圧ＶCCが情報処理ユニットを正常に動作させ得る正常動作電圧領域を出るまでの時間内に、ＳＲＡＭ２４に蓄積されている情報のうち、所定の情報を、フラッシュメモリ２３の空き領域に移動させるプログラマブル・コントローラの情報処理ユニットが記載されている（要約書）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−８１７００号公報
【特許文献２】特開２０００−３０５６１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
一般に、ウォッチドッグタイマは、無限ループ又はデッドロックで例示されるソフトウェアのトラブルがＣＰＵで発生したときに、割り込み信号をＣＰＵに送信して、ソフトウェアのトラブルを解除するための回路である。従って、特許文献１記載の技術では、ソフトウェアのトラブルが発生すると、被バックアップ記憶部１８２のデータをバックアップ記憶部１８４に退避できるが、ソフトウェア以外のトラブルが発生しても、被バックアップ記憶部１８２のデータをバックアップ記憶部１８４に退避することができない。【０００９】
また、特許文献２記載の技術では、情報処理ユニットに電力を供給する電源電圧が切断されたときに、ＳＲＡＭ２４に蓄積されている情報をフラッシュメモリ２３に移動させることができる。つまり、特許文献２記載の技術では、情報処理ユニット外部での電源電圧切断というトラブルが発生したら、ＳＲＡＭ２４に蓄積されている情報をフラッシュメモリ２３に移動させることができるが、情報処理ユニット内部でトラブルが発生しても、ＳＲＡＭ２４に蓄積されている情報をフラッシュメモリ２３に移動させることができない。【００１０】
本発明は、上記に鑑みてなされたものであって、データ又はプログラムを好適にバックアップすることができるプログラマブルコントローラを得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明は、機械の制御の際に使用されるデータ又はプログラムを記憶するバックアップ対象記憶部と、データ又はプログラムをバックアップ記憶するバックアップ記憶部と、監視対象ハードウェアの状態を表す値を監視して、値が予め定められた閾値に達したか否かを判定する状態監視部と、値が閾値に達したと状態監視部で判定されたら、データ又はプログラムをバックアップ対象記憶部から読み出してバックアップ記憶部に書き込んでバックアップするバックアップ処理部と、を備える。
【発明の効果】
【００１２】
本発明にかかるプログラマブルコントローラ、制御システム及び制御方法は、データ又はプログラムを好適にバックアップすることができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１にかかるプログラマブルコントローラの構成を示す図
【図２】実施の形態１にかかるプログラマブルコントローラの処理を示すフローチャート
【図３】実施の形態２にかかるプログラマブルコントローラの構成を示す図
【図４】実施の形態２にかかるプログラマブルコントローラの不揮発性半導体記憶部の構成を示す図
【図５】実施の形態３にかかるプログラマブルコントローラの構成を示す図
【図６】実施の形態４にかかるプログラマブルコントローラの構成を示す図
【図７】実施の形態５にかかる制御システムの構成を示す図
【図８】実施の形態５にかかる制御システムの外部装置のハードウェア構成を示す図
【図９】実施の形態５にかかる制御システムの外部装置の機能ブロックを示す図
【図１０】実施の形態５にかかる制御システムの外部装置の処理を示すフローチャート
【図１１】実施の形態５にかかる制御システムの外部装置の表示部の表示面を示す図
【図１２】実施の形態５の他の制御システムの例にかかるプログラマブルコントローラの構成を示す図
【図１３】実施の形態６にかかる制御システムの構成を示す図
【図１４】実施の形態６にかかる制御システムのマスタプログラマブルコントローラの構成を示す図
【図１５】実施の形態６にかかる制御システムのマスタプログラマブルコントローラのバックアップ記憶部の内容を示す図
【図１６】実施の形態６にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図
【図１７】実施の形態６にかかる制御システムのスレーブプログラマブルコントローラの処理を示すフローチャート
【図１８】実施の形態６にかかる制御システムのマスタプログラマブルコントローラの処理を示すフローチャート
【図１９】実施の形態７にかかる制御システムの構成を示す図
【図２０】実施の形態７にかかる制御システムの外部装置の機能ブロックを示す図
【図２１】実施の形態７にかかる制御システムのマスタプログラマブルコントローラの構成を示す図
【図２２】実施の形態７にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図
【図２３】実施の形態７にかかる制御システムの処理を示すシーケンス図
【図２４】実施の形態７にかかる制御システムの外部装置の表示部の表示面を示す図
【発明を実施するための形態】
【００１４】
以下に、本発明の実施の形態にかかるプログラマブルコントローラ、制御システム及び制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１５】
実施の形態１．
図１は、実施の形態１にかかるプログラマブルコントローラの構成を示す図である。プログラマブルコントローラ（ＪＩＳ  Ｂ  ３５０２：２０１１、programmable  controllers（ＰＬＣ））１は、メイン基板１ａと、サブ基板１ｂ及び１ｃと、を含む。メイン基板１ａは、バスＢ２を介してサブ基板１ｂ及び１ｃと通信可能に接続されている。
【００１６】
サブ基板１ｂには、機械２が接続され、サブ基板１ｃには、機械３が接続されている。メイン基板１ａは、サブ基板１ｂを介して機械２を制御し、サブ基板１ｃを介して機械３を制御する。
【００１７】
メイン基板１ａは、メイン基板１ａの内部バスであるバスＢ１とバスＢ２とを連絡するバスブリッジ回路であるバスインタフェース１ａ９を含む。
【００１８】
メイン基板１ａは、外部装置と通信するための通信インタフェース１ａ７を含む。通信インタフェース１ａ７は、バスＢ１に接続されている。通信は、Ｅｔｈｅｒｎｅｔ（登録商標、ＩＥＥＥ  ８０２．３）又は無線ＬＡＮ（ＩＥＥＥ  ８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ）が例示される。
【００１９】
メイン基板１ａは、外部装置と通信するためのＵＳＢ（Universal  Serial  Bus）インタフェース１ａ８を含む。ＵＳＢインタフェース１ａ８は、バスＢ１に接続されている。
【００２０】
メイン基板１ａは、プロジェクトデータ１ａ１０ａを記憶する不揮発性半導体記憶部１ａ１０を含む。不揮発性半導体記憶部１ａ１０は、バスＢ１に接続されている。不揮発性半導体記憶部１ａ１０は、ＳＳＤ（Solid  State  Drive）又はｅＭＭＣ（embedded  Multi  Media  Card）が例示される。ＳＳＤ又はｅＭＭＣは、フラッシュメモリ（登録商標）を使用して構成される。
【００２１】
プロジェクトデータ１ａ１０ａは、機械２及び３を制御するための制御プログラム１ａ１０ａ１と、制御プログラム１ａ１０ａ１の実行時に参照される制御パラメータ１ａ１０ａ２と、制御プログラム１ａ１０ａ１の実行時の作業領域であるデバイスを規定するデバイスメモリ１ａ１０ａ３と、サブ基板１ｂと機械２との接続関係及びサブ基板１ｃと機械３との接続関係を規定する接続情報１ａ１０ａ４と、を含む。
【００２２】
メイン基板１ａは、ＣＰＵ１ａ１を含む。ＣＰＵ１ａ１は、バスＢ１に接続されている。ＣＰＵ１ａ１が制御プログラム１ａ１０ａ１を実行することで、機械２及び３を制御する機械制御部１ａ１ａが実現される。
【００２３】
メイン基板１ａは、機械２及び３の制御の際に使用されるデータ又は制御プログラム１ａ１０ａ１を記憶するＲＡＭ（Random  Access  Memory）１ａ２及び揮発性半導体記憶部１ａ３を含む。データは、デバイスを含む。ＲＡＭ１ａ２及び揮発性半導体記憶部１ａ３は、バスＢ１に接続されている。
【００２４】
揮発性半導体記憶部１ａ３は、ＳＲＡＭ（Static  Random  Access  Memory）又はＤＲＡＭ（Dynamic  Random  Access  Memory）が例示される。
【００２５】
実施の形態１では、揮発性半導体記憶部１ａ３が、本発明のバックアップ対象記憶部に対応する。
【００２６】
メイン基板１ａは、揮発性半導体記憶部１ａ３がデータ又は制御プログラム１ａ１０ａ１を保持するための電力Ｐを供給するバッテリ１ａ４を含む。
【００２７】
実施の形態１では、バッテリ１ａ４が、本発明の監視対象ハードウェアに対応する。
【００２８】
メイン基板１ａは、バッテリ１ａ４の電圧を検出する電圧センサ１ａ５を含む。電圧センサ１ａ５は、バスＢ１に接続されている。
【００２９】
揮発性半導体記憶部１ａ３は、バッテリ１ａ４から電力Ｐの供給を受けることで、プログラマブルコントローラ１の電源がオフされたり、プログラマブルコントローラ１に系統電力を供給する系統電源が停電したりした場合であっても、データ又は制御プログラム１ａ１０ａ１を保持し続けることができる。
【００３０】
実施の形態１では、揮発性半導体記憶部１ａ３は、バッテリ１ａ４から供給される電圧が１．２Ｖ以上であれば、プログラマブルコントローラ１の電源がオフされたり、プログラマブルコントローラ１に系統電力を供給する系統電源が停電したりした場合であっても、データ又は制御プログラム１ａ１０ａ１を保持し続けることができるものとする。
【００３１】
つまり、揮発性半導体記憶部１ａ３は、バッテリ１ａ４が消耗、劣化又は故障して、バッテリ１ａ４から供給される電圧が１．２Ｖを下回ったら、プログラマブルコントローラ１の電源がオフされたり、プログラマブルコントローラ１に系統電力を供給する系統電源が停電したりすると、データ又は制御プログラム１ａ１０ａ１を保持できない。つまり、バッテリ１ａ４から供給される電圧が１．２Ｖを下回ったら、揮発性半導体記憶部１ａ３内のデータ又は制御プログラム１ａ１０ａ１は消える。
【００３２】
ＣＰＵ１ａ１は、制御プログラム１ａ１０ａ１の実行に際して、制御プログラム１ａ１０ａ１をＲＡＭ１ａ２又は揮発性半導体記憶部１ａ３にロードして実行する。制御プログラム１ａ１０ａ１がＲＡＭ１ａ２又は揮発性半導体記憶部１ａ３のどちらにロードされるかは、制御プログラム１ａ１０ａ１に記述されている。
【００３３】
制御プログラム１ａ１０ａ１の一部がＲＡＭ１ａ２に配置され、制御プログラム１ａ１０ａ１の他の一部が揮発性半導体記憶部１ａ３に配置されても良いし、制御プログラム１ａ１０ａ１の全部が揮発性半導体記憶部１ａ３に配置されても良い。
【００３４】
ＣＰＵ１ａ１は、制御プログラム１ａ１０ａ１の実行に際して、使用するデータをＲＡＭ１ａ２又は揮発性半導体記憶部１ａ３に配置する。データは、デバイスを含む。データがＲＡＭ１ａ２又は揮発性半導体記憶部１ａ３のどちらに配置されるかは、制御プログラム１ａ１０ａ１又はデバイスメモリ１ａ１０ａ３に記述されている。
【００３５】
データの一部がＲＡＭ１ａ２に配置され、データの他の一部が揮発性半導体記憶部１ａ３に配置されても良いし、データの全部が揮発性半導体記憶部１ａ３に配置されても良い。
【００３６】
メイン基板１ａは、揮発性半導体記憶部１ａ３に記憶されているデータ又は制御プログラム１ａ１０ａ１をバックアップ記憶するバックアップ記憶部１ａ６ａを含む。
【００３７】
実施の形態１では、バックアップ記憶部１ａ６ａは、リムーバブルな不揮発性記憶部材であり、バスＢ１に接続されたスロット１ａ６に挿入されている。バックアップ記憶部１ａ６ａは、ＳＤカード（登録商標）、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）、ＵＳＢメモリ又はＤＶＤ（Digital  Versatile  Disc）が例示される。
【００３８】
バックアップ記憶部１ａ６ａがリムーバブルな不揮発性記憶部材であれば、バックアップされたデータ又は制御プログラム１ａ１０ａ１の可搬性が向上する。
【００３９】
なお、バックアップ記憶部１ａ６ａは、非リムーバブルな不揮発性記憶部材であっても良い。非リムーバブルな不揮発性記憶部材は、ＳＳＤ又はｅＭＭＣが例示される。
【００４０】
バックアップ記憶部１ａ６ａが非リムーバブルな不揮発性記憶部材であれば、スロット１ａ６が不要になるので、メイン基板１ａの実装面積を抑制することができる。
【００４１】
不揮発性半導体記憶部１ａ１０は、閾値データ１ａ１０ｃを記憶する。閾値データ１ａ１０ｃは、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧と比較するための、予め定められた閾値「１．２Ｖ」を含む。
【００４２】
実施の形態１では、監視対象ハードウェアの状態を表す値は、監視対象ハードウェアの消耗、劣化又は故障の度合いを表す値である。
【００４３】
実施の形態１では、監視対象ハードウェアはバッテリ１ａ４である。バッテリ１ａ４の初期電圧を１．５Ｖとすると、バッテリ１ａ４は、消耗、劣化又は故障の度合いに従って、電圧が１．５Ｖから徐々に低下して行く。従って、バッテリ１ａ４の電圧は、バッテリ１ａ４の消耗、劣化又は故障の度合いを表す値である。
【００４４】
不揮発性半導体記憶部１ａ１０は、バックアッププログラム１ａ１０ｂを記憶する。ＣＰＵ１ａ１がバックアッププログラム１ａ１０ｂを実行することで、バックアップ部１ａ１ｂが実現される。
【００４５】
バックアッププログラム１ａ１０ｂは、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧を監視して、電圧が予め定められた閾値「１．２Ｖ」に達したか否かを判定する状態監視プログラム１ａ１０ｂ１を含む。
【００４６】
ＣＰＵ１ａ１が状態監視プログラム１ａ１０ｂ１を実行することで、監視対象ハードウェアの状態を表す値を監視して、値が予め定められた閾値に達したか否かを判定する状態監視部１ａ１ｂ１が実現される。
【００４７】
バックアッププログラム１ａ１０ｂは、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップするバックアップ処理プログラム１ａ１０ｂ２を含む。
【００４８】
ＣＰＵ１ａ１がバックアップ処理プログラム１ａ１０ｂ２を実行することで、監視対象ハードウェアの状態を表す値が閾値に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込むバックアップ処理部１ａ１ｂ２が実現される。
【００４９】
プログラマブルコントローラ１の動作について、説明する。
【００５０】
図２は、実施の形態１にかかるプログラマブルコントローラの処理を示すフローチャートである。ＣＰＵ１ａ１は、図２に示す処理を定期的に実行する。
【００５１】
状態監視部１ａ１ｂ１は、ステップＳ１００において、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧を、電圧センサ１ａ５を使用して監視する。
【００５２】
状態監視部１ａ１ｂ１は、ステップＳ１０２において、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達したか否かを判定する。
【００５３】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達していないと判定したら（Ｎｏ）、処理をステップＳ１００に進める。
【００５４】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達したと判定したら（Ｙｅｓ）、処理をステップＳ１０４に進める。
【００５５】
バックアップ処理部１ａ１ｂ２は、ステップＳ１０４において、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理をステップＳ１００に進める。
【００５６】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「バッテリ電圧が閾値まで低下」を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【００５７】
実施の形態１にかかるプログラマブルコントローラ１は、次の効果を奏する。
【００５８】
揮発性半導体記憶部１ａ３は、バッテリ１ａ４が消耗、劣化又は故障して、バッテリ１ａ４から供給される電圧が１．２Ｖを下回ったら、プログラマブルコントローラ１の電源がオフされたり、プログラマブルコントローラ１に系統電力を供給する系統電源が停電したりすると、データ又はプログラムを保持できない。つまり、バッテリ１ａ４から供給される電圧が１．２Ｖを下回ったら、揮発性半導体記憶部１ａ３内のデータ又はプログラムは消えてしまう。
【００５９】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達したか否かを判定する。
【００６０】
バックアップ処理部１ａ１ｂ２は、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧が閾値「１．２Ｖ」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込む。
【００６１】
これにより、実施の形態１にかかるプログラマブルコントローラ１は、監視対象ハードウェアであるバッテリ１ａ４の消耗、劣化又は故障を察知して、バックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムが消える前に、バックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップすることができる。
【００６２】
従って、実施の形態１にかかるプログラマブルコントローラ１は、監視対象ハードウェアであるバッテリ１ａ４の消耗、劣化又は故障によりバックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムが失われることを抑制することができる。
【００６３】
これにより、ユーザがプログラマブルコントローラ１のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
【００６４】
実施の形態２．
図３は、実施の形態２にかかるプログラマブルコントローラの構成を示す図である。実施の形態２にかかるプログラマブルコントローラ１０は、図１で示した、実施の形態１にかかるプログラマブルコントローラ１と比較すると、メイン基板１ａに代えて、メイン基板１０ａを含む。
【００６５】
メイン基板１０ａは、実施の形態１のメイン基板１ａと比較すると、揮発性半導体記憶部１ａ３、バッテリ１ａ４及び電圧センサ１ａ５を備えていない。従って、プログラマブルコントローラ１０では、データ及びプログラムは、ＲＡＭ１ａ２にロードされる。
【００６６】
図４は、実施の形態２にかかるプログラマブルコントローラの不揮発性半導体記憶部の構成を示す図である。不揮発性半導体記憶部１ａ１０は、データ又はプログラムを記憶する記憶セル群１ａ１０ｅと、記憶セル群１ａ１０ｅへのデータ書込み及び記憶セル群１ａ１０ｅからのデータ読出しを制御するコントローラ１ａ１０ｄと、を含む。
【００６７】
記憶セル群１ａ１０ｅは、フラッシュメモリ（登録商標）が例示される。
【００６８】
記憶セル群１ａ１０ｅ内の各記憶セルは、電荷蓄積部を有している。各記憶セルは、ＳＬＣ（Single  Level  Cell）の場合には、電荷蓄積部内の電荷の有無で１ビットのデータを記憶する。
【００６９】
電荷蓄積部への電荷の注入及び抜き出しは、電荷蓄積部を覆う絶縁膜を経由して行われる。絶縁膜は、電荷が通過する都度、消耗、劣化又は故障する。従って、各記憶セルは、データ書込みの都度、消耗、劣化又は故障する。つまり、不揮発性半導体記憶部１ａ１０は、データ書込み回数に関して寿命がある。
【００７０】
不揮発性半導体記憶部１ａ１０は、寿命に達すると、データ又はプログラムの書込みが行えなくなり、データ又はプログラムの保持が行えなくなり、データ又はプログラムの読出しが行えなくなる。
【００７１】
コントローラ１ａ１０ｄは、一部の記憶セルに書込みが偏らないように、つまり全ての記憶セルに均等に書込みを行うように、記憶セル群１ａ１０ｅを使用する。また、コントローラ１ａ１０ｄは、記憶セル群１ａ１０ｅへのデータ書込み回数をカウント及び保持している。
【００７２】
実施の形態２では、不揮発性半導体記憶部１ａ１０が、本発明のバックアップ対象記憶部に対応する。
【００７３】
また、実施の形態２では、不揮発性半導体記憶部１ａ１０が、本発明の監視対象ハードウェアに対応する。
【００７４】
不揮発性半導体記憶部１ａ１０の初期時のデータ書込み回数は、０である。不揮発性半導体記憶部１ａ１０は、データ書込みの都度、絶縁膜が消耗、劣化又は故障する。従って、不揮発性半導体記憶部１ａ１０のデータ書込み回数は、不揮発性半導体記憶部１ａ１０の消耗、劣化又は故障の度合いを表す値である。
【００７５】
閾値データ１ａ１０ｃは、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数と比較するための、予め定められた閾値「１０万回」を含む。
【００７６】
プログラマブルコントローラ１０の動作について、説明する。
【００７７】
実施の形態２にかかるプログラマブルコントローラ１０の処理を示すフローチャートは、図２で示した、実施の形態１にかかるプログラマブルコントローラ１の処理を示すフローチャートと同様である。従って、図２を参照して、実施の形態２にかかるプログラマブルコントローラ１０の処理を説明する。
【００７８】
状態監視部１ａ１ｂ１は、ステップＳ１００において、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数を、不揮発性半導体記憶部１ａ１０内のコントローラ１ａ１０ｄを監視することで、監視する。
【００７９】
状態監視部１ａ１ｂ１は、ステップＳ１０２において、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数が閾値「１０万回」に達したか否かを判定する。
【００８０】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数が閾値「１０万回」に達していないと判定したら（Ｎｏ）、処理をステップＳ１００に進める。
【００８１】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数が閾値「１０万回」に達したと判定したら（Ｙｅｓ）、処理をステップＳ１０４に進める。
【００８２】
バックアップ処理部１ａ１ｂ２は、ステップＳ１０４において、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理をステップＳ１００に進める。
【００８３】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「書込み回数が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【００８４】
実施の形態２にかかるプログラマブルコントローラ１０は、次の効果を奏する。
【００８５】
監視対象ハードウェアである不揮発性半導体記憶部１ａ１０は、データ又はプログラムの書込みの都度、絶縁膜が消耗、劣化又は故障する。つまり、不揮発性半導体記憶部１ａ１０は、データ又はプログラムの書込み回数に関して寿命がある。不揮発性半導体記憶部１ａ１０は、寿命に達すると、データ又はプログラムの書込みが行えなくなり、データ又はプログラムの保持が行えなくなり、データ又はプログラムの読出しが行えなくなる。
【００８６】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数が閾値「１０万回」に達したか否かを判定する。
【００８７】
バックアップ処理部１ａ１ｂ２は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値であるデータ書込み回数が閾値「１０万回」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込む。
【００８８】
これにより、実施の形態２にかかるプログラマブルコントローラ１０は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップすることができる。
【００８９】
従って、実施の形態２にかかるプログラマブルコントローラ１０は、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の消耗、劣化又は故障によりバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムが失われることを抑制することができる。
【００９０】
これにより、ユーザがプログラマブルコントローラ１０のハードウェア状態を監視してプロジェクトデータ１ａ１０ａをバックアップする作業工数を抑制することが可能である。
【００９１】
実施の形態３．
図５は、実施の形態３にかかるプログラマブルコントローラの構成を示す図である。実施の形態３にかかるプログラマブルコントローラ２０は、実施の形態１にかかるプログラマブルコントローラ１と比較すると、メイン基板１ａに代えて、メイン基板２０ａを含む。
【００９２】
メイン基板２０ａは、実施の形態１のメイン基板１ａと比較すると、電圧センサ１ａ５を備えていない。
【００９３】
また、メイン基板２０ａは、実施の形態１のメイン基板１ａと比較すると、メイン基板２０ａの温度を計測する温度センサ１ａ１１を更に含む。
【００９４】
実施の形態３では、揮発性半導体記憶部１ａ３又は不揮発性半導体記憶部１ａ１０が、本発明のバックアップ対象記憶部に対応する。
【００９５】
また、実施の形態３では、メイン基板２０ａが、本発明の監視対象ハードウェアに対応する。
【００９６】
メイン基板２０ａの温度が上昇するのは、メイン基板２０ａに実装されている部品の温度が上昇するからである。従って、メイン基板２０ａに実装されている部品が消耗、劣化又は故障して、部品の温度が部品仕様上の温度を超えて上昇すると、メイン基板２０ａの温度が製品仕様上の温度を超えて上昇する。従って、メイン基板２０ａの温度は、メイン基板２０ａに実装されている部品の消耗、劣化又は故障の度合いを表す値である。
【００９７】
メイン基板２０ａの温度が製品仕様上の温度を超えると、メイン基板２０ａの各部又はメイン基板２０ａ上の各部品の消耗、劣化又は故障を招き、揮発性半導体記憶部１ａ３又は不揮発性半導体記憶部１ａ１０に記憶されているデータ又はプログラムが失われたり、読み出せなくなったりする。
【００９８】
閾値データ１ａ１０ｃは、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度と比較するための、予め定められた閾値「４５℃」を含む。
【００９９】
なお、温度センサ１ａ１１は、メイン基板２０ａ上に実装されても良いし、メイン基板２０ａを収容している筐体に実装されても良い。筐体内の雰囲気の温度は、メイン基板２０ａの温度と相関関係がある。従って、温度センサ１ａ１１は、メイン基板２０ａを収容している筐体に実装されて、筐体内の雰囲気の温度を計測しても良い。
【０１００】
また、温度センサ１ａ１１は、メイン基板２０ａ上に実装される場合は、消耗部品の近傍に実装されても良い。消耗部品は、電解コンデンサが例示される。電解コンデンサは、使用とともに電解液が徐々に失われ、静電容量が低下するので、温度が上昇する。つまり、電解コンデンサは、消耗、劣化又は故障により、温度が上昇する。
【０１０１】
温度センサ１ａ１１を消耗部品の近傍に実装するとは、温度センサ１ａ１１と消耗部品との間の距離が、温度センサ１ａ１１と他の部品との間の距離よりも短くなる場所に実装することをいう。
【０１０２】
また、温度センサ１ａ１１は、メイン基板２０ａ上に実装される場合は、消耗、劣化又は故障により温度上昇する部品の近傍に実装されても良い。消耗、劣化又は故障により温度上昇する部品は、通信インタフェース１ａ７が例示される。通信インタフェース１ａ７は、有線ネットワーク又は無線ネットワーク上に信号を送信するアナログ部品を有するので、消耗、劣化又は故障により、温度が上昇する。アナログ部品は、オペアンプが例示される。
【０１０３】
温度センサ１ａ１１を消耗、劣化又は故障により温度上昇する部品の近傍に実装するとは、温度センサ１ａ１１と消耗、劣化又は故障により温度上昇する部品との間の距離が、温度センサ１ａ１１と他の部品との間の距離よりも短くなる場所に実装することをいう。
【０１０４】
プログラマブルコントローラ２０の動作について、説明する。
【０１０５】
実施の形態３にかかるプログラマブルコントローラ２０の処理を示すフローチャートは、図２で示した、実施の形態１にかかるプログラマブルコントローラ１の処理を示すフローチャートと同様である。従って、図２を参照して、実施の形態３にかかるプログラマブルコントローラ２０の処理を説明する。
【０１０６】
状態監視部１ａ１ｂ１は、ステップＳ１００において、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度を、温度センサ１ａ１１を使用して監視する。
【０１０７】
状態監視部１ａ１ｂ１は、ステップＳ１０２において、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度が閾値「４５℃」に達したか否かを判定する。
【０１０８】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度が閾値「４５℃」に達していないと判定したら（Ｎｏ）、処理をステップＳ１００に進める。
【０１０９】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度が閾値「４５℃」に達したと判定したら（Ｙｅｓ）、処理をステップＳ１０４に進める。
【０１１０】
バックアップ処理部１ａ１ｂ２は、ステップＳ１０４において、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理をステップＳ１００に進める。または、バックアップ処理部１ａ１ｂ２は、ステップＳ１０４において、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理をステップＳ１００に進める。
【０１１１】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「温度が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【０１１２】
実施の形態３にかかるプログラマブルコントローラ２０は、次の効果を奏する。
【０１１３】
監視対象ハードウェアであるメイン基板２０ａに実装されている部品が消耗、劣化又は故障して、部品の温度が部品仕様上の温度を超えて上昇すると、監視対象ハードウェアであるメイン基板２０ａの温度が製品仕様上の温度を超えて上昇する。
【０１１４】
メイン基板２０ａの温度が製品仕様上の温度を超えると、メイン基板２０ａの各部又はメイン基板２０ａ上の各部品の消耗、劣化又は故障を招き、揮発性半導体記憶部１ａ３又は不揮発性半導体記憶部１ａ１０に記憶されているデータ又はプログラムが失われたり、読み出せなくなったりする。
【０１１５】
状態監視部１ａ１ｂ１は、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度が閾値「４５℃」に達したか否かを判定する。
【０１１６】
バックアップ処理部１ａ１ｂ２は、監視対象ハードウェアであるメイン基板２０ａの状態を表す値である温度が閾値「４５℃」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込む。または、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込む。
【０１１７】
これにより、実施の形態３にかかるプログラマブルコントローラ２０は、監視対象ハードウェアであるメイン基板２０ａ上に実装された部品の消耗、劣化又は故障を察知して、バックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップすることができる。または、実施の形態３にかかるプログラマブルコントローラ２０は、監視対象ハードウェアであるメイン基板２０ａ上に実装された部品の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップすることができる。
【０１１８】
従って、実施の形態３にかかるプログラマブルコントローラ２０は、監視対象ハードウェアであるメイン基板２０ａ上に実装された部品の消耗、劣化又は故障によりバックアップ対象記憶部である揮発性半導体記憶部１ａ３内のデータ又はプログラムが失われることを抑制することができる。または、実施の形態３にかかるプログラマブルコントローラ２０は、監視対象ハードウェアであるメイン基板２０ａ上に実装された部品の消耗、劣化又は故障によりバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内のデータ又はプログラムが失われることを抑制することができる。
【０１１９】
これにより、ユーザがプログラマブルコントローラ２０のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
【０１２０】
実施の形態４．
図６は、実施の形態４にかかるプログラマブルコントローラの構成を示す図である。実施の形態４にかかるプログラマブルコントローラ３０は、実施の形態１にかかるプログラマブルコントローラ１と比較すると、メイン基板１ａに代えて、メイン基板３０ａを含む。
【０１２１】
メイン基板３０ａは、実施の形態１のメイン基板１ａと比較すると、揮発性半導体記憶部１ａ３、バッテリ１ａ４及び電圧センサ１ａ５を備えていない。従って、プログラマブルコントローラ３０では、データ及び制御プログラム１ａ１０ａ１は、ＲＡＭ１ａ２にロードされる。
【０１２２】
メイン基板３０ａの通信インタフェース１ａ７は、有線又は無線のネットワークＮを介して、外部装置３１と通信する。
【０１２３】
不揮発性半導体記憶部１ａ１０は、通信インタフェース１ａ７と外部装置３１との間の通信の物理的な設定を表す通信パラメータ１ａ１０ｆを記憶する。
【０１２４】
通信パラメータ１ａ１０ｆは、通信速度、フレームサイズ、クロックマスタ又はクロックスレーブの区別、ＭＤＩ（Medium  Dependent  Interface）又はＭＤＩ−Ｘ（Medium  Dependent  Interface  Crossover）の区別が例示される。
【０１２５】
実施の形態４では、不揮発性半導体記憶部１ａ１０が、本発明のバックアップ対象記憶部に対応する。
【０１２６】
また、実施の形態４では、通信インタフェース１ａ７が、本発明の監視対象ハードウェアに対応する。
【０１２７】
通信インタフェース１ａ７は、有線ネットワーク又は無線ネットワーク上に信号を送信するアナログ部品を有するので、消耗、劣化又は故障する。
【０１２８】
通信インタフェース１ａ７に消耗、劣化又は故障がない場合には、通信インタフェース１ａ７と外部装置３１との間での通信失敗の頻度は、非常に低い。なお、通信インタフェース１ａ７は、外部装置３１との間での通信失敗が発生したら、通信をリトライする。
【０１２９】
通信インタフェース１ａ７に消耗、劣化又は故障がある場合には、通信インタフェース１ａ７と外部装置３１との間での通信失敗の頻度は、上昇する。そして、通信インタフェース１ａ７と外部装置３１との間での通信失敗が複数回連続して発生するようになる。従って、通信インタフェース１ａ７と外部装置３１との間での通信失敗の連続発生回数は、通信インタフェース１ａ７の消耗、劣化又は故障の度合いを表す値である。
【０１３０】
通信インタフェース１ａ７の消耗、劣化又は故障が更に進行すると、通信インタフェース１ａ７と外部装置３１との間の通信が不能になり、外部装置３１が不揮発性半導体記憶部１ａ１０に記憶されている通信パラメータ１ａ１０ｆ又はプロジェクトデータ１ａ１０ａを読み出せなくなる。
【０１３１】
閾値データ１ａ１０ｃは、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数と比較するための、予め定められた閾値「３回」を含む。
【０１３２】
プログラマブルコントローラ３０の動作について、説明する。
【０１３３】
実施の形態４にかかるプログラマブルコントローラ３０の処理を示すフローチャートは、図２で示した、実施の形態１にかかるプログラマブルコントローラ１の処理を示すフローチャートと同様である。従って、図２を参照して、実施の形態４にかかるプログラマブルコントローラ３０の処理を説明する。
【０１３４】
状態監視部１ａ１ｂ１は、ステップＳ１００において、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数を、通信インタフェース１ａ７を監視することで、監視する。
【０１３５】
状態監視部１ａ１ｂ１は、ステップＳ１０２において、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数が閾値「３回」に達したか否かを判定する。
【０１３６】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数が閾値「３回」に達していないと判定したら（Ｎｏ）、処理をステップＳ１００に進める。
【０１３７】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数が閾値「３回」に達したと判定したら（Ｙｅｓ）、処理をステップＳ１０４に進める。
【０１３８】
バックアップ処理部１ａ１ｂ２は、ステップＳ１０４において、通信パラメータ１ａ１０ｆを含むデータ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理をステップＳ１００に進める。
【０１３９】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「通信連続失敗回数が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【０１４０】
実施の形態４にかかるプログラマブルコントローラ３０は、次の効果を奏する。
【０１４１】
監視対象ハードウェアである通信インタフェース１ａ７に消耗、劣化又は故障がある場合には、通信インタフェース１ａ７と外部装置３１との間での通信エラーつまり通信失敗の頻度は、上昇する。そして、通信インタフェース１ａ７と外部装置３１との間での通信失敗が複数回連続して発生するようになる。
【０１４２】
通信インタフェース１ａ７の消耗、劣化又は故障が更に進行すると、通信インタフェース１ａ７と外部装置３１との間の通信が不能になり、外部装置３１が不揮発性半導体記憶部１ａ１０に記憶されている通信パラメータ１ａ１０ｆを含むデータ又はプログラムを読み出せなくなる。
【０１４３】
状態監視部１ａ１ｂ１は、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数が閾値「３回」に達したか否かを判定する。
【０１４４】
バックアップ処理部１ａ１ｂ２は、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数が閾値「３回」に達したと状態監視部１ａ１ｂ１で判定されたら、通信パラメータ１ａ１０ｆを含むデータ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込む。
【０１４５】
これにより、実施の形態４にかかるプログラマブルコントローラ３０は、監視対象ハードウェアである通信インタフェース１ａ７の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部１ａ１０内の通信パラメータ１ａ１０ｆを含むデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップすることができる。
【０１４６】
従って、実施の形態４にかかるプログラマブルコントローラ３０は、監視対象ハードウェアである通信インタフェース１ａ７の消耗、劣化又は故障により不揮発性半導体記憶部１ａ１０内の通信パラメータ１ａ１０ｆを含むデータ又はプログラムが失われることを抑制できる。
【０１４７】
これにより、ユーザがプログラマブルコントローラ３０のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
【０１４８】
なお、実施の形態４では、監視対象ハードウェアを通信インタフェース１ａ７としたが、監視対象ハードウェアをＵＳＢインタフェース１ａ８又はバスインタフェース１ａ９とし、ＵＳＢ通信連続失敗回数又はバス通信連続失敗回数を監視しても良い。
【０１４９】
実施の形態５．
図７は、実施の形態５にかかる制御システムの構成を示す図である。実施の形態５にかかる制御システム４０は、プログラマブルコントローラ４１と、プログラマブルコントローラ４１と通信する外部装置５０と、を含む。
【０１５０】
プログラマブルコントローラ４１は、図１で示した、実施の形態１にかかるプログラマブルコントローラ１と比較すると、メイン基板１ａに代えて、メイン基板４１ａを含む。
【０１５１】
メイン基板４１ａは、実施の形態１のメイン基板１ａと比較すると、実施の形態３で説明した温度センサ１ａ１１を、更に含む。
【０１５２】
不揮発性半導体記憶部１ａ１０は、実施の形態４で説明した通信パラメータ１ａ１０ｆを記憶する。
【０１５３】
メイン基板４１ａの通信インタフェース１ａ７は、有線又は無線のネットワークＮを介して、外部装置５０と通信する。
【０１５４】
図８は、実施の形態５にかかる制御システムの外部装置のハードウェア構成を示す図である。実施の形態５では、外部装置５０は、コンピュータである。コンピュータは、ＣＰＵ５１と、ＲＡＭ５２と、ＲＯＭ（Read  Only  Memory）５３と、記憶部５４と、入力部５５と、表示部５６と、通信インタフェース５７と、リムーバブルな記憶部材である記憶部５９が挿入されたスロット５８と、を含む。ＣＰＵ５１、ＲＡＭ５２、ＲＯＭ５３、記憶部５４、入力部５５、表示部５６、通信インタフェース５７及びスロット５８は、バスＢを介して接続されている。
【０１５５】
ＣＰＵ５１は、ＲＡＭ５２を作業領域として使用しながら、ＲＯＭ５３及び記憶部５４に記憶されているプログラムを実行する。ＲＯＭ５３に記憶されているプログラムは、ＢＩＯＳ（Basic  Input/Output  System）又はＵＥＦＩ（Unified  Extensible  Firmware  Interface）が例示される。記憶部５４に記憶されているプログラムは、オペレーティングシステムプログラム及びエンジニアリングツールプログラムが例示される。記憶部５４は、ＳＳＤ又はＨＤＤ（Hard  Disk  Drive）が例示される。
【０１５６】
入力部５５は、ユーザからの操作入力を受け付ける。入力部５５は、キーボード又はマウスが例示される。表示部５６は、文字及び画像を表示する。表示部５６は、液晶表示装置が例示される。通信インタフェース５７は、プログラマブルコントローラ４１と通信を行う。
【０１５７】
図９は、実施の形態５にかかる制御システムの外部装置の機能ブロックを示す図である。記憶部５４は、エンジニアリングツールプログラム５４ａを記憶する。ＣＰＵ５１がエンジニアリングツールプログラム５４ａを実行することで、エンジニアリングツール部５１ａが実現される。
【０１５８】
エンジニアリングツールプログラム５４ａは、ユーザからの入力に基づいてプロジェクトデータ１ａ１０ａを作成してプログラマブルコントローラ４１に送信するプロジェクトデータ作成プログラム５４ａ１を含む。
【０１５９】
ＣＰＵ５１がプロジェクトデータ作成プログラム５４ａ１を実行することで、ユーザからの入力に基づいてプロジェクトデータ１ａ１０ａを作成してプログラマブルコントローラ４１に送信するプロジェクトデータ作成部５１ａ１が実現される。
【０１６０】
エンジニアリングツールプログラム５４ａは、ユーザからの入力に基づいてバックアッププログラム１ａ１０ｂを作成してプログラマブルコントローラ４１に送信するバックアッププログラム作成プログラム５４ａ２を含む。
【０１６１】
ＣＰＵ５１がバックアッププログラム作成プログラム５４ａ２を実行することで、ユーザからの入力に基づいてバックアッププログラム１ａ１０ｂを作成してプログラマブルコントローラ４１に送信するバックアッププログラム作成部５１ａ２が実現される。
【０１６２】
エンジニアリングツールプログラム５４ａは、ユーザからの入力に基づいて閾値データ１ａ１０ｃを作成してプログラマブルコントローラ４１に送信する閾値データ作成プログラム５４ａ３を含む。
【０１６３】
ＣＰＵ５１が閾値データ作成プログラム５４ａ３を実行することで、ユーザからの入力に基づいて閾値データ１ａ１０ｃを作成してプログラマブルコントローラ４１に送信する閾値データ作成部５１ａ３が実現される。
【０１６４】
閾値データ作成プログラム５４ａ３は、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の監視対象ハードウェアの状態を夫々判定するための１つ又は複数の閾値と、を対応付けて入力するための入力画面を表示する入力画面表示プログラム５４ａ３ａを含む。
【０１６５】
ＣＰＵ５１が入力画面表示プログラム５４ａ３ａを実行することで、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の監視対象ハードウェアの状態を夫々判定するための１つ又は複数の閾値と、を対応付けて入力するための入力画面を表示する入力画面表示部５１ａ３ａが実現される。
【０１６６】
閾値データ作成プログラム５４ａ３は、入力画面への入力を受け付ける入力受付プログラム５４ａ３ｂを含む。
【０１６７】
ＣＰＵ５１が閾値データ作成プログラム５４ａ３を実行することで、入力画面への入力を受け付ける入力受付部５１ａ３ｂが実現される。
【０１６８】
閾値データ作成プログラム５４ａ３は、入力受付部５１ａ３ｂで受け付けられた入力に基づいて、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の閾値と、を対応付けて有する閾値データ１ａ１０ｃを作成する作成プログラム５４ａ３ｃを含む。
【０１６９】
ＣＰＵ５１が閾値データ作成プログラム５４ａ３を実行することで、入力受付部５１ａ３ｂで受け付けられた入力に基づいて、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の閾値と、を対応付けて有する閾値データ１ａ１０ｃを作成する作成部５１ａ３ｃが実現される。
【０１７０】
閾値データ作成プログラム５４ａ３は、作成部５１ａ３ｃで作成された閾値データ１ａ１０ｃをプログラマブルコントローラ４１に送信する送信プログラム５４ａ３ｄを含む。
【０１７１】
ＣＰＵ５１が送信プログラム５４ａ３ｄを実行することで、作成部５１ａ３ｃで作成された閾値データ１ａ１０ｃをプログラマブルコントローラ４１に送信する送信部５１ａ３ｄが実現される。
【０１７２】
制御システム４０の動作について、説明する。
【０１７３】
図１０は、実施の形態５にかかる制御システムの外部装置の処理を示すフローチャートである。
【０１７４】
入力画面表示部５１ａ３ａは、ステップＳ２００において、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の監視対象ハードウェアの状態を夫々判定するための１つ又は複数の閾値と、を対応付けて入力するための入力画面を表示部５６に表示する。
【０１７５】
入力受付部５１ａ３ｂは、ステップＳ２０２において、入力画面への入力を受け付ける。
【０１７６】
図１１は、実施の形態５にかかる制御システムの外部装置の表示部の表示面を示す図である。表示部５６の表示面５６ａ内には、入力画面６０が、入力画面表示部５１ａ３ａにより表示されている。入力画面６０は、現在から作成される閾値データ１ａ１０ｃを送信する対象であるプログラマブルコントローラ４１を一意に特定する情報を入力するための接続情報入力部６１と、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の閾値と、を対応付けて入力するためのバックアップ設定入力部６２と、を含む。
【０１７７】
接続情報入力部６１は、プログラマブルコントローラ４１の製造シリアル番号を入力する製造シリアル番号入力欄６１ａと、プログラマブルコントローラ４１のＩＰｖ４（Internet  Protocol  version4）アドレスを入力するためのＩＰアドレス入力欄６１ｂと、プログラマブルコントローラ４１の形名を入力するための形名入力欄６１ｃと、を有する。
【０１７８】
バックアップ設定入力部６２は、４つの監視対象ハードウェアの監視の要否と、４つの閾値と、を対応付けて入力するための設定入力欄６２ａ，６２ｂ，６２ｃ及び６２ｄを有する。
【０１７９】
製造シリアル番号入力欄６１ａには、プログラマブルコントローラ４１の製造シリアル番号である「１２０３００＊＊＊＊」がユーザによって入力されている。
【０１８０】
ＩＰアドレス入力欄６１ｂには、プログラマブルコントローラ４１のＩＰｖ４アドレスである「１９２．１６８．０．１」がユーザによって入力されている。
【０１８１】
形名入力欄６１ｃには、プログラマブルコントローラ４１の形名である「Ｒ０８ＣＰＵ」がユーザによって入力されている。
【０１８２】
設定入力欄６２ａは、監視対象ハードウェアであるバッテリ１ａ４の監視の要否を入力する要否入力欄６２ａ１を有する。
【０１８３】
要否入力欄６２ａ１には、監視対象ハードウェアであるバッテリ１ａ４の監視を行うことを表す「要」がユーザによって入力されている。
【０１８４】
設定入力欄６２ａは、監視対象ハードウェアであるバッテリ１ａ４の状態を判定するための閾値を入力する閾値入力欄６２ａ２を有する。
【０１８５】
閾値入力欄６２ａ２には、監視対象ハードウェアであるバッテリ１ａ４の状態を判定するための、バッテリ１ａ４の電圧の閾値「１．２Ｖ」がユーザによって入力されている。
【０１８６】
設定入力欄６２ｂは、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の監視の要否を入力する要否入力欄６２ｂ１を有する。
【０１８７】
要否入力欄６２ｂ１には、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の監視を行うことを表す「要」がユーザによって入力されている。
【０１８８】
設定入力欄６２ｂは、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を判定するための閾値を入力する閾値入力欄６２ｂ２を有する。
【０１８９】
閾値入力欄６２ｂ２には、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を判定するための、不揮発性半導体記憶部１ａ１０への書込み回数の閾値「１０万回」がユーザによって入力されている。
【０１９０】
設定入力欄６２ｃは、監視対象ハードウェアであるメイン基板４１ａの監視の要否を入力する要否入力欄６２ｃ１を有する。
【０１９１】
要否入力欄６２ｃ１には、監視対象ハードウェアであるメイン基板４１ａの監視を行わないことを表す「否」がユーザによって入力されている。
【０１９２】
設定入力欄６２ｃは、監視対象ハードウェアであるメイン基板４１ａの状態を判定するための閾値を入力する閾値入力欄６２ｃ２を有する。
【０１９３】
閾値入力欄６２ｃ２には、監視対象ハードウェアであるメイン基板４１ａの監視を行わないので、メイン基板４１ａの状態を判定するための閾値がユーザによって入力されていない。
【０１９４】
設定入力欄６２ｄは、監視対象ハードウェアである通信インタフェース１ａ７の監視の要否を入力する要否入力欄６２ｄ１を有する。
【０１９５】
要否入力欄６２ｄ１には、監視対象ハードウェアである通信インタフェース１ａ７の監視を行うことを表す「要」がユーザによって入力されている。
【０１９６】
設定入力欄６２ｄは、監視対象ハードウェアである通信インタフェース１ａ７の状態を判定するための閾値を入力する閾値入力欄６２ｄ２を有する。
【０１９７】
閾値入力欄６２ｄ２には、監視対象ハードウェアである通信インタフェース１ａ７の状態を判定するための、通信インタフェース１ａ７の通信連続失敗回数の閾値「３回」がユーザによって入力されている。
【０１９８】
再び図１０を参照すると、作成部５１ａ３ｃは、ステップＳ２０４において、入力受付部５１ａ３ｂで受け付けられた入力に基づいて、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の閾値と、を対応付けて有する閾値データ１ａ１０ｃを作成する。
【０１９９】
送信部５１ａ３ｄは、ステップＳ２０６において、作成部５１ａ３ｃで作成された閾値データ１ａ１０ｃをプログラマブルコントローラ４１に送信する。プログラマブルコントローラ４１のＣＰＵ１ａ１は、閾値データ１ａ１０ｃを外部装置５０から受信したら、受信した閾値データ１ａ１０ｃを不揮発性半導体記憶部１ａ１０に書き込む。
【０２００】
プログラマブルコントローラ４１のＣＰＵ１ａ１は、実施の形態１で説明した図２のフローチャートで示される処理を実行する。
【０２０１】
プログラマブルコントローラ４１の状態監視部１ａ１ｂ１は、外部装置５０から受信した閾値データ１ａ１０ｃに基づいて、監視対象ハードウェアであるバッテリ１ａ４の状態を表す値である電圧を監視して、電圧が閾値「１．２Ｖ」に達したか否かを判定する。プログラマブルコントローラ４１のバックアップ処理部１ａ１ｂ２は、バッテリ１ａ４の電圧が閾値「１．２Ｖ」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込んでバックアップする。
【０２０２】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「バッテリ電圧が閾値まで低下」、並びに、プログラマブルコントローラ４１の製造シリアル番号、ＩＰｖ４アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【０２０３】
プログラマブルコントローラ４１の状態監視部１ａ１ｂ１は、外部装置５０から受信した閾値データ１ａ１０ｃに基づいて、監視対象ハードウェアである不揮発性半導体記憶部１ａ１０の状態を表す値である書込み回数を監視して、書込み回数が閾値「１０万回」に達したか否かを判定する。プログラマブルコントローラ４１のバックアップ処理部１ａ１ｂ２は、不揮発性半導体記憶部１ａ１０の書込み回数が閾値「１０万回」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０から読み出してバックアップ記憶部１ａ６ａに書き込む。
【０２０４】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「書込み回数が閾値に到達」、並びに、プログラマブルコントローラ４１の製造シリアル番号、ＩＰｖ４アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【０２０５】
プログラマブルコントローラ４１の状態監視部１ａ１ｂ１は、外部装置５０から受信した閾値データ１ａ１０ｃに基づいて、監視対象ハードウェアであるメイン基板４１ａの状態を表す値である温度の監視を行わない。
【０２０６】
プログラマブルコントローラ４１の状態監視部１ａ１ｂ１は、外部装置５０から受信した閾値データ１ａ１０ｃに基づいて、監視対象ハードウェアである通信インタフェース１ａ７の状態を表す値である通信連続失敗回数を監視して、通信連続失敗回数が閾値「３回」に達したか否かを判定する。プログラマブルコントローラ４１のバックアップ処理部１ａ１ｂ２は、通信インタフェース１ａ７の通信連続失敗回数が閾値「３回」に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部１ａ１０又は揮発性半導体記憶部１ａ３から読み出してバックアップ記憶部１ａ６ａに書き込む。
【０２０７】
なお、バックアップ処理部１ａ１ｂ２は、データ又はプログラムをバックアップ記憶部１ａ６ａに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「通信連続失敗回数が閾値に到達」、並びに、プログラマブルコントローラ４１の製造シリアル番号、ＩＰｖ４アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部１ａ６ａに書き込んでバックアップすると好適である。
【０２０８】
実施の形態５にかかる制御システム４０は、次の効果を奏する。
【０２０９】
制御システム４０は、１つ又は複数の監視対象ハードウェアの監視の要否と、１つ又は複数の監視対象ハードウェアの状態を夫々判定するための１つ又は複数の閾値と、を対応付けた閾値データ１ａ１０ｃを作成できる。
【０２１０】
これにより、制御システム４０は、ハードウェアの不要な監視を抑制して、プログラマブルコントローラ４１の処理負荷を抑制できる。また、制御システム４０は、ハードウェアの不要な監視を抑制して、バックアップ記憶部１ａ６ａの使用領域を抑制できる。
【０２１１】
また、制御システム４０は、監視対象ハードウェアが複数ある場合に、複数の監視対象ハードウェアの監視の要否と、複数の監視対象ハードウェアの状態を夫々判定するための複数の閾値と、の入力を直感的に行うことを可能にできる。これにより、制御システム４０は、複数の監視対象ハードウェアの監視の要否と、複数の監視対象ハードウェアの状態を夫々判定するための複数の閾値と、の入力を漏れなく、容易に行うことを可能にできる。
【０２１２】
なお、実施の形態５では、外部装置５０はコンピュータとしたが、外部装置５０はプログラマブル表示器（ＪＩＳ  Ｂ  ３５５１：２０１２、programmable  display）であっても良い。
【０２１３】
また、実施の形態５では、外部装置５０が、閾値データ１ａ１０ｃをプログラマブルコントローラ４１に送信することとした。しかし、外部装置５０が、閾値データ１ａ１０ｃをリムーバブルな記憶部５９に書き込み、ユーザが記憶部５９を外部装置５０から取り出して、プログラマブルコントローラ４１のスロット１ａ６に挿入することとしても良い。
【０２１４】
これにより、外部装置５０とプログラマブルコントローラ４１とが通信できない場合であっても、プログラマブルコントローラ４１が閾値データ１ａ１０ｃを使用できる。
【０２１５】
また、実施の形態５では、外部装置５０が閾値データ１ａ１０ｃを作成することとしたが、これに限定されない。
【０２１６】
図１２は、実施の形態５の他の制御システムの例にかかるプログラマブルコントローラの構成を示す図である。実施の形態５の他の例にかかるプログラマブルコントローラ７０は、プログラマブルコントローラ４１と比較すると、メイン基板４１ａに代えて、メイン基板７０ａを含む。
【０２１７】
メイン基板７１ａは、実施の形態５のメイン基板４１ａと比較すると、文字及び画像を表示する表示部１ａ１２と、ユーザからの操作入力を受け付ける入力部１ａ１３と、を更に含む。表示部１ａ１２は、液晶表示装置が例示される。入力部１ａ１３は、物理ボタン又はタッチパネルが例示される。
【０２１８】
不揮発性半導体記憶部１ａ１０内のバックアッププログラム１ａ１０ｂは、閾値データ作成プログラム１ａ１０ｂ３を更に含む。ＣＰＵ１ａ１が閾値データ作成プログラム１ａ１０ｂ３を実行することで、閾値データ作成部１ａ１ｂ３が実現される。
【０２１９】
プログラマブルコントローラ７０は、外部装置５０との通信ができない工場建屋内でも閾値データ１ａ１０ｃを作成できる。また、プログラマブルコントローラ７０は、外部装置５０を不要にできる。これにより、プログラマブルコントローラ７０は、コストを抑制できる。
【０２２０】
実施の形態６．
図１３は、実施の形態６にかかる制御システムの構成を示す図である。実施の形態６にかかる制御システム８０は、マスタとして動作する１つのマスタプログラマブルコントローラ８１と、スレーブとして動作する複数のスレーブプログラマブルコントローラ８２及び８３と、を含む。マスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３は、有線又は無線のネットワークＮを介して通信可能である。
【０２２１】
実施の形態６では、スレーブとして動作するスレーブプログラマブルコントローラは２個としたが、スレーブとして動作するスレーブプログラマブルコントローラは１個としても良いし、２個より多くても良い。
【０２２２】
図１４は、実施の形態６にかかる制御システムのマスタプログラマブルコントローラの構成を示す図である。実施の形態６にかかる制御システム８０のマスタプログラマブルコントローラ８１は、メイン基板８１ａを含む。
【０２２３】
マスタプログラマブルコントローラ８１の不揮発性半導体記憶部１ａ１０内のバックアッププログラム１ａ１０ｂは、スレーブプログラマブルコントローラ８２又は８３からデータ又はプログラムを受信してバックアップ記憶部１ａ６ａに書き込んでバックアップする他装置バックアップ管理プログラム１ａ１０ｂ４を、更に含む。
【０２２４】
マスタプログラマブルコントローラ８１のＣＰＵ１ａ１が他装置バックアップ管理プログラム１ａ１０ｂ４を実行することで、スレーブプログラマブルコントローラ８２又は８３からデータ又はプログラムを受信してバックアップ記憶部１ａ６ａに書き込んでバックアップする他装置バックアップ管理部１ａ１ｂ４が実現される。
【０２２５】
図１５は、実施の形態６にかかる制御システムのマスタプログラマブルコントローラのバックアップ記憶部の内容を示す図である。
【０２２６】
マスタプログラマブルコントローラ８１のバックアップ処理部１ａ１ｂ２は、監視対象ハードウェアの状態を表す値が閾値に達したと状態監視部１ａ１ｂ１で判定されたら、データ又はプログラムをバックアップ対象記憶部から読み出して、バックアップ記憶部１ａ６ａ内に自装置バックアップデータ又はプログラム１ａ６ａ１を書き込んでバックアップする。
【０２２７】
マスタプログラマブルコントローラ８１の他装置バックアップ管理部１ａ１ｂ４は、スレーブプログラマブルコントローラ８２からデータ又はプログラムを受信したら、バックアップ記憶部１ａ６ａ内にスレーブバックアップデータ又はプログラム１ａ６ａ２を書き込んでバックアップする。
【０２２８】
マスタプログラマブルコントローラ８１の他装置バックアップ管理部１ａ１ｂ４は、スレーブプログラマブルコントローラ８３からデータ又はプログラムを受信したら、バックアップ記憶部１ａ６ａ内にスレーブバックアップデータ又はプログラム１ａ６ａ３を書き込んでバックアップする。
【０２２９】
図１６は、実施の形態６にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図である。実施の形態６にかかる制御システム８０のスレーブプログラマブルコントローラ８２は、メイン基板８２ａを含む。
【０２３０】
スレーブプログラマブルコントローラ８２の不揮発性半導体記憶部１ａ１０内のバックアッププログラム１ａ１０ｂは、バックアップ記憶部１ａ６ａにバックアップしたデータ又はプログラムを、マスタプログラマブルコントローラ８１に送信するバックアップ送信プログラム１ａ１０ｂ５を、更に含む。
【０２３１】
スレーブプログラマブルコントローラ８２のＣＰＵ１ａ１がバックアップ送信プログラム１ａ１０ｂ５を実行することで、バックアップ記憶部１ａ６ａにバックアップしたデータ又はプログラムを、マスタプログラマブルコントローラ８１に送信するバックアップ送信部１ａ１ｂ５が実現される。
【０２３２】
スレーブプログラマブルコントローラ８３の構成は、スレーブプログラマブルコントローラ８２の構成と同様であるので、図示及び説明を省く。
【０２３３】
スレーブプログラマブルコントローラ８２の動作について、説明する。
【０２３４】
図１７は、実施の形態６にかかる制御システムのスレーブプログラマブルコントローラの処理を示すフローチャートである。スレーブプログラマブルコントローラ８２のバックアップ送信部１ａ１ｂ５は、バックアップ処理部１ａ１ｂ２がデータ又はプログラムをバックアップ記憶部１ａ６ａにバックアップしたら、図１７に示す処理を実行する。
【０２３５】
スレーブプログラマブルコントローラ８２のバックアップ送信部１ａ１ｂ５は、ステップＳ３００において、バックアップ処理部１ａ１ｂ２がバックアップしたデータ又はプログラムをバックアップ記憶部１ａ６ａから読み出して、マスタプログラマブルコントローラ８１に送信し、処理を終了する。
【０２３６】
図１８は、実施の形態６にかかる制御システムのマスタプログラマブルコントローラの処理を示すフローチャートである。
【０２３７】
マスタプログラマブルコントローラ８１の他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４００において、データ又はプログラムをスレーブプログラマブルコントローラ８２から受信する。
【０２３８】
他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４０２において、送信元のスレーブプログラマブルコントローラ８２のスレーブバックアップデータ又はプログラム１ａ６ａ２がバックアップ記憶部１ａ６ａ内に既にあるか否かを判定する。
【０２３９】
他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４０２でスレーブプログラマブルコントローラ８２のスレーブバックアップデータ又はプログラム１ａ６ａ２がバックアップ記憶部１ａ６ａ内にないと判定したら（Ｎｏ）、ステップＳ４０４において、受信したデータ又はプログラムをスレーブバックアップデータ又はプログラム１ａ６ａ２としてバックアップ記憶部１ａ６ａに書き込んでバックアップする。
【０２４０】
他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４０２でスレーブプログラマブルコントローラ８２のスレーブバックアップデータ又はプログラム１ａ６ａ２がバックアップ記憶部１ａ６ａ内に既にあると判定したら（Ｙｅｓ）、ステップＳ４０６において、受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム１ａ６ａ２との間に差分があるか否かを判定する。
【０２４１】
他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４０６で受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム１ａ６ａ２との間に差分がないと判定したら（Ｎｏ）、処理を終了する。
【０２４２】
他装置バックアップ管理部１ａ１ｂ４は、ステップＳ４０６で受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム１ａ６ａ２との間に差分があると判定したら（Ｙｅｓ）、ステップＳ４０８において、差分をバックアップ記憶部１ａ６ａに書き込んでバックアップし、処理を終了する。なお、この際、他装置バックアップ管理部１ａ１ｂ４は、バックアップ管理部１ａ１ｂ４内に既にあるスレーブバックアップデータ又はプログラム１ａ６ａ２の内の差分に相当する部分だけに差分を上書きし、バックアップ管理部１ａ１ｂ４内に既にあるスレーブバックアップデータ又はプログラム１ａ６ａ２の内の差分に相当しない部分を上書きしないでそのままにすると好適である。
【０２４３】
実施の形態６にかかる制御システム８０は、次の効果を奏する。
【０２４４】
制御システム８０は、マスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムを、マスタプログラマブルコントローラ８１に集約できる。
【０２４５】
従って、ユーザは、マスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムを回収するために、マスタプログラマブルコントローラ８１だけに行けばよい。
【０２４６】
これにより、制御システム８０は、ユーザがマスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムを回収するためにマスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３の設置場所を巡回する作業を抑制することができ、ユーザの作業工数を抑制できる。
【０２４７】
また、制御システム８０は、マスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムをマスタプログラマブルコントローラ８１に集約しているので、マスタプログラマブルコントローラ８１並びにスレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムの保守性を向上できる。
【０２４８】
また、制御システム８０は、スレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムをマスタプログラマブルコントローラ８１に集約しているので、スレーブプログラマブルコントローラ８２又は８３の破損時でも、スレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムをマスタプログラマブルコントローラ８１で回収できるので、スレーブプログラマブルコントローラ８２及び８３のバックアップデータ又はプログラムが失われることを抑制できる。
【０２４９】
実施の形態７．
図１９は、実施の形態７にかかる制御システムの構成を示す図である。実施の形態７にかかる制御システム９０は、外部装置９１と、マスタとして動作する１つのマスタプログラマブルコントローラ９２と、スレーブとして動作する複数のスレーブプログラマブルコントローラ９３及び９４と、を含む。外部装置９１、マスタプログラマブルコントローラ９２並びにスレーブプログラマブルコントローラ９３及び９４は、有線又は無線のネットワークＮを介して通信可能である。
【０２５０】
実施の形態７では、スレーブとして動作するスレーブプログラマブルコントローラは２個としたが、スレーブとして動作するスレーブプログラマブルコントローラは１個としても良いし、２個より多くても良い。
【０２５１】
実施の形態７では、外部装置９１は、コンピュータである。コンピュータのハードウェア構成は、図８で示した、実施の形態５にかかる外部装置５０のハードウェア構成と同様であるので、図示及び説明を省く。
【０２５２】
図２０は、実施の形態７にかかる制御システムの外部装置の機能ブロックを示す図である。エンジニアリングツールプログラム５４ａは、図９で示した、実施の形態５の外部装置５０と比較して、リストア制御プログラム５４ａ４を更に含む。
【０２５３】
ＣＰＵ５１がリストア制御プログラム５４ａ４を実行することで、リストア制御部５１ａ４が実現される。
【０２５４】
リストア制御プログラム５４ａ４は、マスタプログラマブルコントローラ９２のバックアップ記憶部１ａ６ａにバックアップされているデータ又はプログラムのリストを、マスタプログラマブルコントローラ９２に要求するリスト要求プログラム５４ａ４ａを含む。
【０２５５】
ＣＰＵ５１がリスト要求プログラム５４ａ４ａを実行することで、マスタプログラマブルコントローラ９２のバックアップ記憶部１ａ６ａにバックアップされているデータ又はプログラムのリストを、マスタプログラマブルコントローラ９２に要求するリスト要求部５１ａ４ａが実現される。
【０２５６】
リストア制御プログラム５４ａ４は、リスト要求部５１ａ４ａで受信したデータ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示プログラム５４ａ４ｂを含む。
【０２５７】
ＣＰＵ５１が一覧表示プログラム５４ａ４ｂを実行することで、リスト要求部５１ａ４ａで受信したデータ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示部５１ａ４ｂが実現される。
【０２５８】
リストア制御プログラム５４ａ４は、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を一覧表示画面内で受け付けるリストア入力受付プログラム５４ａ４ｃを含む。
【０２５９】
ＣＰＵ５１がリストア入力受付プログラム５４ａ４ｃを実行することで、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を一覧表示画面内で受け付けるリストア入力受付部５１ａ４ｃが実現される。
【０２６０】
リストア制御プログラム５４ａ４は、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラを一意に特定する情報を、スレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラに送信するリストア要求送信プログラム５４ａ４ｄを含む。
【０２６１】
ＣＰＵ５１が一覧表示プログラム５４ａ４ｄを実行することで、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラを一意に特定する情報を、スレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラに送信するリストア要求送信部５１ａ４ｄが実現される。
【０２６２】
図２１は、実施の形態７にかかる制御システムのマスタプログラマブルコントローラの構成を示す図である。実施の形態７にかかる制御システム９０のマスタプログラマブルコントローラ９２は、メイン基板９２ａを含む。
【０２６３】
実施の形態７にかかるマスタプログラマブルコントローラ９２は、図１４で示した、実施の形態６にかかるマスタプログラマブルコントローラ８１と比較すると、バックアッププログラム１ａ１０ｂが、リストア対象のデータ又はプログラムをバックアップ記憶部１ａ６ａから読み出して、スレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラに送信するリストア管理プログラム１ａ１０ｂ６を、更に含む。
【０２６４】
マスタプログラマブルコントローラ９２のＣＰＵ１ａ１がリストア管理プログラム１ａ１０ｂ６を実行することで、リストア対象のデータ又はプログラムをバックアップ記憶部１ａ６ａから読み出して、スレーブプログラマブルコントローラ９３又は９４の内のリストア先のプログラマブルコントローラに送信するリストア管理部１ａ１ｂ６が実現される。
【０２６５】
図２２は、実施の形態７にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図である。実施の形態７にかかる制御システム９０のスレーブプログラマブルコントローラ９３は、メイン基板９３ａを含む。
【０２６６】
実施の形態７にかかるスレーブプログラマブルコントローラ９３は、図１６で示した、実施の形態６にかかるスレーブプログラマブルコントローラ８２と比較すると、バックアッププログラム１ａ１０ｂが、リストア対象のデータ又はプログラムをマスタプログラマブルコントローラ９２から受信して、バックアップ記憶部１ａ６ａ又は不揮発性半導体記憶部１ａ１０に書き込んでリストアするリストア処理プログラム１ａ１０ｂ７を、更に含む。
【０２６７】
スレーブプログラマブルコントローラ９３のＣＰＵ１ａ１がリストア処理プログラム１ａ１０ｂ７を実行することで、リストア対象のデータ又はプログラムをマスタプログラマブルコントローラ９２から受信して、バックアップ記憶部１ａ６ａ又は不揮発性半導体記憶部１ａ１０に書き込んでリストアするリストア処理部１ａ１ｂ７が実現される。
【０２６８】
制御システム９０の動作について、説明する。
【０２６９】
図２３は、実施の形態７にかかる制御システムの処理を示すシーケンス図である。
【０２７０】
外部装置９１のリスト要求部５１ａ４ａは、ステップＳ５００において、マスタプログラマブルコントローラ９２のバックアップ記憶部１ａ６ａにバックアップされているバックアップデータ又はプログラムのリストを、マスタプログラマブルコントローラ９２に要求する。
【０２７１】
マスタプログラマブルコントローラ９２のリストア管理部１ａ１ｂ６は、ステップＳ５１０において、バックアップ記憶部１ａ６ａにバックアップされているバックアップデータ又はプログラムのリストを、外部装置９１に送信する。
【０２７２】
外部装置９１の一覧表示部５１ａ４ｂは、ステップＳ５０２において、リスト要求部５１ａ４ａで受信したバックアップデータ又はプログラムのリストを、表示部５６の表示面に一覧表示する。
【０２７３】
図２４は、実施の形態７にかかる制御システムの外部装置の表示部の表示面を示す図である。表示部５６の表示面５６ｂ内には、一覧表示画面１００が、一覧表示部５１ａ４ｂにより表示されている。一覧表示画面１００は、マスタプログラマブルコントローラ９２のバックアップ記憶部１ａ６ａにバックアップされているバックアップデータ又はプログラムの情報を表示するバックアップデータ情報表示部１０１と、バックアップデータ又はプログラムをリストアするリストア先のスレーブプログラマブルコントローラを一意に特定する情報を入力するリストア先入力部１０２と、を含む。
【０２７４】
接続情報入力部６１は、バックアップ元のスレーブプログラマブルコントローラの製造シリアル番号を表示する製造シリアル番号表示欄１０１ａと、バックアップ元のスレーブプログラマブルコントローラのＩＰｖ４アドレスを表示するためのＩＰアドレス表示欄１０１ｂと、バックアップ元のスレーブプログラマブルコントローラの形名を表示するための形名表示欄１０１ｃと、バックアップされた日付を表示する日付表示欄１０１ｄと、バックアップされた時刻を表示する時刻表示欄１０１ｅと、バックアップのトリガとなった監視対象ハードウェアの状態を表示するトリガ表示欄１０１ｆと、を含む。
【０２７５】
図２４では、行１０３から行１０７までの計５つのバックアップデータが一覧表示されている。
【０２７６】
リストア先入力部１０２は、リストア先のスレーブプログラマブルコントローラの製造シリアル番号を入力する製造シリアル番号入力欄１０２ａと、リストア先のスレーブプログラマブルコントローラのＩＰｖ４アドレスを入力するＩＰアドレス入力欄１０２ｂと、を含む。
【０２７７】
再び図２３を参照すると、外部装置９１のリストア入力受付部５１ａ４ｃは、ステップＳ５０４において、リストア対象のバックアップデータ又はプログラム並びにリストア先のスレーブプログラマブルコントローラを一意に特定する情報の入力を、一覧表示画面１００内で受け付ける。
【０２７８】
再び図２４を参照すると、行１０３の製造シリアル番号入力欄１０２ａには、製造シリアル番号「１４０３００＊＊＊＊」がユーザによって入力され、行１０３のＩＰアドレス入力欄１０２ｂには、ＩＰｖ４アドレス「１９２．１６８．０．５２」がユーザによって入力されている。従って、行１０３にリスト表示されたバックアップデータ又はプログラムが、製造シリアル番号「１４０３００＊＊＊＊」且つＩＰｖ４アドレス「１９２．１６８．０．５２」であるスレーブプログラマブルコントローラにリストアされる。
【０２７９】
また、行１０５の製造シリアル番号入力欄１０２ａには、製造シリアル番号「１４０３００＊＊＊＊」がユーザによって入力され、行１０５のＩＰアドレス入力欄１０２ｂには、ＩＰｖ４アドレス「１９２．１６８．０．５２」がユーザによって入力されている。従って、行１０５にリスト表示されたバックアップデータ又はプログラムが、製造シリアル番号「１４０３００＊＊＊＊」且つＩＰｖ４アドレス「１９２．１６８．０．５２」であるスレーブプログラマブルコントローラにリストアされる。
【０２８０】
ユーザは、一覧表示画面１００への情報入力が終わったら、実行ボタン１１０をクリックする。外部装置９１のリストア入力受付部５１ａ４ｃは、実行ボタン１１０がユーザによってクリックされたら、情報の入力の受け付けを終了する。
【０２８１】
再び図２３を参照すると、外部装置９１のリストア要求送信部５１ａ４ｄは、ステップＳ５０６において、リストア対象のバックアップデータ又はプログラム並びにリストア先のスレーブプログラマブルコントローラを一意に特定する情報を、マスタプログラマブルコントローラ９２に送信する。
【０２８２】
マスタプログラマブルコントローラ９２のリストア管理部１ａ１ｂ６は、ステップＳ５１２において、リストア対象のバックアップデータ又はプログラムをバックアップ記憶部１ａ６ａから読み出して、リストア先のスレーブプログラマブルコントローラに送信する。
【０２８３】
リストア先のスレーブプログラマブルコントローラのリストア処理部１ａ１ｂ７は、ステップＳ５２０において、受信したリストア対象のバックアップデータ又はプログラムを、不揮発性半導体記憶部１ａ１０及びバックアップ記憶部１ａ６ａに書き込んでリストアする。
【０２８４】
実施の形態７にかかる制御システム９０は、次の効果を奏する。
【０２８５】
制御システム９０は、バックアップデータ又はプログラムのリストを、一覧表示画面１００内に一覧表示する。これにより、制御システム９０は、ユーザがリストを見ながらリストア対象のバックアップデータ又はプログラムを適切に選択することを、可能にできる。
【０２８６】
また、制御システム９０は、ユーザが外部装置９１を操作するだけで、ユーザがマスタプログラマブルコントローラ９２又はリストア先のスレーブプログラマブルコントローラの設置場所に行かなくても、スレーブプログラマブルコントローラのリストアを行うことを可能にできる。これにより、制御システム９０は、ユーザの作業工数を抑制することができる。制御システム９０は、リストア先のスレーブプログラマブルコントローラが複数ある場合に、ユーザの作業工数を好適に抑制できる。
【０２８７】
なお、実施の形態７では、外部装置９１はコンピュータとしたが、外部装置９１はプログラマブル表示器であっても良い。
【０２８８】
また、実施の形態７では、外部装置９１がリストア入力を受け付けることとしたが、これに限定されない。マスタプログラマブルコントローラ９２が、図１２で示した、表示部１ａ１２及び入力部１ａ１３を備えて、リストア制御プログラム５４ａ４を実行することとしても良い。これにより、制御システム９０は、外部装置９１を不要にできるので、コストを抑制できる。マスタプログラマブルコントローラ９２が表示部１ａ１２及び入力部１ａ１３を備えてリストア制御プログラム５４ａ４を実行する場合は、リスト要求プログラム５４ａ４ａ及びリストア要求送信プログラム５４ａ４ｄは不要である。
【０２８９】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０２９０】
１，１０，２０，３０，４１，７０  プログラマブルコントローラ、１ａ１，５１  ＣＰＵ、１ａ１ｂ  バックアップ部、１ａ１ｂ１  状態監視部、１ａ１ｂ２  バックアップ処理部、１ａ１ｂ３，５１ａ３  閾値データ作成部、１ａ１ｂ４  他装置バックアップ管理部、１ａ１ｂ５  バックアップ送信部、１ａ１ｂ６  リストア管理部、１ａ１ｂ７  リストア処理部、１ａ３  揮発性半導体記憶部、１ａ４  バッテリ、１ａ５  電圧センサ、１ａ６ａ  バックアップ記憶部、１ａ１０  不揮発性半導体記憶部、１ａ１０ｂ  バックアッププログラム、１ａ１０ｃ  閾値データ、１ａ１０ｆ  通信パラメータ、１ａ１１  温度センサ、１ａ１２  表示部、１ａ１３  入力部、５０，９１  外部装置、５１ａ３ａ  入力画面表示部、５１ａ３ｂ  入力受付部、５１ａ３ｃ  作成部、５１ａ３ｄ  送信部、５１ａ４  リストア制御部、５１ａ４ａ  リスト要求部、５１ａ４ｂ  一覧表示部、５１ａ４ｃ  リストア入力受付部、５１ａ４ｄ  リストア要求送信部、５４  記憶部、６０  入力画面、４０，８０，９０  制御システム、８１，９２  マスタプログラマブルコントローラ、８２，８３，９３，９４  スレーブプログラマブルコントローラ、１００  一覧表示画面。
【要約】
プログラマブルコントローラは、機械の制御の際に使用されるデータ又はプログラムを記憶するバックアップ対象記憶部と、データ又はプログラムをバックアップ記憶するバックアップ記憶部と、監視対象ハードウェアの状態を表す値を監視して、値が予め定められた閾値に達したか否かを判定する状態監視部と、値が閾値に達したと状態監視部で判定されたら、データ又はプログラムをバックアップ対象記憶部から読み出してバックアップ記憶部に書き込んでバックアップするバックアップ処理部と、を備える。【図１】
0006012918.tif 000002
【図２】
0006012918.tif 000003
【図３】
0006012918.tif 000004
【図４】
0006012918.tif 000005
【図５】
0006012918.tif 000006
【図６】
0006012918.tif 000007
【図７】
0006012918.tif 000008
【図８】
0006012918.tif 000009
【図９】
0006012918.tif 000010
【図１０】
0006012918.tif 000011
【図１１】
0006012918.tif 000012
【図１２】
0006012918.tif 000013
【図１３】
0006012918.tif 000014
【図１４】
0006012918.tif 000015
【図１５】
0006012918.tif 000016
【図１６】
0006012918.tif 000017
【図１７】
0006012918.tif 000018
【図１８】
0006012918.tif 000019
【図１９】
0006012918.tif 000020
【図２０】
0006012918.tif 000021
【図２１】
0006012918.tif 000022
【図２２】
0006012918.tif 000023
【図２３】
0006012918.tif 000024
【図２４】
0006012918.tif 000025