(57)【要約】【課題】断線の発生によりループバックを行うことにより回線の接続状態を維持している状態で、断線状態から復旧したときの、マスタ局の処理負荷を軽減する。【解決手段】ループバックをしているループバック局から断線状態の復旧が通知されたとき、マスタ局からループバック局に対し、ループバックにより切り離された切り離し局に対して初期状態等、回線への復帰時にあるべき復帰前状態に移行させるための前処理の実行を指示する透過コマンドフレームを送信し、ループバック局では、透過コマンドフレームを切り離し局に対して送信し、切り離し局において指定された前処理を実行させる。マスタ局では、透過コマンドフレームに対する切り離し局からの応答を受信した後、ループバック局宛にループバック解除指示を行ってループバックを解除させると共に、切り離し局が回線に再接続されることに伴う回線復旧時の処理を行う。【選択図】          図６
2010062861.tif 000002
【特許請求の範囲】
【請求項１】
一のマスタ局と、当該マスタ局と回線を介して接続され且つ前記マスタ局に管理される複数のスレーブ局とでリング型ネットワークを構築し、
いずれかの前記局が、隣接する局との間での通信が不可となる断線状態を検出したときループバックを行なうことにより前記回線を介して前記マスタ局と接続状態にある局間で通信を継続し、
前記断線状態の復旧が検出されたとき前記ループバックを解除することにより、前記ループバックにより前記マスタ局から切り離されたスレーブ局を、前記回線を介して前記マスタ局に再接続するようにしたリング型ネットワークシステムにおいて、
前記マスタ局は、前記断線状態の復旧が検出されたとき、前記ループバックにより前記マスタ局から切り離された切り離し局に対して、当該切り離し局を前記マスタ局に再接続する時の状態として予め設定した復帰前状態に移行させるための前処理用のコマンドを生成し、当該コマンドを、前処理用コマンドフレームとして前記ループバックを行っているループバック局宛に送信する前処理用コマンドフレーム送信手段と、
前記前処理用コマンドフレームに対する応答として応答コマンドフレームが通知された後に、前記ループバック局に対して前記ループバック解除の指示を行うと共に、所定の回線復旧時の処理を実行する回線復旧処理手段と、を備え、
前記ループバック局は、前記前処理用コマンドフレームを受信したとき、前記前処理用コマンドフレームを前記切り離し局宛に送信する前処理用コマンドフレーム中継手段と、
前記前処理用コマンドフレームに対する応答として前記切り離し局から受信した応答コマンドフレームを、前記マスタ局に送信する応答中継手段と、を備え、
前記切り離し局は、前記前処理用コマンドフレームを受信したとき、前記前処理用コマンドフレームに応じて所定の前処理を実行すると共に前記応答コマンドフレームを送信することを特徴とするリング型ネットワークシステム。
【請求項２】
前記復帰前状態は前記スレーブ局の機能に応じて前記スレーブ局毎に設定され、
前記マスタ局は、前記断線状態の復旧が検出されたとき、前記ループバックの解除により前記マスタ局に再接続される前記切り離し局を特定する切り離し局特定手段を備え、
前記前処理用コマンド送信手段は、前記切り離し局特定手段で特定された前記切り離し局毎に、各切り離し局に設定された前記復帰前状態に応じた前処理用のコマンドを生成し、当該コマンドを前記切り離し局特定手段で特定された切り離し局と対応付けて前記前処理用コマンドフレームとして送信することを特徴とする請求項１記載のリング型ネットワークシステム。
【請求項３】
前記マスタ局と前記スレーブ局とをバス接続し、且つ両端に位置する局で回線を折り返すことにより前記リング型のネットワークを構成することを特徴とする請求項１又は請求項２記載のリング型ネットワークシステム。
【請求項４】
一のマスタ局と、当該マスタ局と回線を介して接続され且つ前記マスタ局に管理される複数のスレーブ局とでリング型ネットワークを構築し、
いずれかの前記局が、隣接する局との間での通信が不可となる断線状態を検出したときループバックを行うことにより、前記回線を介して前記マスタ局と接続状態にある局間で通信を継続し、
前記断線状態の復旧が検出されたとき前記ループバックを解除することにより、前記ループバックにより前記マスタ局から切り離されたスレーブ局を、前記回線を介して前記マスタ局に再接続するようにしたリング型ネットワークシステムの復旧方法において、
前記断線状態の復旧が検出されたとき、前記マスタ局において、前記ループバックにより前記マスタ局から切り離された切り離し局に対して、当該切り離し局を前記マスタ局に再接続する時の状態として予め設定した復帰前状態に移行させるための前処理用のコマンドを生成し、当該コマンドを前処理用コマンドフレームとして、前記ループバックを行なっているループバック局を介して前記切り離し局宛に送信するステップと、
前記前処理用コマンドフレームを受信した前記切り離し局が、前記前処理用コマンドフレームに応じて所定の前処理を実行すると共に前記前処理用コマンドフレームに対する応答コマンドフレームを送信するステップと、
前記マスタ局が、前記ループバック局を介して前記応答コマンドフレームを受信した後、前記ループバック局に対して前記ループバック解除の指示を行うと共に、所定の回線復旧時の処理を実行するステップと、を備えることを特徴とするリング型ネットワークシステムの復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ局及び複数のスレーブ局によりリング型ネットワークを構築し、このリング型ネットワークにおいて、各局が接続された回線上で伝送フレームを周回させることによりデータ交換処理を行うようにした、リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法に関する。
【背景技術】
【０００２】
従来、リング型ネットワークシステムにおいては、例えば、断線や、コネクタの脱落等といった、回線の故障や局の故障等により断線状態が生じた場合には、この断線箇所近傍の局が断線状態にあることを検出してループバックを行い、このループバックにより回線を接続状態に維持することにより、ループバックにより切り離された局を除いた局間で、データ交換を継続するようにしている（例えば、特許文献１、２参照）。
【０００３】
また、断線を検出した局や回線構成要素である機器が、その断線箇所の断線状態からの復旧を検出したときには、自動的にループバックを解除し、ループバックにより切り離された局を含めて、一つの回線に接続された局間でのデータ交換を再開するようにしている（例えば、特許文献３参照）。
【特許文献１】特開平２−２９４１３６号公報
【特許文献２】特開平３−２０６７５２号公報
【特許文献３】特開平５−２７６１８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、図８に示すように、マスタ局及び複数のスレーブ局がバス接続され、且つ両端に位置する局において回線を折り返すことにより、リング型ネットワークを構築し、スレーブ局ＳＬ１、マスタ局Ｍ０、スレーブ局ＳＬ２、スレーブ局ＳＬ３、スレーブ局ＳＬ４の順にバス接続してなるリング型ネットワークシステムにおいて、図８に示すように、スレーブ局ＳＬ２とスレーブ局ＳＬ３との間で断線状態となったものとすると、スレーブ局ＳＬ２ではループバックを行う。
【０００５】
このため、同一回線に接続されたスレーブ局ＳＬ１、マスタ局Ｍ０、スレーブ局ＳＬ２からなるグループＡと、グループＡの回線から切り離されたスレーブ局ＳＬ３及びスレーブ局ＳＬ４からなるグループＢとに分かれることになり、マスタ局Ｍ０と同一回線に接続されるグループＡでは各スレーブ局はマスタ局Ｍ０との通信が継続されるが、マスタ局Ｍ０から切り離されたグループＢでは各スレーブ局はマスタ局Ｍ０との通信を行うことができない。
【０００６】
したがって、グループＢの各スレーブ局ではデータリフレッシュが行われない状態となる。そして、マスタ局Ｍ０からのデータリフレッシュ用データを受信できないことから、グループＢの各スレーブ局ではマスタ局Ｍ０に何らかの異常が生じたと判断し、自局の動作を停止しそのままの状態を維持する、或いは自局の動作を停止して初期状態に復帰させる等といった、動作を行うことになる。つまり、リング型ネットワークシステム全体としてみた場合、マスタ局Ｍ０を含むグループＡは正常状態であるのに対し、グループＢの各スレーブ局は故障状態にあることと同等の状態となる。
【０００７】
このように、グループＢの各局が故障状態にある状態で、断線状態が復旧して接続状態に回復し、この断線の復旧をスレーブ局ＳＬ２で検出してループバックを解除すると、マスタ局Ｍ０からみれば、以前は存在し、何らかの理由により脱落したスレーブ局（スレーブ局ＳＬ３、スレーブ局ＳＬ４）群が、故障状態のまま回線に復帰し、すなわち、マスタ局Ｍ０の管理下に復帰したことになる。
【０００８】
このため、マスタ局Ｍ０では、グループＢの各スレーブ局の復帰に伴い、これらスレーブ局が回線に復帰したことに伴う、データ処理の追加や遅延時間の追加等といった回線復旧処理と、故障状態にあるグループＢの各スレーブ局を、回線に復帰させマスタ局Ｍ０の管理下に復帰させるにあたり、各スレーブ局の状態を、所定の状態（復帰前状態）に移行させるための前処理とを行う必要がある。
【０００９】
例えば、ネットワークシステム全体で、ロボット制御を行い、各スレーブ局が、ロボットの各部位を制御するようになっているネットワークシステムの場合には、各スレーブ局間で連係して動作を行う必要がある。このため、グループＢのスレーブ局により制御される部位、例えばアーム等を予め設定した初期位置に復帰させる、或いは、グループＢのスレーブ局で用いる他のスレーブ局により制御される部位の位置情報等のパラメータの更新を行う等といった、実際にグループＢのスレーブ局を含めたシステム全体での制御を開始する前に、各スレーブ局の状態を、スレーブ局毎に設定された所定の復帰前状態に移行させるための前処理を行う必要がある。
このような前処理と回線復旧処理とを行う必要があるため、断線復旧時のマスタ局での処理が煩雑になる。また、復帰するスレーブ局の数が増加するほど、マスタ局で行うべき前処理の処理量も増加することになる。
【００１０】
また、一般に故障からの復旧処理や再初期化の処理は時間的な待ち合わせ処理（例えば、初期化完了待ち）などを含むことが多く、機械（システム）を部分的に運用しながら並行して待ち合わせなど時間的要素を含む（或いは、処理時間の掛かる）処理を実行するのは困難なことが多い。これは結果的に機械の制御周期の乱れにつながる。
運用中のマスタ・スレーブの制御はシンプルで即時応答されるよう最適化されているが、初期化などは非運用時処理で複雑なやりとりを含むことが多い。
さらに、スレーブ局毎に、それぞれ個別の制御を行っているため、各スレーブ局の機能や設定等によって、前処理の処理内容も異なってくる。
【００１１】
例えば、スレーブ局が、制御機器の出力モジュールの場合には、一旦マスタ局からのデータ更新が途絶えた場合に、出力値を全てリセットする場合と、前回出力値を継続して出力する場合とがある。これらはこの出力モジュールを使用して実現する機器の仕様により異なる。このような場合には、復帰してきたスレーブ局群を全て一括してリセットする、或いは、出力データのリセットは行わずそのままの状態で復帰させるといった対応は困難である。このため、スレーブ局毎の復帰時にあるべき状態に応じて、リセットするか、そのままの状態で復帰させる必要があり、これもまた、マスタ局での断線復旧時の処理の増加につながっている。
【００１２】
このように、マスタ局での断線復旧時の処理が多いと、その分、全ての処理が終了するまでに時間を要することになり、すなわち、回線に復帰したスレーブ局からみれば、回線に接続されマスタ局との通信が可能な状態となったにも関わらず、マスタ局からの指示に応じてスレーブ局が駆動制御を開始するまでに時間を要することになり、この間、スレーブ局は正常に動作が可能な状態であるにも関わらず、スレーブ局としての機能を実行することができない。
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものであり、断線状態からの復旧時におけるマスタ局の処理の簡略化を図り、処理負荷を軽減することの可能なリング型ネットワークシステム及びリング型ネットワークシステムの復旧方法に関する。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の請求項１に係る発明は、一のマスタ局と、当該マスタ局と回線を介して接続され且つ前記マスタ局に管理される複数のスレーブ局とでリング型ネットワークを構築し、いずれかの前記局が、隣接する局との間での通信が不可となる断線状態を検出したときループバックを行なうことにより前記回線を介して前記マスタ局と接続状態にある局間で通信を継続し、前記断線状態の復旧が検出されたとき前記ループバックを解除することにより、前記ループバックにより前記マスタ局から切り離されたスレーブ局を、前記回線を介して前記マスタ局に再接続するようにしたリング型ネットワークシステムにおいて、前記マスタ局は、前記断線状態の復旧が検出されたとき、前記ループバックにより前記マスタ局から切り離された切り離し局に対して、当該切り離し局を前記マスタ局に再接続する時の状態として予め設定した復帰前状態に移行させるための前処理用のコマンドを生成し、当該コマンドを、前処理用コマンドフレームとして前記ループバックを行っているループバック局宛に送信する前処理用コマンドフレーム送信手段と、前記前処理用コマンドフレームに対する応答として応答コマンドフレームが通知された後に、前記ループバック局に対して前記ループバック解除の指示を行うと共に、所定の回線復旧時の処理を実行する回線復旧処理手段と、を備え、前記ループバック局は、前記前処理用コマンドフレームを受信したとき、前記前処理用コマンドフレームを前記切り離し局宛に送信する前処理用コマンドフレーム中継手段と、前記前処理用コマンドフレームに対する応答として前記切り離し局から受信した応答コマンドフレームを、前記マスタ局に送信する応答中継手段と、を備え、前記切り離し局は、前記前処理用コマンドフレームを受信したとき、前記前処理用コマンドフレームに応じて所定の前処理を実行すると共に前記応答コマンドフレームを送信することを特徴としている。
【００１４】
また、請求項２に係る発明は、前記復帰前状態は前記スレーブ局の機能に応じて前記スレーブ局毎に設定され、前記マスタ局は、前記断線状態の復旧が検出されたとき、前記ループバックの解除により前記マスタ局に再接続される前記切り離し局を特定する切り離し局特定手段を備え、前記前処理用コマンド送信手段は、前記切り離し局特定手段で特定された前記切り離し局毎に、各切り離し局に設定された前記復帰前状態に応じた前処理用のコマンドを生成し、当該コマンドを前記切り離し局特定手段で特定された切り離し局と対応付けて前記前処理用コマンドフレームとして送信することを特徴としている。
また、請求項３に係る発明は、前記マスタ局と前記スレーブ局とをバス接続し、且つ両端に位置する局で回線を折り返すことにより前記リング型のネットワークを構成することを特徴としている。
【００１５】
また、請求項４に係る発明は、一のマスタ局と、当該マスタ局と回線を介して接続され且つ前記マスタ局に管理される複数のスレーブ局とでリング型ネットワークを構築し、いずれかの前記局が、隣接する局との間での通信が不可となる断線状態を検出したときループバックを行うことにより、前記回線を介して前記マスタ局と接続状態にある局間で通信を継続し、前記断線状態の復旧が検出されたとき前記ループバックを解除することにより、前記ループバックにより前記マスタ局から切り離されたスレーブ局を、前記回線を介して前記マスタ局に再接続するようにしたリング型ネットワークシステムの復旧方法において、前記断線状態の復旧が検出されたとき、前記マスタ局において、前記ループバックにより前記マスタ局から切り離された切り離し局に対して、当該切り離し局を前記マスタ局に再接続する時の状態として予め設定した復帰前状態に移行させるための前処理用のコマンドを生成し、当該コマンドを前処理用コマンドフレームとして、前記ループバックを行なっているループバック局を介して前記切り離し局宛に送信するステップと、前記前処理用コマンドフレームを受信した前記切り離し局が、前記前処理用コマンドフレームに応じて所定の前処理を実行すると共に前記前処理用コマンドフレームに対する応答コマンドフレームを送信するステップと、前記マスタ局が、前記ループバック局を介して前記応答コマンドフレームを受信した後、前記ループバック局に対して前記ループバック解除の指示を行うと共に、所定の回線復旧時の処理を実行するステップと、を備えることを特徴としている。
【発明の効果】
【００１６】
本発明のリング型ネットワークシステムによれば、断線状態が生じたことに伴い何れかの局がループバックをすることにより接続状態を維持している状態で、断線状態が復旧したときには、マスタ局から、ループバックをしているループバック局宛に、ループバックにより切り離された切り離し局に対してこの切り離し局を前記マスタ局に接続する時の状態として予め設定した復帰前状態に移行させるための前処理用コマンドフレームを送信し、ループバック局は前処理用コマンドフレームを切り離し局に送信して、切り離し局が前処理用コマンドフレームにしたがって所定の前処理を行うと共に応答コマンドフレームを送信する。
【００１７】
そして、マスタ局では、切り離し局からの応答コマンドフレームを、ループバック局を介して受信した後にループバック局に対してループバック解除の指示を行い、その後、回線復旧時の処理を実行する。
このため、ループバックの解除に伴い切り離し局がマスタ局との通信が可能な状態となった時点では、切り離し局に対する前処理は終了しているため、回線復旧時の処理のみを行えばよい。したがって、マスタ局では、切り離し局に対する前処理と回線復旧時の処理とを同時に行う必要がないため、その分マスタ局の処理負荷の軽減を図ることができる。
また、時間の掛かかる処理である、制御周期にあわない待ち合わせ処理などを含む前処理は切り離し局が再接続された時点で終わっているので、再接続により制御周期の乱れを生じさせる影響を小さくできる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を説明する。
図１は、本発明を適用したリング型ネットワークシステムの一例であって、マスタ局Ｍ０及び複数のスレーブ局ＳＬ１〜ＳＬ４がバス接続されている。これら局は、スレーブ局ＳＬ１、マスタ局Ｍ０、スレーブ局ＳＬ３、スレーブ局ＳＬ４の順にバス接続され、両端に位置するスレーブ局ＳＬ１及びスレーブ局ＳＬ４において回線を折り返すことにより、リング型ネットワークを構成している。そして、回線上で伝送フレームを周回させることにより、各局間でのデータ交換を行う。
【００１９】
マスタ局Ｍ０は、各スレーブ局ＳＬ１〜ＳＬ４を管理し、例えば、マスタ局Ｍ０が各スレーブ局ＳＬ１〜ＳＬ４を駆動制御し、各スレーブ局がその被制御対象を駆動制御することによって、システム全体として所定の駆動制御が行われ、システム全体としてロボットの制御など、所定の駆動制御を行うようになっている。
また、マスタ局Ｍ０は、各スレーブ局との間の通信状況に基づき、各スレーブ局が、マスタ局Ｍ０が接続される回線に接続している状態か、脱落している状態かを判断し、その状態を管理すると共に、各局の配置位置状況等を管理する。
【００２０】
また、マスタ局Ｍ０は、スレーブ局から断線状態の検出及びループバック通知を受けたときには、ループバック通知を行った局の局番と局の配置状況とから、ループバックにより回線から切り離された局を認識する。逆に、ループバック通知を行ったスレーブ局から断線復旧が通知されたときには、ループバック時に回線から切り離された局として認識している局に対し、回線への復帰に伴う前処理の実行を指示する透過コマンドフレームを生成し、これを、断線復旧を通知した局宛に送信する。なお、回線への復帰とは、ここでは、回線から脱落したスレーブ局が回線を介してマスタ局Ｍ０に再接続され、マスタ局Ｍ０との間での通信が可能な状態となることをいう。
【００２１】
図２は、局間で授受されるフレームのフォーマットの一例である。
フレームは、例えば、フレームが通常コマンドフレームであるか透過コマンドフレームであるかを表すフレーム識別子、フレームの宛先局番、フレームの送信元局番、コマンド種別、データサイズ、コマンドデータ、フレームチェックコードで構成される。
一方、各スレーブ局ＳＬ１〜ＳＬ４は、マスタ局Ｍ０から送信されるフレームを受信し、宛先局番として自局が指定されていれば自局宛のコマンドデータを読み込んで次局に送信し、宛先局番として自局が指定されていなければそのまま次局に送信する。そして受信したフレームの識別子が通常コマンドフレームの場合には、自局宛のコマンドデータで指定される処理を行う。
【００２２】
また、自局がループバック状態であり、かつ自局宛フレームのフレーム識別子が透過コマンドフレームであり、かつ送信元がマスタ局Ｍ０である場合には、受信した透過コマンドフレーム中のコマンドデータヘッダに記述されている切り離し局の局番を新たな宛先局番として切り離し局宛の透過コマンドフレームを生成する。
そして、この透過コマンドフレームを指定されたスレーブ局すなわち切り離し局宛に送信する。そして、切り離し局を周回した透過コマンドフレームを受信したとき、マスタ局から受信した自局宛の透過コマンドフレームをマスタ局Ｍ０に戻す。
【００２３】
また、スレーブ局ＳＬ１〜ＳＬ４は、隣接するスレーブ局との間での通信状況を監視し、断線或いは故障などにより、隣接するスレーブ局との間での通信が行うことができなくなったときループバックを行いループバック局に移行すると共に、マスタ局Ｍ０に、断線状態を検出したことを通知する。また、断線状態にある状態で、隣接するスレーブ局との間での通信が再開されたときには断線状態が復旧したと判断し、マスタ局Ｍ０に断線状態の復旧を通知する。
【００２４】
なお、断線状態の検出はどのような方法であっても良いが、例えば予め設定したフレーム送受信のタイムアウト時間やリトライ回数を設定し、この時間や回数を超過して送受信が無い場合を断線とする。或いは、定期的に局間応答を確認する信号を送受信する。
また、スレーブ局ＳＬ１〜ＳＬ４は、マスタ局Ｍ０からのフレームを所定時間受信しない状態となったとき、マスタ局Ｍ０に何らかにより異常が生じたと判断し、マスタ局Ｍ０異常時の処理を実行する。例えば、現在の状態をそのまま維持するか、或いは予め設定した状態に移行する等、マスタ局Ｍ０異常時にとるべき規定状態に移行する。
また、スレーブ局ＳＬ１〜ＳＬ４は、回線から脱落している状態で、他のスレーブ局から自局宛の透過コマンドフレームを受信したときには、このフレームのコマンドデータで指定された前処理を実行すると共に、受信した透過コマンドフレームを次局に送信する。
【００２５】
次に、本発明の動作を、図３から図５のフローチャートを伴って説明する。
なお、図３は、断線状態が検出されたときに実行されるマスタ局Ｍ０の処理手順の一例を示すフローチャートである。図４は、断線状態から復旧したときの、ループバックをしているスレーブ局における処理手順の一例を示すフローチャートである。図５は、断線状態から復旧したときの、ループバックにより回線から切り離されたスレーブ局における処理手順の一例を示すフローチャートである。
【００２６】
例えば図８に示すようにスレーブ局ＳＬ２とスレーブ局ＳＬ３との間で回線の断線が生じた場合、スレーブ局ＳＬ２では、例えば所定周期で隣接するスレーブ局ＳＬ３から送信されるべきフレームを受信することができないなどによりスレーブ局ＳＬ２とスレーブ局ＳＬ３との間で断線が生じたと判断すると、ループバックをしてスレーブ局ＳＬ３及びスレーブ局ＳＬ４を回線から切り離し、スレーブ局ＳＬ１、マスタ局Ｍ０、スレーブ局ＳＬ２間での通信の継続を図る。
【００２７】
また、スレーブ局ＳＬ２は、マスタ局Ｍ０に、断線状態が生じたこと及び自局がループバック状態であることを通知する。これによりスレーブ局ＳＬ２がループバック局となる。
マスタ局Ｍ０では、断線状態が通知されると、図３の断線状態検出時の処理を開始し、まず、断線状態を検出したスレーブ局でのループバックにより切り離された局を認識する。具体的には、断線状態を検出したスレーブ局の局番と、予め保持している各局の配置位置状況とから切り離された局を認識し、これを切り離し局として所定の記憶領域に記憶しておく（ステップＳ１）。
【００２８】
ループバック局であるスレーブ局ＳＬ２では、スレーブ局ＳＬ３との間の断線状態が復旧したかどうかを監視し、例えば、所定周期でスレーブ局ＳＬ３から送信されることになっているフレームを受信するようになったとき、スレーブ局ＳＬ２とスレーブ局ＳＬ３との間での断線状態が復旧したことを認識する。このようにして、断線状態の復旧を検出すると、スレーブ局ＳＬ２では、図４のフローチャートに示すように、まず、ステップＳ２１で断線状態の復旧をマスタ局Ｍ０に通知する。
【００２９】
マスタ局Ｍ０では、復旧通知を受信すると、図３のステップＳ２からステップＳ３に移行し、透過コマンドフレームを作成しこれを送信する。
具体的には、断線状態が通知されたときにステップＳ１の処理で所定の記憶領域に記憶した切り離し局に対して前処理の実行を指示する透過コマンドフレームを作成する。各切り離し局に対応する前処理の処理内容は、予め設定して所定の記憶領域に格納しておく。この前処理としては、前述のように、各スレーブ局の被制御機器を初期状態に移行させる、或いは、各スレーブ局で用いる各種パラメータを現在値に更新する等の、各スレーブ局を所定の復帰前状態に移行させるための処理等がある。
【００３０】
ここでは、例えば回線への復帰に伴う前処理として、システム立ち上げ時の状態である初期状態への移行が指示されているものとすると、初期状態へのリセットを指示する透過コマンドフレームを作成する。すなわち、図２に示すフレームフォーマットにおいて、フレーム識別子として透過コマンドフレームを設定し、宛先局番として断線復旧を通知したループバックを行っているスレーブ局の局番、送信元局番はマスタ局Ｍ０、コマンド種別は前処理の実行を指示する前処理コマンド、データサイズとしてコマンドデータのサイズを設定し、コマンドデータとして、切り離し局であるスレーブ局ＳＬ３、スレーブ局ＳＬ４宛の、初期状態への移行の指示などを設定する。
そして、この透過コマンドフレームをループバックしているスレーブ局ＳＬ２宛に送信する。
【００３１】
ループバック局であるスレーブ局ＳＬ２では、自局宛の透過コマンドフレームを受信すると、図４のステップＳ２２からステップＳ２３に移行し、フレームデータを読み込み、フレームデータで指定されているスレーブ局ＳＬ３及びスレーブ局ＳＬ４宛の初期状態への移行を指示する透過コマンドフレームを生成する。そして、スレーブ局ＳＬ２は、ループバックしているため、通常は伝送フレームをスレーブ局ＳＬ３、ＳＬ４には送信しないが、コマンド識別子が透過コマンドフレームであるときには、この透過コマンドフレームを、スレーブ局ＳＬ３及びスレーブ局ＳＬ４宛に送信する。すなわち、宛先局番としてスレーブ局ＳＬ３及びスレーブ局ＳＬ４を指定し、初期状態へのリセットを指示するコマンドを設定する。
【００３２】
切り離し局であるスレーブ局ＳＬ３及びスレーブ局ＳＬ４では、自局宛の透過コマンドフレームを受信すると、図５のステップＳ４１からステップＳ４２に移行し、透過コマンドフレームで指定された処理を実行する。この場合、初期状態へのリセット指示がなされているため、初期状態に自局の状態をリセットする。そして、断線状態から復旧したときの処理を終了する。
【００３３】
一方、断線復旧を検出したスレーブ局ＳＬ２では、図４のステップＳ２３からステップＳ２４に移行し、切り離し局から透過コマンドフレームを受信したかどうかを判断する。切り離し局から透過コマンドフレームを所定時間経過しても受信しなければ、ステップＳ２４からステップＳ３０に移行し、切り離し局は異常と判断し、例えば、マスタ局Ｍ０に切り離し局が異常であることを通知するための透過コマンドフレームを送信する。そして、断線復旧時の処理を終了する。
【００３４】
一方、スレーブ局ＳＬ２では、切り離し局から透過コマンドフレームを受信したならば、図４のステップＳ２４からステップＳ２５に移行し、自局宛に受信した透過コマンドフレームをマスタ局Ｍ０に戻す。また、切り離し局であるスレーブ局ＳＬ３及びスレーブ局ＳＬ４は正常であることを認識する。
マスタ局Ｍ０では、透過コマンドフレームを受信すると（ステップＳ４）、ステップＳ３で送信した透過コマンドフレームが切り離し局であるスレーブ局ＳＬ３、スレーブ局ＳＬ４を周回して戻ってきたことから、これらスレーブ局が正常であると判断する。そして、この時点からの経過時間の計測を開始する。
【００３５】
そして、透過コマンドフレームを受信した時点からの経過時間が所定時間に達したとき、すなわち、スレーブ局ＳＬ３及びスレーブ局ＳＬ４でのリセット処理が終了するに十分な時間が経過したとき、ループバック解除指示を、断線復旧を検出したスレーブ局ＳＬ２宛に送信する（ステップＳ５）。
これにより断線復旧を検出したスレーブ局ＳＬ２では、図４のステップＳ２６からステップＳ２７に移行し、ループバック解除を行う。そして、ループバックを解除した旨をマスタ局Ｍ０に通知し、断線復旧時の処理を終了する。
【００３６】
マスタ局Ｍ０では、断線復旧を検出したスレーブ局ＳＬ２からループバックの解除通知が行われると、図３のステップＳ６からステップＳ７に移行し、回線復旧処理を実行する。すなわち、例えば、回線に復帰したスレーブ局ＳＬ３、スレーブ局ＳＬ４がマスタ局Ｍ０宛にフレームを送信することにより、これらスレーブ局ＳＬ３、スレーブ局ＳＬ４からフレームを受信すると、一度回線から切り離されたスレーブ局ＳＬ３及びスレーブ局ＳＬ４が再度接続状態に復帰したことを認識し、スレーブ局ＳＬ３及びスレーブ局ＳＬ４に対するデータ処理を開始すると共に、これら局がマスタ局Ｍ０に再接続されたことに伴う送信タイミングの調整等といった予め設定した回線復旧処理を実行する。そして、所定の回線復旧処理が終了したならば、断線状態検出時の処理を終了し、以後、定常状態に移行し、スレーブ局ＳＬ１〜スレーブ局ＳＬ４を駆動制御する。
【００３７】
図６は、図１のリング型ネットワークシステムにおいて、断線状態が検出されてから復旧するまでの間の、マスタ局Ｍ０及びスレーブ局ＳＬ２〜ＳＬ４間で送受信されるフレームの流れを表したものである。なお、図６では、通常コマンドフレームを通常フレーム、透過コマンドフレームを透過コマンドとして記載している。また、図７は、ネットワークシステムにおけるデータの流れを表したものである。なお図６においては、フレームの流れの説明の為、マスタ局Ｍ０の上流側に位置するスレーブ局ＳＬ１の図示は省略している。
【００３８】
図１に示すように、断線異常が生じていない場合には、時点ｔ１でマスタ局Ｍ０から送信された通常コマンドフレームは、マスタ局Ｍ０、スレーブ局ＳＬ２、スレーブ局ＳＬ３、スレーブ局ＳＬ４に送信され、スレーブ局ＳＬ３、スレーブ局ＳＬ２を経てマスタ局Ｍ０に戻される。マスタ局Ｍ０ではこれをスレーブ局ＳＬ１に送信し、スレーブ局ＳＬ１ではこれをマスタ局Ｍ０に戻す。これにより、伝送フレームが回線を介して各局を周回することになる。
各局では、受信したフレームが自局宛のフレームであるときには、これを読み込み所定の処理を実行する。これにより、ネットワークシステムを構成する各局間でのデータの授受が可能となる。
【００３９】
この状態から、図８に示すようにスレーブ局ＳＬ２とスレーブ局ＳＬ３との間で断線が生じると、スレーブ局ＳＬ２では断線状態を検出しループバック状態に移行する。
このため、スレーブ局ＳＬ２では時点ｔ２で通常コマンドフレームを受信すると、スレーブ局ＳＬ２とスレーブ局ＳＬ３との間で断線が生じているため、スレーブ局ＳＬ３、スレーブ局ＳＬ４には送信せず、スレーブ局ＳＬ２でループバックしてマスタ局Ｍ０に戻す。したがって、スレーブ局ＳＬ３及びスレーブ局ＳＬ４は、マスタ局Ｍ０との間でのデータ授受を行うことはできないが、スレーブ局ＳＬ１、スレーブ局ＳＬ２は、リング状の回線でマスタ局Ｍ０と接続されているため、引き続きマスタ局Ｍ０とのデータ授受を行うことができる。
【００４０】
また、スレーブ局ＳＬ２では自局宛の通常コマンドフレームをマスタ局Ｍ０に戻す際に、自局のステータスとして、断線異常を検出したこと、自局がループバック状態に移行したことを付加してマスタ局Ｍ０に送信する。
マスタ局Ｍ０は、スレーブ局ＳＬ２からの断線異常の通知により、断線異常が生じた箇所及びスレーブ局ＳＬ２のループバックにより切り離された局を認識する（図３ステップＳ１）。
【００４１】
この状態から、断線状態が復旧し、これをスレーブ局ＳＬ２が検出すると、スレーブ局ＳＬ２では、この断線状態の復旧をマスタ局Ｍ０に通知する。例えば、時点ｔ３で送信されたマスタ局Ｍ０からの自局宛の通常コマンドフレームを戻す際に、自局のステータスとして断線状態が復旧したこと、ループバック中であることを付加して送信する（図４ステップＳ２１）。なお、この断線状態の復旧を検出した時点では、ループバック局であるスレーブ局ＳＬ２は、ループバックを解除しない。
【００４２】
マスタ局Ｍ０では、スレーブ局ＳＬ２から断線異常の復旧が通知されると、切り離し局はスレーブ局ＳＬ３、スレーブ局ＳＬ４であるため、スレーブ局ＳＬ３、スレーブ局ＳＬ４に対して、回線への復帰に伴う前処理として、例えば初期状態へのリセットを指示する透過コマンドフレームを生成し、これをスレーブ局ＳＬ２宛に送信する（時点ｔ４、図３ステップＳ２、Ｓ３）。
【００４３】
スレーブ局ＳＬ２では、自局宛の透過コマンドフレームを受信すると、スレーブ局ＳＬ３、スレーブ局ＳＬ４へのリセット指示がなされているため、スレーブ局ＳＬ３、スレーブ局ＳＬ４宛の初期状態へのリセットを指示する透過コマンドフレームを生成しこれをスレーブ局ＳＬ３及びスレーブ局ＳＬ４宛に送信する（図４ステップＳ２２、２３）。
スレーブ局ＳＬ３及びスレーブ局ＳＬ４は自局宛の透過コマンドフレームを受信すると、その内容を取り込むと共に透過コマンドフレームを次局に送信する。そして、リセット指示がなされているため、初期状態への移行処理を開始する（図５ステップＳ４１、Ｓ４２）。
【００４４】
一方、スレーブ局ＳＬ２は、スレーブ局ＳＬ３、スレーブ局ＳＬ４を周回した透過コマンドフレームを受信すると、自局宛の透過コマンドフレームをマスタ局Ｍ０に戻す（図４ステップＳ２４、Ｓ２５）。
マスタ局Ｍ０は、時点ｔ５で透過コマンドフレームを受信すると、時点ｔ４で送信した透過コマンドフレームがループバックにより切り離されているスレーブ局ＳＬ３及びスレーブ局ＳＬ４に到達したと判断し、この透過コマンドフレームを受信した時点からの経過時間の計測を開始する。
【００４５】
そして、所定時間が経過するまでの間は、ループバックの解除を指示せず、ループバックを維持したまま、マスタ局Ｍ０、スレーブ局ＳＬ１、スレーブ局ＳＬ２との間でフレームの周回によりデータ授受を行う（時点ｔ６）。また、スレーブ局ＳＬ２では、自局宛の通常コマンドフレームをマスタ局Ｍ０から受信したときには、この通常コマンドフレームに、自局のステータスとして断線状態が復旧したこと、ループバック状態にあることを付加してマスタ局Ｍ０に戻す。
【００４６】
そして、マスタ局Ｍ０では、透過コマンドフレームの到達を確認した時点からの経過時間が予め設定した所定時間に達したとき、すなわち、スレーブ局ＳＬ３、スレーブ局ＳＬ４でのリセット処理が終了したと予測されるとき、時点ｔ７でスレーブ局ＳＬ２宛に、ループバック解除コマンドの通常コマンドフレームを送信する（図３ステップＳ４、Ｓ５）。
【００４７】
スレーブ局ＳＬ２は、ループバック解除コマンドのフレームデータを読み込み、マスタ局Ｍ０に戻す。そして、ループバック解除が指示されていることから、ループバック解除を行う（図４ステップＳ２６、Ｓ２７）。
このため、次に、時点ｔ８で通常コマンドデータが送信されたときには、通常コマンドフレームは、スレーブ局ＳＬ２、スレーブ局ＳＬ３、スレーブ局ＳＬ４に送信され、スレーブ局ＳＬ３、スレーブ局ＳＬ２を経てマスタ局Ｍ０に戻される。このため、スレーブ局ＳＬ１〜ＳＬ４とマスタ局Ｍ０との間でのデータ授受が再開される。
【００４８】
ここで、スレーブ局ＳＬ２でループバックを解除した時点では、スレーブ局ＳＬ３及びスレーブ局ＳＬ４でのリセット処理は既に完了している。つまりスレーブ局ＳＬ３及び４は初期状態となっており、これらは復帰前のスレーブ局のあるべき状態として設定された状態である。
このため、マスタ局Ｍ０では、ループバックが解除された時点で、スレーブ局ＳＬ３及びスレーブ局ＳＬ４を初期状態に制御する必要はなく、スレーブ局ＳＬ３、スレーブ局ＳＬ４が、再度回線に接続状態となったことに伴う回線復旧処理のみを行えばよい。
【００４９】
したがって、ループバック解除時に、マスタ局Ｍ０では、前処理と回線復旧処理とを同時に行う必要がないため、ループバック解除時におけるマスタ局Ｍ０での負荷軽減を図ることができる。このため、ループバック解除がなされた時点から、実際に、スレーブ局ＳＬ３及びスレーブ局ＳＬ４を含めたシステム制御の開始までの所要時間を短縮することができる。このため、断線復旧時のリカバリ時間の短縮を図ることができ、プログラマブルコントローラを用いたネットワークシステムや機械制御システムを構成するネットワークシステムの場合には、信頼性や生産性の向上を図ることができる。
【００５０】
また、マスタ局Ｍ０での処理として前処理と回線復旧処理とを明確に切り分けることができるため、マスタ局Ｍ０における処理構造の簡略化を図ることができる。
また、回線に復帰したスレーブ局の故障情報は、クリアされた状態で回線に復帰する。このため、例えば、ネットワークシステムの保守等のために、マスタ局Ｍ０側でスレーブ局の故障情報を保守情報として収集し記憶するように構成されている場合であっても、マスタ局Ｍ０では、スレーブ局は正常状態として認識するため、スレーブ局の故障情報が収集されることはない。したがって、何らかにより一時的に通信を行うことができなくなった場合など、一時的な断線状態が生じた場合に、この一時的な断線状態に伴う故障情報が保守情報として収集されることを回避することができる。このため、一時的な断線状態といった比較的軽微な故障情報が保守情報として収集されることを回避することができる。
【００５１】
なお、上記実施の形態においては、スレーブ局ＳＬ３及びスレーブ局ＳＬ４において、回線への復帰前の状態として共に初期状態にリセットする場合について説明しているがこれに限るものではない。
前述のように、各スレーブ局の被制御対象機器によって、各スレーブ局が回線に復帰するときのあるべき状態、つまり復帰前状態は異なるため、回線復帰時の前処理の処理内容もスレーブ局毎に異なる。
【００５２】
例えば、スレーブ局ＳＬ３では、前処理として予め設定した回線復帰時にあるべき状態として予め設定した復帰前状態（例えば初期状態）に移行させ、スレーブ局ＳＬ４では、前処理として、他のスレーブ局との整合をとるための各種パラメータとして他のスレーブ局の現在値を設定する場合には、マスタ局Ｍ０ではスレーブ局ＳＬ３に対しては復帰前状態への移行を指示するリセットコマンドを設定し、スレーブ局ＳＬ４に対しては各種パラメータの更新を指示する更新コマンドと更新用データとを設定する。そして、これらを透過コマンドフレームとしてスレーブ局ＳＬ２宛に送信する。
【００５３】
スレーブ局ＳＬ２では、スレーブ局ＳＬ３及びスレーブ局ＳＬ４宛に、スレーブ局ＳＬ３宛のリセットコマンドと、スレーブ局ＳＬ４宛の更新コマンド及び更新用データとからなる透過コマンドフレームを送信する。
この透過コマンドフレームを受信したスレーブ局ＳＬ３では自局宛のリセットコマンドを読み込み、所定の復帰前状態へのリセット処理を行い、スレーブ局ＳＬ４では自局宛の更新コマンド及び更新データを読み込み、指定された各種パラメータのパラメータ値を更新データに更新する。
このように、スレーブ局ＳＬ３及びスレーブ局ＳＬ４に対する、前処理の処理内容が異なる場合であっても適用することができる。
また、上記実施の形態においては、スレーブ局ＳＬ３及びスレーブ局ＳＬ４では、透過コマンドフレームでのリセット指示に応じてリセット処理のみを行う場合について説明したが、これに限るものではない。
【００５４】
例えば、透過コマンドフレームにおいて、スレーブ局ＳＬ３、スレーブ局ＳＬ４宛に、応答要求や所定情報の送信要求を付加して送信し、スレーブ局ＳＬ３、スレーブ局ＳＬ４では、応答要求や送信要求が付加されているときには指定された情報を透過コマンドフレームに付加して次局に送信するか、或いは応答用のフレームを新たに作成してループバック局であるスレーブ局ＳＬ２に送信するように構成する。そして、スレーブ局ＳＬ３、スレーブ局ＳＬ４からの所定の情報が付加された透過コマンドフレームや応答用フレームを、スレーブ局ＳＬ２から、所定のタイミングで、マスタ局Ｍ０に送信するように構成してもよい。
【００５５】
このように、マスタ局Ｍ０で必要とする情報を、スレーブ局ＳＬ３やスレーブ局ＳＬ４から送信する構成とすることにより、マスタ局Ｍ０側ではスレーブ局ＳＬ３やスレーブ局ＳＬ４での状態など、必要な情報を収集した上で、各種処理を実行することができる。このため、例えば、スレーブ局ＳＬ３やスレーブ局ＳＬ４側から前処理が終了したときに終了通知を行う構成とすることによって、マスタ局Ｍ０では、スレーブ局ＳＬ３やスレーブ局ＳＬ４での前処理の終了を待って、ループバックの解除を行うことができる。
【００５６】
また、上記実施の形態においては、マスタ局Ｍ０から切り離し局に対してリセット指示を行う透過コマンドフレームのみを送信する場合について説明したが、これに限るものではない。
例えば、マスタ局と切り離し局との間で、指示データと応答データとを授受しつつ、複数回の手順を踏んで、切り離し局を復帰前状態に移行させる場合には、切り離し局からの応答コマンドを待って、マスタ局から再度透過コマンドフレームを送信するように構成してもよい。
【００５７】
このようにすることによって、例えば、故障状態にある切り離し局を、一旦初期状態にリセットした後、初期値を再度設定し、その初期値が正しく読み込まれ、反映されたことを確認した上で、回線に復帰させる場合等であっても、的確に復帰前状態に移行させることができる。
また、スレーブ局毎に所定の復帰前状態に移行するまでにシーケンスが必要な場合には、マスタ局では、各スレーブ局個別宛の透過コマンドフレームを生成し且つ、スレーブ局毎に先に送信した透過コマンドフレームに対する応答コマンドを待って次の透過コマンドフレームを送信するようにすればよい。
【００５８】
また、複数のスレーブ局で構成される機械システム等において、あるスレーブ局を初期化して原点復帰させてから、他の局を初期化する等、復帰前状態に移行させる際に、スレーブ局間にわたってシーケンスが必要となる場合には、マスタ局側で、まず、第１のスレーブ局に対する所定の前処理を指示する透過コマンドフレームを送信し、その応答を待って第２のスレーブ局に対する所定の前処理を指示する透過コマンドフレームを送信し、その応答を待って、第１のスレーブ局に対する所定の前処理を指示する透過コマンドフレームを送信し、というように、シーケンスにしたがって、他のスレーブ局での処理状況を考慮して、透過コマンドフレームを所定のスレーブ局宛に送信するようにすればよい。
【００５９】
また、上記実施の形態においては、マスタ局及びスレーブ局をバス接続し、その両端に位置する局で回線を折り返すことによりリング型のネットワークを構成する場合について説明したが、マスタ局及びスレーブ局を二重の回線によってループ状に接続し、断線状態が生じた箇所でループバックを行うことにより、マスタ局と回線を介して接続されるスレーブ局との間で通信を継続し、断線状態が復旧したときにループバックを解除するようにしたリング型のネットワークであっても適用することができる。
【００６０】
ここで、上記実施の形態において、図３のステップＳ２及びＳ３の処理が前処理用コマンドフレーム送信手段に対応し、透過コマンドフレームが前処理用コマンドフレームに対応し、図３のステップＳ４〜ステップＳ７の処理が回線復旧処理手段に対応し、ステップＳ４の処理で、ステップＳ３の処理で送信した透過コマンドフレームに対する応答としてループバック局から受信する透過コマンドフレームが応答コマンドフレームに対応している。
また、図４のステップＳ２３の処理が前処理用コマンド中継手段に対応し、ステップＳ２４及びステップＳ２５の処理が応答中継手段に対応している。
また、図３のステップＳ３の処理で、断線状態が通知されたときにステップＳ１の処理で所定の記憶領域に記憶した記憶情報から切り離し局を特定する処理が切り離し局特定手段に対応している。
【図面の簡単な説明】
【００６１】
【図１】本発明を適用したリング型ネットワークシステムの一例を示す構成図である。
【図２】フレームフォーマットの一例である。
【図３】断線状態検出時のマスタ局の処理手順の一例を示すフローチャートである。
【図４】断線復旧時のループバック局における処理手順の一例を示すフローチャートである。
【図５】切り離し局における処理手順の一例を示すフローチャートである。
【図６】断線状態検出から断線復旧までのフレームの流れを説明する説明図である。
【図７】断線状態検出から断線復旧までの各時点における、リング型ネットワークシステムにおけるデータの流れを説明する説明図である。
【図８】断線状態が生じたときの、リング型ネットワークシステムの状態を説明するための説明図である。
【符号の説明】
【００６２】
Ｍ０  マスタ局
ＳＬ１〜ＳＬ４  スレーブ局
【図１】
2010062861.tif 000003
【図２】
2010062861.tif 000004
【図３】
2010062861.tif 000005
【図４】
2010062861.tif 000006
【図５】
2010062861.tif 000007
【図６】
2010062861.tif 000008
【図７】
2010062861.tif 000009
【図８】
2010062861.tif 000010