以下に、本発明の実施の形態にかかるプログラマブルコントローラ、制御システム及び制御方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1にかかるプログラマブルコントローラの構成を示す図である。プログラマブルコントローラ(JIS B 3502:2011、programmable controllers(PLC))1は、メイン基板1aと、サブ基板1b及び1cと、を含む。メイン基板1aは、バスB2を介してサブ基板1b及び1cと通信可能に接続されている。
サブ基板1bには、機械2が接続され、サブ基板1cには、機械3が接続されている。メイン基板1aは、サブ基板1bを介して機械2を制御し、サブ基板1cを介して機械3を制御する。
メイン基板1aは、メイン基板1aの内部バスであるバスB1とバスB2とを連絡するバスブリッジ回路であるバスインタフェース1a9を含む。
メイン基板1aは、外部装置と通信するための通信インタフェース1a7を含む。通信インタフェース1a7は、バスB1に接続されている。通信は、Ethernet(登録商標、IEEE 802.3)又は無線LAN(IEEE 802.11a/b/g/n/ac)が例示される。
メイン基板1aは、外部装置と通信するためのUSB(Universal Serial Bus)インタフェース1a8を含む。USBインタフェース1a8は、バスB1に接続されている。
メイン基板1aは、プロジェクトデータ1a10aを記憶する不揮発性半導体記憶部1a10を含む。不揮発性半導体記憶部1a10は、バスB1に接続されている。不揮発性半導体記憶部1a10は、SSD(Solid State Drive)又はeMMC(embedded Multi Media Card)が例示される。SSD又はeMMCは、フラッシュメモリ(登録商標)を使用して構成される。
プロジェクトデータ1a10aは、機械2及び3を制御するための制御プログラム1a10a1と、制御プログラム1a10a1の実行時に参照される制御パラメータ1a10a2と、制御プログラム1a10a1の実行時の作業領域であるデバイスを規定するデバイスメモリ1a10a3と、サブ基板1bと機械2との接続関係及びサブ基板1cと機械3との接続関係を規定する接続情報1a10a4と、を含む。
メイン基板1aは、CPU1a1を含む。CPU1a1は、バスB1に接続されている。CPU1a1が制御プログラム1a10a1を実行することで、機械2及び3を制御する機械制御部1a1aが実現される。
メイン基板1aは、機械2及び3の制御の際に使用されるデータ又は制御プログラム1a10a1を記憶するRAM(Random Access Memory)1a2及び揮発性半導体記憶部1a3を含む。データは、デバイスを含む。RAM1a2及び揮発性半導体記憶部1a3は、バスB1に接続されている。
揮発性半導体記憶部1a3は、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)が例示される。
実施の形態1では、揮発性半導体記憶部1a3が、本発明のバックアップ対象記憶部に対応する。
メイン基板1aは、揮発性半導体記憶部1a3がデータ又は制御プログラム1a10a1を保持するための電力Pを供給するバッテリ1a4を含む。
実施の形態1では、バッテリ1a4が、本発明の監視対象ハードウェアに対応する。
メイン基板1aは、バッテリ1a4の電圧を検出する電圧センサ1a5を含む。電圧センサ1a5は、バスB1に接続されている。
揮発性半導体記憶部1a3は、バッテリ1a4から電力Pの供給を受けることで、プログラマブルコントローラ1の電源がオフされたり、プログラマブルコントローラ1に系統電力を供給する系統電源が停電したりした場合であっても、データ又は制御プログラム1a10a1を保持し続けることができる。
実施の形態1では、揮発性半導体記憶部1a3は、バッテリ1a4から供給される電圧が1.2V以上であれば、プログラマブルコントローラ1の電源がオフされたり、プログラマブルコントローラ1に系統電力を供給する系統電源が停電したりした場合であっても、データ又は制御プログラム1a10a1を保持し続けることができるものとする。
つまり、揮発性半導体記憶部1a3は、バッテリ1a4が消耗、劣化又は故障して、バッテリ1a4から供給される電圧が1.2Vを下回ったら、プログラマブルコントローラ1の電源がオフされたり、プログラマブルコントローラ1に系統電力を供給する系統電源が停電したりすると、データ又は制御プログラム1a10a1を保持できない。つまり、バッテリ1a4から供給される電圧が1.2Vを下回ったら、揮発性半導体記憶部1a3内のデータ又は制御プログラム1a10a1は消える。
CPU1a1は、制御プログラム1a10a1の実行に際して、制御プログラム1a10a1をRAM1a2又は揮発性半導体記憶部1a3にロードして実行する。制御プログラム1a10a1がRAM1a2又は揮発性半導体記憶部1a3のどちらにロードされるかは、制御プログラム1a10a1に記述されている。
制御プログラム1a10a1の一部がRAM1a2に配置され、制御プログラム1a10a1の他の一部が揮発性半導体記憶部1a3に配置されても良いし、制御プログラム1a10a1の全部が揮発性半導体記憶部1a3に配置されても良い。
CPU1a1は、制御プログラム1a10a1の実行に際して、使用するデータをRAM1a2又は揮発性半導体記憶部1a3に配置する。データは、デバイスを含む。データがRAM1a2又は揮発性半導体記憶部1a3のどちらに配置されるかは、制御プログラム1a10a1又はデバイスメモリ1a10a3に記述されている。
データの一部がRAM1a2に配置され、データの他の一部が揮発性半導体記憶部1a3に配置されても良いし、データの全部が揮発性半導体記憶部1a3に配置されても良い。
メイン基板1aは、揮発性半導体記憶部1a3に記憶されているデータ又は制御プログラム1a10a1をバックアップ記憶するバックアップ記憶部1a6aを含む。
実施の形態1では、バックアップ記憶部1a6aは、リムーバブルな不揮発性記憶部材であり、バスB1に接続されたスロット1a6に挿入されている。バックアップ記憶部1a6aは、SDカード(登録商標)、CompactFlash(登録商標)、USBメモリ又はDVD(Digital Versatile Disc)が例示される。
バックアップ記憶部1a6aがリムーバブルな不揮発性記憶部材であれば、バックアップされたデータ又は制御プログラム1a10a1の可搬性が向上する。
なお、バックアップ記憶部1a6aは、非リムーバブルな不揮発性記憶部材であっても良い。非リムーバブルな不揮発性記憶部材は、SSD又はeMMCが例示される。
バックアップ記憶部1a6aが非リムーバブルな不揮発性記憶部材であれば、スロット1a6が不要になるので、メイン基板1aの実装面積を抑制することができる。
不揮発性半導体記憶部1a10は、閾値データ1a10cを記憶する。閾値データ1a10cは、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧と比較するための、予め定められた閾値「1.2V」を含む。
実施の形態1では、監視対象ハードウェアの状態を表す値は、監視対象ハードウェアの消耗、劣化又は故障の度合いを表す値である。
実施の形態1では、監視対象ハードウェアはバッテリ1a4である。バッテリ1a4の初期電圧を1.5Vとすると、バッテリ1a4は、消耗、劣化又は故障の度合いに従って、電圧が1.5Vから徐々に低下して行く。従って、バッテリ1a4の電圧は、バッテリ1a4の消耗、劣化又は故障の度合いを表す値である。
不揮発性半導体記憶部1a10は、バックアッププログラム1a10bを記憶する。CPU1a1がバックアッププログラム1a10bを実行することで、バックアップ部1a1bが実現される。
バックアッププログラム1a10bは、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧を監視して、電圧が予め定められた閾値「1.2V」に達したか否かを判定する状態監視プログラム1a10b1を含む。
CPU1a1が状態監視プログラム1a10b1を実行することで、監視対象ハードウェアの状態を表す値を監視して、値が予め定められた閾値に達したか否かを判定する状態監視部1a1b1が実現される。
バックアッププログラム1a10bは、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込んでバックアップするバックアップ処理プログラム1a10b2を含む。
CPU1a1がバックアップ処理プログラム1a10b2を実行することで、監視対象ハードウェアの状態を表す値が閾値に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込むバックアップ処理部1a1b2が実現される。
プログラマブルコントローラ1の動作について、説明する。
図2は、実施の形態1にかかるプログラマブルコントローラの処理を示すフローチャートである。CPU1a1は、図2に示す処理を定期的に実行する。
状態監視部1a1b1は、ステップS100において、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧を、電圧センサ1a5を使用して監視する。
状態監視部1a1b1は、ステップS102において、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達したか否かを判定する。
状態監視部1a1b1は、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達していないと判定したら(No)、処理をステップS100に進める。
状態監視部1a1b1は、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達したと判定したら(Yes)、処理をステップS104に進める。
バックアップ処理部1a1b2は、ステップS104において、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込んでバックアップし、処理をステップS100に進める。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「バッテリ電圧が閾値まで低下」を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
実施の形態1にかかるプログラマブルコントローラ1は、次の効果を奏する。
揮発性半導体記憶部1a3は、バッテリ1a4が消耗、劣化又は故障して、バッテリ1a4から供給される電圧が1.2Vを下回ったら、プログラマブルコントローラ1の電源がオフされたり、プログラマブルコントローラ1に系統電力を供給する系統電源が停電したりすると、データ又はプログラムを保持できない。つまり、バッテリ1a4から供給される電圧が1.2Vを下回ったら、揮発性半導体記憶部1a3内のデータ又はプログラムは消えてしまう。
状態監視部1a1b1は、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達したか否かを判定する。
バックアップ処理部1a1b2は、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧が閾値「1.2V」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込む。
これにより、実施の形態1にかかるプログラマブルコントローラ1は、監視対象ハードウェアであるバッテリ1a4の消耗、劣化又は故障を察知して、バックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムが消える前に、バックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムをバックアップ記憶部1a6aにバックアップすることができる。
従って、実施の形態1にかかるプログラマブルコントローラ1は、監視対象ハードウェアであるバッテリ1a4の消耗、劣化又は故障によりバックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムが失われることを抑制することができる。
これにより、ユーザがプログラマブルコントローラ1のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
実施の形態2.
図3は、実施の形態2にかかるプログラマブルコントローラの構成を示す図である。実施の形態2にかかるプログラマブルコントローラ10は、図1で示した、実施の形態1にかかるプログラマブルコントローラ1と比較すると、メイン基板1aに代えて、メイン基板10aを含む。
メイン基板10aは、実施の形態1のメイン基板1aと比較すると、揮発性半導体記憶部1a3、バッテリ1a4及び電圧センサ1a5を備えていない。従って、プログラマブルコントローラ10では、データ及びプログラムは、RAM1a2にロードされる。
図4は、実施の形態2にかかるプログラマブルコントローラの不揮発性半導体記憶部の構成を示す図である。不揮発性半導体記憶部1a10は、データ又はプログラムを記憶する記憶セル群1a10eと、記憶セル群1a10eへのデータ書込み及び記憶セル群1a10eからのデータ読出しを制御するコントローラ1a10dと、を含む。
記憶セル群1a10eは、フラッシュメモリ(登録商標)が例示される。
記憶セル群1a10e内の各記憶セルは、電荷蓄積部を有している。各記憶セルは、SLC(Single Level Cell)の場合には、電荷蓄積部内の電荷の有無で1ビットのデータを記憶する。
電荷蓄積部への電荷の注入及び抜き出しは、電荷蓄積部を覆う絶縁膜を経由して行われる。絶縁膜は、電荷が通過する都度、消耗、劣化又は故障する。従って、各記憶セルは、データ書込みの都度、消耗、劣化又は故障する。つまり、不揮発性半導体記憶部1a10は、データ書込み回数に関して寿命がある。
不揮発性半導体記憶部1a10は、寿命に達すると、データ又はプログラムの書込みが行えなくなり、データ又はプログラムの保持が行えなくなり、データ又はプログラムの読出しが行えなくなる。
コントローラ1a10dは、一部の記憶セルに書込みが偏らないように、つまり全ての記憶セルに均等に書込みを行うように、記憶セル群1a10eを使用する。また、コントローラ1a10dは、記憶セル群1a10eへのデータ書込み回数をカウント及び保持している。
実施の形態2では、不揮発性半導体記憶部1a10が、本発明のバックアップ対象記憶部に対応する。
また、実施の形態2では、不揮発性半導体記憶部1a10が、本発明の監視対象ハードウェアに対応する。
不揮発性半導体記憶部1a10の初期時のデータ書込み回数は、0である。不揮発性半導体記憶部1a10は、データ書込みの都度、絶縁膜が消耗、劣化又は故障する。従って、不揮発性半導体記憶部1a10のデータ書込み回数は、不揮発性半導体記憶部1a10の消耗、劣化又は故障の度合いを表す値である。
閾値データ1a10cは、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数と比較するための、予め定められた閾値「10万回」を含む。
プログラマブルコントローラ10の動作について、説明する。
実施の形態2にかかるプログラマブルコントローラ10の処理を示すフローチャートは、図2で示した、実施の形態1にかかるプログラマブルコントローラ1の処理を示すフローチャートと同様である。従って、図2を参照して、実施の形態2にかかるプログラマブルコントローラ10の処理を説明する。
状態監視部1a1b1は、ステップS100において、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数を、不揮発性半導体記憶部1a10内のコントローラ1a10dを監視することで、監視する。
状態監視部1a1b1は、ステップS102において、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数が閾値「10万回」に達したか否かを判定する。
状態監視部1a1b1は、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数が閾値「10万回」に達していないと判定したら(No)、処理をステップS100に進める。
状態監視部1a1b1は、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数が閾値「10万回」に達したと判定したら(Yes)、処理をステップS104に進める。
バックアップ処理部1a1b2は、ステップS104において、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込んでバックアップし、処理をステップS100に進める。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「書込み回数が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
実施の形態2にかかるプログラマブルコントローラ10は、次の効果を奏する。
監視対象ハードウェアである不揮発性半導体記憶部1a10は、データ又はプログラムの書込みの都度、絶縁膜が消耗、劣化又は故障する。つまり、不揮発性半導体記憶部1a10は、データ又はプログラムの書込み回数に関して寿命がある。不揮発性半導体記憶部1a10は、寿命に達すると、データ又はプログラムの書込みが行えなくなり、データ又はプログラムの保持が行えなくなり、データ又はプログラムの読出しが行えなくなる。
状態監視部1a1b1は、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数が閾値「10万回」に達したか否かを判定する。
バックアップ処理部1a1b2は、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値であるデータ書込み回数が閾値「10万回」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込む。
これにより、実施の形態2にかかるプログラマブルコントローラ10は、監視対象ハードウェアである不揮発性半導体記憶部1a10の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムをバックアップ記憶部1a6aにバックアップすることができる。
従って、実施の形態2にかかるプログラマブルコントローラ10は、監視対象ハードウェアである不揮発性半導体記憶部1a10の消耗、劣化又は故障によりバックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムが失われることを抑制することができる。
これにより、ユーザがプログラマブルコントローラ10のハードウェア状態を監視してプロジェクトデータ1a10aをバックアップする作業工数を抑制することが可能である。
実施の形態3.
図5は、実施の形態3にかかるプログラマブルコントローラの構成を示す図である。実施の形態3にかかるプログラマブルコントローラ20は、実施の形態1にかかるプログラマブルコントローラ1と比較すると、メイン基板1aに代えて、メイン基板20aを含む。
メイン基板20aは、実施の形態1のメイン基板1aと比較すると、電圧センサ1a5を備えていない。
また、メイン基板20aは、実施の形態1のメイン基板1aと比較すると、メイン基板20aの温度を計測する温度センサ1a11を更に含む。
実施の形態3では、揮発性半導体記憶部1a3又は不揮発性半導体記憶部1a10が、本発明のバックアップ対象記憶部に対応する。
また、実施の形態3では、メイン基板20aが、本発明の監視対象ハードウェアに対応する。
メイン基板20aの温度が上昇するのは、メイン基板20aに実装されている部品の温度が上昇するからである。従って、メイン基板20aに実装されている部品が消耗、劣化又は故障して、部品の温度が部品仕様上の温度を超えて上昇すると、メイン基板20aの温度が製品仕様上の温度を超えて上昇する。従って、メイン基板20aの温度は、メイン基板20aに実装されている部品の消耗、劣化又は故障の度合いを表す値である。
メイン基板20aの温度が製品仕様上の温度を超えると、メイン基板20aの各部又はメイン基板20a上の各部品の消耗、劣化又は故障を招き、揮発性半導体記憶部1a3又は不揮発性半導体記憶部1a10に記憶されているデータ又はプログラムが失われたり、読み出せなくなったりする。
閾値データ1a10cは、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度と比較するための、予め定められた閾値「45℃」を含む。
なお、温度センサ1a11は、メイン基板20a上に実装されても良いし、メイン基板20aを収容している筐体に実装されても良い。筐体内の雰囲気の温度は、メイン基板20aの温度と相関関係がある。従って、温度センサ1a11は、メイン基板20aを収容している筐体に実装されて、筐体内の雰囲気の温度を計測しても良い。
また、温度センサ1a11は、メイン基板20a上に実装される場合は、消耗部品の近傍に実装されても良い。消耗部品は、電解コンデンサが例示される。電解コンデンサは、使用とともに電解液が徐々に失われ、静電容量が低下するので、温度が上昇する。つまり、電解コンデンサは、消耗、劣化又は故障により、温度が上昇する。
温度センサ1a11を消耗部品の近傍に実装するとは、温度センサ1a11と消耗部品との間の距離が、温度センサ1a11と他の部品との間の距離よりも短くなる場所に実装することをいう。
また、温度センサ1a11は、メイン基板20a上に実装される場合は、消耗、劣化又は故障により温度上昇する部品の近傍に実装されても良い。消耗、劣化又は故障により温度上昇する部品は、通信インタフェース1a7が例示される。通信インタフェース1a7は、有線ネットワーク又は無線ネットワーク上に信号を送信するアナログ部品を有するので、消耗、劣化又は故障により、温度が上昇する。アナログ部品は、オペアンプが例示される。
温度センサ1a11を消耗、劣化又は故障により温度上昇する部品の近傍に実装するとは、温度センサ1a11と消耗、劣化又は故障により温度上昇する部品との間の距離が、温度センサ1a11と他の部品との間の距離よりも短くなる場所に実装することをいう。
プログラマブルコントローラ20の動作について、説明する。
実施の形態3にかかるプログラマブルコントローラ20の処理を示すフローチャートは、図2で示した、実施の形態1にかかるプログラマブルコントローラ1の処理を示すフローチャートと同様である。従って、図2を参照して、実施の形態3にかかるプログラマブルコントローラ20の処理を説明する。
状態監視部1a1b1は、ステップS100において、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度を、温度センサ1a11を使用して監視する。
状態監視部1a1b1は、ステップS102において、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度が閾値「45℃」に達したか否かを判定する。
状態監視部1a1b1は、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度が閾値「45℃」に達していないと判定したら(No)、処理をステップS100に進める。
状態監視部1a1b1は、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度が閾値「45℃」に達したと判定したら(Yes)、処理をステップS104に進める。
バックアップ処理部1a1b2は、ステップS104において、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込んでバックアップし、処理をステップS100に進める。または、バックアップ処理部1a1b2は、ステップS104において、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込んでバックアップし、処理をステップS100に進める。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「温度が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
実施の形態3にかかるプログラマブルコントローラ20は、次の効果を奏する。
監視対象ハードウェアであるメイン基板20aに実装されている部品が消耗、劣化又は故障して、部品の温度が部品仕様上の温度を超えて上昇すると、監視対象ハードウェアであるメイン基板20aの温度が製品仕様上の温度を超えて上昇する。
メイン基板20aの温度が製品仕様上の温度を超えると、メイン基板20aの各部又はメイン基板20a上の各部品の消耗、劣化又は故障を招き、揮発性半導体記憶部1a3又は不揮発性半導体記憶部1a10に記憶されているデータ又はプログラムが失われたり、読み出せなくなったりする。
状態監視部1a1b1は、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度が閾値「45℃」に達したか否かを判定する。
バックアップ処理部1a1b2は、監視対象ハードウェアであるメイン基板20aの状態を表す値である温度が閾値「45℃」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込む。または、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込む。
これにより、実施の形態3にかかるプログラマブルコントローラ20は、監視対象ハードウェアであるメイン基板20a上に実装された部品の消耗、劣化又は故障を察知して、バックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムをバックアップ記憶部1a6aにバックアップすることができる。または、実施の形態3にかかるプログラマブルコントローラ20は、監視対象ハードウェアであるメイン基板20a上に実装された部品の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムが失われる前に、バックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムをバックアップ記憶部1a6aにバックアップすることができる。
従って、実施の形態3にかかるプログラマブルコントローラ20は、監視対象ハードウェアであるメイン基板20a上に実装された部品の消耗、劣化又は故障によりバックアップ対象記憶部である揮発性半導体記憶部1a3内のデータ又はプログラムが失われることを抑制することができる。または、実施の形態3にかかるプログラマブルコントローラ20は、監視対象ハードウェアであるメイン基板20a上に実装された部品の消耗、劣化又は故障によりバックアップ対象記憶部である不揮発性半導体記憶部1a10内のデータ又はプログラムが失われることを抑制することができる。
これにより、ユーザがプログラマブルコントローラ20のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
実施の形態4.
図6は、実施の形態4にかかるプログラマブルコントローラの構成を示す図である。実施の形態4にかかるプログラマブルコントローラ30は、実施の形態1にかかるプログラマブルコントローラ1と比較すると、メイン基板1aに代えて、メイン基板30aを含む。
メイン基板30aは、実施の形態1のメイン基板1aと比較すると、揮発性半導体記憶部1a3、バッテリ1a4及び電圧センサ1a5を備えていない。従って、プログラマブルコントローラ30では、データ及び制御プログラム1a10a1は、RAM1a2にロードされる。
メイン基板30aの通信インタフェース1a7は、有線又は無線のネットワークNを介して、外部装置31と通信する。
不揮発性半導体記憶部1a10は、通信インタフェース1a7と外部装置31との間の通信の物理的な設定を表す通信パラメータ1a10fを記憶する。
通信パラメータ1a10fは、通信速度、フレームサイズ、クロックマスタ又はクロックスレーブの区別、MDI(Medium Dependent Interface)又はMDI−X(Medium Dependent Interface Crossover)の区別が例示される。
実施の形態4では、不揮発性半導体記憶部1a10が、本発明のバックアップ対象記憶部に対応する。
また、実施の形態4では、通信インタフェース1a7が、本発明の監視対象ハードウェアに対応する。
通信インタフェース1a7は、有線ネットワーク又は無線ネットワーク上に信号を送信するアナログ部品を有するので、消耗、劣化又は故障する。
通信インタフェース1a7に消耗、劣化又は故障がない場合には、通信インタフェース1a7と外部装置31との間での通信失敗の頻度は、非常に低い。なお、通信インタフェース1a7は、外部装置31との間での通信失敗が発生したら、通信をリトライする。
通信インタフェース1a7に消耗、劣化又は故障がある場合には、通信インタフェース1a7と外部装置31との間での通信失敗の頻度は、上昇する。そして、通信インタフェース1a7と外部装置31との間での通信失敗が複数回連続して発生するようになる。従って、通信インタフェース1a7と外部装置31との間での通信失敗の連続発生回数は、通信インタフェース1a7の消耗、劣化又は故障の度合いを表す値である。
通信インタフェース1a7の消耗、劣化又は故障が更に進行すると、通信インタフェース1a7と外部装置31との間の通信が不能になり、外部装置31が不揮発性半導体記憶部1a10に記憶されている通信パラメータ1a10f又はプロジェクトデータ1a10aを読み出せなくなる。
閾値データ1a10cは、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数と比較するための、予め定められた閾値「3回」を含む。
プログラマブルコントローラ30の動作について、説明する。
実施の形態4にかかるプログラマブルコントローラ30の処理を示すフローチャートは、図2で示した、実施の形態1にかかるプログラマブルコントローラ1の処理を示すフローチャートと同様である。従って、図2を参照して、実施の形態4にかかるプログラマブルコントローラ30の処理を説明する。
状態監視部1a1b1は、ステップS100において、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数を、通信インタフェース1a7を監視することで、監視する。
状態監視部1a1b1は、ステップS102において、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数が閾値「3回」に達したか否かを判定する。
状態監視部1a1b1は、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数が閾値「3回」に達していないと判定したら(No)、処理をステップS100に進める。
状態監視部1a1b1は、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数が閾値「3回」に達したと判定したら(Yes)、処理をステップS104に進める。
バックアップ処理部1a1b2は、ステップS104において、通信パラメータ1a10fを含むデータ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込んでバックアップし、処理をステップS100に進める。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻並びにバックアップの原因「通信連続失敗回数が閾値に到達」を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
実施の形態4にかかるプログラマブルコントローラ30は、次の効果を奏する。
監視対象ハードウェアである通信インタフェース1a7に消耗、劣化又は故障がある場合には、通信インタフェース1a7と外部装置31との間での通信エラーつまり通信失敗の頻度は、上昇する。そして、通信インタフェース1a7と外部装置31との間での通信失敗が複数回連続して発生するようになる。
通信インタフェース1a7の消耗、劣化又は故障が更に進行すると、通信インタフェース1a7と外部装置31との間の通信が不能になり、外部装置31が不揮発性半導体記憶部1a10に記憶されている通信パラメータ1a10fを含むデータ又はプログラムを読み出せなくなる。
状態監視部1a1b1は、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数が閾値「3回」に達したか否かを判定する。
バックアップ処理部1a1b2は、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数が閾値「3回」に達したと状態監視部1a1b1で判定されたら、通信パラメータ1a10fを含むデータ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込む。
これにより、実施の形態4にかかるプログラマブルコントローラ30は、監視対象ハードウェアである通信インタフェース1a7の消耗、劣化又は故障を察知して、バックアップ対象記憶部である不揮発性半導体記憶部1a10内の通信パラメータ1a10fを含むデータ又はプログラムをバックアップ記憶部1a6aにバックアップすることができる。
従って、実施の形態4にかかるプログラマブルコントローラ30は、監視対象ハードウェアである通信インタフェース1a7の消耗、劣化又は故障により不揮発性半導体記憶部1a10内の通信パラメータ1a10fを含むデータ又はプログラムが失われることを抑制できる。
これにより、ユーザがプログラマブルコントローラ30のハードウェア状態を監視してデータ又はプログラムをバックアップする作業工数を抑制できる。
なお、実施の形態4では、監視対象ハードウェアを通信インタフェース1a7としたが、監視対象ハードウェアをUSBインタフェース1a8又はバスインタフェース1a9とし、USB通信連続失敗回数又はバス通信連続失敗回数を監視しても良い。
実施の形態5.
図7は、実施の形態5にかかる制御システムの構成を示す図である。実施の形態5にかかる制御システム40は、プログラマブルコントローラ41と、プログラマブルコントローラ41と通信する外部装置50と、を含む。
プログラマブルコントローラ41は、図1で示した、実施の形態1にかかるプログラマブルコントローラ1と比較すると、メイン基板1aに代えて、メイン基板41aを含む。
メイン基板41aは、実施の形態1のメイン基板1aと比較すると、実施の形態3で説明した温度センサ1a11を、更に含む。
不揮発性半導体記憶部1a10は、実施の形態4で説明した通信パラメータ1a10fを記憶する。
メイン基板41aの通信インタフェース1a7は、有線又は無線のネットワークNを介して、外部装置50と通信する。
図8は、実施の形態5にかかる制御システムの外部装置のハードウェア構成を示す図である。実施の形態5では、外部装置50は、コンピュータである。コンピュータは、CPU51と、RAM52と、ROM(Read Only Memory)53と、記憶部54と、入力部55と、表示部56と、通信インタフェース57と、リムーバブルな記憶部材である記憶部59が挿入されたスロット58と、を含む。CPU51、RAM52、ROM53、記憶部54、入力部55、表示部56、通信インタフェース57及びスロット58は、バスBを介して接続されている。
CPU51は、RAM52を作業領域として使用しながら、ROM53及び記憶部54に記憶されているプログラムを実行する。ROM53に記憶されているプログラムは、BIOS(Basic Input/Output System)又はUEFI(Unified Extensible Firmware Interface)が例示される。記憶部54に記憶されているプログラムは、オペレーティングシステムプログラム及びエンジニアリングツールプログラムが例示される。記憶部54は、SSD又はHDD(Hard Disk Drive)が例示される。
入力部55は、ユーザからの操作入力を受け付ける。入力部55は、キーボード又はマウスが例示される。表示部56は、文字及び画像を表示する。表示部56は、液晶表示装置が例示される。通信インタフェース57は、プログラマブルコントローラ41と通信を行う。
図9は、実施の形態5にかかる制御システムの外部装置の機能ブロックを示す図である。記憶部54は、エンジニアリングツールプログラム54aを記憶する。CPU51がエンジニアリングツールプログラム54aを実行することで、エンジニアリングツール部51aが実現される。
エンジニアリングツールプログラム54aは、ユーザからの入力に基づいてプロジェクトデータ1a10aを作成してプログラマブルコントローラ41に送信するプロジェクトデータ作成プログラム54a1を含む。
CPU51がプロジェクトデータ作成プログラム54a1を実行することで、ユーザからの入力に基づいてプロジェクトデータ1a10aを作成してプログラマブルコントローラ41に送信するプロジェクトデータ作成部51a1が実現される。
エンジニアリングツールプログラム54aは、ユーザからの入力に基づいてバックアッププログラム1a10bを作成してプログラマブルコントローラ41に送信するバックアッププログラム作成プログラム54a2を含む。
CPU51がバックアッププログラム作成プログラム54a2を実行することで、ユーザからの入力に基づいてバックアッププログラム1a10bを作成してプログラマブルコントローラ41に送信するバックアッププログラム作成部51a2が実現される。
エンジニアリングツールプログラム54aは、ユーザからの入力に基づいて閾値データ1a10cを作成してプログラマブルコントローラ41に送信する閾値データ作成プログラム54a3を含む。
CPU51が閾値データ作成プログラム54a3を実行することで、ユーザからの入力に基づいて閾値データ1a10cを作成してプログラマブルコントローラ41に送信する閾値データ作成部51a3が実現される。
閾値データ作成プログラム54a3は、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の監視対象ハードウェアの状態を夫々判定するための1つ又は複数の閾値と、を対応付けて入力するための入力画面を表示する入力画面表示プログラム54a3aを含む。
CPU51が入力画面表示プログラム54a3aを実行することで、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の監視対象ハードウェアの状態を夫々判定するための1つ又は複数の閾値と、を対応付けて入力するための入力画面を表示する入力画面表示部51a3aが実現される。
閾値データ作成プログラム54a3は、入力画面への入力を受け付ける入力受付プログラム54a3bを含む。
CPU51が閾値データ作成プログラム54a3を実行することで、入力画面への入力を受け付ける入力受付部51a3bが実現される。
閾値データ作成プログラム54a3は、入力受付部51a3bで受け付けられた入力に基づいて、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の閾値と、を対応付けて有する閾値データ1a10cを作成する作成プログラム54a3cを含む。
CPU51が閾値データ作成プログラム54a3を実行することで、入力受付部51a3bで受け付けられた入力に基づいて、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の閾値と、を対応付けて有する閾値データ1a10cを作成する作成部51a3cが実現される。
閾値データ作成プログラム54a3は、作成部51a3cで作成された閾値データ1a10cをプログラマブルコントローラ41に送信する送信プログラム54a3dを含む。
CPU51が送信プログラム54a3dを実行することで、作成部51a3cで作成された閾値データ1a10cをプログラマブルコントローラ41に送信する送信部51a3dが実現される。
制御システム40の動作について、説明する。
図10は、実施の形態5にかかる制御システムの外部装置の処理を示すフローチャートである。
入力画面表示部51a3aは、ステップS200において、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の監視対象ハードウェアの状態を夫々判定するための1つ又は複数の閾値と、を対応付けて入力するための入力画面を表示部56に表示する。
入力受付部51a3bは、ステップS202において、入力画面への入力を受け付ける。
図11は、実施の形態5にかかる制御システムの外部装置の表示部の表示面を示す図である。表示部56の表示面56a内には、入力画面60が、入力画面表示部51a3aにより表示されている。入力画面60は、現在から作成される閾値データ1a10cを送信する対象であるプログラマブルコントローラ41を一意に特定する情報を入力するための接続情報入力部61と、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の閾値と、を対応付けて入力するためのバックアップ設定入力部62と、を含む。
接続情報入力部61は、プログラマブルコントローラ41の製造シリアル番号を入力する製造シリアル番号入力欄61aと、プログラマブルコントローラ41のIPv4(Internet Protocol version4)アドレスを入力するためのIPアドレス入力欄61bと、プログラマブルコントローラ41の形名を入力するための形名入力欄61cと、を有する。
バックアップ設定入力部62は、4つの監視対象ハードウェアの監視の要否と、4つの閾値と、を対応付けて入力するための設定入力欄62a,62b,62c及び62dを有する。
製造シリアル番号入力欄61aには、プログラマブルコントローラ41の製造シリアル番号である「120300****」がユーザによって入力されている。
IPアドレス入力欄61bには、プログラマブルコントローラ41のIPv4アドレスである「192.168.0.1」がユーザによって入力されている。
形名入力欄61cには、プログラマブルコントローラ41の形名である「R08CPU」がユーザによって入力されている。
設定入力欄62aは、監視対象ハードウェアであるバッテリ1a4の監視の要否を入力する要否入力欄62a1を有する。
要否入力欄62a1には、監視対象ハードウェアであるバッテリ1a4の監視を行うことを表す「要」がユーザによって入力されている。
設定入力欄62aは、監視対象ハードウェアであるバッテリ1a4の状態を判定するための閾値を入力する閾値入力欄62a2を有する。
閾値入力欄62a2には、監視対象ハードウェアであるバッテリ1a4の状態を判定するための、バッテリ1a4の電圧の閾値「1.2V」がユーザによって入力されている。
設定入力欄62bは、監視対象ハードウェアである不揮発性半導体記憶部1a10の監視の要否を入力する要否入力欄62b1を有する。
要否入力欄62b1には、監視対象ハードウェアである不揮発性半導体記憶部1a10の監視を行うことを表す「要」がユーザによって入力されている。
設定入力欄62bは、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を判定するための閾値を入力する閾値入力欄62b2を有する。
閾値入力欄62b2には、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を判定するための、不揮発性半導体記憶部1a10への書込み回数の閾値「10万回」がユーザによって入力されている。
設定入力欄62cは、監視対象ハードウェアであるメイン基板41aの監視の要否を入力する要否入力欄62c1を有する。
要否入力欄62c1には、監視対象ハードウェアであるメイン基板41aの監視を行わないことを表す「否」がユーザによって入力されている。
設定入力欄62cは、監視対象ハードウェアであるメイン基板41aの状態を判定するための閾値を入力する閾値入力欄62c2を有する。
閾値入力欄62c2には、監視対象ハードウェアであるメイン基板41aの監視を行わないので、メイン基板41aの状態を判定するための閾値がユーザによって入力されていない。
設定入力欄62dは、監視対象ハードウェアである通信インタフェース1a7の監視の要否を入力する要否入力欄62d1を有する。
要否入力欄62d1には、監視対象ハードウェアである通信インタフェース1a7の監視を行うことを表す「要」がユーザによって入力されている。
設定入力欄62dは、監視対象ハードウェアである通信インタフェース1a7の状態を判定するための閾値を入力する閾値入力欄62d2を有する。
閾値入力欄62d2には、監視対象ハードウェアである通信インタフェース1a7の状態を判定するための、通信インタフェース1a7の通信連続失敗回数の閾値「3回」がユーザによって入力されている。
再び図10を参照すると、作成部51a3cは、ステップS204において、入力受付部51a3bで受け付けられた入力に基づいて、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の閾値と、を対応付けて有する閾値データ1a10cを作成する。
送信部51a3dは、ステップS206において、作成部51a3cで作成された閾値データ1a10cをプログラマブルコントローラ41に送信する。プログラマブルコントローラ41のCPU1a1は、閾値データ1a10cを外部装置50から受信したら、受信した閾値データ1a10cを不揮発性半導体記憶部1a10に書き込む。
プログラマブルコントローラ41のCPU1a1は、実施の形態1で説明した図2のフローチャートで示される処理を実行する。
プログラマブルコントローラ41の状態監視部1a1b1は、外部装置50から受信した閾値データ1a10cに基づいて、監視対象ハードウェアであるバッテリ1a4の状態を表す値である電圧を監視して、電圧が閾値「1.2V」に達したか否かを判定する。プログラマブルコントローラ41のバックアップ処理部1a1b2は、バッテリ1a4の電圧が閾値「1.2V」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込んでバックアップする。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「バッテリ電圧が閾値まで低下」、並びに、プログラマブルコントローラ41の製造シリアル番号、IPv4アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
プログラマブルコントローラ41の状態監視部1a1b1は、外部装置50から受信した閾値データ1a10cに基づいて、監視対象ハードウェアである不揮発性半導体記憶部1a10の状態を表す値である書込み回数を監視して、書込み回数が閾値「10万回」に達したか否かを判定する。プログラマブルコントローラ41のバックアップ処理部1a1b2は、不揮発性半導体記憶部1a10の書込み回数が閾値「10万回」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10から読み出してバックアップ記憶部1a6aに書き込む。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「書込み回数が閾値に到達」、並びに、プログラマブルコントローラ41の製造シリアル番号、IPv4アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
プログラマブルコントローラ41の状態監視部1a1b1は、外部装置50から受信した閾値データ1a10cに基づいて、監視対象ハードウェアであるメイン基板41aの状態を表す値である温度の監視を行わない。
プログラマブルコントローラ41の状態監視部1a1b1は、外部装置50から受信した閾値データ1a10cに基づいて、監視対象ハードウェアである通信インタフェース1a7の状態を表す値である通信連続失敗回数を監視して、通信連続失敗回数が閾値「3回」に達したか否かを判定する。プログラマブルコントローラ41のバックアップ処理部1a1b2は、通信インタフェース1a7の通信連続失敗回数が閾値「3回」に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部である不揮発性半導体記憶部1a10又は揮発性半導体記憶部1a3から読み出してバックアップ記憶部1a6aに書き込む。
なお、バックアップ処理部1a1b2は、データ又はプログラムをバックアップ記憶部1a6aに書き込んでバックアップする際に、バックアップの日付及び時刻、バックアップの原因「通信連続失敗回数が閾値に到達」、並びに、プログラマブルコントローラ41の製造シリアル番号、IPv4アドレス及び形名を、データ又はプログラムに付帯させて、バックアップ記憶部1a6aに書き込んでバックアップすると好適である。
実施の形態5にかかる制御システム40は、次の効果を奏する。
制御システム40は、1つ又は複数の監視対象ハードウェアの監視の要否と、1つ又は複数の監視対象ハードウェアの状態を夫々判定するための1つ又は複数の閾値と、を対応付けた閾値データ1a10cを作成できる。
これにより、制御システム40は、ハードウェアの不要な監視を抑制して、プログラマブルコントローラ41の処理負荷を抑制できる。また、制御システム40は、ハードウェアの不要な監視を抑制して、バックアップ記憶部1a6aの使用領域を抑制できる。
また、制御システム40は、監視対象ハードウェアが複数ある場合に、複数の監視対象ハードウェアの監視の要否と、複数の監視対象ハードウェアの状態を夫々判定するための複数の閾値と、の入力を直感的に行うことを可能にできる。これにより、制御システム40は、複数の監視対象ハードウェアの監視の要否と、複数の監視対象ハードウェアの状態を夫々判定するための複数の閾値と、の入力を漏れなく、容易に行うことを可能にできる。
なお、実施の形態5では、外部装置50はコンピュータとしたが、外部装置50はプログラマブル表示器(JIS B 3551:2012、programmable display)であっても良い。
また、実施の形態5では、外部装置50が、閾値データ1a10cをプログラマブルコントローラ41に送信することとした。しかし、外部装置50が、閾値データ1a10cをリムーバブルな記憶部59に書き込み、ユーザが記憶部59を外部装置50から取り出して、プログラマブルコントローラ41のスロット1a6に挿入することとしても良い。
これにより、外部装置50とプログラマブルコントローラ41とが通信できない場合であっても、プログラマブルコントローラ41が閾値データ1a10cを使用できる。
また、実施の形態5では、外部装置50が閾値データ1a10cを作成することとしたが、これに限定されない。
図12は、実施の形態5の他の制御システムの例にかかるプログラマブルコントローラの構成を示す図である。実施の形態5の他の例にかかるプログラマブルコントローラ70は、プログラマブルコントローラ41と比較すると、メイン基板41aに代えて、メイン基板70aを含む。
メイン基板71aは、実施の形態5のメイン基板41aと比較すると、文字及び画像を表示する表示部1a12と、ユーザからの操作入力を受け付ける入力部1a13と、を更に含む。表示部1a12は、液晶表示装置が例示される。入力部1a13は、物理ボタン又はタッチパネルが例示される。
不揮発性半導体記憶部1a10内のバックアッププログラム1a10bは、閾値データ作成プログラム1a10b3を更に含む。CPU1a1が閾値データ作成プログラム1a10b3を実行することで、閾値データ作成部1a1b3が実現される。
プログラマブルコントローラ70は、外部装置50との通信ができない工場建屋内でも閾値データ1a10cを作成できる。また、プログラマブルコントローラ70は、外部装置50を不要にできる。これにより、プログラマブルコントローラ70は、コストを抑制できる。
実施の形態6.
図13は、実施の形態6にかかる制御システムの構成を示す図である。実施の形態6にかかる制御システム80は、マスタとして動作する1つのマスタプログラマブルコントローラ81と、スレーブとして動作する複数のスレーブプログラマブルコントローラ82及び83と、を含む。マスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83は、有線又は無線のネットワークNを介して通信可能である。
実施の形態6では、スレーブとして動作するスレーブプログラマブルコントローラは2個としたが、スレーブとして動作するスレーブプログラマブルコントローラは1個としても良いし、2個より多くても良い。
図14は、実施の形態6にかかる制御システムのマスタプログラマブルコントローラの構成を示す図である。実施の形態6にかかる制御システム80のマスタプログラマブルコントローラ81は、メイン基板81aを含む。
マスタプログラマブルコントローラ81の不揮発性半導体記憶部1a10内のバックアッププログラム1a10bは、スレーブプログラマブルコントローラ82又は83からデータ又はプログラムを受信してバックアップ記憶部1a6aに書き込んでバックアップする他装置バックアップ管理プログラム1a10b4を、更に含む。
マスタプログラマブルコントローラ81のCPU1a1が他装置バックアップ管理プログラム1a10b4を実行することで、スレーブプログラマブルコントローラ82又は83からデータ又はプログラムを受信してバックアップ記憶部1a6aに書き込んでバックアップする他装置バックアップ管理部1a1b4が実現される。
図15は、実施の形態6にかかる制御システムのマスタプログラマブルコントローラのバックアップ記憶部の内容を示す図である。
マスタプログラマブルコントローラ81のバックアップ処理部1a1b2は、監視対象ハードウェアの状態を表す値が閾値に達したと状態監視部1a1b1で判定されたら、データ又はプログラムをバックアップ対象記憶部から読み出して、バックアップ記憶部1a6a内に自装置バックアップデータ又はプログラム1a6a1を書き込んでバックアップする。
マスタプログラマブルコントローラ81の他装置バックアップ管理部1a1b4は、スレーブプログラマブルコントローラ82からデータ又はプログラムを受信したら、バックアップ記憶部1a6a内にスレーブバックアップデータ又はプログラム1a6a2を書き込んでバックアップする。
マスタプログラマブルコントローラ81の他装置バックアップ管理部1a1b4は、スレーブプログラマブルコントローラ83からデータ又はプログラムを受信したら、バックアップ記憶部1a6a内にスレーブバックアップデータ又はプログラム1a6a3を書き込んでバックアップする。
図16は、実施の形態6にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図である。実施の形態6にかかる制御システム80のスレーブプログラマブルコントローラ82は、メイン基板82aを含む。
スレーブプログラマブルコントローラ82の不揮発性半導体記憶部1a10内のバックアッププログラム1a10bは、バックアップ記憶部1a6aにバックアップしたデータ又はプログラムを、マスタプログラマブルコントローラ81に送信するバックアップ送信プログラム1a10b5を、更に含む。
スレーブプログラマブルコントローラ82のCPU1a1がバックアップ送信プログラム1a10b5を実行することで、バックアップ記憶部1a6aにバックアップしたデータ又はプログラムを、マスタプログラマブルコントローラ81に送信するバックアップ送信部1a1b5が実現される。
スレーブプログラマブルコントローラ83の構成は、スレーブプログラマブルコントローラ82の構成と同様であるので、図示及び説明を省く。
スレーブプログラマブルコントローラ82の動作について、説明する。
図17は、実施の形態6にかかる制御システムのスレーブプログラマブルコントローラの処理を示すフローチャートである。スレーブプログラマブルコントローラ82のバックアップ送信部1a1b5は、バックアップ処理部1a1b2がデータ又はプログラムをバックアップ記憶部1a6aにバックアップしたら、図17に示す処理を実行する。
スレーブプログラマブルコントローラ82のバックアップ送信部1a1b5は、ステップS300において、バックアップ処理部1a1b2がバックアップしたデータ又はプログラムをバックアップ記憶部1a6aから読み出して、マスタプログラマブルコントローラ81に送信し、処理を終了する。
図18は、実施の形態6にかかる制御システムのマスタプログラマブルコントローラの処理を示すフローチャートである。
マスタプログラマブルコントローラ81の他装置バックアップ管理部1a1b4は、ステップS400において、データ又はプログラムをスレーブプログラマブルコントローラ82から受信する。
他装置バックアップ管理部1a1b4は、ステップS402において、送信元のスレーブプログラマブルコントローラ82のスレーブバックアップデータ又はプログラム1a6a2がバックアップ記憶部1a6a内に既にあるか否かを判定する。
他装置バックアップ管理部1a1b4は、ステップS402でスレーブプログラマブルコントローラ82のスレーブバックアップデータ又はプログラム1a6a2がバックアップ記憶部1a6a内にないと判定したら(No)、ステップS404において、受信したデータ又はプログラムをスレーブバックアップデータ又はプログラム1a6a2としてバックアップ記憶部1a6aに書き込んでバックアップする。
他装置バックアップ管理部1a1b4は、ステップS402でスレーブプログラマブルコントローラ82のスレーブバックアップデータ又はプログラム1a6a2がバックアップ記憶部1a6a内に既にあると判定したら(Yes)、ステップS406において、受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム1a6a2との間に差分があるか否かを判定する。
他装置バックアップ管理部1a1b4は、ステップS406で受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム1a6a2との間に差分がないと判定したら(No)、処理を終了する。
他装置バックアップ管理部1a1b4は、ステップS406で受信したデータ又はプログラムとスレーブバックアップデータ又はプログラム1a6a2との間に差分があると判定したら(Yes)、ステップS408において、差分をバックアップ記憶部1a6aに書き込んでバックアップし、処理を終了する。なお、この際、他装置バックアップ管理部1a1b4は、バックアップ管理部1a1b4内に既にあるスレーブバックアップデータ又はプログラム1a6a2の内の差分に相当する部分だけに差分を上書きし、バックアップ管理部1a1b4内に既にあるスレーブバックアップデータ又はプログラム1a6a2の内の差分に相当しない部分を上書きしないでそのままにすると好適である。
実施の形態6にかかる制御システム80は、次の効果を奏する。
制御システム80は、マスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムを、マスタプログラマブルコントローラ81に集約できる。
従って、ユーザは、マスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムを回収するために、マスタプログラマブルコントローラ81だけに行けばよい。
これにより、制御システム80は、ユーザがマスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムを回収するためにマスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83の設置場所を巡回する作業を抑制することができ、ユーザの作業工数を抑制できる。
また、制御システム80は、マスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムをマスタプログラマブルコントローラ81に集約しているので、マスタプログラマブルコントローラ81並びにスレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムの保守性を向上できる。
また、制御システム80は、スレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムをマスタプログラマブルコントローラ81に集約しているので、スレーブプログラマブルコントローラ82又は83の破損時でも、スレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムをマスタプログラマブルコントローラ81で回収できるので、スレーブプログラマブルコントローラ82及び83のバックアップデータ又はプログラムが失われることを抑制できる。
実施の形態7.
図19は、実施の形態7にかかる制御システムの構成を示す図である。実施の形態7にかかる制御システム90は、外部装置91と、マスタとして動作する1つのマスタプログラマブルコントローラ92と、スレーブとして動作する複数のスレーブプログラマブルコントローラ93及び94と、を含む。外部装置91、マスタプログラマブルコントローラ92並びにスレーブプログラマブルコントローラ93及び94は、有線又は無線のネットワークNを介して通信可能である。
実施の形態7では、スレーブとして動作するスレーブプログラマブルコントローラは2個としたが、スレーブとして動作するスレーブプログラマブルコントローラは1個としても良いし、2個より多くても良い。
実施の形態7では、外部装置91は、コンピュータである。コンピュータのハードウェア構成は、図8で示した、実施の形態5にかかる外部装置50のハードウェア構成と同様であるので、図示及び説明を省く。
図20は、実施の形態7にかかる制御システムの外部装置の機能ブロックを示す図である。エンジニアリングツールプログラム54aは、図9で示した、実施の形態5の外部装置50と比較して、リストア制御プログラム54a4を更に含む。
CPU51がリストア制御プログラム54a4を実行することで、リストア制御部51a4が実現される。
リストア制御プログラム54a4は、マスタプログラマブルコントローラ92のバックアップ記憶部1a6aにバックアップされているデータ又はプログラムのリストを、マスタプログラマブルコントローラ92に要求するリスト要求プログラム54a4aを含む。
CPU51がリスト要求プログラム54a4aを実行することで、マスタプログラマブルコントローラ92のバックアップ記憶部1a6aにバックアップされているデータ又はプログラムのリストを、マスタプログラマブルコントローラ92に要求するリスト要求部51a4aが実現される。
リストア制御プログラム54a4は、リスト要求部51a4aで受信したデータ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示プログラム54a4bを含む。
CPU51が一覧表示プログラム54a4bを実行することで、リスト要求部51a4aで受信したデータ又はプログラムのリストを一覧表示する一覧表示画面を表示する一覧表示部51a4bが実現される。
リストア制御プログラム54a4は、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を一覧表示画面内で受け付けるリストア入力受付プログラム54a4cを含む。
CPU51がリストア入力受付プログラム54a4cを実行することで、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラを一意に特定する情報の入力を一覧表示画面内で受け付けるリストア入力受付部51a4cが実現される。
リストア制御プログラム54a4は、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラを一意に特定する情報を、スレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラに送信するリストア要求送信プログラム54a4dを含む。
CPU51が一覧表示プログラム54a4dを実行することで、リストア対象のデータ又はプログラム並びにスレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラを一意に特定する情報を、スレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラに送信するリストア要求送信部51a4dが実現される。
図21は、実施の形態7にかかる制御システムのマスタプログラマブルコントローラの構成を示す図である。実施の形態7にかかる制御システム90のマスタプログラマブルコントローラ92は、メイン基板92aを含む。
実施の形態7にかかるマスタプログラマブルコントローラ92は、図14で示した、実施の形態6にかかるマスタプログラマブルコントローラ81と比較すると、バックアッププログラム1a10bが、リストア対象のデータ又はプログラムをバックアップ記憶部1a6aから読み出して、スレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラに送信するリストア管理プログラム1a10b6を、更に含む。
マスタプログラマブルコントローラ92のCPU1a1がリストア管理プログラム1a10b6を実行することで、リストア対象のデータ又はプログラムをバックアップ記憶部1a6aから読み出して、スレーブプログラマブルコントローラ93又は94の内のリストア先のプログラマブルコントローラに送信するリストア管理部1a1b6が実現される。
図22は、実施の形態7にかかる制御システムのスレーブプログラマブルコントローラの構成を示す図である。実施の形態7にかかる制御システム90のスレーブプログラマブルコントローラ93は、メイン基板93aを含む。
実施の形態7にかかるスレーブプログラマブルコントローラ93は、図16で示した、実施の形態6にかかるスレーブプログラマブルコントローラ82と比較すると、バックアッププログラム1a10bが、リストア対象のデータ又はプログラムをマスタプログラマブルコントローラ92から受信して、バックアップ記憶部1a6a又は不揮発性半導体記憶部1a10に書き込んでリストアするリストア処理プログラム1a10b7を、更に含む。
スレーブプログラマブルコントローラ93のCPU1a1がリストア処理プログラム1a10b7を実行することで、リストア対象のデータ又はプログラムをマスタプログラマブルコントローラ92から受信して、バックアップ記憶部1a6a又は不揮発性半導体記憶部1a10に書き込んでリストアするリストア処理部1a1b7が実現される。
制御システム90の動作について、説明する。
図23は、実施の形態7にかかる制御システムの処理を示すシーケンス図である。
外部装置91のリスト要求部51a4aは、ステップS500において、マスタプログラマブルコントローラ92のバックアップ記憶部1a6aにバックアップされているバックアップデータ又はプログラムのリストを、マスタプログラマブルコントローラ92に要求する。
マスタプログラマブルコントローラ92のリストア管理部1a1b6は、ステップS510において、バックアップ記憶部1a6aにバックアップされているバックアップデータ又はプログラムのリストを、外部装置91に送信する。
外部装置91の一覧表示部51a4bは、ステップS502において、リスト要求部51a4aで受信したバックアップデータ又はプログラムのリストを、表示部56の表示面に一覧表示する。
図24は、実施の形態7にかかる制御システムの外部装置の表示部の表示面を示す図である。表示部56の表示面56b内には、一覧表示画面100が、一覧表示部51a4bにより表示されている。一覧表示画面100は、マスタプログラマブルコントローラ92のバックアップ記憶部1a6aにバックアップされているバックアップデータ又はプログラムの情報を表示するバックアップデータ情報表示部101と、バックアップデータ又はプログラムをリストアするリストア先のスレーブプログラマブルコントローラを一意に特定する情報を入力するリストア先入力部102と、を含む。
接続情報入力部61は、バックアップ元のスレーブプログラマブルコントローラの製造シリアル番号を表示する製造シリアル番号表示欄101aと、バックアップ元のスレーブプログラマブルコントローラのIPv4アドレスを表示するためのIPアドレス表示欄101bと、バックアップ元のスレーブプログラマブルコントローラの形名を表示するための形名表示欄101cと、バックアップされた日付を表示する日付表示欄101dと、バックアップされた時刻を表示する時刻表示欄101eと、バックアップのトリガとなった監視対象ハードウェアの状態を表示するトリガ表示欄101fと、を含む。
図24では、行103から行107までの計5つのバックアップデータが一覧表示されている。
リストア先入力部102は、リストア先のスレーブプログラマブルコントローラの製造シリアル番号を入力する製造シリアル番号入力欄102aと、リストア先のスレーブプログラマブルコントローラのIPv4アドレスを入力するIPアドレス入力欄102bと、を含む。
再び図23を参照すると、外部装置91のリストア入力受付部51a4cは、ステップS504において、リストア対象のバックアップデータ又はプログラム並びにリストア先のスレーブプログラマブルコントローラを一意に特定する情報の入力を、一覧表示画面100内で受け付ける。
再び図24を参照すると、行103の製造シリアル番号入力欄102aには、製造シリアル番号「140300****」がユーザによって入力され、行103のIPアドレス入力欄102bには、IPv4アドレス「192.168.0.52」がユーザによって入力されている。従って、行103にリスト表示されたバックアップデータ又はプログラムが、製造シリアル番号「140300****」且つIPv4アドレス「192.168.0.52」であるスレーブプログラマブルコントローラにリストアされる。
また、行105の製造シリアル番号入力欄102aには、製造シリアル番号「140300****」がユーザによって入力され、行105のIPアドレス入力欄102bには、IPv4アドレス「192.168.0.52」がユーザによって入力されている。従って、行105にリスト表示されたバックアップデータ又はプログラムが、製造シリアル番号「140300****」且つIPv4アドレス「192.168.0.52」であるスレーブプログラマブルコントローラにリストアされる。
ユーザは、一覧表示画面100への情報入力が終わったら、実行ボタン110をクリックする。外部装置91のリストア入力受付部51a4cは、実行ボタン110がユーザによってクリックされたら、情報の入力の受け付けを終了する。
再び図23を参照すると、外部装置91のリストア要求送信部51a4dは、ステップS506において、リストア対象のバックアップデータ又はプログラム並びにリストア先のスレーブプログラマブルコントローラを一意に特定する情報を、マスタプログラマブルコントローラ92に送信する。
マスタプログラマブルコントローラ92のリストア管理部1a1b6は、ステップS512において、リストア対象のバックアップデータ又はプログラムをバックアップ記憶部1a6aから読み出して、リストア先のスレーブプログラマブルコントローラに送信する。
リストア先のスレーブプログラマブルコントローラのリストア処理部1a1b7は、ステップS520において、受信したリストア対象のバックアップデータ又はプログラムを、不揮発性半導体記憶部1a10及びバックアップ記憶部1a6aに書き込んでリストアする。
実施の形態7にかかる制御システム90は、次の効果を奏する。
制御システム90は、バックアップデータ又はプログラムのリストを、一覧表示画面100内に一覧表示する。これにより、制御システム90は、ユーザがリストを見ながらリストア対象のバックアップデータ又はプログラムを適切に選択することを、可能にできる。
また、制御システム90は、ユーザが外部装置91を操作するだけで、ユーザがマスタプログラマブルコントローラ92又はリストア先のスレーブプログラマブルコントローラの設置場所に行かなくても、スレーブプログラマブルコントローラのリストアを行うことを可能にできる。これにより、制御システム90は、ユーザの作業工数を抑制することができる。制御システム90は、リストア先のスレーブプログラマブルコントローラが複数ある場合に、ユーザの作業工数を好適に抑制できる。
なお、実施の形態7では、外部装置91はコンピュータとしたが、外部装置91はプログラマブル表示器であっても良い。
また、実施の形態7では、外部装置91がリストア入力を受け付けることとしたが、これに限定されない。マスタプログラマブルコントローラ92が、図12で示した、表示部1a12及び入力部1a13を備えて、リストア制御プログラム54a4を実行することとしても良い。これにより、制御システム90は、外部装置91を不要にできるので、コストを抑制できる。マスタプログラマブルコントローラ92が表示部1a12及び入力部1a13を備えてリストア制御プログラム54a4を実行する場合は、リスト要求プログラム54a4a及びリストア要求送信プログラム54a4dは不要である。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。