(57)【要約】【課題】各ユニットに流れる消費電流の和をバスの定格電流内に収める制御装置を提供する。【解決手段】制御装置は、ＣＰＵユニット（１）が、プログラムを解析して、ＣＰＵユニット（１）、複数の入出力ユニット（２）および複数の制御軸の消費電流の和がバス（１０）の定格電流内か否かを判定する判定部（２１）と、判定部（２１）が消費電流の和が定格電流を超えると判定した場合に、消費電流の和をバス（１０）の定格電流内に収めるように、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する調整部（２２）とを備える。【選択図】図２
2019191831.tif 000002
【特許請求の範囲】
【請求項１】
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、
上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する調整部とを備えることを特徴とする制御装置。
【請求項２】
請求項１の制御装置において、
上記複数の制御軸間に動作の優先順を表す優先度が規定され、
上記調整部は、上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記優先度に基づいて、上記複数の制御軸のうち低優先度の制御軸の動作タイミングを遅らせるかまたは低速にするようになっていることを特徴とする制御装置。
【請求項３】
請求項２の制御装置において、
優先度を表す情報を入力するための入力部を備え、
上記複数の制御軸間の上記優先度は、上記入力部による入力に応じて設定されることを特徴とする制御装置。
【請求項４】
請求項３の制御装置において、
上記複数の制御軸は複数のグループに分けられており、
上記入力部は、上記複数のグループ間に動作の優先順を表すグループ間優先度を設定するようになっていることを特徴とする制御装置。
【請求項５】
請求項４の制御装置において、
上記複数のグループはさらに上位の階層のグループに分けられており、上記グループ間優先度は上記上位の階層のグループ間に適用されるようになっていることを特徴とする制御装置。
【請求項６】
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび上記複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングに対して、上記複数の制御軸の駆動時間が重ならないように、上記複数の制御軸の駆動時間をそれぞれ複数の分割駆動時間に分割して、上記複数の制御軸の間で上記分割駆動時間毎に切り換えるための情報を作成する調整部とを備えることを特徴とする制御装置。
【請求項７】
請求項１ないし６のうちいずれか１項の制御装置において、
上記入出力ユニットは、インタフェースを備え、
上記インタフェースは、アナログ用とパルス用のうちいずれかに切り換えられることを特徴とする制御装置。
【請求項８】
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、
上記ＣＰＵユニットに接続されたコンピュータと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記コンピュータは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、
上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成し、この情報に応じて上記プログラムを変更するプログラム変更部とを備えることを特徴とするシステム。
【請求項９】
電源ユニットと、この電源ユニットから延在するバスと、上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっている、制御装置の制御方法であって、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定し、
上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成することを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置に関し、より詳しくは、産業用コントローラの制御をする制御装置に関する。また、この発明は、そのような制御をするシステムおよび制御方法に関する。
【背景技術】
【０００２】
従来、この種の産業用コントローラとしては、例えば、特許文献１（特許第５０２９９０６号明細書）に開示されているように、電源ラインを含む内蔵バスを備える複数のユニットから構成され、内蔵バスには各ユニットの動作に必要な定格内の電流を供給するものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０２９９０６号明細書
【特許文献２】特許第６１６６５３０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１（特許第５０２９９０６号明細書）に記載のものでは、各ユニットに接続された制御軸が多数同時に駆動される場合などには、各ユニットに流れる消費電流の和がバスの定格電流を超えるという問題がある。
【０００５】
なお、特許文献２（特許第６１６６５３０号明細書）に記載のものでは、ユニット間に外部電源を追加的に介挿して使用しているので、各ユニットに流れる消費電流の和を定格電流内に収めることはできるものの、配線工程数の増大やケーブル増により保守が煩雑になってしまう。
【０００６】
そこで、この発明の課題は、各ユニットに流れる消費電流の和をバスの定格電流内に収めることができる制御装置、システムおよび制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、この開示の制御装置は、
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、
上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する調整部とを備えることを特徴とする。
【０００８】
この開示の制御装置では、上記ＣＰＵユニットの上記判定部は、上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する。上記調整部は、上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する。したがって、上記消費電流の和を平滑化し上記バスの定格電流内に収めることができる。
【０００９】
一実施形態の制御装置では、
上記複数の制御軸間に動作の優先順を表す優先度が規定され、
上記調整部は、上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記優先度に基づいて、上記複数の制御軸のうち低優先度の制御軸の動作タイミングを遅らせるかまたは低速にするようになっていることを特徴とする。
【００１０】
この一実施形態の制御装置では、実際に、上記調整部は、上記優先度に基づいて、上記複数の制御軸のうち低優先度の制御軸の動作タイミングを遅らせるかまたは低速にすることができる。なお、上記複数の制御軸のうち最も高い優先度の制御軸の動作タイミングまたは動作速度は、上記プログラムで定められた通りになる。
【００１１】
一実施形態の制御装置では、
優先度を表す情報を入力するための入力部を備え、
上記複数の制御軸間の上記優先度は、上記入力部による入力に応じて設定されることを特徴とする。
【００１２】
この一実施形態の制御装置では、ユーザが、上記入力部を介して上記複数の制御軸間の上記優先度を入力することによって、適宜優先度を設定することができる。
【００１３】
一実施形態の制御装置では、
上記複数の制御軸は複数のグループに分けられており、
上記入力部は、上記複数のグループ間に動作の優先順を表すグループ間優先度を設定するようになっていることを特徴とする。
【００１４】
この一実施形態の制御装置では、上記複数のグループ間に動作の優先順を表すグループ間優先度を設定するようになっている。したがって、グループ単位にまとめて効率的に各ユニットに流れる消費電流の和をバスの定格電流内に収めることができる。
【００１５】
一実施形態の制御装置では、
上記複数のグループはさらに上位の階層のグループに分けられており、上記グループ間優先度は上記上位の階層のグループ間に適用されるようになっていることを特徴とする。
【００１６】
この一実施形態の制御装置では、上記グループ間優先度は、上記上位の階層のグループ間に適用されるようになっている。したがって、上位の階層のグループ単位に効率的に各ユニットに流れる消費電流の和をバスの定格電流内に収めることができる。
【００１７】
一実施形態の制御装置では、
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび上記複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、
上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングに対して、上記複数の制御軸の駆動時間が重ならないように、上記複数の制御軸の駆動時間をそれぞれ複数の分割駆動時間に分割して、上記複数の制御軸の間で上記分割駆動時間毎に切り換えるための情報を作成する調整部とを備えることを特徴とする。
【００１８】
この一実施形態の制御装置では、上記調整部は、上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングに対して、上記複数の制御軸の駆動時間が重ならないように、上記複数の制御軸の駆動時間をそれぞれ複数の分割駆動時間に分割して、上記複数の制御軸の間で上記分割駆動時間毎に切り換えるための情報を作成する。したがって、分割駆動時間毎に切り換えられた駆動時間に従って効果的に各ユニットに流れる消費電流の和をバスの定格電流内に収めることができる。
【００１９】
一実施形態の制御装置では、
上記入出力ユニットは、インタフェースを備え、
上記インタフェースは、アナログ用とパルス用のうちいずれかに切り換えられることを特徴とする。
【００２０】
この一実施形態の制御装置では、上記インタフェースは、アナログ用とパルス用のうちいずれかに切り換えることができる。したがって、単一のインタフェースを複数種類の制御方式で兼用することができる。
【００２１】
別の局面では、この開示のシステムは、
電源ユニットと、
この電源ユニットから延在するバスと、
上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、
上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、
上記ＣＰＵユニットに接続されたコンピュータと、を備え、
上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、
上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、
上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっており、
上記コンピュータは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否かを判定する判定部と、
上記判定部が上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成し、この情報に応じて上記プログラムを変更するプログラム変更部とを備えることを特徴とする。
【００２２】
この開示のシステムでは、上記コンピュータのプログラム変更部は、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成し、この情報に応じて上記プログラムを変更する。したがって、変更されたプログラムを用いて、上記消費電流の和をバスの定格電流内に収めることができる。
【００２３】
別の局面では、この開示の制御方法は、
電源ユニットと、この電源ユニットから延在するバスと、上記電源ユニットに対して上記バスを介して接続されたＣＰＵユニットと、上記バスを介して上記ＣＰＵユニットよりも順次下流側に接続された複数の入出力ユニットと、を備え、上記バスは、上記電源ユニットからの電源ライン、および、上記ＣＰＵユニットからの信号ラインを含み、上記電源ユニットは、上記ＣＰＵユニットと上記複数の入出力ユニットに、上記バスの上記電源ラインを通して電流を供給し、上記複数の入出力ユニットには、それぞれ制御軸が接続され、これらの制御軸に対して、予め定められたインタプリタ型プログラムに基づいて、上記ＣＰＵユニットが上記信号ラインを通して指令し、かつ上記電源ラインを通して電流供給して駆動するようになっている、制御装置の制御方法であって、
上記ＣＰＵユニットは、
上記プログラムを解析して、上記ＣＰＵユニット、上記複数の入出力ユニットおよび複数の制御軸の消費電流の和が上記バスの定格電流内か否か判定し、
上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成することを特徴とする。
【００２４】
この開示の制御方法では、上記ＣＰＵユニットは、上記消費電流の和が定格電流を超えると判定した場合に、上記消費電流の和を上記バスの定格電流内に収めるように、上記プログラムが定める上記制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する。これにより、上記消費電流の和を上記バスの定格電流内に収めることができる。
【発明の効果】
【００２５】
以上より明らかなように、この本開示の制御装置、システム及び制御方法は、各ユニットに流れる消費電流の和をバスの定格電流内に収めることができる。
【図面の簡単な説明】
【００２６】
【図１】この開示に係る一実施形態のシステムの概略構成を示す図である。
【図２】上記システムに含まれた制御装置のブロック構成を示す図である。
【図３】制御軸の動作の例をＸＹＺ直交座標系で模式的に示す図である。
【図４】図４（Ａ）は、制御軸がアナログ出力によって駆動されるサーボモータである場合に、アナログ出力電圧とサーボモータの速度との関係を示す図である。図４（Ｂ）は、制御軸がパルス出力によって駆動されるラインドライバである場合に、ラインドライバの消費電流とパルス周波数の関係を示す図である。
【図５】上記制御装置の動作フロー図である。
【図６】タスク、軸グループおよび軸の階層構造に関して、軸グループ間に定められたグループ間優先度を例示する図である。
【図７】図７（Ａ）は、軸グループ＃１と軸グループ＃２の動作を同時に行った場合の時間経過に伴う消費電流の変化を示す図である。図７（Ｂ）は、軸グループ＃１の動作に対して、軸グループ＃２の動作を優先度に基づいて遅らせた場合の時間経過に伴う消費電流の変化を示す図である。
【図８】図８（Ａ）は、上記図７（Ａ）と同じ消費電流の変化を示す図である。図８（Ｂ）は、軸グループ＃１の動作中は、軸グループ＃２の速度を落とし、軸グループ＃１の動作完了後に、軸グループ＃２の速度を上げた場合の時間経過に伴う消費電流の変化を示す図である。
【図９】図９（Ａ）は、図９（Ｂ）の指令に基づいて動作した場合の時間経過に伴う消費電流の変化を示す図である。図９（Ｂ）は、ＣＰＵユニットが、入出力ユニットに対して出力する指令を示す図である。
【図１０】図１０（Ａ）は、図１０（Ｂ）の指令に基づいて動作した場合の時間経過に伴う消費電流の変化を示す図である。図１０（Ｂ）は、ＣＰＵユニットが、入出力ユニットに対して出力する分割駆動時間毎に切り換える指令を示す図である。
【図１１】コンピュータによる自動調整の動作フローを示す図である。
【図１２】タスク、軸グループおよび軸の階層構造を例示する図である。
【図１３】タスク、軸グループおよび軸に対して優先度を入力するコンピュータの画面を示す図である。
【発明を実施するための形態】
【００２７】
以下、この開示の実施の形態を、図面を参照しながら詳細に説明する。
【００２８】
（システムの構成）
図１は、この開示の制御装置に係る一実施形態のモーションコントロールシステム（全体を符号１０００で示す。）の概略構成を示している。
【００２９】
図１に示すように、モーションコントロールシステム１０００は、大別して、モーションコントローラ２０００と、コンピュータ４と、タッチパネル５と、サーボドライバ７０３と、サーボモータ７０１とを備えている。図２に示すように、モーションコントローラ２０００は、バス１０を通して、電源ユニット６と、ＣＰＵユニット１と、順次複数の入出力ユニットであるモーションユニット２，２，…とが接続され連結された構成を有する。モーションコントローラ２０００は、外部電源３０００に接続された電源ユニット６から電流が供給され、ＣＰＵユニット１がモーションユニット２を通して、制御軸に対応するサーボドライバ７０３およびサーボモータ７０１の動作を制御している。この例では、モーションコントローラ２０００は、ロボット（図示しない）が備える各制御軸（Ｘ，Ｙ，Ｚ，Ｕ，Ｖ）（以下、適宜「軸」と呼ぶ。）に対する姿勢の制御を行う。
【００３０】
ＣＰＵユニット１は、図１中に示すように、筐体の表面に表示器１０２と、入力ボタン１０３と、ネットワークポート１００と、モーションネットワークポート１０１とを備えている。表示器１０２は、各種情報や全ユニットの消費電流の和を表示する。入力ボタン１０３は、ユーザによって操作指令や各種情報を入力するために使用される。ＣＰＵユニット１は、図２中に示すように、ＣＰＵ２０と、メモリ２３と、電源回路２４と、ネットワークポート１００を備える。ＣＰＵ２０は、その機能としての判定部２１と調整部２２を備える。ＣＰＵ２０は、バス１０の信号ライン１２を通して指令を出力する。電源回路２４は、バス１０の電源ライン１１に接続され、各部に電流を供給する。メモリ２３は、制御軸を制御するためのプログラムを格納し各種データのワークエリアとして利用される。ＣＰＵユニット１は、後述するように、判定部２１が制御軸であるサーボドライバ７０３およびサーボモータ７０１を制御するためのプログラムを解析して、ＣＰＵユニット１、複数のモーションユニット２およびサーボドライバ７０３およびサーボモータ７０１の消費電流の和がバス１０の定格電流内か否かを判定する。調整部２２は、判定部２１が消費電流の和が定格電流を超えると判定した場合に、上記プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成して消費電流の和をバス１０の定格電流内に収める。
【００３１】
モーションユニット２は、図１中に示すように、筐体の表面にステータスリレーインタフェース２００と、各制御軸に対応するサーボドライバ７０３およびサーボモータ７０１が信号指令ケーブル７０４を介して接続されるモータ出力インタフェース２０１−１〜２０１−４（これらを符号２０１で総称する。）と、エンコーダケーブル７０５を介して接続されるエンコーダ入力インタフェース２０２−１〜２０１−４（これらを符号２０２で総称する。）と、汎用デジタル入出力インタフェース２０３とを備えている。この例では、サーボドライバ７０３およびサーボモータ７０１は、１組のみ示しているが、制御軸数に応じて増やすことができる。各モーションユニット２は、図２中に示すように、ＤＡ（デジタル／アナログ変換回路）２１１と、パルス出力回路２１２と、エンコーダ回路２１３と、電源回路２１４とを備える。ＤＡ２１１とパルス出力回路２１２には、モータ出力インタフェース２０１が接続される。エンコーダ回路２１３には、エンコーダ入力インタフェース２０２が接続される。電源回路２１４は、バス１０の電源ライン１１から電流を供給され、ＤＡ２１１、パルス出力回路２１２、エンコーダ回路２１３に電流を供給する。ＤＡ２１１とパルス回路は、バス１０の信号ライン１２から受信される指令によって、モータ出力インタフェース２０１に出力信号を出力する。この例では、サーボドライバ７０３にＤＡ２１１を介してアナログ電圧を出力する。
【００３２】
なお、この例では、モーションネットワーク接続型サーボドライバ７００およびサーボモータ７０１をＣＰＵユニット１のモーションネットワークポート１０１からモーションネットワークケーブル７０２を介して接続することができる。このモーションネットワークとしては、超高速・高効率通信を実現するＥｔｈｅｒＣＡＴ（登録商標）が用いられる。この例では、モーションネットワークは、ディージーチェーンの配線形態で構成されるが、これに限られない。
【００３３】
この例では、モータ出力インタフェース２０１は、アナログ出力用とパルス出力用のうちいずれかに切り換えることができる。これにより、単一のインタフェースを複数種類の制御方式で兼用することができる。
【００３４】
電源ユニット６の電源部１３には、電源端子６００を介して外部電源３０００から電力が供給される。電源部１３では、バス１０に含まれる電源ライン１１に供給する電流が生成される。電源ユニット６は、この電源ユニット６に対して下流側に接続されるＣＰＵユニット１、このＣＰＵユニット１に対して下流側に順次接続される複数のモーションユニット２，２，…に、バス１０の電源ライン１１を通してそれぞれ電流を供給する。
【００３５】
バス１０は、信号ライン１２と電源ライン１１を備える。電源ライン１１の定格電流は、この例では、６Ａまたは８Ａに規定されている。
【００３６】
図１中に示すコンピュータ４は、汎用のコンピュータであり、タッチパネル５とともに、イーサネット（登録商標）ケーブル３０１、ハブ３を介して、ＣＰＵユニット１のネットワークポート１００に接続される。コンピュータ４は、制御軸を動作させるためのプログラムの開発およびモーションコントロールシステム１０００の監視に使用される。タッチパネル５は、モーションコントロールシステム１０００が設置される現場での操作に使用される。
【００３７】
（プログラムの例）
ＣＰＵユニット１は、判定部２１が駆動軸を制御するためのプログラムを予め解析する。この例では、インタプリタ型のプログラムが用いられる。
【００３８】
このインタプリタ型プログラムの例として、図３は、制御軸の直線補間動作の例を示す。図３に示すように、Ｘ軸、Ｙ軸およびＺ軸からなる三次元の直交座標の原点Ｐ０（０，０，０）から開始して、次に、Ｐ１（１００，１００，０）へ移動して、次に、Ｐ２（１００，１００，１００）へ移動してＰ０（０，０，０）へ戻る例を次の表１に示す。ここで、Ｇ０１は、直線補間動作コマンドを表す。
表１
2019191831.tif 000003
【００３９】
この例では、ＣＰＵユニット１は、インタプリタ型のプログラムであるので、先読みを行うことが可能である。すなわち、現在実行中の行よりも後に実行される行を予め読み取ることで、以後どういう動作を行うのか予め把握することができる。これにより、プログラムにより行われる一連の動作によってＣＰＵユニット１、モーションユニット２、駆動軸であるサーボドライバ７０３およびサーボモータ７０１が消費する電流の和を予め求めることができる。
【００４０】
（消費電流とサーボモータの速度との関係）
図４（Ａ）は、制御軸がアナログ出力によって駆動されるサーボモータである場合に、アナログ出力電圧とサーボモータの速度との関係を示す。モーションユニット２のモータ出力インタフェース２０１を介してサーボドライバ７０３にアナログ出力電圧が印加される。図４（Ａ）に示すように、アナログ出力電圧とサーボモータ７０１の回転速度は比例関係にある。したがって、アナログ出力電圧が高まるとサーボモータ７０１の消費電流は増加する。
【００４１】
図４（Ｂ）は、制御軸がパルス出力によって駆動されるラインドライバである場合に、ラインドライバの消費電流とパルス周波数の関係を示す。モーションユニット２のモータ出力インタフェース２０１を介してパルス出力を出力することができる。図４（Ｂ）に示すように、ラインドライバの消費電流とパルス周波数は正の相関関係がある。したがって、パルス周波数が高まるとラインドライバの消費電流は増加する。
【００４２】
（制御軸の動作タイミングを遅らせる例）
モーションコントローラ２０００は、駆動すべき複数の制御軸間に動作の優先度を表す優先度が規定され、複数の制御軸は、複数のグループに分けられている。
【００４３】
図６に示すように、この例では、上位階層にタスク＃１があり、このタスク＃１は複数の軸＃１（Ｘ）、軸＃２（Ｙ）、軸＃３（Ｚ）、軸＃４（Ｕ）および軸＃５（Ｖ）によって実行される作業の最小単位を表している。これらの複数の軸間において、軸＃１（Ｘ）、軸＃２（Ｙ）および軸＃３（Ｚ）を含む軸グループ＃１が規定されている。また、軸＃４（Ｕ）および軸＃５（Ｖ）を含む軸グループ＃２が規定されている。軸グループ＃１には、グループ間優先度として優先度Ｈｉｇｈが規定されており、軸グループ＃２には、グループ間優先度として優先度Ｍｅｄｉｕｍが規定されている。優先度Ｈｉｇｈは、優先度Ｍｅｄｉｕｍに対して優先度が高い。
【００４４】
この例では、判定部２１は、次の表２のプログラムを予めシミュレーションする。
表２
2019191831.tif 000004
【００４５】
図７（Ａ）は、上記プログラムに従って消費電流Ｉ１の軸グループ＃１と消費電流Ｉ２の軸グループ＃２の動作を同時に行った場合である。この場合、消費電流Ｉ１と消費電流Ｉ２は、いずれも定格電流ＩＲより低い。しかし、消費電流の和Ｉ１＋Ｉ２は、バス１０の定格電流ＩＲを超える。したがって、判定部２１は、消費電流の和Ｉ１＋Ｉ２がバス１０の定格電流ＩＲを超えたこと（この例では、Ｉ１＋Ｉ２＞ＩＲであること）を判定する。これにより、調整部２２は、軸グループ＃１と軸グループ＃２の優先度に基づいて、優先度の高い消費電流Ｉ１の軸グループ＃１を上記プログラムの定められたタイミングで実行し、優先度の低い消費電流Ｉ２の軸グループ＃２を遅らせるようにプログラムを再プログラムする。
【００４６】
図７（Ｂ）は、再プログラム後に、図６に示す軸グループ＃１（軸＃１（Ｘ）、軸＃２（Ｙ）および軸＃３（Ｚ））の優先度Ｈｉｇｈ、軸グループ＃２（軸＃４（Ｕ）および軸＃５（Ｖ））の優先度Ｍｅｄｉｕｍに従って、軸グループ＃２（軸＃４（Ｕ）および軸＃５（Ｖ））を遅らせた図を示す。調整部２２は、プログラムでのタイミングに比して軸グループ＃２（軸＃４（Ｕ）および軸＃５（Ｖ））を遅らせる。したがって、調整部２２は、優先度の高い消費電流Ｉ１の軸グループ＃１を上記プログラムの定められたタイミングで実行し、動作完了後に優先度の低い消費電流Ｉ２の軸グループ＃２を動作させる。消費電流Ｉ１と消費電流Ｉ２は、いずれも定格電流ＩＲより低い。これにより、消費電流の和をバス１０の定格電流ＩＲ内に収めることができる。
【００４７】
この例では、ＣＰＵユニット１の調整部２２は、低優先度の制御軸の動作タイミングを遅らせることができる。なお、高優先度の制御軸の動作タイミングは、プログラムで定められた通りになる。
【００４８】
上述の例は、動作軸の動作タイミングを遅らせる例であるが、これに限られない。次に、制御軸の動作を低速にする例を示す。
【００４９】
（制御軸の動作を低速にする例）
図８（Ａ）は、図７（Ａ）と同じ消費電流Ｉ１の軸グループ＃１と消費電流Ｉ２の軸グループ＃２の動作を同時に行った場合である。この場合、上記の場合と同様に、消費電流Ｉ１と消費電流Ｉ２は、いずれも定格電流ＩＲより低い。しかし、消費電流の和Ｉ１＋Ｉ２は、バス１０の定格電流ＩＲを超える。したがって、判定部２１は、消費電流の和Ｉ１＋Ｉ２がバス１０の定格電流ＩＲを超えたこと（この例では、Ｉ１＋Ｉ２＞ＩＲであること）を判定する。これにより、調整部２２は、軸グループ＃１と軸グループ＃２の優先度に基づいて、優先度の高い消費電流Ｉ１の軸グループ＃１を上記プログラムの定められたタイミングで実行し、優先度の低い消費電流Ｉ２の軸グループ＃２の動作を低速にするようにプロクラムを再プログラムする。
【００５０】
図８（Ｂ）は、再プログラム後に、図６に示す軸グループ＃１（軸＃１（Ｘ）、軸＃２（Ｙ）および軸＃３（Ｚ））の優先度Ｈｉｇｈに従って、軸グループ＃２（軸＃４（Ｕ）および軸＃５（Ｖ））を低速にした図を示す。調整部２２は、消費電流Ｉ１の軸グループ＃１の動作中に、優先度の低い消費電流Ｉ２の軸グループ＃２の速度を落とす。低速で駆動される軸グループ＃２の消費電流をｉ２（＜Ｉ２）とすると、この時の消費電流の和はＩ１＋ｉ２となって、定格電流ＩＲよりも低くなる（この例では、Ｉ１＋ｉ２＜ＩＲとなる）。軸グループ＃１の動作完了後に、軸グループ＃２の速度を上げる。これにより、いずれの時点でも、消費電流の和をバス１０の定格電流ＩＲ内に収めることができる。
【００５１】
図８（Ｂ）中楕円Ａで示す領域では、消費電流は、軸グループ＃１の減速に合わせて低下する。しかしながら、軸グループ＃２は、加速するので消費電流は増加する。したがって、消費電流は、急激には低下せず、徐々に低下することになる。
【００５２】
この例では、ＣＰＵユニット１の調整部２２は、低優先度の制御軸の動作速度を低速にすることができる。なお、高優先度の制御軸の動作速度は、プログラムで定められた通りになる。
【００５３】
なお、例えば、軸グループ＃１の消費電流Ｉ１と軸グループ＃２の消費電流Ｉ２がいずれも定格電流ＩＲより高い場合は、軸グループ＃１と軸グループ＃２の全部の制御軸の動作を低速にしてもよい。これにより、消費電流の和をバス１０の定格電流ＩＲ内に収めることができる。
【００５４】
上述の例のように優先度を規定して、ＣＰＵユニット１の調整部２２は、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にすることができる。
【００５５】
（制御装置の動作フロー）
図５は、モーションコントローラ２０００が行う全体的な動作フローを示す。このフローは、例えば、モーションコントローラ２０００がＣＰＵユニット１のネットワークポート１００や入力ボタン１０３などを介して動作の開始指示をユーザから受けることによって開始される。
【００５６】
最初に、判定部２１は、メモリ２３に格納されたプログラムを読み込む（ステップＳ１０１）。
【００５７】
次に、判定部２１は、プログラムのシミュレーションを実行する（ステップＳ１０２）。
【００５８】
次に、判定部２１は、ＣＰＵユニット１、モーションユニット２、サーボドライバ７０３およびサーボモータ７０１が消費する電流の和がバス１０の定格電流内か否か判定し、（ステップＳ１０３）。消費電流の和がバス１０の定格電流内であった場合（ステップＳ１０３で「ＹＥＳ」の場合）、処理を終了する。一方、消費電流の和の最大値がバス１０の定格電流を超えた場合（ステップＳ１０３で「ＮＯ」の場合）、ステップＳ１０４に進み、調整部２２は、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する（ステップＳ１０４）。この後、処理を終了する。
【００５９】
この例では、ＣＰＵユニット１では、判定部２１はプログラムを解析して、ＣＰＵユニット１、複数のモーションユニット２および複数の制御軸の消費電流の和がバス１０の定格電流内か否かを判定する。調整部２２は判定部２１が消費電流の和が定格電流を超えると判定した場合に、消費電流の和をバス１０の定格電流内に収めるように、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成する。したがって、消費電流の和を平滑化しバス１０の定格電流内に収めることができる。
【００６０】
この例では、調整部２２は、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報を作成してプログラムを再プログラムする。また、調整部２２は、上記プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にする情報をリアルタイムで作成することも可能である。
【００６１】
（時分割による例）
この例では、ＣＰＵユニット１は、指令を、プログラムが定める動作軸の動作タイミングに対して、複数の制御軸の駆動時間が重ならないように、複数の駆動軸の駆動時間をそれぞれ複数の分割駆動時間Ｔに分割して、複数の制御軸の間で分割駆動時間Ｔ毎に切り換える。この例では、制御周期ＣＴは、６２．５μ秒であり、４分割しているので、分割駆動時間Ｔは、約１６μ秒に設定される。
【００６２】
図９（Ｂ）は、ＣＰＵユニット１が、モーションユニット２に接続された制御軸としての軸＃１１、軸＃１２および軸＃１３に対して出力する指令を示す。各指令は、対応する各制御軸に対して出力され、理解を容易にするために、時間軸を揃えて示されている。各指令は、高レベルにあるとき、対応する制御軸を動作させることを表す一方、低レベルにあるとき、対応する制御軸の動作を停止させることを表す（後述する図１０（Ｂ）において同様。）。
【００６３】
図９（Ａ）の上から３段は、図９（Ｂ）の指令に基づいて、モーションユニット２が動作した場合の軸＃１１、軸＃１２および軸＃１３の時間経過に伴うそれぞれの消費電流Ｉ１，Ｉ２，Ｉ３の変化を示す。図９（Ａ）の最下段のグラフは、それらの消費電流の和を示す。指令値は、制御周期ＣＴ毎に変化しているため、各軸の消費電流は、制御周期ＣＴ毎に変化する。この例では、次の制御周期ＣＴでは、軸＃１１の消費電流Ｉ１は消費電流Ｉ１’に、軸＃１２の消費電流Ｉ２は消費電流Ｉ２’に、軸＃１３の消費電流Ｉ３は消費電流Ｉ３’にそれぞれ変化している。この例では、図９（Ａ）の最下段に示すように、消費電流の和Ｉ１＋Ｉ２＋Ｉ３，Ｉ１’＋Ｉ２’＋Ｉ３’は、いずれも定格電流ＩＲを超える。したがって、判定部２１は、消費電流の和がバス１０の定格電流ＩＲを超えたこと（この例では、Ｉ１＋Ｉ２＋Ｉ３＞ＩＲであり、また、Ｉ１’＋Ｉ２’＋Ｉ３’＞ＩＲであること）を判定する。これにより、調整部２２は、プログラムが定める動作軸の動作タイミングに対して、複数の制御軸の駆動時間が重ならないように、複数の駆動軸の駆動時間をそれぞれ複数の分割駆動時間Ｔに分割して、複数の制御軸の間で分割駆動時間Ｔ毎に切り換えるためのプログラムを再プログラムする。具体的には、次の通りである。
【００６４】
図１０（Ｂ）は、ＣＰＵユニット１が、モーションユニット２に、軸＃２１、軸＃２２および軸＃２３に対して出力する指令を示す。ＣＰＵユニット１は、指令を軸＃２３に、軸＃２１と軸＃２２に対して駆動時間が重ならないように分割駆動時間Ｔ毎に切り換えて指令を出力する。
【００６５】
図１０（Ａ）は、図１０（Ｂ）の指令に基づいて、モーションユニット２が動作した場合の消費電流Ｉ１，Ｉ１’の軸＃２１、消費電流Ｉ２，Ｉ２’の軸＃２２および消費電流Ｉ３，Ｉ３’の軸＃２３の時間経過に伴う消費電流の変化を示す。下段のグラフは、消費電流の和を示す。モーションユニット２には、軸＃２１、軸＃２２および軸＃２３の駆動時間が重ならないように分割駆動時間Ｔ毎に切り換えた指令に基づいて消費電流が発生する。これらの消費電流を合わせて消費電流の和が求められる。この例では、調整部２２は、時間経過に伴う消費電流の和Ｉ１＋Ｉ２，Ｉ３，Ｉ１’＋Ｉ２’，Ｉ３’を、それぞれバス１０の定格電流ＩＲ内に収めることができる。
【００６６】
したがって、調整部２２は、判定部２１が消費電流の和が定格電流ＩＲを超えると判定した場合に、消費電流の和をバス１０の定格電流ＩＲ内に収めるように、プログラムが定める制御軸の動作タイミングに対して、複数の制御軸の駆動時間が重ならないように、複数の制御軸の駆動時間をそれぞれ複数の分割駆動時間Ｔに分割して、複数の制御軸の間で分割駆動時間Ｔ毎に切り換えるための情報を作成する。その結果、分割駆動時間Ｔ毎に切り換えられた駆動時間に従って効果的に各ユニットに流れる消費電流の和をバスの定格電流ＩＲ内に収めることができる。
【００６７】
（コンピュータに接続されたシステムの動作）
図１に戻って、ＣＰＵユニット１は、ケーブル３０１、ハブ３を介して、コンピュータ４に接続されている。ＣＰＵユニット１は、コンピュータ４からプログラムの開発のために操作することが可能である。
【００６８】
コンピュータ４は、コンピュータの機能として判定部とプログラム変更部とを備えている。判定部は、プログラムを解析して、ＣＰＵユニット１、複数のモーションユニット２および複数の制御軸の消費電流の和がバス１０の定格電流内か否かを判定する。判定部が消費電流の和が定格電流を超えると判定した場合に、プログラム変更部は、消費電流の和をバス１０の定格電流内に収めるように、プログラムが定める制御軸の動作タイミングまたは動作速度に対して、複数の制御軸のうち一部の制御軸の動作タイミングを遅らせるか、または、一部若しくは全部の制御軸の動作を低速にするようにプログラムを変更する。
【００６９】
（コンピュータによるプログラムの自動調整機能の例）
コンピュータ４は、消費電流の和がバス１０の定格電流内になるように、プログラムの自動調整を行うことが可能である。この例では、Ｘ軸、Ｙ軸およびＺ軸による動作をシミュレーションすると、定格電流内で動作するが、Ｕ軸およびＶ軸を加えると、バス１０の定格電流を超えることを前提とする。したがって、Ｕ軸およびＶ軸の優先度が低い場合、次のように、元のプログラムに対して、Ｕ軸およびＶ軸を待たせる指令を自動挿入する。その例を次の表３および表４に示す。表３は元（調整前）のプログラム、表４は調整後のプログラムを示している。ここで、Ｇ０４コマンドは、ドウェル（一時停止）コマンドである。
【００７０】
表３（調整前）
2019191831.tif 000005
【００７１】
表４（調整後）
2019191831.tif 000006
【００７２】
すなわち、元のプログラムに対して、
2019191831.tif 000007
なる指令が自動挿入される。これにより、Ｕ軸およびＶ軸の動作が待たされ、消費電流の和は、バス１０の定格電流内に収めることができる。
【００７３】
ここで、００４行目の「Ｇ０４  Ｐ１０００」を自動挿入した場合、１０００ミリ秒だけ、プログラムの実行が待たされる。１０００ミリ秒後に００５行目のＵ軸およびＶ軸の動作を開始させることができる。
【００７４】
プログラムの自動調整機能は、上述の例に限られない。次に速度の自動調整をする例を次の表５および表６に示す。表５は元（調整前）のプログラム、表６は調整後のプログラムを示している。
【００７５】
表５（調整前）
2019191831.tif 000008
【００７６】
表６（調整後）
2019191831.tif 000009
【００７７】
すなわち、元のプログラムに対して、
2019191831.tif 000010
なる指令が自動挿入される。これにより、Ｕ軸およびＶ軸の速度が低下させられ、消費電流の和は、バス１０の定格電流内に収めることができる。
【００７８】
（コンピュータによる自動調整の動作フロー）
図１１は、コンピュータ４が行う自動調整の全体的な動作フローを示す。このフローは、例えば、コンピュータ４がキーボードまたはマウスなどを介して動作の開始指示をユーザから受けることによって開始される。
【００７９】
最初に、コンピュータ４のキーボードまたはマウスを使用して、軸および軸グループを設定する（ステップＳ２０１）。
【００８０】
次に、上述の優先度に基づいて制御する優先度方式、または上述のコンピュータによる自動調整する速度調整方式のいずれかを設定する（ステップＳ２０２）。
【００８１】
次に、ユーザは、モーションコントローラ２０００で制御軸を制御するインタプリタ型プログラムを作成する（ステップＳ２０３）。
【００８２】
次に、コンピュータ４は、プログラムのシミュレーションを実行する（ステップＳ２０４）。
【００８３】
次に、コンピュータ４は、ＣＰＵユニット１、複数のモーションユニット２および複数の制御軸の消費電流の和がバス１０の定格電流内か否かを判定し、（ステップＳ２０５）、消費電流の和がバス１０の定格電流内であった場合（ステップＳ２０５で「ＹＥＳ」の場合）、処理を終了する。一方、消費電流の和がバス１０の定格電流を超えた場合（ステップＳ２０５で「ＮＯ」の場合）、ステップＳ２０６に進む。
【００８４】
次に、コンピュータ４のプログラム変更部は、プログラムに、動作開始を待たせる命令の挿入、または、速度を遅らせる調整をおこなう命令を挿入する（ステップＳ２０６）。以上により、自動調整の動作フローは終了する。
【００８５】
（タスク、軸グループ、軸の階層構造）
図１２は、タスク、軸グループ、軸の階層構造を例示している。モーションコントローラ２０００で実行されるプログラムは、複数の階層から構成される。複数の階層は、最上位階層から順に、タスク、軸グループ、軸からなる。
【００８６】
１つのプログラムには、複数の上位階層のタスクが含まれ得る。１つのタスクには、複数の軸グループまたは複数の軸が含まれ得る。１つの軸グループには、複数の軸が含まれ得る。また、軸グループと、軸グループに属していない軸に対して動作の優先順を表す優先度が規定される。なお、この例では、軸グループに属している軸には優先度を規定することはできない。
【００８７】
各タスク間には、優先度が規定される。この例では、タスク＃１に対して優先度２０、タスク＃２に対して優先度１９、タスク＃３に対して優先度１８が規定されている。また、軸グループ＃１に対して優先度Ｈｉｇｈ、軸グループ＃２に対して優先度Ｍｅｄｉｕｍ、軸グループ＃３に対して優先度Ｈｉｇｈ、軸＃１０に対して優先度Ｈｉｇｈ、軸＃１１に対して優先度Ｈｉｇｈ、軸＃１２に対して優先度Ｍｅｄｉｕｍ、軸＃１３に対して優先度Ｌｏｗが規定されている。Ｈｉｇｈ、Ｍｅｄｉｕｍ、Ｌｏｗの順に優先度は高い。ここで、優先度の値が大きく高いほど、優先的に実行される。したがって、このプログラムでは、タスク＃１の軸グループ＃１が最も優先して実行される。
【００８８】
（タスク、軸グループ、軸の優先度入力画面の例）
図１３は、タスク、軸グループ、軸に対して優先度を入力するコンピュータ４の画面を示す。コンピュータ４の画面から入力部であるキーボードまたはマウスを使用して、ユーザは、上位の階層のタスク、下位の軸グループ、および軸に動作の優先順を表す優先度を入力することができる。
【００８９】
コンピュータ４の画面の左上（図１３（Ａ））の表形式の欄４０１には、上位階層のタスク＃１が表示されている。この例では、プルダウン形式のウィンドウ４０２が表示され、タスク＃１に関して、２０、１９、１８などのうちからタスク間の優先順を表すタスク間優先度の数値を入力することができる。
【００９０】
コンピュータ４の画面左下（図１３（Ｂ））では、軸グループに関して、構成軸と複数のグループ間に動作の優先順を表すグループ間優先度Ｈｉｇｈ、Ｍｅｄｉｕｍ、Ｌｏｗを入力することができる。コンピュータ４の画面右下（図１３（Ｃ））では、軸に関して、軸間の動作の優先順を表す軸間優先度２０、１９、１８などの数値を入力することができる。
【００９１】
この例では、ユーザが入力部によって優先度を入力することができ、複数のタスク、グループ、軸間に動作の優先順を表すタスク間、グループ間、軸間優先度を設定することが可能である。したがって、タスク、グループ、軸単位にまとめて効率的に各ユニットに流れる消費電流の和をバス１０の定格電流内に収めることができる。
【００９２】
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。
【符号の説明】
【００９３】
１        ＣＰＵユニット
２        モーションユニット
４        コンピュータ
６        電源ユニット
１０      バス
１１      電源ライン
１２      信号ライン
２０      ＣＰＵ
２１      判定部
２２      調整部
７０３    サーボドライバ
７０１    サーボモータ
１０００  モーションコントロールシステム
２０００  モーションコントローラ
【図１】
2019191831.tif 000011
【図２】
2019191831.tif 000012
【図３】
2019191831.tif 000013
【図４】
2019191831.tif 000014
【図５】
2019191831.tif 000015
【図６】
2019191831.tif 000016
【図７】
2019191831.tif 000017
【図８】
2019191831.tif 000018
【図９】
2019191831.tif 000019
【図１０】
2019191831.tif 000020
【図１１】
2019191831.tif 000021
【図１２】
2019191831.tif 000022
【図１３】
2019191831.tif 000023