説明

マスタ/スレーブ通信方式

【課題】スレーブ装置が多数となった場合でも、高速かつ同時性を確保した通信が可能なマスタ/スレーブ通信方式を提供すること。
【解決手段】マスタ装置は多数のスレーブ装置に対して同報通信により監視・制御命令を含む要求を送信し、各スレーブ装置はマスタ装置から指定された中継装置宛に応答を送信し、中継装置が各スレーブ装置からの応答を纏めてマスタ装置へ送信するように構成した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マスタ/スレーブ通信方式に関わり、更に詳しくは、スレーブ装置が多数となった場合でも高速かつ同時性を確保した通信が可能なマスタ/スレーブ通信方式に関わる。
【背景技術】
【0002】
従来、マスタ/スレーブ通信方式により、マスタ装置が複数のスレーブ装置に対して、制御及び監視を行う場合、マスタ装置が複数あるスレーブ装置のうち宛先となるスレーブ装置を順次切替えながら繰り返し通信する、ポーリング方式がとられることが主流であった。
【0003】
しかしながら、この方式では、マスタ装置が各スレーブ装置へ順次ポーリング通信を行うため、スレーブ装置数が多くなった場合、ポーリング周期が長くなり、同時性を確保してスレーブ装置の監視および制御を行うことは不可能であった。
【0004】
このような同時性の問題を解決するために、マスタ装置がスレーブ装置へ同報送信により監視や制御を行う方式が考え出された。しかしながら、この方式においては、スレーブ装置からマスタ装置への応答が同時に発生するため、スレーブ装置が多数となった場合には、マスタ装置がスレーブ装置からの応答を全て受け取れないという問題が発生した。
【0005】
特許文献1では、上述のような同報通信に対する各機器からの応答電文の衝突を防止するための通信装置が開示されている。すなわちスレーブ装置は、受信した電文が複数の機器宛であることを認識すると、タイミングをずらして応答電文を送信する。従って、この方法ではマスタ装置側での応答の取りこぼしなどの問題は解決されているが、マスタ装置がすべてのスレーブ装置から応答を受信するまでにある程度の時間が必要となり、通信の同時性を実現するのは困難である。
【特許文献1】特開2005−79956号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述のように、従来のマスタ/スレーブ通信方式においては、スレーブ装置が多数になった場合に、高速且つ同時性を確保し、マスタ装置がスレーブ装置の監視および制御するための通信を行うことは不可能であった。
【0007】
そこで本発明の課題は、スレーブ装置が多数となった場合でも、高速かつ同時性を確保した通信が可能なマスタ/スレーブ通信方式を提供することにある。
【課題を解決するための手段】
【0008】
上述した課題を解決するために本発明では次のように構成した。
すなわち、マスタ装置は多数のスレーブ装置に対して同報通信により監視・制御命令を含む要求を送信し、スレーブ装置は受信した要求を処理後、マスタ装置に応答を送信するが、多数のスレーブ装置がそれぞれマスタ装置に応答を返信するとマスタ装置では受信処理等を行えない可能性があるため、各スレーブ装置は先ずマスタ装置から指定された中継装置宛に応答を送信し、中継装置が各スレーブ装置からの応答を纏めてマスタ装置へ送信するように構成した。
【0009】
この構成により、マスタ装置が多数のスレーブ装置に対して同報通信にて要求を送信するため、各スレーブ装置へ高速に制御命令等を送信することができ、かつスレーブ装置側の受信タイミングをほぼ同時にすることが可能である。また、多数のスレーブ装置からの応答を一旦中継装置にて纏め、中継装置からマスタ装置へ送信するため、マスタ装置は中継装置数分の応答を処理すればよく、マスタ装置での取りこぼしを防止し、ある程度の同時性を確保した応答の受信を行うことが可能である。このように、本発明の通信方式によれば、スレーブ装置が多数となった場合でも、高速で且つ同時性を確保した大規模なマスタ/スレーブ通信を実現可能である。
【0010】
更に、上述の構成において、各スレーブ装置が応答を返信する中継装置を、マスタ装置が同報通信により送信する要求によって変更指定できるような構成とする。これにより、システム運用中に発生する通信負荷の集中や中継装置の故障に対して、動的に対応することが可能である。
【発明の効果】
【0011】
本発明によれば、マスタ/スレーブ通信において、スレーブ装置が多数となった場合でも、高速かつ同時性を確保したマスタ装置−スレーブ装置間の通信が可能である。これにより、従来は困難であった、マスタ装置が多数のスレーブ装置に対して高速且つ同時性を確保した監視および制御等を行う監視制御システムを構築することが可能である。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して、本発明の実施の形態について説明する。
本発明の実施の形態では、Ethernet回線(米国Xerox Corp.の登録商標)を用いて、マスタ装置が多数のスレーブ装置に対して高速で且つ同時性を確保した監視制御システムを構築することを例に、以下に説明する。
【0013】
尚、以下ではシステム例として実施例を二つ挙げる。まず実施例1について、その通信システムの構成を図1に示す。
図1のシステム構成では、マスタ装置1に対して64台のスレーブ装置3−1〜3−64が存在し、スレーブ装置16台毎にスレーブ装置3を束ねるための中継装置2−1〜2−4が4台、Ethernet回線を介して接続されている。スレーブ装置3、中継装置2にはそれぞれユニークな識別番号が予め割り当てられている。以下、スレーブ装置3に割り当てられた識別番号をIDと言い、中継装置2に割り当てられた識別番号をホストインデックスと言うことにする。
【0014】
図1のようなシステム構成において、まず、マスタ装置1はスレーブ装置3−1〜3−64及び中継装置2−1〜2−4に対して、同報通信(ブロードキャスト)により監視や制御のための命令等を含む要求を送信する。そして、各スレーブ装置3−1〜3−64は受信した要求に含まれる命令等を処理した後、マスタ装置1が指定する返信先の中継装置2−1〜2−4にそれぞれ応答を送信する。中継装置2−1〜2−4では、それぞれ、各スレーブ装置3−1〜3−64からの応答を纏めてマスタ装置1に送信する。すなわち、図2に示すような通信シーケンスとなる。
【0015】
まず、図2の(1)で、マスタ装置1が要求を全局(中継装置2−1〜2−4及びスレーブ装置3−1〜3−64)にブロードキャストする。次に(2)で、各スレーブ装置3−1〜3−64は要求を受信した後、マスタ装置1が指定する応答先の中継装置2−1〜2−4にそれぞれ応答をユニキャストにより送信する。図2では、スレーブ装置3−1〜3−16は中継装置2−1に、スレーブ装置3−17〜3−32は中継装置2−2に、スレーブ装置3−33〜3−48は中継装置2−3に、スレーブ装置3−49〜3−64は中継装置2−4に応答をユニキャストにより送信することを示している。(3)で、各中継装置2−1〜2−4は、それぞれスレーブ装置3からの応答を纏め、マスタ装置1にユニキャストにより送信する。
【0016】
このように、マスタ装置1が多数のスレーブ装置3に対して同報通信にて要求を送信するため、各スレーブ装置へ高速に制御命令等を送信することができ、かつスレーブ装置側の受信タイミングをほぼ同時にすることが可能である。また、多数のスレーブ装置からの応答を一旦中継装置にて纏め、中継装置からマスタ装置へ送信するため、マスタ装置は中継装置数分の応答を処理すればよく、マスタ装置での取りこぼしを防止し、ある程度の同時性を確保した応答の受信を行うことが可能である。
【0017】
さて、次に、このような通信を実現するためのマスタ装置1、中継装置2、スレーブ装置3の構成についてそれぞれ図3〜図5を参照して説明し、またそれぞれの装置間でやりとりされる通信フレームについて図6〜図9を参照して説明をする。
【0018】
まず、マスタ装置1の構成であるが、マスタ装置1は、図3に示すように、送信部11、受信部12、受信応答解析部13、負荷・故障判断部14、スレーブ装置制御・監視情報管理部15、中継ルート選定部16、要求電文作成部17の各部を備える。
【0019】
送信部11は、中継装置2やスレーブ装置3に対して通信フレームを送信する。マスタ装置1から各装置への送信される、要求に対応する通信フレーム(要求フレーム)には、マスタ装置1がスレーブ装置3を制御および監視する制御・監視命令、およびスレーブ装置3が応答を送信する中継装置2の指定や各装置のアドレスなどが含まれる。フレームについては後に詳しく説明する。
【0020】
受信部12は、中継装置2からの応答に対応する応答フレームを受信する。
受信応答解析部13は、中継装置2からの応答に基づき、(a)通信負荷の予測、(b)中継装置2の故障、(c)スレーブ装置3の脱落、を解析する。
【0021】
まず、(a)通信負荷の予測についてであるが、次のように解析される。
中継装置2はそれぞれが束ねるスレーブ装置3からの応答を纏めて送信する、すなわち、例えば中継装置2−1はスレーブ装置3−1〜3−16の応答を纏めて送信するが、そのうち、応答がないスレーブ装置3、すなわち例えば、規定の応答時間を待ってもスレーブ装置3−1から応答がない場合は、スレーブ装置3−1の応答は無しとして、スレーブ装置3−1〜3−16の応答をまとめて送信する(この「応答無し」については、フレームの説明のところに別途説明する。)。そして、マスタ装置1では、中継装置2−1からの応答のうち、全てのスレーブ装置3−1〜3−16の応答が揃っていない場合、すなわち、応答無しのスレーブ装置が存在する場合には、該中継装置2−1に通信負荷が集中していることを予測し、負荷・故障判断部14に伝達する。
【0022】
次に(b)中継装置2の故障については、次のように解析される。
該受信応答解析部13は、中継装置2からの応答時間を監視し、規定の時間を越えても応答がない場合、該中継装置2が故障したとし、負荷・故障判断部14に伝達する。
【0023】
次に(c)スレーブ装置3の脱落については、次のように解析される。
中継装置2からの応答に、あるスレーブ装置3の応答が無かったことが含まれている場合に、その後も引き続き同一のスレーブ装置3からの応答が無いことが中継装置2から通知される場合に、該当するスレーブ装置3が脱落したとして、スレーブ装置制御・監視情報管理部15に伝達する。
【0024】
尚、(a)の通信負荷の予測、及び(c)のスレーブ装置3の脱落のいずれも、中継装置2からの応答に含まれるスレーブ装置3の「応答無し」に基づいて判断しているが、(a)、(c)それぞれの判断の違いは、スレーブ装置3の脱落は、同一のスレーブ装置3について予め決められた回数連続して応答が無かったことが通知された場合に該スレーブ装置3を脱落したと判断し、そうでない場合には、中継装置2で通信フレームが取りこぼされたと判断して通信負荷の集中を予測する点にある。
【0025】
図3の説明に戻り、負荷・故障判断部14は、前記受信応答解析部13の応答フレームの解析に基づいて、負荷の集中している中継装置2や故障が生じている中継装置2を判断し、中継ルート選定部16に伝達する。
【0026】
スレーブ装置制御・監視情報管理部15は、スレーブ装置3からの応答に基づき、各スレーブ装置3の状態を管理する。例えば、スレーブ装置3に接続された外部機器から取り込んだデータや接点状態等を管理する。また、前記受信応答解析部13にて脱落したと判断されたスレーブ装置3については、該装置は脱落したとして管理される。
【0027】
中継ルート選定部16は、負荷・故障判断部14から伝達された、負荷の集中している中継装置2や故障が生じている中継装置2について、それを回避するために、スレーブ装置3が応答を返信する中継ルートを新たに選定し、決定する。決定された中継ルートは要求電文作成部17に伝達される。
【0028】
要求電文作成部17は、中継装置2やスレーブ装置3に対して送信される通信フレームを作成する。上述のように、マスタ装置1から他の装置へ送信される要求フレームには、制御・監視命令、中継ルートの指定等が含まれるが、要求電文作成部17では、前記スレーブ装置制御・監視情報管理部15に管理される情報に基づきスレーブ装置3の制御命令、監視命令を作成し、また、中継ルート選定部16により新たな中継ルートが決定されている場合はそのルートを反映した通信フレームを作成する。そして、作成されたフレームは上述の送信部11から各装置に対して送信される。
【0029】
次に、中継装置2の構成であるが、中継装置2は、図4に示すように、送信部21、受信部22、受信内容解析部23、スレーブ応答解析・格納部24、スレーブ装置応答監視部25、スレーブ装置故障判定部26、応答電文作成部27の各部を備える。
【0030】
送信部21は、マスタ装置1に対して応答となる通信フレームを送信する。
受信部22は、マスタ装置1から同報通信により送信される制御・監視命令等を含む要求フレームや、スレーブ装置3からユニキャストにより送信される応答フレームを受信する。
【0031】
受信内容解析部23は、受信部22にて受信した要求フレームや応答フレームの通信フレームを解析し、受信した通信フレームがスレーブ装置3からの応答である場合、該フレームをスレーブ応答解析・格納部24に伝達し、受信したフレームがマスタ装置1からの要求である場合、該フレームをスレーブ装置応答監視部25に伝達する。
【0032】
スレーブ応答解析・格納部24では、自局に応答をするとマスタ装置1によって指定されたスレーブ装置3からの応答であるかを判断し、該当する場合は受信した通信フレームの内容を不図示の記憶部に格納する。該記憶部には、自局に応答すると指定された各スレーブ装置3に対応して、応答内容を格納する記憶領域が確保されている。
【0033】
スレーブ装置応答監視部25は、同報通信によりマスタ装置1から受信した通信フレームから、自局に応答すると指定されたスレーブ装置3群を管理し、それぞれのスレーブ装置3からの応答時間を監視する。規定の時間を越えても応答がないスレーブ装置3については、該情報をスレーブ装置故障判定部26に伝達する。
【0034】
スレーブ装置故障判定部26では、スレーブ装置応答監視部25から伝達されたスレーブ装置3について、応答無しとし、前記記憶部における対応するスレーブ装置3の記憶領域に応答無しの内容を格納する。(「応答無し」については後述。)
応答電文作成部27では、前記記憶部に格納された、複数のスレーブ装置3からの応答を纏め、一つの通信フレームを作成する。この際、スレーブ装置故障判定部26で応答無しとされたスレーブ装置3については、応答無しの内容のまま通信フレームを作成する。
【0035】
次に、スレーブ装置3の構成であるが、スレーブ装置3は、図5に示すように、送信部31、受信部32、受信電文解釈部33、制御部34、中継ルート判断部35、応答電文作成部36、監視部37の各部を備える。
【0036】
受信部32は、マスタ装置1から同報通信により送信される制御・監視命令等を含む要求フレームを受信する。
受信電文解釈部33は、受信した要求フレームから制御・監視命令を解釈し、該スレーブ装置3に接続された制御対象38または監視対象39をそれぞれ制御または監視する制御部34、監視部37に命令を伝達する。
【0037】
中継ルート判断部35は、受信した要求フレームから自局が送信する中継先である中継装置2を認識する。
制御部34は、受信電文解釈部33から伝達された制御命令に基づき、制御対象38を制御し、その制御結果を応答電文作成部36に伝達する。制御結果とは、例えば正常制御完了や、異常制御発生などの制御の状態を報告するものである。
【0038】
監視部37は、受信電文解釈部33から伝達された監視命令に基づき、監視対象39を監視し、その監視結果を応答電文作成部36に伝達する。監視結果とは、例えば正常、異常発生などの監視対象の状態を報告するものである。
【0039】
応答電文作成部36では、制御部34および監視部37から伝達された結果を、スレーブ内制御・監視情報として含む応答フレームを作成し、送信部31に伝達する。
送信部31では、中継ルート判断部35で認識された中継先である中継装置2に対して作成された応答フレームを送信する。
【0040】
以上、図3〜図5に示したように、実施例1の通信システムにおける各装置は構成される。
続いて、実施例1の通信でやり取りされる通信フレームの構成について説明する。
【0041】
実施例1では、Ethernet回線を使用するため、図6で示すように、Ethernet回線でのUDP/IPの上位通信プロトコルとして位置づけ、UDPのデータ内に本通信方式のフレームを格納して通信する。
【0042】
本通信方式のフレーム部は、ヘッダ部とデータ部からなり、詳細はそれぞれ図7〜図9を参照して説明する。
まず、マスタ装置1から各装置に対してブロードキャストして送信される監視、制御命令を含む要求フレームの構成を図7に示す。この通信フレームは、図2の(1)で送信される通信フレームである。
【0043】
まず、図7の上から順にそれぞれ説明する。
コマンド(71):フレーム種別を表す。フレームの種別としては、要求フレーム、応答フレームなどがあり、ここでは要求フレームに該当するコードが格納される。
【0044】
ステータス(72):本通信プロトコル上で検出した状態が格納される。すなわち、マスタ装置1から全装置(中継装置2およびスレーブ装置3)へ通知する通信状態コードを格納する。通信状態コードには、全正常通信中、中継装置異常検出中、スレーブ装置異常検出中などがある。
【0045】
レングス(73):レングス以降のバイトサイズが格納される。
システムステータス(74):本通信プロトコルを使用したシステムの運用状態が格納される。すなわち、マスタ装置1から全装置(中継装置2及びスレーブ装置3)へ通知する現在のシステム運用状態をコード化して格納する。システム運用状態コードには、通常運転中、軽故障発生中、重故障発生中、縮小運転中、メンテナンス運転中などがある。
【0046】
ネットワークアドレス(75):システム内で共通使用するIPアドレスの24ビットが格納される。
中継ホストアドレス1〜4(76):中継装置2−1〜2−4のIPアドレスの下位8ビットが格納される。
【0047】
中継タイムアウト時間1〜4(77):中継装置2−1〜2−4がスレーブ装置3からの応答を待つタイムアウト時間が格納される。
スレーブ1〜64制御指令(78):スレーブ装置3−1〜3−64への監視、制御などの命令要求が格納される。このスレーブ制御指令の部分は、スレーブ装置3のホストアドレス(78a)と、スレーブ装置3の監視・制御命令(78b)の二つから構成される。
【0048】
スレーブ1〜64中継ホストインデックス(79):スレーブ装置3−1〜3−64が応答を送信する中継装置2のホストインデックスが格納される。
マスタ装置1は、図7に示した通信フレーム(要求フレーム)をブロードキャストにて全装置に送信する。各スレーブ装置3は、図7に示したフレーム内の自局ID位置に格納されている制御指令(スレーブ1〜64制御指令(78))をもとに、自局に接続する制御対象もしくは監視対象を制御または監視し、結果をスレーブ内制御・監視情報として含む応答フレームを送信する。その際、各スレーブ装置3では、返信先の中継装置2を決定するために、マスタ装置からの要求フレーム(図7)内の自局IDに対応するスレーブ1〜64中継ホストインデックス(79)に指定される中継装置2のアドレスに応答を送信する。
【0049】
各中継装置2では、マスタ装置1からの要求フレーム(図7)を受信した時点で、マスタ装置1が、自局に返信することを指定したスレーブ装置3の台数、及び該スレーブ装置3のアドレスを記憶する。これは、該要求フレーム内のスレーブ装置1〜64中継ホストインデックス(79)に自局に対応するホストインデックスが指定されている数をカウントし、また対応するスレーブ装置ホストアドレス(78a)を記憶することで実現される。そして、その後のスレーブ装置3からの応答受信に備える。
【0050】
次に、中継装置2が各スレーブ装置3から受信する応答フレームを図8に示す。この応答フレームは、図2の(2)で送信される通信フレームである。図7と同様に、図8の上から順にそれぞれ説明する。
【0051】
コマンド(81):フレーム種別を表す。フレームの種別としては、要求フレーム、応答フレームなどがあり、ここでは応答フレームに該当するコードが格納される。
ステータス(82):本通信プロトコル上で検出した状態が格納される。マスタ装置1から受信した要求フレームの解析内容により、スレーブ装置3からマスタ装置1へ通知する必要がある状態コードを格納する。通信状態コードには、正常通信、受信フレーム異常、制御内容異常などがある。
【0052】
レングス(83):レングス以降のバイトサイズが格納される。
スレーブホストアドレス(84):応答を送信するスレーブ装置自身のIPアドレス下位8ビットが格納される。
【0053】
スレーブステータス(85):マスタ装置1へ通知するスレーブ装置3の状態をコード化して格納する。スレーブ状態コードには、通常運転中、軽故障発生中、重故障発生中などがある。
【0054】
スレーブ内制御・監視情報(86):スレーブ装置3に接続された制御対象38や監視対象39である外部機器(例えばディジタル入力接点やアナログ入力など)から取り込んだデータや接点状態、制御処理に対する結果などが格納される。マスタ装置1では、この情報をもとに、次の制御内容を決定し、次の監視・制御命令を送信してくることになる。
【0055】
次に、中継装置2は、図8に示した応答フレームを複数のスレーブ装置3から受信し、それらを纏めて、図9に示すような、中継装置2からマスタ装置1への応答フレームを作成する。この応答フレームは、図2の(3)で送信される通信フレームである。図7、図8と同様に、図9の上から順にそれぞれ説明する。尚、図9は、スレーブ装置3−1〜3−16の応答フレームを纏める中継装置2−1の応答フレームを示している。
【0056】
コマンド(91):フレーム種別を表す。フレームの種別としては、要求フレーム、応答フレームなどがあり、ここでは応答フレームに該当するコードが格納される。
ステータス(92):本通信プロトコル上で検出した状態が格納される。マスタ装置1から受信した要求フレームやスレーブ装置3から受信した応答フレームの解析内容により、中継装置2からマスタ装置1へ通知する必要がある状態コードを格納する。状態コードには、正常通信、受信フレーム異常、制御内容異常などがある。
【0057】
レングス(93):レングス以降のバイトサイズが格納される。
スレーブ応答フレーム1〜16(94):図8に示したスレーブ装置3−1〜3−16から受信した応答フレームのうち、レングス以降のデータがそのまま格納される。
以上のように、図7に示したマスタ装置1から送信された要求フレームに対して、スレーブ装置3が図8に示した応答フレームを中継装置2に送信し、中継装置2はマスタ装置1に送信するための応答フレーム(図9)に纏め上げ、マスタ装置1に送信する。マスタ装置1では、図9の応答フレームにおけるスレーブ応答フレーム(94)のスレーブ内制御・監視情報(86)を、スレーブ装置制御・監視情報管理部15にて、各スレーブ装置の制御・監視情報として管理する。マスタ装置1は、応答である各スレーブ装置3の制御・監視情報に基づいて次の制御、監視命令を作成することになる。
【0058】
尚、上述したように、各中継装置2には、スレーブ装置3からの応答を待つタイムアウト時間が指定されており(図7の要求フレームの中継タイムアウト時間(77))、中継装置2のスレーブ装置応答監視部25(図4)において、このタイムアウト時間を越えても応答がないスレーブ装置3については応答無しとされて、応答無しの内容で中継装置2にて複数の応答が纏め上げられる。例えば、スレーブ装置3−1の応答が無い場合、図9の応答フレームのうちスレーブ応答フレーム1(94)内のスレーブステータス(85)部分に無応答コードがセットされることで、応答無しの内容とされ、他のスレーブ装置3−2〜3−16の応答フレームと共に纏められて、中継装置2からマスタ装置1に送信される。
【0059】
マスタ装置1では、受信応答解析部13(図3)にて中継装置2からの応答におけるスレーブ応答フレーム(94)部分が解釈され、通信負荷の集中の予測、または、スレーブ装置3の脱落が解析される。すなわち、スレーブ応答フレーム(94)のスレーブステータス(85)部分に無応答コードが格納されている場合、中継装置2において通信負荷の集中が発生しているか、または、無応答コードが格納されているスレーブ装置3は脱落の可能性があると判断する。その後も引き続き、連続して数回、同一のスレーブ装置3が無応答であることが通知されるとそのスレーブ装置3は脱落したと判断される。脱落が判断されたスレーブ装置3は、マスタ装置1のスレーブ装置制御・監視情報管理部15にて脱落したとして管理される。
【0060】
以上、実施例1の通信システムでは、図6〜図9に示すような通信フレームにて通信を行うことを説明した。
実施例1の中継装置2としては、各スレーブ装置3からの応答フレームを順次受信バッファにより引き抜き処理を行うが、通信回線での速度が速いと引き抜き処理が間に合わないことが想定される。この場合、引き抜き処理が間に合わなくても、受信バッファを複数持つことで何フレームかは、受信バッファ上に確保することができるが、その受信バッファ数をオーバーしたフレームは取りこぼされることが懸念される。このような取りこぼしは中継装置2に通信負荷が集中してしまう場合などに発生することであるが、通信を正常に継続するためにも中継装置2が纏めるスレーブ装置3の数を抑制する必要がある。また、中継装置2自身が故障してしまった場合、その中継装置2が纏めるスレーブ装置3からの応答はマスタ装置1に到達できないことになり、通信が正常に行われない。
【0061】
よって、通信の正常な状態を保つためにも、通信負荷の集中や中継装置2の故障が発生している場合に、該当する中継装置2をスレーブ装置3が中継ルートとして使用しないように変更可能であることが必要である。
【0062】
実施例1の通信システムにおけるマスタ装置1は、上述したように、各通信における応答を解析し、通信負荷の集中や中継装置2の故障を判断可能なように構成されている(図3の受信応答解析部13及び負荷・故障判断部14)。そして、通信負荷の集中や中継装置2の故障に対応するために、新たな中継ルートを選定し変更指定することが可能なように構成されている(図3の中継ルート選定部16)。以下に、本実施例における通信負荷の集中や中継装置の故障に対応するための処理の詳細について、図10及び図11を参照しながら説明する。
【0063】
図10に、中継ルートの変更を行う場合の通信シーケンスを示す。ここでは、中継装置2−2に通信負荷が集中する場合を例に、中継ルートの変更処理について説明するが、これが中継装置2−2の故障であってもかまわないし、また、他の中継装置2における通信負荷集中や故障であっても同様に処理が行われる。
【0064】
まず、図10の(1)で、マスタ装置1が監視や制御命令を含む要求フレームを全局(中継装置2−1〜2−4及びスレーブ装置3−1〜3−64)にブロードキャストする。次に、(2)で各スレーブ装置3は、受信した要求フレームに含まれる命令を処理した後、マスタ装置1が指定する応答先の中継装置2−1〜2−4にそれぞれ応答フレームをユニキャストにより送信する。ところが、(2α)では、他の通信負荷のため、本通信のフレームであるスレーブ装置3−32からの通信フレームを中継装置2−2で取りこぼしてしまっている。よって、(3)では、全スレーブ装置の応答がまとまった状態で中継装置2−1からマスタ装置1に応答が行われている一方で(3α)では、全スレーブ装置の応答が揃っていない状態で応答が行われている。
【0065】
そこで、マスタ装置1において、中継装置2−2からの応答が、全スレーブ装置3−17〜3−32の応答が揃っていないことから、中継装置2−2部分で通信負荷の集中が発生していることを予測(4)し、次の要求フレーム送信時には、スレーブ装置3−17〜3−32の応答を送信する中継装置を中継装置2−4に変更する(5)。
【0066】
図10の(5)の、中継装置の指定変更について図11を参照して説明する。
図11に、中継装置の変更を行うための要求フレームを示す。該要求フレームは図7で説明したように、コマンド(71)、ステータス(72)、レングス(73)、システムステータス(74)、ネットワークアドレス(75)、中継ホストアドレス1〜4(76)、中継タイムアウト時間1〜4(77)、スレーブ制御指令1〜64(78)、スレーブ1〜64中継ホストインデックス(79)から成る。
【0067】
図11では、中継ホストアドレス1には、中継装置2−1のホストアドレス、“10”が格納されており、その次の領域に中継装置2−1の中継タイムアウト時間、“60”が格納されている。また、中継ホストアドレス4には、中継装置2−4のホストアドレス、“14”が格納されており、その次の領域に中継装置2−4の中継タイムアウト時間“60”が格納されている。
【0068】
スレーブ1制御指令には、スレーブ装置3−1に対するマスタ装置1からの制御命令等が格納されており、その次の領域にはマスタ装置1からスレーブ装置3−1に対してどの中継装置に応答を送信するかを示す中継装置のホストインデックスが指定されている。
【0069】
ここで、スレーブ装置3−1が応答を送信する中継装置を、中継装置3−1から中継装置3−4に変更する場合、スレーブ1中継ホストインデックスを1から4に変更する(図11の1→4)。スレーブ装置3−1は、中継ホストインデックスが1に指定されていた場合は中継ホストアドレス1に格納された中継装置2−1のホストアドレス“10”を参照して該当アドレスに応答を送信するが、中継ホストインデックスが4に変更されたため、中継ホストアドレス4に格納された中継装置2−4のホストアドレス“14”を参照して該当アドレスに応答を送信する。このように、要求フレームの内容を変更することによって、スレーブ装置3−1が応答を送信する中継装置2を変更することができる。
【0070】
その後、図10の(6)にて、マスタ装置1から図11のように変更された要求フレームをブロードキャストする。すると、(7)にて、スレーブ装置3−1〜3−16及びスレーブ装置3−17〜3−32からの応答は、中継装置2−1および2−4によってそれぞれ全て受信され、纏められて、(8)にて、全てのスレーブ装置の応答がまとまった状態で、マスタ装置1に送信される。
【0071】
このように、実施例1では、システム運用中に発生する通信負荷の集中や中継装置の故障を、マスタ装置1が各通信の応答を踏まえて判断し、マスタ装置1が次に送信する要求フレームで、それを回避する中継ルートを指定し、システム運用中の通信の障害に動的に対応することが可能である。
【0072】
以上、図1〜図11を参照し、本発明の実施例1について詳細に説明した。
次に、実施例1の変形例である実施例2について説明する。
実施例2は、実施例1とほぼ同一であるが、マスタ装置1が一度に処理できる応答フレーム数に制約がある場合に、マスタ装置1とスレーブ装置3の間に上位中継装置と下位中継装置を設け、スレーブ装置からの応答を一度、下位中継装置にて纏め、更に下位中継装置の応答を上位中継装置にて纏め、該上位中継装置からマスタ装置に纏めた応答を送信するというものである。
【0073】
図12に実施例2の通信システムの構成を示す。
実施例2のシステムは、マスタ装置1に対して 64台のスレーブ装置3−1〜3−64が存在し、スレーブ装置16台毎にスレーブ装置を束ねるための下位中継装置6−1〜6−4が4台、下位中継装置を束ねるための上位中継装置5−1〜5−2が2台、Ethernet回線を介して接続されている。図1に示した実施例1のシステムとの違いは、中継装置2に相当する部分を、上位中継装置5と下位中継装置6とに分けた点にあり、他の部分は同一なので同一の符号を付してある。
【0074】
図12のシステム構成において、まず、マスタ装置1はスレーブ装置3−1〜3−64及び上位中継装置5−1〜5−2、下位中継装置6−1〜6−4に対して、同報通信(ブロードキャスト)により監視や制御のための命令を含む要求を送信する。そして、各スレーブ装置3−1〜3−64は、マスタ装置1が指定する返信先の下位中継装置6−1〜6−4にそれぞれ応答を送信する。下位中継装置6−1〜6−4では、それぞれ、各スレーブ装置3−1〜3−64からの応答を纏めてマスタ装置1が指定する上位中継装置5−1〜5−2にそれぞれ応答を送信し、上位中継装置5−1〜5−2が纏めた応答をマスタ装置1に送信する。
【0075】
すなわち、図13に示すような通信シーケンスとなる。
まず、図13の(1)で、マスタ装置1が監視や制御命令を含む要求フレームを全局(上位中継装置5−1〜5−2、下位中継装置6−1〜6−4及びスレーブ装置3−1〜3−64)にブロードキャストする。次に(2)で、スレーブ装置3−1〜3−64はマスタ装置1が指定する応答先の下位中継装置6−1〜6−4にそれぞれ応答をユニキャストにより送信する。図13では、スレーブ装置3−1〜3−16は下位中継装置6−1に、スレーブ装置3−17〜3−32は下位中継装置6−2に、スレーブ装置3−33〜3−48は下位中継装置6−3に、スレーブ装置3−49〜3−64は下位中継装置6−4に応答をユニキャストにより送信することを示している。(3)で、各下位中継装置6−1〜6−4は、それぞれスレーブ装置3からの応答を纏め、マスタ装置1が指定する応答先の上位中継装置5−1〜5−2にそれぞれ応答をユニキャストにより送信する。(4)で、上位中継装置5−1〜5−2は、下位中継装置6−1〜6−4からの応答をまとめ、マスタ装置1にユニキャストにより送信する。
【0076】
図14〜図17に、実施例2で用いられる通信フレームを示す。実施例1と同様、Ethernet回線を使用するため、実施例1と同様Ethernet回線でのUDP/IPの上位通信プロトコルであり(図6)、UDPのデータ内に本通信方式のフレームを格納して通信する。実施例1同様、本通信方式のフレーム部は、ヘッダ部とデータ部からなり、その詳細が図14〜図17である。
【0077】
まず、マスタ装置1から各装置に対してブロードキャストして送信される監視、制御命令を含む要求フレームを図14に示す。この通信フレームは、図13の(1)で送信される通信フレームである。
【0078】
図7に示した通信フレームに似ているが、中継装置2に相当する部分の構成が大きく異なっている。上位中継装置5については、実施例1の中継装置2と同様に、上位中継装置5のホストアドレスを示す上位中継ホストアドレス1〜2(141)及び応答を待つ時間を指定したタイムアウト時間を示す上位中継タイムアウト時間1〜2(142)が設けられているが、下位中継装置6については、下位中継ホストアドレス1〜4(143)と下位中継タイムアウト時間1〜4(144)のほかに、下位中継装置6が応答を送信する上位中継装置5のホストインデックスが、下位中継ホスト1〜4上位中継ホストインデックス(145)にて指定されるように構成されている。
【0079】
図14に示した要求フレームがマスタ装置1からブロードキャストされ、スレーブ装置3は応答を指定された下位中継装置6に送信し、下位中継装置6は受信した応答を纏めて指定された上位中継装置5に送信し、上位中継装置5は受信した応答をまとめてマスタ装置1に送信する。
【0080】
応答フレームについては、図15〜図17に示すように、図8〜図9に示される応答フレームの構成とほぼ同様である。図15のスレーブ装置3から下位中継装置6に送信される応答フレームの構成は図8と同一である。下位中継装置6では、中継装置2のように、図15の応答フレームのうち、レングス以降のデータをそのまま格納して、スレーブ装置3の応答を纏める(図16)。上位中継装置5においても、中継装置2のように、図16の応答フレームのうち、レングス以降のデータをそのまま格納して、下位中継装置6の応答を纏める(図17)。
【0081】
実施例2のシステムにおける各装置の構成は、マスタ装置1およびスレーブ装置3は同一の構成をとり、上位中継装置5および下位中継装置6は実施例1の中継装置2とほぼ同様の構成をとるため、ここでは説明を省略する。
【0082】
実施例2のシステム全体としては、中継部分を、上位側と下位側にわけたため、それぞれの中継装置で応答を纏める処理時間分の遅延は多少発生するが、マスタ装置1での取りこぼしを確実に抑制することが可能である。
【0083】
以上、本発明の実施例について詳細に説明したが、本発明によれば、マスタ装置が多数のスレーブ装置に対して同報通信にて制御命令等を含む要求を送信するため、各スレーブ装置へ高速に制御命令等を送信することができ、かつスレーブ装置側の受信タイミングをほぼ同時にすることが可能である。また、多数のスレーブ装置からの応答を一旦中継装置にて纏め、中継装置からマスタ装置へ送信するため、マスタ装置は中継装置数分の応答を処理すればよく、マスタ装置での取りこぼしを防止し、ある程度の同時性を確保した応答の受信を行うことが可能である。すなわち、スレーブ装置が多数となった場合でも、高速で且つ同時性を確保した大規模なマスタ/スレーブ通信方式を実現することができる。
【0084】
更に、各スレーブ装置が応答を返信する中継装置を、マスタ装置が同報通信により送信する要求によって変更指定することが可能である。これにより、システム運用中に発生する通信負荷の集中や中継装置の故障に動的に対応することが可能である。
【0085】
以上のことから、本発明によれば、従来は困難であった、マスタ装置が多数のスレーブ装置に対して高速且つ同時性を確保した監視および制御等を行う監視制御システムを構築することが可能である。
【0086】
以上のように本発明の通信方式および通信システムについて詳細に説明したが、本発明は以上に述べたことに限定されるものではなく、その他、本発明の要旨を逸脱しない範囲で様々の構成、または形状をつくることができることはいうまでもない。
【図面の簡単な説明】
【0087】
【図1】実施例1の通信システム構成を示す図である。
【図2】実施例1における通信シーケンス(その1)を示す図である。
【図3】マスタ装置の機能ブロック図を示す図である。
【図4】中継装置の機能ブロック図を示す図である。
【図5】スレーブ装置の機能ブロック図を示す図である。
【図6】フレームの構成を示す図である。
【図7】実施例1においてマスタ装置からブロードキャストされるときのフレームの構成を示す図である。
【図8】実施例1においてスレーブ装置から中継装置へ応答が送られる時のフレームの構成を示す図である。
【図9】実施例1において中継装置からマスタ装置へ応答が送られる時のフレームの構成を示す図である。
【図10】実施例1における通信シーケンス(その2)を示す図である。
【図11】中継装置の変更を指示する通信フレームを説明する図である。
【図12】実施例2の通信システム構成を示す図である。
【図13】実施例2における通信シーケンスを示す図である。
【図14】実施例2においてマスタ装置からブロードキャストされる時のフレームの構成を示す図である。
【図15】実施例2においてスレーブ装置から下位中継装置へ応答が送られる時のフレームの構成を示す図である。
【図16】実施例2において下位中継装置から上位中継装置へ応答が送られる時のフレームの構成を示す図である。
【図17】実施例2において上位中継装置からマスタ装置へ応答が送られる時のフレームの構成を示す図である。
【符号の説明】
【0088】
1 マスタ装置
2 中継装置
3 スレーブ装置
4 HUB
5 上位中継装置
6 下位中継装置
11 送信部
12 受信部
13 受信応答解析部
14 負荷・故障判断部
15 スレーブ装置制御・監視情報管理部
16 中継ルート選定部
17 要求電文作成部
21 送信部
22 受信部
23 受信内容解析部
24 スレーブ応答解析・格納部
25 スレーブ装置応答監視部
26 スレーブ装置故障判定部
27 応答電文作成部
31 送信部
32 受信部
33 受信電文解釈部
34 制御部
35 中継ルート判断部
36 応答電文作成部
37 監視部
38 制御対象
39 監視対象

