(57)【特許請求の範囲】
【請求項１】
通信ネットワークを形成する通信装置であって、
他の通信装置との通信経路を設定する場合に通信経路の探索用のフレームである探索フレームを生成するとともに、前記探索フレームを他の通信装置へ送信し、前記探索フレームが他の通信装置を経由して自己に戻るまでの情報に基づき、他の通信装置の各々との伝送遅延時間が最短となる通信経路を選択し、
前記探索フレームを生成する際、前記探索フレームに自分の識別情報および探索フレームを送信するポートの情報を含ませ、他の通信装置で生成された探索フレームを受信した場合には、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を、受信した前記探索フレームに追加して転送し、
前記探索フレームを受信したポートの他に動作中のポートが存在する場合は動作中のポートの各々から、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を追加した後の前記探索フレームを送信し、前記探索フレームを受信したポートの他に動作中のポートが存在しない場合は前記探索フレームを受信したポートから、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を追加した後の前記探索フレームを送信する、
ことを特徴とする通信装置。
【請求項２】
前記他の通信装置へ送信した探索フレームの応答フレームに含まれる情報を記憶する情報記憶部と、
前記情報記憶部が記憶している前記情報を解析して、他の通信装置の各々との伝送遅延時間が最短となるよう前記通信ネットワークの全体構成を特定する情報解析部と、
を備えることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記通信ネットワークの全体構成に基づいて、前記他の通信装置の各々との通信経路がツリー構造となるように前記通信ネットワーク内の通信経路を選択する経路選択部、
を備えることを特徴とする請求項２に記載の通信装置。
【請求項４】
マスタの通信装置であるマスタ装置およびスレーブの通信装置であるスレーブ装置により形成される通信ネットワークであって、
前記マスタ装置は、通信経路の探索用のフレームである探索フレームに対して自分の識別情報および探索フレームを送信するポートの情報を含ませて前記スレーブ装置へ送信し、
前記スレーブ装置は、前記探索フレームを受信すると、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を前記受信した探索フレームに追加して転送し、
前記スレーブ装置は、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を前記受信した探索フレームに追加して転送用の探索フレームとし、前記探索フレームを受信したポートの他に動作中のポートが存在する場合は動作中のポートの各々から前記転送用の探索フレームを送信し、前記探索フレームを受信したポートの他に動作中のポートが存在しない場合は前記探索フレームを受信したポートから前記転送用の探索フレームを送信する、
ことを特徴とする通信ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ネットワークを形成する通信装置および通信ネットワークに関する。
【背景技術】
【０００２】
産業用ネットワークを含む様々な通信ネットワークは、通信ネットワークを形成する通信装置同士の接続形態に応じていくつかの種類に分類することができる。代表的なものとして、バス型、スター型、ツリー型、リング型、メッシュ型などの通信ネットワークが存在する。【０００３】
これらの通信ネットワークのうち、メッシュ型の通信ネットワークは、ネットワークを形成する通信装置同士の通信経路を柔軟に選択することが可能であり、通信経路を選択する方法として様々な方法が提案されている。例えば、特許文献１には、メッシュ型の通信ネットワークを適用してセンサーネットワークを実現する場合の経路選択の方法が記載されている。
【０００４】
また、通信ネットワークにおいては、ループ状の経路が設定されないように通信経路を選択する必要がある。ループ状の経路が設定されないようにするための通信プロトコルとしてはスパニングツリープロトコル（ＳＴＰ：Spanning  Tree  Protocol）が存在する。ＳＴＰは、物理的な構成がループ型またはメッシュ型の通信ネットワークにおいて論理的なツリー構造のネットワークを生成する。具体的には、ＳＴＰでは、通信ネットワーク内で起点となる通信装置から、これに接続される通信装置への通信速度別のパスコストの合計であるルートパスコストを計算し、ルートパスコストが最小となる経路を選択する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２１７１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
産業用ネットワークは、一般的に、制御装置に接続された通信装置と、被制御装置である産業用機器に接続された通信装置とにより構成される。制御装置に接続された通信装置はマスタの通信装置などと呼ばれることがあり、産業用機器に接続された通信装置はスレーブの通信装置などと呼ばれることがある。なお、制御装置および産業用機器が通信装置としての機能を有する場合がある。この場合、制御装置がマスタの通信装置に相当し、産業用機器がスレーブの通信装置に相当する。【０００７】
このような産業用ネットワークをメッシュ型の通信ネットワークを利用して実現する場合、産業用機器の高精度な制御を実現するためには、マスタの通信装置が各スレーブの通信装置までの通信経路の情報を収集してネットワーク全体の構成を把握し、選択可能な複数の通信経路の中から制御用の通信に適した経路を選択する必要がある。【０００８】
しかしながら、ＳＴＰを使用して経路選択を行う場合、ツリー構造の通信経路を選択することは可能であるが、マスタの通信装置が各スレーブの通信装置までの通信経路の情報を収集することができず、ネットワークの全体構成を把握することができない。すなわち、マスタの通信装置は、選択可能な通信経路が複数存在する場合に、それらを知ることができない。そのため、産業用ネットワークに適した通信経路の選択が保証されないという問題があった。【０００９】
本発明は、上記に鑑みてなされたものであって、産業用ネットワークに適した通信経路を選択することが可能な通信装置を得ることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、通信ネットワークを形成する通信装置であり、他の通信装置との通信経路を設定する場合に通信経路の探索用のフレームである探索フレームを生成するとともに、探索フレームを他の通信装置へ送信し、探索フレームが他の通信装置を経由して自己に戻るまでの情報に基づき、他の通信装置の各々との伝送遅延時間が最短となる通信経路を選択し、探索フレームを生成する際、探索フレームに自分の識別情報および探索フレームを送信するポートの情報を含ませ、他の通信装置で生成された探索フレームを受信した場合には、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を、受信した探索フレームに追加して転送し、探索フレームを受信したポートの他に動作中のポートが存在する場合は動作中のポートの各々から、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を追加した後の探索フレームを送信し、探索フレームを受信したポートの他に動作中のポートが存在しない場合は探索フレームを受信したポートから、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を追加した後の探索フレームを送信する。
【発明の効果】
【００１１】
本発明にかかる通信装置は、産業用ネットワークに適した通信経路を選択することができる、という効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】本発明にかかる通信装置のイメージ図
【図２】本発明にかかる通信装置の構成例を示す図
【図３】通信装置が適用される通信ネットワークの構成例を示す図
【図４】探索フレームに含まれる情報の構成例を示す図
【図５】転送された後の探索フレームに含まれる情報の一例を示す図
【図６】転送された後の探索フレームに含まれる情報の他の例を示す図
【図７】本発明にかかる通信装置が経路探索を行う動作を示すフローチャート
【図８】探索フレームの送信元の通信装置の動作を示す図
【図９】図８に示した各探索フレームを受信した通信装置の動作を示す図
【図１０】図９に示した各探索フレームを受信した通信装置の動作を示す図
【図１１】図１０に示した探索フレームを受信した通信装置の動作を示す第１の図
【図１２】図１０に示した探索フレームを受信した通信装置の動作を示す第２の図
【図１３】図１１に示した探索フレームを受信した通信装置の動作を示す第１の図
【図１４】図１１に示した探索フレームを受信した通信装置の動作を示す第２の図
【図１５】経路探索動作で収集された、選択可能な経路の情報の例を示す図
【図１６】伝送遅延時間の計測を行う第１の通信経路を示す図
【図１７】伝送遅延時間の計測を行う第２の通信経路を示す図
【図１８】伝送遅延時間の計測を行う第３の通信経路を示す図
【図１９】伝送遅延時間の計測を行う第４の通信経路を示す図
【図２０】伝送遅延時間の計測を行う第５の通信経路を示す図
【図２１】伝送遅延時間の計測を行う第６の通信経路を示す図
【図２２】伝送遅延時間の計測結果の一例を示す図
【図２３】図２２に示した計測結果に基づいて選択された経路を示す図
【図２４】通信装置を実現するハードウェアの構成例を示す図
【図２５】通信装置を実現するハードウェアの他の構成例を示す図
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態にかかる通信装置および通信ネットワークを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
実施の形態．
図１は、本発明にかかる通信装置のイメージ図である。本発明にかかる通信装置２００は、通信ポートである複数の送受信ポート１〜４を備える。図１に示した「Ａ」は通信装置２００の識別情報である。なお、送受信ポートの数を４に限定するものではないが、以下の説明では、通信装置が備えている送受信ポートの数を４とする。また、４つの送受信ポートをＰ1〜Ｐ4とする。通信装置２００は産業用ネットワークを形成する。
【００１５】
図２は、本発明にかかる通信装置の構成例を示す図である。通信装置２００は、送受信ポート２１１〜２１４、送信部２２１〜２２４、受信部２２５〜２２８、受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２、タイマ管理部２３３および情報記憶部２３４を備える。
【００１６】
送受信ポート２１１〜２１４は、図１に示した送受信ポート１〜４にそれぞれ対応する。各送受信ポート２１１〜２１４は、接続されている通信路へフレームを出力するとともに、通信路からフレームを受け取る。
【００１７】
送信部２２１〜２２４は、送信フレーム生成部２３１から入力されたフレームを他の通信装置へ送信する。
【００１８】
受信部２２５〜２２８は、他の通信装置が送信したフレームを受信し、受信したフレームを受信フレーム解析部２３０へ出力する。
【００１９】
受信フレーム解析部２３０は、ルーティング解析部２４１、同期精度解析部２４２および構成探索解析部２４３を備える。
【００２０】
ルーティング解析部２４１は、通常動作中に受信部２２５〜２２８から受け取ったフレームが、受信すべきフレームか、転送すべきフレームか、破棄すべきフレームかを判断する。通常動作中とは、産業用ネットワークを形成する他の通信装置との間の通信経路の設定が完了しており、設定済みの通信経路を介してフレームを送受信することが可能な状態である。受け取ったフレームが受信すべきフレームの場合、ルーティング解析部２４１は、フレームから情報を取り出して情報記憶部２３４へ出力し、情報記憶部２３４がこれを記憶する。受け取ったフレームが転送すべきフレームの場合、ルーティング解析部２４１は、フレームを送信フレーム生成部２３１の後述するフレーム転送部２５２へ出力する。この場合、ルーティング解析部２４１が出力したフレームは、フレーム転送部２５２により他の通信装置へ転送される。受け取ったフレームが破棄すべきフレームの場合、ルーティング解析部２４１は、フレームを破棄する。
【００２１】
同期精度解析部２４２は、ある通信装置までの通信経路が複数存在する場合に、各通信経路を使用してフレームを送信する場合の通信経路ごとの伝送遅延時間および伝送遅延時間の揺らぎを測定する。同期精度解析部２４２は、例えば、文献「国際公開第２０１５／１６２７６３号」に記載されている方法を使用して伝送遅延時間および揺らぎを測定する。
【００２２】
構成探索解析部２４３は、後述する送信フレーム生成部２３１のフレーム生成部２５１により生成される通信経路の探索用のフレームに対する応答フレームを他の通信装置から受信すると、受信した応答フレームを解析し、応答フレームが送信されてきた経路を特定する。
【００２３】
送信フレーム生成部２３１は、フレーム生成部２５１およびフレーム転送部２５２を備える。
【００２４】
フレーム生成部２５１は、他の通信装置へ送信するフレームを生成する。他の通信装置へ送信するフレームとしては、通信経路の探索用のフレーム、通信経路の探索用のフレームに対する応答フレーム、などが該当する。
【００２５】
フレーム転送部２５２は、受信フレーム解析部２３０のルーティング解析部２４１で転送すべきフレームと判断されたフレームに対して転送処理を実行する。また、フレーム転送部２５２は、他の通信装置から受信した通信経路の探索用のフレームに対しても転送処理を実行する。
【００２６】
状態管理部２３２は、通信装置２００の動作状態、送受信ポート２１１〜２１４の各々の動作状態を管理する。通信装置２００の動作状態の種類としては、産業用ネットワークを形成している他の通信装置との間の通信経路を設定する動作を行う設定状態と、設定済みの通信経路を介してフレームを送受信して他の通信装置と通信を行う通常状態とがある。設定状態には、他の通信装置との間の通信経路を探索する動作を行う状態と、探索した通信経路の各々における伝送遅延を測定し、測定結果に基づいて通信経路の選択および設定を行う状態とが含まれる。送受信ポート２１１〜２１４の各々の動作状態は、各送受信ポートがフレームの送受信を行っているか否か、すなわち、各送受信ポートに他の通信装置が接続されているか否かを表す。各送受信ポートに他の通信装置が接続されているか否かの判別は、例えば、送信フレーム生成部２３１のフレーム生成部２５１が、他の通信装置の存在を確認するためのフレームを生成して各送受信ポートから送信することにより行う。送信したフレームに対する応答フレームを受信した送受信ポートには他の通信装置が接続されていることになり、この送受信ポートは動作中となる。一方、送信したフレームに対する応答フレームを受信しなかった送受信ポートには他の通信装置が接続されていないことになり、この送受信ポートは非動作中となる。
【００２７】
タイマ管理部２３３は、時間を計測するためのタイマを保持し、状態管理部２３２からの要求に応じて、時間情報を出力する。なお、状態管理部２３２以外の構成要素、例えば、受信フレーム解析部２３０からの要求に応じて時間情報を出力するようにしてもよい。
【００２８】
情報記憶部２３４は、他の通信装置から収集した情報など、通信装置２００が動作するために必要な各種情報を記憶する。
【００２９】
図３は、本実施の形態にかかる通信装置が適用される通信ネットワークの構成例を示す図である。図３では、通信ネットワークを形成する通信装置同士の物理的な接続関係を表している。図３に示した通信ネットワークは、本実施の形態にかかる通信装置である通信装置１１、２１、２２、２３および２４を含んで構成されている。通信装置１１、２１、２２、２３および２４は、図１に示した通信装置２００に相当する。図３に示したＡ〜Ｅは、通信装置１１、２１、２２、２３および２４の識別情報である。通信装置１１は、通信ネットワークにおいてマスタとして動作し、その他の通信装置２１〜２４は通信装置１１により制御されるスレーブとして動作する。以下の説明では、通信装置１１をマスタ装置１１と記載し、通信装置２１〜２４をスレーブ装置２１〜２４と記載する場合がある。通信ネットワークが産業用ネットワークの場合、マスタ装置１１は制御装置であり、たとえば、ＰＬＣ（Programmable  Logic  Controller）またはパーソナルコンピュータといった装置が該当する。スレーブ装置２１〜２４は、たとえば、ビジョンセンサまたは駆動装置といった装置が該当する。
【００３０】
図３に示した通信ネットワークにおいては、通信装置１１の送受信ポートＰ1と通信装置２３の送受信ポートＰ1とが通信線を介して接続され、通信装置１１の送受信ポートＰ3と通信装置２１の送受信ポートＰ1とが通信線を介して接続されている。また、通信装置２１の送受信ポートＰ2と通信装置２４の送受信ポートＰ4とが通信線を介して接続され、通信装置２１の送受信ポートＰ3と通信装置２２の送受信ポートＰ3とが通信線を介して接続されている。また、通信装置２１の送受信ポートＰ4と通信装置２３の送受信ポートＰ2とが通信線を介して接続され、通信装置２２の送受信ポートＰ1と通信装置２３の送受信ポートＰ3とが通信線を介して接続されている。
【００３１】
以下、図３に示した構成の通信ネットワークにおいてマスタ装置１１がスレーブ装置２１〜２４の各々までの通信経路を選択して設定する動作について、図面を参照しながら説明する。本実施の形態では、マスタ装置１１が、選択可能な経路を探索する動作（経路探索動作）と、マスタ装置１１が、探索した経路から使用する経路を選択する動作（経路選択動作）とに分けて説明を行う。なお、これ以降の説明においては、送受信ポートを単に「ポート」と記載する。
【００３２】
（経路探索動作）
まず、マスタ装置１１が、選択可能な経路を探索する動作について説明する。この動作について簡単に説明すると、マスタ装置１１は、通信経路の探索用のフレームである探索フレームを動作中のポートから送信し、探索フレームを受信したスレーブ装置２１〜２４は、探索フレームを受信したポートの他にも動作中のポートがあればそのポートから探索フレームを出力、すなわち転送する。また、スレーブ装置２１〜２４は、探索フレームを受信したポートの他に動作中のポートが無い場合、探索フレームを受信したポートから、探索フレームを出力する。このとき、マスタ装置１１は、自分の識別情報であるＩＤ（Identification）と、探索フレームを送信するポートの情報である送信ポート情報とを含んだ探索フレームを生成して動作中のポートから送信する。スレーブ装置２１〜２４は、自分のＩＤと、探索フレームを受信したポートの情報である受信ポート情報と、探索フレームを送信するポートの情報である送信ポート情報とを探索フレームに追加して転送する。ただし、スレーブ装置２１〜２４は、過去に転送した探索フレームを再度受信した場合など、一定の条件を満たしている探索フレームを受信した場合、自分のＩＤなどの上記情報を追加することなく転送する。この場合、スレーブ装置２１〜２４は、探索フレームが送信されてきた経路を逆方向に辿ってマスタ装置１１まで到達するよう、受信した探索フレームを転送する。また、マスタ装置１１は、自分が送信した探索フレームがスレーブ装置２１〜２４により転送されて戻ってきた場合、戻ってきた探索フレームに含まれているＩＤ、受信ポート情報および送信ポート情報を保持する。その後、マスタ装置１１は、保持しているＩＤ、受信ポート情報および送信ポート情報を解析して、選択可能な通信経路を特定する。以上の動作の詳細については具体例を挙げながら別途説明する。
【００３３】
ここで、探索フレームに含まれる情報について説明する。図４は、探索フレームに含まれる情報の構成例を示す図である。図４は、マスタ装置１１がスレーブ装置２３へ送信する探索フレームに含まれる情報の例を示している。図４に示したように、マスタ装置１１がスレーブ装置２３へ送信する探索フレームは、探索フレームを受信したポートを示す情報５と、マスタ装置１１のＩＤである識別情報６と、探索フレームを送信するポートを示す情報７と、を含む。探索フレームはマスタ装置１１の内部で生成されるため、探索フレームを受信したポートを示す情報５にはダミーデータとして‘０’が設定される。なお、情報５に‘０’を設定するのは一例であり、他の情報を設定してもよい。識別情報６にはマスタ装置１１を一意に表す‘Ａ’が設定される。情報７にはスレーブ装置２３が接続されているポートを表す‘Ｐ1’が設定される。情報５および情報７に設定する情報は、ポートが識別できる情報であればよく、数値を設定してもよい。なお、マスタ装置１１がスレーブ装置２１へ送信する探索フレームの場合、情報７には‘Ｐ3’が設定されることになる。探索フレーム構成は、図４に示した情報５、識別情報６および情報７に対してヘッダを付加したものとなる。ヘッダは、情報５の左側すなわち情報５の前に付加される。図４に示した構成は一例であり、探索フレームを送受信する通信装置、探索フレームを受信したポートおよび探索フレームを送信するポートが認識できる構成であればどのようなものでもよい。
【００３４】
図５は、スレーブ装置により転送された後の探索フレームに含まれる情報の一例を示す図である。図５は、マスタ装置１１から送信された後、スレーブ装置２３によりスレーブ装置２２へ転送された後の探索フレームに含まれる情報の例を示している。図５に示したように、スレーブ装置２３によりスレーブ装置２２へ転送された後の探索フレームは、図４に示した情報、すなわち、スレーブ装置２３が受信した探索フレームに含まれている情報‘０’，‘Ａ’，‘Ｐ1’に加えて、‘Ｐ1’，‘Ｄ’，‘Ｐ3’を含んでいる。‘Ｐ1’，‘Ｄ’，‘Ｐ3’はスレーブ装置２３が追加した情報である。‘Ｐ1’はスレーブ装置２３が探索フレームを受信したポートの情報、‘Ｄ’はスレーブ装置２３の識別情報、‘Ｐ3’はスレーブ装置２３が探索フレームを送信したポートの情報である。
【００３５】
図６は、スレーブ装置により転送された後の探索フレームに含まれる情報の他の例を示す図である。図６は、マスタ装置１１から送信された後、スレーブ装置２３を介してスレーブ装置２２で受信され、スレーブ装置２１へ転送された後の探索フレームに含まれる情報の例を示している。図６に示したように、スレーブ装置２２によりスレーブ装置２１へ転送された後の探索フレームは、図５に示した情報に加えて、‘Ｐ1’，‘Ｃ’，‘Ｐ3’を含んでいる。‘Ｐ1’，‘Ｃ’，‘Ｐ3’はスレーブ装置２２が追加した情報である。‘Ｐ1’はスレーブ装置２２が探索フレームを受信したポートの情報、‘Ｃ’はスレーブ装置２２の識別情報、‘Ｐ3’はスレーブ装置２２が探索フレームを送信したポートの情報である。
【００３６】
なお、マスタ装置１１においては、図２に示したフレーム生成部２５１が探索フレームの生成を行い、構成探索解析部２４３が、受信した探索フレームの解析を行う。また、フレーム転送部２５２が、受信した探索フレームの転送処理を行う。
【００３７】
図７は、本発明にかかる通信装置が経路探索を行う動作を示すフローチャートである。図３に示した通信装置１１、２１、２２、２３および２４は、経路探索を行う場合、図７に示したフローチャートに従って動作する。すなわち、各通信装置は、自分がマスタの通信装置かスレーブの通信装置かに関係なく、図７に示したフローチャートに従って動作する。図７では、探索フレームを単に「フレーム」と記載している。すなわち、図７に記載した「フレーム」は「探索フレーム」を意味する。
【００３８】
通信装置は、探索フレームを受信すると（ステップＳ１０）、探索フレームに含まれる情報を確認し、探索フレームに自分のＩＤが含まれている場合（ステップＳ１１：Ｙｅｓ）、自分のＩＤが２つ含まれているか否かを確認する（ステップＳ１２）。自分のＩＤが２つ含まれている場合（ステップＳ１２：Ｙｅｓ）、通信装置は、探索フレームに含まれている先頭のＩＤが自分のＩＤか否かを確認する（ステップＳ１３）。探索フレームに含まれている先頭のＩＤとは、探索フレームのヘッダに最も近い位置のＩＤであり、例えば、図５および図６に示した構成の情報が探索フレームに含まれている場合、‘Ａ’が先頭のＩＤに該当する。先頭のＩＤが自分のＩＤの場合（ステップＳ１３：Ｙｅｓ）、通信装置は、受信した探索フレームに含まれている情報を記憶する（ステップＳ１４）。なお、受信した探索フレームに含まれている情報は、図２に示した情報記憶部２３４が記憶する。
【００３９】
先頭のＩＤが自分のＩＤではない場合（ステップＳ１３：Ｎｏ）、通信装置は、受信した探索フレームを、当該探索フレームに含まれている２つの自分のＩＤのうち、先頭側の自分のＩＤのすぐ前の情報が示すポートから送信する（ステップＳ１５）。このステップＳ１５の処理は、ステップＳ１０で受信した探索フレームを、探索フレームを最初に受信したポートへ転送する処理である。
【００４０】
探索フレームに含まれている自分のＩＤが１つの場合（ステップＳ１２：Ｎｏ）、通信装置は、受信した探索フレームが、当該探索フレームに含まれている自分のＩＤのすぐ後ろの情報が示すポートから受信したものか否かを確認する（ステップＳ１６）。すなわち、自分のＩＤのすぐ後ろの情報が示すポートと探索フレームを受信したポートが同じか否かを確認する。受信した探索フレームが自分のＩＤのすぐ後ろの情報が示すポートから受信したものである場合（ステップＳ１６：Ｙｅｓ）、通信装置は、探索フレームに含まれている先頭のＩＤが自分のＩＤか否かを確認する（ステップＳ１７）。先頭のＩＤが自分のＩＤの場合（ステップＳ１７：Ｙｅｓ）、通信装置は、受信した探索フレームに含まれている情報を記憶する（ステップＳ１８）。
【００４１】
先頭のＩＤが自分のＩＤではない場合（ステップＳ１７：Ｎｏ）、通信装置は、受信した探索フレームを、自分のＩＤのすぐ前の情報が示すポートから送信する（ステップＳ１９）。このステップＳ１９の処理は、上述したステップＳ１５の処理と同様に、ステップＳ１０で受信した探索フレームを、探索フレームを最初に受信したポートへ転送する処理である。
【００４２】
受信した探索フレームが自分のＩＤのすぐ後ろの情報が示すポートから受信したものではない場合（ステップＳ１６：Ｎｏ）、通信装置は、受信した探索フレームに対して、探索フレームを受信したポートの情報、自分のＩＤおよび探索フレームを送信するポートの情報を付加して、当該探索フレームを受信したポートから送信する（ステップＳ２０）。このステップＳ２０の処理は、ステップＳ１０で受信した探索フレームに対して必要な情報を付加した後、受信したポートから送信すなわち返送する処理である。ステップＳ２０で送信する探索フレームは、ステップＳ１０で受信した探索フレームに対する応答フレームに該当する。応答フレームとは、受信した経路を逆方向に辿りながら中継される探索フレームであり、最終的には、探索フレームを最初に送信した通信装置まで到達するフレームである。
【００４３】
受信した探索フレームに自分のＩＤが含まれていない場合（ステップＳ１１：Ｎｏ）、通信装置は、探索フレームを受信したポート以外に動作中のポートがあるか否かを確認する（ステップＳ２１）。探索フレームを受信したポート以外に動作中のポートがある場合（ステップＳ２１：Ｙｅｓ）、通信装置は、受信した探索フレームに対して、探索フレームを受信したポートの情報、自分のＩＤおよび探索フレームを送信するポートの情報を付加して、当該探索フレームを受信したポート以外の動作中のポートから送信する（ステップＳ２２）。このとき、通信装置は、探索フレームを受信したポート以外の動作中のポートが複数存在する場合、全ての動作中のポート（探索フレームを受信したポートは除く）から探索フレームを送信する。
【００４４】
探索フレームを受信したポート以外に動作中のポートがない場合（ステップＳ２１：Ｎｏ）、通信装置は、受信した探索フレームに対して、探索フレームを受信したポートの情報、自分のＩＤおよび探索フレームを送信するポートの情報を付加して、当該探索フレームを受信したポートから送信する（ステップＳ２３）。このステップＳ２３で送信する探索フレームは、ステップＳ１０で受信した探索フレームに対する応答フレームに該当する。
【００４５】
つづいて、マスタ装置１１が、選択可能な経路を探索する動作の具体例を説明する。まず、マスタ装置１１は、通信経路の探索用のフレームである探索フレームを、動作中の各ポートから送信する。具体的には、図８に示したように、マスタ装置１１は、スレーブ装置２３が接続されているポートＰ1から探索フレームＦ１０１を送信し、スレーブ装置２１が接続されているポートＰ3から探索フレームＦ１０３を送信する。図８は、探索フレームの送信元の通信装置の動作を示す図である。なお、図８では、探索フレームのヘッダ等の記載は省略し、フレームに含まれている情報のみを記載している。この後の説明に出てくる図９以降の図についても同様である。図４を用いて説明したように、探索フレームＦ１０１には、情報‘０’，‘Ａ’，‘Ｐ1’が含まれる。同様に、探索フレームＦ１０３には、情報‘０’，‘Ａ’，‘Ｐ3’が含まれる。
【００４６】
図９は、図８に示した各探索フレームを受信した通信装置の動作を示す図である。探索フレームＦ１０１を受信したスレーブ装置２３および探索フレームＦ１０３を受信したスレーブ装置２１は、図９に示したように、受信した探索フレームを、受信したポート以外の動作中のポートから転送する。この処理は、図７に示したフローチャートのステップＳ２２の処理に相当する。
【００４７】
具体的には、スレーブ装置２３は、受信した探索フレームＦ１０１を、探索フレームＦ１０１２としてポートＰ2から転送するとともに、探索フレームＦ１０１３としてポートＰ3から転送する。探索フレームＦ１０１２は、探索フレームＦ１０１に含まれていた情報に加えて、受信ポートの情報‘Ｐ1’、スレーブ装置２３の識別情報‘Ｄ’および送信ポートの情報‘Ｐ2’を含む。探索フレームＦ１０１３は、探索フレームＦ１０１に含まれていた情報に加えて、受信ポートの情報‘Ｐ1’、スレーブ装置２３の識別情報‘Ｄ’および送信ポートの情報‘Ｐ3’を含む。同様に、スレーブ装置２１は、受信した探索フレームＦ１０３を、探索フレームＦ１０３２としてポートＰ2から転送するとともに、探索フレームＦ１０３３としてポートＰ3から転送する。スレーブ装置２１は、さらに、受信した探索フレームＦ１０３を、探索フレームＦ１０３４としてポートＰ4から転送する。探索フレームＦ１０３２は、探索フレームＦ１０３に含まれていた情報に加えて、受信ポートの情報‘Ｐ1’、スレーブ装置２１の識別情報‘Ｂ’および送信ポートの情報‘Ｐ2’を含む。探索フレームＦ１０３３は、探索フレームＦ１０３に含まれていた情報に加えて、受信ポートの情報‘Ｐ1’、スレーブ装置２１の識別情報‘Ｂ’および送信ポートの情報‘Ｐ3’を含む。探索フレームＦ１０３４は、探索フレームＦ１０３に含まれていた情報に加えて、受信ポートの情報‘Ｐ1’、スレーブ装置２１の識別情報‘Ｂ’および送信ポートの情報‘Ｐ4’を含む。
【００４８】
図１０は、図９に示した各探索フレームを受信した通信装置の動作を示す図である。
【００４９】
図１０に示した動作では、スレーブ装置２１、２２および２３は、図９に示した動作と同様の動作、すなわち、図７に示したフローチャートのステップＳ２２の処理に相当する処理を実行し、探索フレームを転送する。具体的には、スレーブ装置２１は、ポートＰ4で受信した探索フレームＦ１０１２を、探索フレームＦ１０１２１、Ｆ１０１２２およびＦ１０１２３として、それぞれをポートＰ1、ポートＰ2およびポートＰ3から転送する。スレーブ装置２２は、ポートＰ1で受信した探索フレームＦ１０１３を、探索フレームＦ１０１３３としてポートＰ3から転送するとともに、ポートＰ3で受信した探索フレームＦ１０３３を、探索フレームＦ１０３３１としてポートＰ1から転送する。スレーブ装置２３は、ポートＰ2で受信した探索フレームＦ１０３４を、探索フレームＦ１０３４１およびＦ１０３４３として、それぞれをポートＰ1およびポートＰ3から転送する。スレーブ装置２１、２２および２３が転送する探索フレームは、受信した時に含まれていた情報に加えて、受信ポートの情報、通信装置の識別情報および送信ポートの情報を含む。
【００５０】
スレーブ装置２３が転送した探索フレームＦ１０３４１は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０３４１を受信すると、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０３４１に含まれている情報‘０’，‘Ａ’，‘Ｐ3’，‘Ｐ1’，‘Ｂ’，‘Ｐ4’，‘Ｐ2’，‘Ｄ’，‘Ｐ1’を記憶する。この処理は、図７に示したフローチャートのステップＳ１８の処理に相当する。
【００５１】
一方、スレーブ装置２４には、探索フレームＦ１０３２を受信したポート以外に動作中のポートが存在しない。そのため、スレーブ装置２４は、探索フレームＦ１０３２を、受信したポートＰ4へ探索フレームＦ１０３２４として転送する。この場合にも、スレーブ装置２４は、受信ポートの情報、スレーブ装置２４の識別情報および送信ポートの情報を探索フレームＦ１０３２に追加してから、探索フレームＦ１０３２４として転送する。具体的には、スレーブ装置２４は、探索フレームＦ１０３２に対して、受信ポートの情報‘Ｐ4’、スレーブ装置２４の識別情報‘Ｅ’および送信ポートの情報‘Ｐ4’を追加し、探索フレームＦ１０３２４として転送する。図１０に示したスレーブ装置２４が実行する処理は、図７に示したフローチャートのステップＳ２３の処理に相当する。
【００５２】
スレーブ装置２４が送信した探索フレームＦ１０３２４はスレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０３２４を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０３２４を受信したポートＰ2と同じポートを示しているため、探索フレームＦ１０３２４を、自分のＩＤのすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２１は、受信した探索フレームＦ１０３２４に対して情報を追加することなく送信する。この処理は、図７に示したフローチャートのステップＳ１９の処理に相当する。この結果、スレーブ装置２１が送信した探索フレームＦ１０３２４はマスタ装置１１に到達する。マスタ装置１１は、探索フレームＦ１０３２４をポートＰ3で受信し、これに含まれている情報を確認する。マスタ装置１１は、探索フレームＦ１０３２４に自分のＩＤ‘Ａ’が１つ含まれ、かつ先頭のＩＤが自分のＩＤであることを認識する。また、自分のＩＤのすぐ後ろの受信ポート情報が‘Ｐ3’であり探索フレームＦ１０３２４を受信したポートＰ3を示しているがため、探索フレームＦ１０３２４に含まれている情報‘０’，‘Ａ’，‘Ｐ3’，‘Ｐ1’，‘Ｂ’，‘Ｐ2’，‘Ｐ4’，‘Ｅ’，‘Ｐ4’を記憶する。この処理は、図７に示したフローチャートのステップＳ１８の処理に相当する。
【００５３】
図１１は、図１０に示した探索フレームを受信した通信装置の動作を示す第１の図である。図１１では、図１０に示した探索フレームのうち、探索フレームＦ１０１２３、Ｆ１０１３３、Ｆ１０３３１およびＦ１０３４３を受信した通信装置の動作を示している。
【００５４】
図１０に示したように、探索フレームＦ１０１３３はスレーブ装置２１により受信され、探索フレームＦ１０３３１はスレーブ装置２３により受信される。探索フレームＦ１０１２３およびＦ１０３４３はスレーブ装置２２により受信される。
【００５５】
スレーブ装置２１、２２および２３は、それぞれ、受信した探索フレームに含まれている情報を確認し、受信した探索フレームには自分のＩＤが含まれていないと判断する。スレーブ装置２１、２２および２３は、各探索フレームを受信したポートの他にも動作中のポートを有している。そのため、スレーブ装置２１、２２および２３は、受信した探索フレームに受信ポートの情報、自分の識別情報および送信ポートの情報を追加し、探索フレームを受信したポート以外の動作中のポートから送信する。
【００５６】
具体的には、スレーブ装置２１は、ポートＰ3で受信した探索フレームＦ１０１３３を、探索フレームＦ１０１３３１、Ｆ１０１３３２およびＦ１０１３３４として、それぞれをポートＰ1、ポートＰ2およびポートＰ4から転送する。スレーブ装置２２は、ポートＰ1で受信した探索フレームＦ１０３４３を、探索フレームＦ１０３４３３としてポートＰ3から転送するとともに、ポートＰ3で受信した探索フレームＦ１０１２３を、探索フレームＦ１０１２３１としてポートＰ1から転送する。スレーブ装置２３は、ポートＰ3で受信した探索フレームＦ１０３３１を、探索フレームＦ１０３３１１およびＦ１０３３１２として、それぞれをポートＰ1およびポートＰ2から転送する。
【００５７】
図１２は、図１０に示した探索フレームを受信した通信装置の動作を示す第２の図である。図１２では、図１０に示した探索フレームのうち、探索フレームＦ１０１２１、Ｆ１０１２２およびＦ１０３４１を受信した通信装置の動作を示している。
【００５８】
図１０に示したように、探索フレームＦ１０１２１およびＦ１０３４１はマスタ装置１１により受信される。探索フレームＦ１０１２２はスレーブ装置２４により受信される。
【００５９】
マスタ装置１１は、図１０に示した探索フレームＦ１０３４１を受信するとこれに含まれている情報を確認する。探索フレームＦ１０３４１にはマスタ装置１１のＩＤ‘Ａ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０３４１を受信したポートＰ1とは異なるポートを示している。そのため、マスタ装置１１は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０３４１に追加し、探索フレームＦ１０３４１１としてポートＰ1から送信する。この処理は、図７に示したフローチャートのステップＳ２０の処理に相当する。
【００６０】
マスタ装置１１が送信した探索フレームＦ１０３４１１はスレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０３４１１を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０３４１１を受信したポートＰ1を示していることを確認する。そのため、スレーブ装置２３は、探索フレームＦ１０３４１１を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ2’が示すポートから送信する。このとき、スレーブ装置２３は、受信した探索フレームＦ１０３４１１に対して情報を追加することなく送信する。この処理は、図７に示したフローチャートのステップＳ１９の処理に相当する。
【００６１】
スレーブ装置２３が送信した探索フレームＦ１０３４１１は、スレーブ装置２１により受信される。探索フレームＦ１０３４１１にはスレーブ装置２１のＩＤ‘Ｂ’が１つ含まれ、かつスレーブ装置２１のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ4’であり、スレーブ装置２１が探索フレームＦ１０３４１１を受信したポートＰ4を示している。そのため、スレーブ装置２１は、スレーブ装置２３と同様の処理を行い、探索フレームＦ１０３４１１を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００６２】
スレーブ装置２１が送信した探索フレームＦ１０３４１１は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０３４１１をポートＰ3で受信し、これに含まれている情報を確認する。マスタ装置１１は、探索フレームＦ１０３４１１に自分のＩＤ‘Ａ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０３４１１に含まれている情報‘０’，‘Ａ’，‘Ｐ3’，‘Ｐ1’，‘Ｂ’，‘Ｐ4’，‘Ｐ2’，‘Ｄ’，‘Ｐ1’，‘Ｐ1’，‘Ａ’，‘Ｐ1’を記憶する。この処理は、図７に示したフローチャートのステップＳ１４の処理に相当する。
【００６３】
また、マスタ装置１１が図１０に示した探索フレームＦ１０１２１を受信した場合の動作は、探索フレームＦ１０３４１を受信した場合の動作と同様である。すなわち、マスタ装置１１は、探索フレームＦ１０１２１を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１２１にはマスタ装置１１のＩＤ‘Ａ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０１２１を受信したポートＰ3とは異なるポートを示している。そのため、マスタ装置１１は、探索フレームＦ１０３４１を受信した場合の動作と同様に、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１２１に追加し、探索フレームＦ１０１２１３としてポートＰ3から送信する。この探索フレームＦ１０１２１３は、スレーブ装置２１およびスレーブ装置２３を経由し、最終的にマスタ装置１１に到達する。マスタ装置１１は、探索フレームＦ１０１２１３を受信すると、探索フレームＦ１０３４１１を受信した場合と同様に、探索フレームＦ１０１２１３に含まれている情報を記憶する。
【００６４】
また、スレーブ装置２４は、図１０に示した探索フレームＦ１０１２２を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１２２にはスレーブ装置２４のＩＤ‘Ｅ’が含まれていない。また、スレーブ装置２４には、探索フレームＦ１０１２２を受信したポートＰ4以外に動作中のポートが存在しない。そのため、スレーブ装置２４は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１２２に追加し、探索フレームＦ１０１２２４として、探索フレームＦ１０１２２を受信したポートＰ4から送信する。この処理は、図７に示したフローチャートのステップＳ２３の処理に相当する。
【００６５】
スレーブ装置２４が送信した探索フレームＦ１０１２２４は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０１２２４を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０１２２４を受信したポートＰ2を示していることを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０１２２４を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ4’が示すポートから送信する。このとき、スレーブ装置２１は、受信した探索フレームＦ１０１２２４に対して情報を追加することなく送信する。
【００６６】
スレーブ装置２１が送信した探索フレームＦ１０１２２４は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０１２２４を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０１２２４を受信したポートＰ2を示していることを確認する。そのため、スレーブ装置２３は、スレーブ装置２１と同様の処理を行い、探索フレームＦ１０１２２４を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００６７】
スレーブ装置２３が送信した探索フレームＦ１０１２２４は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０１２２４を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１２２４には、マスタ装置１１のＩＤ‘Ａ’が１つ含まれ、かつ、マスタ装置１１のＩＤのすぐ後ろの送信ポート情報が‘Ｐ1’であり、マスタ装置１１が探索フレームＦ１０１２２４を受信したポートＰ1を示している。さらに、探索フレームＦ１０１２２４に含まれている先頭のＩＤがマスタ装置１１のＩＤとなっている。そのため、マスタ装置１１は、受信した探索フレームＦ１０１２２４に含まれている情報を記憶する。この処理は、図７に示したフローチャートのステップＳ１８の処理に相当する。
【００６８】
図１３は、図１１に示した探索フレームを受信した通信装置の動作を示す第１の図である。図１３では、図１１に示した探索フレームのうち、探索フレームＦ１０１３３１、Ｆ１０１３３２、Ｆ１０１３３４およびＦ１０１２３１を受信した通信装置の動作を示している。
【００６９】
図１１に示したように、探索フレームＦ１０１３３１はマスタ装置１１により受信される。探索フレームＦ１０１３３２はスレーブ装置２４により受信され、探索フレームＦ１０１３３４および探索フレームＦ１０１２３１はスレーブ装置２３により受信される。
【００７０】
マスタ装置１１は、探索フレームＦ１０１３３１を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１３３１にはマスタ装置１１のＩＤ‘Ａ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０１３３１を受信したポートＰ3とは異なるポートを示している。そのため、マスタ装置１１は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１３３１に追加し、探索フレームＦ１０１３３１３として、探索フレームＦ１０１３３１を受信したポートＰ3から送信する。この処理は、図７に示したフローチャートのステップＳ２０の処理に相当する。
【００７１】
マスタ装置１１が送信した探索フレームＦ１０１３３１３はスレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０１３３１３を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０１３３１３を受信したポートＰ1を示していることを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０１３３１３を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２１は、受信した探索フレームＦ１０１３３１３に対して情報を追加することなく送信する。
【００７２】
スレーブ装置２１が送信した探索フレームＦ１０１３３１３は、スレーブ装置２２により受信される。探索フレームＦ１０１３３１３にはスレーブ装置２２のＩＤ‘Ｃ’が１つ含まれ、かつスレーブ装置２２のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、スレーブ装置２２が探索フレームＦ１０１３３１３を受信したポートＰ3を示している。そのため、スレーブ装置２２は、スレーブ装置２１と同様の処理を行い、探索フレームＦ１０１３３１３を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００７３】
スレーブ装置２２が送信した探索フレームＦ１０１３３１３は、スレーブ装置２３により受信される。探索フレームＦ１０１３３１３にはスレーブ装置２３のＩＤ‘Ｄ’が１つ含まれ、かつスレーブ装置２３のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、スレーブ装置２３が探索フレームＦ１０１３３１３を受信したポートＰ3を示している。そのため、スレーブ装置２３は、スレーブ装置２１，２２と同様の処理を行い、探索フレームＦ１０１３３１３を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００７４】
スレーブ装置２３が送信した探索フレームＦ１０１３３１３は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０１３３１３を受信すると、自分のＩＤ‘Ａ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０１３３１３に含まれている情報を記憶する。
【００７５】
また、スレーブ装置２４は、探索フレームＦ１０１３３２を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１３３２にはスレーブ装置２４のＩＤ‘Ｅ’が含まれていない。また、スレーブ装置２４には、探索フレームＦ１０１３３２を受信したポートＰ4以外に動作中のポートが存在しない。そのため、スレーブ装置２４は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１３３２に追加し、探索フレームＦ１０１３３２４として、探索フレームＦ１０１３３２を受信したポートＰ4から送信する。この処理は、図７に示したフローチャートのステップＳ２３の処理に相当する。
【００７６】
スレーブ装置２４が送信した探索フレームＦ１０１３３２４は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０１３３２４を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０１３３２４を受信したポートＰ2を示していることを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０１３３２４を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２１は、受信した探索フレームＦ１０１３３２４に対して情報を追加することなく送信する。
【００７７】
スレーブ装置２１が送信した探索フレームＦ１０１３３２４は、スレーブ装置２２により受信される。スレーブ装置２２は、探索フレームＦ１０１３３２４を受信すると、自分のＩＤ‘Ｃ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０１３３２４を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２２は、スレーブ装置２１と同様の処理を行い、探索フレームＦ１０１３３２４を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００７８】
スレーブ装置２２が送信した探索フレームＦ１０１３３２４は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０１３３２４を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０１３３２４を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２３は、スレーブ装置２１，２２と同様の処理を行い、探索フレームＦ１０１３３２４を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００７９】
スレーブ装置２３が送信した探索フレームＦ１０１３３２４は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０１３３２４を受信すると、自分のＩＤ‘Ａ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの情報が示すポートＰ1が受信ポートであり、さらに、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０１３３２４に含まれている情報を記憶する。
【００８０】
また、スレーブ装置２３は、探索フレームＦ１０１３３４を受信するとこれに含まれている情報を確認する。探索フレームＦ１０１３３４にはスレーブ装置２３のＩＤ‘Ｄ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０１３３４を受信したポートＰ2とは異なるポートを示している。そのため、スレーブ装置２３は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１３３４に追加し、探索フレームＦ１０１３３４２として、探索フレームＦ１０１３３４を受信したポートＰ2から送信する。この処理は、図７に示したフローチャートのステップＳ２０の処理に相当する。
【００８１】
スレーブ装置２３が送信した探索フレームＦ１０１３３４２は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０１３３４２を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ4’であり、探索フレームＦ１０１３３４２を受信したポートＰ4を示していることを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０１３３４２を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２１は、受信した探索フレームＦ１０１３３４２に対して情報を追加することなく送信する。
【００８２】
スレーブ装置２１が送信した探索フレームＦ１０１３３４２は、スレーブ装置２２により受信される。スレーブ装置２２は、探索フレームＦ１０１３３４２を受信すると、自分のＩＤ‘Ｃ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０１３３４２を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２２は、スレーブ装置２１と同様の処理を行い、探索フレームＦ１０１３３４２を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００８３】
スレーブ装置２２が送信した探索フレームＦ１０１３３４２は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０１３３４２を受信すると、自分のＩＤ‘Ｄ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤではないことを確認する。そのため、スレーブ装置２３は、受信した探索フレームＦ１０１３３４２を、先頭側の自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２３は、探索フレームＦ１０１３３４２に対して情報を追加することなく送信する。この処理は、図７に示したフローチャートのステップＳ１５の処理に相当する。
【００８４】
スレーブ装置２３が送信した探索フレームＦ１０１３３４２は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０１３３４２を受信すると、自分のＩＤ‘Ａ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの情報が示すポートＰ1が受信ポートであり、さらに、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０１３３４２に含まれている情報を記憶する。
【００８５】
また、スレーブ装置２３は、探索フレームＦ１０１２３１を受信すると、探索フレームＦ１０１３３４を受信した場合と同様の処理を行う。すなわち、スレーブ装置２３は、探索フレームＦ１０１２３１に含まれている情報を確認する。探索フレームＦ１０１２３１にはスレーブ装置２３のＩＤ‘Ｄ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０１２３１を受信したポートＰ3とは異なるポートを示している。そのため、スレーブ装置２３は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０１２３１に追加し、探索フレームＦ１０１２３１３として、探索フレームＦ１０１２３１を受信したポートＰ3から送信する。
【００８６】
スレーブ装置２３が送信した探索フレームＦ１０１２３１３は、スレーブ装置２２により受信される。スレーブ装置２２は、探索フレームＦ１０１２３１３を受信すると、自分のＩＤ‘Ｃ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０１２３１３を受信したポートＰ1を示していることを確認する。そのため、スレーブ装置２２は、受信した探索フレームＦ１０１２３１３を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２２は、受信した探索フレームＦ１０１２３１３に対して情報を追加することなく送信する。
【００８７】
スレーブ装置２２が送信した探索フレームＦ１０１２３１３は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０１２３１３を受信すると、自分のＩＤ‘Ｂ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０１２３１３を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２１は、スレーブ装置２２と同様の処理を行い、探索フレームＦ１０１２３１３を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ4’が示すポートから送信する。
【００８８】
スレーブ装置２１が送信した探索フレームＦ１０１２３１３は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０１２３１３を受信すると、自分のＩＤ‘Ｄ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤではないことを確認する。そのため、スレーブ装置２３は、受信した探索フレームＦ１０１２３１３を、先頭側の自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２３は、探索フレームＦ１０１２３１３に対して情報を追加することなく送信する。
【００８９】
スレーブ装置２３が送信した探索フレームＦ１０１２３１３は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０１２３１３を受信すると、自分のＩＤ‘Ａ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの情報が示すポートＰ1が受信ポートであり、さらに、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０１２３１３に含まれている情報を記憶する。
【００９０】
図１４は、図１１に示した探索フレームを受信した通信装置の動作を示す第２の図である。図１４では、図１１に示した探索フレームのうち、探索フレームＦ１０３３１１、Ｆ１０３３１２およびＦ１０３４３３を受信した通信装置の動作を示している。
【００９１】
図１１に示したように、探索フレームＦ１０３３１１はマスタ装置１１により受信される。探索フレームＦ１０３３１２およびＦ１０３４３３はスレーブ装置２１により受信される。
【００９２】
マスタ装置１１は、探索フレームＦ１０３３１１を受信するとこれに含まれている情報を確認する。探索フレームＦ１０３３１１にはマスタ装置１１のＩＤ‘Ａ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０３３１１を受信したポートＰ1とは異なるポートを示している。そのため、マスタ装置１１は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０３３１１に追加し、探索フレームＦ１０３３１１１として、探索フレームＦ１０３３１１を受信したポートＰ1から送信する。
【００９３】
マスタ装置１１が送信した探索フレームＦ１０３３１１１はスレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０３３１１１を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０３３１１１を受信したポートＰ1を示していることを確認する。そのため、スレーブ装置２３は、受信した探索フレームＦ１０３３１１１を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２３は、受信した探索フレームＦ１０３３１１１に対して情報を追加することなく送信する。
【００９４】
スレーブ装置２３が送信した探索フレームＦ１０３３１１１は、スレーブ装置２２により受信される。探索フレームＦ１０３３１１１にはスレーブ装置２２のＩＤ‘Ｃ’が１つ含まれ、かつスレーブ装置２２のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、スレーブ装置２２が探索フレームＦ１０３３１１１を受信したポートＰ1を示している。そのため、スレーブ装置２２は、スレーブ装置２３と同様の処理を行い、探索フレームＦ１０３３１１１を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。
【００９５】
スレーブ装置２２が送信した探索フレームＦ１０３３１１１は、スレーブ装置２１により受信される。探索フレームＦ１０３３１１１にはスレーブ装置２１のＩＤ‘Ｂ’が１つ含まれ、かつスレーブ装置２１のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、スレーブ装置２１が探索フレームＦ１０３３１１１を受信したポートＰ3を示している。そのため、スレーブ装置２１は、スレーブ装置２３，２２と同様の処理を行い、探索フレームＦ１０３３１１１を、自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。
【００９６】
スレーブ装置２１が送信した探索フレームＦ１０３３１１１は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０３３１１１を受信すると、自分のＩＤ‘Ａ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０３３１１１に含まれている情報を記憶する。
【００９７】
また、スレーブ装置２１は、探索フレームＦ１０３３１２を受信するとこれに含まれている情報を確認する。探索フレームＦ１０３３１２にはスレーブ装置２１のＩＤ‘Ｂ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０３３１２を受信したポートＰ4とは異なるポートを示している。そのため、スレーブ装置２１は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０３３１２に追加し、探索フレームＦ１０３３１２４として、探索フレームＦ１０３３１２を受信したポートＰ4から送信する。この処理は、図７に示したフローチャートのステップＳ２０の処理に相当する。
【００９８】
スレーブ装置２１が送信した探索フレームＦ１０３３１２４は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０３３１２４を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ2’であり、探索フレームＦ１０３３１２４を受信したポートＰ2を示していることを確認する。そのため、スレーブ装置２３は、受信した探索フレームＦ１０３３１２４を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。このとき、スレーブ装置２３は、受信した探索フレームＦ１０３３１２４に対して情報を追加することなく送信する。
【００９９】
スレーブ装置２３が送信した探索フレームＦ１０３３１２４は、スレーブ装置２２により受信される。スレーブ装置２２は、探索フレームＦ１０３３１２４を受信すると、自分のＩＤ‘Ｃ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ1’であり、探索フレームＦ１０３３１２４を受信したポートＰ1を示していることを確認する。そのため、スレーブ装置２２は、スレーブ装置２３と同様の処理を行い、探索フレームＦ１０３３１２４を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ3’が示すポートから送信する。
【０１００】
スレーブ装置２３が送信した探索フレームＦ１０３３１２４は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０３３１２４を受信すると、自分のＩＤ‘Ｂ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤではないことを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０３３１２４を、先頭側の自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２１は、探索フレームＦ１０３３１２４に対して情報を追加することなく送信する。
【０１０１】
スレーブ装置２１が送信した探索フレームＦ１０３３１２４は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０３３１２４を受信すると、自分のＩＤ‘Ａ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの情報が示すポートＰ3が受信ポートであり、さらに、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０３３１２４に含まれている情報を記憶する。
【０１０２】
また、スレーブ装置２１は、探索フレームＦ１０３４３３を受信すると、探索フレームＦ１０３３１２を受信した場合と同様の処理を行う。すなわち、スレーブ装置２１は、探索フレームＦ１０３４３３に含まれている情報を確認する。探索フレームＦ１０３４３３にはスレーブ装置２１のＩＤ‘Ｂ’が１つ含まれ、かつ、このＩＤのすぐ後ろの送信ポートの情報が‘Ｐ4’であり、探索フレームＦ１０３４３３を受信したポートＰ3とは異なるポートを示している。そのため、スレーブ装置２１は、受信ポートの情報、自分の識別情報および送信ポートの情報を探索フレームＦ１０３４３３に追加し、探索フレームＦ１０３４３３３として、探索フレームＦ１０３４３３を受信したポートＰ3から送信する。
【０１０３】
スレーブ装置２１が送信した探索フレームＦ１０３４３３３は、スレーブ装置２２により受信される。スレーブ装置２２は、探索フレームＦ１０３４３３３を受信すると、自分のＩＤ‘Ｃ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０３４３３３を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２２は、受信した探索フレームＦ１０３４３３３を、自分のＩＤ‘Ｃ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２２は、受信した探索フレームＦ１０３４３３３に対して情報を追加することなく送信する。
【０１０４】
スレーブ装置２２が送信した探索フレームＦ１０３４３３３は、スレーブ装置２３により受信される。スレーブ装置２３は、探索フレームＦ１０３４３３３を受信すると、自分のＩＤ‘Ｄ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの送信ポートの情報が‘Ｐ3’であり、探索フレームＦ１０３４３３３を受信したポートＰ3を示していることを確認する。そのため、スレーブ装置２３は、スレーブ装置２２と同様の処理を行い、探索フレームＦ１０３４３３３を、自分のＩＤ‘Ｄ’のすぐ前の受信ポート情報‘Ｐ2’が示すポートから送信する。
【０１０５】
スレーブ装置２３が送信した探索フレームＦ１０３４３３３は、スレーブ装置２１により受信される。スレーブ装置２１は、探索フレームＦ１０３４３３３を受信すると、自分のＩＤ‘Ｂ’が２つ含まれ、かつ先頭のＩＤが自分のＩＤではないことを確認する。そのため、スレーブ装置２１は、受信した探索フレームＦ１０３４３３３を、先頭側の自分のＩＤ‘Ｂ’のすぐ前の受信ポート情報‘Ｐ1’が示すポートから送信する。このとき、スレーブ装置２１は、探索フレームＦ１０３４３３３に対して情報を追加することなく送信する。
【０１０６】
スレーブ装置２１が送信した探索フレームＦ１０３４３３３は、マスタ装置１１により受信される。マスタ装置１１は、探索フレームＦ１０３４３３３を受信すると、自分のＩＤ‘Ａ’が１つ含まれ、かつ自分のＩＤのすぐ後ろの情報が示すポートＰ3が受信ポートであり、さらに、先頭のＩＤが自分のＩＤであるため、探索フレームＦ１０３４３３３に含まれている情報を記憶する。
【０１０７】
図８〜図１４を用いて説明した動作が完了すると、マスタ装置１１による経路の探索動作が終了となり、マスタ装置１１が図１５に示した情報を記憶している状態となる。図１５は、経路探索動作でマスタ装置１１により収集された、選択可能な経路の情報の例を示す図である。横方向に連続した一連の情報（１）〜（１１）の各々が、選択可能な経路の中の１つを表している。例えば、（１）の“０，Ａ，Ｐ3，Ｐ1，Ｂ，Ｐ3，Ｐ3，Ｃ，Ｐ1，Ｐ3，Ｄ，Ｐ1，Ｐ1，Ａ，Ｐ1”が１つの経路を表す情報である。
【０１０８】
マスタ装置１１は、図１５に示した情報（１）〜（１１）を解析することにより、通信ネットワークの全体構成を特定することが可能であり、スレーブ装置２１〜２４の各々との通信に使用可能な全ての通信経路すなわち選択可能な全ての通信経路を知ることができる。マスタ装置１１において、図１５に示した情報（１）〜（１１）の解析は、図２に示した構成探索解析部２４３が行う。構成探索解析部２４３は、通信ネットワークの全体構成を特定する情報解析部である。図１５に示した情報（１）〜（１１）は、２つのＩＤに挟まれた２つの情報それぞれに対応する２つのポート同士が物理的に接続されていること、すなわち、ポートを表す連続する２つの情報の両隣にある２つのＩＤのそれぞれに対応する通信装置が物理的に接続されていることを示す。また、１つの経路を表す情報の中に同じＩＤが２つ存在する場合は、そのＩＤを起点としてループ構造となっていることを示す。また、１つの経路を表す情報の中に含まれているＩＤがすべて異なる場合、末尾のＩＤに対応する通信装置が経路の終端に位置することを示す。
【０１０９】
経路がループ状となっている場合、例えば、ループを形成する通信装置の中で、ＩＤが最も小さい通信装置またはＩＤが最も大きい通信装置において、当該ループに含まれるいずれかのポートをフレームが通過しないように論理的に設定することで、論理的なツリー構造の通信ネットワークを形成することが可能である。
【０１１０】
（経路選択動作）
マスタ装置１１は、経路探索動作を実行して図１５に示す選択可能な経路の情報（１）〜（１１）を収集した後、選択可能な全ての経路の中から、スレーブ装置２１〜２４の各々との通信で使用する経路を選択する。例えば、マスタ装置１１は、各経路における伝送遅延時間を計測し、伝送遅延時間が最小となる経路を選択する。マスタ装置１１において、伝送遅延時間の計測は、図２に示した受信フレーム解析部２３０および送信フレーム生成部２３１が連携して行う。例えば、送信フレーム生成部２３１のフレーム生成部２５１が、時間計測のためのフレームを生成してスレーブ装置へ送信し、このフレームに対する応答フレームを受信フレーム解析部２３０の同期精度解析部２４２が受信する。そして、同期精度解析部２４２が、フレーム生成部２５１から時間計測のためのフレームが送信された時間と、応答フレームを受信した時間とに基づいて、伝送遅延時間を計算する。
【０１１１】
マスタ装置１１は、図１５に示した情報を解析し、まず、図１５の情報（１）および（２）に基づいて、図１６において直線で示した経路、具体的には、スレーブ装置２１および２２を経由してスレーブ装置２３に至る通信経路における伝送遅延時間を計測する。このとき、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。図１６は、伝送遅延時間の計測を行う第１の通信経路を示す図である。図１６においては、計測対象の経路を直線で示しているが、これ以降の説明に出てくる図面においても同様である。図１６に示した通信経路の場合、マスタ装置１１は、スレーブ装置２１までの伝送遅延時間と、スレーブ装置２２までの伝送遅延時間と、スレーブ装置２３までの伝送遅延時間とを計測する。この計測動作を第１の遅延時間計測とする。
【０１１２】
マスタ装置１１は、次に、図１５の情報（３）および（４）に基づいて、図１７に示した経路、すなわち、スレーブ装置２１および２３を経由してスレーブ装置２２に至る通信経路における伝送遅延時間を計測する。図１７は、伝送遅延時間の計測を行う第２の通信経路を示す図である。この場合にも、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。この計測動作を第２の遅延時間計測とする。
【０１１３】
マスタ装置１１は、次に、図１５の情報（５）に基づいて、図１８に示した経路、すなわち、スレーブ装置２１を経由してスレーブ装置２４に至る通信経路における伝送遅延時間を計測する。図１８は、伝送遅延時間の計測を行う第３の通信経路を示す図である。この場合にも、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。この計測動作を第３の遅延時間計測とする。
【０１１４】
マスタ装置１１は、次に、図１５の情報（６）および（７）に基づいて、図１９に示した経路、すなわち、スレーブ装置２３および２１を経由してスレーブ装置２２に至る通信経路における伝送遅延時間を計測する。図１９は、伝送遅延時間の計測を行う第４の通信経路を示す図である。この場合にも、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。この計測動作を第４の遅延時間計測とする。
【０１１５】
マスタ装置１１は、次に、図１５の情報（８）に基づいて、図２０に示した経路、すなわち、スレーブ装置２３および２１を経由してスレーブ装置２４に至る通信経路における伝送遅延時間を計測する。図２０は、伝送遅延時間の計測を行う第５の通信経路を示す図である。この場合にも、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。この計測動作を第５の遅延時間計測とする。
【０１１６】
マスタ装置１１は、次に、図１５の情報（９）〜（１１）に基づいて、図２１に示した経路、すなわち、スレーブ装置２３、２２および２１を経由してスレーブ装置２４に至る通信経路における伝送遅延時間を計測する。図２１は、伝送遅延時間の計測を行う第６の通信経路を示す図である。この場合にも、マスタ装置１１は、通信経路上の各々のスレーブ装置までの伝送遅延時間を計測する。この計測動作を第６の遅延時間計測とする。
【０１１７】
マスタ装置１１は、上記の第１の遅延時間計測〜第６の遅延時間計測が終了すると、得られた計測結果に基づいて、各スレーブ装置までの通信経路を選択する。具体的には、マスタ装置１１は、各スレーブ装置までの伝送遅延時間が最小となる通信経路を選択する。
【０１１８】
図２２は、伝送遅延時間の計測結果の一例を示す図である。図２２に示した‘Ｂ’〜‘Ｅ’はスレーブ装置２１〜２４のＩＤである。“Ｂ［時間］”は、ＩＤが‘Ｂ’のスレーブ装置２１までの伝送遅延時間を示す。同様に、“Ｃ［時間］”はスレーブ装置２２までの伝送遅延時間を示し、“Ｄ［時間］”はスレーブ装置２３までの伝送遅延時間を示し、“Ｅ［時間］”はスレーブ装置２４までの伝送遅延時間を示す。
【０１１９】
図２２において、計測ルートが“Ａ(Ｐ3)→(Ｐ1)Ｂ(Ｐ3)→(Ｐ3)Ｃ(Ｐ1)→(Ｐ3)Ｄ”とされている計測結果は、第１の遅延時間計測で得られた計測結果、計測ルートが“Ａ(Ｐ3)→(Ｐ1)Ｂ(Ｐ4)→(Ｐ2)Ｄ(Ｐ3)→(Ｐ1)Ｃ”とされている計測結果は、第２の遅延時間計測で得られた計測結果である。また、計測ルートが“Ａ(Ｐ3)→(Ｐ1)Ｂ(Ｐ2)→(Ｐ4)Ｅ”とされている計測結果は、第３の遅延時間計測で得られた計測結果、計測ルートが“Ａ(Ｐ1)→(Ｐ1)Ｄ(Ｐ2)→(Ｐ4)Ｂ(Ｐ3)→(Ｐ3)Ｃ”とされている計測結果は、第４の遅延時間計測で得られた計測結果である。計測ルートが“Ａ(Ｐ1)→(Ｐ1)Ｄ(Ｐ2)→(Ｐ4)Ｂ(Ｐ2)→(Ｐ4)Ｅ”とされている計測結果は、第５の遅延時間計測で得られた計測結果、計測ルートが“Ａ(Ｐ1)→(Ｐ1)Ｄ(Ｐ3)→(Ｐ1)Ｃ(Ｐ3)→(Ｐ3)Ｂ(Ｐ2)→(Ｐ4)Ｅ”とされている計測結果は、第６の遅延時間計測で得られた計測結果である。
【０１２０】
図２２に示した計測結果に基づいて通信経路を選択する場合、マスタ装置１１は、スレーブ装置２１までの通信経路については、伝送遅延時間が最小値２となる通信経路、具体的には、マスタ装置１１のポートＰ3からスレーブ装置２１のポートＰ1に至る通信経路を選択する。また、マスタ装置１１は、スレーブ装置２２までの通信経路については、伝送遅延時間が最小値４となる通信経路、具体的には、マスタ装置１１のポートＰ3からスレーブ装置２１のポートＰ1に至り、さらに、スレーブ装置２１のポートＰ3からスレーブ装置２２のポートＰ3に至る通信経路を選択する。また、マスタ装置１１は、スレーブ装置２３までの通信経路については、伝送遅延時間が最小値４となる通信経路、具体的には、マスタ装置１１のポートＰ1からスレーブ装置２３のポートＰ1に至る通信経路を選択する。また、マスタ装置１１は、スレーブ装置２４までの通信経路については、伝送遅延時間が最小値５となる通信経路、具体的には、マスタ装置１１のポートＰ3からスレーブ装置２１のポートＰ1に至り、さらに、スレーブ装置２１のポートＰ2からスレーブ装置２４のポートＰ4に至る通信経路を選択する。この結果、図２３に示した経路が選択される。図２３において、実線は選択された経路、破線は選択されなかった経路を示している。マスタ装置１１において、通信経路の選択は、例えば、図２に示した同期精度解析部２４２または構成探索解析部２４３が行う。この場合、同期精度解析部２４２または構成探索解析部２４３が経路選択部を構成する。
【０１２１】
また、マスタ装置１１は、通信経路を選択した後、選択した通信経路で通信が行われるよう、一部のスレーブ装置に対して、ポートの設定変更を指示する。例えば、選択した通信経路が図２３に示したものである場合、マスタ装置１１は、自分が送信したフレームがスレーブ装置２１とスレーブ装置２３との間で送受信されないよう、スレーブ装置２１および２３の少なくとも一方に対してポートの設定変更を指示する。同様に、マスタ装置１１は、自分が送信したフレームがスレーブ装置２２とスレーブ装置２３との間で送受信されないよう、スレーブ装置２２および２３の少なくとも一方に対してポートの設定変更を指示する。スレーブ装置は、マスタ装置１１からポートの設定変更の指示を受けた場合、指示内容に従い、ポートの設定を変更する。
【０１２２】
なお、マスタ装置１１がスレーブ装置２１〜２４との間の通信経路を選択する場合の動作について説明したが、同様の手順でスレーブ装置２１〜２４が通信経路を選択することも可能である。スレーブ装置２１〜２４は、通信経路を選択する場合、図４に示した構成の情報を含んだ探索フレームを送信し、各通信装置の物理的な接続形態の情報を収集すればよい。
【０１２３】
また、本実施の形態において、マスタ装置１１は、選択可能な通信経路の中から、伝送遅延時間が最も小さいものを選択することとしたが、これに限定されない。例えば、高精度な制御を実現するためには、マスタ装置１１とスレーブ装置との通信が安定して行えることが重要であり、伝送遅延時間の長さよりも伝送遅延時間の揺らぎの大きさが重要となる場合がある。すなわち、伝送遅延時間の平均値は小さいが伝送遅延時間の揺らぎが大きい通信経路を使用して制御を行う場合よりも、伝送遅延時間の平均値は大きいが伝送遅延時間の揺らぎが小さい通信経路を使用して制御を行う場合の方が、結果として高精度な制御を実現できる場合がある。そのため、マスタ装置１１は、選択可能な各通信経路について、伝送遅延時間の揺らぎを計測し、揺らぎが最も小さい通信経路を選択するようにしてもよい。
【０１２４】
また、マスタ装置１１は、図２２に示したような伝送遅延時間の計測結果を保持しておき、スレーブ装置の故障または接続不良といった要因により、選択した通信経路での通信が遮断された場合には、経路探索動作を再度実施することなく、保持している計測結果を参照して新たな通信経路を選択することができる。例えば、マスタ装置１１は、保持している計測結果が図２２に示したものであるときに、ＩＤが‘Ｂ’のスレーブ装置２１を経由してＩＤが‘Ｃ’のスレーブ装置２３と通信することができなくなった場合、スレーブ装置２１を経由する経路の次に伝送遅延時間が小さい経路、具体的には、伝送遅延時間が‘６’となる経路を新たな通信経路として選択する。すなわち、マスタ装置１１は、スレーブ装置２３との通信経路として、ＩＤが‘Ｄ’のスレーブ装置２３を経由してスレーブ装置２３に到達する経路を選択する。マスタ装置１１とスレーブ装置２２との間の通信経路を新たに選択する場合について説明したが、マスタ装置１１とその他のスレーブ装置との間の通信経路を新たに選択する場合も同様である。このように、本実施の形態にかかるマスタ装置１１を物理的なメッシュ構造のネットワークに適用して論理的なツリー構造のネットワークを構築する場合、伝送遅延時間を一度計測して理想的な論理ネットワークを構築した後は、ある通信経路で問題が発生して通信が遮断した場合に、経路探索を再度行うことなく、保持している測定結果を利用して、次に理想的な論理ネットワーク、すなわち、通信が遮断した経路を、この経路の次に伝送遅延時間が小さい経路に切り替えた論理ネットワークを構築することができる。
【０１２５】
以上のように、本実施の形態にかかる通信ネットワークにおいて、通信装置は、通信経路の設定を行う場合、送信ポートの情報、受信ポートの情報および自分の識別情報を含んだ探索フレームを動作中の各通信ポートから送信し、通信ネットワークを形成している各通信装置同士の物理的な接続関係を表す情報を収集する。また、通信装置は、他の通信装置から探索フレームを受信した場合、探索フレームに含まれている情報に基づいて転送処理を実行する。このとき、通信装置は、必要に応じて、探索フレームを受信したポートの情報、自分の識別情報および探索フレームを送信するポートの情報を、転送する探索フレームに追加する。これにより、本実施の形態にかかる通信装置は、通信ネットワークの全体構成を把握することができる。この結果、通信装置は、選択可能な全ての通信経路の中から、産業用ネットワークに適した通信経路を選択することが可能となる。
【０１２６】
ここで、通信装置を実現するハードウェアについて説明する。図２４は、図２に示した構成の通信装置を実現するハードウェアの構成例を示す図である。
【０１２７】
本実施の形態にかかる通信装置は、図２４に示した制御回路１００により実現することができる。制御回路１００は、送信回路１０１、プロセッサ１０２、メモリ１０３および受信回路１０４を含んで構成されている。送信回路１０１は、図２４では記載を省略している送受信ポートを介して信号を送信する回路である。プロセッサ１０２は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）、システムＬＳＩ（Large  Scale  Integration）などである。メモリ１０３は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリー、ＥＰＲＯＭ（Erasable  Programmable  Read  Only  Memory）、ＥＥＰＲＯＭ（登録商標）（Electrically  Erasable  Programmable  Read-Only  Memory）等の、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスクまたはＤＶＤ（Digital  Versatile  Disc）等である。受信回路１０４は、図２４では記載を省略している送受信ポートを介して信号を受信する回路である。
【０１２８】
受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２およびタイマ管理部２３３は、それぞれに対応するプログラムをメモリ１０３から読み出してプロセッサ１０２が実行することにより実現できる。また、情報記憶部２３４は、メモリ１０３により実現される。メモリ１０３はプロセッサ１０２が実施する各処理における一時メモリとしても使用される。また、送信部２２１〜２２４は、送信回路１０１により実現され、受信部２２５〜２２８は、受信回路１０４により実現される。
【０１２９】
なお、受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２およびタイマ管理部２３３を専用のハードウェアで実現してもよい。
【０１３０】
図２５は、受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２およびタイマ管理部２３３を専用のハードウェアで実現する場合のハードウェア構成図である。図２５に示した制御回路１００ａは、図２４に示したプロセッサ１０２およびメモリ１０３を処理回路１０５に置き換えたものである。処理回路１０５は、受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２およびタイマ管理部２３３を実現する専用のハードウェアである。処理回路１０５は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、またはこれらを組み合わせた回路である。
【０１３１】
なお、受信フレーム解析部２３０、送信フレーム生成部２３１、状態管理部２３２およびタイマ管理部２３３の一部を処理回路１０５で実現し、残りを図２４に示したプロセッサ１０２およびメモリ１０３で実現する構成としてもよい。
【０１３２】
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１３３】
１〜４，２１１〜２１４  送受信ポート、１１，２１〜２４，２００  通信装置、２２１〜２２４  送信部、２２５〜２２８  受信部、２３０  受信フレーム解析部、２３１  送信フレーム生成部、２３２  状態管理部、２３３  タイマ管理部、２３４  情報記憶部、２４１  ルーティング解析部、２４２  同期精度解析部、２４３  構成探索解析部、２５１  フレーム生成部、２５２  フレーム転送部。
【要約】
本発明は、通信ネットワークを形成する通信装置（２００）であって、他の通信装置との通信経路を設定する場合に通信経路の探索用のフレームである探索フレームを生成するとともに、探索フレームを他の通信装置へ送信し、探索フレームが他の通信装置を経由して自己に戻るまでの情報に基づき、他の通信装置の各々との伝送遅延時間が最短となる通信経路を選択する。【図１】
0006437180.tif 000002
【図２】
0006437180.tif 000003
【図３】
0006437180.tif 000004
【図４】
0006437180.tif 000005
【図５】
0006437180.tif 000006
【図６】
0006437180.tif 000007
【図７】
0006437180.tif 000008
【図８】
0006437180.tif 000009
【図９】
0006437180.tif 000010
【図１０】
0006437180.tif 000011
【図１１】
0006437180.tif 000012
【図１２】
0006437180.tif 000013
【図１３】
0006437180.tif 000014
【図１４】
0006437180.tif 000015
【図１５】
0006437180.tif 000016
【図１６】
0006437180.tif 000017
【図１７】
0006437180.tif 000018
【図１８】
0006437180.tif 000019
【図１９】
0006437180.tif 000020
【図２０】
0006437180.tif 000021
【図２１】
0006437180.tif 000022
【図２２】
0006437180.tif 000023
【図２３】
0006437180.tif 000024
【図２４】
0006437180.tif 000025
【図２５】
0006437180.tif 000026