(57)【特許請求の範囲】
【請求項１】
モータの動作が位置指令値に追従するように前記モータを駆動する電流を生成するモータ駆動アンプに対し、前記位置指令値を生成して供給するモータ制御装置であって、
移動距離および位置決め時間の入力を受け付ける入力受け付け部と、
生成する位置指令値の推移を定義する生成パターンであって当該推移を調整するためのパラメータを備える生成パターンを記憶する生成パターン記憶部と、
前記入力受け付け部が受け付けた移動距離および位置決め時間を満たすように前記生成パターンのパラメータを複数生成するパラメータ生成部と、
前記パラメータ生成部が生成した複数のパラメータを前記生成パターンに夫々適用し、前記パラメータを適用した後の夫々の生成パターンに基づいて前記モータの電流および速度を求め、前記求めた電流および速度から、前記モータが位置指令値に追従した際の消費電力量を前記パラメータ毎に算出する消費電力量算出部と、
前記パラメータ毎に算出された消費電力量に基づいて、前記パラメータ生成部が生成した複数のパラメータのうちから消費電力量が最も小さいパラメータを選択するパラメータ選択部と、
前記パラメータ選択部が選択したパラメータが適用された生成パターンに基づいて前記モータ駆動アンプに供給する位置指令値を生成する指令生成部と、
を備えることを特徴とするモータ制御装置。
【請求項２】
前記消費電力量算出部は、前記モータの電流または速度に応じて発生する損失Ｌと、前記モータの電流から決定される前記モータのトルクと前記モータの速度との積により構成される前記モータが行う仕事Ｗと、の和Ｑがゼロ値よりも大きい場合にＰ＝Ｑ、前記和Ｑがゼロ値よりも小さい場合にＰ＝０となるＰをパラメータ毎に積分することによって、前記モータの消費電力量をパラメータ毎に算出する、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項３】
前記消費電力量算出部は、前記モータの電流または速度に応じて発生する損失Ｌと、前記モータの電流から決定される前記モータのトルクと前記モータの速度との積により構成される前記モータが行う仕事Ｗと、の和Ｐを積分することによって、前記モータの消費電力量を算出する、
ことを特徴とする請求項１に記載のモータ制御装置。
【請求項４】
前記モータ駆動アンプは、前記モータの回生エネルギーを消費する回生抵抗を備える、ことを特徴とする請求項２に記載のモータ制御装置。
【請求項５】
前記モータ駆動アンプは、前記モータの回生エネルギーを前記モータ駆動アンプに電源供給する電源に返還する電源回生回路を備える、ことを特徴とする請求項３に記載のモータ制御装置。
【請求項６】
前記消費電力量算出部は、前記パラメータ生成部が生成したパラメータを適用した後の生成パターンに基づいて前記モータに流れる電流および前記モータの速度を算出する、
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項７】
前記消費電力量算出部は、前記パラメータ生成部が生成したパラメータを適用した後の生成パターンに基づいて前記モータ駆動アンプに位置指令値を供給して前記モータを試験的に駆動させ、前記モータの駆動時に前記モータに流れる電流および前記モータの速度を測定する、
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項８】
前記入力受け付け部は、前記モータ駆動アンプに供給できる位置指令値を規定する最大速度Ｖｍａｘの入力を受け付け、
前記消費電力量算出部は、前記パラメータ生成部が生成したパラメータを適用した後の生成パターンに基づいてピーク速度Ｖｐを算出し、前記算出したピーク速度Ｖｐが前記入力された最大速度Ｖｍａｘよりも小さい場合に当該パラメータにかかる消費電力量を算出する、
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項９】
前記入力受け付け部は、前記モータ駆動アンプに供給できる位置指令値を規定する最大加速度Ａｍａｘの入力を受け付け、
前記消費電力量算出部は、前記パラメータ生成部が生成したパラメータを適用した後の生成パターンに基づいてピーク加速度Ａｐを算出し、前記算出したピーク加速度Ａｐが前記入力された最大加速度Ａｍａｘよりも小さい場合に当該パラメータにかかる消費電力量を算出する、
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項１０】
前記入力受け付け部は、前記モータ駆動アンプに供給できる位置指令値を規定する最大電流Ｉｍａｘの入力を受け付け、
前記消費電力量算出部は、前記パラメータ生成部が生成したパラメータを適用した後の生成パターンに基づいてピーク電流Ｉｐを算出し、前記算出したピーク電流Ｉｐが前記入力された最大電流Ｉｍａｘよりも小さい場合に当該パラメータにかかる消費電力量を算出する、
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項１１】
前記消費電力量算出部は、
前記測定したモータに流れる電流を２乗することによって算出される銅損、または、
前記測定したモータに流れる電流と前記モータの速度とに基づいて算出される鉄損
の少なくともどちらかを含む損失Ｌを算出する
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項１２】
前記消費電力量算出部は、
前記測定したモータに流れる電流を２乗することによって算出される銅損、または、
前記測定したモータに流れる電流と前記モータの速度とに基づいて算出される鉄損
の少なくともどちらかを含む損失Ｌを算出する
ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【請求項１３】
前記損失Ｌは、前記モータの電流を２乗することによって求まる、銅損に基づく損失、または前記モータに流れる電流および速度に基づいて求まる、鉄損に基づく損失、を含む、ことを特徴とする請求項２乃至請求項５の何れか一項に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置に関する。
【背景技術】
【０００２】
半導体製造装置、電子部品実装機、工作機械などの各種産業機械においては、モータの駆動を利用した位置決め制御が広く行われている。これらの産業機械を使用するにあたり、位置決め制御時の電力をなるべく小さくしたいという要望がある。【０００３】
特許文献１には、位置決め制御用の指令値に着目して、指令速度の形状を放物線状にして位置決め制御することにより、駆動電流の２乗積分を位置決め動作中積分した値が最小にする技術が開示されている。【０００４】
また、特許文献２には、指令値（動作パス）に着目し、駆動装置における電力損失(動作パスの電流の平均二乗)と、エンジンの回転数に基づく電力損失（動作パスの回転数の平均二乗積分）の和が小さくなるように動作パスにおける加速度や速度を調整することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２４１６０４号公報
【特許文献２】特表２００４−５２２６０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の技術では、電流の二乗積分に着目している。電流の二乗積分は銅損とよばれる損失に相当し、損失は主に熱となる。銅損は消費電力量の一部ではあるが、位置決め動作時の消費電力量のすべてを占めるものではない。したがって、特許文献１の技術は、発生する熱を最小にしていることにはなるが、消費電力量を小さくしていることに相当していない。位置決め制御動作は、モータを停止状態から加速させた後、所定の移動距離に近づいたら減速停止させる動作であり、この動作を行うためには、熱となってしまう損失とは別に電力が必要である。【０００７】
特許文献２の方法も、回転数の平均二乗積分では、位置決め動作に必要な加速、減速動作に要する消費電力を加味して、消費電力が小さくなる位置決め制御用の指令値を生成することができない。【０００８】
本発明は、上記に鑑みてなされたものであって、位置決め制御に要する消費電力量を可及的に低減するモータ制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、モータの動作が位置指令値に追従するように前記モータを駆動する電流を生成するモータ駆動アンプに対し、前記位置指令値を生成して供給するモータ制御装置であって、移動距離および位置決め時間の入力を受け付ける入力受け付け部と、生成する位置指令値の推移を定義する生成パターンであって当該推移を調整するためのパラメータを備える生成パターンを記憶する生成パターン記憶部と、前記入力受け付け部が受け付けた移動距離および位置決め時間を満たすように前記生成パターンのパラメータを複数生成するパラメータ生成部と、前記パラメータ生成部が生成した複数のパラメータを前記生成パターンに夫々適用し、前記パラメータを適用した後の夫々の生成パターンに基づいて前記モータの電流および速度を求め、前記求めた電流および速度から、前記モータが位置指令値に追従した際の消費電力量を前記パラメータ毎に算出する消費電力量算出部と、前記パラメータ毎に算出された消費電力量に基づいて、前記パラメータ生成部が生成した複数のパラメータのうちから消費電力量が最も小さいパラメータを選択するパラメータ選択部と、前記パラメータ選択部が選択したパラメータが適用された生成パターンに基づいて前記モータ駆動アンプに供給する位置指令値を生成する指令生成部と、を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、損失Ｌだけでなく仕事Ｗを考慮した消費電力量が最小となるように位置指令値を生成するので、位置決め制御に要する消費電力量を可及的に低減することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１のモータ制御装置を使用するシステムの構成例を説明するブロック図である。
【図２】図２は、実施の形態１のモータ制御装置の機能構成を説明する図である。
【図３】図３は、指令値曲線の例を示す図である。
【図４】図４は、指令値曲線の例を示す図である。
【図５】図５は、実施の形態１のモータ制御装置が位置指令値を算出する動作を説明するフローチャートである。
【図６】図６は、実施の形態２のモータ制御装置を使用するシステムの構成例を説明するブロック図である。
【図７】図７は、実施の形態２のモータ制御装置の機能構成を説明する図である。
【図８】図８は、本発明の実施の形態３のモータ制御装置を使用するシステムの構成例を説明するブロック図である。
【図９】図９は、実施の形態３のモータ制御装置の機能構成を説明する図である。
【図１０】図１０は、実施の形態３のモータ制御装置が位置指令値を算出する動作を説明するフローチャートである。
【図１１】図１１は、本発明の実施の形態４のモータ制御装置を使用するシステムの構成例を説明するブロック図である。
【図１２】図１２は、実施の形態４のモータ制御装置の機能構成を説明する図である。
【図１３】図１３は、上記の機能構成要素を備えるモータ制御装置が位置指令値を算出する動作を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１３】
実施の形態１．
図１は、本発明の実施の形態１のモータ制御装置を使用するシステムの構成例を説明するブロック図である。
【００１４】
モータ１は、後述するモータ駆動アンプ部４から電流２２を供給されることにより動作する。エンコーダ２は、モータ１の位置や速度などのモータ情報２３を検出する。機械負荷３は、モータ１が与えるトルク、推力などの駆動力２１により駆動される。機械負荷３は、例えば、ボールネジ機構が該当する。
【００１５】
モータ制御装置７は、上位装置から、移動距離Ｄ、位置決め時間Ｔ、最大加速度Ａｍａｘ、および最大速度Ｖｍａｘを含む指令値生成情報１００が入力され、当該入力された指令値生成情報１００に基づいて、モータ１もしくは機械負荷３を位置決め動作させるための参照信号である位置指令値２４を生成する。ここで、移動距離Ｄは、モータ１もしくは機械負荷３が位置決め動作される移動量を表し、位置決め時間Ｔは、位置指令値が開始されてから目標位置Ｄに到達するまでの時間、最大加速度Ａｍａｘは位置指令値の２階微分である指令加速度の許容できる最大値、最大速度Ｖｍａｘは位置指令値の一階微分である指令速度の許容できる最大値を表す。
【００１６】
ここで、モータ制御装置７は、上位装置から、機械運動情報１０１、仕事計算情報および損失計算情報（ここでは、仕事計算情報および損失計算情報を仕事／損失計算情報１０２と総称する）が入力され、位置決め時間Ｔの間に移動距離Ｄだけモータ１または機械負荷３を動作させるための消費電力量が可及的に小さくするように位置指令値２４を算出する。機械運動情報１０１、仕事／損失計算情報１０２の詳細については後述する。なお、上位装置は例えばプログラマブルコントローラ（ＰＬＣ）が該当する。
【００１７】
モータ駆動アンプ部４は、モータ制御装置７が生成する位置指令値２４にモータ１の位置が追従するようにモータ１を駆動する電流を生成し、生成した電流をモータ１に供給する。モータ１としてサーボモータが採用されている場合、サーボアンプがモータ駆動アンプ部４に該当する。モータ駆動アンプ部４には、例えば位置指令値２４に追従させるためのフィードバック制御系が実装される。具体的には、位置指令値２４はモータ１の位置の参照信号として与えられ、モータ情報２３はモータ１の検出位置で与えられ、モータ駆動アンプ部４は、モータ１の検出位置が位置指令値２４に追従するように電流指令値を計算する。そして、計算した電流指令値に基づいて、ＰＷＭインバータなどの電力変換器により、モータ１を駆動する電流を生成する。
【００１８】
電源５は、モータ駆動アンプ部４が電流を発生させるための電力２５を供給する電源であり、例えば３相交流電源や単相交流電源がこれに該当する。回生抵抗６は、モータ１が回生状態になったときの回生エネルギー２６を消費させるための抵抗である。
【００１９】
図２は、位置決め制御に要する消費電力量を可及的に低減するように位置指令値２４を算出するための本実施の形態１のモータ制御装置７の機能構成を説明する図である。図示するように、モータ制御装置７は、指令値曲線（生成パターン）群１０３を記憶する指令値曲線記憶部（生成パターン記憶部）７１と、入力受け付け部７２と、指令値曲線選択部７３と、パラメータセット生成部（パラメータ生成部）７４と、消費電力量算出部７５と、パラメータセット選択部（パラメータ選択部）７６と、指令生成部７７とを備えている。
【００２０】
入力受け付け部７２は、指令値生成情報１００、機械運動情報１０１、および仕事／損失計算情報１０２の入力を受け付ける。
【００２１】
機械運動情報１０１とは、モータ１が位置指令値２４に追従して動作したときに、モータ１に発生する電流、モータ速度が、どのような値になるかを表す情報であり、例えば運動方程式がこれに該当する。以下に、機械運動情報１０１の具体例を説明する。
【００２２】
モータ駆動アンプ部４は位置指令値２４に追従するように制御を行うので、ある位置指令値２４を用いて位置決め制御したときの速度は位置指令値２４の一階微分である速度指令に等しい。したがって、モータ速度は位置指令値２４を一階微分することにより求めることができる。モータ１のイナーシャとモータ１が回転したときに可動する機械負荷３のイナーシャを合計した総イナーシャＪと、モータ１に電流が発生したときのトルクが発生する比例乗数であるモータ１のトルク定数Ｋｔと、モータ１の速度に比例して発生する粘性摩擦係数Ｃｄと、モータ１の回転方向と反対方向にかかる一定の摩擦力であるクーロン摩擦Ｃｃの情報を用いて、モータ１に発生する時刻ｔにおける電流Ｉ（ｔ）とモータの速度ｖ（ｔ）、加速度ａ（ｔ）との関係を表す運動方程式は、
Ｊ・ａ（ｔ）＝Ｋｔ・Ｉ（ｔ）−Ｃｄ・ｖ（ｔ）−Ｃｃ    （１）
となる。この式に速度ｖ（ｔ）に位置指令値２４の一階微分である指令速度ｖ＊（ｔ）を、加速度ａ（ｔ）に位置指令値２４の二階微分である指令加速度ａ＊（ｔ）を夫々代入すると、式（１）の運動方程式は、
Ｉ（ｔ）＝（１／Ｋｔ）・（Ｊ・ａ＊（ｔ）＋Ｃｄ・ｖ＊(t)＋Ｃｃ）    （２）
と変形できる。この場合の機械運動情報１０１は、モータ速度ｖ（ｔ）が位置指令値２４を一階微分した値に等しいこと、および式（２）の関係式が該当する。
【００２３】
なお、機械運動情報１０１は、式（２）に示す運動方程式そのものとするのではなく、当該運動方程式に含まれるパラメータ（Ｊ，Ｋｔ，Ｃｄ，Ｃｃ）を変数とした式（２）の運動方程式をモータ制御装置７内に予め保持しておき、機械運動情報１０１としてパラメータ（Ｊ，Ｋｔ，Ｃｄ，Ｃｃ）が入力されるようにしてもよい。さらに、機械運動情報１０１自体をモータ制御装置７内に予め保持しておき、機械運動情報１０１の入力を不要とするように構成してもよい。
【００２４】
さらに、機械負荷３の共振特性およびモータ駆動アンプ部４のフィードバック制御系を考慮したモデルを構築して、当該モデルに基づいて位置指令値２４と電流Ｉ（ｔ）および速度ｖ（ｔ）との間の関係式を求め、当該関係式を機械運動情報１０１とするようにしてもよい。
【００２５】
次に、仕事／損失計算情報１０２のうちの仕事計算情報について説明する。時刻ｔにおけるモータ１が行う仕事Ｗ（ｔ）は、時刻ｔにおけるモータの速度ｖ(t)とモータのトルクτ(t)を用いて、
Ｗ（ｔ）＝ｖ（ｔ）×τ（ｔ）    （３）
と表される。モータトルクτ（ｔ）は電流Ｉ（ｔ）に応じて発生する。モータトルクと電流が比例関係にある場合には、仕事Ｗ（ｔ）は、
Ｗ（ｔ）＝ｖ（ｔ）×Ｋｔ・Ｉ（ｔ）    （４）
と表すことができる。ここで、Ｋｔはモータ１のトルク定数である。この場合の仕事計算情報は、式（４）の計算式およびトルク定数Ｋｔが該当する。
【００２６】
なお、モータ１として、同期モータを用いる場合には、トルク定数と誘起電圧定数が等しくなるため、トルク定数のかわりに誘起電圧定数を用いてもよい。また、トルクと電流との間に比例関係が成り立たない場合は、モータ１に電流が流れたときに発生するトルクの値をテーブル、もしくは関数で予め記憶しておき、これをもとにトルクに算出してもよい。すなわち、電流Ｉ（ｔ）とトルクτ（ｔ）の関係を表すテーブルもしくは関数をＦとすると、
Ｗ（ｔ）＝ｖ（ｔ）×Ｆ（Ｉ（ｔ）)    （５）
である。この場合、仕事計算情報は、式（５）の計算式、および、テーブルもしくは関数Ｆが該当する。
【００２７】
いずれの場合においても、仕事計算情報としての計算式によれば、仕事Ｗ（ｔ）は、速度と、電流から計算されるトルクとの積により算出される。
【００２８】
次に、仕事／損失計算情報１０２のうちの損失計算情報について説明する。損失の具体例としては、モータコイルの電気抵抗によって失われるエネルギーである銅損や、モータに巻かれた鉄心に交流で磁化したときに失われるエネルギーである鉄損がある。
【００２９】
銅損に基づく損失Ｌｃｏｐｐｅｒは、モータの巻線抵抗Ｒを比例定数として用いて、
Ｌｃｏｐｐｅｒ＝Ｒ・Ｉ（ｔ）＾２    （６）
と計算することができる。
【００３０】
また、鉄損はヒステリシス損や渦電流から構成される。ヒステリシス損と渦電流損を合計した鉄損に基づく損失Ｌｃｏｒｅは、モータの磁束密度Ｂ（ｔ）、速度ｖと、比例乗数α’、β’とを用いて、
Ｌｃｏｒｅ＝α’・ｖ（ｔ）・Ｂ(t)^γ＋β’・ｖ（ｔ）＾２・Ｂ（ｔ）＾２    （７）
と表すことができる。
【００３１】
さらに、磁束密度Ｂはモータ電流Ｉに概ね比例して発生するので、比例乗数α’、β’に夫々対応する別の比例乗数α、βを用いることにより、
Ｌｃｏｒｅ＝α・ｖ（ｔ）・Ｉ（ｔ）＾γ＋β・ｖ（ｔ）＾２・Ｉ（ｔ）＾２    （８）
と表すことができる。なお、定数α、β、γはモータを電磁界解析することにより得ることができる。
【００３２】
損失として、銅損と鉄損を含む場合、損失Ｌ（ｔ）は
Ｌ（ｔ）＝Ｒ・Ｉ（ｔ）＾２＋α・ｖ（ｔ）・Ｉ（ｔ）＾γ＋β・ｖ（ｔ）＾２・Ｉ（ｔ）＾２    （９）
で計算される。損失計算情報は、例えば（９）式の計算式と各係数Ｒ、α、β、γが該当する。なお、モータ１の鉄損が非常に小さい場合、銅損のみを損失、すなわち、α＝０、β＝０としてもよい。
【００３３】
なお、上記説明では、電流の二乗に比例して発生する銅損に基づく損失と、モータの速度と電流の両方に依存して発生する鉄損とに基づく損失を（９）式のような計算式でモデル化することを説明したが、損失をモデル化するための計算式、および、定数を表すものであれば何でもよく、これに限られるものではない。例えば、モータ駆動アンプ部４の損失が、モータ１の速度や電流、トルクにかかわらず、一定値の損失が発生するのであれば、（９）式に一定値の項を加えても良い。また、電流の絶対値に比例して、損失が発生するのであれば、電流の絶対値に比例する項を（９）式に加えてもよい。また、仕事計算情報または損失計算情報を予めモータ制御装置７内に保持させるようにしておき、仕事計算情報または損失計算情報の入力を不要とするように構成してもよい。
【００３４】
指令値曲線記憶部７１は、複数の指令値曲線（指令値曲線群１０３）を記憶するメモリである。指令値曲線は、生成する位置指令値２４の時間推移を定義する生成パターンであって、自指令値曲線の形状を調整するためのパラメータを備えている。すなわち、当該パラメータの値が設定されることにより、移動距離Ｄ、位置決め時間Ｔを満たす位置指令値２４の時間推移を一意に規定することができるようになっている。以下に、指令値曲線およびパラメータの例を説明する。図３および図４は、指令値曲線の例を説明するための図である。
【００３５】
指令値曲線の１つの例としてユニバーサルカム曲線があげられる。図３は、移動距離がＤであり、位置決め時間がＴであるユニバーサルカム曲線で表される位置指令値２４、位置指令値２４の一階微分である速度（指令速度）、位置指令の二階微分である加速度（指令加速度）を表すグラフを示している。図示するように、ユニバーサルカム曲線は、７つの区間に分割され、全体として正負の等加速度区間（ｔ２，ｔ６）、等速度区間（ｔ４）、および、それらを三角関数で接続する接続する区間（ｔ１，ｔ３，ｔ５，ｔ７）から成る曲線である。このユニバーサルカム曲線によれば、位置決め時間Ｔにおける位置指令値２４が移動距離Ｄに等しく、かつｔ１〜ｔ７の合計値が位置決め時間Ｔに等しいという条件を満たすようにそれぞれの区間の長さを表すパラメータの組（ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６，ｔ７）を指定することによって、移動距離がＤであり、かつ、位置決め時間がＴである位置指令値２４の時間推移を一意に決めることができる。
【００３６】
また、指令値曲線の別の例として図４に示す曲線が挙げられる。図４に示す曲線は、０＜Ｔｊ＜Ｔ、０＜Ｘｊ＜Ｄを満たす複数個（この例では４個）の座標（Ｔｊ，Ｘｊ）（ｊ＝１，２，３，４）をパラメータとし、（０、０）、これらの座標、および（Ｔ、Ｄ）の間を例えばスプライン補間などで補間して生成される。すなわち、この曲線によれば、８個のパラメータの組（Ｔ１、Ｘ１、Ｔ２、Ｘ２、Ｔ３、Ｘ３、Ｔ４、Ｘ４）を、０＜Ｔｊ＜Ｔ、０＜Ｘｊ＜Ｄを満たす条件で指定することによって、位置指令値２４の時間推移を一意に決めることができる。
【００３７】
なお、指令値曲線はこれらのみに限定されない。移動距離がＤで、位置決め時間がＴであり、１以上のパラメータにより形状を決定される曲線であるなら、どのようなものであってもよい。以降、位置指令値２４の時間推移を一意に決めるためのパラメータの組をパラメータセットということとする。
【００３８】
指令値曲線選択部７３は、指令値曲線記憶部７１が記憶する指令値曲線群１０３のうち、位置指令値２４を生成するために使用する指令値曲線を選択する。なお、指令値曲線選択部７３は、上位装置から所望の指令値を指定する指令を受け付けて、当該指令に基づいて指令値曲線を選択するようにしてよい。
【００３９】
パラメータセット生成部７４は、移動距離がＤ、位置決め時間がＴとなるように、前記選択された指令値曲線に対応するパラメータセットを複数生成する。生成された複数のパラメータセットは、内部のメモリにパラメータセット群１０４として蓄積記憶される。例えば、ユニバーサルカム曲線を指令値曲線として使用する場合であれば、パラメータセット生成部７４は、位置決め時間Ｔにおける位置指令値２４が移動距離Ｄであり、かつｔ１〜ｔ７の合計値が位置決め時間Ｔに等しいという条件を満たすパラメータセット（ｔ１，ｔ２，ｔ３，ｔ４，ｔ５，ｔ６，ｔ７）をＮ組用意する。
【００４０】
消費電力量算出部７５は、指令値生成情報１００、機械運動情報１０１、および仕事／損失計算情報１０２を用いて、位置決め制御にかかる消費電力量をパラメータセット毎に算出する。具体的には、以下のようにして算出する。時刻ｔにおける消費電力をＱ（ｔ）とすると、
Ｑ（ｔ）＝Ｌ（ｔ）＋Ｗ（ｔ）    （１０）
となる。なお、煩雑を避けるために式変形を省略するが、式（１０）には、機械運動情報１０１、仕事／損失計算情報１０２が適用されることはいうまでもない。実施の形態１においては、回生電力は回生抵抗６で消費されるので、消費電力量Ｅ（ｉ）は、
【数１】
0005642276.tif 000002
【００４１】
となる。パラメータセット毎に算出された消費電力量Ｅ（ｉ）は、使用したパラメータセットと対応付けて内部のメモリに蓄積記憶される。
【００４２】
パラメータセット選択部７６は、パラメータセット群１０４のうちから、消費電力量Ｅ（ｉ）が最小となるパラメータセットを選択する。
【００４３】
指令生成部７７は、位置指令値２４の時間推移が指令値曲線選択部７３により選択された指令値曲線にパラメータセット選択部７６により選択されたパラメータセットを適用して得られる曲線になるように、位置指令値２４を生成する。生成した位置指令値２４はモータ駆動アンプ部４に供給される。
【００４４】
なお、これらの機能構成要素は、夫々ハードウェア回路により実現するようにしてもよい。また、演算装置、記憶装置、および上位装置やモータ駆動アンプ部４と接続するためのインタフェースを備えるコンピュータにおいて、予めインストールされているプログラムを実行させることによって実現するようにしてもよい。例えば、演算装置は、前記プログラムに基づいて、入力受け付け部７２、指令値曲線選択部７３、パラメータセット生成部７４、消費電力量算出部７５、パラメータセット選択部７６、指令生成部７７として機能する。また、記憶装置は、前記プログラムを予め記憶しておくほか、指令値曲線記憶部７１として機能する。
【００４５】
図５は、上記の機能構成要素を備えるモータ制御装置７が位置指令値２４を算出する動作を説明するフローチャートである。
【００４６】
まず、入力受け付け部７２は、指令値生成情報１００（移動距離Ｄ、位置決め時間Ｔ、最大加速度Ａｍａｘ、および最大速度Ｖｍａｘ）の入力を受け付ける（ステップＳＴ１）。そして、入力受け付け部７２は、機械運動情報１０１の入力を受け付ける（ステップＳＴ２）。
【００４７】
ステップＳＴ２に続いて、入力受け付け部７２は、仕事／損失計算情報１０２の入力を受け付ける（ステップＳＴ３）。
【００４８】
ステップＳＴ３に続いて、指令値曲線選択部７３は、生成する位置指令値２４の時間推移のタイプを規定する指令値曲線を、指令値曲線記憶部７１に格納されている指令値曲線群１０３から選択する（ステップＳＴ４）。
【００４９】
パラメータセット生成部７４は、移動距離がＤ、位置決め時間がＴとなるように、前記選択された指令値曲線に対応するパラメータセットを複数（ここではＮ個とする）生成し、パラメータセット群１０４として出力する（ステップＳＴ５）。
【００５０】
消費電力量算出部７５は、まず、ステップＳＴ７〜ステップＳＴ１２のループ処理のカウントに用いるインデックスｉを１で初期化し（ステップＳＴ６）、パラメータセット群１０４のうちからパラメータセットをひとつ選択する（ステップＳＴ７）。そして、選択したパラメータセットを使用した場合の位置指令値２４のピーク速度Ｖｐおよびピーク加速度Ａｐを算出する（ステップＳＴ８）。具体的には、消費電力量算出部７５は、ステップＳＴ４において選択された指令値曲線にステップＳＴ７で選択したパラメータセットを適用して得られる位置指令値２４の時間推移の曲線から、位置指令値２４の一階微分である指令速度を計算し、指令速度の絶対値の最大値をピーク速度Ｖｐとする。また、位置指令の二階微分である指令加速度を計算し、指令加速度の絶対値の最大値をピーク加速度Ａｐとする。
【００５１】
そして、消費電力量算出部７５は、Ａｐ≦Ａｍａｘ、かつＶｐ≦Ｖｍａｘを満たすか否かを判定する（ステップＳＴ９）。上記条件が満たされている場合（ステップＳＴ９、Ｙｅｓ）、当該パラメータセットを使用した場合の位置指令値２４の消費電力量を算出する（ステップＳＴ１０）。ステップＳＴ９において、Ａｐ≦Ａｍａｘ、かつＶｐ≦Ｖｍａｘが満たされない場合（ステップＳＴ９、Ｎｏ）、ステップＳＴ１０の処理がスキップされる。
【００５２】
ステップＳＴ１０の後、消費電力量算出部７５は、ｉ＝Ｎであるか否かを判定する（ステップＳＴ１１）。ｉ＝Ｎではなかった場合（ステップＳＴ１１、Ｎｏ）、消費電力量算出部７５は、ｉ＝ｉ＋１とし（ステップＳＴ１２）、ステップＳＴ７に移行して、パラメータセット群１０４から未選択のパラメータセットをひとつ選択する。ｉ＝Ｎであった場合（ステップＳＴ１１、Ｙｅｓ）、パラメータセット選択部７６は、消費電力量が最小の値となるパラメータセットを選択する（ステップＳＴ１３）。
【００５３】
指令生成部７７は、ステップＳＴ４において選択された指令値曲線にステップＳＴ１３において選択されたパラメータセットを適用して決まる位置指令値２４の時間推移に基づいて位置指令値２４を生成し、生成した位置指令値２４を順次モータ駆動アンプ部４に供給し（ステップＳＴ１４）、動作を終了する。
【００５４】
なお、本実施の形態において、最大速度と最大加速度を両方とも入力し、これらの情報を用いて、ピーク速度とピーク加速度がそれぞれ最大速度と最大加速度以下になるように位置指令値を生成したが、最大速度のみ、あるいは、最大加速度のみを入力とし、それぞれ対応するピーク速度のみ、あるいは、ピーク加速度のみを、入力した最大値以下になるように位置指令値を生成してもよい。
【００５５】
例えば、移動距離が十分短い場合のみの位置決め制御である場合であるなら、モータの最大速度に到達する前に減速を行う動作となるため、最大速度の入力を省き、最大加速度のみ入力し、ピーク加速度が入力した最大値以下になるように位置指令値を生成する。
【００５６】
また、位置決め時間が十分長い場合のみの位置決め制御である場合であるなら、位置決め時の加速度が小さくなるため、最大加速度の入力を省き、最大速度のみを入力し、ピーク速度が入力した最大値以下になるように位置指令値を生成する。
【００５７】
モータ１が駆動されるときの消費電力は、モータ１に流れる電流Ｉ（ｔ）やモータ速度ｖ（ｔ）に応じて発生するモータ１およびモータ駆動アンプ部４に発生する損失Ｌ（ｔ）とモータ１が行う仕事Ｗ（ｔ）によって決まる。位置決め動作は、モータ１・機械負荷３が停止状態から加速され、所定の移動距離に近づいたら減速し、停止するという動作から構成される。加速動作、減速動作は、消費電力量のうち損失分が引き起こすものではなく、モータ１が行う仕事によって引き起こされている。よって、位置決め動作に必要な消費電力量の推定値を計算する際に、モータ１が行う仕事を考慮しないと消費電力量が小さくする位置決め制御用の位置指令値を得ることができない。
【００５８】
また、損失Ｌ（ｔ）は熱エネルギーになるため、モータ１の加速、減速状態に関わらず、正の値をとる。仕事Ｗ（ｔ）は、モータ１が加速度動作、一定速度を維持する動作をするときには正の値となり、モータ１が減速動作をして、トルクと速度の符合が異なるときには負の値となる。仕事Ｗ（ｔ）が負になることは減速動作に伴う運動エネルギーの減少により回生エネルギーが発生することを意味する。仕事と損失とがともに正の場合、もしくは、仕事Ｗ（ｔ）が負で、かつ、その絶対値が損失Ｌ（ｔ）よりも小さい場合は、Ｌ（ｔ）+Ｗ（ｔ）の値も正となり、これがその時点における消費電力Ｐ（ｔ）となる。一方、仕事Ｗ（ｔ）の値が負で、かつ、その絶対値が損失Ｌ（ｔ）よりも大きい場合は、仕事と損失の合計値Ｌ（ｔ）＋Ｗ（ｔ）が負の値となる。これは、損失Ｌ（ｔ）を補償する電力が、モータの回生エネルギー（＝仕事Ｗ（ｔ））により供給されるため、モータ駆動アンプ部４は電力を必要としないことを意味する。さらに、損失Ｌ（ｔ）の電力を補償し、さらに余剰の回生エネルギーは回生抵抗６で消費されるため、その時点での消費電力Ｐ(t)は０となる。この消費電力Ｐ（ｔ）を積分することにより、位置決め動作時の消費電力量が算出される。以上をモデル化したものが式(１１)である。
【００５９】
本発明の実施の形態１によれば、モータ制御装置１は、式（１１）に基づいて求まる消費電力量Ｅ（ｉ）が最小となるように位置指令値を算出するようにしたので、損失Ｌだけでなく仕事Ｗを考慮した消費電力量が最小となるように位置指令値を生成するので、位置決め制御に要する消費電力量を可及的に低減することができるという効果を奏する。また、回生エネルギーの消費を考慮に入れて消費電力量を見積もることができるようになるので、回生エネルギーを回生抵抗６において消費する構成をシステムが備えている場合に、位置決め制御に要する消費電力量を可及的に低減することができるという効果を奏する。
【００６０】
また、パラメータセット生成部７４（パラメータ生成部）は、入力受け付け部７２が受け付けた移動距離Ｄおよび位置決め時間Ｔを満たすように指令値曲線のパラメータセットを複数生成し、消費電力量算出部７５は、パラメータセット生成部７４が生成した複数のパラメータセットの夫々について、パラメータセットを指令値曲線に夫々適用した場合のモータ１の仕事および損失に基づいて消費電力量Ｅ（ｉ）を算出し、パラメータセット選択部（パラメータ選択部）７６は、パラメータセット毎に算出された消費電力量に基づいて、消費電力量が最も小さいパラメータセットを選択し、指令生成部７７は、選択されたパラメータセットが適用された指令値曲線に基づいてモータ駆動アンプ部４に供給する位置指令値２４を生成する、ように構成したので、位置決め制御に要する消費電力量を可及的に低減することができる。
【００６１】
また、モータ１、機械負荷３には出力させてよい最大速度や最大加速度が存在する。この制限値を越えて、モータ１や機械負荷３を動作させることは好ましくない。最大速度を決める要因となる例として、最大速度はモータ１の最大回転速度が挙げられる。また、最大加速度はモータ最大トルクにより決まる最大加速度が挙げられる。モータ１の最大トルクにより、運動方程式（イナーシャ×加速度＝トルク）の関係から、最大トルクを使用して加速した場合の加速度は、最大トルク／イナーシャまでしか発生させることができない。このため、これが最大加速度を定める要因となる。また、機械負荷がある速度許容値やある加速度許容値を超えて動作させると、非常に大きな振動が引き起こされたりすることがあり、これが、機械負荷の動作に最大速度や最大加速度を定める要因となる。
【００６２】
これに対し、本発明の実施の形態１によれば、入力受け付け部７２は、モータ駆動アンプ部４に供給できる位置指令値を規定する最大速度Ｖｍａｘおよび最大加速度Ａｍａｘの入力を受け付け、消費電力量算出部７５は、パラメータセットを適用した後の生成パターンに基づいてピーク速度Ｖｐおよびピーク加速度Ａｐを算出し、前記算出したピーク速度Ｖｐが前記入力された最大速度Ｖｍａｘよりも小さく、かつ前記算出したピーク加速度Ａｐが前記入力された最大加速度Ａｍａｘよりも小さい場合に当該パラメータセットにかかる消費電力量を算出する、ように構成したので、位置決め制御に使用する位置指令値のピーク加速度が最大加速度を越えず、かつ、ピーク速度が最大速度を越えることがなく、かつ、消費電力量を可及的に小さくするように位置指令値を算出することができる。
【００６３】
また、損失は、電流の二乗に比例して発生する銅損が代表的であるが、モータ１を駆動させたときに発生する損失は銅損だけではなく、モータ１の種類によっては、電流と速度に応じて発生する鉄損が無視できない場合がある。
【００６４】
本発明の実施の形態１によれば、消費電力量算出部７５は、モータ１に流れる電流を２乗することによって銅損に基づく損失を算出するようにし、また、モータ１に流れる電流とモータ１の速度とに基づいて鉄損に基づく損失を算出する、ようにしたので、鉄損を考慮しない場合に比べて正確に損失を計算することができるので、位置決め動作時の消費電力量を可及的に小さくする位置指令値を正確に算出することができるという効果がある。
【００６５】
実施の形態２．
実施の形態１においては、モータ駆動アンプ部の回生エネルギーが回生抵抗で消費される方式（抵抗回生方式）が採用されたシステムに適用される場合について説明を行ったが、実施の形態２のモータ制御装置は、回生エネルギーを電源に戻す方式（電源回生方式）を備えるシステムに適用される。
【００６６】
図６は、本発明の実施の形態２のモータ制御装置を使用するシステムの構成例を説明するブロック図である。なお、ここでは、実施の形態１と同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００６７】
図示するように、実施の形態２のモータ制御装置１１を使用するシステムの構成例によれば、モータ駆動アンプ部４には、回生抵抗６の替わりに電源回生回路１０が接続されている点が実施の形態１と異なる。電源回生回路１０は、具体的には、電源回生コンバータなどを用いて実現され、モータ駆動アンプ部４が回生状態になったときに回生エネルギー２６を電源５に戻す働きをする。
【００６８】
図７は、実施の形態２のモータ制御装置１１の機能構成を説明する図である。図示するように、モータ制御装置１１は、指令値曲線群１０３を記憶する指令値曲線記憶部７１と、入力受け付け部７２と、指令値曲線選択部７３と、パラメータセット生成部７４と、消費電力量算出部１１１と、パラメータセット選択部７６と、指令生成部７７とを備えている。
【００６９】
図６のシステムにおいては、回生エネルギーが電源回生回路１０によって電源５に戻されるので、消費電力量算出部１１１は、式（１１）の替わりに、次の式を用いて消費電力量Ｅ（ｉ）を算出する。
【数２】
0005642276.tif 000003
【００７０】
実施の形態２のモータ制御装置１１が位置指令値２４を算出する動作は、ステップＳＴ１０において消費電力量算出部１１１が式（１２）に基づいてパラメータセット毎の消費電力量Ｅ（ｉ）を算出する以外は図５に示した実施の形態１の動作と同様であるので、実施の形態２のモータ制御装置１１が位置指令値２４を算出する動作の説明を省略する。
【００７１】
次に、実施の形態２の発明で得られる効果について説明を行う。電源回生方式を実装されたモータ駆動アンプ部４においても、抵抗回生方式が採用されている場合と同様に、位置決め制御動作時の消費電力は、モータが行う仕事Ｗ（ｔ）と、発生した電流や速度に応じた損失Ｌ（ｔ）によって決定される。位置決め制御動作時の加速動作や減速動作は、仕事Ｗ（ｔ）分のエネルギーによって引き起こされる。仕事Ｗ（ｔ）と損失Ｌ（ｔ）の合計値が正である場合は、消費電力Ｐ（ｔ）は仕事Ｗ（ｔ）と損失Ｌ（ｔ）の合計値で与えられることは、抵抗回生方式の場合と同じであるが、抵抗回生方式の場合と異なるのは、Ｐ（ｔ）＝Ｗ（ｔ）＋Ｌ（ｔ）の値が負の場合でも、そのまま消費電力とする点である。負の値となった消費電力Ｐ（ｔ）は、抵抗回生で消費されるのではなく電源回生回路１０によって電源５に戻される。さらに消費電力Ｐ（ｔ）を積分することにより位置決め動作時の消費電力量を推定することができる。式（１２）は、上述のような電源回生方式のモータ駆動アンプの消費電力を表している。
【００７２】
本発明の実施の形態２によれば、モータ制御装置１１は、式（１２）に基づいてパラメータセット毎の消費電力量Ｅ（ｉ）を算出するようにしているので、回生エネルギーを電源５に戻す構成をシステムが備えている場合であっても、回生エネルギーの再生を考慮に入れて消費電力量を算出することができるようになるので、消費電力量を正確に見積もることができ、結果として位置決め制御に要する消費電力量を可及的に低減することができる。
【００７３】
また、本実施の形態は、実施の形態１と消費電力を計算する式のみが異なり、ステップＳＴ８、ＳＴ９において、ピーク加速度が最大加速度Ａｍａｘを超えないように、また、ピーク速度の最大値が最大速度Ｖｍａｘを超えないようにチェックする点は同一なので、実施の形態１と同様に指令加速度や指令速度を、最大加速度や最大速度以下にする制約を満たし、かつ、消費電力を最小にする位置指令値を生成することが可能とする効果がある。
【００７４】
実施の形態３．
実施の形態１、２では、パラメータセット毎に消費電力量を計算により推定し、この推定値が最小となるパラメータセットを選択するようにした。実施の形態３では、実際に位置決め制御を実行して消費電力量を求めるための電流およびモータの速度をパラメータセット毎に測定し、測定値に基づいてパラメータセット毎の消費電力量を算出する。
【００７５】
図８は、本発明の実施の形態３のモータ制御装置を使用するシステムの構成例を説明するブロック図である。なお、ここでは、実施の形態１と同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００７６】
図示するように、実施の形態３のモータ制御装置１２を使用するシステムの構成例によれば、モータ駆動アンプ部４からモータ１へ供給される電流２２を検出する電流検出部１３が実施の形態１が使用されるシステムに追加された構成を備えている。電流検出部１３は、電流の検出値に相当する電流情報２７をモータ制御装置１２に入力する。
【００７７】
また、モータ制御装置１２は、上位装置から、指令値生成情報１００、仕事／損失計算情報１０２が入力される。さらに、エンコーダ２が検出するモータ情報２３のうち、モータ速度の検出値がモータ駆動アンプ部４を介して検出速度信号２８として入力される。
【００７８】
図９は、実施の形態３のモータ制御装置１２の機能構成を説明する図である。図示するように、モータ制御装置１２は、指令値曲線群１０３を記憶する指令値曲線記憶部７１と、入力受け付け部７２と、指令値曲線選択部７３と、パラメータセット生成部７４と、消費電力量測定部１２１と、パラメータセット選択部７６と、指令生成部７７とを備えている。
【００７９】
消費電力量測定部１２１は、位置決め制御を試験的に実行して電流情報２７および検出速度信号２８の値を収集することで、位置決め制御動作が開始されてから、完了するまでの実電流Ｉｒ（ｔ）と実速度Ｖｒ（ｔ）とを測定する。そして、測定した実電流Ｉｒ（ｔ）と実速度Ｖｒ（ｔ）とに基づいて消費電力量Ｅ（ｉ）を算出する。具体的には、消費電力量測定部１２１は、式（４）または式（５）を用いて仕事Ｗ（ｔ）を算出する際、および式（９）を用いて損失Ｌ（ｔ）を算出する際、電流Ｉ（ｔ）のかわりに実電流Ｉｒ（ｔ）を、速度ｖ（ｔ）のかわりに実速度Ｖｒ（ｔ）を夫々用いる。そして、算出した仕事Ｗ（ｔ）と損失Ｌ（ｔ）とを式（１０）および式（１１）に適用して消費電力量Ｅ（ｉ）を求める。なお、消費電力量測定部１２１は、実電流Ｉｒ（ｔ）および実速度Ｖｒ（ｔ）の測定と、消費電力量Ｅ（ｉ）の算出を、パラメータセット生成部７４が生成したパラメータセット毎に実行する。パラメータセット毎に算出された消費電力量Ｅ（ｉ）は、内部のメモリに蓄積記憶される。
【００８０】
図１０は、上記の機能構成要素を備えるモータ制御装置１２が位置指令値２４を算出する動作を説明するフローチャートである。
【００８１】
まず、入力受け付け部７２は、指令値生成情報１００（移動距離Ｄ、位置決め時間Ｔ、最大加速度Ａｍａｘ、および最大速度Ｖｍａｘ）の入力を受け付ける（ステップＳＴ２１）。そして、入力受け付け部７２は、仕事／損失計算情報１０２の入力を受け付ける（ステップＳＴ２２）。
【００８２】
続いて、指令値曲線選択部７３は、指令値曲線記憶部７１に格納されている指令値曲線群１０３から指令値曲線を一つ選択する（ステップＳＴ２３）。
【００８３】
パラメータセット生成部７４は、移動距離がＤ、位置決め時間がＴとなるように、前記選択された指令値曲線に対応するパラメータセットを複数（ここではＮ個とする）生成し、パラメータセット群１０４として出力する（ステップＳＴ２４）。
【００８４】
続いて、消費電力量測定部１２１は、ステップＳＴ２６〜ステップＳＴ３１のループ処理を実行して、位置決め制御にかかる消費電力量をパラメータセット毎に算出する。具体的には、まず、消費電力量測定部１２１は、当該ループ処理のカウントに用いるインデックスｉを１で初期化し（ステップＳＴ２５）、パラメータセット群１０４のうちからパラメータセットをひとつ選択する（ステップＳＴ２６）。
【００８５】
そして、消費電力量測定部１２１は、選択したパラメータセットを使用した場合の位置指令値２４のピーク速度Ｖｐおよびピーク加速度Ａｐを算出する（ステップＳＴ２７）。そして、消費電力量測定部１２１は、ステップＳＴ２１において受け付けた最大加速度Ａｍａｘおよび最大速度Ｖｍａｘと、算出したピーク速度Ｖｐおよびピーク加速度Ａｐとを比較して、Ａｐ≦Ａｍａｘ、かつＶｐ≦Ｖｍａｘを満たすか否かを判定する（ステップＳＴ２８）。
【００８６】
上記条件が満たされている場合（ステップＳＴ２８、Ｙｅｓ）、消費電力量測定部１２１は、ステップＳＴ２３で選択された指令値曲線にステップＳＴ２６で選択されたパラメータセットを適用して決定される位置指令値２４の時間推移に従って位置指令値２４を生成して位置決め制御を実行するとともに、電流情報２７および検出速度信号２８の入力を受け付けて、位置決め制御動作が開始されてから、完了するまでの実電流Ｉｒ（ｔ）と実速度Ｖｒ（ｔ）とを測定する（ステップＳＴ２９）。
【００８７】
そして、消費電力量測定部１２１は、測定した実電流Ｉｒ（ｔ）と実速度Ｖｒ（ｔ）とに基づいて、パラメータセット毎の消費電力量Ｅ（ｉ）を算出する（ステップＳＴ３０）。
【００８８】
ステップＳＴ３０の後、消費電力量測定部１２１は、ｉ＝Ｎであるか否かを判定する（ステップＳＴ３１）。ｉ＝Ｎではなかった場合（ステップＳＴ３１、Ｎｏ）、消費電力量測定部１２１は、ｉ＝ｉ＋１とし（ステップＳＴ３２）、ステップＳＴ２６に移行して、パラメータセット群１０４から未選択のパラメータセットをひとつ選択する。ｉ＝Ｎであった場合（ステップＳＴ３１、Ｙｅｓ）、パラメータセット選択部７６は、消費電力量が最小の値となるパラメータセットを選択する（ステップＳＴ３３）。
【００８９】
なお、ステップＳＴ２８において、Ａｐ≦Ａｍａｘ、かつＶｐ≦Ｖｍａｘが満たされない場合（ステップＳＴ２８、Ｎｏ）、ステップＳＴ２９およびステップＳＴ３０の処理がスキップされる。
【００９０】
ステップＳＴ３３の後、指令生成部７７は、ステップＳＴ２３において選択された指令値曲線にステップＳＴ３３において選択されたパラメータセットを適用して決まる位置指令値２４の時間推移に基づいて位置指令値２４を生成し、生成した位置指令値２４を順次モータ駆動アンプ部４に供給し（ステップＳＴ３４）、動作を終了する。
【００９１】
なお、本発明の実施の形態３は、モータ駆動アンプ部４が回生状態になったときに回生エネルギーが回生抵抗６で消費されるシステムに適用される場合について説明したが、回生エネルギーが電源５に戻されるシステムに適用される場合には、実施の形態２にて説明したように、式（１２）に基づいて消費電力量Ｅ（ｉ）を算出するようにするとよい。
【００９２】
このように、本発明の実施の形態３によれば、消費電力量測定部１２１は、パラメータセット生成部７４が生成したパラメータセットを適用した後の指令値曲線に基づいて実際にモータ駆動アンプ部４に位置指令値を供給してモータ１を試験的に駆動させ、モータ１の駆動時にモータ１に流れる電流およびモータ１の速度を測定し、測定した電流および速度に基づいてモータの仕事Ｗ（ｔ）および損失Ｌ（ｔ）を求める、ように構成したので、計算により仕事Ｗ（ｔ）および損失Ｌ（ｔ）を推定する実施の形態１、２において必要とされた機械運動情報１０１を用いることなく仕事Ｗ（ｔ）および損失Ｌ（ｔ）を得ることができる。すなわち、仕事Ｗ（ｔ）および損失Ｌ（ｔ）を正確に推定するための機械運動情報１０１がなくても消費電力量を可及的に低減することができるようになる。
【００９３】
また、ステップＳＴ２７、ＳＴ２８において、ピーク加速度が最大加速度Ａｍａｘを超えないように、また、ピーク速度の最大値が最大速度Ｖｍａｘを超えないようにチェックする点は実施の形態１と同じなので、実施の形態１と同様に指令加速度や指令速度を、最大加速度や最大速度以下にする制約を満たし、かつ、消費電力を最小にする位置指令値を生成することが可能とする効果がある。
【００９４】
実施の形態４．
実施の形態１、２では、指令加速度が最大加速度Ａｍａｘを超えない範囲で位置指令値を算出するようにしたが、実施の形態４によれば、位置決め制御時に発生する電流が最大値を越えない範囲で位置指令値を算出する。
【００９５】
図１１は、本発明の実施の形態４のモータ制御装置を使用するシステムの構成例を説明するブロック図である。なお、ここでは、実施の形態１と同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００９６】
図示するように、実施の形態４のモータ制御装置１４は、最大加速度Ａｍａｘの替わりに最大電流Ｉｍａｘが上位装置から入力される点が実施の形態１と異なっている。具体的には、モータ制御装置１４は、移動距離Ｄ、位置決め時間Ｔ、最大電流Ｉｍａｘ、最大速度Ｖｍａｘを含む指令値生成情報１０５が入力される。そして、モータ制御装置１４は、位置決め制御時にモータ１に流れる電流が上位装置から入力された最大電流Ｉｍａｘを越えず、かつ位置指令値の一階微分である指令速度が最大速度Ｖｍａｘを越えないように、位置指令値２４を生成する。
【００９７】
図１２は、実施の形態４のモータ制御装置１４の機能構成を説明する図である。図示するように、モータ制御装置１４は、指令値曲線群１０３を記憶する指令値曲線記憶部７１と、入力受け付け部７２と、指令値曲線選択部７３と、パラメータセット生成部７４と、消費電力量算出部１４１と、パラメータセット選択部７６と、指令生成部７７とを備えている。
【００９８】
図１３は、上記の機能構成要素を備えるモータ制御装置１４が位置指令値２４を算出する動作を説明するフローチャートである。
【００９９】
まず、入力受け付け部７２は、移動距離Ｄ、位置決め時間Ｔ、最大電流Ｉｍａｘ、および最大速度Ｖｍａｘを含む指令値生成情報１０５の入力を受け付ける（ステップＳＴ４１）。以降、モータ制御装置７は、ステップＳＴ４２〜ステップＳＴ４５において、ステップＳＴ２〜ステップＳＴ５と同様の処理を実行する。
【０１００】
ステップＳＴ４５の後、消費電力量算出部１４１は、インデックスｉを１で初期化し（ステップＳＴ４６）、パラメータセット群１０４のうちからパラメータセットをひとつ選択する（ステップＳＴ４７）。
【０１０１】
そして、消費電力量算出部１４１は、選択したパラメータセットを使用した場合のモータ１に流れる電流の最大値であるピーク電流値Ｉｐと、位置指令値２４の一階微分である指令速度の最大値であるピーク速度Ｖｐを算出する（ステップＳＴ４８）。具体的には、消費電力量算出部１４１は、位置指令値２４の一階微分である指令速度ｖ＊（ｔ）の時間０≦ｔ≦Ｔにおける最大値をピーク速度Ｖｐとする。ピーク電流値Ｉｐに関しては、式（２）を用いて電流Ｉ（ｔ）を算出し、算出した電流Ｉ（ｔ）の時間０≦ｔ≦Ｔにおける最大値をピーク電流Ｉｐとする。
【０１０２】
続いて、消費電力量算出部１４１は、ステップＳＴ４１において受け付けた最大電流Ｉｍａｘおよび最大速度Ｖｍａｘと、算出したピーク電流値Ｉｐおよびピーク速度Ｖｐとを比較して、Ｉｐ≦Ｉｍａｘ、かつＶｐ≦Ｖｍａｘを満たすか否かを判定する（ステップＳＴ４９）。上記条件が満たされている場合（ステップＳＴ４９、Ｙｅｓ）、当該パラメータセットを使用した場合の位置指令値２４の消費電力量Ｅ（ｉ）を算出する（ステップＳＴ５０）。ステップＳＴ５０の処理における消費電力量の算出方法は、実施の形態１と同様である。パラメータセット毎に算出された消費電力量Ｅ（ｉ）は、内部の記憶装置に蓄積記憶される。
【０１０３】
ステップＳＴ４９において、Ｉｐ≦Ｉｍａｘ、かつＶｐ≦Ｖｍａｘが満たされない場合（ステップＳＴ４９、Ｎｏ）、ステップＳＴ５０の処理がスキップされる。
【０１０４】
ステップＳＴ５０の後、消費電力量算出部１４１は、ｉ＝Ｎであるか否かを判定する（ステップＳＴ５１）。ｉ＝Ｎではなかった場合（ステップＳＴ５１、Ｎｏ）、消費電力量算出部１４１は、ｉ＝ｉ＋１とし（ステップＳＴ５２）、ステップＳＴ４７に移行して、パラメータセット群１０４から未選択のパラメータセットを選択する。ｉ＝Ｎであった場合（ステップＳＴ５１、Ｙｅｓ）、パラメータセット選択部７６は、消費電力量が最小の値となるパラメータセットを選択する（ステップＳＴ５３）。
【０１０５】
以降、指令生成部７７がステップＳＴ１４と同様の処理を実行して（ステップＳＴ５４）、モータ制御装置１４の動作が終了となる。
【０１０６】
なお、本発明の実施の形態４は、モータ駆動アンプ部４が回生状態になったときに回生エネルギーが回生抵抗６で消費されるシステムに適用される場合について説明したが、回生エネルギーが電源５に戻されるシステムに適用される場合には、実施の形態２にて説明したように、式（１２）に基づいて消費電力量Ｅ（ｉ）を算出するようにするとよい。
【０１０７】
次に、本実施の形態４の効果について説明を行う。通常、モータ１には、流してもよい電流の最大値が存在する。この最大値を越えて電流を流そうとすると、モータ１が破損する可能性がある。本発明の実施の形態４によれば、入力受け付け部７２は、モータ駆動アンプ部４に供給できる位置指令値を規定する最大速度Ｖｍａｘおよび最大電流Ｉｍａｘの入力を受け付け、消費電力量算出部１４１は、パラメータセット生成部７４が生成したパラメータセットを適用した後の指令値曲線に基づいてピーク速度Ｖｐおよびピーク電流Ｉｐを算出し、前記算出したピーク速度Ｖｐが前記入力された最大速度Ｖｍａｘよりも小さく、かつ前記算出したピーク電流Ｉｐが前記入力された最大電流Ｉｍａｘよりも小さい場合に当該パラメータにかかる消費電力量Ｅ（ｉ）を算出する、ように構成したので、ユーザは、入力する最大電流Ｉｍａｘを適切に設定することにより、位置決め制御時に発生する電流を、モータ１の破損を招く電流値以下にすることができる。すなわち、モータ１の破損を防ぐことができる。また、式(２)に示されるように、電流と加速度の間には線形な関係が成立する。位置決め制御時の電流が制限されることにより、ピーク加速度も制限することができるという効果も得られる。
【０１０８】
なお、本実施の形態において、最大速度と最大電流を両方とも入力し、これらの情報を用いて、ピーク速度とピーク電流がそれぞれ最大速度と最大電流以下になるように位置指令値を生成したが、最大速度のみ、あるいは、最大電流のみを入力とし、それぞれ対応するピーク速度のみ、あるいは、ピーク電流のみを、入力した最大値以下になるように位置指令値を生成してもよい。
【０１０９】
位置決め時間が十分長い場合のみの位置決め制御である場合であるなら、位置決め時の加速度が小さくなり、これに伴い電流が小さくなるため、最大電流の入力を省き、最大速度のみを入力し、ピーク速度が入力した最大値以下になるように位置指令値を生成する。
【０１１０】
なお、実施の形態１〜４のモータ制御装置は、モータ駆動アンプ部４など、システムの構成例において示した他の構成要素を含んで構成されるようにしても構わない。
【０１１１】
また、実施の形態１〜４では、複数のパラメータを予め用意し、これらを前記生成パターンに夫々適用し、前記パラメータを適用した後の夫々の生成パターンに基づいて前記モータの電流および速度を求め、前記求めたモータの電流および速度に基づいて前記モータの消費電力量をパラメータ毎に算出するという例について説明を行ったが、複数のパラメータを生成せずに、最小二乗法、最急降下法などの各種最適化手法を用いて、（１１）式あるいは（１２）式で表される消費電力を最小化するパラメータを算出してもよい。
【符号の説明】
【０１１２】
１  モータ
２  エンコーダ
３  機械負荷
４  モータ駆動アンプ部
５  電源
６  回生抵抗
７、１１、１２、１４  モータ制御装置
１０  電源回生回路
１３  電流検出部
２１  駆動力
２２  電流
２３  モータ情報
２４  位置指令値
２５  電力
２６  回生エネルギー
２７  電流情報
２８  検出速度信号
７１  指令値曲線記憶部
７２  入力受け付け部
７３  指令値曲線選択部
７４  パラメータセット生成部
７５、１１１、１４１  消費電力量算出部
７６  パラメータセット選択部
７７  指令生成部
１００、１０５  指令値生成情報
１０１  機械運動情報
１０２  仕事／損失計算情報
１０３  指令値曲線群
１０４  パラメータセット群
１１１  消費電力量算出部
１２１  消費電力量測定部
【図１】
0005642276.tif 000004
【図２】
0005642276.tif 000005
【図３】
0005642276.tif 000006
【図４】
0005642276.tif 000007
【図５】
0005642276.tif 000008
【図６】
0005642276.tif 000009
【図７】
0005642276.tif 000010
【図８】
0005642276.tif 000011
【図９】
0005642276.tif 000012
【図１０】
0005642276.tif 000013
【図１１】
0005642276.tif 000014
【図１２】
0005642276.tif 000015
【図１３】
0005642276.tif 000016