(57)【要約】【課題】通信モジュールに異常が発生した場合に、ＣＰＵモジュールで検出して確実に再起動を行う監視装置および監視装置の制御方法を提供する。【解決手段】子局監視装置の通信モジュール内のチェックプログラムが定期的に、ＣＰＵモジュール内のメモリの値を更新し、通信モジュール内のチェックプログラムまたは、ＯＳに異常が生じた時に、その更新が止まることを利用して、ＣＰＵモジュールのユーザープログラムが通信モジュールにリセット信号を送って再起動して自動でソフトウェアの異常から復旧する。通信モジュールの再起起動時に、モニタデータをＣＰＵモジュールからと制御データを中央の監視装置から読み取ることで、モニタデータと制御データがゼロリセットすることを防ぐ。子局通信モジュール動作継続時間を中央に送信することにより、子局の通信モジュールが再起動したことを中央からモニタする。【選択図】図５
2013055530.tif 000002
【特許請求の範囲】
【請求項１】
監視対象からの運転状態を示すモニタデータが入力される入力モジュールと、前記入力モジュールからの信号を処理するＣＰＵモジュールと、中央側と接続されるネットワークと情報の送受信を行う通信モジュールと、前記各モジュールを接続するデータバスとを備える監視装置において、
前記ＣＰＵモジュールは、チェック用の書き込みメモリと、前記モニタデータを保存するモニタデータメモリと、中央側の制御データを保存する制御データメモリを備え、
前記通信モジュールは、アプリケーションの動作に基いて値が更新されるプログラムの書き込みメモリと、上記動作に基いて前記ＣＰＵモジュールのチェック用の書き込みメモリの値を更新するチェックプログラムを備え、
前記ＣＰＵモジュールは、前記チェック用の書き込みメモリの更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする監視装置。
【請求項２】
請求項１に記載の監視装置において、
前記通信モジュールは、前記ＣＰＵモジュールから送信された再起動の指令を内部のＣＰＵに伝えるロジックデバイスを備えたことを特徴とする監視装置。
【請求項３】
請求項１または２に記載の監視装置において、
通信モジュールは、再起動した後に前記ＣＰＵモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置。
【請求項４】
請求項１〜３のいずれかに記載の監視装置において、
前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に０にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置。
【請求項５】
ＣＰＵモジュールで監視対象からの運転状態を示すモニタデータを処理し、通信モジュールでネットワークで中央側との情報の送受信を行う監視装置の制御方法において、
前記通信モジュールは、チェックプログラムによりアプリケーションの正常動作に基いて前記ＣＰＵモジュールのチェック用の書き込みメモリの値を更新し、
前記ＣＰＵモジュールは、チェック用の書き込みメモリの値の更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする監視装置の制御方法。
【請求項６】
請求項５に記載の監視装置の制御方法において、
前記通信モジュールは、前記ＣＰＵモジュールから送信される再起動の指令を内部のロジックデバイスを通じて受信することを特徴とする監視装置の制御方法。
【請求項７】
請求項５または６に記載の監視装置の制御方法において、
通信モジュールは、再起動した後に前記ＣＰＵモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置の制御方法。
【請求項８】
請求項５〜７のいずれかに記載の監視装置の制御方法において、
前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に０にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央監視装置と遠隔地に設置する子局を通信で接続するテレメータシステムとテレメータシステムを利用する監視装置に係り、上下水道の給水設備と配水設備、産業用の生産設備等を遠隔監視して制御する監視装置および監視装置の制御方法に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特開２００７−３２４７０２号公報（特許文献１）がある。特急文献１には、ルーターやモデムを使用してネットワークを利用した監視システムにおいて、ルーターの内部データを監視装置に取り込み、通信異常に自動で対処すると、記載されている。
【０００３】
そして、通信モジュールで通信モジュールの動作状態が正常かどうかを判定するプログラムが動作して通信モジュールのステータスを作成し、このステータスをＣＰＵモジュールにデータバスを介して送信する。ＣＰＵモジュールは、このステータスに基き、通信モジュールが正常であるステータスの場合にモデムをリセットし、通信モジュールが異常であるステータスの場合に通信モジュールをリセットするように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】２００７−３２４７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記特許文献１では、上記したように通信モジュールが出力するステータスによってＣＰＵモジュールがリセットを実行しており、通信モジュールの動作状態が正常かどうかの判定を通信モジュールが行っている。しかしながら、通信モジュール自体に異常が発生した場合に、通信モジュールで正しいステータスを作成できないので、ＣＰＵモジュールがリセットすべき対象が分からなくなる。 
このような監視装置には、通信モジュールとＣＰＵモジュールなどのソフトウェアが動作するモジュールを含んでいるが、それらのモジュールのソフトウェアが異常になり停止する場合がある。そして、それらのソフトウェアの基盤となっているＯＳに異常が発生した場合に、自動で異常処理を実行して通信を継続することができない。
【０００６】
特に、他のモジュールと比べて通信モジュールには、ネットワークで通信するための高機能なＯＳを搭載しているため、ソフトウェアに予期できない異常が発生し、通信モジュールのソフトウェアが停止してしまう場合がある。また、高機能なＯＳでは複数のプログラムが並行して動作しており、通信システムに生じる様々な例外的な事象にソフトウェアがどのように反応するかを事前に全て把握し、対策することが非常に困難である。
【０００７】
通信モジュール内には、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）というＩＣがあり、ＦＰＧＡ内にプログラムするハードウェア回路で条件処理をすることができる。しかし、プログラムの停止を検出するためには、数秒程度の時間の間、プログラムが動作していないことを検出することが必要であり、ＦＰＧＡで数秒程度のタイマを構成することが必要となる。しかし、ＦＰＧＡで数秒間のタイマを作成するためには、数秒間の間のクロック数を厳密に測定するためのハードウェア回路が必要となり、そのために膨大なメモリを必要とするため、そのようなタイマを作成することができない。
【０００８】
本発明は、上記従来の問題点にかんがみ、通信モジュールに異常が発生した場合に、ＣＰＵモジュールで検出して確実に再起動を行う監視装置および監視装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、監視対象からの運転状態を示すモニタデータが入力される入力モジュールと、前記入力モジュールからの信号を処理するＣＰＵモジュールと、中央側と接続されるネットワークと情報の送受信を行う通信モジュールと、前記各モジュールを接続するデータバスとを備える監視装置において、
前記ＣＰＵモジュールは、チェック用の書き込みメモリと、前記モニタデータを保存するモニタデータメモリと、中央側の制御データを保存する制御データメモリを備え、
前記通信モジュールは、アプリケーションの動作に基いて値が更新されるプログラムの書き込みメモリと、上記動作に基いて前記ＣＰＵモジュールのチェック用の書き込みメモリの値を更新するチェックプログラムを備え、
前記ＣＰＵモジュールは、前記チェック用の書き込みメモリの更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする。
【００１０】
また、上記に記載の監視装置において、前記通信モジュールは、前記ＣＰＵモジュールから送信された再起動の指令を内部のＣＰＵに伝えるロジックデバイスを備えたことを特徴とする。
【００１１】
また、上記に記載の監視装置において、通信モジュールは、再起動した後に前記ＣＰＵモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置。
【００１２】
また、上記に記載の監視装置において、前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に０にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置。
【００１３】
上記課題を解決するために、本発明は、ＣＰＵモジュールで監視対象からの運転状態を示すモニタデータを処理し、通信モジュールでネットワークで中央側との情報の送受信を行う監視装置の制御方法において、
前記通信モジュールは、チェックプログラムによりアプリケーションの正常動作に基いて前記ＣＰＵモジュールのチェック用の書き込みメモリの値を更新し、
前記ＣＰＵモジュールは、チェック用の書き込みメモリの値の更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする。
【００１４】
また、本発明は、通信端末子局に採用しているＣＰＵモジュールと通信モジュールとの間の通信を利用し、通信モジュールから通信によりＣＰＵモジュール内のメモリの値を定期的に更新することにより、通信モジュールのソフトウェアが動作しているかをＣＰＵモジュールのユーザープログラムが確認する。ここで、通信モジュール内のＯＳが異常になった場合においても、通信モジュール内のソフトウェアが停止するため、ＣＰＵモジュールのプログラムで通信モジュール内の異常を検出して、ＣＰＵモジュールから通信モジュールに対して再起動の指令を送信する。
【００１５】
通信モジュール内のＦＰＧＡは、通信モジュールのソフトウェアが停止していても、ＣＰＵモジュールからの再起動指令を電気回路でハードウェア的に判別し、ＦＰＧＡから通信モジュール内のＣＰＵのリセット端子にリセット信号を出力する回路を設ける。これにより、ＦＰＧＡがＣＰＵモジュールの再起動指令を受けて、通信モジュールのＯＳに異常があってもＣＰＵをハードウェアの端子から再起動し、通信を継続する。
【００１６】
また、遠隔監視制御システムでは、中央から遠隔の端末に対して、遠隔制御をかける。この場合、子局の端末が自動で再起動すると、再起動のために、子局のメモリの値がゼロに戻り、遠隔制御の指令が中央で意図しているものと異なるゼロの値に設定されてしまう恐れがある。本発明では、通信モジュールは再起動した後に、最初に中央からの遠隔制御の信号を受信し、通信モジュール内のデータを中央の制御値と一致させてから、連続動作に移る方式とする。
【００１７】
また、中央では、遠隔の子局が自動で再起動をしてしまうとの子局のソフトウェアに異常が発生したことがわからなくなるため、遠隔の子局が再起動したことがわかるデータを持つ仕組みを提供する。
【発明の効果】
【００１８】
本発明によれば、通信モジュールのソフトウェアに異常が発生した場合でも、自動で通信モジュールを再起動し、自動で通信を継続することができる。
【００１９】
また、再起動後の通常動作において、中央からの制御データに従って通信モジュールの制御が行われる。さらに、再起動が発生したことが中央から監視することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明実施例の監視装置を含む監視システムの構成図である。
【図２】通信モジュールとＣＰＵモジュールを含むモジュールからなる子局の構成図である。
【図３】通信モジュールのハードウェアの構成図である。
【図４】ＣＰＵモジュールと通信モジュールのソフトウェアの構成図である。
【図５】ＣＰＵモジュールと通信モジュール内のメモリの使用形態の説明図である。
【図６】通信モジュール内で動作するチェックプログラムの健全性チェックの動作フローである。
【図７】ＣＰＵモジュール内で動作するユーザープログラムの健全性チェックの動作フローである。
【発明を実施するための形態】
【００２１】
以下、本発明の監視装置の実施例について図面を用いて説明する。図1は本実施例の監視装置を含む監視システムの構成である。中央側には、中央監視装置１００、１０３、親局側の監視装置１０１、１０４、そのモデム１０２、１０５を設置する。子局側には、モデム３０１、３１１、３２１、子局側の監視装置３０２、３１２、３２２を設置し、監視対象設備３０３、３１３、３２３を監視し、遠隔制御する。
【００２２】
ネットワーク２００では、ＴＣＰ／ＩＰ等を利用した多重通信を利用するため、中央側の監視システムを複数箇所設置して接続することができる。本実施例では、中央監視装置１（１００）と中央監視装置２（１０３）の２箇所を設置した例を示す。
【００２３】
中央監視装置１（１００）は、親局１側の監視装置１０１、中央側のモデム１０２を介してネットワーク２００に接続される。監視装置１０１内には、中央側のモデム１０２と通信するためのコネクタと中央監視装置１００と通信するためのコネクタの２個を持つ通信モジュール１２０が設置されている。親局側の監視装置１０１は、通信モジュール１２０を介してネットワーク２００や中央監視装置１００と通信する。
【００２４】
子局側は、モデム３０１、３１１、３２１、子局側の監視装置３０２、３１２、３２２と監視装置内に設置する通信モジュール３３１、３３２、３３３からなる。監視対象測のモデムと子局側の監視装置は、中央側のモデムと監視装置と同一のハードウエアで構成している。子局側の監視装置３０２、３１２、３２２は、監視対象設備３０３、３１３、３２３の運転状況や、警報の信号を取込んで、中央側の監視装置１０１、１０４送信する。また、中央から送信される遠隔制御信号を取込み、監視対象設備３０３、３１３、３２３に出力する。
【００２５】
本システムにより、例えば、子局側の監視装置３０２が監視設備対象３０３の状況を把握し、ネットワーク２００で親局側の監視装置１０１と通信し、中央監視装置１００で、監視するものである。
【００２６】
ここで、通信モジュールに異常が発生した場合には、中央監視装置１、２などで子局を監視したり制御したりすることができなくなる。本発明の対象となる監視システムは水道事業など社会インフラ事業に採用していることが多く、監視システムが停止すると、水道の提供に問題が生じる場合があるため、通信異常で遠隔監視できなくなる時間を極力、低減することが要求される。
【００２７】
図２は監視装置内部の回路構成を示す。本図では、子局側の監視装置３０２、３１２、３２２の回路の詳細を示している。本図には省略してあるが、親局側の監視装置１０１、１０４の回路の詳細は子局側の監視装置の回路と同一とすることができる。
【００２８】
子局側の監視装置３０２は、電源モジュール３４０、ＣＰＵモジュール３４１、通信モジュール３４２、デジタル入力モジュール３４３、デジタル出力モジュール３４４、アナログ入力モジュール３４５と、電源バス３５１、データバス３５２からなる。電源モジュール３４０は、監視装置内の各モジュールが動作するための電源を、電源バス３５１を介して供給する。ＣＰＵモジュール３４１は、通信モジュール３４２、入力モジュール３４３、３４５等からデータバス３５２を介して得られた信号を元に演算処理を実行し、データバス３５２を介して出力モジュール３４４に信号を出力するとともに、通信モジュール３４２が中央側の監視装置１０１と通信するためのデータを作成し、データバス３５２を介して通信モジュール３４２とデータを送受信する。
【００２９】
入力モジュール（デジタル入力モジュール３４３、アナログ入力モジュール３４５）は、監視対象の信号（モニタデータ）３４６、３４８を入力し、データバス３５２を介してＣＰＵモジュール３４１にその信号を送信する。
【００３０】
出力モジュール３４４は、ＣＰＵモジュール３４１でモニタデータを処理して作成された出力信号を、データバス３５２を介して受信し、監視装置の外部に信号３５０を出力する。
【００３１】
ＣＰＵモジュール３４１内にあるＣＰＵは、子局側の監視装置３０２全体の処理を実行し、データバス３５２を介してデータを送受信するのに対して、通信モジュール３４２、入力モジュール３４３、３４５、出力モジュール３４４内のＣＰＵは、個々のモジュール内の処理を実行するとともに、ＣＰＵモジュール３４１とデータバス３５２を介してデータの送受信を行う。
【００３２】
また、通信モジュール３４２は、中央側の通信モジュール１２０とネットワーク２００を介して接続し、中央側の監視装置のＣＰＵ内のデータと子局側の監視装置のＣＰＵ内のデータを通信で交換する。
【００３３】
図３は通信モジュール内部の構成である。通信モジュール３４２内には、高機能なＯＳが動作するＣＰＵ３４２１が設置される。ＦＰＧＡ３４２０(Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ。ＦＰＧＡは、ハードウェアの回路を書き換えることが可能なロジックデバイスである。)は、ＣＰＵモジュール３４１とバスで接続し、ＣＰＵモジュールからのデータを通信モジュール内のＣＰＵ３４２１に送信する。
【００３４】
図４は、ＣＰＵモジュール３４１と通信モジュール３４２のソフトウェア構成を示す。ＣＰＵモジュールは、ＣＰＵモジュール用のＯＳを持つ。このＯＳは、複雑なネットワークへの接続する機能を持たないため、通信モジュールのＯＳと異なり、構成が単純である。また、ＣＰＵモジュール用のＯＳ上で、ラダープログラムが動作するための実行環境を提供している。この上で、システムプログラム３４１０とユーザープログラム３４１１が動作する。
【００３５】
ここでユーザープログラム３４１１は、ＣＰＵモジュール３４１のアプリケーション・プログラムを作成するユーザーが作成するラダープログラムで、通信モジュール３４２の健全性を確認し、通信モジュール３４２のソフトウェアが停止した時には、ユーザープログラム３４１１から通信モジュール３４２のリセット命令を通信モジュールに送信するものである。
【００３６】
通信モジュール３４２には、プログラム１からプログラムＮのＮ個のプログラム３４３１の動作状態をチェックするチェックプログラム３４３０がある。プログラム１からプログラムＮは通常、２０個ほどのプログラムからなり、子局側の監視装置の監視データを中央の監視装置へネットワークを介して送信するためプログラムである。プログラム１からプログラムＮに何らかの異常が発生して動作が停止した時に、チェックプログラム３４３０が上記動作の停止を検出し、通信モジュール３４２のソフトウェアを再起動する仕組みになっている。
【００３７】
しかし、チェックプログラム３４３０自体が停止した場合、また、通信モジュールのＯＳに異常が生じた場合には、チェックプログラム３４３０自体が動作しなくなるため、チェックプログラムだけでは、通信モジュール３４２の異常の検出と再起動はできない。
【００３８】
図５は、本実施例のＣＰＵモジュール３４１と、通信モジュール３４２内の異常検出のためのメモリの使用形態の説明図である。通信モジュールのメモリ３４４０内に、プログラム１からプログラムＮを書き込み、その値を更新するためのエリア３４４１（プログラムの書き込みメモリ）をメモリ上の変数として設ける。チェックプログラム３４３０は、それらのメモリが更新されているかどうかを常時監視し、プログラム１からプログラムＮのいずれかのメモリが時間が経過しても、値が更新されない場合に、通信モジュールを再起動して、健全性を維持する。
【００３９】
図４の説明で述べたように、上記の仕組みでは、チェックプログラム３４３０自体や通信モジュールのＯＳに異常が生じた場合に対処できない。そのため、本実施例では、ＣＰＵモジュール３４１内のユーザープログラム３４１１が、通信モジュールの健全性をチェックするものである。
【００４０】
ＣＰＵモジュール３４１のメモリ３４１２には、チェックプログラム用書き込みメモリ（チェック用書き込みメモリ）３４１３と、モニタデータメモリ３４１４と、制御データメモリ３４１５とがある（図５参照）。通信モジュール３４２のチェックプログラム３４３０は、通信モジュール内のプログラム１からプログラムＮのメモリの更新を監視するとともに、ＣＰＵモジュール３４１内のチェックプログラム用書き込みメモリ３４２１の値を定期的に更新する。
【００４１】
チェックプログラム用書き込みメモリ３４１２は、通信モジュールのチェックプログラムのメモリをモニタするために設けており、ＣＰＵモジュール３４１のユーザープログラムは、チェックプログラム用書き込みメモリ３４２１が定期的に更新されなくなったのを検出して、通信モジュールのチェックプログラム３４３０が停止したことを検出し、ユーザープログラムから通信モジュールのＦＰＧＡ３４２０にリセット信号の命令（再起動の指令）を送信する。ＦＰＧＡ３４２０が通信モジュール内のＣＰＵのリセット信号３４２５を出力して、通信モジュール３４２を再起動させる。これにより通信モジュール３４２のチェックプログラムが停止した場合に、通信モジュールを自動で再起動し、通信モジュールの連続動作を可能とする。
【００４２】
また、通信モジュールのＯＳに異常が生じた場合には、チェックプログラム３４３０が動作を停止するため、チェックプログラム用書き込みメモリ３４２１が定期的に更新されなくなり、上記と同様に通信モジュールを自動で再起動し、通信モジュールのＯＳに異常が生じた場合にも対処することができる。
【００４３】
ＣＰＵモジュール３４１のＯＳとラダープログラム実行環境は、単純なＯＳと過去に長期間各種のアプリケーションで採用されてきた実績があるため信頼性が高い。このＣＰＵモジュールのＯＳとユーザープログラムにより、通信モジュールのソフトウェアの異常を検出することにより、通信端末子局全体のソフトウェアの健全性をＣＰＵモジュールのＯＳとそのソフトウェアの健全性のレベルまで高くすることが可能となる。
【００４４】
ＣＰＵモジュール３４１のユーザープログラムに頼らないで、通信モジュール内のＦＰＧＡを利用して、チェックプログラムの健全性のチェックをする構成を考慮することも可能である。しかし、ＦＰＧＡ（ロジックデバイス）は電気回路（ハード）であるため、チェックプログラムの健全性を確認するために要する２秒から１０秒程度のタイマを作り、２秒から１０秒ごとに、ユーザープログラムがデータを更新していることを確認するために、この大きさのタイマを作成するためにハードウェア的に膨大な回路数を要し、実現が困難である。本実施例のようなＣＰＵモジュールのユーザープログラムを採用した方式は、コスト的に安価に提供できる。
【００４５】
図６にチェックプログラムの健全性確認動作のフローチャートを示す。チェックプログラム３４３０は、再起動して動作を開始すると、初期設定４００（ステップ４０１〜４０４）を実行する。その後、チェックプログラム３４３０は、プログラムＮｏ.１からプログラムＮｏ.Ｎまでメモリの内容を更新しているか確認する（ステップ４１１〜４１３）。いずれかのプログラムに異常が生じて、メモリの内容が更新されない時、チェックプログラムの指令により、通信モジュール全体のソフトウェアを再起動する（ステップ４３１、４３２）。
【００４６】
全てのプログラムが正常な場合は、２秒程度のウェイトの後、ＣＰＵモジュール内のチェックプログラム用書き込みメモリ３４１３の値を更新し、子局と中央の監視装置の通信４２０を行う。
【００４７】
ここで、いずれかのプログラムに異常が生じて、通信モジュールが再起動すると、通信モジュール内のメモリの値がすべてゼロにリセットされ、中央から子局へゼロの制御指令が来たと混同する恐れがある。本実施例では、この恐れを回避するために、初期設定４００の動作と中央と子局間の通信４２０の動作を設定した。
【００４８】
初期設定４００では、通信モジュールは動作の最初に、４０２でＣＰＵモジュールからモニタデータを読み込む。ここでモニタデータとは、通信端末に接続される機器の運転状態のデータである。また、次に、４０３で通信モジュールの動作継続時間を一旦０にセットして、動作継続時間を計測する。その次に、通信モジュールは、４０４で中央の通信モジュールから制御データを読み込む。この初期設定４００により、通信モジュールは通常運転動作を開始する前に、中央の制御データを読んで、これまで制御動作をしていた値に戻ることができる。
【００４９】
中央と子局が通信４２０では、４２１で子局の通信モジュールの運転継続時間を更新し、４２２でモニタデータ（子局に接続される機器のデータ）を中央へ送信し、４２３で制御データを中央から受け取り、ＣＰＵモジュールへ送信（書き込み）する。
【００５０】
以上の動作により、通信モジュールが再起動した後もデータが０にならず、連続したモニタデータと制御データを使って監視制御を続行することができる。
【００５１】
図７には、ＣＰＵモジュール３４１内のユーザープログラム３４１１の健全性チェック動作のフローチャートを示す。ユーザープログラムが動作を開始した時、初期設定５００では、５０１で、ＣＰＵモジュール内に停電時にもバックアップされるメモリから、ユーザープログラムが動作していた間に、中央から送信されて来た制御出力データを読み、その値を利用して動作をスタートする。モニタデータについても、５０２で停電時にバックアップされたデータを最初に利用して、子局から中央へ送信するデータを作成する。
【００５２】
以上の処理により、ユーザープログラムを再起動しても、子局は０のような不連続のデータを使用することなく、連続したデータで通信することができる。
【００５３】
また、通信モジュールのチェックプログラムが、ＣＰＵモジュール内の書き込みメモリが更新されないことを検出したとき、通信モジュールのＦＰＧＡにリセット信号を送信して、通信モジュールを自動で連続動作をさせることもできる。
【００５４】
ＣＰＵモジュールのユーザープログラムでは、タイマの値を１秒単位で設定できるため、１０秒に１回程度の間隔でチェックプログラムの健全性を確認することができる。
【００５５】
また、中央と子局の通信のためのデータは、１０秒程度のウェイトを置かずに、できるだけ早くデータを更新することで、図７の５１０に示すように、タイマを設けることなく、制御データとモニタデータを更新することもできる。
【００５６】
ＣＰＵモジュールのラダープログラムの実行環境は、プログラムをマルチタスクで動作させることができるため、図７のフローチャートでは、中央と子局の通信５１０と更新内容判定５２０を同時に実行できるため、フローチャート上で２個の動作を同時実行している図となっている。
【００５７】
さらに、再起動があった場合は、前記通信モジュールは、動作継続時間データを一旦０にし、その後、通信モジュールが通常運転動作を継続時に動作継続時間データを更新し、その更新したデータを中央側に伝送する。図６の４２２で、モニタデータと共に通信モジュールの動作継続時間を子局から中央へ送信することにより、再起動されずに通信モジュールが連続動作している時間を、中央からモニタすることができる。この値から中央側で子局の通信モジュールが自動で再起動したことを検出することができる。
【００５８】
以上説明したように、本発明実施例では、通信端末子局に採用しているＣＰＵモジュールと通信モジュールとの間の通信を利用し、通信モジュールから通信によりＣＰＵモジュール内のメモリの値を定期的に更新することにより、通信モジュールのソフトウェアが動作しているかをＣＰＵモジュールのユーザープログラムが確認する。ここで、通信モジュール内のＯＳが異常になった場合においても、通信モジュール内のソフトウェアが停止するため、ＣＰＵモジュールのプログラムで通信モジュール内の異常を検出して、ＣＰＵモジュールから通信モジュールに対して再起動の指令を送信する。
【００５９】
通信モジュール内のＦＰＧＡは、通信モジュールのソフトウェアが停止していても、ＣＰＵモジュールからの再起動指令を電気回路でハードウェア的に判別し、ＦＰＧＡから通信モジュール内のＣＰＵのリセット端子にリセット信号を出力する回路を設ける。これにより、ＦＰＧＡがＣＰＵモジュールの再起動指令を受けて、通信モジュールのＯＳに異常があってもＣＰＵをハードウェアの端子から再起動し、通信を継続する。
【００６０】
また、遠隔監視制御システムでは、中央から遠隔の端末に対して、遠隔制御をかける。この場合、子局の端末が自動で再起動すると、再起動のために、子局のメモリの値がゼロに戻り、遠隔制御の指令が中央で意図しているものと異なるゼロの値に設定されてしまう恐れがある。本発明では、通信モジュールは再起動した後に、最初に中央からの遠隔制御の信号を受信し、通信モジュール内のデータを中央の制御値と一致させてから、連続動作に移る方式とする。
【００６１】
また、中央では、遠隔の子局が自動で再起動をしてしまうとの子局のソフトウェアに異常が発生したことがわからなくなるため、遠隔の子局が再起動したことがわかるデータを持つ仕組みを提供する。
【００６２】
子局監視装置の通信モジュール内のチェックプログラムが定期的に、ＣＰＵモジュール内のメモリの値を更新し、通信モジュール内のチェックプログラムまたは、ＯＳに異常が生じた時にその更新が止まることを利用して、ＣＰＵモジュールのユーザープログラムが通信モジュールのソフトウェアが通信モジュール内のＦＰＧＡにリセット信号を送り、通信モジュールを再起動することにより、通信モジュールが自動でソフトウェアの異常から復旧する。また、通信モジュールのソフトウェアが再起起動する際には、モニタデータをＣＰＵモジュールからと制御データを中央の監視装置から読み取ることを最初に実行することにより、モニタデータと制御データがゼロリセットすることを防ぐ。
【００６３】
また、子局通信モジュール動作継続時間を中央に送信することにより、子局の通信モジュールが再起動したことを中央からモニタする。
【符号の説明】
【００６４】
１００…中央監視装置１、１０１…監視装置（親局１）、１０２…モデム、１０３…中央監視装置２、１０４…監視装置（親局２）、１０５…モデム、１１２…ＬＡＮ（中央側）、１１３…ＷＡＮ（中央側）、１２０…通信モジュール、２００…ネットワーク、２０１…モデム、２０３…ＷＡＮ（子局側）、２０４…イーサネット（登録商標）２、２０５…ＬＡＮ（子局側）、２０６…イーサネット（登録商標）１、３０１…モデム、３０２…監視装置（子局側）、３０３…監視対象設備、３０４…ＬＡＮ１、３０５…ＩＰ電話通信機、３０６…ＩＰ電話本体、３０７…入出力装置、３１１…モデム、３１２…監視装置、３１３…監視対象設備、３２１…モデム、３２２…監視装置、３３３…通信モジュール、３４０…電源モジュール、３４１…ＣＰＵモジュール、３４２…通信モジュール、３４３…デジタル入力モジュール、３４４…デジタル出力モジュール、３４５…アナログ入力モジュール、３４６…入力信号、３５０…出力信号（電源入り切り）、３４１１…ユーザプログラム、３４１３…チェックプログラム用書き込みメモリ（チェック用の書き込みメモリ）、３４１４…モニタデータメモリ、３４１５…制御データメモリ、３４２０…ＦＰＧＡ（ロジックデバイス）、３４２１…ＣＰＵ、３４２２…ＬＡＮコントローラ、３４３０…チェックプログラム、３４１１…プログラムの書き込みメモリ、４００…初期設定、４１０…更新内容判定、４２０…中央と子局間の通信、５００…初期設定、５１０…中央と子局の通信、５２０…更新内容判定、３４２５…リセット信号。
【図１】
2013055530.tif 000003
【図２】
2013055530.tif 000004
【図３】
2013055530.tif 000005
【図４】
2013055530.tif 000006
【図５】
2013055530.tif 000007
【図６】
2013055530.tif 000008
【図７】
2013055530.tif 000009