特許第6273841号(P6273841)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社IHIの特許一覧

<>
  • 特許6273841-通信システム及び通信制御方法 図000002
  • 特許6273841-通信システム及び通信制御方法 図000003
  • 特許6273841-通信システム及び通信制御方法 図000004
  • 特許6273841-通信システム及び通信制御方法 図000005
  • 特許6273841-通信システム及び通信制御方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6273841
(24)【登録日】2018年1月19日
(45)【発行日】2018年2月7日
(54)【発明の名称】通信システム及び通信制御方法
(51)【国際特許分類】
   G05B 19/05 20060101AFI20180129BHJP
   H04L 12/437 20060101ALI20180129BHJP
【FI】
   G05B19/05 S
   H04L12/437 Z
【請求項の数】9
【全頁数】20
(21)【出願番号】特願2013-273590(P2013-273590)
(22)【出願日】2013年12月27日
(65)【公開番号】特開2015-127926(P2015-127926A)
(43)【公開日】2015年7月9日
【審査請求日】2016年10月25日
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(74)【代理人】
【識別番号】100093861
【弁理士】
【氏名又は名称】大賀 眞司
(74)【代理人】
【識別番号】100129218
【弁理士】
【氏名又は名称】百本 宏之
(72)【発明者】
【氏名】鎮目 大
(72)【発明者】
【氏名】新妻 素直
(72)【発明者】
【氏名】山上 淳二
(72)【発明者】
【氏名】熊谷 正伸
【審査官】 加藤 啓
(56)【参考文献】
【文献】 特開2007−180830(JP,A)
【文献】 特開平11−338523(JP,A)
【文献】 特開平06−202702(JP,A)
【文献】 特開2011−254332(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
H04L 12/437
(57)【特許請求の範囲】
【請求項1】
マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおいて、
複数のマスタ装置と、
各前記マスタ装置とそれぞれ接続され、1又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、
前記ネットワークごとに、いずれか1つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器と
を備え、
各前記マスタ装置は、他の前記マスタ装置とは別個に各前記ネットワークとそれぞれ接続され、
主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、
各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に第1の情報を読み書きし、
主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ前記第1の情報に基づいて必要な演算処理を実行し、当該演算処理により得られた第2の情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信し、
前記主従切替え器は、主系に設定された前記マスタ装置に障害が発生した場合に、前記ネットワークごとに前記マスタ装置の主系及び従系を切り替える
ことを特徴とする通信システム。
【請求項2】
一部又は全部の前記スレーブ装置は、
前記ネットワークを流れる前記通信フレームを受信する受信部と、
前記受信部が受信した前記通信フレーム内の前記自己に割り当てられた領域に前記情報を書き込むスレーブコントローラと、
前記スレーブコントローラにより前記情報が書き込まれた前記通信フレームを前記ネットワークに送信する送信部と、
前記通信フレームに書き込むべき前記情報を前記スレーブコントローラに提供するプロセッサと、
前記プロセッサを監視するプロセッサ監視部と
を備え、
前記プロセッサ監視部は、
前記プロセッサの障害の有無を監視し、前記プロセッサの障害を検出した場合に、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項1に記載の通信システム。
【請求項3】
前記プロセッサ監視部は、
前記受信部及び前記送信部に対してリセット信号を連続的に送信することにより、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項2に記載の通信システム。
【請求項4】
前記プロセッサ監視部は、
外部から与えられる前記情報の入出力を制御するFPGA(Field-Programmable Gate Array)である
ことを特徴とする請求項2に記載の通信システム。
【請求項5】
前記プロセッサ監視部には、ウォッチドッグタイマが実装され、
前記プロセッサは、定期的に前記ウォッチドッグタイマをリセットし、
前記プロセッサ監視部は、前記ウォッチドッグタイマのカウント値に基づいて前記プロセッサの障害の有無を監視する
ことを特徴とする請求項2に記載の通信システム。
【請求項6】
マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおける通信制御方法であって、
前記通信システムは、
複数のマスタ装置と、
各前記マスタ装置とそれぞれ接続され、1又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、
前記ネットワークごとに、いずれか1つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器と
を有し、
各前記マスタ装置は、他の前記マスタ装置とは別個に各前記ネットワークとそれぞれ接続され、
主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、
各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に第1の情報を読み書きし、
主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ前記第1の情報に基づいて必要な演算処理を実行し、当該演算処理により得られた第2の情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信し、
前記主従切替え器が、主系に設定された前記マスタ装置に障害が発生した場合に、前記ネットワークごとに前記マスタ装置の主系及び従系を切り替える第1のステップと、
新たに主系に設定された前記マスタ装置が、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信する第2のステップと
を備えることを特徴とする通信制御方法。
【請求項7】
一部又は全部の前記スレーブ装置は、
前記ネットワークを流れる前記通信フレームを受信する受信部と、
前記受信部が受信した前記通信フレームに前記情報を書き込むスレーブコントローラと、
前記スレーブコントローラにより前記情報が書き込まれた前記通信フレームを前記ネットワークに送信する送信部と、
前記通信フレームに書き込むべき前記情報を前記スレーブコントローラに提供するプロセッサと、
前記プロセッサを監視するプロセッサ監視部とを有し、
前記プロセッサ監視部が、前記プロセッサの障害の有無を監視する監視ステップと、
前記プロセッサ監視部が、前記プロセッサの障害を検出した場合に、リンクダウンするよう前記受信部及び前記送信部を制御する制御ステップと
を備えることを特徴とする請求項6に記載の通信制御方法。
【請求項8】
前記制御ステップにおいて、前記プロセッサ監視部は、
前記受信部及び前記送信部に対してリセット信号を連続的に送信することにより、リンクダウンするよう前記受信部及び前記送信部を制御する
ことを特徴とする請求項7に記載の通信制御方法。
【請求項9】
前記プロセッサ監視部には、ウォッチドッグタイマが実装され、
前記プロセッサは、定期的に前記ウォッチドッグタイマをリセットし、
前記監視ステップにおいて、前記プロセッサ監視部は、
前記ウォッチドッグタイマのカウント値に基づいて前記プロセッサの障害の有無を監視する
ことを特徴とする請求項7に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システム及び通信制御方法に関し、例えば、リモートI/O(Input/Output)システムに適用して好適なものである。
【背景技術】
【0002】
近年、マスタ−スレーブ方式の通信方式として、イーサネット(登録商標)ベースのフィールドバスシステムであるイーサキャット(Ether CAT:Ether for Control Automation Technology)(登録商標)が注目されている。
【0003】
イーサキャット(登録商標)では、ネットワーク上を定期的に流れる通信フレーム(以下、これを定周期フレームと呼ぶ)を各スレーブがオンザフライで処理する。具体的に、各スレーブは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域にデータを読み書きすると同時にその通信フレームを次のスレーブにフォワードする。
【0004】
スレーブにおけるデータの送受信処理は、そのスレーブに搭載されたイーサキャット(登録商標)スレーブコントローラにより高速に行われる。このためスレーブのネットワークパフォーマンスはそのスレーブのマイコン性能に依存しない。通常、各スレーブ内における定周期フレームの遅延は数〔ns〕程度しかなく、これによりデータ伝送の高速性とリアルタイム性とが確保されている。
【0005】
このようなイーサキャット(登録商標)のデータ伝送の高速性及びリアルタイム性はリアルタイム制御が必要な工場やプラント等において有用であり、近年では、イーサキャット(登録商標)を適用した通信システムの更なる性能や信頼性の向上のための種々の発明が多く提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−176718号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、イーサキャット(登録商標)では、後段のスレーブとの間の通信が途絶えた場合に、前段から送信されてきた定周期フレームをそのスレーブに転送することなく当該定周期フレームの送信元に送り戻すループバックと呼ばれる機能が規定されている。
【0008】
これにより通信方式としてイーサキャット(登録商標)を適用したリモートI/Oシステムでは、例えばネットワークトポロジとしてリング型のネットワークトポロジを採用することによって、ネットワークケーブルの切断やスレーブ障害が発生した場合においても、障害が発生していない各スレーブと、マスタとの間の通信を確保し得るようになされている。
【0009】
しかしながら、かかるリモートI/Oシステムにおいても、例えばネットワーク上の複数箇所でネットワークケーブルの切断やスレーブ障害が発生した場合には、マスタがその障害箇所間に存在するスレーブとの通信を行うことができなくなるという問題があった。このためこの種の構成を有するリモートI/Oシステムでは、より耐障害性の向上が望まれている。
【0010】
また通信方式としてイーサキャット(登録商標)を適用したリモートI/Oシステムにおいて、マスタの二重化を図る場合、スイッチングハブといった汎用のスイッチ装置を利用して定周期フレームを2つのマスタに分配する手法が広く用いられている。
【0011】
かかるリモートI/Oシステムにおいて、スレーブとの通信は、主系に設定された一方のマスタによって行われ、従系に設定された他方のマスタは、定周期フレームをモニタリングするだけでスレーブとの通信を行うことはできない。このため、いずれかのスレーブに障害が発生した場合、主系のマスタは障害が発生したスレーブ(以下、これを障害スレーブと呼ぶ)をバススキャンにより特定することができるが、従系のスレーブは障害スレーブを特定することができない。
【0012】
ところが、スレーブに発生した障害の内容によっては、そのスレーブが定周期フレーム内の自己に割り当てられた領域に正しくないデータが書き込まれることがある。このような場合、主系のマスタは、上述のようにバススキャンにより障害スレーブを特定できるため、その障害スレーブからのデータを利用しないようにすることができる。しかしながら、従系のマスタは、上述のように障害スレーブを特定できないため、障害スレーブからのデータを有効なデータとして利用することになる。
【0013】
この結果、上述のような障害がスレーブに発生した直後に、主系のマスタに障害が発生してマスタの主系及び従系が切り替えられた場合、新たに主系に設定されたマスタ(元の従系のマスタ)が障害スレーブから与えられる正しくないデータを利用して制御を行うこととなる問題があった。
【0014】
またスレーブに障害が発生した場合、主系のマスタはバススキャンにより障害スレーブを特定するが、スレーブ数が多い場合には障害スレーブを特定するのに相応の時間を要し、その間、主系のマスタにおいても障害スレーブから送信される正しくないデータを利用して制御が行われるという問題があった。
【0015】
本発明は以上の点を考慮してなされたもので、耐障害性が高く、信頼性の高い通信システム及び通信制御方法を提案しようとするものである。
【課題を解決するための手段】
【0016】
かかる課題を解決するため本発明においては、マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおいて、複数のマスタ装置と、各前記マスタ装置とそれぞれ接続され、1又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、前記ネットワークごとに、いずれか1つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器とを設け、各前記マスタ装置は、他の前記マスタ装置とは別個に各前記ネットワークとそれぞれ接続され、主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に第1の情報を読み書きし、主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ前記第1の情報に基づいて必要な演算処理を実行し、当該演算処理により得られた第2の情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信し、前記主従切替え器は、主系に設定された前記マスタ装置に障害が発生した場合に、前記ネットワークごとに前記マスタ装置の主系及び従系を切り替えるようにした。
【0017】
また本発明においては、マスタ−スレーブ方式の通信プロトコルが適用された通信システムにおける通信制御方法であって、前記通信システムは、複数のマスタ装置と、各前記マスタ装置とそれぞれ接続され、1又は複数のスレーブ装置が接続されたリング型のネットワークトポロジを有する複数のネットワークと、前記ネットワークごとに、いずれか1つの前記マスタ装置を主系に設定し、他の前記マスタ装置を従系に設定すると共に、必要に応じて前記マスタ装置の主従を切り替える主従切替え器とを有し、各前記マスタ装置は、他の前記マスタ装置とは別個に各前記ネットワークとそれぞれ接続され、主系に設定された前記マスタ装置は、各前記ネットワークと、従系に設定された前記マスタ装置とに所定フォーマットの通信フレームを送信し、各前記ネットワークにそれぞれ接続された各前記スレーブ装置は、前記通信フレーム内の自己に割り当てられた領域に第1の情報を読み書きし、主系に設定された前記マスタ装置は、対応する前記スレーブ装置が前記通信フレームに書き込んだ前記第1の情報に基づいて必要な演算処理を実行し、当該演算処理により得られた第2の情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信し、前記主従切替え器が、主系に設定された前記マスタ装置に障害が発生した場合に、前記ネットワークごとに前記マスタ装置の主系及び従系を切り替える第1のステップと、新たに主系に設定された前記マスタ装置が、対応する前記スレーブ装置が前記通信フレームに書き込んだ情報に基づいて必要な演算処理を実行し、当該演算処理により得られた情報を対応箇所に格納した前記通信フレームを生成し、生成した前記通信フレームを各前記ネットワークと、従系に設定された前記マスタ装置とに送信する第2のステップとを設けるようにした。
【0018】
かかる本発明の通信システム及び通信制御方法によれば、マスタ装置に障害が発生した場合や、ネットワークに障害が発生した場合においても、通信システム全体として問題なく処理を継続することができる。
【発明の効果】
【0019】
本発明によれば、信頼性の高いネットワークシステムを構築し得る通信システム及び通信制御方法を実現できる。
【図面の簡単な説明】
【0020】
図1】本実施の形態によるリモートI/Oシステムの全体構成を示すブロック図である。
図2】(A)−(E)は、イーサキャット(登録商標)プロトコルにおける定周期フレームのフレームフォーマットを示す概念図である。
図3】I/Oスレーブの概略構成を示すブロック図である。
図4】CPU障害時リンクダウン処理の処理手順を示すフローチャートである。
図5】I/OスレーブにCPUウォッチドッグタイマ異常が発生した場合にリモートI/Oシステムにおいて実行される一連の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0021】
以下図面について、本発明の一実施の形態を詳述する。
【0022】
(1)本実施の形態によるリモートI/Oシステムの構成
図1は、ガスタービン発電プラント用のリモートI/Oシステム1の概略構成を示す。このリモートI/Oシステム1は、通信プロトコルとしてイーサキャット(登録商標)プロトコルが適用された通信システムであり、制御室内に設置された冗長化された2つの制御装置(以下、これらを第1及び第2の制御装置と呼ぶ)2A,2Bを備えて構成される。
【0023】
第1及び第2の制御装置2A,2Bは、ガスタービン発電プラント全体を制御する制御装置であり、それぞれメインCPU(Central Processing Unit)10A,10Bと、第1のマスタCPU11A,11Bと、第2のマスタCPU12A,12Bとを備える。
【0024】
メインCPU10A,10Bは、第1又は第2の制御装置2A,2B全体の動作制御を司るプロセッサであり、内部バス13A,13Bを介して接続された第1のマスタCPU11A,11B及び第2のマスタCPU12A,12Bにより収集されたリモートサイトの各種センサのセンサ出力と、図示しないメモリに格納された各種プログラムとに基づいて、リモートサイトに設置されたガスタービン(図示せず)を制御するための各種制御処理を実行する。
【0025】
第1のマスタCPU11A,11B及び第2のマスタCPU12A,12Bは、接続されたA系又はB系のネットワーク3A,3Bにおいてマスタとして機能するプロセッサである。第1のマスタCPU11A,11Bには、リング型のネットワークトポロジを有するA系のネットワーク3Aが接続され、第2のマスタCPU12A,12Bには、リング型のネットワークトポロジを有するB系のネットワーク3Bが接続される。
【0026】
A系のネットワーク3Aは、それぞれ制御室内に配置された第1及び第2のスイッチングハブ20A,21A並びに第1及び第4のメディアコンバータ22A,25Aと、リモートサイトに配置された第2及び第3のメディアコンバータ23A,24A並びにAI(Analog Input)スレーブ26A、AO(Analog Output)スレーブ27A、DI(Digital Input)スレーブ28A及びDO(Digital Output)スレーブ29Aとを備えて構成される。
【0027】
そして第1のスイッチングハブ20A及び第1の制御装置2Aの第1のマスタCPU11A間と、第1のスイッチングハブ20A及び第2の制御装置2Bの第1のマスタCPU11B間と、第2のスイッチングハブ21A及び第1の制御装置2Aの第1のマスタCPU11A間と、第2のスイッチングハブ21A及び第2の制御装置2Bの第1のマスタCPU11B間とは、それぞれ100BASE-TXケーブル等のイーサネット(登録商標)カテゴリ5以上のケーブルを介して接続されている。
【0028】
同様に、第1のスイッチングハブ20A及び第1のメディアコンバータ22A間と、第2のメディアコンバータ23A及びAIスレーブ26A間と、AIスレーブ26A及びAOスレーブ27A間と、AOスレーブ27A及びDIスレーブ28A間と、DIスレーブ28A及びDOスレーブ29A間と、DOスレーブ29A及び第3のメディアコンバータ24A間と、第4のメディアコンバータ25A及び第2のスイッチングハブ21A間も、イーサネット(登録商標)カテゴリ5以上のケーブルを介して接続されている。
【0029】
これに対して第1のメディアコンバータ22A及び第2のメディアコンバータ23A間と、第3のメディアコンバータ24A及び第4のメディアコンバータ25A間とは、それぞれ100BASE-FXケーブル等の光ケーブル32を介して接続されており、これによりリモートサイトが制御室から離反した場所に存在する場合においても、制御室及びリモートサイト間における通信時の信号の減衰を低く抑え得るようになされている。
【0030】
B系のネットワーク3Bも、A系のネットワーク3Aと同様に、それぞれ制御室内に配置された第1及び第2のスイッチングハブ20B,21B並びに第1及び第4のメディアコンバータ22B,25Bと、リモートサイトに配置された第2及び第3のメディアコンバータ23B,24B並びにAIスレーブ26B、AOスレーブ27B、DIスレーブ28B及びDOスレーブ29Bとを備えて構成される。
【0031】
そして第1のスイッチングハブ20B及び第1の制御装置2Aの第2のマスタCPU12A間と、第1のスイッチングハブ20B及び第2の制御装置2Bの第2のマスタCPU12B間と、第2のスイッチングハブ21B及び第1の制御装置2Aの第2のマスタCPU12A間と、第2のスイッチングハブ21B及び第2の制御装置2Bの第2のマスタCPU12B間とが、それぞれイーサネット(登録商標)カテゴリ5以上のケーブルを介して接続され、他のスレーブ間がA系のネットワーク3Aと同様に相互に接続されている。
【0032】
第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bは、イーサキャット(登録商標)スレーブコントローラが搭載されたスイッチ装置である。また第1〜第4のメディアコンバータ22A〜25A,22B〜25Bは、いずれもイーサキャット(登録商標)スレーブコントローラが搭載された光伝送装置である。
【0033】
AIスレーブ26A,26B、AOスレーブ27A,27B、DIスレーブ28A,28B及びDOスレーブ29A,29Bは、それぞれイーサキャット(登録商標)スレーブコントローラが搭載されたI/Oスレーブである。なお、以下においては、適宜、AIスレーブ26A、AOスレーブ27A、DIスレーブ28A及びDOスレーブ29AをまとめてI/Oスレーブ30Aと呼び、AIスレーブ26B、AOスレーブ27B、DIスレーブ28B及びDOスレーブ29BをまとめてI/Oスレーブ30Bと呼ぶ。
【0034】
AIスレーブ26A,26Bは、リモートサイト側に配設された各アナログセンサにそれぞれ対応させてA系及びB系のネットワーク3A,3B上にそれぞれ1又は複数設けられる。AIスレーブ26A,26Bは、アナログ/ディジタル変換器(図示せず)を備えて構成され、対応する信号分配器31を介して与えられる対応するアナログセンサのセンサ出力をディジタル変換し、かくして得られたディジタル化されたセンサ出力(以下、これをセンサ情報と呼ぶ)を、後述のように第1又は第2の制御装置2A,2Bの第1又は第2のマスタCPU11A,11B,12A,12Bから送信される定周期フレーム内の自己に割り当てられた領域に格納する機能を有する。なお、ここで言う「定周期フレーム内の自己に割り当てられた領域」とは、図2(C)について後述する自スレーブ用のイーサキャット(登録商標)データグラム(EtherCAT Datagram)を指す。以下においても同様である。
【0035】
またAOスレーブ27A,27Bは、リモートサイト側に配設されたアクチュエータ等の制御対象のアナログ機器にそれぞれ対応させてA系及びB系のネットワーク3A,3B上にそれぞれ1又は複数設けられる。AOスレーブ27A,27Bは、ディジタル/アナログ変換器を備えて構成され、後述のように定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出してアナログ変換し、かくして得られたアナログ制御情報を対応する信号分配器31に送出する機能を有する。この場合、信号分配器31は、A系及びB系のネットワーク3A,3Bの対応するAOスレーブ27A,27Bからそれぞれ与えられるアナログ制御情報の平均値を算出して、算出結果を対応する制御対象のアナログ機器に送信する。ただし、信号分配器31がA系及びB系のネットワーク3A,3Bの対応するAOスレーブ27A,27Bからそれぞれ与えられるアナログ制御情報のうちの値が大きい方又は小さい方や、予め定められた一方のネットワーク3A,3BのAOスレーブ27A,27Bから与えられるアナログ制御情報のみを対応する制御対象のアナログ機器に送信するようにしても良い。
【0036】
DIスレーブ28A,28Bは、リモートサイト側に配設された各ディジタルセンサにそれぞれ対応させてA系及びB系のネットワーク3A,3B上にそれぞれ1又は複数設けられる。DIスレーブ28A,28Bは、対応する信号分配器31を介して与えられる対応するディジタルセンサのセンサ出力(センサ情報)を定周期フレーム内の自己に割り当てられた領域に格納する機能を有する。
【0037】
DOスレーブ29A,29Bは、リモートサイト側に配設された制御対象のディジタル機器にそれぞれ対応させてA系及びB系のネットワーク3A,3B上にそれぞれ1又は複数設けられる。DOスレーブ29A,29Bは、後述のように定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出して対応する信号分配器31に送出する機能を有する。この場合、信号分配器31は、A系及びB系のネットワーク3A,3Bの対応するDOスレーブ29A,29Bからそれぞれ与えられる制御情報の平均値を算出して、算出結果を対応する制御対象のディジタル機器に送信する。ただし、信号分配器31がA系及びB系のネットワーク3A,3Bの対応するDOスレーブ29A,29Bからそれぞれ与えられる制御情報のうちの値が大きい方又は小さい方や、予め定められた一方のネットワーク3A,3BのDOスレーブ29A,29Bから与えられる制御情報のみを対応する制御対象のディジタル機器に送信するようにしても良い。
【0038】
かかる構成を有するリモートI/Oシステム1において、A系のネットワーク3Aにおける第1の制御装置2Aの第1のマスタCPU11Aと、第2の制御装置2Bの第1のマスタCPU11Bとの間の主従関係や、B系のネットワーク3Bにおける第1の制御装置2Aの第2のマスタCPU12Aと、第2の制御装置2Bの第2のマスタCPU12Bとの間の主従関係は、主従切替え器4により制御される。主従切替え器4は、通常時、第1の制御装置2Aの第1及び第2のマスタCPU11A,12Aをそれぞれ主系に設定し、第2の制御装置2Bの第1及び第2のマスタCPU11B,12Bをそれぞれ従系に設定する。
【0039】
主系に設定された第1の制御装置2Aの第1のマスタCPU11Aは、通常時、A系のネットワーク3A上に存在するすべてのI/Oスレーブ30Aを通信対象とする、イーサキャット(登録商標)規格で規定された定周期フレームを一定周期(例えば1〔ms〕周期)でA系のネットワーク3Aの第1のスイッチングハブ20Aに送信する。また第1のスイッチングハブ20Aは、第1の制御装置2Aから送信される定周期フレームを第2の制御装置2Bの第1のマスタCPU11B及びA系のネットワーク3Aの第1のメディアコンバータ22Aに転送する。
【0040】
第1のメディアコンバータ22Aは、第1のスイッチングハブ20Aから転送される定周期フレームを光信号に変換し、この光信号を光ケーブル32を介して第2のメディアコンバータ23Aに送信する。また第2のメディアコンバータ23Aは、第1のメディアコンバータ22Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームをAIスレーブ26Aに転送する。
【0041】
AIスレーブ26Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてAIスレーブ26Aは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ(図1ではAOスレーブ27A)に転送する。
【0042】
またAOスレーブ27Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報をアナログ変換して対応する信号分配器31に送出すると共に、その定周期フレームを次段のスレーブ(図1ではDIスレーブ28A)に転送する。
【0043】
DIスレーブ28Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてDIスレーブ28Aは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ(図1ではDOスレーブ29A)に転送する。
【0044】
またDOスレーブ29Aは、定周期フレームを受信すると、受信した定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報を対応する信号分配器31に送出すると共に、その定周期フレームを次段のスレーブ(図1では第3のメディアコンバータ24A)に転送する。
【0045】
第3のメディアコンバータ24Aは、受信した定周期フレームを光信号に変換し、この光信号を光ケーブル32を介して制御室内の第4のメディアコンバータ25Aに送信する。また第4のメディアコンバータ25Aは、第3のメディアコンバータ24Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第2のスイッチングハブ21Aに転送する。
【0046】
第2のスイッチングハブ21Aは、第4のメディアコンバータ25Aから転送される定周期フレームを、第1の制御装置2Aの第1のマスタCPU11A及び第2の制御装置2Bの第1のマスタCPU11Bに送出する。そして定周期フレームを受信した第1の制御装置2Aの第1のマスタCPU11Aは、AIスレーブ26AやDIスレーブ28Aがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインCPU10Aに引き渡す。
【0047】
一方、このとき第1の制御装置2Aの第2のマスタCPU12Aも、第1のマスタCPU11Aと同様に、B系のネットワーク3B上に存在するすべてのI/Oスレーブ30Bを通信対象とする、イーサキャット(登録商標)規格で規定された定周期フレームを定期的に(第1のマスタCPU11AがA系のネットワーク3Aに定周期フレームを送信する周期と同じ周期で)B系のネットワーク3Bの第1のスイッチングハブ20Bに送信する。またB系のネットワーク3Bの第1のスイッチングハブ20Bは、かかる定周期フレームを第2の制御装置2Bの第2のマスタCPU12B及びB系のネットワーク3Bの第1のメディアコンバータ22Bに転送する。
【0048】
この結果、この定周期フレームが上述したA系のネットワーク3Aと同様にB系のネットワーク3B上で順次転送されてB系の第2のスイッチングハブ21Bを介して第1の制御装置2Aの第2のマスタCPU12Aに戻る。かくして、この定周期フレームを受信した第1の制御装置2Aの第2のマスタCPU12Aは、B系のネットワーク3B上のAIスレーブ26BやDIスレーブ28Bがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインCPU10Aに引き渡す。
【0049】
メインCPU10Aは、第1のマスタCPU11Aから与えられたセンサ情報と、第2のマスタCPU11Aから与えられたセンサ情報とに基づいてリモートサイトの各制御対象をそれぞれ所定状態に制御するためのコマンドやパラメータなどの制御情報を生成する。この際、メインCPU10Aは、ネットワーク障害等により第1及び第2のマスタCPU11Aの一方からしか取得できなかったセンサ情報が存在する場合には、そのセンサ情報のみを利用して制御情報を生成する。そしてメインCPU10Aは、生成した制御情報を第1及び第2のマスタCPU11A,12Aに引き渡す。かくして第1及び第2のマスタCPU11A,12Aは、それぞれこれらの制御情報を対応する領域にそれぞれ格納した定周期フレームを生成し、生成した定周期フレームを次の送信タイミングでA系又はB系のネットワーク3A,3Bの第1のスイッチングハブ20A,20Bに送信する。
【0050】
このようにして第1又は第2の制御装置2A,2Bは、リモートサイトに配置された各アナログセンサ又は各ディジタルセンサのセンサ出力に基づいて、リモートサイトの各制御対象を所定状態にそれぞれ制御する。
【0051】
他方、このとき従系に設定された第2の制御装置2Bでは、A系のネットワーク3Aの第2のスイッチングハブ21Aから第1のマスタCPU11Bに送信される定周期フレームと、B系のネットワーク3Bの第2のスイッチングハブ21Bから第2のマスタCPU12Bに送信される定周期フレームとに基づいて上述の第1の制御装置2Aと同様の処理が実行される。
【0052】
ただし、第2の制御装置2Bの第1のマスタCPU11B及び第2のマスタCPU12Bは、かかる処理により生成した上述の制御情報が格納された定周期フレームを第1のスイッチングハブ20A,20Bに送信することなく破棄する。従って、本リモートI/Oシステム1では、通常時、主系に設定された第1の制御装置2Aの第1及び第2のマスタCPU11A,12Aからそれぞれ出力される定周期フレームのみがA系又はB系のネットワーク3A,3B上で伝送される。
【0053】
一方、主従切替え器4は、主系に設定されている第1の制御装置2Aの第1又は第2のマスタCPU11A,12Aに障害が発生した場合、その障害が発生した第1又は第2のマスタCPU11A,12Aが接続されているA系又はB系のネットワーク3A,3Bのマスタを第2の制御装置2Bの第1又は第2のマスタCPU11B,12Bとするよう第1及び第2の制御装置2A,2Bの主従の設定を切り替える。
【0054】
そして主系に切り替えられた第2の制御装置2Bの第1又は第2のマスタCPU11B,12Bは、この後、上述のように生成した定周期フレームをA系又はB系の第1のスイッチングハブ20A,20Bに送信し、これに対して従系に切り替えられた第1の制御装置2Aの第1又は第2のマスタCPU11A,12Aは、この後、上述のように生成した定周期フレームを第1のスイッチングハブ20A,20Bに送信することなく破棄する。この結果、第1の制御装置2Aの第1又は第2のマスタCPU11A,12Aと、第2の制御装置2Bの対応する第1又は第2のマスタCPU11B,12Bとの主従関係が切り替えられた場合には、主系に切り替えられた第2の制御装置2Bの第1又は第2のマスタCPU11B,12Bから出力される定周期フレームが対応するA系又はB系のネットワーク3A,3B上で伝送されることになる。
【0055】
なお、第1又は第2の制御装置2A,2Bの第1のマスタCPU11A,11Bや第2のマスタCPU12A,12Bから出力される定周期フレームのフレームフォーマットを図2(A)〜(E)に示す。
【0056】
図2(A)に示すように、定周期フレームは、14バイトのイーサネット(登録商標)ヘッダフィールド(Ethernet(登録商標) Header)と、最大1500バイトのイーサネット(登録商標)データフィールド(Ethernet(登録商標) Data)と、4バイトのFCS(Frame Check Sequence)フィールド(FCS)とから構成される。そしてイーサネット(登録商標)ヘッダフィールドには、その定周期フレームのあて先や送信元のアドレスが格納され、FCSフィールドには、CRC(Cyclic Redundancy Check)コード等の定周期フレームの誤り検査用の情報が格納される。
【0057】
またイーサネット(登録商標)データフィールドは、図2(B)に示すように、11ビットのデータ長フィールド(Length)と、1ビットのリザーブフィールド(Reserve)と、4ビットのタイプフィールド(Ty)と、44〜1498バイトのイーサキャット(登録商標)データグラムフィールド(1…n EtherCAT Datagrams)とから構成される。そしてイーサキャット(登録商標)データグラムフィールドには、図2(C)に示すように、その定周期フレームの送信対象となる各スレーブにそれぞれ対応付けられた1又は複数のイーサキャット(登録商標)用のフレーム(以下、これをイーサキャット(登録商標)データグラムと呼ぶ)が格納され、データ長フィールドには、イーサキャット(登録商標)データグラムフィールドに格納されているすべてのイーサキャット(登録商標)データグラムの合計データ長が格納される。またリザーブフィールドには通常「0」に設定されたフラグが格納され、タイプフィールドには、イーサキャット(登録商標)データグラムフィールドに格納されたデータのタイプを表すコード(イーサキャット(登録商標)の場合は「0x1」)が格納される。
【0058】
各イーサキャット(登録商標)データグラムフィールドは、図2(D)に示すように、10バイトのデータグラムヘッダフィールド(Datagram Header)と、最大1486バイトのデータフィールド(Data)と、2バイトのWKC(Working Counter)フィールドとから構成される。そして、データフィールドには、マスタ(第1又は第2の制御装置2A,2Bの第1のマスタCPU11A,11Bや第2のマスタCPU12A,12B)が対応するスレーブに送信するデータ(本実施の形態においては上述の制御情報)、又は、そのスレーブがマスタに送信すべきデータ(本実施の形態においては上述のセンサ情報)が格納される。またWKCフィールドには、イーサキャット(登録商標)データグラムによって正常に処理された処理数に応じたカウント値が格納される。
【0059】
さらにデータグラムヘッダフィールドは、図2(E)に示すように、8ビットのコマンドフィールド(Cmd)と、8ビットのインデックスフィールド(Idx)と、32ビットのアドレスフィールド(Address)と、11ビットのデータタイプフィールド(Len)と、3ビットのリザーブフィールド(R)と、1ビットの循環有無ビットフィールド(C)と、1ビットの継続有無ビットフィールド(M)と、16ビットのイーサキャット(登録商標)割込みリクエストレジスタフィールド(IRQ)とから構成される。
【0060】
そしてコマンドフィールドには、マスタが対応するスレーブに発行したイーサキャット(登録商標)コマンドのコマンドタイプを表すコードが格納され、インデックスフィールドには、マスタからスレーブに送信すべきデータ又はスレーブからマスタに送信すべき情報が複数の定周期フレームに分割して格納される場合におけるそのデータの順番を表すインデックス番号が格納される。またアドレスフィールドには、対応するスレーブのアドレスが格納され、データタイプフィールドには、そのデータグラムヘッダに続くデータグラムのデータタイプが格納される。
【0061】
さらに循環有無ビットフィールドには、その定周期フレームが既に対応するスレーブを循環しているか否かを表すフラグが格納される。そして、このフラグは、その定周期フレームが対応するスレーブを循環していない場合には「0」に設定され、その定周期フレームが対応するスレーブを既に循環している場合には、当該スレーブにより「1」に更新される。
【0062】
また継続有無ビットフィールドには、そのデータグラムがその定周期フレームのイーサキャット(登録商標)データグラムフィールド(図2(B))に格納された最後のデータグラムであるか否かを表すフラグが格納される。このフラグは、そのイーサキャット(登録商標)データグラムがその定周期フレームのイーサキャット(登録商標)データグラムフィールドに格納された最後のイーサキャット(登録商標)データグラムである場合には「0」に設定され、最後のイーサキャット(登録商標)データグラムでない場合には「1」に設定される。さらにイーサキャット(登録商標)割込みリクエストレジスタフィールドは、割込みリクエストを格納するレジスタとして利用される。
【0063】
(2)I/Oスレーブの構成
図3は、I/Oスレーブ30A,30Bの概略構成を示す。この図3からも明らかなように、各I/Oスレーブ30A,30Bは、バス40を介して相互に接続されたCPU41、I/O制御部42及びイーサキャット(登録商標)スレーブコントローラ43と、第1及び第2のPHY44A,44Bと、第1及び第2のポート45A,45Bと、運転LED(Light Emitting Diode)46及び故障LED47とを備えて構成される。
【0064】
CPU41は、I/Oスレーブ30A,30B全体の動作制御を司るプロセッサである。CPU41は、そのI/Oスレーブ30A,30BがAIスレーブ26A,26B(図1)又はDIスレーブ28A,28B(図1)の場合には、後述のようにI/O制御部42から与えられるセンサ情報をイーサキャット(登録商標)スレーブコントローラ43内のメモリ43Aに格納し、そのI/Oスレーブ30A,30BがAOスレーブ27A,27B又はDOスレーブ29A,29Bの場合には、イーサキャット(登録商標)スレーブコントローラ43内のメモリ43Aに格納されている定周期フレームから抽出された制御情報を読み出してI/O制御部42に送信する。
【0065】
I/O制御部42は、FPGA(Field-Programmable Gate Array)から構成され、対応するセンサのセンサ出力の入力処理(ディジタル変換処理を含む)や、対応する制御対象への制御情報の出力処理(アナログ変換処理を含む)を制御する。
【0066】
実際上、I/O制御部42は、例えば実装先のI/Oスレーブ30A,30BがAIスレーブ26A,26Bである場合には、そのI/Oスレーブ30A,30Bに搭載されたアナログ/ディジタル変換器を制御することにより、対応するアナログセンサから信号分配器31を介して与えられるセンサ出力をディジタル変換させ、かくして得られたセンサ情報をバス40を介してCPU41に与える。
【0067】
またI/O制御部42は、実装先のI/Oスレーブ30A,30BがAOスレーブ27A,27Bである場合には、そのI/Oスレーブ30A,30Bに搭載されたディジタル/アナログ変換器を制御することにより、CPU41からバス40を介して与えられる制御情報をアナログ変換させて、その制御情報を対応する信号分配器31に出力させる。
【0068】
さらにI/O制御部42は、実装先のI/Oスレーブ30A,30BがDIスレーブ28A,28Bである場合には、対応するディジタルセンサから信号分配器31を介して与えられるセンサ出力をバス40を介してCPU41に与え、実装先のI/Oスレーブ30A,30BがDOスレーブ29A,29Bである場合には、CPU41からバス40を介して与えられる制御情報を対応する信号分配器31に出力する。
【0069】
イーサキャット(登録商標)スレーブコントローラ43は、上述のようにイーサキャット(登録商標)規格に準拠したスレーブコントローラであり、受信した定周期フレームに対する情報の読み書きを行う。実際上、イーサキャット(登録商標)スレーブコントローラ43は、実装先のI/Oスレーブ30A,30BがAIスレーブ26A,26B又はDIスレーブ28A,28Bの場合、CPU41によりメモリ43Aに書き込まれたセンサ情報を、受信した定周期フレーム内のそのI/Oスレーブ30A,30Bに割り当てられた領域に書き込む。またイーサキャット(登録商標)スレーブコントローラ43は、実行されたI/Oスレーブ30A,30BがAOスレーブ27A,27B又はDOスレーブ29A,29Bの場合には、受信した定周期フレーム内のそのI/Oスレーブ30A,30Bに割り当てられた領域から制御情報を読み出し、読み出した情報をメモリ43Aに格納する。
【0070】
さらにイーサキャット(登録商標)スレーブコントローラ43には、ループバック機能も搭載されており、実装先のI/Oスレーブ30A,30Bと接続された他のスレーブとの間の通信が途絶えた場合、定周期フレームをそのスレーブには転送せずに送信元のスレーブに送り戻すループバック処理を実行する。
【0071】
第1のPHY44Aは受信装置であり、第1のポート45Aを介してネットワーク3A,3Bと接続される。また第2のPHY44Bは送信装置であり、第2のポート45Bを介してネットワーク3A,3Bと接続される。第1のPHY44Aは、接続されたネットワーク3A,3Bから第1のポート45Aを介して与えられる定周期フレームをイーサキャット(登録商標)スレーブコントローラ43に送信し、第2のPHY44Bは、イーサキャット(登録商標)スレーブコントローラ43から与えられた定周期フレームを第2のポート45Bを介してネットワーク3A,3Bに出力する。
【0072】
(3)CPU障害時リンクダウン機能
ところで、図3について上述したI/Oスレーブ30A,30Bでは、CPU41に障害が発生して処理を停止した場合においてもイーサキャット(登録商標)スレーブコントローラ43は動作し続ける。このため例えば、そのI/Oスレーブ30A,30BがAIスレーブ26A,26B又はDIスレーブ28A,28Bである場合、CPU41が処理を停止すると、イーサキャット(登録商標)スレーブコントローラ43のメモリ43Aに格納されたデータが更新されないまま、イーサキャット(登録商標)スレーブコントローラ43が、メモリ43Aに格納されている古いセンサ情報を定周期フレーム内の自己に割り当てられた領域に格納して次段のスレーブに転送することとなる。
【0073】
この場合において、そのとき主系に設定されている第1又は第2の制御装置2A,2Bは、対応するA系又はB系のネットワーク3A,3BをバススキャンすることによりCPU41に障害が発生したI/Oスレーブ30A,30Bを特定することができる。しかしながら、従系に設定されている第2又は第1の制御装置2B,2Aは、そのネットワーク3A,3Bのバススキャンを行うことができず、障害が発生したI/Oスレーブ30A,30Bを特定することができない。
【0074】
このため従系に設定されている第2又は第1の制御装置2B,2Aは、CPU41に障害が発生したI/Oスレーブ30A,30Bからのセンサ情報を正しい情報として制御情報を生成することとなる。よって、この直後に第1及び第2の制御装置2A,2Bの主従関係が切り替えられた場合、新たに主系に設定された第2又は第1の制御装置2B,2Aは、障害が発生したI/Oスレーブ30A,30Bから送信される古いセンサ情報に基づいて制御処理が行われることになる。
【0075】
以上のような事態の発生を回避すべく、本実施の形態によるリモートI/Oシステム1には、I/Oスレーブ30A,30BのCPU41に障害が発生した場合、そのI/Oスレーブ30A,30Bが自らリンクダウンして自己をネットワーク3A,3Bから切り離すCPU障害時リンクダウン機能が各I/Oスレーブ30A,30Bに搭載されている。
【0076】
このようなCPU障害時リンクダウン機能を実現するための手段として、各I/Oスレーブ30A,30BのI/O制御部42には、一定周期でカウントアップするウォッチドッグタイマが実装されている。そしてCPU41は、バス40を介して定期的にI/O制御部42にリセット指令を送信することによってそのウォッチドッグタイマをリセットする。
【0077】
本実施の形態の場合、CPU41によるイーサキャット(登録商標)スレーブコントローラ43のメモリ43Aに対するセンサ情報の書き込みや、当該メモリ43Aに格納されている制御情報の読み出しが500〔us〕周期で行われる。このためCPU41は、1〔ms〕周期で上述のリセット指令をI/O制御部42に送信する。
【0078】
そしてI/O制御部42は、かかるウォッチドッグタイマが予め定められたカウント値(以下、これを設定値と呼ぶ)以内にリセットされなかった場合には、CPU41に障害(以下、適宜、これをCPUウォッチドッグタイマ異常と呼ぶ)が発生したと判定して、第1及び第2のPHY44A,44B並びにイーサキャット(登録商標)スレーブコントローラ43にリセット信号を連続的に送信し続ける。この結果、リセット信号を受信した第1及び第2のPHY44A,44B並びにイーサキャット(登録商標)スレーブコントローラ43がそれぞれリセット処理を連続的に実行し、第1及び第2のPHY44A,44Bが他のスレーブとの通信を遮断することによりそのI/Oスレーブ30A,30Bがネットワーク3A,3Bから切り離される。
【0079】
またI/O制御部42は、上述のような第1及び第2のPHY44A,44B及びイーサキャット(登録商標)スレーブコントローラ43に対するリセット信号の送信と併せて、それまで点灯していた運転LED46を消灯させ、かつそれまで消灯していた故障LED47を点灯させることにより、障害が発生したことを表示させる。
【0080】
なお、かかるI/Oスレーブ30A,30Bのリンクダウンからの復帰は、そのI/Oスレーブ30A,30Bの修理後又は新しいI/Oスレーブ30A,30Bとの交換後にシステム管理者が当該I/Oスレーブ30A,30Bを再起動又は起動することにより実現される。
【0081】
図4は、上述のようなCPU障害時リンクダウン機能に関連してI/Oスレーブ30A,30BのI/O制御部42により実行されるCPU障害時リンクダウン処理の処理手順を示す。I/O制御部42は、実装先のI/Oスレーブ30A,30Bが起動されるとこの図4に示すCPU障害時リンクダウン処理を開始し、まず、ウォッチドッグタイマのカウント値をリセットし(SP1)、この後、ウォッチドッグタイマによるカウントを開始させる(SP2)。
【0082】
続いて、I/O制御部42は、ウォッチドッグタイマのカウント値を1だけカウントアップし(SP3)、この後、CPU41からのリセット指令を受信したか否かを判断する(SP4)。I/O制御部42は、この判断で肯定結果を得るとステップSP1に戻り、この後、ステップSP1以降を同様に繰り返す。
【0083】
これに対してI/O制御部42は、ステップSP4の判断で否定結果を得ると、そのときのウォッチドッグタイマのカウント値を参照して、そのカウント値が上述の設定値を超えたか否かを判断する(SP5)。そしてI/O制御部42は、この判断で肯定結果を得るとステップSP3に戻り、この後、上述した処理を繰り返す。
【0084】
これに対してI/O制御部42は、ステップSP5の判断で否定結果を得ると、その後第1及び第2のPHY44A,44B及びイーサキャット(登録商標)スレーブコントローラ43にリセット信号を連続的に送信し続けることによりそのI/Oスレーブ30A,30Bをリンクダウンさせると共に、運転LED46を消灯させ、かつ故障LED47を点灯させる(SP6)。そして、I/O制御部42は、この後、このCPU障害時リンクダウン処理を終了する。
【0085】
一方、図5は、A系又はB系のネットワーク3A,3B上のいずれかのI/Oスレーブ30A,30BにCPUウォッチドッグタイマ異常が発生した場合に本リモートI/Oシステム1において実行される一連の処理の流れを示す。
【0086】
本リモートI/Oシステム1において、いずれかのI/Oスレーブ30A,30BにCPUウォッチドッグタイマ異常が発生した場合、上述のようにそのI/Oスレーブ(以下、これをCPU障害I/Oスレーブと呼ぶ)30A,30Bが自らリンクダウンして自己をネットワーク3A,3Bから切り離す(SP10)。そしてCPU障害I/Oスレーブ30A,30Bがリンクダウンすると、その両側のスレーブが当該リンクダウンを検出してループバック処理を開始する(SP11)。
【0087】
そして、CPU障害I/Oスレーブ30A,30Bの両側のスレーブがループバック処理を開始すると、そのA系又はB系のネットワーク3A,3Bのマスタ(第1又は第2の制御装置2A,2Bの第1又は第2のマスタCPU11A,11B,12A,12B)がCPU障害I/Oスレーブ30A,30Bのリンクダウンを検知し、例えばそのCPU障害I/Oスレーブ30A,30BがAIスレーブ26A,26BやDIスレーブ28A,28Bであった場合には、他系(B系又はA系)のネットワーク3B,3Aの対応するAIスレーブ26B,26A又はDIスレーブ28B,28Aからセンサ情報を取得するよう当該センサ情報の取得先を切り替える(SP12)。
【0088】
この後、システム管理者によりCPU障害I/Oスレーブ30A,30Bが修理され又は正常なI/Oスレーブ30A,30Bと交換された後、そのI/Oスレーブ30A,30Bが再起動又は起動されると、イーサキャット(登録商標)のホットコネクト機能により当該I/Oスレーブ30A,30Bとその両側のスレーブとの通信が開始され(SP13)、この後、この一連の処理が終了する。
【0089】
(4)本実施の形態の効果
以上のように本実施の形態のリモートI/Oシステム1では、マスタ装置として第1及び第2の制御装置2A,2Bが設けられ、第1及び第2の制御装置2A,2Bにおいて常に同じ処理が行われ、第1及び第2の制御装置2A,2Bのうち主系に設定された第1の制御装置2Aのみが定周期フレームをA系及びB系のネットワーク3A,3Bにそれぞれ送信する。そして主系に設定された第1の制御装置2Aに障害が発生した場合には、主従切替え器4により第1及び第2の制御装置2A,2Bの主従が切り替えられ、第2の制御装置2Bが主系として動作する。
【0090】
また本リモートI/Oシステム1では、ネットワーク(A系及びB系のネットワーク3A,3B)も二重化されており、一方のネットワーク3A,3Bに障害が発生した場合においても、主系に設定された第1又は第2の制御装置2A,2Bにおいて、他方のネットワーク3A,3Bから取得したセンサ情報を利用した制御情報の生成が実行される。
【0091】
従って、本リモートI/Oシステム1によれば、主系に設定された第1の制御装置2Aに障害が発生した場合や、A系及びB系の何れか一方のネットワーク3A,3Bに障害が発生した場合においても、システム全体として問題なく処理を継続することができ、信頼性の高い通信システムを構築することができる。
【0092】
また本リモートI/Oシステム1では、I/Oスレーブ30A,30BにCPUウォッチドッグタイマ異常が発生した場合に、そのI/Oスレーブ30A,30Bが自らリンクダウンして自己をネットワーク3A,3Bから切り離す。
【0093】
従って、リモートI/Oシステム1において、特に、AIスレーブ26A,26BやDIスレーブ28A,28BのCPU41に障害が発生した場合においても、古いセンサ情報が第1又は第2の制御装置2A,2Bに伝送され、当該古いセンサ情報に基づいてリモートサイトの制御対象が制御されるのを未然かつ有効に防止することができる。
【0094】
なお、イーサキャット(登録商標)規格で採用されているプロセスデータインタフェース(PDI:Process Data Interface)ウォッチドッグタイマ機能によりI/Oスレーブ30A,30BのCPUウォッチドッグタイマ異常を監視することもできる。
【0095】
しかしながら、この方法によると、イーサキャット(登録商標)の定周期フレーム上に定義されている割込みが通知された後にマスタ(第1又は第2の制御装置2A,2Bの第1又は第2のマスタCPU11A,12A,11B,12B)からバススキャンを行ってどのI/Oスレーブ30A,30Bにプロセスデータインタフェースウォッチドッグタイマ異常が発生したかを検出する必要があるため、かかるバススキャンを行えない従系のマスタ(第2又は第1の制御装置2B,2Aの第1又は第2のマスタCPU11B,12B,11A,12A)はどのI/Oスレーブ30A,30Bにプロセスデータインタフェースウォッチドッグタイマ異常が発生したのかを検知することができない。
【0096】
従って、かかるプロセスデータインタフェースウォッチドッグ機能ではなく、本実施の形態のようなCPUウォッチドッグタイマ機能を利用することによって、古いセンサ情報を利用した制御が行われることに起因する不具合の発生を有効に防止でき、より信頼性の高いリモートI/Oシステムを構築することができる。
【0097】
(5)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成されたガスタービン発電プラント用のリモートI/Oシステムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の用途及びこの他種々の構成のリモートI/Oシステムに広く適用することができる。
【0098】
また上述の実施の形態においては、I/Oスレーブ30A,30Bにおいて、CPU41(図3)を監視し、CPU41の障害を検出した場合に外部と通信を行わないように第1及び第2のPHY44A,44Bを制御するプロセッサ監視部としての機能を、対応するセンサのセンサ出力の入力処理や、対応する制御対象への制御情報の出力処理を制御するI/O制御部42に搭載するようにした場合について述べたが、本発明はこれに限らず、かかるプロセッサ監視部としての機能を有するデバイスをCPU41やI/O制御部42とは別に設けるようにしても良い。
【産業上の利用可能性】
【0099】
本発明は、種々の構成を有するリモートI/Oシステムに広く適用することができる。
【符号の説明】
【0100】
1……リモートI/Oシステム、2A,2B……制御装置、3A,3B……ネットワーク、4……主従切替え器、10A,10B……メインCPU、11A,11B,12A,12B……マスタCPU、20A,20B,21A,21B……スイッチングハブ、22A〜25A,22B〜25B……メディアコンバータ、26A,26B……AIスレーブ、27A,27B……AOスレーブ、28A,28B……DIスレーブ、29A,29B……DOスレーブ、30A,30B……I/Oスレーブ、31……信号分配器、41……CPU、42……I/O制御部、43……イーサキャット(登録商標)スレーブコントローラ、44A,44B……PHY。
図1
図2
図3
図4
図5