以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による通信システムの構成
図1は、プラントや工場に適用される制御装置間の通信システム1の概略構成を示す。この通信システム1は、通信プロトコルとしてイーサキャット(登録商標)プロトコルが適用された通信システムである。通信システム1は、制御室内に設置されたマスタ制御装置2と、それぞれ異なる制御対象に対応させてリモートサイトに設けられた第1及び第2のスレーブ制御装置3,4と、マスタ制御装置2並びに第1及び第2のスレーブ制御装置3,4間を接続するA系及びB系のネットワーク5A,5Bとを備えて構成される。
マスタ制御装置2は、本通信システム全体を制御する制御装置であり、冗長化された2つの制御部10A,10B(以下、これらを第1の制御部10A及び第2の制御部10Bと呼ぶ)と、主系選択部11とを備えて構成される。
第1の制御部10A及び第2の制御部10Bは、それぞれPCI(Peripheral Component Interconnect)バス等の内部バス12A,12Bを介して接続されたメインCPU(Central Processing Unit)基板13A,13Bと、第1のマスタ基板14A,14Bと、第2のマスタ基板15A,15Bとを備える。
メインCPU基板13A,13Bは、対応する第1又は第2の制御部10A,10Bの動作制御を司る制御基板である。メインCPU基板13A,13Bは、後述のように第1のマスタ基板14A,14B及び第2のマスタ基板15A,15Bを介して第1及び第2のスレーブ制御装置3,4からのセンサ情報を取得する。そしてメインCPU基板13A,13Bは、取得したセンサ情報と、図示しないメモリに格納された各種プログラムとに基づいて、リモートサイトに設置された制御対象の動作を制御するための各種制御処理を実行する。
第1のマスタ基板14A,14B及び第2のマスタ基板15A,15Bは、イーサキャット(登録商標)規格に準拠した通信基板である。第1のマスタ基板14A,14Bは、リング型のネットワークトポロジを有するA系のネットワーク5A(図1において太線で示すネットワーク)と接続され、第2のマスタ基板15A,15Bは、同じくリング型のネットワークトポロジを有するB系のネットワーク5B(図1において細線で示すネットワーク)と接続される。A系及びB系のネットワーク5A,5Bの詳細構成については、後述する。第1のマスタ基板14A,14Bは、接続されたA系のネットワーク5Aにおいてマスタとして機能し、第2のマスタ基板15A,15Bは、接続されたB系のネットワーク5Bにおいてマスタとして機能する。
主系選択部11は、第1の制御部10A及び第2の制御部10Bの中から主系となる制御部を選択し、選択した第1又は第2の制御部10A,10Bの第1のマスタ基板14A,14BからA系のネットワーク5Aに定周期フレームを出力し、第2のマスタ基板15A,15BからB系のネットワーク5Bに定周期フレームを出力するよう第1の制御部10A及び第2の制御部10Bを制御する。主系選択部11は、初期時、第1の制御部10Aを主系に設定し、第2の制御部10Bを従系に設定する。
第1のスレーブ制御装置3は、プラント内の対応する制御対象を制御する制御装置である。第1のスレーブ制御装置3は、その制御対象等に設置されたセンサの出力をセンサ情報としてA系及びB系の各ネットワーク5A,5Bを介してマスタ制御装置2に送信する。そして第1のスレーブ制御装置3は、マスタ制御装置2からA系及びB系の各ネットワーク5A,5Bをそれぞれ介して送信される、かかるセンサ情報に基づいて算出された後述の制御情報に基づいて対応する制御対象を制御する。
第1のスレーブ制御装置3は、それぞれ冗長化された2つの制御部20A,20B(以下、これらを第1の制御部20A及び第2の制御部20Bと呼ぶ)と、主系選択部21とを備えて構成される。
第1の制御部10A及び第2の制御部20Bは、それぞれPCIバス等の内部バス22A,22Bを介して接続されたメインCPU基板23A,23Bと、第1のスレーブ基板24A,24B及び第2のスレーブ基板25A,25Bとを備える。
メインCPU基板23A,23Bは、その第1又は第2の制御部20A,20B全体の動作制御を司る制御基板である。メインCPU基板23A,23Bは、第1のスレーブ基板24A,24B及び第2のスレーブ基板25A,25Bを介して取得したマスタ制御装置2からの制御情報に基づいて制御対象を制御する。
第1のスレーブ基板24A,24B及び第2のスレーブ基板25A,25Bは、イーサキャット(登録商標)に準拠した通信基板である。第1のスレーブ基板24A,24BはA系のネットワーク5Aと接続され、第2のスレーブ基板25A,25BはB系のネットワーク5Bと接続される。第1のスレーブ基板24A,24Bは、接続されたA系のネットワーク5Aにおいてスレーブとして機能し、第2のスレーブ基板25A,25Bは、接続されたB系のネットワーク5A,5Bにおいてスレーブとして機能する。
主系選択部21は、第1の制御部20A及び第2の制御部20Bの中から主系となる制御部を選択し、選択した第1又は第2の制御部20A,20Bの出力に基づいて制御対象を制御するよう第1のスレーブ制御装置4を制御する。また主系選択部21は、これと併せて、主系に選択した第1又は第2の制御部20A,20Bから出力された定周期フレームをA系及びB系のネットワーク5A,5Bに出力するよう後述の第3のスイッチングハブ42A,42Bを制御する。主系選択部21は、初期時、第1の制御部20Aを主系に設定し、第2の制御部20Bを従系に設定する。
同様に、第2のスレーブ制御装置4は、プラント内の対応する制御対象を制御する制御装置である。第2のスレーブ制御装置4は、その制御対象等に設置されたセンサの出力をセンサ情報としてA系及びB系の各ネットワーク5A,5Bを介してマスタ制御装置2に送信する。そして第2のスレーブ制御装置4は、マスタ制御装置2からA系及びB系の各ネットワーク5A,5Bをそれぞれ介して送信される制御情報に基づいて対応する制御対象を制御する。
第2のスレーブ制御装置4は、それぞれ冗長化された2つの制御部30A,30B(以下、これらを第1の制御部30A及び第2の制御部30Bと呼ぶ)と、主系選択部31とを備えて構成される。
第1の制御部30A及び第2の制御部30Bは、それぞれPCIバス等の内部バス32A,32Bを介して接続されたメインCPU基板33A,33Bと、第1のスレーブ基板34A,34B及び第2のスレーブ基板35A,35Bとを備える。
メインCPU基板33A,33Bは、その第1又は第2の制御部30A,30B全体の動作制御を司る制御基板である。メインCPU基板33A,33Bは、第1のスレーブ基板34A,34B及び第2のスレーブ基板35A,35Bを介して取得したマスタ制御装置2からの制御情報に基づいて制御対象を制御する。
第1のスレーブ基板34A,34B及び第2のスレーブ基板35A,35Bは、イーサキャット(登録商標)規格に準拠した通信基板である。第1のスレーブ基板34A,34Bは、A系のネットワーク5Aと接続され、第2のスレーブ基板35A,35Bは、B系のネットワーク5Bと接続される。第1のスレーブ基板34A,34Bは、接続されたA系のネットワーク5Aにおいてスレーブとして機能し、第2のスレーブ基板35A,35Bは、接続されたB系のネットワーク5Bにおいてスレーブとして機能する。
主系選択部31は、第1の制御部30A及び第2の制御部30Bの中から主系となる制御部を選択し、選択した第1又は第2の制御部30A,30Bの出力に基づいて制御対象を制御するよう第2のスレーブ制御装置4を制御する。また主系選択部31は、これと併せて、主系に選択した第1又は第2の制御部30A,30Bから出力された定周期フレームをA系及びB系のネットワーク5A,5B上に出力するよう後述の第5スイッチングハブ44A,44Bを制御する。主系選択部31は、初期時、第1の制御部30Aを主系に設定し、第2の制御部30Bを従系に設定する。
A系のネットワーク5Aは、それぞれ制御室内に配置された第1及び第6のスイッチングハブ40A,45A並びに第1及び第6のメディアコンバータ50A,55Aと、リモートサイトに配置された第2〜第5のメディアコンバータ51A〜54A、第2〜第5のスイッチングハブ41A〜44A、並びに、第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24A、第1のスレーブ制御装置3の第2の制御部20Bの第1のスレーブ基板24B、第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34A及び第2のスレーブ制御装置4の第2の制御部30Bの第1のスレーブ基板34Bとを備えて構成される。
そしてマスタ制御装置2の第1の制御部10Aの第1のマスタ基板14A及び第1のスイッチングハブ40A間と、マスタ制御装置2の第1の制御部10Aの第1のマスタ基板14A及び第6のスイッチングハブ45A間と、マスタ制御装置2の第2の制御部10Bの第1のマスタ基板14B及び第1のスイッチングハブ40A間と、マスタ制御装置2の第2の制御部10Bの第1のマスタ基板14B及び第6のスイッチングハブ45A間とは、それぞれケーブルを介して接続されている。
同様に、第1のスイッチングハブ40A及び第1のメディアコンバータ50A間と、第2のメディアコンバータ51A及び第2のスイッチングハブ41A間と、第2のスイッチングハブ41A及び第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24A間と、当該第1のスレーブ基板24A及び第3のスイッチングハブ42A間と、第2のスイッチングハブ41A及び第1のスレーブ制御装置3の第2の制御部20Bの第1のスレーブ基板24B間と、当該第1のスレーブ基板24B及び第3のスイッチングハブ42A間と、第3のスイッチングハブ42A及び第3のメディアコンバータ52A間と、第4のメディアコンバータ53A及び第4のスイッチングハブ43A間と、第4のスイッチングハブ43A及び第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34A間と、当該第1のスレーブ基板34A及び第5のスイッチングハブ44A間と、第4のメディアコンバータ53A及び第2のスレーブ制御装置4の第2の制御部30Bの第1のスレーブ基板34B間と、当該第1のスレーブ基板34B及び第5のスイッチングハブ44A間と、第5のスイッチングハブ44A及び第5のメディアコンバータ54A間と、第6のメディアコンバータ55A及び第6のスイッチングハブ45A間とがそれぞれケーブルを介して接続されている。
これに対して、第1のメディアコンバータ50A及び第2のメディアコンバータ51A間と、第5のメディアコンバータ54A及び第6のメディアコンバータ55A間とは、それぞれ光ケーブルを介して接続されており、これによりリモートサイトが制御室から離反した場所に存在する場合においても、制御室及びリモートサイト間の通信時における信号の減衰を抑え得るようになされている。同様に、第3のメディアコンバータ52A及び第4のメディアコンバータ53A間も、光ケーブルを介して接続されており、これにより第1及び第2のスレーブ制御装置3,4がリモートサイト内の離反する場所に存在する場合においても、これら第1及び第2のスレーブ制御装置3,4間の通信時における信号の減衰を抑え得るようになされている。
B系のネットワーク5Bも、A系のネットワーク5Aと同様に、それぞれ制御室内に配置された第1及び第6のスイッチングハブ40B,45B並びに第1及び第6のメディアコンバータ50B,55Bと、リモートサイトに配置された第2〜第5のメディアコンバータ51B〜54B、第2〜第5のスイッチングハブ41B〜44B、並びに、第1のスレーブ制御装置3の第1の制御部20Aの第2のスレーブ基板25A、第1のスレーブ制御装置3の第2の制御部20Bの第2のスレーブ基板25B、第2のスレーブ制御装置4の第1の制御部30Aの第2のスレーブ基板35A及び第2のスレーブ制御装置4の第2の制御部30Bの第2のスレーブ基板35Bとを備えて構成される。
そしてマスタ制御装置2の第1の制御部10Aの第2のマスタ基板15A及び第1のスイッチングハブ40B間と、マスタ制御装置2の第1の制御部10Aの第2のマスタ基板15A及び第6のスイッチングハブ45B間と、マスタ制御装置2の第2の制御部10Bの第2のマスタ基板15B及び第1のスイッチングハブ40B間と、マスタ制御装置2の第2の制御部10Bの第2のマスタ基板15B及び第6のスイッチングハブ45B間とは、それぞれケーブルを介して接続されている。
同様に、第1のスイッチングハブ40A及び第1のメディアコンバータ50B間と、第2のメディアコンバータ51B及び第2のスイッチングハブ41B間と、第2のスイッチングハブ41B及び第1のスレーブ制御装置3の第1の制御部20Aの第2のスレーブ基板25A間と、当該第2のスレーブ基板25A及び第3のスイッチングハブ42B間と、第2のスイッチングハブ41B及び第1のスレーブ制御装置3の第2の制御部20Bの第2のスレーブ基板25B間と、当該第2のスレーブ基板25B及び第3のスイッチングハブ42B間と、第3のスイッチングハブ42B及び第3のメディアコンバータ52B間と、第4のメディアコンバータ53B及び第4のスイッチングハブ43B間と、第4のスイッチングハブ43B及び第2のスレーブ制御装置4の第1の制御部30Aの第2のスレーブ基板35A間と、当該第2のスレーブ基板35A及び第5のスイッチングハブ44B間と、第4のメディアコンバータ53B及び第2のスレーブ制御装置4の第2の制御部30Bの第2のスレーブ基板35B間と、当該第2のスレーブ基板35B及び第5のスイッチングハブ44B間と、第5のスイッチングハブ44B及び第5のメディアコンバータ54B間と、第6のメディアコンバータ55B及び第6のスイッチングハブ45B間とのいずれもケーブルを介して接続されている。
これに対して、第1のメディアコンバータ50B及び第2のメディアコンバータ51B間と、第5のメディアコンバータ54B及び第6のメディアコンバータ55B間と、第3のメディアコンバータ52B及び第4のメディアコンバータ53B間とは、光ケーブルを介して接続されている。
なおA系及びB系のネットワーク5A,5Bにおいて、第1〜第6のスイッチングハブ40A〜45A,40B〜45Bは、イーサキャット(登録商標)スレーブコントローラが搭載された通信分配器である。また第1〜第6のメディアコンバータ50A〜55A,50B〜55Bは、いずれもイーサキャット(登録商標)スレーブコントローラが搭載された光伝送装置である。
以上の構成を有する通信システム1において、初期時、マスタ制御装置2において主系に設定された第1の制御部10Aの第1のマスタ基板14Aは、イーサキャット(登録商標)規格で規定された定周期フレームを一定周期(例えば1〔ms〕周期)でA系のネットワーク5Aの第1のスイッチングハブ40Aに送信する。この定周期フレームには、第1及び第2のスレーブ制御装置3,4に送信すべき各制御情報がそれぞれ格納される。
第1のスイッチングハブ40Aは、マスタ制御装置2の第1の制御部10Aから与えられる定周期フレームを第1のメディアコンバータ50Aに転送する。また第1のメディアコンバータ50Aは、第1のスイッチングハブ40Aから転送される定周期フレームを光信号に変換し、この光信号を光ケーブルを介して第2のメディアコンバータ51Aに送信する。
第2のメディアコンバータ51Aは、第1のメディアコンバータ50Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第2のスイッチングハブ41Aに送信する。また第2のスイッチングハブ41Aは、第2のメディアコンバータ51Aから送信される定周期フレームを、第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24Aと、第2の制御部20Bの第1のスレーブ基板24Bとにそれぞれ転送する。
第1及び第2の制御部20A,20Bの第1のスレーブ基板24A,24Bは、それぞれ第2のスイッチングハブ41Aから送信されてきた定周期フレーム内の自己に割り当てられた領域から上述の制御情報を読み出すと共に、当該領域にセンサ情報を格納する。そして、第1及び第2の制御部20A,20Bのうちの主系に設定された第1又は第2の制御部20A,20Bの第1のスレーブ基板24Aは、この後、その定周期フレームを第3のスイッチングハブ42Aに送信する。また従系に設定された第2又は第1の制御部20B,20Aの第1のスレーブ基板24B,24Aは、その定周期フレームを第3のスイッチングハブ42Bに送信することなく破棄する。なお、第1のスレーブ制御装置3は、この後、主系に設定された第1又は第2の制御部20A,20Bの第1のスレーブ基板24A,24Bを介して取得した制御情報を利用して制御対象を制御する。
第3のスイッチングハブ42Aは、第1のスレーブ制御装置3の主系の第1又は第2の制御部20A,20Bから送信されてきた定周期フレームを受信し、受信した定周期フレームを第3のメディアコンバータ52Aに送信する。また第3のメディアコンバータ52Aは、第3のスイッチングハブ42Aから送信されてきた定周期フレームを光信号に変換し、この光信号を光ケーブルを介して第4のメディアコンバータ53Aに送信する。
第4のメディアコンバータ53Aは、第3のメディアコンバータ52Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第4のスイッチングハブ43Aに送信する。また第4のスイッチングハブ43Aは、第4のメディアコンバータ53Aから送信された定周期フレームを第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34Aと、第2の制御部30Bの第1のスレーブ基板34Bとにそれぞれ転送する。
第1及び第2の制御部30A,30Bの第1のスレーブ基板34A,34Bは、それぞれ第4のスイッチングハブ43Aから送信されてきた定周期フレーム内の自己に割り当てられた領域から上述の制御情報を読み出すと共に、当該領域にセンサ情報を格納する。そして、第1及び第2の制御部30A,30Bのうちの主系に設定された第1又は第2の制御部30A,30Bの第1のスレーブ基板34A,34Bは、この後、その定周期フレームを第5のスイッチングハブ44Aに送信する。また従系に設定された第2又は第1の制御部30B,30Aの第1スレーブ基板34B,34Aは、その定周期フレームを第5のスイッチングハブ44Aに送信することなく破棄する。なお、第2のスレーブ制御装置4は、この後、主系に設定された第1又は第2の制御部30A,30Bの第1のスレーブ基板34A,34Bを介して取得した制御情報を利用して制御対象を制御する。
第5のスイッチングハブ44Aは、第2のスレーブ制御装置4の主系の第1又は第2の制御部30A,30Bから送信されてきた定周期フレームを受信し、受信した定周期フレームを第5のメディアコンバータ54Aに送信する。また第5のメディアコンバータ54Aは、第5のスイッチングハブ44Aから送信されてきた定周期フレームを光信号に変換し、この光信号を光ケーブルを介して第6のメディアコンバータ55Aに送信する。
第6のメディアコンバータ55Aは、第5のメディアコンバータ54Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第6のスイッチングハブ45Aに送信する。また第6のスイッチングハブ45Aは、第6のメディアコンバータ55Aから送信される定周期フレームを、マスタ制御装置2の第1の制御部10Aの第1のマスタ基板14Aと、マスタ制御装置2の第2の制御部10Bの第1のマスタ基板14Bとにそれぞれ転送する。
かくして、かかる定周期フレームを受信したマスタ制御装置2の第1の制御部10Aの第1のマスタ基板14A、及び、マスタ制御装置2の第2の制御部10Bの第1のマスタ基板14Bは、第1及び第2のスレーブ制御装置3,4がその定周期フレームに格納したセンサ情報をそれぞれ読み出し、読み出したこれらのセンサ情報をメインCPU基板13A,13Bに引き渡す。
一方、このときマスタ制御装置2の第1の制御部10Aの第2のマスタ基板15Aも、第1のマスタ基板14Aと同様に、第1及び第2のスレーブ制御装置3,4を対象とする、イーサキャット(登録商標)規格で規定された定周期フレームを定期的に(第1のマスタ基板14AがA系のネットワーク5Aに定周期フレームを送信する周期と同じ周期及び同じタイミングで)B系のネットワーク5Bの第1のスイッチングハブ40Bに送信する。
この結果、この定周期フレームが上述したA系のネットワーク5Aと同様にB系のネットワーク5B上で順次転送されてB系の第6のスイッチングハブ45Bを介してマスタ制御装置2の第1の制御部10Aの第2のマスタ基板15Aと、第2の制御部10Bの第2のマスタ基板15Bとに戻る。かくして、この定周期フレームを受信した第2のマスタ基板15A,15Bは、第1及び第2のスレーブ制御装置3,4がその定周期フレームにそれぞれ格納したセンサ情報を読み出し、読み出したこれらのセンサ情報をメインCPU基板13A,13Bに引き渡す。
そしてマスタ制御装置2において主系に設定された第1の制御部10AのメインCPU基板13Aは、第1及び第2のマスタ基板14A,15Aから与えられたセンサ情報に基づいて、リモートサイトの各制御対象をそれぞれ所定状態に制御するためのコマンドやパラメータなどの制御情報を生成し、生成した制御情報を第1のマスタ基板14A及び第2のマスタ基板15Aにそれぞれ引き渡す。かくして第1及び第2のマスタ基板14A,15Aは、それぞれこれらの制御情報を対応する領域にそれぞれ格納した定周期フレームを生成し、生成した定周期フレームを次の送信タイミングでA系及びB系のネットワーク5A,5Bの第1のスイッチングハブ40A,40Bにそれぞれ送信する。
このようにしてマスタ制御装置2は、通常時、第1及び第2のスレーブ制御装置3,4から送信されるセンサ情報に基づいて、これら第1及び第2のスレーブ制御装置3,4の制御対象をそれぞれ所定状態に制御する。
なお、このときマスタ制御装置2の従系に設定された第2の制御部10Bでは、A系のネットワーク5Aの第6のスイッチングハブ45Aから第1のマスタ基板14Bに送信される定周期フレームと、B系のネットワーク5Bの第6のスイッチングハブ45Bから第2のマスタ基板15Bに送信される定周期フレームとに基づいて、上述したマスタ制御装置2の第1の制御部10Aと同様の処理が実行される。
ただし、第2の制御部10Bの第1及び第2のマスタ基板14B,15Bは、いずれもかかる処理により生成された上述の制御情報が格納された定周期フレームをA系又はB系のネットワーク5A,5Bの第1のスイッチングハブ40A,40Bに送信することなく破棄する。従って、本通信システム1では、初期時、マスタ制御装置2の主系に設定された第1の制御部10Aの第1及び第2のマスタ基板14A,15Aからそれぞれ出力される定周期フレームのみがA系及びB系のネットワーク5A,5B上で伝送される。
(2)本通信システムにおける障害発生時の動作
ところで、本通信システム1では、マスタ制御装置2の主系に設定されている第1の制御部10Aに障害が発生した場合、マスタ制御装置2の主系選択部11により第1及び第2の制御部10A,10Bの主従関係が切り替えられ、第2の制御部10Bが主系に設定される。なお、ここで言う「第1の制御部10Aの障害」としては、メインCPU基板13Aや、第1又は第2のマスタ基板14A,15Bのいずれかに障害が発生した場合、第1の制御部10Aに電源を供給する電源装置や部品の故障などが挙げられる。
そして主系に切り替えられた第2の制御部10Bの第1及び第2のマスタ基板14B,15Bは、この後、上述のように生成した定周期フレームを対応するA系又はB系のネットワーク5A,5Bにそれぞれ出力する。また、従系に切り替えられた第1の制御部10Aの第1及び第2のマスタ基板14A,15Aは、この後、生成した定周期フレームを対応するA系又はB系のネットワーク5A,5Bに出力することなく廃棄する。
さらに、このとき主系選択部11は、主系に切り替えられた第2の制御部10Bの対応する第1又は第2のマスタ基板14B,15Bからの定周期フレームを対応するA系又はB系のネットワーク5A,5Bに出力するよう第1のスイッチングハブ40A,40Bを制御する。
以上により、マスタ制御装置2の第1及び第2の制御部10A,10Bの主従関係が切り替えられた場合には、主系に切り替えられた第2の制御部10Bの第1及び第2のマスタ基板14B,15Bから出力される定周期フレームのみが対応するA系又はB系のネットワーク5A,5B上で伝送されることになる。
一方、本通信システム1において、第1又は第2のスレーブ制御装置3,4の主系に設定された第1の制御部20A,30Aにおいて主系に設定された第1のスレーブ基板24A,34Aに障害が発生した場合、その第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30AのメインCPU基板23A,33Aの制御のもとに、第1の制御部20A,30A内において、第2のスレーブ基板25A,35Aが主系の通信基板、第1のスレーブ基板24A,34Aが従系の通信基板にそれぞれ切り替えられる。
また第1又は第2のスレーブ制御装置3,4において、この後、さらに第1の制御部20A,30Aの第2のスレーブ基板25A,35Aにも障害が発生した場合や、第1の制御部20A,30AのメインCPU基板23A,33Aに障害が発生した場合、第1の制御部20A,30Aに電源を供給する電源装置や部品が故障した場合など、第1の制御部20A,30Aに通信が行えなくなる障害が発生した場合には、その第1又は第2のスレーブ制御装置3,4の主系選択部21,31の制御のもとに、第1の制御部20A,30Aと第2の制御部20B,30Bとの主従が切り替えられる(つまり第1の制御部20A,30Aが従系、第2の制御部20B,30Bが主系に切り替えられる)。また、この際、第2の制御部20B,30Bにおいて、メインCPU基板23B,33Bの制御のもとに、第1のスレーブ基板24B,34Bが主系の通信基板に設定される。
さらに第1又は第2のスレーブ制御装置3,4において、この後、さらに第2の制御部20B,30Bの第1のスレーブ基板24B,34Bに障害が発生した場合には、第2の制御部20B,30BのメインCPU基板23B,33Bの制御により、第2の制御部20B,30Bにおける主系の通信基板が第1のスレーブ基板24B,34Bから第2のスレーブ基板25B,35Bに切り替えられる。
加えて、本通信システム1において、障害又はケーブル切断などによりいずれかのスレーブ(第1〜第6のスイッチングハブ40A〜45A,40B〜45B、第1〜第6のメディアコンバータ50A〜55A,50B〜55B、又は、第1若しくは第2のスレーブ制御装置3,4の各第1のスレーブ基板24A,24B,34A,34B若しくは各第2のスレーブ基板25A,25B,35A,35B)にリンクダウンが発生して後段のスレーブと通信できなくなった場合、そのリンクダウンが発生したスレーブと接続された正常なスレーブにおいて、受信した定周期フレームをその送信元に転送するループバック処理が行われる。
そしてマスタ制御装置2の主系に設定されている第1又は第2の制御部10A,10B内の第1のマスタ基板14A,14B及び第2のマスタ基板15A,15Bは、かかるループバック処理により、対応するA系又はB系のネットワーク5A,5B上のすべてのスレーブに送信されずに定周期フレームが戻ってきた場合には、この後、第1のスイッチングハブ40A,40Bに加えて、第6のスイッチングハブ45A,45Bに対してもネットワーク5A,5B上の各スレーブを送信先とする定周期フレームを送信する。
この結果、リング型のネットワークの両端側から定周期フレームがそれぞれ送信され、これらの定周期フレームが、リンクダウンしたスレーブ又は切断されたケーブルと接続された正常なスレーブにおいてそれぞれ折り返されて元の経路を経由してマスタ制御装置2の第1及び第2の制御部10A,10Bの第1のマスタ基板14A,14B又は第2のマスタ基板15A,15Bに転送される。
このようにして、この通信システム1においては、A系やB系のネットワーク5A,5Bを構成するいずれかのスレーブにリンクダウンが発生した場合においても、イーサネット(登録商標)規格において規定されたループバック機能を利用して、A系及びB系のいずれのネットワーク5A,5Bにおいても第1及び第2のスレーブ制御装置3,4とマスタ制御装置2との間の通信を確保し得るようになされている。
(3)スレーブ制御装置並びにスイッチングハブの構成
次に、上述のような通信システム1を実現するための第1及び第2のスレーブ制御装置3,4並びに第2〜第5のスイッチングハブ41A〜44A,41B〜44Bの具体的な構成について説明する。
(3−1)第1及び第2のスレーブ制御装置の構成
図2は、第1のスレーブ制御装置3のより具体的な構成を示す。図2においては、処理の流れを分かりやすくするため、第1の制御部20Aの第1のスレーブ基板24Aをそれぞれ2つの通信部70A,71Aとして表し、第1の制御部20Aの第2のスレーブ基板25Aを2つの通信部72A,73Aとして表し、第2の制御部20Bの第1のスレーブ基板24Bを2つの通信部70B,71Bとして表し、第2の制御部20Bの第2のスレーブ基板25Bを2つの通信部72B,73Bとして表している。
この図2に示すように、第1のスレーブ制御装置3は、上述した第1及び第2の制御部20A,20Bと、主系選択部21とに加えて、セレクタ60,79を備えている。また第1及び第2の制御部20A,20Bは、それぞれ上述したメインCPU基板23A,23Bと、4つの通信部70A〜73A,70B〜73B(第1のスレーブ基板24A及び第2のスレーブ基板24B)とに加えて、ディジタルインプット部74A,74B、アナログインプット部75A,75B、アナログアウトプット部76A,76B、センサ用ディジタルインプット部77A,77B及びセンサ用ディジタルアウトプット部78A,78Bを備えている。
ディジタルインプット部74A,74Bは、後述のように主系選択部21から与えられる第2の主従選択信号S2に基づいて、現在、自制御部(第1又は第2の制御部20A,20B)が主系及び従系のいずれに設定されているかを判定するハードウェアである。またアナログインプット部75A,75Bは、アナログ/ディジタル変換器であり、アナログアウトプット部76A,76Bは、ディジタル/アナログ変換器である。なお、第1の制御部20Aのアナログアウトプット部76Aはセレクタ60の第1の切替え端60Aと接続され、第2の制御部20Bのアナログアウトプット部76Bはセレクタ60の第2の切替え端60Bと接続される。
またセンサ用ディジタルインプット部77A,77Bは、後述するリミットスイッチ等の接点センサ61Bから与えられる電気信号を「1」又は「0」のディジタル信号に変換する変換器であり、センサ用ディジタルアウトプット部78A,78Bは、メインCPU基板23A,23Bの出力を所定電圧の論理「1」レベル又は論理「0」レベルの電気信号に変換する変換器である。なお、第1の制御部20Aのセンサ用ディジタルアウトプット部78Aはセレクタ79の第1の切替え端79Aと接続され、第2の制御部20Bのセンサ用ディジタルアウトプット部78Bはセレクタ79の第2の切替え端79Bと接続される。
さらにメインCPU基板23A,23Bは、ディジタルインプット部74A,74B、通信部70A,70B、通信部72A,72B、アナログインプット部75A,75B及びセンサ用ディジタルインプット部77A,77Bにそれぞれ対応させて設けられた複数の入力処理部80A,80Bと、演算部81A,81Bとを備えている。またメインCPU基板23A,23Bは、さらに通信部71A,71B、通信部73A,73B、アナログアウトプット部76A,76B及びセンサ用ディジタルアウトプット部78A,78Bにそれぞれ対応させて設けられた複数の出力処理部82A,82Bを備えている。
入力処理部80A,80Bは、ディジタルインプット部74A,74B等から与えられる各種情報に対して所定の信号処理を施す機能部であり、演算部81A,81Bは、これらの情報に基づいて必要な演算処理及び制御処理を実行する機能部である。また出力処理部82A,82Bは、演算部81A,81Bから与えられる情報やコマンドに対して所定の信号処理を施す機能部である。
さらに第1のスレーブ制御装置3において、主系選択部21は、第1の制御部20Aが主系である場合に論理「1」レベルに立ち上がり、第2の制御部20Bが主系である場合に論理「0」レベルに立ち下がる第1の主系選択信号S1をセレクタ60及びセレクタ79に出力する。また主系選択部21は、第1の制御部20Aが主系である場合に論理「1」レベルに立ち上がる第2の主系選択信号S2を第2のスイッチングハブ41A,41B及び第3のスイッチングハブ42A,42Bと、第1の制御部20Aのディジタルインプット部74Aとにそれぞれ出力する。さらに主系選択部21は、第2の制御部20Bが主系である場合に論理「1」レベルに立ち上がる第3の主系選択信号S3を第2のスイッチングハブ41A,41B及び第3のスイッチングハブ42A,42Bと、第2の制御部20Bのディジタルインプット部74Bとにそれぞれ出力する。
かかる構成を有する第1のスレーブ制御装置3において、第1及び第2の制御部20A,20Bの通信部70A,70Bは、それぞれA系のネットワーク5Aの第2のスイッチングハブ41Aから送信されてくる定周期フレームの内の第1のスレーブ制御装置3に割り当てられた領域から制御情報を読み出してメインCPU基板23A,23Bに出力する。またメインCPU基板23A,23Bは、通信部70A,70Bから与えられる制御情報を入力処理部80A,80Bを介して取り込む。
同様に、第1及び第2の制御部20A,20Bの通信部72A,72Bは、それぞれB系のネットワーク5Bの第2のスイッチングハブ41Bから送信されてくる定周期フレームの内の第1のスレーブ制御装置3に割り当てられた領域から制御情報を読み出してメインCPU基板23A,23Bに出力する。またメインCPU基板23A,23Bは、通信部72A,72Bから与えられる制御情報を入力処理部80A,80Bを介して取り込む。
そしてメインCPU基板23A,23Bの演算部81A,81Bは、第1のスレーブ基板24A,24Bに対応する通信部70A,70Bを介して取り込んだ制御情報と、第2のスレーブ基板25A,25Bに対応する通信部72A,72Bを介して取り込んだ制御情報とのうち、そのとき主系に設定されている第1のスレーブ基板24A,24B又は第2のスレーブ基板25A,25Bからの制御情報を用いて第1及び第2の制御指示を生成する。
また演算部81A,81Bは、生成した第1の制御指示を出力処理部82A,82Bを介してアナログアウトプット部76A,76Bに出力する。かくして、アナログアウトプット部76A,76Bは、この第1の制御指示をディジタル/アナログ変換した後に、セレクタ60の第1又は第2の切替え端60A,60Bに出力する。
このときセレクタ60は、主系選択部21から与えられる第1の主系選択信号S1に基づいて、そのとき主系に設定されている第1又は第2の制御部20A,20Bに対応する第1又は第2の切替え端60A,60Bを選択しており、かかるコマンド又は目標値がセレクタ60を介して制御対象62Aに与えられる。かくして制御対象62Aは、このコマンド又は目標値に応じた動作を実行する。
同様に、演算部81A,81Bは、生成した第2の制御指示を出力処理部82A,82Bを介してセンサ用ディジタルアウトプット部78A,78Bに出力する。かくして、センサ用ディジタルアウトプット部78A,78Bは、この第2の制御指示に基づいて所定電圧の論理「0」レベル又は論理「1」レベルの電気信号生成し、生成した電気信号をセレクタ79の第1又は第2の切替え端79A,79Bに出力する。
このときセレクタ79は、主系選択部21から与えられる第1の主系選択信号S1に基づいて、そのとき主系に設定されている第1又は第2の制御部20A,20Bに対応する第1又は第2の切替え端79A,79Bを選択しており、かかる所定電圧の論理「0」レベル又は論理「1」レベルの電気信号がセレクタ79を介して制御対象62Bに与えられる。かくして制御対象62Bは、この電気信号に応じた動作を実行する。
一方、第1及び第2の制御部20A,20Bのアナログインプット部75A,75Bは、それぞれアナログセンサでなるセンサ61Aの出力をディジタル変換し、かくして得られたセンサ情報をメインCPU基板23A,23Bに出力する。またメインCPU基板23A,23Bは、アナログインプット部75A,75Bから与えられるセンサ情報を入力処理部80A,80Bを介して取り込み、これを演算部81A,81B及び出力処理部82A,82Bを介して第1のスレーブ基板24A,34Aに対応する通信部71A,71Bと、第2のスレーブ基板25A,25Bに対応する通信部73A,73Bとにそれぞれ出力する。
また第1及び第2の制御部20A,20Bのセンサ用ディジタルインプット部77A,77Bは、それぞれ接点センサでなるセンサ61Bの出力をディジタル変換し、かくして得られたセンサ情報をメインCPU基板23A,23Bに出力する。またメインCPU基板23A,23Bは、センサ用ディジタルインプット部77A,77Bから与えられるセンサ情報を入力処理部80A,80Bを介して取り込み、これを演算部81A,81B及び出力処理部82A,82Bを介して第1のスレーブ基板24A,34Aに対応する通信部71A,71Bと、第2のスレーブ基板25A,25Bに対応する通信部73A,73Bとにそれぞれ出力する。
かくして、これらの通信部71A,71B,73A,73Bは、この後、対応するA系又はB系のネットワーク5A,5Bの第2のスイッチングハブ41A,41Bから定周期フレームが送信されてきたときに、その定周期フレームの内の第1のスレーブ制御装置3に割り当てられた領域にこれらのセンサ情報を格納する。
そして、これら通信部71A,71B,73A,73Bのうち、そのとき主系に設定された第1又は第2のスレーブ基板24A,24B,25A,25Bに対応する通信部71A,71B,73A,73Bは、その定周期フレームを対応するA系又はB系のネットワーク5A,5Bの第3のスイッチングハブ42A,42Bに転送する。また、これら通信部71A,71B,73A,73Bのうち、そのとき従系に設定された第2又は第1のスレーブ基板25A,25B,24A,24Bに対応する通信部73A,73B,71A,71Bは、その定周期フレームを対応するA系又はB系のネットワーク5A,5Bの第3のスイッチングハブ42A,42Bに転送することなく、これを破棄する。
第3のスイッチングハブ42A,42Bは、主系選択部21から与えられる第2及び第3の主系選択信号S2,S3に基づいて、そのとき主系に設定されている第1又は第2のスレーブ基板24A,24B,25A,25Bに対応する通信部71A,71B,73A,73Bから与えられる定周期フレームを取り込み、これを次段の第3のメディアコンバータ52A,52Bに出力する。
なお、第1の制御部20AのメインCPU基板23Aと、第2の制御部20BのメインCPU基板23Bとは、従系を主系に同期させるための通信が行われる。
また、第2のスレーブ制御装置4の構成は、図2について上述した第1のスレーブ制御装置3の構成と同じであり、さらに第2のスレーブ制御装置4における処理は、第1のスレーブ制御装置3について上述した説明において、「第2のスイッチングハブ41A,41B」を「第4のスイッチングハブ43A,43B」に置き換え、「第3のスイッチングハブ42A,42B」を「第5のスイッチングハブ44A,44B」に置き換えた処理が行われるだけであるため、ここでの説明は省略する。
(3−2)第1及び第2のスレーブ制御装置の第1及び第2の制御部の構成
次に、第1及び第2のスレーブ制御装置3,4の第1及び第2の制御部20A,20B,30A,30Bの構成について説明する。
なお、第1及び第2のスレーブ制御装置3,4の第1及び第2の制御部20A,20B,30A,30Bにおいて、メインCPU基板23A,23B,33A,33B、第1のスレーブ基板24A,24B,34A,34B及び第2のスレーブ基板25A,25B,35A,35Bの構成はすべて同じであるため、ここでは第1のスレーブ制御装置3の第1の制御部20Aの構成についてのみ説明し、第1のスレーブ制御装置2の第2の制御部20Bと、第2のスレーブ制御装置4の第1及び第2の制御部30A,30Bについては説明を省略するものとする。
図3は、第1のスレーブ制御装置3の第1の制御部20AのメインCPU基板23A、第1のスレーブ基板24A及び第2のスレーブ基板25Aの概略構成を示す。
この図3に示すように、メインCPU基板23Aは、CPU90、メモリ91及び自己診断回路92を備えて構成される。CPU90は、メインCPU基板23Aにおいて各種制御処理及び演算処理を実行するプロセッサである。メモリ91は、例えば、揮発性の半導体メモリから構成される。メモリ91の記憶領域は、各種演算データを格納する演算データ格納領域91Aと、後述する自己診断処理による自己診断結果を格納する自己診断用メモリ領域91Bと、図示しないプログラム格納領域とに区分されて管理される。図2について上述した各入力処理部80A、演算部81A及び各出力処理部82Aは、メモリ91のかかるプログラム格納領域に格納されたプログラムをCPU90が実行することにより具現化される機能部である。
自己診断回路92は、CPU90に障害が発生していないか否かを自己診断する回路である。自己診断回路92は、CPU90から定期的に与えられるウォッチドッグタイマリセット信号S10に基づいてCPU90の障害の有無を判定し、CPU90に異常が発生したことを検出したときには、メモリ91の自己診断用メモリ領域91Bに格納されている異常検出フラグの値を論理「1」レベルに立ち上げる。
また第1及び第2のスレーブ基板24A,25Aは、それぞれマイクロコンピュータ100,103、メモリ101,104及び自己診断回路102,105を備えて構成される。マイクロコンピュータ100,103は、その第1又は第2のスレーブ基板24A,25Aが受信した定周期フレーム内の第1のスレーブ制御装置3に割り当てられた領域から制御情報を読み出すと共に、その領域にセンサ情報を書き込む機能を有する。
メモリ101,104は、例えば、揮発性の半導体メモリから構成される。メモリ101,104の記憶領域は、定周期フレームに格納するセンサ情報を一時的に保持する送信用データ領域101A,104Aと、定周期フレームから読み出した制御情報を一時的に保持する受信用データ領域101B,104Bと、後述する自己診断回路102,105による自己診断結果を格納する自己診断用メモリ領域101C,104Cとに区分されて管理される。
自己診断回路102,105は、マイクロコンピュータ100,103や前段のスレーブとの間の通信路に障害が発生していないか否かを自己診断する回路である。自己診断回路102,105は、対応する第1又は第2のスレーブ基板24A,25Aが定周期フレームを受信するごとにマイクロコンピュータ100,103から与えられるウォッチドッグタイマリセット信号S11,S12に基づいてマイクロコンピュータ100,103やかかる通信路の障害の有無を判定し、マイクロコンピュータ100,103や通信路の異常を検出したときには、メモリ101,104の自己診断用メモリ領域101C,104Cに格納されている異常検出フラグの値を論理「1」レベルに立ち上げる。
図4は、かかるメインCPU基板23A並びに第1及び第2のスレーブ基板24A,25Aの自己診断回路92,102,105の具体的な構成を示す。自己診断回路92,102,105は、図4に示すように、クロック回路110、ウォッチドッグタイマ111及びフリップフロップ回路112を備えて構成される。そしてクロック回路110は、例えば水晶発信器などから構成され、一定周波数のクロックを発生し、発生したクロックをウォッチドッグタイマ111に出力する。
ウォッチドッグタイマ111は、クロック回路110から与えられるクロックを順次カウントする一方、上述のようにCPU90又はマイクロコンピュータ100,103から与えられるウォッチドッグタイマリセット信号S10,S11,S12に基づいてカウント値をリセットする。そしてウォッチドッグタイマ111は、一定期間CPU90又はマイクロコンピュータ100,103からのウォッチドッグタイマリセット信号S10,S11,S12が与えられなかった場合に、論理「1」レベルのタイムアップ信号S13をフリップフロップ回路112のセット端に出力する。
フリップフロップ回路112は、セット端に与えられるタイムアップ信号S13をラッチし、その論理レベルと同じ論理レベルの異常検出フラグをメモリ91,101,104の自己診断用メモリ領域91B,101C,104Cに書き込む。これにより、CPU90又はマイクロコンピュータ100,103等に障害が発生した場合に、メモリ91,101,104の自己診断用メモリ領域91B,101C,104Cに格納された異常検出フラグの値が「1」に立ち上がることになる。
なお、CPU90及びマイクロコンピュータ100,103は、障害から復旧した場合、自己診断回路92,102,105のフリップフロップ回路112のリセット端にリセット信号S14を出力する。これによりメモリ91,101,104の自己診断用メモリ領域91B,101C,104Cに格納されている異常検出フラグの値がリセット(「0」にセット)される。
図5は、かかる第1及び第2のスレーブ基板24A,25Aのマイクロコンピュータ100,103によりそれぞれ実行される通常動作処理を示す。マイクロコンピュータ100,103は、第1のスレーブ制御装置3の電源が投入されるとこの図5に示す通常動作処理を開始し、まず、予め設定された一定期間内に通信データを受信したか否かを判断する(SP1)。ここで、かかる「通信データ」には、定周期フレームだけでなく、制御のためにマスタ制御装置2や他のスレーブとの間でやり取りされるデータも含む。
そしてマイクロコンピュータ100,103は、この判断で肯定結果を得ると、ウォッチドッグタイマリセット信号S11,S12を自己診断回路102,105のウォッチドッグタイマ111に送信し(SP2)、この後、受信データをメモリ101,104の受信用データ領域101B,104Bに書き込む(SP3)。
続いて、マイクロコンピュータ100,103は、必要に応じて必要な送信データを送信先に送信し(SP4)、この後、ステップSP1に戻る。また、マイクロコンピュータ100,103は、この後、ステップSP1〜ステップSP4の処理を繰り返す。
そして、マイクロコンピュータ100,103は、やがてステップSP1で否定結果を得ると、この通常動作処理を終了する。なお、この場合、自己診断回路102,105のウォッチドッグタイマ111がカウントアップするため、メモリ101,104の自己診断用メモリ領域101C,104Cに格納された異常検出フラグが論理「1」レベルに立ち上げられることになる。
一方、図6は、図3について上述したメインCPU基板23AのCPU90により実行される通常動作処理を示す。CPU90は、第1のスレーブ制御装置3の電源が投入されるとこの図6に示す通常動作処理を開始し、まず、第1及び第2のスレーブ基板24A,25Bが正常であることを前提として、第1のスレーブ基板24Aを主系に設定する初期化を実行する(SP10)。
続いて、CPU90は、制御対象62A,62B(図2)を所定状態に制御するために必要な演算処理を実行し(SP11)、この後、そのとき主系に設定されている第1又は第2のスレーブ基板(以下、これを主系スレーブ基板と呼ぶ)24A,25Aのメモリ101,104の自己診断用メモリ領域101C,104Cにアクセスして、その自己診断用メモリ領域101C,104Cに格納されている異常検出フラグの値を取得する(SP12)。
次いで、CPU90は、ステップSP12で取得した異常検出フラグの値が論理「1」レベルであるか否か(つまり異常が発生したか否か)を判断する(SP13)。そしてCPU90は、この判断で否定結果を得ると、主系スレーブ基板24A,25Aのメモリ101,104に再度アクセスして、そのメモリ101,104の受信用データ領域101B,104Bに格納されている、最後に受信した定周期フレームから取得した制御情報を読み出すと共に、次の定周期フレームに格納すべきセンサ情報を当該メモリ101,104の送信用データ領域101Aに格納する(SP14)。
この後、CPU90は、ステップSP11の演算処理を開始してから一定時間(例えば、マスタ制御装置2が定周期フレームをネットワーク5A,5Bに出力する周期と同じ時間)が経過するまで待機し(SP15)、やがてかかる一定時間が経過するとステップSP11に戻る。そしてCPU90は、この後、ステップSP11〜ステップSP15の処理を繰り返す。
一方、CPU90は、ステップSP13で取得した異常検出フラグの値が論理「1」レベルであった場合、主系スレーブ基板24A,25Aの状態を「異常」に設定し(SP16)、この後、第1及び第2のスレーブ基板24A,25Aの双方共に「異常」に設定されているか否かを判断する(SP17)。
そしてCPU90は、この判断で否定結果を得ると、第2のスレーブ基板25Aを主系に設定し(SP18)、この後、ステップSP11に戻ってステップSP11以降の処理を繰り返す。
これに対して、CPU90は、ステップSP17の判断で肯定結果を得ると、自基板(メインCPU基板23A)のメモリ91の自己診断用メモリ領域91Bに、第1及び第2のスレーブ基板24A,25Bに異常が生じた旨のモジュール異常を設定し(SP19)、さらに主系選択部21(図1)にかかるモジュール異常を通知した後(SP20)、この通常動作処理を終了する。
なお主系選択部21は、このような第1の制御部20AのメインCPU基板23AのCPU90から通知されるモジュール異常と、これと同様にして第2の制御部20BのメインCPU基板23BのCPU90から通知されるモジュール異常とに基づいて、必要に応じて主系を第1の制御部20Aから第2の制御部20Bに切り替えることになる。
具体的に、主系選択部21は、図7に示すように、第1及び第2の制御部20A,20Bのいずれからもモジュール異常が通知されていない状態(つまり第1及び第2の制御部20A,20Bの双方共に正常状態)のときには、前の選択状態を維持させるような第1〜第3の主系選択信号S1〜S3(図2)をセレクタ60,79(図2)や、対応する第2〜第5のスイッチングハブ41A〜44A,41B〜44Bに送信する。
また主系選択部21は、第2の制御部20Bのみからモジュール異常が通知された場合には第1の制御部20Aを主系とし、第1の制御部20Aのみからモジュール異常が通知された場合には第2の制御部20Bを主系とするような第1〜第3の主系選択信号S1〜S3をセレクタ60,79や、対応する第2〜第5のスイッチングハブ41A〜44A,41B〜44Bに送出する。
なお第1及び第2の制御部20A,20Bの双方からモジュール異常が通知された場合、主系選択部21は、主系がない状態とする(前の状態維持させる)ような第1〜第3の主系選択信号S1〜S3をセレクタ60,79や、対応する第2〜第5のスイッチングハブ41A〜44A,41B〜44Bに送出する。
(3−3)スイッチングハブの構成
図8は、第2〜第5のスイッチングハブ41A〜44A,41B〜44Bの具体的な構成を示す。この図8からも明らかなように、第2〜第5のスイッチングハブ41A〜44A,41B〜44Bは、第1〜第3のPHY120A〜120Cと、イーサキャット(登録商標)スレーブコントローラ121と、分岐接続部122とを備えて構成される。
第1〜第3のPHY120A〜120Cは、接続された第1又は第2のスレーブ制御装置3,4の第1又は第2の制御部20A,20B,30A,30Bの第1のスレーブ基板24A,24B,34A,34B又は第2のスレーブ基板25A,25B,35A,35Bとの間や、対応するA系又はB系のネットワーク5A,5B上の前段又は後段のスレーブとの間で定周期フレームを送受する送受信装置である。
これら第1〜第3のPHY120A〜120Cのうち、第1のPHY120Aは、前段又は後段に配置された第1又は第2のスレーブ制御装置3,4の第1の制御部20Aの第1のスレーブ基板24A,34A又は第2のスレーブ基板25A,35Aと接続される。また第2のPHY120Bは、かかる第1又は第2のスレーブ制御装置3,4の第2の制御部20B,30Bの第1のスレーブ基板24B,34B又は第2のスレーブ基板25B,35Bと接続される。さらに第3のPHY120Cは、対応するA系又はB系のネットワーク5A,5B上の後段又は前段の第2〜第5のメディアコンバータ51A〜54A,51B〜54Bと接続される。
例えば、A系のネットワーク5Aの第2のスイッチングハブ41Aの場合、第1のPHY120Aが第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24A、第2のPHY120Bが第1のスレーブ制御装置3の第2の制御部20Bの第1のスレーブ基板24B、第3のPHY120Cが第2のメディアコンバータ51Aとそれぞれ接続される。またA系のネットワーク5Aの第3のスイッチングハブ42Aの場合、第1のPHY120Aが第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24A、第2のPHY120Bが第1のスレーブ制御装置3の第2の制御部20Bの第1のスレーブ基板24B、第3のPHY120Cが第3のメディアコンバータ52Aとそれぞれ接続される。
またA系のネットワーク5Aの第4のスイッチングハブ43Aの場合、第1のPHY120Aが第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34A、第2のPHY120Bが第2のスレーブ制御装置4の第2の制御部30Bの第1のスレーブ基板34B、第3のPHY120Cが第4のメディアコンバータ53Aとそれぞれ接続される。さらにA系のネットワーク5Aの第5のスイッチングハブ44Aでは、第1のPHY120Aが第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34A、第2のPHY120Bが第2のスレーブ制御装置4の第2の制御部30Bの第1のスレーブ基板34Bとそれぞれ接続される。
なお、B系のネットワーク5Bの第2〜第5のスイッチングハブ41B〜44Bの場合は、上述のA系のネットワーク5Aの第2〜第5のスイッチングハブ41A〜44Aの説明において、「第1のスレーブ基板」を「第2のスレーブ基板」と置き換えるだけであるので、ここでの詳細説明は省略する。
また第1〜第3のPHY120A〜120Cには、それぞれリンク信号出力端が設けられている。そして第1のPHY120Aのリンク信号出力端は第1のアンド回路123Aの第1の信号入力端と接続され、第2のPHY120Bのリンク出力端は第2のアンド回路123Bの第1の信号入力端と接続されている。また第1のアンド回路123Aの第2の信号入力端には、主系選択部21,31(図1、図2)から図2について上述した第2の主系選択信号S2が与えられ、第2のアンド回路123Bの第2の信号入力端には、同じ主系選択部21,31から第3の主系選択信号S3が与えられる。さらに第1のアンド回路123Aの信号出力端は、オア回路124の第1の信号入力端と接続されると共に、第2のアンド回路123Bの信号出力端は、オア回路124の第2の信号入力端と接続され、このオア回路124の信号出力端がイーサキャット(登録商標)スレーブコントローラ121の第2のリンク信号入力端と接続されている。
そして第1及び第2のPHY120A,120Bは、接続先の第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30A又は第2の制御部20B,30Bとのリンクが確保されている場合(接続先の第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30A又は第2の制御部20B,30Bと通信可能な場合)には、リンク信号出力端を介して論理「1」レベルのリンク信号S20A,S20Bを、接続された第1又は第2のアンド回路123A,123Bに送信する一方、接続先の第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30A又は第2の制御部20B,30Bとのリンクが切断された場合(接続先の第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30A又は第2の制御部20B,30Bと通信できなくなった場合)には、リンク信号S20A,S20Bの信号レベルを論理「0」レベルに切り替える。
従って、第2のスイッチングハブ41A,41B及び第3のスイッチングハブ42A,42Bでは、第1のスレーブ制御装置3において第1の制御部20Aが主系に設定されている場合であって、第1のPHY120Aと第1のスレーブ制御装置3の第1の制御部20Aの第1のスレーブ基板24Aとの間のリンクが確保されているとき、又は、第1のスレーブ制御装置3において第2の制御部20Bが主系に設定されている場合であって、第2のPHY120Bが第1のスレーブ制御装置2の第2の制御部20Bの第2のスレーブ基板25Bとの間のリンクが確保されているときに(第1又は第2のPHY120A,120Bが第1のスレーブ制御装置2の主系に設定された第1又は第2の制御部20A,20Bの第1又は第2のスレーブ基板24A,25Bと接続されているときに)、オア回路124からイーサキャット(登録商標)スレーブコントローラ121の第2のリンク信号入力端に論理「1」レベルのリンク信号S21が与えられる。
また第4のスイッチングハブ43A,43B及び第5のスイッチングハブ44A,44Bでは、第2のスレーブ制御装置4において第1の制御部30Aが主系に設定されている場合であって、第1のPHY120Aと第2のスレーブ制御装置4の第1の制御部30Aの第1のスレーブ基板34Aとの間のリンクが確保されているとき、又は、第2のスレーブ制御装置4において第2の制御部30Bが主系に設定されている場合であって、第2のPHY120Bが第2のスレーブ制御装置4の第2の制御部30Bの第2のスレーブ基板35Bとの間のリンクが確保されているときに(第1又は第2のPHY120A,120Bが第2のスレーブ制御装置4の主系に設定された第1又は第2の制御部30A,30Bの第1又は第2のスレーブ基板24A,35Bと接続されているときに、オア回路124からイーサキャット(登録商標)スレーブコントローラ121の第2のリンク信号入力端に論理「1」レベルのリンク信号S21が与えられる。
また第3のPHY120Cは、接続先の第2〜第5のメディアコンバータ51A〜54Aとのリンクが確保されている場合には、リンク信号出力端を介して論理「1」レベルのリンク信号S22をイーサキャット(登録商標)スレーブコントローラ121に送信する一方、接続先の第2〜第5のメディアコンバータ51A〜54Aとのリンクが切断された場合には、リンク信号S22の信号レベルを論理「0」レベルに切り替える。
イーサキャット(登録商標)スレーブコントローラ121は、上述のようにイーサキャット(登録商標)規格に準拠したスレーブコントローラであり、接続先の第1又は第2のスレーブ制御装置3,4や、第2〜第5のメディアコンバータ51A〜54Aとの間でイーサキャット(登録商標)プロトコルに従った通信を行うための通信処理を実行する。イーサキャット(登録商標)スレーブコントローラ121には、イーサキャット(登録商標)規格で規定されているループバック機能等の各種機能が搭載されている。
例えば、イーサキャット(登録商標)スレーブコントローラ121は、オア回路124から上述の第1のリンク信号入力端に与えられるリンク信号S21の信号レベルが論理「0」レベルとなった場合(つまり第1又は第2のスレーブ制御装置3,4の主系に設定された第1の制御部20A,20B又は第2の制御部20B,30Bの第1のスレーブ基板24A,24B,34A、34B又は第2のスレーブ基板25A,25B,35A、35Bに接続された第1又は第2のPHY120A,120Bと、その第1のスレーブ基板24A,24B,34A、34B又は第2のスレーブ基板25A,25B,35A、35Bとの間のリンクが切断された場合)には、その後、第3のPHY120C経由で入力する定周期フレームを折り返して送信元の第2〜第5のメディアコンバータ51A〜54A,51B〜54Bに送り返すループバック処理を実行する。
またイーサキャット(登録商標)スレーブコントローラ121は、第3のPHY120Cから上述の第2のリンク信号入力端に与えられるリンク信号S22の信号レベルが論理「0」レベルとなった場合(つまり第3のPHY120Cと、当該第3のPHY120Cと接続された第2〜第5のメディアコンバータ51A〜54A,51B〜54Bとの間のリンクが切断された場合)には、その後、第1又は第2のPHY120A,120B経由で入力する定周期フレームを折り返して送信元の第1又は第2のスレーブ制御装置3,4の第1の制御部20A,30A又は第2の制御部20B,30Bに送り返すループバック処理を実行する。
分岐接続部122は、第2のスイッチングハブ41A,41B及び第4のスイッチングハブ43A,43Bにおいて、前段の第2のメディアコンバータ51A,51B又は第3のメディアコンバータ52A,52Bから第3のPHY120Cに与えられた定周期フレームを、イーサキャット(登録商標)スレーブコントローラ121を介して対応する第1又は第2のスレーブ制御装置3,4の主系に設定された第1の制御部20A,30A又は第2の制御部20B,30Bと接続された第1又は第2のPHY120A,120Bに伝送し、第3のスイッチングハブ42A,42B及び第5のスイッチングハブ44A,44Bにおいて、前段の第1又は第2のスレーブ制御装置3,4の主系の第1制御部20A,30A又は第2の制御部20B,30Bから第1又は第2のPHY120A,120Bに与えられた定周期フレームをイーサキャット(登録商標)スレーブコントローラ121を介して第3のPYH120Cに伝送するよう第1及び第2のPHY120A,120Bと、イーサキャット(登録商標)スレーブコントローラ121との間を接続するMII(Media Independent Interface)である。この分岐接続部122は、第1〜第3のセレクタ部125A〜125Cを備えて構成される。
そして第1のセレクタ部125Aは、第1の信号入力端が第1のPHY120Aの信号出力端と接続されると共に、第2の信号入力端が第2のPHY120Bの信号出力端と接続されている。また第1のセレクタ部125Aの信号出力端は、イーサキャット(登録商標)スレーブコントローラ121のインポート側の受信ポートと接続されている。
また第2のセレクタ部125Bは、第1の信号入力端がイーサキャット(登録商標)スレーブコントローラ121のインポート側の送信ポートと接続されると共に、第2の信号入力端が、第1のセレクタ部125Aの第2の信号入力端と共に第2のPHY120Bの信号出力端と接続されている。また第2のセレクタ部120Bの信号出力端は、第1のPHY120Aの信号入力端と接続されている。
第3のセレクタ部125Cは、第1の信号入力端が第1のセレクタ部125Aの第1の信号入力端と共に第1のPHY120Aの信号出力端と接続されると共に、第2の信号入力端が第2のセレクタ部125Bの第1の信号入力端と共にイーサキャット(登録商標)スレーブコントローラ121のインポート側の送信ポートと接続されている。また第3のセレクタ部125Cの信号出力端は、第2のPHY120Bの信号入力端と接続されている。
なおイーサキャット(登録商標)スレーブコントローラ121のアウトポート側は、MIIインタフェースを介して、信号入力端が第3のPHY120Cの信号出力端と接続され、信号出力端が第3のPHY120Cの信号入力端と接続されており、これによりイーサキャット(登録商標)スレーブコントローラ121及び第3のPHY120Cが双方向に通信できるようになされている。
(4)本実施の形態の効果
以上のように本実施の形態の通信システム1では、第1及び第2のスレーブ制御装置3,4において、第1の制御部20A,30A及び第2の制御部20B,30Bに第1のスレーブ基板24A,24B,34A,34B及び第2のスレーブ基板25A,25B,35A,35Bをそれぞれ設けているため、第1及び第2のスレーブ制御装置3,4は、初期時に主系に設定した第1のスレーブ基板24A,24B,34A,34Bに障害が発生した場合においても、第2のスレーブ基板25A,25B,35A,35Bを利用してマスタ制御装置2との間の通信を行うことができる。
従って、本通信システム1では、第1及び第2のスレーブ制御装置3,4において、第1のスレーブ基板24A,24B,34A,34Bに障害が発生した場合においても制御部を直ぐに従系の第2の制御部20B,30Bに切り替える必要がなく、その分、従系の第2の制御部20B,30Bへの切り替えが安易に発生するのを抑制することができる。
また本通信システム1では、第1のスレーブ基板24A,24B,34A,34B及び第2のスレーブ基板25A,25B,35A,35Bをそれぞれ異なるA系又はB系のネットワーク5A,5Bにそれぞれ接続しているため、第1の制御部20A,30Aや第2の制御部20B,30Bにおいて、第1のスレーブ基板24A,24B,34A,34B主系の通信基板に設定されている状態において、A系のネットワーク5Aで断線が二カ所以上発生した場合においても、第1の制御部20A,30Aや第2の制御部20B,30Bにおいて、主系の通信基板を第2のスレーブ基板25A,25B,35A,35Bに切り替えることによりB系のネットワーク5Bを介して必要なセンサ情報を収集することができる。
従って、本通信システム1によれば、従系の第2の制御部20B,30Bへの切り替えを抑制でき、かつ二カ所以上の断線が発生した場合においても通信を継続し得る信頼性及び可用性の高い通信システムを実現できる。
(5)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成された通信システムに適用するようにした場合について述べたが、本発明はこれに限らず、要は、マスタ−スレーブ方式の産業用通信プロトコルが適用され、システム全体を制御するマスタ制御装置と、マスタ制御装置から送信される制御情報に基づいて制御対象を制御するスレーブ制御装置とを有する通信システムであれば、この他種々の構成を有する通信システムに広く適用することができる。
また上述の実施の形態においては、第1及び第2のスレーブ制御装置3,4の第1の制御部20A,30Aにおいてスレーブ基板を二重化すると共に、ネットワークも二重化するようにした場合について述べたが、本発明はこれに限らず、かかるスレーブ基板やネットワークを三重化以上に多重化するようにしてもよい。
さらに上述の実施の形態においては、第1及び第2のスレーブ制御装置3,4の第1の制御部20A,30A及び第2の制御部20B,30BにおいてA系のネットワーク5Aを介して送信されてきた定周期フレームの送受信処理を実行する第1の通信部としての第1のスレーブ基板24A,24B,34A,34Bと、当該第1の制御部20A,30A及び第2の制御部20B,30BにおいてB系のネットワーク5Bを介して送信されてきた定周期フレームの送受信処理を実行する第2の通信部としての第2のスレーブ基板25A,25B,35A,35Bと、第1のスレーブ基板24A,24B,34A,34Bや第2のスレーブ基板25A,25B,35A,35Bが受信した定周期フレームに格納された制御情報に基づいて制御対象を制御するメイン制御部としてのメインCPU基板23A,23B,33A,33Bとを図3のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。
さらに上述の実施の形態においては、第2〜第5のスイッチングハブ41A〜44A,41B〜44Bを図8のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。