【特許請求の範囲】
【請求項1】
マスタ装置が、多数のスレーブ装置に制御命令等を含む要求を送信し、各スレーブ装置からの該要求に対する応答を受信する、マスタ/スレーブ通信方式であって、
前記マスタ装置は、前記要求を前記多数のスレーブ装置に対して同報通信にて送信し、
前記各スレーブ装置は、前記要求を受信すると、該要求に対する応答を前記マスタ装置が指定した中継装置に送信し、
前記中継装置は、受信した前記スレーブ装置の応答を複数纏めて前記マスタ装置に送信する、
ことを特徴とする通信方式。
【請求項2】
前記スレーブ装置の応答送信先である中継装置の指定は前記要求に含まれるものであって、前記マスタ装置は、通信経路の負荷や前記中継装置の故障等に対応して、前記スレーブ装置の応答先である前記中継装置の指定を変更することを特徴とする請求項1記載の通信方式。
【請求項3】
前記マスタ装置は、前記中継装置からの応答時間を監視し、規定の時間を越えても応答が無い場合、該中継装置が故障したとすることを特徴とする請求項1または2記載の通信方式。
【請求項4】
前記マスタ装置は、前記中継装置からの応答を解析し、該応答に全てのスレーブ装置からの応答が揃っていない場合、該中継装置において通信負荷が集中していることを予測することを特徴とする請求項1ないし3の何れか1項に記載の通信方式。
【請求項5】
前記中継装置は、前記スレーブ装置からの応答時間を監視し、規定の時間を越えても応答が無い場合、該スレーブ装置から応答がないことを前記マスタ装置に通知し、
前記マスタ装置は、所定の回数連続して前記応答が無いと通知されたスレーブ装置について、脱落したとして管理する、
ことを特徴とする請求項1ないし4の何れか1項に記載の通信方式。
【請求項6】
前記中継装置は、上位中継装置と下位中継装置とからなり、前記各スレーブ装置は、前記要求を受信すると、該要求に対する応答を前記マスタ装置が指定した前記下位中継装置に送信し、該下位中継装置は、受信した前記スレーブ装置の応答を複数纏めて前記マスタ装置が指定した前記上位中継装置に送信し、該上位中継装置は、受信した前記下位中継装置の応答を纏めて前記マスタ装置に送信する、
ことを特徴とする請求項1記載の通信方式。
【請求項7】
マスタ装置と多数のスレーブ装置と2台以上の中継装置とからなるマスタ/スレーブ通信システムであって、
前記マスタ装置は、
前記多数のスレーブ装置の制御等を行うための命令を含む要求を作成する要求電文作成部と、
前記要求を前記スレーブ装置及び前記中継装置に対して同報通信にて送信する送信部と、
前記要求に対する応答を受信する受信部と、を備え、
前記スレーブ装置は、
前記マスタ装置から送信される前記要求を受信する受信部と、
前記要求に対する応答を作成する応答電文作成部と、
前記応答を前記マスタ装置が指定する前記中継装置に送信する送信部と、を備え、
前記中継装置は、
前記マスタ装置から送信される前記要求を受信し、また、前記スレーブ装置から送信される前記応答を受信する受信部と、
前記受信部にて受信した前記スレーブ装置からの応答を複数纏め、自局からマスタ装置への応答として作成する応答電文作成部と、
前記作成した応答を前記マスタ装置に送信する送信部と、
を備えることを特徴とするマスタ/スレーブ通信システム。
【請求項8】
前記マスタ装置は、更に、
通信経路の負荷や前記中継装置の故障を判断する負荷・故障判断部と、
前記負荷・故障判断部の判断に基づいて中継ルートを選定し、前記スレーブ装置が前記応答を送信する応答先を決定する中継ルート選定部とを備え、
前記要求電文作成部は、前記中継ルート選定部によって選定された中継ルートに基づいて、前記スレーブ装置の応答先である前記中継装置を変更指定する内容を含む前記要求を作成する、ことを特徴とする請求項7記載の通信システム。
【請求項9】
前記中継装置は、更に、
前記スレーブ装置からの応答時間を監視し、規定の時間を越えても応答が無い場合、該スレーブ装置からの応答を無しとするスレーブ装置故障判定部を備え、
前記応答電文作成部は、前記応答無しと判定されたスレーブ装置に対応する応答を無応答の内容にして、複数のスレーブ装置からの応答を纏めて自局からマスタ装置への応答を作成し、
前記マスタ装置は、更に、
前記中継装置から送信された応答に基づいて、前記複数のスレーブ装置の制御情報および監視情報を管理する、スレーブ装置制御・監視情報管理部を備え、
該スレーブ装置制御・監視情報管理部は、前記中継装置から受信した応答により、所定の回数連続して応答無しであることを通知されたスレーブ装置については、該スレーブ装置が脱落したとして管理する、ことを特徴とする請求項7または8記載の通信システム。
【請求項10】
多数のスレーブ装置に制御命令等を含む要求を送信するマスタ装置であって、
前記要求を作成する要求電文作成部と、
前記要求を前記スレーブ装置、及び前記スレーブ装置からの応答を中継する複数の中継装置に対して同報通信にて送信する送信部と、
前記中継装置によって纏められた前記要求に対する複数のスレーブ装置からの応答を、該中継装置からの応答として受信する受信部と、
を備えることを特徴とするマスタ装置。
【請求項11】
前記マスタ装置は、更に、
通信経路の負荷や前記中継装置の故障を判断する負荷・故障判断部と、
前記負荷・故障判断部の判断に基づいて中継ルートを選定し、前記スレーブ装置が応答を送信する応答先を決定する中継ルート選定部と、を備え、
前記要求電文作成部は、前記中継ルート選定部によって選定された中継ルートに基づいて、前記スレーブ装置の応答先である前記中継装置を変更指定する内容を含む前記要求を作成する、ことを特徴とする請求項10記載のマスタ装置。
【請求項12】
マスタ装置から送信される制御命令等を含む要求を受信し、該要求に基づいて処理を行うスレーブ装置であって、
前記マスタ装置から同報通信にて送信される前記要求を受信する受信部と、
前記要求に対する応答を作成する応答電文作成部と、
前記要求に含まれる、自局が応答を送信する応答先の中継装置を判断する中継ルート判断部と、
前記判断された中継装置に前記応答を送信する送信部と、
を備えることを特徴とするスレーブ装置。
【請求項13】
制御命令等を含む要求を送信するマスタ装置と、該要求を受信し、該要求に対する応答を送信する多数のスレーブ装置との通信を中継する中継装置であって、
前記マスタ装置から同報通信にて送信される前記要求を受信し、また、前記スレーブ装置から送信される前記応答を受信する受信部と、
前記要求に含まれる、自局を応答先とする前記スレーブ装置を把握し、該スレーブ装置からの応答を監視するスレーブ装置応答監視部と、
前記スレーブ装置応答監視部が監視するスレーブ装置からの応答を複数纏め、自局からマスタ装置への応答として作成する応答電文作成部と、
前記作成した応答を前記マスタ装置に送信する送信部と、
を備えることを特徴とする中継装置。
【請求項14】
前記中継装置は、更に、
前記スレーブ装置からの応答時間を監視し、規定の時間を越えても応答が無い場合、該スレーブ装置からの応答を無しとするスレーブ装置故障判定部を備え、
前記応答電文作成部は、前記応答無しと判定されたスレーブ装置に対応する応答を無応答の内容にして、複数のスレーブ装置からの応答を纏めて応答電文を作成する、ことを特徴とする請求項13記載の中継装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate