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

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

▶ 株式会社IHIの特許一覧

<>
  • 特許6233021-通信分配装置 図000002
  • 特許6233021-通信分配装置 図000003
  • 特許6233021-通信分配装置 図000004
  • 特許6233021-通信分配装置 図000005
  • 特許6233021-通信分配装置 図000006
  • 特許6233021-通信分配装置 図000007
  • 特許6233021-通信分配装置 図000008
  • 特許6233021-通信分配装置 図000009
  • 特許6233021-通信分配装置 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6233021
(24)【登録日】2017年11月2日
(45)【発行日】2017年11月22日
(54)【発明の名称】通信分配装置
(51)【国際特許分類】
   H04L 12/44 20060101AFI20171113BHJP
   H04L 12/28 20060101ALI20171113BHJP
【FI】
   H04L12/44 300
   H04L12/28 100F
【請求項の数】7
【全頁数】24
(21)【出願番号】特願2013-273593(P2013-273593)
(22)【出願日】2013年12月27日
(65)【公開番号】特開2015-128264(P2015-128264A)
(43)【公開日】2015年7月9日
【審査請求日】2016年10月25日
(73)【特許権者】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(74)【代理人】
【識別番号】100093861
【弁理士】
【氏名又は名称】大賀 眞司
(74)【代理人】
【識別番号】100129218
【弁理士】
【氏名又は名称】百本 宏之
(72)【発明者】
【氏名】鎮目 大
(72)【発明者】
【氏名】新妻 素直
(72)【発明者】
【氏名】山上 淳二
(72)【発明者】
【氏名】熊谷 正伸
【審査官】 野元 久道
(56)【参考文献】
【文献】 特開2009−004854(JP,A)
【文献】 特開2013−090335(JP,A)
【文献】 特開2011−077751(JP,A)
【文献】 特開2013−207452(JP,A)
【文献】 特開2002−314552(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/44
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
マスタ−スレーブ方式の産業用通信プロトコルが適用されたリモートI/Oシステムにおいて、少なくとも2つのマスタ装置と、1又は複数のスレーブ装置が接続されたネットワークとを接続する通信分配装置であって、
各前記マスタ装置にそれぞれ対応させて設けられ、対応する前記マスタ装置との間で通信フレームを送受する第1及び第2の送受信部と、
前記ネットワークが接続され、当該ネットワークを介して前記スレーブ装置との間で前記通信フレームを送受する第3の送受信部と、
前記第3の送受信部と双方向に通信できるように接続され、前記マスタ装置又は前記スレーブ装置との間で前記産業用通信プロトコルに従った通信を行うための通信処理を実行するスレーブコントローラと、
いずれかの前記マスタ装置から対応する一方の前記第1又は第2の送受信部に与えられた前記通信フレームを他方の前記第2又は第1の送受信部と前記スレーブコントローラとに分配すると共に、接続された前記スレーブ装置から前記第3の送受信部に与えられた前記通信フレームを前記スレーブコントローラを介して各前記第1及び第2の送受信部にそれぞれ分配するよう各前記第1及び第2の送受信部と前記スレーブコントローラとの間を接続する分岐接続部と
を備えることを特徴とする通信分配装置。
【請求項2】
前記産業用通信プロトコルは、イーサキャット(登録商標)プロトコルであり、
前記スレーブコントローラは、前記イーサキャット(登録商標)規格に準拠したスレーブコントローラである
ことを特徴とする請求項1に記載の通信分配装置。
【請求項3】
前記分岐接続部は、
少なくとも第1乃至第3のセレクタ部を備え、
前記第1のセレクタ部は、
第1の信号入力端が前記第1の送受信部の信号出力端と接続されると共に、第2の信号入力端が前記第2の送受信部の信号入力端と接続され、かつ信号出力端が前記スレーブコントローラのインポート側の受信ポートと接続され、
前記第2のセレクタ部は、
第1の信号入力端が前記スレーブコントローラの前記インポート側の送信ポートと接続されると共に、第2の信号入力端が前記第1のセレクタ部の前記第2の信号入力端と共に前記第2の送受信部と接続され、かつ信号出力端が前記第1の送受信部の信号入力端と接続され、
前記第3のセレクタ部は、
第1の信号入力端が前記第1のセレクタ部の前記第1の信号入力端と共に前記第1の送受信部の信号出力端と接続されると共に、第2の信号入力端が前記第2のセレクタ部の前記第1の信号入力端と共に前記スレーブコントローラの前記インポート側の前記送信ポートと接続され、かつ信号出力端が前記第3の送受信部の信号入力端と接続された
ことを特徴とする請求項1に記載の通信分配装置。
【請求項4】
前記第1乃至第3のセレクタ部は、
前記第1の信号入力端と接続され、当該第1の信号入力端に与えられた通信フレームを一時的に記憶する第1のバッファメモリと、
前記第2の信号入力端と接続され、当該第1の信号入力端に与えられた通信フレームを一時的に記憶する第2のバッファメモリと、
前記第1のバッファメモリに格納された前記通信フレームと、前記第2のバッファメモリに格納された前記通信フレームとが同時に出力されないように、前記第1及び第2のバッファメモリに格納された前記通信フレームの読み出しタイミングを制御する出力調停制御部と
を備えることを特徴とする請求項3に記載の通信分配装置。
【請求項5】
通信をモニタする通信モニタ用機器と接続される第4の送受信部を備え、
前記分岐接続部は、第4のセレクタ部を備え、
前記第4のセレクタ部は、
第1の信号入力端が前記第1のセレクタ部の前記信号出力端と接続されると共に、第2の信号入力端が前記第2のセレクタ部の前記第1の信号入力端及び前記第3のセレクタ部の第2の信号入力端と共に前記スレーブコントローラの前記インポート側の前記送信ポートと接続され、かつ信号出力端が前記第4の送受信部の信号入力端と接続された
ことを特徴とする請求項3に記載の通信分配装置。
【請求項6】
前記第1の送受信部及び当該第1の送受信部に対応する前記マスタ装置間のリンクと、前記第2の送受信部及び当該第2の送受信部に対応する前記マスタ装置間のリンクとがそれぞれ確保されているか否かを監視する監視部を備え、
前記監視部は、
前記第1の送受信部及び当該第1の送受信部に対応する前記マスタ装置間のリンクと、前記第2の送受信部及び当該第2の送受信部に対応する前記マスタ装置間のリンクとの何れか一方が切断された場合に、当該切断を前記スレーブコントローラに通知し、
前記スレーブコントローラは、
前記監視部から当該切断が通知された場合に、前記スレーブ装置から前記ネットワークを介して前記第3の送受信部に与えられた前記通信フレームを、送信元の前記スレーブ装置に送り返す
ことを特徴とする請求項1に記載の通信分配装置。
【請求項7】
前記第3の送受信部は、
前記ネットワークを介して接続された前記スレーブ装置との間のリンクが切断された場合に、当該切断を前記スレーブコントローラに通知し、
前記スレーブコントローラは、
前記第3の送受信部から当該切断が通知された場合に、前記マスタ装置から前記第1又は第2の送受信部に与えられた前記通信フレームを、送信元の前記マスタ装置に送り返す
ことを特徴とする請求項1に記載の通信分配装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信分配装置に関し、例えばスイッチングハブに適用して好適なものである。
【背景技術】
【0002】
近年、マスタ−スレーブ方式の通信方式として、イーサネット(登録商標)ベースのフィールドバスシステムであるイーサキャット(Ether CAT:Ether for Control Automation Technology)(登録商標)が注目されている。
【0003】
イーサキャット(登録商標)では、ネットワーク上を定期的に流れる通信フレーム(以下、これを定周期フレームと呼ぶ)を各スレーブがオンザフライで処理する。具体的に、各スレーブは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域にデータを読み書きすると同時にその通信フレームを次のスレーブにフォワードする。
【0004】
スレーブにおけるデータの送受信処理は、そのスレーブに搭載されたイーサキャット(登録商標)スレーブコントローラにより高速に行われる。このためスレーブのネットワークパフォーマンスはそのスレーブのマイコン性能に依存しない。通常、各スレーブ内における定周期フレームの遅延は数〔ns〕程度しかなく、これによりデータ伝送の高速性とリアルタイム性とが確保されている。
【0005】
このようなイーサキャット(登録商標)のデータ伝送の高速性及びリアルタイム性はリアルタイム制御が必要な工場やプラント等において有用であり、近年では、イーサキャット(登録商標)を適用した通信システムのリアルタイム性等を保証するための種々の発明が多く提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2011−77751号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、リモートI/Oシステムの通信方式としてイーサキャット(登録商標)方式等のマスタ−スレーブ方式の産業用通信プロトコルを利用する場合、マスタの冗長化を図るために汎用のイーサネット(登録商標)スイッチによって通信を複数のマスタに分配することが行われている。
【0008】
この場合において、近年の産業用通信プロトコルでは、物理層、データリンク層にイーサネット(登録商標)が利用されているが、汎用のイーサネット(登録商標)スイッチは産業用イーサネット(登録商標)プロトコルのすべてに対応しているわけではない。
【0009】
例えば、イーサキャット(登録商標)プロトコルでは、接続された次段の通信機器(制御装置やスレーブ)との間の通信が途絶えた場合、前段の通信機器から転送される通信フレームを次段の通信機器に転送することなく、前段の通信機器に戻すループバック機能や、システム運用中でのスレーブの追加又は削除を行えるホットコネクト機能などが規定されているが、汎用のイーサネット(登録商標)スイッチにこのようなループバック機能やホットコネクト機能が搭載されたものはない。
【0010】
このため、例えば、通信方式としてイーサキャット(登録商標)方式を適用したリモートI/Oシステムにおいて、通信を複数のマスタに分配する通信分配装置として汎用のイーサネット(登録商標)スイッチを利用した場合、そのイーサネット(登録商標)スイッチと、当該イーサネット(登録商標)スイッチに接続された次段の通信機器との間の通信が途絶えた場合に、イーサネット(登録商標)スイッチから次段の通信機器に定周期フレームを転送することができず、定周期フレームがそのイーサネット(登録商標)スイッチ及び次段の通信機器間において消滅してしまうこととなる。
【0011】
このように、マスタの冗長化を図るに際し、リモートI/Oシステムの通信方式に対応していない通信分配装置を利用すると通信に不具合が生じることがあり、システム全体としての信頼性が低下する問題がある。
【0012】
本発明は以上の点を考慮してなされたもので、システム全体としての信頼性を向上させ得る通信分配装置を提案しようとするものである。
【課題を解決するための手段】
【0013】
かかる課題を解決するため本発明においては、マスタ−スレーブ方式の産業用通信プロトコルが適用されたリモートI/Oシステムにおいて、少なくとも2つのマスタ装置と、1又は複数のスレーブ装置が接続されたネットワークとを接続する通信分配装置であって、各前記マスタ装置にそれぞれ対応させて設けられ、対応する前記マスタ装置との間で通信フレームを送受する第1及び第2の送受信部と、前記ネットワークが接続され、当該ネットワークを介して前記スレーブ装置との間で前記通信フレームを送受する第3の送受信部と、前記第3の送受信部と双方向に通信できるように接続され、前記マスタ装置又は前記スレーブ装置との間で前記産業用通信プロトコルに従った通信を行うための通信処理を実行するスレーブコントローラと、いずれかの前記マスタ装置から対応する一方の前記第1又は第2の送受信部に与えられた前記通信フレームを他方の前記第2又は第1の送受信部と前記スレーブコントローラとに分配すると共に、接続された前記スレーブ装置から前記第3の送受信部に与えられた前記通信フレームを前記スレーブコントローラを介して各前記第1及び第2の送受信部にそれぞれ分配するよう各前記第1及び第2の送受信部と前記スレーブコントローラとの間を接続する分岐接続部とを設けるようにした。
【0014】
かかる通信分配装置では、マスタ装置から送信された通信フレームがそれぞれ他方のマスタ装置及びスレーブ装置に送信されると共に、スレーブ装置から送信される通信フレームが各マスタ装置にそれぞれ送信される。これによりマスタ装置の冗長化を図ることができる。またこの場合において、スレーブコントローラがリモートI/Oシステムに適用された産業用通信プロトコルに対応しているため、マスタ装置及びスレーブ装置間の通信に不具合が生じることはない。
【発明の効果】
【0015】
本発明によれば、システム全体としての信頼性を向上させ得る通信分配装置を実現できる。
【図面の簡単な説明】
【0016】
図1】本実施の形態によるリモートI/Oシステムの全体構成を示すブロック図である。
図2】(A)−(E)は、イーサキャット(登録商標)プロトコルにおける定周期フレームのフレームフォーマットを示す概念図である。
図3】第1及び第2のスイッチングハブの構成を示すブロック図である。
図4】第1〜第4のセレクタ部の構成を示すブロック図である。
図5】出力調停制御部の状態の説明に供する状態遷移図である。
図6】第1及び第2のスイッチングハブの概略構成を示すブロック図である。
図7】第1及び第2のスイッチングハブにおける定周期フレームの流れの説明に供するブロック図である。
図8】第1及び第2のスイッチングハブにおける定周期フレームの流れの説明に供するブロック図である。
図9】第1及び第2のスイッチングハブにおける定周期フレームの流れの説明に供するブロック図である。
【発明を実施するための形態】
【0017】
以下図面について、本発明の一実施の形態を詳述する。
【0018】
(1)本実施の形態によるリモートI/Oシステムの構成
図1は、ガスタービン発電プラント用のリモートI/Oシステム1の概略構成を示す。このリモートI/Oシステム1は、通信プロトコルとしてイーサキャット(登録商標)プロトコルが適用された通信システムであり、制御室内に設置された冗長化された2つの制御装置(以下、これらを第1及び第2の制御装置と呼ぶ)2A,2Bを備えて構成される。
【0019】
第1及び第2の制御装置2A,2Bは、ガスタービン発電プラント全体を制御する制御装置であり、それぞれメインCPU(Central Processing Unit)10A,10Bと、第1のマスタCPU11A,11Bと、第2のマスタCPU12A,12Bとを備える。
【0020】
メインCPU10A,10Bは、第1又は第2の制御装置2A,2B全体の動作制御を司るプロセッサであり、内部バス13A,13Bを介して接続された第1のマスタCPU11A,11B及び第2のマスタCPU12A,12Bにより収集されたリモートサイトの各種センサのセンサ出力と、図示しないメモリに格納された各種プログラムとに基づいて、リモートサイトに設置されたガスタービン(図示せず)を制御するための各種制御処理を実行する。
【0021】
第1のマスタCPU11A,11B及び第2のマスタCPU12A,12Bは、接続されたA系又はB系のネットワーク3A,3Bにおいてマスタとして機能するプロセッサである。第1のマスタCPU11A,11Bは、リング型のネットワークトポロジを有するA系のネットワーク3Aと接続され、第2のマスタCPU12A,12Bは、リング型のネットワークトポロジを有するB系のネットワーク3Bと接続される。
【0022】
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とを備えて構成される。
【0023】
そして第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以上のケーブルを介して接続されている。
【0024】
同様に、第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以上のケーブルを介して接続されている。
【0025】
これに対して第1のメディアコンバータ22A及び第2のメディアコンバータ23A間と、第3のメディアコンバータ24A及び第4のメディアコンバータ25A間とは、それぞれ100BASE-FXケーブル等の光ケーブル32を介して接続されており、これによりリモートサイトが制御室から離反した場所に存在する場合においても、制御室及びリモートサイト間の通信時における信号の減衰を抑え得るようになされている。
【0026】
B系のネットワーク3Bも、A系のネットワーク3Aと同様に、それぞれ制御室内に配置された第1及び第2のスイッチングハブ20B,21B並びに第1及び第4のメディアコンバータ22B,25Bと、リモートサイトに配置された第2及び第3のメディアコンバータ23B,24B並びにAIスレーブ26B、AOスレーブ27B、DIスレーブ28B及びDOスレーブ29Bとを備えて構成される。
【0027】
そして第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と同様に相互に接続されている。
【0028】
第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bは、イーサキャット(登録商標)スレーブコントローラが搭載された通信分配装置である。図1においては図示していないが、これら第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bは、通信をモニタするためのパーソナルコンピュータ等の通信モニタ用機器とそれぞれ接続される。また第1〜第4のメディアコンバータ22A〜25A,22B〜25Bは、いずれもイーサキャット(登録商標)スレーブコントローラが搭載された光伝送装置である。
【0029】
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と呼ぶ。
【0030】
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)を指す。以下においても同様である。
【0031】
また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から与えられるアナログ制御情報のみを対応する制御対象のアナログ機器に送信するようにしても良い。
【0032】
DIスレーブ28A,28Bは、リモートサイトに配置された各ディジタルセンサにそれぞれ対応させてA系及びB系のネットワーク3A,3B上にそれぞれ1又は複数設けられる。DIスレーブ28A,28Bは、対応する信号分配器31を介して与えられる対応するディジタルセンサのセンサ出力(センサ情報)を定周期フレーム内の自己に割り当てられた領域に格納する機能を有する。
【0033】
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から与えられる制御情報のみを対応する制御対象のディジタル機器に送信するようにしても良い。
【0034】
かかる構成を有するリモート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をそれぞれ従系に設定する。
【0035】
主系に設定された第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に転送する。
【0036】
第1のメディアコンバータ22Aは、第1のスイッチングハブ20Aから転送される定周期フレームを光信号に変換し、この光信号を光ケーブル32を介して第2のメディアコンバータ23Aに送信する。また第2のメディアコンバータ23Aは、第1のメディアコンバータ22Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームをAIスレーブ26Aに転送する。
【0037】
AIスレーブ26Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてAIスレーブ26Aは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ(図1ではAOスレーブ27A)に転送する。
【0038】
またAOスレーブ27Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報をアナログ変換して対応する信号分配器31に送出すると共に、その定周期フレームを次段のスレーブ(図1ではDIスレーブ28A)に転送する。
【0039】
DIスレーブ28Aは、定周期フレームを受信すると、その定周期フレーム内の自己に割り当てられた領域に、前回の定周期フレームを転送し終えてから今回の定周期フレームを受信するまでの間に取得したセンサ情報を格納する。そしてDIスレーブ28Aは、かかるセンサ情報を格納した定周期フレームを次段のスレーブ(図1ではDOスレーブ29A)に転送する。
【0040】
またDOスレーブ29Aは、定周期フレームを受信すると、受信した定周期フレーム内の自己に割り当てられた領域に格納されている制御情報を読み出し、読み出した制御情報を対応する信号分配器31に送出すると共に、その定周期フレームを次段のスレーブ(図1では第3のメディアコンバータ24A)に転送する。
【0041】
第3のメディアコンバータ24Aは、受信した定周期フレームを光信号に変換し、この光信号を光ケーブル32を介して制御室内の第4のメディアコンバータ25Aに送信する。また第4のメディアコンバータ25Aは、第3のメディアコンバータ24Aから送信される光信号を電気信号に変換し、かくして得られた定周期フレームを第2のスイッチングハブ21Aに転送する。
【0042】
第2のスイッチングハブ21Aは、第4のメディアコンバータ25Aから転送される定周期フレームを、第1の制御装置2Aの第1のマスタCPU11A及び第2の制御装置2Bの第1のマスタCPU11Bに送出する。そして定周期フレームを受信した第1の制御装置2Aの第1のマスタCPU11Aは、AIスレーブ26AやDIスレーブ28Aがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインCPU10Aに引き渡す。
【0043】
一方、このとき第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に転送する。
【0044】
この結果、この定周期フレームが上述したA系のネットワーク3Aと同様にB系のネットワーク3B上で順次転送されてB系の第2のスイッチングハブ21Bを介して第1の制御装置2Aの第2のマスタCPU12Aに戻る。かくして、この定周期フレームを受信した第1の制御装置2Aの第2のマスタCPU12Aは、B系のネットワーク3B上のAIスレーブ26BやDIスレーブ28Bがその定周期フレームに格納したセンサ情報を読み出し、読み出したセンサ情報をメインCPU10Aに引き渡す。
【0045】
メインCPU10Aは、第1のマスタCPU11Aから与えられたセンサ情報と、第2のマスタCPU11Aから与えられたセンサ情報とに基づいてリモートサイトの各制御対象をそれぞれ所定状態に制御するためのコマンドやパラメータなどの制御情報を生成し、生成した制御情報を第1及び第2のマスタCPU11A,12Aに引き渡す。かくして第1及び第2のマスタCPU11A,12Aは、それぞれこれらの制御情報を対応する領域にそれぞれ格納した定周期フレームを生成し、生成した定周期フレームを次の送信タイミングでA系又はB系のネットワーク3A,3Bの第1のスイッチングハブ20A,20Bに送信する。
【0046】
このようにして第1又は第2の制御装置2A,2Bは、リモートサイトに配置された各アナログセンサ又は各ディジタルセンサのセンサ出力に基づいて、リモートサイトの各制御対象を所定状態にそれぞれ制御する。
【0047】
他方、このとき従系に設定された第2の制御装置2Bでは、A系のネットワーク3Aの第2のスイッチングハブ21Aから第1のマスタCPU11Bに送信される定周期フレームと、B系のネットワーク3Bの第2のスイッチングハブ21Bから第2のマスタCPU12Bに送信される定周期フレームとに基づいて上述の第1の制御装置2Aと同様の処理が実行される。
【0048】
ただし、第2の制御装置2Bの第1のマスタCPU11B及び第2のマスタCPU12Bは、かかる処理により生成した上述の制御情報が格納された定周期フレームを第1のスイッチングハブ20A,20Bに送信することなく破棄する。従って、リモートI/Oシステム1では、通常時、主系に設定された第1の制御装置2Aの第1及び第2のマスタCPU11A,12Aからそれぞれ出力される定周期フレームのみがA系又はB系のネットワーク3A,3B上で伝送される。
【0049】
一方、主従切替え器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の主従の設定を切り替える。
【0050】
そして主系に切り替えられた第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上で伝送されることになる。
【0051】
さらに本リモートI/Oシステム1において、障害又はケーブル切断などによりいずれかのスレーブ(第1〜第4のメディアコンバータ20A〜25A,20B〜25B及びI/Oスレーブ30A,30B)にリンクダウンが発生して隣接するスレーブと通信できなくなった場合、そのリンクダウンが発生したスレーブと接続された正常なスレーブにおいて、受信した定周期フレームをその送信元に転送するループバック処理が行われる。
【0052】
そして正系に設定されている第1及び第2の制御装置2A,2Bの第1又は第2のマスタCPU11A,11B,12A,12Bは、かかるループバック処理により、ネットワーク3A,3B上のすべてのスレーブに送信されずに定周期フレームが戻ってきた場合には、この後、第1のスイッチングハブ20A,20Bに加えて第2のスイッチングハブ21A,21Bに対してもネットワーク3A,3B上の各スレーブを送信先とする定周期フレームを送信する。
【0053】
この結果、リング型のネットワーク3A,3Bの両端側から定周期フレームがそれぞれ送信され、これらの定周期フレームが、リンクダウンしたスレーブ又は切断されたケーブルと接続された正常なスレーブにおいてそれぞれ折り返されて元の経路を経由して第1及び第2の制御装置2A,2Bの第1のマスタCPU11A,12A又は第2のマスタCPU11B,12Bに転送される。
【0054】
このようにしてこのリモートI/Oシステム1においては、A系やB系のネットワーク3A,3Bを構成するいずれかのスレーブにリンクダウンが発生した場合においても、イーサネット(登録商標)規格において規定されたループバック機能を利用して、リンクダウンが発生したスレーブ以外のスレーブと第1及び第2の制御装置2A,2Bとの間の通信を確保し得るようになされている。
【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)第1及び第2のスイッチングハブの構成
図3は、本実施の形態による第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bの具体的な構成を示す。この図3からも明らかなように、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bは、第1〜第4のPHY40A〜40Bと、イーサキャット(登録商標)スレーブコントローラ41と、第1及び第2のPHY40A,40B並びにイーサキャット(登録商標)スレーブコントローラ41間を接続する分岐接続部42とを備えて構成される。
【0064】
第1〜第4のPHY40A〜40Dは、第1及び第2の制御装置2A,2Bとの間や、第1のメディアコンバータ22A,22B若しくは第4のメディアコンバータ25A,25Bとの間で定周期フレームを送受する送受信装置である。第1のスイッチングハブ20A,20Bの場合、第1のPHY40Aは第1の制御装置2A、第2のPHY40Bは第2の制御装置2B、第3のPHY40Cは第1のメディアコンバータ22A,22B、第4のPHY40Dは通信モニタ用機器とそれぞれ接続され、第2のスイッチングハブ21A,21Bの場合、第1のPHY40Aは第1の制御装置2A、第2のPHY40Bは第2の制御装置2B、第3のPHY40Cは第4のメディアコンバータ25A,25B、第4のPHY40Dは通信モニタ用機器とそれぞれ接続される。
【0065】
また第1〜第4のPHY40A〜40Dには、それぞれリンク信号出力端が設けられており、第1及び第2のPHY40A,40Bのリンク信号出力端がそれぞれアンド回路43の第1又は第2の信号入力端と接続されると共に、アンド回路43の信号出力端がイーサキャット(登録商標)スレーブコントローラ41の第1のリンク信号入力端と接続されている。また第3のPHY40Cのリンク信号出力端は、イーサキャット(登録商標)スレーブコントローラ41の第2のリンク信号入力端と接続されている。
【0066】
そして、第1及び第2のPHY40A,40Bは、接続先の第1又は第2の制御装置2A,2Bとのリンクが確保されている場合(接続先の第1又は第2の制御装置2A,2Bと通信可能な場合)には、リンク信号出力端を介して論理「1」レベルのリンク信号をアンド回路43に送信する一方、接続先の第1又は第2の制御装置2A,2Bとのリンクが切断(接続先の第1又は第2の制御装置2A,2Bと通信できなくなった)場合には、リンク信号の信号レベルを論理「0」レベルに切り替える。
【0067】
また第3のPHY40Cは、接続先の第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bとの間のリンクが確保されている場合(接続先の第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bと通信可能な場合)には、リンク信号出力端を介して論理「1」レベルのリンク信号をイーサキャット(登録商標)スレーブコントローラ41に送信する一方、接続先の第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bとのリンクが切断(接続先の第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bと通信できなくなった)場合には、リンク信号の信号レベルを論理「0」レベルに切り替える。
【0068】
イーサキャット(登録商標)スレーブコントローラ41は、上述のようにイーサキャット(登録商標)規格に準拠したスレーブコントローラであり、第1又は第2の制御装置2A,2Bや、スレーブ(第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25B)との間でイーサキャット(登録商標)プロトコルに従った通信を行うための通信処理を実行する。イーサキャット(登録商標)スレーブコントローラ41には、イーサネット(登録商標)規格で規定されているループバック機能等の各種機能が搭載されている。
【0069】
例えば、イーサキャット(登録商標)スレーブコントローラ41は、アンド回路43から上述の第1のリンク信号入力端に与えられるリンク信号の信号レベルが論理「0」レベルとなった場合(つまり第1の制御装置2A及び第1のPHY40A間のリンクと、第2の制御装置2B及び第2のPHY40B間のリンクとの少なくとも一方が切断された場合)には、その後、第3のPHY40C経由で入力する定周期フレームを折り返して送信元の第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bに送り返すループバック処理を実行する。
【0070】
またイーサキャット(登録商標)スレーブコントローラ41は、第3のPHY40Cから上述の第2のリンク信号入力端に与えられるリンク信号の信号レベルが論理「0」レベルとなった場合(つまり第3のPHY40Cと第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bとの間のリンクが切断された場合)には、その後、第1又は第2のPHY40A,40B経由で入力する定周期フレームを折り返して送信元の第1又は第2の制御装置2A,2Bに送り返すループバック処理を実行する。
【0071】
分岐接続部42は、第1又は第2の制御装置2A,2Bから第1又は第2のPHY40A,40Bに与えられた定周期フレームを他方の第2又は第1のPHY40B,40Aとイーサキャット(登録商標)スレーブコントローラ41とに分配すると共に、接続されたスレーブ(第1のメディアコンバータ22A22B又は第4のメディアコンバータ25A,25B)から第3のPHY40Cに与えられる定周期フレームをイーサキャット(登録商標)スレーブコントローラ41を介して第1及び第2のPHY40A,40Bにそれぞれ分配するよう第1及び第2のPHY40A,40Bとイーサキャット(登録商標)スレーブコントローラ41との間を接続するMII(Media Independent Interface)インタフェースである。この分岐接続部42は、第1〜第4のセレクタ部44A〜44Dを備えて構成される。
【0072】
そして第1のセレクタ部44Aは、第1の信号入力端が第1のPHY40Aの信号出力端と接続されると共に、第2の信号入力端が第2のPHY40Bの信号出力端と接続されている。また第1のセレクタ部44Aの信号出力端は、イーサキャット(登録商標)スレーブコントローラ41のインポート側の受信ポートと接続されている。
【0073】
また第2のセレクタ部44Bは、第1の信号入力端がイーサキャット(登録商標)スレーブコントローラ41のインポート側の送信ポートと接続されると共に、第2の信号入力端が、第1のセレクタ部44Aの第2の信号入力端と共に第2のPHY40Bの信号出力端と接続されている。また第2のセレクタ部44Bの信号出力端は、第1のPHY40Aの信号入力端と接続されている。
【0074】
第3のセレクタ部44Cは、第1の信号入力端が第1のセレクタ部44Aの第1の信号入力端と共に第1のPHY40Aの信号出力端と接続されると共に、第2の信号入力端が第2のセレクタ部44Bの第1の信号入力端と共にイーサキャット(登録商標)スレーブコントローラ41のインポート側の送信ポートと接続されている。また第3のセレクタ部44Cの信号出力端は、第2のPHY40Bの信号入力端と接続されている。
【0075】
第4のセレクタ部44Dは、第1の信号入力端が第1のセレクタ部44Aの信号出力端と接続されると共に、第2の信号入力端が、第2のセレクタ部44Bの第1の信号入力端及び第3のセレクタ部44Cの第2の信号入力端と共にイーサキャット(登録商標)スレーブコントローラ41のインポート側の送信ポートと接続されている。また第4のセレクタ部44Dの信号出力端は、第4のPHY40Dの信号入力端と接続されている。
【0076】
なおイーサキャット(登録商標)スレーブコントローラ41のアウトポート側は、MIIインタフェースを介して、信号入力端が第3のPHY40Cの信号出力端と接続され、信号出力端が第3のPHY40Cの信号入力端と接続されており、これによりイーサキャット(登録商標)スレーブコントローラ41及び第3のPHY40Cが双方向に通信できるようになされている。
【0077】
図4は、第1〜第4のセレクタ部44A〜44Dの具体的な構成を示す。この図4からも明らかなように、第1〜第4のセレクタ部44A〜44Dは、第1の信号入力端44IPに対応させて設けられた第1のバッファメモリ50A、第1のデータ管理部51A及び第1のリード制御部52Aと、第2の信号入力端44IPに対応させて設けられた第2のバッファメモリ50B、第2のデータ管理部51B及び第2のリード制御部52Bと、セレクタ回路53及び出力調停制御部54とを備えて構成される。
【0078】
第1のバッファメモリ50Aは、第1の信号入力端44IPに与えられた定周期フレームを一時的に記憶(バッファリング)するためのメモリであり、例えばFIFO(First-In,First-Out)メモリから構成される。
【0079】
また第1のデータ管理部51Aは、第1のバッファメモリ50Aに格納されている定周期フレームのフレーム数と、これら定周期フレームごとのデータ数(ワード数)とをカウントするカウンタ機能を備える。第1のデータ管理部51Aは、第1のバッファメモリ50Aに格納されている定周期フレームのうち、当該第1のバッファメモリ50Aに格納された時間が最も古い定周期フレーム(以下、これを最古定周期フレームと呼ぶ)のフレーム数を第1のリード制御部52Aに通知(公開)する。
【0080】
第1のリード制御部52Aは、第1のバッファメモリ50Aに格納された定周期フレームの読み出しを制御するメモリコントローラである。第1のリード制御部52Aは、第1のバッファメモリ50Aに定周期フレームが格納されている場合、定周期フレームの読出し許可である出力権の付与を出力調停制御部54に要求する。そして第1のリード制御部52Aは、出力調停制御部54から出力権が付与された場合、最古定周期フレームを出力するよう第1のバッファメモリ50Aを制御する。また第1のリード制御部52Aは、第1のバッファメモリ50Aから1つ分の定周期フレームの出力が完了すると、フレーム出力完了通知を出力調停制御部54に送信する。
【0081】
一方、第2のバッファメモリ50Bは、第2の信号入力端44IPに与えられた定周期フレームをバッファリングするためのメモリであり、第1のバッファメモリ50Aと同様に、例えばFIFOメモリから構成される。
【0082】
また第2のデータ管理部51Bは、第2のバッファメモリ50Bに格納されている定周期フレームのフレーム数と、これら定周期フレームのデータ数とをカウントするカウンタ機能を備える。第2のデータ管理部51Bは、第2のバッファメモリ50Bに格納されている定周期フレームのうちの最古定周期フレームのフレーム数を第2のリード制御部52Bに通知(公開)する。
【0083】
第2のリード制御部52Bは、第2のバッファメモリ50Bに格納された定周期フレームの読み出しを制御するメモリコントローラである。第2のリード制御部52Bは、第2のバッファメモリ50Bに定周期フレームが格納されている場合、定周期フレームの出力権の付与を出力調停制御部54に要求する。そして第2のリード制御部52Bは、出力調停制御部54から出力権が付与された場合、最古定周期フレームを出力するよう第2のバッファメモリ50Bを制御する。また第2のリード制御部52Bは、第2のバッファメモリ50Bからの最古定周期フレームの出力が完了すると、フレーム出力完了通知を出力調停制御部54に送信する。
【0084】
セレクタ回路53は、第1の信号入力端が第1のバッファメモリ50Aと接続されると共に、第2の信号入力端が第2のバッファメモリ50Bと接続され、信号出力端が実装先の第1〜第4のセレクタ部44A〜44Dの信号出力端44OPと接続される。セレクタ回路53は、第1及び第2の信号入力端のうち出力調停制御部54により指定された1つの第1又は第2の信号入力端を選択して、当該第1又は第2の信号入力端に与えられる定周期フレームを選択的に出力する。
【0085】
出力調停制御部54は、第1のバッファメモリ50Aに格納されている定周期フレームと、第2のバッファメモリ50Bに格納されている定周期フレームとが同時に出力されないように第1及び第2のバッファメモリ50Aに,50Bにそれぞれ格納されている定周期フレームの読み出しタイミングを制御する機能を有し、第1又は第2のリード制御部52A,52Bからの要求に応じて、上述の出力権をその第1又は第2のリード制御部52A,52Bに付与する。出力調停制御部54は、出力権の付与要求が第1及び第2のリード制御部52A,52Bの双方から与えられた場合、より早く要求してきた第1又は第2のリード制御部52A,52Bに出力権を付与する。また出力調停制御部54は、第1のリード制御部52Aに出力権を付与した場合には、セレクタ回路53を制御することにより第1の信号入力端に入力する定周期フレームを出力させ、第2のリード制御部52Bに出力権を付与した場合には、第2の信号入力端に入力する定周期フレームを出力させる。
【0086】
かかる構成を有する第1〜第4のセレクタ部44A〜44Dにおいて、第1又は第2の信号入力端44IP,44IPに与えられた定周期フレームのフレームデータは、その第1又は第2の信号入力端44IP,44IPと接続された第1又は第2のバッファメモリ50A,50Bに格納される。
【0087】
このときその第1又は第2の信号入力端44IP,44IPと接続された第1又は第2のデータ管理部51A,51Bは、定周期フレームのフレームデータが第1又は第2のバッファメモリ50A,50Bに書き込みが開始されたタイミングで、第1又は第2のバッファメモリ50A,50Bに格納されている定周期フレームのフレーム数をカウントしているカウンタ(以下、これを定周期フレーム数カウンタと呼ぶ)のカウント値をインクリメント(「1」だけカウントアップ)すると共に、その定周期フレームのデータ数を、その定周期フレームに対応付けて設けたカウンタ(以下、これをデータ数カウンタと呼ぶ)によりカウントする。そして第1又は第2のデータ管理部51A,51Bは、その定周期フレームの第1又は第2のバッファメモリ50A,50Bへの書き込みが完了すると、カウント処理を終了して、次の定周期フレームの入力を待つ。
【0088】
また第1及び第2のデータ管理部51A,51Bは、この後、対応する第1又は第2のバッファメモリ50A,50Bに格納されている定周期フレームのうちの最古定周期フレームに対応付けたデータ数カウンタのカウント値を、対応する第1又は第2のリード制御部52A,52Bに通知(公開)する。
【0089】
第1及び第2のリード制御部52A,52Bは、対応する第1又は第2のデータ管理部51A,51Bから通知される最古定周期フレームのデータ数カウンタのカウント値が「0」でない場合には、出力調停制御部54に対して出力権の付与を要求する。
【0090】
出力調停制御部54は、第1又は第2のリード制御部52A,52Bから出力権の付与要求が与えられると、他方の第2又は第1のリード制御部52B,52Aに出力権を付与していない場合には、出力権の付与を要求してきた第1又は第2のリード制御部52A,52Bに出力権を付与する。また出力調停制御部54は、これと併せてそのとき出力権を付与した第1又は第2のリード制御部52A,52Bに対応する信号出力端を選択するようセレクタ回路53を制御する。
【0091】
そして出力調停制御部54から出力権が付与された第1又は第2のリード制御部52A,52Bは、対応する第1又は第2のバッファメモリ50A,50Bを制御することにより、最古定周期フレームのデータ出力を開始させる。この結果、対応する第1又は第2のバッファメモリ50A,50Bから最古定周期フレームのデータがワード単位で連続的に出力され、このデータがセレクタ回路53及び信号出力端44OPを介してその第1〜第4のセレクタ部44A〜44Dの外部に出力される。
【0092】
この際、第1又は第2のリード制御部52A,52Bは、対応する第1又は第2のバッファメモリ50A,50Bから最古定周期フレームのデータが1ワード分だけ出力されるごとに、対応する第1又は第2のデータ管理部51A,51Bに対してリード通知を送信する。また第1又は第2のデータ管理部51A,51Bは、対応する第1又は第2のリード制御部52A,52Bからリード通知が与えられるごとに、最古定周期フレームと対応付けたデータ数カウンタのカウント値をデクリメント(「1」だけカウントダウン)する。
【0093】
そして第1又は第2のリード制御部52A,52Bは、やがて第1又は第2のデータ管理部51A,51Bから通知される、対応する第1又は第2のバッファメモリ50A,50Bから読み出されている最古定周期フレームのデータ数カウンタのカウント値が「0」となると、第1又は第2のバッファメモリ50A,50Bからのデータの読み出しを停止し、出力調停制御部54に対してフレーム出力完了通知を送信する。
【0094】
また、第1又は第2のデータ管理部51A,51Bは、最古定周期フレームと対応付けられたデータ数カウンタのカウント値が「0」となると、この後、対応する第1又は第2のバッファメモリ50A,50Bに他の定周期フレームが格納されている場合には、その定周期フレームと対応付けられたデータ数カウンタのカウント値を対応する第1又は第2のリード制御部52A,52Bに通知し、第1又は第2のバッファメモリ50A,50Bに定周期フレームが格納されていない場合には、フレーム数カウンタのカウント値としてそのまま「0」を対応する第1又は第2のリード制御部52A,52Bに通知し続ける。
【0095】
以上のようにして、第1〜第4のセレクタ部44A〜44Dは、自己の第1及び第2の信号入力端44IP,44IPに与えられた定周期フレームを必要に応じてバッファリングしながら、その第1〜第4のセレクタ部44A〜44Dの信号出力端44OPから順次出力する。
【0096】
なお、第1〜第4のセレクタ部44A〜44Dにおける出力調停制御部54の状態遷移の様子を図5に示す。この図5に示すように、出力調停制御部54の状態としては、第1〜第5の状態ST1〜ST5がある。
【0097】
第1の状態ST1は、第1及び第2のリード制御部52A,52Bのいずれにも出力権を付与していない状態である。また第2の状態ST2は、第1のリード制御部52Aに出力権を付与した後、当該第1のリード制御部52Aからのフレーム出力完了通知を受領していない状態であり、第3の状態ST3は、第2のリード制御部52Bに出力権を付与した後、当該第2のリード制御部52Bからのフレーム出力完了通知を受領していない状態である。さらに第4の状態ST4は、第1のリード制御部52Aに出力権を付与し、第2のリード制御部52Bへの出力権の付与を保留している状態であり、第5の状態ST5は、第2のリード制御部52Bに出力権を付与し、第1のリード制御部52Aへの出力権の付与を保留している状態である。
【0098】
そして出力調停制御部54は、第1の状態ST1にある場合において、第1のリード制御部52Aから出力権の付与要求が与えられた場合には、その第1のリード制御部52Aに出力権を付与することにより第2の状態ST2に遷移し、第2のリード制御部52Bから出力権の付与要求が与えられた場合には、その第2のリード制御部52Bに出力権を付与することにより第3の状態ST3に遷移する。そして出力調停制御部54は、第2又は第3の状態ST2,ST3にある場合において、出力権を付与した第1又は第2のリード制御部52A,52Bからのフレーム出力完了通知を受信すると第1の状態ST1に戻る。
【0099】
これに対して出力調停制御部54は、第2又は第3の状態ST2,ST3にある場合において、出力権を付与した第1又は第2のリード制御部52A,52Bとは異なる第2又は第1のリード制御部52B,52Aから出力権の付与要求が与えられると、第4又は第5の状態ST4,ST5に遷移する。そして出力調停制御部54は、第4又は第5の状態ST4,ST5にある場合において、先行して出力権を付与した第1又は第2のリード制御部52A、52Bからのフレーム出力完了通知を受信すると、そのとき保留としていた出力権を第2又は第1のリード制御部52B,52Aに付与することにより第3又は第2の状態ST3,ST2に遷移する。
【0100】
そして出力調停制御部54は、この後、第1又は第2のリード制御部52A,52Bからの出力権の付与要求やフレーム出力完了通知に基づいて、上述と同様にして状態を順次切り替えながら、第1又は第2のリード制御部52A,52Bからの要求に応じて、その第1又は第2のリード制御部52A,52Bに出力権を付与する。
【0101】
(3)第1及び第2のスイッチングハブにおける定周期フレームのデータの流れ
次に、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bにおける定周期フレームのデータの流れを図6図9を参照して説明する。なお図7図9において、「ESC」はイーサキャット(登録商標)スレーブコントローラ41を表し、「S1」〜「S4」は、それぞれ第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bの第1〜第4のセレクタ部44A〜44Dを表す。
【0102】
まず、第1の制御装置2Aが主系に設定されている場合、当該第1の制御装置2Aから出力された定周期フレームは、第1のスイッチングハブ20A,20Bの第1のPHY40Aを介して第1のセレクタ部44A及び第3のセレクタ部44Cに与えられ、これら第1のセレクタ部44Aの第1のバッファメモリ50Aと、第3のセレクタ部44Cの第1のバッファメモリ50Aとに一時的に格納される(図7のSP1,SP2)。そして第3のセレクタ部44Cの第1のバッファメモリ50Aに格納された定周期フレームは、この後、当該第1のバッファメモリ50Aから読み出されて第2のPHY40Bに与えられ、当該第2のPHY40Bを介して第2の制御装置2Bに送信される(図7のSP3,SP4)。
【0103】
また第1のセレクタ部44Aの第1のバッファメモリ50Aに格納された定周期フレームは、この後、当該第1のバッファメモリ50Aから読み出されてイーサキャット(登録商標)スレーブコントローラ41及び第4のセレクタ部44Dに与えられる(図7のSP6,SP7)。
【0104】
そしてイーサキャット(登録商標)スレーブコントローラ41に与えられた定周期フレームは、この後、当該イーサキャット(登録商標)スレーブコントローラ41において何らの処理も施されることなく(つまりそのイーサキャット(登録商標)スレーブコントローラ41をスルーして)第3のPHY40Cに与えられ、当該第3のPHY40Cを介して次段のスレーブ(第1のスイッチングハブ20A,20Bの場合には第1のメディアコンバータ22A,22B、第2のスイッチングハブ21A,21Bの場合には第4のメディアコンバータ25A,25B)に送信される(図7のSP8,SP9)。
【0105】
また第4のセレクタ部44Dに与えられた定周期フレームは、第4のセレクタ部44Dの第1のバッファメモリ50Aに一時的に格納された後に当該第1のバッファメモリ50Aから読み出されて第4のPHY40Dに与えられ、当該第4のPHY40Dを介して通信モニタ用機器60に送信される(図7のSP10,SP11)。
【0106】
一方、第2の制御装置2Bが主系に設定されている場合、当該第2の制御装置2Bから出力された定周期フレームは、第1のスイッチングハブ20A,20Bの第2のPHY40Bを介して第1のセレクタ部44A及び第2のセレクタ部44Bに与えられ、これら第1のセレクタ部44Aの第2のバッファメモリ50Bと、第2のセレクタ部44Bの第2のバッファメモリ50Bとに一時的に格納される(図8のSP20,SP21)。
【0107】
そして第2のセレクタ部44Bの第2のバッファメモリ50Bに格納された定周期フレームは、この後、当該第2のバッファメモリ50Bから読み出されて第1のPHY40Aに与えられ、当該第1のPHY40Aを介して第1の制御装置2Aに送信される(図8のSP22,SP23)。
【0108】
また第1のセレクタ部44Aの第2のバッファメモリ50Bに格納された定周期フレームは、この後、当該第2のバッファメモリ50Bから読み出されてイーサキャット(登録商標)スレーブコントローラ41及び第4のセレクタ部44Dに与えられる(図8のSP25,SP26)。
【0109】
そしてイーサキャット(登録商標)スレーブコントローラ41に与えられた定周期フレームは、この後、上述と同様に当該イーサキャット(登録商標)スレーブコントローラ41及び第3のPHY40Cを順次介して次段のスレーブに送信される(図8のSP27、SP28)。また第4のセレクタ部44Dに与えられた定周期フレームも上述と同様にして、第4のセレクタ部44Dの第1のバッファメモリ50Aに一時的に格納された後に当該第1のバッファメモリ50Aから読み出されて第4のPHY40Dに与えられ、当該第4のPHY40Dを介して通信モニタ用機器60に送信される(図8のSP29,SP30)。
【0110】
他方、スレーブ(第1のスイッチングハブ20A,20Bの場合には第1のメディアコンバータ22A,22B、第2のスイッチングハブ21A,21Bの場合には第4のメディアコンバータ25A,25B)から第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bに送信された定周期フレームは、第3のPHY40Cを介してイーサキャット(登録商標)スレーブコントローラ41のアウトポート側の受信ポートに送信される(図9のSP40,SP41)。
【0111】
この定周期フレームは、この後、イーサキャット(登録商標)スレーブコントローラ41において何らの処理も施されることなく第2〜第4のセレクタ部44B〜44Dに与えられ、第2のセレクタ部44Bの第1のバッファメモリ50A、第3のセレクタ部44Cの第2のバッファメモリ50B及び第4のセレクタ部44Dの第2のバッファメモリ50Bにそれぞれ一時的に格納される(図9のSP42〜SP44)。
【0112】
そして第2のセレクタ部44Bの第1のバッファメモリ50Aに格納された定周期フレームは、この後、当該第1のバッファメモリ50Aから読み出されて第1のPHY40Aに与えられ、当該第1のPHY40Aを介して第1の制御装置2Aに送信される(図9のSP45,SP46)。
【0113】
また第3のセレクタ部44Cの第2のバッファメモリ50Bに格納された定周期フレームは、この後、当該第2のバッファメモリ50Bから読み出されて第2のPHY40Bに与えられ、当該第2のPHY40Bを介して第2の制御装置2Bに送信される(図9のSP47,SP48)。
【0114】
さらに第4のセレクタ部44Dの第2のバッファメモリ50Bに格納された定周期フレームは、この後、当該第2のバッファメモリ50Bから読み出されて第4のPHY40Dに与えられ、当該第4のPHY40Dを介して通信モニタ用機器60に送信される(図9のSP49,SP50)。
【0115】
このように本実施の形態による第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bにおいては、第1〜第4のPHY40A〜40Dのいずれかを介して入力した定周期フレームがその第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bの内部において分配されて他のすべての第1〜第4のPHY40A〜40Dをそれぞれ介して当該第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bと接続された機器(第1の制御装置2A、第2の制御装置2B、スレーブ又は通信モニタ用機器60)に送信し得るようになされている。
【0116】
(4)本実施の形態の効果
以上のように本実施の形態のリモートI/Oシステム1では、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bにイーサキャット(登録商標)スレーブコントローラ41を搭載し、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bの内部において、第1又は第2の制御装置2A,2Bから一方の第1又は第2のPHY20A,20Bに与えられる定周期フレームを他方の第2又は第1のPHY20B,20Aとイーサキャット(登録商標)スレーブコントローラ41とに分配すると共に、第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bから第3のPHY40Cに与えられる定周期フレームをイーサキャット(登録商標)スレーブコントローラ41を介して第1及び第2のPHY40A,40Bにそれぞれ配分できるように、第1及び第2のPHY40A,40Bとイーサキャット(登録商標)スレーブコントローラ41との間を分岐接続部42により接続するようにしているため、イーサキャット(登録商標)規格において規定されているループバック機能や、ホットコネクト機能などの機能を第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bに持たせることができる。
【0117】
従って、例えば第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bと第1又は第2の制御装置2A,2Bとの間や、第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bと第1のメディアコンバータ22A,22B又は第4のメディアコンバータ25A,25Bとの間のリンクが切断された場合においても、対応する第1のスイッチングハブ20A,20B又は第2のスイッチングハブ21A,21Bにおいてループバック処理が実行されるため定周期フレームがリンクの切断箇所において消滅する等の不具合が発生するのを未然にかつ確実に防止することができる。
【0118】
かくするにつき本実施の形態の第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bによれば、信頼性の高いリモートI/Oシステム1を実現することができる。
【0119】
(5)他の実施の形態
なお上述の実施の形態においては、冗長化によりマスタ装置としての制御装置(第1及び第2の制御装置2A,2B)を2つ設けるようにした場合について述べたが、本発明はこれに限らず、例えば制御装置を3つ以上設けるようにしても良い。この場合、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bには各制御装置にそれぞれ対応させてPHY(以下、これをマスタ側PHYと呼ぶ)を設けるようにし、これらマスタ側PHYのいずれかに与えられた定周期フレームを他のすべてのマスタ側PHYとイーサキャット(登録商標)スレーブコントローラとにそれぞれ分配し、かつ第3のPHYを介してスレーブから与えられた定周期フレームをすべてのマスタ側PHYに分配できるように分岐接続部を構築すれば良い。
【0120】
また上述の実施の形態においては、本リモートI/Oシステム1の通信プロトコルとしてイーサキャット(登録商標)プロトコルを適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の産業用プロトコルを広く適用することができる。この場合、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bに対してリモートI/Oシステム1に適用した産業用通信プロトコルに対応したスレーブコントローラを搭載するようにすれば良い。
【0121】
さらに上述の実施の形態においては、本発明を、第1〜第4のメディアコンバータ22A〜25A,22B〜25Bや、AIスレーブ26A,26B、AOスレーブ27A,27B、DIスレーブ28A,28B及びDOスレーブ29A,29Bがスレーブ装置であるリモートI/Oシステム1に適用するようにした場合について述べたが、本発明はこれに限らず、スレーブ装置がこれら以外のリモートI/Oシステムにも広く適用することができる。
【0122】
さらに上述の実施の形態においては、第1のスイッチングハブ20A,20B及び第2のスイッチングハブ21A,21Bの内部において、第1のPHY40A及び当該第1のPHY40Aに対応する第1の制御装置2A間のリンクと、第2のPHY40B及び当該第2のPHY40Bに対応する第2の制御装置2B間のリンクとがそれぞれ確保されているか否かを監視する監視部としてアンド回路43を適用するようにした場合について述べたが、本発明はこれに限らず、かかる監視部としてこの他種々のデバイスを適用することができる。
【産業上の利用可能性】
【0123】
本発明はマスタ−スレーブ方式の産業用通信プロトコルが適用されたリモートI/Oシステムにおいて、少なくとも2つのマスタ装置と、1又は複数のスレーブ装置が接続されたネットワークとを接続する種々の通信分配装置に広く適用することができる。
【符号の説明】
【0124】
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……信号分配器、40A〜40D……PHY、41……イーサキャット(登録商標)スレーブコントローラ、42……分岐接続部、43……アンド回路、44A〜44D……セレクタ部、50A,50B……バッファメモリ、51A,51B……データ管理部、52A,52B……リード制御部、53……セレクタ回路、54……出力調停制御部、60……通信モニタ用機器。
図1
図2
図3
図4
図5
図6
図7
図8
図9