(57)【特許請求の範囲】
【請求項１】
予め定められた加速度及び速度に基づき、工具又はワークを、移動方向と移動量とを含む位置決め指令で指示された位置に位置決め制御する数値制御装置において、
前記位置決め指令の単位時間当りの実行速度を演算する第１速度演算手段と、
前記第１速度演算手段によって演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手段と、
前記減速開始判断手段によって前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手段と、
前記取り込み手段によって取り込んだ次の指令が、位置決め指令であり、かつ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手段と、
前記判断手段によって前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断した場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手段と、
前記速度判断手段によって、前記次の位置決め指令が前記予め定められた速度に到達できないと判断した場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手段と、
前記変更手段によって変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手段と、
前記第１速度演算手段によって演算された実行速度と前記第２速度演算手段によって演算された実行速度とを合成する速度合成手段と、
を備え、
前記速度合成手段は、前記第１速度演算手段によって演算された実行速度による減速開始時に前記第２速度演算手段によって演算された実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手段によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速させることを特徴とする工作機械の数値制御装置。
【請求項２】
請求項１記載の工作機械の数値制御装置において、
前記速度判断手段によって、前記次の位置決め指令が前記予め定められた速度に到達できると判断した場合、第２速度演算手段は、前記予め定められた速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する
ことを特徴とする工作機械の数値制御装置。
【請求項３】
請求項１又は請求項２記載の工作機械の数値制御装置において、
前記工作機械は、コラムと、該コラムに移動可能に支持された主軸ヘッドと、該主軸ヘッドに回転可能に支持され下端に前記工具を装着可能な主軸と、前記コラムに設けられた工具交換装置とを備え、
前記現在の位置決め指令は、前記主軸ヘッドを、前記主軸に装着された工具を前記工具交換装置に装着する位置、または前記工具交換装置に装着された工具を前記主軸に装着する位置である工具交換準備位置へ位置決めする指令であり、
前記取り込み手段が取り込んだ前記次の位置決め指令は、前記主軸ヘッドを前記工具交換準備位置から当該工具交換準備位置の上方又は下方の位置へ位置決めする指令である工作機械の数値制御装置。
【請求項４】
予め定められた加速度及び速度に基づき、工具又はワークを、移動方向と移動量とを含む位置決め指令で指示された位置に位置決め制御する、工作機械の制御方法であって、
前記位置決め指令の単位時間当りの実行速度を演算する第１速度演算手順と、
前記第１速度演算手順で演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手順と、
前記減速開始判断手順で前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手順と、
前記取り込み手順で取り込んだ次の指令が、位置決め指令であり、且つ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手順と、
前記判断手順で前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断された場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手順と、
前記速度判断手順で、前記次の位置決め指令が前記予め定められた速度に到達できないと判断された場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手順と、
前記変更手順で変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手順と、
前記第１速度演算手順で演算された実行速度と前記第２速度演算手順で演算された実行速度とを合成する速度合成手順と、
を備え、
前記速度合成手順では、前記第１速度演算手順で演算した実行速度による減速開始時に前記第２速度演算手順で演算した実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手順によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速することを特徴とする工作機械の制御方法。
【請求項５】
コンピュータに、
移動方向と移動量とを含み、予め定められた加速度及び速度に基づいて工具又はワークを位置決め制御する位置を指示するための位置決め指令の、単位時間当りの実行速度を演算する第１速度演算手順と、
前記第１速度演算手順で演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手順と、
前記減速開始判断手順で前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手順と、
前記取り込み手順で取り込んだ次の指令が、位置決め指令であり、且つ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手順と、
前記判断手順で前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断された場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手順と、
前記速度判断手順で、前記次の位置決め指令が前記予め定められた速度に到達できないと判断された場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手順と、
前記変更手順で変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手順と、
前記第１速度演算手順で演算された実行速度と前記第２速度演算手順で演算された実行速度とを合成する速度合成手順と、
を実行するとともに、
前記速度合成手順では、前記第１速度演算手順で演算した実行速度による減速開始時に前記第２速度演算手順で演算した実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手順によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速を実行させるための工作機械の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具又はワークを位置決め制御する工作機械の数値制御装置、工作機械の制御方法、及び工作機械の制御プログラムに関する。
【背景技術】
【０００２】
近年利用されているＮＣ工作機械（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）は、コンピュータで構成する数値制御装置がＮＣプログラムにしたがって自動制御を行う。このＮＣプログラムは、各部の動作制御や処理を行わせる複数の指令が所定の記述順で記述されたものであり、数値制御装置はその記述順にしたがって各動作指令に対応する各部の駆動機構の数値制御を行う。
【０００３】
一つの動作指令による移動部分の移動動作としては、初期における増速区間で加速してから、等速区間で所定の移動速度により等速移動し、終期の減速区間で減速して移動部分を目的の座標位置に停止させる一連の行程となる。そして、いずれの移動動作における増速区間と減速区間でも、移動部分の重量による慣性や駆動機構の制動能力を考慮して固定的に設定された、所定の大きさの加速度で増速・減速が行われる。また、いずれの移動動作における等速区間でも、共通の同一の移動速度による等速移動が行われる。
【０００４】
ここで、移動の態様によっては、ＮＣプログラムの便宜上、１つの位置を境に動作指令を２つに分けて記述する場合がある。この場合、当該１つの位置に到達させ移動終了するまでの１つの移動指令と、さらに当該位置から移動開始し出発させる別の移動指令とに、分けて記述される。このように移動のための指令を連続した２つの移動指令に分けて記述した場合には、当該１つの位置の前後において、減速停止と増速出発を行う分だけ移動時間に無駄が生じてしまう。
【０００５】
この移動時間の無駄を解消するための手法として、連続した２つの移動指令を受け取った数値制御装置が、先行の移動指令の減速区間と後続の移動指令の増速区間を接続するよう２つの移動指令を合成する手法がある（例えば、特許文献１参照）。
【０００６】
この従来技術の数値制御装置は、先行の移動指令の減速区間の開始時期と、後続の移動指令の増速区間の開始時期とを、一致させる。これにより、先行の移動指令の減速区間と後続の移動指令の増速区間とが重複し、この重複により減速方向の加速度と増速方向の加速度とが相殺される結果、上記所定の移動速度による等速移動が維持される。このような合成を行うことにより、数値制御装置が連続した２つの移動指令を受け取った場合でも、増速区間、等速区間、及び減速区間をそれぞれ１度ずつ行う一連の行程のみで、移動制御を行うことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１−２７６３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したように、通常、増速区間及び減速区間における加速度は、所定の大きさに固定されている。このため、移動指令の移動距離が短い場合には、増速開始後、等速区間の上記所定の移動速度に達しない増速区間の途中で、減速区間を開始しなければならない。
【０００９】
この結果、先行の移動指令の移動距離に比べて後続の移動指令の移動距離が著しく短い場合に、上記従来技術による移動指令の合成を実行すると、以下のような問題が生じる。すなわち、先行の移動指令の減速区間の開始時期から後続の移動指令の増速区間を開始するとき、先行の減速区間の途中で後続の増速区間が終了し減速区間を開始することになる。このため、先行と後続の移動指令のそれぞれの減速区間が重複する区間が生じてしまう。この減速区間が重複した区間では、通常の２倍の大きさの加速度で減速動作が行われる。この結果、例えばサーボモータ等を含む工作機械の駆動機構に対し過度の負担をかけるおそれがあり、工作機械の健全性を維持するのが困難であった。
【００１０】
本発明の目的は、駆動機構に過度の負担をかけることなく連続した２つの移動指令を合成し、移動時間の無駄を防止できる数値制御装置、工作機械の制御方法、及び工作機械の制御プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、第１の発明は、予め定められた加速度及び速度に基づき、工具又はワークを、移動方向と移動量とを含む位置決め指令で指示された位置に位置決め制御する数値制御装置において、前記位置決め指令の単位時間当りの実行速度を演算する第１速度演算手段と、前記第１速度演算手段によって演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手段と、前記減速開始判断手段によって前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手段と、前記取り込み手段によって取り込んだ次の指令が、位置決め指令であり、かつ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手段と、前記判断手段によって前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断した場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手段と、前記速度判断手段によって、前記次の位置決め指令が前記予め定められた速度に到達できないと判断した場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手段と、前記変更手段によって変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手段と、前記第１速度演算手段によって演算された実行速度と前記第２速度演算手段によって演算された実行速度とを合成する速度合成手段と、を備え、前記速度合成手段は、前記第１速度演算手段によって演算された実行速度による減速開始時に前記第２速度演算手段によって演算された実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手段によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速させることを特徴とする。
【００１２】
本願第１発明の工作機械の数値制御装置は、工作機械の工具又はワークの位置決め制御を行う。第１速度演算手段が、移動方向と移動量とを含む位置決め指令の、単位時間当りの実行速度を演算する。減速開始判断手段が、上記現在の位置決め指令の実行速度が、減速開始直前の速度か否かを判断する。減速開始判断手段が実行速度が減速開始直前の速度であると判断した場合、取り込み手段が、次の位置決め指令を取り込む。本願第１発明では、２つの位置決め指令を前後して取り込んだ場合には、それら２つの位置決め指令を合成し、無駄な停止動作をしないようにすることができる。判断手段は、取り込んだ次の指令が、位置決め指令であって、かつ、現在の位置決め指令と同一方向に対する位置決め指令であるか否かを、判断する。判断が満たされた場合は、合成可能とみなす。
【００１３】
次の位置決め指令の移動量が現在の位置決め指令の移動量よりもかなり小さい場合、これら２つの指令を合成した指令による位置決め時に、減速区間の加速度が過度に大きくなる。
【００１４】
本願第１発明では、速度判断手段が、次の位置決め指令の移動量と、予め定められた加速度とに基づいて、次の位置決め指令が予め定められた速度に到達できるか否かを、判断する。
【００１５】
予め定められた速度に到達できないと判断した場合は、そのままでは、合成した指令による減速区間の加速度が過度に大きくなるおそれがあるとみなし、変更手段が、上記の予め定められた速度の変更を行う。第２速度演算手段が、変更された速度に基づいて次の位置決め指令の単位時間当たりの実行速度を演算し、速度合成手段が、第２速度演算手段が演算した実行速度と第１速度演算手段が演算した実行速度とを合成する。これにより、前述のように減速区間の加速度が過度に大きくなり駆動機構に過度の負担をかけるのを防止しつつ、２つの指令を合成して移動時間の無駄を防止することができる。この結果、工作機械の健全性を維持し、安全に稼働することができる。
【００１６】
第２発明は、上記第１発明において、前記速度判断手段によって、前記次の位置決め指令が前記予め定められた速度に到達できると判断した場合、第２速度演算手段は、前記予め定められた速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算することを特徴とする。
【００１７】
これにより、次の位置決め指令の移動量が現在の位置決め指令の移動量と同等以上かあまり小さくない場合には、従来通り、それら２つの指令を合成した指令により、所定の位置決め速度に達しながらの位置決め制御を行うことができる。
【００１８】
第３発明は、上記第１又は第２発明において、前記工作機械は、コラムと、該コラムに移動可能に支持された主軸ヘッドと、該主軸ヘッドに回転可能に支持され下端に前記工具を装着可能な主軸と、前記コラムに設けられた工具交換装置とを備え、前記現在の位置決め指令は、前記主軸ヘッドを、前記主軸に装着された工具を前記工具交換装置に装着する位置、または前記工具交換装置に装着された工具を前記主軸に装着する位置である工具交換準備位置へ位置決めする指令であり、前記取り込み手段が取り込んだ前記次の位置決め指令は、前記主軸ヘッドを前記工具交換準備位置から当該工具交換準備位置の上方又は下方の位置へ位置決めする指令であることを特徴とする。
【００１９】
一般に、工作機械は、主軸ヘッドが支持する主軸に工具を保持して回転することにより、被加工物に所定の加工を行う。主軸は、工具交換装置を用いることで複数の工具を着脱交換して用いることができる。本願第３発明の工作機械の数値制御装置では、主軸ヘッドを工具交換準備位置へ位置決めする指令の後、取り込み手段が、工具交換準備位置から当該工具交換準備位置の上方又は下方の位置へ位置決めを行う指令を取り込む。
【００２０】
これにより、上記の工具交換の際の、工具交換準備位置を挟んでの上方への移動時、若しくは、加工基準位置を挟んでの下方への移動時に、大きな加速度による悪影響を防止できる。すなわち、工具交換準備位置への現在の位置決め指令と、工具交換準備位置からの次の位置決め指令との合成により、減速区間の加速度が過度に大きくなるのを防止することができる。
【００２１】
上記目的を達成するために、第４発明は、予め定められた加速度及び速度に基づき、工具又はワークを、移動方向と移動量とを含む位置決め指令で指示された位置に位置決め制御する、工作機械の制御方法であって、前記位置決め指令の単位時間当りの実行速度を演算する第１速度演算手順と、前記第１速度演算手順で演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手順と、前記減速開始判断手順で前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手順と、前記取り込み手順で取り込んだ次の指令が、位置決め指令であり、且つ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手順と、前記判断手順で前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断された場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手順と、前記速度判断手順で、前記次の位置決め指令が前記予め定められた速度に到達できないと判断された場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手順と、前記変更手順で変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手順と、前記第１速度演算手順で演算された実行速度と前記第２速度演算手順で演算された実行速度とを合成する速度合成手順と、を備え、前記速度合成手順では、前記第１速度演算手順で演算した実行速度による減速開始時に前記第２速度演算手順で演算した実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手順によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速することを特徴とする。
【００２２】
本願第４発明の工作機械の制御方法は、工作機械の工具又はワークの位置決め制御を行う。第１速度演算手順で、移動方向と移動量とを含む位置決め指令の、単位時間当りの実行速度を演算する。減速開始判断手順で、上記現在の位置決め指令の実行速度が、減速開始直前の速度か否かを判断する。減速開始判断手順で実行速度が減速開始直前の速度であると判断した場合、取り込み手順で、次の位置決め指令を取り込む。本願第４発明では、２つの位置決め指令を前後して取り込んだ場合には、それら２つの位置決め指令を合成し、無駄な停止動作をしないようにすることができる。判断手順で、取り込んだ次の指令が、位置決め指令であって、且つ、現在の位置決め指令と同一方向に対する位置決めであるか否かを、判断する。判断が満たされた場合は、合成可能とみなす。
【００２３】
次の位置決め指令の移動量が現在の位置決め指令の移動量よりもかなり小さい場合、これら２つの指令を合成した指令による位置決め時に、減速区間の加速度が過度に大きくなる。
【００２４】
本願第４発明では、速度判断手順で、次の位置決め指令の移動量と、予め定められた加速度とに基づいて、次の位置決め指令が予め定められた速度に到達できるか否かを、判断する。
【００２５】
予め定められた速度に到達できないと判断した場合は、そのままでは、合成した指令による減速区間の加速度が過度に大きくなるおそれがあるとみなし、変更手順で、上記の予め定められた速度の変更を行う。第２速度演算手順で、変更された速度に基づいて次の位置決め指令の単位時間当たりの実行速度を演算し、速度合成手順で、第２速度演算手順で演算した実行速度と第１速度演算手順で演算した実行速度とを合成する。これにより、前述のように減速区間の加速度が過度に大きくなり駆動機構に過度の負担をかけるのを防止しつつ、２つの指令を合成して移動時間の無駄を防止することができる。この結果、工作機械の健全性を維持し、安全に稼働することができる。
【００２６】
上記目的を達成するために、第５発明は、コンピュータに、移動方向と移動量とを含み、予め定められた加速度及び速度に基づいて工具又はワークを位置決め制御する位置を指示するための位置決め指令の、単位時間当りの実行速度を演算する第１速度演算手順と、前記第１速度演算手順で演算された現在の位置決め指令の実行速度が減速開始直前の速度か否かを判断する減速開始判断手順と、前記減速開始判断手順で前記実行速度が減速開始直前の速度であると判断された場合、次の指令を取り込む取り込み手順と、前記取り込み手順で取り込んだ次の指令が、位置決め指令であり、且つ前記現在の位置決め指令と同一方向に対する位置決め指令であるか否かを判断する判断手順と、前記判断手順で前記現在の位置決め指令と次の位置決め指令とが同一方向に対する位置決め指令であると判断された場合、前記次の位置決め指令が前記予め定められた速度に到達できるか否かを、前記次の位置決め指令の移動量と、前記予め定められた加速度とに基づいて、判断する速度判断手順と、前記速度判断手順で、前記次の位置決め指令が前記予め定められた速度に到達できないと判断された場合、前記加速度と前記次の位置決め指令の移動量とに基づいて、前記予め定められた速度を変更する変更手順と、前記変更手順で変更された速度に基づいて前記次の位置決め指令の単位時間当たりの実行速度を演算する第２速度演算手順と、前記第１速度演算手順で演算された実行速度と前記第２速度演算手順で演算された実行速度とを合成する速度合成手順と、を実行するとともに、前記速度合成手順では、前記第１速度演算手順で演算した実行速度による減速開始時に前記第２速度演算手順で演算した実行速度による合成用増速を開始して所定の合成用等速速度に達するまで増速したうえで、引き続き合成用等速速度で等速移動させ、前記第１速度演算手順によって演算された実行速度による減速が終了した際に前記合成用減速を開始して減速を実行させる。
【００２７】
本願第５発明の工作機械の制御プログラムを備えたコンピュータは、工作機械の工具又はワークの位置決め制御を行う。
【００２８】
コンピュータが第１速度演算手順を実行し、移動方向と移動量とを含む位置決め指令の、単位時間当りの実行速度を演算する。コンピュータが減速開始判断手順を実行し、上記現在の位置決め指令の実行速度が、減速開始直前の速度か否かを判断する。減速開始判断手順で実行速度が減速開始直前の速度であると判断した場合、コンピュータが取り込み手順を実行し、次の位置決め指令を取り込む。本願第５発明では、２つの位置決め指令を前後して取り込んだ場合には、それら２つの位置決め指令を合成し、無駄な停止動作をしないようにすることができる。コンピュータが判断手順を実行し、取り込んだ次の指令が、位置決め指令であって、且つ、現在の位置決め指令と同一方向に対する位置決め指令であるか否かを、判断する。判断が満たされた場合は、合成可能とみなす。
【００２９】
次の位置決め指令の移動量が現在の位置決め指令の移動量よりもかなり小さい場合、これら２つの指令を合成した指令による位置決め時に、減速区間の加速度が過度に大きくなる。
【００３０】
本願第５発明では、コンピュータが速度判断手順を実行し、次の位置決め指令の移動量と、予め定められた加速度とに基づいて、次の位置決め指令が予め定められた速度に到達できるか否かを、判断する。
【００３１】
予め定められた速度に到達できないと判断した場合は、そのままでは、合成した指令による減速区間の加速度が過度に大きくなるおそれがあるとみなし、コンピュータが変更手順を実行し、上記の予め定められた速度の変更を行う。コンピュータが第２速度演算手順を実行し、変更された速度に基づいて次の位置決め指令の単位時間当たりの実行速度を演算し、コンピュータが速度合成手順を実行し、第２速度演算手順で演算した実行速度と第１速度演算手順で演算した実行速度とを合成する。これにより、前述のように減速区間の加速度が過度に大きくなり駆動機構に過度の負担をかけるのを防止しつつ、２つの指令を合成して移動時間の無駄を防止することができる。この結果、工作機械の健全性を維持し、安全に稼働することができる。
【発明の効果】
【００３２】
本発明によれば、駆動機構に過度の負担をかけることなく連続した２つの移動指令を合成し、移動時間の無駄を防止することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施形態に係る数値制御装置を備えた工作機械の全体構成を表す側面図である。
【図２】Ｚ軸移動装置及びその周辺の構成を詳細に表す縦断面図である。
【図３】工具交換時における主軸及び工具マガジンの周囲を拡大して示す縦断面図である。
【図４】工作機械の電気的なシステム構成を模式的に表す機能ブロック図である。
【図５】数値制御装置において動作する制御プログラムのソフトウェア構成例を示すブロック図である。
【図６】前回入力電圧算出部及び今回入力電圧算出部が行う入力電圧の算出方法を説明する図である。
【図７】図７（ａ）はＮＣプログラムの記述例を示す図であり、図７（ｂ）は各停止点の幾何学的配置を概念的に示した図である。
【図８】図８（ａ）は図７で示した例に対応して合成しない場合の移動行程のタイムチャートであり、図８（ｂ）は合成した場合の移動行程のタイムチャートである。
【図９】図９（ａ）は２つ目の移動指令の移動距離が短い場合のＮＣプログラムの記述例を示す図であり、図９（ｂ）は各停止点の幾何学的配置を概念的に示した図である。
【図１０】図１０（ａ）は図９で示した例に対応して合成しない場合の移動行程のタイムチャートであり、図１０（ｂ）は合成した場合の移動行程のタイムチャートである。
【図１１】図９で示した例に対応して過度の減速度が生じないよう合成した場合の移動行程のタイムチャートである。
【図１２】数値制御装置のＣＰＵによって実行される制御手順を表すフローチャートである。
【図１３】図１２中のステップＳ１００において実行される移動制御処理の詳細手順を表すフローチャートである。
【図１４】同じ複数の軸方向に対して同時に移動させる連続した２つの移動指令に本発明を適用した場合を示す図である。
【発明を実施するための形態】
【００３４】
以下、本発明の一実施の形態を図面を参照しつつ説明する。
【００３５】
図１は、本実施形態の工作機械の全体構成を表す側面図である。図１において、工作機械１は、ＸＹ軸移動装置（特に図示せず）と、Ｚ軸移動装置５と、主軸駆動装置２０と、工具交換装置２等から構成している。
【００３６】
ＸＹ軸移動装置（図示省略）は、ワークを保持したテーブル１３５を直交するＸ方向とＹ方向とに移動する。テーブル１３５は、Ｘ軸モータ１３１（後述の図４参照）及びＹ軸モータ１３２（後述の図４参照）によって移動する。Ｚ軸移動装置５は、主軸２２及び主軸ヘッド６を上下移動する。主軸駆動装置２０は、主軸２２を回転駆動する。工具交換装置２は、工具ホルダ７５（後述の図２参照）を自動的に主軸２２に受け渡す。工作機械１は、これら複数の移動機構及び駆動機構の動作をそれぞれ数値制御する数値制御装置９を一体的に設けている。
【００３７】
工具交換装置２は、垂直なコラム３と、フレーム４と、主軸ヘッド６及び工具マガジン８等を備えている。フレーム４は、コラム３から前方に延び、工具マガジン８を支持する。主軸ヘッド６は、Ｚ軸移動装置５が備えるＺ軸モータ１５の駆動によってＺ軸方向に往復移動する。工具マガジン８は、マガジン支持台７を介してフレーム４に回転可能に支持されている。
【００３８】
工作機械１は、クーラント液を貯留する貯留槽１３４を背面側に設けている。工作機械１は、貯留タンク８６を内部に有している。貯留タンク８６は、貯留槽１３４からポンプ８３（後述の図４参照）で吸引したクーラント液を、洗浄液として貯留する。
【００３９】
図２はＺ軸移動装置５及びその周辺の構成を詳細に表す縦断面図である。図２において、コラム３は、ガイドレール１１を鉛直方向に備える。ガイドレール１１は、一対の摺動コマ１２を介して主軸ヘッド６を上下のＺ軸方向に昇降自在に取り付けている。コラム３は、回転自在なボールねじ１４をガイドレール１１に沿って平行に備えている。ボールねじ１４は、主軸ヘッド６の背面に固定したナット１３にねじ込みながら挿通している。ボールねじ１４は、コラム３の上部に配設したＺ軸モータ１５の駆動で、正逆の両方向に回転する。主軸ヘッド６は、Ｚ軸モータ１５の駆動で、ボールねじ１４及びナット１３を介して、ガイドレール１１に沿って上下方向に移動する。
【００４０】
主軸ヘッド６は、その内部に主軸２２を回転自在に鉛直方向に備えている。主軸２２は、主軸ヘッド６の上部に配設した主軸モータ２３にカップリング２４を介して連結している。主軸２２は、主軸モータ２３で回転駆動する。主軸２２は、その下端部に工具装着部２１を有する。
【００４１】
工具装着部２１は、図示する例で先端に切削工具７４を装着した工具ホルダ７５におけるテーパ係合部７５ａを嵌挿可能になっている。主軸２２は、工具装着部２１の上方にホルダ挟持部２５を有する。主軸２２は、ホルダ挟持部２５の上方にドローバー２６を有する。ドローバー２６は、バネを備えており、常にはホルダ挟持部２５が工具装着部２１に装着した工具ホルダ７５の先端部に設けたプルスタッド７５ｂをクランプするように作用する。ホルダ挟持部２５は、ドローバー２６を押圧することで、プルスタッド７５ｂのクランプを解除し、工具ホルダ７５の取り外しが可能となる。
【００４２】
主軸ヘッド６は、ドローバー２６を押圧又は押圧の解除をするクランクレバー２８を備えている。支軸２７は、略Ｌ字形のクランクレバー２８を揺動自在に支持している。このクランクレバー２８は、水平向きに一体形成された短尺レバー２８ａと、鉛直向きに一体形成された長尺レバー２８ｂとで構成している。短尺レバー２８ａの先端部は、ドローバー２６に直交的に突設したピン２９と係合可能になっている。
【００４３】
長尺レバー２８ｂは、傾斜面を形成した板カム３０を固定している。その板カム３０は、Ｚ軸モータ１５に配設したカムフォロア３１と係合離脱可能になっている。引張コイルバネ３２は、長尺レバー２８ｂと主軸ヘッド６との間に介装し、クランクレバー２８を常に図２中の時計方向に付勢している。引張コイルバネ３２は、短尺レバー２８ａによるピン２９の押圧を解除している。
【００４４】
主軸ヘッド６が上昇すると、その上昇過程においてクランクレバー２８に設けた板カム３０は、固定位置にあるカムフォロア３１と係合する。該係合は、クランクレバー２８に支軸２７を中心とする図中の反時計方向の動きを付与する。それ故、短尺レバー２８ａは、ピン２９を下方に押圧し、ドローバー２６を介してホルダ挟持部２５を付勢し、工具ホルダ７５のプルスタッド７５ｂに対するクランプを解除する。
【００４５】
工具交換時に、主軸ヘッド６がＺ軸原点位置（後述の図３参照）に移動すると、工具マガジン８の最下端に位置するグリップアーム３８は使用済みの切削工具７４を取り付けた工具ホルダ７５を保持する。その後、主軸ヘッド６が工具交換位置であるＡＴＣ原点位置（後述の図３参照）まで鉛直方向に上昇する間に、クランクレバー２８は、ドローバー２６を押圧して工具ホルダ７５のプルスタッド７５ｂに対するクランプを解除する。主軸２２に装着していた工具ホルダ７５は、グリップアーム３８が保持しているので、主軸ヘッド６の工具装着部２１から抜き取られる。Ｚ軸原点位置は、主軸ヘッド６を、主軸２２に装着された切削工具７を工具交換装置２に装着する位置であり、工具交換装置２に装着された切削工具７を主軸２２に装着する位置である。故に、Ｚ軸原点位置は、工具交換準備位置に相当する。
【００４６】
次に、マガジンモータ４６の回転駆動によりマガジンベース３６が回転し、次の切削作業で使用する切削工具７４を取り付けた工具ホルダ７５を保持したグリップアーム３８が、主軸ヘッド６の工具装着部２１の直下に移動して位置決めされる。このマガジンベース３６の回転によるグリップアーム３８の位置決め移動を割り出し動作という。その後、主軸ヘッド６は、鉛直方向に下降移動するので、新たに割り出された工具ホルダ７５が主軸ヘッド６の工具装着部２１に嵌挿されて、工具交換が完了する。主軸ヘッド６の下降中、クランクレバー２８は、引張コイルバネ３２のバネ力によってドローバー２６の押圧を中断する。それ故、ホルダ挟持部２５は、工具装着部２１に嵌挿した工具ホルダ７５をクランプする。
【００４７】
図３は、工具交換時における主軸２２及び工具マガジン８の周囲を拡大して示す縦断面図である。この図３に示す状態では、主軸ヘッド６は、上記Ｚ軸モータ１５（上述の図２参照）の回転駆動により最も上昇した位置に移動している。グリップアーム３８が保持した工具ホルダ７５は、主軸ヘッド６の下端面より下方に位置している。この状態では、主軸ヘッド６の下端面が、工具ホルダ７５の上端部のプルスタッド７５ｂと十分離間している。それ故、工具マガジン８は、工具ホルダ７５が主軸２２に干渉接触することなく自由に割り出し動作を行うことができる。このような状態における主軸ヘッド６の下端面の位置をＡＴＣ原点という。
【００４８】
図示する状態から、上記Ｚ軸モータ１５の駆動により主軸２２を下降させ、主軸ヘッド６の下端面を工具ホルダ７５の鍔状部７５ｃの上端面に一致させることで、工具ホルダ７５を主軸２２に装着させることができる。この際には、上述したように主軸２２の内部でホルダ挟持部２５は、工具ホルダ７５のプルスタッド７５ｂをクランプする。このような状態における主軸ヘッド６の下端面の位置をＺ軸原点という。
【００４９】
主軸ヘッド６は、その下端面且つ工具装着部２１の開口部分の周囲に複数の洗浄ノズル８１を設けている。複数の洗浄ノズル８１は、洗浄液回路８２から供給される洗浄液を上記工具装着部２１の開口部分より少し下方、つまり図示する状態におけるテーパ係合部７５ａの位置に向けて噴出する。
【００５０】
次に、工作機械１の電気的構成について説明する。図４に示すように、前述の数値制御装置９は、制御回路１１０と、各種駆動回路１２１〜１２８を有している。制御回路１１０は、後述するＲＯＭ１１２に記憶した制御プログラム等を実行することで、工作機械１の加工動作及び工具交換動作等を制御するものである。制御回路１１０は、ＣＰＵ１１１、ＲＯＭ１１２、及びＲＡＭ１１３からなるマイクロコンピュータと、入力インターフェース１１４、及び出力インターフェース１１５を基本に構成している。ＲＡＭ１１３は、工作機械１に所望の加工を施すためのＮＣプログラムを記憶保持している。ＮＣプログラムは、複数の指令からなり、操作者が後述する操作パネルを介して作成する。ＮＣプログラムについては後に詳述する。
【００５１】
入力インターフェース１１４は、工作機械１の前面に設けた操作パネル（図示略）のキーボード１３０と、上記洗浄液回路８２で洗浄液を貯留する貯留槽１３４（上述の図１参照）に設けた液面センサ１３６とが電気的に接続されている。出力インターフェース１１５は、Ｘ軸モータ１３１を駆動する駆動回路１２１と、Ｙ軸モータ１３２を駆動する駆動回路１２２と、Ｚ軸モータ１５を駆動する駆動回路１２３と、主軸モータ２３を駆動する駆動回路１２４と、マガジンモータ４６を駆動する駆動回路１２５と、上記洗浄液回路８２で洗浄液の途出駆動源となるポンプ８３を駆動する駆動回路１２６と、操作パネルのＣＲＴ１３３を駆動するための駆動回路１２７と、上記洗浄液回路８２で洗浄液の途出を制御する電磁弁９７を駆動するための駆動回路１２８とが各々電気的に接続している。Ｘ軸モータ１３１は、テーブル１３５のＸ軸方向の位置を検出するエンコーダ１３１ａを備えている。Ｙ軸モータ１３２は、テーブル１３５のＹ軸方向の位置を検出するエンコーダ１３２ａを備えている。Ｚ軸モータ１５は、主軸ヘッド６のＺ軸方向の位置を検出するエンコーダ６ａを備えている。エンコーダ１３１ａ，１３２ａ，６ａは、入力インターフェース１１４に接続されている。なお、本実施形態の例においては、各軸モータ１５，１３１，１３２は、例えば入力電圧に比例した回転速度で回転する仕様となっている。
【００５２】
図５は、図４に示す数値制御装置９において動作する制御プログラムのソフトウェア構成例を示すブロック図である。
【００５３】
制御プログラムは、その機能としてＮＣプログラム解読部２０１、移動指令実行部２０２、前回入力電圧算出部２０３、今回入力電圧算出部２０４、サーボ制御部２０５を有し、後述する各機能を数値制御装置９において発揮させる。
【００５４】
まず、ＮＣプログラム３０１（後述の図７（ａ）、図９（ａ）参照）は、上述したように各部の動作制御や処理を行わせる複数の指令が所定の記述順で記述された制御手順である。ＮＣプログラム３０１は予め操作者が上記キーボード１３０を介して入力し、ＲＡＭ１１３に記憶されている。
【００５５】
ＮＣプログラム解読部２０１は、このＮＣプログラム３０１の記述順にしたがって指令を読み出し、それら指令に対応する各部の駆動機構の数値制御を行う。そしてＮＣプログラム解読部２０１は、読み出した指令のうち各部の移動に関する位置決め指令としての移動指令を移動指令実行部２０２に出力する。
【００５６】
移動指令実行部２０２は、上記ＮＣプログラム解読部２０１から入力された移動指令の内容を解析してその処理を実行する。本実施形態では、ＮＣプログラム３０１に連続して記述されている２つの移動指令に対し、所定の条件を満たす場合にそれら２つの移動指令を合成して実行する。このとき、先行して読み込んだ移動指令を現在の位置決め指令である前回指令として前回入力電圧算出部２０３に出力し、後続で読み込んだ移動指令を次の位置決め指令である今回指令として今回入力電圧算出部２０４に出力する。
【００５７】
前回入力電圧算出部２０３は、上記移動指令実行部２０２から入力された前回指令に対応して設定された前回指令処理パラメータ（後述の図６参照）に基づいて、その時点で上記各軸モータ１５，１３１，１３２に入力すべき入力電圧の値を算出する。同様に、今回入力電圧算出部２０４は、上記移動指令実行部２０２から入力された今回指令に対応して設定された今回指令処理パラメータ（後述の図６参照）に基づいて、その時点で上記各軸モータ１５，１３１，１３２に入力すべき入力電圧の値を算出する。これら前回入力電圧算出部２０３、及び今回入力電圧算出部２０４の算出方法については、後述の図６で詳しく説明する。
【００５８】
サーボ制御部２０５は、上記前回入力電圧算出部２０３及び今回入力電圧算出部２０４がそれぞれ算出した入力電圧の値の和に相当する電圧を、上記移動指令が指定する各軸モータ１５，１３１，１３２に入力して駆動制御する。
【００５９】
以上のソフトウェア構成により、数値制御装置９の制御プログラムは、ＮＣプログラムに記述されている移動指令に対応して各部の位置決め移動制御を行う。
【００６０】
次に、図６を用いて、上記前回入力電圧算出部２０３及び今回入力電圧算出部２０４が行う入力電圧の算出方法を説明する。
【００６１】
図６（ａ）は、上記前回入力電圧算出部２０３又は今回入力電圧算出部２０４が一つの移動指令に対応して算出する入力電圧の値の経時変化を示すタイムチャートである。図６（ｂ）は、図６（ａ）に示した入力電圧を上記サーボ制御部２０５がそのまま各軸モータ１５，１３１，１３２に入力して駆動制御した場合に対応する移動部分の移動速度の経時変化を示すタイムチャートである。なお、図６（ａ）及び図６（ｂ）による説明は共に、上記前回入力電圧算出部２０３及び今回入力電圧算出部２０４に共通して適用されるものである。また以下においては、説明の便宜上、Ｚ軸方向での移動のみに限定して説明する。そして「同一の方向」とは、Ｚ軸に沿って正方向であるか負方向であるかが、同一であることを表す。
【００６２】
まず図６（ｂ）に示すように、一つの移動指令による移動部分の移動動作としては、基本的に、初期における増速区間で加速してから等速区間で所定の移動速度により等速移動する。その後、終期の減速区間で減速して移動部分を目的の座標位置に停止させる行程となる。
【００６３】
そしてどのような移動動作の場合でも、増速区間と減速区間では、移動部分の重量による慣性や駆動機構の制動能力を考慮して固定的に設定された大きさの加速度で、増速・減速を行うようにしている。つまり、どのような移動指令に対しても、増速区間における加速度は等しく、また減速区間における減速度は等しくなる。そしてそれらどの加速度と減速度も絶対値は等しくなる。
【００６４】
そして本実施形態では、通常の場合、いずれの移動動作においても、等速区間では共通の同じ大きさの「通常等速速度」で等速移動させる。しかし、後述する特別な場合においては、適宜調整した「合成用等速速度」で等速区間を等速移動させる。つまり、等速区間における等速区間速度Ｆは、上記通常等速速度若しくは合成用等速速度に設定される。
【００６５】
また、本実施形態では、基本的に移動指令が入力された際にすぐにその指令の実行を開始して、増速区間、等速区間、及び減速区間による移動動作の行程を開始する。しかし、後述する所定の条件を満たさない場合においては、任意のタイミングで一連の移動動作の行程を開始する。
【００６６】
以上のことから、一つの移動指令の実行に対応して行われる移動動作の行程は、当該移動指令の指令開始時の設定と、等速区間における等速区間速度の設定により一義的に定義される。本実施形態では、上記移動指令実行部２０２が、当該一つの移動指令に対応して、これら指令開始時と等速区間速度の設定を指令実行パラメータとして適切に設定する。
【００６７】
そして、上記前回入力電圧算出部２０３及び今回入力電圧算出部２０４は、移動指令実行部２０２から入力された一つの移動指令とそれに対応する指令実行パラメータに基づいて、上記各軸モータ１５，１３１，１３２に入力すべき入力電圧の値を逐次算出する。つまり、上記前回入力電圧算出部２０３及び今回入力電圧算出部２０４は、図６（ｂ）に示すような指令実行パラメータにより定義される移動動作の行程が行えるように、図６（ａ）に示すような短い周期でその時点に対応する入力電圧の値を算出する。このように逐次算出された入力電圧の値のそれぞれによって移動部分が移動する速度が、各請求項記載の単位時間当たりの実行速度に相当する。
【００６８】
なお、上述したようにどのような一つの移動指令に対しても増速区間における加速度は等しいため、図６（ｂ）に示すような移動速度のタイムチャートにおける増速区間での速度変化線の右上がりの傾きは一定である。また、同様に減速区間での速度変化線の右下がりの傾きも一定である。また、増速区間での傾きと減速区間での傾きは、時間方向に対して対称である。また、図６（ｂ）に示すような移動速度のタイムチャートにおいて、図中の斜線部で示すように、一つの移動指令に対応する移動行程の速度変化線が囲む面積Ｓは、当該移動指令によって移動する距離と同等である。
【００６９】
次に、上記ＮＣプログラム３０１は、図７（ａ）に示す例のように記述される。図中の最初の１行目に記述されている「Ｎ１  Ｇ０  Ｚ１００．０；」の指令は、現在点に対してＺ軸方向に＋１００．０の距離だけ進んだ点Ｐまで位置決め移動するよう指令する移動指令である。これを移動指令Ｎ１とする。次の２行目に記述されている「Ｎ２  Ｇ０  Ｚ２００．０；」の指令は、上記現在点に対してＺ軸方向に＋２００．０の距離だけ進んだ点Ｑまでさらに位置決め移動するよう指令する移動指令である。これを移動指令Ｎ２とする。尚、現在点は、Ｚ軸を０としている。
【００７０】
本来は、上記移動指令Ｎ１は記述されずに、上記移動指令Ｎ２だけで移動部分を現在点から点Ｑまで位置決め移動させることができる。しかし、上記点Ｐが工具交換準備位置、つまり上記図３に示したＺ軸原点である場合、ＮＣプログラム３０１はその便宜上、図７（ａ）に示すように連続する２つの移動指令Ｎ１と移動指令Ｎ２とに分けて位置決め移動させる場合がある。つまり、図７（ｂ）に示すように、Ｚ軸原点Ｐに到達させて移動終了するまでの先行の移動指令Ｎ１と、そこから移動開始して出発させる後続の移動指令Ｎ２とに分けて記述されることになる。
【００７１】
このように直線移動のための指令を連続する２つの移動指令Ｎ１，Ｎ２に分けて記述した場合には、全体的に単純な直線移動でありながら、図８（ａ）に示すようにＺ軸原点Ｐの前後において減速停止と増速出発を行う分だけ移動時間に無駄が生じてしまう。
【００７２】
そこで、この移動時間の無駄を解消する手法の一つとして、これら連続する２つの移動指令Ｎ１，Ｎ２を受け取った移動指令実行部２０２が、先行の移動指令Ｎ１の減速区間と後続の移動指令Ｎ２の増速区間を接続するよう連続する２つの移動指令Ｎ１，Ｎ２を合成する。具体的には、先行の移動指令Ｎ１の減速区間の開始時期に、後続の移動指令Ｎ２の増速区間を開始するよう、それら連続する２つの移動指令Ｎ１，Ｎ２を合成し接続する。
【００７３】
これにより、図８（ｂ）に示すように、先行の移動指令Ｎ１の減速区間と後続の移動指令Ｎ２の増速区間とが一致し、この重複により減速方向の減速度と増速方向の加速度とが相殺される結果、上記通常等速速度Ｆ１による等速移動が維持されることになる。このように２つの移動指令Ｎ１，Ｎ２を合成接続した結果、増速区間、等速区間、及び減速区間をそれぞれ１度ずつ行う一つの移動動作の行程で移動制御を行うことができる。この結果、後続の移動指令Ｎ２における減速区間の時間幅だけ、全体の移動時間を短縮することができる。
【００７４】
この合成接続は、上記移動指令実行部２０２が先行の移動指令Ｎ１を前回入力電圧算出部２０３に入力し、その移動行程の減速区間開始時に後続の移動指令Ｎ２を今回入力電圧算出部２０４に入力してそれぞれ実行させることで可能となる。
【００７５】
またこの合成接続は、上述したようにいずれの移動指令Ｎ１，Ｎ２における減速区間と増速区間においても、それぞれ正負の符号は異なるが絶対値の等しい加速度で増速・減速を行い、かついずれの等速区間においても同じ通常等速速度Ｆ１で移動するために可能となる。そして、これらのことから必然的に減速区間と増速区間のそれぞれの時間幅が同じとなることを前提としている。
【００７６】
なお、この合成接続が行えるのは、連続する２つの移動指令Ｎ１，Ｎ２が互いに同一方向に対する移動指令であることが条件となる。このため、連続する２つの移動指令Ｎ１，Ｎ２の移動方向が互いに異なる場合には合成接続を行わずに、移動指令Ｎ１に実行終了後に後続の移動指令Ｎ２の実行を行うことになる。
【００７７】
ここで、一つの移動指令によって移動させる距離がある所定の長さよりも短い場合には、特別な状況が生じる。例えば、上記図７に対応する図９のＮＣプログラム３０１に示すように、後続の移動指令Ｎ２による移動が実質的に＋５だけの短い距離を移動する場合には、上記図８（ａ）に対応する図１０（ａ）に示すような移動行程となる。
【００７８】
つまり、上述したように増速区間及び減速区間におけるそれぞれの加速度の絶対値が等しく固定されているため、後続の移動指令Ｎ２に対応する移動行程では増速区間の途中で上記通常等速速度Ｆ１に達しないうちに減速区間を開始しなければならなくなる。この場合には、増速区間で増速し、通常等速速度Ｆ１より低い最高速度Ｆ２に達した際にすぐに減速区間で減速する。そして、これら増速区間と減速区間のそれぞれの時間幅は、通常の増速区間と減速区間の時間幅よりも短くなる。
【００７９】
このように十分に長い移動距離で位置決め基準点に到達させる先行の移動指令Ｎ１の直後に、比較的短い移動距離だけ移動させる後続の移動指令Ｎ２が連続する場合に、上述した手法の合成接続をそのまま適用すると以下のような問題が生じる。すなわち、先行の移動指令Ｎ１の減速区間の開始時期に後続の移動指令Ｎ２の増速区間を開始させると、先行の移動指令Ｎ１の減速区間の途中で後続の移動指令Ｎ２の増速区間が終了し減速区間を開始することになる。このため、先行の移動指令Ｎ１と後続の移動指令Ｎ２のそれぞれの減速区間が重複する区間が生じてしまう。この減速区間が重複した区間では、通常の２倍の減速度で減速動作が行われるため、対応する各軸モータ１５，１３１，１３２などの駆動機構に対してその制動能力を超えた過度の負担をかけてしまう。
【００８０】
本実施形態では、この問題を解決するために、相対的に短い移動距離だけ移動させる後続の移動指令Ｎ２の移動行程を、図１１に示すように変形した移動指令Ｎ２′としてから合成接続を行う。すなわち、変形した移動指令Ｎ２′の移動行程として、先行の移動指令Ｎ１の移動行程における減速区間の開始時に合成用増速区間を開始して、適切に調整した合成用等速速度に達するまで当該合成用増速区間で増速する。そして、引き続き変形した移動指令Ｎ２′の移動行程として、合成用等速速度に達した後に当該合成用等速速度で等速移動させ、先行の移動指令Ｎ１の移動行程における減速区間が終了した際に合成用減速区間を開始して、減速させる移動行程とする。
【００８１】
このように変形した移動指令Ｎ２′の移動行程を、先行の移動指令Ｎ１の減速区間と同時に開始させて合成接続することで、先行の移動指令Ｎ１と変形した移動指令Ｎ２′のそれぞれの減速区間は重複することなく連続して実行されることになる。この場合には、変形した移動指令Ｎ２′の合成用増速区間の間では、先行の移動指令Ｎ１の減速区間における減速度と合成用増速区間における加速度が互いに相殺して通常等速速度での等速移動を維持する。また、変形した移動指令Ｎ２′の合成用等速区間の間では、先行の移動指令Ｎ１の減速区間における減速度のみにより、通常の減速度での減速が行われる。そして変形した移動指令Ｎ２′の合成用減速区間の間では、すでに先行の移動指令Ｎ１の減速区間が終了しているため、合成用減速区間における減速度のみにより、通常の減速度での減速が行われる。
【００８２】
ここで、図１０（ａ）に戻り、後続の移動指令Ｎ２の移動行程における最高速度が通常等速速度Ｆ１に達しない場合となるための条件について説明する。上述したように、一つの移動指令に対応する移動行程の速度変化線が囲む面積は、当該移動指令によって移動する距離と同等である。また、合成用増速区間及び合成用減速区間を含むどのような増速区間及び減速区間においても、速度変化線の傾きの大きさを表す加速度ａは固定値となっている。
【００８３】
したがって、先行の移動指令Ｎ１のように、通常等速速度Ｆ１に到達するような移動行程における増速区間の時間幅をＴｉとした場合、後続の移動指令Ｎ２の最高速度が通常等速速度Ｆ１に達するためには、図１０（ａ）中の斜線部の面積が示す移動距離が最小でもＦ１×Ｔｉだけ必要となる。そして、増速区間の時間幅Ｔｉ＝Ｆ１／ａと置き換えることができるため、上記最小移動距離はＦ１２／ａとなる。つまり後続の移動指令Ｎ２による移動距離がＦ１２／ａより短い場合には、その移動行程における最高速度が通常等速速度Ｆ１に達することができず、通常より時間幅の短い増速区間及び減速区間を有することになる。
【００８４】
次に、図１１を用いて、上記合成用等速速度を算出する手法について説明する。図１１において、移動指令Ｎ２′の移動行程における速度変化線上で、合成用増速区間の開始点を点Ａ１、合成用等速区間の開始点を点Ａ２、合成用減速区間の開始点を点Ａ３、その終了点を点Ａ４とする。また、時間軸上で、合成用減速区間の開始時に対応する点をＡ５とし、先行の移動指令Ｎ１の移動行程における減速区間の時間幅をＴｄとする。この場合、移動指令Ｎ２′の移動距離と同等の面積Ｓは、点Ａ１、点Ａ２、点Ａ３、及び点Ａ５で囲む四角形の面積と、点Ａ３、点Ａ４、及び点Ａ５で囲む三角形の面積との和と同じである。このため、移動指令Ｎ２′の移動距離Ｓ＝Ｆ２′×Ｔｄとなる。そして、通常の減速区間の時間幅Ｔｄ＝Ｆ１／ａと置き換えることができるため、上記移動距離Ｓ＝（Ｆ１×Ｆ２′）／ａとなる。これにより、合成用等速速度Ｆ２′＝（Ｓ×ａ）／Ｆ１で算出できる。
【００８５】
以上説明した内容を実現するために、数値制御装置９のＣＰＵ１１１によって実行される制御手順を、図１２によって説明する。なお、数値制御装置９の電源が投入された際、又は所定の操作が行われた際に、このフローが開始される。
【００８６】
まず、ステップＳ５において、数値制御装置９のＣＰＵ１１１は、状態フラグＦの値を０に初期設定する。なお、この状態フラグＦは、移動指令の実行状態を示すパラメータであり、どの移動指令も実行されておらず停止している状態では値が０となる。また、この状態フラグＦは、最後に読み込んだ移動指令である今回指令のみで移動している状態では値が１となり、一つ前に読み込んだ移動指令である前回指令のみで移動している状態では値が２となる。また、この状態フラグＦは、前回指令と今回指令を合成接続して移動している状態では値が３となる。
【００８７】
次にステップＳ１０へ移り、数値制御装置９のＣＰＵ１１１は、ＮＣプログラム解読部２０１から次の移動指令を読み込む。
【００８８】
次にステップＳ１５へ移り、数値制御装置９のＣＰＵ１１１は、上記ステップＳ１０の手順で位置決め指令としての移動指令を読み込んだか否かを判定する。移動指令を読み込めなかった場合、判定は満たされず、ステップＳ１００へ移る。一方、移動指令を読み込めた場合、判定が満たされ、次のステップＳ２０へ移る。
【００８９】
ステップＳ２０では、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が０であるか否かを判定する。言い換えれば、ステップＳ２０では、停止中の状態であるか否かが判定される。状態フラグＦの値が０である場合、判定が満たされ、ステップＳ２５へ移る。
【００９０】
ステップＳ２５では、数値制御装置９のＣＰＵ１１１は、上記ステップＳ１０の手順で最後に読み込んだ移動指令を今回指令として設定する。このとき当該今回指令の内容に対応して今回指令実行パラメータも設定する。そして次のステップＳ３０で状態フラグＦの値を１とし、今回指令のみで移動を実行する状態に設定した後、ステップＳ１００へ移る。
【００９１】
また一方、上記ステップＳ２０の判定において、状態フラグＦの値が０以外である場合、判定は満たされず、すなわち、既に何らかの移動指令の実行による移動が行われている最中であるものとみなされ、次のステップＳ３５へ移る。
【００９２】
ステップＳ３５では、数値制御装置９のＣＰＵ１１１は、その時点で今回指令となっている指令を前回指令として設定し、さらに上記ステップＳ１０の手順で最後に読み込んだ移動指令を今回指令として設定する。このとき、それまでの今回指令実行パラメータの設定内容をそのまま前回指令実行パラメータに移行し、新しい今回指令の内容に対応して今回指令実行パラメータも設定する。
【００９３】
次にステップＳ４０へ移り、前回指令と今回指令はどちらも同一方向に対する移動指令であるか否かを判定する。言い換えれば、ステップＳ４０では、前回指令と今回指令は合成接続が可能であるか否かを判定する。前回指令と今回指令が互いに異なる方向に対する移動指令である場合、判定は満たされず、すなわち前回指令と今回指令は合成接続することができないとみなされる。そしてステップＳ４５へ移り、状態フラグＦの値を２として、前回指令のみで移動する状態に設定した後、ステップＳ１００へ移る。
【００９４】
また一方、上記ステップＳ４０の判定において、前回指令と今回指令がどちらも同一方向に対する移動指令である場合、判定が満たされ、すなわち前回指令と今回指令は合成接続できるとみなされる。そして次のステップＳ５０へ移る。
【００９５】
ステップＳ５０では、数値制御装置９のＣＰＵ１１１は、今回指令による移動行程において最高速度が通常等速速度Ｆ１に達するか否かを判定する。これは上記で説明したように、今回指令による移動距離がＦ１２／ａより短いか否かで判定する。今回指令による移動距離がＦ１２／ａ以上である場合、判定が満たされ、すなわち今回指令の移動行程を変形せずとも前回指令と合成接続が可能であるものとみなされてステップＳ６０へ移る。一方、今回指令による移動距離がＦ１２／ａより短い場合、判定は満たされず、すなわち今回指令の移動行程を変形しなければ前回指令と合成接続できないものとみなされ、次のステップＳ５５へ移る。
【００９６】
ステップＳ５５では、数値制御装置９のＣＰＵ１１１は、今回指令に対応する合成用等速速度Ｆ２′を上述した（Ｓ×ａ）／Ｆ１で算出し、今回指令実行パラメータのうちの等速区間速度にこの合成用等速速度Ｆ２′を設定してステップＳ６０へ移る。
【００９７】
ステップＳ６０では、数値制御装置９のＣＰＵ１１１は、状態フラグＦの値を３として、前回指令と今回指令を合成接続し移動する状態に設定した後、ステップＳ１００へ移る。
【００９８】
ステップＳ１００では、数値制御装置９のＣＰＵ１１１は、状態フラグＦの値に対応して、上記今回入力電圧算出部２０４と上記前回入力電圧算出部２０３にそれぞれ入力電圧の値を算出させ、それらの合計値をサーボ制御部へ出力する移動制御処理を行う（後述の図１３参照）。
【００９９】
次にステップＳ６５へ移り、数値制御装置９のＣＰＵ１１１は、特に図示しない操作パネルのキーボード１３０などを介してこのフローを終了する操作が行われたか否かを判定する。終了操作が行われている場合、ステップＳ６５の判定が満たされ、このフローを終了する。一方、終了操作が行われていない場合、ステップＳ６５の判定が満たされず、次のステップＳ７０へ移る。
【０１００】
ステップＳ７０では、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が０であるか否かを判定する。言い換えれば、ステップＳ７０では、停止中の状態であるか否かが判定される。状態フラグＦの値が０である場合、判定が満たされ、ステップＳ１０へ戻り、同様の手順を繰り返す。一方、状態フラグＦの値が０以外である場合、次のステップＳ７５へ移る。
【０１０１】
ステップＳ７５では、数値制御装置９のＣＰＵ１１１は、今回指令による移動行程が減速区間を開始する直前か否かを判定する。言い換えれば、ステップＳ７５では、今回指令の次の移動指令を読み込んで、それが今回指令と合成接続可能であるかを確認すべきタイミングとなったか否かを判定する。今回指令が減速区間を開始する直前である場合、判定が満たされ、ステップＳ１０へ戻り、同様の手順を繰り返す。一方、今回指令がまだ減速区間を開始する直前でない場合、判定は満たされず、次のステップＳ８０へ移る。
【０１０２】
ステップＳ８０では、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が１であるか否かを判定する。言い換えれば、ステップＳ７０では、今回指令のみによって移動している状態であるか否かが判定される。状態フラグＦの値が１である場合、判定が満たされ、そのままステップＳ１００の移動制御処理へ移って今回指令の実行のみを継続する。一方、状態フラグＦの値が１でない場合、次のステップＳ８５へ移る。
【０１０３】
ステップＳ８５では、数値制御装置９のＣＰＵ１１１は、前回指令による移動行程が終了したか否かを判定する。前回指令がまだ終了していない場合、判定は満たされず、そのままステップＳ１００の移動制御処理へ移って同様の前回指令のみの実行、又は前回指令と今回指令の合成接続による実行を継続する。一方、前回指令が終了していた場合、判定が満たされ、次のステップＳ９０で前回指令と前回指令実行パラメータを削除してからステップＳ３０で状態フラグＦの値を１とし、ステップＳ１００へ移って今回指令のみを実行する。
【０１０４】
上記図１２中のステップＳ１００において実行される移動制御処理の詳細手順を、図１３に示す。
【０１０５】
まず、ステップＳ１０５で、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が０であるか否かを判定する。言い換えれば、ステップＳ１０５では、停止中の状態であるか否かが判定される。状態フラグＦの値が０である場合、判定が満たされ、そのままこのフローを終了する。一方、状態フラグＦの値が０以外である場合、判定は満たされず、すなわち、すでに何らかの移動指令の実行による移動が行われている最中であるものとみなされ、次のステップＳ１１０へ移る。
【０１０６】
ステップＳ１１０では、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が２であるか否かを判定する。言い換えれば、ステップＳ１０５では、前回指令と今回指令の２つが読み込まれているにもかかわらず、それらが合成接続できないために、この時点では前回指令のみで移動を実行し今回指令を待機させている状態であるか否か、が判定される。状態フラグＦの値が２である場合、判定が満たされ、ステップＳ１１５で今回入力電圧の値を０とした後にステップＳ１４５へ移る。一方、状態フラグＦの値が２でない場合、判定が満たされず、次のステップＳ１２０へ移る。
【０１０７】
ステップＳ１２０では、数値制御装置９のＣＰＵ１１１は、今回指令はまだ実行を開始していないか否かを判定する。言い換えれば、ステップＳ１２０では、今回処理実行パラメータの指令開始時がまだ未設定の状態であるか否かが判定される。今回指令が既に実行開始している場合、判定は満たされず、そのままステップＳ１３５へ移る。一方、今回指令がまだ実行を開始していない場合、判定が満たされ、次のステップＳ１２５へ移る。
【０１０８】
ステップＳ１２５では、数値制御装置９のＣＰＵ１１１は、今回処理実行パラメータの指令開始時をこの時点の現在時刻に設定する。これにより、この時点で今回指令に設定されている移動指令の移動行程は、この指令開始時を開始基準時として順に増速区間、等速区間、及び減速区間の行程を行う。
【０１０９】
次にステップＳ１３５へ移り、数値制御装置９のＣＰＵ１１１は、上記今回入力電圧算出部２０４において今回処理実行パラメータの指令開始時及び等速区間速度の設定に基づき、この時点の移動行程に対応する今回入力電圧の値を算出する。
【０１１０】
次にステップＳ１４０へ移り、数値制御装置９のＣＰＵ１１１は、この時点で状態フラグＦの値が１であるか否かを判定する。言い換えれば、ステップＳ１４０では、今回指令のみによって移動が実行されている状態であるか否かが判定される。状態フラグＦの値が１でない場合、判定は満たされず、次のステップＳ１４５へ移る。
【０１１１】
ステップＳ１４５では、数値制御装置９のＣＰＵ１１１は、上記前回入力電圧算出部２０３において前回処理実行パラメータの指令開始時及び等速区間速度の設定に基づき、この時点の移動行程に対応する今回入力電圧の値を算出する。
【０１１２】
次にステップＳ１５０へ移り、数値制御装置９のＣＰＵ１１１は、この時点の前回入力電圧と今回入力電圧のそれぞれの値の和をサーボ入力電圧として算出し、次のステップＳ１５５でこのサーボ入力電圧をサーボ制御部に入力して各軸モータ１５，１３１，１３２のいずれかの駆動を制御する。そして、このフローを終了する。
【０１１３】
一方、上記ステップＳ１４０の判定において、状態フラグＦの値が１である場合、判定が満たされ、次のステップＳ１６０で前回入力電圧の値を０とした後にステップＳ１６５へ移る。
【０１１４】
ステップＳ１６５では、数値制御装置９のＣＰＵ１１１は、今回指令による移動行程が終了したか否かを判定する。今回指令がまだ終了していない場合、判定は満たされず、そのままステップＳ１５０へ移る。一方、今回指令が終了していた場合、判定が満たされ、次のステップＳ１７０で今回指令と今回指令実行パラメータを削除すると共に状態フラグＦの値を０とし、ステップＳ１５０へ移る。
【０１１５】
以上のフローを実行することにより、上記ステップＳ１５０の手順において、状態フラグの値が０である場合には、サーボ入力電圧が０で算出される。また、状態フラグの値が１である場合には、上記ステップＳ１３５で算出された今回入力電圧のみでサーボ入力電圧が算出される。また、状態フラグの値が２である場合には、上記ステップＳ１４５で算出された前回入力電圧のみでサーボ入力電圧が算出される。また、状態フラグの値が３である場合には、上記ステップＳ１３５で算出された今回入力電圧と上記ステップＳ１４５で算出された前回入力電圧の和でサーボ入力電圧が算出される。このように状態フラグの各値に対応してサーボ入力電圧が算出され、各軸モータ１５，１３１，１３２のいずれかの駆動を制御する。
【０１１６】
以上において、上記図１３のフローにおけるステップＳ１４５の手順が第１速度演算手段として機能し、ステップＳ１３５の手順が第２速度演算手段として機能し、ステップＳ１５０の手順が速度合成手段として機能し、上記図１２のフローにおけるステップＳ７５の手順が減速開始判断手段として機能し、ステップＳ１０の手順が取り込み手段として機能し、ステップＳ４０の手順が判断手段として機能し、ステップＳ５０の手順が速度判断手段として機能し、ステップＳ５５の手順が変更手段として機能する。
【０１１７】
以上説明したように、本実施形態においては、今回指令の移動量と、固定の加速度とに基づいて、今回指令が通常等速速度に到達できるか否かを、判断する（ステップＳ５０）。通常等速速度に到達できないと判断した場合は、そのままでは、合成した指令による減速区間の減速度が過度に大きくなるおそれがあるとみなし、等速区間速度の変更を行う（ステップＳ５５）。その変更された等速区間速度に基づいて今回指令の単位時間当たりの実行速度を演算し（ステップＳ１３５）、ステップＳ１５０で、ステップＳ１３５で演算した実行速度とステップＳ１４５で演算した実行速度とを合成する。これにより、前述のように減速区間の減速度が過度に大きくなるのを防止することができる。この結果、工作機械の健全性を維持し、安全に稼働することができる。
【０１１８】
また、この実施形態では特に、今回指令の移動量が前回指令の移動量と同等以上かあまり小さくない場合には、従来通り、それら２つの指令を合成接続した指令により、通常等速速度に達しながらの位置決め制御を行うことができる（ステップＳ５０→ステップＳ６０の流れを参照）。
【０１１９】
また、この実施形態では特に、主軸ヘッド６を工具交換準備位置であるＺ軸原点へ位置決めするＺ軸方向の前回指令の後、ステップＳ１０で、Ｚ軸原点から当該Ｚ軸原点の上方又は下方の位置へ位置決めを行うＺ軸方向の今回指令を取り込む。ステップＳ４０で、Ｚ軸方向の前回指令の上下方向と、Ｚ軸方向の今回指令の上下方向とが、互いに一致するか判断する。ステップＳ５０で、Ｚ軸方向の今回指令が、Ｚ軸方向における通常等速速度に到達できるか否かを判断する。
【０１２０】
これにより、工具交換の際の、Ｚ軸原点を挟んでの上方への移動時、若しくは、Ｚ軸原点を挟んでの下方への移動時に、大きな減速度による悪影響を防止できる。すなわち、Ｚ軸原点への前回指令と、Ｚ軸原点からの今回指令との合成接続により、減速区間の減速度が過度に大きくなるのを防止することができる。特に、工具交換の場合、主軸ヘッド６は、工具交換装置２と係合することがある。主軸ヘッド６と工具交換装置２と係合する場合に、主軸ヘッド６が大きな減速度で移動すると、工具交換装置２を破損するという問題が発生する。上記実施形態では、主軸ヘッド６は、大きな減速度で移動することがないので、工具交換装置２が破損することはない。
【０１２１】
なお、上記実施形態では、前回指令及び今回指令はいずれもＺ軸方向の移動（特に工具交換）のみに限定して説明していたが、本発明はこれに限られない。すなわち、図１４に示すように、複数の軸に沿った正又は負の方向がいずれも同じである連続した２つの移動指令Ｎ１，Ｎ２であれば、上記同様にして、本発明の手法を適用することができる。
【０１２２】
工具交換装置２は、上記実施形態のものに限らず、工具交換のために主軸ヘッド６が移動する形式のものなら何れのものでもよい。
【０１２３】
また、上記実施形態では、工具交換準備位置は、Ｚ軸原点位置である主軸ヘッド６を、主軸２２に装着された切削工具７を工具交換装置２に装着する位置であり、工具交換装置２に装着された切削工具７を主軸２２に装着する位置としているが、Ｚ軸原点位置よりも下方の位置であってもよい。Ｚ軸原点位置は、主軸ヘッド６と、工具交換装置２とが係合する直前の位置であってもよい。この場合、主軸２２は、切削工具７を装着した状態である。
【符号の説明】
【０１２４】
１                        工作機械
６                        主軸ヘッド
１５                      Ｚ軸モータ
２２                      主軸
２３                      主軸モータ
１１１                    ＣＰＵ
１３１                    Ｘ軸モータ
１３２                    Ｙ軸モータ
２０１                    ＮＣプログラム解読部
２０２                    移動指令実行部
２０３                    前回入力電圧算出部
２０４                    今回入力電圧算出部
２０５                    サーボ制御部
３０１                    ＮＣプログラム
【図１】
0005413085.tif 000002
【図２】
0005413085.tif 000003
【図３】
0005413085.tif 000004
【図４】
0005413085.tif 000005
【図５】
0005413085.tif 000006
【図６】
0005413085.tif 000007
【図７】
0005413085.tif 000008
【図８】
0005413085.tif 000009
【図９】
0005413085.tif 000010
【図１０】
0005413085.tif 000011
【図１１】
0005413085.tif 000012
【図１２】
0005413085.tif 000013
【図１３】
0005413085.tif 000014
【図１４】
0005413085.tif 000015