(57)【要約】  複数の通信グループを通信回線で接続した場合にデータの混在が発生することを防止する。産業機器の通信システム（１００）は、通信マスタとなる複数の産業機器（１）と、通信マスタからの制御データを受信する通信スレーブとなる複数の産業機器（１）と、各産業機器（１）を互いに通信可能に接続する通信回線（２）と、通信マスタと通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるためのスイッチ（１３１２Ａ，１３１２Ｂ）と、複数の期間の各々において独立して通信する通信グループに応じて、他の通信グループとの間にあるグループ間通信回線（２）を遮断する状態と、遮断された当該グループ間通信回線（２）を接続する状態と、を切り替えるようスイッチ（１３１２Ａ，１３１２Ｂ）を制御するスイッチ制御部（１３０４）と、を有する。
2017046916.tif 000002
【特許請求の範囲】
【請求項１】
通信マスタとなる複数の産業機器と、
前記通信マスタからの制御データを受信する通信スレーブとなる複数の産業機器と、
各産業機器を互いに通信可能に接続する通信回線と、
前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるためのスイッチと、
複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替えるよう前記スイッチを制御するスイッチ制御部と、
を有する産業機器の通信システム。
【請求項２】
前記複数の期間の少なくとも１つにおいて、複数の前記通信グループの各々が独立して通信する、
請求項１に記載の産業機器の通信システム。
【請求項３】
前記産業機器の通信システムでは、定周期通信が行われ、
１通信周期内には、複数の前記期間が含まれており、
前記複数の期間の各々によって、独立して通信する前記通信グループが互いに異なる、
請求項１又は２に記載の産業機器の通信システム。
【請求項４】
前記産業機器の通信システムに含まれる全ての産業機器を含む全体通信グループを通信させる全体通信期間において、前記全体通信グループの通信マスタは同期通知を送信する、
請求項３に記載の産業機器の通信システム。
【請求項５】
各産業機器は、
前記スイッチと、
前記スイッチ制御部と、
前記複数の期間の各々と、当該期間において独立して通信する前記通信グループと、の関係に関する期間情報を記憶する期間情報記憶部と、
を有し、
各産業機器の前記スイッチ制御部は、前記期間情報に基づいて前記スイッチを制御する、
請求項１〜４の何れかに記載の産業機器の通信システム。
【請求項６】
前記産業機器の通信システムの初期化期間では、前記産業機器の通信システムに含まれる全ての産業機器を含む初期通信グループで通信され、
前記初期通信グループの通信マスタは、前記初期化期間において、他の産業機器に対し、前記期間情報を送信する、
請求項５に記載の産業機器システム。
【請求項７】
各産業機器は、他の前記産業機器と通信可能に接続するための上流側接続ポートと下流側接続ポートとを少なくとも有し、
各産業機器は、互いの前記上流側ポートと前記下流側ポートとを接続することにより線形に接続される、
請求項１〜６の何れかに記載の産業機器の通信システム。
【請求項８】
通信マスタとなる複数の産業機器と、前記通信マスタからの制御データを受信する通信スレーブとなる複数の産業機器と、各産業機器を互いに通信可能に接続する通信回線と、を有する産業機器の通信システムにおける通信方法であって、
前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるため、複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替える、
通信方法。
【請求項９】
通信マスタ及び前記通信マスタの制御データを受信する通信スレーブの少なくとも何れかとなる産業機器であって、
前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるためのスイッチと、
複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替えるよう前記スイッチを制御するスイッチ制御部と、
を有する産業機器。
【請求項１０】
通信マスタとなる複数の産業機器と、
前記通信マスタの制御データを受信する通信スレーブとなる複数の産業機器と、
前記産業機器を互いに通信可能に接続する通信手段と、
前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させる場合に、複数の期間の各々において独立して通信する前記通信グループに他の通信グループのデータが混在することを防ぐ防止手段と、
を有する産業機器の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業機器の通信システム、通信方法、及び産業機器に関する。
【背景技術】
【０００２】
特許文献１には、通信マスタと、当該通信マスタからの制御データを受信する複数の通信スレーブと、のそれぞれが線形に接続され、通信マスタが送信した制御データを最上位の通信スレーブが受信し、下位の通信スレーブに対して順番に制御データが送信されるシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２３３００８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような通信マスタと通信スレーブとを含む通信グループが複数ある場合は、各通信グループを通信回線で接続してデータの送受信を可能にすることが考えられる。例えば、コントローラを通信マスタとし、サーボアンプやＩ／Ｏデバイスを通信スレーブとした通信グループである加工を行うモジュールと、別のコントローラを通信マスタとし、サーボアンプやＩ／Ｏデバイスを通信スレーブとした別の通信グループである別の加工を行うモジュールと、があり、要求される機能や性能に合わせて、これら複数のモジュールを組み合わせて１つの製造装置や製造ラインを構成する場合である。この場合、モジュール間（即ち、通信グループ間）を通信回線で接続して、通信により複数のモジュール（即ち、複数の通信グループ）を連動させることが考えられる。しかしこの場合、各通信グループが同時に動作すると、他の通信グループのデータを受信するので、通信グループ内でデータの混在が発生し、例えば、通信量が多くなる可能性がある。【０００５】
本発明が解決しようとする課題は、複数の通信グループを通信回線で接続した場合にデータの混在が発生することを防止することである。
【課題を解決するための手段】
【０００６】
本発明の一側面に係る産業機器の通信システムは、通信マスタとなる複数の産業機器と、前記通信マスタからの制御データを受信する通信スレーブとなる複数の産業機器と、各産業機器を互いに通信可能に接続する通信回線と、前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるためのスイッチと、複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替えるよう前記スイッチを制御するスイッチ制御部と、を有する。【０００７】
また、本発明の一側面に係る産業機器の通信システムでは、前記複数の期間の少なくとも１つにおいて、複数の前記通信グループの各々が独立して通信する。【０００８】
また、本発明の一側面に係る産業機器の通信システムでは、定周期通信が行われ、１通信周期内には、複数の前記期間が含まれており、前記複数の期間の各々によって、独立して通信する前記通信グループが互いに異なる。【０００９】
また、本発明の一側面に係る産業機器の通信システムでは、前記産業機器の通信システムに含まれる全ての産業機器を含む全体通信グループを通信させる全体通信期間において、前記全体通信グループの通信マスタは同期通知を送信する。【００１０】
また、本発明の一側面に係る産業機器の通信システムでは、各産業機器は、前記スイッチと、前記スイッチ制御部と、前記複数の期間の各々と、当該期間において独立して通信する前記通信グループと、の関係に関する期間情報を記憶する期間情報記憶部と、を有し、各産業機器の前記スイッチ制御部は、前記期間情報に基づいて前記スイッチを制御する。【００１１】
また、本発明の一側面に係る産業機器の通信システムでは、前記産業機器の通信システムの初期化期間では、前記産業機器の通信システムに含まれる全ての産業機器を含む初期通信グループで通信され、前記初期通信グループの通信マスタは、前記初期化期間において、他の産業機器に対し、前記期間情報を送信する。【００１２】
また、本発明の一側面に係る産業機器の通信システムでは、各産業機器は、他の前記産業機器と通信可能に接続するための上流側接続ポートと下流側接続ポートとを少なくとも有し、各産業機器は、互いの前記上流側ポートと前記下流側ポートとを接続することにより線形に接続される。【００１３】
また、本発明の一側面に係る通信方法では、通信マスタとなる複数の産業機器と、前記通信マスタからの制御データを受信する通信スレーブとなる複数の産業機器と、各産業機器を互いに通信可能に接続する通信回線と、を有する産業機器の通信システムにおける通信方法であって、前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるため、複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替える。【００１４】
また、本発明の一側面に係る産業機器では、通信マスタ及び前記通信マスタの制御データを受信する通信スレーブの少なくとも何れかとなる産業機器であって、前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させるためのスイッチと、複数の期間の各々において独立して通信する前記通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替えるよう前記スイッチを制御するスイッチ制御部と、を有する。【００１５】
また、本発明の一側面に係る産業機器の通信システムでは、通信マスタとなる複数の産業機器と、前記通信マスタの制御データを受信する通信スレーブとなる複数の産業機器と、前記産業機器を互いに通信可能に接続する通信手段と、前記通信マスタと前記通信スレーブとを含む通信グループを、他の通信グループから独立して通信させる場合に、複数の期間の各々において独立して通信する前記通信グループに他の通信グループのデータが混在することを防ぐ防止手段と、を有する。
【発明の効果】
【００１６】
上記発明によれば、複数の通信グループを通信回線で接続した場合にデータの混在が発生することを防止することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態における通信システムの全体構成の一例を示す図である。
【図２】各産業機器の詳細構成を示すブロック図である。
【図３】周期伝送制御部の詳細構成を示すブロック図である。
【図４】１通信周期内で送受信されるデータを示す図である。
【図５】本実施形態における伝送フレームの一例を示す図である。
【図６】期間情報の構成例を示す図である。
【図７】スイッチ情報の一例を示す図である。
【図８】各産業機器の通信周期タイマ及び期間管理タイマの動作を示す図である。
【図９】通信マスタの周期伝送制御部の動作を示すフローチャートである。
【図１０】通信マスタの周期伝送制御部の動作を示すフローチャートである。
【図１１】通信マスタの周期伝送制御部の動作を示すフローチャートである。
【図１２】通信スレーブの周期伝送制御部の動作を示すフローチャートである。
【図１３】通信スレーブの周期伝送制御部の動作を示すフローチャートである。
【図１４】通信スレーブの周期伝送制御部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
［１．産業機器の通信システムの全体構成］
以下、本発明の実施形態について図面に基づき詳細に説明する。本実施形態では、産業機器の通信システム（以降、単に通信システムという。）は、通信マスタ及び通信スレーブの少なくとも何れかとなる複数の産業機器を含む。通信マスタは、通信スレーブを制御する産業機器であり、例えば、サーボアンプやＩ／Ｏデバイスなどの産業用デバイスを制御するコントローラである。通信スレーブは、通信マスタの制御データを受信する産業機器であり、例えば、上記産業用デバイスである。
【００１９】
図１は、本実施形態における通信システムの全体構成の一例を示す図である。図１に示すように、通信システム１００は、通信マスタとなる複数の産業機器１、通信スレーブとなる複数の産業機器１、及び、各産業機器１を互いに通信可能に接続する通信回線２を含む。なお、本実施形態では、各産業機器１が同様の物理構成を有する場合を説明する。このため、通信マスタと通信スレーブを特に区別しないときは、「産業機器１」のように記載し、これらを区別するときは、「通信マスタＭ１０〜Ｍ３０」や「通信スレーブＳ１１〜Ｓ２２」のように記載する。
【００２０】
各産業機器１は、ネットワーク内のノードとして用いられる。本実施形態では、各産業機器１は、他の産業機器１と通信可能に接続するための接続ポート１３２Ａ（上流側接続ポートの一例）と接続ポート１３２Ｂ（下流側接続ポートの一例）とを少なくとも有する。また、各産業機器１は、互いの接続ポート１３２Ａと接続ポート１３２Ｂとを接続することにより線形に接続されている。この接続方式は、いわゆるデイジーチェーン接続と呼ばれるものである。デイジーチェーン接続は、複数の機器を数珠繋ぎにした接続方式である。
【００２１】
各産業機器１は、自局（自ノード）宛てのデータ及びブロードキャストデータを受信する機能、他局（他ノード）宛てのデータを自ら生成して送信する機能、及び、他局宛てのデータを受信して当該他局に向けて転送する機能を有するようにしてよい。なお、他局宛てのデータとは、マルチキャストデータやブロードキャストデータを含む意味である。
【００２２】
本実施形態では、１の通信マスタと、少なくとも１つの通信スレーブと、の組み合わせを通信グループという。別の言い方をすれば、通信グループは、互いにデータを送受信する通信マスタと通信スレーブの組み合わせともいえる。通信システム１００では、複数の通信グループを設定することができる。各産業機器１は、少なくとも１つの通信グループに属する。本実施形態では、各産業機器１は、ある期間に属する通信グループと、他の期間に属する通信グループと、は異なるようにしてもよいが、ある１つの時点で同時に複数の通信グループに属することはできないものとする。
【００２３】
図１に示す例では、３つの通信グループＧ１〜Ｇ３が存在する。通信グループＧ１は、通信マスタＭ１０と通信スレーブＳ１１〜Ｓ１３とを含む。通信グループＧ２は、通信マスタＭ２０と通信スレーブＳ２１〜Ｓ２２とを含む。通信グループＧ３は、通信マスタＭ３０と通信スレーブＳ１１〜Ｓ２２とを含む。例えば、通信グループＧ１及びＧ２は、それぞれ先述の製造装置や製造ラインにおけるモジュールに相当する。また例えば、通信グループＧ３は、通信マスタ３０が保守用のコンピュータとして用いられ、各産業機器１の保守に必要な情報を取得するためのものである。詳細は後述するが、ある期間では通信グループＧ１と通信グループＧ２とが並列して動作し、別の期間では通信グループＧ３が動作する。
【００２４】
［２．各産業機器の詳細構成］
次に、各産業機器１の詳細構成を説明する。図２は、各産業機器１の詳細構成を示すブロック図である。図２に示すように、産業機器１は、ＣＰＵ（Central Processing Unit）１０、送信バッファ１１、受信バッファ１２、伝送制御部１３、及び、接続ポート１３２Ａ及び１３２Ｂを含む。
【００２５】
ＣＰＵ１０は、各種データ処理を実行する。例えば、ＣＰＵ１０は、通信マスタから通信スレーブに送信されるコマンドなどの出力データを生成する。また例えば、ＣＰＵ１０は、通信スレーブから通信マスタに送信されるレスポンスなどの入力データを生成する。また、ＣＰＵ１０は、受信した入力データや出力データに基づいてモータなどの産業機器を制御するためのデータ処理を実行する。
【００２６】
送信バッファ１１は、送信するデータを記憶する記憶領域であり、受信バッファ１２は、受信したデータを記憶する記憶領域である。ＣＰＵ１０は、受信バッファ１２に記憶されたデータに基づいて処理を実行し、その処理結果に基づいて送信するデータを生成して送信バッファ１１に格納する。
【００２７】
接続ポート１３２Ａ及び１３２Ｂは、それぞれ別の通信回線２に接続された物理的な通信インタフェース（ＰＨＹ：Physical layer）である。接続ポート１３２Ａ及び１３２Ｂは、通信回線２に接続され、所定の信号に変換した送信データを通信回線２に出力し、通信回線２からの入力信号を受信データに変換する。接続ポート１３２Ａ及び１３２Ｂは、それぞれ他局の接続ポート１３２Ａ又は１３２Ｂと通信回線２を介して接続されており、データの送受信を行う。なお、通信回線２は、半二重通信方式であってもよいし、全二重通信方式であってもよい。
【００２８】
伝送制御部１３は、産業機器１のデータ送受信を制御する通信用集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）である。伝送制御部１３は、周期伝送制御部１３０と送受信制御部１３１とを含む。周期伝送制御部１３０は、送受信制御部１３１から受信したデータを受信バッファ１２に格納し、送信バッファ１１に格納されたデータを送受信制御部１３１に送信する。ここでは、先に送受信制御部１３１の詳細構成を説明し、周期伝送制御部１３０の詳細構成は後述する。
【００２９】
［２−１．送受信制御部の詳細構成］
送受信制御部１３１は、接続ポート１３２Ａ及び１３２Ｂに接続されている。図２に示すように、送受信制御部１３１は、接続ポート１３２Ａ及び１３２Ｂの各々から見て対称的な構成を有しているので、ここでは、接続ポート１３２Ａによるデータ送受信に係る構成について説明し、接続ポート１３２Ｂによるデータ送受信に係る構成については、説明を省略する。
【００３０】
まず、送受信制御部１３１のうち、接続ポート１３２Ａで受信したデータの流れに関連する構成から説明する。図２に示すように、送受信制御部１３１は、接続ポート１３２Ａで受信したデータを伝送する２つの内部経路を有する。第１経路は、受信データを周期伝送制御部１３０へ伝えるためのＦＩＦＯ（First-In First-Out）式の受信バッファ１３１０Ａを介する経路である。第２経路は、接続ポート１３２Ｂにより中継するためのＦＩＦＯ式の送信バッファ１３１１Ｂを介する経路である。なお、送信バッファ１３１１Ｂには、接続ポート１３２Ｂ側の他局宛てに送信される、自局で生成したデータも入力される。
【００３１】
第１経路上に設けられた受信バッファ１３１０Ａの前段には、自局のアドレス又はブロードキャストアドレスと一致する宛先アドレスを有するデータのみを通過させるためのアドレスフィルタ１３１３Ａが設けられている。アドレスフィルタ１３１３Ａは、自局のアドレス、又はブロードキャストアドレス、又は後述する共通マルチキャストアドレス、又は後述する通信グループマルチキャストアドレスと一致する宛先アドレスを有するデータを受信した場合には、周期伝送制御部１３０に受信通知信号１３１４Ａを出力する。
【００３２】
また、第１経路のアドレスフィルタ１３１３Ａの前段には、通信グループを他の通信グループから独立して通信させるためのスイッチ１３１２Ａが設けられている。第２経路から見れば、スイッチ１３１２Ａは、送信バッファ１３１１Ｂの前段に、セレクタを介して設けられている。即ち、スイッチ１３１２Ａの出力端子には、アドレスフィルタ１３１３Ａと、セレクタを介して送信バッファ１３１１Ｂと、が接続されている。なお、セレクタは、複数の入力端子及び１つの出力端子を備え、いずれかの入力端子から入力されたデータを共通の出力端子から出力する回路である。
【００３３】
スイッチ１３１２Ａの入力端子には、接続ポート１３２Ａが接続されており、受信データが入力される。スイッチ１３１２Ａには、通信回線イネーブル信号１３０６Ａが、スイッチのオン／オフの切り替え信号として、周期伝送制御部１３０から入力されている。通信回線イネーブル信号１３０６Ａがオンの場合は、接続ポート１３２Ａと、第１経路及び第２経路と、が接続される。通信回線イネーブル信号１３０６Ａがオフの場合は、接続ポート１３２Ａと、第１経路及び第２経路と、が遮断される。
【００３４】
また、送信バッファ１３１１Ｂの後段には、スイッチ１３１２Ｂが設けられている。スイッチ１３１２Ｂも、スイッチ１３１２Ａと同様、通信グループを他の通信グループから独立して通信させるために用いられる。スイッチ１３１２Ｂの入力端子には、送信バッファ１３１１Ｂが接続される。スイッチ１３１２Ｂの出力端子には、接続ポート１３２Ｂが接続される。スイッチ１３１２Ｂには、通信回線イネーブル信号１３０６Ｂが、スイッチのオン／オフの切り替え信号として、周期伝送制御部１３０から入力されている。通信回線イネーブル信号１３０６Ｂがオンの場合は、接続ポート１３２Ｂと、第２経路と、が接続される。通信回線イネーブル信号１３０６Ｂがオフの場合は、接続ポート１３２Ｂと、第２経路と、が遮断される。
【００３５】
次に、周期伝送制御部１３０から、接続ポート１３２Ａ経由での送信を要求されたデータの流れに関連する構成を説明する。送受信制御部１３１は、通信マスタの出力データや通信スレーブの入力データなどのデータを接続ポート１３２Ａに伝えるためのＦＩＦＯ式の送信バッファ１３１１Ａを備える。送信バッファ１３１１Ａは、先述した接続ポート１３２Ｂ側に設けられた送信バッファ１３１１Ｂと同様の構成である。
【００３６】
周期伝送制御部１３０から供給される送信データは、送信バッファ１３１１Ａに格納されると、スイッチ１３１２Ａがオンになっている場合に、接続ポート１３２Ａ側から送信される。即ち、周期伝送制御部１３０から供給される送信データが送信バッファ１３１１Ａに格納されたとしても、スイッチ１３１２Ａがオフになっている場合には、送信バッファ１３１１Ａと接続ポート１３２Ａとの接続が遮断されているので、送信データは接続ポート１３２Ａ側から送信されない。
【００３７】
［２−２．周期伝送制御部の詳細構成］
次に、周期伝送制御部１３０の詳細構成を説明する。図３は、周期伝送制御部１３０の詳細構成を示すブロック図である。図３に示すように、周期伝送制御部１３０は、通信周期タイマ１３００と、期間管理タイマ１３０１、送信制御部１３０２、受信制御部１３０３、スイッチ制御部１３０４、及び、期間情報記憶部１４を含む。ここでは、期間情報記憶部１４の詳細は後述し、他の構成の詳細について説明する。
【００３８】
通信周期タイマ１３００は、通信周期を計時するタイマであり、期間管理タイマ１３０１は、通信周期内に設定される各期間（後述する全体通信期間や制御伝送期間）を計時するタイマである。送信制御部１３０２は、通信周期タイマ１３００から出力される通信周期タイムアップ信号１３０５と、期間管理タイマ１３０１から出力される期間管理タイムアップ信号１３０７と、に従って、送信バッファ１１に格納された送信データを送受信制御部１３１に送信する。また、受信制御部１３０３は、送受信制御部１３１から受信データを受け取り、ＣＰＵ１０に送信するために、受信データを受信バッファ１２に格納する。
【００３９】
スイッチ制御部１３０４は、通信周期タイマ１３００から出力される通信周期タイムアップ信号１３０５と、期間管理タイマ１３０１から出力される期間管理タイムアップ信号１３０７と、に従って、通信回線イネーブル信号１３０６Ａ及び１３０６Ｂを送受信制御部１３１に出力する。具体的には、スイッチ制御部１３０４は、通信回線イネーブル信号１３０６Ａ及び１３０６Ｂとして、通信回線２を遮断すべき期間が到来した場合にオフを出力し、通信回線２を接続すべき期間が到来した場合にオンを出力する。
【００４０】
［３．通信システムで実行される処理］
次に、通信システム１００で実行される処理を説明する。本実施形態では、通信システム１００では、定周期通信が行われる場合を説明する。図４は、１通信周期内で送受信されるデータを示す図である。図４に示すように、通信周期は、複数の期間に分けられており、例えば、１つの全体通信期間と、複数の制御伝送期間と、を含む。
【００４１】
全体通信期間は、通信システム１００に含まれる全ての産業機器１を含む全体通信グループを通信させる期間である。図４に示す例では、全体通信期間は、通信周期の冒頭に設定されているが、全体通信期間を設けない通信周期があってもよい。全体通信期間において、全体通信グループの通信マスタは同期通知を送信する。以降、全体通信グループの通信マスタを、他の通信グループの通信マスタと区別するために、同期通信マスタという。同期通信マスタは、何れかの産業機器１であればよく、ここでは、通信マスタＭ１０とする。
【００４２】
全体通信期間では、通信マスタＭ１０以外の産業機器１は、通信スレーブとなり、通信マスタＭ１０から送信される同期通知（図４では、「SYN」と記載する。）に基づいて同期合わせをする。これにより、各産業機器１が同期し、通信周期の開始時点を一致させることができる。また、全体通信期間では、同期通信マスタである通信マスタＭ１０のみが送信を許可され、同期通知を送信する。同期通知は、他の全ての産業機器１が受信できるように、ブロードキャスト又はマルチキャストで送信されるようにすればよい。
【００４３】
なお、産業機器１を同期させる方法自体は、公知の種々の手法を適用可能である。例えば、特許第４７６０９７８号やＩＥＥＥ１５８８(IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems)で開示されている方法を採用してもよい。ＩＥＥＥ１５８８を採用する場合、同期通知は「Sync Message」となる。ＩＥＥＥ１５８８の「Delay Request」や「Delay Response」を使用した伝送遅延の計測は、定周期通信の開始前（例えば、初期化時）に実施しておくようにしてよい。
【００４４】
また、同期通知などの伝送フレームの書式自体も、公知の種々の通信方式のものを適用可能である。本実施形態では、イーサネット（登録商標）に準拠する伝送フレームを一例に挙げる。図５は、本実施形態における伝送フレームの一例を示す図である。図５に示すように、イーサネットに準拠した伝送フレームは、プリアンブル、フレーム開始識別子（ＳＦＤ；Start Flame Delimiter）、宛先アドレス、送信元アドレス、タイプ／レングス、データ及びエラーチェック（ＦＣＳ；Flame Check Sequence）が含まれる。特に、データには、データの種別を示すコード部が含まれている。パラメータ１〜パラメータｎに格納されたデータが、上述したコマンド（出力データ）、レスポンス（入力データ）、メッセージデータ、同期通知など、いずれの種別のデータであるかが、当該コードにより示される。
【００４５】
制御伝送期間は、通信グループが独立して通信する期間である。本実施形態では、制御伝送期間ごとに、通信グループが設定されている。図４に示すように、各制御伝送期間は、出力データ伝送期間と、入力データ伝送期間と、を含む。出力データ伝送期間は、各通信マスタが通信グループ内の通信スレーブに対して出力データを送信する期間である。入力データ伝送期間は、通信グループ内の通信スレーブが当該通信グループの通信マスタに対して入力データを送信する期間である。なお、１つの制御伝送期間内に、出力データ伝送期間と入力データ伝送期間がそれぞれ複数あってもよいし、特に出力データ伝送期間と入力データ伝送期間とが分かれていなくてもよい。
【００４６】
本実施形態では、全体通信期間の後から順番に、制御伝送期間に番号を付加するものとする。図４の例では、制御伝送期間１と制御伝送期間２が存在する。本実施形態では、複数の制御伝送期間の少なくとも１つにおいて、複数の通信グループの各々が独立して通信する。例えば、制御伝送期間１において、通信グループＧ１と通信グループＧ２の各々が独立して通信する。別の言い方をすれば、制御伝送期間１では、通信グループＧ１と通信グループＧ２が時間的に並列して動作することになる。
【００４７】
例えば、制御伝送期間１において、通信グループＧ１と通信グループＧ２との間を接続すると、これらが並列して動作した場合に、一方のデータが他方に送信されてしまい、データの混在が発生する。このため、制御伝送期間１では、通信グループＧ１の末端にある通信スレーブＳ１３はスイッチ１３１２Ｂをオフにし、通信グループＧ２の末端にある通信マスタＭ２０はスイッチ１３１２Ａをオフにする。これにより、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２を遮断し、通信グループＧ１と通信グループＧ２が並列して動作しても、データの混在が発生しないようになっている。
【００４８】
図４の例では、制御伝送期間１において、通信グループＧ１の通信マスタＭ１０が通信スレーブＳ１１〜Ｓ１３に送信する出力データを「１１Ｃ１」〜「１３Ｃ１」と記載し、通信スレーブＳ１１〜Ｓ１３が通信マスタＭ１０に送信する入力データを「１１Ｒ１」〜「１３Ｒ１」と記載する。制御伝送期間１では、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２が遮断されているので、出力データ「１１Ｃ１」〜「１３Ｃ１」や入力データ「１１Ｒ１」〜「１３Ｒ１」が通信グループＧ２に送信されず、通信グループＧ２内でデータの混在が起きないようになっている。
【００４９】
一方、図４の例では、制御伝送期間１において、通信グループＧ２の通信マスタＭ２０が通信スレーブＳ２１〜Ｓ２２に送信する出力データを「２１Ｃ１」〜「２２Ｃ１」と記載し、通信スレーブＳ２１〜Ｓ２２が通信マスタＭ２０に送信する入力データを「２１Ｒ１」〜「２２Ｒ１」と記載する。制御伝送期間１では、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２が遮断されているので、出力データ「２１Ｃ１」〜「２２Ｃ１」や入力データ「２１Ｒ１」〜「２２Ｒ１」が通信グループＧ１に送信されず、通信グループＧ１内でデータの混在が起きないようになっている。
【００５０】
更に、本実施形態では、複数の制御伝送期間の各々によって、独立して通信する通信グループが互いに異なるようになっている。別の言い方をすれば、制御伝送期間ごとに通信グループが変わる。例えば、制御伝送期間１では通信グループＧ１と通信グループＧ２が存在するが、制御伝送期間２では通信グループＧ３のみが存在するので、制御伝送期間１と制御伝送期間２の通信グループは、互いに異なることになる。
【００５１】
例えば、制御伝送期間１が終了して制御伝送期間２が始まったとしても、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２を遮断したままだと、通信グループＧ３内で通信ができなくなってしまう。このため、制御伝送期間２が始まると、通信スレーブＳ１３はスイッチ１３１２Ｂをオンにし、通信マスタＭ２０はスイッチ１３１２Ａをオンにすることで、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２が接続される。
【００５２】
図４の例では、制御伝送期間２において、通信グループＧ３の通信マスタＭ３０が通信スレーブＳ１１〜Ｓ２２に送信する出力データを「１１Ｃ２」〜「２２Ｃ２」と記載し、通信スレーブＳ１１〜Ｓ２２が通信マスタＭ３０に送信する入力データを「１１Ｒ２」〜「２２Ｒ２」と記載する。制御伝送期間２では、通信スレーブＳ１３と通信マスタＭ２０との間の通信回線２が接続されているので、出力データ「１１Ｃ２」〜「２２Ｃ２」や入力データ「１１Ｒ２」〜「２２Ｒ２」が通信グループＧ３で送受信することができるようになっている。なお、制御伝送期間２においては、通信マスタＭ２０は、特に通信マスタや通信スレーブとして機能するわけではなく、通信スレーブＳ１３と通信スレーブＳ２１との間でデータを中継する中継機としての役割を果たすことになる。勿論、ある制御伝送期間において通信マスタとして機能する産業機器１が、他の制御伝送期間において通信スレーブとして機能してもよい。
【００５３】
上記のように、本実施形態では、制御伝送期間に応じた通信グループの通信を実現可能なように、各産業機器１のスイッチ１３１２Ａ及び１３１２Ｂが切り替わるようになっている。そのために、各産業機器１のスイッチ制御部１３０４は、複数の制御伝送期間の各々において独立して通信する通信グループに応じて、他の通信グループとの間にあるグループ間通信回線を遮断する状態と、遮断された当該グループ間通信回線を接続する状態と、を切り替えるようスイッチ１３１２Ａ及び１３１２Ｂを制御する。本実施形態では、スイッチ制御部１３０４は、期間情報記憶部１４が記憶する期間情報に基づいてスイッチ１３１２Ａ及び１３１２Ｂを制御している。
【００５４】
図６は、期間情報の構成例を示す図である。期間情報は、複数の制御伝送期間の各々と、当該制御伝送期間において独立して通信する通信グループと、の関係に関する情報である。期間情報は、１回目の通信周期が到来して制御データの交換が開始される前に、各産業機器１に対して予め設定しておくようにすればよい。例えば、各産業機器１が不揮発性メモリを有し、当該不揮発性メモリに期間情報を保存しておいてもよい。この場合、通信システム１００の起動時に、各産業機器１は、自局の不揮発性メモリに格納された期間情報を読み出すことになる。
【００５５】
他にも例えば、通信システム１００の初期化処理が実行される初期化期間において、各産業機器１に期間情報が設定されるようにしてもよい。初期化期間は、１回目の通信周期が到来する前の期間である。通信システム１００の初期化期間では、通信システム１００に含まれる全ての産業機器１を含む初期通信グループで通信される。初期通信グループの通信マスタは、初期化期間において、他の産業機器１に対して期間情報を送信する。初期通信グループの通信マスタは、何れかの産業機器１であればよく、例えば、通信マスタＭ１０であってよい。この場合、通信マスタＭ１０の不揮発性メモリに、全産業機器１に関する期間情報が記憶されていることになる。通信マスタＭ１０以外の産業機器１は、通信マスタＭ１０から受信する初期化コマンドに応じて、初期化処理を実行する。通信マスタＭ１０は、初期化コマンドに期間情報を含めて他の産業機器１に送信してもよいし、初期化コマンドとは別に他の産業機器１に送信してもよい。初期化処理自体は、公知の種々の処理を適用可能であり、例えば、モータの回転数を示すパラメータの初期化などが実行される。
【００５６】
図６に示すように、期間情報は、ネットワーク共通情報１４０、制御伝送期間情報１４１、局固有情報１４２、及び、スイッチ情報１４３を含む。
【００５７】
ネットワーク共通情報１４０は、通信システム１００内の全ての産業機器１に共通する情報である。ネットワーク共通情報１４０は、通信周期の長さを示す情報１４０１、制御伝送期間の数（本実施形態では、２つ）を示す情報１４０２、全体通信期間の長さを示す情報１４０３、同期通信マスタ（本実施形態では、通信マスタＭ１０）の局アドレスを示す情報１４０４、及び、通信システム１００内の全産業機器１にデータを送信するために使用する共通マルチキャストアドレスを示す情報１４０５を含む。局アドレスは、通信システム１００において各産業機器１を一意に識別する情報といえる。
【００５８】
制御伝送期間情報１４１は、制御伝送期間ごとに用意された情報であり、本実施形態では、産業機器１に応じて内容が異なっている。例えば、制御伝送期間情報１４１は、産業機器１が属する通信グループを識別するために用いられる。図６に示すデータ例では、制御伝送期間情報１４１は、各通信周期に割り当てられた制御伝送期間の数（ネットワーク共通情報１４０の情報１４０２が示す数値）だけ用意されている。本実施形態では、制御伝送期間が２つなので、制御伝送期間情報１４１は、制御伝送期間情報１４１１と制御伝送期間情報１４１２の２つを含む。
【００５９】
制御伝送期間情報１４１１は、制御伝送期間１における通信グループで使用するマルチキャストアドレスを識別する情報１４１１１、当該通信グループにおける通信マスタの局アドレスを示す情報１４１１２、当該通信グループにおける通信スレーブの局アドレスを示す情報１４１１３、出力データ伝送期間の長さを示す情報１４１１４、及び、入力データ伝送期間の長さを示す情報１４１１５を含む。
【００６０】
例えば、通信マスタＭ１０及び通信スレーブＳ１１〜Ｓ１３に記憶される制御伝送期間情報１４１１には、通信グループＧ１に関する情報が格納される。このため、例えば、情報１４１１１には、通信グループＧ１で使用するマルチキャストアドレスが格納される。情報１４１１２には、通信マスタＭ１０の局アドレスが格納され、情報１４１１３には、通信スレーブＳ１１〜Ｓ１３の各々の局アドレスが格納される。情報１４１１４には、通信グループＧ１の出力データ伝送期間１の長さを示す数値が格納され、情報１４１１５には、通信グループＧ１の入力データ伝送期間１の長さを示す数値が格納される。
【００６１】
一方、通信マスタＭ２０及び通信スレーブＳ２１〜Ｓ２２に記憶される制御伝送期間情報１４１１には、通信グループＧ２に関する情報が格納される。このため、例えば、情報１４１１１には、通信グループＧ２で使用するマルチキャストアドレスが格納される。情報１４１１２には、通信マスタＭ２０の局アドレスが格納され、情報１４１１３には、通信スレーブＳ２１〜Ｓ２２の各々の局アドレスが格納される。情報１４１１４には、通信グループＧ２の出力データ伝送期間の長さを示す数値が格納され、情報１４１１５には、通信グループＧ２の入力データ伝送期間の長さを示す数値が格納される。
【００６２】
通信マスタＭ３０に記憶される制御伝送期間情報１４１１は、通信グループＧ１又は通信グループＧ２の何れかと同様の情報であればよい。ただし、通信マスタＭ３０は、制御伝送期間１では通信グループＧ１及びＧ２の何れにも属しておらず、制御伝送期間１の長さを特定するために、制御伝送期間情報１４１１を記憶することになる。
【００６３】
制御伝送期間情報１４１２は、制御伝送期間２に関する情報であり、データ構成は、制御伝送期間情報１４１１と同様である。制御伝送期間情報１４１２には、制御伝送期間２における通信グループＧ３に関する情報が格納されるといえる。このため、本実施形態では、通信マスタＭ３０及び通信スレーブＳ１１〜Ｓ２２に記憶される情報１４１２１には、通信グループＧ３で使用するマルチキャストアドレスが格納される。情報１４１２２には、通信マスタＭ３０の局アドレスが格納され、情報１４１２３には、通信スレーブＳ１１〜Ｓ２２の各々の局アドレスが格納される。情報１４１２４には、通信グループＧ３の出力データ伝送期間の長さを示す数値が格納され、情報１４１２５には、通信グループＧ３の入力データ伝送期間の長さを示す数値が格納される。
【００６４】
通信マスタＭ１０及び通信マスタＭ２０に記憶される制御伝送期間情報１４１２は、上記説明したものと同様であってよいが、通信マスタＭ１０及び通信マスタＭ２０は、通信グループＧ３に属しておらず、制御伝送期間２の長さを特定するために、制御伝送期間情報１４１２を記憶することになる。
【００６５】
局固有情報１４２は、産業機器１ごとに異なる固有の情報である。例えば、局固有情報１４２は、自局のアドレスを示す情報１４２１を含む。
【００６６】
スイッチ情報１４３は、スイッチ１３１２Ａ及び１３１２Ｂのそれぞれをオン／オフするタイミング又はその期間を示す情報である。図７は、スイッチ情報１４３の一例を示す図である。図７では、通信システム１００全体のスイッチ情報１４３を記載しているが、各産業機器１は、自局に関係する情報のみを記憶してもよいし、自局が属する通信グループの情報のみを記憶してもよい。
【００６７】
図７に示すように、スイッチ情報１４３には、期間ごとに、スイッチ１３１２Ａ及び１３１２Ｂをそれぞれオンにするかオフにするかが定義されている。例えば、図７に示すデータ例では、左から順番に時系列順に通信周期内の各期間が並んでいる。このため、全体通信期間、制御伝送期間１（出力データ伝送期間１と入力データ伝送期間１）、及び、制御伝送期間２（出力データ伝送期間２と入力データ伝送期間２）の順番に、スイッチ１３１２Ａ及び１３１２Ｂのそれぞれのオン／オフの情報が格納されている。各産業機器１は、通信周期タイマ１３００のタイムアップにより全体通信期間を参照し、それ以降は、期間管理タイマ１３０１のタイムアップで１つずつ右の列を参照することになる。
【００６８】
通信スレーブＳ１３を例に挙げると、通信周期タイマ１３００がタイムアップして全体通信期間が開始すると、スイッチ制御部１３０４は、スイッチ１３１２Ａ及び１３１２Ｂの両方をオンにして通信回線２を接続する。その後、スイッチ制御部１３０４は、期間管理タイマ１３０１が１回目のタイムアップを迎えて全体通信期間が終了すると（出力データ伝送期間１が開始すると）、スイッチ１３１２Ａをオンにしてスイッチ１３１２Ｂをオフにする。この状態になると、通信グループ１と通信グループ２とは通信上切り離された状態となる。
【００６９】
通信スレーブＳ１３においては、期間管理タイマ１３０１が２回目のタイムアップを迎えて出力データ伝送期間１が終了しても（入力データ伝送期間１が開始しても）、スイッチ制御部１３０４は、通信回線２を遮断した状態を保持し、３回目のタイムアップを迎えて入力データ伝送期間１が終了すると（出力データ伝送期間２が開始すると）、スイッチ１３１２Ａ及び１３１２Ｂの両方をオンにして通信回線２を接続する。この状態になると、通信グループ３内で通信が可能な状態となる。期間管理タイマ１３０１が４回目のタイムアップを迎えて出力データ伝送期間２が終了しても（入力データ伝送期間２が開始しても）、スイッチ制御部１３０４は、通信回線２を接続した状態を保持する。
【００７０】
他の通信マスタＭ１０〜Ｍ３０、及び、通信スレーブＳ１１〜Ｓ１２，Ｓ２１〜Ｓ２２も同様に、スイッチ制御部１３０４は、図７に示す期間情報のうち自局に対応する情報に基づいて、スイッチ１３１２Ａ及び１３１２Ｂのオン／オフを制御することになる。図７に示すように、各通信グループの末端にある産業機器１のスイッチ１３１２Ａ及び１３１２Ｂのうち、当該通信グループに属しない産業機器１側にあるスイッチ１３１２Ａ又は１３１２Ｂがオンになったりオフになったりすることになる。
【００７１】
図８は、各産業機器１の通信周期タイマ１３００及び期間管理タイマ１３０１の動作を示す図である。ここでは、通信周期タイマ１３００及び期間管理タイマ１３０１は、何れもダウンタイマを採用する場合を例に挙げて説明するが、カウントアップタイマ等の他のタイマを採用してもよい。
【００７２】
通信周期は各産業機器１で共通なので、図８に示すように、通信周期タイマ１３００の動作は、各産業機器１で同じである。通信周期タイマ１３００は、期間情報記憶部１４に記憶されたネットワーク共通情報１４０の情報１４０１が示す通信周期をロードして、タイマ値のカウントダウンを開始する。通信周期タイマ１３００は、タイムアップすると情報１４０１が示す通信周期をリロードして、タイマ値のカウントダウンを再び開始する。以降、通信周期タイマ１３００は、タイムアップするたびに情報１４０１が示す通信周期のリロードとカウントダウンを繰り返すことになる。
【００７３】
全体通信期間も各産業機器で共通なので、全体通信期間中の期間管理タイマ１３０１の動作は、各産業機器１で同じである。期間管理タイマ１３０１は、通信周期タイマ１３００のタイムアップのタイミングでタイマ値をリセットし、期間情報記憶部１４に記憶されたネットワーク共通情報１４０の情報１４０３が示す全体通信期間をロードして、タイマ値のカウントダウンを開始する。各産業機器１の期間管理タイマ１３０１の１回目のタイムアップは、全体通信期間の終了を意味する。即ち、期間管理タイマ１３０１の１回目のタイムアップは、制御伝送期間１の出力データ伝送期間１の開始を意味する。このため、期間管理タイマ１３０１は、１回目のタイムアップになった場合に、期間情報記憶部１４に記憶された制御伝送期間情報１の情報１４１１４が示す出力データ伝送期間１をロードして、タイマ値のカウントダウンを開始する。
【００７４】
図４に示したように、通信グループＧ１及びＧ２とで出力データ伝送期間１の長さが異なるので、図８に示すように、通信グループＧ１の各産業機器１（通信マスタＭ１０及び通信スレーブＳ１１〜Ｓ１３）と、通信グループＧ２の各産業機器１（通信マスタＭ２０及び通信スレーブＳ２１〜Ｓ２２）と、で異なるタイマ値がセットされることになる。なお、図８に示す例では、通信グループＧ１及びＧ２の何れにも属しない通信マスタＭ３０の制御伝送期間情報１は、通信グループＧ１と同じ内容が格納されているものとする。
【００７５】
期間管理タイマ１３０１の２回目のタイムアップは、制御伝送期間１の出力データ伝送期間１の終了を意味する。即ち、期間管理タイマ１３０１の２回目のタイムアップは、制御伝送期間１の入力データ伝送期間１の開始を意味する。このため、期間管理タイマ１３０１は、２回目のタイムアップになった場合に、期間情報記憶部１４に記憶された制御伝送期間情報１の情報１４１１５が示す入力データ伝送期間１をロードして、タイマ値のカウントダウンを開始する。
【００７６】
期間管理タイマ１３０１の３回目のタイムアップは、制御伝送期間１の入力データ伝送期間１の終了を意味する。即ち、期間管理タイマ１３０１の３回目のタイムアップは、制御伝送期間２の出力データ伝送期間２の開始を意味する。図８に示すように、各産業機器１で制御伝送期間２の開始時点がそろうように、制御伝送期間情報１４１１が設定されている。以降、制御伝送期間１と同様、期間管理タイマ１３０１は、３回目のタイムアップになった場合に、期間情報記憶部１４に記憶された制御伝送期間情報１４１２の情報１４１２４が示す出力データ伝送期間２をロードして、タイマ値のカウントダウンを開始する。そして、期間管理タイマ１３０１は、４回目のタイムアップになった場合に、期間情報記憶部１４に記憶された制御伝送期間情報１４１２の情報１４１２５が示す入力データ伝送期間２をロードして、タイマ値のカウントダウンを開始することになる。
【００７７】
上記のように、各産業機器１の期間管理タイマ１３０１は、通信周期の終わりが来るまで、奇数回目のタイムアップでは、次の制御伝送期間情報を参照して出力データ伝送期間をロードしてカウントダウンを開始し、偶数回目のタイムアップでは、当該制御伝送期間情報を参照して入力データ伝送期間をロードしてカウントダウンを開始することになる。
【００７８】
［４．通信マスタと通信スレーブの各々で実行される処理］
次に、通信マスタＭ１０〜Ｍ３０である産業機器１の周期伝送制御部１３０の動作と、通信スレーブＳ１１〜Ｓ２１である産業機器１の周期伝送制御部１３０の動作と、について説明する。
【００７９】
［４−１．通信マスタで実行される処理］
図９〜図１１は、通信マスタＭ１０〜Ｍ３０の周期伝送制御部１３０の動作を示すフローチャートである。なお、期間情報記憶部１４には、予め期間情報が記憶されており、通信周期タイマ１３００と期間管理タイマ１３０１が起動しているものとする。以降の説明では、通信周期タイマ１３００は、タイムアップ後に自動的に再起動するものとしている。
【００８０】
図９に示すように、通信マスタＭ１０〜Ｍ３０の周期伝送制御部１３０では、通信周期タイマ１３００がネットワーク共通情報１４０に格納された情報１４０１が示す通信周期のカウントをする（Ｓ１０１）。通信周期タイマ１３００がタイムアップして通信周期が終了すると（Ｓ１０１；Ｙ）、通信周期タイマ１３００は、期間管理タイマ１３０１、送信制御部１３０２、及び、スイッチ制御部１３０４に対して通信周期タイムアップ信号１３０５を出力する（Ｓ１０２）。
【００８１】
期間管理タイマ１３０１は、通信周期タイムアップ信号１３０５を受信するとタイムアップし、ネットワーク共通情報１４０に格納された情報１４０３が示す全体通信期間のカウントを開始する（Ｓ１０３）。スイッチ制御部１３０４は、通信周期タイムアップ信号１３０５を受信すると、スイッチ情報１４３を参照して、全体通信期間における通信回線イネーブル信号１３０６Ａ及び１３０６Ｂをそれぞれ出力する（Ｓ１０４）。全体通信期間では、全ての産業機器１が通信可能になるので、Ｓ１０４で出力される通信回線イネーブル信号１３０６Ａ及び１３０６Ｂの各々は「オン」を示すことになる。
【００８２】
送信制御部１３０２は、通信周期タイムアップ信号１３０５を受信すると、ネットワーク共通情報１４０に格納された情報１４０４が示す同期通信マスタ局アドレスと、局固有情報１４２に格納された情報１４２１が示す自局アドレスとが一致するか否かを判定する（Ｓ１０５）。一致すると判定された場合（Ｓ１０５；Ｙ）、送信制御部１３０２は、同期通知を送受信制御部１３１の送信バッファ１３１１Ａ及び１３１１Ｂに格納する（Ｓ１０６）。なお、同期通知は、ＣＰＵ１０により生成されて送信バッファ１１に格納されているものとする。また、同期通知の宛先アドレスは、ネットワーク共通情報１４０に格納された情報１４０５が示す共通マルチキャストアドレスとなる。
【００８３】
周期伝送制御部１３０は、期間管理タイマ１３０１がタイムアップするまで待機する（Ｓ１０７）。期間管理タイマ１３０１がタイムアップしていない場合（Ｓ１０７；Ｎ）、周期伝送制御部１３０は、送受信制御部１３１からの受信通知信号１３１４Ａ又は１３１４Ｂを検出したか否かを判定する（Ｓ１０８）。入力が検出された場合（Ｓ１０８；Ｙ）、受信制御部１３０３は、入力された受信通知信号１３１４Ａ又は１３１４Ｂに基づいて、同期通知を受信したか否かを判定する（Ｓ１０９）。同期通知を受信したと判定された場合（Ｓ１０９；Ｙ）、通信周期タイマ１３００は、送受信制御部１３１の受信バッファ１３１０Ａ又は１３１０Ｂから受信データを読み出して、同期通知内に格納された同期情報に基づいて、通信周期タイマ１３００を補正し（Ｓ１１０）、Ｓ１０７に戻る。
【００８４】
一方、Ｓ１０７において、期間管理タイマ１３０１がタイムアップすると（Ｓ１０７；Ｙ）、図１０に移り、次に説明する処理を、期間情報に格納された情報１４０２が示す制御伝送期間の数だけ繰り返す（Ｓ１１１）。まず、期間管理タイマ１３０１は、送信制御部１３０２及びスイッチ制御部１３０４に対して期間管理タイムアップ信号１３０７を出力する（Ｓ１１２）。
【００８５】
期間管理タイマ１３０１は、期間管理タイムアップ信号１３０７を出力すると、制御伝送期間情報１４１のうち、現在の制御伝送期間に対応する制御伝送期間情報１４１Ｎ（Ｎは自然数であり、制御伝送期間の数以下の数である。）を読み出し（Ｓ１１３）、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ４が示す出力データ伝送期間のカウントを開始する（Ｓ１１４）。なお、Ｎの初期値は１である。Ｎの値は、周期伝送制御部１３０内に保持され、制御伝送期間が終了するたびに加算されるものとする。
【００８６】
一方、スイッチ制御部１３０４は、期間管理タイムアップ信号１３０７を受信すると、期間情報に格納されたスイッチ情報１４３が示す出力データ伝送期間におけるスイッチ１３１２Ａ及び１３１２Ｂのオン／オフに基づいて、通信回線イネーブル信号１３０６Ａ及び１３０６Ｂをそれぞれ出力する（Ｓ１１５）。Ｓ１１５においては、図７に示す通信マスタＭ２０の場合、出力データ伝送期間１であれば、スイッチ制御部１３０４は、通信回線イネーブル信号１３０６Ａにオフを出力し、通信回線イネーブル信号１３０６Ｂにオンを出力する。これにより、制御伝送期間１では、通信マスタＭ２０内のスイッチ１３１２Ａが切断され、スイッチ１３１２Ｂが接続され、通信スレーブＳ１３と通信マスタＭ２０との間の通信が遮断された状態となる。また、出力データ伝送期間２であれば、スイッチ制御部１３０４は、通信回線イネーブル信号１３０６Ａにオンを出力し、通信回線イネーブル信号１３０６Ｂにオンを出力する。これにより、スイッチ１３１２Ａとスイッチ１３１２Ｂが接続される。これにより、制御伝送期間２では、通信マスタＭ２０内のスイッチ１３１２Ａが接続され、通信スレーブＳ１３と通信マスタＭ２０との間の通信が可能な状態となる。
【００８７】
送信制御部１３０２は、期間管理タイムアップ信号１３０７を受信すると、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ２が示す通信マスタ局アドレスと、情報１４２１が示す自局アドレスと、が一致するか否かを判定する（Ｓ１１６）。一致すると判定された場合（Ｓ１１６；Ｙ）、送信制御部１３０２は、送信バッファ１１に格納された出力データを、送受信制御部１３１の送信バッファ１３１１Ａ及び１３１１Ｂに格納する（Ｓ１１７）。なお、出力データの宛先アドレスは、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ１が示す通信グループマルチキャストアドレスとなる。Ｓ１１７の処理により、通信回線２が接続されていれば、他の産業機器１に出力データが送信される。その後、周期伝送制御部１３０は、期間管理タイマ１３０１がタイムアップするまで待機する（Ｓ１１８）。
【００８８】
Ｓ１１８において、期間管理タイマ１３０１がタイムアップすると（Ｓ１１８；Ｙ）、図１１に移り、期間管理タイマ１３０１は、送信制御部１３０２及びスイッチ制御部１３０４に対して期間管理タイムアップ信号１３０７を出力する（Ｓ１１９）。期間管理タイマ１３０１は、タイムアップ後、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ５が示す入力データ伝送期間のカウントを開始する（Ｓ１２０）。
【００８９】
スイッチ制御部１３０４は、期間管理タイムアップ信号１３０７を受信すると、スイッチ情報１４３が示す入力データ伝送期間におけるスイッチ１３１２Ａ及び１３１２Ｂのオン／オフに基づいて、通信回線イネーブル信号１３０６Ａ及び１３０６Ｂをそれぞれ出力する（Ｓ１２１）。
【００９０】
その後は、周期伝送制御部１３０は、期間管理タイマ１３０１がタイムアップするまで待機する（Ｓ１２２）。期間管理タイマ１３０１がタイムアップしていない場合（Ｓ１２２；Ｎ）、周期伝送制御部１３０は、送受信制御部１３１からの受信通知信号１３１４Ａ又は受信通知信号１３１４Ｂを検出したか否かを判定する（Ｓ１２３）。入力が検出された場合（Ｓ１２３；Ｙ）、受信制御部１３０３は、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ１が示す通信マスタ局アドレスと、局固有情報１４２に格納された情報１４２１が示す自局アドレスと、が一致するか否かを判定する（Ｓ１２４）。一致したと判定された場合（Ｓ１２４；Ｙ）、受信制御部１３０３は、受信データに格納された局アドレスと、情報１４１Ｎ３が示す通信スレーブ局アドレスと、が一致するか否かを判定する（Ｓ１２５）。一致したと判定された場合（Ｓ１２５；Ｙ）、受信制御部１３０３は、送受信制御部１３１の受信バッファ１３１０Ａ又は１３１０Ｂから受信データを読み出して受信バッファ１２に格納し（Ｓ１２６）、Ｓ１２２に戻る。
【００９１】
Ｓ１２２において、期間管理タイマ１３０１がタイムアップすると（Ｓ１２２；Ｙ）、Ｓ１１１の処理に戻り、次の制御伝送期間の処理が実行される。この場合、周期伝送制御部１３０内に保持されたＮの値がインクリメントされる。一方、Ｓ１１１において、制御伝送期間の数だけＳ１１２〜Ｓ１２６の処理が繰り返されたと判定された場合（Ｓ１１１；Ｎ）、Ｓ１の処理に戻り、周期伝送制御部１３０は、通信周期の終了まで待機することになる。
【００９２】
［４−２．通信スレーブで実行される処理］
図１２〜図１４は、通信スレーブＳ１１〜Ｓ２２の周期伝送制御部１３０の動作を示すフローチャートである。なお、期間情報記憶部１４には、予め期間情報が記憶されており、通信周期タイマ１３００と期間管理タイマ１３０１が起動しているものとする。以降の説明では、通信周期タイマ１３００は、タイムアップ後に自動的に再起動するものとしている。ここでは、通信マスタＭ１０〜Ｍ３０の周期伝送制御部１３０と同様の処理については説明を省略する。図１２及び図１３に示すように、Ｓ２０１〜Ｓ２１５は、それぞれＳ１０１〜Ｓ１１５と同様である。
【００９３】
Ｓ２１５の処理が実行されると、周期伝送制御部１３０は、期間管理タイマ１３０１がタイムアップするまで待機する（Ｓ２１６）。期間管理タイマ１３０１がタイムアップしていない場合（Ｓ２１６；Ｎ）、続くＳ２１７は、Ｓ１２３と同様である。Ｓ２１７において入力が検出された場合（Ｓ２１７；Ｙ）、受信制御部１３０３は、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ３が示す通信スレーブ局アドレスと、局固有情報１４２に格納された情報１４２１が示す自局アドレスと、が一致するか否かを判定する（Ｓ２１８）。一致したと判定された場合（Ｓ２１８；Ｙ）、受信制御部１３０３は、受信データに格納された局アドレスと、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ２が示す通信マスタ局アドレスと、が一致するか否かを判定する（Ｓ２１９）。一致したと判定された場合（Ｓ２１９；Ｙ）、受信制御部１３０３は、送受信制御部１３１の受信バッファ１３１０Ａ又は１３１０Ｂから受信データを読み出して受信バッファ１２に格納し（Ｓ２２０）、Ｓ２１６の処理に戻る。
【００９４】
一方、期間管理タイマ１３０１がタイムアップすると（Ｓ２１６；Ｙ）、図１４に移り、続くＳ２２１〜Ｓ２２３は、それぞれＳ１１９〜Ｓ１２１と同様である。周期伝送制御部１３０は、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ３が示す通信スレーブ局アドレスと、局固有情報１４２に格納された情報１４２１が示す自局アドレスと、が一致するか否かを判定する（Ｓ２２４）。一致すると判定された場合（Ｓ２２４）、送信制御部１３０２は、送信バッファ１１に格納された入力データを、送受信制御部１３１の送信バッファ１３１１Ａ及び１３１１Ｂに格納する（Ｓ２２５）。これにより、通信回線２が接続されていれば、他の産業機器１に入力データが送信される。なお、入力データの宛先アドレスは、制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ２が示す通信マスタ局アドレスである。ここで、各通信スレーブに他の通信スレーブの入力データを相互に参照させるために、入力データの宛先アドレスを制御伝送期間情報１４１Ｎに格納された情報１４１Ｎ１が示す通信グループマルチキャストアドレスにしてもよい。入力データは、ＣＰＵ１０が生成して送信バッファ１１に格納されているものとする。続くＳ２２６はＳ１１８と同様であり、期間管理タイマ１３０１がタイムアップすると（Ｓ２２６；Ｙ）、Ｓ２１１の処理に戻り、次の制御伝送期間の処理が実行される。この場合、周期伝送制御部１３０内に保持されたＮの値がインクリメントされる。一方、Ｓ２１１において、制御伝送期間の数だけＳ２１２〜Ｓ２２６の処理が繰り返されたと判定された場合（Ｓ２１１；Ｎ）、Ｓ２０１の処理に戻り、周期伝送制御部１３０は、通信周期の終了まで待機することになる。
【００９５】
［５．実施形態のまとめ］
以上説明した実施形態によれば、各通信グループが独立して通信する状態になるようにスイッチ１３１２Ａ及び１３１２Ｂが切り替わるので、ある通信グループのデータが他の通信グループに送信されることによるデータの混在が発生することを防止することができる。例えば、通信グループ内のデータの混在を防止することによって、通信量が増加することを防止することができる。また例えば、データ同士が衝突することも防止することができる。また、スイッチ１３１２Ａ及び１３１２Ｂをオン／オフさせることにより、ある期間では通信できなかった産業機器１同士が、別の期間では通信できるようになる。例えば、ある期間でそれぞれ別の通信グループに属していた産業機器１同士が、他の期間では同じ通信グループに属することが可能になる。また、スイッチ１３１２Ａ及び１３１２Ｂの制御によって通信グループの切り分けをすることができるので、通信グループごとに配線を用意する必要がなく、通信回線２を単純化するとともに、省配線が可能になる。また例えば、通信マスタ同士を接続するコントローラネットワークを用いる場合は、コントローラネットワークからフィールドバスに通信を変換するための中継機能を通信マスタに実装する必要があり通信マスタの処理負荷が増加するが、コントローラネットワークを用いずに、例えばフィールドバスのみで実装が可能になるので通信マスタの処理負荷を軽減することができる。
【００９６】
また、ある制御伝送期間において、複数の通信グループでの並列した動作が可能となる。その結果、ある通信グループの動作が終了したら次の通信グループの動作を開始するように複数の通信グループで順番に動作をするような場合よりも、通信期間を短縮することができる。その結果、加工精度を向上させることができる。
【００９７】
また、１通信周期内において、それぞれ別の通信グループに属していた産業機器１同士を同じ通信グループに属することが可能になる。別の言い方をすれば、１通信周期内において、ある通信スレーブを複数の通信マスタにより制御させることができる。
【００９８】
また、通信システム１００全体の同期を取ることで通信中における通信グループの切り替えを可能にすることができる。
【００９９】
また、各産業機器１がスイッチ１３１２Ａ及び１３１２Ｂ、スイッチ制御部１３０４、及び期間情報記憶部１４を有することにより、産業機器１内でのスイッチ１３１２Ａ及び１３１２Ｂのオン／オフによる制御が可能になるので、産業機器１とは別に中継機などを用意する必要がなくなる。
【０１００】
また、初期通信グループの通信マスタが、初期化期間に期間情報を送信するので、各産業機器１に対して個別に期間情報を設定する必要がなくなる。その結果、作業効率が向上するとともに、人為的な設定ミスを防止することができる。
【０１０１】
また、産業機器１を上流側接続ポートと下流側接続ポートで線形接続することによって、通信システム１００の構成を簡略化でき、省配線が可能になる。
【０１０２】
［６．変形例］
なお、本発明は上記実施形態に限定されるものではない。
【０１０３】
例えば、通信グループや制御伝送期間を設定する方法は実施形態で説明した方法に限られない。通信グループは、通信マスタと通信スレーブの組み合わせであればよく、制御伝送期間は、通信グループ内でデータ送受信を行う期間であればよい。例えば、制御伝送期間を３つ設けて、制御伝送期間１は、通信グループＧ１及びＧ２で並列して動作させ、制御伝送期間２は、通信グループＧ３で動作させ、制御伝送期間３は、通信マスタＭ１０と通信スレーブＳ１１〜Ｓ２１からなる通信グループＧ４及び通信マスタＭ３０と通信スレーブＳ２２からなる通信グループＧ５を並列して動作させるようにしてもよい。この場合、制御伝送期間３では、通信スレーブＳ２１のスイッチ１３１２Ｂがオフになり、かつ、通信スレーブＳ２２のスイッチ１３１２Ａがオフになることで、通信スレーブＳ２１と通信スレーブＳ２２の間の通信回線２が遮断されるようにすればよい。
【０１０４】
また例えば、通信システム１００における接続方式は、実施形態で説明した線形接続に限られず、ハブなどの分配装置を用いてスター型の接続方式であってもよい。この場合、例えば、通信マスタＭ１０及び通信スレーブＳ１１〜Ｓ１３と、通信マスタＭ２０及び通信スレーブＳ２１〜Ｓ２２と、通信マスタＭ３０と、が分配装置により接続されるようにすればよい。更に、各産業機器１が２つの接続ポート１３２及び１３２Ｂを有する場合を説明したが、接続ポートは３つ以上であってもよいし、１つだけであってもよい。通信システム１００の接続形態に応じた数の通信ポートを各産業機器１が有していればよい。更に、通信グループ内の各産業機器１はデイジーチェーン接続でなくてもよい。
【０１０５】
また例えば、実施形態では、各産業機器１内にスイッチ１３１２Ａ及び１３１２Ｂとスイッチ制御部１３０４を設ける場合を説明したが、スイッチ１３１２Ａ及び１３１２Ｂとスイッチ制御部１３０４は、産業機器１の外部にあってもよい。例えば、産業機器１同士を接続する中継装置や分配装置内にスイッチ１３１２Ａ及び１３１２Ｂとスイッチ制御部１３０４が設けられているようにしてもよい。この場合、中継装置や分配装置は、通信グループ間に配置され、実施形態で説明した動作と同様の動作を実行することによって、スイッチ１３１２Ａ及び１３１２Ｂのオン／オフを制御することになる。
【０１０６】
また例えば、実施形態では、各産業機器１に期間情報が記憶されており、スイッチ制御部１３０４が期間情報に基づいてスイッチ１３１２Ａ及び１３１２Ｂをオン／オフする場合を説明したが、スイッチ制御部１３０４は、期間情報以外の情報又は信号に基づいて、スイッチ１３１２Ａ及び１３１２Ｂのオン／オフを制御してもよい。例えば、各通信グループの通信マスタが、当該通信グループの末端の通信スレーブ（即ち、他の通信グループと通信回線２で繋がっている通信スレーブ）に対してスイッチ１３１２Ａ及び１３１２Ｂのオン／オフを示す信号を送信し、末端の通信スレーブが当該信号に基づいてスイッチ１３１２Ａ及び１３１２Ｂのオン／オフを制御してもよい。他にも例えば、通信システム１００を制御する上位機器を接続しておき、各産業機器１が上位機器から同様の信号を受信するようにしてもよい。
【０１０７】
また例えば、実施形態では、各制御伝送期間内で出力データ伝送帯域と入力データ伝送帯域が分離されている場合を説明したが、これらを分離しなくてもよい。例えば、ある制御伝送期間において、通信マスタが通信スレーブに対して出力データを送信し、それを受信した通信スレーブが入力データを送信するというデータ送受信の組み合わせが、全ての通信スレーブに対して順次実行されるようにしてもよい。また例えば、出力データ伝送帯域または入力データ伝送帯域とは別に、通信スレーブのパラメータ設定やパラメータ参照などの目的で非同期通信を行うメッセージ伝送期間が存在してもよい。メッセージ伝送期間で送受信されるメッセージデータは、各産業機器１の保守やエンジニアリングの目的で伝送される可変長（任意のサイズ）のデータであり、任意のタイミングで（不定期で）送信される。
【０１０８】
なお、各産業機器１は、産業機器１を互いに通信可能に接続する通信手段を有していればよく、実施形態で説明したような有線による通信手段に限られない。各産業機器１は、無線通信インタフェースを有し、無線通信により制御データの交換が行われるようにしてもよい。この場合、通信手段は、無線通信インタフェースにより実現される。無線通信としては、赤外線通信などであってもよい。
【０１０９】
また、各産業機器１は、通信グループを他の通信グループから独立して通信させる場合に、複数の制御伝送期間の各々において独立して通信する通信グループに他の通信グループのデータが混在することを防ぐ防止手段を有していればよい。例えば、スイッチ１３１２Ａ及びスイッチ１３１２Ｂ以外にも、アドレスフィルタによりデータの混在を防止するようにしてもよい。この場合、通信グループの末端にある産業機器１の防止手段は、当該通信グループの各産業機器１の局アドレス以外のアドレス宛てのデータをアドレスフィルタにより通過させないことによって、他の通信グループのデータが混在することを防止すればよい。
【０１１０】
また例えば、実施形態では定周期通信を例に挙げて説明したが、通信システム１００では、非周期通信が行われてもよい。非周期通信の場合も、各産業機器１は、その時の通信グループに応じて通信回線２を遮断して通信グループ内で独立した通信が可能なようにすればよい。また例えば、期間情報のデータ格納例は実施形態で説明した例に限られない。期間情報には、各制御伝送期間と通信グループとの関係が定義されていればよい。
【図１】
2017046916.tif 000003
【図２】
2017046916.tif 000004
【図３】
2017046916.tif 000005
【図４】
2017046916.tif 000006
【図５】
2017046916.tif 000007
【図６】
2017046916.tif 000008
【図７】
2017046916.tif 000009
【図８】
2017046916.tif 000010
【図９】
2017046916.tif 000011
【図１０】
2017046916.tif 000012
【図１１】
2017046916.tif 000013
【図１２】
2017046916.tif 000014
【図１３】
2017046916.tif 000015
【図１４】
2017046916.tif 000016
【国際調査報告】
2017046916.tif 000017
2017046916.tif 000018
2017046916.tif 000019
2017046916.tif 000020