(57)【特許請求の範囲】
【請求項１】
ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、
前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、
前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、
前記バイパス経路を開閉する開閉手段とを備え、
データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御し、
データ受信時は、前記バイパス経路を閉じるように前記開閉手段を制御し、
前記第１，第２送受信部で受信し、前記一次記憶部に格納された受信データのうち、有効なものを正式な受信データとして記憶するようにしたことを特徴とするノード。
【請求項２】
ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、
前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、
前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路とを備え、
データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御する機能と、
前記第１送受信部と、前記第２送受信部のうち、一方側からのみデータを受信した場合に、他方側からの受信経路中に異常ありと判断する判断手段を備えたことを特徴とするノード。
【請求項３】
ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、
前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、
前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路とを備えたネットワークに接続可能なノードであって、
データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御する機能と、
前記ネットワークに接続された他の全てのノードからのデータが、前記第１送受信部と、前記第２送受信部のうち、一方側から正常に受信し、他方側で正常な受信ができない場合に、前記他方側の送受信部に接続された伝送路に異常ありと判断する判断手段と、
その判断手段の判断結果を直接または間接的に前記他のノードに通知するための処理を実行する手段を備えたことを特徴とするノード。
【請求項４】
複数のノードがループ状に接続されたネットワークにおけるデータの伝送方法であって、
前記ノードは、伝送路に接続可能な第１，第２送受信部と、
前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、
前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、前記バイパス経路を開閉する開閉手段とを備え、
データを送信するノードは、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、
データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状に接続されたネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように動作し、
データを受信するノードは、前記バイパス経路を閉じ、受信したデータを前記一次記憶部に格納するとともに隣接する他のノードに転送し、
前記一次記憶部に格納された受信データのうち、有効なものを正式な受信データとして記憶する動作をすることを特徴とする伝送方法。
【請求項５】
ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、
前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、
前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、
前記バイパス経路を開閉する開閉手段とを備え、
データ送信時は、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間だけ前記バイパス経路を開き、データ受信時は前記バイパス経路を閉じるようにしたことを特徴とするＰＬＣの通信ユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ノード及び伝送方法並びにＰＬＣの通信ユニットに関するものである。
【０００２】
【従来の技術】
よく知られているように、２重化したトークンリング方式では、光ケーブル等の伝送路をリング状に配線し、正常時には片方のケーブル（正ループと呼ぶ）を使用して通信し、伝送路断線には断線箇所からデータを他方のケーブル（副ループ）へと伝送することで通信途絶を防止するようになっている。この通信途絶を防止する方法をループバックと呼ぶ。
【０００３】
一方、トークンバス方式では、光ケーブル伝送路をディジーチェーン状に配線し、常時、両方のケーブルを使用し通信することで、ノード間のデータ伝送遅延がトークンリング方式より小さくなるといった特徴がある。また、この方式では、ノード間の結線に、正ループ／副ループといった概念がないので、配線の間違いが少ないという特徴がある。
【０００４】
【発明が解決しようとする課題】
上記したトークンリング方式では、伝送路断線時においては、伝送路を２周回するため、正常時と断線時の伝送遅延の差が大きくなる問題がある。また、通信データの乱れにより伝送路断線を検知しているが、通信データが乱れている間のデータは、欠落する問題がある。さらに、ノード間の結線には、正ループ／副ループを意識した配線が必要で、間違えると通信できないという問題がある。
【０００５】
一方、トークンバス方式では係る問題はないが、伝送路断線時には通信途絶が発生する新たな問題がある。従って、従来は両者の長短と、実際に設置するネットワークの状況を考慮し、いずれかを選択するようにしており、十分に満足する機能を発揮するものではなかった。
【０００６】
この発明は、トークンバス方式の特徴（ノード間データ伝送遅延が小さい、配線の間違いが少ない）を保持しつつ、光ケーブル伝送路をリング状に配線し、光伝送システムにおける、伝送路断線による通信途絶を防止する。また、通信データの乱れによるデータの欠落を防止することを目的とする。また、伝送路の断線等の異常箇所を検知し、ユーザに通知することで、迅速なメンテナンスを可能にすることも別の目的とする。
【０００７】
【課題を解決するための手段】
この発明の伝送方法は、複数のノードがループ状に接続されたネットワークにおけるデータの伝送方法であって、前記ノードは、伝送路に接続可能な第１，第２送受信部と、前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、前記バイパス経路を開閉する開閉手段とを備え、データを送信するノードは、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状に接続されたネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように動作し、データを受信するノードは、前記バイパス経路を閉じ、受信したデータを前記一次記憶部に格納するとともに隣接する他のノードに転送し、前記一次記憶部に格納された受信データのうち、有効なものを正式な受信データとして記憶する動作をするものである。なお、処理手段は、実施の形態ではＭＰＵ４により実現されている。
【０００８】
ここで、バイパス経路を閉じるとは、開閉手段（実施の形態ではデータバイパス制御スイッチ１１，１２に対応）を閉じる、つまりバイパス経路を確保し、バイパス可能とする状態を意味する。バイパス経路を開くとは、上記と逆の状態を意味する。
【０００９】
この発明によれば、受信側のノードは、受信したデータを内部（一次記憶部）に取り込む処理と平行してバイパス経路を介して受信した送受信部と反対側の送受信部を介して出力し、次のノードに送ることができる。よって、受信したデータを解析することなく次々とノード間を伝達するので、短時間で全ノードに送ることができる。また、両送受信部からの受信データを一次記憶し保持しているので、仮に一方で正常な受信ができなくても正常な受信が行えた方のデータを正式な受信データとすることにより、確実に受信することができる。
【００１０】
また、送信元のノードは、バイパス経路を開いて、バイパスできない状態で両方の送受信部から送信する。よって、異常の有無を問わずに常に両系統を使って情報（データ）の伝送を行っているので、仮に伝送路に断線等の異常があっても、反対側の無事な伝送路を介してデータを受信することができる。よって、正常動作時と異常時での情報伝達に要する時間は、あまり差が出ない。
【００１１】
さらに、送信元のノードは、その送信したデータ（フレーム）が、前記ループ状に接続されたネットワークを一巡するために要する時間を基準に定めた時間経過後にバイパス経路を閉じるようにしたため、自己が送出したデータの回収が行われる。つまり、送信完了後、上記１巡回するために要する時間以上バイパス経路を開いて遮断しておくと、送信側と反対側の送受信部で受信し、その受信したデータは再度バイパスされることはないので回収される。
【００１２】
上記方法を実施するために適したこの発明によるノードは、ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、前記バイパス経路を開閉する開閉手段とを備えた。そして、データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御し、データ受信時は、前記バイパス経路を閉じるように前記開閉手段を制御し、前記第１，第２送受信部で受信し、前記一次記憶部に格納された受信データのうち、有効なものを正式な受信データとして記憶するようにした。
【００１３】
また、ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路とを備え、データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御する機能と、前記第１送受信部と、第２送受信部のうち、一方側からのみデータを受信した場合に、他方側からの受信経路中に異常ありと判断する判断手段を備えるように構成してもよい。このようにすると、異常の有無が簡単かつ迅速に検出することができる。
【００１４】
さらにまた、ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路を備えたネットワークに接続可能なノードであって、データ送信時は、前記バイパス経路を開くとともに、前記第１，第２送受信部から送信し、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間経過後に前記バイパス経路を閉じるように前記開閉手段を制御する機能と、前記ネットワークに接続された他の全てのノードからのデータが、前記第１送受信部と、第２送受信部のうち、一方側からのみ受信し、他方側で正常な受信ができない場合に、前記他方側の送受信部に接続された伝送路に異常ありと判断する判断手段と、その判断手段の判断結果を直接または間接的に前記他のノードに通知するための処理を実行する手段を備えて構成することもできる。このようにすると、各ノードがどの場所で異常があったかを知ることができる。よって、ユーザは任意のノードを操作することにより、異常発生箇所を特定でき、メンテナンスなどの利便性が向上する。
【００１５】
この発明によるＰＬＣの通信ユニットでは、ループ状のネットワークを構成する伝送路に接続可能な第１，第２送受信部と、前記第１，第２送受信部で受信した受信データをそれぞれ一次記憶部に格納する処理手段と、前記第１，第２送受信部で受信した受信データを前記処理手段をバイパスして他方の送受信部から送信可能とするバイパス経路と、前記バイパス経路を開閉する開閉手段とを備え、データ送信時は、その送信したデータが、前記ループ状のネットワークを一巡するために要する時間を基準に定めた時間だけ前記バイパス経路を開き、データ受信時は前記バイパス経路を閉じるようにしたものである。
【００１６】
この発明の以上説明したノードの構成要素は可能な限り組み合わせることができる。つまり、請求項２から４に記載の発明は、単独でももちろん構成できるが、任意の２つの組み合わせや、３つの組み合わせなど各種の構成がとりうる。
【００１７】
この発明による装置（ノード，通信ユニット）を構成する各手段を専用のハードウエア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。この発明による伝達方法は、コンピュータを動作させるソフトウエア（プログラム）によっても、専用のハードウエア回路によっても実現できる。
【００１８】
【発明の実施の形態】
図１は、本発明が適用される伝送システム（ネットワーク構造）の一例を示しており、図２は本発明に係る伝送局の好適な一実施の形態を示している。図１に示すように、複数の伝送局（ノード）３ａ〜３ｆ（以下、特に区別する必要がないときは、代表して符号「３」と示す）が、伝送路１，２に接続されてネットワークを構成している。各ノード３は、基本的に同一構造をとることができ、図示の例では、ノードアドレス＃１のノード３ａが管理局となり、他のノードアドレス＃２〜＃６のノード３ｂ〜３ｆが通常局となっている。そして、各ノード３は、全体でループ状となっている。よって、左回りと右回りのいずれのループ経路をとっても目的のノードにフレームを伝達させることができる。さらに、送信権（トークン）を獲得したノードがデータ（フレーム）の送信を行うようにしている。
【００１９】
ノード３の内部構造は、図２に示すように第１，第２データ送受信部７，８を持ち、それら各データ送受信部７，８がそれぞれ系統▲１▼，系統▲２▼となり伝送路１，２に接続される。伝送路１，２は本形態では光ケーブルを用いている。
【００２０】
また、伝送路１，２内では光信号で、ノード３の内部では電気信号で処理するため、各データ送受信部７，８では係る光信号と電気信号の変換を行うようになっている。すなわち、送信する信号に対して電気→光変換を行う第１，第２Ｅ／Ｏ変換部７ａ，８ａと、受信した信号に対して光→電気変換を行う第１，第２Ｏ／Ｅ変換部７ｂ，８ｂをそれぞれ備えている。
【００２１】
つまり、第１Ｅ／Ｏ変換部７ａ並びに第２Ｏ／Ｅ変換部８ｂには、光ケーブルからなる伝送路１が接続され、系統▲１▼である第１Ｅ／Ｏ変換部７ａから送出されたデータが他のノードを経由して系統▲２▼である第２Ｏ／Ｅ変換部８ｂに戻ってくる。第２Ｅ／Ｏ変換部８ａ並びに第１Ｏ／Ｅ変換部７ｂには、光ケーブルからなる伝送路２が接続され、系統▲２▼である第２Ｅ／Ｏ変換部８ａから送出されたデータが他のノードを経由して系統▲１▼である第１Ｏ／Ｅ変換部７ｂに戻ってくる。
【００２２】
一方、第１，第２Ｏ／Ｅ変換部７ｂ，８ｂを介して受信した受信信号は、伝送制御するＭＰＵ４内の処理手段たる第１，第２シリアルコミュニケーションインタフェース（ＳＣＩ）４ａ，４ｂを介して、それぞれＲＡＭ６内の第１，第２受信用一次保存データメモリ６ａ，６ｂに一次記憶される。つまり、これら第１，第２シリアルコミュニケーションインタフェース（ＳＣＩ）４ａ，４ｂにて、受信したデータ（厳密にはフレーム）から、ヘッダ部分等を除去し、自ノード宛てのフレームのデータをメモリ６ａ，６ｂに格納する。
【００２３】
また、ＲＡＭ６内には、受信データを保存する受信用データメモリ６ｃと送信用データを保存する送信用データメモリ６ｄの各メモリ領域が設定されており、前記第１，第２受信用一次保存データメモリ６ａ，６ｂに一次保存されたデータのうち、一定の条件を具備するものが受信用データメモリ６ｃに転送される。すなわち、後述するように、伝送路１，２が正常であれば、両方の系統▲１▼，▲２▼からデータを受信するので、第１，第２受信用一次保存データメモリ６ａ，６ｂに格納されたデータ内容も同一となる。そこで、係る両受信用一次保存データメモリ６ａ，６ｂに格納された内容をチェックし、一致する場合には正常な受信があったものとして当該データを受信用データメモリ６ｃに格納する。一方、一致しない場合には、伝送路に異常があったと判断し、所定の処理を実行し（詳細は後述）、正しいデータを受信用データメモリ６ｃに格納することになる。
【００２４】
そして、本形態では、送信用データメモリ６ｄに格納されたデータは、第１シリアルコミュニケーションインタフェース４ａにて、ヘッダ部分等を付加されて生成されたフレームを２入力のデータバイパス加算器９，１０にそれぞれ与えられる。その２つのデータバイパス加算器９，１０の出力は、第１，第２Ｅ／Ｏ変換部７ａ，８ａに接続されている。よって、送信用データメモリ６ｄに格納されたデータが、所定の伝送路１，２を介してネットワーク上に送信される。
【００２５】
一方、第１，第２Ｏ／Ｅ変換部７ｂ，８ｂを介して受信されたデータは、上記した第１，第２シリアルコミュニケーションインタフェース４ａ，４ｂに伝達される経路から分岐してデータバイパス制御スイッチ１１，１２を介して２入力のデータバイパス加算器９，１０の他方の入力端子に接続され、バイパス経路が構成される。従って、データバイパス制御スイッチ１１，１２を開いたときは、第１，第２Ｏ／Ｅ変換部７ｂ，８ｂを介して受信されたデータは、上記したごとくそれぞれ第１，第２受信用一次保存データメモリ６ａ，６ｂに受信されるだけである。
【００２６】
そして、データバイパス制御スイッチ１１，１２を閉じたときには、第１Ｏ／Ｅ変換部７ｂを介して受信されたデータは、データバイパス制御スイッチ１２からオア素子１０を経由して第２Ｅ／Ｏ変換部８ａに伝達されるので、一旦電気信号に変換後再び光信号に変換されてネットワークに送出される。同様に第２Ｏ／Ｅ変換部８ｂを介して受信されたデータは、データバイパス制御スイッチ１１からオア素子９を経由して第１Ｅ／Ｏ変換部７ａに伝達されるので、一旦電気信号に変換後再び光信号に変換されてネットワークに送出される。
【００２７】
つまり、データバイパス制御スイッチ１１，１２を開くと、受信したデータは内部に採り込まれる。また、データバイパス制御スイッチを閉じると上記内部への取り込みとともに、ＭＰＵ４をバイパスして次のノードへ送出するようになる。そして、係るデータバイパス制御スイッチ１１，１２の開閉は、ＭＰＵ４内のスイッチ制御ポート４ｃからの制御信号に基づいて行われる。
【００２８】
さらに、ＭＰＵ４内には、タイマ４ｄが組み込まれ、データがネットワーク（ループ）上を１巡回する時間を計測するようになっている。このタイマ４ｄに基づく１巡回する時間を基準に、異常の有無や、送信データ（フレーム）の回収等を行うようになっている。
【００２９】
そして、このＭＰＵ４における各種処理は、ＲＯＭ５に格納されたプログラムに基づいて実行される。次に、係るＭＰＵ４の処理機能を中心に、ネットワークの各状況に応じた処理を説明する。
【００３０】
まず、伝送路１，２が正常な場合における受信動作を説明する。光伝送システムの受信処理動作では、ある系統のデータ送受信部（光Ｉ／Ｆ）７，８で受信した光信号波形を、Ｏ／Ｅ変換部７ｂ，８ｂで一旦電気信号に変換し、それを他系統に送信する。この場合、データバイパス制御スイッチ１１，１２をＯＮ状態（スイッチを閉じる）にし、一旦電気信号に変換された受信データを、データバイパス加算器１０，９を経由し、Ｅ／Ｏ変換部８ａ，７ａに与え、そこにおいて光信号に変換し、データ送受信部（光Ｉ／Ｆ）８，７で他系統へ送信する。
【００３１】
つまり、ある伝送局（ノード）間で通信する（例えばノード３ａが送信したデータをノード３ｅが受信する）には、それを中継するノード（ノード３ｂ〜３ｄもしくは３ｆ）が、データバイパス制御スイッチをＯＮし、データを次のノードへバイパスする必要がある。本形態では、送信元のノード以外のノード（３ｂ〜３ｆ）では、データバイパス制御スイッチ１１，１２をＯＮすることで、送信ノード以外のノード３ｂ〜３ｆは、両方の系統からデータを受信することができる。
【００３２】
そして、両系統で受信したデータは、ＭＰＵ４の第１，第２シリアルコミュニケーションインタフェース４ａ，４ｂを介し、一次保存データメモリ６ａ，６ｂに格納しておき、両系統が同じデータであることをＭＰＵ４で確認し、正式な受信データと判断し、受信データメモリ６ｃに格納する。
【００３３】
一方、送信動作は図３に示すようになる。光伝送路１，２をリング状に結線する場合には、送信ノード（図１の場合にはノード３ｆ）は、自身が送信したデータを回収する必要がある。これは、自局で送信したデータが１巡回しデータバイパス加算器９，１０を通ると、送信中のデータと衝突し、伝送路中に、不正なデータが送信されることになるからである。そこで、本発明では、送信データが１巡回する時間をネットワークの最大接続構成から規定し、データ１巡回時間監視をするためのタイマ４ｄに設定しておき、そのタイマ４ｄのタイムアウトに基づいて、バイパス経路を閉じることにより、回収処理をするようになる。
【００３４】
係る状態において、まず、トークンを獲得した後、送信開始前にデータバイパス制御スイッチ１１，１２をＯＦＦする（ＳＴ１）。つまり、データバイパス制御スイッチ１１，１２を開き、バイパスできないようにする。次いで、両方の系統を用いてデータの送信を開始し（ＳＴ２）、送信完了を待つ（ＳＴ３）。そして、シリアルコミュニケーションインタフェース４ａ，４ｂの送信完了に伴い、タイマ４ｄを起動する（ＳＴ４）。そして、タイマ４ｄがタイムアップ（データがネットワーク上（リング）を１巡回する時間以上経過）するのを待ち（ＳＲ５）、経過後（ステップ５の分岐判断でＹｅｓ）、データバイパス制御スイッチ（１１，１２）をＯＮすることで、スイッチを閉じ、自身が送信したデータを伝送路から回収する（ＳＴ６）。すわなち、１タイムアップするまでスイッチを開く（バイパス経路を切断する）ことにより、各系統から送信されたデータは、送信完了からデータが１巡回する時間経過すると、他方の系統から戻ってきて内部に取り込まれる。そして、このデータが戻ってきた時にはスイッチが開いているのでバイパスできず、これによりデータが回収される。その後、スイッチを閉じ、次の他のノードから送信されたデータの受信，転送（バイパス）に備える。
【００３５】
この送信に伴い、他のノード３におけるデータバイパス制御スイッチ１１，１２はＯＮになっているので、一方の系統から受信したデータを、ＭＰＵ４を経由することなくバイパスして他方の系統から送出することができる。
【００３６】
つまり、トークンリング方式では、通常、片側の光Ｉ／Ｆだけを使用しデータを送信し、他方の光Ｉ／Ｆから自身が送信したデータを解析し、これを回収する方法をとる。この方法では、送信に関係しない、全ての受信ノード（中継局）でも、片側から受信したデータを一旦ＭＰＵ内部に採り込んで解析し終わるまで、他方の光Ｉ／Ｆへデータをバイパスできない。このため、バイパス動作に比較動作や一時的にデータを保存するデータバッファを設ける必要があり、高速処理ができず、装置規模も大きくなる。これに対し、本形態では、トークンバス方式と同じくバイパス動作に比較動作が必要ないので、トークンリング方式に比較しバイパス動作が高速に行える。
【００３７】
一方、トーンンバス方式の欠点である伝送路断線発生時におけるデータ欠落の問題も、本形態では以下のような機能にすることにより発生しない。すなわち、図４〜図６に示すフローチャートを実施する機能を設ける。
【００３８】
まず、動作原理の概念を説明する。ある場所（例えば図７におけるノード３ｃと３ｄの間）で伝送路が断線すると、全ての伝送局（受信ノード）は、片方のデータが欠落するか不正データとなる。図７の場合に、送信局（ノード３ｆ）から送信された正常なデータは、ノード３ａ〜３ｃでは、系統▲１▼つまり第１データ送受信部７を介して受信され、第１受信用一次保存データメモリ６ａに格納される。また、ノード３ｄ，３ｅでは、系統▲２▼つまり第２データ送受信部８を介して受信され、第２受信用一次保存データメモリ６ｂに格納される。そして、それぞれ別の系統からの正常なデータの受信はない。
【００３９】
一方、図１に示すように伝送路が正常であるとすると、各受信ノードでは、一方の系統で正常なデータを受信してから他の系統で正常のデータを受信するまでのタイムラグとしては、最大でもデータ１巡回分の遅延である。送信局に近いノードほど、タイムラグは大きくなる。従って、一方の系統から正常なデータの受信があった（受信用一次保存メモリに保存した）後、データ１巡回分の時間を経過しても、他方の系統から正常なデータが受信できずタイムアウトした場合には、その他方の系統側のどこかで断線等の伝送路異常があったと判断し、この時点で、前記受信用一次保存データメモリ６ａまたは６ｂに一次保存しておいたデータを、正式な受信データとみなし、それを受信用データメモリ６ｃに格納し使用する。
【００４０】
図７に示す例では、ノード３ａ〜３ｃでは、第１受信用一次保存データメモリ６ａに格納されたデータを正式データとし、また、ノード３ｄ，３ｅでは、第２受信用一次保存データメモリ６ｂに格納されたデータを正式データとし、それぞれ受信用データメモリ６ｃに格納される。こうすることで、伝送路で断線が発生しても、どちらか一方の系統から正常なデータを受信することができ、データの欠落等が生じない。
【００４１】
そして、上記した動作原理を実施するための具体的な処理機能は、以下の通りである。まず、図４に示すように、受信ノード（送信ノードでない全てのノード）では、両方の系統のデータバイパス制御スイッチ１１，１２をＯＮにし、一方の系統から受信したデータをＭＰＵ４をバイパスして他方の系統から送信できるようにする（ＳＴ１１）。そして、系統▲１▼，系統▲２▼の両方で受信処理を開始する（ＳＴ１２）。
【００４２】
系統▲１▼（第１データ送受信部７）並びに系統▲２▼（第２データ送受信部８）のいずれかで、受信が完了したか否かを判断する（ＳＴ１３，ＳＴ１４）。そして、系統▲１▼で先に受信完了した場合には、図５に示すステップ１５に飛び、また、系統▲２▼で先に受信完了した場合には図６に示すステップ２６に飛び、それぞれの処理を実行する。
【００４３】
すなわち、系統▲１▼の受信完了したならば、その受信したデータが正常データの受信であったか否かを判断する（ＳＴ１５）。そして、正常でない場合には、ステップ１７に飛び、系統▲１▼の受信を再度開始する。なお、この場合にステップ１２で系統▲２▼の受信処理はすでに開始しているので、結局ステップ１７を実行することにより系統▲１▼，▲２▼の受信処理はともに行われる。その後、ステップ１３に戻り、上記と同様にいずれの系統が先に受信完了するかの監視を行う。
【００４４】
一方、ステップ１５の分岐判断でＹｅｓ、つまり、系統▲１▼で正常な受信が完了したとすると、系統▲１▼正常受信カウンタを１インクリメントし（ＳＴ１６）、タイマ４ｄを起動して、データ１巡回時間が経過したかの監視を行う（ＳＴ１８）。そして、系統▲２▼の受信完了を、データ１巡回時間監視用のタイマ４ｄがタイムアップ（タイムアウト）するまで待つ（ＳＴ１９，ＳＴ２０）。
【００４５】
タイムアップする前に系統▲２▼の受信が完了した場合（ステップ１９の分岐判断でＹｅｓ）には、ステップ２１に進み、受信した系統▲２▼からの受信データが正常であった否かを判断し、正常な場合には、両系統▲１▼，▲２▼で受信したデータ（第１，第２受信用一次保存データメモリ６ａ，６ｂに格納されている）同士を比較し（ＳＴ２２）、一致していれば、伝送路が正常であるので、系統▲２▼正常受信カウンタを１インクリメントし（ＳＴ２４）、系統▲１▼で受信したデータを、受信用データメモリ６ｃにコピーする。これにより正式な受信が完了する。
【００４６】
一方、系統▲２▼からの受信を完了することなくタイムアップしたり（ステップ２０でＮｏ）、受信した系統▲２▼のデータが正常でなかった場合（ステップＴ２１でＮｏ）には、系統▲２▼の伝送路で故障，異常があったと判断し、第１受信用一次保存データメモリ６ａに格納された系統▲１▼ｋ受信データを、正式な受信データとして受信用データメモリ６ｃにコピーして格納し、受信処理を終了する。
【００４７】
また、系統▲１▼，系統▲２▼のいずれでも正常受信がされ、その受信データが一致しない（ステップ２２でＮｏ）場合には、いずれの受信データが正しいか不明なため、正式な受信データはなかったとし、系統▲１▼，▲２▼の受信処理を開始した後（ＳＴ２３）、ステップ１３に戻り、上記処理を繰り返し行う。
【００４８】
一方、系統▲２▼が先に受信完了となった場合には、ステップ２６以降の処理を実行する。図５と図６を比較すると明らかなように、対象が系統▲１▼と系統▲２▼が入れ替わっただけで、基本的には図５に示す処理ステップと同様の処理を実行する。すなわち、まず受信完了した系統▲２▼の受信データが正常であったか否かを判断し（ＳＴ２６）、正常でない場合には、系統▲２▼の受信処理を再度開始した（ＳＴ２８）後、ステップ１３に戻る。
【００４９】
また、系統▲２▼が正常受信の場合には、系統▲２▼正常受信カウンタをインクリメントした後、タイマ４ｄを起動し、タイムアップするまで系統▲１▼の受信完了があるか否かを監視する（ＳＴ２７からＳＴ３１）。そして、タイムアップしたり、系統▲１▼で正常受信ができない場合（ＳＴ３２）には、系統▲２▼の受信データを正式な受信データと判断し、第２受信用一次保存データメモリ６ｂに格納されたデータを、正式なデータとして受信データメモリ６ｃにコピーし、受信処理を終了する（ＳＴ３６）。
【００５０】
また、両系統▲１▼，▲２▼でともに正常な受信があった場合には、受信データが同一の場合には系統▲１▼正常受信カウンタをインクリメントした後、第２受信用一次保存データメモリ６ｂに格納されたデータを、受信データメモリ６ｃにコピーし、受信処理を終了する（ＳＴ３３，ＳＴ３５，ＳＴ３６）。そして、両系統▲１▼，▲２▼で正常受信したデータが不一致の場合には、両系統▲１▼，▲２▼の受信を開始後（ＳＴ３４）、ステップ１３に戻る。
【００５１】
上記したように、一方の系統のみ正常な受信があると、他方の系統で伝送路の異常があったと判断できるが、どの場所で断線等の故障を生じているかの特定まではできない。そこで、本形態では、以下に示す処理機能を付加することにより、故障箇所を特定可能としている。
【００５２】
図７で示した断線例（ノード３ｃとノード３ｄの間で断線）につき、各ノード３がトークン１巡回中に受信した結果は、図８，図９に示すようになる。図から明らかなように、断線箇所に隣接したノード３ｃ，３ｄのみ、片側系統の受信結果が全て不良であることが分かる。このことから、ノードアドレス＃３のノード３ｃと、ノードアドレス＃４のノード３ｄが断線検知をすることが可能となる。このように、断線を一次的に検知できるのは、断線箇所に隣接したノード３ｃ，３ｄである。しかし、隣接したノード３ｃ，３ｄのみで伝送路断線通知を行っていても、ネットワークの規模が大きくなった場合には、障害を通知すべきネットワーク保守要員がこの障害ノード発見することが困難である。
【００５３】
そこで、本形態では、故障，障害を検知したノード３は、ネットワークに流れるトークンに断線情報を添付して送信することにより、ネットワークに接続された全てのノード３で、故障発生位置を知ることができる。よって、ネットワーク保守要員がいずれのノード３でも障害発生を発見することが可能となり、作業性が向上する。
【００５４】
具体的には、図７の例では、アドレス＃１から昇順で順番にトークンを渡していく場合には、図１０に示すように、ノード３ｂ（＃２）までは、片側全てが不良になっていないので、断線情報は無し（０）のトークンフレームを順次送ることになる。そして、ノード３ｃ（＃３）では、系統▲２▼側が全て不良となっているので、断線情報１に自ノードアドレス＃３を追加したトークンフレームを次のノード３ｄ（＃４）に与える。ノード３ｄでは、系統▲１▼側が全て不良となっているので、断線情報２に自ノードアドレス＃４を追加したトークンフレームを次のノード３ｅ（＃５）に与える。それ以降のノードでは、断線を検知しないので、断線情報に＃３，＃４が格納されたトークンフレームを順次渡していき、元のノード３ａに戻る。
【００５５】
このように、断線等の故障箇所の両側のノードにトークンが渡ったことにより、有効な断線情報が付加されたトークンとなる。もちろん、断線，故障がない場合には、２つの断線情報の欄は０のままトークンが順次移動していくことになる。
【００５６】
そして、ネットワークを管理する管理局がこれを回収し、ネットワーク状態を全ノードへ通知する。すなわち、図１に示すように正常動作時には、管理局（図１の場合にはノード３ａ（＃１））が、図１１（ａ）に示すような断線情報１，２はともに０となるネットワークステータスフレームを生成し、一斉同報により全ノードに送る。また、図７に示すような断線発生時には、管理局のノード３ａは、受信したトークンフレームに基づき図１１（ｂ）に示すような断線情報１，２にノードアドレスが付加されたネットワークステータスフレームを生成し、管理局のノード（図７の場合にはノード３ａ（＃１））が受信したならば、一斉同報により全ノードに送る。係るフレームを各ノード３が受信することにより、断線箇所を知ることができる。なお、異常があった場合にのみ、ネットワークステータスフレームを送信するようにしても良い。
【００５７】
上記した処理を実行するため、管理局は、図１２，図１３に示すフローチャートを実施する処理部を実装する。具体的には、ノードのＭＰＵ４内に、係る処理プログラムを実行する機能を付加する。同様に、通常局は、図１４，図１５に示すフローチャートを実施する処理部を実装する。これも具体的には、ノードのＭＰＵ４内に、係る処理プログラムを実行する機能を付加する。
【００５８】
すなわち、まず断線情報を付加したトークンを送信する（ＳＴ４０）。次に、フレームの受信処理を行う（ＳＴ４１）。そして、受信したフレームのあて先アドレスをチェックし、自ノード宛て或いは一斉同報のフレームか否かを判断する（ＳＴ４２）。そして、他ノード宛ての場合にはステップ４１に戻り次のフレームの受信処理を実行する。
【００５９】
また、自ノード宛て或いは一斉同報の場合には、受信したフレームの種別を解析し（ＳＴ４３）、データであればそのデータの内容に基づく処理を実行した後（ＳＴ４５）、ステップ４１に戻り次のフレームの受信処理をする。一方、受信したフレームがトークンの場合には、ステップ４４に進み、データコピーをする。つまり、受信したトークンの断線情報１，２を取得し、図１１に示すネットワークステータスフレームを生成する。
【００６０】
次いで、係る生成したネットワークステータスフレームを一斉同報で全ノードに向けて送信する（ＳＴ４６）。そして断線情報通知をした後、トークンフレームの断線情報を０（データクリア）にし（ＳＴ４７，ＳＴ４８）、自ノードの系統▲１▼，系統▲２▼正常受信カウンタの値の少なくとも一方が０であるか否かを判断する（ＳＴ４９）。すなわち、図５，図６に示したように、正常な受信があった場合には対応する系統正常受信カウンタがインクリメントされるので、カウンタが０の場合には正常受信がないと判断できる。よって、ステップ４９の分岐判断がＹｅｓの場合には、トークンフレームの断線情報に、自ノードアドレスを追加する（ＳＴ５０）。その後、系統▲１▼，▲２▼正常受信カウンタをともに０にセットする（ＳＴ５１）。もちろん、ステップ４９の分岐判断でいずれも０でない場合には、ステップ５０をスキップし、ステップ５１を実行し、両カウンタ値を０にセットする。その後、ステップ４０に戻りトークンを送信する。
【００６１】
一方、通常局の場合には、図１４，図１５に示すように、まず、フレームの受信処理を行う（ＳＴ６１）。そして、受信したフレームのあて先アドレスをチェックし、自ノード宛て或いは一斉同報のフレームか否かを判断する（ＳＴ６２）。そして、他ノード宛ての場合にはステップ６１に戻り次のフレームの受信処理を実行する。
【００６２】
また、自ノード宛て或いは一斉同報の場合には、受信したフレームの種別を解析し（ＳＴ６３）、データであればそのデータの内容に基づく処理を実行した後（ＳＴ６６）、ステップ６１に戻り次のフレームの受信処理をする。一方受信したフレームがネットワークステータスの場合には断線情報通知、つまり、断線情報に格納したアドレスを解析し、＃０の場合には断線等の故障が発生していないと判断し、それ以外のノードアドレスが格納されている場合にはそのアドレスが隣接する伝送路で断線が生じたと判断し、係る情報を記憶保持する（ＳＴ６４）。さらに、受信したフレームがトークンの場合には、ステップ６５に進み、トークンを確保したため、データの送信処理を実行する（ＳＴ６５）。
【００６３】
その後、自ノードの系統▲１▼，系統▲２▼正常受信カウンタの値の少なくとも一方が０であるか否かを判断する（ＳＴ６７）。そして判断結果がＹｅｓの場合には、隣接する伝送路で切断等の故障があったと判断できるので、トークンフレームの断線情報に、自ノードアドレスを追加する（ＳＴ６８）。その後、系統▲１▼，▲２▼正常受信カウンタをともに０にセットする（ＳＴ６９）。もちろん、ステップ６７の分岐判断でＮｏの場合には、ステップ６８をスキップし、ステップ６９を実行し、両カウンタ値を０にセットする。トークンを次のノードに向けて送信し（ＳＴ７０）、その後、ステップ６１に戻り受信処理をする。
【００６４】
本形態の伝送局（ノード３）は、ＰＬＣや、産業用コントローラその他各種のコンピュータ等に該当する。そして、ＰＬＣの場合、一体型の場合にはその内部に組み込まれる。また、ビルディングブロックタイプのＰＬＣの場合には、そのうちの１つのユニットにより実現される。すなわち、図１６に示すように、電源ユニット２０，制御ユニット２１，光通信ユニット２２，Ｉ／Ｏユニット２３…のように各ユニット単位でひとつのケース（シャーシ）が構成され、それらを電気・機械的に連結することによりＰＬＣを構成するものがある。そして、上記した機能を組み込んだ光通信ユニット２２とすることにより、本発明が実現できる。
【００６５】
【発明の効果】
以上のように、この発明では、受信ノードでは、受信データの取り込みとともに、バイパスして次のノードへ送るようにしたため、トークンバス方式の特徴（ノード間のデータ伝送遅延が小さい）を保持することができる。そして、送信元のノードは、第１，第２送受信部からデータを送出するため、各受信ノードへは２つの経路・系統を介して伝達されるので、ケーブル伝送路をリング状に配線し、光伝送システムにおける伝送路断線による通信途絶が防止できる。
【図面の簡単な説明】
【図１】本発明に係るノードが適用されるネットワーク構成の一例を示す図である。
【図２】本発明に係るノードの好適な一実施の形態を示す図である。
【図３】ＭＰＵ内の送信機能を示すフローチャートである。
【図４】ＭＰＵ内の受信機能（断線，故障検知機能）を示すフローチャートの一部である。
【図５】ＭＰＵ内の受信機能（断線，故障検知機能）を示すフローチャートの一部である。
【図６】ＭＰＵ内の受信機能（断線，故障検知機能）を示すフローチャートの一部である。
【図７】断線を生じたネットワークの一例を示す図である。
【図８】図７の状態における各ノードの受信結果を示す図である。
【図９】図７の状態における各ノードの受信結果を示す図である。
【図１０】図７の状態における各ノードが送信するトークンを示す図である。
【図１１】管理局が送信する、ネットワークステータスフレームの一例を示す図である。
【図１２】管理局の機能を示すフローチャートの一部である。
【図１３】管理局の機能を示すフローチャートの一部である。
【図１４】通常局の機能を示すフローチャートの一部である。
【図１５】通常局の機能を示すフローチャートの一部である。
【図１６】ビルディングブロックタイプのＰＬＣの一例を示す図である。
【符号の説明】
１，２  伝送路
３  ノード
４  ＭＰＵ
４ｃ  スイッチ制御ポート
４ｄ  タイマ
６  ＲＡＭ
６ａ  第１受信用一次保存データメモリ（一次記憶部）
６ｂ  第２受信用一次保存データメモリ（一次記憶部）
６ｃ  受信用データメモリ
７  第１データ送受信部
８  第２データ送受信部
９，１０  データバイパス加算器
１１，１２  データバイパス制御スイッチ（開閉手段）
【図１】
0003770016.tif 000002
【図２】
0003770016.tif 000003
【図３】
0003770016.tif 000004
【図４】
0003770016.tif 000005
【図５】
0003770016.tif 000006
【図６】
0003770016.tif 000007
【図７】
0003770016.tif 000008
【図８】
0003770016.tif 000009
【図９】
0003770016.tif 000010
【図１０】
0003770016.tif 000011
【図１１】
0003770016.tif 000012
【図１２】
0003770016.tif 000013
【図１３】
0003770016.tif 000014
【図１４】
0003770016.tif 000015
【図１５】
0003770016.tif 000016
【図１６】
0003770016.tif 000017