監視対象からの運転状態を示すモニタデータが入力される入力モジュールと、前記入力モジュールからの信号を処理するCPUモジュールと、中央側と接続されるネットワークと情報の送受信を行う通信モジュールと、前記各モジュールを接続するデータバスとを備える監視装置において、前記CPUモジュールは、チェック用の書き込みメモリと、前記モニタデータを保存するモニタデータメモリと、中央側の制御データを保存する制御データメモリを備え、前記通信モジュールは、アプリケーションの動作に基いて値が更新されるプログラムの書き込みメモリと、上記動作に基いて前記CPUモジュールのチェック用の書き込みメモリの値を更新するチェックプログラムを備え、前記CPUモジュールは、前記チェック用の書き込みメモリの更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする監視装置。請求項1に記載の監視装置において、前記通信モジュールは、前記CPUモジュールから送信された再起動の指令を内部のCPUに伝えるロジックデバイスを備えたことを特徴とする監視装置。請求項1または2に記載の監視装置において、通信モジュールは、再起動した後に前記CPUモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置。請求項1~3のいずれかに記載の監視装置において、前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に0にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置。CPUモジュールで監視対象からの運転状態を示すモニタデータを処理し、通信モジュールでネットワークで中央側との情報の送受信を行う監視装置の制御方法において、前記通信モジュールは、チェックプログラムによりアプリケーションの正常動作に基いて前記CPUモジュールのチェック用の書き込みメモリの値を更新し、前記CPUモジュールは、チェック用の書き込みメモリの値の更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする監視装置の制御方法。請求項5に記載の監視装置の制御方法において、前記通信モジュールは、前記CPUモジュールから送信される再起動の指令を内部のロジックデバイスを通じて受信することを特徴とする監視装置の制御方法。請求項5または6に記載の監視装置の制御方法において、通信モジュールは、再起動した後に前記CPUモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置の制御方法。請求項5~7のいずれかに記載の監視装置の制御方法において、前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に0にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置の制御方法。前記特許文献1では、上記したように通信モジュールが出力するステータスによってCPUモジュールがリセットを実行しており、通信モジュールの動作状態が正常かどうかの判定を通信モジュールが行っている。しかしながら、通信モジュール自体に異常が発生した場合に、通信モジュールで正しいステータスを作成できないので、CPUモジュールがリセットすべき対象が分からなくなる。このような監視装置には、通信モジュールとCPUモジュールなどのソフトウェアが動作するモジュールを含んでいるが、それらのモジュールのソフトウェアが異常になり停止する場合がある。そして、それらのソフトウェアの基盤となっているOSに異常が発生した場合に、自動で異常処理を実行して通信を継続することができない。特に、他のモジュールと比べて通信モジュールには、ネットワークで通信するための高機能なOSを搭載しているため、ソフトウェアに予期できない異常が発生し、通信モジュールのソフトウェアが停止してしまう場合がある。また、高機能なOSでは複数のプログラムが並行して動作しており、通信システムに生じる様々な例外的な事象にソフトウェアがどのように反応するかを事前に全て把握し、対策することが非常に困難である。通信モジュール内には、FPGAFieldProgrammableGateArrayというICがあり、FPGA内にプログラムするハードウェア回路で条件処理をすることができる。しかし、プログラムの停止を検出するためには、数秒程度の時間の間、プログラムが動作していないことを検出することが必要であり、FPGAで数秒程度のタイマを構成することが必要となる。しかし、FPGAで数秒間のタイマを作成するためには、数秒間の間のクロック数を厳密に測定するためのハードウェア回路が必要となり、そのために膨大なメモリを必要とするため、そのようなタイマを作成することができない。本発明は、上記従来の問題点にかんがみ、通信モジュールに異常が発生した場合に、CPUモジュールで検出して確実に再起動を行う監視装置および監視装置の制御方法を提供することを目的とする。上記課題を解決するために、本発明は、監視対象からの運転状態を示すモニタデータが入力される入力モジュールと、前記入力モジュールからの信号を処理するCPUモジュールと、中央側と接続されるネットワークと情報の送受信を行う通信モジュールと、前記各モジュールを接続するデータバスとを備える監視装置において、前記CPUモジュールは、チェック用の書き込みメモリと、前記モニタデータを保存するモニタデータメモリと、中央側の制御データを保存する制御データメモリを備え、前記通信モジュールは、アプリケーションの動作に基いて値が更新されるプログラムの書き込みメモリと、上記動作に基いて前記CPUモジュールのチェック用の書き込みメモリの値を更新するチェックプログラムを備え、前記CPUモジュールは、前記チェック用の書き込みメモリの更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする。また、上記に記載の監視装置において、前記通信モジュールは、前記CPUモジュールから送信された再起動の指令を内部のCPUに伝えるロジックデバイスを備えたことを特徴とする。また、上記に記載の監視装置において、通信モジュールは、再起動した後に前記CPUモジュールのモニタデータメモリと制御データメモリから、それぞれモニタデータと制御データを読み込んで、通常運転動作を開始することを特徴とする監視装置。また、上記に記載の監視装置において、前記通信モジュールは、動作継続時間データを通信モジュールの再起動時に0にし、その後の通信モジュールの通常運転に伴い動作継続時間データを更新し、その更新したデータを中央側に伝送することを特徴とする監視装置。上記課題を解決するために、本発明は、CPUモジュールで監視対象からの運転状態を示すモニタデータを処理し、通信モジュールでネットワークで中央側との情報の送受信を行う監視装置の制御方法において、前記通信モジュールは、チェックプログラムによりアプリケーションの正常動作に基いて前記CPUモジュールのチェック用の書き込みメモリの値を更新し、前記CPUモジュールは、チェック用の書き込みメモリの値の更新停止を検知したとき、前記通信モジュールに再起動の指令を送信することを特徴とする。また、本発明は、通信端末子局に採用しているCPUモジュールと通信モジュールとの間の通信を利用し、通信モジュールから通信によりCPUモジュール内のメモリの値を定期的に更新することにより、通信モジュールのソフトウェアが動作しているかをCPUモジュールのユーザープログラムが確認する。ここで、通信モジュール内のOSが異常になった場合においても、通信モジュール内のソフトウェアが停止するため、CPUモジュールのプログラムで通信モジュール内の異常を検出して、CPUモジュールから通信モジュールに対して再起動の指令を送信する。通信モジュール内のFPGAは、通信モジュールのソフトウェアが停止していても、CPUモジュールからの再起動指令を電気回路でハードウェア的に判別し、FPGAから通信モジュール内のCPUのリセット端子にリセット信号を出力する回路を設ける。これにより、FPGAがCPUモジュールの再起動指令を受けて、通信モジュールのOSに異常があってもCPUをハードウェアの端子から再起動し、通信を継続する。また、遠隔監視制御システムでは、中央から遠隔の端末に対して、遠隔制御をかける。この場合、子局の端末が自動で再起動すると、再起動のために、子局のメモリの値がゼロに戻り、遠隔制御の指令が中央で意図しているものと異なるゼロの値に設定されてしまう恐れがある。本発明では、通信モジュールは再起動した後に、最初に中央からの遠隔制御の信号を受信し、通信モジュール内のデータを中央の制御値と一致させてから、連続動作に移る方式とする。また、中央では、遠隔の子局が自動で再起動をしてしまうとの子局のソフトウェアに異常が発生したことがわからなくなるため、遠隔の子局が再起動したことがわかるデータを持つ仕組みを提供する。本発明によれば、通信モジュールのソフトウェアに異常が発生した場合でも、自動で通信モジュールを再起動し、自動で通信を継続することができる。また、再起動後の通常動作において、中央からの制御データに従って通信モジュールの制御が行われる。さらに、再起動が発生したことが中央から監視することが可能となる。以下、本発明の監視装置の実施例について図面を用いて説明する。図1は本実施例の監視装置を含む監視システムの構成である。中央側には、中央監視装置100、103、親局側の監視装置101、104、そのモデム102、105を設置する。子局側には、モデム301、311、321、子局側の監視装置302、312、322を設置し、監視対象設備303、313、323を監視し、遠隔制御する。ネットワーク200では、TCP/IP等を利用した多重通信を利用するため、中央側の監視システムを複数箇所設置して接続することができる。本実施例では、中央監視装置1100と中央監視装置2103の2箇所を設置した例を示す。中央監視装置1100は、親局1側の監視装置101、中央側のモデム102を介してネットワーク200に接続される。監視装置101内には、中央側のモデム102と通信するためのコネクタと中央監視装置100と通信するためのコネクタの2個を持つ通信モジュール120が設置されている。親局側の監視装置101は、通信モジュール120を介してネットワーク200や中央監視装置100と通信する。子局側は、モデム301、311、321、子局側の監視装置302、312、322と監視装置内に設置する通信モジュール331、332、333からなる。監視対象測のモデムと子局側の監視装置は、中央側のモデムと監視装置と同一のハードウエアで構成している。子局側の監視装置302、312、322は、監視対象設備303、313、323の運転状況や、警報の信号を取込んで、中央側の監視装置101、104送信する。また、中央から送信される遠隔制御信号を取込み、監視対象設備303、313、323に出力する。本システムにより、例えば、子局側の監視装置302が監視設備対象303の状況を把握し、ネットワーク200で親局側の監視装置101と通信し、中央監視装置100で、監視するものである。ここで、通信モジュールに異常が発生した場合には、中央監視装置1、2などで子局を監視したり制御したりすることができなくなる。本発明の対象となる監視システムは水道事業など社会インフラ事業に採用していることが多く、監視システムが停止すると、水道の提供に問題が生じる場合があるため、通信異常で遠隔監視できなくなる時間を極力、低減することが要求される。図2は監視装置内部の回路構成を示す。本図では、子局側の監視装置302、312、322の回路の詳細を示している。本図には省略してあるが、親局側の監視装置101、104の回路の詳細は子局側の監視装置の回路と同一とすることができる。子局側の監視装置302は、電源モジュール340、CPUモジュール341、通信モジュール342、デジタル入力モジュール343、デジタル出力モジュール344、アナログ入力モジュール345と、電源バス351、データバス352からなる。電源モジュール340は、監視装置内の各モジュールが動作するための電源を、電源バス351を介して供給する。CPUモジュール341は、通信モジュール342、入力モジュール343、345等からデータバス352を介して得られた信号を元に演算処理を実行し、データバス352を介して出力モジュール344に信号を出力するとともに、通信モジュール342が中央側の監視装置101と通信するためのデータを作成し、データバス352を介して通信モジュール342とデータを送受信する。入力モジュールデジタル入力モジュール343、アナログ入力モジュール345は、監視対象の信号モニタデータ346、348を入力し、データバス352を介してCPUモジュール341にその信号を送信する。出力モジュール344は、CPUモジュール341でモニタデータを処理して作成された出力信号を、データバス352を介して受信し、監視装置の外部に信号350を出力する。CPUモジュール341内にあるCPUは、子局側の監視装置302全体の処理を実行し、データバス352を介してデータを送受信するのに対して、通信モジュール342、入力モジュール343、345、出力モジュール344内のCPUは、個々のモジュール内の処理を実行するとともに、CPUモジュール341とデータバス352を介してデータの送受信を行う。また、通信モジュール342は、中央側の通信モジュール120とネットワーク200を介して接続し、中央側の監視装置のCPU内のデータと子局側の監視装置のCPU内のデータを通信で交換する。図3は通信モジュール内部の構成である。通信モジュール342内には、高機能なOSが動作するCPU3421が設置される。FPGA3420は、CPUモジュール341とバスで接続し、CPUモジュールからのデータを通信モジュール内のCPU3421に送信する。図4は、CPUモジュール341と通信モジュール342のソフトウェア構成を示す。CPUモジュールは、CPUモジュール用のOSを持つ。このOSは、複雑なネットワークへの接続する機能を持たないため、通信モジュールのOSと異なり、構成が単純である。また、CPUモジュール用のOS上で、ラダープログラムが動作するための実行環境を提供している。この上で、システムプログラム3410とユーザープログラム3411が動作する。ここでユーザープログラム3411は、CPUモジュール341のアプリケーションプログラムを作成するユーザーが作成するラダープログラムで、通信モジュール342の健全性を確認し、通信モジュール342のソフトウェアが停止した時には、ユーザープログラム3411から通信モジュール342のリセット命令を通信モジュールに送信するものである。通信モジュール342には、プログラム1からプログラムNのN個のプログラム3431の動作状態をチェックするチェックプログラム3430がある。プログラム1からプログラムNは通常、20個ほどのプログラムからなり、子局側の監視装置の監視データを中央の監視装置へネットワークを介して送信するためプログラムである。プログラム1からプログラムNに何らかの異常が発生して動作が停止した時に、チェックプログラム3430が上記動作の停止を検出し、通信モジュール342のソフトウェアを再起動する仕組みになっている。しかし、チェックプログラム3430自体が停止した場合、また、通信モジュールのOSに異常が生じた場合には、チェックプログラム3430自体が動作しなくなるため、チェックプログラムだけでは、通信モジュール342の異常の検出と再起動はできない。図5は、本実施例のCPUモジュール341と、通信モジュール342内の異常検出のためのメモリの使用形態の説明図である。通信モジュールのメモリ3440内に、プログラム1からプログラムNを書き込み、その値を更新するためのエリア3441プログラムの書き込みメモリをメモリ上の変数として設ける。チェックプログラム3430は、それらのメモリが更新されているかどうかを常時監視し、プログラム1からプログラムNのいずれかのメモリが時間が経過しても、値が更新されない場合に、通信モジュールを再起動して、健全性を維持する。図4の説明で述べたように、上記の仕組みでは、チェックプログラム3430自体や通信モジュールのOSに異常が生じた場合に対処できない。そのため、本実施例では、CPUモジュール341内のユーザープログラム3411が、通信モジュールの健全性をチェックするものである。CPUモジュール341のメモリ3412には、チェックプログラム用書き込みメモリチェック用書き込みメモリ3413と、モニタデータメモリ3414と、制御データメモリ3415とがある図5参照。通信モジュール342のチェックプログラム3430は、通信モジュール内のプログラム1からプログラムNのメモリの更新を監視するとともに、CPUモジュール341内のチェックプログラム用書き込みメモリ3421の値を定期的に更新する。チェックプログラム用書き込みメモリ3412は、通信モジュールのチェックプログラムのメモリをモニタするために設けており、CPUモジュール341のユーザープログラムは、チェックプログラム用書き込みメモリ3421が定期的に更新されなくなったのを検出して、通信モジュールのチェックプログラム3430が停止したことを検出し、ユーザープログラムから通信モジュールのFPGA3420にリセット信号の命令再起動の指令を送信する。FPGA3420が通信モジュール内のCPUのリセット信号3425を出力して、通信モジュール342を再起動させる。これにより通信モジュール342のチェックプログラムが停止した場合に、通信モジュールを自動で再起動し、通信モジュールの連続動作を可能とする。また、通信モジュールのOSに異常が生じた場合には、チェックプログラム3430が動作を停止するため、チェックプログラム用書き込みメモリ3421が定期的に更新されなくなり、上記と同様に通信モジュールを自動で再起動し、通信モジュールのOSに異常が生じた場合にも対処することができる。CPUモジュール341のOSとラダープログラム実行環境は、単純なOSと過去に長期間各種のアプリケーションで採用されてきた実績があるため信頼性が高い。このCPUモジュールのOSとユーザープログラムにより、通信モジュールのソフトウェアの異常を検出することにより、通信端末子局全体のソフトウェアの健全性をCPUモジュールのOSとそのソフトウェアの健全性のレベルまで高くすることが可能となる。CPUモジュール341のユーザープログラムに頼らないで、通信モジュール内のFPGAを利用して、チェックプログラムの健全性のチェックをする構成を考慮することも可能である。しかし、FPGAロジックデバイスは電気回路ハードであるため、チェックプログラムの健全性を確認するために要する2秒から10秒程度のタイマを作り、2秒から10秒ごとに、ユーザープログラムがデータを更新していることを確認するために、この大きさのタイマを作成するためにハードウェア的に膨大な回路数を要し、実現が困難である。本実施例のようなCPUモジュールのユーザープログラムを採用した方式は、コスト的に安価に提供できる。図6にチェックプログラムの健全性確認動作のフローチャートを示す。チェックプログラム3430は、再起動して動作を開始すると、初期設定400ステップ401~404を実行する。その後、チェックプログラム3430は、プログラムNo1からプログラムNoNまでメモリの内容を更新しているか確認するステップ411~413。いずれかのプログラムに異常が生じて、メモリの内容が更新されない時、チェックプログラムの指令により、通信モジュール全体のソフトウェアを再起動するステップ431、432。全てのプログラムが正常な場合は、2秒程度のウェイトの後、CPUモジュール内のチェックプログラム用書き込みメモリ3413の値を更新し、子局と中央の監視装置の通信420を行う。ここで、いずれかのプログラムに異常が生じて、通信モジュールが再起動すると、通信モジュール内のメモリの値がすべてゼロにリセットされ、中央から子局へゼロの制御指令が来たと混同する恐れがある。本実施例では、この恐れを回避するために、初期設定400の動作と中央と子局間の通信420の動作を設定した。初期設定400では、通信モジュールは動作の最初に、402でCPUモジュールからモニタデータを読み込む。ここでモニタデータとは、通信端末に接続される機器の運転状態のデータである。また、次に、403で通信モジュールの動作継続時間を一旦0にセットして、動作継続時間を計測する。その次に、通信モジュールは、404で中央の通信モジュールから制御データを読み込む。この初期設定400により、通信モジュールは通常運転動作を開始する前に、中央の制御データを読んで、これまで制御動作をしていた値に戻ることができる。中央と子局が通信420では、421で子局の通信モジュールの運転継続時間を更新し、422でモニタデータ子局に接続される機器のデータを中央へ送信し、423で制御データを中央から受け取り、CPUモジュールへ送信書き込みする。以上の動作により、通信モジュールが再起動した後もデータが0にならず、連続したモニタデータと制御データを使って監視制御を続行することができる。図7には、CPUモジュール341内のユーザープログラム3411の健全性チェック動作のフローチャートを示す。ユーザープログラムが動作を開始した時、初期設定500では、501で、CPUモジュール内に停電時にもバックアップされるメモリから、ユーザープログラムが動作していた間に、中央から送信されて来た制御出力データを読み、その値を利用して動作をスタートする。モニタデータについても、502で停電時にバックアップされたデータを最初に利用して、子局から中央へ送信するデータを作成する。以上の処理により、ユーザープログラムを再起動しても、子局は0のような不連続のデータを使用することなく、連続したデータで通信することができる。また、通信モジュールのチェックプログラムが、CPUモジュール内の書き込みメモリが更新されないことを検出したとき、通信モジュールのFPGAにリセット信号を送信して、通信モジュールを自動で連続動作をさせることもできる。CPUモジュールのユーザープログラムでは、タイマの値を1秒単位で設定できるため、10秒に1回程度の間隔でチェックプログラムの健全性を確認することができる。また、中央と子局の通信のためのデータは、10秒程度のウェイトを置かずに、できるだけ早くデータを更新することで、図7の510に示すように、タイマを設けることなく、制御データとモニタデータを更新することもできる。CPUモジュールのラダープログラムの実行環境は、プログラムをマルチタスクで動作させることができるため、図7のフローチャートでは、中央と子局の通信510と更新内容判定520を同時に実行できるため、フローチャート上で2個の動作を同時実行している図となっている。さらに、再起動があった場合は、前記通信モジュールは、動作継続時間データを一旦0にし、その後、通信モジュールが通常運転動作を継続時に動作継続時間データを更新し、その更新したデータを中央側に伝送する。図6の422で、モニタデータと共に通信モジュールの動作継続時間を子局から中央へ送信することにより、再起動されずに通信モジュールが連続動作している時間を、中央からモニタすることができる。この値から中央側で子局の通信モジュールが自動で再起動したことを検出することができる。以上説明したように、本発明実施例では、通信端末子局に採用しているCPUモジュールと通信モジュールとの間の通信を利用し、通信モジュールから通信によりCPUモジュール内のメモリの値を定期的に更新することにより、通信モジュールのソフトウェアが動作しているかをCPUモジュールのユーザープログラムが確認する。ここで、通信モジュール内のOSが異常になった場合においても、通信モジュール内のソフトウェアが停止するため、CPUモジュールのプログラムで通信モジュール内の異常を検出して、CPUモジュールから通信モジュールに対して再起動の指令を送信する。通信モジュール内のFPGAは、通信モジュールのソフトウェアが停止していても、CPUモジュールからの再起動指令を電気回路でハードウェア的に判別し、FPGAから通信モジュール内のCPUのリセット端子にリセット信号を出力する回路を設ける。これにより、FPGAがCPUモジュールの再起動指令を受けて、通信モジュールのOSに異常があってもCPUをハードウェアの端子から再起動し、通信を継続する。また、遠隔監視制御システムでは、中央から遠隔の端末に対して、遠隔制御をかける。この場合、子局の端末が自動で再起動すると、再起動のために、子局のメモリの値がゼロに戻り、遠隔制御の指令が中央で意図しているものと異なるゼロの値に設定されてしまう恐れがある。本発明では、通信モジュールは再起動した後に、最初に中央からの遠隔制御の信号を受信し、通信モジュール内のデータを中央の制御値と一致させてから、連続動作に移る方式とする。また、中央では、遠隔の子局が自動で再起動をしてしまうとの子局のソフトウェアに異常が発生したことがわからなくなるため、遠隔の子局が再起動したことがわかるデータを持つ仕組みを提供する。子局監視装置の通信モジュール内のチェックプログラムが定期的に、CPUモジュール内のメモリの値を更新し、通信モジュール内のチェックプログラムまたは、OSに異常が生じた時にその更新が止まることを利用して、CPUモジュールのユーザープログラムが通信モジュールのソフトウェアが通信モジュール内のFPGAにリセット信号を送り、通信モジュールを再起動することにより、通信モジュールが自動でソフトウェアの異常から復旧する。また、通信モジュールのソフトウェアが再起起動する際には、モニタデータをCPUモジュールからと制御データを中央の監視装置から読み取ることを最初に実行することにより、モニタデータと制御データがゼロリセットすることを防ぐ。また、子局通信モジュール動作継続時間を中央に送信することにより、子局の通信モジュールが再起動したことを中央からモニタする。