(57)【要約】【課題】各制御装置に内蔵された時計の時刻を予め合わせることなく協調制御を行う。【解決手段】ネットワークに複数の制御装置１０、２０、３０が接続された分散制御システム１において、それぞれの制御装置１０、２０、３０は、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行う通信制御部１２、２２、３２を備え、一の制御装置は、他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信する制御部を有し、前記他の制御装置は、前記通信制御部を介して前記一の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行する制御部を有する。【選択図】        図１
2011108208.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに複数の制御装置が接続された分散制御システムにおいて、
それぞれの制御装置は、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行う通信制御部を備え、
一の制御装置は、
他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信する制御部を有し、
前記他の制御装置は、
前記通信制御部を介して前記一の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行する制御部を有することを特徴とする分散制御システム。
【請求項２】
ネットワークに複数の制御装置が接続された分散制御システムにおいて、
前記それぞれの制御装置は、
制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行う通信制御部と、
他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信するとともに、前記通信制御部を介して他の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行する制御部とを有することを特徴とする分散制御システム。
【請求項３】
請求項１または請求項２の分散制御システムにおいて、
前記一の制御装置は、情報を入力する入力手段を備え、
前記一の制御装置の制御部は、前記入力手段で入力した情報および前記通信制御部から読み出した共通時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信し、
前記他の制御装置の制御部は、受信した前記動作指示電文に含まれた共通時刻および情報を記憶部に記録することを特徴とする分散制御システム。
【請求項４】
請求項１、請求項２または請求項３の分散制御システムにおいて、
前記それぞれの制御装置の制御部は、計時手段を備え、
前記通信制御部から読み出した共通時刻を、前記計時手段が出力する周波数に基づいて更新することを特徴とする分散制御システム。
【請求項５】
ネットワークに接続された複数の制御装置が協調して行う分散制御方法において、
一の制御装置は、
通信制御部が、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行うステップと、
制御部が、他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信するステップを有し、
前記他の制御装置は、
通信制御部が、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行うステップと、
制御部が、前記通信制御部を介して前記一の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行するステップを有することを特徴とする分散制御方法。
【請求項６】
ネットワークに接続された複数の制御装置が協調して行う分散制御方法において、
前記それぞれの制御装置は、
通信制御部が、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行うステップと、
制御部が、他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信するとともに、前記通信制御部を介して他の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行するステップとを有することを特徴とする分散制御方法。
【請求項７】
請求項５または請求項６の分散制御方法において、
前記一の制御装置の制御部が、入力手段で入力した情報および前記通信制御部から読み出した共通時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信するステップと、
前記他の制御装置の制御部が、受信した前記動作指示電文に含まれた共通時刻および情報を記憶部に記録するステップとを有することを特徴とする分散制御方法。
【請求項８】
請求項５、請求項６または請求項７の分散制御システムにおいて、
前記それぞれの制御装置の制御部が、前記通信制御部から読み出した共通時刻を、計時手段が出力する周波数に基づいて更新するステップを有することを特徴とする分散制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続された複数の制御装置が協調して分散制御を行う分散制御システムおよび分散制御方法に関する。
【背景技術】
【０００２】
従来の分散制御システムおよび分散制御方法は、システム内（例えば、ロボットや車両等の装置内）のモータやセンサ類を分散してリアルタイム制御する場合、それぞれの制御装置をネットワークに接続し、主制御装置となる制御装置から各制御装置に時刻情報とともに動作を指示する制御指令を送信するようにしている。
【０００３】
このような分散制御システムにおいて、各制御装置における動作の開始を同期させる場合、各制御装置に内蔵された時計の時刻を予め合わせておき、主制御装置が動作を開始する時刻を時刻情報で指定した制御指令を各制御装置に送信し、各制御装置が行う動作の開始タイミングを同期させるようにしているものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１４６１４９号公報（段落「００１１」〜段落「００１３」、図７、図９）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、各制御装置における動作の開始を同期させる場合、各制御装置に内蔵された時計の時刻を予め合わせる必要があるという問題がある。
【０００６】
本発明は、このような問題を解決することを課題とし、各制御装置に内蔵された時計の時刻を予め合わせることなく協調制御を行うことを目的とする。
【課題を解決するための手段】
【０００７】
そのため、本発明による分散制御システムは、ネットワークに複数の制御装置が接続された分散制御システムにおいて、それぞれの制御装置は、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行う通信制御部を備え、一の制御装置は、他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信する制御部を有し、前記他の制御装置は、前記通信制御部を介して前記一の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行する制御部を有することを特徴とする。
【０００８】
また、本発明による分散制御方法は、ネットワークに接続された複数の制御装置が協調して行う分散制御方法において、それぞれの制御装置は、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行う通信制御部を備え、一の制御装置は、通信制御部が、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行うステップと、制御部が、他の制御装置に実行させる動作およびその動作の開始時刻を含む動作指示電文を生成し、前記通信制御部を介して前記動作指示電文を他の制御装置へ送信するステップを有し、前記他の制御装置は、通信制御部が、制御装置間で同期された共通時刻を共有し、該共通時刻に基づいて時分割多重アクセス制御による送受信を行うステップと、制御部が、前記通信制御部を介して前記一の制御装置から動作およびその動作の開始時刻を含む動作指示電文を受信すると前記通信制御部から共通時刻を読み出し、該共通時刻が前記開始時刻を経過したとき、前記動作を実行するステップを有することを特徴とする。
【発明の効果】
【０００９】
このようにした本発明は、各制御装置に内蔵された時計の時刻を予め合わせることなく協調制御を行うことができるという効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】実施例における分散制御システムの構成を示すブロック図
【図２】実施例における分散制御処理を示すフローチャート
【図３】実施例における情報記録処理を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明による分散制御システムおよび分散制御方法の実施例を説明する。
【実施例】
【００１２】
図１は実施例における分散制御システムの構成を示すブロック図である。
【００１３】
図１において、分散制御システム１は複数の制御装置がネットワーク２を介して接続され、それぞれの制御装置が協調して処理を行うものである。この分散制御システムは、ロボット、車両、航空機等のシステム内のモータやセンサ類をそれぞれの制御装置が分散してリアルタイム制御する。
【００１４】
ネットワーク２は、複数の制御装置を通信可能に接続する通信回線である。なお、本実施例では、３台の制御装置をネットワーク２に接続した例で説明するが、接続される制御装置は３台に限られるものでなく、２台または４台以上であってもよい。
【００１５】
１０は制御装置（ノードＡ）であり、記憶部１１、通信制御部１２、および制御部１３から構成されたものである。
【００１６】
記憶部１１は、メモリ素子等の記憶手段で構成され、制御装置１０および分散制御システム１全体を制御するための制御プログラムとしてオペレーティングシステム１１１（ソフトウェア）やアプリケーションソフトウェア等を記憶する。また、記憶部１１は制御装置１０および分散制御システム１全体を制御するための作業領域として情報の書き込みまたは読み出しが行われる。
【００１７】
通信制御部１２は、他の制御装置との間で行う情報の送受信制御を通信プロトコルにしたがって行う通信コントローラであり、各ノード間で同期・共有された後述する共通時刻１２１を備え、時分割多重アクセス（ＴＤＭＡ：Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）プロトコルにしたがって送受信制御を行うものである。本実施例では、それぞれの制御装置は、例えばＴＴＰ／Ｃ（Ｔｉｍｅ  Ｔｒｉｇｇｅｒｄ  Ｐｒｏｔｃｏｌ  ｃｌａｓｓ  Ｃ）に従って送受信制御を行う。
【００１８】
制御部１３は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成された制御手段および演算手段であり、記憶部１１に記憶された制御プログラムに基づいて制御装置１０および分散制御システム１全体を制御する。
【００１９】
また、制御部１３は、所定の周波数（時間間隔）で信号を出力する計時手段としてのクロックを備えており、その出力信号による割込み処理等のリアルタイム処理を行えるようになっている。
【００２０】
２０は制御装置（ノードＢ）であり、記憶部２１、通信制御部２２、および制御部２３から構成されたものである。
【００２１】
記憶部２１は、メモリ素子等の記憶手段で構成され、制御装置２０全体を制御するための制御プログラムとして制御ソフトウェア２１１等を記憶する。また、記憶部２１は制御装置２０全体を制御するための作業領域として情報の書き込みまたは読み出しが行われる。
【００２２】
通信制御部２２は、他の制御装置との間で行う情報の送受信制御を通信プロトコルにしたがって行う通信コントローラであり、各ノード間で同期・共有された後述する共通時刻２２１を備え、時分割多重アクセスプロトコルにしたがって送受信制御を行うものである。本実施例では、それぞれの制御装置は、例えばＴＴＰ／Ｃに従って送受信制御を行う。
【００２３】
制御部２３は、ＣＰＵ等で構成された制御手段および演算手段であり、記憶部２１に記憶された制御プログラムに基づいて制御装置２０全体の動作を制御する。
【００２４】
また、制御部２３は、所定の周波数（時間間隔）で信号を出力する計時手段としてのクロックを備えており、その出力信号による割込み処理等のリアルタイム処理を行えるようになっている。
【００２５】
このように構成された制御装置２０は、制御装置１０等の他の制御装置から動作開始時刻および動作内容を含む動作指示メッセージ（電文）を受信し、その動作指示メッセージで指示された動作開始時刻に指示された動作を行うとともに他の制御装置へ動作指示メッセージを送信してその制御装置に動作を指示する。なお、動作指示メッセージに動作開始時刻が含まれない場合、その動作指示メッセージを受信した制御装置は、即時に指示された動作を行うものとする。
【００２６】
３０は制御装置（ノードＣ）であり、記憶部３１、通信制御部３２、および制御部３３から構成されたものである。
【００２７】
制御部３３は、ＣＰＵ等で構成された制御手段および演算手段であり、記憶部３１に記憶された制御プログラムに基づいて出力手段としてのモータ３３１や入力手段としてのセンサ３３２等を制御し、制御装置３０全体の動作を制御する。なお、制御部３３は、ＣＰＵでなく制御回路等のハードウェアのみで構成された制御手段等であってもよい。
【００２８】
また、制御部３３は、所定の周波数（時間間隔）で信号を出力する計時手段としてのクロックを備えており、その出力信号による割込み処理等のリアルタイム処理を行えるようになっている。
【００２９】
記憶部３１および通信制御部３２の構成は、制御装置２０の記憶部２１および通信制御部２２と同様なのでその説明を省略する。
【００３０】
なお、制御装置２０の制御部２３には、モータやセンサが接続されていない構成となっているが、制御装置３０と同様にモータやセンサが接続さている構成であってもよい。
【００３１】
上述した制御装置１０、制御装置２０および制御装置３０間の通信プロトコルでは、時分割多重アクセス制御を行うための共通時刻（グローバルタイム）が各ノード間で同期するように制御されており、それぞれの制御装置の通信制御部は、その共通時刻にしたがって情報の送受信制御を行っている。
【００３２】
この共通時刻は、各ノード間で送受信される情報（データフレーム）に含まれ、その情報の送受信毎に更新、補正され、各ノードの共通時刻は所定の精度を維持するように通信制御部のレジスタやメモリ等の記憶手段に記憶されている。
【００３３】
それぞれの制御装置の通信制御部と制御部との間はバス等で接続され、制御部は制御信号を出力することにより通信制御部内に記憶されている共通時刻を読み出すことができるようになっている。
【００３４】
このように構成されたそれぞれの制御装置の通信制御部は、送受信制御を行う専用のＣＰＵ、レジスタ、メモリ等で構成されたものであってもよく、また送受信制御を行う通信ＬＳＩ（大規模集積回路）等で構成されたものであってもよい。
【００３５】
また、それぞれの制御装置の制御部は、他の制御装置から動作開始時刻を含む動作指示メッセージを受信した場合、通信制御部から読み出した共通時刻が、受信した動作指示メッセージで指示された動作開始時刻、若しくは繰返し動作として予め定められた繰返し動作開始時刻に一致したとき、または動作開始時刻若しくは繰返し動作開始時刻を経過したとき、指示された動作を開始する。なお、動作開始時刻を含まない動作指示メッセージを受信した場合かつ繰返し動作が定められていない場合、共通時刻を通信制御部から読み出すことなく、即時に指示された動作を実行するものとする。
【００３６】
ここで、それぞれの制御装置の制御部で利用される時刻が、それぞれの制御装置の通信制御部で利用される共通時刻より精度（分解能）の高い時刻を必要とする場合、制御部はクロックにより所定の時間周期に発生する出力信号に基づいて既に読み出して記憶部に記憶してある共通時刻を自律的に更新するものとする。
【００３７】
このような制御装置１０、制御装置２０および制御装置３０で構成され分散制御システム１は、システム全体で協調して動作を行うことができるようになっている。
【００３８】
上述した構成の作用について説明する。
【００３９】
まず、分散制御システムが行う分散制御処理を図２の実施例における分散制御処理を示すフローチャートの図中Ｓで表すステップにしたがって図１を参照しながら説明する。この分散制御処理は、一の制御装置（ノードＡ）が動作開始時刻および動作内容を含む動作指示メッセージを二つの制御装置（ノードＢ、ノードＣ）へ送信し、その動作指示メッセージを受信した二つの制御装置（ノードＢ、ノードＣ）がそれぞれ指示された動作開始時刻に指示された動作を行うものとして説明する。
【００４０】
制御装置（ノードＡ）１０の動作を説明する。
【００４１】
Ｓ１ａ：制御装置１０の制御部１３は、アプリケーションソフトウェアにしたがって制御装置２０の動作を指示する動作指示メッセージおよび制御装置３０の動作を指示する動作指示メッセージを作成して記憶部１１に記憶させる。それぞれの動作指示メッセージには、制御装置が行う動作を指示する情報とともに制御装置がその動作を開始する動作開始時刻が含まれているか、または予め繰返し動作する動作開始時刻が定められている  。
【００４２】
Ｓ２ａ：制御装置１０の制御部１３は、作成した動作指示メッセージを制御装置２０へ送信することを通信制御部１２に要求する。通信制御部１２は、送信要求された動作指示メッセージを制御装置（ノードＢ）２０へ送信する。
【００４３】
Ｓ３ａ：動作指示メッセージを制御装置（ノードＢ）２０へ送信すると制御装置１０の制御部１３は、作成した動作指示メッセージを制御装置３０へ送信することを通信制御部１２に要求する。通信制御部１２は、送信要求された動作指示メッセージを制御装置（ノードＣ）３０へ送信する。
【００４４】
次に、制御装置（ノードＢ）２０の動作を説明する。
【００４５】
Ｓ１ｂ：制御装置２０の通信制御部２２は、ネットワーク２を介して送信される動作指示メッセージの受信を待機し、動作指示メッセージの受信を検知するとその動作指示メッセージを制御部２３へ通知する。本実施例では、制御装置１０から動作指示メッセージを受信するものとする。
【００４６】
Ｓ２ｂ：受信した動作指示メッセージが通知された制御部２３は、共通時刻（グローバルタイム）を読み出す制御信号を通信制御部２２へ出力し、通信制御部２２はその制御信号にしたがって共通時刻を読出し、読み出した共通時刻を制御部２３へ応答する。
【００４７】
Ｓ３ｂ：制御部２３は、通信制御部２２から読み出した共通時刻（グローバルタイム）を記憶部２１に記憶させ、その共通時刻と動作指示メッセージに含まれる動作開始時刻とを比較し、一致することを確認する。一致するまたは共通時刻が動作開始時刻を経過したと判定すると処理をＳ４ｂへ移行し、一方共通時刻が動作開始時刻を経過していないと判定すると処理をＳ２ｂへ移行する。
【００４８】
ここで、通信制御部２２が通信異常等の何らかの原因により共通時刻を更新することができなくなった場合、制御部２３はクロックにより所定の時間周期に発生する出力信号に基づいて既に読み出して記憶部２１に記憶した共通時刻を自律的に更新し、更新された共通時刻と動作開始時刻を比較する。
【００４９】
なお、制御部２３は、通信制御部２２から読み出した共通時刻が、前回通信制御部２２から読み出した共通時刻と同一時刻であることを検知した場合、記憶部２１に記憶され、自律的に更新されている共通時刻と動作開始時刻を比較するものとする。
【００５０】
このようにすることにより、通信制御部２２が何らかの原因により共通時刻を更新することができなくなった場合や通信制御部２２で利用される共通時刻より精度（分解能）の高い時刻を必要とする場合であっても正確に更新された時刻と動作開始時刻を比較することができるようになる。
【００５１】
Ｓ４ｂ：共通時刻が動作開始時刻と一致または動作開始時刻を経過したと判定した制御部２３は、動作指示メッセージの動作指示に従って動作を実行する。
【００５２】
次に、制御装置（ノードＣ）３０の動作を説明する。
【００５３】
Ｓ１ｃ：制御装置３０の通信制御部３２は、ネットワーク２を介して送信される動作指示メッセージの受信を待機し、動作指示メッセージの受信を検知するとその動作指示メッセージを制御部３３へ通知する。本実施例では、制御装置１０から動作指示メッセージを受信するものとする。
【００５４】
Ｓ２ｃ：受信した動作指示メッセージが通知された制御部３３は、通信制御部３２へ共通時刻（グローバルタイム）を読み出す制御信号を通信制御部３２へ出力し、通信制御部３２はその制御信号にしたがって共通時刻を読出し、読み出した共通時刻を制御部３３へ応答する。
【００５５】
ここで、通信制御部３２が通信異常等の何らかの原因により共通時刻を更新することができなくなった場合、制御部３３はクロックにより所定の時間周期に発生する出力信号に基づいて既に読み出して記憶部３１に記憶した共通時刻を自律的に更新し、更新された共通時刻と動作開始時刻を比較するものとする。
【００５６】
このようにすることにより、通信制御部３２が何らかの原因により共通時刻を更新することができなくなった場合や通信制御部３２で利用される共通時刻より精度（分解能）の高い時刻を必要とする場合であっても正確に更新された時刻と動作開始時刻を比較することができるようになる。
【００５７】
Ｓ３ｃ：制御部３３は、通信制御部３２から読み出した共通時刻（グローバルタイム）を記憶部３１に記憶させ、その共通時刻と動作指示メッセージに含まれる動作開始時刻とを比較し、一致することを確認する。一致するまたは共通時刻が動作開始時刻を経過したと判定すると処理をＳ４ｃへ移行し、一方共通時刻が動作開始時刻を経過していないと判定すると処理をＳ２ｃへ移行する。
【００５８】
Ｓ４ｃ：共通時刻が動作開始時刻と一致または動作開始時刻を経過したと判定した制御部３３は、動作指示メッセージの動作指示に従ってモータ３３１等を制御し、動作を実行する。
【００５９】
このようにして分散制御システム１は、一の制御装置から動作指示メッセージを受信した他の制御装置が動作指示メッセージで指示された動作開始時刻に指示された動作を実行することにより、システム全体で協調して分散制御処理を行う。
【００６０】
次に、分散制御システムが行う情報記録処理を図３の実施例における情報記録処理を示すフローチャートの図中Ｓで表すステップにしたがって図１を参照しながら説明する。この情報記録処理は、一の制御装置（ノードＣ）がセンサ入力を検知した場合、センサ入力を検知した時刻およびその検知内容を含む動作（情報記録）指示メッセージを他の制御装置（ノードＡ）へ送信し、その動作（情報記録）指示メッセージを受信した制御装置（ノードＡ）が通知された情報を記憶部に記録する動作を行うものとして説明する。
【００６１】
まず、制御装置（ノードＣ）３０の動作を説明する。
【００６２】
Ｓ１ｄ：制御装置３０の制御部３３は、センサ３３２により情報の入力を検知すると処理をＳ２ｄへ移行する。
【００６３】
Ｓ２ｄ：センサ３３２により情報の入力を検知した制御部３３は、制御ソフトウェア３１にしたがって通信制御部３２へ共通時刻（グローバルタイム）を読み出す制御信号を通信制御部３２へ出力し、通信制御部３２はその制御信号にしたがって共通時刻を読出し、読み出した共通時刻を制御部３３へ応答する。
【００６４】
Ｓ３ｄ：制御部３３は、読み出した共通時刻を、センサ入力を検知した時刻とし、またそのセンサ３３２で検知した内容を含み、検知時刻および検知内容を記録する動作（情報記録）指示メッセージを作成して記憶部１１に記憶させる。
【００６５】
Ｓ４ｄ：制御装置３０の制御部３３は、作成した動作指示（情報記録）メッセージを制御装置（ノードＡ）１０へ送信することを通信制御部３２に要求する。通信制御部３２は、送信要求された動作指示（情報記録）メッセージを制御装置（ノードＡ）１０へ送信する。
【００６６】
次に、制御装置（ノードＡ）１０の動作を説明する。
【００６７】
Ｓ１ｅ：制御装置（ノードＡ）１０の通信制御部１２は、ネットワーク２を介して送信される動作指示メッセージの受信を待機し、動作指示（情報記録）メッセージの受信を検知するとその動作指示メッセージを制御部１３へ通知する。本実施例では、制御装置（ノードＣ）３０から動作指示（情報記録）メッセージを受信するものとする。
【００６８】
Ｓ２ｅ：制御部１３は、受信した動作指示（情報記録）メッセージに含まれる検知時刻および検知内容を記憶部１１に記憶させる記録動作を実行する。
【００６９】
なお、それぞれの制御装置の電源が投入された直後であり、通信制御部による他の制御装置との通信を行なう前の初期化動作は、記憶部に記憶され、自律的に更新される時刻に基づいて行うが、その初期化動作を行った直後に他の制御装置との通信を行った通信制御部から共通時刻を読み出した場合、通信制御部から読み出した共通時刻と自律的に更新された時刻との間に不整合が生じる。
【００７０】
この場合、通信制御部から読み出した共通時刻をそのまま使用すると、共通時刻との不整合による動作の不具合が発生することがあるがその不具合を防止するため、自律的に更新される時刻を通信制御部から読み出した共通時刻に徐々に近づけるようにする。例えば、共通時刻が１秒更新される毎に１００ｍ秒自律的に更新される時刻を共通時刻に近づける。
【００７１】
また、自律的に更新される時刻が制御部により使用されている場合は、上記自律的に更新される時刻を通信制御部から読み出した共通時刻に徐々に近づけるようにし、自律的に更新される時刻が制御部により使用されていない場合は、通信制御部から読み出した共通時刻をそのまま使用するようにしてもよい。
【００７２】
さらに、制御部は、初期化動作が終了するまで通信制御部の共通時刻を読み出すことなく、自律的に更新される時刻で初期化動作を制御するようにし、その動作が終了した後に通信制御部の共通時刻を読み出すようにしてもよい。
【００７３】
このように本実施例の分散制御システムでは、各制御装置の制御部が通信制御部の共通時刻を読み出して利用することにより、各制御装置に内蔵された時計の時刻を予め合わせることなく、音と光を同時に出力する、センサ情報を同時に入力する、それらの出力と入力を同時に行う等の協調制御を行うことができるようになる。
【００７４】
また、ロボットの複数モータ軸の同時制御による、ロボット全体の調和した動作、具体的にはハンドアームのリーチング、ハンドリング動作や歩行ロボットの歩行時の全身動作などの分散制御において、全体として調和した動作を行うことができる。
【００７５】
さらに、異常が発生した時に各制御装置の状態を記録し、後で記録した各制御装置の状態を解析するなど各ノードの情報の収集・記録が時系列で容易にできる。
【００７６】
また、時計の時刻合わせを不要にしたことにより、制御部のオーバヘッドを減少させることができ、また、制御部のオーバヘッドを減少させることにより、分散制御システムの性能を向上させるとともに信頼性を向上させることができる。
【００７７】
なお、本実施例では、通信プロトコルをＴＴＰ／Ｃを使用した例で説明したが、それに限られることなく、共通時刻が利用できる通信プロトコルであれば、ＥｔｈｅｒＣＡＴ等であってもよい。
【００７８】
以上説明したように、本実施例では、各制御装置に内蔵された時計の時刻を予め合わせることなく協調制御を行うことができるようになるという効果が得られる。
【００７９】
また、時計の時刻合わせを不要にしたことにより、制御部のオーバヘッドを減少させることができ、また、制御部のオーバヘッドを減少させることにより、分散制御システムの性能を向上させるとともに信頼性を向上させることができるという効果が得られる。
【符号の説明】
【００８０】
１    分散制御システム
２    ネットワーク
１０  制御装置（ノードＡ）
２０  制御装置（ノードＢ）
３０  制御装置（ノードＣ）
１１、２１、３１  記憶部
１２、２２、３２  通信制御部
１３、２３、３３  制御部
【図１】
2011108208.tif 000003
【図２】
2011108208.tif 000004
【図３】
2011108208.tif 000005