以下、添付図面を参照して本発明の実施の形態を説明する。全図面に渡り、対応する構成要素には共通の参照符号を付す。
図1は、第1の実施形態による工作機械の制御装置10の構成を機能ブロックで示す。制御装置10は、主軸12と送り軸14との同期運転によりタップ加工を行う工作機械(例えば旋盤、ボール盤、マシニングセンタ等)において、送り軸14が、タップ加工プログラムPで指定されるねじピッチを考慮しながら、主軸12の回転動作に追従するように動作する同期運転(いわゆるマスター・スレーブ同期方式)を制御するものである。図示しないが、主軸12は、ワークや工具を把持する把持部を加工に必要な速度で回転運動させる主軸モータ等の駆動装置に設定される制御軸である。図示しないが、送り軸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の駆動装置の動作位置を検出するエンコーダ等の位置検出器(図示せず)の出力から、回転位置FBSを取得することができる。
主軸制御部18は、主軸指令出力部26から送られた最高回転速度V0を目標値とする速度制御により始動位置から主軸12を最大能力で加速回転させる初期動作制御部30と、最大能力での加速回転の間に、回転位置FBSに基づき主軸12の予め定めた単位時間t毎の回転量Sdを検出する回転量検出部32と、検出した単位時間t毎の回転量Sdを記憶する回転量記憶部34と、主軸指令出力部26から送られた総回転量S0と回転位置FBSとに基づき、現在位置(回転位置)から目標位置に至るまでの主軸12の残回転量Srを検出する残回転量検出部36と、最大能力での加速回転の後に、回転量記憶部34に記憶した単位時間t毎の回転量Sdと残回転量検出部36が検出した残回転量Srとに基づき、主軸12を減速回転させて目標位置で停止させるための位置制御を実行する位置決め動作制御部38とを備える。
回転量Sdの検出時間である単位時間tは、例えば、初期動作制御部30が主軸12を停止状態から最高回転速度V0に到達させるに要することが想定される時間(つまり最大能力での加速回転の全時間)T0を、任意の除数で分割した時間として設定できる。例えば単位時間tは、T0の1/50以上とすることができ、またT0の1/10以下とすることができる。また単位時間tは、例えば主軸12の動作制御周期(一般に数ms)と同一とすることができる。単位時間tが短いほど、位置決め動作制御部38が実行する位置制御の位置決め精度を向上できる。単位時間tが長いほど、位置決め動作制御部38における指令値の計算負荷を緩和できるとともに、回転量記憶部34の記憶容量を削減できる。予め設定した単位時間tは、例えば制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できる。
制御装置10は、工作機械を用いたタップ加工において、ワークの下穴を工具で目標ねじ深さまで切削するための主軸12の回転動作(本願で切削動作と称する)を制御することができる。また制御装置10は、工作機械を用いたタップ加工において、ワークの下穴を目標ねじ深さまで切削加工した後に工具をワークから引き抜くための主軸12の回転動作(本願で戻り動作と称する)を制御することができる。切削動作の制御では、「始動位置」はタップ加工の「加工開始位置」に相当し、「目標位置」はタップ加工の「目標ねじ深さ」に相当する。また戻り動作の制御では、「始動位置」はタップ加工の「目標ねじ深さ」に相当し、「目標位置」はタップ加工の「戻り完了位置」に相当する。
図2は、制御装置10が実行する工作機械制御方法の第1の実施形態を示す。また図3及び図4は、図2の制御方法によって実現される主軸12の動作の二つの異なる例を示す。この実施形態による制御方法は、タップ加工における主軸12の切削動作と戻り動作との双方を制御できるものである。なお以下の説明では、理解を助けるため、切削動作の制御に関する用語として「総回転量」、「最高回転速度」、「加速回転」、「単位時間毎の回転量」、「残回転量」、「現在速度」及び「減速回転」を用いる一方、戻り動作の制御に関してはそれぞれに対応する実質同義の用語として「総戻り回転量」、「最高戻り回転速度」、「加速逆回転」、「単位時間毎の戻り回転量」、「残戻り回転量」、「逆回転の現在速度」及び「減速逆回転」を用いる。
まず、図2のフローチャートを図1と共に参照して、制御装置10が実行する主軸12の切削動作制御方法を説明する。ステップU1で、数値制御部16(主軸指令出力部26)は、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、加工開始位置(始動位置)から目標ねじ深さ(目標位置)に至る間の主軸12の総回転量S0と最高回転速度V0とを取得して、主軸制御部18に総回転量S0と最高回転速度V0とを指令する。ステップU2で、主軸制御部18(初期動作制御部30)は、最高回転速度V0を目標速度とする速度制御により、加工開始位置から主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速回転させて切削動作を実行する。ステップU3で、主軸制御部18(残回転量検出部36)は、加速回転中の現在位置からの残回転量Srを逐次検出する。検出した残回転量Srは、検出の都度、主軸制御部18が数値制御部16に通知する。ステップU4で、主軸制御部18(回転量検出部32、回転量記憶部34)は、最大能力での加速回転の間に、回転位置FBSに基づき主軸12の単位時間t毎の回転量Sdを逐次検出して記憶する。主軸制御部18は、ステップU2〜U4を同時並行処理できる。
次にステップU5で、主軸制御部18(位置決め動作制御部38)は、残回転量Srが総回転量S0の1/2以下になっているか否かを判断する。SrがS0の1/2以下になっている場合、ステップU6で、主軸制御部18(位置決め動作制御部38)は、単位時間t毎の回転量Sdと残回転量Srとに基づき、主軸12を減速回転させて切削動作を継続実行し、目標ねじ深さで停止させる。SrがS0の1/2以下になっていない場合はステップU4に戻る。
ここで図3を参照すると、主軸12の現在速度が最高回転速度V0に達する前に残回転量Srが総回転量S0の1/2になった場合(ステップU5の判断がYESの場合)の、主軸12の切削動作の一例が、速度−時間曲線(時間軸の上側の曲線)で示されている。図3において、Vbは、始動から速度Vbまでは一定トルクでの加速(つまり一定加速度)が可能な回転速度(例えば主軸モータの基底速度)として、主軸12に予め設定されたものであって、例えば制御装置10のメモリ(図示せず)に制御用パラメータの1つとして格納できるものである。なお実用上、速度Vbは、主軸モータの基底速度(主軸モータと主軸12との間に減速比が存在する場合は減速比を考慮した速度)以下であればよい。
ステップU2における主軸12の最大能力の加速回転(速度制御)は、図3の時間T1及びT2で実行される。時間T1は、加工開始位置での始動から速度Vbに達するまでの一定加速度(最大加速度)の時間であり、時間T2は、速度Vbを超えて主軸モータの特性により自動的に加速度が最大加速度から漸減する時間である。これら時間T1及びT2(つまり加速回転の全時間T0)で、ステップU4における主軸12の単位時間t毎の回転量Sdの検出及び記憶が実行される。単位時間tを速度制御の時間(T1+T2)の1/n(nは2以上の整数)とすると、回転量検出部32は、始動から単位時間t1経過時点までの回転量Sd1、単位時間t1経過時点から単位時間t2経過時点までの回転量Sd2、……、単位時間t(n−1)経過時点から単位時間tn経過時点までの回転量Sdnを逐次リアルタイムで検出する。回転量記憶部34には、回転量検出部32が検出した全ての回転量Sd1〜Sdnが、検出の都度格納される。回転量Sdの検出及び記憶は、残回転量Srが総回転量S0の1/2になる(つまり加工開始位置からの回転量が総回転量S0の1/2になる)まで行われる。この構成では、ΣSdi=Sd1+Sd2+……+Sdn=S0/2である。
残回転量Srが総回転量S0の1/2になった時点(ステップU5の判断がYESとなった時点)A(以下、中間点A)で、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速回転から減速回転に変わり、時間T3及びT4で、ステップU6における主軸12の減速回転が実行される。減速回転中も残回転量検出部36は、主軸12の現在位置からの残回転量Srを逐次検出する。
ステップU6において、位置決め動作制御部38は、逐次検出されている残回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の回転量Sd(つまりSd1〜Sdn)を残回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。具体的には、主軸12を、中間点A(つまりSr=S0/2)から単位時間t経過後にSr=(S0/2−Sdn)の位置に到達させる指令値、Sr=(S0/2−Sdn)の位置から単位時間t経過後にSr=(S0/2−Sdn−Sd(n−1))の位置に到達させる指令値、……、及びSr=(S0/2−Sdn−Sd(n−1)−……−Sd2)の位置から単位時間t経過後にSr=(S0/2−Sdn−Sd(n−1)−……−Sd2−Sd1)=0の位置(すなわち目標ねじ深さ)に到達させる指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、中間点Aから目標ねじ深さに向かって減速回転する。図3から理解されるように、時間T3は、漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T4は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、目標ねじ深さ(Sr=0)に到達したときに回転を停止する。
図2に示す工作機械制御方法は、主軸12を始動位置から目標位置まで動作させる間に、速度制御においては駆動源の最大能力で主軸12を加速回転させ、位置制御においては速度制御中に取得した単位時間t毎の回転量Sdを用いて主軸12を減速回転させるように構成されているから、速度制御ループの実行中を除いて主軸12の現在速度を監視する必要が無いものである。この構成において、残回転量Srが総回転量S0の1/2になる前に主軸12の現在速度が最高回転速度V0に達した場合の主軸12の動作例を、図4を参照して説明する。
図4は、主軸12が中間点Aに到達する前に主軸12の現在速度が最高回転速度V0に達した場合の、主軸12の切削動作の一例を、速度−時間曲線(時間軸の上側の曲線)で示す。図2のステップU2における主軸12の最大能力の加速回転(速度制御)は、図4の時間T1及びT2で実行される。時間T1では、主軸12は加工開始位置での始動から速度Vbに達するまで一定加速度(最大加速度)で加速し、時間T2では、速度Vbを超えて主軸モータの特性により加速度が最大加速度から漸減する。時間T2において、主軸12が中間点Aに到達する前に速度制御ループによって主軸12の現在速度が最高回転速度V0に達すると、それ以降、主軸12は、中間点Aに到達するまでの時間T5に渡り一定速度V0(つまり加速度零)で回転して切削動作を継続する。図2のステップU4における主軸12の単位時間t毎の回転量Sdの検出及び記憶は、時間T1及びT2(つまり加速回転の全時間T0)並びに時間T5で実行される。速度制御の時間T1、T2及びT5の間に、図3の動作例と同様に、回転量検出部32が検出した全ての回転量Sd1〜Sdnが回転量記憶部34に格納される。回転量Sdの検出及び記憶は、残回転量Srが総回転量S0の1/2になるまで行われる。この構成では、ΣSdi=Sd1+Sd2+……+Sdn=S0/2である。
残回転量Srが総回転量S0の1/2になった時点A(中間点A)で、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速回転から減速回転に変わり、時間T3及びT4で、図2のステップU6における主軸12の減速回転が実行される。ステップU6では、図3の動作例と同様に、位置決め動作制御部38が、逐次検出されている残回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の回転量Sd(つまりSd1〜Sdn)を残回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、中間点Aから目標ねじ深さに向かって減速回転する。図4から理解されるように、時間T3は、最高回転速度V0での定速回転を経て漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T4は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、目標ねじ深さ(Sr=0)に到達したときに回転を停止する。
図3及び図4のいずれの動作例においても、主軸制御部18が主軸12の加工開始位置から目標ねじ深さまでの回転動作(切削動作)を制御する間、送り軸制御部22(図1)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して送り動作を行わせる。数値制御部16は、主軸制御部18がステップU2〜ステップU6の処理を実行する間、主軸制御部18から通知される残回転量Srを監視して、残回転量Srが第1の所定値(零に近い極小値)以下になったときに、タップ加工が目標ねじ深さに達したと判断する。
上記したように、制御装置10は、主軸12に加工開始位置から目標ねじ深さまでの切削動作を行わせる際に、数値制御部16が主軸制御部18に対して、主軸12の総回転量S0と最高回転速度V0のみを主軸指令CSとして通知し、主軸制御部18がこの主軸指令CSに従い、最高回転速度V0を目標に許容電流を最大限に使用した最大出力で主軸12を加速させて切削動作を実行するとともに、その間に記憶した主軸12の単位時間t毎の回転量Sdと逐次検出する主軸12の残回転量Srとに基づき、主軸12を減速回転させながら目標ねじ深さまでの切削動作を継続実行して目標ねじ深さで停止させるように構成されている。したがって制御装置10によれば、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することが可能になる。
しかも制御装置10によれば、主軸制御部18は、最大出力での加速回転中に記憶した主軸12の単位時間t毎の回転量Sdを用いて、減速回転のための位置制御の指令値を作成できるので、位置制御を容易かつ迅速に実行して主軸12を目標ねじ深さで停止させることができる。
図1及び図2に示す実施形態において、制御装置10は、主軸12の前述した戻り動作に際し、加工開始位置から目標ねじ深さまでの上記した切削動作制御と同様の制御を行うことができる。図3及び図4は、上記した主軸12の切削動作に加えて、同切削動作に対応する主軸12の戻り動作を、速度−時間曲線(時間軸の下側の曲線)で示している。以下、図1〜図4を参照して、制御装置10が実行する主軸12の戻り動作制御方法を説明する。
数値制御部16(主軸指令出力部26)は、タップ加工が目標ねじ深さに達したと判断した後に、ステップU1で、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、目標ねじ深さ(始動位置)から戻り完了位置(目標位置)に至る間の主軸12の総戻り回転量S0と最高戻り回転速度V0とを取得して、主軸制御部18に総戻り回転量S0と最高戻り回転速度V0とを指令する。戻り動作の主軸指令CSも、主軸12を戻り完了位置まで回転運動させるための位置指令や加減速指令を含まないものである。次にステップU2で、主軸制御部18(初期動作制御部30)は、最高戻り回転速度V0を目標速度とする速度制御により、目標ねじ深さから主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速逆回転させて戻り動作を実行する。ステップU3で、主軸制御部18(残回転量検出部36)は、加速逆回転中の現在位置からの残戻り回転量Srを逐次検出する。検出した残戻り回転量Srは、検出の都度、主軸制御部18が数値制御部16に通知する。ステップU4で、主軸制御部18(回転量検出部32、回転量記憶部34)は、最大能力での加速逆回転の間に、回転位置FBSに基づき主軸12の単位時間t毎の戻り回転量Sdを逐次検出して記憶する。主軸制御部18は、ステップU2〜U4を同時並行処理できる。
次にステップU5で、主軸制御部18は、残戻り回転量Srが総戻り回転量S0の1/2以下になっているか否かを判断する。SrがS0の1/2以下になっている場合、ステップU6で、主軸制御部18(位置決め動作制御部38)は、単位時間t毎の戻り回転量Sdと残戻り回転量Srとに基づき、主軸12を減速逆回転させて戻り動作を継続実行し、戻り完了位置で停止させる。SrがS0の1/2以下になっていない場合はステップU4に戻る。
図3を参照すると、主軸12の逆回転の現在速度が最高戻り回転速度V0に達する前に残戻り回転量Srが総戻り回転量S0の1/2になった場合(ステップU5の判断がYESの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。ステップU2における主軸12の最大能力の加速逆回転(速度制御)は、図3の時間T6及びT7で実行される。時間T6は、目標ねじ深さでの始動から速度Vbに達するまでの一定加速度(最大加速度)の時間であり、時間T7は、速度Vbを超えて主軸モータの特性により自動的に加速度が最大加速度から漸減する時間である。これら時間T6及びT7(つまり加速回転の全時間T0)で、前述した切削動作の時間T1及びT2における処理と同様にして、ステップU4における主軸12の単位時間t毎の戻り回転量Sdの検出及び記憶が実行され、回転量検出部32が検出した全ての戻り回転量Sd1〜Sdnが回転量記憶部34に格納される。戻り回転量Sdの検出及び記憶は、残戻り回転量Srが総戻り回転量S0の1/2になる(つまり目標ねじ深さからの戻り回転量が総戻り回転量S0の1/2になる)まで行われる。この構成では、ΣSdi=Sd1+Sd2+……+Sdn=S0/2である。
残戻り回転量Srが総戻り回転量S0の1/2になった時点(ステップU5の判断がYESとなった時点)A(中間点A)で、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8及びT9で、ステップU6における主軸12の減速逆回転が実行される。減速逆回転中も残回転量検出部36は、主軸12の現在位置からの残戻り回転量Srを逐次検出する。
ステップU6において、位置決め動作制御部38は、前述した切削動作の時間T3及びT4における処理と同様にして、逐次検出されている残戻り回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の戻り回転量Sd(つまりSd1〜Sdn)を残戻り回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速逆回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、中間点Aから戻り完了位置に向かって減速逆回転する。図3から理解されるように、時間T8は、漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T9は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、戻り完了位置(Sr=0)に到達したときに回転を停止する。
図4を参照すると、主軸12が中間点Aに到達する前に主軸12の逆回転の現在速度が最高戻り回転速度V0に達した場合の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。図2のステップU2における主軸12の最大能力の加速逆回転(速度制御)は、図4の時間T6及びT7で実行される。時間T6では、主軸12は目標ねじ深さでの始動から速度Vbに達するまで一定加速度(最大加速度)で加速し、時間T7では、速度Vbを超えて主軸モータの特性により加速度が最大加速度から漸減する。時間T7において、主軸12が中間点Aに到達する前に速度制御ループによって主軸12の逆回転の現在速度が最高戻り回転速度V0に達すると、それ以降、主軸12は、中間点Aに到達するまでの時間T10に渡り一定速度V0(つまり加速度零)で回転して戻り動作を継続する。図2のステップU4における主軸12の単位時間t毎の戻り回転量Sdの検出及び記憶は、時間T6及びT7(つまり加速回転の全時間T0)並びに時間T10で実行される。速度制御の時間T6、T7及びT10の間に、図3の動作例と同様に、回転量検出部32が検出した全ての戻り回転量Sd1〜Sdnが回転量記憶部34に格納される。戻り回転量Sdの検出及び記憶は、残戻り回転量Srが総戻り回転量S0の1/2になるまで行われる。この構成では、ΣSdi=Sd1+Sd2+……+Sdn=S0/2である。
残戻り回転量Srが総戻り回転量S0の1/2になった時点A(中間点A)で、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8及びT9で、図2のステップU6における主軸12の減速逆回転が実行される。ステップU6では、図3の動作例と同様に、位置決め動作制御部38が、逐次検出されている残戻り回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の戻り回転量Sd(つまりSd1〜Sdn)を残戻り回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速逆回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、中間点Aから戻り完了位置に向かって減速逆回転する。図4から理解されるように、時間T8は、最高戻り回転速度V0での定速回転を経て漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T9は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、戻り完了位置(Sr=0)に到達したときに回転を停止する。
図3及び図4のいずれの動作例においても、主軸制御部18が主軸12の目標ねじ深さから戻り完了位置までの逆回転動作(戻り動作)を制御する間、送り軸制御部22(図1)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して逆送り動作を行わせる。数値制御部16は、主軸制御部18がステップU2〜ステップU6の処理を実行する間、主軸制御部18から通知される残戻り回転量Srを監視して、残戻り回転量Srが第2の所定値(零に近い極小値)以下になったときに、戻り動作が完了して工具がワークから引き抜かれたと判断する。
上記したように、制御装置10は、主軸12に目標ねじ深さから戻り完了位置までの戻り動作を行わせる際に、数値制御部16が主軸制御部18に対して、主軸12の総戻り回転量S0と最高戻り回転速度V0のみを主軸指令CSとして通知し、主軸制御部18がこの主軸指令CSに従い、最高戻り回転速度V0を目標に許容電流を最大限に使用した最大出力で主軸12を加速させて戻り動作を実行するとともに、その間に記憶した主軸12の単位時間t毎の戻り回転量Sdと逐次検出する主軸12の残戻り回転量Srとに基づき、主軸12を減速逆回転させながら戻り完了位置までの戻り動作を継続実行して戻り完了位置で停止させるように構成されている。したがって制御装置10によれば、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することが可能になる。
しかも制御装置10によれば、主軸制御部18は、最大出力での加速逆回転中に記憶した主軸12の単位時間t毎の戻り回転量Sdを用いて、減速逆回転のための位置制御の指令値を作成できるので、位置制御を容易かつ迅速に実行して主軸12を戻り完了位置で停止させることができる。
図5は、第2の実施形態による工作機械の制御装置40の構成を機能ブロックで示す。制御装置40は、速度制御ループの実行中に限らず主軸12の現在速度を監視する構成を有する点を除いて、図1に示す制御装置10と同様の構成を有する。対応する構成要素には共通する参照符号を付して、その詳細な説明を適宜省略する。
制御装置40は、数値制御部16と、主軸制御部18と、回転検出部20と、送り軸制御部22とを備える。主軸制御部18は、初期動作制御部30と、回転量検出部32と、回転量記憶部34と、残回転量検出部36と、位置決め動作制御部38とを備える。主軸制御部18はさらに、回転位置FBSに基づき主軸12の現在速度Vcを検出する現在速度検出部42を備える。位置決め動作制御部38は、単位時間t毎の回転量Sdと残回転量Srと現在速度Vcとに基づき、主軸12を減速回転させて目標位置で停止させるための位置制御を実行する。
制御装置40は、制御装置10と同様に、主軸12の切削動作と戻り動作との双方を制御することができる。図6は、制御装置40が実行する工作機械制御方法の第2の実施形態を示す。また図7は、図6の制御方法によって実現される主軸12の動作の一例を示す。以下、図5〜図7を参照して、制御装置40が実行する主軸12の切削動作及び戻り動作の制御方法を説明する。
まず、図6のフローチャートを図5と共に参照して、制御装置40が実行する主軸12の切削動作制御方法を説明する。ステップQ1で、数値制御部16(主軸指令出力部26)は、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、加工開始位置(始動位置)から目標ねじ深さ(目標位置)に至る間の主軸12の総回転量S0と最高回転速度V0とを取得して、主軸制御部18に総回転量S0と最高回転速度V0とを指令する。ステップQ2で、主軸制御部18(初期動作制御部30)は、最高回転速度V0を目標速度とする速度制御により、加工開始位置から主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速回転させて切削動作を実行する。ステップQ3で、主軸制御部18(残回転量検出部36、現在速度検出部42)は、加速回転中の現在位置からの残回転量Sr及び現在速度Vcを逐次検出する。検出した残回転量Srは、検出の都度、主軸制御部18が数値制御部16に通知する。ステップQ4で、主軸制御部18(回転量検出部32、回転量記憶部34)は、最大能力での加速回転の間に、回転位置FBSに基づき主軸12の単位時間t毎の回転量Sdを逐次検出して記憶する。主軸制御部18は、ステップQ2〜Q4を同時並行処理できる。
次にステップQ5で、主軸制御部18(位置決め動作制御部38)は、加速回転中の現在速度Vcが最高回転速度V0に達しているか否かを判断する。VcがV0に達していない場合、ステップQ6で、主軸制御部18(位置決め動作制御部38)は、残回転量Srが総回転量S0の1/2以下になっているか否かを判断する。SrがS0の1/2以下になっている場合、ステップQ7で、主軸制御部18(位置決め動作制御部38)は、単位時間t毎の回転量Sdと残回転量Srとに基づき、主軸12を減速回転させて切削動作を継続実行し、目標ねじ深さで停止させる。SrがS0の1/2以下になっていない場合はステップQ4に戻る。
ステップQ5で加速回転中の現在速度Vcが最高回転速度V0に達していないと判断し、ステップQ6で残回転量Srが総回転量S0の1/2以下になっていると判断した場合、上記したステップQ1〜Q7の処理は、現在速度Vcに関連する処理を除き、図2のステップU1〜U6の処理と実質的に同一となる。したがってこの場合、主軸12は、前述した図3に示す切削動作と同様の切削動作を遂行することができる。
これに対し、ステップQ5で加速回転中の現在速度Vcが最高回転速度V0に達していると判断した場合、主軸制御部18は、ステップQ6の判断を行う代わりに、ステップQ8で、主軸12の現在位置からの残回転量Srが、現在速度Vcが最高回転速度V0に達した時点までに検出かつ記憶した単位時間t毎の回転量Sdの総和ΣSdi(つまりSd1+Sd2+……+Sdn)以下になっているか否かを判断する。SrがΣSdi以下になっている場合は、ステップQ7に進み、主軸制御部18(位置決め動作制御部38)が主軸12を減速回転させて目標ねじ深さで停止させる。SrがΣSdi以下になっていない場合は、SrがΣSdi以下になるまでステップQ8の判断を繰り返す。ステップQ8の判断を行う間に、主軸12は中間点Aを通過することになる。
図7は、現在速度Vcが最高回転速度V0に達した後に主軸12が中間点Aを通過する場合(ステップQ5の判断がYESの場合)の、主軸12の切削動作の一例を、速度−時間曲線(時間軸の上側の曲線)で示す。図6のステップQ2における主軸12の最大能力の加速回転(速度制御)は、図7の時間T1及びT2で実行される。時間T1では、主軸12は加工開始位置での始動から速度Vbに達するまで一定加速度(最大加速度)で加速し、時間T2では、速度Vbを超えて主軸モータの特性により加速度が最大加速度から漸減する。図6のステップQ4における主軸12の単位時間t毎の回転量Sdの検出及び記憶は、時間T1及びT2(つまり加速回転の全時間T0)で実行される。速度制御の時間T1及びT2の間に、図3の動作例と同様に、回転量検出部32が検出した全ての回転量Sd1〜Sdnが回転量記憶部34に格納される。
時間T2において、主軸12の現在速度Vcが最高回転速度V0に達すると、前述したように主軸制御部18の処理はステップQ5からステップQ8に進むので、主軸12が中間点Aに到達したか否かが判断されずに(したがってステップQ4の回転量Sdの検出及び記憶がそれ以降は行われずに)、主軸12は時間T11に渡り一定速度V0(つまり加速度零)で回転して切削動作を継続する。時間T11は、主軸12の現在速度Vcが最高回転速度V0に達した時点から、主軸12の残回転量Srが加速回転中に記憶した単位時間t毎の回転量Sdの総和ΣSdiに等しくなるまでの時間に相当する。時間T11では、主軸12は、初期動作制御部30が実行する速度制御の下で切削動作する。この構成では、ΣSdi=Sd1+Sd2+……+Sdn≠S0/2である。
残回転量Srが回転量Sdの総和ΣSdiに等しくなった時点Bで、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速回転から減速回転に変わり、時間T3及びT4で、図6のステップQ7における主軸12の減速回転が実行される。ステップQ7では、図3の動作例と同様に、位置決め動作制御部38が、逐次検出されている残回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の回転量Sd(つまりSd1〜Sdn)を残回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、点Bから目標ねじ深さに向かって減速回転する。図7から理解されるように、時間T3は、漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T4は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、目標ねじ深さ(Sr=0)に到達したときに回転を停止する。
図7の動作例において、主軸制御部18が主軸12の加工開始位置から目標ねじ深さまでの回転動作(切削動作)を制御する間、送り軸制御部22(図5)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して送り動作を行わせる。数値制御部16は、主軸制御部18がステップQ2〜ステップQ8の処理を実行する間、主軸制御部18から通知される残回転量Srを監視して、残回転量Srが第1の所定値(零に近い極小値)以下になったときに、タップ加工が目標ねじ深さに達したと判断する。
図5及び図6に示す実施形態において、制御装置40は、主軸12の戻り動作に際し、加工開始位置から目標ねじ深さまでの上記した切削動作制御と同様の制御を行うことができる。図7は、上記した主軸12の切削動作に加えて、同切削動作に対応する主軸12の戻り動作を、速度−時間曲線(時間軸の下側の曲線)で示している。以下、図5〜図7を参照して、制御装置10が実行する主軸12の戻り動作制御方法を説明する。
数値制御部16(主軸指令出力部26)は、タップ加工が目標ねじ深さに達したと判断した後に、ステップQ1で、プログラム解釈部24が解釈したタップ加工プログラムPの指令値から、目標ねじ深さ(始動位置)から戻り完了位置(目標位置)に至る間の主軸12の総戻り回転量S0と最高戻り回転速度V0とを取得して、主軸制御部18に総戻り回転量S0と最高戻り回転速度V0とを指令する。戻り動作の主軸指令CSも、主軸12を戻り完了位置まで回転運動させるための位置指令や加減速指令を含まないものである。次にステップQ2で、主軸制御部18(初期動作制御部30)は、最高戻り回転速度V0を目標速度とする速度制御により、目標ねじ深さから主軸12を、駆動源の許容電流を最大限に利用した最大能力で加速逆回転させて戻り動作を実行する。ステップQ3で、主軸制御部18(残回転量検出部36、現在速度検出部42)は、加速逆回転中の現在位置からの残回転量Sr及び現在速度Vcを逐次検出する。検出した残戻り回転量Srは、検出の都度、主軸制御部18が数値制御部16に通知する。ステップQ4で、主軸制御部18(回転量検出部32、回転量記憶部34)は、最大能力での加速逆回転の間に、回転位置FBSに基づき主軸12の単位時間t毎の戻り回転量Sdを逐次検出して記憶する。主軸制御部18は、ステップQ2〜Q4を同時並行処理できる。
次にステップQ5で、主軸制御部18(位置決め動作制御部38)は、加速逆回転中の現在速度Vcが最高戻り回転速度V0に達しているか否かを判断する。VcがV0に達していない場合、ステップQ6で、主軸制御部18(位置決め動作制御部38)は、残戻り回転量Srが総戻り回転量S0の1/2以下になっているか否かを判断する。SrがS0の1/2以下になっている場合、ステップQ7で、主軸制御部18(位置決め動作制御部38)は、単位時間t毎の戻り回転量Sdと残戻り回転量Srとに基づき、主軸12を減速逆回転させて戻り動作を継続実行し、戻り完了位置で停止させる。SrがS0の1/2以下になっていない場合はステップQ4に戻る。
ステップQ5で加速逆回転中の現在速度Vcが最高戻り回転速度V0に達していないと判断し、ステップQ6で残戻り回転量Srが総戻り回転量S0の1/2以下になっていると判断した場合、上記したステップQ1〜Q7の処理は、現在速度Vcに関連する処理を除き、図2のステップU1〜U6の処理と実質的に同一となる。したがってこの場合、主軸12は、前述した図3に示す戻り動作と同様の戻り動作を遂行することができる。
これに対し、ステップQ5で加速逆回転中の現在速度Vcが最高戻り回転速度V0に達していると判断した場合、主軸制御部18は、ステップQ6の判断を行う代わりに、ステップQ8で、主軸12の現在位置からの残戻り回転量Srが、逆回転の現在速度Vcが最高戻り回転速度V0に達した時点までに検出かつ記憶した単位時間t毎の戻り回転量Sdの総和ΣSdi(つまりSd1+Sd2+……+Sdn)以下になっているか否かを判断する。SrがΣSdi以下になっている場合は、ステップQ7に進み、主軸制御部18(位置決め動作制御部38)が主軸12を減速逆回転させて戻り完了位置で停止させる。SrがΣSdi以下になっていない場合は、SrがΣSdi以下になるまでステップQ8の判断を繰り返す。ステップQ8の判断を行う間に、主軸12は中間点Aを通過することになる。
図7を参照すると、逆回転の現在速度Vcが最高戻り回転速度V0に達した後に主軸12が中間点Aを通過する場合(ステップQ5の判断がYESの場合)の、主軸12の戻り動作の一例が、速度−時間曲線(時間軸の下側の曲線)で示されている。図6のステップQ2における主軸12の最大能力の加速逆回転(速度制御)は、図7の時間T6及びT7で実行される。時間T6では、主軸12は目標ねじ深さでの始動から速度Vbに達するまで一定加速度(最大加速度)で加速し、時間T7では、速度Vbを超えて主軸モータの特性により加速度が最大加速度から漸減する。図6のステップQ4における主軸12の単位時間t毎の戻り回転量Sdの検出及び記憶は、時間T6及びT7(つまり加速逆回転の全時間T0)で実行される。速度制御の時間T6及びT7の間に、図3の動作例と同様に、回転量検出部32が検出した全ての回転量Sd1〜Sdnが回転量記憶部34に格納される。
時間T7において、主軸12の逆回転の現在速度Vcが最高戻り回転速度V0に達すると、前述したように主軸制御部18の処理はステップQ5からステップQ8に進むので、主軸12が中間点Aに到達したか否かが判断されずに(したがってステップQ4の戻り回転量Sdの検出及び記憶がそれ以降は行われずに)、主軸12は時間T12に渡り一定速度V0(つまり加速度零)で回転して戻り動作を継続する。時間T12は、主軸12の逆回転の現在速度Vcが最高戻り回転速度V0に達した時点から、主軸12の残戻り回転量Srが加速逆回転中に記憶した単位時間t毎の戻り回転量Sdの総和ΣSdiに等しくなるまでの時間に相当する。時間T12では、主軸12は、初期動作制御部30が実行する速度制御の下で戻り動作する。この構成では、ΣSdi=Sd1+Sd2+……+Sdn≠S0/2である。
残戻り回転量Srが戻り回転量Sdの総和ΣSdiに等しくなった時点Bで、初期動作制御部30による主軸12の速度制御が終了し、位置決め動作制御部38が主軸12の位置制御を開始する。速度制御から位置制御への切り替えに伴い、主軸12の動作は加速逆回転から減速逆回転に変わり、時間T8及びT9で、図6のステップQ7における主軸12の減速逆回転が実行される。ステップQ7では、図3の動作例と同様に、位置決め動作制御部38が、逐次検出されている残戻り回転量Srを監視し、速度制御の間に記憶した主軸12の単位時間t毎の戻り回転量Sd(つまりSd1〜Sdn)を残戻り回転量Srと対応させて、現在位置から単位時間t経過後の位置を表す位置制御の指令値を作成する。主軸12は、こうして作成された位置制御の指令値に従って動作することで、中間点A到達時を境に加速逆回転中の速度−時間曲線を反転した速度−時間曲線で表される負の加速度を生じながら、点Bから戻り完了位置に向かって減速逆回転する。図7から理解されるように、時間T8は、最高戻り回転速度V0での定速回転を経て漸増する負の加速度で速度Vbまで減速する時間に相当し、時間T9は、速度Vbから一定加速度(負の最大加速度)で速度零に至るまでの時間に相当する。位置決め動作制御部38によるこのような位置制御により、主軸12は、戻り完了位置(Sr=0)に到達したときに回転を停止する。
図7の動作例において、主軸制御部18が主軸12の目標ねじ深さから戻り完了位置までの逆回転動作(戻り動作)を制御する間、送り軸制御部22(図5)は、主軸12の回転位置FBSを用いて、送り軸14を主軸12の動作に追従するように制御して逆送り動作を行わせる。数値制御部16は、主軸制御部18がステップQ2〜ステップQ8の処理を実行する間、主軸制御部18から通知される残戻り回転量Srを監視して、残戻り回転量Srが第2の所定値(零に近い極小値)以下になったときに、戻り動作が完了して工具がワークから引き抜かれたと判断する。
上記したように、制御装置40は、主軸12に加工開始位置(又は目標ねじ深さ)から目標ねじ深さ(又は戻り完了位置)までの切削動作(又は戻り動作)を行わせる際に、数値制御部16が主軸制御部18に対して、主軸12の総回転量S0(又は総戻り回転量S0)と最高回転速度V0(又は最高戻り回転速度V0)のみを主軸指令CSとして通知し、主軸制御部18がこの主軸指令CSに従い、最高回転速度V0(又は最高戻り回転速度V0)を目標に許容電流を最大限に使用した最大出力で主軸12を加速させて切削動作(又は戻り動作)を実行するとともに、その間に記憶した主軸12の単位時間t毎の回転量Sd(又は単位時間t毎の戻り回転量Sd)と逐次検出する主軸12の残回転量Sr(又は残戻り回転量Sr)とに基づき、主軸12を減速回転(又は減速逆回転)させながら目標ねじ深さ(又は戻り完了位置)までの切削動作(又は戻り動作)を継続実行して目標ねじ深さ(又は戻り完了位置)で停止させるように構成されている。したがって制御装置10によれば、数値制御部16に対し主軸12の出力特性に対応する加減速指令を作成するためのパラメータの設定や調整等を行う必要がなく、より簡単な構成で、主軸12の加速能力を最大限に発揮させる加減速制御を行って、タップ加工のサイクルタイムを短縮することが可能になる。
しかも制御装置40によれば、主軸制御部18は、最大出力での加速回転(又は加速逆回転)中に記憶した主軸12の単位時間t毎の回転量Sd(又は単位時間t毎の戻り回転量Sd)を用いて、減速回転(又は減速逆回転)のための位置制御の指令値を作成できるので、位置制御を容易かつ迅速に実行して主軸12を目標ねじ深さ(又は戻り完了位置)で停止させることができる。さらに制御装置40では、主軸制御部18(位置決め動作制御部38)が、主軸12の単位時間t毎の回転量Sd(又は単位時間t毎の戻り回転量Sd)と残回転量Sr(又は残戻り回転量Sr)と現在速度Vc(又は逆回転の現在速度Vc)とに基づき位置制御を実行するようにしたから、主軸12が最高回転速度V0(又は最高戻り回転速度V0)で動作する間は、単位時間t毎の回転量Sd(又は単位時間t毎の戻り回転量Sd)の検出及び記憶を省略することができ、以て、回転量検出部32の計算負荷を軽減できるとともに回転量記憶部34の記憶容量を削減できる。
上記した制御装置10、40の構成は、主軸12と送り軸14との同期運転を制御する工作機械の制御方法として記述できる。この制御方法は、制御装置10、40が、始動位置から目標位置に至る間の主軸12の総回転量S0と最高回転速度V0とをタップ加工プログラムPから取得するステップと、最高回転速度V0を目標値とする速度制御により始動位置から主軸12を最大能力で加速回転させるステップと、最大能力での加速回転の間に、主軸12の回転位置フィードバック値FBSに基づき主軸12の予め定めた単位時間t毎の回転量Sdを検出して記憶するステップと、総回転量S0と回転位置フィードバック値FBSとに基づき、現在位置から目標位置に至るまでの主軸12の残回転量Srを検出するステップと、最大能力での加速回転の後に、単位時間t毎の回転量Sdと残回転量Srとに基づき、主軸12を減速回転させて目標位置で停止させるための位置制御を実行するステップとを備えるものである。この制御方法は、回転位置フィードバック値FBSに基づき主軸12の現在速度Vcを検出するステップをさらに備えることができる。この場合、位置制御は、単位時間t毎の回転量Sdと残回転量Srと現在速度Vcとに基づき実行される。この制御方法によれば、前述した制御装置10、40の効果と同等の効果が奏される。