(57)【要約】【課題】簡易な構成により、優先度の低いデータの伝送により優先度の高いデータの伝送の周期性に悪影響がでないようにすること。【解決手段】定周期で到来する優先伝送期間において、他のネットワークノードに宛てて優先データを送信開始することと、前記優先伝送期間とは異なる非優先伝送期間において、非優先データを、該非優先データの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記他のネットワークノードに宛てて送信開始することと、を含むデータ送信方法が提供される。【選択図】図１
2014233008.tif 000002
【特許請求の範囲】
【請求項１】
コントローラ及び他の産業用デバイスとともに産業用ネットワークに接続される産業用デバイスであって、
定周期で到来する優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち一方から他方に宛てて送信される制御データを受信し、前記他方に宛てて該制御データを送信開始する制御データ中継手段と、
前記優先伝送期間とは異なる非優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記一方から前記他方に宛てて送信されるメッセージデータを受信し、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記他方に宛てて該メッセージデータを送信開始するメッセージデータ中継手段と、
を含む産業用デバイス。
【請求項２】
請求項１に記載の産業用デバイスにおいて、
前記制御データ中継手段は、前記制御データを、その全てを受信する前に前記他方に宛てて送信開始する、産業用デバイス。
【請求項３】
請求項２に記載の産業用デバイスにおいて、
前記制御データ中継手段は、前記制御データを、カット・スルー方式で送信する、産業用デバイス。
【請求項４】
請求項１乃至３のいずれかに記載の産業用デバイスにおいて、
前記メッセージデータ中継手段は、前記メッセージデータを、その全てを受信した後に前記他方に宛てて送信開始する、産業用デバイス。
【請求項５】
請求項４に記載の産業用デバイスにおいて、
前記メッセージデータ中継手段は、前記メッセージデータを、ストア・アンド・フォワード方式で送信する、産業用デバイス。
【請求項６】
請求項１乃至５のいずれかに記載の産業用デバイスにおいて、
前記メッセージデータは可変長である、産業用デバイス。
【請求項７】
請求項１乃至６のいずれかに記載の産業用デバイスにおいて、
前記コントローラとの間で前記優先伝送期間及び前記非優先伝送期間を同期させる同期手段を含む、産業用デバイス。
【請求項８】
請求項１乃至７のいずれかに記載の産業用デバイスにおいて、
定周期で到来する第２優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記他方から前記一方に宛てて送信される制御データを受信し、前記一方に宛てて該制御データを送信開始する第２制御データ中継手段と、
前記第２優先伝送期間とは異なる第２非優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記他方から前記一方に宛てて送信されるメッセージデータを受信し、該メッセージデータの所要伝送時間及び前記第２非優先伝送期間の残り時間に応じて、前記一方に宛てて該メッセージデータを送信開始する第２メッセージデータ中継手段と
をさらに含む産業用デバイス。
【請求項９】
請求項１乃至８のいずれかに記載の産業用デバイスにおいて、
前記制御データ中継手段及び前記メッセージデータ中継手段は、共通の伝送媒体により伝送されるフレームに、前記制御データ又は前記メッセージデータを格納することにより、前記制御データ及び前記メッセージデータを送信する産業用デバイス。
【請求項１０】
コントローラとともに産業用ネットワークに通信接続される産業用デバイスであって、
定周期で到来する優先伝送期間において、前記コントローラに宛てて制御データを送信開始する制御データ送信手段と、
前記優先伝送期間とは異なる非優先伝送期間において、メッセージデータを、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記コントローラに宛てて送信開始するメッセージデータ送信手段と、
を含む産業用デバイス。
【請求項１１】
産業用デバイスとともに産業用ネットワークに通信接続されるコントローラであって、
定周期で到来する優先伝送期間において、前記産業用デバイスに宛てて制御データを送信開始する制御データ送信手段と、
前記優先伝送期間とは異なる非優先伝送期間において、メッセージデータを、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記産業用デバイスに宛てて送信開始するメッセージデータ送信手段と、
を含むコントローラ。
【請求項１２】
定周期で到来する優先伝送期間において、第１のネットワークノードから送信される優先データを受信し、第２のネットワークノードに宛てて該優先データを送信開始することと、
前記優先伝送期間とは異なる非優先伝送期間において、第１のネットワークノードから送信される非優先データを受信し、該非優先データの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記第２のネットワークノードに宛てて該非優先データを送信開始することと、
を含むデータ転送方法。
【請求項１３】
定周期で到来する優先伝送期間において、他のネットワークノードに宛てて優先データを送信開始することと、
前記優先伝送期間とは異なる非優先伝送期間において、非優先データを、該非優先データの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記他のネットワークノードに宛てて送信開始することと、
を含むデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は産業用デバイス、コントローラ、データ転送方法及びデータ送信方法に関する。
【背景技術】
【０００２】
製造システムや製造装置では、一般に産業用ネットワークに接続されたサーボアンプやＩ／ＯデバイスなどのＮ台の産業用デバイス（スレーブ）が、それらを制御する１台のコントローラ（マスタ）と１対Ｎで通信し（Ｎ≧１）、マスタからのコマンド（指令値；出力データ）と、スレーブからのレスポンス（現在値；入力データ）のリアルタイムな交換（入出力データ交換）がマスタと各スレーブとの間で要求される。このため、通信周期や伝送周期と呼ばれる所定の時間（伝送周期）内に入出力データ交換を行い、それを繰り返している。
【０００３】
ここで、工作機械やチップマウンタなどのモーションコントロールシステムでは、伝送周期の正確さが要求される。これは、サーボドライブなどの複数のデバイスが伝送周期に同期して一斉動作を行うことから、伝送周期が正確であるほど、同期精度を向上させ、結果として加工精度を向上させることができるからである。
【０００４】
ところで、製造システムや製造装置では、定周期で実行される、比較的優先度の高い入出力データ交換の他に、接続機器の保守やエンジニアリングを行うため、比較的優先度の低い不定期のデータ伝送（以下、「メッセージ伝送」という。）も要求される。しかし、こうしたメッセージ伝送が実行されると、入出力データ交換の帯域を乱し、そのリアルタイム性を確保できなくしたり、伝送周期を伸ばしてデバイスの一斉動作を乱したりする問題がある。
【０００５】
なお、定周期で入出力データ交換を行い、かつ、伝送周期を乱さずにメッセージ伝送を行う従来技術として、下記特許文献１に記載のＦＬ−ｎｅｔ（ＯＰＣＮ−２）がある。ＦＬ−ｎｅｔではトークンパスにより送信権を得た接続機器が入力データまたは出力データを一斉同報し、伝送周期の残り帯域に余裕がある場合にメッセージ伝送を行うことで、定周期でリアルタイムな通信を実現している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２１５９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＦＬ−ｎｅｔでは、接続機器全てがトークン管理の処理を実装する必要があり、リレーやスイッチなどのＩ／Ｏデバイスに実装すると処理負荷が大きい。
【０００８】
本発明は上記課題に鑑みてなされたものであって、その目的は、簡易な構成により、優先度の低いデータの伝送により優先度の高いデータの伝送の周期性に悪影響がでないようにできる、産業用デバイス、コントローラ、データ転送方法及びデータ送信方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明に係る産業用デバイスは、コントローラ及び他の産業用デバイスとともに産業用ネットワークに接続される産業用デバイスであって、定周期で到来する優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち一方から他方に宛てて送信される制御データを受信し、前記他方に宛てて該制御データを送信開始する制御データ中継手段と、前記優先伝送期間とは異なる非優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記一方から前記他方に宛てて送信されるメッセージデータを受信し、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記他方に宛てて該メッセージデータを送信開始するメッセージデータ中継手段と、を含む。
【００１０】
また、前記制御データ中継手段は、前記制御データを、その全てを受信する前に前記他方に宛てて送信開始してよい。例えば、前記制御データ中継手段は、前記制御データを、カット・スルー方式で送信してよい。
【００１１】
また、前記メッセージデータ中継手段は、前記メッセージデータを、その全てを受信した後に前記他方に宛てて送信開始してよい。例えば、前記メッセージデータ中継手段は、前記メッセージデータを、ストア・アンド・フォワード方式で送信してよい。
【００１２】
また、前記メッセージデータは可変長であってよい。
【００１３】
また、前記コントローラとの間で前記優先伝送期間及び前記非優先伝送期間を同期させる同期手段を含んでよい。
【００１４】
また、定周期で到来する第２優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記他方から前記一方に宛てて送信される制御データを受信し、前記一方に宛てて該制御データを送信開始する第２制御データ中継手段と、前記第２優先伝送期間とは異なる第２非優先伝送期間において、前記コントローラ又は前記他の産業用デバイスのうち前記他方から前記一方に宛てて送信されるメッセージデータを受信し、該メッセージデータの所要伝送時間及び前記第２非優先伝送期間の残り時間に応じて、前記一方に宛てて該メッセージデータを送信開始する第２メッセージデータ中継手段とをさらに含んでよい。
【００１５】
また、前記制御データ中継手段及び前記メッセージデータ中継手段は、共通の伝送媒体により伝送されるフレームに、前記制御データ又は前記メッセージデータを格納することにより、前記制御データ及び前記メッセージデータを送信してよい。
【００１６】
また、本発明に係る産業用デバイスは、コントローラとともに産業用ネットワークに通信接続される産業用デバイスであって、定周期で到来する優先伝送期間において、前記コントローラに宛てて制御データを送信開始する制御データ送信手段と、前記優先伝送期間とは異なる非優先伝送期間において、メッセージデータを、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記コントローラに宛てて送信開始するメッセージデータ送信手段と、を含む。
【００１７】
また、本発明に係るコントローラは、産業用デバイスとともに産業用ネットワークに通信接続されるコントローラであって、定周期で到来する優先伝送期間において、前記産業用デバイスに宛てて制御データを送信開始する制御データ送信手段と、前記優先伝送期間とは異なる非優先伝送期間において、メッセージデータを、該メッセージデータの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記産業用デバイスに宛てて送信開始するメッセージデータ送信手段と、を含む。
【００１８】
また、本発明に係るデータ転送方法は、定周期で到来する優先伝送期間において、第１のネットワークノードから送信される優先データを受信し、第２のネットワークノードに宛てて該優先データを送信開始することと、前記優先伝送期間とは異なる非優先伝送期間において、第１のネットワークノードから送信される非優先データを受信し、該非優先データの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記第２のネットワークノードに宛てて該非優先データを送信開始することと、を含む。
【００１９】
また、本発明に係るデータ送信方法は、定周期で到来する優先伝送期間において、他のネットワークノードに宛てて優先データを送信開始することと、前記優先伝送期間とは異なる非優先伝送期間において、非優先データを、該非優先データの所要伝送時間及び前記非優先伝送期間の残り時間に応じて、前記他のネットワークノードに宛てて送信開始することと、を含む。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る産業用デバイス又はコントローラとして用いられる産業用ネットワーク装置の全体構成図である。
【図２】本実施形態に係る産業用ネットワーク装置を用いた産業用ネットワークの一例を示す図である。
【図３】伝送フレームの構成例である。
【図４】送受信制御部の詳細構成を示すブロック図である。
【図５】周期伝送制御部の詳細構成を示すブロック図である。
【図６】周期伝送制御部に格納される周期伝送情報の一例を示す図である。
【図７】図２に係る産業用ネットワークにおけるデータ伝送を示すタイミングチャートである。
【図８】マスタ（コントローラ）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図９】マスタ（コントローラ）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図１０】マスタ（コントローラ）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図１１】スレーブ（産業用デバイス）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図１２】スレーブ（産業用デバイス）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図１３】スレーブ（産業用デバイス）として用いられる産業用ネットワーク装置の周期伝送制御部の動作を示すフローチャートである。
【図１４】本実施形態に係る産業用ネットワーク装置を用いた産業用ネットワークの他の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について図面に基づき詳細に説明する。
【００２２】
図１は、本発明の実施形態に係る産業用ネットワーク装置の構成図である。同図に示す産業用ネットワーク装置１は、サーボアンプやＩ／Ｏデバイスなどの産業用デバイス（スレーブ）として、或いはそれらを制御するコントローラ（マスタ）として、機械制御のための産業用ネットワークに接続され、そのネットワークノードとして用いられる。すなわち、複数の産業用ネットワーク装置１がカスケード型やスター型などの形態で通信接続される。産業用ネットワーク装置１は、自ノード宛てのデータ及びブロードキャストデータを受信する機能、他ノード宛てのデータ（マルチキャストデータやブロードキャストデータを含む）を自ら生成して送信する機能、他ノード宛てのデータ（マルチキャストデータやブロードキャストデータを含む）を受信し、当該他ノードに向けて転送する機能を有している。
【００２３】
図２は、産業用ネットワーク装置１を用いた産業用ネットワークの構成例を示す図である。同図に示す例では、マスタＭとして機能する１台の産業用ネットワーク装置１と、スレーブＳ１〜Ｓ３として機能する３台の産業用ネットワーク装置１と、が伝送路３によりカスケード接続されている。
【００２４】
すなわち、産業用ネットワーク装置１には２つの通信インタフェース１３２Ａ及び１３２Ｂが備えられており、マスタＭである産業用ネットワーク装置１の通信インタフェース１３２Ｂと、最上流のスレーブＳ１である産業用ネットワーク装置１の通信インタフェース１３２Ａと、が接続されている。また、スレーブＳ１である産業用ネットワーク装置１の通信インタフェース１３２Ｂと、下流側のスレーブＳ２である産業用ネットワーク装置１の通信インタフェース１３２Ａと、が接続されている。さらに、スレーブＳ２である産業用ネットワーク装置１の通信インタフェース１３２Ｂと、最下流のスレーブＳ３である産業用ネットワーク装置１の通信インタフェース１３２Ａと、が接続されている。
【００２５】
スレーブＳ３がマスタＭにデータを送信する場合、スレーブＳ２及びスレーブＳ１がそれぞれ順にデータを中継する。なお、端ノードであるマスタＭ及びスレーブＳ３として用いられる産業用ネットワーク装置１は、上記の転送する機能を有していなくてもよい。
【００２６】
ここで、産業用ネットワークは、例えばイーサネット（登録商標，ＩＳＯ／ＩＥＣ  ８８０２−３）を用いて構成される。また、当該産業用ネットワークで伝送されるデータには、マスタＭからスレーブＳ１〜Ｓ３に送信される制御データであるコマンド（指令値；出力データ）、スレーブＳ１〜Ｓ３からマスタＭに送信される制御データであるレスポンス（現在値；入力データ）、マスタＭからスレーブＳ１〜Ｓ３に送信されるメッセージデータ、スレーブＳ１〜Ｓ３からマスタＭに送信されるメッセージデータが含まれる。
【００２７】
例えばセンサなどの入力専用のＩ／ＯデバイスであるスレーブＳ１〜Ｓ３については、コマンドは現在値の要求を含んでよく、レスポンスはスレーブＳ１〜Ｓ３で得られている現在値を含んでよい。また、サーボドライブであるスレーブＳ１〜Ｓ３については、コマンドは目標位置や目標トルクなどの制御目標値を含んでよく、レスポンスはスレーブＳ１〜Ｓ３で得られている現在位置や現在トルクなどの現在値を含んでよい。マスタＭとスレーブＳ１〜Ｓ３の間で行われる、コマンド及びレスポンスの交換は一定周期で実行される。一方、マスタＭ又はスレーブＳ１〜Ｓ３からのメッセージデータは、ネットワークノードの保守やエンジニアリングの目的で伝送される可変長（任意サイズ）のデータであり、任意タイミングにて（不定期で）送信される。コマンド及びレスポンスの交換は、機械制御の精度向上のため、より正確な周期で、より短い周期で実行されることが望ましい。
【００２８】
なお、産業用ネットワークで伝送されるデータは、イーサネットに準拠したフレームに格納される。図３に示すように、イーサネットに準拠したフレームは、プリアンブル部、フレーム開始識別子部（ＳＦＤ；Start Flame Delimiter）、宛先アドレス部、送信元アドレス部、タイプ／レングス部、データ部及びエラーチェック部（ＦＣＳ；Flame Check Sequence）が含まれる。特に、データ部には、データの種別を示すコード部が含まれている。パラメータ１〜パラメータｎに格納されたデータが、上述したコマンド（出力データ）、レスポンス（入力データ）、メッセージデータ、同期通知など、いずれの種別のデータであるかが、該コード部により示される。
【００２９】
図１に示すように、産業用ネットワーク装置１は、ホストＣＰＵ（Central Processing Unit）１０、送信バッファ１１、受信バッファ１２、伝送制御部１３、それぞれ別々の物理的な伝送路３（ここでは全二重通信が可能なデータ通信線）に接続された通信インタフェース（ＰＨＹ）１３２Ａ及び１３２Ｂを備えている。通信インタフェース１３２Ａ及び１３２Ｂは、別々の伝送路３を介して、他のノードの通信インタフェース１３２Ａ又は１３２Ｂと接続されており、それぞれのノードとデータの送受信を行う。ホストＣＰＵ１０は、各種データ処理を実行するものであり、例えば、マスタＭからスレーブＳ１〜Ｓ３に送信されるコマンドなどの出力データ、或いはスレーブＳ１〜Ｓ３からマスタＭに送信されるレスポンスなどの入力データを生成する。また、ホストＣＰＵ１０は、受信した入力データや出力データに基づいて機械制御のためのデータ処理を実行する。
【００３０】
伝送制御部１３は、産業用ネットワーク装置１のデータ送受信を制御するものであり、周期伝送制御部１３０と送受信制御部１３１とを含む。周期伝送制御部１３０は、通信帯域（通信期間）及びデータ転送制御方法を決定する。一方、送受信制御部１３１は、通信インタフェース１３２Ａ及び１３２Ｂに接続されており、周期伝送制御部１３０からの指示に従って転送制御方法を切り替える。具体的には、送受信制御部１３１は、コマンド及びレスポンスについては、定周期で到来する優先伝送期間においてカット・スルー方式でデータ転送を行う。また、送受信制御部１３１は、ストア・アンド・フォワード転送制御部１３１６Ａ及び１３１６Ｂを含んでおり、メッセージデータについては、優先伝送期間とは異なる非優先伝送期間においてストア・アンド・フォワード方式でデータ転送を行う。
【００３１】
カット・スルー方式のデータ伝送では、制御データのヘッダ部に格納された宛先アドレスを受信した時点、すなわち制御データの全体を受信する前に、中継ノードである産業用ネットワーク装置１は該宛先アドレスにより指定されたノードがある通信インタフェース１３２Ａ又は１３２Ｂにより、該制御データの転送を開始する。本実施形態では産業用ネットワーク装置１には通信インタフェースが２つのみ設けられているから、単純に、通信インタフェース１３２Ａ又は１３２Ｂのうち一方から受信した制御データを、他方に転送するようにしてよい。３以上の通信インタフェースが設けられる場合、各通信インタフェースに対して宛先アドレスを関連づけたテーブルを記憶しておき、該テーブルに基づいて、制御データに含まれる宛先アドレスにより指定されたノードがある通信インタフェース１３２Ａ又は１３２Ｂを判断してよい。なお、カット・スルー方式のデータ伝送では、宛先アドレス以外のデータを受信した時点で、該制御データの転送を開始するようにしてよい。例えば、宛先アドレスが既知である場合や、宛先アドレスに関わりなくすべてのスレーブＳ１〜Ｓ３に制御データを送信する場合には、制御データのヘッダ部における宛先アドレス以前のデータ、例えばＳＦＤ（図３参照）を受信した時点で、該制御データの転送を開始してよい。
【００３２】
一方、ストア・アンド・フォワード転送制御部１３１６Ａ及び１３１６Ｂでは、マスタＭ又はスレーブＳ１〜Ｓ３から送出されるメッセージデータの全体を受信してから、当該メッセージデータの所要伝送時間（当該産業用ネットワーク装置１からメッセージデータの送出を開始してから、該メッセージデータの全体が、直接接続された他の産業用ネットワーク装置１により受信完了されるまでの予測時間）を算出し、取得されるデータの所要伝送時間及び非優先伝送期間の残り時間に応じて、メッセージデータの転送を制限する。メッセージデータの転送は、該メッセージデータの宛先アドレスが自ノードアドレスと一致しない場合に行われる。
【００３３】
すなわち、所要伝送時間が非優先伝送期間の残り時間以下であれば、メッセージデータの送信を開始し、転送を行う。逆に、所要伝送時間が非優先伝送期間の残り時間よりも長い場合には、メッセージデータの転送を行わず、次の非優先伝送期間が到来するまでメッセージデータを保持する。そして、次の非優先伝送期間が到来すれば、再び所要伝送時間と非優先伝送期間の残り時間を比較する。そして、所要伝送時間が非優先伝送期間の残り時間以下であれば、保持しているメッセージデータの転送を行う。また、所要伝送時間が非優先伝送期間の残り時間よりも長い場合には、さらに次の非優先伝送期間が到来するまでメッセージデータを保持する。所要伝送時間は、産業用ネットワークの伝送レート（既知）及びメッセージデータのデータサイズ（フレーム全体のデータサイズ）に基づいて算出することができる。このようにすれば、メッセージ伝送により、コマンド及びレスポンスといった制御データの通信を邪魔することがない。このため、コマンド及びレスポンスのデータ交換を短く且つ一定した周期で実行することができるようになる。
【００３４】
ここで、ストア・アンド・フォワード転送制御部１３１６Ａは通信インタフェース１３２Ａに接続されており、通信インタフェース１３２Ａ側のノードに宛てて送信される、自ノードで生成したメッセージデータや、通信インタフェース１３２Ｂにより受信された他ノード宛てのメッセージデータを一時的に保持し、その所要伝送時間及び非優先伝送期間の残り時間に応じて、当該メッセージデータを通信インタフェース１３２Ａより送出する。また、ストア・アンド・フォワード転送制御部１３１６Ｂは通信インタフェース１３２Ｂに接続されており、通信インタフェース１３２Ｂ側のノードに宛てて送信される、自ノードで生成したメッセージデータや、通信インタフェース１３２Ａにより受信された他ノード宛てのメッセージデータを一時的に保持し、その所要伝送時間及び非優先伝送期間の残り時間に応じて、当該メッセージデータを通信インタフェース１３２Ｂより送出する。
【００３５】
通信インタフェース１３２Ａ及び１３２Ｂは、それぞれ別々の物理的な伝送路３に接続されており、送信データを所定形式の信号に変換して伝送路に出力し、また伝送路からの入力される信号を受信データに変換する。
【００３６】
ここで、周期伝送制御部１３０及び送受信制御部１３１をさらに詳しく説明する。図４は、送受信制御部１３１を詳細に示すブロック図であり、図５は、周期伝送制御部１３０を詳細に示すブロック図である。
【００３７】
上述のように、送受信制御部１３１には、通信インタフェース１３２Ａ及び１３２Ｂが接続されているが、それぞれの通信インタフェースから見て、産業用ネットワーク装置１は同一構成を有する。そこで、以下では、産業用ネットワーク装置１の構成のうち、通信インタフェース１３２Ａによるデータ送受信に関わる構成について、図４及び図５を参照しながら詳細に説明する。通信ネットワーク１３２Ｂによるデータ送受信に関わる構成については、図４及び図５において対応する符号を付し、ここでは詳細な説明を省略する。
【００３８】
まず、送受信制御部１３１のうち、通信インタフェース１３２Ａで受信したデータの流れに関連する構成から説明する。図４に示すように、送受信制御部１３１は、通信インタフェース１３２Ａで受信したデータを伝送する３つの内部経路を有する。第１経路は、受信データを周期伝送制御部１３０へ伝えるためのＦＩＦＯ（First-In First-Out）式の受信バッファ１３１０Ａを介する経路である。第２経路は、通信インタフェース１３２Ｂによりカット・スルー方式で中継するためのＦＩＦＯ式の送信バッファ１３１１Ｂを介する経路である。そして第３経路は、通信インタフェース１３２Ｂによりストア・アンド・フォワード方式で中継するためのＦＩＦＯ式の送信バッファ１３１２Ｂを介する経路である。
【００３９】
なお、送信バッファ１３１２Ｂには、通信インタフェース１３２Ｂ側のノードに宛てて送信される、自ノードで生成したメッセージデータも入力される。また、送信バッファ１３１１Ｂには、通信インタフェース１３２Ｂ側のノードに宛てて送信される、自ノードで生成した制御データも入力される。
【００４０】
ここで、第１経路上に設けられた受信バッファ１３１０Ａの前段には、自ノードのアドレス又はブロードキャストアドレスと一致する宛先アドレスを有するデータのみを通過させるためのアドレスフィルタ１３１４Ａが設けられている。
【００４１】
なお、アドレスフィルタ１３１４Ａは、自ノードのアドレス又はブロードキャストアドレスと一致する宛先アドレスを有するデータを受信した場合には、周期伝送制御部１３０に受信通知信号１３１８Ａを出力する。
【００４２】
また、第３経路上に設けられた送信バッファ１３１２Ｂの前段には、セレクタを介し、自ノードアドレスと一致しない宛先アドレスを有するデータのみを通過させるためのアドレスフィルタ１３１５Ｂが接続されている。これにより、自ノードのアドレスと一致する宛先アドレスを有するデータについては、ストア・アンド・フォワード方式のデータ転送は行われない。逆に、他ノードのアドレスやブロードキャストアドレスと一致する宛先アドレスを有するデータについては、ストア・アンド・フォワード方式のデータ転送が行われる。ここでセレクタは、複数の入力端子及び１つの出力端子を備え、いずれかの入力端子から入力されたデータを共通の出力端子から出力する回路である。
【００４３】
また、前記アドレスフィルタ１３１５Ｂの前段には、カット・スルー方式（第２経路）又はストア・アンド・フォワード方式（第３経路）のいずれかの方式を選択するための転送経路切替スイッチ１３１３Ｂが設けられており、転送経路切替スイッチ１３１３Ｂの一方の出力端子にアドレスフィルタ１３１５Ｂが接続されている。転送経路切替スイッチ１３１３Ｂの他方の出力端子にはセレクタを介して送信バッファ１３１１Ｂが接続されている。転送経路切替スイッチ１３１３Ｂの入力端子には受信データが入力されている。転送経路切替スイッチ１３１３Ｂには、ＳＦ経路イネーブル信号１３０６Ｂが切替信号として周期伝送制御部１３０から入力されている。そして、該信号がオンのときには第３経路（ストア・アンド・フォワード方式）を選択し、オフのときには第２経路（カット・スルー方式）を選択する。
【００４４】
また、送信バッファ１３１２Ｂの後段にはストア・アンド・フォワード転送制御部１３１６Ｂが接続されている。このストア・アンド・フォワード転送制御部１３１６Ｂは、送信バッファ１３１２Ｂに格納された送信データのデータ長をチェックし、そこから通信インタフェース１３２Ｂを介して隣接ネットワークノードに当該送信データを転送するのに必要な時間を計算する。そして、この時間（所要伝送時間）がストア・アンド・フォワード帯域タイマ１３１７により出力される非優先伝送期間の残り時間以下である場合のみ、送信バッファ１３１２Ｂから送信データを取り出して通信インタフェース１３２Ｂへ渡す。これにより、送信バッファ１３１２Ｂに格納されたデータの送信を開始する。ストア・アンド・フォワード転送制御部１３１６Ｂには、ＳＦ経路イネーブル信号１３０６Ｂが入力されており、該信号がオンであるときにのみ前記動作を行う。
【００４５】
ストア・アンド・フォワード帯域タイマ１３１７は、上述のようにストア・アンド・フォワード方式を行う帯域（非優先伝送期間）の残り時間を出力する。このためストア・アンド・フォワード帯域タイマ１３１７には、通信インタフェース１３２Ａからストア・アンド・フォワード方式でデータ送信（上り通信）を行う期間の長さを示す非優先伝送時間Ａ、通信インタフェース１３２Ｂからストア・アンド・フォワード方式でデータ送信（下り通信）を行う期間の長さを示す非優先伝送時間Ｂが、周期伝送制御部１３０から入力されている。
【００４６】
また、転送経路切替スイッチ１３１３Ｂを切替えるためのＳＦ経路イネーブル信号１３０６Ｂが、転送経路切替スイッチ１３１３Ａを切替えるためのＳＦ経路イネーブル信号１３０６Ａと共に、ＯＲ回路に入力されており、その出力信号がストア・アンド・フォワード帯域タイマ１３１７に計時開始及び停止を指示する信号として入力されている。
【００４７】
すなわち、周期伝送制御部１３０は、転送経路をストア・アンド・フォワード方式となる経路（第３経路）に切り替える際に前記ＳＦ経路イネーブル信号１３０６Ｂとしてオンを出力する。また、カット・スルー方式に切り替える際にＳＦ経路イネーブル信号１３０６Ｂとしてオフを出力する。ＳＦ経路イネーブル信号１３０６Ａについても同様である。そして、ストア・アンド・フォワード帯域タイマ１３１７は、ＳＦ経路イネーブル信号１３０６ＡとＳＦ経路イネーブル信号１３０６Ｂのうち、いずれかの信号がオンの場合に計時開始し、両方の信号がオフの場合に計時停止する。
【００４８】
また、ストア・アンド・フォワード帯域タイマ１３１７には、ストア・アンド・フォワード転送制御部１３１６Ａに対応する非優先伝送時間Ａと、ストア・アンド・フォワード転送制御部１３１６Ｂに対応する非優先伝送時間Ｂと、が保持されている。ストア・アンド・フォワード帯域タイマ１３１７は、非優先伝送時間Ａにより示される時間と現在時間との差を計算し、これにより通信インタフェース１３２Ａからストア・アンド・フォワード方式でのデータ送信が可能な残り時間を得る。そして、それをストア・アンド・フォワード転送制御部１３１６Ａに供給する。同様に、非優先伝送時間Ｂにより示される時間と現在時間との差を計算し、これにより通信インタフェース１３２Ｂからストア・アンド・フォワード方式でのデータ送信が可能な残り時間を得る。そして、それをストア・アンド・フォワード転送制御部１３１６Ｂに供給する。
【００４９】
なお、図７に示されるタイミングチャートにおいて、ハッチングの付された領域はカット・スルー方式の通信が行われる帯域を示している。すなわち、上り通信（スレーブＳ１乃至Ｓ３からマスタＭへの通信）については、レスポンス伝送帯域（優先伝送期間）においてカット・スルー方式の通信が行われ、メッセージ伝送帯域、同期通知帯域、コマンド伝送帯域（非優先伝送期間）においてはストア・アンド・フォワード方式の通信が行われる。一方、下り通信（マスタＭからスレーブＳ１乃至Ｓ３への通信）については、同期通知帯域、コマンド伝送帯域、レスポンス伝送帯域（第２優先伝送期間）においてカット・スルー方式の通信が行われ、メッセージ伝送帯域（第２非優先伝送期間）においてはストア・アンド・フォワード方式の通信が行われる。このため、各伝送周期のメッセージ伝送開始時間１４４のタイミングで転送経路切替スイッチ１３１３Ａ及び１３１３Ｂの両方がストア・アンド・フォワード方式に係る経路に切り替わり、それに伴ってストア・アンド・フォワード帯域タイマ１３１７は計時を開始する。つまり上り通信の非優先伝送期間の開始タイミングであり、且つ下り通信の非優先伝送期間（第２非優先伝送期間）の開始タイミングである、メッセージ伝送開始時間１４４にストア・アンド・フォワード帯域タイマ１３１７は計時を開始する。また、次の伝送周期の開始タイミング（同期通知帯域の開始タイミング）で転送経路切替スイッチ１３１３Ｂ（下り通信）がカット・スルー方式に係る経路に切り替わる。さらに、次の伝送周期のレスポンス伝送開始時間１４３のタイミングで転送経路切替スイッチ１３１３Ａ（上り通信）がカット・スルー方式に係る経路に切り替わり、それに伴ってストア・アンド・フォワード帯域タイマ１３１７は計時を停止する。
【００５０】
ストア・アンド・フォワード帯域タイマ１３１７には、非優先伝送時間Ａ（上り通信の制御用）として、メッセージ伝送開始時間１４４のタイミングから次の伝送周期のレスポンス伝送開始時間１４３のタイミングまでの時間が格納される。そして、ストア・アンド・フォワード帯域タイマ１３１７は、非優先伝送時間Ａからストア・アンド・フォワード帯域タイマ１３１７の現在時間を減算した値を、ストア・アンド・フォワード転送制御部１３１６Ａに残り時間として供給する。また、ストア・アンド・フォワード帯域タイマ１３１７には、非優先伝送時間Ｂ（下り通信の制御用）として、メッセージ伝送開始時間１４４のタイミングから次の伝送周期の開始タイミングまでの時間（メッセージ伝送帯域の時間）が格納される。そして、ストア・アンド・フォワード帯域タイマ１３１７は、非優先伝送時間Ｂからストア・アンド・フォワード帯域タイマ１３１７の現在時間を減算した値を、ストア・アンド・フォワード転送制御部１３１６Ｂに残り時間として供給する。なお、ストア・アンド・フォワード帯域タイマ１３１７はメッセージ伝送開始時間１４４以外のタイミングに計時を開始させるとともに、上り通信及び下り通信における非優先伝送期間の終了タイミングを示す時刻をストア・アンド・フォワード帯域タイマ１３１７に保持しておくようにしてよい。この場合も、ストア・アンド・フォワード帯域タイマ１３１７は、保持された時刻と現在時刻との差を残り時間として出力すればよい。
【００５１】
次に、周期伝送制御部１３０から、通信インタフェース１３２Ａ経由での送信を要求されたデータの流れに関連する構成を説明する。送受信制御部１３１は、周期伝送制御部１３０からマスタＭの出力データやスレーブＳ１〜Ｓ３の入力データなどのカット・スルー方式で伝送されるべき制御データを通信インタフェース１３２Ａに伝えるためのＦＩＦＯ式の送信バッファ１３１１Ａと、ストア・アンド・フォワード方式で伝送されるべきメッセージデータを通信インタフェース１３２Ａに伝えるためのＦＩＦＯ式の送信バッファ１３１２Ａと、を備える。いずれの送信バッファも、既に説明した通信インタフェース１３２Ｂ側に設けられた、対応する送信バッファ１３１１Ｂ及び１３１２Ｂと同じ構成である。周期伝送制御部１３０から供給される送信データは、送信バッファ１３１１Ａ又は１３１２Ａに格納されると、カット・スルー方式又はストア・アンド・フォワード方式で、通信インタフェース１３２Ａ側から送信される。
【００５２】
次に、周期伝送制御部１３０の構成について説明する。図５に示すように、周期伝送制御部１３０は、伝送周期タイマ１３０１と、送信制御部１３０２と、受信制御部１３０３と、転送経路管理部１３０４と、周期伝送情報記憶部１４と、を含んでいる。伝送周期タイマ１３０１は、伝送周期を計時するタイマである。送信制御部１３０２は、伝送周期タイマ１３０１から出力されるタイミング信号１３０５に従って、送信バッファ１１に格納された制御データ（コマンドやレスポンス）やメッセージデータを送受信制御部１３１に渡す。また、受信制御部１３０３は、送受信制御部１３１から受信データを受け取り、ホストＣＰＵ１０へ渡すために、制御データやメッセージデータを受信バッファ１２に格納する。
【００５３】
また転送経路管理部１３０４は、伝送周期タイマ１３０１から出力されるタイミング信号１３０５に従って、上り及び下りそれぞれの転送経路を切替えるＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂを送受信制御部１３１に出力する。具体的には、転送経路管理部１３０４は、ＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂとして、中継路の転送方式がカット・スルーとなる経路に切替える場合にオフを、転送方式がストア・アンド・フォワードとなる切替える経路に切替える場合にオンを出力する。
【００５４】
また、周期伝送情報記憶部１４は、周期伝送情報を記憶する。図６に示されるように、周期伝送情報には、伝送周期１４１、コマンド伝送開始時間１４２、レスポンス伝送開始時間１４３及びメッセージ伝送開始時間１４４が含まれる。図７に示すように、各伝送周期には同期データを伝送するための同期通知帯域（期間）、マスタＭである産業用ネットワーク装置１からのコマンドを伝送するためのコマンド伝送帯域（期間）、スレーブＳである産業用ネットワーク装置１からのレスポンスを伝送するためのレスポンス伝送帯域（期間）、及びマスタＭやスレーブＳからのメッセージデータを伝送するためのメッセージ伝送帯域（期間）が、この順で含まれている。伝送周期１４１は、１つの伝送周期の長さを示す。コマンド伝送開始時間１４２は、伝送周期１４１の開始タイミングからコマンド伝送帯域の開始タイミングまでの時間を示す。レスポンス伝送開始時間１４３は、伝送周期１４１の開始タイミングからレスポンス伝送帯域の開始タイミングまでの時間を示す。メッセージ伝送開始時間１４４は、伝送周期１４１の開始タイミングからメッセージ伝送帯域の開始タイミングまでの時間を示す。
【００５５】
伝送周期タイマ１３０１は、タイムアップ後オートリロード(自動的に再起動)する。すなわち、計時をゼロから開始してから伝送周期１４１に示される時間になると、タイミング信号１３０５を出力し、再度ゼロから計時を開始する。また、コマンド伝送開始時間１４２、レスポンス伝送開始時間１４３、メッセージ伝送開始時間１４４に示される時間になると、それぞれのタイミングが到来したことを示すタイミング信号１３０５を出力する。
【００５６】
ここで、マスタＭである産業用ネットワーク装置１の周期伝送制御部１３０は、伝送周期タイマ１３０１に従って各伝送周期の同期通知帯域において同期通知Ｓを送信する。一方、スレーブＳである産業用ネットワーク装置１の周期伝送制御部１３０は、同期通知Ｓを受信して自身の伝送周期タイマ１３０１を補正することにより、マスタＭである産業用ネットワーク装置１の伝送周期タイマ１３０１と同期させる。例えば、同期通知ＳはマスタＭである産業用ネットワーク装置１の現在時刻（同期通知Ｓの送信時刻）を含んでよく、スレーブＳ１〜Ｓ３である産業用ネットワーク装置１はノード間の伝送遅延時間Ｔｄｌｙを予め保持しておいてよい（図７参照）。伝送遅延時間Ｔｄｌｙは公知の方法で事前に計測される。この場合、スレーブＳ１は同期通知Ｓに含まれる時刻に伝送遅延時間Ｔｄｌｙを加算した時刻と現在時刻を比較し、その差が零になるように伝送周期タイマ１３０１を補正する。スレーブＳ２は同期通知Ｓに含まれる時刻に伝送遅延時間Ｔｄｌｙの２倍を加算した時刻と現在時刻を比較し、その差が零になるように伝送周期タイマ１３０１を補正する。スレーブＳ３は同期通知Ｓに含まれる時刻に伝送遅延時間Ｔｄｌｙの３倍を加算した時刻と現在時刻を比較し、その差が零になるように伝送周期タイマ１３０１を補正する。或いは、スレーブＳ１〜Ｓ３である産業用ネットワーク装置１は、それぞれ、マスタＭである産業用ネットワーク装置１からの伝送遅延時間Ｔｄｌｙ１〜Ｔｄｌｙ３を保持しておいてよい。この場合、スレーブＳ１〜Ｓ３は同期通知Ｓに含まれる時刻に伝送遅延時間Ｔｄｌｙ１〜Ｔｄｌｙ３を加算した時刻と現在時刻を比較し、その差が零になるように伝送周期タイマ１３０１を補正する。このように、本実施形態によれば、マスタＭ及びスレーブＳ１〜３を同期させることができる。
【００５７】
図２の産業用ネットワークの構成例においては、マスタＭからスレーブＳ１〜Ｓ３へコマンドが伝送される経路が下り、スレーブＳ１〜Ｓ３からマスタＭへレスポンスが伝送される経路が上りである。スレーブＳ１及びスレーブＳ２のそれぞれの内部では、通信インタフェース１３２Ａが受信したデータを通信インタフェース１３２Ｂから送信する中継路が下り、通信インタフェース１３２Ｂが受信したデータを通信インタフェース１３２Ｂから送信する中継路が上りである。更に詳細に図４を用いて説明すると、カット・スルー方式で転送する場合の下りの中継路は、通信インタフェース１３２Ａ、転送経路切替スイッチ１３１３Ｂ、送信バッファ１３１１Ｂ、通信インタフェース１３２Ｂを順に通過する経路である。また、ストア・アンド・フォワード方式で転送する場合の下りの中継路は、通信インタフェース１３２Ａ、転送経路切替スイッチ１３１３Ｂ、アドレスフィルタ１３１５Ｂ、送信バッファ１３１２Ｂ、ストア・アンド・フォワード転送制御部１３１６Ｂ、通信インタフェース１３２Ｂを順に通過する経路である。同様に、カット・スルー方式で転送する場合の上りの中継路は、通信インタフェース１３２Ｂ、転送経路切替スイッチ１３１３Ａ、送信バッファ１３１１Ａ、通信インタフェース１３２Ａを順に通過する経路である。また、ストア・アンド・フォワード方式で転送する場合の上りの中継路は、通信インタフェース１３２Ｂ、転送経路切替スイッチ１３１３Ａ、アドレスフィルタ１３１５Ａ、送信バッファ１３１２Ａ、ストア・アンド・フォワード転送制御部１３１６Ａ、通信インタフェース１３２Ａを順に通過する経路である。
【００５８】
ここで、転送経路切替スイッチ１３１３Ａ及び転送経路切替スイッチ１３１３Ｂは、周期伝送制御部１３０からのＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂにより、それぞれ独立して動作する。このように、本実施形態によれば、各産業用ネットワーク装置１の上り及び下りの中継路に、それぞれ独立して動作して転送方式を切り替える転送経路切替スイッチ１３１３Ａ及び１３１３Ｂが設けられているので、同時刻に上り及び下りの中継路にて、転送方式を異ならせることができる。
【００５９】
なお、通信インタフェース１３２Ａ及び１３２Ｂのどちらが上流側ノードに接続され、どちらが下流側ノードに接続されているかは、マスタＭから送信される既知データを通信インタフェース１３２Ａ及び１３２Ｂのいずれで受信したかに基づいて、周期伝送制御部１３０が判断する。
【００６０】
すなわち、受信通知信号１３１８Ａが周期伝送制御部１３０の受信制御部１３０３に入力されたタイミングで、ＦＩＦＯ式の受信バッファ１３１０Ａに格納されていた受信データがマスタＭからの既知データであった場合には、通信ネットワーク１３２Ｂから通信インタフェース１３２Ａに至る経路が上りと判断する。また、受信通知信号１３１８Ｂが周期伝送制御部１３０の受信制御部１３０３に入力されたタイミングで、ＦＩＦＯ式の受信バッファ１３１０Ｂに格納されていた受信データがマスタＭからの既知データであった場合には、通信ネットワーク１３２Ａから通信インタフェース１３２Ｂに至る経路が上りと判断する。かかる識別は、周期伝送の開始前に実行されているものとする。このように、本実施形態によれば、産業用ネットワーク装置１の通信インタフェース１３２Ａ及び１３２Ｂを、それぞれ他の通信インタフェース１３２Ａ又は１３２Ｂに接続することで、上り及び下りの方向を産業用ネットワーク装置１自身で判断することができる。
【００６１】
ここで、図２に例示される産業用ネットワークにおけるデータ伝送をさらに具体的に説明する。図７は、図２の産業用ネットワークにおけるデータ伝送を示すタイミングチャートである。同図に示すように、各伝送周期は、同期通知帯域、コマンド伝送帯域、レスポンス伝送帯域、メッセージ伝送帯域の４つの帯域（期間）を、この順で含んでいる。同期通知帯域は、マスタＭから送信される同期通知Ｓに基づいて、スレーブＳ１〜Ｓ３をマスタＭに同期させるための帯域であり、これによりマスタＭ及びスレーブＳ１〜Ｓ３の伝送周期の開始時間が一致する。なお、同期の方法として、ＩＥＥＥ１５８８（IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems）で開示されている方法を採用してもよい。ＩＥＥＥ１５８８を採用する場合、前記同期通知Ｓは”Sync Message”となる。ここで、ＩＥＥＥ１５８８の”Delay Request”や”Delay Response”を使用した伝送遅延の計測は、図７に示す周期伝送を開始する前に実施しておく。
【００６２】
マスタＭ及びスレーブＳ１〜Ｓ３は、レスポンス伝送帯域では、上り中継路と下り中継路の両方をカット・スルー方式の転送経路（第２の経路）に設定する。また、メッセージ伝送帯域では、上り中継路と下り中継路の両方をストア・アンド・フォワード方式の転送経路（第３の経路）に設定する。また、同期通知帯域及びコマンド伝送帯域では、上り中継路をストア・アンド・フォワード方式の転送経路（第３の経路）に設定し、下り中継路をカット・スルー方式の転送経路（第２の経路）に設定する。
【００６３】
すなわち、下り経路では、同期通知帯域、コマンド伝送帯域及びレスポンス伝送帯域が優先伝送期間（カット・スルー方式を採用する帯域）となり、メッセージ伝送帯域が非優先伝送期間（ストア・アンド・フォワード方式を採用する帯域）となる。また、上り経路では、レスポンス伝送帯域が優先伝送期間となり、メッセージ伝送帯域、（次周期の）同期通知帯域及びコマンド伝送帯域が非優先伝送期間となる。
【００６４】
そして、カット・スルーの帯域（優先伝送期間）では、コマンド（図７において１Ｃ〜３Ｃで示される）やレスポンス（図７において１Ｒ〜３Ｒで示される）といった制御データ、或いは同期通知Ｓを伝送させる。マスタＭである産業用ネットワーク装置１では、スレーブＳ１に宛てたコマンド１Ｃ、スレーブＳ２に宛てたコマンド２Ｃ、スレーブＳ３に宛てたコマンド３ＣをホストＣＰＵ１０で生成し、これをコマンド伝送帯域においてスレーブＳ１に送信する。スレーブＳ１及びＳ２は、これらコマンド１Ｃ〜３Ｃを下り側のノードに転送する。また、スレーブＳ１〜Ｓ３である産業用ネットワーク装置では、マスタＭに宛てたレスポンス１Ｒ〜３Ｒを、それぞれホストＣＰＵ１０で生成する。レスポンス１Ｒ〜３Ｒは、コマンド１Ｃ〜３Ｃに対応している。スレーブＳ１〜Ｓ３は、レスポンス伝送帯域において上り側及び下り側の２つのノードに、自ノードで生成したレスポンスを送信する。また、上り側又は下り側の一方側のノードから受信したレスポンス１Ｒ〜３Ｒは、他方側のノードに転送する。こうして、マスタＭは、コマンド１Ｃ〜３Ｃに対応するレスポンス１Ｒ〜３Ｒを受信することができる。また、各スレーブＳ１〜Ｓ３においては、他のスレーブがどのようなコマンドをマスタＭから受け、どのようなレスポンスをマスタＭに返したかを、把握することができる。
【００６５】
一方、ストア・アンド・フォワードの帯域（非優先伝送期間）では、データ全体を受信したタイミングで、帯域の残り時間と受信データの転送に必要な時間を計算し、ストア・アンド・フォワードの帯域（非優先伝送期間）の残り時間が、受信データの転送に必要な時間以上ある場合に転送を行い、逆に受信データの転送に必要な時間に満たない場合は転送せず、次にストア・アンド・フォワードの帯域が到来するのを待つ。こうすることで、制御データの伝送周期に悪影響を与えることなく、メッセージを伝送させることができるようになる。
【００６６】
図７に示すタイミングチャートは、スレーブＳ３がマスタＭにメッセージデータＭｓｇ１を、マスタＭがスレーブＳ２宛にメッセージデータＭｓｇ２を送信する例を示している。この例では、伝送周期Ｃｙｃ１のメッセージ伝送帯域で、マスタＭが送信したメッセージデータＭｓｇ２は、同帯域の残り時間（下り経路の非優先伝送期間の残り時間）では転送できないので、スレーブＳ１はメッセージデータＭｓｇ２を保持し、次の伝送周期Ｃｙｃ２のメッセージ伝送帯域の開始時（下り経路の次の非優先伝送期間の開始時）にメッセージデータＭｓｇ２をスレーブＳ２に送信開始する。ここで、スレーブＳ２はメッセージデータＭｓｇ２が自ノード宛なのでスレーブＳ３以降に転送しない。
【００６７】
一方、伝送周期Ｃｙｃ２の同期通知帯域及びコマンド伝送帯域でスレーブＳ３が送信したメッセージデータＭｓｇ１は、コマンド伝送帯域内でスレーブＳ１まで転送できる。しかし、同帯域の残り時間（上り経路の非優先伝送期間の残り時間）で、さらにスレーブＳ１からマスタＭに転送することはできない。このため、スレーブＳ１はメッセージ伝送帯域の開始時（上り経路の次の非優先伝送期間の開始時）にマスタＭに送信開始する。
【００６８】
ここで、マスタＭである産業用ネットワーク装置１の周期伝送制御部１３０の動作、スレーブＳ１〜Ｓ３である産業用ネットワーク装置１の周期伝送制御部１３０動作について説明する。なお、マスタＭの場合も、スレーブＳ１〜Ｓ３の場合も、送受信制御部１３１の動作については同じである。
【００６９】
図８〜図１０は、マスタＭの周期伝送制御部１３０の周期伝送中の動作を示すフローチャートである。動作条件として事前に、伝送周期１４１、コマンド伝送開始時間１４２、レスポンス伝送開始時間１４３及びメッセージ伝送開始時間１４４が周期伝送情報記憶部１４に格納され、伝送周期タイマ１３０１が起動されているものとする。
【００７０】
マスタＭの周期伝送制御部１３０では、伝送周期タイマ１３０１がタイムアップし、伝送周期が終了すると（Ｓ１０１）、伝送周期タイマ１３０１が転送経路管理部１３０４及び送信制御部１３０２へタイムアップの旨を示すタイミング信号１３０５を出力する（Ｓ１０２）。これを受けた転送経路管理部１３０４は、ＳＦ経路イネーブル信号１３０６Ａとしてオンを出力し、ＳＦ経路イネーブル信号１３０６Ｂとしてオフを出力する（Ｓ１０３）。これにより、下り中継路の中継方式はカット・スルー方式、上り中継路の中継方式はストア・アンド・フォワード方式となる。なお、図２に示す構成例では、マスタＭの通信インタフェース１３２ＡにスレーブＳ１〜Ｓ３である産業用ネットワーク装置１が接続されておらず、上り方向のデータ中継をしないので、ＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂは共にオフを出力してもよい。
【００７１】
次に送信制御部１３０２が同期通知Ｓを送受信制御部１３１の送信バッファ１３１１Ｂに格納する（Ｓ１０４）。なお、同期通知Ｓは送信バッファ１３１１Ａにも格納されてよい。続いて伝送周期タイマ１３０１が、コマンド伝送開始時間１４２が到来したことを示すタイミング信号１３０５を出力すると、送信制御部１３０２は、送信バッファ１１に格納されたコマンド１Ｃ〜３Ｃ（制御データ）を送受信制御部１３１の送信バッファ１３１１Ｂに格納する（Ｓ１０５）。なお、コマンド１Ｃ〜３Ｃは送信バッファ１３１１Ａにも格納されてよい。その後は、伝送周期タイマ１３０１の現在時間がレスポンス伝送開始時間１４３になるのを待つ。
【００７２】
伝送周期が開始してからレスポンス伝送開始時間１４３になるまでの間、スレーブＳ１である産業用ネットワーク装置１からメッセージデータが送信され得る（図７参照）。そこで、受信制御部１３０３は、送受信制御部１３１から受信通知信号１３１８Ｂが入力されると（図９，Ｓ１１２）、送受信制御部１３１の受信バッファ１３１０Ｂから受信データを取得し、受信バッファ１２のメッセージデータ受信領域に格納する（Ｓ１１３）。ホストＣＰＵ１０は、格納されたメッセージデータに基づいて各種のデータ処理を実行する。また、この間、送信制御部１３０２は、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（Ｓ１１４）、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ｂに格納する（Ｓ１１５）。
【００７３】
伝送周期タイマ１３０１の現在時間がレスポンス伝送開始時間１４３になると（Ｓ１１０）、マスタＭの転送経路管理部１３０４はＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂの両方をオフにし（Ｓ１１１）、送受信制御部１３１の中継路が上り下り共にカット・スルー方式となるようにする。その後は、伝送周期タイマ１３０１は、現在時間がメッセージ伝送開始時間１４４になるのを待つ。
【００７４】
レスポンス伝送開始時間１４３からメッセージ伝送開始時間１４４までの間には、スレーブＳ１である産業用ネットワーク装置１からレスポンスが送信され得る（図７参照）。そこで、受信制御部１３０３は、送受信制御部１３１から受信通知信号１３１８Ｂが入力されると（図１０，Ｓ１１８）、送受信制御部１３１の受信バッファ１３１０Ｂから受信データを取得し、受信バッファ１２のレスポンス受信領域に格納する（Ｓ１１９）。また、この間、送信制御部１３０２は、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（Ｓ１２０）、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ｂに格納する（Ｓ１２１）。
【００７５】
伝送周期タイマ１３０１の現在時間がメッセージ伝送開始時間１４４になると（Ｓ１１６）、マスタＭの転送経路管理部１３０４はＳＦ経路イネーブル信号１３０６Ａ及び１３０６Ｂの両方をオンにし（Ｓ１１７）、送受信制御部１３１の中継路が上り下り共にストア・アンド・フォワード方式となるようにする。その後は、伝送周期タイマ１３０１がタイムアップするのを待つ。
【００７６】
メッセージ伝送開始時間１４４から伝送周期が終了するまでの間、送受信制御部１３１から受信通知信号１３１８Ｂが入力されると（図８，Ｓ１０６）、受信制御部１３０３は、送受信制御部１３１の受信バッファ１３１０Ｂから受信データを取得し、受信バッファ１２のメッセージデータ受信領域に格納する（Ｓ１０７）。またこの間、送信制御部１３０２は、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（Ｓ１０８）、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ｂに格納する（Ｓ１０９）。伝送周期タイマ１３０１がタイムアップすると、以降は上記動作（Ｓ１０１〜Ｓ１２１）を繰り返す。
【００７７】
次に、図１１〜図１３は、スレーブＳ１〜Ｓ３の周期伝送制御部１３０の周期伝送中の動作を示すフローチャートである。動作条件として事前に伝送周期１４１、コマンド伝送開始時間１４２、レスポンス伝送開始時間１４３及びメッセージ伝送開始時間１４４が周期伝送情報記憶部１４に格納され、伝送周期タイマ１３０１が起動されているものとする。マスタＭの場合と同様に、伝送周期タイマ１３０１は伝送周期１４１でタイムアップし、オートリロード(再起動)する。
【００７８】
まず、スレーブＳ１〜Ｓ３の周期伝送制御部１３０では、伝送周期タイマ１３０１がタイムアップし、伝送周期が終了すると（Ｓ２０１）、伝送周期タイマ１３０１が転送経路管理部１３０４及び送信制御部１３０２へタイムアップの旨を示すタイミング信号１３０５を出力する。これを受けた転送経路管理部１３０４は、ＳＦ経路イネーブル信号１３０６Ａとしてオンを出力し、ＳＦ経路イネーブル信号１３０６Ｂとしてオフを出力する。これにより、下り中継路の中継方式はカット・スルー方式、上り中継路はストア・アンド・フォワード方式となる（Ｓ２０２）。
【００７９】
次に伝送周期タイマ１３０１の現在時間がレスポンス伝送開始時間１４３になるのを待つ。伝送周期の開始からレスポンス伝送開始時間１４３までの間、送受信制御部１３１から受信通知信号１３１８Ａ又は１３１８Ｂが入力されると（図１２，Ｓ２１０）、周期伝送制御部１３０の受信制御部１３０３は、送受信制御部１３１の受信バッファ１３１０Ａ又は受信バッファ１３１０Ｂから受信データを取得する。そして、取得した受信データが同期通知Ｓであった場合（Ｓ２１１）、受信制御部１３０３は、同期通知Ｓに格納された情報を元に伝送周期タイマ１３０１を補正する（Ｓ２１２）。受信データが同期通知Ｓでない場合（Ｓ２１１）、受信制御部１３０３は受信データを受信バッファ１２のコマンド受信領域に格納する（Ｓ２１３）。
【００８０】
また伝送周期の開始からレスポンス伝送開始時間１４３までの間、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（Ｓ２１４）、送信制御部１３０２は、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ａ及び１３１２Ｂに格納する（Ｓ２１５）。なお、送信先のノードが通信インタフェース１３２Ａ又は１３２Ｂのいずれの側に接続されているかを送信制御部１３０２が管理している場合には、送信先のノードと通信可能な通信インタフェース１３２Ａ又は１３２Ｂに対応する送信バッファ１３１２Ａ又は１３１２Ｂにだけメッセージデータを格納してよい。
【００８１】
伝送周期タイマ１３０１の現在時間がレスポンス伝送開始時間１４３になると（Ｓ２０７）、スレーブＳ１〜Ｓ３の転送経路管理部１３０４はＳＦ経路イネーブル信号１３０６Ａ及びＳＦ経路イネーブル信号１３０６Ｂの両方をオフにし、送受信制御部１３１の中継路が上り下り共にカット・スルー方式となるようにする（Ｓ２０８）。更に、スレーブＳ１〜Ｓ３の送信制御部１３０２は、送信バッファ１１に格納されたレスポンスを送受信制御部１３１の送信バッファ１３１１Ａ及び送信バッファ１３１１Ｂに格納する（Ｓ２０９）。その後、伝送周期タイマ１３０１の現在時間がメッセージ伝送開始時間１４４になるのを待つ。
【００８２】
レスポンス伝送開始時間１４３からメッセージ伝送開始時間１４４までの間、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（図１３，Ｓ２１８）、送信制御部１３０２は、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ａ及び１３１２Ｂに格納する（Ｓ２１９）。この場合も、送信先のノードが通信インタフェース１３２Ａ又は１３２Ｂのいずれの側に接続されているかを送信制御部１３０２が管理している場合には、送信先のノードと通信可能な通信インタフェース１３２Ａ又は１３２Ｂに対応する送信バッファ１３１２Ａ又は１３１２Ｂにだけメッセージデータを格納してよい。
【００８３】
伝送周期タイマ１３０１の現在時間がメッセージ伝送開始時間１４４になると（Ｓ２１６）、スレーブＳ１〜Ｓ３の転送経路管理部１３０４は、ＳＦ経路イネーブル信号１３０６Ａ及びＳＦ経路イネーブル信号１３０６Ｂの両方をオンにし、送受信制御部１３１の中継路が上り下り共にストア・アンド・フォワード方式となるようにする（Ｓ２１７）。その後、伝送周期タイマ１３０１がタイムアップするのを待つ。
【００８４】
メッセージ伝送開始時間１４４から伝送周期が終了するまでの間、送受信制御部１３１から受信通知信号１３１８Ａ又は１３１８Ｂが入力されると（図１１，Ｓ２０３）、周期伝送制御部１３０の受信制御部１３０３は、送受信制御部の受信バッファ１３１０Ａ又は受信バッファ１３１０Ｂから受信データを取得し、受信バッファ１２のメッセージデータ受信領域に格納する（Ｓ２０４）。またこの間、ホストＣＰＵ１０からメッセージデータ送信の要求信号１３０７を受けると（Ｓ２０５）、送信バッファ１１のメッセージデータ送信領域に格納されたメッセージデータを送受信制御部１３１の送信バッファ１３１２Ａ及び１３１２Ｂに格納する（Ｓ２０６）。この場合も、送信先のノードが通信インタフェース１３２Ａ又は１３２Ｂのいずれの側に接続されているかを送信制御部１３０２が管理している場合には、送信先のノードと通信可能な通信インタフェース１３２Ａ又は１３２Ｂに対応する送信バッファ１３１２Ａ又は１３１２Ｂにだけメッセージデータを格納してよい。伝送周期タイマ１３０１がタイムアップすると、以降は上記動作を繰り返す。
【００８５】
以上説明した実施形態によれば、同期通知帯域を設けて、同期通知Ｓをカット・スルー方式で転送するので、スレーブＳ１〜Ｓ３において同期通知Ｓの受信時刻の揺らぎが少なくなる。こうして、正確な同期合わせができる。この結果、マスタＭ及びスレーブＳ１〜Ｓ３のすべてが正確な伝送周期を計時でき、加工精度を向上できる。
【００８６】
また、コマンド伝送帯域を設けて、コマンドをカット・スルー方式で転送するので、毎伝送周期、コマンド送信が保証され、かつ、マスタＭからの送信からスレーブＳ１〜Ｓ３における受信までの伝送遅延を削減できる。同様に、レスポンス伝送帯域を設けて、レスポンスをカット・スルー方式で転送するので、毎伝送周期、レスポンス送信が保証され、かつ、スレーブＳ１〜Ｓ３からの送信からマスタＭにおける受信までの伝送遅延を削減できる。また、コマンドとレスポンスの両方の伝送遅延を短縮できるので、タクトタイムを短縮できる。
【００８７】
さらに、メッセージ伝送帯域を含む非優先伝送期間を設けて、メッセージデータをストア・アンド・フォワード方式で転送するので、任意のタイミングで送信要求を受けたメッセージデータにより、同期通知Ｓや制御データの伝送が乱されることが無い。特に、メッセージデータを中継する各ノードが、非優先伝送期間の残り時間を計時し、これによりメッセージデータを転送するか否かを判断するので、メッセージデータの伝送が優先伝送期間に行われることが無くなり、同期通知Ｓや制御データの伝送を優先伝送期間において確実に行うことができる。この結果、加工精度を向上できる。
【００８８】
また、同期通知帯域及びコマンド伝送帯域では、上り経路でメッセージ伝送を行うので、帯域の使用効率が向上し、メッセージ伝送による伝送周期の伸長を防ぐ効果がある。また、従来のＦＬ−ｎｅｔのようにトークンを伝送しないので、各ノードでトークン管理の処理を実装する必要が無くなる。さらに、トークン伝送による伝送周期の伸長という問題もない。
【００８９】
なお、本発明は上記実施形態に限定されるものではない。例えば、本発明は種々のトポロジーの産業用ネットワークに適用可能である。一例として図１４に示すように、本発明はスター型の産業用ネットワークにも適用可能である。同図の例では、本発明を適用したマスタＭ及びスレーブＳ１〜Ｓ３は、本発明を適用したレイヤー２スイッチ（以下、「スイッチ」という。）１ａに接続され、スター型の構成をなす。この変形例においても、マスタＭからスレーブＳ１〜Ｓ３に向かう伝送経路を下り、スレーブＳ１〜Ｓ３からマスタＭに向かう伝送経路を上りとする。
【００９０】
スイッチ１ａの構成は、図１、図４及び図５に示される構成から、ホストＣＰＵ１０、送信バッファ１１及び受信バッファ１２など、転送機能に無関係な構成を除いたものと基本的には同じであり、周期伝送制御部１３０、送受信制御部１３１及び複数の通信インタフェースを含む。但し、通信インタフェースの数は、マスタＭやスレーブＳ１〜Ｓ３に比べて多くなる。そして、いずれか１つの通信インタフェースから受信したデータは、それ以外のすべての通信インタフェースから送信される。すなわち、スイッチ１ａでは、複数の並列な中継路が内部に備えられる。スイッチ１ａの動作は、基本的には図２に示されるスレーブＳ１又はスレーブＳ２の動作と同じとなる。但し、受信データが、該受信データを受信した通信インタフェース以外のすべての通信インタフェースから、他のノードに転送されることが異なる。
【００９１】
また、コマンドやレスポンスなどの制御データの宛先アドレスはブロードキャストアドレスであってよい。この場合、イーサネットフレームのデータ部には、制御データに加えて、該制御データの宛先であるノードの識別情報が含められる。このようにすれば、産業用ネットワークのすべてのノードに制御データが転送されることになり、産業用ネットワークの立ち上げや保守を容易化できる。
【符号の説明】
【００９２】
１  産業用ネットワーク装置（産業用デバイス，コントローラ）、１ａ  スイッチ、１３  伝送制御部、１４  周期伝送情報記憶部、１３０  周期伝送制御部、１３０１  伝送周期タイマ、１３０２  送信制御部、１３０３  受信制御部、１３０５  タイミング信号、１３０６Ａ,１３０６Ｂ  ＳＦ経路イネーブル信号、１３１  送受信制御部、１３１０Ａ，１３１０Ｂ  受信バッファ、１３１１Ａ，１３１１Ｂ  送信バッファ、１３１３Ａ，１３１３Ｂ  転送経路切替スイッチ、１３１５Ａ，１３１５Ｂ  アドレスフィルタ、１３１６Ａ，１３１６Ｂ  ストア・アンド・フォワード転送制御部、１３１７  ストア・アンド・フォワード帯域タイマ、１３１８Ａ，１３１８Ｂ  受信通知信号、１３２Ａ,１３２Ｂ  通信インタフェース、１４１  伝送周期、１４２  コマンド伝送開始時間、１４３  レスポンス伝送開始時間、１４４  メッセージ伝送開始時間。
【図１】
2014233008.tif 000003
【図２】
2014233008.tif 000004
【図３】
2014233008.tif 000005
【図４】
2014233008.tif 000006
【図５】
2014233008.tif 000007
【図６】
2014233008.tif 000008
【図７】
2014233008.tif 000009
【図８】
2014233008.tif 000010
【図９】
2014233008.tif 000011
【図１０】
2014233008.tif 000012
【図１１】
2014233008.tif 000013
【図１２】
2014233008.tif 000014
【図１３】
2014233008.tif 000015
【図１４】
2014233008.tif 000016