(57)【要約】【課題】衝突、輻輳等の通信障害発生を防止し得る。【解決手段】実施形態によれば、複数の通信装置の各々は、通信手段と、記憶手段と、通信制御手段とを備える。通信手段は、通信ネットワークを介してメッセージデータを通信する。記憶手段は、メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で第１のマイナーフレームとは異なる他の通信装置へメッセージデータを送信するとともに、第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶する。通信制御手段は、スケジュールデータに従ってメッセージデータの通信を制御する。【選択図】      図１
2017005664.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置間が互いに通信ネットワークにより接続され、前記複数の通信装置間でメッセージデータを通信する通信システムであって、
前記複数の通信装置の各々は、
前記通信ネットワークを介して前記メッセージデータを通信する通信手段と、
前記メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で前記第１のマイナーフレームとは異なる他の通信装置へ前記メッセージデータを送信するとともに、前記第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶する記憶手段と、
前記スケジュールデータに従って前記メッセージデータの通信を制御する通信制御手段と
を備え、
前記複数の通信装置のうち少なくとも１つは、各マイナーフレームに前記複数の通信装置各々の送受信タスクを通信衝突が起こり得ないように割り当てたスケジュールデータを他の複数の通信装置に送信し前記記憶手段に記憶させるスケジュール登録制御手段と
を備えることを特徴とする通信システム。
【請求項２】
前記複数の通信装置の各々は、優先度が設定され、
最高優先度の通信装置は、前記通信装置の増減に応じて前記スケジュールデータを更新することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記複数の通信装置のうち少なくとも１つは、
前記スケジュールデータをテキスト形式で入力するための入力手段と、
前記入力手段により入力された前記スケジュールデータを、前記メッセージデータのデータフォーマットに変換し、前記記憶手段に記憶させる記憶制御手段とをさらに備えることを特徴とする請求項１に記載の通信システム。
【請求項４】
前記複数の通信装置のうち少なくとも１つは、
前記マイナーフレームより長いメジャーフレームの周期で、他の通信装置の状態を確認するためのステータス情報を取得するステータス情報取得手段と、
前記ステータス情報に基づいて、自動的に前記スケジュールデータを構築し、前記記憶手段に記憶するスケジュール構築手段と
をさらに備えることを特徴とする請求項１に記載の通信システム。
【請求項５】
前記スケジュール構築手段は、前記複数の通信装置それぞれから送信されるデータの転送レートの最大公約数を前記マイナーフレームの時間とし、前記複数の通信装置それぞれから送信されるデータの転送レートの最小公倍数を、前記メジャーフレームの時間とすることを特徴とする請求項４に記載の通信システム。
【請求項６】
複数の通信装置間が互いに通信ネットワークにより接続され、前記複数の通信装置間でメッセージデータを通信する通信システムに用いられる通信装置であって、
前記通信ネットワークを介して前記メッセージデータを通信する通信手段と、
前記メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で前記第１のマイナーフレームとは異なる他の通信装置へ前記メッセージデータを送信するとともに、前記第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶する記憶手段と、
前記スケジュールデータに従って前記メッセージデータの通信を制御する通信制御手段と
を具備することを特徴とする通信装置。
【請求項７】
複数の通信装置間が互いに通信ネットワークにより接続され、前記複数の通信装置間でメッセージデータを通信する通信システムに用いられる通信装置であって、
前記通信ネットワークを介して前記メッセージデータを通信する通信手段と、
前記メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で前記第１のマイナーフレームとは異なる他の通信装置へ前記メッセージデータを送信するとともに、前記第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶する記憶手段と、
前記スケジュールデータに従って前記メッセージデータの通信を制御する通信制御手段と、
各マイナーフレームに前記複数の通信装置各々の送受信タスクを通信衝突が起こり得ないように割り当てたスケジュールデータを他の複数の通信装置に送信し前記記憶手段に記憶させるスケジュール登録制御手段と
を具備することを特徴とする通信装置。
【請求項８】
複数の通信装置間が互いに通信ネットワークにより接続され、一定の周期で前記複数の通信装置間でメッセージデータを通信する通信システムに用いられる通信方法であって、
前記複数の通信装置の各々は、
前記通信ネットワークを介して前記メッセージデータを通信することと、
前記メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で前記第１のマイナーフレームとは異なる他の通信装置へ前記メッセージデータを送信するとともに、前記第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶することと、
前記スケジュールデータに従って前記メッセージデータの通信を制御することと、
を有し、
前記複数の通信装置の少なくとも１つは、
各マイナーフレームに前記複数の通信装置各々の送受信タスクを通信衝突が起こり得ないように割り当てたスケジュールデータを他の複数の通信装置に送信し記憶させること
を有することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信システム、通信装置及び通信方法に関する。
【背景技術】
【０００２】
例えば通信ネットワークを構築して複数の通信装置間でデータ通信を行う通信システムにあっては、通信装置同士が直接通信するだけでなく、他の通信装置を経由することで通信ネットワーク内の複数の通信装置と通信できる。
【０００３】
通信ネットワークにおいて、個々の通信装置が独自のタイミングで送信を行う場合、送信時間が偶然一致した際に通信の衝突が起き、正常に通信を行うことができない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１３７７８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
目的は、衝突、輻輳等の通信障害発生を防止し得る通信システム、通信装置及び通信方法を提供することにある。
【課題を解決するための手段】
【０００６】
実施形態によれば、複数の通信装置間が互いに通信ネットワークにより接続され、一定の周期で前記複数の通信装置間でメッセージデータを通信する通信システムであって、前記複数の通信装置の各々は、通信手段と、記憶手段と、通信制御手段と、スケジュール更新手段とを備える。通信手段は、前記通信ネットワークを介して前記メッセージデータを通信する。記憶手段は、前記メッセージデータの通信を許可する時間を示すマイナーフレームを複数構成し、第１のマイナーフレーム内で第１の通信装置へメッセージデータを送信し、第２の通信装置からメッセージデータを受信し、第２のマイナーフレーム内で前記第１のマイナーフレームとは異なる他の通信装置へ前記メッセージデータを送信するとともに、前記第１のマイナーフレームとは異なる他の通信装置からメッセージデータを受信するためのスケジュールデータを記憶する。通信制御手段は、前記スケジュールデータに従って前記メッセージデータの通信を制御する。複数の通信装置のうち少なくとも１つは、スケジュール登録制御手段を備える。スケジュール登録制御手段は、各マイナーフレームに前記複数の通信装置各々の送受信タスクを通信衝突が起こり得ないように割り当てたスケジュールデータを他の複数の通信装置に送信し前記記憶手段に記憶させる。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態に係る通信システムの構成例を示す図である。
【図２】図２は、第１の実施形態に係るマイナーフレーム（１）内のデータ通信動作を示す図である。
【図３】図３は、第１の実施形態に係るマイナーフレーム（２）内のデータ通信動作を示す図である。
【図４】図４は、第１の実施形態に係るマイナーフレーム（３）内のデータ通信動作を示す図である。
【図５】図５は、第１の実施形態に係るスケジュールデータを構築するために、ＤＤＳを使用した例を示す図である。
【図６Ａ】図６Ａは、第１の実施形態に係る通信装置（ノードＡ〜ノードＤ）間におけるスケジュール構築手順を実行するためのシーケンスである。
【図６Ｂ】図６Ｂは、第１の実施形態に係る通信装置（ノードＡ〜ノードＤ）間におけるスケジュール構築手順を実行するためのシーケンスである。
【図７】図７は、第２の実施形態に係る通信システムの構成例を示す図である。
【図８】図８は、第２の実施形態に係るスケジュール構築ページの一例を示す図。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して詳細に説明する。  
（第１の実施形態）  
図１は、第１の実施形態に係る通信システムの構成例を示す図である。図１の通信システムは、主としてシステム全体を監視及び制御する役割を担う通信装置（ノードＡ）１０と、主として特定の一部の業務を担当する通信装置（ノードＢ，ノードＣ，ノードＤ）２０，３０，４０とを備える。これら通信装置１０，２０，３０，４０は、例えばＬＡＮ（Local Area Network）などの通信ネットワーク１を介して互いに接続される。
【０００９】
この種のシステムは、例えば航空機に搭載される組み込み型制御システムとして実現される。この場合、通信装置１０，２０は操縦席においてパイロットの操縦を補助するオートパイロットシステムのコントローラとして、また通信装置３０，４０は操舵翼やエンジン系統などに備えられる制御コンピュータとして実現される。
【００１０】
通信装置１０は、受信部１１と、送信部１２と、スケジュール記憶部（タイムテーブル）１３と、通信制御部１４と、ステータス情報取得部１５と、スケジュール構築部１６と、スケジュール更新部１７と、時刻同期部１８とを備えている。
【００１１】
受信部１１及び送信部１２は、通信ネットワーク１を介して、他の通信装置２０，３０，４０との間でメッセージデータの送受信を行う。スケジュール記憶部１３は、メッセージデータの送受信タスクの実行タイミングを示すスケジュールデータを記憶する。スケジュールデータは、このシステムに属する通信装置１０〜４０間で共用され、時間軸上に複数のマイナーフレームを配列したデータである。
【００１２】
通信制御部１４は、スケジュールデータに登録された全送受信タスクの実施に必要なマイナーフレームを管理し、スケジュールデータに従ってメッセージデータの通信を制御する。すなわち、通信制御部１４は、図２に示すように、マイナーフレーム（１）内で通信装置２０（ノードＢ）へメッセージデータを送信し、通信装置４０（ノードＤ）からのメッセージデータを受信するというイーサネット（登録商標）全二重通信を実行させる。
【００１３】
続いて、通信制御部１４は、図３に示すように、マイナーフレーム（２）内で通信装置３０（ノードＣ）へメッセージデータを送信し、通信装置３０（ノードＣ）からのメッセージデータを受信するというイーサネット（登録商標）全二重通信を実行させる。
【００１４】
さらに、通信制御部１４は、図４に示すように、マイナーフレーム（３）内で通信装置４０（ノードＤ）へメッセージデータを送信し、通信装置２０（ノードＢ）からのメッセージデータを受信するというイーサネット（登録商標）全二重通信を実行させる。
【００１５】
ステータス情報取得部１５は、他の通信装置の状態を確認するために、例えばマイナーフレームの３倍となるメジャーフレームの周期で、通信装置間で通信を行い、ステータス情報を取得する。
【００１６】
スケジュール構築部１６は、ステータス情報に含まれる送信ノード、受信ノード、通信装置それぞれから送信されるデータの転送レート、データサイズに基づいて、自動的にスケジュールデータを構築し、スケジュール記憶部１３に記憶する。この場合、例えばデータの転送レートの最大公約数をマイナーフレームの時間とし、データの転送レートの最小公倍数を、メジャーフレームの時間とする。
【００１７】
スケジュール更新部１７は、全通信装置から取得されるステータス情報をもとに、スケジュールデータへ送受信タスクを割り当てるマイナーフレームを更新する。時刻同期部１８は、ＰＴＰ(Precision Time Protocol)などの所定のプロトコルや他の手段に基づいて互いに協調して動作し、通信装置１０，２０，３０，４０を、システムに与えられた基準時刻に同期させる。
【００１８】
通信装置２０は、上記通信装置１０と同様に、受信部２１と、送信部２２と、スケジュール記憶部２３と、通信制御部２４と、ステータス情報取得部２５と、スケジュール構築部３６と、スケジュール構築部２６と、スケジュール更新部２７と、時刻同期部２８とを備えている。また、通信装置３０は、上記通信装置１０と同様に、受信部３１と、送信部３２と、スケジュール記憶部３３と、通信制御部３４と、ステータス情報取得部３５と、スケジュール構築部３６と、スケジュール更新部３７と、時刻同期部３８とを備えている。さらに、通信装置４０は、上記通信装置１０と同様に、受信部４１と、送信部４２と、スケジュール記憶部４３と、通信制御部４４と、ステータス情報取得部４５と、スケジュール構築部４６と、スケジュール更新部４７と、時刻同期部４８とを備えている。
【００１９】
通信装置１０は、物理的スイッチや自装置外との通信手段により、本システムの最高優先度となるプライマリ・コントローラとして動作する。また、通信装置１０は、通信装置同士の通信により、例えば装置番号が一番若い通信装置に設定されるなどの一定のルールで、人為的操作を伴わず自律的に設定されてもよい。
【００２０】
図５は、第１の実施形態に係わるスケジュールデータを構築するために、ＤＤＳ(Data Distribution Service)を使用した例を示す図である。
【００２１】
通信装置１０には、Dater writerＰ１１−１〜Ｐ１１−ｎと、Dater readerＰ１２−１〜Ｐ１２−ｍと、ＱｏＳＰ１３とが設けられる。Dater writerＰ１１−１〜Ｐ１１−ｎは、ＩＤＬ(Interface Definition Language)で定義され、アプリケーションＰ２１が送信部１２と通信する際に使用するオブジェクトである。Dater readerＰ１２−１〜Ｐ１２−ｍは、ＩＤＬで定義され、アプリケーションＰ２１が受信部１１にアクセスできるようにするオブジェクトである。
【００２２】
アプリケーションＰ２１は、通信装置１０の電源が投入されると、フレームワークＰ３１の送信用メモリ管理オブジュクトＰ３２、受信用メモリ管理オブジェクトＰ３３、スケジュール管理オブジェクトＰ３３及びＱｏＳＰ１３の初期設定を実行する（Ｐ３５）。
【００２３】
アプリケーションＰ２１は、メッセージデータを通信装置２０へ送信する際に、データ送信要求（Ｐ３６）をフレームワークＰ３１に送信して、メッセージデータを送信用メモリ１９１に一時保持し、スケジュールデータに基づき、マイナーフレーム（１）でDater writerＰ１１−１〜Ｐ１１−ｎによりメッセージデータを送信させる。
【００２４】
また、アプリケーションＰ２１は、メッセージデータを通信装置２０から受信する際に、データ受信要求（Ｐ３７）をフレームワークＰ３１に送信し、マイナーフレーム（３）でDater readerＰ１２−１〜Ｐ１２−ｍにより受信用メモリ１９２に一時保持されたメッセージデータを読み出し（Ｐ３８）、受信処理する。
【００２５】
スケジュールデータは、マイナーフレーム時間、マイナーフレーム数、マイナーフレーム構成リスト数、マイナーフレーム構成リスト番号、メッセージ数、開始フレーム番号、周期間隔、メッセージＩＤ、送信ノード、受信ノード、データ構造により構成される。
【００２６】
マイナーフレーム時間は、フレーム周期をｍｓ単位で設定するものである。マイナーフレーム数は、メジャーフレームを構成するマイナーフレームの個数を設定するものである。マイナーフレーム構成リスト数は、マイナーフレームを構成するリストの個数を設定するものである。マイナーフレーム構成リスト番号は、構成リストの識別番号であり、０から順番に設定するものである。メッセージ数は、構成リストに登録するメッセージ数を設定するものである。開始フレーム番号は、メジャーフレーム内の先頭マイナーフレームを０として、何番目のマイナーフレームの情報かをフレーム番号で設定するものである。周期間隔は、同一構成リストで繰り返す周期をフレームの個数で設定するものである。メッセージＩＤは、登録するメッセージのＩＤを設定するものである。
【００２７】
なお、非同期データ（イベントデータ）は、同期データとして扱い、イベントデータが無い時は、内容が（０）のデータ構造を送る。
【００２８】
次に、上記のように構成される通信システムのスケジュール構築手順について説明する。  
図６Ａ及び図６Ｂは、通信装置１０〜４０間におけるスケジュール構築手順を実行するためのシーケンスである。
【００２９】
まず、例えば通信装置２０,３０の電源が投入されると、セカンダリのコントローラとして動作する通信装置２０は、スケジュール記憶部２３からスケジュールデータを読み出し（ステップＳ２０１）、動作を開始すると（ステップＳ２０２）、通信装置１０，３０，４０に対し「ステータスを聞くことを止めてください」というメッセージデータを送信する（ステップＳ２０３）。なお、通信装置３０は、電源が投入されると、スケジュール構築以外の初期設定を行う（ステップＳ３０１）。この時点で、通信装置２０は、プライマリとして動作する。
【００３０】
続いて、通信装置２０は、通信装置３０からステータス情報を取得する（ステップＳ２０４）。なお、通信装置２０は、通信装置１０,４０に対してステータス情報の取得要求を送信するが、通信装置１０,４０の電源が投入されていないため、ステータス情報を取得できないものとする（ステップＳ２０５，Ｓ２０６）。
【００３１】
そして、通信装置２０は、ステータス情報により存在が確認できた通信装置３０にスケジュールデータを送信する（ステップＳ２０７）。以後、通信装置２０は、スケジュールデータに従って、通信装置３０とのデータ通信を開始する（ステップＳ２０８）。
【００３２】
データ通信を開始すると、通信装置２０は、スケジュールデータに従って、通信装置３０から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドを通信装置３０に送信することができる。この間、通信装置２０は、通信装置１０及び通信装置４０にステータス情報の取得要求を送信する（ステップＳ２０９）。
【００３３】
プライマリのコントローラとして動作する通信装置１０は、スケジュール記憶部１３からスケジュールデータを読み出し（ステップＳ１０１）、動作を開始すると（ステップＳ１０２）、通信装置２０に対し「ステータスを聞くことを止めてください」というメッセージデータを送信する（ステップＳ１０３）。
【００３４】
続いて、通信装置１０は、通信装置２０,３０からステータス情報を取得する（ステップＳ１０４,ステップＳ１０５）。なお、通信装置１０は、通信装置４０に対してステータス情報の取得要求を送信するが、通信装置４０の電源が投入されていないため、ステータス情報を取得できないものとする（ステップＳ１０６）。
【００３５】
通信装置１０は、ステータス情報に含まれる送信ノード、受信ノード、通信装置それぞれから送信されるデータの転送レート、データサイズに基づいて、自動的にスケジュールデータを構築する（ステップＳ１０７）。この場合、通信装置１０は、例えばマイナーフレーム（１）で「ノードＡ→ノードＢ、ノードＢ→ノードＣ、ノードＣ→ノードＡ」というように送受信タスクを割り当て、マイナーフレーム（２）で「ノードＡ→ノードＣ、ノードＢ→ノードＡ、ノードＣ→ノードＢ」というように送受信タスクを割り当てる。
【００３６】
そして、通信装置１０は、ステータス情報により存在が確認できた通信装置２０,３０にスケジュールデータを送信する（ステップＳ１０８,Ｓ１０９）。以後、通信装置１０は、スケジュールデータに従って、通信装置２０,３０とのデータ通信を開始する（ステップＳ１１０）。
【００３７】
データ通信を開始すると、通信装置１０は、スケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置３０から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドをマイナーフレーム（２）のタイミングで通信装置３０に送信することができる。また、通信装置１０は、スケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置２０にＡＬＩＶＥ信号を送信し、マイナーフレーム（２）のタイミングで通信装置２０からＡＣＫを受信する。この間、通信装置１０は、通信装置４０にステータス情報の取得要求を送信する（ステップＳ１１１）。
【００３８】
ここで、通信装置４０の電源が投入され、通信装置４０にて、初期設定を行い（ステップＳ４０１）、動作を開始したとする（ステップＳ４０２）。通信装置１０は、通信装置４０からステータス情報を取得すると（ステップＳ１１２）、通信装置２０,３０,４０に対しデータ通信を停止するメッセージを送信し（ステップＳ１１３−１）、スケジュールデータを更新する（ステップＳ１１３）。この場合、通信装置１０は、例えばマイナーフレーム（１）で「ノードＡ→ノードＢ、ノードＢ→ノードＣ、ノードＣ→ノードＤ、ノードＤ→ノードＡ」というように送受信タスクを割り当て、マイナーフレーム（２）で「ノードＡ→ノードＣ、ノードＢ→ノードＤ、ノードＣ→ノードＡ、ノードＤ→ノードＢ」というように送受信タスクを割り当て、マイナーフレーム（３）で「ノードＡ→ノードＤ、ノードＢ→ノードＡ、ノードＣ→ノードＢ、ノードＤ→ノードＣ」というように送受信タスクを割り当てる。
【００３９】
そして、通信装置１０は、ステータス情報により存在が確認できた通信装置２０,３０,４０に更新されたスケジュールデータを送信する（ステップＳ１１４,Ｓ１１５,Ｓ１１６）。以後、通信装置１０は、スケジュールデータに従って、通信装置２０,３０,４０とのデータ通信を開始する（ステップＳ１１７）。
【００４０】
データ通信を開始すると、通信装置１０は、更新されたスケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置４０から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドをマイナーフレーム（３）のタイミングで通信装置４０に送信することができる。また、通信装置１０は、更新されたスケジュールデータに従って、マイナーフレーム（２）のタイミングで通信装置３０に対しＡＬＩＶＥ信号を送信し、マイナーフレーム（２）のタイミングで通信装置３０からＡＣＫを受信する。さらに、通信装置１０は、更新されたスケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置２０に対しＡＬＩＶＥ信号を送信し、マイナーフレーム（３）のタイミングで通信装置２０からＡＣＫを受信する（ステップＳ１１８）。
【００４１】
ここで、例えば通信装置１０が故障すると、通信装置１０は、通信装置２０,３０,４０に対しデータ通信を停止するメッセージを送信し（ステップＳ１１９）、コントローラ変更の旨のメッセージを通信装置２０に送信し（ステップＳ１２０）、動作を停止する（ステップＳ１２１）。
【００４２】
すると、通信装置２０はコントローラとして動作し、通信装置３０,４０からステータス情報を取得する（ステップＳ２１０,Ｓ２１１）。なお、通信装置２０は、通信装置１０に対してステータス情報の取得要求を送信するが、通信装置１０の電源が投入されていないため、ステータス情報を取得できないものとする（ステップＳ２１２）。
【００４３】
通信装置２０は、通信装置３０,４０から取得したステータス情報に含まれる送信ノード、受信ノード、通信装置それぞれから送信されるデータの転送レート、データサイズに基づいて、スケジュールデータを更新する（ステップＳ２１３）。この場合、通信装置２０は、例えばマイナーフレーム（１）で「ノードＢ→ノードＣ、ノードＣ→ノードＤ、ノードＤ→ノードＢ」というように送受信タスクを割り当て、マイナーフレーム（２）で「ノードＢ→ノードＤ、ノードＣ→ノードＢ、ノードＤ→ノードＣ」というように送受信タスクを割り当てる。
【００４４】
そして、通信装置２０は、ステータス情報により存在が確認できた通信装置３０,４０に更新されたスケジュールデータを送信する（ステップＳ２１４,Ｓ２１５）。以後、通信装置２０は、更新されたスケジュールデータに従って、通信装置３０,４０とのデータ通信を開始する（ステップＳ２１６）。
【００４５】
データ通信を開始すると、通信装置２０は、更新されたスケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置４０から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドをマイナーフレーム（２）のタイミングで通信装置４０に送信することができる。また、通信装置２０は、更新されたスケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置３０に対しＡＬＩＶＥ信号を送信し、マイナーフレーム（２）のタイミングで通信装置３０からＡＣＫを受信する（ステップＳ２１７）。
【００４６】
ここで、通信装置４０において、電源をオフにする操作がなされて、処理が終了したとする（ステップＳ４０３）。通信装置２０は、メジャーフレームの周期で、通信装置３０からステータス情報を取得する（ステップＳ２１８）。なお、通信装置２０は、通信装置１０,４０に対してステータス情報の取得要求を送信するが、通信装置１０,４０の電源が投入されていないため、ステータス情報を取得できないものとする（ステップＳ２１９,Ｓ２２０）。
【００４７】
通信装置２０は、通信装置３０に対しデータ通信を停止するメッセージを送信し（ステップＳ２２１）、スケジュールデータを更新し（ステップＳ２２２）、ステータス情報により存在が確認できた通信装置３０に更新されたスケジュールデータを送信する（ステップＳ２２３）。以後、通信装置２０は、更新されたスケジュールデータに従って、通信装置３０とのデータ通信を開始する（ステップＳ２２４）。
【００４８】
データ通信を開始すると、通信装置２０は、更新されたスケジュールデータに従って、通信装置３０から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドを通信装置３０に送信することができる。この間、通信装置２０は、通信装置１０及び通信装置４０にステータス情報の取得要求を送信する（ステップＳ２２５）。
【００４９】
ここで、通信装置２０において、電源をオフにする操作がなされて、処理が終了したとする（ステップＳ２２６）。すると、通信装置２０は、通信装置３０に対しデータ通信を停止するメッセージを送信する（ステップＳ２２７）。
【００５０】
以上のように上記第１の実施形態によれば、プライマリのコントローラとして動作する通信装置１０において、マイナーフレームごとに通信衝突、輻輳を回避したスケジュールデータを構築し、スケジュールデータに基づき互いに衝突しない関係にあるデータ通信を、通信ネットワーク１に接続される通信装置１０,２０,３０,４０同士が把握することで、衝突、輻輳等の通信障害発生を防止することができ、これにより、予測可能な通信を確立しリアルタイム性を確保できる。また、信頼性を確保した上で、接続ノード数、転送可能データ量を改善できる。さらに、通信速度については、全二重イーサネット（登録商標）を採用し、かつスケジュールデータに基づく通信を実施することで向上を図れる。
【００５１】
また、上記第１の実施形態によれば、各通信装置１０,２０,３０,４０に対し優先度を設定しておくことで、最高優先度となる通信装置１０が故障した場合に、次に高い優先度の通信装置２０に動作を引き継ぐことにより通信を継続できる。
【００５２】
さらに、上記第１の実施形態によれば、プライマリの通信装置１０において、他の通信装置２０,３０,４０から取得したステータス情報に含まれる送信ノード、受信ノード、転送レート及びデータサイズに基づいて、スケジュールデータを構築できるので、ユーザが手操作でスケジュールデータを構築する必要がなく、自動的に最適なスケジュールデータを即座に構築できる。
【００５３】
（第２の実施形態）  
第２の実施形態は、スケジュールデータ自体をユーザが構築するようにしたものである。
【００５４】
図７は、第２の実施形態に係る通信システムの構成例を示す図である。図７において、上記図１と同一部分には同一符号を付して詳細な説明を省略する。
【００５５】
図７の通信システムは、主としてシステム全体を監視及び制御する役割を担う通信装置（ノードＡ）１００と、主として特定の一部の業務を担当する通信装置（ノードＢ，ノードＣ，ノードＤ）２００，３００，４００とを備える。これら通信装置１００，２００，３００，４００は、例えばＬＡＮなどの通信ネットワーク１を介して互いに接続される。
【００５６】
通信装置１００は、受信部１１と、送信部１２と、スケジュール記憶部１３と、通信制御部１４と、時刻同期部１８との他に、入力部１０１と、スケジュール記憶制御部１０２と、表示部１０３とを備えている。
【００５７】
入力部１０１は、通信装置１００に対し種々の動作指示を入力するために使用するもので、スケジュールデータをｃｓｖ、ｘｍｌ（エクセル）等のテキスト形式で入力するためにも使用される。この入力データは、表示部１０３に表示される。スケジュール記憶制御部１０２は、入力されたスケジュールデータのデータフォーマットがメッセージデータのデータフォーマットではない場合に、メッセージデータのデータフォーマットへのフォーマット変換を行い、フォーマット変換を行ったスケジュールデータをスケジュール記憶部１３に書き込む。
【００５８】
通信装置２００,３００,４００は、通信装置１００から送信されるスケジュールデータを受信し、スケジュール記憶部２３,３３,４３に書き込むスケジュール登録制御部２０１,３０１,４０１を備える。
【００５９】
次に、ユーザによるスケジュール構築手順について説明する。  
スケジュールを構築する際に、通信装置１００のユーザは、入力部１０１を操作して、図８に示すｘｍｌのスケジュール構築ページを表示部１０３に表示させる。ここで、通信装置１００は、ユーザによるスケジュールデータの入力を受け付ける。
【００６０】
このときユーザは、例えばマイナーフレーム時間、マイナーフレーム数、マイナーフレーム構成リスト数、マイナーフレーム構成リスト番号、メッセージ数、開始フレーム番号、周期間隔、メッセージＩＤ、受信ノード、送信ノード、データ構造を入力部１０１により入力する。
【００６１】
ここで、ユーザは、「マイナーフレーム時間」の項目の右にある「選択」をクリックし、例えば「規定値（５００ｍｓ）」を選択し、「受信ノード」を「４」に設定し、「送信ノードを「４」に設定したとする。この場合、スケジュール構築プログラムにより、「マイナーフレーム数」が「３」、「マイナーフレーム構成リスト数」が「３」、「メッセージ数」が「４」、「開始フレーム番号」が「０」に自動的に設定されるようにしてもよい。
【００６２】
また、ユーザは、「メッセージ数」について例えば「４」を入力し、「メッセージＩＤ」について、例えばステータス情報を示す「１」、センサ情報を示す「２」、ＡＬＩＶＥ信号を示す「３」、ＡＣＫを示す「４」、制御コマンドを示す「５」を入力部１０１により入力したとする。この場合、スケジュール構築プログラムにより、「データ構造」が「規定値」に自動的に設定されるようにしてもよい。
【００６３】
この状態でユーザが入力部１０１において確定操作を行うと、入力されたスケジュールデータをメッセージデータのデータフォーマットに変換し、フォーマット変換を行ったスケジュールデータをスケジュール記憶部１３に書き込む。例えば入力されたスケジュールデータのｘｍｌファイルがマイナーフレーム時間ａａビット、マイナーフレーム数ｂｂビットからなっていれば、これらをメッセージデータで規定されたマイナーフレーム時間ｘｘビット、マイナーフレーム数ｙｙビットのビット列にフォーマット変換する。
【００６４】
通信装置１００は、スケジュールデータをスケジュール記憶部１３から読み出し、通信装置２００,３００,４００からステータス情報を取得し、通信装置２００,３００,４００に対しデータ通信を停止するメッセージを送信する。この場合、通信装置１００は、例えばマイナーフレーム（１）で「ノードＡ→ノードＢ、ノードＢ→ノードＣ、ノードＣ→ノードＤ、ノードＤ→ノードＡ」というように送受信タスクを割り当て、マイナーフレーム（２）で「ノードＡ→ノードＣ、ノードＢ→ノードＤ、ノードＣ→ノードＡ、ノードＤ→ノードＢ」というように送受信タスクを割り当て、マイナーフレーム（３）で「ノードＡ→ノードＤ、ノードＢ→ノードＡ、ノードＣ→ノードＢ、ノードＤ→ノードＣ」というように送受信タスクを割り当てる。
【００６５】
そして、通信装置１００は、ステータス情報により存在が確認できた通信装置２００,３００,４００にスケジュールデータを送信する。以後、通信装置１００は、スケジュールデータに従って、通信装置２００,３００,４００とのデータ通信を開始する。
【００６６】
データ通信を開始すると、通信装置１００は、スケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置４００から例えばセンサ情報を収集し、このセンサ情報に基づいて、モータなどを制御するための制御コマンドをマイナーフレーム（３）のタイミングで通信装置４００に送信することができる。また、通信装置１００は、スケジュールデータに従って、マイナーフレーム（２）のタイミングで通信装置３００に対しＡＬＩＶＥ信号を送信し、マイナーフレーム（２）のタイミングで通信装置３００からＡＣＫを受信する。さらに、通信装置１００は、スケジュールデータに従って、マイナーフレーム（１）のタイミングで通信装置２００に対しＡＬＩＶＥ信号を送信し、マイナーフレーム（３）のタイミングで通信装置２００からＡＣＫを受信する。
【００６７】
以上のように上記第２の実施形態によれば、通信装置１００のユーザはテキスト形式といった既知のフォーマットでスケジュールデータを入力することにより、通信装置１００にメッセージデータのフォーマットのスケジュールデータを設定することができる。これにより、ユーザの判断に基づいたスケジュールデータを簡単な手順で構築することができ、スケジュール構築に要する負担を軽減できる。
【００６８】
（その他の実施形態）  
上記各実施形態では、接続可能なノード数を４個として説明した。しかし、接続可能なノード数及び１度の転送可能データ量は、本実施形態に限るものとしない。
【００６９】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７０】
１…通信ネットワーク、１０〜４０…通信装置、１１,２１,３１…受信部、１２,２２,３２…送信部、１３,２３,３３…スケジュール記憶部、１４,２４,３４…通信制御部、１５,２５,３５…ステータス情報取得部、１６,２６,３６…スケジュール構築部、１７,２７,３７…スケジュール更新部、１８,２８,３８…時刻同期部、１０１…入力部、１０２…スケジュール記憶制御部、１０３…表示部、１９１…送信用メモリ、１９２…受信用メモリ。
【図１】
2017005664.tif 000003
【図２】
2017005664.tif 000004
【図３】
2017005664.tif 000005
【図４】
2017005664.tif 000006
【図５】
2017005664.tif 000007
【図６Ａ】
2017005664.tif 000008
【図６Ｂ】
2017005664.tif 000009
【図７】
2017005664.tif 000010
【図８】
2017005664.tif 000011