以下に、本発明にかかるモータ制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1によるモータ制御装置の構成を示すブロック図である。本発明は、同時に加速または減速する場合が高い頻度で発生する2以上のモータを駆動するモータ制御装置に関する。本実施の形態1では、その本発明にかかるモータ制御装置の基本的な構成、つまり、2台のモータを駆動する構成が示されている。図1では示していない2台のモータは、例えば図2に示されている。図2は、図1に示すモータ制御装置を適用する2軸駆動系の機械構成例を示す概念図である。
図1において、この実施の形態1によるモータ制御装置1aは、例えば図2に示す2軸駆動系における2台のモータ13,14を駆動制御する構成として、電源供給部2と、加減速パラメータ設定部3aと、加減速処理部4aと、サーボ制御部(1軸目のサーボ制御部5および2軸目のサーボ制御部6)とを備えている。図1では、説明を容易にするために、サーボ制御部は、モータと1対1対応で設けてある。なお、加減速パラメータ設定部3aは、この実施の形態において追加した構成である。
電源供給部2は、整流器を備え、商用電源から得られた三相交流電力を直流電力に変換し、その変換した直流電力を1軸目のサーボ制御部5と2軸目のサーボ制御部6とに並列に供給する。この実施の形態1では、電源供給部2から1軸目のサーボ制御部5および2軸目のサーボ制御部6への供給電力量は、当該電源供給部2の電源容量以下の直流電力となるように、加減速処理部4aが出力するサーボ指令10,11により1軸目のサーボ制御部5および2軸目のサーボ制御部6が制御される。
加減速パラメータ設定部3aは、上位装置7から移動ブロック毎に入力される動作指令8に基づき、加減速処理部4aに設定する加減速パラメータ9を後述する方法(図4参照)で演算する。ここで、上位装置7は加工プログラムに基づいてモータに所定の動作をさせるための指令である動作指令8を出力する。加減速パラメータ9には、各モータの加速または減速の時定数を含む指令加速度や各モータの電流制限値、各モータの加減速の開始・終了のタイミングなどが含まれている。なお、各モータの加減速の開始・終了のタイミングには、最初に加速を開始したモータの加速開始時間を基準としてときの各モータの加速開始時間までの時間である開始遅れ時間が含まれている。
ここで、移動ブロックとは、モータにより駆動して位置決めする負荷を、現在の停止位置から次の停止位置へ移動して位置決めするときの単位移動時間である。具体的に言うと移動ブロックとは、目標位置に向けての負荷の移動開始から、その目標位置に到達して次の目標位置に向けての負荷の移動開始までの移動時間区間である。
動作指令8には、図2に示す2つのモータ13,14それぞれを駆動制御する1軸目のサーボ制御部5および2軸目のサーボ制御部6への指令移動量と指令速度とが含まれている。指令移動量は、上位装置7から動作指令8が出力される時の位置から目標位置までの移動量または単位時間当たりの移動量の累積値である。
加減速処理部4aは、加減速パラメータ設定部3aが存在しない一般的な構成においては、上位装置7からモータの指令移動量と指令速度とを含む動作指令8が入力されると、予め設定された指令加速度と最大電流値を含む加減速パラメータに従って加減速処理を行うが、この実施の形態では、加減速パラメータ設定部3aから設定された移動ブロック毎の加減速パラメータ9に従って加減速処理を行う。
ここで、加減速処理部4aが加減速パラメータ9に従って行う加減速処理には、指令移動量と指令速度との関係から、(1)加速開始時間から指令加速度で速度を増加させ、指令速度に到達後は等速で駆動させ、その後減速開始時間から指令減加速度で速度を減速させて停止させる速度指令を生成する処理と、(2)加速開始時間から指令加速度で速度を増加させ、指令速度に到達する前に指令減加速度で速度を減速させて停止させる速度指令を生成する処理とがある。また、速度指令を時間積分して位置指令を生成する処理も含まれている。なお、減速開始時間は、加速開始時間から基準移動時間を経過したときの時間である。基準移動時間は、指令移動量を指令速度で除した値(時間)である。
加減速処理部4aは、その加減速処理により生成した各軸の速度指令や位置指令を含む動作指令を各軸のサーボ指令10,11として1軸目のサーボ制御部5および2軸目のサーボ制御部6へ出力する。
1軸目のサーボ制御部5および2軸目のサーボ制御部6は、それぞれインバータを内蔵しており、電源供給部2から入力された直流電力を交流電力へ変換し、サーボ指令10,11の通りに1軸目および2軸目のモータ13,14を動作させるための1軸目および2軸目のモータ駆動トルクを発生する。
なお、実施の形態1でのサーボ制御部の入出力構成は、1つのサーボ制御部6に1つのサーボ指令を入力し、入力されたサーボ指令に対応した1つのモータ駆動トルクをサーボ制御部6から出力しているが、1つのサーボ制御部6に2つ以上のサーボ指令を入力し、入力された各々のサーボ指令に対応した2つ以上のモータ駆動トルクをサーボ制御部6から出力する構成であってもよい。その場合、1つのサーボ制御部6にはモータ駆動トルクを出力する数の分だけインバータを内蔵する必要がある。
次に、図2において、モータ制御装置1aは、1軸目のモータ13と2軸目のモータ14とを駆動制御する。1軸目のモータ13の回転軸にはx軸に並行配置されるボールねじ15が連結され、2軸目のモータ14の回転軸にはy軸に並行配置されるボールねじ16が連結され、ボールねじ15,16の交差位置に負荷17が搭載されている。結局、負荷17は、xy平面上において、ボールねじ15によりx軸水平方向へ移動し、ボールねじ16によりy軸水平方向へ移動する。
本実施の形態1では、1軸目のモータ13および2軸目のモータ14の加速を同時に開始し、目標位置まで位置決めをする場合について考える。
図3は、比較例として、本実施の形態1を適用しない一般的な制御動作例を説明するタイムチャートである。図3では、2台のモータを運転開始前に設定した時定数に従って、第1移動ブロック、第2移動ブロックと順に動作させたときの、(1)1軸目のモータ速度と、(2)1軸目のモータ駆動トルクと、(3)2軸目のモータ速度と、(4)2軸目のモータ駆動トルクと、(5)全消費電力(2台のモータの消費電力の和)との時間変化が示されている。
なお、動作時の加減速処理のタイプには、始点から終点までを直線で移動するように各軸の指令速度を調整する補間タイプと、各軸とも最高速度で駆動させる非補間タイプとがある。図3では、非補間タイプを採用した場合の動作例が示されている。また、図3(1)(3)では、波形各部の記号が示されている。これは、図4の説明において加減速パラメータ設定部3aが加減速パラメータ9を算出するのに使用する。
図3(1)(3)では、各軸のモータ速度が、移動開始後は加減速パラメータにて指定された加速度で速度の絶対値が増加していき、指令された移動速度に到達すると等速度で動作する。そして、指定された移動距離分の移動が完了する手前で減速を開始し、速度がゼロになる時点で目標位置までの移動が完了する様子が示されている。第1移動ブロックでは、1軸目と2軸目とが同じ時間長の移動ブロックであり、加速期間と減速期間が同じタイミングで発生している。第2移動ブロックでは、2軸目の移動ブロックが1軸目の移動ブロックよりも時間が長くなっており、加速期間が同じタイミングで発生し、減速期間が異なるタイミングで発生している。
図3(2)(4)に示すように、駆動トルクは、加速期間と減速期間において発生し、等速期間ではゼロである。
図3(5)において、消費電力は、摩擦やモータの損失など各種損失の影響を無視すると、モータが発生している出力つまり速度とトルクとの積で求めることができる。そのため、消費電力は、駆動トルクの発生期間において発生し、駆動トルクが発生しない2台のモータが定速回転中であるときはゼロになる。なお、モータの消費電力が正のときは電源供給部2から供給された電力をモータで消費していることを表し、負のときはモータから電源供給部2へ電力を回生していることを表している。
図3(1)(3)に示す加減速処理後の速度指令を時間について積分したものが加減速処理後の位置指令となり、1軸目のサーボ制御部5および2軸目のサーボ制御部6にサーボ指令10,11として入力される。1軸目のサーボ制御部5および2軸目のサーボ制御部6は、負荷17の位置がサーボ指令10,11に追従するように、1軸目および2軸目のモータ13,14をサーボ制御する。
さて、図4は、図1に示す加減速パラメータ設定部が移動ブロック毎の動作指令に基づき加減速パラメータを算出し設定するまでの動作手順を説明するフローチャートである。本実施の形態1による加減速パラメータ設定部3aでは、各軸モータの駆動中における消費電力の合計が、(イ)電源供給部2から全軸のモータに供給される電力である供給可能電力の制限値を超えないように、(ロ)または電源供給部2が全軸のモータから回生電力を処理できる電力である回生可能電力の制限値を超えないように、図4に示す手順で各軸モータの加減速パラメータ9を算出し、加減速処理部4aに設定する。なお、供給可能電力の制限値または回生可能電力の制限値は、電源供給部2の電源容量であるとする。
図4において、加減速パラメータ設定部3aは、上位装置7から動作ブロック毎の動作指令8が入力すると(ステップS1)、動作ブロック毎に、そこでの動作指令8に基づきステップS2〜ステップS8の処理を実行して加減速パラメータ9を算出し(ステップS9)、それを加減速処理部4aに設定する(ステップS10)。
ステップS2〜ステップS8の処理について説明する。ステップS2では、加減速パラメータ設定部3aは、各軸モータの指令移動量と各軸モータの指令速度とから各軸モータの基準移動時間を算出する。つまり、指令移動量を指令速度で除算して、各軸モータの基準移動時間を求める。
ステップS3では、加減速パラメータ設定部3aは、得られた各軸モータの基準移動時間の中で最も大きい値のモータを1台定める。仮に最も大きい値のモータが2台以上あるときは、軸番号の最も大きいモータを基準移動時間が最も大きい値のモータであると定める。ここでは、2軸目のモータ14の基準移動時間が最も大きいとする。
ステップS4では、加減速パラメータ設定部3aは、各軸モータの加減速駆動時間を算出する。加減速駆動時間は、図3に示す時間T1,T2であり、加減速処理部4aが、加減速パラメータ設定部3aから設定された加減速パラメータ9に基づいて加減速処理を行った後の加速開始時間から減速終了時間までの時間を表している。そして、図3に示す時間Tst1,Tst2は基準移動時間である。
図3に示すように、1軸目のモータ13の加速時間をt1a、減速時間をt1d、指令速度で定速回転する時間をt1cとし、また、2軸目のモータ14の加速時間をt2a、減速時間をt2d、指令速度で定速回転する時間をt2cとすると、1軸目のモータ13の加減速駆動時間T1および2軸目のモータ14の加減速駆動時間T2は、式(1)、式(2)で示される。
T1=t1a+t1c+t1d …(1)
T2=t2a+t2c+t2d …(2)
また、1軸目のモータ13の指令移動量θ1および2軸目のモータ14の指令移動量θ2については、1軸目のモータ13の指令速度をv1とし、2軸目のモータ14の指令速度をv2とすれば、式(3)が成り立つ。
1軸目のモータ13の基準移動時間Tst1はTst1=θ1/v1となり、2軸目のモータ14の基準移動時間Tst2はTst2=θ2/v2となるので、式(1)〜式(3)から1軸目のモータ13と2軸目のモータ14の加減速駆動時間T1,T2は式(4)により算出される。
図3に示した例では、加速時間と減速時間とを等しくするため、1軸目のモータ13の加速時間と減速時間とをまとめて加減速時間t1に設定し、2軸目のモータ14の加速時間と減速時間とをまとめて加減速時間t2に設定する。以降、加減速時間のことを加減速時定数(または単に時定数)と称し、加速時間を加速の時定数と称し、減速時間を減速の時定数と称する。以上により、1軸目のモータ13と2軸目のモータ14の加減速駆動時間T1,T2は、式(5)により算出される。
ステップS5では、加減速パラメータ設定部3aは、各軸モータの加速開始時間を設定する。設定方法としては、基準移動時間が最も大きい2軸目のモータ14の加速開始時間を基準とし、1軸目のモータ13の加速開始時間は2軸目のモータ14の加速開始時間から開始遅れ時間d1だけ遅れるとする。ただし、開始遅れ時間d1が正のときは基準とした時間から遅れることを表す。また、2軸目のモータ14の開始遅れ時間d2は、d2=0としておく。
ステップS6では、加減速パラメータ設定部3aは、1つ目の制約条件として、移動ブロック内の負荷の移動時間を小さくするために、基準移動時間Tstが最も大きい2軸目のモータ14の加減速駆動時間T2内に1軸目のモータ13の加減速駆動が行われる条件を設定する。これを時間制約条件とする。便宜的に1軸目のモータ13の加減速駆動時間T1と開始遅れ時間d1との和を時間Ta1とし、2軸目のモータ14の加減速駆動時間T2と開始遅れ時間d2との和を時間Ta2とすると、Ta1≦Ta2であるから図3に示す例での時間制約条件は、
T1+d1≦T2+d2 …(6)
と表される。
ステップS7では、加減速パラメータ設定部3aは、2つ目の制約条件として、各軸モータの消費電力の和が、供給可能電力の制限値の範囲内に収まっている条件または回生可能電力の制限値の範囲内に収まっている条件を設定する。これを電力制約条件とする。1軸目のモータ13と2軸目のモータ14の消費電力をそれぞれPt1,Pt2とし、供給可能電力の制限値をPs1(Ps1>0)、回生可能電力の制限値をPr1(Pr1>0)とおく。今の例では、供給可能電力の制限値または回生可能電力の制限値は電源供給部2の電源容量としているので、この電源容量をP(P>0)とおくと、電力制約条件は、次の式(7)で表される。
|Pt1+Pt2|≦P …(7)
ステップS8では、加減速パラメータ設定部3aは、移動ブロック内の負荷17の移動時間を小さくするためには2軸目のモータ14の加減速駆動時間T2を最小にする必要があるので、式(5)において、基準移動時間Tstが最も大きい2軸目のモータ14の時定数t2を式(6)、式(7)を満たすように小さくする処理を行う。これを最大加減速駆動時間短縮処理と言う。この最大加減速駆動時間短縮処理では、算出する加減速パラメータを使用するので、算出する加減速パラメータをこの最大加減速駆動時間短縮処理を行う前に指定できるように、最大加減速駆動時間短縮処理での処理条件の設定が行えるようになっている。
加減速パラメータ設定部3aは、最大加減速駆動時間短縮処理の結果に基づき、各軸モータの時定数、開始遅れ時間を含む加減速パラメータ9を算出し、その算出した加減速パラメータ9を加減速処理部4aに設定する(ステップS10)ことで、モータ毎の1移動ブロックにおける加減速パラメータ9の算出設定処理を終了する。
ここで、本実施の形態1では、説明を容易にするため、ステップS6,S7での処理条件の設定においては、算出する加減速パラメータ9は各軸モータの時定数のみとし、電流制限値は変更せず、1軸目のモータ13の開始遅れ時間d1は、固定値(例えばd1=0)としている。
したがって、ステップS6で設定する時間制約条件は、Ta1=T1、Ta2=T2となり、T1≦T2であるから、
Tst1+t1≦Tst2+t2 …(8)
と表される。
また、ステップS7で設定する電力制約条件は、各軸モータの基準移動時間の等号関係によって異なってくる。1軸目のモータ13の消費電力Pt1は、指令加速度をa1(a1=v1/t1)、イナーシャをJ1、加速開始時間を基準にしたときの経過時間をtとしたとき、加速時と、定常回転時と、減速時とで、式(9)に示すように、互いに異なる値になる。
そして、2軸目のモータ14の消費電力Pt2も、指令加速度をa2(a2=v2/t2)、イナーシャをJ2として同様に求められる。
図3(1)(3)から、各軸モータの基準移動時間Tstが等しい場合、各軸モータの減速開始時間は同じになることが分かる。そのため、各軸モータの消費電力の和の絶対値が最大になるのは減速開始時間のときになるので、そのときの電力制約条件が式(10)を満たせばよいことになる。
一方、各軸モータの基準移動時間が異なる場合、各軸モータの消費電力の和の絶対値が最大になるのは、2軸目のモータ14の時定数を小さくすることを考慮すると、2軸目のモータ14の加速終了時間または減速開始時間のときになる。式(9)により各軸モータの加速終了時間または減速開始時間での消費電力の絶対値は等しいので、2軸目のモータ14の加速終了時間での電力制約条件は、式(11)を満たせばよいことになる。
式(8)と式(10)または式(8)と式(11)を満たす、できるだけ小さな2軸目のモータ14の時定数t2を求める。導出方法としては、まず、T1=T2となるように1軸目のモータ13の時定数t1を次の式(12)のように定める。
t1=t2+Tst2−Tst1 …(12)
式(12)を式(10)に代入し、または、式(12)を式(11)に代入し、式(10)を満たす時定数t2の最小値、または、式(11)を満たす時定数t2の最小値を求める。但し、時定数t2は0以上とする。これは、式(10)または式(11)の左辺が消費電力Pと等しくなるときのゼロ以上で最小となる時定数t2を求めることと等しい。そして、求めた時定数t2を式(12)に代入して時定数t1が求められる。
以上の方法により、1つの移動ブロック内の負荷の移動時間を小さくするための各軸モータの時定数を指定できるので、それを移動ブロック毎に行えば、全体のサイクルタイムを短縮できる。
図5は、本実施の形態1を適用した場合の制御動作例を図3と対比して説明するタイムチャートである。図5では、2台のモータを以上説明した「加速によりモータの速度が指令速度に到達する」場合を想定した方法で設定された時定数に従って第1移動ブロック、第2移動ブロックと順に動作させたときの、(1)1軸目のモータ速度と、(2)1軸目のモータ駆動トルクと、(3)2軸目のモータ速度と、(4)2軸目のモータ駆動トルクと、(5)全消費電力(2台のモータの消費電力の和)との時間変化が示されている。
各軸モータの動作条件は、1つの移動ブロックにおいて各軸モータ共に1回の加減速駆動を行うので、2つの移動ブロックでは、2回の加減速駆動を行うことになる。第1移動ブロックでは各軸モータの加減速駆動時間が等しい場合での加減速駆動を行う。そして、第2移動ブロックでは1軸目のモータの加減速駆動時間が小さく2軸目のモータの加減速駆動時間が大きい場合の加減速駆動を行う。
その結果、図5中の第2移動ブロックでは、図3と比べて2軸目のモータの時定数t2が小さくなったことで、2軸目のモータの第2加減速駆動時間が短縮され、全体のサイクルタイムが短くなっていることが分かる。
<実施例>
より詳しく見るために、図4にて説明した方法を用いた実施例を示す。システム構成は図1と同様であり、機械構成は図2と同様である。移動手順として、まず、第1移動ブロックにおいて、負荷17を初期位置からx方向、y方向にそれぞれ100mmずつ動かす(第1加減速駆動)。次に、第2移動ブロックにおいて、負荷17をx方向に150mm動かし、y方向に200mm動かす(第2加減速駆動)。
指令速度は1軸目のモータ13および2軸目のモータ14共に2000rpmである。負荷17を含めた1軸目のモータ13のイナーシャは0.0028kgm2である。負荷17を含めた2軸目のモータ14のイナーシャは0.0032kgm2である。供給可能電力の制限値または回生可能電力の制限値である電源供給部2の電源容量は1.5kWとする。また、1軸目のモータ13および2軸目のモータ14に取り付けられているボールねじ15,16のピッチは共に10mmである。
この実施例では、1軸目のモータ13および2軸目のモータ14の時定数を共に180ミリ秒に固定して駆動した場合(ケース1)と、図4にて説明した方法で加減速時間を設定して駆動した場合(ケース2)との2つに分けて負荷17を移動駆動して比較を行った。図6は、設定したケース1,2の実施例における各軸モータの速度の時間変化を示す図である。図7は、設定したケース1,2の実施例における各軸モータの消費電力の和の時間変化を示す図である。
図6において、細い破線20はケース1での1軸目のモータ13の速度の時間変化を示し、太い破線21はケース1での2軸目のモータ14の速度の時間変化を示している。また、細い実線22はケース2での1軸目のモータ13の速度の時間変化を示し、太い実線23はケース2での2軸目のモータ14の速度の時間変化を示している。
また、図7において、破線24はケース1での各軸モータの消費電力の和の時間変化を示し、実線25はケース2での各軸モータの消費電力の和の時間変化を示している。
ここで、第1加減速駆動時において、ケース2では、1軸目のモータ・2軸目のモータ共に時定数を、ケース1と同じに設定し、初期値を180ミリ秒に設定している。この場合には、基準移動時間Tstが1軸目のモータ・2軸目のモータ共に等しいため、時定数を変えても回生電力ピーク値は加減速時間に関係なく1軸目のモータ・2軸目のモータ共に同じ時間に発生する。そのため、2軸目のモータ14の時定数を小さくすることができない。
これに対し、第2加減速駆動時では、2軸目の基準移動時間Tst2が1軸目の基準移動時間Tst1よりも長いため、全モータに供給される電力を考慮しながら2軸目の時定数を小さくし、1軸目の時定数を長くすることで、第2加減速駆動時間を短縮することができる。
この実施例によれば、ケース1とケース2とのサイクルタイムを比較した結果、72ミリ秒の時間短縮ができた。基準移動時間が同じになるチャンスは極めて少ないので、短縮時間は、加減速駆動の回数が増えるほど積算されると考えることができる。したがって、加減速駆動の多い動作、例えば工作機械を用いた多数の穴あけ加工運転においては大きな効果が期待できる。
ところで、今までの説明は、「加速によりモータの速度が指令速度に到達する場合」を想定しているが、指令速度に到達しない場合はつぎのような計算を行う。例えば、1軸目のモータ13の指令移動量が大きくない場合(加速により1軸目のモータ13の速度が指令速度に到達できない場合)、速度の波形は台形から三角形になる。指令加速度は変わらないので、三角速度波形のピーク値(速度最大値の絶対値)をv1tと置き、加速開始から速度ピーク値までの時間をt1tと置くと、以下の式(13)と式(14)の2式が成り立つ。
この式(13)と式(14)の2式から、加速開始から速度ピーク値までの時間t1tは式(15)で表され、三角速度波形のピーク値v1tは式(16)で表される。
このとき、加減速駆動時間T1は、T1=2・t1tとなるので、式(8)のみが書き換わり、式(17)となる。
t1t・2≦Tst2+t2 …(17)
式(10)と式(17)とを満たす、または式(11)と式(17)とを満たす、できるだけ小さな2軸目のモータ14の時定数t2を求める。導出方法は、式(8)と式(10)とを満たす、または式(8)と式(11)とを満たす、できるだけ小さな2軸目のモータ14の時定数t2を求める方法と同様に行う。
なお、式(13)〜式(17)の例では、2軸目の基準移動時間のほうが大きいとして計算しているが、1軸目の基準移動時間のほうが大きい場合でも1軸目のモータ13に関係する変数と2軸目のモータ14に関係する変数とを交換することにより、サイクルタイムを短縮できる各軸のモータの時定数を設定することができる。また、各軸モータについて、その加速時間と減速時間とを同じとしているが、異なっていてもよい。
また、加減速パラメータ9のうちの電流制限値については、次のように言える。すなわち、電流制限値を大きくすると、加速度の絶対値が大きくなり、加速時においてはモータが加速して指令速度まで到達する時間を小さくすることができる。また、減速時においては減速して停止するまでの時間を小さくすることができる。したがって、電流制限値を大きくする方法も有効である。基準移動時間が最も大きいモータの加速または減速の時定数をできるだけ小さくする方法と併用してもよく、或いは代わりに用いてもよい。但し、消費電力は増えるので、各モータの消費電力の和が供給可能電力の制限値または回生可能電力の制限値を超えないように、電流制限値の調整も行う必要がある。例えば、電流制限値で決まる電力制限値を求め、各軸モータの消費電力がその電力制限値内に収まることを含めた電力制約条件の設定を行うことで、必要な電流制限値を求めることができる。
また、指令加速度の制約には、機械能力や振動など消費電力以外の条件があり、それらの制約によって別途上限の加速度が制約される場合には、求めた指令加速度と消費電力以外の条件によって決まる上限加速度とのうちの小さいほうの値を指令加速度として設定するようにしてもよい。
さらに、指令加速度の演算では、負荷のイナーシャと指令加速度との積がトルクと一致するものとして外乱を無視して演算したが、重力や摩擦などの外乱を考慮して演算するものであってもよい。この場合、重力や摩擦などのパラメータは、あらかじめ停止時や一定速送り中のトルクを実測した結果をもとに同定して設定しておくことになる。
加えて、送り軸駆動用モータと主軸駆動用モータとを持つ工作機械において、主軸駆動用モータの場合は、加減速駆動時、加減速時定数よりも電流制限値の影響が大きいので、加減速パラメータ設定部3aにおいて電流制限値も変更しても構わない。
以上のように、本実施の形態1によれば、加減速駆動を繰り返す2台のモータにおいて少なくとも1つの移動ブロックでの基準移動時間が異なっている場合があれば、動作指令8が入力する都度、各軸モータにおける1回の加減速駆動で費やす時間の最大値をより小さくするような加減速パラメータを設定することで、共通電源である電源供給部2の電源容量を増やすことなくサイクルタイムを短縮できる。
また、本実施の形態1によれば、サイクルタイムの短縮を通して電力量の削減が可能になる。工作機械の消費電力量を模式的に表した図8を参照して説明する。図8において、工作機械の消費電力量は、大きく分けると、モータが駆動されることによって消費される電力量である変動分27と、油圧ユニットや冷却装置等モータの駆動にかかわらずほぼ一定の消費電力で消費される周辺装置の消費電力量である固定分28とに分けられる。
一般的に、固定分28のほうが変動分27よりも大きく、工作機械の消費電力量の中で大きな割合を占めている。そして、固定分28は、図8から明らかなように、サイクルタイム29に比例するので、サイクルタイム29を短縮することで固定分28を減らすことができ、全体の消費電力量を削減することにつながる。
また、次のような簡単な計算からも、サイクルタイムの短縮が電力量の削減につながることが分かる。例えば図2において、1軸目のモータ13のみを1回加減速駆動させる場合、サイクルタイムTは次の式(18)で表される。
T=t1+Tst1 …(18)
そのときの全体の消費電力量Eは、主に1軸目のモータ13を加減速駆動するときの運動エネルギーE1と、銅損E3と、粘性摩擦による摩擦エネルギーE2と、工作機械のようなモータ制御装置が取り付けられた装置を動かす際に必要な周辺機器の消費エネルギーE4とで構成される。図8との対応関係では、運動エネルギーE1と銅損E3と摩擦エネルギーE2との和が変動分27に相当し、周辺機器の消費エネルギーE4が固定分28に相当する。運動エネルギーE1は、加速時の運動エネルギーに対する減速時の運動エネルギーの比をα1としたとき次の式(19)のように表される。
E1=J・v12(1+α1)/2 …(19)
銅損E3の場合、1軸目のモータ13内の電気抵抗をR1、1軸目のモータ13の駆動時の電流をi1、1軸目のモータ13のトルク定数をKT1と表すと、次の式(20)で示される。
粘性摩擦による摩擦エネルギーE2の場合、粘性摩擦係数をC1、1軸目のモータ13の加速開始時間を基準としたときの時間tでの速度をvt(最大値は指令速度v1)と置くと、次の式(21)で表される。
周辺機器の消費エネルギーE4の場合、周辺機器の消費電力は一般に一定値であると考えることができるので、周辺機器の消費電力をP0と置くと、次の式(22)により求められる。
E4=P0・T
=P0(t1+Tst1) …(22)
よって、全体の消費電力量Eは、運動エネルギーE1から周辺機器の消費エネルギーE4までの和になるが、一般に、周辺機器の消費エネルギーE4は、他のエネルギーに比べ大きいこと、銅損E3は、周辺機器の消費エネルギーE4に比べて小さいことから、全体の消費電力量Eの大部分は、運動エネルギーE1と、摩擦エネルギーE2と、消費エネルギーE4との和とみなすことができる。
この全体の消費電力量Eは、1軸目のモータ13の時定数t1に対して単調増加関数となる。また、サイクルタイムについても式(18)から1軸目のモータ13の時定数t1に対して単調増加関数となる。したがって、供給可能電力または回生可能電力の制限値の範囲内で時定数を小さくすることで、サイクルタイムが短縮され、その結果、全体の消費電力量を減らす効果も得られる。
実施の形態2.
図9は、本発明の実施の形態2によるモータ制御装置の構成を示すブロック図である。なお、図9では、図1(実施の形態1)に示した構成要素と同一または同等である構成要素には同一の符号が付されている。ここでは、本実施の形態2に関わる部分を中心に説明する。
図9に示すように、本実施の形態2によるモータ制御装置1bは、図1(実施の形態1)に示した構成において、電源供給部2と共に商用電源に並列に接続される電源供給部30と、電源供給部30の出力端に並列に接続される3軸目のサーボ制御部31と4軸目のサーボ制御部32とが追加されている。
符号を変えた加減速処理部4bは、加減速パラメータ設定部3aから設定される加減速パラメータ9に従って加減速処理を行い、その加減速処理により生成した各軸の速度指令や位置指令を含む動作指令を各軸のサーボ指令10,11,34,35として1軸目のサーボ制御部5、2軸目のサーボ制御部6、3軸目のサーボ制御部31、4軸目のサーボ制御部32へ出力する。
1軸目のサーボ制御部5、2軸目のサーボ制御部6、3軸目のサーボ制御部31、4軸目のサーボ制御部32は、それぞれ、xy面内において負荷を位置決め駆動するモータをサーボ指令に従って制御する。これら4軸のモータのうちの2つ同士間では、高い頻度で加速期間または減速期間が重複して発生する。
このように、本実施の形態2によるモータ制御装置1bは、商用電源が出力する交流電力を並列に受ける複数の電源供給部(図9では電源供給部2,30の2つ)を備え、それぞれの電源供給部が変換した直流電力が1以上のサーボ制御部を経由して2以上のモータに供給される。
図9では、電源供給部2と2つのサーボ制御部5,6とをつなぐ電源ラインに、2つモータ(今の例では図2に示したモータ13,14)がサーボ制御部5,6を介して接続されている。また、電源供給部30と2つのサーボ制御部31,32とをつなぐ電源ラインに、2つモータ(今の例では図2に示したモータ13,14と同等なモータ)がサーボ制御部31,32を介して接続されている。この構成においても、実施の形態1にて説明した方法で、電源容量を増加させずにサイクルタイムを短縮することができる。
但し、実施の形態2では、電源供給部が複数存在するので、加減速時定数を求める際の制約条件は、電源供給部が1つである実施の形態1での制約条件と異なるものになる。
まず、実施の形態1(図1)のように、電源供給部が1つである場合は、実施の形態1にて説明したように、各軸モータの消費電力の和が電源供給部2で指定する供給可能電力と回生可能電力の制限値の範囲内であることが条件となる。
それに対し、実施の形態2(図9)のように、電源供給部が複数存在する場合は、(1)その複数の電源供給部の中の1つの電源供給部が直流電力を供給している各モータの消費電力の和が該電源供給部の供給可能電力の制限値または回生可能電力の制限値を超えずに、(2)かつ当該モータ制御装置1bに接続される全モータの消費電力の和の絶対値が商用電源の出力電力の実効値を超えない範囲内であること、の2つが条件となる。
このように、電源供給部が複数存在する場合は、各電源供給部について、2つの制約条件を決めれば、常に実現可能な加減速駆動が達成できる。
実施の形態3.
図10は、本発明の実施の形態3によるモータ制御装置の構成を示すブロック図である。なお、図10では、図1(実施の形態1)に示した構成要素と同一または同等である構成要素には同一の符号が付されている。ここでは、本実施の形態3に関わる部分を中心に説明する。
図10に示すように、本実施の形態3によるモータ制御装置1cは、図1(実施の形態1)に示した構成において、加減速パラメータ設定部3aに代えて加減速パラメータ設定部3bが設けられている。
実施の形態1では、開始遅れ時間は固定値(値0)と考えていたが、本実施の形態3では開始遅れ時間を変更する場合に関する。すなわち、加減速パラメータ設定部3bは、図4に示した動作手順におけるステップS9(加減速パラメータ算出)において、開始遅れ時間も算出するようになっている。
開始遅れ時間を変更する利点があるのは次のような場合である。すなわち、加減速駆動を繰り返す2台のモータにおいて、1軸目のモータ13を単独で加減速駆動させたときの最小時間をTl1とし、そのときの時定数をtl1とし、2軸目のモータ14を単独で加減速駆動させたときの最小時間をTl2とし、そのときの時定数をtl2としたとき、次の式(23)
Tl1≦Tl2−2・tl2 …(23)
が成り立つ加減速駆動がすべての移動ブロックに対して少なくとも1回は存在している場合に、開始遅れ時間を変更する利点がある。
図11を参照して、このように開始遅れ時間を変更する場合の加減速パラメータの算出方法について示す。図11は、図10に示す加減速パラメータ設定部が開始遅れ時間も算出する場合の制御動作例を説明するタイムチャートである。図11では、図5と同様に2台のモータを第1移動ブロック、第2移動ブロックと順に動作させたときの、(1)1軸目のモータ速度と、(2)1軸目のモータ駆動トルクと、(3)2軸目のモータ速度と、(4)2軸目のモータ駆動トルクと、(5)全消費電力(2台のモータの消費電力の和)との時間変化が示されている。
実施の形態1にて説明したように、第2移動ブロックでの制御動作は、2軸目を基準に実施される。したがって、開始遅れ時間を変更しない実施の形態1での制御動作では、図5に示したように、1軸目も2軸目も、加速開始時間および減速終了時間は同じタイミングであった。
それに対し、開始遅れ時間を変更する本実施の形態3での制御動作では、1軸目と2軸目の関係が例えば図11に示すように、2軸目の加速が終了したタイミングにおいて1軸目の加速が開始され、1軸目の減速が終了したタイミングにおいて2軸目の減速が開始される関係となる。1軸目では、Ta1=T1+2・d1となっている。そのとき、開始遅れ時間d1を2軸目の時定数t2と同じ時間とすれば、サイクルタイムは実施の形態1よりも小さくなることが理解できる。
すなわち、1軸目のモータ13の加速開始時間は、加減速パラメータ設定部3bにおいて、基準移動時間が最も大きいモータである2軸目のモータ14の加速開始時間を基準にして1軸目のモータ13の加速開始時間までの時間である開始遅れ時間d1をd1=t2として算出する。
これによって、2軸目のモータ14の時定数は電力制約条件において1軸目のモータ13の消費電力がゼロになるので、t2=tl2である。そして、1軸目のモータ13の時定数は、単独駆動時の1軸目のモータ13の時定数tl1以上で2回目の加減速駆動時間T1がTst2−tl2以下となるような時定数であれば構わない。このように算出した加減速パラメータ9を加減速処理部4aに設定することで、図11に示すような各軸モータの速度、各軸モータの駆動トルク、各軸モータの消費電力の和の時間変化になる。
以上のように、本実施の形態3によれば、加減速パラメータ設定部3bにて移動ブロック毎に基準移動時間が最大のモータの加速開始時間からの基準移動時間が最大でないモータの開始遅れ時間も変更することができるので、基準移動時間が最大のモータは供給される電力をすべて利用することができ、より加減速駆動時間を小さくすることができる。これによって、全体のサイクルタイムを短縮することができる。
実施の形態4.
図12は、本発明の実施の形態4によるモータ制御装置の構成を示すブロック図である。なお、図12では、図1(実施の形態1)に示した構成要素と同一または同等である構成要素には同一の符号が付されている。ここでは、本実施の形態4に関わる部分を中心に説明する。
図12に示すように、本実施の形態4によるモータ制御装置1dは、図1(実施の形態1)に示した構成において、3軸目のサーボ制御部37が追加されている。また、加減速処理部4aに代えて加減速処理部4cが設けられている。
3軸目のサーボ制御部37は、1軸目のサーボ制御部5および2軸目のサーボ制御部6と並列に、電源供給部2から電力が供給される。3軸目のサーボ制御部37は、符号を変えた加減速処理部4cが出力する3軸目サーボ指令38の通りに3軸目のモータ(図示せず)を動作させるための3軸目のモータ駆動トルクを発生する。
ここで、図2を参照して説明すると、3軸目のサーボ制御部36が駆動制御する3軸目の図示しないモータは、例えば図2において、負荷17をxy面に鉛直なz軸方向(紙面の表裏方向)に移動駆動できるモータであり、その回転軸に、ボールねじ15,16と同様のボールねじが取り付けられている。
本実施の形態4では、各軸モータの基準移動時間をTst1、Tst2、Tst3としたとき、その大小関係を、例えば次の式(24)のように定める。
Tst1≦Tst2<Tst3 …(24)
この場合、サイクルタイムの短縮に最も影響がある時定数は、基準移動時間Tstが最も大きい3軸目のモータの時定数t3である。3軸目のモータの1回の加減速駆動に要する時間T3は、T3=Tst3+t3である。それ故、例えば加減速駆動を1回だけ行う場合、そのサイクルタイムを短縮するためには、3軸目のモータの時定数t3を最小とするように各軸モータの時定数を求めることになる。一般には、まず3軸目のモータの時定数t3について以下の式(25)のような制約条件を満たす最小値を求めることになる。
ここで、供給可能電力の制限値Pまたは回生可能電力の制限値Pを用いて、各軸モータの加速終了時または減速開始時での消費電力をそれぞれP11、P22、P33と表す。そして、1軸目のモータの加速終了時または減速開始時での2番目と3番目とのモータの消費電力をそれぞれP21、P31とし、2軸目のモータの加速終了時または減速開始時での1軸目と3軸目とのモータの消費電力をそれぞれP12、P32とし、3軸目のモータの加速終了時または減速開始時での1軸目と2目とのモータの消費電力をそれぞれP13、P23とする。
また、3軸目のモータの加速開始時間から1軸目のモータまたは2軸目のモータの加速開始時間までの開始遅れ時間をそれぞれd1、d2とし、便宜的に3軸目のモータの開始遅れ時間d3はd3=0とする。
このとき、1軸目のモータでの第1移動ブロックにおける時間Ta1は、Ta1=T1+d1=Tst1+t1+d1となり、2軸目のモータでの第1移動ブロックにおける時間Ta2は、Ta2=T2+d2=Tst2+t2+d2となり、3軸目のモータでの第1移動ブロックにおける時間Ta3は、Ta3=T3+d3=Tst3+t3+d3となる。
サイクルタイムを最小とするためには、Ta3=T3を最小にする。これは、3軸目の時定数t3を最小にすることに等しいので、これを制約つき非線形計画法等で解くことにより、サイクルタイム最小となる各軸の時定数と開始遅れ時間とを求めることができる。
図13は、本実施の形態4を適用した場合の制御動作例を説明するタイムチャートである。図13では、3台のモータについての第1移動ブロックにおける、(1)1軸目のモータ速度と、(2)1軸目のモータ駆動トルクと、(3)2軸目のモータ速度と、(4)2軸目のモータ駆動トルクと、(5)3軸目のモータ速度と、(6)3軸目のモータ駆動トルクと、(7)全消費電力(3台のモータの消費電力の和)との時間変化が示されている。
3台のモータにおいて、1軸目のモータを単独で加減速駆動したときの時定数tl1とし、2軸目のモータを単独で加減速駆動したときの時定数をtl2とし、3軸目のモータを単独で加減速駆動したときの時定数をtl3としたときに、
T1≦Tst3−tl3 …(26)
T2≦Tst3−tl3 …(27)
が成り立っている場合は、図13に示すような速度の時間変化と消費電力の時間変化となる。
この場合、サイクルタイム最小となる3軸目のモータの時定数t3は、t3=tl3と簡単に求められる。そして、残り2つのモータの時定数t1,t2と開始遅れ時間d1,d2は、供給可能電力または回生可能電力の制限値を超えないように適当に決められる。これによってサイクルタイムを短縮することができる。
なお、実施の形態4では、3軸目のモータの時定数を最小にする場合を示したが、基準移動時間の大きさによっては他のモータの時定数を最小にすることになっても構わない。また、実施の形態4では、各軸のモータについて、その加速時間と減速時間とを同じとしているが、異なっていてもよい。
すなわち、移動ブロック毎のサイクルタイムは、各モータの加速開始の最も早い時間から減速終了の最も遅い時間までの経過時間により大きな影響を受ける。この経過時間が長くなるケースにおいては、基準移動時間が最も大きいモータの加減速駆動時間が長くなることが多い。
そこで、加減速パラメータ設定部3aは、基準移動時間が最も大きいモータの加減速駆動時間内にその基準移動時間が最も大きいモータを除くすべてのモータの加速開始時間と減速終了時間が含まれるように、基準移動時間が最も大きいモータを除くすべてのモータについて、各モータの加減速パラメータ9を算出するようにしている。
これによれば、基準移動時間が最も大きいモータの加減速駆動時間内に、基準移動時間が最も大きいモータを除くすべてのモータが加減速駆動を完了することになるので、移動ブロック毎のサイクルタイムを短くすることができ、結果的に全体のサイクルタイムを短縮できる。
このとき、移動ブロック毎のサイクルタイムは、基準移動時間が最も大きいモータの加速または減速の時定数に影響されるので、基準移動時間が最も大きいモータの加減速時の消費電力(使用できる電力)の絶対値をできるだけ供給可能電力の制限値または回生可能電力の制限値に近づける必要がある。
そこで、加減速パラメータ設定部3aは、基準移動時間が最も大きいモータの消費電力が最大になるときの各モータの消費電力の和が供給可能電力の制限値に等しくなるように各モータの加減速パラメータ9を算出する。
または、加減速パラメータ設定部3aは、基準移動時間が最も大きいモータの消費電力が最小になるときの各モータの消費電力の和が回生可能電力の制限値に等しくなるように各モータの加減速パラメータ9を算出する。
これによれば、基準移動時間が最も大きいモータの消費電力の絶対値が最大になるときに、他のモータの消費電力ができるだけ大きくならないように各モータの加減速パラメータを決めることができるので、より早い加減速が可能になる。その結果、1回あたりの加減速駆動時間が短くなり、移動ブロック毎のサイクルタイムの短縮及び全体のサイクルタイムの短縮に繋げることができる。
実施の形態5.
図14は、本発明の実施の形態5によるモータ制御装置の構成を示すブロック図である。なお、図14では、図1(実施の形態1)に示した構成要素と同一または同等である構成要素には同一の符号が付されている。ここでは、本実施の形態5に関わる部分を中心に説明する。
図14に示すように、本実施の形態5によるモータ制御装置1eは、図1(実施の形態1)に示した構成において、蓄電装置40が追加されている。それも伴い加減速パラメータ設定部3aに代えて加減速パラメータ設定部3cが設けられている。
蓄電装置40は、バッテリやコンデンサ、キャパシタなどの電力貯蔵装置であり、充放電の入出力端が電源供給部2と2つのサーボ制御部5,6とをつなぐ共通の電源ラインに接続され、現在の蓄電量41を加減速パラメータ設定部3cに出力する。
加減速パラメータ設定部3cは、蓄電装置40から出力された現在の蓄電量41と電源供給部2の電源容量との和を供給可能電力の制限値と定め、また蓄電装置40から出力された現在の蓄電量41から残りの蓄電可能な量を求め、求めた残りの蓄電可能な量と電源容量との和を回生可能電力の制限値と定める。
加減速パラメータ設定部3cは、このように定めた供給可能電力の制限値または回生可能電力の制限値に基づいて電力制約条件を設定し、サイクルタイムを短縮できる加減速パラメータ9を求める。
本実施の形態5によれば、供給可能電力の制限値と回生可能電力の制限値以外の条件を実施の形態1と同じとした場合、蓄電装置を接続しない実施の形態1の場合と比べ、供給可能電力または回生可能電力の制限値が増えるので、電力制約条件が緩和される。その結果、時定数をさらに小さくすることができるので、サイクルタイムをより短縮することができる。
なお、図14では、蓄電装置が直接共通の電源ラインに接続されているが、蓄電装置と共通の電源ラインとの間に蓄電装置の蓄電量を制御する充放電回路等の制御装置が取り付けられていても構わない。また、蓄電装置も複数台接続されていても良い。
以上の説明した各実施の形態では、駆動される軸が回転モータとボールねじで構成されている場合示したが、リニアモータによって駆動される場合でも同様に適用できる。その場合は、指令速度の単位をm/sとし、指令加速度の単位をm/s2とし、イナーシャを質量(単位kg)におきかえて考えればよい。