以下、図面を参照しつつ本発明の実施形態を説明する。
(A:第1実施形態)
図1は、本発明の第1実施形態による通信システム1の構成例を示す図である。通信システム1は、工場やプラントなどの産業施設内に敷設され、その産業施設における操業を支援するための制御システムである。図1に示すように通信システム1は、ノード装置10A、10B、10C、10Dおよび10Eを含んでいる。ノード装置10A、10B、10C、10Dおよび10Eの各々は、図1に示すように通信ポートNW1と通信ポートNW2を有する。図1に示すように、通信システム1に含まれる5台のノード装置は、リング型の物理トポロジを形成するように通信ポートNW1および通信ポートNW2が通信線により接続されている。以下では、上記5つのノード装置の各々を区別する必要がない場合には「ノード装置10」と表記する。ノード装置10は、電動機等の駆動制御を行うコントローラ、或いは各種センセとコントローラとの間のデータ通信を仲介する中継装置である。上記コントローラの具体例としては、DCS(Distributed
Control System:分散型制御システム或いは分散型制御装置)やプログラマブルロジックコントローラ(以下、PLC)が挙げられる。一般的なFA(Factory Automation)システムではコントローラとしてPLCが用いられることが多く、高信頼性を要求されるプラント設備ではコントローラとしてDCSが用いられることが多い。DCSはPLCに比較して信頼性が高いからである。
図2は、ノード装置10の構成例を示すブロック図である。
ノード装置10は、通信ポートNW1および通信ポートNW2の他に、記憶部100と制御部110とを有する。通信ポートNW1と通信ポートNW2の各々は、例えば通信用LSI(Large-Scale Integration:図1では図示略)の入出力ポートであり、入力端子と出力端子を夫々1つずつ有する。本実施形態では、上記5つのノード装置の各々が有する通信ポートNW1と通信ポートNW2は互いに異なるグループに予めグループ分けされている。具体的には、ノード装置10A、10B、10C、10Dおよび10Eの各々が有する通信ポートNW1により第1のグループが形成され、ノード装置10A、10B、10C、10Dおよび10Eの各々が有する通信ポートNW2により第2のグループが形成される。
通信システム1では、物理トポロジに沿って互いに隣接する2つのノード装置10が互いに異なるグループに属する通信ポートを介して接続されるように通信線が配線される。具体的には、物理トポロジに沿って互いに隣接する2つのノード装置10のうちの一方の出力端子NW2−outと他方の入力端子NW1−inとが接続されるとともに、上記一方の入力端子NW2−inと他方の出力端子NW1−outとが接続されるように、ノード装置10間の通信線が配線される。
例えば、ノード装置10Aの出力端子NW2−outはノード装置10Bの入力端子NW1−inに接続されており、ノード装置10Aの入力端子NW2−inはノード装置10Bの出力端子NW1−outに接続されている。ノード装置10Bの出力端子NW2−outはノード装置10Cの入力端子NW1−inに接続されており、ノード装置10Bの入力端子NW2−inはノード装置10Cの出力端子NW1−outに接続されている。ノード装置10Cとノード装置10D、ノード装置10Dとノード装置10E、ノード装置10Eとノード装置10Aについても同様である。
通信システム1では、図3(A)にて実線で示す第1のデータ伝送経路D1と同点線で示す第2のデータ伝送経路D2が形成される。図3(A)を参照すれば明らかように第1のデータ伝送経路D1および第2のデータ伝送経路D2は何れもリング型である。第1のデータ伝送経路D1は、ノード装置10Aの出力端子NW2−out→ノード装置10Bの入力端子NW1−in→ノード装置10Bの出力端子NW2−out→ノード装置10Cの入力端子NW1−in→・・・ノード装置10Eの出力端子NW2−out→ノード装置10Aの入力端子NW1−inといったデータ伝送経路である。一方、第2のデータ伝送経路D2は、ノード装置10Aの出力端子NW1−out→ノード装置10Eの入力端子NW2−in→ノード装置10Eの出力端子NW1−out→ノード装置10Dの入力端子NW2−in→・・・ノード装置10Bの出力端子NW1−out→ノード装置10Aの入力端子NW2−inといったデータ伝送経路である。
第1のデータ伝送経路D1では、ノード装置10A→ノード装置10B→・・・ノード装置10E→ノード装置10Aといった順に各種通信メッセージ等のデータを内包したデータフレームの伝送が行われる。データ伝送経路D1に周回させるデータフレームは、各ノード装置10において入力端子NW1−inを介して受信され、図2および図3(A)に示すように、制御部110により処理を経た後に出力端子NW2−outから送出される。これに対して第2のデータ伝送経路D2では、第1のデータ伝送経路D1とは逆順にデータフレームの伝送が行われる。そして、データ伝送経路D2に周回させるデータフレームは、各ノード装置10において入力端子NW2−inを介して受信され、図2および図3(A)に示すように、制御部110により処理を経ずに出力端子NW1−outから送出される。つまり、第1のデータ伝送経路D1は、各ノード装置10の制御部110により処理を経由するデータ伝送経路であり、この点が第2のデータ伝送経路D2と異なる。
本実施形態では、ノード装置10間のデータの送受信は、原則的に第1のデータ伝送経路D1を用いて行われる。なお、通信システム1に含まれる各ノード装置10のタイマ同期を特許文献1に開示の技術を用いて行う場合には、何れかのノード装置10(例えば、ノード装置10A)がマスタとなり、当該マスタ内において第1のデータ伝送経路D1と第2のデータ伝送経路D2とを短絡して上記タイマ同期技術を適用すれば良い。ここで、第1のデータ伝送経路D1と第2のデータ伝送経路D2とを短絡するとは、マスタから第1のデータ伝送経路D1へ送出したデータフレームが当該第1のデータ伝送経路D1を経由して当該マスタに戻ってきた場合には、当該マスタにおいて当該データフレームを第2のデータ伝送経路D2へ転送し、さらに当該データフレームが第2のデータ伝送経路D2を経由して戻ってきた場合に当該マスタに当該データフレームを破棄させることを言う。
制御部110は、例えばCPU(Central Processing Unit)であり、記憶部100に記憶されたファームウェア等のソフトウェアにしたがって各種処理を実行する。記憶部100は例えばフラッシュROM(Read Only Memory)である。記憶部100には、上記ソフトウェアと、グループ管理テーブルが予め格納されている。グループ管理テーブルには、自装置に設けられた2つの通信ポートの各々を一意に示すハードウェア識別子に対応付けて、その通信ポートの属するグループを一意に示すグループ識別子が格納されている。上記ハードウェア識別子の具体例としては、各通信ポートのポート番号、或いは当該ポート番号と通信用LSIのMACアドレスの組みが挙げられる。また、本実施形態では、第1のグループを示すグループ識別子として“1”が用いられており、第2のグループを示すグループ識別子として“2”が用いられている。
制御部110がファームウェア等にしたがって実行する処理の具体例としては、ノード装置10の上位の処理系からの要求に応じて通信メッセージを生成する処理や、入力端子NW1−inから受信した通信メッセージが削除対象であるか否かを判定する処理、削除対象である場合に当該通信メッセージを削除する処理、削除対象ではないと判定した場合に上記受信メッセージを出力端子NW2−outへ転送する処理、前述したタイマ同期処理、誤接続検知処理等が挙げられる。また、制御部110は、通信ポートNW1および通信ポートNW2の一方について接続先との通信の不通を検出した場合に、他方の通信ポートの入力端子と出力端子とを短絡して第1のデータ伝送経路D1と第2のデータ伝送経路D2を接続するループバックを行う。
誤接続検知処理は、通信ポートNW1および通信ポートNW2の少なくとも一方に新たにノード装置が接続されたことを契機として実行される処理である。本実施形態では、通信ポートNW1および通信ポートNW2の一方には他のノード装置が既に接続されており、他方に他のノード装置が新たに接続されたノード装置(以下、末端装置)では、図4(A)に示す誤接続検知処理が実行され、当該末端装置に接続されるノード装置(以下、接続対象装置)では図4(B)に示す処理が実行される。
本実施形態の通信システム1では、ノード装置10A〜10Eの何れかが脱落すると、当該脱落したノード装置を挟むノード装置において前述したループバックが実行される。例えば、ノード装置10Dが脱落したとすると、ノード装置10Cとノード装置10Eにおいてループバックが実行され、通信システム1におけるデータ伝送経路は図3(B)のようになる。図3(B)に示す状態からノード装置10Dの再接続が行われると、ノード装置10Cと10Eの各々では、上記再接続を契機として、図4(A)に示す誤接続検知処理が実行される。つまり、図3(B)に示す状態からノード装置10Dを再接続する場合では、ノード装置10Dが接続対象装置であり、ノード装置10Cと10Eの各々が末端装置である。なお、通信ポートNW1或いは通信ポートNW2への新たなノード装置の接続については、通信ポートNW1或いは通信ポートNW2を有する通信用LSIにより検知、すなわち物理層における接続の確認により検知しても良く、マスタ等の他のノード装置からの通知により検知しても良い。
図4(A)に示すように、誤接続検知処理では、制御部110は、まず、通信品質要求メッセージを接続対象装置へ送信する(ステップSA110)。通信品質要求メッセージとは、通信線を介して行われる通信の品質を示す通信品質情報を送信することを他方に対して要求する通信メッセージである。通信品質情報の具体例としては、例えば単位時間当たりのデータ誤り(ビット反転等)の発生率を示すデータや単位時間当たりのデータフレームの再送回数を示すデータが挙げられる。通信線を介して接続されたノード装置の一方から他方へ通信品質要求メッセージを送信し、他方のノード装置は、通信品質要求メッセージにより送信を要求された通信品質情報を書き込んだ通信品質応答メッセージを返信する。これにより、通信品質要求メッセージの送信元は、通信線を介して接続された他のノード装置との間の通信の品質を把握することができる。本実施形態では、この仕組みを利用して接続対象装置の誤接続が検知される。なお、図4(A)および図4(B)では、通信品質応答メッセージは「応答メッセージ」と略記されている。
接続対象装置の制御部110は、図4(B)に示すように、通信ポートNW1或いは通信ポートNW2を介して通信品質要求メッセージを受信すると(ステップSB110:Yes)、前述した通信品質応答メッセージを返信する(ステップSB120)。ただし、制御部110は、通信品質応答メッセージを返信する際に当該通信品質応答メッセージを送出する通信ポートの属するグループ識別子を自装置のグループ管理テーブルから取得し、そのグループ識別子を付与した通信品質応答メッセージを付与して送信する。ここで、通信品質応答メッセージにグループ識別子を付与するとは、当該メッセージを伝送するデータフレーム、すなわち、当該メッセージがペイロード部に書き込まれるデータフレームの所定領域に上記グループ識別子を書き込むことを言う。なお、グループ識別子の書き込み先となるデータ領域としては、データフレームのヘッダ部の予備領域などの空き領域を用いることが考えられる。
図4(A)に戻って、末端装置の制御部110は、通信ポートNW1或いは通信ポートNW2を介して通信品質応答メッセージを受信すると(ステップSA120:Yes)、当該メッセージの伝送に用いられたデータフレームを解析して誤接続の有無を判定する(ステップSA130)。より詳細に説明すると、このステップSA130では、制御部110は、通信品質応答メッセージを受信した通信ポートの属するグループのグループ識別子を自装置のグループ管理テーブルを参照して特定し、当該グループ識別子と通信品質応答メッセージに付与されているグループ識別子とが一致するか否かを判定する。
そして、制御部110は、両者が同じグループ識別子である場合には、誤接続と判定する。誤接続ではないと判定した場合(ステップSA130:No)、制御部110は、他方の通信ポートについてのループバックを解除する(ステップSA140)。このステップSA140では、接続対象装置へループバックの解除を指示するループバック解除メッセージを送信しても良い。脱落時に自動的にループバック状態に遷移させる場合があるからである。これに対して、誤接続であると判定した場合(ステップSA130:Yes)、制御部110は、誤接続を報知する処理を実行する(ステップSA150)。例えば、ビープ音や音声メッセージを出力する放音手段がノード装置10に設けられている場合には、当該放音手段からの放音により誤接続を報知するようにすれば良い。本実施形態では、誤接続と判定された場合には、ループバックの解除は行われない。このため、ノード装置が誤接続されたままの状態で当該ノード装置を宛先または送信元とする通信が再開されることを回避することができる。
以上が通信システム1の構成である。
このような構成としたため、図3(B)に示す状態からの復旧の際に図3(C)に示す誤接続が発生したとする。図3(C)に示す例では、ノード装置10Cの出力端子NW2−outとノード装置10Dの入力端子NW2−inが接続され、ノード装置10Cの入力端子NW2−inとノード装置10Dの入力端子NW2−outが接続されている。また、ノード装置10Eの出力端子NW1−outとノード装置10Dの入力端子NW1−inが接続され、ノード装置10Eの入力端子NW1−inとノード装置10Dの入力端子NW1−outが接続されている。
図3(C)に示す誤接続が発生した場合、ノード装置10Aからデータ伝送経路D1へ送信されたデータフレーム(例えば、特許文献1に開示の技術によるタイマ同期のためのデータフレーム)は、ノード装置10B〜10Eの各々の制御部110によって以下の順で処理される。まず、ノード装置10Bの制御部110によって処理され、データ伝送経路D1の下流側、すなわち、ノード装置10Cへ転送される。次いで、ノード装置10Cの制御部110によって処理され、データ伝送経路D1の下流側、すなわち、ノード装置10Dへ転送される。しかし、図3(C)に示す例では、ノード装置10Dでは上記データフレームは入力端子NW2−inを介して受信される。このため、ノード装置10Dでは、制御部110による処理を経ることなく、上記データフレームは出力端子NW1−outを介して出力される。
ノード装置10Dから転送されデータフレームは、ノード装置10Eにおいて入力端子NW1−inを介して受信され、制御部110による処理を経た後、出力端子NW2−outを介してノード装置10Aに転送される。ノード装置10Aではノード装置10Dから転送されたデータフレームを入力端子NW1−inを介して受信すると、当該データフレームを第2の伝送経路D2へループバックする。このようにして第2のデータ伝送経路D2へループバックされたデータフレームは、ノード装置10Eの入力端子NW2−in→ノード装置10Eの出力端子NW1−outを順に介してノード装置10Dへ転送される。ノード装置10Dでは、入力端子NW1−inを介して当該データフレームが受信され、制御部110による処理が実行される。つまり、図3(C)に示す誤接続が発生している状況下では、ノード装置10B〜10Eの各々における制御部110の処理順は、ノード装置10B→ノード装置10C→ノード装置10E→ノード装置10Dの順となり、誤接続が発生していない場合の処理順と異なる。特許文献1に開示のタイマ同期技術では、この処理順の相違に起因する不具合が発生するのである。
これに対して本実施形態では、例えば図3(C)に示すようにノード装置10Eと10Dが接続されたことを契機としてノード装置10Eにおいて前述した誤接続検知処理が実行される。ノード装置10Eからノード装置10Dへ通信品質要求メッセージが送信され(図4(A):ステップSA110)、ノード装置10Dからノード装置10Eへグループ識別子“1”を付与した通信品質応答メッセージが返信される(図4(B):ステップSB120)。ノード装置10Eの制御部110は、この通信品質応答メッセージは通信ポートNW1を介して受信し(ステップSA120:Yes)、誤接続の有無を判定する(ステップSA130)。通信ポートNW1の属するグループのグループ識別子は“1”であるから、ステップSA130の判定結果は“Yes”となり、前述した報知処理(図4(A:ステップSA150)が実行される。ネットワーク管理者は、この報知を通じて誤接続の発生を把握することができる。また、誤接続が解消されるまで、ノード装置10Cおよびノード装置10Eの各々におけるループバックが解除されることはないため、誤ったタイマ同期が為されることもない。
以上説明したように本実施形態によれば、2つの通信ポートを有し、何れの通信ポートによってデータフレームを受信したかによって異なる処理を実行するノード装置同士を接続する際の誤接続を検知することが可能になる。
(B:第2実施形態)
(B−1:構成)
図5(A)は本発明の第2実施形態による通信システム2の構成例を示す図である。通信システム2は、第1実施形態における通信システム1と同様、工場やプラントなどの産業施設内に敷設され、その産業施設における操業を支援するための制御システムである。図5(A)と図1とを対比すれば明らかなように、通信システム2と通信システム1の相違点は、ノード装置10A〜10Eに代えてノード装置20A〜20Eを設けた点である。以下では、ノード装置20A〜20Eの各々を区別する必要がない場合には「ノード装置20」と表記する。
ノード装置20は、第1実施形態におけるノード装置10と同様、電動機等の駆動制御を行うコントローラ、或いは各種センセとコントローラとの間のデータ通信を仲介する中継装置である。ノード装置20は、第1実施形態におけるノード装置10と同様にDCSであっても良いし、PLCであっても良い。ノード装置20は、第1実施形態におけるノード装置10と同様、記憶部100、制御部110、通信ポートNW1および通信ポートNW2を有する(図6(A)、図6(B)参照)。通信ポートNW1と通信ポートNW2の各々は、第1実施形態と同様、通信用LSIの入出力ポートであり、入力端子と出力端子を夫々1つずつ有する。ノード装置20A〜20Eの各々が有する通信ポートNW1と通信ポートNW2は、互いに異なるグループに予めグループ分けされている。この点も第1実施形態と同様である。
通信システム2では、図5(A)に示すように、リング型の物理トポロジに沿って互いに隣接する2つのノード装置20のうちの一方の出力端子NW2−outと他方の入力端子NW1−inとが接続されるとともに、上記一方の入力端子NW2−inと他方の出力端子NW1−outとが接続されるように、ノード装置20間の通信線が配線される。この点も上記第1実施形態と同様である。ノード装置20の誤接続が発生していない場合、通信システム2では、図5(B)にて実線で示す第1のデータ伝送経路D1と同点線で示す第2のデータ伝送経路D2が形成され、この点も第1実施形態と同様である。
第1実施形態のノード装置10は、図2に示すように、入力端子NW1−inを介して受信したデータフレームについては制御部110による処理を施した後に出力端子NW2−outから送出する一方、入力端子NW2−inを介して受信したデータフレームについては制御部110による処理を施さずに出力端子NW1−outから送出するといった動作を常に行った。これに対して、本実施形態のノード装置20は以下の動作モード1および動作モード2の2種類の動作モードを有し、動作モードの切り換えが可能な点が異なる。動作モード1は、第1実施形態におけるノード装置10と同じ動作モードである(図6(A)参照)。これに対して、動作モード2は、図6(B)に示すように、入力端子NW2−inを介して受信したデータフレームについては制御部110による処理を施した後に出力端子NW1−outから送出する一方、入力端子NW1−inを介して受信したデータフレームについては制御部110による処理を施さずに出力端子NW2−outから送出する動作モードである。
本実施形態では、図6(A)および図6(B)に示す2つの動作モードのうち動作モード1がノード装置20のデフォルトの動作モードである。本実施形態の特徴は、故障等により脱落したノード装置20の通信システム2への再接続の際に誤接続が発生した場合には、当該脱落したノード装置20(すなわち、第1実施形態における接続対象装置)の動作モードを動作モード1から動作モード2へ切り換えることにある。本実施形態によれば、このような動作モードの切り換えを行うことにより、通信線を正しく接続し直すといった復旧作業を行わなくても、データフレームの転送順が本来の転送順と異なるといった不具合の発生を回避することが可能になる。上記動作モードの切り換えを実現するため、ノード装置20の記憶部100には、前述したグループ管理テーブルおよびファームウェアの他に、自装置の動作モードを示す動作モード識別子が格納されている。
本実施形態では、末端装置が接続対象装置との通信品質を把握するための通信を利用して誤接続であるか否かの判断が行われ、この点は第1実施形態と同様である。以下、接続対象装置の制御部110と末端装置の制御部110の各々が、誤接続の検知およびその検知結果に応じた動作モードの設定を実現するためにファームウェア等にしたがって実行する処理について説明する。
図7(A)は、末端装置の制御部110がファームウェアにしたがって実行する処理(以下、通信品質取得処理)の流れを示すフローチャートである。通信品質取得処理の実行を開始する契機については、通信システム2におけるマスタからの指示に応じて当該通信品質取得処理を開始する態様であっても良く、また、通信ポートNW1と通信ポートNW2の一方に他のノード装置20が接続されている状況下で他方に新たにノード装置20が接続されたことを検出した場合に、当該新たなノード装置20を接続対象装置、自装置を末端装置と認識して通信品質取得処理を開始する態様であっても良い。
図7(A)と図4(A)とを対比すれば明らかなように、通信品質取得処理は、以下の2つの点が第1実施形態の誤接続検知処理と異なる。第1にステップSA110の処理に代えてステップSC110の処理を有する点である。このステップSC110の処理は、接続対象装置へ通信品質要求メッセージを送信する処理という点では第1実施形態におけるステップSA110の処理と同一である。ステップSC110では、制御部110は、通信品質要求メッセージを送出する通信ポートの属するグループを示すグループ識別子に加えて自装置の動作モードを示す動作モード識別子(すなわち、自装置の記憶部100に記憶されている動作モード識別子)を付与して通信品質要求メッセージを送信する。このように、ステップSC110の処理は、グループ識別子の他に動作モード識別子を付与して通信品質要求メッセージを送信する点がステップSA110の処理と異なる。
本実施形態の通信品質要求処理と第1実施形態における誤接続検知処理の相違点の2つ目は、通信品質要求処理は、誤接続であるか否かの判断ステップ(図4(A):ステップSA130)を含まず、ステップSA120の判定結果が“Yes”である場合には無条件に、すなわち、誤接続が発生しているか否かを問わずにループバック解除(ステップSA140)を行って、通信品質取得処理を終了する点である。このように末端装置側で誤接続であるか否かの判断を行わないのは、仮に誤接続が発生していたとしても、本実施形態では接続対象装置における動作モードの切り換えにより対処可能であり、末端装置側で特段の対処を行う必要はないからである。
次いで、接続対象装置の制御部110が実行する動作モード設定処理について説明する。図7(B)は動作モード設定処理の流れを示すフローチャートである。図7(B)と図4(B)とを対比すれば明らかなように、本実施形態の動作モード設定処理はステップSB110の判定結果が“Yes”である場合に、ステップSB120の処理の代わりにステップSD120以降の処理が行われる点が図4(B)に示す処理と異なる。ステップSD120では、制御部110は、受信した通信品質要求メッセージに付与されているグループ識別子と動作モード識別子とを参照して誤接続であるか否かを判定する。より詳細に説明すると、制御部110は、以下の(条件1)と(条件2)の何れかに合致する場合に誤接続と判定する。
(条件1)通信品質要求メッセージを受信した通信ポートの属するグループと当該メッセージに付与されているグループ識別子の示すグループとが同じであり、かつ当該メッセージに付与されている動作モード識別子が動作モード1を示すこと
(条件2)通信品質要求メッセージを受信した通信ポートの属するグループと当該メッセージに付与されているグループ識別子の示すグループとが異なり、かつ当該メッセージに付与されている動作モード識別子が動作モード2を示すこと
上記(条件1)と(条件2)のうち、(条件1)は、メッセージの送信元における動作モードに関する条件を含む点を除いて第1実施形態のステップSA130における誤接続の判定条件と同一である。本実施形態では、通信品質要求メッセージの送信元である末端装置の動作モードが動作モード1であるとは限らないため、末端装置における動作モードに関する条件が加えられている。そして、末端装置の動作モードが動作モード2である場合の誤接続に対処するため、制御部110は、(条件2)に合致する場合も誤接続と判定する。
ステップSD120の判定結果が“Yes”である場合、すなわち、誤接続と判定した場合には、制御部110は、自装置の動作モードを動作モード2に設定するとともに通信品質応答メッセージを返信し(ステップSD130)、動作モード設定処理を終了する。逆に、ステップSD120の判定結果が“No”である場合、すなわち、誤接続ではないと判定した場合には、制御部110は、自装置の動作モードを動作モード1に設定し、さらに通信品質応答メッセージを返信して(ステップSD140)、動作モード設定処理を終了する。なお、ノード装置20の電源投入またはリセット時にデフォルトの動作モードが初期設定される場合には、上記ステップSD140では通信品質応答メッセージの返信のみを行えば良い。
以上が本実施形態の構成である。
(B−2:動作)
次いで、ノード装置20A〜20Eの各々が動作モード1で動作している状態(図5(B)参照)から、通信線の断線等によりノード装置20Dが脱落した場合(図8(A)参照)を例に取って、当該脱落したノード装置20Dを通信システム2へ再接続する際の動作について説明する。
(B−2−1:動作例1)
図8(A)に示す状態ではノード装置20Cとノード装置20Eが末端装置であり、ノード装置20Dが接続対象装置である。図8(A)に示す状態から接続対象装置を通信システム2に再接続するには、接続対象装置の通信ポートと末端装置の通信ポートとを新たな通信線により接続する必要がある。以下では、まず、ノード装置20Dの通信ポートNW2とノード装置20Eの通信ポートNW1とが通信線により接続され、ノード装置20Dの通信ポートNW1とノード装置20Cの通信ポートNW2とが通信線により接続された場合の動作について説明する。
ノード装置20Cの制御部110は、通信ポートNW2への新たなノード装置の接続を検知したこと等を契機として前述した通信品質取得処理の実行を開始し、通信品質要求メッセージに自装置の動作モード(すなわち、動作モード1)を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与して接続対象装置へ送信する(図7(A):ステップSC110)。接続対象装置(すなわち、ノード装置20D)の制御部110は、上記通信品質要求メッセージを通信ポートNW1の入力端子NW1_inを介して受信し(図7(B):ステップSB110:Yes)、ステップSD120の処理を実行する。本動作例では、ノード装置20Dの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与された通信品質要求メッセージを通信ポートNW1の入力端子NW1_inを介して受信しており、これは前述した(条件1)と(条件2)の何れにも合致しない。このため、ステップSD120の判定結果は“No”となり、ステップSD140の処理が実行される。つまり、ノード装置20Dの動作モードは、動作モード1に設定される。
以上の動作が為される結果、通信システム2は、図8(B)に示す状態となり、ノード装置20Dの脱落が発生する前の状態(図5(B)参照)に復帰する。なお、本動作例では、ノード装置20Cから送信された通信品質要求メッセージを受信した場合のノード装置20Dの動作について説明したが、ノード装置20Eから送信された通信品質要求メッセージを受信した場合のノード装置20Dの動作も上記と同様である。ノード装置20Eの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW1の属するグループを示すグループ識別子とを付与した通信品質要求メッセージを送信する一方、ノード装置20Dの制御部110は当該メッセージを通信ポートNW2の入力端子NW2_inを介して受信する。このため、ステップSD120の判定結果は“No”となって、やはりステップSD140の処理が実行されるからである。したがって、ノード装置20Dが、ノード装置20Cから送信された通信品質要求メッセージを受信した後にノード装置20Eから送信された通信品質要求メッセージを受信(或いは逆順に受信)したとしても特段の問題は生じない。
(B−2−2:動作例2)
次いで、ノード装置20Dの通信ポートNW1とノード装置20Eの通信ポートNW1とが通信線により接続され、ノード装置20Dの通信ポートNW2とノード装置20Cの通信ポートNW2とが通信線により接続された場合の動作について説明する。
この場合も、ノード装置20Cの制御部110は、通信ポートNW2への新たなノード装置の接続を検知したこと等を契機として前述した通信品質取得処理の実行を開始し、通信品質要求メッセージに自装置の動作モード(すなわち、動作モード1)を示す動作モード識別子と通信ポートNW2の属するグループ示すグループ識別子とを付与して接続対象装置へ送信する(図7(A):ステップSC110)。ノード装置20Dの制御部110は、上記通信品質要求メッセージを通信ポートNW2の入力端子NW2_inを介して受信する。本動作例では、ノード装置20Dの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与された通信品質要求メッセージを通信ポートNW2を介して受信しており、これは前述した(条件1)に合致する。このため、ステップSD120の判定結果は“Yes”となり、ステップSD130の処理が実行される。すなわち、ノード装置20Dの動作モードは動作モード2に設定される。
以上の動作が為される結果、通信システム2は、図8(C)に示す状態となる。なお、本動作例では、ノード装置20Cから送信された通信品質要求メッセージを受信した場合のノード装置20Dの動作について説明したが、ノード装置20Eから送信された通信品質要求メッセージを受信した場合のノード装置20Dの動作も上記と同様である。ノード装置20Eの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW1の属するグループを示すグループ識別子とを付与した通信品質要求メッセージを送信する一方、ノード装置20Dの制御部110は当該メッセージを通信ポートNW1の入力端子NW1_inを介して受信し、これは(条件1)に合致する。このためステップSD120の判定結果は“Yes”となって、やはりステップSD130の処理が実行されるからである。
通信システム2が図8(C)に示す状態となっている状況下でノード装置20Aから他のノード装置20の各々に何らかの処理の実行を要求するデータフレーム(例えば、特許文献1に開示の技術によるタイマ同期のためのデータフレーム)がデータ伝送経路D1へ送出されたとする。データ伝送経路D1にてノード装置20Aの下流側に位置するノード装置20Bは当該データフレームを入力端子NW1−inを介して受信する。ノード装置20Bの動作モードは動作モード1であるため、上記データフレームはノード装置20Bの制御部110による処理を経てデータ伝送経路D1の下流側、すなわち、ノード装置20Cへ転送される。ノード装置20Cにおいても同様に上記データフレームは当該ノード装置20Cの制御部110による処を経てデータ伝送経路D1の下流側、すなわち、ノード装置20Dへ転送される。
図8(C)に示す例では、ノード装置20Dは上記データフレームを入力端子NW2−inを介して受信するのであるが、ノード装置20Dの動作モードは動作モード2であるため、当該データフレームはノード装置20Dの制御部110による処理を経て出力端子NW1−outを介して送出される。ノード装置20Dの下流に位置するノード装置20Bは、ノード装置20Bやノード装置20Cと同様に上記データフレームを入力端子NW1−inを介して受信し、制御部110による処理を施した後にノード装置20Aへ転送する。このように、ノード装置20B〜20Eの各々における制御部110の処理順は、ノード装置20B→ノード装置20C→ノード装置20D→ノード装置20Eの順、すなわち誤接続が発生していない場合の処理順となり、何ら問題は生じない。
(B−2−3:動作例3)
次いで、図8(C)に示す状態から、図9(A)に示すようにノード装置20Cが脱落した場合を例に取って、当該脱落したノード装置20Cを通信システム2へ再接続する際の動作について説明する。図9(A)に示す状態からノード装置20Cを通信システム2へ再接続する際には、ノード装置20Cが接続対象装置となり、ノード装置20Bおよびノード装置20Dが末端装置となる。本動作例は、2つの末端装置のうちの1つ(すなわち、ノード装置20D)が動作モード2で動作している点が動作例1や動作例2と異なる。以下では、まず、ノード装置20Dの通信ポートNW2とノード装置20Cの通信ポートNW2とが通信線で接続され、ノード装置20Bの通信ポートNW2とノード装置20Cの通信ポートNW1とが通信で接続された場合の動作について説明する。
ノード装置20Dの制御部110は、通信ポートNW2への新たなノード装置の接続を検知したこと等を契機として前述した通信品質取得処理の実行を開始し、通信品質要求メッセージに自装置の動作モード(すなわち、動作モード2)を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与して接続対象装置(すなわち、ノード装置20C)へ送信する(図7(A):ステップSC110)。ノード装置20Cの制御部110は、上記通信品質要求メッセージを通信ポートNW2の入力端子NW2_inを介して受信する。本動作例では、ノード装置20Cの制御部110は、動作モード2を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与された通信品質要求メッセージを通信ポートNW2の入力端子NW2_inを介して受信し、これは前述した(条件1)と(条件2)の何れにも合致しない。このため、本動作例においてノード装置20Cが実行する動作モード設定処理のステップSD120の判定結果は“No”となり、ステップSD140の処理が実行される。すなわち、ノード装置20Cの動作モードは動作モード1に設定される。
以上の動作が為される結果、通信システム2は、図9(B)に示す状態となり、ノード装置20Dの脱落が発生する前の状態(図8(C)参照)に復帰する。なお、本動作例では、ノード装置20Dから送信された通信品質要求メッセージを受信した場合のノード装置20Cの動作について説明したが、ノード装置20Bから送信された通信品質要求メッセージを受信した場合のノード装置20Cの動作も上記と同様であり、前者の通信メッセージを受信した後に後者の通信メッセージを受信(或いは逆順に受信)したとしても特段の問題は生じない。ノード装置20Bの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与した通信品質要求メッセージを送信する一方、ノード装置20Cの制御部110は当該メッセージを通信ポートNW1の入力端子NW1_inを介して受信する。このため、ステップSD120の判定結果は“No”となって、やはりステップSD140の処理が実行されるからである。
(B−2−4:動作例4)
次いで、ノード装置20Dの通信ポートNW2とノード装置20Cの通信ポートNW1とが接続され、ノード装置20Bの通信ポートNW2とノード装置20Cの通信ポートNW2とが接続された場合の動作について説明する。
この場合、ノード装置20Cの制御部110は、ノード装置20Dから送信された通信品質要求メッセージを通信ポートNW1の入力端子NW1_inを介して受信する。本動作例では、ノード装置20Cの制御部110は、動作モード2を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与された通信品質要求メッセージを通信ポートNW1を介して受信しており、これは前述した(条件2)に合致する。このため、ステップSD120の判定結果は“Yes”となり、ノード装置20Cの動作モードは動作モード2に設定される(図7(B):ステップSD130)。
以上の動作が為される結果、通信システム2は、図9(C)に示す状態となる。なお、本動作例では、ノード装置20Dから送信された通信品質要求メッセージを受信した場合のノード装置20Cの動作について説明したが、ノード装置20Bから送信された通信品質要求メッセージを受信した場合のノード装置20Cの動作も上記と同様であり、前者の通信メッセージを受信した後に後者の通信メッセージを受信(或いは逆順に受信)したとしても特段の問題は生じない。ノード装置20Bの制御部110は、動作モード1を示す動作モード識別子と通信ポートNW2の属するグループを示すグループ識別子とを付与した通信品質要求メッセージを送信する一方、ノード装置20Cの制御部110は当該メッセージを通信ポートNW2の入力端子NW2_inを介して受信し、これは前述の条件(1)に合致する。このため、ステップSD120の判定結果は“Yes”となって、やはりステップSD130の処理が実行されるからである。
通信システム2が図9(C)に示す状態となっている状況下でノード装置20Aから他のノード装置20の各々に何らかの処理の実行を要求するデータフレームがデータ伝送経路D1へ送出されたとする。この場合のノード装置20Bの動作は動作例2における動作と同一である。ノード装置20Cは上記データフレームを入力端子NW2−inを介して受信するのであるが、ノード装置20Cの動作モードは動作モード2であるため、当該データフレームはノード装置20Cの制御部110による処理を経て出力端子NW1−outを介して送出される。同様に、ノード装置20Dは上記データフレームを入力端子NW2−inを介して受信するのであるが、ノード装置20Dの動作モードも動作モード2であるため、当該データフレームはノード装置20Dの制御部110による処理を経て出力端子NW1−outを介して送出される。ノード装置20Dの下流に位置するノード装置20Eの動作は動作例2における動作と同一である。つまり、本動作例においても、ノード装置20B〜20Eの各々における制御部110の処理順は、ノード装置20B→ノード装置20C→ノード装置20D→ノード装置20Eの順、すなわち誤接続が発生していない場合の処理順となり、何ら問題は生じない。
以上、本実施形態の動作例1〜動作例4について説明したが、本実施形態における接続対象装置の動作モードの設定パターンは、接続対象装置とその接続先となる末端装置とにおいて接続に使用される通信ポート、および末端装置における動作モードの組み合わせに応じて図10に示す8つのパターンに分類される。本実施形態によれば、接続対象装置を末端装置へ再接続する際に誤接続が発生したとしても、通信線を正しく接続し直すなどの復旧処理を行うことなく、何らの問題を発生させることなく通信システム2の動作を継続させることが可能になる。
(C:変形)
以上本発明の第1および第2実施形態について説明したが、これら実施形態に以下の変形を加えても勿論良い。
(1)上記第1実施形態では、通信システム1の物理トポロジはリング型であったが、バス型であっても良い。また、通信システム1に含まれるノード装置の数は2〜4或いは6台以上であっても良い。第2実施形態についても同様に通信システム2の物理トポロジはバス型であっても良く、通信システム2に2〜4或いは6台以上のノード装置が含まれても良い。また、上記第1および第2実施形態では、通信システムに含まれていた複数のノード装置のうちの1つが脱落した状態から当該脱落したノード装置を再接続する場合について説明したが、リング型或いはバス型の物理トポロジに接続された複数のノード装置を有する通信システムに、新たなノード装置を接続する場合の誤接続の検知についても同様に行える。また、上記第1および第2実施形態では、制御システムへの本発明の適用例を説明したが、リング型或いはバス型の物理トポロジに接続される複数のノード装置を有する事務処理系の通信システムに本発明を適用しても良い。要は、リング型或いはバス型の物理トポロジに接続される複数のノード装置を有する通信システムであれば、本発明を適用することでノード装置の誤接続の有無を判定できるようになる。
(2)上記第1実施形態のノード装置10は、制御部110により誤接続と判定した場合にその判定結果を報知する報知手段を有していたが、報知手段による報知を省略しても良く、報知手段を省略しても良い。また、報知手段による報知或いは報知手段を省略するのではなく、誤接続がないと判定した場合のループバックの解除を省略しても良い。また、上記第1および第2実施形態では、通信品質応答メッセージを伝送するデータフレームに当該データフレームを送出する通信ポートの属するグループのグループ識別子を付与したが、例えばARPパケットを内包したデータフレームに上記グループ識別子を付与しても良い。このような態様によれば、ARPの仕組みを利用して誤接続の検知を行うことが可能になる。
(3)上記第1実施形態では、新たなノード装置の接続を検知した末端装置に通信品質要求メッセージを送信させた。しかし、接続対象装置の制御部110に以下の処理を行わせても良い。すなわち、第1および第2の通信ポートの各々について、他のノード装置への接続を検知したことを契機として、送信元の通信ポートのグループ識別子を付与したデータフレームを当該他のノード装置へ送信する処理を上記接続対象装置の制御部110に行わせるのである。末端装置の制御部110は、当該データフレームに付与されている識別子の示すグループが当該データフレームを受信した通信ポートの属するグループと同じであれば誤接続と判定できるからである。
(4)上記第1実施形態では、ノード装置10A〜10Eの各々の記憶部100に、自装置の通信ポートNW1および通信ポートNW2の各々のハードウェア識別子とグループ識別子とを対応付けて格納したグループ管理テーブルを予め記憶させておいた。しかし、グループ管理テーブルの格納内容はこれに限定されるものではない。例えば、ハードウェア識別子としてMACアドレスとポート番号の組を用いるとともに、第1のグループに属する各通信ポートのハードウェア識別子を格納した第1のテーブルと第2のグループに属する各通信ポートのハードウェア識別子を格納した第2のテーブルとを各ノード装置10の記憶部100に記憶させておいても良い。この場合、ノード装置間で送受信されるデータフレームの送信元アドレスおよび送信元ポート番号がその送信元の通信ポートの属するグループを示すグループ識別子の役割を果たすこととなる。第2実施形態についても同様である。
(5)上記第1実施形態では、本発明の特徴を顕著に示す誤接続検知処理を制御部110に実行させるプログラムがノード装置10に予め記憶されていたが、CD−ROM(Compact Disk-Read Only Memory)やフラッシュメモリなどのコンピュータ読み取り可能な記録媒体に上記プログラムを書き込んで配布しても良く、また、インターネットなどの電気通信回線経由のダウンロードにより上記プログラムを配布しても良い。このようにして配布されるプログラムにしたがって一般的なノード装置の制御部を作動させることで、本発明のノード装置として機能させることが可能になるからである。第2実施形態についても同様である。