(57)【要約】      （修正有）【課題】信頼性の高い制御を行い得る通信システム及び通信制御方法を提案する。【解決手段】複数のマスタ装置２Ａ，２Ｂと、各マスタ装置とそれぞれ接続され、１又は複数のスレーブ装置３Ａ，３Ｂが接続されたリング型のネットワークトポロジを有する複数のネットワークと、いずれか１つのマスタ装置を主系に設定し、他のマスタ装置を従系に設定すると共に、必要に応じてマスタ装置の主従を切り替える主従切替え器４とを設け、主従切替え器が、主系に設定されたマスタ装置に障害が発生した場合に、マスタ装置の主系及び従系を切り替える第１のステップと、新たに主系に設定されたマスタ装置が、対応するスレーブ装置が通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した通信フレームを生成し、生成した通信フレームを各ネットワークと、他系に設定されたマスタ装置とに送信するようにした。【選択図】図１
2015127926.tif 000002
【特許請求の範囲】
【請求項１】
マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおいて、
複数のマスタ装置と、
各前記マスタ装置とそれぞれ接続され、１又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、
いずれか１つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器と
を備え、
主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、
各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に情報を読み書きし、
主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信し、
前記主従切替え器は、主系に設定された前記マスタ装置に障害が発生した場合に、前記マスタ装置の主系及び従系を切り替える
ことを特徴とする通信システム。
【請求項２】
一部又は全部の前記スレーブ装置は、
前記ネットワークを流れる前記通信フレームを受信する受信部と、
前記受信部が受信した前記通信フレーム内の前記自己に割り当てられた領域に前記情報を書き込むスレーブコントローラと、
前記スレーブコントローラにより前記情報が書き込まれた前記通信フレームを前記ネットワークに送信する送信部と、
前記通信フレームに書き込むべき前記情報を前記スレーブコントローラに提供するプロセッサと、
前記プロセッサを監視するプロセッサ監視部と
を備え、
前記プロセッサ監視部は、
前記プロセッサの障害の有無を監視し、前記プロセッサの障害を検出した場合に、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記プロセッサ監視部は、
前記受信部及び前記送信部に対してリセット信号を連続的に送信することにより、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項２に記載の通信システム。
【請求項４】
前記プロセッサ監視部は、
外部から与えられる前記情報の入出力を制御するＦＰＧＡ（Field-Programmable Gate Array）である
ことを特徴とする請求項２に記載の通信システム。
【請求項５】
前記プロセッサ監視部には、ウォッチドッグタイマが実装され、
前記プロセッサは、定期的に前記ウォッチドッグタイマをリセットし、
前記プロセッサ監視部は、前記ウォッチドッグタイマのカウント値に基づいて前記プロセッサの障害の有無を監視する
ことを特徴とする請求項２に記載の通信システム。
【請求項６】
マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおける通信制御方法であって、
前記通信システムは、
複数のマスタ装置と、
各前記マスタ装置とそれぞれ接続され、１又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、
いずれか１つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器と
を有し、
主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、
各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に情報を読み書きし、
主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信し、
前記主従切替え器が、主系に設定された前記マスタ装置に障害が発生した場合に、前記マスタ装置の主系及び従系を切り替える第１のステップと、
新たに主系に設定された前記マスタ装置が、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信する第２のステップと
を備えることを特徴とする通信制御方法。
【請求項７】
一部又は全部の前記スレーブ装置は、
前記ネットワークを流れる前記通信フレームを受信する受信部と、
前記受信部が受信した前記通信フレームに前記情報を書き込むスレーブコントローラと、
前記スレーブコントローラにより前記情報が書き込まれた前記通信フレームを前記ネットワークに送信する送信部と、
前記通信フレームに書き込むべき前記情報を前記スレーブコントローラに提供するプロセッサと、
前記プロセッサを監視するプロセッサ監視部とを有し、
前記プロセッサ監視部が、前記プロセッサの障害の有無を監視する監視ステップと、
前記プロセッサ監視部が、前記プロセッサの障害を検出した場合に、リンクダウンするよう前記受信部及び前記送信部を制御する制御ステップと
を備えることを特徴とする請求項６に記載の通信制御方法。
【請求項８】
前記制御ステップにおいて、前記プロセッサ監視部は、
前記受信部及び前記送信部に対してリセット信号を連続的に送信することにより、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項７に記載の通信制御方法。
【請求項９】
前記プロセッサ監視部には、ウォッチドッグタイマが実装され、
前記プロセッサは、定期的に前記ウォッチドッグタイマをリセットし、
前記監視ステップにおいて、前記プロセッサ監視部は、
前記ウォッチドッグタイマのカウント値に基づいて前記プロセッサの障害の有無を監視する
ことを特徴とする請求項７に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信制御方法に関し、例えば、リモートＩ／Ｏ（Input/Output）システムに適用して好適なものである。
【背景技術】
【０００２】
近年、マスタ−スレーブ方式の通信方式として、イーサネット（登録商標）ベースのフィールドバスシステムであるイーサキャット（Ether CAT：Ether for Control Automation Technology）（登録商標）が注目されている。
【０００３】
イーサキャット（登録商標）では、ネットワーク上を定期的に流れる通信フレーム（以下、これを定周期フレームと呼ぶ）を各スレーブがオンザフライで処理する。具体的に、各スレーブは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域にデータを読み書きすると同時にその通信フレームを次のスレーブにフォワードする。
【０００４】
スレーブにおけるデータの送受信処理は、そのスレーブに搭載されたイーサキャット（登録商標）スレーブコントローラにより高速に行われる。このためスレーブのネットワークパフォーマンスはそのスレーブのマイコン性能に依存しない。通常、各スレーブ内における定周期フレームの遅延は数〔ns〕程度しかなく、これによりデータ伝送の高速性とリアルタイム性とが確保されている。
【０００５】
このようなイーサキャット（登録商標）のデータ伝送の高速性及びリアルタイム性はリアルタイム制御が必要な工場やプラント等において有用であり、近年では、イーサキャット（登録商標）を適用した通信システムの更なる性能や信頼性の向上のための種々の発明が多く提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１７６７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、イーサキャット（登録商標）では、後段のスレーブとの間の通信が途絶えた場合に、前段から送信されてきた定周期フレームをそのスレーブに転送することなく当該定周期フレームの送信元に送り戻すループバックと呼ばれる機能が規定されている。
【０００８】
これにより通信方式としてイーサキャット（登録商標）を適用したリモートＩ／Ｏシステムでは、例えばネットワークトポロジとしてリング型のネットワークトポロジを採用することによって、ネットワークケーブルの切断やスレーブ障害が発生した場合においても、障害が発生していない各スレーブと、マスタとの間の通信を確保し得るようになされている。
【０００９】
しかしながら、かかるリモートＩ／Ｏシステムにおいても、例えばネットワーク上の複数箇所でネットワークケーブルの切断やスレーブ障害が発生した場合には、マスタがその障害箇所間に存在するスレーブとの通信を行うことができなくなるという問題があった。このためこの種の構成を有するリモートＩ／Ｏシステムでは、より耐障害性の向上が望まれている。
【００１０】
また通信方式としてイーサキャット（登録商標）を適用したリモートＩ／Ｏシステムにおいて、マスタの二重化を図る場合、スイッチングハブといった汎用のスイッチ装置を利用して定周期フレームを２つのマスタに分配する手法が広く用いられている。
【００１１】
かかるリモートＩ／Ｏシステムにおいて、スレーブとの通信は、主系に設定された一方のマスタによって行われ、従系に設定された他方のマスタは、定周期フレームをモニタリングするだけでスレーブとの通信を行うことはできない。このため、いずれかのスレーブに障害が発生した場合、主系のマスタは障害が発生したスレーブ（以下、これを障害スレーブと呼ぶ）をバススキャンにより特定することができるが、従系のスレーブは障害スレーブを特定することができない。
【００１２】
ところが、スレーブに発生した障害の内容によっては、そのスレーブが定周期フレーム内の自己に割り当てられた領域に正しくないデータが書き込まれることがある。このような場合、主系のマスタは、上述のようにバススキャンにより障害スレーブを特定できるため、その障害スレーブからのデータを利用しないようにすることができる。しかしながら、従系のマスタは、上述のように障害スレーブを特定できないため、障害スレーブからのデータを有効なデータとして利用することになる。
【００１３】
この結果、上述のような障害がスレーブに発生した直後に、主系のマスタに障害が発生してマスタの主系及び従系が切り替えられた場合、新たに主系に設定されたマスタ（元の従系のマスタ）が障害スレーブから与えられる正しくないデータを利用して制御を行うこととなる問題があった。
【００１４】
またスレーブに障害が発生した場合、主系のマスタはバススキャンにより障害スレーブを特定するが、スレーブ数が多い場合には障害スレーブを特定するのに相応の時間を要し、その間、主系のマスタにおいても障害スレーブから送信される正しくないデータを利用して制御が行われるという問題があった。
【００１５】
本発明は以上の点を考慮してなされたもので、耐障害性が高く、信頼性の高い通信システム及び通信制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１６】
かかる課題を解決するため本発明においては、マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおいて、複数のマスタ装置と、各前記マスタ装置とそれぞれ接続され、１又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、いずれか１つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器とを設け、主系に設定された前記マスタ装置が、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、各前記ネットワークにそれぞれ接続された各前記スレーブ装置が、前記通信フレーム内の自己に割り当てられた領域に情報を読み書きし、主系に設定された前記マスタ装置が、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信し、前記主従切替え器が、主系に設定された前記マスタ装置に障害が発生した場合に、前記マスタ装置の主系及び従系を切り替えるようにした。
【００１７】
また本発明においては、マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおける通信制御方法であって、前記通信システムは、複数のマスタ装置と、各前記マスタ装置とそれぞれ接続され、１又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、いずれか１つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器とを有し、主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に情報を読み書きし、主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信し、前記主従切替え器が、主系に設定された前記マスタ装置に障害が発生した場合に、前記マスタ装置の主系及び従系を切り替える第１のステップと、新たに主系に設定された前記マスタ装置が、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、他系に設定された前記マスタ装置とに送信する第２のステップとを設けるようにした。
【００１８】
かかる本発明の通信システム及び通信制御方法によれば、マスタ装置に障害が発生した場合や、ネットワークに障害が発生した場合においても、通信システム全体として問題なく処理を継続することができる。
【発明の効果】
【００１９】
本発明によれば、信頼性の高いネットワークシステムを構築し得る通信システム及び通信制御方法を実現できる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態によるリモートＩ／Ｏシステムの全体構成を示すブロック図である。
【図２】（Ａ）−（Ｅ）は、イーサキャット（登録商標）プロトコルにおける定周期フレームのフレームフォーマットを示す概念図である。
【図３】Ｉ／Ｏスレーブの概略構成を示すブロック図である。
【図４】ＣＰＵ障害時リンクダウン処理の処理手順を示すフローチャートである。
【図５】Ｉ／ＯスレーブにＣＰＵウォッチドッグタイマ異常が発生した場合にリモートＩ／Ｏシステムにおいて実行される一連の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下図面について、本発明の一実施の形態を詳述する。
【００２２】
（１）本実施の形態によるリモートＩ／Ｏシステムの構成
図１は、ガスタービン発電プラント用のリモートＩ／Ｏシステム１の概略構成を示す。このリモートＩ／Ｏシステム１は、通信プロトコルとしてイーサキャット（登録商標）プロトコルが適用された通信システムであり、制御室内に設置された冗長化された２つの制御装置（以下、これらを第１及び第２の制御装置と呼ぶ）２Ａ，２Ｂを備えて構成される。
【００２３】
第１及び第２の制御装置２Ａ，２Ｂは、ガスタービン発電プラント全体を制御する制御装置であり、それぞれメインＣＰＵ（Central Processing Unit）１０Ａ，１０Ｂと、第１のマスタＣＰＵ１１Ａ，１１Ｂと、第２のマスタＣＰＵ１２Ａ，１２Ｂとを備える。
【００２４】
メインＣＰＵ１０Ａ，１０Ｂは、第１又は第２の制御装置２Ａ，２Ｂ全体の動作制御を司るプロセッサであり、内部バス１３Ａ，１３Ｂを介して接続された第１のマスタＣＰＵ１１Ａ，１１Ｂ及び第２のマスタＣＰＵ１２Ａ，１２Ｂにより収集されたリモートサイトの各種センサのセンサ出力と、図示しないメモリに格納された各種プログラムとに基づいて、リモートサイトに設置されたガスタービン（図示せず）を制御するための各種制御処理を実行する。
【００２５】
第１のマスタＣＰＵ１１Ａ，１１Ｂ及び第２のマスタＣＰＵ１２Ａ，１２Ｂは、接続されたＡ系又はＢ系のネットワーク３Ａ，３Ｂにおいてマスタとして機能するプロセッサである。第１のマスタＣＰＵ１１Ａ，１１Ｂには、リング型のネットワークトポロジを有するＡ系のネットワーク３Ａが接続され、第２のマスタＣＰＵ１２Ａ，１２Ｂには、リング型のネットワークトポロジを有するＢ系のネットワーク３Ｂが接続される。
【００２６】
Ａ系のネットワーク３Ａは、それぞれ制御室内に配置された第１及び第２のスイッチングハブ２０Ａ，２１Ａ並びに第１及び第４のメディアコンバータ２２Ａ，２５Ａと、リモートサイトに配置された第２及び第３のメディアコンバータ２３Ａ，２４Ａ並びにＡＩ（Analog Input）スレーブ２６Ａ、ＡＯ（Analog Output）スレーブ２７Ａ、ＤＩ（Digital Input）スレーブ２８Ａ及びＤＯ（Digital Output）スレーブ２９Ａとを備えて構成される。
【００２７】
そして第１のスイッチングハブ２０Ａ及び第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａ間と、第１のスイッチングハブ２０Ａ及び第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂ間と、第２のスイッチングハブ２１Ａ及び第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａ間と、第２のスイッチングハブ２１Ａ及び第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂ間とは、それぞれ100BASE-TXケーブル等のイーサネット（登録商標）カテゴリ５以上のケーブルを介して接続されている。
【００２８】
同様に、第１のスイッチングハブ２０Ａ及び第１のメディアコンバータ２２Ａ間と、第２のメディアコンバータ２３Ａ及びＡＩスレーブ２６Ａ間と、ＡＩスレーブ２６Ａ及びＡＯスレーブ２７Ａ間と、ＡＯスレーブ２７Ａ及びＤＩスレーブ２８Ａ間と、ＤＩスレーブ２８Ａ及びＤＯスレーブ２９Ａ間と、ＤＯスレーブ２９Ａ及び第３のメディアコンバータ２４Ａ間と、第４のメディアコンバータ２５Ａ及び第２のスイッチングハブ２１Ａ間も、イーサネット（登録商標）カテゴリ５以上のケーブルを介して接続されている。
【００２９】
これに対して第１のメディアコンバータ２２Ａ及び第２のメディアコンバータ２３Ａ間と、第３のメディアコンバータ２４Ａ及び第４のメディアコンバータ２５Ａ間とは、それぞれ100BASE-FXケーブル等の光ケーブル３２を介して接続されており、これによりリモートサイトが制御室から離反した場所に存在する場合においても、制御室及びリモートサイト間における通信時の信号の減衰を低く抑え得るようになされている。
【００３０】
Ｂ系のネットワーク３Ｂも、Ａ系のネットワーク３Ａと同様に、それぞれ制御室内に配置された第１及び第２のスイッチングハブ２０Ｂ，２１Ｂ並びに第１及び第４のメディアコンバータ２２Ｂ，２５Ｂと、リモートサイトに配置された第２及び第３のメディアコンバータ２３Ｂ，２４Ｂ並びにＡＩスレーブ２６Ｂ、ＡＯスレーブ２７Ｂ、ＤＩスレーブ２８Ｂ及びＤＯスレーブ２９Ｂとを備えて構成される。
【００３１】
そして第１のスイッチングハブ２０Ｂ及び第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａ間と、第１のスイッチングハブ２０Ｂ及び第２の制御装置２Ｂの第２のマスタＣＰＵ１２Ｂ間と、第２のスイッチングハブ２１Ｂ及び第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａ間と、第２のスイッチングハブ２１Ｂ及び第２の制御装置２Ｂの第２のマスタＣＰＵ１２Ｂ間とが、それぞれイーサネット（登録商標）カテゴリ５以上のケーブルを介して接続され、他のスレーブ間がＡ系のネットワーク３Ａと同様に相互に接続されている。
【００３２】
第１のスイッチングハブ２０Ａ，２０Ｂ及び第２のスイッチングハブ２１Ａ，２１Ｂは、イーサキャット（登録商標）スレーブコントローラが搭載されたスイッチ装置である。また第１〜第４のメディアコンバータ２２Ａ〜２５Ａ，２２Ｂ〜２５Ｂは、いずれもイーサキャット（登録商標）スレーブコントローラが搭載された光伝送装置である。
【００３３】
ＡＩスレーブ２６Ａ，２６Ｂ、ＡＯスレーブ２７Ａ，２７Ｂ、ＤＩスレーブ２８Ａ，２８Ｂ及びＤＯスレーブ２９Ａ，２９Ｂは、それぞれイーサキャット（登録商標）スレーブコントローラが搭載されたＩ／Ｏスレーブである。なお、以下においては、適宜、ＡＩスレーブ２６Ａ、ＡＯスレーブ２７Ａ、ＤＩスレーブ２８Ａ及びＤＯスレーブ２９ＡをまとめてＩ／Ｏスレーブ３０Ａと呼び、ＡＩスレーブ２６Ｂ、ＡＯスレーブ２７Ｂ、ＤＩスレーブ２８Ｂ及びＤＯスレーブ２９ＢをまとめてＩ／Ｏスレーブ３０Ｂと呼ぶ。
【００３４】
ＡＩスレーブ２６Ａ，２６Ｂは、リモートサイト側に配設された各アナログセンサにそれぞれ対応させてＡ系及びＢ系のネットワーク３Ａ，３Ｂ上にそれぞれ１又は複数設けられる。ＡＩスレーブ２６Ａ，２６Ｂは、アナログ／ディジタル変換器（図示せず）を備えて構成され、対応する信号分配器３１を介して与えられる対応するアナログセンサのセンサ出力をディジタル変換し、かくして得られたディジタル化されたセンサ出力（以下、これをセンサ情報と呼ぶ）を、後述のように第１又は第２の制御装置２Ａ，２Ｂの第１又は第２のマスタＣＰＵ１１Ａ，１１Ｂ，１２Ａ，１２Ｂから送信される定周期フレーム内の自己に割り当てられた領域に格納する機能を有する。なお、ここで言う「定周期フレーム内の自己に割り当てられた領域」とは、図２（Ｃ）について後述する自スレーブ用のイーサキャット（登録商標）データグラム（EtherCAT Datagram）を指す。以下においても同様である。
【００３５】
またＡＯスレーブ２７Ａ，２７Ｂは、リモートサイト側に配設されたアクチュエータ等の制御対象のアナログ機器にそれぞれ対応させてＡ系及びＢ系のネットワーク３Ａ，３Ｂ上にそれぞれ１又は複数設けられる。ＡＯスレーブ２７Ａ，２７Ｂは、ディジタル／アナログ変換器を備えて構成され、後述のように定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出してアナログ変換し、かくして得られたアナログ制御情報を対応する信号分配器３１に送出する機能を有する。この場合、信号分配器３１は、Ａ系及びＢ系のネットワーク３Ａ，３Ｂの対応するＡＯスレーブ２７Ａ，２７Ｂからそれぞれ与えられるアナログ制御情報の平均値を算出して、算出結果を対応する制御対象のアナログ機器に送信する。ただし、信号分配器３１がＡ系及びＢ系のネットワーク３Ａ，３Ｂの対応するＡＯスレーブ２７Ａ，２７Ｂからそれぞれ与えられるアナログ制御情報のうちの値が大きい方又は小さい方や、予め定められた一方のネットワーク３Ａ，３ＢのＡＯスレーブ２７Ａ，２７Ｂから与えられるアナログ制御情報のみを対応する制御対象のアナログ機器に送信するようにしても良い。
【００３６】
ＤＩスレーブ２８Ａ，２８Ｂは、リモートサイト側に配設された各ディジタルセンサにそれぞれ対応させてＡ系及びＢ系のネットワーク３Ａ，３Ｂ上にそれぞれ１又は複数設けられる。ＤＩスレーブ２８Ａ，２８Ｂは、対応する信号分配器３１を介して与えられる対応するディジタルセンサのセンサ出力（センサ情報）を定周期フレーム内の自己に割り当てられた領域に格納する機能を有する。
【００３７】
ＤＯスレーブ２９Ａ，２９Ｂは、リモートサイト側に配設された制御対象のディジタル機器にそれぞれ対応させてＡ系及びＢ系のネットワーク３Ａ，３Ｂ上にそれぞれ１又は複数設けられる。ＤＯスレーブ２９Ａ，２９Ｂは、後述のように定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出して対応する信号分配器３１に送出する機能を有する。この場合、信号分配器３１は、Ａ系及びＢ系のネットワーク３Ａ，３Ｂの対応するＤＯスレーブ２９Ａ，２９Ｂからそれぞれ与えられる制御情報の平均値を算出して、算出結果を対応する制御対象のディジタル機器に送信する。ただし、信号分配器３１がＡ系及びＢ系のネットワーク３Ａ，３Ｂの対応するＤＯスレーブ２９Ａ，２９Ｂからそれぞれ与えられる制御情報のうちの値が大きい方又は小さい方や、予め定められた一方のネットワーク３Ａ，３ＢのＤＯスレーブ２９Ａ，２９Ｂから与えられる制御情報のみを対応する制御対象のディジタル機器に送信するようにしても良い。
【００３８】
かかる構成を有するリモートＩ／Ｏシステム１において、Ａ系のネットワーク３Ａにおける第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａと、第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂとの間の主従関係や、Ｂ系のネットワーク３Ｂにおける第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａと、第２の制御装置２Ｂの第２のマスタＣＰＵ１２Ｂとの間の主従関係は、主従切替え器４により制御される。主従切替え器４は、通常時、第１の制御装置２Ａの第１及び第２のマスタＣＰＵ１１Ａ，１２Ａをそれぞれ主系に設定し、第２の制御装置２Ｂの第１及び第２のマスタＣＰＵ１１Ｂ，１２Ｂをそれぞれ従系に設定する。
【００３９】
主系に設定された第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａは、通常時、Ａ系のネットワーク３Ａ上に存在するすべてのＩ／Ｏスレーブ３０Ａを通信対象とする、イーサキャット（登録商標）規格で規定された定周期フレームを一定周期（例えば１〔ms〕周期）でＡ系のネットワーク３Ａの第１のスイッチングハブ２０Ａに送信する。また第１のスイッチングハブ２０Ａは、第１の制御装置２Ａから送信される定周期フレームを第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂ及びＡ系のネットワーク３Ａの第１のメディアコンバータ２２Ａに転送する。
【００４０】
第１のメディアコンバータ２２Ａは、第１のスイッチングハブ２０Ａから転送される定周期フレームを光信号に変換し、この光信号を光ケーブル３２を介して第２のメディアコンバータ２３Ａに送信する。また第２のメディアコンバータ２３Ａは、第１のメディアコンバータ２２Ａから送信される光信号を電気信号に変換し、かくして得られた定周期フレームをＡＩスレーブ２６Ａに転送する。
【００４１】
ＡＩスレーブ２６Ａは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてＡＩスレーブ２６Ａは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ（図１ではＡＯスレーブ２７Ａ）に転送する。
【００４２】
またＡＯスレーブ２７Ａは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報をアナログ変換して対応する信号分配器３１に送出すると共に、その定周期フレームを次段のスレーブ（図１ではＤＩスレーブ２８Ａ）に転送する。
【００４３】
ＤＩスレーブ２８Ａは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてＤＩスレーブ２８Ａは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ（図１ではＤＯスレーブ２９Ａ）に転送する。
【００４４】
またＤＯスレーブ２９Ａは、定周期フレームを受信すると、受信した定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報を対応する信号分配器３１に送出すると共に、その定周期フレームを次段のスレーブ（図１では第３のメディアコンバータ２４Ａ）に転送する。
【００４５】
第３のメディアコンバータ２４Ａは、受信した定周期フレームを光信号に変換し、この光信号を光ケーブル３２を介して制御室内の第４のメディアコンバータ２５Ａに送信する。また第４のメディアコンバータ２５Ａは、第３のメディアコンバータ２４Ａから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第２のスイッチングハブ２１Ａに転送する。
【００４６】
第２のスイッチングハブ２１Ａは、第４のメディアコンバータ２５Ａから転送される定周期フレームを、第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａ及び第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂに送出する。そして定周期フレームを受信した第１の制御装置２Ａの第１のマスタＣＰＵ１１Ａは、ＡＩスレーブ２６ＡやＤＩスレーブ２８Ａがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインＣＰＵ１０Ａに引き渡す。
【００４７】
一方、このとき第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａも、第１のマスタＣＰＵ１１Ａと同様に、Ｂ系のネットワーク３Ｂ上に存在するすべてのＩ／Ｏスレーブ３０Ｂを通信対象とする、イーサキャット（登録商標）規格で規定された定周期フレームを定期的に（第１のマスタＣＰＵ１１ＡがＡ系のネットワーク３Ａに定周期フレームを送信する周期と同じ周期で）Ｂ系のネットワーク３Ｂの第１のスイッチングハブ２０Ｂに送信する。またＢ系のネットワーク３Ｂの第１のスイッチングハブ２０Ｂは、かかる定周期フレームを第２の制御装置２Ｂの第２のマスタＣＰＵ１２Ｂ及びＢ系のネットワーク３Ｂの第１のメディアコンバータ２２Ｂに転送する。
【００４８】
この結果、この定周期フレームが上述したＡ系のネットワーク３Ａと同様にＢ系のネットワーク３Ｂ上で順次転送されてＢ系の第２のスイッチングハブ２１Ｂを介して第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａに戻る。かくして、この定周期フレームを受信した第１の制御装置２Ａの第２のマスタＣＰＵ１２Ａは、Ｂ系のネットワーク３Ｂ上のＡＩスレーブ２６ＢやＤＩスレーブ２８Ｂがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインＣＰＵ１０Ａに引き渡す。
【００４９】
メインＣＰＵ１０Ａは、第１のマスタＣＰＵ１１Ａから与えられたセンサ情報と、第２のマスタＣＰＵ１１Ａから与えられたセンサ情報とに基づいてリモートサイトの各制御対象をそれぞれ所定状態に制御するためのコマンドやパラメータなどの制御情報を生成する。この際、メインＣＰＵ１０Ａは、ネットワーク障害等により第１及び第２のマスタＣＰＵ１１Ａの一方からしか取得できなかったセンサ情報が存在する場合には、そのセンサ情報のみを利用して制御情報を生成する。そしてメインＣＰＵ１０Ａは、生成した制御情報を第１及び第２のマスタＣＰＵ１１Ａ，１２Ａに引き渡す。かくして第１及び第２のマスタＣＰＵ１１Ａ，１２Ａは、それぞれこれらの制御情報を対応する領域にそれぞれ格納した定周期フレームを生成し、生成した定周期フレームを次の送信タイミングでＡ系又はＢ系のネットワーク３Ａ，３Ｂの第１のスイッチングハブ２０Ａ，２０Ｂに送信する。
【００５０】
このようにして第１又は第２の制御装置２Ａ，２Ｂは、リモートサイトに配置された各アナログセンサ又は各ディジタルセンサのセンサ出力に基づいて、リモートサイトの各制御対象を所定状態にそれぞれ制御する。
【００５１】
他方、このとき従系に設定された第２の制御装置２Ｂでは、Ａ系のネットワーク３Ａの第２のスイッチングハブ２１Ａから第１のマスタＣＰＵ１１Ｂに送信される定周期フレームと、Ｂ系のネットワーク３Ｂの第２のスイッチングハブ２１Ｂから第２のマスタＣＰＵ１２Ｂに送信される定周期フレームとに基づいて上述の第１の制御装置２Ａと同様の処理が実行される。
【００５２】
ただし、第２の制御装置２Ｂの第１のマスタＣＰＵ１１Ｂ及び第２のマスタＣＰＵ１２Ｂは、かかる処理により生成した上述の制御情報が格納された定周期フレームを第１のスイッチングハブ２０Ａ，２０Ｂに送信することなく破棄する。従って、本リモートＩ／Ｏシステム１では、通常時、主系に設定された第１の制御装置２Ａの第１及び第２のマスタＣＰＵ１１Ａ，１２Ａからそれぞれ出力される定周期フレームのみがＡ系又はＢ系のネットワーク３Ａ，３Ｂ上で伝送される。
【００５３】
一方、主従切替え器４は、主系に設定されている第１の制御装置２Ａの第１又は第２のマスタＣＰＵ１１Ａ，１２Ａに障害が発生した場合、その障害が発生した第１又は第２のマスタＣＰＵ１１Ａ，１２Ａが接続されているＡ系又はＢ系のネットワーク３Ａ，３Ｂのマスタを第２の制御装置２Ｂの第１又は第２のマスタＣＰＵ１１Ｂ，１２Ｂとするよう第１及び第２の制御装置２Ａ，２Ｂの主従の設定を切り替える。
【００５４】
そして主系に切り替えられた第２の制御装置２Ｂの第１又は第２のマスタＣＰＵ１１Ｂ，１２Ｂは、この後、上述のように生成した定周期フレームをＡ系又はＢ系の第１のスイッチングハブ２０Ａ，２０Ｂに送信し、これに対して従系に切り替えられた第１の制御装置２Ａの第１又は第２のマスタＣＰＵ１１Ａ，１２Ａは、この後、上述のように生成した定周期フレームを第１のスイッチングハブ２０Ａ，２０Ｂに送信することなく破棄する。この結果、第１の制御装置２Ａの第１又は第２のマスタＣＰＵ１１Ａ，１２Ａと、第２の制御装置２Ｂの対応する第１又は第２のマスタＣＰＵ１１Ｂ，１２Ｂとの主従関係が切り替えられた場合には、主系に切り替えられた第２の制御装置２Ｂの第１又は第２のマスタＣＰＵ１１Ｂ，１２Ｂから出力される定周期フレームが対応するＡ系又はＢ系のネットワーク３Ａ，３Ｂ上で伝送されることになる。
【００５５】
なお、第１又は第２の制御装置２Ａ，２Ｂの第１のマスタＣＰＵ１１Ａ，１１Ｂや第２のマスタＣＰＵ１２Ａ，１２Ｂから出力される定周期フレームのフレームフォーマットを図２（Ａ）〜（Ｅ）に示す。
【００５６】
図２（Ａ）に示すように、定周期フレームは、14バイトのイーサネット（登録商標）ヘッダフィールド（Ethernet（登録商標） Header）と、最大1500バイトのイーサネット（登録商標）データフィールド（Ethernet（登録商標） Data）と、４バイトのＦＣＳ（Frame Check Sequence）フィールド（FCS）とから構成される。そしてイーサネット（登録商標）ヘッダフィールドには、その定周期フレームのあて先や送信元のアドレスが格納され、ＦＣＳフィールドには、ＣＲＣ（Cyclic Redundancy Check）コード等の定周期フレームの誤り検査用の情報が格納される。
【００５７】
またイーサネット（登録商標）データフィールドは、図２（Ｂ）に示すように、11ビットのデータ長フィールド（Length）と、１ビットのリザーブフィールド（Reserve）と、４ビットのタイプフィールド（Ty）と、44〜1498バイトのイーサキャット（登録商標）データグラムフィールド（1…n EtherCAT Datagrams）とから構成される。そしてイーサキャット（登録商標）データグラムフィールドには、図２（Ｃ）に示すように、その定周期フレームの送信対象となる各スレーブにそれぞれ対応付けられた１又は複数のイーサキャット（登録商標）用のフレーム（以下、これをイーサキャット（登録商標）データグラムと呼ぶ）が格納され、データ長フィールドには、イーサキャット（登録商標）データグラムフィールドに格納されているすべてのイーサキャット（登録商標）データグラムの合計データ長が格納される。またリザーブフィールドには通常「０」に設定されたフラグが格納され、タイプフィールドには、イーサキャット（登録商標）データグラムフィールドに格納されたデータのタイプを表すコード（イーサキャット（登録商標）の場合は「0x1」）が格納される。
【００５８】
各イーサキャット（登録商標）データグラムフィールドは、図２（Ｄ）に示すように、10バイトのデータグラムヘッダフィールド（Datagram Header）と、最大1486バイトのデータフィールド（Data）と、２バイトのＷＫＣ（Working Counter）フィールドとから構成される。そして、データフィールドには、マスタ（第１又は第２の制御装置２Ａ，２Ｂの第１のマスタＣＰＵ１１Ａ，１１Ｂや第２のマスタＣＰＵ１２Ａ，１２Ｂ）が対応するスレーブに送信するデータ（本実施の形態においては上述の制御情報）、又は、そのスレーブがマスタに送信すべきデータ（本実施の形態においては上述のセンサ情報）が格納される。またＷＫＣフィールドには、イーサキャット（登録商標）データグラムによって正常に処理された処理数に応じたカウント値が格納される。
【００５９】
さらにデータグラムヘッダフィールドは、図２（Ｅ）に示すように、８ビットのコマンドフィールド（Cmd）と、８ビットのインデックスフィールド（Idx）と、32ビットのアドレスフィールド（Address）と、11ビットのデータタイプフィールド（Len）と、３ビットのリザーブフィールド（R）と、１ビットの循環有無ビットフィールド（C）と、１ビットの継続有無ビットフィールド（M）と、16ビットのイーサキャット（登録商標）割込みリクエストレジスタフィールド（IRQ）とから構成される。
【００６０】
そしてコマンドフィールドには、マスタが対応するスレーブに発行したイーサキャット（登録商標）コマンドのコマンドタイプを表すコードが格納され、インデックスフィールドには、マスタからスレーブに送信すべきデータ又はスレーブからマスタに送信すべき情報が複数の定周期フレームに分割して格納される場合におけるそのデータの順番を表すインデックス番号が格納される。またアドレスフィールドには、対応するスレーブのアドレスが格納され、データタイプフィールドには、そのデータグラムヘッダに続くデータグラムのデータタイプが格納される。
【００６１】
さらに循環有無ビットフィールドには、その定周期フレームが既に対応するスレーブを循環しているか否かを表すフラグが格納される。そして、このフラグは、その定周期フレームが対応するスレーブを循環していない場合には「０」に設定され、その定周期フレームが対応するスレーブを既に循環している場合には、当該スレーブにより「１」に更新される。
【００６２】
また継続有無ビットフィールドには、そのデータグラムがその定周期フレームのイーサキャット（登録商標）データグラムフィールド（図２（Ｂ））に格納された最後のデータグラムであるか否かを表すフラグが格納される。このフラグは、そのイーサキャット（登録商標）データグラムがその定周期フレームのイーサキャット（登録商標）データグラムフィールドに格納された最後のイーサキャット（登録商標）データグラムである場合には「０」に設定され、最後のイーサキャット（登録商標）データグラムでない場合には「１」に設定される。さらにイーサキャット（登録商標）割込みリクエストレジスタフィールドは、割込みリクエストを格納するレジスタとして利用される。
【００６３】
（２）Ｉ／Ｏスレーブの構成
図３は、Ｉ／Ｏスレーブ３０Ａ，３０Ｂの概略構成を示す。この図３からも明らかなように、各Ｉ／Ｏスレーブ３０Ａ，３０Ｂは、バス４０を介して相互に接続されたＣＰＵ４１、Ｉ／Ｏ制御部４２及びイーサキャット（登録商標）スレーブコントローラ４３と、第１及び第２のＰＨＹ４４Ａ，４４Ｂと、第１及び第２のポート４５Ａ，４５Ｂと、運転ＬＥＤ（Light Emitting Diode）４６及び故障ＬＥＤ４７とを備えて構成される。
【００６４】
ＣＰＵ４１は、Ｉ／Ｏスレーブ３０Ａ，３０Ｂ全体の動作制御を司るプロセッサである。ＣＰＵ４１は、そのＩ／Ｏスレーブ３０Ａ，３０ＢがＡＩスレーブ２６Ａ，２６Ｂ（図１）又はＤＩスレーブ２８Ａ，２８Ｂ（図１）の場合には、後述のようにＩ／Ｏ制御部４２から与えられるセンサ情報をイーサキャット（登録商標）スレーブコントローラ４３内のメモリ４３Ａに格納し、そのＩ／Ｏスレーブ３０Ａ，３０ＢがＡＯスレーブ２７Ａ，２７Ｂ又はＤＯスレーブ２９Ａ，２９Ｂの場合には、イーサキャット（登録商標）スレーブコントローラ４３内のメモリ４３Ａに格納されている定周期フレームから抽出された制御情報を読み出してＩ／Ｏ制御部４２に送信する。
【００６５】
Ｉ／Ｏ制御部４２は、ＦＰＧＡ（Field-Programmable Gate Array）から構成され、対応するセンサのセンサ出力の入力処理（ディジタル変換処理を含む）や、対応する制御対象への制御情報の出力処理（アナログ変換処理を含む）を制御する。
【００６６】
実際上、Ｉ／Ｏ制御部４２は、例えば実装先のＩ／Ｏスレーブ３０Ａ，３０ＢがＡＩスレーブ２６Ａ，２６Ｂである場合には、そのＩ／Ｏスレーブ３０Ａ，３０Ｂに搭載されたアナログ／ディジタル変換器を制御することにより、対応するアナログセンサから信号分配器３１を介して与えられるセンサ出力をディジタル変換させ、かくして得られたセンサ情報をバス４０を介してＣＰＵ４１に与える。
【００６７】
またＩ／Ｏ制御部４２は、実装先のＩ／Ｏスレーブ３０Ａ，３０ＢがＡＯスレーブ２７Ａ，２７Ｂである場合には、そのＩ／Ｏスレーブ３０Ａ，３０Ｂに搭載されたディジタル／アナログ変換器を制御することにより、ＣＰＵ４１からバス４０を介して与えられる制御情報をアナログ変換させて、その制御情報を対応する信号分配器３１に出力させる。
【００６８】
さらにＩ／Ｏ制御部４２は、実装先のＩ／Ｏスレーブ３０Ａ，３０ＢがＤＩスレーブ２８Ａ，２８Ｂである場合には、対応するディジタルセンサから信号分配器３１を介して与えられるセンサ出力をバス４０を介してＣＰＵ４１に与え、実装先のＩ／Ｏスレーブ３０Ａ，３０ＢがＤＯスレーブ２９Ａ，２９Ｂである場合には、ＣＰＵ４１からバス４０を介して与えられる制御情報を対応する信号分配器３１に出力する。
【００６９】
イーサキャット（登録商標）スレーブコントローラ４３は、上述のようにイーサキャット（登録商標）規格に準拠したスレーブコントローラであり、受信した定周期フレームに対する情報の読み書きを行う。実際上、イーサキャット（登録商標）スレーブコントローラ４３は、実装先のＩ／Ｏスレーブ３０Ａ，３０ＢがＡＩスレーブ２６Ａ，２６Ｂ又はＤＩスレーブ２８Ａ，２８Ｂの場合、ＣＰＵ４１によりメモリ４３Ａに書き込まれたセンサ情報を、受信した定周期フレーム内のそのＩ／Ｏスレーブ３０Ａ，３０Ｂに割り当てられた領域に書き込む。またイーサキャット（登録商標）スレーブコントローラ４３は、実行されたＩ／Ｏスレーブ３０Ａ，３０ＢがＡＯスレーブ２７Ａ，２７Ｂ又はＤＯスレーブ２９Ａ，２９Ｂの場合には、受信した定周期フレーム内のそのＩ／Ｏスレーブ３０Ａ，３０Ｂに割り当てられた領域から制御情報を読み出し、読み出した情報をメモリ４３Ａに格納する。
【００７０】
さらにイーサキャット（登録商標）スレーブコントローラ４３には、ループバック機能も搭載されており、実装先のＩ／Ｏスレーブ３０Ａ，３０Ｂと接続された他のスレーブとの間の通信が途絶えた場合、定周期フレームをそのスレーブには転送せずに送信元のスレーブに送り戻すループバック処理を実行する。
【００７１】
第１のＰＨＹ４４Ａは受信装置であり、第１のポート４５Ａを介してネットワーク３Ａ，３Ｂと接続される。また第２のＰＨＹ４４Ｂは送信装置であり、第２のポート４５Ｂを介してネットワーク３Ａ，３Ｂと接続される。第１のＰＨＹ４４Ａは、接続されたネットワーク３Ａ，３Ｂから第１のポート４５Ａを介して与えられる定周期フレームをイーサキャット（登録商標）スレーブコントローラ４３に送信し、第２のＰＨＹ４４Ｂは、イーサキャット（登録商標）スレーブコントローラ４３から与えられた定周期フレームを第２のポート４５Ｂを介してネットワーク３Ａ，３Ｂに出力する。
【００７２】
（３）ＣＰＵ障害時リンクダウン機能
ところで、図３について上述したＩ／Ｏスレーブ３０Ａ，３０Ｂでは、ＣＰＵ４１に障害が発生して処理を停止した場合においてもイーサキャット（登録商標）スレーブコントローラ４３は動作し続ける。このため例えば、そのＩ／Ｏスレーブ３０Ａ，３０ＢがＡＩスレーブ２６Ａ，２６Ｂ又はＤＩスレーブ２８Ａ，２８Ｂである場合、ＣＰＵ４１が処理を停止すると、イーサキャット（登録商標）スレーブコントローラ４３のメモリ４３Ａに格納されたデータが更新されないまま、イーサキャット（登録商標）スレーブコントローラ４３が、メモリ４３Ａに格納されている古いセンサ情報を定周期フレーム内の自己に割り当てられた領域に格納して次段のスレーブに転送することとなる。
【００７３】
この場合において、そのとき主系に設定されている第１又は第２の制御装置２Ａ，２Ｂは、対応するＡ系又はＢ系のネットワーク３Ａ，３ＢをバススキャンすることによりＣＰＵ４１に障害が発生したＩ／Ｏスレーブ３０Ａ，３０Ｂを特定することができる。しかしながら、従系に設定されている第２又は第１の制御装置２Ｂ，２Ａは、そのネットワーク３Ａ，３Ｂのバススキャンを行うことができず、障害が発生したＩ／Ｏスレーブ３０Ａ，３０Ｂを特定することができない。
【００７４】
このため従系に設定されている第２又は第１の制御装置２Ｂ，２Ａは、ＣＰＵ４１に障害が発生したＩ／Ｏスレーブ３０Ａ，３０Ｂからのセンサ情報を正しい情報として制御情報を生成することとなる。よって、この直後に第１及び第２の制御装置２Ａ，２Ｂの主従関係が切り替えられた場合、新たに主系に設定された第２又は第１の制御装置２Ｂ，２Ａは、障害が発生したＩ／Ｏスレーブ３０Ａ，３０Ｂから送信される古いセンサ情報に基づいて制御処理が行われることになる。
【００７５】
以上のような事態の発生を回避すべく、本実施の形態によるリモートＩ／Ｏシステム１には、Ｉ／Ｏスレーブ３０Ａ，３０ＢのＣＰＵ４１に障害が発生した場合、そのＩ／Ｏスレーブ３０Ａ，３０Ｂが自らリンクダウンして自己をネットワーク３Ａ，３Ｂから切り離すＣＰＵ障害時リンクダウン機能が各Ｉ／Ｏスレーブ３０Ａ，３０Ｂに搭載されている。
【００７６】
このようなＣＰＵ障害時リンクダウン機能を実現するための手段として、各Ｉ／Ｏスレーブ３０Ａ，３０ＢのＩ／Ｏ制御部４２には、一定周期でカウントアップするウォッチドッグタイマが実装されている。そしてＣＰＵ４１は、バス４０を介して定期的にＩ／Ｏ制御部４２にリセット指令を送信することによってそのウォッチドッグタイマをリセットする。
【００７７】
本実施の形態の場合、ＣＰＵ４１によるイーサキャット（登録商標）スレーブコントローラ４３のメモリ４３Ａに対するセンサ情報の書き込みや、当該メモリ４３Ａに格納されている制御情報の読み出しが500〔us〕周期で行われる。このためＣＰＵ４１は、１〔ms〕周期で上述のリセット指令をＩ／Ｏ制御部４２に送信する。
【００７８】
そしてＩ／Ｏ制御部４２は、かかるウォッチドッグタイマが予め定められたカウント値（以下、これを設定値と呼ぶ）以内にリセットされなかった場合には、ＣＰＵ４１に障害（以下、適宜、これをＣＰＵウォッチドッグタイマ異常と呼ぶ）が発生したと判定して、第１及び第２のＰＨＹ４４Ａ，４４Ｂ並びにイーサキャット（登録商標）スレーブコントローラ４３にリセット信号を連続的に送信し続ける。この結果、リセット信号を受信した第１及び第２のＰＨＹ４４Ａ，４４Ｂ並びにイーサキャット（登録商標）スレーブコントローラ４３がそれぞれリセット処理を連続的に実行し、第１及び第２のＰＨＹ４４Ａ，４４Ｂが他のスレーブとの通信を遮断することによりそのＩ／Ｏスレーブ３０Ａ，３０Ｂがネットワーク３Ａ，３Ｂから切り離される。
【００７９】
またＩ／Ｏ制御部４２は、上述のような第１及び第２のＰＨＹ４４Ａ，４４Ｂ及びイーサキャット（登録商標）スレーブコントローラ４３に対するリセット信号の送信と併せて、それまで点灯していた運転ＬＥＤ４６を消灯させ、かつそれまで消灯していた故障ＬＥＤ４７を点灯させることにより、障害が発生したことを表示させる。
【００８０】
なお、かかるＩ／Ｏスレーブ３０Ａ，３０Ｂのリンクダウンからの復帰は、そのＩ／Ｏスレーブ３０Ａ，３０Ｂの修理後又は新しいＩ／Ｏスレーブ３０Ａ，３０Ｂとの交換後にシステム管理者が当該Ｉ／Ｏスレーブ３０Ａ，３０Ｂを再起動又は起動することにより実現される。
【００８１】
図４は、上述のようなＣＰＵ障害時リンクダウン機能に関連してＩ／Ｏスレーブ３０Ａ，３０ＢのＩ／Ｏ制御部４２により実行されるＣＰＵ障害時リンクダウン処理の処理手順を示す。Ｉ／Ｏ制御部４２は、実装先のＩ／Ｏスレーブ３０Ａ，３０Ｂが起動されるとこの図４に示すＣＰＵ障害時リンクダウン処理を開始し、まず、ウォッチドッグタイマのカウント値をリセットし（ＳＰ１）、この後、ウォッチドッグタイマによるカウントを開始させる（ＳＰ２）。
【００８２】
続いて、Ｉ／Ｏ制御部４２は、ウォッチドッグタイマのカウント値を１だけカウントアップし（ＳＰ３）、この後、ＣＰＵ４１からのリセット指令を受信したか否かを判断する（ＳＰ４）。Ｉ／Ｏ制御部４２は、この判断で肯定結果を得るとステップＳＰ１に戻り、この後、ステップＳＰ１以降を同様に繰り返す。
【００８３】
これに対してＩ／Ｏ制御部４２は、ステップＳＰ４の判断で否定結果を得ると、そのときのウォッチドッグタイマのカウント値を参照して、そのカウント値が上述の設定値を超えたか否かを判断する（ＳＰ５）。そしてＩ／Ｏ制御部４２は、この判断で肯定結果を得るとステップＳＰ３に戻り、この後、上述した処理を繰り返す。
【００８４】
これに対してＩ／Ｏ制御部４２は、ステップＳＰ５の判断で否定結果を得ると、その後第１及び第２のＰＨＹ４４Ａ，４４Ｂ及びイーサキャット（登録商標）スレーブコントローラ４３にリセット信号を連続的に送信し続けることによりそのＩ／Ｏスレーブ３０Ａ，３０Ｂをリンクダウンさせると共に、運転ＬＥＤ４６を消灯させ、かつ故障ＬＥＤ４７を点灯させる（ＳＰ６）。そして、Ｉ／Ｏ制御部４２は、この後、このＣＰＵ障害時リンクダウン処理を終了する。
【００８５】
一方、図５は、Ａ系又はＢ系のネットワーク３Ａ，３Ｂ上のいずれかのＩ／Ｏスレーブ３０Ａ，３０ＢにＣＰＵウォッチドッグタイマ異常が発生した場合に本リモートＩ／Ｏシステム１において実行される一連の処理の流れを示す。
【００８６】
本リモートＩ／Ｏシステム１において、いずれかのＩ／Ｏスレーブ３０Ａ，３０ＢにＣＰＵウォッチドッグタイマ異常が発生した場合、上述のようにそのＩ／Ｏスレーブ（以下、これをＣＰＵ障害Ｉ／Ｏスレーブと呼ぶ）３０Ａ，３０Ｂが自らリンクダウンして自己をネットワーク３Ａ，３Ｂから切り離す（ＳＰ１０）。そしてＣＰＵ障害Ｉ／Ｏスレーブ３０Ａ，３０Ｂがリンクダウンすると、その両側のスレーブが当該リンクダウンを検出してループバック処理を開始する（ＳＰ１１）。
【００８７】
そして、ＣＰＵ障害Ｉ／Ｏスレーブ３０Ａ，３０Ｂの両側のスレーブがループバック処理を開始すると、そのＡ系又はＢ系のネットワーク３Ａ，３Ｂのマスタ（第１又は第２の制御装置２Ａ，２Ｂの第１又は第２のマスタＣＰＵ１１Ａ，１１Ｂ，１２Ａ，１２Ｂ）がＣＰＵ障害Ｉ／Ｏスレーブ３０Ａ，３０Ｂのリンクダウンを検知し、例えばそのＣＰＵ障害Ｉ／Ｏスレーブ３０Ａ，３０ＢがＡＩスレーブ２６Ａ，２６ＢやＤＩスレーブ２８Ａ，２８Ｂであった場合には、他系（Ｂ系又はＡ系）のネットワーク３Ｂ，３Ａの対応するＡＩスレーブ２６Ｂ，２６Ａ又はＤＩスレーブ２８Ｂ，２８Ａからセンサ情報を取得するよう当該センサ情報の取得先を切り替える（ＳＰ１２）。
【００８８】
この後、システム管理者によりＣＰＵ障害Ｉ／Ｏスレーブ３０Ａ，３０Ｂが修理され又は正常なＩ／Ｏスレーブ３０Ａ，３０Ｂと交換された後、そのＩ／Ｏスレーブ３０Ａ，３０Ｂが再起動又は起動されると、イーサキャット（登録商標）のホットコネクト機能により当該Ｉ／Ｏスレーブ３０Ａ，３０Ｂとその両側のスレーブとの通信が開始され（ＳＰ１３）、この後、この一連の処理が終了する。
【００８９】
（４）本実施の形態の効果
以上のように本実施の形態のリモートＩ／Ｏシステム１では、マスタ装置として第１及び第２の制御装置２Ａ，２Ｂが設けられ、第１及び第２の制御装置２Ａ，２Ｂにおいて常に同じ処理が行われ、第１及び第２の制御装置２Ａ，２Ｂのうち主系に設定された第１の制御装置２Ａのみが定周期フレームをＡ系及びＢ系のネットワーク３Ａ，３Ｂにそれぞれ送信する。そして主系に設定された第１の制御装置２Ａに障害が発生した場合には、主従切替え器４により第１及び第２の制御装置２Ａ，２Ｂの主従が切り替えられ、第２の制御装置２Ｂが主系として動作する。
【００９０】
また本リモートＩ／Ｏシステム１では、ネットワーク（Ａ系及びＢ系のネットワーク３Ａ，３Ｂ）も二重化されており、一方のネットワーク３Ａ，３Ｂに障害が発生した場合においても、主系に設定された第１又は第２の制御装置２Ａ，２Ｂにおいて、他方のネットワーク３Ａ，３Ｂから取得したセンサ情報を利用した制御情報の生成が実行される。
【００９１】
従って、本リモートＩ／Ｏシステム１によれば、主系に設定された第１の制御装置２Ａに障害が発生した場合や、Ａ系及びＢ系の何れか一方のネットワーク３Ａ，３Ｂに障害が発生した場合においても、システム全体として問題なく処理を継続することができ、信頼性の高い通信システムを構築することができる。
【００９２】
また本リモートＩ／Ｏシステム１では、Ｉ／Ｏスレーブ３０Ａ，３０ＢにＣＰＵウォッチドッグタイマ異常が発生した場合に、そのＩ／Ｏスレーブ３０Ａ，３０Ｂが自らリンクダウンして自己をネットワーク３Ａ，３Ｂから切り離す。
【００９３】
従って、リモートＩ／Ｏシステム１において、特に、ＡＩスレーブ２６Ａ，２６ＢやＤＩスレーブ２８Ａ，２８ＢのＣＰＵ４１に障害が発生した場合においても、古いセンサ情報が第１又は第２の制御装置２Ａ，２Ｂに伝送され、当該古いセンサ情報に基づいてリモートサイトの制御対象が制御されるのを未然かつ有効に防止することができる。
【００９４】
なお、イーサキャット（登録商標）規格で採用されているプロセスデータインタフェース（ＰＤＩ：Process Data Interface）ウォッチドッグタイマ機能によりＩ／Ｏスレーブ３０Ａ，３０ＢのＣＰＵウォッチドッグタイマ異常を監視することもできる。
【００９５】
しかしながら、この方法によると、イーサキャット（登録商標）の定周期フレーム上に定義されている割込みが通知された後にマスタ（第１又は第２の制御装置２Ａ，２Ｂの第１又は第２のマスタＣＰＵ１１Ａ，１２Ａ，１１Ｂ，１２Ｂ）からバススキャンを行ってどのＩ／Ｏスレーブ３０Ａ，３０Ｂにプロセスデータインタフェースウォッチドッグタイマ異常が発生したかを検出する必要があるため、かかるバススキャンを行えない従系のマスタ（第２又は第１の制御装置２Ｂ，２Ａの第１又は第２のマスタＣＰＵ１１Ｂ，１２Ｂ，１１Ａ，１２Ａ）はどのＩ／Ｏスレーブ３０Ａ，３０Ｂにプロセスデータインタフェースウォッチドッグタイマ異常が発生したのかを検知することができない。
【００９６】
従って、かかるプロセスデータインタフェースウォッチドッグ機能ではなく、本実施の形態のようなＣＰＵウォッチドッグタイマ機能を利用することによって、古いセンサ情報を利用した制御が行われることに起因する不具合の発生を有効に防止でき、より信頼性の高いリモートＩ／Ｏシステムを構築することができる。
【００９７】
（５）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成されたガスタービン発電プラント用のリモートＩ／Ｏシステムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の用途及びこの他種々の構成のリモートＩ／Ｏシステムに広く適用することができる。
【００９８】
また上述の実施の形態においては、Ｉ／Ｏスレーブ３０Ａ，３０Ｂにおいて、ＣＰＵ４１（図３）を監視し、ＣＰＵ４１の障害を検出した場合に外部と通信を行わないように第１及び第２のＰＨＹ４４Ａ，４４Ｂを制御するプロセッサ監視部としての機能を、対応するセンサのセンサ出力の入力処理や、対応する制御対象への制御情報の出力処理を制御するＩ／Ｏ制御部４２に搭載するようにした場合について述べたが、本発明はこれに限らず、かかるプロセッサ監視部としての機能を有するデバイスをＣＰＵ４１やＩ／Ｏ制御部４２とは別に設けるようにしても良い。
【産業上の利用可能性】
【００９９】
本発明は、種々の構成を有するリモートＩ／Ｏシステムに広く適用することができる。
【符号の説明】
【０１００】
１……リモートＩ／Ｏシステム、２Ａ，２Ｂ……制御装置、３Ａ，３Ｂ……ネットワーク、４……主従切替え器、１０Ａ，１０Ｂ……メインＣＰＵ、１１Ａ，１１Ｂ，１２Ａ，１２Ｂ……マスタＣＰＵ、２０Ａ，２０Ｂ，２１Ａ，２１Ｂ……スイッチングハブ、２２Ａ〜２５Ａ，２２Ｂ〜２５Ｂ……メディアコンバータ、２６Ａ，２６Ｂ……ＡＩスレーブ、２７Ａ，２７Ｂ……ＡＯスレーブ、２８Ａ，２８Ｂ……ＤＩスレーブ、２９Ａ，２９Ｂ……ＤＯスレーブ、３０Ａ，３０Ｂ……Ｉ／Ｏスレーブ、３１……信号分配器、４１……ＣＰＵ、４２……Ｉ／Ｏ制御部、４３……イーサキャット（登録商標）スレーブコントローラ、４４Ａ，４４Ｂ……ＰＨＹ。
【図１】
2015127926.tif 000003
【図２】
2015127926.tif 000004
【図３】
2015127926.tif 000005
【図４】
2015127926.tif 000006
【図５】
2015127926.tif 000007