従来のツール装置は、ネットワークに加入しているスレーブのノードアドレスを確認することはできたが、スレーブの位置関係を把握することはできなかった。そのため、実際のネットワーク構成における幹線ネットワークケーブル1や支線ネットワークケーブル6に接続されるマスタ2,スレーブ2,リピータ3及び終端抵抗5の配置状況が、図1(b)に示すようになっていたとしても、ツール装置で表示されるネットワーク構成図は、図1(a)に示すようになり、両者が一致しない現象が発生する可能性が高い。
一方、生産現場では、設備の保守は、重要視される。特に設備異常が起きた場合、ユーザは、迅速な復旧対応を行なうことが必要である。したがって、設備異常が起きた場合、ユーザは、迅速に異常箇所と異常原因を把握し復旧作業を行わなければならないが、ツール装置(管理ソフトウェア)でネットワーク上の異常の起きているスレーブのノードアドレスがわかっても、その場所がどのあたりなのかを視覚的に知ることができず、対応が遅れることがあった。
さらに、生産現場においては設備の増設によってスレーブが後から追加されることが多い。その場合、追加されたスレーブは、同じ設備内でも離れた数字のアドレスが割り当てられることがある。その場合、特に位置関係を把握するのが難しくなる。
ところで、スレーブの位置関係を把握するためには、マスタから各スレーブまでの距離を知ることができればよい。その手段としては、マスタが送信したコマンドに対しスレーブからのレスポンスが帰ってくるまでの時間を測定することが考えられる。しかし、実際には、各スレーブの通信IC固有の性能のばらつきが大きいため、測定した各スレーブのコマンド−レスポンス時間の差が実際の距離の差と異なる場合がでてくる。従って、単純にマスタがレスポンスを受信するまでの時間に基づいて位置関係を求める技術は、採用できない。
また、この問題を解決する方法として、特許文献1で説明される方法が考案されている。この方法は、バス型ネットワークの両端にネットワーク接続装置を接続し、さらにその両端を接続することによってループ型ネットワークを構築する。そして、あるスレーブから送信されたフレームを受け取ったとき、右回りで送られて来た送信時間と左回りで送られてきた送信時間を比較し位置関係を得る。それを全スレーブに対して行ないソートをかけることによって相対的な位置関係を得るものである。
しかし、この方法ではループ型ネットワークを構成する必要があり、本発明が対象とするバス型のフィールドネットワークにはそのまま適用することができない。さらに、右回りと左回りの時間差を正確に求めるために受信同期をとらなければならないなどの問題点もある。
本発明は、バス型のフィールドネットワークにおいて、ネットワークに接続されるノード装置(スレーブ,リピータ等)の配置順(位置関係)を検出することができるノード局の位置関係検出システムを提供することにある。
上記の目的を達成するため、本発明に係るノード局の位置関係検出システムは、(1)バス型のフィールドネットワークに加入する複数のノード局の位置関係を検出する位置関係検出システムであって、ネットワークケーブルの両端に接続され、そのネットワークケーブルに接続される各ノード局に対してコマンドを送信してからレスポンスを受信するまでの時間を測定する測定ツール機能を備えた測定装置と、その測定ツール機能で測定した測定値に基づき、各ノード局の位置関係を特定する位置関係判定装置と、を備える。そして、その位置関係判定装置は、複数のノード局のうち、任意の2つのノード局を第1判定対象局と第2判定対象局として選択し、その選択された2つのノード局に対して両測定装置でそれぞれ求めた測定値から当該2つのノード局の前記ネットワークケーブルに接続される相対位置関係を特定し、その相対位置関係を求める処理を判定対象として選択される全ての組み合わせについて行なうことで、複数のノード局の位置関係を特定する機能を備える。上記の2つのノード局の相対位置関係を求める処理は、一方の測定装置で得た第1判定対象局に対する測定値と第2判定対象局に対する測定値の差をΔtとし、他方の測定装置で得た第1判定対象局に対する測定値と第2判定対象局に対する測定値の差をΔsとした場合に、ΔtとΔsを一方から他方を減算処理し、その処理結果の正負により決定するものとした。
バス型フィールドネットワークは、たとえば、CC−Link,CC−Link/LT,デバイスネットなどがある。測定装置は、ネットワークシステムを構成するノード局に組み込まれて実現される場合と、別途独立して設けた測定装置(実施形態の“測定ツール装置”に対応)を用意し、終端抵抗器(終端装置)と置き換えるようにしてもよい。また、実施形態では、終端抵抗器40を測定ツール装置に置き換えるようにしたが、終端抵抗器に測定ツール機能を実装し、測定装置と兼用するようにしても良い。位置関係判定装置は、実施形態では、ツール装置50により実現されているが、測定装置に組み込みで一体化されていても良い。
ノード局内部で実行されるレスポンスを返信するための処理時間が各ノード局で等しいとすると、測定装置が求めた測定値に基づいて算出されたΔtとΔsは、第1判定対象局の方が測定装置に近い場合には、負の値となり、第2判定対象局の方が測定装置に近い場合には、正の値となる。2つの測定装置は、ネットワークの両端に配置されているので、第1判定対象局が一方の測定装置に近いとすると、第2判定対象局は他方の測定装置に近いことになる。よって、Δtが正ならばΔsは負になり、Δtが負ならばΔsは正になると言う関係をとる。よって、Δt−Δs(或いは、Δs−Δt)の値の正負により、基準とした測定装置に対して第1判定対象局の方が近いか遠いかを判定することができる。
更に、本発明は、ネットワークケーブルの両端に設けた測定装置にて2つの判定対象局に対してのレスポンスを受けるまでの時間を測定し、得られた測定値に基づいて上記のようにΔt−Δs(或いは、Δs−Δt)を求めるようにしているので、各ノード局におけるコマンドを受信してからレスポンスを作成し、送信するまでに要する通信処理時間のばらつきの影響が解消される。すなわち、各ノード局は、内装される通信IC固有の性能のばらつきがあるので、測定装置で計測した測定値は、距離に応じて決定されるフレームを伝送するために要する時間と、上記通信IC固有の性能に基づいて決定されるノード局内での処理時間を含む。そこで、2つの判定対象局の設置位置の距離の差が短く、通信IC固有の性能に基づくノード局内での処理時間の差が大きい場合、測定装置に近い判定対象局についての測定値の方が長くなることがあり得る。
そこで、Δt−Δs(或いは、Δs−Δt)を演算すると、ΔtとΔsには、それぞれ同一対象局について求めた測定値が含まれるので、当該演算処理は、同一対象局についてそれぞれの測定装置で求めた測定値の差を求めることも実行されるので、通信IC固有の性能に基づいて決定されるノード局内での処理時間は相殺される。よって、最終的に演算処理して求められた値は、当該ノード局内での処理時間の影響が無く、フレーム伝送に基づく時間により決定されることになり、2つの判定対象局の相対位置関係を正確に判定できる。
そして、判定対象となるネットワークに加入するノード局の全ての組み合わせについて、位置関係を求めると、ある1つのノード局に着目した場合、そのノード局を基準に一方の測定装置側に位置するノード局と、他方の測定装置側に位置するノード局とを分けることができる。よって、着目するノード局を順次替えることで、結果として全てのノード局の位置関係を特定することができる。係る全てのノード局の位置関係の特定処理は、たとえば、一方の測定装置を基準にし、判定対象の2のノード局のうちその一方の測定装置に近い方のノード局を加点(たとえば+1)することを全ての組み合わせについて行なうことで、加点された総得点が最も大きい値を採ったノード局が、一方の測定装置に最も近い位置にあるといえる。よって、総得点の高い順に並べることで、ノード局の位置関係を特定できる。もちろん、全てのノード局の位置関係の特定方法は、上記のものに限るものではない。
このように、全てのノード局の位置関係を特定することができるので、その位置関係の情報に基づいてネットワーク構成図を作成すると、実際のネットワークの配置状況に一致したネットワーク構成図が作成できる。よって、ユーザは、視覚的に各ノード局の位置関係を知ることができる。
また、2つの測定装置は、それぞれ独立して各ノード局に対してコマンドを発信し、レスポンスを受信するまでの時間を計測して測定値を得るので、2つの測定装置の同期を取る必要がない。
(2)フィールドネットワークは、マスタ−スレーブ方式のフィールドネットワークであって、測定装置の1つはマスタにより構成され、測定装置の他の1つは、終端装置の設置位置に取り付けるものであり、他の1つの測定装置は、マスタから送信されたメッセージに従い、指定されたノード局に対する測定値を求め、測定結果をマスタに返信するように構成することができる。終端装置(実施形態では、終端抵抗器)の設置位置に取り付ける測定装置は、終端装置と交換してネットワークケーブルの端部に接続するようにしてもよいし、終端装置に機能として組み込まれていてもよい。マスタは、自己が測定して得られた測定値と、他の測定装置が測定した測定値とを記憶保持する。よって、マスタは、その記憶した2つの測定装置により測定値を位置関係判定装置に渡し、そこにおいてネットワークに加入するノードの位置関係を特定する。マスタが位置関係判定装置を兼用する場合には、マスタにて位置関係を求めるので、たとえば、ネットワーク構成図を作成するツール装置は、そのマスタが求めた位置関係を取得し、適切なネットワーク構成図を作成することになる。
(3)フィールドネットワークには、リピータが加入され、そのリピータの下位に接続される支線ネットワークケーブルに複数のノード局が接続された構成を採り、その支線ネットワークケーブルに接続された複数のノード局の接続関係は、前記マスタと、その支線ネットワークの端部に接続される測定装置でそれぞれ求めた測定値に基づいて求めることができる。
(4)フィールドネットワークには、リピータが加入され、そのリピータの下位に接続される支線ネットワークケーブルに複数のノード局が接続された構成を採り、その支線ネットワークケーブルに接続された複数のノード局の接続関係は、そのリピータと、その下位に接続されたネットワークケーブルの端部に接続される測定装置でそれぞれ求めた測定値に基づいて求めるように構成することもできる。
(3),(4)の発明によれば、幹線ネットワークから分岐した支線ネットワークを有するネットワークシステムでも、ネットワークシステムに加入するノード局の位置関係を特定することができる。(4)の発明のように、リピータに測定装置を組み込むことで、リピータの下位に接続されたノード局は、リピータと終端に設けた測定値とがそれぞれ求めた測定値に基づいて位置関係を特定することができるので、リピータにおけるリピータ処理に要する時間の影響が無くなり、より正確に位置関係を特定することができる。
(5)測定値は、予め設定した回数だけコマンドの送信,レスポンスの受信処理を実行し、各回で取得した時間のトータルとするとよい。複数のコマンド−レスポンスのトータル時間で比較するためサンプル時間が大きくとれ、簡易に差分を求め、位置関係を判定することができる。
本発明では、バス型のフィールドネットワークにおいて、ネットワークに接続されるノード局(スレーブ,リピータ等)の配置順(位置関係)を特定することができる。
図2は、本発明が適用されるネットワークシステムの一例を示している。このネットワークシステムは、FAネットワークの一種で、ライン内の装置制御を行なうためにPLCと種々のフィールド機器の間で通信を行なうためのネットワークであり、CC−Link,CC−Link/LT,デバイスネットなどで実現される。そして、本実施形態は、バス型のフィールドネットワークを構成する。
PLC10のマスタユニット11は、幹線ネットワークケーブル1の一端に接続される。この幹線ネットワークケーブル1に、1または複数のスレーブ20が接続されるとともに、幹線ネットワーク1の他端に終端抵抗器40が接続される。また、幹線ネットワークケーブル1から分岐して支線ネットワークケーブル6を配線する場合、その分岐点にリピータ30を配置することができる。そして、リピータ30の下位に接続された支線ネットワークケーブル6には、1または複数のスレーブ20が接続されるとともに、支線ネットワークケーブル6の他端に終端抵抗器40が接続される。なお、リピータ30を設けることなく、T分岐コネクタ等を用いて幹線ネットワークケーブル1に支線ネットワークケーブルを接続して分岐する場合もある。
さらに、ツール装置50が、PLC10に接続される。図示の例では、ツール装置50は、PLC10に対して直接ケーブルを接続しているが、ネットワークを経由して接続することもできる。
幹線ネットワークケーブル1の全長は、リピータ30が存在しない場合、通信速度にもよるが最大500mにも及ぶことができる。そのため、各スレーブ20は、生産現場における生産ラインの配置レイアウトに応じて広範囲における適宜箇所に設置され、しかも、一旦配置した後で生産ラインの変更等により、スレーブの追加・削除や設置位置の変更があることから、実際にスレーブ等の設置位置に行き、各スレーブのノードアドレスを確認することは現実的でない。そこで、以下に示す仕組みにより、ツール装置が各スレーブ20,リピータ30の位置関係を取得し、実際の位置関係にあったネットワーク構成図を作成し、表示できるようにした。
図3は、PLC10とツール装置50の接続関係とその内部構成を示している。ツール装置50は、ハードウェアの観点からは一般的なパーソナル・コンピュータであり、Windows(登録商標)などのオペレーティング・システム上で稼動するアプリケーション・プログラムによって、本装置の各機能が実現されている。従って、図3に示すように、ツール装置50は、ハードウェア構成としては、各種の処理を実行するプロセッサ(MPU)50aと、プロセッサ11が処理を実行する際にワークエリアとして使用するメモリ(RAM)50bと、キーボード,ポインティングデバイス等の入力装置50cと、表示装置50dと、外部装置と接続するための外部インタフェース50eと、を備える。図示省略するが、各種の情報を格納するデータベースとしてのハードディスクも備えている。外部インタフェース50eは、通信インタフェースであり、PLC10(CPUユニット12)と接続され、本発明との関係でいうと、スレーブ,リピータの位置関係に関する情報の収集命令を送ったり、収集した取得したりする。
よく知られているように、PLC10は、制御プログラムに基づいて演算実行するCPUユニット、センサやスイッチなどの入力機器を接続してそれらのオン・オフ信号を入力信号として取り込む入力ユニット、アクチュエータやリレーなどの出力機器を接続してそれらに対して出力信号を送り出す出力ユニット、ネットワークに接続された他の装置とデータの送受を行なう通信ユニット、マスタスレーブ通信をするためのマスタユニット、各ユニットに電源を供給する電源ユニット、などの複数のユニットを組み合わせることにより構成されている。図3では、上記の各ユニットのうち、本実施形態に関係するCPUユニット12とマスタユニット11とを記載した。
CPUユニット12は、ユーザプログラム,IOリフレッシュ,周辺処理をサイクリックに実行するMPU12aと、そのMPU12aの実行時にワークメモリや、IOデータ等を格納するIOメモリ等のメモリ12bと、外部装置と接続するための外部インタフェース12cと、PLCバスに接続するPLCバスインタフェース12dと、動作状態や異常/正常などを示すLED表示部並びにアドレスの設定などを行なうための設定スイッチ等の入出力部12eと、を備えている。なお、基本的なハードウェア構成等は、従来のCPUユニットと同様であるので、その詳細な説明を省略する。
マスタユニット11は、フィールドバスである幹線ネットワークケーブル1に接続され、実際にデータの送受を行うネットワーク通信部(通信インタフェース)11cと、そのネットワーク通信部11cを介してマスタ−スレーブ間通信をし、スレーブ20,リピータ30との間でI/Oデータの送受を行なったり、所定のコマンドの送信並びにそれに基づくレスポンスの受信を行なったり、各種の制御を行うMPU11a(必要に応じてマスタ用ASICが実装される)と、各種の制御実行時にワークエリア等として使用されるメモリ(RAM)11bと、上記制御を行なうプログラムや、各種の設定データ等が格納されたEEPROM(図示せず)と、他のユニット(例えば、CPUユニット)とPLCバスを介して通信を行うためのPLCバスインタフェース11dと、動作状態(通信状態)や異常/正常などを示すLED表示部並びにアドレスの設定などを行なうための設定スイッチ等の入出力部11eと、を備えている。なお、基本的なハードウェア構成等は、従来のマスタユニットと同様であるので、その詳細な説明を省略する。
スレーブ20は、図4(a)に示すように、フィールドバス用の通信ケーブル(幹線ネットワークケーブル1,支線ネットワークケーブル6)に接続され、実際にマスタユニット10との間でI/Oデータや各種メッセージ等の送受を行うネットワーク通信部20cと、そのネットワーク通信部20cを介して、取得したI/Oデータの送受を行なったり、所定のコマンドの受信並びにそれに基づくレスポンスの送信を行なったり各種の制御を行うMPU20a(必要に応じてスレーブ用ASICが実装される)と、各種の制御実行時にワークエリア等として使用したりIOデータを格納したりするメモリ20bと、上記制御を行うプログラムや、各種の設定データ等が格納されたEEPROM(図示せず)と、入力機器や出力機器等の外部IO機器と接続しI/Oデータの送受を行うI/Oインタフェース20eと、動作状態(通信状態)や異常/正常などを示すLED表示部並びにノードアドレスの設定などを行うための設定スイッチ等の入出力部20dと、を備えている。なお、スレーブ20の構成並びに作用効果は、従来のものと同様であるので、その詳細な説明を省略する。
リピータ30は、図4(b)に示すように、上位側のフィールドバス用の通信ケーブル(幹線ネットワークケーブル1等)に接続される第1ネットワーク通信部30cと、下位側のフィールドバス用の通信ケーブル(支線ネットワークケーブル6等)に接続される第2ネットワーク通信部30dと、両ネットワーク通信部30c,30d間に実装され、伝送されるデータ(信号)に対して整形処理その他の所定の処理や各種の制御を行うMPU30a(必要に応じてリピータ用ASICを実装する)と、上記制御を行うプログラムや、各種の設定データ等が格納されたEEPROM(図示せず)と、動作状態(通信状態)や異常/正常などを示すLED表示部並びにノードアドレスの設定などを行うための設定スイッチ等の入出力部30eと、を備えている。なお、リピータ30の構成並びに作用効果は、従来のものと同様であるので、その詳細な説明を省略する。
本実施形態では、終端抵抗器40に替えて、図5に示す測定ツール装置60を接続し、マスタユニット11と測定ツール装置60とが、それぞれスレーブ20,リピータ30に向けて送信するコマンドとそのレスポンスにより得られた情報から、各スレーブ20,レスポンス30の位置関係を検出する。測定ツール装置60は、フィールドバス用の通信ケーブル(幹線ネットワークケーブル1,支線ネットワークケーブル6)に接続され、ネットワークに加入する他の機器との間で各種メッセージ等の送受を行うネットワーク通信部60cと、所定のコマンドの受信並びにそれに基づくレスポンスの送信を行なったり各種の制御を行ったりするMPU60aと、各種の処理実行時にワークエリア等として使用するメモリ60bと、上記位置関係検出のための情報を取得するためのプログラムや、各種の設定データ等が格納されたEEPROM(図示せず)と、動作状態(通信状態)や異常/正常などを示すLED表示部並びにノードアドレスの設定などを行うための設定スイッチ等の入出力部60dと、を備えている。すなわち、この測定ツール装置60もノードアドレスを持ち、ネットワーク上の一つのノード局となる。よって、終端抵抗側に測定ツール装置60が接続された場合、新規スレーブが追加される場合と同様に、マスタユニット11は測定ツール装置60が接続されたことを認識する。なお、図2に示すネットワークシステムの場合、終端抵抗器50は2個(幹線ネットワークケーブル1の端部と支線ネットワークケーブル6の端部)存在しているので、最終的には、測定ツール装置60を各終端抵抗器50と交換することになるが、複数の測定ツール装置60を用意し、複数の終端抵抗器と交換しても良いし、1つずつ交換していっても良い。
位置関係を特定する対象として2つのノード局(スレーブ20及びまたはリピータ30)を選択し、マスタユニット11と、測定ツール装置60は、それぞれその選択した2のノード局に対して、コマンドを送り、レスポンス返ってくるまでの時間を計測する。すなわち、図6に示すように、判定対象(特定対象)の2つのノード局(第1判定対象局と第2判定対象局)が、ノードアドレス#1,#2のスレーブ20の場合、マスタユニット11は、それぞれのスレーブに対してコマンドを発信し、発信してからレスポンスを受信するまでの時間t1,t2を測定し、同様に測定ツール装置60は、それぞれのスレーブに対してコマンドを発信し、発信してからレスポンスを受信するまでの時間s1,s2を測定する。
ここで、送信するコマンドのデータフォーマットは、たとえば図7(a)に示す構造を採り、また、返信するレスポンスのデータフォーマットは、たとえば図7(b)に示す構造を採る。サービスコードに、予め決めた計測のためのコードデータを格納することで、位置関係判定のためのコマンド−レスポンスの通信を行なう。また、スレーブやリピータは、ネットワークに加入処理をする際、マスタユニットに対して自己のアドレスを伝え、更にリピータは、自己の下位の支線ネットワークケーブルに接続されるスレーブ(リピータ)のアドレスを取得しているので、それをマスタユニットに伝えるので、マスタユニット11は、ネットワークに加入しているスレーブ,リピータのアドレスを知っていることになる。よって、マスタユニット11は、上記のコマンドを送信する場合、上記加入処理の際にマスタユニットが取得した情報に基づいて対象とするアドレスを送信先アドレスに格納する。また、測定ツール装置60は、マスタユニット11からその対象となるアドレスを取得することで、コマンド−レスポンス通信を行なうことができる。また、上位のツール装置50は、マスタや、リピータからデータを受け取ることで、アドレスや位置関係を知ることができる。
上記のようにして各時間を計測したならば、次に、第1判定対象局(図6では、ノードアドレス1番:#1)に対する測定値(t1,s1)から第2判定対象局(図6では、ノードアドレス2番:#2)に対する測定値(t2,s2)をそれぞれ減算することで、測定値の差分を求める。その差分の算出結果は、原則として、第1判定対象局の方が近い場合には、負の値となり、第2判定対象局の方が近い場合には、正の値となる。よって、得られた測定値を下記式に代入すると、
y=(t1−t2)−(s1−s2)
yの値が負ならば、第1判定対象局である#1がマスタユニット11側に位置し、第2判定対象局である#2が測定ツール装置60側に位置する(マスタユニットから見ると、幹線ネットワークケーブル1に、#1,#2の順に並ぶ位置関係(図6に図示したものと同じ状態)にある)と判断でき、yの値が正ならば、第2判定対象局である#2がマスタユニット11側に位置し、第2判定対象局である#1が測定ツール装置60側に位置する(マスタユニットから見ると、幹線ネットワークケーブルに、#2,#1の順に並ぶ位置関係にある)と判断できる。
更に、上記の判定式を用いることで、各スレーブ,リピータにおけるコマンドを受信してからレスポンスを作成し、送信するまでに要する通信処理時間のばらつきの影響を解消することができる。すなわち、各スレーブ・リピータは、内装される通信IC固有の性能のばらつきがあるので、計測したコマンド−レスポンスの時間(t1,t2,s1,s2)は、いずれもの距離に応じて決定されるフレームを伝送するために要する時間と、上記通信IC固有の性能に基づいて決定される局内での処理時間を含む。そこで、仮に、図6に示すように、#1のスレーブ20がマスタユニット11側に位置している場合でも、#1のスレーブ20の通信IC固有の性能に基づく局内での処理時間が非常に長く、逆に#2のスレーブ20の局内での処理時間が非常に短い場合、それぞれの局内の処理時間にフレーム伝送に要する時間を加えた測定値t1,t2は、t1>t2になることがあり得る。
しかし、本実施形態では、マスタユニット11に加え、測定ツール装置60を設け、1つの判定対象局に対して、マスタユニット11における測定値と、測定ツール装置60における測定値を得るようにし、上記の判定式から明らかなように、その同一対象局について求めた両測定値(t1とs1,t2とs2)の差を採ることから、通信IC固有の性能に基づいて決定される局内での処理時間は相殺され、結局、判定式により求められたyの値は、当該局内での処理時間の影響が無く、フレーム伝送に基づく時間により決定されることになる。つまり、第1判定対象局についての測定値であるt1とs1に着目すると、判定式yでは、“t1−s1”が演算処理され、第2判定対象局についての測定値であるt2とs2に着目すると、判定式yでは、“−t2−(−s2)”が演算処理されることになり、各測定値に含まれる局内での処理時間は、減算処理されて0になるのである。
本実施形態では、実際には一回だけでは差がほとんどないので、例えば100回分のトータル時間を計測し、それを上記の各測定値t1,t2,s1,s2とする。更に、その計測を複数回(N回)繰り返することで、下記の測定値を得る。
そして、そのようにして得られたN回分の測定値に対して平均処理を行い、下記の判定条件式に従い、計測誤差成分を消した状態で、各判定対象局の位置関係を特定する。
ネットワークに加入するスレーブ及びリピータの中の任意の2つのノード局における全ての組み合わせに対し、上記の位置関係の判定処理を行なう。つまり、ノードアドレスi番とノードアドレスj番のノード局を判定対象局に選択し、その選択した組み合わせの判定対象局に対して上述した測定値t1,t2,s1,s2を測定する。そして、得られた測定値(実際には、複数回のトータル時間を計測し、その計測をN回繰り返す)を下記のソートアルゴリズム判定式に従って各組み合わせの要素m(i,j)について“1/0”を決定する。この判定式は、ノードアドレスi番のノード局が、j番のノード局よりもマスタユニットに近いことを意味する。
このようにして、全ての組み合わせの要素について、1/0を求める他ならば、図8に示すようにマトリクスを作成し、各行の和を計算する。なお、このマトリクスは、概念を示すものであり、実際にはマトリクスを作成せずに、右の欄外に記載した評価値Sを求める評価式を用いて各ノードアドレスの評価値を算出すればよい。そして、評価値Siの大きい順にソートすることで、各ノード局をマスタユニット11から近い順に並べることができ、これにより、各ノード局(スレーブ,リピータ)の位置関係を特定することができる。
一例を示すと、例えば図9に示すように、マスタユニット11側から順に、ノードアドレス#4,#1,#2,#3のスレーブ20が幹線ネットワークケーブルに接続されている場合、全ての組み合わせについて測定値を求め、判定式に従って、各要素について1/0を決定する。すると、図10に示すようなマトリクスが得られ、各行の和を計算すると、図10に示すように、各評価値は、
S1=2
S2=1
S3=0
S4=3
となる。よって、各スレーブ20は、図9に示す順番に並んでいることを認識することができる。
また、図9では、各スレーブが幹線ネットワークケーブルに接続された単純なネットワーク構成について示しているが、図2に示すような支線ネットワークケーブルを有するネットワーク構成のものについても、同様にして位置関係を特定することができる。すなわち、例えば図2に示すものの場合、マスタユニット11は、支線ネットワークケーブル6に接続された2つのスレーブ20がリピータ30の配下であることを認識しているため、支線ネットワークケーブル6の端部に接続された測定ツール装置60とマスタユニット11とが、当該2つのスレーブを判定対象局とし、上記と同様の処理をすることで位置関係を特定することができる。また、幹線ネットワークケーブルに接続されたリピータの位置は、幹線ネットワークケーブルに接続された他のスレーブを含め、位置関係を特定することができる。
さらに、リピータにも測定ツール機能を実装すると、リピータ処理による誤差が無くなり分岐先の位置関係もさらに正確に把握できるので好ましい。
なお、上述した説明では、2つの判定対象局を選択し、各判定対象局に対するコマンド−レスポンスの時間を測定し、得られた測定値に基づいて2つの判定対象局のいずれがマスタ局に近い(遠い)かの位置関係を求めるようにしたが、具体的なコマンド−レスポンスの時間の測定は、2つの判定対象局の組み合わせが決まる都度それぞれに対して行なっても良いし、予め各スレーブやリピータに対して測定値(100回分の計測+その計測をN回分)を求めておき、2つの判定対象局の位置関係を求める際に、その予め求めておいた計測値を利用することもできる。
次に、上記の位置関係の判定処理を行なうための、各装置の具体的な機能(アルゴリズム)を説明する。上位PCで構成されるツール装置50は、図11に示すフローチャートを実行する機能を備える。すなわち、ツール装置50は、マスタユニットに対し位置関係の測定指示メッセージを送信する(S1)。そして、ツール装置50は、そのメッセージに対するレスポンスとして、マスタユニット(必要に応じてリピータ)から位置関係データを受信する(S2)。この位置関係データは、上述した各マスタユニットや測定ツール装置で取得した測定値に関するデータである。
ツール装置50は、取得したデータに基づいて、ネットワークに加入するスレーブやリピータなどのノード局の位置関係を求め、求めた位置関係に基づき実際の配置状況と一致するネットワーク構成図を作成し、表示装置に表示する(S3)。なお、マスタから送られてくる位置関係データが、測定値ではなく、マスタ側で各ノード局の位置関係を求めた結果の場合、ツール装置50は、その位置関係のデータに基づいて実際の配置状況と一致するネットワーク構成図を作成し、表示装置に表示することになる。
マスタユニット11は、図12に示すフローチャートを実施する機能を備える。すなわち、マスタユニット11は、上位PCであるツール装置50からの測定指示を受信すると(S11)、各スレーブや、リピータに対して順次位置関係を求めるためのコマンドを送信し、その送信からレスポンスを受信するまでの時間tiを求め、メモリ11bに保存する(S12)。この時間t1は、実際には、同じネットワークアドレスに対して、所定回数送信することで複数回分のデータを取得するので、その複数回分のデータを保存する。
次に、マスタユニット11は、ネットワークケーブルの端部に接続した測定ツール装置に向けて、測定指示のメッセージを送る(S13)。この測定指示のメッセージには、測定対象となるノード局を特定するためのノードアドレスなどの情報が含まれる。その測定指示のメッセージを受信した測定ツール装置は、後述する処理を実行して各スレーブや、リピータに対する測定値を求め、その測定結果をレスポンスとして返してくる。そこで、マスタユニット11は、その測定ツール装置60から送られてきた測定結果を受信する(S14)。この受信した測定結果は、メモリ11bに格納する。
次に、マスタユニット11は、リピータの有無を判断する(S15)。これは、リピータがネットワークに加入する際に、その情報をノードアドレスと共にマスタユニットに伝えてくるので、マスタユニット11は、その情報からリピータの有無を知ることができる。そして、マスタユニット11は、リピータが存在する場合(S15でYes)には、そのリピータに対して測定指示のメッセージを送信する(S16)。そして、マスタユニット11は、リピータから送られてくる測定結果を受信し、メモリ11bに格納する(S17)。
なお、ここでは、リピータにも測定ツール装置・機能が実装され、リピータの下位に加入されたスレーブ等の位置関係は、そのリピータと、支線ネットワークケーブル6の端部に接続された測定ツール装置とでそれぞれ測定した測定値に基づき位置関係を特定するものに適用するための処理ステップであり、リピータに測定ツール装置の機能を実装しない場合には、この処理ステップを省略できる。
マスタユニット11は、自己で求めた測定結果並びに測定ツール装置(リピータからのも含む)から取得した測定結果に基づき、位置関係を求め(S18)、求めた結果をレスポンスとして上位PCであるツール装置50へ送信する(S19)。処理ステップS18における位置関係の算出は、取得した各計測値に基づいて、最終的な各スレーブやリピータの位置関係を求める評価値Siを算出し、位置関係を特定できるまでの情報を求めるようにしても良いし、所定回数分の測定値の総和を求めるだけでもよい。さらには、マスタユニット11では、単に測定値を計測したり、測定ツール装置が求め測定値を受信したりしたものを保存し、所定のタイミングでそれらの測定値をツール装置50へ送るだけでも良い。その場合には、処理ステップS18は無くとも良い。つまり、図12におけるフローチャートの内、S15〜S17の処理ステップや、S17の処理ステップは、設けなくても良い。
リピータ30に測定ツール装置・機能を実装した場合、当該リピータ30は、図13に示すフローチャートを実行する機能を有する。すなわち、リピータ30は、マスタユニット11からの測定指示を受信すると(S41)、各スレーブや、リピータに対して順次位置関係を求めるためのコマンドを送信し、その送信からレスポンスを受信するまでの時間tiを求め、メモリ11bに保存する(S42)。この時間t1は、実際には、同じネットワークアドレスに対して、所定回数送信することで複数回分のデータを取得するので、その複数回分のデータを保存する。
次に、リピータ30は、ネットワークケーブルの端部に接続した測定ツール装置に向けて、測定指示のメッセージを送る(S13)。この測定指示のメッセージには、測定対象となるノード局を特定するためのノードアドレスなどの情報が含まれる。その測定指示のメッセージを受信した測定ツール装置は、後述する処理を実行して測定対象のネットワークケーブルに加入する各スレーブや、リピータに対する測定値を求め、その測定結果をレスポンスとして返してくる。そこで、リピータ30は、その測定ツール装置60から送られてきた測定結果を受信する(S44)。この受信した測定結果は、メモリ30bに格納する。
次に、リピータ30は、他のリピータの有無を判断する(S45)。これは、リピータがネットワークに加入する際に、その情報をノードアドレスと共にマスタユニット(上位のリピータ)に伝えてくるので、リピータ30はその情報から下位のネットワークにリピータが加入しているか否かを判断する。リピータ30は、リピータが存在する場合(S45でYes)には、そのリピータに対して測定指示のメッセージを送信する(S46)。そして、リピータ30は、当該メッセージを送信した下位に存在するリピータから送られてくる測定結果を受信し、メモリ30bに格納する(S47)。
リピータ30は、自己で求めた測定結果並びに測定ツール装置(他のリピータからのも含む)から取得した測定結果に基づき、位置関係を求め(S48)、求めた結果をレスポンスとしてマスタユニット11へ送信する(S49)。この処理ステップS48における位置関係の算出は、取得した各計測値に基づいて、最終的な各スレーブやリピータの位置関係を求める評価値Siを算出し、位置関係を特定できるまでの情報を求めるようにしても良いし、所定回数分の測定値の総和を求めるだけでもよい。さらには、リピータ30では、単に測定値を計測したり、測定ツール装置が求め測定値を受信したりしたものを保存し、所定のタイミングでそれらの測定値をマスタユニット11へ送るだけでも良い。また、マスタユニット11の場合と同様に、図13におけるフローチャートの内、S45〜S46の処理ステップや、S48の処理ステップは、設けなくても良い。
測定ツール装置60は、図14に示すフローチャートを実行する機能を有する。測定ツール装置60は、自己が接続されたネットワークケーブルの他方の端部に接続されたマスタユニット或いはリピータから測定指示のメッセージを受信すると(S21)、受信したメッセージに含まれた測定対象のノードアドレスに基づき、各スレーブ(リピータを含む)に対し、順次位置関係を求めるためのコマンドを送信し、その送信からレスポンスを受信するまでの時間siを求め、メモリ60bに保存する(S22)。そして、測定ツール装置60は、処理ステップS21で受信したメッセージの送信元のマスタユニット或いはリピータに対して、レスポンスとして測定結果を送信する(S23)。
スレーブ20(リピータ30も含む)は、図15に示すフローチャートを実行する機能を有する。すなわち、スレーブは、マスタユニット,リピータ或いは測定ツール装置から、位置関係計測用のコマンドを受信したならば(S31)、そのコマンドの送信元に対してレスポンスを返す処理を実行する(S32)。
ネットワークに加入する各装置が、上述した各フローチャートを実行する機能を備えた場合(リピータに測定ツール機能を実装する)、例えば図16に示すようなネットワーク構成からなるシステムでは、以下に示す手順によりそれぞれの位置関係を特定することができる。まず、幹線ネットワークケーブル1に加入される4つのスレーブ20のノードアドレスは、#1から#4が図示のように割り当てられており、幹線ネットワークケーブル1に加入されるリピータ30のノードアドレスは、#5が割り当てられる。このリピータ30は、測定ツール機能M3を備えている。また、マスタユニット11も測定ツール機能M1を備え、各ネットワークケーブル1,6の端部には、終端抵抗器に替えて測定ツール装置60(M2,M4)が接続される。更に、リピータ30の下位の支線ネットワークケーブル6には、3つのスレーブ20が加入されており、それぞれのノードアドレスは、#6から#8が図示のように割り当てられている。
この場合において、ツール装置50から指示を受けたマスタユニット11は、幹線ネットワークケーブル1に加入するスレーブ(#1から#4)とリピータ30(#5)に対してコマンドを送信し、レスポンスを受信するまでの時間を測定する。マスタユニット11は、測定ツール装置(M2)に向けて、メッセージを送信し、測定ツール装置が測定した#1から#5の各測定値を測定結果として受信する。これらM1とM2で求めた測定値に基づき、#1から#5の各スレーブ,リピータの位置関係が特定できる。なお、位置関係の特定は、マスタユニットが行なっても良いし、ツール装置50が行なっても良い。
また、マスタユニット11は、#5のノード局は、リピータ30であり、しかも、測定ツール機能を実装していることを知っている(リピータ30のネットワーク加入時に、そのリピータから送られてきた情報により)。さらに、マスタ11は、そのリピータの下位の支線ネットワークケーブル6に、#6から#8のノードアドレスを持つスレーブ20が加入していることも知っている(そのスレーブ20の加入時に、スレーブから送られてくる情報により)。そこで、マスタユニット11は、リピータに対して、その下位に接続される#6から#8のノードアドレスを持つスレーブ20の位置関係を調べるための測定指示メッセージを送る。するとリピータ30(M3)は、#6から#8のスレーブに対してコマンドを送信し、レスポンスを受信するまでの時間を測定するとともに、測定ツール装置60(M4)に対して、それらのスレーブに対する測定指示メッセージを送信する。測定ツール装置60(M4)は、受信したメッセージに従い、#6から#8のスレーブに対する測定値を求め、その測定結果をレスポンスとしてリピータ30(M3)に返す。すると、リピータ30が持つM3とM4で求めた測定値に基づき、#6から#8の各スレーブの位置関係が特定できる。なお、位置関係の特定は、リピータ30が行なっても良いし、マスタユニット11が行なっても良いし、ツール装置50が行なっても良い。
そして、リピータ30は、マスタユニットに対してM3,M4で求めた測定値(リピータで位置関係を特定した場合には、その位置関係のデータ)をレスポンスとして返す。そこで、マスタユニットは、#1から#8の位置関係を特定する情報(測定値/求めた位置関係)をツール装置50に返す。これにより、ツール装置50は、図16に示す実際の配置に一致するネットワーク構成図を作成し、表示することができる。
また、上記の例では、リピータが収集した測定値等の位置関係を特定するための情報はマスタユニット11が一旦取得し、ツール装置50に渡すようにしたが、ツール装置がリピータ30に対して計測指示メッセージを送信し、そのレスポンスとしてリピータ30からツール装置へ測定結果を返すようにしても良い。すなわち、上述したように、マスタユニット11は、リピータ30が測定ツール機能を備えていることと、リピータ30の下位に3つのスレーブ(#6から#8)が加入していることを知っているので、マスタユニット11がその情報をツール装置50に通知する。ツール装置50は、マスタユニット11から取得した当該情報に基づき、#5のリピータに対して、#6から#8のスレーブの測定指示メッセージを送信する。これに基づき、リピータは所定の計測を実行し、その測定結果をツール装置50に返すことができる。