(57)【要約】【課題】フレームの無限巡回を防ぎ、回線障害または装置障害の発生時に網構成制御を行わず、伝送路に不要なフレーム伝送を生じずに、スレーブノードとデュアルマスタの間で通信が可能なフレーム伝送方法を提供する。【解決手段】伝送路に異常がないとき、フレームの受信廃棄を実施するノードをデュアルマスタノードのみとして、デュアルマスタノードの間でフレーム転送を一回のみ実施し、両マスタノードが、他マスタに届いたことを検知した後に、直ちにフレーム廃棄を行う。これにより、フレームの無限巡回を防ぎ、伝送路に障害が発生時に網構成制御を行わず、フレームのループバックを実施しないので不要なフレーム伝送が生じない。【選択図】図２
2017184072.tif 000002
【特許請求の範囲】
【請求項１】
複数のスレーブノードと二つのマスタノードがイーサネット（登録商標）フレーム伝送路を介してリング状に接続され、伝送フレームがマスタノードに到達することを記録し、前記スレーブノードとマスタノードが前記フレーム中の記録をクリアして自ノード発のフレームを隣接ノードの両方に送出し、前記マスタノードがフレームを受信した際に受信フレーム中の記録を確認し、前記他マスタノードに通過したかどうかを検知し、前記検知結果によって、前記受信フレームを廃棄、または、前記受信フレーム中の記録を変更してから転送することを特徴とするフレーム伝送方法。
【請求項２】
請求項１において、前記転送する回数が一回であることを特徴とするフレーム伝送方法。
【請求項３】
請求項１において、伝送路の異常がない場合には、フレームの廃棄機能を有するノードを前記デュアルマスタノードに限定することを特徴とするフレーム伝送方法。
【請求項４】
請求項１において、回線障害の発生時には、障害箇所の近隣ノードによりフレームを廃棄し、網構成制御を行わないことを特徴とするフレーム伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つのコントローラ装置（マスタノード）と複数フィールド入出力装置（スレーブノード）によって構成された、リング状フィールドネットワークシステムのフレーム伝送方法に関する。
【背景技術】
【０００２】
工場の生産プロセス監視制御システムは、PLC（Program Logical Controller）などのコントローラ装置（以下、コントローラ装置と呼ぶ）を介し、定周期で温度、圧力、振動などのフィールド装置から、計測データを収集している。同時に、インバータなどフィールド装置へデータ送信処理も行っている。各フィールド装置間にデータ通信の必要がないが、フィールド装置とコントローラ装置の間では１ミリ秒以下の定周期通信を確保しなければならない場合がある。通信のリアルタイム性が高いイーサネット(登録商標)伝送回線を使用すれば、大きな効果を得られる。
【０００３】
また、工場では様々な環境雑音の影響を受けやすいため、コントローラ装置とフィールド装置の間に高い耐通信障害性が要求されている。コントローラ装置とフィールド装置の間にリング状ネットワークを構築すれば、低コストで回線二重化にすることによって通信の確実性を向上できる。さらに、コントローラ装置を二重化にして、システム全体の耐通信障害性を大幅に向上できる。
【０００４】
しかしながら、イーサネット(登録商標)を用いて、リング型ネットワークを構成する場合、ネットワーク内にループが発生するため、フレームの無限巡回が生ずる問題がある。この問題を解決するため、非特許文献１に規定されているスパニングツリープロトコル（ＳＴＰ)では、ネットワーク内のノードの１つをブロッキング（論理遮断）ノードとし、ネットワーク上で論理的ツリートポロジーを形成し、フレームの無限巡回を防止する。
そして、回線障害または装置障害発生時にＳＴＰは、ネットワークの経路の復旧または迂回経路の確立を行うための網構成制御方法を提供しているが、障害発生から復旧までの間に、ネットワークの各ノード間の通信が保証不能になりやすい。
【０００５】
また、障害からの復旧時間を短縮するため、特許文献１では、マスタノードが網構成制御用の所定の制御フレームを所定の間隔で送出し、自マスタノード以外のマスタノードが送出した当該制御フレームを検出した場合には、ブロッキング競合処理を行うことによって、障害時ネットワークの経路の復旧時間を短縮できる方法を記載している。
【０００６】
しかしながら、工場の生産プロセス監視制御システムでは、各フィールド装置(スレーブノード)と二重化したコントローラ装置(デュアルマスタノード)の間に１ミリ秒以下の定周期通信を確保しなければならない場合がある。非特許文献１と特許文献１の先行技術を使用すれば、ネットワーク中障害発生時、網構成制御によるネットワーク復旧に時間がかかり（復旧時間短縮しても１ミリ秒を大幅に超える）、復旧期間の故障箇所外の通信が保証できないため、高速フィールドネットワークに適用できない。
【０００７】
一方、特許文献２に記載された技術では、障害発生時網構成制御せずにフレームの無限巡回を防止するため、一つの廃棄ノードを設置した上で、その廃棄ノードに通過するフレームに対し、周回データの識別情報を付与して、再び同じフレームを受信する時に廃棄する。また、廃棄ノードが障害発生時は、待機用のノードが現用系廃棄ノードに切り替ることで、周回フレームを廃棄する。また、廃棄ノード外の回線障害発生時は、フレームのループバックを実施し、廃棄ノードまでに巡回させて廃棄ノードによりフレームを廃棄する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−０６０４１９号公報
【特許文献２】特開２００２−０７７２０５号公報
【非特許文献】
【０００９】
【非特許文献１】ＡＮＳＩ／ＩＥＥＥ Ｓｔｄ ８０２．１Ｄ， １９９８ Ｅｄｉｔｉｏｎ：８．Ｔｈｅ Ｓｐａｎｎｉｎｇ Ｔｒｅｅ Ａｌｇｏｒｉｔｈｍ ａｎｄ Ｐｒｏｔｏｃｏｌ
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、複数スレーブノードとデュアルマスタノードから構成されたフィールドネットワークにおいては、各スレーブノードの伝送データは、デュアルマスタノードの両方に伝達する必要がある。また、マスタノードの伝送データは、全てのスレーブノードに伝達する必要がある。但し、スレーブノードの伝送データは、他のスレーブノードに伝達する必要はない。
【００１１】
特許文献２に記載された技術を使えば、回線障害発生時、フレームのループバックが実施され、スレーブが送出したフレームがネットワーク中の全てのノードを少なくとも一回以上巡回させなければならない。また、廃棄ノードが障害発生時、その廃棄ノードを切り離して、他の待機ノードを廃棄ノードとして設定し直すという切換え制御を行っているため、切換えの間に巡回フレームが廃棄できず、また、不要なフレーム伝送が生じてしまうので、回線利用効率が低下しやすい。
このような背景に鑑みて、本発明は、フィールド装置の監視制御向けのデュアルマスタノードを有したリング型フィールドネットワークにおいて、フレームの無限巡回を防ぎ、回線障害または装置障害発生時に網構成制御を行わず、伝送路に不要なフレーム伝送を生じないで、スレーブノードとデュアルマスタの間で通信が可能なフレーム伝送方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、伝送路に異常がないとき、フレームの受信廃棄を実施するノードをデュアルマスタノードのみとして、デュアルマスタノードの間でフレーム転送を一回のみ実施し、両マスタノードが、他マスタに届いたことを検知した後に、直ちにフレーム廃棄を行うことによりフレームの無限巡回を防ぐことと、伝送路に障害が発生時に網構成制御を行わないこと、かつ、フレームのループバックを実施しないので不要なフレーム伝送が生じないことを特徴とする。
【発明の効果】
【００１３】
デュアルマスタノードと複数スレーブノードによって構成されたリング型フィールドネットワークに対し、フレームの無限巡回を防ぎ、一箇所の回線障害または装置障害発生時も網構成制御を行わず、加えて伝送路に不要なフレームを伝送しないで、スレーブノードとデュアルマスタノードの間で通信できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る分散制御構成システムの全体構成を示す図である。
【図２】実施形態に係る伝送路のシステム構成を示す図である。
【図３】実施形態に係る通信ノード(マスタ/スレーブ)のブロック図である。
【図４】実施形態に係る伝送フレームの構成を示す図である。
【図５】実施形態に係るマスタノードの受信処理フローを示す図である。
【図６】実施形態に係るスレーブノードの受信処理フローを示す図である。
【図７】実施形態に係る伝送路が回線正常時にスレーブ発のフレーム伝送方法を示す図である。
【図８】実施形態に係る伝送路が回線障害発生時にスレーブノード発のフレーム伝送方法を示す図である。
【図９】実施形態に係る伝送路がスレーブノード障害発生時にスレーブノード発のフレーム伝送方法を示す図である。
【図１０】実施形態に係る伝送路が回線正常時にマスタノード発のフレーム伝送方法を示す図である。
【図１１】実施形態に係る伝送路が回線障害発生時にマスタノード発のフレーム伝送方法を示す図である。
【図１２】実施形態に係る伝送路がマスタノード障害発生時のフレーム伝送方法を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
図１は、実施形態の伝送路システムに係る分散制御監視システムの全体構成を示す図である。制御装置と、制御サーバと、監視操作装置と、二重化の制御ＬＡＮによって接続されている。そして、二台の制御装置と複数台の入出力制御装置から、リンク状フィールドネットワークを構成されている。また、各入出力制御装置は、バスで複数台のフィールド機器を接続している。また、各フィールド機器は、入出力制御装置から指示より入出力を行う。
【００１６】
図２は、実施形態に係るリンク状フィールドネットワークの伝送路構成を示す図である。図２において、スレーブノードＳ３０１〜スレーブノードＳ３０４とマスタノードＭ１００およびマスタノードＭ２００は、イーサネット（登録商標）フレーム伝送装置としてのノードであり、それぞれ二つのイーサネット（登録商標）ポート(ポートＡ、ポートＢ、図中、イーサネット通信ポート)を有し、イーサネット（登録商標）フレームの伝送回線によってリング状のネットワークを構築される。スレーブノードが図１の入出力制御装置にあたり、マスタノードが図１の制御装置にあたる。
【００１７】
全てのノードいずれもポートＡ、ポートＢともに通信網に接続され、フレーム伝送は、ポートＡ側、ポートＢ側の両方で双方向(図中、←→印で示す)に行われる。伝送路に障害が発生しない場合、伝送路中に巡回しているフレームの受信廃棄(論理遮断、（図中、条件つきフレーム廃棄)）を実施するのは、マスタノードＭ１００とマスタノードＭ２００のみである。スレーブノードＳ３０１〜スレーブノードＳ３０４は、送信フレームをポートＡとポートＢ同時に送出し、自ノード宛以外の受信フレームを隣ノードに転送する。マスタノードとスレーブノードそれぞれは、フレームを転送するとき、送信ポートのリンク状況を確認し、リンクダウンを検知したら、フレームを廃棄する。
【００１８】
図３は、図２におけるノード（Ｍ１００〜Ｍ２００とＳ３０１〜Ｓ３０４）の内部ブロック図を示す図である。図３では、代表としてマスタノード（Ｍ１００）の機能ブロックについて説明する。ノードＭ１００は、イーサネット（登録商標）回線（７００−１、７００−２）を介してノードＳ３０１とノードＳ３０４と接続している。
ノードＭ１００は、ＣＰＵ（８４０）と、メモリ（８３０）と、フレーム制御部（８２０）と、送受信バッファ（８１０）と、ポートＡ、Ｂ（８００）から構成される。ポートＡ、Ｂ（８００）は、リング状ネットワークを構成するためのポートであり、１ノードに合計２ポート備えられる。
【００１９】
送受信バッファ（８１０）は、ポートＡ、Ｂ（８００）から受信したフレームを格納するためのメモリであり、また、フレーム制御部（８２０）からのフレームを送信するためのメモリであり、ポート毎に一つずつ保有する。
フレーム制御部（８２０）は、ポートＡ、Ｂからのフレームを受信し、メモリ（８３０）に格納する機能を持つ。また、ＣＰＵ（８４０）からの指示に従い、メモリ（８３０）上に作成したフレーム情報を、フレームとして送信する機能を有する。
ＣＰＵ（８４０）は、図４に定義するフォーマットのフレームを作成し、メモリに格納した上で、フレーム制御部（８２０）へ送信指示を発行する。また、メモリ（８３０）に格納した受信フレームの内容を確認して、フレーム廃棄もしくはフレーム転送を行う。
【００２０】
図４は、ネットワーク中を伝播されるフレームフォーマットを示す図である。本フレームは、ＭＡＣヘッダと、長さ/タイプと、ｍ_ｃｎｔと、フレーム情報と、ＣＲＣから構成される。ＭＡＣヘッダには、宛先アドレスと送信元アドレスが設定されている。
ｍ_ｃｎｔは、マスタ通過回数を記録するためのカウンタである。ｍ_ｃｎｔの設置場所はフレームペイロードの任意場所にしても良い。本実施形態はフレームペイロードの先頭に置く。ＣＲＣは、巡回冗長検査データであり、フレーム誤りの検出に使われる。
【００２１】
以下、図４に定義しているフレームを用いて、各ノードの送受信フレーム処理フローを順番に説明する。各ノードは、フレームを送信するとき、フレーム中のｍ_ｃｎｔをゼロに設定して、ポートＡとポートＢ両方に送出する。
図５は、本実施形態に係るマスタノードの受信フレーム処理フローである。マスタノード（Ｍ１００）は、フレームを受信したとき、自ノードが送出したフレームであるかを確認する。自ノードが送出したフレームを識別したら、受信フレームを廃棄する。そうではない場合、フレームペイロード中のｍ_ｃｎｔの値を確認し、ｍ_ｃｎｔの値がゼロ以外の場合、受信フレームを処理した後に廃棄する（ブロッキングする）。ｍ_ｃｎｔの値がゼロの場合、ｍ_ｃｎｔを１に加算して隣のノードに転送する。そして、フレームを転送する際に、送信ポートのリンク状況を確認し、送信ポートのリンクがダウンであれば、フレームを廃棄する。
【００２２】
図６は、本実施形態に係るスレーブノードの受信フレーム処理フローである。フレームを受信したとき、自ノードが送出したフレームであるかを確認する。自ノードが送出したフレームを識別したら、フレームを廃棄する。そうではない場合、隣のノードにフレームを転送する。そして、フレームを転送する際に、送信ポートのリンク状況を確認し、送信ポートのリンクがダウンであれば、フレームを廃棄する。
【００２３】
ここから、図７〜図１２を用いてネットワーク中を伝播されるフレームの伝送方法を説明する。図７は、本実施形態に係る伝送路が回線正常時にスレーブ発のフレーム伝送方法を示す図である。スレーブノード（Ｓ３０１）は、フレーム１を送信したとき、フレーム中のｍ_ｃｎｔを0に設定する。フレーム１を、時計回り方向でマスタノード（Ｍ１００）へ送信し、反時計回り方向でスレーブノード（Ｓ３０２）へ送信する。
【００２４】
マスタノード（Ｍ１００）は、時計回り方向から受信したフレーム１に対し、フレーム中のｍ_ｃｎｔを１に加算した後に、隣のノード（Ｓ３０４）へ転送する。反時計回り方向から受信したフレーム１に対し、フレーム中のｍ_ｃｎｔが１であることを識別したとき、そのフレームを処理した後に廃棄する。
マスタノード（Ｍ２００）は、反時計回り方向から受信したフレーム１に対し、フレーム中のｍ_ｃｎｔを１に加算した後に、隣のノード（Ｓ３０３）へ転送する。時計回り方向から受信したフレーム１に対し、フレーム中のｍ_ｃｎｔが１であることを識別したあとにフレームを廃棄する。
スレーブノード（Ｓ３０２、Ｓ３０３、Ｓ３０４）のいずれは、時計回り方向および反時計方向から受信したフレーム１に対し、中身を変更せずに隣ノードへ転送する。
【００２５】
図８、図９それぞれは、本実施形態に係る伝送路が回線障害発生時とノード故障発生時、スレーブ発のフレーム伝送方法を示す図である。  
図８において、ノードＳ３０３とノードＳ３０４の間に回線障害が発生する。スレーブノード（Ｓ３０１）が、フレーム２を送信したとき、フレーム中のｍ_ｃｎｔを0に設定する。次に、フレームを、時計回り方向でマスタノード（Ｍ１００）へ送信し、反時計回り方向でスレーブノード（Ｓ３０２）へ送信する。マスタノード（Ｍ１００）は、時計回り方向から受信したフレームに対し、フレーム中のｍ_ｃｎｔを１に変更した後に、隣のノード（Ｓ３０４）へ転送する。マスタノード（Ｍ２００）は、逆時計回り方向から受信したフレームに対し、フレーム中のｍ_ｃｎｔを１に変更した後に、隣のノード（Ｓ３０３）へ転送する。Ｓ３０３とＳ３０４のそれぞれは、Ｓ３０３とＳ３０４の間の回線障害を検知し、受信したフレーム２を廃棄する。
【００２６】
図９において、ノードＳ３０２に故障が発生する。この場合、Ｓ３０１が送出したフレーム３に対し、Ｓ３０１→Ｍ１００→Ｓ３０４→Ｓ３０３→Ｍ２００の順番に処理される。マスタノード（Ｍ２００）は、時計回り方向から受信したフレームに対し、フレームを処理して、フレーム中のｍ_ｃｎｔが１であることを識別した後に転送しない（ブロッキングする）。スレーブノード（Ｓ３０３、Ｓ３０４）のいずれかは、時計回り方向から受信したフレームに対し、中身を変更せずに隣ノードへ転送する。
【００２７】
図１０は、実施形態に係る伝送路が回線正常時にマスタノード発のフレーム伝送方法を示す図である。マスタノード（Ｍ１００）は、フレーム４を送信したとき、フレーム中の、ｍ_ｃｎｔを0に設定する。フレーム４を、時計回り方向でスレーブノード（Ｓ３０４）へ送信し、反時計回り方向でスレーブノード（Ｓ３０１）へ送信する。
マスタノード（Ｍ２００）は、時計回り方向から受信したフレーム４に対し、フレーム４を処理して、フレーム中のｍ_ｃｎｔを０から１に変更した後に、隣のノード（Ｓ３０２）へ転送する。反時計回り方向から受信したフレーム４に対し、フレーム４を処理して、フレーム中のｍ_ｃｎｔを０から１に変更した後に、隣のノード（Ｓ３０３）へ転送する。
【００２８】
スレーブノード（Ｓ３０２、Ｓ３０３、Ｓ３０４）のいずれかは、時計回り方向と反時計方向両方向から受信したフレーム４に対し、中身を変更せずに隣ノードへ転送する。マスタノード（Ｍ１００）は、反時計回り方向と時計回り方向両方向から受信したフレーム４に対し、フレーム中のｍ_ｃｎｔが１であることを識別した後にフレーム４を廃棄する。
【００２９】
図１１は、実施形態に係る伝送路が回線障害発生時にマスタノード発のフレーム伝送方法を示す図である。図１１において、マスタノード（Ｍ２００）とスレーブノード（Ｓ３０２）の間に回線故障が発生する。マスタノード（Ｍ１００）は、フレーム５を送信したとき、フレーム中のｍ_ｃｎｔを0に設定する。フレーム５を、時計回り方向でスレーブノード（Ｓ３０４）へ送信し、反時計回り方向でスレーブノード（Ｓ３０１）へ送信する。
スレーブノード（Ｓ３０１、Ｓ３０３、Ｓ３０４）のいずれかは、時計回り方向と反時計方向両方向から受信したフレーム５に対し、中身を変更せずに隣ノードへ転送する。
スレーブノード（Ｓ３０２）とマスタノード（Ｍ２００）のそれぞれは、Ｓ３０２とＭ２００の間の回線障害を検知し、フレーム５を廃棄する。
【００３０】
図１２は、実施形態に係る伝送路がマスタ障害発生時のフレーム伝送方法を示す図である。図１２において、マスタノード（Ｍ２００）に故障が発生する。マスタノード（Ｍ１００）は、フレーム６を送信したとき、フレーム中のｍ_ｃｎｔを0に設定する。フレーム６を、時計回り方向でスレーブノード（Ｓ３０４）へ送信し、反時計回り方向でスレーブノード（Ｓ３０１）へ送信する。
スレーブノード（Ｓ３０１、Ｓ３０４）のいずれかは、時計回り方向と反時計方向両方向から受信したフレーム６対し、中身を変更せずに隣ノードへ転送する。
スレーブノード（Ｓ３０２）は、Ｓ３０２とＭ２００の間のリンクダウンを識別し、フレーム６を廃棄する。スレーブノード（Ｓ３０３）は、Ｓ３０３とＭ２００の間のリンクダウンを識別し、フレーム６を廃棄する。
【００３１】
本実施形態によれば、伝送路中に伝播されるフレームにカウンタ付けという実現手段を用いて、フレームがデュアルマスタノードを一巡した後に直ちにブロッキングされることが保証できる。そして、回線障害もしくは装置障害発生時、故障箇所の近隣ノードがフレームの廃棄を実施するにより、不要な周回フレームの最少化とフレーム無限巡回の防ぎを両立できる。
【符号の説明】
【００３２】
M100〜M200： マスタノード
S301〜S304:  スレーブノード
700:  イーサネット（登録商標）回線
800:  イーサネット（登録商標）ポート
810:  送受信バッファ（FIFOメモリ）
820:  フレーム制御部
830:  メモリ
840:  CPU
【図１】
2017184072.tif 000003
【図２】
2017184072.tif 000004
【図３】
2017184072.tif 000005
【図４】
2017184072.tif 000006
【図５】
2017184072.tif 000007
【図６】
2017184072.tif 000008
【図７】
2017184072.tif 000009
【図８】
2017184072.tif 000010
【図９】
2017184072.tif 000011
【図１０】
2017184072.tif 000012
【図１１】
2017184072.tif 000013
【図１２】
2017184072.tif 000014