(57)【要約】  ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、スレーブ装置に被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとを送信する第１送信部と、複数のスレーブ装置に対して、第１送信部により送信された制御コマンドに基づく制御を複数のスレーブ装置に同時に開始させる制御開始コマンドを送信する第２送信部とを備えるマスター装置と、マスター装置より送信された制御コマンドとフラグとを受信する受信部と、受信部により受信されたフラグが特定の値に設定されている場合に受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、マスター装置より送信された制御開始コマンドを受信し、制御開始コマンドをトリガとして記憶部に保存された制御コマンドに基づく被制御装置の制御を開始する第１制御開始部とを備えるスレーブ装置とを備える。
2009063565.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとを送信する第１送信部と、前記複数のスレーブ装置に対して、前記第１送信部により送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドを送信する第２送信部とを備えるマスター装置と、
前記マスター装置より送信された制御コマンドとフラグとを受信する受信部と、前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部とを備えるスレーブ装置と
を備える制御システム。
【請求項２】
請求項１に記載の制御システムにおいて、
前記第２送信部は、前記ネットワークを介した同報通信により前記複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御システム。
【請求項３】
請求項１に記載の制御システムにおいて、
前記第２送信部は、前記複数のスレーブ装置のうち特定の複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御システム。
【請求項４】
請求項１に記載の制御システムにおいて、
前記スレーブ装置は、前記被制御装置の動作状況を監視する監視部をさらに備え、
第１制御開始部は、前記監視部による監視結果に基づいて前記被制御装置の制御を開始することを特徴とする制御システム。
【請求項５】
請求項１に記載の制御システムにおいて、
前記スレーブ装置は、接続された少なくとも二値以上に設定される信号を出力する出力装置より送信された信号を受信し、該信号が特定の値に設定されている場合に前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第２制御開始部をさらに備える制御システム。
【請求項６】
請求項５に記載の制御システムにおいて、
前記出力装置はセンサであることを特徴とする制御システム。
【請求項７】
請求項１に記載の制御システムにおいて、
前記マスター装置は、前記受信部により受信された制御コマンドを前記スレーブ装置に記憶部に保存させる待機コマンドを前記複数のスレーブ装置に対して予め送信する第３送信部をさらに備える制御システム。
【請求項８】
ネットワークを介してマスター装置に接続された複数のスレーブ装置により被制御装置を制御することができる制御方法であって、
前記複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとをマスター装置側から送信する第１送信ステップと、
前記第１送信ステップにより送信された制御コマンドとフラグとを前記スレーブ装置側で受信する第１受信ステップと、
前記第１受信ステップにより受信されたフラグが特定の値に設定されている場合に前記第１受信ステップにより受信された制御コマンドを前記スレーブ装置側の記憶部に保存する制御コマンド保存ステップと、
前記複数のスレーブ装置に対して、前記第１送信ステップにより送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドをマスター装置側から送信する第２送信ステップと、
前記第２送信ステップにより送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を前記スレーブ装置側で開始する第１制御開始ステップと
を実行する制御方法。
【請求項９】
請求項８に記載の制御方法において、
前記第２送信ステップは、前記ネットワークを介した同報通信により前記複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御方法。
【請求項１０】
請求項８に記載の制御方法において、
前記第２送信ステップは、前記複数のスレーブ装置のうち特定の複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御方法。
【請求項１１】
請求項８に記載の制御方法において、
前記被制御装置の動作状況を監視する監視ステップをさらに備え、
第１制御開始ステップは、前記監視ステップによる監視結果に基づいて前記被制御装置の制御を開始することを特徴とする制御システム。
【請求項１２】
請求項８に記載の制御方法において、
接続された少なくとも二値以上に設定される信号を出力する出力装置より送信された信号を受信し、該信号が特定の値に設定されている場合に前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を前記スレーブ装置側で開始する第２制御開始ステップをさらに実行する制御方法。
【請求項１３】
請求項８に記載の制御方法において、
前記第１受信ステップにより受信された制御コマンドを前記記憶部に保存させる待機コマンドを前記複数のスレーブ装置に対して前記マスター装置側から予め送信する第３送信ステップをさらに備える制御方法。
【請求項１４】
ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に被制御装置を制御させる制御コマンドと、少なくとも二値以上に設定され、該値が特定の値に設定されることにより前記スレーブ装置に前記制御コマンドに基づく前記被制御装置の制御の実行を待機させるフラグとを送信する第１送信部と、
前記複数のスレーブ装置に対して、前記第１送信部により送信され、前記特定の値に設定されたフラグにより前記被制御装置の制御の実行を待機させられた複数のスレーブ装置に前記第１送信部により送信された制御コマンドに基づく前記被制御装置の制御を同時に開始させる制御開始コマンドを送信する第２送信部と
を備えるマスター装置。
【請求項１５】
請求項１４に記載のマスター装置において、
前記第２送信部は、前記ネットワークを介した同報通信により前記複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とするマスター装置。
【請求項１６】
請求項１４に記載のマスター装置において、
前記第２送信部は、前記複数のスレーブ装置のうち特定の複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とするマスター装置。
【請求項１７】
請求項１４に記載のマスター装置において、
前記受信部により受信された制御コマンドを前記スレーブ装置に記憶部に保存させる待機コマンドを前記複数のスレーブ装置に対して予め送信する第３送信部をさらに備えるマスター装置。
【請求項１８】
ネットワークを介して接続されたマスター装置より送信された被制御装置を制御する制御コマンドと少なくとも二値以上に設定されるフラグとを受信する受信部と、
前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、
前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部と
を備える制御装置。
【請求項１９】
請求項１８に記載の制御装置において、
前記被制御装置の動作状況を監視する監視部をさらに備え、
第１制御開始部は、前記監視部による監視結果に基づいて前記被制御装置の制御を開始することを特徴とする制御装置。
【請求項２０】
請求項１８に記載の制御装置において、
接続された少なくとも二値以上に設定される信号を出力する出力装置より送信された信号を受信し、該信号が特定の値に設定されている場合に前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第２制御開始部をさらに備える制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の被制御装置の制御を同時に開始する制御システム、制御方法、マスター装置、制御装置に関するものである。
【背景技術】
【０００２】
従来、装置間の通信を行うための方法として、シリアル通信とパラレル通信が知られている。複数の信号線によって同時に複数ビットのデータの送受信を行うパラレル通信に対して、シリアル通信は１本の信号線によって１ビットずつデータの送受信を行う。この違いによりシリアル通信はパラレル通信よりも単純な構造によって、より長い距離間で通信することができるという利点がある。【０００３】
なお、本発明の関連ある従来技術として、各々が対応する機器を制御する複数の子局に各子局で用いるための制御データと起動信号を出力することにより、上記複数の子局を同時起動するようにした子局同時起動方法が知られている（例えば、特許文献１参照）。
【特許文献１】特開平７−７５３５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、１：ｎのシリアル通信において、複数の装置を制御するためには、送信先を順に切替えながら動作させるため、１つの装置に対する通信に必要な時間の遅れの後に、次の装置に対して通信を行う必要がある。以下、図２０及び図２１を用いて、シリアル通信の問題点を説明する。【０００５】
図２０は従来のシリアル通信による制御システムを示す図であり、図２１は従来のシリアル通信による制御システムにおけるマスター装置の動作を示すフローチャートである。【０００６】
図２０に示すように従来のシリアル通信による制御システムは、作業装置１と作業装置１に対して作業を指示するマスター装置２とこれらを接続するシリアルケーブル３とを備えるものである。作業装置１は何らかの機能を有する先端部１ａと、先端部１ａをＸＹＺの矢印で示す三軸方向に移動させるためのモータ１ｘ〜１ｚとを備えるものである。また、モータ１ｘ〜１ｚには図示しない制御装置が接続され、マスター装置２はこれらスレーブ装置としての制御装置に対して動作命令（コマンド）を送信するものである。また、三軸をそれぞれ動かす場合、図示しないモータ１ｘ〜１ｚを制御する装置に対して動作命令（制御コマンド）を送信するマスター装置２は図２１に示すような処理を行う。【０００７】
まず、マスター装置２はモータ１ｘの制御装置へのコマンドを送信し（Ｓ８０１）、モータ１ｘの制御装置からコマンドに対する応答を受信する（Ｓ８０２）。次に、マスター装置２はモータ１ｙの制御装置へのコマンドを送信し（Ｓ８０３）、モータ１ｙの制御装置からコマンドに対する応答を受信する（Ｓ８０４）。次に、マスター装置２はモータ１ｚの制御装置へのコマンドを送信し（Ｓ８０４）、モータ１ｚの制御装置からコマンドに対する応答を受信する（Ｓ８０５）。【０００８】
上述のように作業装置１はそれぞれの軸が同時には動作せずに、動作させる軸が変わる度に通信に必要な時間を挟んで順番で動作する。また、モータ１ｘ〜１ｚの制御装置には、予めそれぞれ固有のアドレスであるセレクションアドレス（Ｓｅｌｅｃｔｉｏｎ  ａｄｄｒｅｓｓ）が割り当てられており、モータ１ｘ〜１ｚそれぞれの制御装置は図１７に示すそれぞれのコマンドに付加されたセレクションアドレスと自身に割り当てられたセレクションアドレスが一致するかどうかを判定し、両者が一致する場合にコマンドを実行する。【０００９】
このようにモータ１ｘ〜１ｙ間で時間差が生じることにより、先端部１ａに意図された曲線や直線の軌跡を描かせることができないという問題がある。また、モータに限らず制御される装置を緊急停止させたい場合、それぞれの装置の制御装置それぞれに対して繰り返し同じコマンドを送信しなくてはならないという問題がある。また、制御される装置の数に比例して、最後に起動される装置が起動される時間が増加するという問題がある。【００１０】
また、特許文献１に記載の技術は、複数の子局（制御装置）に制御装置が制御する機器（被制御機器）を同報通信によって同時起動させる技術であるが、同報通信によって、制御装置が被制御機器を動作させるための制御コマンドと同時起動要求を複数の制御装置に対して送信しているために、安価な低速通信においては、起動を要求されてから実際に制御装置が被制御機器を動作させるまでに時間がかかってしまう。また、１つの子局のみを起動させる場合にも常に同報通信による起動信号が必要になるため、単局動作が比較的多い場合に不利になる。【００１１】
本発明は上述した問題点を解決するためになされたものであり、被制御装置の同時起動と単独起動の切り替えを含むシステムの構成の変化に柔軟に対応でき、比較的低速な通信を用いた場合でも同時起動及び単独起動にかかる遅延時間を最小にできる制御システム、制御方法、マスター装置、制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決するため、制御システムは、ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとを送信する第１送信部と、前記複数のスレーブ装置に対して、前記第１送信部により送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドを送信する第２送信部とを備えるマスター装置と、前記マスター装置より送信された制御コマンドとフラグとを受信する受信部と、前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部とを備えるスレーブ装置とを備える。【００１３】
また、制御方法は、ネットワークを介してマスター装置に接続された複数のスレーブ装置により被制御装置を制御することができる方法であって、前記複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとをマスター装置側から送信する第１送信ステップと、前記第１送信ステップにより送信された制御コマンドとフラグとを前記スレーブ装置側で受信する第１受信ステップと、前記第１受信ステップにより受信されたフラグが特定の値に設定されている場合に前記第１受信ステップにより受信された制御コマンドを前記スレーブ装置側の記憶部に保存する制御コマンド保存ステップと、前記複数のスレーブ装置に対して、前記第１送信ステップにより送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドをマスター装置側から送信する第２送信ステップと、前記第２送信ステップにより送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を前記スレーブ装置側で開始する第１制御開始ステップとを実行する。【００１４】
また、マスター装置は、ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に被制御装置を制御させる制御コマンドと、少なくとも二値以上に設定され、該値が特定の値に設定されることにより前記スレーブ装置に前記制御コマンドに基づく前記被制御装置の制御の実行を待機させるフラグとを送信する第１送信部と、前記複数のスレーブ装置に対して、前記第１送信部により送信され、前記特定の値に設定されたフラグにより前記被制御装置の制御の実行を待機させられた複数のスレーブ装置に前記第１送信部により送信された制御コマンドに基づく前記被制御装置の制御を同時に開始させる制御開始コマンドを送信する第２送信部とを備える。【００１５】
また、制御装置は、ネットワークを介して接続されたマスター装置より送信された被制御装置を制御する制御コマンドと少なくとも二値以上に設定されるフラグとを受信する受信部と、前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部とを備える。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１に係る制御システムの構成を示す図である。
【図２】実施の形態１に係る制御システムの他の構成を示す図である。
【図３】実施の形態１に係るパーソナルコンピュータの構成を示すブロック図である。
【図４】実施の形態１に係るパーソナルコンピュータの動作を示すフローチャートである。
【図５】実施の形態１に係る制御装置の構成を示すブロック図である。
【図６】パーソナルコンピュータから制御装置へ送信される信号を示す図である。
【図７】制御装置からパーソナルコンピュータへ送信される信号を示す図である。
【図８】コマンド解析部の動作を示すフローチャートである。
【図９】実行判断結果応答処理の動作を示すフローチャートである。
【図１０】実行判断処理の動作を示すフローチャートである。
【図１１】ハードウェアトリガ受信部の動作を示すフローチャートである。
【図１２】駆動制御部の動作を示すフローチャートである。
【図１３】位置制御コマンドに基づいて制御されるモータによる移動速度と時間の関係を示すグラフである。
【図１４】実施の形態２に係るパーソナルコンピュータの動作を示すフローチャートである。
【図１５】実施の形態２に係るコマンド解析部の動作を示すフローチャートである。
【図１６】実施の形態３に係る制御システムの構成を示す図である。
【図１７】実施の形態３に係る制御装置の構成を示す図である。
【図１８】実施の形態３に係る制御システムの動作例を示す図である。
【図１９】本実施の形態３に係る制御装置の他の動作例を示す図である。
【図２０】従来のシリアル通信による制御システムを示す図である。
【図２１】従来のシリアル通信による制御システムにおけるマスター装置の動作を示すフローチャートである。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態の例について図面を参照しつつ説明する。【００１８】
実施の形態１．
まず、本実施の形態に係る制御システムの構成について説明する。図１は、本実施の形態に係る制御システムの構成を示す図であり、図２は、本実施の形態に係る制御システムの他の構成を示す図である。【００１９】
本実施の形態に係る制御システムは、パーソナルコンピュータ１０（マスター装置）、制御装置２０ａ〜２０ｎ（スレーブ装置）、モータ３０ａ〜３０ｎ（被制御装置）、ドライバ４０、レシーバ５０、ハードウェアスイッチ６０（出力装置）により構成される。また、パーソナルコンピュータ１０とそれぞれの制御装置２０ａ〜２０ｎはＲＳ−４８５ケーブル７０によってマルチポイント接続されている。【００２０】
パーソナルコンピュータ１０は、制御装置２０ａ〜２０ｎに対して、モータ３０ａ〜３０ｎを制御するためのコマンドを送信するものである。また、制御装置２０ａ〜２０ｎはパーソナルコンピュータ１０より送信されたデータを解釈し、モータ３０ａ〜３０ｎを駆動させるものである。また、モータ３０ａ〜３０ｎは制御装置２０ａ〜２０ｎによって駆動されるものであり、制御装置２０ａ〜２０ｎにより制御されるものであれば、例えば、ＬＥＤなど他の装置であっても構わない。【００２１】
なお、本実施の形態は、モータ３０ａ〜３０ｎを制御することによって、ネジを締める装置を所定の位置へ所定の速度で移動させるものとし、モータ３０ａ〜３０ｎはその動作により、それぞれ特定の軸移動またはネジ締めを行うものとする。【００２２】
また、ハードウェアスイッチ６０は、ＯＮとＯＦＦを切り替えることができるものであり、接続された制御装置２０ａ〜２０ｎに対してＯＦＦ時にはＦＡＬＳＥ信号を送信し、ＯＮ時にはＴＲＵＥ信号（二値以上に設定される信号）を送信するものである。なお、ハードウェアスイッチ６０は、例えばそれぞれのモータ３０ａ〜３０ｎに備え付けられたセンサであっても構わない。また、本実施の形態においては全ての制御装置２０ａ〜２０ｎにハードウェアスイッチ６０が接続されているが、例えば特定の制御装置２０ａに対してのみ接続されていても良い。【００２３】
また、ＲＳ−４８５ケーブル７０は、シリアル方式により通信を行うためのケーブルであり、パーソナルコンピュータ１０とそれぞれの制御装置２０ａ〜２０ｎを接続するものである。なお、この接続において、パーソナルコンピュータ１０と制御装置２０ａ〜２０ｎを接続できるものであれば他のケーブルであって良く、異なる種類のネットワークであっても構わない。【００２４】
また、ドライバ４０は、ＲＳ−４８５ケーブル７０を駆動するドライバＩＣであり、図示しないＥＮＡＢＬＥ端子を備え、ＥＮＡＢＬＥ端子がＴＲＵＥの場合は接続された機器のデータをＲＳ−４８５ケーブルへ出力することができ、ＥＮＡＢＬＥ端子がＦＡＬＳＥの場合は出力をハイインピーダンスとして、ＲＳ−４８５ケーブルを他局に開放するものである。また、レシーバ５０はＲＳ−４８５ケーブルの差動信号をＴＴＬ（Ｔｒａｎｓｉｓｔｏｒ  Ｔｒａｎｓｉｓｔｏｒ  Ｌｏｇｉｃ）レベルに変換して接続された機器に入力するＩＣである。【００２５】
また、制御装置２０ａ〜２０ｎのそれぞれに対して装置固有のアドレスであるセレクションアドレス（Ｓｅｌｅｃｔｉｏｎ  ａｄｄｒｅｓｓ）が割り当てられていると共に、全ての制御装置に共通のアドレスであるオールリスンアドレス（Ａｌｌ  ｌｉｓｔｅｎ  ａｄｄｒｅｓｓ）が割り当てられている。また、制御装置２０ａ及び制御装置２０ｂに対して特定の複数の制御装置に共通のアドレスであるグループリスンアドレス（Ｇｒｏｕｐ  ｌｉｓｔｅｎ  ａｄｄｒｅｓｓ）が割り当てられている。【００２６】
また、制御装置２０ａ〜２０ｎは、送信された制御コマンドに基づく制御を待機するかどうかを判断するためのフラグとしてソフトウェアトリガ待機フラグ（二値以上に設定されるフラグ）と、制御を待機させられた場合にどの信号をトリガとして起動するかを判断するためのフラグとしてトリガフラグを保持している。また、パーソナルコンピュータ１０は、制御装置２０ａ〜２０ｎに対して、モータ３０ａ〜３０ｎを制御するための制御コマンドと共にソフトウェアトリガ待機フラグ値を制御装置２０ａ〜２０ｎに予め送信し、制御装置２０ａ〜２０ｂは後述する特定のソフトウェアトリガ待機フラグ値が送信された場合は動作を待機させる。そして、パーソナルコンピュータ１０はオールリスンアドレスまたはグループリスンアドレスにより全ての制御装置２０ａ〜２０ｎに起動のトリガとなるコマンドを送信することによって、送信されたアドレスと自己のアドレスが一致する制御装置にモータを同時起動させることができる。また、ハードウェアスイッチ６０からの信号をトリガとして複数の制御装置にそれぞれが制御するモータを同時起動させることができる。【００２７】
なお、本実施の形態において、パーソナルコンピュータ１０から送信される待機させられた制御を開始させるトリガとしてのコマンドをソフトウェアトリガコマンドとし、ハードウェアスイッチ６０から送信されるトリガとしての信号をハードウェアトリガとする。また、ドライバ４０及びレシーバ５０は、パーソナルコンピュータ１０及び制御装置２０ａ〜２０ｎのそれぞれに内蔵されているものとする。また、セレクションアドレスはアルファベット大文字Ａ〜ＺのＡＳＣＩＩコードとし、オールリスンアドレスはセレクションアドレスとは異なるＡＳＣＩＩコードとして＊（アスタリスク）とし、グループリスンアドレスはセレクションアドレス及びオールリスンアドレスと異なるＡＳＣＩＩコードとしてそれぞれのグループに固有の数字とする。また、図１に示す制御システムにおいて、パーソナルコンピュータ１０とそれぞれの制御装置２０ａ〜２０ｎはＲＳ−４８５ケーブル７０によってマルチポイント接続されているが、図２に示すようにパーソナルコンピュータ１０とそれぞれの制御装置２０ａ〜２０ｎの接続形態はマルチドロップ接続であっても構わない。【００２８】
次に、パーソナルコンピュータの構成について説明する。図３はパーソナルコンピュータの構成を示すブロック図である。なお、説明上、パーソナルコンピュータ１０には制御装置２０ａのみが接続されているものとする。【００２９】
図３に示すように、パーソナルコンピュータ１０はドライバ４０、レシーバ５０、送受信部１０１（第１送信部、第２送信部、第３送信部）、制御部１０２（第１送信部、第２送信部、第３送信部）を備えている。送受信部１０１は、制御装置２０ａに対してドライバ４０を介して各種コマンド及びソフトウェアトリガ待機フラグ値を送信し、また、レシーバ５０を介して送信したコマンドに対する応答を受信するものである。また、制御部１０２は送受信部１０１を制御するものである。【００３０】
次に、パーソナルコンピュータの動作について説明する。図４はパーソナルコンピュータの動作を示すフローチャートである。【００３１】
まず、制御部１０２は、送受信部１０１にそれぞれの制御装置、例えば制御装置２０ａに対して制御コマンドを送信させ（Ｓ１０１、第１送信ステップ）、その制御コマンドに対する応答を受信させ（Ｓ１０２）、送信すべき全ての制御装置のそれぞれに制御コマンドが送信されたかどうかを判断する（Ｓ１０３）。【００３２】
送信すべき全ての制御装置のそれぞれに制御コマンドが送信された場合（Ｓ１０３，ＹＥＳ）、制御部１０２は、オールリスンアドレスまたはグループリスンアドレスによって、接続された全ての制御装置２０ａ〜２０ｎまたは特定の複数の制御装置２０ａ及び２０ｂに対して、ソフトウェアトリガコマンドを送信する（Ｓ１０４、第２送信ステップ）。【００３３】
また、送信すべき全ての制御装置のそれぞれに制御コマンドが送信されていない場合（Ｓ１０３，ＮＯ）、制御部１０２は、再度送受信部１０１にそれぞれの制御装置、例えば制御装置２０ｂに対して制御コマンドを送信させる（Ｓ１０１）。【００３４】
次に、本実施の形態に係る制御装置の構成について説明する。図５は本実施の形態に係る制御装置の構成を示すブロック図である。また、図６はパーソナルコンピュータから制御装置へ送信される信号を示す図であり、図７は制御装置からパーソナルコンピュータへ送信される信号を示す図である。なお、図１及び図２に示す複数の制御装置はそれぞれ同じ構成とし、図５は一例として制御装置２０ａの構成を示す。【００３５】
本実施の形態に係る制御装置２０ａは、ドライバ４０、レシーバ５０、通信制御部２０１（受信部）、記憶部２０２、アドレス選択スイッチ２０３、増幅部２０４、コマンド解析部２０５（制御コマンド保存部、第１制御開始部）、ハードウェアトリガ受信部２０６（第２制御開始部）、駆動制御部２０７（第１制御開始部、第２制御開始部）を備える。【００３６】
通信制御部２０１は、ハードウェア部分において調歩同期方式などの通信制御を行ない、パーソナルコンピュータ１０からレシーバ５０を介して送信された信号を受信し、受信した信号への応答としてドライバ４０を介して信号をパーソナルコンピュータ１０に送信するものである。また、通信制御部２０１は、割り込み処理ソフト部分において図６に示すような一連のコマンド電文に対してスタートコードを検出するとバッファリングを開始し、以降のアドレスコード（セレクションアドレス、オールリスンアドレスまたはグループリスンアドレス）、後述する各種コマンド、パラメータ１〜パラメータｎ、チェックサムコードなどを順次受信し、エンドコードを検出するとバッファリングを終了してコマンド解析部２０５へ通知する。また、コマンド解析部２０５によるコマンド解析の結果、実行可／不可の判定を行ない、図７に示すような応答コード（および必要に応じてステータス情報や位置情報などのデータやチェックサムコードが付加されることもある）が通信制御部２０１に渡されると、スタートコードとエンドコードを付加しドライバ４０のＥＮＡＢＬＥ端子をＴＲＵＥにしてパーソナルコンピュータ４０へ一連の応答電文を返信する。なお、ＥＮＡＢＬＥ端子は送信が完了するとＦＡＬＳＥに戻される。【００３７】
受信するコマンドの種類の例として、ソフトウェアトリガコマンド、トリガ待機キャンセルコマンド、ハードウェアトリガ待機移行コマンド、トリガフラグ照会コマンド、動作状態照会コマンド、制御コマンドなどがあり、制御コマンドには、位置制御コマンド、速度制御コマンド、ねじ締め制御コマンドがある。また、制御コマンドにはＯＮまたはＯＦＦに設定されるソフトウェアトリガ待機フラグがパラメータとして付加されている。なお、各種コマンドと制御コマンドのパラメータについては後述する。【００３８】
また、コマンド解析部２０５は上述したコマンド以外のコマンドを解析し、解析したコマンドが制御駆動部２０７により実行可能かを判断するものである。また、コマンド解析部２０５は制御コマンドとそのパラメータに基づく駆動制御の実行を駆動制御部２０７へ指示するものである。また、コマンド解析部２０５はソフトウェアトリガ待機フラグ及びトリガフラグを保持し、ソフトウェアトリガ待機フラグがＯＮに設定されることにより、トリガフラグを特定の値に変更し、記憶部２０２に制御コマンドとそのパラメータを保存するものである。以下、トリガフラグについて説明する。【００３９】
トリガフラグは、０〜３の整数に設定されるフラグであって、以下の４つの状態を条件として示すものである。本実施の形態において、０をトリガ待機無し状態とし、１をソフトウェアトリガ待機状態とし、２をハードウェアトリガ待機状態とし、３をトリガ発行済み状態とする。なお、それぞれの条件における動作については後述する。【００４０】
また、ハードウェアトリガ受信部２０６は、ハードウェアスイッチ６０からの信号であるハードウェアトリガを受信するものであり、トリガフラグがハードウェア待機状態の場合に、ハードウェアスイッチ６０からハードウェアトリガを受信することにより、駆動制御部２０７へ記憶されていた制御コマンドとそのパラメータに基づく制御の開始を指示するものである。なお、ハードウェアトリガはハードウェアスイッチ６０からのＴＲＵＥ信号をきっかけとする。【００４１】
また、駆動制御部２０７は、コマンド解析部２０５またはハードウェアトリガ受信部２０６より与えられたコマンドとそのパラメータに基づいて、モータ３０ａを駆動するものである。なお、パラメータは、例えばモータ３０ａを駆動することによって移動する装置であれば、目標位置、移動速度、加速度などを示す値である。また、駆動制御部２０７は、与えられたパラメータと実際のモータ３０ａの動作が一致するようにフィードバック制御を行っても良い。また、駆動制御部２０７は、モータ３０ａが動作中であることを示すＴＲＵＥ、停止中であることを示すＦＡＬＳＥに設定される動作ステータスを出力するものである。【００４２】
また、増幅部２０４はモータ３０ａを駆動するために電力を増幅するためのものであり、記憶部２０２はコマンドとそのパラメータを保存するためのものである。また、アドレス選択スイッチ２０３は、制御システムの管理者が制御装置２０ａのセレクションアドレス及びグループリスンアドレスを設定するためのスイッチである。【００４３】
次に、制御装置のコマンド解析部の動作について説明する。図８はコマンド解析部の動作を示すフローチャートである。【００４４】
まず、コマンド解析部２０５は、通信制御部２０１を介してパーソナルコンピュータ１０より送信された受信データを取得し、受信データに含まれるアドレスが自己の保持するアドレス（オールリスンアドレス、グループリスンアドレスまたはセレクションアドレスのいずれか）と一致するかどうか、つまり、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００４５】
通知された受信データに含まれるアドレスが自己の保持するアドレスと一致する場合（Ｓ２０１，ＹＥＳ）、コマンド解析部２０５は、受信データに含まれるアドレスがセレクションアドレスかどうかを判断する（Ｓ２０２）。【００４６】
アドレスがセレクションアドレスである場合（Ｓ２０２，ＹＥＳ）、コマンド解析部２０５は、コマンドがトリガフラグ照会コマンドかどうかを判断する（Ｓ２０３）。【００４７】
コマンドがトリガフラグ照会コマンドではない場合（Ｓ２０３，ＮＯ）、コマンド解析部２０５は、コマンドが動作ステータス照会コマンドかどうかを判断する（Ｓ２０４）。【００４８】
コマンドが動作ステータス照会コマンドではない場合（Ｓ２０４，ＮＯ）、コマンド解析部２０５は、コマンドが位置決め制御コマンドかどうかを判断する（Ｓ２０５）。【００４９】
コマンドが制御コマンドである場合（Ｓ２０５，ＹＥＳ，受信ステップ）、コマンド解析部２０５は、制御コマンドにパラメータとして付加されたソフトウェアトリガ待機フラグがＯＮかどうかを判断する（Ｓ２０６，制御コマンド保存ステップ）。【００５０】
ソフトウェアトリガ待機フラグがＯＮである場合（Ｓ２０６，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを１、つまりソフトウェアトリガ待機状態に変更し（Ｓ２０７）、コマンドとそのパラメータを記憶部２０２に保存して、パーソナルコンピュータ１０に通信制御部２０１を介して応答を送信し（Ｓ２０８，制御コマンド保存ステップ）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５１】
一方、ソフトウェアトリガ待機フラグがＯＮではない場合、つまりソフトウェアトリガ待機フラグがＯＦＦである場合（Ｓ２０６，ＮＯ）、コマンド解析部２０５は、トリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ２０９）、駆動制御部２０７に対して、コマンドとそのパラメータに基づく駆動制御の実行を指示してパーソナルコンピュータ１０に通信制御部２０１を介して応答を返信し（Ｓ２１０）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５２】
また、ステップＳ２０５の判断において、コマンドが制御コマンドではない場合（Ｓ２０５，ＮＯ）、コマンド解析部２０５は、後述する実行判断結果応答処理を実行し（Ｓ２１３）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５３】
また、ステップＳ２０４の判断において、コマンドが動作ステータス照会コマンドである場合（Ｓ２０４，ＹＥＳ）、コマンド解析部２０５は、駆動制御部２０７の動作ステータスを参照して返信し（Ｓ２１２）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５４】
また、ステップＳ２０３の判断において、コマンドがトリガフラグ照会コマンドである場合（Ｓ２０３）、コマンド解析部２０５は、通信制御部２０１を介してトリガフラグの値をパーソナルコンピュータ１０に返信し（Ｓ２１１）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５５】
また、ステップＳ２０２の判断において、アドレスがセレクションアドレスではない場合（Ｓ２０２，ＮＯ）、コマンド解析部２０５は、コマンドがハードウェアトリガ待機移行コマンドかどうかを判断する（Ｓ２１４）。【００５６】
コマンドがハードウェアトリガ待機移行コマンドではない場合（Ｓ２１４，ＮＯ）、コマンド解析部２０５は、コマンドがトリガ待機キャンセルコマンドかどうかを判断する（Ｓ２１５）。【００５７】
コマンドがトリガ待機キャンセルコマンドではない場合（Ｓ２１５，ＮＯ）、コマンド解析部２０５は、コマンドがソウトウェアトリガ発行コマンドかどうかを判断する（Ｓ２１６）。【００５８】
コマンドがソフトウェアトリガコマンドではない場合（Ｓ２１６，ＮＯ）、コマンド解析部２０５は、後述する実行判断処理を実行し（Ｓ２１７）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００５９】
一方、コマンドがソフトウェアトリガコマンドである場合（Ｓ２１６，ＹＥＳ，第１制御開始ステップ）、コマンド解析部２０５は、トリガフラグが１であるかどうか、つまりソフトウェアトリガ待機状態であるかどうかを判断する（Ｓ２２１）。【００６０】
トリガフラグが１である場合（Ｓ２２１，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを３、つまりトリガ発行済み状態に変更し（Ｓ２２２）、記憶部２０２に保存された制御コマンドとそのパラメータに基づくモータ３０ａの制御を駆動制御部２０７に開始させ（Ｓ２２３，第１制御開始ステップ）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００６１】
一方、トリガフラグが１ではない場合（Ｓ２２１，ＮＯ）、コマンド解析部２０５は、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００６２】
また、ステップＳ２１５の判断において、コマンドがトリガ待機キャンセルコマンドである場合（Ｓ２１５，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ２２０）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００６３】
また、ステップＳ２１４の判断において、コマンドがハードウェアトリガ移行コマンドである場合（Ｓ２１４，ＹＥＳ）、コマンド解析部２０５は、トリガフラグが１であるかどうか、つまりソフトウェアトリガ待機状態であるかどうかを判断する（Ｓ２１８）。【００６４】
トリガフラグが１である場合（Ｓ２１８，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを２、つまりハードウェアトリガ待機状態に変更し（Ｓ２１９）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【００６５】
上述したように、パーソナルコンピュータ１０は特定のセレクションアドレスを持つ駆動制御部２０７にモータ３０ａを制御させるための制御コマンドとそのパラメータとして付加されたソフトウェアトリガ待機フラグを予め送信する。そして、コマンド解析部２０５はＯＮに設定されたソフトウェアトリガ待機フラグを受信すると、トリガフラグを１に変更し、制御コマンドとそのパラメータを記憶部２０２に保存する。その後、コマンド解析部２０５はソフトウェアトリガコマンドを受信すると、トリガフラグをトリガ発行済みに変更し、記憶部２０２に保存された制御コマンドとそのパラメータに基づいて駆動制御部２０７に対して実行指示を出す。【００６６】
これらの動作によって、パーソナルコンピュータ１０はソフトウェアトリガコマンドを制御装置２０ａ〜２０ｎに対して送信するだけで、それぞれの制御装置は予め受信したそれぞれ異なる制御コマンドとそのパラメータに基づいて同時に起動し、それぞれのモータを制御することができる。また、制御コマンドとそのパラメータは予め制御装置２０ａ〜２０ｎのそれぞれに送信されているため、同時起動を要求するコマンド、つまりソフトウェアトリガコマンドのデータ量は小さくなり、パーソナルコンピュータ１０と制御装置２０ａ〜２０ｎが比較的低速な通信により接続されていたとしても、パーソナルコンピュータ１０がソフトウェアトリガコマンドを送信してから短時間で制御装置２０ａ〜２０ｎを同時に起動させることができ、制御装置２０ａ〜２０ｎは、パーソナルコンピュータ１０に受信した制御コマンドに対する応答を返すことができる。【００６７】
また、特定のタイミングで制御を開始させる必要がある場合、ソフトウェトリガコマンドを送信してから制御装置２０ａ〜２０ｎが制御を開始させるまでの遅延時間は常に一定であるため、特定のタイミングよりも遅延時間分だけ早くソフトウェアトリガコマンドを送信することによって、正確なタイミングで制御を開始させることができる。【００６８】
次に、実行判断結果応答処理について説明する。図９は実行判断結果応答処理の動作を示すフローチャートである。なお、この処理は図８におけるステップＳ２１３での処理である。【００６９】
まず、コマンド解析部２０５は、トリガフラグ照会コマンド、動作ステータス照会コマンド、制御コマンド以外のコマンドを解析し（Ｓ３０１）、解析されたコマンドが実行可能かどうかを判断する（Ｓ３０２）。【００７０】
コマンドが実行可能である場合（Ｓ３０２，ＹＥＳ）、コマンド解析部２０５は、通信制御部２０１を介して、正常応答をパーソナルコンピュータ１０に対して返信し（Ｓ３０３）、コマンドを実行する（Ｓ３０４）。【００７１】
一方、コマンドが実行不可能である場合（Ｓ３０２，ＮＯ）、コマンド解析部２０５は、通信制御部２０１を介して、拒絶応答をパーソナルコンピュータ１０に対して返信する（Ｓ３０５）。【００７２】
次に、実行判断処理について説明する。図１０は実行判断処理の動作を示すフローチャートである。なお、この処理は図８におけるステップＳ２１７での処理である。【００７３】
まず、コマンド解析部２０５は、ハードウェアトリガ待機移行コマンド、トリガ待機キャンセルコマンド、ソフトウェアトリガコマンド以外のコマンドを解析し（Ｓ４０１）、解析されたコマンドが実行可能かどうかを判断する（Ｓ４０２）。【００７４】
コマンドが実行可能である場合（Ｓ４０２，ＹＥＳ）、コマンド解析部２０５は、コマンドを実行する（Ｓ４０３）。【００７５】
一方、コマンドが実行不可能である場合（Ｓ４０３，ＮＯ）、コマンド解析部２０５は、コマンドを実行せずに実行判断処理を終了する。【００７６】
上述のように、制御装置２０ａは、セレクションアドレスによって送信されたコマンドに関しては、そのコマンドがコマンド解析部２０５によって実行可能かどうかをパーソナルコンピュータ１０に応答することができる。【００７７】
次に、制御装置のハードウェアトリガ受信部の動作について説明する。図１１はハードウェアトリガ受信部の動作を示すフローチャートである。【００７８】
まず、ハードウェアトリガ受信部２０６は、コマンド解析部２０５のトリガフラグが２、つまりハードウェアトリガ待機状態かどうかを判断する（Ｓ５０１）。【００７９】
ハードウェアトリガ待機状態である場合（Ｓ５０１，ＹＥＳ）、ハードウェアトリガ受信部２０６は、ハードウェアトリガが検知されたかどうか、つまりハードウェアスイッチ６０からの信号がＦＡＬＳＥからＴＲＵＥに変更されたかを判断する（Ｓ５０２）。【００８０】
ハードウェアトリガが検出された場合、つまり、ハードウェアスイッチ６０からＴＲＵＥ信号が入力された場合（Ｓ５０２，ＹＥＳ，第２制御開始ステップ）、ハードウェアトリガ受信部２０６は、コマンド解析部２０５のトリガフラグを３、つまりトリガ発行済み状態に変更し、記憶部２０２に記憶されている制御コマンドとそのパラメータに基づく制御を駆動制御部２０７に開始させ（Ｓ５０４，第２制御開始ステップ）、再度、コマンド解析部２０５のトリガフラグが２、つまりハードウェアトリガ待機状態かどうかを判断する（Ｓ５０１）。【００８１】
一方、ハードウェアトリガが検出されなかった場合、つまり、ハードウェアスイッチ６０からＦＡＬＳＥ信号が入力された場合（Ｓ５０２，ＮＯ）、ハードウェアトリガ受信部２０６は、再度、コマンド解析部２０５のトリガフラグが２、つまりハードウェアトリガ待機状態かどうかを判断する（Ｓ５０１）。【００８２】
また、ステップＳ５０１において、コマンド解析部２０５がハードウェアトリガ待機状態ではない場合（Ｓ５０１，ＮＯ）、ハードウェアトリガ受信部２０６は、再度、コマンド解析部２０５のトリガフラグが２、つまりハードウェアトリガ待機状態かどうかを判断する（Ｓ５０１）。【００８３】
上述のように、コマンド解析部２０５のトリガフラグが予めハードウェアトリガ待機状態にされ、ハードウェアトリガ受信部がハードウェアスイッチ６０よりハードウェアトリガ、つまりＴＲＵＥ信号を受信することによって、ハードウェアスイッチ６０に接続された制御装置２０ａ〜２０ｎは同時に駆動制御部２０７にモータ３０ａ〜３０ｎの制御を開始させることができる。これらの動作により、通信時間の遅れなどが入らないため、ハードウェアトリガ条件の発生と同時に起動を掛けることができる。また、パーソナルコンピュータ１０以外からの指示、例えばセンサの情報などの外部の情報に基づいて起動を掛けることができる。また、各制御装置２０ａ〜２０ｎに異なるセンサを接続することで、それぞれ異なるタイミングでモータ３０ａ〜３０ｎを起動させることができる。また、ハードウェアトリガを入力する装置として、押しボタンスイッチを接続することによって、同時起動のタイミングを人が決定することができる。また、同時起動の条件が全て整った後に、ハードウェアトリガ待機移行コマンドが発行されることで、トリガ入力を有効状態に設定できる。【００８４】
次に、制御装置の駆動制御部の動作について説明する。図１２は駆動制御部の動作を示すフローチャートである。また、図１３は位置制御コマンドに基づいて制御されるモータによる移動速度と時間の関係を示すグラフである。なお、この図１２において、駆動制御部はコマンド解析部またはハードウェアトリガ受信部から制御コマンドとそのパラメータをすでに通知されているものとする。なお、説明上、異なるモータによってなされるべき制御コマンドであっても、全てモータ３０ａによって実行されるものとする。【００８５】
まず、駆動制御部２０７は、通知された制御コマンドが位置制御コマンドであるかどうかを判断する（Ｓ６０１）。【００８６】
通知された制御コマンドが位置制御コマンドである場合（Ｓ６０１，ＹＥＳ）、駆動制御部２０７は、動作ステータスを動作中であることを示すＴＲＵＥに設定し（Ｓ６０２）、目標位置、指示速度、指示加速度を示す位置制御コマンドのパラメータに基づいて図１３に示すような台形速度曲線を生成し、モータ３０ａを駆動させ（Ｓ６０３）、モータ３０ａにより移動される所定の部位、例えばねじ締め部、が目標位置に到達したかどうかを判断する（Ｓ６０４）。【００８７】
所定の部位が目標位置に到達した場合（Ｓ６０４，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグが３かどうか、つまり、トリガ発行済み状態かどうかを判断する（Ｓ６０５）。【００８８】
トリガフラグがトリガ発行済み状態である場合（Ｓ６０５，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ６０６）、動作ステータスをＦＡＬＳＥに変更する（Ｓ６０７）。【００８９】
一方、コマンド解析部２０５がトリガ発行済み状態ではない場合（Ｓ６０５，ＮＯ）駆動制御部２０７は、動作ステータスをＦＡＬＳＥに変更する（Ｓ６０７）。【００９０】
また、ステップＳ６０４の判断において、所定の装置が目標位置に到達していない場合（Ｓ６０４，ＮＯ）、駆動制御部２０７は、モータ３０ａを駆動させ続ける（Ｓ６０３）。【００９１】
また、ステップＳ６０１の判断において、通知された制御コマンドが位置制御コマンドではない場合（Ｓ６０１，ＮＯ）、駆動制御部２０７は、通知された制御コマンドが速度制御コマンドかどうかを判断する（Ｓ６０８）。【００９２】
通知されたコマンドが速度制御コマンドである場合（Ｓ６０８，ＹＥＳ）、駆動制御部２０７は、動作ステータスを動作中であることを示すＴＲＵＥに設定し（Ｓ６０９）、指示速度、指示加速度を示す速度制御コマンドのパラメータに基づいて、すでに駆動されているモータ３０ａの速度を加減し（Ｓ６１０）、モータ３０ａにより移動される所定の部位の移動速度が指示速度に到達したかどうかを判断する（Ｓ６１１）。【００９３】
所定の装置の移動速度が指示速度に到達した場合（Ｓ６１１，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグが３かどうか、つまり、トリガ発行済み状態かどうかを判断する（Ｓ６１２）。【００９４】
コマンド解析部２０５がトリガ発行済み状態である場合（Ｓ６１２，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ６１３）、動作ステータスをＦＡＬＳＥに変更する（Ｓ６１４）。【００９５】
一方、コマンド解析部２０５がトリガ発行済み状態ではない場合（Ｓ６１２，ＮＯ）駆動制御部２０７は、動作ステータスをＦＡＬＳＥに変更する（Ｓ６１４）。【００９６】
また、ステップＳ６１１の判断において、所定の部位の移動速度が目標速度に到達していない場合（Ｓ６１１，ＮＯ）、駆動制御部２０７は、モータ３０ａの駆動速度の加減を継続する（Ｓ６１０）。【００９７】
また、ステップＳ６０８の判断において、通知された制御コマンドが速度制御コマンドではない場合（Ｓ６０８，ＮＯ）、駆動制御部２０７は、通知された制御コマンドがねじ締め制御コマンドかどうかを判断する（Ｓ６１５）。【００９８】
通知されたコマンドがねじ締め制御コマンドである場合（Ｓ６１５，ＹＥＳ）、駆動制御部２０７は、動作ステータスを動作中であることを示すＴＲＵＥに設定し（Ｓ６１６）、最終締め付けトルク、ビット回転速度を示すねじ締め制御コマンドのパラメータに基づいて、ねじを締めるためのドライバを回転させるモータ３０ａを駆動し（Ｓ６１７）、ねじ締めが完了したかどうかを判断する（Ｓ６１８）。【００９９】
ねじ締めが完了した場合（Ｓ６１８，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグが３かどうか、つまり、トリガ発行済み状態かどうかを判断する（Ｓ６１９）。【０１００】
コマンド解析部２０５がトリガ発行済み状態である場合（Ｓ６１９，ＹＥＳ）、駆動制御部２０７は、コマンド解析部２０５のトリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ６２０）、動作ステータスをＦＡＬＳＥに変更する（Ｓ６２１）。【０１０１】
一方、コマンド解析部２０５がトリガ発行済み状態ではない場合（Ｓ６１９，ＮＯ）駆動制御部２０７は、動作ステータスをＦＡＬＳＥに変更する（Ｓ６２１）。【０１０２】
また、ステップＳ６１８の判断において、ねじ締めが完了していない場合（Ｓ６１８，ＮＯ）、駆動制御部２０７は、ねじを締めるためのドライバを回転させるモータ３０ａを駆動し続ける（Ｓ６１７）。【０１０３】
また、ステップＳ６１５の判断において、通知された制御コマンドが速度制御コマンドではない場合（Ｓ６１５，ＮＯ）、駆動制御部２０７は、モータ３０ａの駆動制御を終了する。【０１０４】
以上の動作によって、パーソナルコンピュータ１０は全ての制御装置２０ａ〜２０ｎにモータ３０ａ〜３０ｎを同時に起動させ、また、特定の複数の制御装置２０ａ及び制御装置２０ｂにモータ３０ａ及び３０ｂを同時に起動させることができる。【０１０５】
実施の形態２．
上述の実施の形態１において、セレクションアドレスに基づいて、それぞれの制御装置に対して別個に送信される制御コマンドにパラメータとしてソフトウェアトリガ待機フラグ値を付加し、制御装置に制御コマンドを保存させ、ソフトウェアトリガコマンドがパーソナルコンピュータから送信されるまで、制御装置に保存させた制御コマンドの実行を待機させた。本実施の形態においては、後述するように、オールリスンアドレスまたはグループリスンアドレスに基づいて、制御装置を待機させるコマンドを複数の制御装置に対して送信する。以下、実施の形態１と異なる構成及び動作について図を用いて説明する。【０１０６】
本実施の形態に係るパーソナルコンピュータの動作において、制御部が送受信部に後述するコマンド待機コマンドを制御装置に対して送信させる点が実施の形態１と異なる。なお、コマンド待機コマンドは、次に送信する制御コマンドを制御装置に待機させるコマンドである。図１４は本実施の形態にかかるパーソナルコンピュータの動作を示すフローチャートである。なお、図１４において、パーソナルコンピュータはオールリスンアドレスにより全ての制御装置にコマンド待機コマンドを送信するものとするが、グループリスンアドレスにより特定の制御装置にコマンド待機コマンドを送信しても良い。【０１０７】
まず、制御部１０２は、送受信部１０１にオールリスンアドレスにより全ての制御装置２０ａ〜２０ｎに対してコマンド待機コマンドを送信させ（Ｓ７０１，第３送信ステップ）、制御装置２０ａ〜２０ｎのいずれかの制御装置に対して制御コマンドを送信させ（Ｓ７０２、第１送信ステップ）、その制御コマンドに対する応答を受信させ（Ｓ７０３）、全ての制御装置２０ａ〜２０ｎのそれぞれに制御コマンドが送信されたかどうかを判断する（Ｓ７０４）。【０１０８】
全ての制御装置２０ａ〜２０ｎのそれぞれに制御コマンドが送信された場合（Ｓ７０４，ＹＥＳ）、制御部１０２は、送受信部１０１にソフトウェアトリガコマンドを送信させる（Ｓ７０５、第２送信ステップ）。【０１０９】
また、全ての制御装置２０ａ〜２０ｎのそれぞれに制御コマンドが送信されていない場合（Ｓ７０４，ＮＯ）、制御部１０２は、再度送受信部１０１に制御装置２０ａ〜２０ｎのいずれかの制御装置に対して制御コマンドを送信させる（Ｓ７０２）。【０１１０】
次に、実施の形態１と異なるコマンド解析部の構成及び動作について説明する。本実施の形態に係る制御装置の構成において、コマンド解析部がコマンド実行待機フラグを保持している点が実施の形態１とは異なる。図１５は本実施の形態に係るコマンド解析部の動作を示すフローチャートである。なお、図１５における図８と同じ符号であるステップにおいて、本実施の形態に係るコマンド解析部は実施の形態１に係るコマンド解析部と同じ処理を行うものとし、実施の形態１とは異なる処理とそれに直接関わる処理以外はその説明を省略する。また、本実施の形態において、パーソナルコンピュータはコマンド待機コマンドを制御装置に対して送信するものとする。また、後述するコマンド待機フラグはＴＲＵＥまたはＦＡＬＳＥに設定されるものとする。【０１１１】
ステップＳ２１５において、コマンド解析部２０５は、コマンドがトリガ待機キャンセルコマンドであるかどうかを判断し（Ｓ２１５）、コマンドがトリガ待機キャンセルコマンドである場合（Ｓ２１５，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ２２０）、コマンド実行待機フラグをＦＡＬＳＥに変更する（Ｓ２２０ａ）。【０１１２】
一方、コマンドがトリガ待機キャンセルコマンドではない場合（Ｓ２１５，ＮＯ）、コマンド解析部２０５は、コマンドがコマンド待機コマンドかどうかを判断する（Ｓ２１５ａ）。【０１１３】
コマンドがコマンド待機コマンドである場合（Ｓ２１５ａ，ＹＥＳ）、コマンド解析部２０５は、コマンド待機フラグをＴＲＵＥに変更する。また、コマンドがコマンド待機コマンドではない場合（Ｓ２１５ａ，ＮＯ）、コマンド解析部２０５はコマンドがソフトウェアトリガコマンドかどうかを判断する（Ｓ２１６）。【０１１４】
また、ステップＳ２２１において、コマンド解析部２０５はトリガフラグが１かどうかを判断し、トリガフラグが１である場合（Ｓ２２１，ＹＥＳ）、コマンド解析部２０５はコマンド待機フラグをＦＡＬＳＥに変更する（Ｓ２２１ａ）。【０１１５】
また、ステップＳ２０５において、コマンド解析部２０５はコマンドが位置制御コマンドかどうかを判断し、コマンドが位置制御コマンドである場合（Ｓ２０５，ＹＥＳ）、コマンド解析部２０５はコマンド実行待機フラグがＴＲＵＥかどうかを判断する（Ｓ２０６ａ）。【０１１６】
コマンド実行待機フラグがＴＲＵＥである場合（Ｓ２０６ａ，ＹＥＳ）、コマンド解析部２０５は、トリガフラグを１、つまりソフトウェアトリガ待機状態に変更し（Ｓ２０７）、コマンドとそのパラメータを記憶部２０２に保存し（Ｓ２０８）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【０１１７】
一方、コマンド実行待機フラグがＴＲＵＥではない場合（Ｓ２０６ａ，ＮＯ）、コマンド解析部２０５は、トリガフラグを０、つまりトリガ待機無し状態に変更し（Ｓ２０９）、駆動制御部２０７に対して、コマンドとそのパラメータに基づく駆動制御の実行を指示してパーソナルコンピュータ１０に通信制御部２０１を介して応答を返信し（Ｓ２１０）、再度、自己に対するコマンドを含む送信データが通信制御部２０１より通知されたかどうかを判断する（Ｓ２０１）。【０１１８】
上述のように、本実施の形態では、制御コマンドのパラメータとしてソフトウェアトリガ待機フラグの値を付加する代わりに、コマンド実行待機コマンドによって、予めコマンド実行待機フラグをＴＲＵＥに変更し、コマンド実行待機フラグがＴＲＵＥの場合に制御コマンド及びそのパラメータを記憶部２０２に保存する。そして、ソフトウェアトリガコマンドがオールリスンアドレスまたはグループリスンアドレスによって制御装置に送信されることによってそれぞれ異なる制御コマンドをそれぞれの制御装置に実行させることができる。この動作により、制御コマンドのパラメータとしてソフトウェアトリガ待機フラグを付加する必要がなくなる。また、コマンド実行待機コマンドはオールリスンアドレスまたはグループリスンアドレスによって送信されるため、各制御装置を個別に待機させる必要がない。【０１１９】
実施の形態３．
上述の実施の形態１及び実施の形態２において、制御装置２０ａ〜２０ｎはハードウェアスイッチ６０から送信されるトリガとしての信号をハードウェアトリガとしたが、本実施の形態における制御装置２０ａ〜２０ｎはワイヤードＯＲラインによる信号をハードウェアトリガとする。図１６は、本実施の形態に係る制御システムの構成を示す図である。また、図１７は、本実施の形態に係る制御装置の構成を示す図である。【０１２０】
本実施の形態における制御システムは、制御装置２０ａ〜２０ｎにハードウェアスイッチ６０の代わりにワイヤードＯＲライン８０（監視部）が接続されている点が実施の形態１及び実施の形態２と異なる。制御装置２０ａ〜２０ｎはワイヤードＯＲライン８０に対して動作中であることを示す信号として負論理信号を出力し、ワイヤードＯＲライン８０は全ての制御装置２０ａ〜２０ｎの動作が完了することにより全ての制御装置２０ａ〜２０ｎにハードウェアトリガとしての信号を出力する。【０１２１】
具体的には、図１７に示すように、駆動制御部２０７はモータ３０ａを駆動させている間は負論理信号としてＬＯＷを出力し、モータ３０ａを駆動させていない間は負論理信号としてＨＩＧＨを出力する。また、ワイヤードＯＲライン８０は、制御装置２０ａ〜２０ｎのいずれかからの信号がＬＯＷ（真）である場合、ＯＲ演算値はＬＯＷとなるため、ハードウェア受信部２０６にＬＯＷを入力し、また、全ての制御装置２０ａ〜２０ｎからの信号がＨＩＧＨ（偽）である場合は、ＯＲ演算値はＨＩＧＨとなるため、ハードウェア受信部２０６にＨＩＧＨを入力する。また、ハードウェア受信部２０６はワイヤードＯＲライン８０により入力されたＨＩＧＨをハードウェアトリガとする【０１２２】
次に、本実施の形態に係る制御システムの動作について説明する。図１８は、本実施の形態に係る制御システムの動作例を示す図である。また、図１９は、本実施の形態に係る制御装置の他の動作例を示す図である。なお、図１８及び図１９において、説明上、パーソナルコンピュータ１０には制御装置２０ａ〜２０ｃが接続されているものとし、モータ３０ａは所定の装置をＸ軸方向に移動させるものとし、モータ３０ｂは所定の装置をＹ軸方向に移動させるものとし、モータ３０ｃは所定の装置をＺ軸方向に移動させるものとする。また、パーソナルコンピュータはハードウェアトリガ待機移行コマンドを送信する直前にはソフトウェア待機フラグをＯＮとした位置決め制御コマンドを送信しているものとする。【０１２３】
図１８に示すように、制御装置２０ａ〜２０ｃは、全ての制御装置２０ａ〜２０ｃがモータを駆動せず、ＨＩＧＨを出力していること、つまり、ワイヤードＯＲライン８０がＨＩＧＨである場合、ハードウェアトリガ待機移行コマンドによるハードウェアトリガ待機状態をすぐに解除して予め送信された制御コマンドをすぐに実行する。また、制御装置２０ａ〜２０ｃは、制御装置２０ａ〜２０ｃのいずれかがモータを駆動し、ＬＯＷを出力していること、つまり、ワイヤードＯＲライン８０がＬＯＷである場合、ワイヤードＯＲライン８０がＨＩＧＨになるまで、ハードウェアトリガ待機移行コマンドによるハードウェアトリガ待機状態を解除しない。また、ワイヤードＯＲライン８０がＨＩＧＨになると、パーソナルコンピュータ１０は、ハードトリガ待機移行コマンド発行後はステータス照会コマンドを制御装置２０ａ〜２０ｃに定期的に(あるいは他の処理がある時は適切な間隔をおいて)送信し、トリガフラグを参照してハードウェアトリガ待機状態が解除されたことを確認して、次に実行させる制御コマンドを送信する。【０１２４】
また、図１９に示すように、制御装置２０ａ〜２０ｃが、モータの駆動開始からモータの減速開始までの間にＬＯＷを出力することで、全ての制御装置２０ａ〜２０ｃがモータの減速を開始することをハードウェアトリガとしてハードウェア待機状態にある次の制御コマンドの実行を開始することができる。【０１２５】
上述のように、全ての制御装置２０ａ〜２０ｃによるモータ駆動の終了、または減速開始のような所定のタイミングにおける信号の変化をハードウェアトリガとすることで、全軸の動作完了または減速開始で直ちに次の起動を掛けることができる。この方法によれば、最も高速処理が必要な部分ではハードウエアトリガにより動作を切り替えられるため、低速で安価な省配線のシリアル通信を用いた場合でも高速で無駄のない動作が実現できる。【０１２６】
更に、マスター装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、マスタープログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、判定装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【産業上の利用可能性】
【０１２７】
以上説明したように、本発明を適用する事で、比較的低速な通信によって接続される制御装置により複数の被制御装置を同時に起動させることができる。
【図１】
2009063565.tif 000003
【図２】
2009063565.tif 000004
【図３】
2009063565.tif 000005
【図４】
2009063565.tif 000006
【図５】
2009063565.tif 000007
【図６】
2009063565.tif 000008
【図７】
2009063565.tif 000009
【図８】
2009063565.tif 000010
【図９】
2009063565.tif 000011
【図１０】
2009063565.tif 000012
【図１１】
2009063565.tif 000013
【図１２】
2009063565.tif 000014
【図１３】
2009063565.tif 000015
【図１４】
2009063565.tif 000016
【図１５】
2009063565.tif 000017
【図１６】
2009063565.tif 000018
【図１７】
2009063565.tif 000019
【図１８】
2009063565.tif 000020
【図１９】
2009063565.tif 000021
【図２０】
2009063565.tif 000022
【図２１】
2009063565.tif 000023
【手続補正書】
【提出日】平成22年3月10日(2010.3.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとを送信する第１送信部と、前記複数のスレーブ装置に対して、前記第１送信部により送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドを送信する第２送信部とを備えるマスター装置と、
前記マスター装置より送信された制御コマンドとフラグとを受信する受信部と、前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部とを備えるスレーブ装置と
を備える制御システム。
【請求項２】
請求項１に記載の制御システムにおいて、
前記第２送信部は、前記ネットワークを介した同報通信により前記複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御システム。
【請求項３】
請求項１に記載の制御システムにおいて、
前記第２送信部は、前記複数のスレーブ装置のうち特定の複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とする制御システム。
【請求項４】
請求項１に記載の制御システムにおいて、
前記スレーブ装置は、前記被制御装置の動作状況を監視する監視部をさらに備え、
前記第１制御開始部は、前記監視部による監視結果に基づいて前記被制御装置の制御を開始することを特徴とする制御システム。
【請求項５】
ネットワークを介してマスター装置に接続された複数のスレーブ装置により被制御装置を制御することができる制御方法であって、
前記複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に前記被制御装置を制御させる制御コマンドと少なくとも二値以上に設定されるフラグとをマスター装置側から送信する第１送信ステップと、
前記第１送信ステップにより送信された制御コマンドとフラグとを前記スレーブ装置側で受信する第１受信ステップと、
前記第１受信ステップにより受信されたフラグが特定の値に設定されている場合に前記第１受信ステップにより受信された制御コマンドを前記スレーブ装置側の記憶部に保存する制御コマンド保存ステップと、
前記複数のスレーブ装置に対して、前記第１送信ステップにより送信された制御コマンドに基づく制御を前記複数のスレーブ装置に同時に開始させる制御開始コマンドをマスター装置側から送信する第２送信ステップと、
前記第２送信ステップにより送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を前記スレーブ装置側で開始する第１制御開始ステップと
を実行する制御方法。
【請求項６】
ネットワークを介して接続された複数のスレーブ装置のそれぞれに対して、前記スレーブ装置に被制御装置を制御させる制御コマンドと、少なくとも二値以上に設定され、該値が特定の値に設定されることにより前記スレーブ装置に前記制御コマンドに基づく前記被制御装置の制御の実行を待機させるフラグとを送信する第１送信部と、
前記複数のスレーブ装置に対して、前記第１送信部により送信され、前記特定の値に設定されたフラグにより前記被制御装置の制御の実行を待機させられた複数のスレーブ装置に前記第１送信部により送信された制御コマンドに基づく前記被制御装置の制御を同時に開始させる制御開始コマンドを送信する第２送信部と
を備えるマスター装置。
【請求項７】
請求項６に記載のマスター装置において、
前記第２送信部は、前記ネットワークを介した同報通信により前記複数のスレーブ装置に対して前記制御開始コマンドを送信することを特徴とするマスター装置。
【請求項８】
ネットワークを介して接続されたマスター装置より送信された被制御装置を制御する制御コマンドと少なくとも二値以上に設定されるフラグとを受信する受信部と、
前記受信部により受信されたフラグが特定の値に設定されている場合に前記受信部により受信された制御コマンドを記憶部に保存する制御コマンド保存部と、
前記マスター装置より送信された制御開始コマンドを受信し、該制御開始コマンドをトリガとして前記記憶部に保存された制御コマンドに基づく前記被制御装置の制御を開始する第１制御開始部と
を備える制御装置。
【国際調査報告】
2009063565.tif 000024
2009063565.tif 000025
2009063565.tif 000026
2009063565.tif 000027