以下、添付図面を参照して本開示の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
図1は、第1の実施形態による工作機械の制御装置10の構成を機能ブロックで示す。制御装置10は、主軸12と送り軸14との同期運転によりタップ加工を行う工作機械(例えば旋盤、ボール盤、マシニングセンタ等)において、送り軸14が、タップ加工プログラムPで指定されるねじピッチを考慮しながら、主軸12の回転動作に追従するように動作する同期運転(いわゆるマスター・スレーブ同期方式)を制御するものである。主軸12は、ワークや工具を把持する把持部を加工に必要な速度で回転運動させる主軸モータ12Mに設定される制御軸である。送り軸14は、ワークや工具を支持する支持部を加工に必要な速度で送り運動させるサーボモータ(図示せず)に設定される制御軸である。例えば旋盤では、主軸12で回転するワークに対して工具を送り軸14で直線送りしたり、主軸12で回転するワークを工具に対して送り軸14で直線送りしたりすることができる。またボール盤では、主軸12で回転する工具をワークに対して送り軸14で直線送りしたり、主軸12で回転する工具に対してワークを送り軸14で直線送りしたりすることができる。いずれの場合も、動作中の加減速トルクに比較的余裕の有る送り軸14が、動作中の加減速トルクに比較的余裕の無い主軸12に追従するように動作することで、同期誤差を低減して加工精度を向上させることができる。なお本開示において、工作機械の構成は特に限定されない。
制御装置10は、タップ加工プログラムPに基づき主軸指令CS及び送り軸指令CFを作成する数値制御部16と、主軸指令CSに従って主軸12の回転動作を制御する主軸制御部18と、主軸12の回転位置を検出する回転検出部20と、送り軸指令CFに従って、回転検出部20が検出した回転位置に基づき送り軸14の送り動作を制御する送り軸制御部22とを備える。数値制御部16は、タップ加工プログラムPを解釈するプログラム解釈部24と、プログラム解釈部24の解釈に従い主軸指令CSを作成して、主軸制御部18に主軸指令CSを送る主軸指令出力部26と、プログラム解釈部24の解釈に従い送り軸指令CFを作成して、送り軸制御部22に送り軸指令CFを送る送り軸指令出力部28とを備える。数値制御部16は、公知のCNC装置のハードウェア構成を有することができる。
主軸指令出力部26は、タップ加工の開始に先立ち、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、始動位置(回転位置)から目標位置(回転位置)に至る間の主軸12の総回転量S0と最高回転速度V0とを取得して、これら総回転量S0と最高回転速度V0とを主軸指令CSとして主軸制御部18に送る。例えばタップ加工プログラムPが、主軸12の最高回転速度(この例では1分間当りの最大回転数)V0を3000rev/minとして、ねじピッチ1.25mm、ねじ深さ30mmの雌ねじを加工する指令を含む場合、始動位置である加工開始位置から目標位置である目標ねじ深さに至る間の主軸12の総回転量S0は、30÷1.25=24(rev)となるから、主軸指令出力部26は、V0=3000(rev/min)とS0=24(rev)とを主軸制御部18に通知する。このように主軸指令CSは、主軸12を目標位置(目標ねじ深さ)まで回転運動させるための位置指令(移動指令)や加減速指令を含まないものとなっている。
主軸制御部18は、回転検出部20が検出した主軸12の回転位置FBS(すなわちフィードバック値)を用いて、一般的なフィードバック制御により主軸12の回転動作を制御する。送り軸制御部22は、送り軸14の送り位置のフィードバック値に加えて、主軸12の回転位置FBSを用いて、フィードバック制御により主軸12の動作に追従する送り軸14の送り動作を制御する。なお回転検出部20は、主軸12又は主軸モータ12Mの動作位置を検出するエンコーダ等の位置検出器(図示せず)の出力から、回転位置FBSを取得することができる。
主軸制御部18は、主軸指令出力部26から送られた最高回転速度V0を目標値とする速度制御により始動位置から主軸12を、駆動源(主軸モータ12M)の許容電流を最大限に利用した最大能力で加速回転させる初期動作制御部30と、最大能力での加速回転中に回転位置FBSに基づき主軸12の最大加速度A0(単位は例えばrev/min2)を検出する最大加速度検出部32と、主軸指令出力部26から送られた総回転量S0と回転位置FBSとに基づき、現在位置(回転位置)から目標位置に至るまでの主軸12の残回転量Srを検出する残回転量検出部34と、回転位置FBSに基づき主軸12の現在速度Vcを検出する現在速度検出部36と、最大能力での加速回転の後に、最大加速度A0と残回転量Srと現在速度Vcとに基づき、位置制御により主軸12を減速回転させて目標位置に到達させる位置決め動作制御部38とを備える。
主軸制御部18の制御により、主軸12は、最高回転速度V0に到達するか、或いは残回転量Srが総回転量S0の1/2となる位置に到達した時点で、加速回転から減速回転に移行する。主軸12の減速回転中、位置決め動作制御部38は、主軸12を位置制御することで目標位置に到達させるが、このときサイクルタイム短縮の観点から、最大加速度検出部32が検出した最大加速度A0に対応する減速度で主軸12を減速回転させることが考えられる。しかし、駆動源(主軸モータ12M)の機械損(摩擦損、風損等)を考慮すると、最大加速度A0に対応する減速度で主軸12を減速回転させる構成では、加速時と異なり、駆動源(主軸モータ12M)の許容電流を最大限に利用した最大能力での減速回転を実現できない場合がある。そこでこの実施形態では、位置決め動作制御部38は、主軸12を位置制御する際に、最大加速度A0に対応する減速度(負の値)よりも大きい(つまり絶対値の大きい)位置決め減速度Apos(負の値)で主軸12を減速回転させるように構成される。位置決め減速度Aposの値は、主軸12を減速回転させる間の駆動源(主軸モータ12M)の機械損を補償し得る最大減速度Amax(負の値)を上限とする。最大減速度Amaxは、以下の式1により求めることができる。
|Amax|=A0×(Pmax+Pml)/Pmax ・・・式1
又は
|Amax|=A0+Apml ・・・式1
ここで、Pmaxは駆動源(主軸モータ12M)の最大出力(すなわち許容電流を最大限に利用した最大能力)、Pmlは駆動源(主軸モータ12M)の機械損、ApmlはPmlに相当する加速度である。Pmaxは、例えばタップ加工システムの設計者(以下、システム設計者)が駆動源(主軸モータ12M)の特性値から制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できる。Pmlは、例えばシステム設計者が、公知の測定法により駆動源(主軸モータ12M)に対し予め測定して、制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できる。Apmlは、例えばシステム設計者が、測定したPmlから公知の換算式により予め算出して、制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できる。
位置決め動作制御部38は、主軸12を任意の位置決め減速度Apos(A0<|Apos|≦|Amax|)で減速回転させる。ここでAposは、例えばAmaxに所定の係数を乗算することで求めることができる。この係数は、例えばシステム設計者が予め設定して制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できる。この構成により、制御装置10は主軸12を、駆動源(主軸モータ12M)の機械損を考慮しながらその許容電流を高効率で利用して減速回転させることができ、以って、タップ加工のサイクルタイムの短縮効果を向上させることができる。特に、位置決め動作制御部38が主軸12を最大減速度Amaxで減速回転させる構成とすれば、制御装置10は、駆動源(主軸モータ12M)の機械損に相当する減速度の低下分を全て補償して、加速時と同様に、駆動源(主軸モータ12M)の許容電流を最大限に利用した最大能力で主軸12を減速回転させることができ、以って、タップ加工のサイクルタイムを一層効果的に短縮することができる。なお、サイクルタイムの短縮効果の詳細は後述する。
最大減速度Amax及び位置決め減速度Aposは、位置決め動作制御部38が、位置制御の開始前に算出することができる。主軸制御部18が主軸12を速度指令により位置制御する構成では、位置決め動作制御部38は、主軸12を位置決め減速度Aposで減速回転させるための速度指令を演算する速度指令演算部40を有することができる。
位置決め動作制御部38は、残回転量検出部34及び現在速度検出部36が逐次検出する残回転量Sr及び現在速度Vcを監視して、主軸12を現在速度Vcから位置決め減速度Aposで減速したときにSr=0となる(つまり目標位置に到達する)位置を算定し、主軸12がこの位置に到達したときに位置制御を開始する。なお、制御装置10が実行する工作機械制御方法(速度制御及び位置制御を含む)の詳細は後述する。
図2は、第2の実施形態による工作機械の制御装置50の構成を機能ブロックで示す。制御装置50は、前述した制御装置10の構成に加えて、位置決め動作制御部38が位置制御を開始する前に主軸12を加速時の最高速度から速度制御により減速回転させるための減速動作制御部52を備える。減速動作制御部52以外の制御装置50の構成は、制御装置10と同様であるので、対応する構成要素には共通の参照符号を付してその説明を省略する。
制御装置50は、タップ加工プログラムPに基づき主軸指令CS及び送り軸指令CFを作成する数値制御部16と、主軸指令CSに従って主軸12の回転動作を制御する主軸制御部18と、主軸12の回転位置を検出する回転検出部20と、送り軸指令CFに従って、回転検出部20が検出した回転位置に基づき送り軸14の送り動作を制御する送り軸制御部22とを備える。主軸制御部18は、主軸指令出力部26から送られた最高回転速度V0を目標値とする速度制御により始動位置から主軸12を、駆動源(主軸モータ12M)の許容電流を最大限に利用した最大能力で加速回転させる初期動作制御部30と、最大能力での加速回転中に回転位置FBSに基づき主軸12の最大加速度A0を検出する最大加速度検出部32と、主軸指令出力部26から送られた総回転量S0と回転位置FBSとに基づき、現在位置から目標位置に至るまでの主軸12の残回転量Srを検出する残回転量検出部34と、回転位置FBSに基づき主軸12の現在速度Vcを検出する現在速度検出部36と、最大能力での加速回転の後に、最大加速度A0と残回転量Srと現在速度Vcとに基づき、位置制御により主軸12を位置決め減速度Aposで減速回転させて目標位置に到達させる位置決め動作制御部38と、最大能力での加速回転の後であって位置制御の開始前に、速度制御により主軸12を減速回転させて予め定めた中間速度Vbに到達させる減速動作制御部52とを備える。
中間速度Vbは、始動から中間速度Vbまでは一定トルクでの加速(つまり一定加速度)が可能な回転速度(例えば主軸モータ12Mの基底速度)として、主軸12に予め設定されるものであって、例えば制御装置50のメモリ(図示せず)に制御用パラメータの1つとして格納できる。なお実用上、中間速度Vbは、主軸モータ12Mの基底速度(主軸モータ12Mと主軸12との間に減速比が存在する場合は減速比を考慮した速度)以下であればよい。
主軸制御部18の制御により、主軸12は、最高回転速度V0に到達するか、或いは残回転量Srが総回転量S0の1/2となる位置に到達した時点で、加速回転から減速回転に移行する。主軸12が加速回転による最高速度から減速するときには、減速動作制御部52は、中間速度Vbに至るまでの速度領域で、残回転量検出部34及び現在速度検出部36が逐次検出する残回転量Sr及び現在速度Vcに基づき、主軸12を速度制御する。また、位置決め動作制御部38は、中間速度Vbから目標位置に至るまでの速度領域で、サイクルタイム短縮のため、最大加速度検出部32が検出した最大加速度A0に対応する減速度よりも大きい位置決め減速度Apos(A0<|Apos|≦|Amax|)で主軸12を減速回転させる。位置決め動作制御部38は、残回転量検出部34及び現在速度検出部36が逐次検出する残回転量Sr及び現在速度Vcを監視して、主軸12を現在速度Vc(=Vb)から位置決め減速度Aposで減速したときにSr=0となる(つまり目標位置に到達する)位置を算定し、主軸12がこの位置に到達したときに位置制御を開始する。なお、制御装置50が実行する工作機械制御方法(速度制御及び位置制御を含む)の詳細は後述する。
制御装置10、50は、工作機械を用いたタップ加工において、ワークの下穴を工具で目標ねじ深さまで切削するための主軸12の回転動作(本願で切削動作と称する)を制御することができる。また制御装置10、50は、工作機械を用いたタップ加工において、ワークの下穴を目標ねじ深さまで切削加工した後に工具をワークから引き抜くための主軸12の回転動作(本願で戻り動作と称する)を制御することができる。切削動作の制御では、「始動位置」はタップ加工の「加工開始位置」に相当し、「目標位置」はタップ加工の「目標ねじ深さ」に相当する。また戻り動作の制御では、「始動位置」はタップ加工の「目標ねじ深さ」に相当し、「目標位置」はタップ加工の「戻り完了位置」に相当する。
図3及び図4は、図2の制御装置50が実行する工作機械制御方法の第1の実施形態を示す。また図5及び図6は、図3及び図4の制御方法によって実現される主軸12の動作の二つの異なる例を示す。この実施形態による制御方法は、タップ加工における主軸12の切削動作(図3)と戻り動作(図4)との双方を制御できるものである。なお以下の説明では、理解を助けるため、切削動作の制御に関する用語として「総回転量」、「最高回転速度」、「加速回転」、「最大加速度」、「残回転量」、「現在速度」、「減速回転」、「中間速度」、「減速度」、「位置決め回転量」及び「位置決め減速度」を用いる一方、戻り動作の制御に関してはそれぞれに対応する実質同義の用語として「総戻り回転量」、「最高戻り回転速度」、「加速逆回転」、「逆回転の最大加速度」、「残戻り回転量」、「逆回転の現在速度」、「減速逆回転」、「中間戻り速度」、「逆回転の減速度」、「位置決め戻り回転量」及び「逆回転の位置決め減速度」を用いる。
まず、図3のフローチャートを図2と共に参照して、制御装置50が実行する主軸12の切削動作制御方法を説明する。ステップS1で、数値制御部16(主軸指令出力部26)は、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、加工開始位置(始動位置)から目標ねじ深さ(目標位置)に至る間の主軸12の総回転量S0と最高回転速度V0とを取得して、主軸制御部18に総回転量S0と最高回転速度V0とを指令する。ステップS2で、主軸制御部18(初期動作制御部30、最大加速度検出部32、残回転量検出部34)は、最高回転速度V0を目標速度とする速度制御により、加工開始位置(速度零)から主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速回転させて切削動作を実行し、その間の最大加速度A0を検出するとともに、加速回転中の現在位置からの残回転量Srを逐次検出する。検出した残回転量Srは、検出の都度、主軸制御部18が数値制御部16に通知する。
次にステップS3で、主軸制御部18(位置決め動作制御部38)は、最大加速度A0に対応する減速度よりも大きい位置決め減速度Aposであって、主軸12を減速回転させる間の駆動源(主軸モータ12M)の機械損を補償し得る最大減速度Amaxを上限とする位置決め減速度Aposを算出する。なおAposの算出は、最大加速度A0を検出した後であって位置決め動作制御部38が位置制御を開始する前であれば、以下に説明する後続ステップ(S4〜S7、S9、S10)の実行中又はその後に行うこともできる。
次にステップS4で、主軸制御部18(現在速度検出部36)は、最大能力での加速回転中に現在速度Vcを逐次検出し、検出の都度、現在速度Vcが最高回転速度V0に到達していないか否かを判断する。VcがV0に到達していない場合、ステップS5で、主軸制御部18(残回転量検出部34)は、残回転量Srが総回転量S0の1/2以下になっているか否かを判断する。SrがS0の1/2以下になっている場合、ステップS6で、主軸制御部18(減速動作制御部52)は、主軸12を中間速度Vbまで減速回転させて切削動作を継続実行する。SrがS0の1/2以下になっていない場合はステップS4に戻る。
ここで図5を参照すると、現在速度Vcが最高回転速度V0に到達する前に残回転量Srが総回転量S0の1/2になった場合(ステップS4及びS5の判断がいずれもYESの場合)の、主軸12の切削動作の一例が、速度−時間曲線(時間軸の上側の曲線)で示されている。ステップS2における主軸12の最大能力の加速回転は、図5の時間T1及びT2で実行され、時間T1(加工開始位置での始動から中間速度Vbに達するまでの時間)の一定加速度の間に最大加速度A0が検出される。主軸12の回転速度が中間速度Vb(この例では主軸モータ12Mの基底速度)を超えると、主軸モータ12Mの特性により、主軸12の加速度は最大加速度A0から漸減する。残回転量Srが総回転量S0の1/2になった(つまり加工開始からの回転量が総回転量S0の1/2になった)時点A(ステップS5の判断がYESとなった時点)で、主軸12の動作は加速回転から減速回転に変わり、時間T3で、ステップS6における主軸12の減速回転が実行される。時間T1〜T3では、主軸制御部18は主軸12を速度制御する(この間の速度指令を破線で例示する)。
時間T3(ステップS6)においても、主軸制御部18(残回転量検出部34、現在速度検出部36)は、主軸12の現在位置からの残回転量Sr及び現在速度Vcを逐次検出する。そして主軸制御部18(減速動作制御部52)は、時間T3(ステップS6)において、速度制御により点A(最高速度)から主軸12を中間速度Vbまで減速回転させるが、この間、減速回転のための速度指令Cvを、残回転量Srと現在速度Vcとを用いて逐次更新する(速度指令Cvを図5に破線で示す)。具体的には、減速動作制御部52は、主軸12を所定の中間速度Vbに到達させたときの主軸12の残回転量Srが、位置決め動作制御部38による位置制御の下で目標ねじ深さに到達するまでの主軸12の位置決め回転量Sposと等しくなるように、速度指令Cvを逐次更新して、逐次更新される速度指令Cvにより主軸12を減速回転させる。
ここで、位置決め回転量Sposは、位置決め動作制御部38が主軸12を、現在速度Vc(以下の説明では1秒間当りの回転数(単位はrev/sec)とする)から、前述した位置決め減速度Apos(負の値)で減速したときに、Sr=0かつVc=0となる(つまり目標ねじ深さに到達する)ことが予測される時点B(図5)の位置に対応し、Sr=0の点から見た残回転量Sr(負の値)の絶対値として、以下の式で表される。
|Sr|=Vc2/(2×|Apos|)=Spos
前述したように、点Bでは、主軸12の現在速度Vcは中間速度Vbに達していることを前提とする。したがって点Bの位置|Sr|及び位置決め回転量Sposは、以下の式2により求められる。
|Sr|=Vb2/(2×|Apos|)=Spos ・・・式2
主軸12を中間速度Vbに到達させたときの残回転量Srが主軸12の位置決め回転量Sposに等しいとした場合、時間T3における主軸12の残回転量(つまり現在位置)Srと現在速度Vc(rev/s)と現在減速度Ac(rev/s2)との関係は、以下の式で表わされる。
公式:Vc2−Vb2=2×|Ac|×(Sr−Spos)から、
|Ac|=(Vc2−Vb2)/(2×(Sr−Spos))
時間T3(ステップS6)において、主軸制御部18(減速動作制御部52)は、主軸12の残回転量Srと現在速度Vcとを常時監視して、上記した現在減速度Acに速度指令更新周期Tctl(sec)(つまり減速動作制御部52が速度指令を作成して主軸12に通知する周期)を乗じた値を現在速度Vc(つまり直前の速度指令Cv)から減算し、新たな速度指令Cvとする。速度指令Cvは以下の式3で表わされる。
Cv=Vc−Ac×Tctl ・・・式3
式3に従って、減速動作制御部52は、速度指令Cvを速度指令更新周期Tctlで逐次更新する。主軸12は、点Aから点Bに至る間、逐次更新される速度指令Cvに従って、減速度Acを徐々に増加させながら減速回転し、中間速度Vbまで減速したと同時に点Bに到達する(図5)。
再び図3を参照すると、ステップS7で、主軸制御部18(位置決め動作制御部38)は、主軸12の残回転量Srの絶対値|Sr|が、|Sr|=Vb2/(2×|Apos|)(式2)を満たしているか否か(つまり主軸12の回転位置が点Bに到達したか否か)を判断する。式2を満たしている場合、ステップS8で、主軸制御部18(位置決め動作制御部38)は、主軸12を位置決め減速度Aposで減速回転してSr=0の点(つまり目標ねじ深さ)に到達させるための移動指令を作成し、この移動指令により主軸12を位置制御する。式2を満たしていない場合は、式2が満たされるまでステップS7の判断を繰り返す。主軸12は、主軸制御部18(位置決め動作制御部38)からの移動指令に従い、点Bから目標ねじ深さに向かって位置決め減速度Aposで減速回転して切削動作を実行し、Sr=0になった時点で目標ねじ深さに到達して停止する。このように、点Bから目標ねじ深さに到達するまでの時間T4(図5)では、主軸制御部18は主軸12を位置制御する(移動指令から求められた定加速度状の速度指令を破線で例示する)。
前述したステップS4で、主軸制御部18(現在速度検出部36)が、現在速度Vcが最高回転速度V0に到達していると判断した場合は、ステップS5の代わりにステップS9に進む。ステップS9で主軸制御部18(残回転量検出部34)は、最高回転速度V0に到達したときの主軸12の、加工開始位置からの回転量(つまり回転位置FBS)を、加速時回転量Saとして保存する。そしてステップS10で、主軸制御部18(残回転量検出部34)は、残回転量Srが加速時回転量Sa以下になっているか否かを判断する。SrがSa以下になっている場合、ステップS6に進み、次いでステップS7及びステップS8を実行して、目標ねじ深さまでの切削動作を行う。SrがSa以下になっていない場合は、SrがSa以下になるまでステップS10の判断を繰り返す。
ここで図6を参照すると、残回転量Srが総回転量S0の1/2になる前に現在速度Vcが最高回転速度V0に到達した場合(ステップS4の判断がNOの場合)の、主軸12の切削動作の一例が、速度−時間曲線(時間軸の上側の曲線)で示されている。図6に示すように、ステップS2における主軸12の最大能力の加速回転が時間T1及びT2で実行され、時間T1(加工開始位置での始動から中間速度Vbに達するまでの時間)の一定加速度の間に最大加速度A0が検出される。主軸12の回転速度が中間速度Vb(この例では主軸モータ12Mの基底速度)を超えると、主軸モータ12Mの特性により、主軸12の加速度は最大加速度A0から漸減する。主軸12の現在速度Vcは、残回転量Srが総回転量S0の1/2になる前に最高回転速度V0に到達し、その後、時間T5に渡り一定速度V0(加速度零)で主軸12が回転して切削動作を継続する。残回転量Srが加速時回転量Saに等しくなった時点A(ステップS10の判断がYESとなった時点)で、主軸12の動作は加速回転から減速回転に変わる。次いで、時間T3(ステップS6)で、前述した減速度Acを漸増させながらの主軸12の減速回転(速度制御)が実行され、時間T4(ステップS8)で、位置決め減速度Aposでの主軸12の減速回転が実行される。そしてSr=0になった時点で、主軸12は目標ねじ深さに到達して停止する。時間T1、T2、T3及びT4では、主軸12は図5に示す動作と同様に動作する。
図5及び図6のいずれの動作例においても、主軸制御部18が主軸12の加工開始位置から目標ねじ深さまでの回転動作(切削動作)を制御する間、送り軸制御部22(図2)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するようにフィードバック制御して送り動作を行わせる。数値制御部16は、主軸制御部18がステップS1〜ステップS10の処理を実行する間、主軸制御部18から通知される残回転量Srを監視して、残回転量Srが第1の所定値(零に近い極小値)以下になったときに、タップ加工が目標ねじ深さに達したと判断する。
上記したように、制御装置50は、主軸12に加工開始位置(始動位置)から目標ねじ深さ(目標位置)までの切削動作(回転動作)を行わせる際に、数値制御部16が主軸制御部18に対して、主軸12の総回転量S0と最高回転速度V0のみを主軸指令CSとして通知し、主軸制御部18がこの主軸指令CSに従い、最高回転速度V0を目標に許容電流を最大限に使用した最大出力で主軸12を加速回転させて切削動作を実行するとともに、最大加速中に検出した最大加速度A0と逐次検出する主軸12の残回転量Sr及び現在速度Vcとに基づき、主軸12を減速回転させながら目標ねじ深さまでの切削動作を継続実行して目標ねじ深さに到達させるように構成されている。したがって制御装置50によれば、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することが可能になる。
しかも制御装置50では、加速後に主軸12を位置制御により減速させて目標ねじ深さに到達させる間、駆動源(主軸モータ12M)の機械損を考慮して、最大加速度A0に対応する減速度よりも大きい位置決め減速度Apos(A0<|Apos|≦|Amax|)で主軸12を減速回転させるようにしたから、上記したタップ加工のサイクルタイムの短縮効果を向上させることができる。
制御装置50は、主軸12の前述した戻り動作に際し、加工開始位置から目標ねじ深さまでの上記した切削動作制御と同様の制御を行うことができる。図5及び図6は、上記した主軸12の切削動作に加えて、同切削動作に対応する主軸12の戻り動作を、速度−時間曲線(時間軸の下側の曲線)で示している。以下、図4のフローチャートを図2、図5及び図6と共に参照して、制御装置10が実行する主軸12の戻り動作制御方法を説明する。なお、以下の説明で用いる参照符号は、理解を助けるため、切削動作制御方法の説明で用いた対応の参照符号に必要に応じてダッシュ(′)を付したものとする。
数値制御部16(主軸指令出力部26)は、図3の切削動作制御フローでタップ加工が目標ねじ深さに達したと判断した後に、ステップS11で、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、目標ねじ深さ(始動位置)から戻り完了位置(目標位置)に至る間の主軸12の総戻り回転量S0′と最高戻り回転速度V0′とを取得して、これら総戻り回転量S0′と最高戻り回転速度V0′とを主軸指令CSとして主軸制御部18に送る。戻り動作の主軸指令CSも、主軸12を戻り完了位置まで回転運動させるための位置指令(移動指令)や加減速指令を含まないものである。なお戻り完了位置は、加工開始位置と同一であってもよいし、加工開始位置と異なっていてもよい。戻り完了位置が加工開始位置と同一の場合、総戻り回転量S0′は切削時の総回転量S0と等しくなるが、最高戻り回転速度V0′は切削時の最高回転速度V0に必ずしも一致しない。また、総戻り回転量S0′及び最高戻り回転速度V0′が切削時の総回転量S0及び最高回転速度V0と同一の場合、戻り動作は切削動作と実質的に同じ速度−時間曲線を示すが、総戻り回転量S0′及び最高戻り回転速度V0′が切削時の総回転量S0及び最高回転速度V0と異なる場合、戻り動作は切削動作と必ずしも同じ速度−時間曲線を示さない。
次にステップS12で、主軸制御部18(初期動作制御部30、最大加速度検出部32、残回転量検出部34)は以下の処理を行う。初期動作制御部30は、最高戻り回転速度V0′を目標速度とする速度制御により、目標ねじ深さ(速度零)から主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速逆回転させて戻り動作を実行する。最大加速度検出部32は、目標ねじ深さからの最大能力での加速逆回転中に回転位置FBSに基づき主軸12の逆回転の最大加速度A0′を検出する。残回転量検出部34は、総戻り回転量S0′と回転位置FBSとに基づき、加速逆回転中の現在位置からの主軸12の残戻り回転量Sr′を逐次検出する。検出した残戻り回転量Sr′は、検出の都度、主軸制御部18が数値制御部16に通知する。
次にステップS13で、主軸制御部18(位置決め動作制御部38)は、逆回転の最大加速度A0′に対応する減速度よりも大きい逆回転の位置決め減速度Apos′であって、主軸12を減速逆回転させる間の駆動源(主軸モータ12M)の機械損を補償し得る最大減速度Amax′を上限とする逆回転の位置決め減速度Apos′を算出する。なおApos′の算出は、逆回転の最大加速度A0′を検出した後であって位置決め動作制御部38が位置制御を開始する前であれば、以下に説明する後続ステップ(S14〜S17、S19、S20)の実行中又はその後に行うこともできる。またApos′及びAmax′は、それぞれ前述したApos及びAmaxと実質同義の値であって、前述した式1等によって算出できる。
次にステップS14で、主軸制御部18(現在速度検出部36)は、最大能力での加速逆回転中に回転位置FBSに基づき逆回転の現在速度Vc′を逐次検出し、検出の都度、現在速度Vc′が最高戻り回転速度V0′に到達していないか否かを判断する。Vc′がV0′に到達していない場合、ステップS15で、主軸制御部18(残回転量検出部34)は、残戻り回転量Sr′が総戻り回転量S0′の1/2以下になっているか否かを判断する。Sr′がS0′の1/2以下になっている場合、ステップS16で、主軸制御部18(減速動作制御部52)は、主軸12を中間戻り速度Vb′まで減速逆回転させて戻り動作を継続実行する。Sr′がS0′の1/2以下になっていない場合はステップS14に戻る。
ここで図5を参照すると、逆回転の現在速度Vc′が最高戻り回転速度V0′に到達する前に残戻り回転量Sr′が総戻り回転量S0′の1/2になった場合(ステップS14及びS15の判断がいずれもYESの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。ステップS12における主軸12の最大能力の加速逆回転は、図5の時間T6及びT7で実行され、時間T6(目標ねじ深さでの始動から中間戻り速度Vb′に達するまでの時間)の一定加速度の間に逆回転の最大加速度A0′が検出される。主軸12の回転速度が中間戻り速度Vb′(この例では主軸モータ12Mの基底速度)を超えると、主軸モータ12Mの特性により、主軸12の加速度は最大加速度A0′から漸減する。残戻り回転量Sr′が総戻り回転量S0′の1/2になった(つまり戻り開始からの回転量が総戻り回転量S0′の1/2になった)時点C(ステップS15の判断がYESとなった時点)で、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8で、ステップS16における主軸12の減速逆回転が実行される。時間T6〜T8では、主軸制御部18は主軸12を速度制御する(この間の速度指令を破線で例示する)。
時間T8(ステップS16)においても、主軸制御部18(残回転量検出部34、現在速度検出部36)は、主軸12の現在位置からの残戻り回転量Sr′及び逆回転の現在速度Vc′を逐次検出する。そして主軸制御部18(減速動作制御部52)は、時間T8(ステップS16)において、速度制御により点C(逆回転の最高速度)から主軸12を中間戻り速度Vb′まで減速回転させるが、この間、減速逆回転のための速度指令Cv′を、残戻り回転量Sr′と逆回転の現在速度Vc′とを用いて逐次更新する(速度指令Cv′を図5に破線で示す)。具体的には、減速動作制御部52は、主軸12を所定の中間戻り速度Vb′に到達させたときの主軸12の残戻り回転量Sr′が、位置決め動作制御部38による位置制御の下で戻り完了位置で停止するまでの主軸12の位置決め戻り回転量Spos′と等しくなるように、速度指令Cv′を逐次更新して、逐次更新される速度指令Cv′により主軸12を減速逆回転させる。
ここで、位置決め戻り回転量Spos′は、位置決め動作制御部38が主軸12を、逆回転の現在速度Vc′(以下の説明では1秒間当りの回転数(単位はrev/sec)とする)から、前述した逆回転の位置決め加速度Apos′(負の値)で減速したときに、Sr′=0かつVc′=0となる(つまり戻り完了位置に到達する)ことが予測される時点D(図5)の位置に対応し、前述した位置決め回転量Sposと同様に以下の式4により求められる。
|Sr′|=Vb′2/(2×|Apos′|)=Spos′ ・・・式4
主軸12を中間戻り速度Vb′に到達させたときの残戻り回転量Sr′が主軸12の位置決め戻り回転量Spos′に等しいとした場合、時間T8における主軸12の残戻り回転量(つまり現在位置)Sr′と現在速度Vc′(rev/s)と現在減速度Ac′(rev/s2)との関係は、以下の式で表わされる。
公式:Vc′2−Vb′2=2×|Ac′|×(Sr′−Spos′)から、
|Ac′|=(Vc′2−Vb′2)/(2×(Sr′−Spos′))
時間T8(ステップS16)において、主軸制御部18(減速動作制御部52)は、主軸12の残戻り回転量Sr′と逆回転の現在速度Vc′とを常時監視して、上記した現在減速度Ac′に速度指令更新周期Tctl(sec)を乗じた値を現在速度Vc′(つまり直前の速度指令Cv′)から減算し、新たな速度指令Cv′とする。速度指令Cv′は以下の式5で表わされる。
Cv′=Vc′−Ac′×Tctl ・・・式5
式5に従って、減速動作制御部52は、速度指令Cv′を速度指令更新周期Tctlで逐次更新する。主軸12は、点Cから点Dに至る間、逐次更新される速度指令Cv′に従って、減速度Ac′を徐々に増加させながら減速逆回転し、中間戻り速度Vb′まで減速したと同時に点Dに到達する(図5)。
再び図4を参照すると、ステップS17で、主軸制御部18(位置決め動作制御部38)は、主軸12の残戻り回転量Sr′の絶対値|Sr′|が、|Sr′|=Vb′2/(2×|A0′|)(式4)を満たしているか否か(つまり主軸12の回転位置が点Dに到達したか否か)を判断する。式4を満たしている場合、ステップS18で、主軸制御部18(位置決め動作制御部38)は、主軸12を位置決め減速度Apos′で減速逆回転してSr′=0の点(つまり戻り完了位置)で停止させるための移動指令を作成し、この移動指令により主軸12を位置制御する。式4を満たしていない場合は、式4が満たされるまでステップS17の判断を繰り返す。主軸12は、主軸制御部18(位置決め動作制御部38)からの移動指令に従い、点Dから戻り完了位置に向かって位置決め減速度Apos′で減速逆回転して戻り動作を実行し、Sr′=0になった時点で戻り完了位置に到達して停止する。このように、点Dから戻り完了位置に到達するまでの時間T9(図5)では、主軸制御部18は主軸12を位置制御する(移動指令から求められた定加速度状の速度指令を破線で例示する)。
前述したステップS14で、主軸制御部18(現在速度検出部36)が、逆回転の現在速度Vc′が最高戻り回転速度V0′に到達していると判断した場合は、ステップS15の代わりにステップS19に進む。ステップS19で主軸制御部18(残回転量検出部34)は、最高戻り回転速度V0′に到達したときの主軸12の、目標ねじ深さからの回転量(つまり回転位置FBS)を、戻り動作の加速時回転量Sa′として保存する。そしてステップS20で、主軸制御部18(残回転量検出部34)は、残戻り回転量Sr′が加速時回転量Sa′以下になっているか否かを判断する。Sr′がSa′以下になっている場合、ステップS16に進み、次いでステップS17及びステップS18を実行して、戻り完了位置さまでの戻り動作を行う。Sr′がSa′以下になっていない場合は、Sr′がSa′以下になるまでステップS20の判断を繰り返す。
ここで図6を参照すると、残戻り回転量Sr′が総戻り回転量S0′の1/2になる前に逆回転の現在速度Vc′が最高戻り回転速度V0′に到達した場合(ステップS14の判断がNOの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。図6に示すように、ステップS12における主軸12の最大能力の加速逆回転が時間T6及びT7で実行され、時間T6(目標ねじ深さでの始動から中間戻り速度Vb′に達するまでの時間)の一定加速度の間に、逆回転の最大加速度A0′が検出される。主軸12の回転速度が中間戻り速度Vb′(この例では主軸モータ12Mの基底速度)を超えると、主軸モータ12Mの特性により、主軸12の加速度が最大加速度A0′から漸減する。主軸12の現在速度Vc′は、残戻り回転量Sr′が総戻り回転量S0′の1/2になる前に最高戻り回転速度V0′に到達し、その後、時間T10に渡り一定速度V0′(加速度零)で主軸12が逆回転して戻り動作を継続する。残戻り回転量Sr′が加速時回転量Sa′に等しくなった時点C(ステップS20の判断がYESとなった時点)で、主軸12の動作は加速逆回転から減速逆回転に変わる。次いで、時間T8(ステップS16)で、前述した減速度Acを漸増させながらの主軸12の減速逆回転(速度制御)が実行され、時間T9(ステップS18)で、位置決め減速度Apos′での主軸12の減速逆回転が実行される。そしてSr′=0になった時点で、主軸12は戻り完了位置に到達して停止する。時間T6、T7、T8及びT9では、主軸12は図5に示す動作と同様に動作する。
図5及び図6のいずれの動作例においても、主軸制御部18が主軸12の目標ねじ深さから戻り完了位置までの逆回転動作(戻り動作)を制御する間、送り軸制御部22(図2)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するようにフィードバック制御して逆送り動作を行わせる。数値制御部16は、主軸制御部18がステップS11〜ステップS20の処理を実行する間、主軸制御部18から通知される残戻り回転量Sr′を監視して、残戻り回転量Sr′が第2の所定値(零に近い極小値)以下になったときに、戻り動作が完了して工具がワークから引き抜かれたと判断する。
図5及び図6に示す動作例では、制御装置50は、主軸12の最大能力での加速回転の後に、逐次更新される速度指令Cv(Cv′)により主軸12を漸増する減速度Ac(Ac′)で点A(点D)から減速回転(減速逆回転)させて、中間速度Vb(中間戻り速度Vb′)に達したときの残回転量Sr(残戻り回転量Sr′)が位置決め回転量Spos(位置決め戻り回転量Spos′)と等しくなる速度制御を実行している。減速回転(減速逆回転)中のこのような速度制御に代えて、制御装置50は、点A(点D)から中間速度Vb(中間戻り速度Vb′)を目標値として主軸12を最大能力で減速回転(減速逆回転)させる速度制御を実行することもできる。図7及び図8は、点A(点D)から主軸12を最大能力で減速回転(減速逆回転)させる制御方法によって実現される主軸12の動作の二つの異なる例を示す。以下、図7及び図8を図2〜図4と共に参照して、主軸12を速度制御で最大減速させる構成を説明する。
図7を参照すると、現在速度Vcが最高回転速度V0に到達する前に残回転量Srが総回転量S0の1/2になった場合(図3のステップS4及びS5の判断がいずれもYESの場合)の、主軸12の切削動作の一例、及び、逆回転の現在速度Vc′が最高戻り回転速度V0′に到達する前に残戻り回転量Sr′が総戻り回転量S0′の1/2になった場合(図4のステップS14及びS15の判断がいずれもYESの場合)の、主軸12の戻り動作の一例が、速度−時間曲線で示されている。また図8を参照すると、残回転量Srが総回転量S0の1/2になる前に現在速度Vcが最高回転速度V0に到達した場合(図3のステップS4の判断がNOの場合)の、主軸12の切削動作の一例、及び、残戻り回転量Sr′が総戻り回転量S0′の1/2になる前に逆回転の現在速度Vc′が最高戻り回転速度V0′に到達した場合(図4のステップS14の判断がNOの場合)の、主軸12の戻り動作の一例が、速度−時間曲線で示されている。図7及び図8に示す時間T1、T2、T4〜T7、T9及びT10における主軸の動作は、それぞれ、図5及び図6に示す時間T1、T2、T4〜T7、T9及びT10における主軸の動作と同様である。
図7及び図8に示す時間T3では、主軸制御部18(減速動作制御部52)は、点Aから中間速度Vbを目標値とする速度制御により、主軸12を、駆動源の許容電流を最大限に利用した最大能力で減速回転させる。最大能力での減速回転中は、主軸モータ12Mの特性により、主軸12の減速度が漸増する。ここで、主軸12の加速に必要なトルク(以下、加速トルク)と減速に必要なトルク(以下、減速トルク)とは互いに等しいものとする。一般に、主軸12の回転中は機械構造上の負荷(抵抗)が発生し、加速トルクは減速トルクよりも大きくなるので、加速トルクと減速トルクとが等しい場合には、同じ速度変化で比較すると最大能力での加速時間が最大能力での減速時間よりも長くなる。したがって主軸12は、点Aから減速した後に時間T2よりも短い時間で中間速度Vbに到達し、このときの位置|Sr|は
|Sr|>Vc2/(2×|Apos|)
であって、その後に一定の中間速度Vbで極小時間だけ回転することにより、
|Sr|=Vb2/(2×|Apos|)
の点Bに到達する(図7、図8)。
同様に、図7及び図8に示す時間T8では、主軸制御部18(減速動作制御部52)は、点Cから中間戻り速度Vb′を目標値とする速度制御により、主軸12を、駆動源の許容電流を最大限に利用した最大能力で減速逆回転させる。最大能力での減速逆回転中は、主軸モータ12Mの特性により、主軸12の逆回転の減速度が漸増する。前述した点B直前の動作と同様に、主軸12は、点Cから減速した後に時間T7よりも短い時間で中間戻り速度Vb′に到達し、このときの位置|Sr′|は
|Sr′|>Vc′2/(2×|Apos′|)
であって、その後に一定の中間戻り速度Vb′で極小時間だけ回転することにより、
|Sr′|=Vb′2/(2×|Apos′|)
の点Dに到達する(図7、図8)。
上記したように、制御装置50は、主軸12に目標ねじ深さ(始動位置)から戻り完了位置(目標位置)までの戻り動作(回転動作)を行わせる際に、数値制御部16が主軸制御部18に対して、主軸12の総戻り回転量S0′と最高戻り回転速度V0′のみを主軸指令CSとして通知し、主軸制御部18がこの主軸指令CSに従い、最高戻り回転速度V0′を目標に許容電流を最大限に使用した最大出力で主軸12を加速逆回転させて戻り動作を実行するとともに、最大加速中に検出した逆回転の最大加速度A0′と逐次検出する主軸12の残戻り回転量Sr′及び現在速度Vc′とに基づき、主軸12を減速回転させながら戻り完了位置までの戻り動作を継続実行して戻り完了位置に到達させるように構成されている。したがって制御装置50によれば、数値制御部12に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することが可能になる。
しかも制御装置50では、加速後に主軸12を位置制御により減速させて戻り完了位置に到達させる間、駆動源(主軸モータ12M)の機械損を考慮して、最大加速度A0′に対応する減速度よりも大きい逆回転の位置決め減速度Apos′(A0′<|Apos′|≦|Amax′|)で主軸12を減速逆回転させるようにしたから、上記したタップ加工のサイクルタイムの短縮効果を向上させることができる。
図2〜図8に示す実施形態の構成は、主軸12の最高回転速度V0が主軸モータ12Mの基底速度(すなわち中間速度Vb)よりも大きいことを前提としたものである。これに対し、工作機械の構成によっては、主軸12の最高回転速度V0が主軸モータ12Mの基底速度(Vb)よりも小さくなる場合がある。この場合は、図5〜図8の動作例における時間T2及びT3が無くなり、主軸12は、加工開始位置から目標ねじ深さに至るまでの間、一定の加速度及び減速度で動作する。図1に示す制御装置10は、工作機械制御方法の一実施形態として、主軸12の最高回転速度V0が主軸モータ12Mの基底速度(Vb)よりも小さい場合の、主軸12の切削動作及び戻り動作を制御することができる。この工作機械制御方法は、図3のフローチャートにおけるステップS6及びS7、並びに図4のフローチャートにおけるステップS16及びS17を省略したものとなる。以下、図9及び図10を図1及び図3と共に参照して、制御装置10が実行する主軸12の切削動作の二つの異なる例を説明する。
図9は、現在速度Vcが最高回転速度V0(<Vb)に到達する前に残回転量Srが総回転量S0の1/2になった場合(図3のステップS4及びS5の判断がいずれもYESの場合)の、主軸12の切削動作を、速度−時間曲線で示す。図示のように、主軸12は、図5における時間T1及びT4の動作に対応する動作のみを実行する。すなわち主軸12は、時間T1において最高回転速度V0を目標値として最大加速度A0により加速回転し、SrがS0の1/2になった時点Aで加速から減速に転じ、時間T4において点Aから目標ねじ深さ(残回転量Sr=0)まで位置決め減速度Aposにより減速回転する。主軸12が減速回転する間、主軸制御部18(位置決め動作制御部38)(図1)は主軸12の位置制御のみを実行する。
図10は、残回転量Srが総回転量S0の1/2になる前に現在速度Vcが最高回転速度V0(<Vb)に到達した場合(図3のステップS3の判断がNOになった場合)の、主軸12の切削動作を、速度−時間曲線で示す。図示のように、主軸12は、図6における時間T1、T5及びT4の動作に対応する動作のみを実行する。すなわち主軸12は、時間T1において最高回転速度V0を目標値として最大加速度A0により加速回転し、最高回転速度V0に到達した後に、時間T5において残回転量Srが加速時回転量Saに等しくなる点Aまで一定速度V0で回転し、時間T4において点Aから目標ねじ深さ(残回転量Sr=0)まで位置決め減速度Aposにより減速回転する。主軸12が定速及び減速回転する間、主軸制御部18(位置決め動作制御部38)(図1)は主軸12の位置制御のみを実行する。
図9及び図10のいずれの動作例においても、主軸制御部18が主軸12の加工開始位置から目標ねじ深さまでの回転動作(切削動作)を制御する間、送り軸制御部22(図1)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するようにフィードバック制御して送り動作を行わせる。なお制御装置10は、図9及び図10の切削動作に対応する手順で主軸12の戻り動作を制御でき、また送り軸14の逆送り動作を制御できる。
上記構成を有する制御装置10は、前述した制御装置50と同様に、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することができる。しかも制御装置10では、加速後に主軸12を位置制御により減速させて目標ねじ深さ(又は戻り完了位置)に到達させる間、駆動源(主軸モータ12M)の機械損を考慮して、最大加速度A0(又は逆回転の最大加速度A0′)に対応する減速度よりも大きい位置決め減速度Apos(A0<|Apos|≦|Amax|)(又は逆回転の位置決め減速度Apos′(A0′<|Apos′|≦|Amax′|))で主軸12を減速回転(又は減速逆回転)させるようにしたから、タップ加工のサイクルタイムの短縮効果を向上させることができる。
図1及び図2に示す制御装置10、50は、上記した工作機械制御方法とは異なる工作機械制御方法を実行できる。図11は、制御装置50が実行できる工作機械制御方法の第2の実施形態としての、タップ加工における主軸12の切削及び戻り動作制御方法を示す。また図12〜図15は、それぞれ図5〜図8に対応する図であって、図11の実施形態における主軸12の切削及び戻り動作の4つの例を示す。以下、図2〜図4、図11〜図15を参照して、第2の実施形態による工作機械制御方法(タップ加工の切削及び戻り動作制御方法)、並びに当該方法を実行する制御装置50の構成を説明する。
概説すると、図11〜図15の第2実施形態において、制御装置50は、主軸12を加工開始位置から目標ねじ深さに到達させるまでの間は、図3に示すタップ加工の切削動作制御方法と同様のステップを実行して、主軸12の切削動作を制御する。そして制御装置50の主軸制御部18(位置決め動作制御部38)は、主軸12を目標ねじ深さに到達させたときに、主軸12を目標ねじ深さで停止させることなく(つまり加速度を零にすることなく)、位置決め減速度Apos(負の値)に対応する逆回転の加速度Apos(負の値)で、主軸12を、目標ねじ深さよりも予め定めた回転数だけ戻った回転位置(以下、初期戻り位置)まで加速逆回転させるように構成される。主軸12を初期戻り位置まで加速逆回転させた後は、制御装置50は、図4に示すタップ加工の戻り動作制御方法と同様のステップを実行して、主軸12の戻り動作を制御する。この第2実施形態の構成を以下に詳述するが、図3及び図4のフローチャートの構成要素に対応する構成要素の説明は適宜省略する。
図11に示すように、制御装置50はまずステップU1で、図3に示すステップS1〜S7、S9、S10を実行する。すなわち、数値制御部16(主軸指令出力部26)は主軸制御部18に、主軸12の総回転量S0と最高回転速度V0とを指令する(ステップS1)。主軸制御部18(初期動作制御部30、最大加速度検出部32、残回転量検出部34)は、加工開始位置から、最高回転速度V0を目標速度として主軸12を最大能力で加速回転させて切削動作を実行し、その間の最大加速度A0及び残回転量Srを検出する(ステップS2)。次に主軸制御部18(位置決め動作制御部38)は、最大加速度A0に対応する減速度よりも大きい位置決め減速度Aposであって、最大減速度Amaxを上限とする位置決め減速度Aposを算出する(ステップS3)。次いで主軸制御部18(現在速度検出部36)は、最大能力での加速回転中に現在速度Vcを逐次検出し、現在速度Vcが最高回転速度V0に到達していないか否かを判断する(ステップS4)。VcがV0に到達していない場合、主軸制御部18(残回転量検出部34)は、残回転量Srが総回転量S0の1/2以下になっているか否かを判断し(ステップS5)、SrがS0の1/2以下になっている場合、主軸制御部18(減速動作制御部52)は、速度制御により主軸12を中間速度Vbまで減速回転させて切削動作を継続実行する(ステップS6)。他方、現在速度Vcが最高回転速度V0に到達していると判断(ステップS3)した場合、主軸制御部18(残回転量検出部34)は、最高回転速度V0に到達したときの主軸12の、加工開始位置からの回転量(つまり回転位置FBS)を、加速時回転量Saとして保存し(ステップS9)、残回転量Srが加速時回転量Sa以下になっているか否かを判断する(ステップS10)。SrがSa以下になっている場合、主軸制御部18(減速動作制御部52)は、速度制御により主軸12を中間速度Vbまで減速回転させて切削動作を継続実行する(ステップS6)。次いで主軸制御部18(位置決め動作制御部38)は、主軸12の現在位置における残回転量Srが、|Sr|=Vb2/(2×|Apos|)(式2)を満たしているか否かを判断する(ステップS7)。
ここで図12を参照すると、図11のステップU1において、切削動作中に現在速度Vcが最高回転速度V0に到達する前に残回転量Srが総回転量S0の1/2になった場合(図3のステップS4及びS5の判断がいずれもYESの場合)の、主軸12の切削動作の一例が、速度−時間曲線(時間軸の上側の曲線)で示されている。図12の速度−時間曲線における時間T1、T2、T3及びT4の主軸12の動作は、前述した図5の速度−時間曲線における時間T1、T2、T3及びT4の主軸12の動作に対応する。すなわち図12に示すように、時間T1及びT2で、主軸12の最大能力の加速回転(速度制御)が実行され、残回転量Srが総回転量S0の1/2になった時点A(図3のステップS5の判断がYESとなった時点)で、主軸12の動作は加速回転から減速回転に変わり、時間T3で、漸増する減速度Acでの主軸12の減速回転(速度制御)が実行され、時間T4で、位置決め減速度Aposでの主軸12の減速回転(位置制御)が実行される。
制御装置50がステップU1(図3のステップS1→S2→S3→S4→S5→S6→S7)を実行することにより、主軸12は、図12に示す時間T1、T2及びT3において、上記したように図5に示す時間T1、T2及びT3の動作と同様に動作する。主軸制御部18(位置決め動作制御部38)は、ステップU1(図3のステップS7)で、主軸12の残回転量Srが前述した式2を満たしている(つまり主軸12の回転位置が点Bに到達した)と判断したときに、図3のステップS8に代えて、図11のステップU2で、主軸12を位置決め減速度Aposで減速回転してSr=0の点(つまり目標ねじ深さ)に到達させた後も引き続き位置決め減速度Aposと同じ逆回転の加速度Aposで主軸12を初期戻り位置(図12の点E)まで加速逆回転させるための移動指令を作成し、この移動指令により主軸12を位置制御する。
再び図12を参照すると、主軸12は、主軸制御部18(位置決め動作制御部38)からの移動指令に従い、点Bから目標ねじ深さに向かって位置決め減速度Aposで減速回転しながら切削動作を遂行し、Sr=0になった時点で目標ねじ深さに到達する(時間T4)。目標ねじ深さに到達した瞬間、主軸12の現在速度Vcは零になるが、さらに主軸12は、主軸制御部18(位置決め動作制御部38)からの移動指令に従い、位置決め減速度Apos維持して逆回転の加速度Aposを生じ、現在速度Vc(負の値)を徐々に増加させる加速逆回転により、時間T6に渡って、目標ねじ深さから初期戻り位置(点E)に向かう戻り動作を遂行する。このように、点Bから目標ねじ深さに到達するまでの時間T4及び目標ねじ深さから点Eに到達するまでの時間T6において、主軸制御部18は主軸12を位置制御し(ステップU2)、主軸12を一定の加速度(すなわち位置決め減速度Apos及び逆回転の加速度Apos)で連続的に動作させる(移動指令から求められた定加速度状の速度指令を破線で例示する)。なお主軸12は、目標ねじ深さで現在速度Vcが零になるが、これは瞬時的なものであって、目標ねじ深さで停止するものではない。
主軸12の初期戻り位置(点E)は任意に設定できる。例えば図12に示すように、切削動作中に位置決め減速度Aposでの減速回転(位置制御)を開始した点Bと同様に、主軸12の逆回転の現在速度Vc′が中間戻り速度Vb′に達する位置を、点Eとすることができる。この場合の点Eは、目標ねじ深さから|Sr|=Vb2/(2×|Apos|)に相当する回転量だけ逆回転した位置となる。
他方、図13を参照すると、図11のステップU1において、切削動作中に残回転量Srが総回転量S0の1/2になる前に現在速度Vcが最高回転速度V0に到達した場合(図3のステップS4の判断がNOの場合)の、主軸12の切削動作の一例が、速度−時間曲線(時間軸の上側の曲線)で示されている。図13の速度−時間曲線における時間T1、T2、T5、T3及びT4の主軸12の動作は、前述した図6の速度−時間曲線における時間T1、T2、T5、T3及びT4の主軸12の動作に対応する。すなわち図13に示すように、時間T1及びT2で、主軸12の最大能力の加速回転(速度制御)が実行されて、主軸12の現在速度Vcが最高回転速度V0に到達し、その後、時間T5に渡り一定速度V0で主軸12が回転して切削動作を継続し、残回転量Srが加速時回転量Saに等しくなった時点A(図3のステップS10の判断がYESとなった時点)で、主軸12の動作は加速回転から減速回転に変わり、時間T3で、漸増する減速度Acでの主軸12の減速回転(速度制御)が実行され、時間T4で、位置決め減速度Aposでの主軸12の減速回転(位置制御)が実行される。
制御装置50がステップU1(図3のステップS1→S2→S3→S4→S9→S10→S6→S7)を実行することにより、主軸12は、図13に示す時間T1、T2、T5及びT3において、上記したように図6に示す時間T1、T2、T5及びT3の動作と同様に動作する。主軸制御部18(位置決め動作制御部38)は、ステップU1(図3のステップS7)で、主軸12の残回転量Srが前述した式2を満たしている(つまり主軸12の回転位置が点Bに到達した)と判断したときに、図3のステップS8に代えて、図11のステップU2で、主軸12を位置決め減速度Aposで減速回転してSr=0の点(つまり目標ねじ深さ)に到達させた後も引き続き位置決め減速度Aposと同じ逆回転の加速度Aposで主軸12を初期戻り位置(図13の点E)まで加速逆回転させるための移動指令を作成し、この移動指令により主軸12を位置制御する。図13の動作例における時間T4及びT6の主軸12の動作は、図12の動作例における時間T4及びT6の主軸12の動作と同様である。
図12及び図13のいずれの動作例においても、主軸制御部18が主軸12の加工開始位置から目標ねじ深さまでの回転動作を制御する間、送り軸制御部22は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して送り動作を行わせる。数値制御部16は、主軸制御部18が上記したステップU1及びステップU2の処理を実行する間、主軸制御部18から通知される残回転量Srを監視して、残回転量Srが第1の所定値(零に近い極小値)以下になったときに、タップ加工が目標ねじ深さに達したと判断する。そして数値制御部16(主軸指令出力部26)は、タップ加工が目標ねじ深さに達したと判断した後に、ステップU2と並行して、ステップU3(図11)で、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、目標ねじ深さから戻り完了位置に至る間の主軸12の総戻り回転量S0′と最高戻り回転速度V0′とを取得して、これら総戻り回転量S0′と最高戻り回転速度V0′とを主軸指令CSとして主軸制御部18に送る。
主軸12が初期戻り位置(点E)に到達した後、ステップU4(図11)で、主軸制御部18(初期動作制御部30)は、最高戻り回転速度V0′を目標速度として初期戻り位置(点E)から戻り完了位置に向かって主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速逆回転させて戻り動作を実行する。また主軸制御部18(残回転量検出部34)は、総戻り回転量S0′と回転位置FBSとに基づき、現在位置から戻り完了位置に至るまでの主軸12の残戻り回転量Sr′を逐次検出する。検出した残戻り回転量Sr′は、検出の都度、主軸制御部18が数値制御部16に通知する。この実施形態では、最大加速度検出部32は、時間T6の主軸12の逆回転の最大加速度を検出せず、時間T4の減速回転における位置決め減速度Aposを、主軸12が目標ねじ深さから加速逆回転する間の逆回転の最大加速度として取得する。
次に制御装置50は、ステップU5(図11)で、図4に示すステップS14〜S20を実行する。すなわち、主軸制御部18(現在速度検出部36)は、最大能力での加速逆回転中に回転位置FBSに基づき逆回転の現在速度Vc′を逐次検出し、現在速度Vc′が最高戻り回転速度V0′に到達していないか否かを判断する(ステップS14)。Vc′がV0′に到達していない場合、主軸制御部18は、残戻り回転量Sr′が総戻り回転量S0′の1/2以下になっているか否かを判断し(ステップS15)、Sr′がS0′の1/2以下になっている場合、主軸制御部18は、主軸12を中間戻り速度Vb′まで減速逆回転させて戻り動作を継続実行する(ステップS16)。他方、現在速度Vc′が最高戻り回転速度V0′に到達していると判断(ステップS14)した場合、主軸制御部18(残回転量検出部34)は、最高戻り回転速度V0′に到達したときの主軸12の、目標ねじ深さからの回転量(つまり回転位置FBS)を、戻り動作の加速時回転量Sa′として保存し(ステップS19)、残戻り回転量Sr′が加速時回転量Sa′以下になっているか否かを判断する(ステップS20)。Sr′がSa′以下になっている場合、主軸制御部18(減速動作制御部52)は、主軸12を中間戻り速度Vb′まで減速逆回転させて戻り動作を継続実行する(ステップS16)。
次に主軸制御部18(位置決め動作制御部38)は、主軸12の現在位置における残戻り回転量Sr′が、|Sr′|=Vb′2/(2×|Apos′|)(式4)を満たしているか否かを判断する(ステップS17)。式4を満たしている場合、主軸制御部18(位置決め動作制御部38)は、主軸12を位置決め減速度Apos′(時間T6における逆回転の加速度Aposに対応する値)で減速逆回転してSr′=0の点(つまり戻り完了位置)で停止させるための移動指令を作成し、この移動指令により主軸12を位置制御する(ステップS18)。主軸12は、主軸制御部18(位置決め動作制御部38)からの移動指令に従い、戻り完了位置に向かって最大減速度A0′で減速逆回転して戻り動作を実行し、Sr′=0になった時点で戻り完了位置に到達して停止する。
ここで図12を参照すると、図11のステップU5において、逆回転の現在速度Vc′が最高戻り回転速度V0′に到達する前に残戻り回転量Sr′が総戻り回転量S0′の1/2になった場合(図4のステップS14及びS15の判断がいずれもYESの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。図12の速度−時間曲線における時間T7、T8及びT9の主軸12の動作は、前述した図5の速度−時間曲線における時間T7、T8及びT9の主軸12の動作に対応する。図12の動作例では、主軸12は、時間T6で目標ねじ深さから初期戻り位置(点E)に到達した後に、逆回転の現在速度Vc′が中間戻り速度Vb′(負の値)を超えるので、最大能力での加速逆回転において、主軸モータ12Mの特性により、主軸12の逆回転の加速度が加速度Aposから漸減する(時間T7)。残戻り回転量Sr′が総戻り回転量S0′の1/2になった時点C(図4のステップS15の判断がYESとなった時点)で、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8で、漸増する減速度Ac′での主軸12の減速逆回転(速度制御)が実行され、時間T9で、位置決め減速度Apos′での主軸12の減速逆回転(位置制御)が実行される。
他方、図13を参照すると、図11のステップU5において、残戻り回転量Sr′が総戻り回転量S0′の1/2になる前に逆回転の現在速度Vc′が最高戻り回転速度V0′に到達した場合(図4のステップS14の判断がNOの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。図13の速度−時間曲線における時間T7、T10、T8及びT9の主軸12の動作は、前述した図6の速度−時間曲線における時間T7、T10、T8及びT9の主軸12の動作に対応する。図13の動作例では、主軸12が初期戻り位置(点E)に到達した後の時間T7で、図12の動作例と同様の漸減する加速度(≦Apos)による主軸12の最大能力の加速逆回転が実行され、主軸12の逆回転の現在速度Vc′が最高戻り回転速度V0′に到達する。その後、時間T10に渡り一定速度V0′で主軸12が逆回転して戻り動作を継続する。残戻り回転量Sr′が加速時回転量Sa′に等しくなった時点C(図4のステップS20の判断がYESとなった時点)で、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8で、漸増する減速度Ac′での主軸12の減速逆回転(速度制御)が実行され、時間T9で、位置決め減速度Apos′での主軸12の減速逆回転(位置制御)が実行される。
図12及び図13のいずれの動作例においても、主軸制御部18が主軸12の目標ねじ深さから戻り完了位置までの逆回転動作を制御する間、送り軸制御部22は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して逆送り動作を行わせる。数値制御部16は、主軸制御部18が上記したステップU3〜ステップU5の処理を実行する間、主軸制御部18から通知される残戻り回転量Sr′を監視して、残戻り回転量Sr′が第2の所定値(零に近い極小値)以下になったときに、戻り動作が完了して工具がワークから引き抜かれたと判断する。
図14及び図15は、前述した図7及び図8に示す動作例と同様に、点A(点C)から点B(点D)まで主軸12を最大能力で減速回転(減速逆回転)させる制御方法によって実現される主軸12の動作の二つの異なる例を示す。図14及び図15に示す時間T1、T2、T4〜T7、T9及びT10における主軸の動作は、それぞれ、図12及び図13に示す時間T1、T2、T4〜T7、T9及びT10における主軸の動作と同様である。図14及び図15に示す時間T3では、主軸12は、点Aから減速した後に時間T2よりも短い時間で中間速度Vbに到達し、その後に一定の中間速度Vbで極小時間だけ回転することにより点Bに到達する。同様に、図14及び図15に示す時間T8では、主軸12は、点Cから減速した後に時間T7よりも短い時間で中間戻り速度Vb′に到達し、その後に一定の中間戻り速度Vb′で極小時間だけ回転することにより点Dに到達する。
図11〜図15に示す実施形態においても、制御装置50は、図3〜図8を参照して説明した実施形態と同様に、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することができる。しかも、加速後に主軸12を位置制御により減速させて目標ねじ深さ(又は戻り完了位置)に到達させる間、駆動源(主軸モータ12M)の機械損を考慮して、最大加速度A0に対応する減速度よりも大きい位置決め減速度Apos(A0<|Apos|≦|Amax|)(又は逆回転の位置決め減速度Apos′(A0<|Apos′|≦|Amax′|))で主軸12を減速回転(又は減速逆回転)させるようにしたから、タップ加工のサイクルタイムの短縮効果を向上させることができる。
さらに、図11〜図15に示す実施形態では、制御装置50は、主軸12に目標ねじ深さから戻り完了位置までの戻り動作を行わせる際に、切削動作の終了時に主軸12を目標ねじ深さで停止させることなく(つまり加速度を零にすることなく)、位置決め減速度Aposと同じ逆回転の加速度Aposで、主軸12を所定の初期戻り位置まで位置制御で加速逆回転させるように構成されている。この構成により、主軸12の動作を切削動作から戻り動作に切り替えるときの加速度の変化が無くなるので、加速度の変化に起因して主軸12に生じ得る機械構造上の衝撃や、加速度の変化に起因して主軸12と送り軸14との間に生じ得る同期誤差の増加を、未然に回避することができる。
なお、図1に示す制御装置10は、主軸12を速度制御で減速(逆)回転させない点を除き、制御装置50が実行する上記した第2実施形態による工作機械制御方法と同様の制御方法を実行でき、また同等の効果を奏する。
上記した制御装置10、50の構成は、主軸12と送り軸14との同期運転を制御する工作機械の制御方法として記述できる。この制御方法は、制御装置10、50が、始動位置から目標位置に至る間の主軸12の総回転量S0(総戻り回転量S0′)と最高回転速度V0(最高戻り回転速度V0′)とをタップ加工プログラムPから取得するステップと、最高回転速度V0(最高戻り回転速度V0′)を目標値とする速度制御により始動位置から主軸12を、駆動源(主軸モータ12M)の許容電流を最大限に利用した最大能力で加速回転(加速逆回転)させるステップと、最大能力での加速回転(加速逆回転)中に主軸12の回転位置フィードバック値FBSに基づき主軸12の最大加速度A0(逆回転の最大加速度A0′)を検出するステップと、総回転量S0(総戻り回転量S0′)と回転位置フィードバック値FBSとに基づき、現在位置から目標位置に至るまでの主軸12の残回転量Sr(残戻り回転量Sr′)を検出するステップと、回転位置フィードバック値FBSに基づき主軸12の現在速度Vc(逆回転の現在速度Vc′)を検出するステップと、最大能力での加速回転(加速逆回転)の後に、最大加速度A0(逆回転の最大加速度A0′)と残回転量Sr(残戻り回転量Sr′)と現在速度Vc(逆回転の現在速度Vc′)とに基づき、位置制御により主軸12を減速回転(減速逆回転)させて目標位置に到達させるステップとを備え、主軸12を目標位置に到達させるステップが、最大加速度A0(逆回転の最大加速度A0′)に対応する減速度よりも大きい位置決め減速度Apos(逆回転の位置決め減速度Apos′)であって、主軸12を減速回転(減速逆回転)させる間の駆動源の機械損を補償し得る最大減速度Amax(逆回転の最大減速度Amax′)を上限とする位置決め減速度Apos(逆回転の位置決め減速度Apos′)で、主軸12を減速回転させるステップを有するものである。
上記制御方法によれば、前述した制御装置10、50の効果と同等の効果が奏される。