以下に、この発明の好適な実施の一形態を添付図面を参照しながら詳細に説明する。
通信マスタ局及び通信スレーブ局を含むプログラマブルコントローラシステム(PLCシステム)の全体の構成図が図1に示されている。同図に示されるように、このPLCシステムは、通信マスタ局となる通信機能を有するPLC装置1と、通信スレーブ局となる複数台の通信機能を有するI/Oターミナル装置2,2・・・とを、バス型ネットワークであるフィールドバス6により繋いで構成されている。なお、図において、4は中継装置として機能するリピータ、5はフィールドバスの終端における反射を低減する終端装置である。
図示のPLC装置1としては、パラレルバスの敷設された図示しないバックプレーン上に多数のコネクタを配置し、それらのコネクタに対して、CPUユニット、I/Oユニット、その他各種の高機能ユニット等々を任意に装着可能とした所謂ビルディングブロック型のPLC装置が採用されている。そして、特に、この例では、バックプレーン上の1のコネクタに対して通信マスタユニットを装着することにより、「通信機能を有するPLC装置」が構成されている。図では、それらのユニットのうちで、CPUユニット20及び通信マスタユニット10のみに参照符号が付されている。
通信マスタユニット10の内部構成を示すハードウェア構成図が図2に示されている。同図に示されるように、通信マスタユニット10は、通信物理層として機能する通信インタフェース(通信I/F)101と、所望の通信機能を実現するための回路をLSI化してなるマスタ用ASIC102と、CPUユニット20との間で受け渡される送受信データのバッファエリアや、後述するCPU104の演算用ワークエリア等として機能するRAM103と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのCPU104と、各種の設定データが格納される不揮発性メモリ(EEPROM)105と、各種の動作表示等を行うためのLED表示器106と、各種の設定操作等に使用される設定スイッチ107と、CPUユニット20へ通ずる内部バスへのインタフェースとして機能する内部バスインタフェース(内部バスI/F)108とを含んでいる。
当業者にはよく知られているように、この種のPLCシステムにおいては、CPUユニット20は、共通処理、I/Oリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理等を繰り返し一巡実行しており、I/Oリフレッシュ処理の実行の際には、バックプレーン上に装着されたローカルI/Oユニットとの間のみならず、通信マスタユニット10内のRAM103との間においても、I/Oリフレッシュ処理を実行する。
具体的には、CPUユニット20のI/Oメモリ内のOUTデータは、通信マスタユニット10のRAM103内のOUTエリアに書き込まれ、同RAM103のINデータは、CPUユニット20のI/Oメモリ内のINエリアに書き込まれる。
一方、後に詳細に説明するように、通信マスタユニット10と各I/Oターミナル装置2との間では、CPUユニット20のI/Oリフレッシュ動作とは非同期にフィールドバス6を介する通信が行われており、これにより各I/Oターミナル装置2と通信マスタユニット10内のRAM103との間においても、一種のI/Oリフレッシュ処理が実行される。
具体的には、I/Oターミナル装置2から受信されたINデータは、通信マスタユニット10内のRAM103のINエリアに書き込まれ、CPUユニット20はI/Oリフレッシュ動作により通信マスタユニット10から取り込む。そしてCPUユニット20はINデータをもとにユーザプログラムを実行し、その実行結果をOUTデータとする。CPUユニット20はI/Oリフレッシュ動作によりOUTデータを通信マスタCPUユニットへ送り出す。通信マスタユニット10はOUTデータを同RAM103のOUTエリアに格納する。そして通信マスタユニット10は、I/Oリフレッシュとは非同期に、同RAM103のOUTエリアのOUTデータを該当するI/Oターミナル装置2へ送信する。
このようにして、CPUユニット20内のI/Oメモリと各I/Oターミナル装置2,2・・との間において、通信マスタユニット10を経由してI/Oリフレッシュ処理が実行され、その結果として、リモート設置された各I/Oターミナル装置2,2・・・に接続されたI/O機器をCPUユニット20で制御することが可能となるのである。
次に、I/Oターミナル装置内部のハードウェア構成図が図3に示されている。同図に示されるように、I/Oターミナル装置2は、通信物理層として機能する通信インタフェース(通信I/F)201と、所望の通信機能を実現するための回路をLSI化してなるマスタ用ASIC202と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのCPU203と、各種の設定データが格納される不揮発性メモリ(EEPROM)204と、各種の動作表示等を行うためのLED表示器205と、各種の設定操作等に使用される設定スイッチ206と、I/O機器7との間でデータをやり取りするためのI/O部207と、装置全体に安定化直流電源を供給するための変圧機能を有する直流電源部208とを含んでいる。
そして、通信マスタユニット10と各I/Oターミナル装置2との間では、通信マスタユニット10を通信マスタ局、各I/Oターミナル装置2を通信スレーブ局とする1対Nのマスタ・スレーブ通信を通じて、I/Oデータのやり取りが行われる。
具体的には、通信マスタユニット10から受信されるOUTデータは、I/Oターミナル装置2のI/O部207を介してI/O機器7(出力機器)へと送り出され、I/O機器7(入力機器)からI/O部207を介してI/Oターミナル装置2に取り込まれたINデータは、通信マスタユニット10へ宛てて送信される。
次に、中継装置として機能するリピータ内部のハードウェア構成図が図4に示されている。同図に示されているように、リピータ4は、マスタ側とスレーブ側にそれぞれ接続される通信インタフェース401,402と、両通信インタフェース401,402間に実装され、伝送されるデータ(信号)に対して所定の処理を行うリピータ用ASIC403と、マイクロプロセッサを主体として構成されて装置全体を統括制御するためのCPU407とを備えている。さらに、入力電圧(24V)を5Vに降圧し、リピータ4内の各素子に電源供給する電源部404を備えている。さらにまた、動作状態(通信状態)や異常/正常などを示すLED表示部405並びにノードアドレスの設定などを行うための設定スイッチ406を備えている。
本発明におけるリピータ(中継局)の遅延低減化は、ネットワーク上における各中継局がネットワーク上における設置位置(すなわち、ネットワーク構成)を認識することが好ましい。上述のように構成されたネットワークにおいて、送信される情報フレームの探索経路そのためのネットワーク構成情報教示方法の一例から説明する。
先に、図1を参照しつつ説明した通信マスタ局(M)、通信スレーブ局(S)、中継局(R)は、PLCシステムのネットワーク上で固有のアドレスを保持しており、各機器の個別識別は、このアドレスにより行われる。そして、ネットワークの立ち上げ管理から通常通信に至るまでには、本実施形態のネットワーク構成情報教示方法が適用される。
先ず、マスタ局(M)から一斉同報送信(1対N通信)される第1のフレームを媒介として、中継局(R)から中継局(R)及び中継局(R)からスレーブ局(S)へと局アドレスを受け渡すことで、中継局(R)及びスレーブ局(S)のそれぞれに、ネットワーク内における「自局の上位側隣接局情報」を生成保存させる動作が行われる。
この動作は、電源投入時等のように、マスタ局がネットワークに接続された中継局並びにスレーブ局を認識する以前の段階で行ってもよいし、ネットワーク運用中のように、マスタ局がネットワークに接続された中継局並びにスレーブ局を認識したのちの段階で随意に行ってもよい。
この実施形態では、探索フレーム(Beacon_Frame:以下、BFと略記)が使用される。BFのフレームフォーマットを示す構成図が図5に示されている。
同図に示されるように、フィールドバス6を流れるBFには、BFであることを識別するためのBF識別ヘッダ501と、中継局を通過するたびにその中継局のアドレス値により更新される中継局アドレス502と、中継局を通過するたびにその値が+1インクリメントされる中継局カウンタ503と、BFの通信転送速度を示す伝達速度504とが少なくとも含まれている。
通信マスタ局(M)は、BFがネットワークに接続されている全ての中継局及び通信スレーブ局(S)に伝わるようにBFを一斉同報送信する。すると、一斉同報送信されたBFは、直接にスレーブ局(S)へ、又は、1もしくは2段以上の中継局を経由してスレーブ局へと到達する。このとき、各経路を流れるBFはその経路の線路遅延時間、及び通過中継局の中継遅延時間をもって僅かに遅れるものの、全体としてはほぼ同時刻に各中継局及び各スレーブ局に到達すると考えることができる。
フレームの送受信シーケンスの説明図(その1)が図6に示されている。同図に示されるように、マスタ局(アドレス10)からは、中継局アドレスの値が「10」及び中継局カウンタの値が「0」の状態にあるBFがネットワーク上に一斉同報送信される。
この一斉同報送信されたBFを中継局(アドレス100)がその上位ポートから受信すると、BF内の中継局アドレス502の値「10」及び中継局カウンタ503の値「10」はBFから読み出され、中継局(アドレス100)内のメモリに格納保持される。これにより、中継局(アドレス100)は、上位側に1つ隣接する局の局アドレスが「10」であるとして、自局の相対位置を認識することができる。この場合、中継局(アドレス100)が生成する「自局の上位側隣接局情報」の内容は、「自局の上位側隣接局情報」(局アドレス「10」)となる。
その後、BF内の中継局アドレス502の値は、「10」(マスタ局アドレス:上位側へ1つ隣接する局の局アドレス)から「100」(中継局アドレス:自局アドレス)へと置き換えられる。同時に、中継局カウンタ503の値「0」は+1インクリメントされて「1」となる。こうして、中継局アドレス502の値が書き替えられ、かつ中継局カウンタ503の値が+1インクリメントされた新たなBFが、次段に位置するスレーブ局(アドレス101)へとその下位ポートから送信される。
中継局(アドレス101)から送信されたBFをスレーブ局(アドレス101)が受信すると、BF内の中継局アドレス502の値「100」及び中継局カウンタ503の値「1」はBFから読み出され、スレーブ局(アドレス101)内のメモリに格納保持される。これにより、スレーブ局(アドレス101)は、上位側に1つ隣接する局の局アドレスが「100」であるとして、自局の相対位置を認識することができる。この場合、スレーブ局(アドレス101)が生成する「自局の上位側隣接局情報」の内容は、上位側に1つ隣接する局の局アドレスが「100」であるから、「自局の上位側隣接局情報」(局アドレス「100」)となる。
このように、情報保存フェーズ(フェーズI)が実行されると、マスタ局から一斉同報送信されるBFを媒介として、マスタ局(アドレス10)から中継局(アドレス100)、中継局(アドレス100)からスレーブ局(アドレス101)へと局アドレスを受け渡すことで、中継局(アドレス100)及びスレーブ局(アドレス101)のそれぞれに、ネットワーク内における自局の上位側隣接局情報と中継局カウンタ値とが生成保存されることなる。
なお、図6に示される例にあっては、マスタ局とスレーブ局との間には中継局が1段しか介在されていないが、それらの局間に2段以上の中継局が介在されていたり、あるいは、マスタ局とスレーブ局との間に中継局が全く介在されていない場合においても、各中継局並びに各スレーブ局の動作は同様である。
中継局のBF受信時の処理フロー(その1)が図7に示されている。なお、このフローに示される処理は、図4に示されるリピータ4内のCPU407により実行される。
同図において、処理が開始されると、まず、フレーム受信待機処理が実行される(ステップ701)。この状態において、何らかのフレームが受信され(ステップ702YES)、そのフレームのBF識別ヘッダ501に基づいて、そのフレームがBFであると判定されると(ステップ703YES)、以下の処理(ステップ704〜709)が順次に実行される。
先ず、フレームの解析が行われて、当該フレームの構造が認識される(ステップ704)。次いで、フレーム内のアドレス情報(中継局アドレス502)、カウンタ情報(中継局カウンタ503)が読み出され、所定のメモリに格納保持される(ステップ705,706)。次いで、フレーム内のアドレス情報(中継局アドレス502)が自アドレスに置換される(ステップ707)。次いで、フレーム内のカウンタ情報(中継局カウンタ503)が、+1インクリメントされた値で置換される(ステップ708)。最後に、こうして得られた新たなフレームが、下位ポートに出力される(709)。
通信スレーブ局のBF受信時の処理フロー(その1)が図8に示されている。なお、このフローに示される処理は、図3に示されるI/Oターミナル装置2内のCPU203により実行される。
同図において、処理が開始されると、まず、フレーム受信待機処理が実行される(ステップ801)。この状態において、何らかのフレームが受信され(ステップ802YES)、そのフレームのBF識別ヘッダ501に基づいて、そのフレームがBFヘッダと判定されると(ステップ803YES)、以下の処理(ステップ804〜806)が順次に実行される。
先ず、フレームの解析が行われて、当該フレームの構造が認識される(ステップ804)。次いで、フレーム内アドレス情報(中継局アドレス502)、フレーム内カウンタ情報(中継局カウンタ503)が読み出され、「自局の上位側隣接局情報」として所定のメモリに格納保持される(ステップ805,806)。
このようにして、中継局及びスレーブ局のそれぞれに、ネットワーク内における自局の上位側隣接局情報と中継局カウンタ値とが生成保存され、この情報がマスタ局にフィードバックされることにより、マスタ局にてシステム全体の構成図が把握される。
次に、本発明の要部であるネットワーク上の中継局にて生じるリピータ遅延の低減化方法について図9〜16を参照して詳細に説明する。尚、これらの図において、符号30はマスタ局を、40a〜eはスレーブ局(その1〜5)を、50a及びbは中継局(その1及び2)を、31はネットワーク幹線を、32はネットワーク幹線から分岐しているネットワーク支線その1、そして33はネットワーク幹線から分岐しているネットワーク支線その2をそれぞれ示している。
本発明に係るPLCシステムには、以下に説明を行うマスタ局からスレーブ局に対してのみ発せられる専用フレーム(例えば、BeaconFrame, OutFrame, TrgFrame)と、スレーブ局からマスタ局に対してのみ発せられる専用フレーム(例えば、ConnectionFrame, InFrame)、双方向に発せられるフレーム(例えば、EventFrame)が存在し、中継局にて前記フレーム種類を判別し、必要方向のみに転送する中継局を特徴とするものである。
図10及び図11にて示されるように、本実施形態におけるPLCシステムは、バス型ネットワークにおいて、ネットワークを管理するマスタ局30と、I/O等を制御するスレーブ局40、及び通信フレームを整形・増幅する中継局50とから構成されている。
各フレームの基本構造が図9に示されている。同図にて示されるように、各フレームは、フレームが始まることを示すスタートコード901、フレームの種別を示すフレーム識別ヘッダ902、フレームの内容を示すフレームデータ903、及びフレームの正当性を示すチェックコード904(CRCデータ等)の4つの要素少なくとも含むものである。ネットワーク上の中継局50は、このスタートコード901を認識した時点で波形の整形を行い、他方のポートに出力を開始する。この波形の整形を行うことで、ネットワークの敷設距離を延長することが可能とされている。
しかしながら、スタートコード901を判別した段階で中継処理を行った場合、スレーブ局40からマスタ局30宛てに送信するデータも、他のスレーブ局宛てに中継が行われてしまうため、不要な中継セグメントにもデータが送信され、ネットワークの占有効率が低下してしまっていた。
図10にマスタ局30からスレーブ局40に対してのフレーム送信を行う場合が示されている。マスタ局30からスレーブ局40に対してのフレームは一斉同報的なフレームであるため、全てのフレームを同時に中継することで対応が可能である。同図にて示されるように、マスタ局30から発せられるフレームは、スレーブ局40aのみならず、中継局50aを介してスレーブ局40d、そしてスレーブ局40eへも送信される。尚、図示していないが、中継局50bを介してスレーブ局40b及びスレーブ局40cにも送信されている。
それに対して、図11にスレーブ局40からマスタ局30に対してのフレーム送信を行う場合が示されている。同図にて示されるように、例えば、スレーブ局40dからマスタ局30に対してフレーム送信する場合、中継局50aがフレームの整形・増幅を行い、マスタ局30に対してフレーム送信を行うのであるが、従来では同時に中継局50bがそのフレームを受信し、下位ポートにフレーム送信を行ってしまっていた。このため、スレーブ局40b及び40cは、マスタ30局に送信できるネットワークの空き時間が確保できずに、ネットワークの通信効率が低下してしまっていた。
図12にて上記の場合におけるネットワーク占有率が示されている。同図にて示されるように、ネットワーク支線32上に配置されているスレーブ局40dからマスタ局宛のフレームは、ネットワーク支線32から中継局50aによって中継されてネットワーク幹線31へと送り出されてマスタ局30へと送信される。ところが、マスタ局30へと送信されると共に、ネットワーク支線33上に設置されている中継局50bによって中継され、スレーブ局40bへも送信されてしまう。本来マスタ局宛てであるスレーブ局40dからのフレームがネットワーク支線32と中継局50bを経由してスレーブ局40bへも送信されてしまう。その結果、ネットワーク支線33上にスレーブ局40dからマスタ局30宛のフレームが中継されることによって余分な占有が生じてしまい、その分スレーブ局40bからマスタ局30宛のフレームの送信が遅れてしまっている。
尚、図示しないが、同様にスレーブ局40bから送信されるマスタ局30宛のフレームも中継局50aを経由してスレーブ局40d及び40eにも送信されてしまい、ネットワーク支線32上に余分なセットワーク占有を発生させていた。
各中継局にて受信するフレームを識別し、不要な中継処理を行わないようにした場合が図13にて示されている。同図と図12とを比較することで明確であるが、スレーブ局40dからマスタ局30宛のフレームを中継局50bが識別し、中継処理を行わないようにすることで、ネットワーク支線33上の余分なネットワーク占有が発生せずに、スレーブ局40bからマスタ局30宛のフレームをスムーズに送信することが可能となっている。このように、中継局にてフレーム識別ヘッダを判断し、必要な方向のみに中継処理を行うことで、ネットワーク支線33の通信時間が確保でき、スレーブ局40b及び40cが通信可能となり、ネットワーク効率の向上が実現可能である。ここでは、ネットワーク支線33の通信時間を確保することを記載しているが、他の中継局でも同様の処理を行うことにより、ネットワーク全体の効率が向上されることは言うまでもない。
上述のようにフレームを識別し不要な中継を行わないようにされた中継局の機能ブロック図が図14に示されている。同図にて示されるように、各中継局には上位ポート411と下位ポート417とが双方向シリアルバスによってネットワークに接続されている。
まず、上位ポート411側からフレームが送信されてきた場合を説明する。双方向シリアルバスを介して上位ポート411に送られてきたフレーム(受信データ)はスタートコード検出部412へと送られる。そして、受信データはスタートコード検出部412からデータバッファリング部413にて蓄積され、後にリピートフレーム生成部416へと送られる。このとき、スタートコード検知部412は、データバッファリング部413へと受信データが送ると共に、フレーム種別識別部414へも受信データとスタートコード検知信号を送る。次に、フレーム種別識別部414にスタートコード検知信号が送られると、フレームの種別が識別され、その識別結果がフレーム種別情報信号として下位リピートコントロール部415へと送られる。下位リピートコントロール部415では、フレーム種別情報信号にて規定されるフレームの種類によって、受信したフレームがリピート対象フレームであるかどうかの判定を行う。
この下位リピートコントロール部415における判定方法は以下のようになっている。既に説明したように、ネットワーク上の各中継局はネットワーク構成情報教示方法を用いることにより、ネットワーク上の自己の位置や他の中継局及びスレーブ局との相対位置を把握している。この場合、上位ポート411側にて受信したフレームに対する判定なので、ネットワークにおける上流から送信されてきたフレームに対して当該中継局からさらに下流側に中継するかどうかを判定するものである。そのため、例えば受信データがマスタ局からスレーブ局宛てのフレームであれば、ネットワークの上流から送信されてくるべきフレームであり、下位ポートを介して更に下流へと中継するべきフレームであると判断される。一方、受信データがスレーブ局からマスタ局宛のフレームであれば、マスタ局は中継局より上流側に位置しているため、下位ポートを介して下流へと中継処理(リピート)は行う必要のないフレームであると判断される。
このような判定処理を経て、対象フレームが中継を行う必要があるフレームであると判定された場合、リピートフレーム生成部416に対してリピート開始信号を送信する。このリピート開始信号を受信したリピートフレーム生成部416はデータバッファリング部413に蓄積されている受信データをリピート送信フレームデータとして下位ポート417を介してネットワーク上に送信する。尚、下位リピートコントロール部415は、リピート開始信号をリピートフレーム生成部416へと送信すると共に、抑制信号を上位リピートコントロール部421にも送信する。中継局においては、自己が発信したフレームをまた自己で受信してしまうことがある。そのようなこのことのないように、下位ポート417からフレームデータを送信する際には、上位リピートコントロール部421を介して上位ポート411にて受信を抑制するための信号を下位リピートコントロール部415にて送信するものである。
下位リピートコントロール部415にて中継を行う必要がないと判定された場合、リピート開始信号は生成されず、受信データの中継処理は行われない。
同様に、下位ポート417側からフレームが送信されてきた場合を以下に説明する。双方向シリアルバスを介して下位ポート417に送られてきたフレーム(受信データ)はスタートコード検出部418へと送られる。そして、受信データはスタートコード検出部418からデータバッファリング部419にて蓄積され、後にリピートフレーム生成部422へと送られる。このとき、データバッファリング部419へと受信データが送られると共に、フレーム種別識別部420へも受信データとスタートコード検知信号が送られる。次に、フレーム種別識別部420にスタートコード検知信号が送られると、フレームの種別が識別され、その識別結果がフレーム種別情報信号として上位リピートコントロール部421へと送られる。上位リピートコントロール部421では、フレーム種別情報信号にて規定されるフレームの種類によって、上位ポート411を介してさらに中継処理(リピート)を行うかどうかの判定を行う。
この上位リピートコントロール部421における判定方法も上述した上位ポート411からの受信時と同様であるが、この場合は下位ポート417側にて受信したフレームについての判定なので、ネットワークにおける下流から送信されてきたフレームとなる。そのため、受信データがスレーブ局からマスタ局宛てのフレームであれば、ネットワークの下流から送信されてくるべきフレームであり、上位ポートを介して更に上流へと中継するべきフレームであると判断される。一方、受信データがマスタ局からスレーブ局宛のフレームであれば、スレーブ局は中継局より下流に位置しているため、上位ポートを介して上流に位置するマスタ局への中継処理(リピート)は行う必要のないフレームであると判断される。
このような判定処理を経て、中継を行う必要があると判定された場合、リピートフレーム生成部422に対してリピート開始信号を送信する。このリピート開始信号を受信したリピートフレーム生成部422はデータバッファリング部419に蓄積されている受信データをリピート送信フレームデータとして上位ポート411を介してネットワーク上に送信する。尚、上位リピートコントロール部421は、リピート開始信号をリピートフレーム生成部422へと送信すると共に、抑制信号を下位リピートコントロール部415にも送信する。中継局においては、自己が発信したフレームをまた自己で受信してしまうことがある。そのようなこのことのないように、上位ポート411からフレームデータを送信する際には、下位リピートコントロール部415を介して下位ポート417にて受信を抑制するための信号を上位リピートコントロール部421にて送信するものである。
上位リピートコントロール部421にて中継を行う必要がないと判定された場合、リピート開始信号は生成されず、受信データを中継は行われない。
中継局にて行われる処理が図15のフローチャートにて示されている。同図にて示されるように、上位ポート側においては、先ず、フレーム受信を待つ待機状態にて始まる(ステップ1501)。フレーム受信後、受信したフレームのスタートコードを検出する(ステップ1502)。当該フレームのスタートコードが検出されたら、先に図9にて説明したフレームに含まれるフレーム識別ヘッダを基にヘッダー識別(フレーム種類の識別)を行い、そのフレーム種類がリピート対象フレームであるか否かを判定する(ステップ1503)。対象フレームがリピート対象フレームである場合(ステップ1503、リピート対象フレーム)、下位ポートへの受信/リピート停止信号を送信し(ステップ1504)、その後下位ポートへのリピート処理を開始する(ステップ1505)。一方で、ステップ1503に戻り、対象フレームがリピート不可フレームである場合(ステップ1503、リピート不可フレーム)、そのフレームに対するリピート処理は行わず、ステップ1501に戻り、次の受信フレームを待機する。
同様に、下位ポート側においてもフレーム受信を待つ待機状態にて始まる(ステップ1506)。フレーム受信後、受信したフレームのスタートコードを検出する(ステップ1507)。当該フレームのスタートコードが検出されたら、当該フレームに含まれるフレーム識別ヘッダを基にヘッダー識別(フレーム種類の識別)を行い、そのフレーム種類がリピート対象フレームであるか否かを判定する(ステップ1508)。対象フレームがリピート対象フレームである場合(ステップ1508、リピート対象フレーム)、上位ポートへの受信/リピート停止信号を送信し(ステップ1509)、その後上位ポートへのリピート処理を開始する(ステップ1510)。一方で、ステップ1508に戻り、対象フレームがリピート不可フレームである場合(ステップ1508、リピート不可フレーム)、そのフレームに対するリピート処理は行わず、ステップ1506に戻り、次の受信フレームを待機する。
このような構成により、各中継局は、受信したフレームの種別を判別し、中継が必要なフレームのみを中継することができる。尚、上記実施例では、中継局2つと、スレーブ局5つのネットワーク構成として説明したが、異なる構成のネットワークにおいても同様の処理を行うことで同じ効果を得ることが可能である。
また、このような機能を備えた中継局は、各種通信フレームのそれぞれについて中継するか中継しないかを区別するための設定がされていて、その設定を変更することにより、各種通信フレームの何れかのフレームについて、中継するフレームとするか、中継しないフレームとするかの判別処理の結果を切り替えることも可能である。同様に、設定により中継処理を行わない期間(時間)を設けるようにすることも可能である。
さらには、上記の構成において、任意の中継局の中継動作そのものを停止させることも可能である。これにより、中継動作が停止された中継局で区切られた独立ネットワークが存在可能になる。
その独立ネットワークの一例が図16に示されている。同図において、基本的構成は先に説明した図10並びに図11と同様であるため、同じ構成要素には同じ符号を付与し、説明を省略する。図16においては、ネットワーク支線32上にサブマスタ(副マスタ)局60を設置した点において図10並びに図11のネットワーク構成と異なる。このようなネットワーク構成において、ネットワーク支線32上の中継局50aにおける中継動作を停止するように設定することによって、中継動作が停止された中継局50aで区切られた独立ネットワークを構成することが可能となる。より詳細には、同図のネットワークにおいて、中継局50aにて区切られているネットワーク支線32と、そのネットワーク支線32上に設置されているスレーブ局40d、スレーブ局40e、及び新たに設置されたサブマスタ局60が独立ネットワークとして構成されている。そして、この、独立ネットワークにサブマスタ局60が接続されていることで、独立ネットワーク内での高速通信が可能になる。
なお、この独立させたネットワークを再度同一ネットワークに組み込む場合には、サブマスタ局60から中継局50aに対して復帰指示のフレームを送信。中継局50aは復帰指示のフレームを受信した場合、マスタ局30に対して復帰のステータスを返し中継動作を再開する。これにより、ネットワークが復帰する。
また、上記の復帰方法の場合、復帰するまでに時間かかってしまう場合がある。この場合、中継動作を停止させる対象中継局(この例では中継局50a)の上位ポートにおいて、特定のフレームを受信した時から一定時間のみ中継動作を停止するように設定しても良い。そして、同時にその期間のみサブマスタ60が動作するように設定し、全体としてのネットワークのフレーム占有率を抑えることが可能になる。
次に、本発明が適用されたネットワークにおける通信フレームの動作モデルを、図17〜20を参照しつつ説明する。図17は先に従来技術の説明にて用いたネットワークのシステム構成図であるが、同じシステム構成に本発明を用いた場合を以下に説明する。言うまでもないが、図17の構成については既に従来技術説明にて詳細に説明しているため、ここでの説明は省略する。
このような構成のネットワークシステムにおけるマスタ局の動作を図18に示されるフローチャートを参照して説明する。同図にて示されるように、マスタ局はBF(Beaconフレーム)の送信を行う(ステップ1101)。このBFは、先に述べたように、全てのスレーブ局を対象として一斉同報的に送信される。続いて、トリガフレームの送信を行う(ステップ1102)。BF並びにトリガフレームの送信を受けて各スレーブ局からCNフレームが返信されて来たかを確認する(ステップ1103)。CNフレームが返ってきている場合(ステップ1103,YES)、該当スレーブの加入処理を行う。この加入処理として、StatusReadによるスレーブ情報の読み出し処理(ステップ1104)が行われる。この読み出し処理には、CNフレームによって中継局通過段数の読み出しが含まれる。そして、加入処理のもう一つの処理として、StatusWriteによるスレーブに情報を書き込み処理(ステップ1105)が行われる。この書き込み処理には、スレーブ情報を読み出したことによって把握したネットワーク構成を基に、タイムドメインの書き込みが含まれる。これらの処理が終了すると、またステップ1101に戻る。
次に、スレーブ局側の動作を図19を参照して説明する。マスタ局からのBFにより、先に説明した方法を用いてフレームの伝送速度及び自己のリピータ通過段数を把握する(ステップ1201)。そして、この把握処理が完了したらマスタ局からのトリガフレームを受信できる状態に遷移する(ステップ1202)。マスタ局からのトリガフレームの受信有無の確認が行われる(ステップ1203)。このとき、トリガフレームの受信が確認できなければ(ステップ1203,NO)、トリガフレームを受信するまで待機する。マスタ局からのトリガフレームの受信が確認できたら(ステップ1203,YES)、次に自分がCN応答該当ノードであるかどうかの判定を行う(ステップ1204)。このとき、自分がCN応答該当ノードでなければ(ステップ1204,NO)、1203に戻り、次のトリガフレームを待つ。そして、自分がCN応答該当ノードである場合(ステップ1204,YES)、マスタ局に対してCNフレームの返送を行う(ステップ1205)。続いて、マスタ局からのStatusReadの受信を待つ(ステップ1206及びステップ1206,NO)。マスタ局からのStatusReadを受信したら(ステップ1206,YES)、受信したStatusReadの応答をマスタ局に返信する(ステップ1207)。続いて、マスタ局からのStatusWriteの受信を待つ(ステップ1208及びステップ1208,NO)。マスタ局からのStatusWriteを受信したら(ステップ1208,YES)、StatusWriteのパラメータで加入状態に遷移する(ステップ1209)。
図17にて示される4つの観測点A〜Dにおいて、マスタ局が送信するトリガフレームと各スレーブ局が応答する応答フレームを時系列的に示す動作モデルが図20に示されている。同図にて示されるように、観測点Aにおいては、マスタ局からのトリガフレームに加え、各スレーブ局からの応答フレームが知見されているが、その他の観測点B,C,Dにおいては、マスタ局からのトリガフレームと、ネットワーク構成において各観測点より下流に位置するスレーブ局からの応答フレームのみ知見され、図21に示した従来例のように、不要なフレームの中継がなされていないことが明確である。
この実施形態においては、各中継局は、応答フレームは下流から上流のみに中継するように設定されており、かつ応答フレームの間隔を観測点Aで最小化できるように、各応答フレームは通過する中継局数分のリピータ遅延時間だけ早く応答するように設定されている。このような設定により、観測点Aにおける応答フレームの間隔を最小化でき、図20にて示されるように、各応答フレームにおいて、リピータ遅延の低減化が実現されている。
各スレーブ局における応答フレームの送信タイミングは、
トリガフレーム受信後の該当スレーブ局応答フレーム送信開始時間
=該当スレーブ局の応答フレームの観測点Aでの位置
−トリガフレーム到着遅延
−該当スレーブ局応答フレームが観測点Aまで到着するまでの時間
=該当スレーブ局の応答フレームの観測点Aでの位置
−リピータ遅延×該当スレーブまでのリピータ(中継局)段数×2
となる。
このとき、通信サイクルは、
通信サイクル=
トリガフレーム時間+リピータ遅延×最大リピータ段数
+(応答フレーム時間)×スレーブ数
となる。
よって、従来例に比べて「リピータ遅延×最大リピータ段数×(2×スレーブ数−1)」の分だけ、通信サイクルは高速になる。
以上の構成を備えたネットワークに適用された場合、中継局は上位側(マスタ側)と下位側(スレーブ側)の2つの通信ポートが明確に規定され、それぞれの通信ポートには役割に対応するようにネットワークに接続する必要がある。より詳細には、中継局の上位側ポートはネットワークの上流側(マスタ側)に、そして下位ポートはネットワークの下流側(スレーブ側)にそれぞれ接続される。ところが、このポートの上位/下位が逆に接続されてしまうと不具合が生じてしまう。
中継局における上位ポートと下位ポートの正常接続状態と逆接続状態とが図21(a)、(b)にそれぞれ示されている。図21(a)にて示されるように、正常接続時には、中継局の上位ポートが上流側(マスタ側)に接続され、下位ポートは下流側(スレーブ側)に接続される。そして、マスタ局宛のフレームは、中継局の下位ポートにて受信され、中継処理を経て上位ポートからマスタ局へと送信される。逆に、スレーブ局宛のフレームは、中継局の上位ポートにて受信され、中継処理を経て下位ポートからスレーブ局へと送信される。
一方、同図(b)にて示されるように、逆接続時には、中継局の下位ポートが上流側(マスタ側)に接続され、上位ポートは下流側(スレーブ側)に接続される。そして、マスタ局宛のフレームは、中継局の上位ポートにて受信され、中継処理を経て下位ポートからマスタ局へと送信されるということになる。ところが、すでに説明したように、各中継局は受信した通信フレームが中継対象フレームであるか否かを判別する機能を有し、中継対象フレームのみ中継する。このような通信ネットワークにおいて、マスタ局はその性質上ネットワークの下流側に設置されることはない。そのため、マスタ局宛のフレームは本来中継局の下位ポートにて受信されるべきであり、上位ポートにて受信されてしまうと中継対象フレームとは識別されない。
そして、同様にスレーブ局宛のフレームは、中継局の下位ポートにて受信され、中継処理を経て上位ポートからスレーブ局へと送信されることとなる。この場合も、スレーブ局宛のフレームは本来中継局の上位ポートにて受信されるべきであり、下位ポートにて受信されると中継対象フレームとは識別されない。
そして、本来中継されるべき通信フレームが、中継局が逆接続されているために中継対象フレームとは識別されないということは、マスタ局からの各種通信フレームが中継局にて中継されなくなってしまうこととなる。そのような場合、上述したネットワークの効率化が図れないばかりではなく、ネットワーク自体が作動しなくなってしまうという深刻な問題となる。従って、中継局を逆に接続してしまった場合に、当該中継局にてその逆接続状態を検知できるようにすることがネットワークの運用上重要となる。
このような通信ネットワークにおいて、ネットワークを管理する役割を担うマスタ局は、その性質上ネットワークの最上流に設置されるものである。そして、マスタ局から送信される各スレーブ局宛の通信フレームは、中継局において上位ポート側で受信されるべきであり、中継局が正常に接続されていれば下位ポートにて受信するということはあり得ない。このことから、例えば、図21(b)に示したように、マスタ局からスレーブ局宛のフレームが中継局の下位ポートにて受信されるような場合には、当該中継局は逆接続されていると認識することが可能であり、そのような場合にはユーザに警告等を発することが可能となる。
また、上述した中継局の逆接続検出時に、中継局内で上位ポートと下位ポートとを自動的に切り替えるようにすることで、ユーザは中継局の上位ポートまたは下位ポートを意識することなく、中継局を運用することが可能となる。中継局による逆接続検出時に自動的に正常状態に復帰させる逆接続の自動復帰手段を備えた中継局の概略構成図が図22にて示されている。ここで、中継局における中継処理に携わる部位については既に説明してあるため、同図では中継機能70として纏め、詳細な説明は省略する。同図にて示されるように、当該中継局がネットワークと接続する2つの接続部にはそれぞれセレクタ71,72が備えられ、上位ポートはそれら2つのセレクタ71,72に両端が接続され、さらに中継機能70に接続されている。同様に、下位ポートもその両端が2つのセレクタ71,72に接続され、さらに中継機能70に接続されている。このような構成により、上位ポート並びに下位ポートは2つのセレクタ71,72によって同図における上部にてネットワークに接続されるか、下部にてネットワークに接続されるかが切り替え可能となっている。例えば、上位ポートがセレクタ71側を介してネットワークに接続される場合には、下位ポートはセレクタ72側を介してネットワークに接続される。
ここで、中継局の接続状態が、上位ポートがセレクタ71側にてネットワークと接続しており、下位ポートがセレクタ72側にてネットワークに接続している状態あるとする。この状態で、下位ポート側、すなわちセレクタ72側にてマスタ局からスレーブ宛のフレームが受信された場合、当該中継局は逆接続されたものと認識する。そこで、セレクタ71,72の切り替え機能により、上位ポートと下位ポートとを切り替えれば、接続状態は正常に復帰する。
また、このような構成により、中継局の逆接続が検出された場合においても、中継局が自動的に正常状態に復帰する手段を備えているので、ユーザが接続し直す手間が省ける。また、ネットワークの接続時においても、中継局の上位ポートと下位ポートとの接続状態を意識することなくネットワークに組み込むことが可能となり作業効率が向上する。