(57)【要約】【課題】分散型モーションコントロールシステムの並列処理を最適に実行するために、システム性能を評価し、評価結果からシステム定数を決定し、設定することを迅速に行うようにあうる。【解決手段】実際の負荷に応じたモーションコントローラの通信周期やサーボドライブの通信周期などの情報を収集、評価し、システム性能を評価し、自動的に各モーションコントローラのシステム定数を設定するという手順で処理する。【選択図】図１
2007122373.tif 000002
【特許請求の範囲】
【請求項１】
アクチュエータを制御するサーボドライブ群へのサーボ指令を生成するモーションコントローラ群Ｃi（i＝１、２、…、ｎ、ただしｎ≧２）が同期通信をサポートするネットワークで接続され、前記モーションコントローラ群Ｃiが同期して並列処理を行う分散型モーションコントロールシステムのシステム設定方法において、
前記モーションコントローラＣｉが、前記モーションコントロールシステムとしての前記サーボ指令の送信周期すなわちコントローラ基本制御周期ＣＢＰと、モーション指令と、前記モーションコントローラ群Ｃiにおける前記コントローラ基本制御周期ＣＢＰにおけるモーション指令の処理時間の占める割合、すなわち負荷率ＣＬｉとを入力し、前記モーション指令から前記サーボ指令を作成するまでに要する処理時間を計測し、前記コントローラ基本制御周期ＣＢＰの何倍必要かを評価し、
前記モーションコントローラＣ１が、前記モーションコントローラ群Ｃiの前記評価結果を収集し、前記モーションコントロールシステムとして前記コントロール基本制御周期ＣＢＰで前記サーボ指令の送信が可能かどうか、すなわちシステム性能を評価し、
（１）前記システム性能が十分であると評価した場合に、
前記モーションコントロールシステムの並列処理に使用する前記モーションコントローラ群Ｃｊと、前記モーションコントローラにおける前記サーボ指令の送信周期すなわちコントローラ制御周期ＣＰを決定し、前記モーションコントローラＣ１から前記モーションコントローラ群Ｃｊへ前記コントローラ制御周期ＣＰと、前記モーションコントローラ群Ｃｊの制御開始の遅延時間すなわち制御起動遅延時間ＣＴｊを送信し、
前記モーションコントローラＣ１は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰを設定し、
前記モーションコントローラ群Ｃｊの各々は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰおよび前記制御起動遅延時間ＣＴｊを設定し、
（２）前記システム性能が不十分であると評価した場合に、
システム性能向上に必要な条件を含む前記システム性能評価結果を出力する、
という手順で処理することを特徴とする分散型モーションコントロールシステムのシステム設定方法。
【請求項２】
前記モーションコントローラＣｉが、前記コントローラ基本制御周期ＣＢＰと、前記モーション指令と、前記負荷率ＣＬｉを入力する手段として、
前記モーションコントローラＣ１が、前記コントローラ基本制御周期ＣＢＰと前記モーション指令と前記負荷率ＣＬｉを入力し、前記モーションコントローラＣｉへ送信し、前記モーションコントローラＣｉが受信して入力する、
という手順で処理することを特徴とする請求項1に記載の分散型モーションコントロールシステムのシステム設定方法。
【請求項３】
前記モーションコントローラＣ１が、前記コントローラ基本制御周期ＣＢＰを入力する手段として、
前記ネットワークに接続されている前記サーボドライブ群へサーボ指令受信周期を問い合わせ、受信した前記サーボ指令受信周期を前記コントローラ基本制御周期ＣＢＰとして入力する、
という手順で処理することを特徴とする請求項２に記載の分散型モーションコントロールシステムのシステム設定方法。
【請求項４】
前記モーションコントローラＣｉが、前記モーション指令から前記サーボ指令を作成するまでに要する処理時間を計測し、前記負荷率ＣＬｉの要件を満たすか否かを評価し、前記モーションコントローラＣ１が、前記モーションコントローラ群Ｃiの前記評価結果を収集する代わりに、
前記モーションコントローラＣｉが、前記モーション指令から前記サーボ指令を作成し、前記モーションコントローラＣ１に対して送信し、
前記モーションコントローラＣ１は、前記サーボ指令の受信時刻から前記モーションコントローラＣｉの性能を評価する、
という手順で処理することを特徴とする請求項1に記載の分散型モーションコントロールシステムのシステム設定方法。
【請求項５】
（１）前記システム性能が十分であると評価した場合に、
前記モーションコントローラＣ１から前記モーションコントローラ群Ｃｊへ前記コントローラ制御周期ＣＰを送信する代わりに、前記コントローラ制御周期ＣＰの前記コントローラ基本制御周期に対する倍率、すなわちコントローラ制御周期倍率ＣＰＸを与え
前記モーションコントローラ群Ｃｊの各々は、前記コントローラ制御周期ＣＰを設定する代わりに、前記コントローラ制御周期倍率ＣＰＸを設定する、
という手順で処理することを特徴とする請求項１または２のいずれかに記載の分散型モーションコントロールシステムのシステム設定方法。
【請求項６】
請求項１に記載のシステム設定方法を適用したことを特徴とする分散型モーションコントロールシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクチュエータを制御するサーボドライブへの指令を作成する分散型モーションコントロールシステムのシステム設定方法に関する。
【背景技術】
【０００２】
従来のモーションコントロールシステムの中には、サーボドライブの中にシミュレータを備えているものがある（例えば、特許文献１参照）。
図１３は従来のモーションコントロールシステムの構成を示すブロック図である。まず、ドライブ１３０１について説明する。測定値バッファ１３０２は、フィードバック装置１３０３からのデータを保持するバッファである。データ種類としては、位置フィードバック値，速度フィードバック値，電流フィードバック値などフィードバック値と、累積回転数などのモータ状態値がある。モードフラグ１３１２は、ドライブ１３０１のモードを示すバッファである。デバッグモードであるか、通常モードであるかを示す。モードフラグ１３１２は、通信機能１３０９，デバッグ機能１３１１を経由して、モーションコントローラ１３１６により設定される。また、モードフラグ１３１２は、ドライブに別途取り付けられた、スイッチによって変更されてもよい。シミュレータ１３０７は、モータ１３０５，サーボアンプ１３０６，サーボモータに取り付けられる負荷１３０４，フィードバック装置１３０３をシミュレーションする。シミュレータ１３０７は、いくつかのパラメータをパラメータバッファ１３０８から参照する。パラメータには、モータ，アンプに関するものと、負荷制約に関するものがある。例えば、モータに関するものは、「電流信号と、トルク・回転速度の関係式における比例定数」や「最大速度」がある。負荷制約に関するパラメータは、「軸の最大累積回転数」がある。これらのパラメータは、モーションコントローラ１３１６より、通信機能１３０９を経由して、設定される。デバッグ機能１３１１は、制御機能１３１０から電力指令を受信し、モードフラグ１３１２を判定し、サーボアンプ１３０６、またはシミュレータ１３０７に転送する。モードがデバッグモードの時、サーボモータ１３０６を安全動作させ、シミュレータ１３０７に電力指令を送信する。逆に、通常モードの時は、サーボアンプ１３０６に電力指令を転送する。通信機能１３０９は、測定値バッファ１３０２から、データをリードし、モーションコントローラ１３１６に送信する。逆に、ネットワーク１３１３より、速度指令，位置指令を受信した場合、制御機能１３１０に渡す。また、パラメータ設定命令を受信した時は、パラメータバッファ１３０８の該当するパラメータを変更する。
次に、モーションコントローラ１３１６について説明する。ユーザプログラム１３１８は、単位時間ごとの位置指令を、制御機能１３１７に送信する。制御機能１３１７は、位置指令を受け取ると、モーションコントロール処理を行い、ドライブ１３０１への指令を作成する。通信機能１３１５は、制御機能１３１７から指令を受け取り、ドライブ１３０１に送信する。逆に、ネットワーク１３１３より、フードバック値を受信した場合、制御機能１３１７に渡す。また、通信機能１３１５は、モニタシステム１３１４がある場合、フィードバック値を表示する。
【特許文献１】特開平１１−２７２３０７（図１３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、従来のモーションコントロールシステムでモーションコントローラの通信周期などを測定する場合、シミュレータを内蔵したドライブやモーションコントローラに接続されたモニタシステムが必要であった。
別の方法としては、ネットワークのプロトコルアナライザを用いて、ネットワーク上を流れる通信データをモニタリングし、モーションコントローラの通信周期を測定することも考えられるが、モーションコントロールシステムへのシステム定数の設定が自動化されるわけではなく、また、ネットワーク上に多数のモーションコントローラが接続される場合には通信周期の測定作業そのものも膨大なものであり、システムの性能評価やシステム設定が迅速に行うことができなかった。
本発明はこのような問題点に鑑みてなされたものであり、分散型モーションコントロールシステムの並列処理を実行するにあたって、モーション指令の処理性能を評価し、システム設定を容易にすることを目的とする。
【課題を解決するための手段】
【０００４】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、アクチュエータを制御するサーボドライブ群へのサーボ指令を生成するモーションコントローラ群Ｃi（i＝１、２、…、ｎ、ただしｎ≧２）が同期通信をサポートするネットワークで接続され、前記モーションコントローラ群Ｃiが同期して並列処理を行う分散型モーションコントロールシステムのシステム設定方法において、前記モーションコントローラＣｉが、前記モーションコントロールシステムとしての前記サーボ指令の送信周期すなわちコントローラ基本制御周期ＣＢＰと、モーション指令と、前記モーションコントローラ群Ｃiにおける前記コントローラ基本制御周期ＣＢＰにおけるモーション指令の処理時間の占める割合、すなわち負荷率ＣＬｉとを入力し、前記モーション指令から前記サーボ指令を作成するまでに要する処理時間を計測し、前記コントローラ基本制御周期ＣＢＰの何倍必要かを評価し、前記モーションコントローラＣ１が、前記モーションコントローラ群Ｃiの前記評価結果を収集し、前記モーションコントロールシステムとして前記コントロール基本制御周期ＣＢＰで前記サーボ指令の送信が可能かどうか、すなわちシステム性能を評価し、（１）前記システム性能が十分であると評価した場合に、前記モーションコントロールシステムの並列処理に使用する前記モーションコントローラ群Ｃｊと、前記モーションコントローラにおける前記サーボ指令の送信周期すなわちコントローラ制御周期ＣＰを決定し、前記モーションコントローラＣ１から前記モーションコントローラ群Ｃｊへ前記コントローラ制御周期ＣＰと、前記モーションコントローラ群Ｃｊの制御開始の遅延時間すなわち制御起動遅延時間ＣＴｊを送信し、前記モーションコントローラＣ１は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰを設定し、前記モーションコントローラ群Ｃｊの各々は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰおよび前記制御起動遅延時間ＣＴｊを設定し、（２）前記システム性能が不十分であると評価した場合に、システム性能向上に必要な条件を含む前記システム性能評価結果を出力する、という手順をとったのである。
また、請求項２に記載の発明は、前記モーションコントローラＣｉが、前記コントローラ基本制御周期ＣＢＰと、前記モーション指令と、前記負荷率ＣＬｉを入力する手段として、前記モーションコントローラＣ１が、前記コントローラ基本制御周期ＣＢＰと前記モーション指令と前記負荷率ＣＬｉを入力し、前記モーションコントローラＣｉへ送信し、前記モーションコントローラＣｉが受信して入力する、という手順をとったのである。
また、請求項３に記載の発明は、請求項２における分散型モーションコントロールシステムのシステム設定方法において、前記モーションコントローラＣ１が、前記コントローラ基本制御周期ＣＢＰを入力する手段として、前記ネットワークに接続されている前記サーボドライブ群へサーボ指令受信周期を問い合わせ、受信した前記サーボ指令受信周期を前記コントローラ基本制御周期ＣＢＰとして入力する、という手順をとったのである。
また、請求項４に記載の発明は、請求項１における分散型モーションコントロールシステムのシステム設定方法において、前記モーションコントローラＣｉが、前記モーション指令から前記サーボ指令を作成するまでに要する処理時間を計測し、前記負荷率ＣＬｉの要件を満たすか否かを評価し、前記モーションコントローラＣ１が、前記モーションコントローラ群Ｃiの前記評価結果を収集する代わりに、前記モーションコントローラＣｉが、前記モーション指令から前記サーボ指令を作成し、前記モーションコントローラＣ１に対して送信し、前記モーションコントローラＣ１は、前記サーボ指令の受信時刻から前記モーションコントローラＣｉの性能を評価する、という手順をとったのである。
また、請求項５に記載の発明は、請求項１および請求項４における分散型モーションコントロールシステムのシステム設定方法において、（１）前記システム性能が十分であると評価した場合に、前記モーションコントローラＣ１から前記モーションコントローラ群Ｃｊへ前記コントローラ制御周期ＣＰを送信する代わりに、前記コントローラ制御周期ＣＰの前記コントローラ基本制御周期に対する倍率、すなわちコントローラ制御周期倍率ＣＰＸを与え前記モーションコントローラ群Ｃｊの各々は、前記コントローラ制御周期ＣＰを設定する代わりに、前記コントローラ制御周期倍率ＣＰＸを設定する、という手順をとったのである。
【発明の効果】
【０００５】
請求項１、６に記載の発明によると、当該モーションコントロールシステムの性能が十分かどうかを自動的に評価すると同時に、当該モーションコントロールシステムの並列処理に必要なシステム設定を自動的に各モーションコントローラに対して実施できるため、システムを構成するモーションコントローラの数や負荷率、または要求されるサーボ指令送信周期などが変化した場合に、システム設定の変更に迅速に対応できるようになる。また、システム性能が十分でないと評価された場合でも、
・追加すべき前記モーションコントローラの数および負荷率、または
・変更すべき前記負荷率ＣＬｉとその値、または
・現状の前記システム性能で可能となる前記コントローラ基本制御周期ＣＢＰの最小値
といった評価の理由や対策を出力することにより、システムの性能を向上させるために何をすべきか迅速に判断することができるようになる。
また、請求項２に記載の発明によると、当該モーションコントロールシステムに接続されるモーションコントローラすべてに対して個別に設定する必要がなくなるため、設定のために要する時間を大幅に減らすことができるとともに、個別に入力するときに発生していた入力ミスなどの人為的ミスを防止することができるようになる。
また、請求項３に記載の発明によると、前記サーボドライブ群が通信周期の問い合わせ機能を有する場合に、モーションコントローラが自動的にコントローラ基本制御周期ＣＢＰを入力してくれるため、直接ＨＭＩを通して入力する場合に必要であったサーボドライブ群の通信周期の確認が不要になることに加えて、入力時に発生していた入力ミスなどの人為的ミスを防止することができるようになる。
また、請求項４に記載の発明によると、モーションコントローラがサーボ指令作成時間を計測する機能や、性能を評価する機能といった特別な機能を持たない場合でも、本来ならばサーボドライブへ送信すべきサーボ指令の送信先を性能評価機能を有するモーションコントローラに変更するだけで、当該モーションコントロールシステムの性能を評価することができるため、低機能・低価格のモーションコントローラを使用してシステムのコストを下げることができるようになる。
また、請求項５に記載の発明によると、使用するモーションコントローラの数をコントローラ制御周期倍率とすることができるため、モーションコントローラの処理が簡略化されるとともに、コントローラ制御周期倍率を入力する機能を持ったモーションコントローラを当該モーションコントロールシステムにおいて使用することができるようになる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【０００７】
図１は請求項１における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図であり、図２は請求項１における本発明の方法を実施する分散型モーションコントロールシステムの並列処理実行時の同期タイミングを示すタイミングチャートである。また、図３は請求項１における本発明の方法を実施する分散型モーションコントロールシステムの並列処理実行時の同期タイミングを示すタイミングチャートであり、図４は請求項１における本発明の要部の処理手順を示すフローチャートである。以下、図２，図３において前記分散型モーションコントローラの並列処理実行時の動作原理を説明し、前記動作において必要なシステム定数を明確にした上で、図１、図４において前記システム定数の設定方法を説明することとする。なお、以下においてサーボ指令としてサーボ位置指令を、モーション指令として補間指令を例に説明するが、本発明の実施の形態がサーボ位置指令や補間指令に限定されるわけでないことはいうまでもない。
【０００８】
図２においてモーションコントローラ群Ｃi（i＝１、２、…、ｎ、ただしｎ≧２）１０１〜１０３とサーボドライブ群Ｄj（j＝１、２、…、ｍ、ただしｍ≧１）２０７〜２１０が、伝送周期ＮＴ  ３０１の同期通信をサポートするネットワーク  １０４で接続されている。またサーボドライブ群Ｄj  ２０７〜２１０には、それぞれ制御対象となるアクチュエータ  ２１１が接続されており、前記アクチュエータ  ２１１に内蔵されているエンコーダからのエンコードフィードバック  ２１２を入力する。これらのモーションコントローラ群Ｃi  １０１〜１０３は、前記ネットワーク  １０４の前記伝送周期ＮＴ  ３０１ごとに割り込みを発生させ、前記ネットワーク  １０４に対するデータの送受信処理や制御を起動させる。
ここでモーションコントローラＣ1  １０１には、モーションコントロールシステムとしてのサーボ位置指令２０３〜２０４の送信周期すなわちコントローラ基本制御周期ＣＢＰ  １０６と、モーションコントローラＣ１単体としてのサーボ位置指令の送信周期すなわちコントローラ制御周期ＣＰ  １１４が与えられ、その他のモーションコントローラ群Ｃi（i≧２）１０２〜１０３には、コントローラ基本制御周期ＣＢＰ  １０６とコントローラ制御周期ＣＰ  １１４と制御起動遅延時間ＣＴi  １１６、２０１とが与えられる。一方、サーボドライブ群Ｄj  ２０７〜２１０にはドライブ制御周期ＤＰ  ２１３が与えられる。
そして、モーションコントローラ群Ｃi（i≧１）１０１〜１０３が同一の補間指令１０５を入力し、モーションコントローラＣ１  １０１が処理を開始した時刻Ｔ０  ３０２を起点として、それぞれコントローラ基本制御周期ＣＢＰ  １０６とコントローラ制御周期ＣＰ  １１４と制御起動遅延時間ＣＴi  １１６、２０１とから定められる時刻にサーボ位置指令ＳＰi,j（１≦i≦ｎ、１≦j≦ｍ）２０３〜２０４を出力し、サーボドライブＤj  ２０７〜２１０は、ドライブ制御周期ＤＰ  ２１３ごとにサーボ位置指令ＳＰi,j  ２０５〜２０６を受信し、アクチュエータ  ２１１を駆動する。
【０００９】
図３は請求項１における本発明の方法を実施する分散型モーションコントロールシステムの並列処理実行時の同期タイミングを示すタイミングチャートである。この図は、ネットワーク  １０４に２台のモーションコントローラＣ１、Ｃｎ  １０１、１０３と４台のサーボドライブＤ１，Ｄ２，Ｄ３，Ｄ４  ２０７〜２１０が接続された場合を示している。そして、コントローラ基本制御周期ＣＢＰ  １０６と制御遅延時間ＣＴｎ  ２０１と、コントローラ基本制御周期ＣＢＰ  １０６をドライブ制御周期ＤＰ  ２１３に設定し、コントローラ制御周期ＣＰ  １１４をドライブ制御周期ＤＰ  ２１３の２倍に設定している。まず、モーションコントローラＣ１  １０１が、ネットワーク１０４の同期通信のある時刻Ｔ０  ３０２に補間指令  １０５の処理を開始すると同時に、モーションコントローラＣｎ  １０３に対して制御起動通知  ２０２を送信する。モーションコントローラＣ１  １０１は補間指令  １０５をサーボ位置指令ＳＰ1,j（１≦j≦４）２０３に変換する。
次に、前記時刻Ｔ０  ３０２からコントローラ制御周期ＣＰ  １１４経過した時刻Ｔ０＋ＣＰにサーボ位置指令ＳＰ1,j  ２０３をサーボドライブＤj  ２０７〜２１０に対して送信する。
次にモーションコントローラＣｎ  １０３は、時刻Ｔ０  ３０２からネットワーク  １０４の伝送周期ＮＴ  ３０１経過した後に、モーションコントローラＣ１  １０１が送信した制御起動通知  ２０２の受信を確認し、時刻Ｔ０  ３０２から制御起動遅延時間ＣＴｎ  ２０１経過した後に補間指令  １０５の処理を開始する。処理手順はモーションコントローラＣ１  １０１の場合と同様である。そして、時刻Ｔ０＋ＣＴｎからコントローラ制御周期ＣＰ  １１４経過した時刻Ｔ０＋ＣＴｎ＋ＣＰにサーボ位置指令ＳＰ２,j  ２０４をサーボドライブＤj  ２０７〜２１０に対して送信する。
以降、モーションコントローラＣ１  １０１、Ｃｎ  １０３の各々が、コントローラ制御周期ＣＰ  １１４ごとに補間点を決定し、サーボ位置指令ＳＰi,j  ２０３〜２０４を作成し、送信する。また、サーボドライブＤj  ２０７〜２１０は、同一時刻にサーボ位置指令ＳＰi,j  ２０５〜２０６を受信し、与えられた同一のドライブ制御周期ＤＰ  ２１３ごとにアクチュエータ  ２１１を駆動することにより、サーボドライブＤj  ２０７〜２１０の同期制御が可能となる。
以上の説明から、当該分散型モーションコントロールシステムにおいてモーションコントローラ群Ｃiが同期して並列処理を行うためには、コントローラ制御周期ＣＰ  １１４  と制御起動遅延時間ＣＴｎ  １１６といったシステム定数が重要な役割を果たすことが理解できる。これらのことを踏まえて、図１、４を用いて、請求項１における本発明の前記システム定数の設定方法を説明する。
【００１０】
図１において、モーションコントローラ群Ｃi  １０１〜１０３と、ネットワーク  １０４と、補間指令  １０５と、コントローラ基本制御周期ＣＢＰ  １０６と、コントローラ制御周期ＣＰ  １１４と、制御起動遅延時間ＣＴｎ  １１６とはすでにこれまでに説明したのでここでは説明を省略する。モーションコントローラ群Ｃi  １０１〜１０３が入力する負荷率ＣＬｉ  １０７〜１０９とはコントローラ基本制御周期ＣＢＰ  １０６における補間指令  １０５の処理時間の占める割合のことであり、それぞれのモーションコントローラＣｉごとに与えられる。また、Ｃｉ性能評価結果（i＝１、２、…、ｎ、ただしｎ≧２）  １１０〜１１２とは、負荷率ＣＬｉの制約の元でモーションコントローラＣｉが補間指令  １０５からサーボ指令を作成し出力するまでに、コントローラ基本制御周期ＣＢＰ  １０６の何倍必要かを評価した結果であり、コントローラ基本制御周期ＣＢＰ  １０６に対する倍率を含むものである。もちろん倍率以外にも必要な制御周期そのものを含めることもできる。システム性能評価結果  １１３は、Ｃｉ性能評価結果を集計し、システムの性能を評価したものであり、例えば以下のように出力される。ここでは、それぞれ負荷率ＣＬ１  １０７、ＣＬ２  １０８、ＣＬ３  １０９が与えられた３つのモーションコントローラＣ１  １０１，Ｃ２  １０２，Ｃ３  １０３が６軸曲線補間を処理した場合の例である。
【表１】
2007122373.tif 000003
この表によると、Ｃ１  １０１、Ｃ２  １０２，Ｃ３  １０３はそれぞれコントローラ基本制御周期ＣＢＰ  １０６に対する倍率が２倍、３倍、２倍であり、図３からもわかるように、Ｃ１  １０１とＣ３  １０３をそれぞれ、コントローラ基本制御周期ＣＢＰ  １０６の２倍のコントローラ制御周期ＣＰ  １１４で実行させ、制御起動遅延時間ＣＴ３  １１６をコントローラ基本制御周期ＣＢＰ  １０６に設定すれば、Ｃ１  １０１とＣ３  １０３からなるシステムとして、サーボ位置指令  ２０３〜２０４をコントローラ基本制御周期ＣＢＰ  １０６で送信することが可能になると判断できる。
こうして、システム性能評価結果  １１３  をもとに、モーションコントローラＣ１  １０１は、コントローラ制御周期ＣＰ１１４と制御起動遅延時間ＣＴ３  １１５を作成し、モーションコントローラＣ３  １０３へ送信する。
一方、以下は、システム性能が不十分である例である。
【表２】
2007122373.tif 000004
この表によると、Ｃ１  １０１のコントローラ基本制御周期ＣＢＰ  １０６に対する倍率が４倍であり、Ｃ１〜Ｃ３  １０１〜１０３をすべて使用してもコントローラ基本制御周期ＣＢＰ  １０６の３倍のコントローラ制御周期ＣＰ  １１４で実行させることができないと判断できる。また、システム性能を十分にするための対策としては、（１）Ｃ３（ＣＬ３）相当のモーションコントローラを１つ追加することや、負荷率ＣＬ１を増やすことが考えられる。さらに、現状のシステム性能で可能なサーボ指令送信周期は計算式（１）を使って、ＣＢＰ＊４／３となる。
ＣＢＰ＊すべてのコントローラで実現可能な倍率／コントローラ数    （１）
ここに  ＣＢＰ:コントローラ基本制御周期
【００１１】
図４は請求項１における本発明の要部の処理手順を示すフローチャートである。この図を用いて本発明の方法を、順を追って説明する。
まず、前記モーションコントローラＣｉが、前記モーションコントロールシステムとしての前記サーボ指令の送信周期すなわちコントローラ基本制御周期ＣＢＰと、モーション指令と、前記モーションコントローラ群Ｃiにおける前記コントローラ基本制御周期ＣＢＰにおけるモーション指令の処理時間の占める割合、すなわち負荷率ＣＬｉとを入力し（ＳＴ４０１）、前記モーション指令から前記サーボ指令を作成し出力するまでの時間を計測し（ＳＴ４０２）、前記コントローラ基本制御周期ＣＢＰの何倍必要かを評価し（ＳＴ４０３）、前記モーションコントローラＣ１が、前記モーションコントローラ群Ｃiの前記評価結果を収集し（ＳＴ４０４）、前記モーションコントロールシステムとして前記コントロール基本制御周期ＣＢＰで前記サーボ指令の送信が可能かどうか、すなわちシステム性能を評価し（ＳＴ４０５）、
（１）前記システム性能が十分であると評価した場合に（ＳＴ４０６）、前記モーションコントロールシステムの並列処理に使用する前記モーションコントローラ群Ｃｊと（ＳＴ４０７）、前記モーションコントローラにおける前記サーボ指令の送信周期すなわちコントローラ制御周期ＣＰを決定し（ＳＴ４０９）、前記モーションコントローラＣ１から前記モーションコントローラ群Ｃｊへ前記コントローラ制御周期ＣＰと、前記モーションコントローラ群Ｃｊの制御開始の遅延時間すなわち制御起動遅延時間ＣＴｊを送信し（ＳＴ４１０）、前記モーションコントローラＣ１は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰを設定し（ＳＴ４１１）、前記モーションコントローラ群Ｃｊの各々は、前記コントローラ制御周期ＣＰと前記コントローラ基本制御周期ＣＢＰおよび前記制御起動遅延時間ＣＴｊを設定し（ＳＴ４１２）、
（２）前記システム性能が不十分であると評価した場合に（ＳＴ４０６）、システム性能向上に必要な条件を含む前記評システム性能価結果を出力する（ＳＴ４０８）。
【００１２】
このように、負荷率を入力して各々のモーションコントローラの実際の通信周期を測定しから、システム性能を評価し、システム定数の設定を自動的に行うので、システムを構成するモーションコントローラの数や負荷率、または要求されるサーボ指令送信周期などが変化した場合に、システム設定の変更に迅速に対応できるようになる。また、システム性能が十分でないと評価された場合でも、
・追加すべき前記モーションコントローラの数および負荷率、または
・変更すべき前記負荷率ＣＬｉとその値、または
・現状の前記システム性能で可能となる前記コントローラ基本制御周期ＣＢＰの最小値
といった評価の理由や対策を出力することにより、システムの性能を向上させるために何をすべきか迅速に判断することができるようになる。
【実施例２】
【００１３】
図５は請求項２における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図である。図５が図１と異なる点は、モーションコントローラＣｉ  １０１〜１０３が個別にコントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０７〜１０９を入力する代わりに、
モーションコントローラＣ１  １０１が一括して、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０７〜１０９を入力し、
モーションコントローラＣｉ  １０２〜１０３へ、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０８〜１０９を送信し、
モーションコントローラＣｉ  １０２〜１０３が受信して入力する、という点である。
【００１４】
図６は請求項２における本発明の要部の処理手順を示すフローチャートである。まず、モーションコントローラＣ１  １０１が一括して、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０７〜１０９を入力し（ＳＴ６０１）、モーションコントローラＣｉ  １０２〜１０３へ、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０８〜１０９を送信し（ＳＴ６０２）、モーションコントローラＣｉ  １０２〜１０３が受信して入力する（ＳＴ６０３）。これ以降は、図４におけるＳＴ４０２〜ＳＴ４１２と同一であるので説明は省略する。
【００１５】
このように、一つのモーションコントローラへ入力を統合するという手段をとるので、当該モーションコントロールシステムに接続されるモーションコントローラすべてに対して個別に設定する必要がなくなるため、設定のために要する時間を大幅に減らすことができるとともに、個別に入力するときに発生していた入力ミスなどの人為的ミスを防止することができるようになる。
【実施例３】
【００１６】
図７は請求項３における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図である。図７が図２および図５と異なる点は、サーボドライブＤ１  ２０７がサーボ指令受信周期  ７０１の問い合わせ機能を持つという点と、モーションコントローラＣ１  １０１がコントローラ基本制御周期ＣＢＰ  １０６を入力する手段として、サーボドライブＤ１  ２０７へサーボ指令受信周期  ７０１を問い合わせ、受信したサーボ指令受信周期  ７０１をコントローラ基本制御周期ＣＢＰ  １０６として入力するという点である。
【００１７】
図８は請求項３における本発明の要部の処理手順を示すフローチャートである。まず、モーションコントローラＣ１  １０１がサーボドライブ  ２０７へサーボ指令受信周期  ７０１を問い合わせ（ＳＴ  ８０１）、受信したサーボ指令受信周期  ７０１をコントローラ基本制御周期ＣＢＰ  １０６として入力し（ＳＴ  ８０２）、補間指令  １０５と、負荷率ＣＬｉ  １０７〜１０９を入力する（ＳＴ８０３）。これ以降は、図６におけるＳＴ６０２〜ＳＴ４１２と同一であるので説明は省略する。
【００１８】
このように、サーボドライブ群が通信周期の問い合わせ機能を有する場合に、モーションコントローラが自動的にコントローラ基本制御周期ＣＢＰを入力してくれるため、直接ＨＭＩを通して入力する場合に必要であったサーボドライブ群の通信周期の確認が不要になることに加えて、入力時に発生していた入力ミスなどの人為的ミスを防止することができるようになる。
【実施例４】
【００１９】
図９は請求項４における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図である。図９が図５と異なる点は、モーションコントローラＣｉ  １０１〜１０３の性能を評価する手段として、モーションコントローラＣ１が、制御起動遅延時間ＣＴ９０３と制御起動９０２をモーションコントローラＣｊへ送信し、モーションコントローラＣｉが、補間指令からサーボ指令９０１を作成し、モーションコントローラＣ１に対して送信し、モーションコントローラＣ１は、制御起動９０２の時刻や制御起動遅延時間ＣＴ９０３や、サーボ指令９０１の受信時刻からモーションコントローラＣｉの性能を評価する、という手段をとった点である。
【００２０】
図１０は請求項４における本発明の要部の処理手順を示すフローチャートであり、図１１は請求項４における本発明のモーションコントローラＣ１がサーボ指令からモーションコントローラの性能を評価する処理手順の詳細を示すフローチャートである。まず、モーションコントローラＣ１  １０１が一括して、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０７〜１０９を入力し（ＳＴ６０１）、モーションコントローラＣｉ  １０２〜１０３へ、コントローラ基本制御周期ＣＢＰ  １０６と、補間指令  １０５と、負荷率ＣＬｉ  １０８〜１０９を送信し（ＳＴ６０２）、モーションコントローラＣｉ  １０２〜１０３が受信して入力する（ＳＴ６０３）。そして、モーションコントローラＣ１  １０１は、モーションコントローラＣｉ  １０２〜１０３から送信されたサーボ位置指令９１１からモーションコントローラＣｉ  １０２〜１０３の性能を評価する（ＳＴ１００１）。すべてのモーションコントローラに対する性能評価が終了したら（ＳＴ１００２）、モーションコントローラＣ１  １０１がシステム性能を評価する（ＳＴ４０５）。これ以降は、図６におけるＳＴ４０６〜ＳＴ４１２と同一であるので説明は省略する。
【００２１】
図１１は上記ステップＳＴ１００１の詳細を示すフローチャートである。まず、モーションコントローラＣ１  １０１がモーションコントローラＣｉへ制御起動遅延時間ＣＴ  ９０３を送信すると（ＳＴ１１０１）、モーションコントローラＣｉ  が制御起動遅延時間ＣＴ  ９０３を受信する（ＳＴ１１０８）。次に、モーションコントローラＣ１  １０１がモーションコントローラＣｉへ制御起動９０２を送信し（ＳＴ１１０２）、モーションコントローラＣｉ  が制御起動  ９０２を受信し（ＳＴ１１０９）、制御起動遅延時間ＣＴ  ９０３だけ待ってから（ＳＴ１１１０）、サーボ指令の作成を開始する（ＳＴ１１１１）。またこのとき、モーションコントローラＣ１  １０１も制御起動遅延時間経過して後にモーションコントローラＣｉのサーボ指令作成時間の計測を開始して（ＳＴ１１０３）、サーボ指令受信待ちとなる（ＳＴ１１０４）。一方、モーションコントローラＣｉがサーボ指令の作成を完了したら（ＳＴ１１１２）、モーションコントローラＣ１  １０１へサーボ指令を送信する（ＳＴ１１１３）。モーションコントローラＣ１  １０１はサーボ指令を受信した直後のネットワーク  １０４からの割り込みでサーボ指令受信を確認し、サーボ指令の送信時刻を計算する（ＳＴ１１０５）。具体的にはモーションコントローラＣ１  １０１がサーボ指令の受信を確認した時刻をＴ１とすると、モーションコントローラＣｉのサーボ指令送信時刻ＣＦｉは、ネットワーク  １０４の伝送周期ＮＴ  ３０１を用いて、
ＣＦｉ＝Ｔ１−ＮＴ    （２）
となる。次に、モーションコントローラＣ１  １０１はサーボ指令の作成時間を計算する（ＳＴ１１０６）。具体的には、モーションコントローラＣ１  １０１が制御起動を送信した時刻をＴ０とすると、モーションコントローラＣｉのサーボ指令作成開始時刻ＣＳｉは、
ＣＳｉ＝Ｔ０＋ＣＴ    （３）
となる。従って、モーションコントローラＣｉのサーボ指令通信周期ＣＭｉは、
ＣＭｉ＝サーボ指令送信時刻ＣＦｉ−サーボ指令作成開始時刻ＣＳｉ  （４）
となる。そして、モーションコントローラＣｉは、補間指令  １０５をすべてサーボ指令へ変換したかどうかを確認し（ＳＴ１１１４）、終了していなければ、上記ＳＴ１１１１〜ＳＴ１１１３を繰り返す。同時に、モーションコントローラＣ１  １０１もモーションコントローラＣｉのサーボ指令通信周期ＣＭｉの計測を継続し、ＳＴ１１０４〜ＳＴ１１０６を繰り返し実行する。そして、モーションコントローラＣｉは、補間指令  １０５をすべてサーボ指令へ変換したら終了する。このとき、モーションコントローラＣ１  １０１はサーボ受指令信待ち（ＳＴ１１０４）においてタイムアウトするため、モーションコントローラＣｉのサーボ指令作成が完了したことを知り、収集したサーボ指令通信周期ＣＭｉを元にモーションコントローラＣｉの性能を評価する。性能評価方法としては、例えば｛ＣＭｉ｝のうち最悪値を採用する、などが考えられる。
【００２２】
このように、モーションコントローラがサーボ指令作成時間を計測する機能や、性能を評価する機能といった特別な機能を持たない場合でも、本来ならばサーボドライブへ送信すべきサーボ指令の送信先を性能評価機能を有するモーションコントローラに変更するだけで、当該モーションコントロールシステムの性能を評価することができるため、低機能・低価格のモーションコントローラを使用してシステムのコストを下げることができるようになる。
【実施例５】
【００２３】
図１２は請求項５における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図である。図は請求項１に対して本発明を実施した例を示している。図１との違いは、モーションコントローラＣ１  １０１からモーションコントローラＣｊ  １０２〜１０３へコントローラ制御周期ＣＰ  １１５を送信する代わりに、コントローラ制御周期ＣＰ  １１５のコントローラ基本制御周期ＣＢＰ  １０６に対する倍率、すなわちコントローラ制御周期倍率ＣＰＸ  １２０１を送信し、モーションコントローラＣｊ  １０２〜１０３は、コントローラ制御周期倍率ＣＰＸ  １２０１を受信し、設定する、という点である。本発明の処理の要部は図４と全く同一であり、モーションコントローラＣ１  １０１がコントローラ制御周期ＣＰ  １１５を送信する際に（ＳＴ４１０）、（６）式でコントローラ制御周期倍率ＣＰＸ  １２０１を計算し、
ＣＰＸ＝ＣＰ／ＣＢＰ    （５）
送信する点のみが異なっている。
【００２４】
このように、使用するモーションコントローラの数をコントローラ制御周期倍率とすることができるため、モーションコントローラの処理が簡略化されるとともに、コントローラ制御周期倍率を入力する機能を持ったモーションコントローラを当該モーションコントロールシステムにおいて使用することができるようになる。
【産業上の利用可能性】
【００２５】
本発明は分散型モーションコントロールシステムの並列処理の実行にあたって、モーション指令の処理時間に応じたモーションコントローラの通信周期や、サーボドライブの通信周期などの情報を収集、評価し、モーションコントロールシステムとしての性能を評価し、自動的に各モーションコントローラのシステム定数を設定するという手順をとるため、新たに設計されるシステムに加えて、既存のシステムの拡張や変更の際に、容易にシステム性能の評価、システム定数の設定が可能であり、汎用モーションコントローラ以外にも分散型ロボットシステムや分散型数値制御システムにも適用できる。
【図面の簡単な説明】
【００２６】
【図１】請求項１における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図
【図２】請求項１における本発明の方法を実施する分散型モーションコントロールシステムの並列処理実行時の構成を示すブロック図
【図３】請求項１における本発明の方法を実施する分散型モーションコントロールシステムの並列処理実行時の同期タイミングを示すタイミングチャート
【図４】請求項１における本発明の要部の処理手順を示すフローチャート
【図５】請求項２における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図
【図６】請求項２における本発明の要部の処理手順を示すフローチャート
【図７】請求項３における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図
【図８】請求項３における本発明の要部の処理手順を示すフローチャート
【図９】請求項４における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図
【図１０】請求項４における本発明の要部の処理手順を示すフローチャート
【図１１】請求項４における本発明のモーションコントローラＣ１がサーボ指令からモーションコントローラの性能を評価する処理手順を示すフローチャート
【図１２】請求項５における本発明の方法を実施する分散型モーションコントロールシステムの構成を示すブロック図
【図１３】従来のモーションコントロールシステムの構成を示すブロック図
【符号の説明】
【００２７】
１０１〜１０３  モーションコントローラ  Ｃｉ
１０４  ネットワーク
１０５  補間指令
１０６  コントローラ基本制御周期ＣＢＰ
１０７〜１０９  負荷率ＣＬｉ  
１１０〜１１２  Ｃｉ性能評価結果
１１３  システム性能評価結果
１１４  コントローラ制御周期ＣＰ
１１５  制御起動遅延時間ＣＴｊ
１１６  制御起動遅延時間ＣＴｎ
２０１  動遅延時間ＣＴ２
２０２  制御起動通知
２０３〜２０４  サーボ位置指令
２０７〜２１０  サーボドライブ  Ｄj
２１１  アクチュエータ
２１２  エンコードフィードバック
２１３  ドライブ制御周期ＤＰ
３０１  伝送周期ＮＴ  
３０２  時刻Ｔ０
７０１  サーボ指令受信周期
９０１  サーボ指令
９０２  制御起動
９０３  制御起動遅延時間ＣＴ
１２０１  コントローラ制御周期倍率ＣＰＸ
【図１】
2007122373.tif 000005
【図２】
2007122373.tif 000006
【図３】
2007122373.tif 000007
【図４】
2007122373.tif 000008
【図５】
2007122373.tif 000009
【図６】
2007122373.tif 000010
【図７】
2007122373.tif 000011
【図８】
2007122373.tif 000012
【図９】
2007122373.tif 000013
【図１０】
2007122373.tif 000014
【図１１】
2007122373.tif 000015
【図１２】
2007122373.tif 000016
【図１３】
2007122373.tif 000017