(57)【要約】【課題】ワーク及び工具の移動方向が異なる移動方向を含む場合においてワークの加工精度を向上することが可能な工作機械の数値制御装置を提供する。【解決手段】この工作機械２の数値制御装置４は、第１次分配パルス算出部１８によって算出された各算出サイクル毎の第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内にそれぞれ分配した後、各サイクル毎に積算した第２次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出するとともに、その第２次分配パルスの算出を分配区間の始点から前記対応する算出サイクルまでの範囲における第１次分配パルスの分配量と、前記対応する算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが均等化するように分配区間の位置を調整しながら行う第２次分配パルス算出部２０を備える。【選択図】図２
2010055161.tif 000002
【特許請求の範囲】
【請求項１】
ワークを少なくとも１つの移動方向に移動させるワーク移動装置と、前記ワークを加工するための工具を少なくとも１つの移動方向に移動させる工具移動装置とを備え、前記ワークの移動方向及び前記工具の移動方向が互いに異なる第１移動方向と第２移動方向とを含むとともに、その第１移動方向への移動の加減速時定数と第２移動方向への移動の加減速時定数とが互いに異なる値に設定される工作機械に設けられ、前記ワーク移動装置と前記工具移動装置のうち少なくとも一方の駆動を制御するための工作機械の数値制御装置であって、
前記ワーク及び前記工具の少なくとも一方の移動指令に含まれる前記第１移動方向への移動量及び前記第２移動方向への移動量をそれぞれ所定の算出サイクル毎に分配した第１次分配パルスを算出する第１次分配パルス算出部と、
前記第１次分配パルス算出部によって算出された前記所定の算出サイクル毎の前記第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の前記加減速時定数を区間幅とする分配区間の範囲内において前記対応する算出サイクルの前後に分配した後、前記算出サイクル毎に積算した第２次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出する第２次分配パルス算出部と、
前記第２次分配パルス算出部によって算出された前記第２次分配パルスに基づいて前記工具移動装置及び前記ワーク移動装置の少なくとも一方を駆動させる駆動制御部とを備えた、工作機械の数値制御装置。
【請求項２】
前記第２次分配パルス算出部は、前記第２次分配パルスの算出を、前記分配区間の始点から前記対応する算出サイクルまでの範囲における前記第１次分配パルスの分配量と、前記対応する算出サイクルから前記分配区間の終点までの範囲における前記第１次分配パルスの分配量とが均等化するように前記分配区間の位置を調整しながら行う、請求項１に記載の工作機械の数値制御装置。
【請求項３】
ワークを少なくとも１つの移動方向に移動させるワーク移動装置と、前記ワークを加工するための工具を少なくとも１つの移動方向に移動させる工具移動装置とを備え、前記ワークの移動方向及び前記工具の移動方向が互いに異なる第１移動方向と第２移動方向とを含む工作機械に設けられ、前記ワーク移動装置と前記工具移動装置のうち少なくとも一方の駆動を制御するための工作機械の数値制御装置であって、
前記ワーク及び前記工具の少なくとも一方の移動指令に含まれる前記第１移動方向への移動量及び前記第２移動方向への移動量をそれぞれ所定の算出サイクル毎に分配した第１次分配パルスを算出する第１次分配パルス算出部と、
前記第１次分配パルス算出部によって算出された前記所定の算出サイクル毎の前記第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内にそれぞれ分配した後、前記算出サイクル毎に積算した第２次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出するとともに、その第２次分配パルスの算出を、前記分配区間の始点から前記対応する算出サイクルまでの範囲における前記第１次分配パルスの分配量と、前記対応する算出サイクルから前記分配区間の終点までの範囲における前記第１次分配パルスの分配量とが均等化するように前記分配区間の位置を調整しながら行う第２次分配パルス算出部と、
前記第１次分配パルスに従って移動した場合の前記算出サイクル毎の位置に相当する第１次分配位置と、前記第２次分配パルスに従って移動した場合の前記算出サイクル毎の位置に相当する第２次分配位置との差である分配誤差を前記第１移動方向と前記第２移動方向のそれぞれについて算出するとともに、その算出した分配誤差に基づいて前記第２次分配位置を補正し、その補正した結果から前記算出サイクル毎の移動量である第３次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出する第３次分配パルス算出部と、
前記第３次分配パルス算出部によって算出された前記第３次分配パルスに基づいて前記ワーク移動装置及び前記工具移動装置の少なくとも一方を駆動させる駆動制御部とを備えた、工作機械の数値制御装置。
【請求項４】
前記第３次分配パルス算出部は、前記第１次分配パルスに基づいて前記第１次分配位置を算出するとともに、前記第２次分配パルスに基づいて前記第２次分配位置を算出し、それら算出した両分配位置の差を算出することによって前記分配誤差を算出する分配誤差算出部と、前記分配誤差算出部によって算出された前記分配誤差についてその変化の小さい緩変化部分はそのまま用いるとともに、変化の大きい急変化部分はその変化が緩やかになるように調整することによって誤差補正パルスを算出する誤差補正パルス算出部と、前記分配誤差算出部によって算出された前記第２次分配位置から前記誤差補正パルス算出部によって算出された前記誤差補正パルスを差し引いて第３次分配位置を算出し、その算出した第３次分配位置から前記第３次分配パルスを算出する分配誤差補正部とを含む、請求項３に記載の工作機械の数値制御装置。
【請求項５】
前記第１次分配パルス算出部は、前記移動指令に基づいて、前記分配誤差算出部によって算出される前記分配誤差のうち前記緩変化部分に該当する算出サイクルと前記急変化部分に該当する算出サイクルとを予め判別し、
前記誤差補正パルス算出部は、前記第１次分配パルス算出部による判別結果に基づいて、前記分配誤差算出部によって算出された前記分配誤差のうち前記緩変化部分と前記急変化部分とを判断する、請求項４に記載の工作機械の数値制御装置。
【請求項６】
前記第１次分配パルス算出部は、前記移動指令が複数の直線移動を連続して実行させるものである場合に、前記第１次分配パルスが前記各直線移動の始点又は終点を含む場合にはその第１次分配パルスに対応する前記算出サイクルを前記緩変化部分に該当する算出サイクルと判別する一方、前記第１次分配パルスが前記各直線移動の始点及び終点のどちらも含まない場合にはその第１次分配パルスに対応する前記算出サイクルを前記急変化部分に該当する算出サイクルと判別する、請求項５に記載の工作機械の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械の数値制御装置に関するものである。
【背景技術】
【０００２】
従来、工作機械の一例として、クランクシャフトを旋削するための旋削装置が知られている（例えば、特許文献１参照）。
【０００３】
この特許文献１に開示された旋削装置は、ワークとしてのクランクシャフトを支持しながら当該クランクシャフトのメインジャーナルの軸であるＣ軸回りに回転させるワーク移動装置と、切削加工のための工具を前記Ｃ軸に直交するＸ軸方向へ直線移動させるとともに前記Ｃ軸に平行なα軸を中心として揺動させる工具移動装置とを備えている。そして、この旋削装置では、ワーク移動装置によりクランクシャフトを前記Ｃ軸回りに回転させるとともに、工具移動装置による工具の前記Ｘ軸方向への直線移動と前記α軸を中心とした揺動とをＮＣ制御することによって、クランクシャフトのメインジャーナルから偏心したピンジャーナルを偏心回転させながらその偏心回転に追従するように前記工具を移動させて前記ピンジャーナルの旋削加工を行うようになっている。
【特許文献１】特開２００３−２６６２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記のような旋削装置を含め、一般的な工作機械では、ワーク及び工具の移動方向が異なる移動方向を含む場合に加工誤差が生じ、それに起因してワークの加工精度が低下するという問題点がある。
【０００５】
前記加工誤差の１つの要因としては、ワーク及び工具を複数の異なる移動方向に互いに異なる加減速時定数で移動させる場合に生じる各移動方向間での位相誤差が挙げられる。これは、各移動方向で異なる加減速時定数が設定されることによってその各移動方向間で加減速にかかる時間に差が生じ、その結果、各移動方向間で位相誤差が生じるものである。
【０００６】
また、前記加工誤差の別の要因としては、例えば所定位置で移動方向を変化させるとともに移動速度を急激に変化させる移動指令が出されている場合に、前記所定位置においてワーク及び工具が移動指令のパスよりも実際には内側を通るといういわゆる内回り誤差が挙げられる。
【０００７】
具体的には、工作機械では、移動指令によって指示される各移動方向への移動量を所定の算出サイクル毎に均等に第１次分配することによって第１次分配パルスを算出し、その後、各算出サイクル毎の第１次分配パルスをその対応する算出サイクル以降の分配区間に第２次分配し、かつ、各算出サイクル毎に積算することによって算出した第２次分配パルスに従ってワーク及び工具を移動させる制御が一般的に行われている。このような制御により、移動指令ではワーク及び工具の移動速度が急激に変化する場合でも、前記第２次分配によってその移動速度の急激な変化が緩和されて工作機械に与えられるショックが和らげられる。しかし、その一方で、前記第２次分配によって移動速度の変化（加減速）が緩やかにされた分、移動指令に従った移動位置に対して第２次分配パルスに従った移動位置には遅れが生じる。これにより、前記所定位置に達する前に変化後の移動方向への移動が始まり、前記内回り誤差が生じる。
【０００８】
本発明は、上記の課題を解決するためになされたものであり、その目的は、ワーク及び工具の移動方向が異なる移動方向を含む場合においてワークの加工精度を向上することが可能な工作機械の数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明による工作機械の数値制御装置は、ワークを少なくとも１つの移動方向に移動させるワーク移動装置と、前記ワークを加工するための工具を少なくとも１つの移動方向に移動させる工具移動装置とを備え、前記ワークの移動方向及び前記工具の移動方向が互いに異なる第１移動方向と第２移動方向とを含むとともに、その第１移動方向への移動の加減速時定数と第２移動方向への移動の加減速時定数とが互いに異なる値に設定される工作機械に設けられ、前記ワーク移動装置と前記工具移動装置のうち少なくとも一方の駆動を制御するための工作機械の数値制御装置であって、前記ワーク及び前記工具の少なくとも一方の移動指令に含まれる前記第１移動方向への移動量及び前記第２移動方向への移動量をそれぞれ所定の算出サイクル毎に分配した第１次分配パルスを算出する第１次分配パルス算出部と、前記第１次分配パルス算出部によって算出された前記所定の算出サイクル毎の前記第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の前記加減速時定数を区間幅とする分配区間の範囲内において前記対応する算出サイクルの前後に分配した後、前記算出サイクル毎に積算した第２次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出する第２次分配パルス算出部と、前記第２次分配パルス算出部によって算出された前記第２次分配パルスに基づいて前記工具移動装置及び前記ワーク移動装置の少なくとも一方を駆動させる駆動制御部とを備えている。
【００１０】
この工作機械の数値制御装置では、第２次分配パルス算出部が、所定の算出サイクル毎の第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内において前記対応する算出サイクルの前後に分配した後、算出サイクル毎に積算した第２次分配パルスを第１移動方向と第２移動方向のそれぞれについて算出するので、第１次分配パルスを前記対応する算出サイクル以降の分配区間のみに分配して第２次分配パルスを求める場合に比べて、第１移動方向と第２移動方向のそれぞれにおいて、移動開始から一定速度まで加速した時点で、第２次分配パルスに従って移動した場合の位置に相当する第２次分配位置を、前記最初の算出サイクルから前記一定速度で等速で移動した場合の位置、すなわち第１次分配パルスに従って移動した場合の位置に相当する第１次分配位置に近づけることができる。換言すれば、各移動方向への移動が全て一定速度に達した時点では、互いに位相誤差のない第１移動方向の第１次分配位置と第２移動方向の第１次分配位置にそれぞれ対応する移動方向の第２次分配位置を近づけることができ、その時点で両移動方向の第２次分配位置間の誤差を低減することができる。その結果、ワークの加工誤差を低減することができるので、この工作機械の数値制御装置では、ワーク及び工具の移動方向が異なる移動方向を含む場合においてワークの加工精度を向上させることができる。
【００１１】
上記工作機械の数値制御装置において、前記第２次分配パルス算出部は、前記第２次分配パルスの算出を、前記分配区間の始点から前記対応する算出サイクルまでの範囲における前記第１次分配パルスの分配量と、前記対応する算出サイクルから前記分配区間の終点までの範囲における前記第１次分配パルスの分配量とが均等化するように前記分配区間の位置を調整しながら行うことが好ましい。
【００１２】
このように構成すれば、第１移動方向と第２移動方向のそれぞれにおいて、少なくとも等速移動指令のもとでは、移動開始から一定速度まで加速した時点で、前記第２次分配位置を前記第１次分配位置に一致させることができ、前記一定速度まで加速した時点で両移動方向の第２次分配位置間の誤差を完全に解消することができる。また、それ以外の移動指令、例えば速度変化を伴う移動指令のもとでは、移動開始から一定速度まで加速した時点で、上記第１次分配パルスを対応する算出サイクルを跨ぐ分配区間においてその対応する算出サイクルの前後に分配するがその前後の第１次分配パルスの分配量が均等でない場合に比べて、前記第２次分配位置を前記第１次分配位置により近づけることができ、前記一定速度まで加速した時点で両移動方向の第２次分配位置間の誤差をより小さくすることができる。従って、本構成では、工作機械によるワークの加工精度をより向上させることができる。
【００１３】
また、本発明による工作機械の数値制御装置は、ワークを少なくとも１つの移動方向に移動させるワーク移動装置と、前記ワークを加工するための工具を少なくとも１つの移動方向に移動させる工具移動装置とを備え、前記ワークの移動方向及び前記工具の移動方向が互いに異なる第１移動方向と第２移動方向とを含む工作機械に設けられ、前記ワーク移動装置と前記工具移動装置のうち少なくとも一方の駆動を制御するための工作機械の数値制御装置であって、前記ワーク及び前記工具の少なくとも一方の移動指令に含まれる前記第１移動方向への移動量及び前記第２移動方向への移動量をそれぞれ所定の算出サイクル毎に分配した第１次分配パルスを算出する第１次分配パルス算出部と、前記第１次分配パルス算出部によって算出された前記所定の算出サイクル毎の前記第１次分配パルスを、対応する算出サイクルを跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内にそれぞれ分配した後、前記算出サイクル毎に積算した第２次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出するとともに、その第２次分配パルスの算出を、前記分配区間の始点から前記対応する算出サイクルまでの範囲における前記第１次分配パルスの分配量と、前記対応する算出サイクルから前記分配区間の終点までの範囲における前記第１次分配パルスの分配量とが均等化するように前記分配区間の位置を調整しながら行う第２次分配パルス算出部と、前記第１次分配パルスに従って移動した場合の前記算出サイクル毎の位置に相当する第１次分配位置と、前記第２次分配パルスに従って移動した場合の前記算出サイクル毎の位置に相当する第２次分配位置との差である分配誤差を前記第１移動方向と前記第２移動方向のそれぞれについて算出するとともに、その算出した分配誤差に基づいて前記第２次分配位置を補正し、その補正した結果から前記算出サイクル毎の移動量である第３次分配パルスを前記第１移動方向と前記第２移動方向のそれぞれについて算出する第３次分配パルス算出部と、前記第３次分配パルス算出部によって算出された前記第３次分配パルスに基づいて前記ワーク移動装置及び前記工具移動装置の少なくとも一方を駆動させる駆動制御部とを備えている。
【００１４】
この工作機械の数値制御装置では、第２次分配パルス算出部が、前記分配区間の始点から前記対応する算出サイクルまでの範囲における第１次分配パルスの分配量と、前記対応する算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが均等化するように分配区間の位置を調整しながら第２次分配パルスの算出を行うため、第１次分配位置に対する第２次分配位置の位相の遅れをなくすことができ、第１次分配位置と第２次分配位置との差である分配誤差に、位相の遅れの影響が除去された実際の分配誤差のみが含まれるようにすることができる。これにより、分配誤差に基づいて第２次分配位置を補正した結果から算出される第３次分配パルスに従った移動では、前記実際の分配誤差に起因する内回り誤差を解消することができる。
【００１５】
従来の第１次分配パルスを対応する算出サイクル以降の分配区間のみに第２次分配して第２次分配パルスを算出するような構成では、その第２次分配の仕方に起因して第１次分配パルスに従って移動した場合の第１次分配位置に対して第２次分配パルスに従って移動した場合の第２次分配位置に位相の遅れが生じる。このため、この構成では、第１次分配位置と第２次分配位置との差の中に、実際の分配誤差と、前記位相の遅れとが混ざって含まれ、それらを分けることができない。これにより、第１次分配位置と第２次分配位置との差である分配誤差に基づいて第２次分配位置を補正し、その補正した結果に基づいて第３次分配パルスを求めたとしても、前記実際の分配誤差に起因して発生する内回り誤差の要素のみを排除した第３次分配パルスを求めることができない。
【００１６】
これに対して、本発明による工作機械の数値制御装置では、上記したような第２次分配の仕方によって、第１次分配位置に対する第２次分配位置の前記位相の遅れをなくすことができ、第１次分配位置と第２次分配位置との差である分配誤差に前記位相の遅れが含まれず、前記実際の分配誤差のみが含まれるようにすることができる。このため、この分配誤差に基づいて第２次分配位置を補正した結果では、前記位相の遅れによる誤差の影響を排除しつつ、前記実際の分配誤差の分を補正することが可能であるので、その補正後の結果から求めた第３次分配パルスでは、前記実際の分配誤差に起因して発生する内回り誤差の要素を有効に排除することができる。その結果、第３次分配パルスに従った移動では、内回り誤差を解消することができる。従って、この工作機械の数値制御装置では、ワーク及び工具の移動方向が異なる移動方向を含む場合においてワークの加工精度を向上させることができる。
【００１７】
この場合において、前記第３次分配パルス算出部は、前記第１次分配パルスに基づいて前記第１次分配位置を算出するとともに、前記第２次分配パルスに基づいて前記第２次分配位置を算出し、それら算出した両分配位置の差を算出することによって前記分配誤差を算出する分配誤差算出部と、前記分配誤差算出部によって算出された前記分配誤差についてその変化の小さい緩変化部分はそのまま用いるとともに、変化の大きい急変化部分はその変化が緩やかになるように調整することによって誤差補正パルスを算出する誤差補正パルス算出部と、前記分配誤差算出部によって算出された前記第２次分配位置から前記誤差補正パルス算出部によって算出された前記誤差補正パルスを差し引いて第３次分配位置を算出し、その算出した第３次分配位置から前記第３次分配パルスを算出する分配誤差補正部とを含むことが好ましい。
【００１８】
このように構成すれば、第２次分配パルスから前記位相の遅れの要素を排除した第３次分配パルスを算出することが可能な第３次分配パルス算出部の具体的な構造を構成することができる。さらに、この構成では、第１次分配位置と第２次分配位置との差である分配誤差に、前記位相の遅れが含まれず、前記実際の分配誤差のみが含まれるので、前記位相の遅れに邪魔されずに、分配誤差のうち前記緩変化部分と前記急変化部分との判別が可能となる。前記急変化部分は、移動指令において急激な加減速が指示されている部分を第２次分配によって加減速を緩和させた効果が含まれる部分である。このため、誤差補正パルス算出部による誤差補正パルスの算出時に、分配誤差のうち急変化部分の変化が緩やかになるように調整して誤差補正パルスを求めることにより、第２次分配位置からその誤差補正パルスを差し引いて第３次分配位置を算出し、その第３次分配位置から求めた第３次分配パルスでは、前記第２次分配による移動指令の急激な加減速の緩和効果を有効に維持することができる。一方、前記緩変化部分は、第１次分配パルスを第２次分配することによって生じる意図しない分配誤差を示す部分であり、この緩変化部分はそのまま用いて誤差補正パルスを求めることにより、第２次分配位置からその誤差補正パルスを差し引いて第３次分配位置を算出し、その第３次分配位置から求めた第３次分配パルスでは、前記意図しない分配誤差の影響を排除することができる。
【００１９】
さらにこの場合において、前記第１次分配パルス算出部は、前記移動指令に基づいて、前記分配誤差算出部によって算出される前記分配誤差のうち前記緩変化部分に該当する算出サイクルと前記急変化部分に該当する算出サイクルとを予め判別し、前記誤差補正パルス算出部は、前記第１次分配パルス算出部による判別結果に基づいて、前記分配誤差算出部によって算出された前記分配誤差のうち前記緩変化部分と前記急変化部分とを判断してもよい。
【００２０】
このように構成すれば、誤差補正パルス算出部において前記分配誤差のうち緩変化部分と急変化部分とを判断するための具体的な構成を得ることができる。
【００２１】
この場合において、前記第１次分配パルス算出部は、前記移動指令が複数の直線移動を連続して実行させるものである場合に、前記第１次分配パルスが前記各直線移動の始点又は終点を含む場合にはその第１次分配パルスに対応する前記算出サイクルを前記緩変化部分に該当する算出サイクルと判別する一方、前記第１次分配パルスが前記各直線移動の始点及び終点のどちらも含まない場合にはその第１次分配パルスに対応する前記算出サイクルを前記急変化部分に該当する算出サイクルと判別してもよい。
【００２２】
このように構成すれば、第１次分配パルスが前記各直線移動の始点又は終点を含む場合には、その第１次分配パルスに対応する算出サイクルでは、分配誤差がそのまま第２次分配位置から差し引かれて第３次分配位置が求められる一方、第１次分配パルスが前記各直線移動の始点及び終点のどちらも含まない場合には、その第１次分配パルスに対応する算出サイクルでは、分配誤差の変化が緩やかなるように調整された値が第２次分配位置から差し引かれて第３次分配位置が求められる。従って、その各第３次分配位置から求めた第３次分配パルスに従った移動の軌跡では、前記移動指令の各直線移動の各終点の位置が維持される一方、その各終点間に位置する各直線移動の中間部分には、第１次分配パルスの変化を第２次分配によって緩やかな変化に変える効果が反映されて前記各終点間を滑らかに曲線で繋いだ軌跡となる。その結果、移動指令の複数の直線移動を連続して行う動きを滑らかな曲線的な動きに補正することができる。
【発明の効果】
【００２３】
以上説明したように、本発明によれば、ワーク及び工具の移動方向が異なる移動方向を含む場合においてワークの加工精度を向上することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施形態を図面を参照して説明する。
【００２５】
（第１実施形態）
図１は、本発明の第１実施形態による数値制御装置４を適用した工作機械２の概略的な平面図である。図２は、本発明の第１実施形態による数値制御装置４の構成を説明するためのブロック図である。図３は、第１次分配パルスを説明するための図であり、図４は、第２次分配パルス、第１次分配位置及び第２次分配位置の相互間の関係を示す図である。まず、図１〜図４を参照して、本発明の第１実施形態による工作機械２の数値制御装置４の構成について説明する。
【００２６】
この第１実施形態による数値制御装置４は、図１に示すような工作機械２に設けられている。この工作機械２は、円筒形状のワークＷの外周面に螺旋溝を形成する大型旋盤であって、ワークＷをその軸心を通るＣ軸回りに回転させるワーク移動装置６と、ワークＷを切削加工するための工具としてのバイト８をワークＷの軸心に平行なＺ軸方向と、そのＺ軸方向に直交するＸ軸方向とにそれぞれ移動させる工具移動装置１０とを備えている。なお、Ｃ軸回り、Ｚ軸方向及びＸ軸方向は、本発明の移動方向の概念に含まれるものである。
【００２７】
ワーク移動装置６は、チャック６ａでワークＷの端部を保持し、その状態でワークＷをＣ軸回りに回転させるようになっている。また、工具移動装置１０は、バイト８を保持する刃物台１０ａを有しており、この刃物台１０ａをＸ軸方向及びＺ軸方向に移動させることによりバイト８をＸ軸方向及びＺ軸方向に移動させるようになっている。ワーク移動装置６及び工具移動装置１０は、駆動源としての図略のサーボモータをそれぞれ有しており、このサーボモータの駆動制御によりワークＷのＣ軸回りの回転もしくはバイト８のＸ軸方向及びＺ軸方向への移動がＮＣ制御されるようになっている。
【００２８】
そして、ワーク移動装置６は、寸法が大きくかつ大重量のワークＷを回転させるため、そのＣ軸回りの回転の加減速時定数は比較的大きな値に設定される。これに対して、工具移動装置１０では、バイト８及び刃物台１０ａの寸法及び重量が比較的小さいため、そのＸ軸方向及びＺ軸方向への移動の加減速時定数は、前記ワーク移動装置６におけるＣ軸回りの加減速時定数よりも小さい値に設定可能である。なお、Ｘ軸方向及びＺ軸方向の加減速時定数をＣ軸回りの加減速時定数と同じ大きな値に設定することも可能であるが、この場合には、内回り誤差が増大するという不都合が生じる。このため、この第１実施形態では、Ｘ軸方向及びＺ軸方向への移動の加減速時定数は、Ｃ軸回りの加減速時定数よりも小さい値に設定される。ただし、Ｘ軸方向及びＺ軸方向への移動の加減速時定数をＣ軸回りの加減速時定数よりも小さい値に設定すると、Ｘ軸方向及びＺ軸方向のバイト８の位相に対してＣ軸回りのワークＷの位相が遅れ、それらの間に位相誤差が生じる。しかし、この第１実施形態では、後述するようにこの位相誤差が数値制御装置４の数値制御により解消可能となっている。
【００２９】
この第１実施形態による数値制御装置４は、上記のような構成の工作機械２において、ワーク移動装置６と工具移動装置１０の駆動を制御するものである。この数値制御装置４は、図２に示すように、ＮＣプログラム記憶部１２と、時定数記憶部１４と、ＮＣプログラム読み取り部１６と、第１次分配パルス算出部１８と、データ記憶部１９と、第２次分配パルス算出部２０と、駆動制御部２２とを有する。
【００３０】
ＮＣプログラム記憶部１２は、ワーク移動装置６及び工具移動装置１０に対する移動指令としてのＮＣプログラムが記憶される部分である。このＮＣプログラム記憶部１２に記憶されるＮＣプログラムには、送り速度（前記各移動方向への移動速度の合成速度）及び前記各移動方向への移動量の指令が含まれる。
【００３１】
時定数記憶部１４は、前記Ｃ軸回りの加減速時定数、前記Ｘ軸方向の加減速時定数及び前記Ｚ軸方向の加減速時定数と、後述する算出サイクルの時間長さとを記憶する部分である。
【００３２】
ＮＣプログラム読み取り部１６は、工作機械２の使用者によるＮＣプログラムの入力を受け付けるとともに、その入力されたＮＣプログラムを前記ＮＣプログラム記憶部１２に記憶させて管理する。さらに、このＮＣプログラム読み取り部１６は、ＮＣプログラム記憶部１２に記憶させたＮＣプログラムを随時読み取るとともに、解析し、その内容に応じて第１次分配パルス算出部１８、第２次分配パルス算出部２０及び駆動制御部２２を適宜起動させる。
【００３３】
第１次分配パルス算出部１８は、ＮＣプログラム読み取り部１６が読み取って解析したＮＣプログラムが指示する送り速度に基づいて、そのＮＣプログラムに含まれるワークＷのＣ軸回りの回転量と、バイト８のＺ軸方向への移動量及びＸ軸方向への移動量をそれぞれ所定の算出サイクル毎に均等に分配した第１次分配パルスを算出するものである。換言すれば、この第１次分配パルス算出部１８が算出する第１次分配パルスは、ＮＣプログラムが指示する送り速度を満たすような等速度でＣ軸回りのワークＷの回転とＺ軸方向及びＸ軸方向へのバイト８の移動とがそれぞれ行われるものとして、ＮＣプログラムに含まれる各移動方向への移動量を所定の算出サイクル毎に均等に分配し、その各算出サイクル毎の微小な移動量として表すものとなる。
【００３４】
具体的には、ＮＣプログラムがワークＷのＣ軸回りの回転とバイト８のＺ軸方向への移動とを指示し、バイト８のＸ軸方向への移動を指示していない場合において、各算出サイクルｔ１，ｔ２，ｔ３，・・・毎（例えば１ｍｓｅｃ毎）のＣ軸回りの第１次分配パルスΔＣ１及びＺ軸方向の第１次分配パルスΔＺ１は、図３に示すように、それぞれ一定の値となる。
【００３５】
データ記憶部１９は、第１次分配パルス算出部１８によって算出された各算出サイクル毎のＣ軸回りの第１次分配パルス、Ｚ軸方向の第１次分配パルス及びＸ軸方向の第１次分配パルスを記憶する部分である。
【００３６】
第２次分配パルス算出部２０は、第１次分配パルス算出部１８によって算出された前記Ｃ軸回りの第１次分配パルス、前記Ｚ軸方向の第１次分配パルス及び前記Ｘ軸方向の第１次分配パルスをそれぞれ第２次分配した後、各算出サイクル毎に積算することにより、Ｃ軸回り、Ｚ軸方向及びＸ軸方向のそれぞれについて第２次分配パルスを算出するものである。この第２次分配パルス算出部２０は、第１次分配パルス算出部１８によって算出された後、データ記憶部１９に記憶された第１次分配パルスを読み取って第２次分配を行う。
【００３７】
具体的には、第２次分配パルス算出部２０が、図３に示したＣ軸回りの第１次分配パルスΔＣ１及びＺ軸方向の第１次分配パルスΔＺ１を第２次分配する場合には、第２次分配パルス算出部２０は、前記各算出サイクルｔ１，ｔ２，ｔ３，・・・毎のＣ軸回りの第１次分配パルスΔＣ１及びＺ軸方向の第１次分配パルスΔＺ１を、その対応する各算出サイクルｔ１，ｔ２，ｔ３，・・・を跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内にそれぞれ均等に分配する。この際、第２次分配パルス算出部２０は、Ｃ軸回りの第１次分配パルスΔＣ１の分配を、分配区間の始点から対応する算出サイクルまでの範囲におけるＣ軸回りの第１次分配パルスΔＣ１の分配量と、対応する算出サイクルから分配区間の終点までの範囲におけるＣ軸回りの第１次分配パルスΔＣ１の分配量とが等しくなるように分配区間の位置を調整しながら行うとともに、Ｚ軸方向の第１次分配パルスΔＺ１の分配を、分配区間の始点から対応する算出サイクルまでの範囲におけるＺ軸方向の第１次分配パルスΔＺ１の分配量と、対応する算出サイクルから分配区間の終点までの範囲におけるＺ軸方向の第１次分配パルスΔＺ１の分配量とが等しくなるように分配区間の位置を調整しながら行う。
【００３８】
例えば、各算出サイクルｔ１，ｔ２，ｔ３，・・・がそれぞれ１ｍｓｅｃ毎に設定されており、Ｃ軸回りの加減速時定数が５００ｍｓｅｃで、Ｚ軸方向の加減速時定数が１０ｍｓｅｃに設定されている場合には、算出サイクルｔ１のＣ軸回りの第１次分配パルスΔＣ１の分配区間は［ｔ１−２５０，ｔ１＋２４９］の範囲に設定され、その範囲内に算出サイクルｔ１の第１次分配パルスΔＣ１が更に微小な移動量として均等に分配される。また、算出サイクルｔ１のＺ軸方向の第１次分配パルスΔＺ１の分配区間は［ｔ１−５，ｔ１＋４］の範囲に設定され、その範囲内に算出サイクルｔ１の第１次分配パルスΔＺ１が更に微小な移動量として均等に分配される。換言すると、算出サイクルｔ１のＣ軸回りの第１次分配パルスΔＣ１の分配区間の中央点がその算出サイクルｔ１に一致するようになっているとともに、算出サイクルｔ１のＺ軸方向の第１次分配パルスΔＺ１の分配区間の中央点がその算出サイクルｔ１に一致するようになっている。そして、算出サイクルｔ２以降のＣ軸回りの第１次分配パルスΔＣ１及びＺ軸方向の第１次分配パルスΔＺ１も上記と同様にして徐々に分配区間を後にずらしながら分配されるようになっている。
【００３９】
そして、第２次分配パルス算出部２０は、上記のように各分配区間に分配したＣ軸回りの第１次分配パルスΔＣ１及びＺ軸方向の第１次分配パルスΔＺ１を１ｍｓｅｃの算出サイクル毎にそれぞれ積算する。これにより、図４に示すような第２次分配パルスΔＣ２，ΔＺ２が得られるようになっている。
【００４０】
Ｃ軸回りの回転の開始から一定速度まで加速する期間、すなわちＣ軸回りの回転開始からそのＣ軸回りの加減速時定数（５００ｍｓｅｃ）に対応する期間において、Ｃ軸回りの第２次分配パルスΔＣ２に従って移動した場合の移動量（回転量）は、前記各算出サイクルｔ１，ｔ２，ｔ３，・・・のうち最初の算出サイクルｔ１から前記第２次分配パルスΔＣ２において前記一定速度に達する時点までの期間に図３のＣ軸回りの第１次分配パルスΔＣ１に従って移動した場合の移動量（回転量）に等しくなる。また、Ｚ軸方向の移動の開始から一定速度まで加速する期間、すなわちＺ軸方向の移動開始からそのＺ軸方向の加減速時定数（１０ｍｓｅｃ）に対応する期間において、Ｚ軸方向の第２次分配パルスΔＺ２に従って移動した場合の移動量は、前記各算出サイクルｔ１，ｔ２，ｔ３，・・・のうち最初の算出サイクルｔ１から前記第２次分配パルスΔＺ２において前記一定速度に達する時点までの期間において図３のＺ軸方向の第１次分配パルスΔＺ１に従って移動した場合の移動量に等しくなる。換言すれば、Ｃ軸回りの回転が前記一定速度に達した時点において、そのＣ軸回りの位相が、前記最初の算出サイクルｔ１からＣ軸回りの回転を前記一定速度で行った場合の位相と等しくなるとともに、Ｚ軸方向の移動が前記一定速度に達した時点において、そのＺ軸方向の位相が、前記最初の算出サイクルｔ１からＺ軸方向の移動を前記一定速度で行った場合の位相と等しくなる。
【００４１】
そして、図４に示すように、Ｃ軸回りの第２次分配パルスΔＣ２に従って回転した場合のＣ軸回りの位置を表す第２次分配位置は、Ｃ軸回りの回転が一定速度に達した区間において、Ｃ軸回りの第１次分配パルスΔＣ１に従って回転した場合のＣ軸回りの位置を表す第１次分配位置と一致する。また、Ｚ軸方向の第２次分配パルスΔＺ２に従って移動した場合のＺ軸方向の位置を表す第２次分配位置は、Ｚ軸方向の移動が一定速度に達した区間において、Ｚ軸回りの第１次分配パルスΔＺ１に従って移動した場合のＺ軸方向の位置を表す第１次分配位置と一致する。このことは、一定速度に達するまでの期間が長い、すなわち加減速時定数が大きいＣ軸回りの回転が一定速度に達すると、そのＣ軸回りの回転の位相及びＺ軸方向への移動の位相が共にＮＣプログラムが指示する位相に一致することを意味し、それによってＣ軸回りとＺ軸方向との相互間の位相誤差が解消されるようになっている。
【００４２】
駆動制御部２２は、第２次分配パルス算出部２０によって算出された前記各移動方向の第２次分配パルスに基づいてワーク移動装置６及び工具移動装置１０を駆動させるものである。具体的には、駆動制御部２２は、第２次分配パルス算出部２０によって算出されたＣ軸回りの第２次分配パルスをワーク移動装置６のサーボモータ６ｂへ出力するとともに、Ｚ軸方向及びＸ軸方向の第２次分配パルスを工具移動装置１０のサーボモータ１０ｂへ出力する。ワーク移動装置６のサーボモータ６ｂは、駆動制御部２２から出力された各算出サイクル毎のＣ軸回りの第２次分配パルスに従って駆動し、その第２次分配パルスに従った各算出サイクル毎の回転量でワークＷを回転させるようになっている。また、工具移動装置１０のサーボモータ１０ｂは、駆動制御部２２から出力された各算出サイクル毎のＺ軸方向及びＸ軸方向の第２次分配パルスに従って駆動し、その第２次分配パルスに従った各算出サイクル毎の移動量で刃物台１０ａとともにバイト８をＺ軸方向及びＸ軸方向にそれぞれ移動させるようになっている。
【００４３】
図５は、ワークＷに螺旋溝の形成を行う際のこの第１実施形態の数値制御装置４による工作機械２の制御プロセスを示すフローチャートである。図６は、数値制御装置４における数値制御のプロセスを示すフローチャートである。次に、図１〜図６を参照して、この第１実施形態の数値制御装置４による工作機械２の制御プロセスについて説明する。
【００４４】
まず、前段階として、工作機械２の調整者により数値制御装置４に算出サイクルの時間長さ、Ｃ軸回りの加減速時定数、Ｘ軸方向の加減速時定数及びＺ軸方向の加減速時定数等のパラメータが入力されて設定されている。これら数値制御装置４に入力された各値は、時定数記憶部１４に記憶されて管理される。
【００４５】
この状態で、工作機械２の使用者がＮＣプログラムを数値制御装置４に入力する（ステップＳ１）。この数値制御装置４に入力されるＮＣプログラムには、送り速度と、Ｃ軸回り、Ｘ軸方向及びＺ軸方向の各方向への移動量とが含まれ、このＮＣプログラムは、ＮＣプログラム記憶部１２に記憶されて管理される。
【００４６】
次に、ワークＷのＣ軸回りの０度位置（原点）が設定される（ステップＳ３）。この際、ワークＷに形成されたキー溝を基準として、後述する螺旋溝の形成開始点でＣ軸回りの回転角度が０度となるように前記０度位置が設定される。
【００４７】
次に、ＮＣプログラムに基づいた数値制御装置４によるワーク移動装置６及び工具移動装置１０の制御により螺旋溝の形成動作の初期位置へワークＷが回転するとともに、バイト８が移動する（ステップＳ５）。前記初期位置は、実際にバイト８がワークＷに接触して螺旋溝を形成し始める形成開始点よりも手前の位置で、かつ、形成すべき螺旋溝の延長線上の位置となっている。詳細には、この初期位置は、Ｃ軸回りでは、ワークＷがこの初期位置から回転を開始して前記形成開始点の回転角度に達する時点でその回転速度が螺旋溝の形成動作中の一定速度まで加速できるような十分な回転角度を確保可能な位置に設定される。なお、初期位置から形成開始点までのＣ軸回りの回転角度が前記一定速度まで回転を加速させるのに足りなければ、３６０度余分に回転できるように前記初期位置を設定してもよい。また、Ｚ軸方向では、前記初期位置は、バイト８がこの初期位置から移動を開始して前記形成開始点に達する時点でそのＺ軸方向への移動速度が螺旋溝の形成動作中の一定速度まで加速できるような十分な移動距離を確保可能な位置に設定される。
【００４８】
前記ステップＳ５から引き続いて、数値制御装置４によるワーク移動装置６及び工具移動装置１０の制御により前記初期位置から前記形成開始点へワークＷが回転するとともにバイト８が移動し、その後、連続してワークＷの外周面にバイト８による切削加工により螺旋溝が形成される（ステップＳ７）。
【００４９】
この際、数値制御装置４では、図６のフローチャートに従った数値制御が行われる。まず、データ記憶部１９が有する十分な容量の第１次分配パルスバッファ及び第２次分配パルスバッファ（図示せず）をゼロクリアするとともに、データ記憶部１９が有する図略の算出サイクルカウンタｎを各移動方向の加減速時定数のうち最大のもの（本実施形態では、Ｃ軸回りの加減速時定数）の１／２の値に初期セットする（ステップＳ２１）。前記算出サイクルカウンタｎを最大時定数の１／２にセットするのは、前記各移動方向における分配区間の中央点が算出サイクルｎに一致するように分配区間の位置を調整するためである。
【００５０】
次に、第１次分配パルス算出部１８がＮＣプログラムで設定された各値に基づいて算出サイクルｎの第１次分配パルスを各移動方向毎に算出し、その算出した各移動方向毎の第１次分配パルスを第１次分配パルスバッファｂｕｆ１［ｉ］［ａｘｉｓ］（ただし、ｉ＝０，１，２，３，・・・、ａｘｉｓ：Ｃ軸回り、Ｘ軸方向、Ｚ軸方向のそれぞれに対応する制御軸番号０，１，２）のうち各移動方向毎の算出サイクルｎに該当する箇所ｂｕｆ１［ｎ］［ａｘｉｓ］にそれぞれ記憶させる（ステップＳ２３）。
【００５１】
その後、第２次分配パルス算出部２０がデータ記憶部１９の第１次分配パルスバッファに記憶された各移動方向毎の算出サイクルｎの第１次分配パルスを読み取り、その第１次分配パルスを各移動方向毎の分配区間に均等に第２次分配するとともに、その第２次分配した各値を第２次分配パルスバッファｂｕｆ２［ｉ］［ａｘｉｓ］（ただし、ｉ＝０，１，２，３，・・・、ａｘｉｓ：Ｃ軸回り、Ｘ軸方向、Ｚ軸方向のそれぞれに対応する制御軸番号０，１，２）のうち各移動方向毎の分配区間に該当する箇所に加算する（ステップＳ２５）。
【００５２】
具体的には、各移動方向の加減速時定数をＴ［ａｘｉｓ］とすると、各移動方向毎の算出サイクルｎの第１次分配パルスを第２次分配した値は、ｂｕｆ１［ｎ］［ａｘｉｓ］／Ｔ［ａｘｉｓ］となり、この値を前記第２次分配パルスバッファのうち各移動方向毎の前記分配区間に対応する箇所ｂｕｆ２［ｎ−Ｔ［ａｘｉｓ］／２］［ａｘｉｓ］，・・・，ｂｕｆ２［ｎ］［ａｘｉｓ］，ｂｕｆ２［ｎ＋１］［ａｘｉｓ］，ｂｕｆ２［ｎ＋２］［ａｘｉｓ］，・・・，ｂｕｆ２［ｎ＋Ｔ［ａｘｉｓ］／２−１］［ａｘｉｓ］の値にそれぞれ加算する。この分配区間ｂｕｆ２［ｎ−Ｔ［ａｘｉｓ］／２］［ａｘｉｓ］，・・・，ｂｕｆ２［ｎ］［ａｘｉｓ］，ｂｕｆ２［ｎ＋１］［ａｘｉｓ］，ｂｕｆ２［ｎ＋２］［ａｘｉｓ］，・・・，ｂｕｆ２［ｎ＋Ｔ［ａｘｉｓ］／２−１］［ａｘｉｓ］は、算出サイクルｎに対応するｂｕｆ２［ｎ］を跨ぎ、かつ、対応する移動方向の加減速時定数Ｔ［ａｘｉｓ］を区間幅とするものであり、算出サイクルｎに対応するｂｕｆ２［ｎ］を中心としてその前後で均等な範囲となっている。そして、全ての移動方向の分配区間の中央が現算出サイクルｎに対応するｂｕｆ２［ｎ］に揃うようになっている。
【００５３】
次に、算出サイクルカウンタｎをｎ＋１にカウントアップする（ステップＳ２７）。
【００５４】
その後、全ての算出サイクルの第１次分配パルスを第２次分配したか否かが判断される（ステップＳ２９）。この際、全ての算出サイクルの第１次分配パルスの第２次分配がまだ終了していないと判断された場合には、前記ステップＳ２３以降のプロセスが繰り返し行われ、分配区間が徐々に後にずらされながら、上記と同様に第２次分配された値が第２次分配パルスバッファに加算されていく。一方、ステップＳ２９において全ての算出サイクルの第１次分配パルスの第２次分配が終了したと判断された場合には、第２次分配パルスバッファに積算された各値を第２次分配パルスとし、駆動制御部２２がその各サイクル毎の第２次分配パルスを順次ワーク移動装置６のサーボモータ６ｂ及び工具移動装置１０のサーボモータ１０ｂに出力する（ステップＳ３１）。これにより、各移動方向毎の第２次分配パルスに従ってワーク移動装置６及び工具移動装置１０が駆動してワークＷが回転するとともにバイト８が移動し、ワークＷに対する螺旋溝の形成が行われる。
【００５５】
そして、図５に戻って、螺旋溝の形成が終了する位置まで来ると、ワークＷのＣ軸回りの回転速度が維持されながら、バイト８がワークＷから離れるバイト８の逃げ動作が行われる（ステップＳ９）。このバイト８の逃げ動作は、バイト８がワークＷから離れるまでの第１逃げ動作と、その第１逃げ動作の後、バイト８が停止位置側へ向かってＸ軸方向にのみ逃げる第２逃げ動作とからなる。
【００５６】
第１逃げ動作は、ワークＷのＣ軸回りの回転速度とバイト８のＺ軸方向の移動速度とが前記螺旋溝の形成中と同じ速度に維持され、かつ、バイト８がＸ軸方向へ最高速度で移動するような条件で行われる。また、第２逃げ動作では、ワークＷのＣ軸回りの回転速度が前記螺旋溝の形成中と同じ速度に維持されるとともに、バイト８のＺ軸方向への移動を停止させた状態で、バイト８をＸ軸方向においてワークＷから離間させる。このようにバイト８がワークＷから離れるまではワークＷのＣ軸回りの回転速度とバイト８のＺ軸方向への移動速度とを螺旋溝の形成中と同じ速度に維持し、バイト８がワークＷから離れた時点で第２逃げ動作によりバイト８のＺ軸方向への移動を停止させてバイト８をＸ軸方向へのみ逃がすことによって、螺旋溝の最終部分がその螺旋溝の延長線上に延びるとともに溝の深さが徐々に浅くなるように形成される。これにより、バイト８がまだワークＷに接触している時点でバイト８のＺ軸方向の移動を停止させるような場合と異なり、螺旋溝の最終部分でその螺旋溝の延長線上から外れた方向に延びる傷がバイト８によってワークＷの外周面に付けられるのが防止される。
【００５７】
次に、螺旋溝の形成が終了であるか否かの判断が行われる（ステップＳ１１）。この際、螺旋溝の形成が終了であると判断された場合には、ワークＷのＣ軸回りの回転速度を維持した状態でバイト８を停止位置へ移動させ、バイト８がワークＷから十分に離れてからワーク移動装置６の駆動を停止させてワークＷの回転を停止させるとともに、前記停止位置にバイト８が達した時点で工具移動装置１０の駆動を停止させてバイト８の移動を停止させる（ステップＳ１３）。一方、螺旋溝の形成が終了ではない、すなわち、螺旋溝をより深く形成するために前記螺旋溝の形成動作を繰り返し行うと判断された場合には、前回よりも螺旋溝が深くなるようにバイト８のＸ軸方向の位置を前回の初期位置よりもワークＷの径方向内側に少しずらした初期位置を求め、ワークＷのＣ軸回りの回転速度を維持しながらその初期位置へバイト８を移動させるとともに、前記ステップＳ５以降の処理を繰り返し行う（ステップＳ１５）。
【００５８】
以上のようにして、ワークＷに対する螺旋溝の形成時の数値制御装置４による工作機械２の制御が行われる。
【００５９】
以上説明したように、この第１実施形態による数値制御装置４では、第２次分配パルス算出部２０が、分配区間の始点から対応する算出サイクルまでの範囲における第１次分配パルスの分配量と、その対応する算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが等しくなるように分配区間の位置を調整しながら第２次分配パルスの算出を行うので、Ｃ軸回りの第２次分配位置は、Ｃ軸回りの回転が一定速度に達した時点で、前記最初の算出サイクルｔ１からその一定速度で等速でＣ軸回りの回転を行った場合の位置、すなわちＣ軸回りの第１次分配位置と等しくなるとともに、Ｚ軸方向の第２次分配位置は、Ｚ軸方向の移動が一定速度に達した時点で、前記最初の算出サイクルｔ１からその一定速度で等速でＺ軸方向の移動を行った場合の位置、すなわちＺ軸方向の第１次分配位置と等しくなる。換言すれば、Ｚ軸方向の移動が一定速度に達した後にＣ軸回りの回転が一定速度に達した時点では、互いに位相誤差のないＣ軸回りの第１次分配位置とＺ軸方向の第１次分配位置にＣ軸回りの第２次分配位置とＺ軸方向の第２次分配位置をそれぞれ一致させることができ、その時点でＣ軸回りの第２次分配位置とＺ軸方向の第２次分配位置との間の誤差を解消することができる。
【００６０】
一方、図７に示す比較例のように、第１次分配パルスを対応する算出サイクル以降の分配区間のみに第２次分配する構成では、Ｃ軸回りの第２次分配位置がＣ軸回りの第１次分配位置に対して位相の遅れを生じるとともに、Ｚ軸方向の第２次分配位置がＺ軸方向の第１次分配位置に対して位相の遅れを生じる。そして、Ｃ軸回りとＺ軸方向の加減速時定数の差に起因して、Ｃ軸回りの第１次分配位置に対するＣ軸回りの第２次分配位置の位相の遅れの大きさと、Ｚ軸方向の第１次分配位置に対するＺ軸方向の第２次分配位置の位相の遅れの大きさが異なる。すなわち、Ｃ軸回りの第１次分配位置に対するＣ軸回りの第２次分配位置の位相の遅れの大きさが、Ｚ軸方向の第１次分配位置に対するＺ軸方向の第２次分配位置の位相の遅れの大きさに比べて大きくなる。このことに起因してＣ軸回りの第２次分配位置とＺ軸方向の第２次分配位置との間で誤差が生じ、ワークＷの加工誤差が増大する。これに対して、この第１実施形態では、上記したようにＣ軸回りの回転が一定速度に達した時点で、互いに位相誤差のないＣ軸回りの第１次分配位置とＺ軸方向の第１次分配位置にＣ軸回りの第２次分配位置とＺ軸方向の第２次分配位置をそれぞれ一致させることができ、その時点で、前記比較例で発生するようなＣ軸回りの第２次分配位置とＺ軸方向の第２次分配位置との間の誤差をなくすことができる。その結果、ワークＷの加工誤差を低減することができ、工作機械２によるワークＷの加工精度を向上することができる。
【００６１】
（第２実施形態）
図８は、本発明の第２実施形態による数値制御装置３４を適用した工作機械３２の概略的な斜視図である。図９は、本発明の第２実施形態による数値制御装置３４の構成を説明するためのブロック図である。次に、図８及び図９を参照して、本発明の第２実施形態による工作機械３２の数値制御装置３４の構成について説明する。
【００６２】
この第２実施形態による数値制御装置３４は、例えば図８に示すような工作機械３２に設けられる。この工作機械３２は、ワークＷを水平面上のＸ軸方向に移動させるワーク移動装置３６と、水平面上において前記Ｘ軸方向に直交するＹ軸方向に、ワークＷを切削するための工具３８を移動させる工具移動装置４０とを備えている。なお、Ｘ軸方向とＹ軸方向は、本発明の第１移動方向と第２移動方向の概念に含まれるものである。
【００６３】
ワーク移動装置３６は、設置面上に固定されるベッド３６ａと、前記Ｘ軸方向に移動可能にベッド３６ａ上に設置されるテーブル３６ｂと、そのテーブル３６ｂをＸ軸方向に移動させるための駆動源としての図略のサーボモータとを備えている。このワーク移動装置３６では、サーボモータの駆動制御によってテーブル３６ｂ及びそのテーブル３６ｂ上に載置されるワークＷのＸ軸方向への移動がＮＣ制御されるようになっている。
【００６４】
また、この工作機械３２では、前記ベッド３６ａを幅方向に挟んで一対のコラム４１，４１が立設されており、そのコラム４１，４１にクロスレール４３が上下方向に案内されるように設けられている。工具移動装置４０は、このクロスレール４３に取り付けられている。この工具移動装置４０は、クロスレール４３に前記Ｙ軸方向に移動可能に支持される主軸装置４０ａと、その主軸装置４０ａをＹ軸方向に移動させるための駆動源としての図略のサーボモータとを備えている。主軸装置４０ａは、工具３８を保持するとともにその工具３８をテーブル３６ｂの上面に対して垂直な軸回りに回転させるようになっている。そして、工具移動装置４０では、主軸装置４０ａ及びその主軸装置４０ａによって回転させられる工具３８のＹ軸方向への移動がサーボモータの駆動制御によってＮＣ制御されるようになっている。この工具移動装置４０による工具３８のＹ軸方向への移動と前記ワーク移動装置３６によるワークＷのＸ軸方向への移動とが同時制御されることによって、工具３８が回転しながらワークＷに所定形状の切削加工を行うようになっている。そして、この工作機械３２では、ワーク移動装置３６によるワークＷのＸ軸方向への移動の加減速時定数と、工具移動装置４０による工具３８のＹ軸方向への移動の加減速時定数とは等しい値に設定されている。
【００６５】
この第２実施形態による数値制御装置３４は、上記のような工作機械３２において、ワーク移動装置３６及び工具移動装置４０の駆動を制御するものであり、上記第１実施形態と異なり、ワークＷのＸ軸方向への移動と工具３８のＹ軸方向への移動とを制御する。そして、この数値制御装置３４は、図９に示すように、第３次分配パルス算出部４４を有する。
【００６６】
第３次分配パルス算出部４４は、第１次分配パルス算出部１８によって算出された第１次分配パルスに従って移動した場合のＸ軸方向及びＹ軸方向の各算出サイクル毎の第１次分配位置と、第２次分配パルス算出部２０によって算出された第２次分配パルスに従って移動した場合のＸ軸方向及びＹ軸方向の各算出サイクル毎の第２次分配位置との差に相当する分配誤差をＸ軸方向とＹ軸方向のそれぞれについて算出するとともに、Ｘ軸方向及びＹ軸方向の第２次分配位置をその分配誤差に基づいてそれぞれ補正し、その補正した結果から各算出サイクル毎の移動量である第３次分配パルスをＸ軸方向とＹ軸方向のそれぞれについて算出するものである。
【００６７】
具体的には、第３次分配パルス算出部４４は、分配誤差算出部４６と、誤差補正パルス算出部４８と、分配誤差補正部５０とを有する。
【００６８】
分配誤差算出部４６は、第１次分配パルスに従って移動した場合のＸ軸方向及びＹ軸方向の各算出サイクル毎の第１次分配位置を算出するとともに、第２次分配パルスに従って移動した場合のＸ軸方向及びＹ軸方向の各算出サイクル毎の第２次分配位置を算出し、それら算出した両分配位置の差を算出することによって分配誤差をＸ軸方向とＹ軸方向のそれぞれについて算出する。
【００６９】
誤差補正パルス算出部４８は、分配誤差算出部４６によって算出されたＸ軸方向及びＹ軸方向の分配誤差についてその変化の小さい緩変化部分はそのまま用いるとともに、変化の大きい急変化部分はその変化が緩やかになるように調整することによって誤差補正パルスをＸ軸方向とＹ軸方向のそれぞれについて算出する。
【００７０】
分配誤差補正部５０は、分配誤差算出部４６によって算出されたＸ軸方向及びＹ軸方向の第２次分配位置から誤差補正パルス算出部４８によって算出されたＸ軸方向及びＹ軸方向の誤差補正パルスを差し引いて第３次分配位置をＸ軸方向とＹ軸方向のそれぞれについて算出し、その算出した第３次分配位置から各算出サイクル毎の移動量である第３次分配パルスをＸ軸方向とＹ軸方向のそれぞれについて算出する。
【００７１】
そして、この第２実施形態では、駆動制御部２２は、第３次分配パルス算出部４４の分配誤差補正部５０によって算出されたＸ軸方向の第３次分配パルスに基づいてワーク移動装置３６を駆動させるとともにＹ軸方向の第３次分配パルスに基づいて工具移動装置４０を駆動させる。具体的には、駆動制御部２２は、前記分配誤差補正部５０によって算出されたＸ軸方向の各算出サイクル毎の第３次分配パルスをワーク移動装置３６のサーボモータ３６ｃに出力するとともにＹ軸方向の各算出サイクル毎の第３次分配パルスを工具移動装置４０のサーボモータ４０ｃに出力する。これにより、ワーク移動装置３６は、受け取った第３次分配パルスに従った各算出サイクル毎の移動量でテーブル３６ｂとともにワークＷをＸ軸方向へ移動させ、工具移動装置４０は、受け取った第３次分配パルスに従った各算出サイクル毎の移動量で主軸装置４０ａとともに工具３８をＹ軸方向へ移動させるようになっている。
【００７２】
この第２実施形態による数値制御装置３４の上記以外の基本的な構成は、上記第１実施形態による数値制御装置４と同様である。
【００７３】
図１０は、第２実施形態の数値制御装置３４における数値制御のプロセスを示すフローチャートである。次に、この第２実施形態の数値制御装置３４による数値制御のプロセスについて説明する。なお、ここでは、ワーク移動装置３６によるワークＷのＸ軸方向への移動と工具移動装置４０による工具３８のＹ軸方向への移動とを同時に行うことにより、図１１に示すような円形を描く切削加工をワークＷに行う場合を例にとって説明する。
【００７４】
この第２実施形態の数値制御装置３４による数値制御では、ステップＳ２１〜Ｓ２９までの処理を上記第１実施形態と同様に行う。ただし、第１次分配パルスバッファｂｕｆ１［ｉ］［ａｘｉｓ］及び第２次分配パルスバッファｂｕｆ２［ｉ］［ａｘｉｓ］において、制御軸番号ａｘｉｓは、Ｘ軸方向、Ｙ軸方向に対応する０，１となる。この第２実施形態では、第１次分配パルス算出部１８によって算出されるＸ軸方向の第１次分配パルスは、図１１（ａ）に示すような曲線となり、第２次分配パルス算出部２０によって算出されるＸ軸方向の第２次分配パルスは、図１１（ｂ）に示すような曲線となる。また、第１次分配パルス算出部１８によって算出されるＹ軸方向の第１次分配パルスは、図１３（ａ）に示すような曲線となり、第２次分配パルス算出部２０によって算出されるＹ軸方向の第２次分配パルスは、図１３（ｂ）に示すような曲線となる。
【００７５】
そして、ステップＳ２９の第２次分配が終了したか否かの判断において、全ての算出サイクルの第１次分配パルスの第２次分配が終了したと判断された場合には、第３次分配パルス算出部４４の分配誤差算出部４６が、第１次分配パルスに従って移動した場合の第１次分配位置を算出するとともに第２次分配パルスに従って移動した場合の第２次分配位置を算出し、それら算出した両分配位置の差である分配誤差を算出する（ステップＳ４１）。
【００７６】
具体的には、分配誤差算出部４６は、各軸方向について、各算出サイクルでの第１次分配パルスの終点位置に相当する第１次分配位置をそれぞれ算出する。この第１次分配位置は、データ記憶部１９の第１次分配パルスバッファに記憶された第１次分配パルスｂｕｆ１［０］［ａｘｉｓ］，ｂｕｆ１［１］［ａｘｉｓ］，ｂｕｆ１［２］［ａｘｉｓ］，・・・を積算することによって算出され、ｂｕｆ１［０］［ａｘｉｓ］，ｂｕｆ１［０］［ａｘｉｓ］＋ｂｕｆ１［１］［ａｘｉｓ］，ｂｕｆ１［０］［ａｘｉｓ］＋ｂｕｆ１［１］［ａｘｉｓ］＋ｂｕｆ１［２］［ａｘｉｓ］，・・・となる。
【００７７】
また、分配誤差算出部４６は、各軸方向について、各サイクルでの第２次分配パルスの終点位置に相当する第２次分配位置をそれぞれ算出する。この第２次分配位置は、データ記憶部１９の第２次分配パルスバッファに加算されて記憶された各サイクル毎の値を積算することによって算出され、ｂｕｆ２［０］［ａｘｉｓ］，ｂｕｆ２［０］［ａｘｉｓ］＋ｂｕｆ２［１］［ａｘｉｓ］，ｂｕｆ２［０］［ａｘｉｓ］＋ｂｕｆ２［１］［ａｘｉｓ］＋ｂｕｆ２［２］［ａｘｉｓ］，・・・となる。
【００７８】
そして、分配誤差算出部４６は、各サイクル毎に第２次分配位置から第１次分配位置を差し引くことによって各サイクル毎の分配誤差を各軸方向のそれぞれについて算出する。このようにして算出されるＸ軸方向の分配誤差は、図１２（ｄ）に示すような曲線となり、Ｙ軸方向の分配誤差は、図１３（ｄ）に示すような曲線となる。なお、図１２（ｄ）は、図１２（ａ）〜（ｃ）に比べて縦軸を拡大して示されており、図１３（ｄ）は、図１３（ａ）〜（ｃ）に比べて縦軸を拡大して示されている。ただし、図１２（ｄ）と図１３（ｄ）の縦軸の拡大率は等しくなっている。
【００７９】
このような第２実施形態の技術と比較して、各算出サイクル毎の第１次分配パルスを対応する算出サイクル以降の分配区間のみに第２次分配した比較例による技術では、図１４と図１５に示すように、Ｘ軸方向とＹ軸方向のどちらにおいても第１次分配位置と第２次分配位置との差が大きく、算出されるＸ軸方向及びＹ軸方向の分配誤差が上記第２実施形態の場合に比べてかなり大きなものとなる。これは、第１次分配パルスをその対応する算出サイクル以降の分配区間のみに分配するという比較例の第２次分配の仕方に起因して第１次分配位置に対して第２次分配位置に遅れ（位相の遅れ）が生じ、その位相の遅れが分配誤差に含まれるためである。そして、この分配誤差には、前記位相の遅れと実際の分配誤差とが混ざって含まれ、それらを分けることができなくなっている。
【００８０】
これに対して、本実施形態の方法によって算出されたＸ軸方向及びＹ軸方向の第２次分配位置では、移動速度が一定の等速に達した時点で前記位相の遅れが解消される。このため、分配誤差算出部４６によって算出される分配誤差には、前記位相の遅れが含まれず、その分配誤差には、位相の遅れの影響が除去された実際の分配誤差のみが含まれる。
【００８１】
次に、前記誤差補正パルス算出部４８が、分配誤差算出部４６によって算出された分配誤差のうちその変化の小さい緩変化部分はそのまま用いるとともに、変化の大きい急変化部分はその変化が緩やかになるように調整して各軸方向毎の誤差補正パルスを求める（ステップＳ４３）。
【００８２】
この際、誤差補正パルス算出部４８は、所定の判定方法により前記分配誤差のうち緩変化部分と急変化部分とを判断する。具体的には、誤差補正パルス算出部４８は、分配誤差算出部４６によって算出された分配誤差の変化率に基づいて、その分配誤差の変化率が所定の閾値を超えた算出サイクルに該当する部分を急変化部分と判定し、それ以外の部分を緩変化部分と判定する。急変化部分は、ＮＣプログラムにおいて急激な加減速が指示されている部分を第２次分配によって緩和させた効果が含まれる部分であり、緩変化部分は、第１次分配パルスを第２次分配することによって生じる意図しない分配誤差を示す部分である。図１４及び図１５に示すような比較例の第２次分配によって得られる分配誤差では、上記したように前記位相の遅れが含まれていることに起因して、このような急変化部分と緩変化部分との判別を行うことが困難であるが、本実施形態では、分配誤差に前記位相の遅れが含まれないので、急変化部分と緩変化部分の判別が可能となっている。
【００８３】
そして、誤差補正パルス算出部４８は、急変化部分の始点と終点の値を用いてそれらの値の間に比例配分することによって急変化部分の変化を緩やかにする補正を行う。このようにして、図１２（ｅ）に示すようなＸ軸方向の誤差補正パルスと、図１３（ｅ）に示すようなＹ軸方向の誤差補正パルスとが求められる。なお、図１２（ｅ）及び図１３（ｅ）は、図１２（ｄ）及び図１３（ｄ）と同じ拡大率で図１２（ａ）〜（ｃ）、図１３（ａ）〜（ｃ）対して縦軸を拡大して示されている。前記急変化部分の変化を緩やかにする補正を行うのは、後に第２次分配位置から誤差補正パルスを差し引いて求める第３次分配位置及びその第３次分配位置から求める第３次分配パルスに、上記した第２次分配による急激な加減速の緩和効果を残すためである。
【００８４】
次に、分配誤差補正部５０が、分配誤差算出部４６によって算出された各サイクル毎の第２次分配位置から誤差補正パルス算出部４８によって求められた対応するサイクルの誤差補正パルスを差し引いて各軸方向毎に第３次分配位置を算出し、その算出した第３次分配位置から各サイクル毎の移動量としての第３次分配パルスを各軸方向のそれぞれについて算出する（ステップＳ４５）。
【００８５】
そして、駆動制御部２２が、各サイクル毎の第３次分配パルスを順次ワーク移動装置３６のサーボモータ３６ｃ及び工具移動装置４０のサーボモータ４０ｃに出力する（ステップＳ４７）。これにより、各軸方向毎の第３次分配パルスに従ってワーク移動装置３６及び工具移動装置４０が駆動してワークＷがＸ軸方向に移動するとともに工具３８がＹ軸方向に移動し、ワークＷに対する円形の切削加工が行われる。
【００８６】
この際の円形の軌跡は、図１６に示すような形状となる。この図１６からも判るように、ＮＣプログラムの軌跡に対するこの第２実施形態による加工の軌跡の誤差は、始点及び終点の近傍における加減速時にのみわずかに発生し、その他の部分では、全く発生しない。これに対して、前記比較例による加工の軌跡では、始点から移動開始した直後にＮＣプログラムの軌跡に対して内回り誤差が発生し、その後、その内回り誤差が一定に維持されるとともに、終点の近傍になってその内回り誤差が解消されるようになっている。この比較例との比較から、この第２実施形態による技術が内回り誤差の解消に有効であることが判る。
【００８７】
以上説明したように、この第２実施形態による数値制御装置３４では、第２次分配パルス算出部２０が、分配区間の始点から対応する算出サイクルまでの範囲における第１次分配パルスの分配量と、前記対応する算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが互いに等しくなるように分配区間の位置を調整しながら第２次分配パルスの算出を行うことに起因して、上記第１実施形態と同様、Ｘ軸方向の移動速度及びＹ軸方向の移動速度が一定速度の等速に達した時点でＸ軸方向及びＹ軸方向のそれぞれにおいて第１次分配位置に第２次分配位置を一致させることができる。これにより、第１次分配位置と第２次分配位置との差である分配誤差に第１次分配位置に対する第２次分配位置の位相の遅れが含まれるのを抑制することができ、その分配誤差として前記位相の遅れの影響が除去された実際の分配誤差のみを得ることができる。その結果、この分配誤差に基づいて第２次分配位置を補正して求める第３次分配位置では、前記位相の遅れによる誤差の影響を排除しつつ、前記実際の分配誤差の分を選択的に補正することができるので、その補正後の第３次分配位置から求める第３次分配パルスでは、前記実際の分配誤差に起因する内回り誤差の影響を有効に排除することができる。その結果、Ｘ軸方向及びＹ軸方向の第３次分配パルスに従った移動では、ＮＣプログラムの加工パスに対する内回り誤差を抑制することができる。このため、ワークＷの加工誤差を低減することができ、ワークＷの加工精度を向上することができる。
【００８８】
また、第２実施形態では、第１次分配位置と第２次分配位置との差である分配誤差において、前記位相の遅れによる誤差が排除されて、実際の分配誤差のみが現れているので、その分配誤差のうち前記緩変化部分と前記急変化部分との判別が可能となる。前記急変化部分は、ＮＣプログラムにおいて急激な加減速が指示されている部分を第２次分配によって緩和させた効果が含まれる部分である。このため、誤差補正パルス算出部４８による誤差補正パルスの算出時に、分配誤差のうち急変化部分の変化が緩やかになるように調整して誤差補正パルスを求めることにより、第２次分配位置からその誤差補正パルスを差し引いて第３次分配位置を算出し、その第３次分配位置から求めた第３次分配パルスでは、前記第２次分配による急激な加減速の緩和効果を有効に維持することができる。一方、前記緩変化部分は、第１次分配パルスを第２次分配することによって生じる意図しない分配誤差を示す部分であり、この緩変化部分はそのまま用いて誤差補正パルスを求めることにより、第２次分配位置からその誤差補正パルスを差し引いて第３次分配位置を算出し、その第３次分配位置から求めた第３次分配パルスでは、前記意図しない分配誤差の影響を排除することができる。
【００８９】
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均一の意味及び範囲内でのすべての変更が含まれる。
【００９０】
例えば、本発明は、上記各実施形態で例示した工作機械２，３２以外の種々の工作機械に適用可能である。また、本発明は、工具の移動とワークの移動との間の関係にのみ適用されるものではなく、工具自体の複数の移動方向間の関係や、ワーク自体の複数の移動方向間の関係、その他の異なる移動方向間の関係について適用することが可能である。
【００９１】
また、第２次分配パルス算出部２０は、第１次分配パルスを第２次分配することによって算出した第２次分配パルスを改めて第１次分配パルスとして扱い、再度第２次分配して第２次分配パルスを算出する再帰機能を持っていてもよい。
【００９２】
また、第２次分配パルス算出部２０が用いる第２次分配方法は、上記実施形態のように第１次分配パルスを分配区間の範囲内に均等に分配する均等型の方法に限らない。例えば、図１７（ａ）は、均等型の第２次分配方法を図示したものであるが、これ以外にも図１７（ｂ）に示すような三角型、図１７（ｃ）に示すようなベル型、図１７（ｄ）に示すような台形型等、分配区間の範囲内において算出サイクルを境に前側の分配量（図中のＡの部分の面積）と、後側の分配量（図中のＢの部分の面積）とが等しくなるような種々の第２次分配方法を採用してもよい。
【００９３】
また、分配誤差の緩変化部分と急変化部分の判定方法としては、上記実施形態で示したもの以外に、例えば、第１次分配パルスの変化量が所定の閾値を超えた算出サイクルを判別し、その算出サイクルを中心としてその前後に広がり、かつ、対応する加減速時定数を区間幅とする部分を急変化部分とし、それ以外の部分を緩変化部分とする判定方法を用いてもよい。
【００９４】
また、上記第１実施形態の構成において、第１次分配パルスの第２次分配の際に、その第１次分配パルスに対応する算出サイクルを跨ぎ、かつ、対応する移動方向の加減速時定数を区間幅とする分配区間の範囲内においてその対応する算出サイクルの前後に第１次分配パルスを分配すれば、必ずしも分配区間の始点から算出サイクルまでの範囲における第１次分配パルスの分配量と、その算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが均等になっていなくてもよい。
【００９５】
また、上記第２実施形態の構成において、第１次分配パルスの第２次分配の際に、分配区間の始点から対応する算出サイクルまでの範囲における第１次分配パルスの分配量と、その対応する算出サイクルから分配区間の終点までの範囲における第１次分配パルスの分配量とが完全に均等となっていなくてもよく、それらがほぼ均等になっていればよい。
【００９６】
また、ＮＣプログラムが複数の微小な直線移動を連続して実行させるものである場合には、第１次分配パルス算出部１８は、第１次分配パルスが前記各直線移動の始点又は終点を含む場合にその第１次分配パルスに対応する算出サイクルを前記緩変化部分に該当する算出サイクルと判別する一方、第１次分配パルスが前記各直線移動の始点及び終点のどちらも含まない場合にはその第１次分配パルスに対応する算出サイクルを前記急変化部分に該当する算出サイクルと判別するようにしてもよい。
【００９７】
具体的には、図１８に示す変形例のように、ＮＣプログラムが上記第２実施形態で示した円形の軌跡を所定のピッチ角で直線分割した軌跡を描くことを指示するものである場合には、分配誤差算出部４６によって算出される分配誤差は、大きく見ると図１９（ａ）に示すように上記第２実施形態による分配誤差（図１３（ｄ）参照）と似ているが、拡大してみると図１９（ｂ）に示すように分配誤差に細かい凹凸が存在する。なお、図１９では、Ｙ軸方向の分配誤差のみを示している。分配誤差にこのような凹凸が存在するのは、複数の微小な直線移動を連続して行う場合には、第１次分配パルスが階段状になるため、その第１次分配パルスの階段状の変化を第２次分配によって緩やかな変化に変えたことによる。
【００９８】
そして、この変形例では、第１次分配パルス算出部１８が、ＮＣプログラムの指示する軌跡が微小な直線移動を連続して行うものであるか否かについて判断する。そして、ＮＣプログラムの軌跡が微小な直線移動を連続して行うものであると判断した場合には、第１次分配パルス算出部１８は、第１次分配パルスを算出する際にＮＣプログラムの各直線移動の終点を含む第１次分配パルスの算出サイクルに緩変化部分に該当する算出サイクルとしての情報を付加し、それ以外の第１次分配パルスの算出サイクルにはそのような情報を付加しない。そして、後に誤差補正パルス算出部４８が分配誤差から誤差補正パルスを求める際、上記第２実施形態で説明した分配誤差全体での急変化部分の変化を緩やかにする処理（前記ステップＳ４３）を同様に行いながら、前記算出サイクルに付加された情報に基づいて前記各直線移動における分配誤差の緩変化部分と急変化部分とを判断し、その各直線移動における分配誤差の緩変化部分をそのまま用いるとともに急変化部分の変化は緩やかになるように調整して誤差補正パルスを求める。これにより、その誤差補正パルスは、図１９（ｂ）に示すように、分配誤差全体における急変化部分の変化が緩やかになるように補正されるとともに、分配誤差のうち前記各直線移動の終点に対応する点を通り、それら各点を滑らかに繋ぐように補正された曲線となる。
【００９９】
そして、この誤差補正パルスを上記第２実施形態と同様に第２次分配位置から差し引いて第３次分配位置を求め、その第３次分配位置から第３次分配パルスを求めると、その第３次分配パルスに従った移動は、前記各直線移動の終点を通り、各直線移動の中間部分では第２次分配による緩和効果を継承した滑らかな動きとなる。この動きは、結果的に、前記ＮＣプログラムの各直線移動の各終点を滑らかに結ぶように曲線補間した場合と同じ動きとなる。
【０１００】
以上のように、この変形例では、第１次分配パルスが前記各直線移動の終点を含む場合には、その第１次分配パルスに対応する算出サイクルでは、分配誤差がそのまま第２次分配位置から差し引かれて第３次分配位置が求められる一方、第１次分配パルスが前記各直線移動の終点を含まない場合には、その第１次分配パルスに対応する算出サイクルでは、分配誤差の変化が緩やかになるように調整された値が第２次分配位置から差し引かれて第３次分配位置が求められる。従って、その各第３次分配位置から求めた第３次分配パルスに従った移動の軌跡では、前記ＮＣプログラムの各終点の位置が維持される一方、その各終点間に位置する各直線移動の中間部分には、第１次分配パルスの階段状の変化を第２次分配によって緩やかな変化に変えた効果が継承されて前記各終点間を滑らかに曲線で繋いだ軌跡となる。その結果、ＮＣプログラムの複数の微小な直線移動を連続して行う動きを滑らかな曲線的な動きに補正することができる。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第１実施形態による数値制御装置を適用した工作機械の概略的な平面図である。
【図２】本発明の第１実施形態による数値制御装置の構成を説明するためのブロック図である。
【図３】第１実施形態における第１次分配パルスを説明するための図である。
【図４】第１実施形態における第２次分配パルス、第１次分配位置及び第２次分配位置の相互間の関係を示す図である。
【図５】ワークに螺旋溝の形成を行う際の第１実施形態の数値制御装置による工作機械の制御プロセスを示すフローチャートである。
【図６】第１実施形態の数値制御装置における数値制御のプロセスを示すフローチャートである。
【図７】第１実施形態の比較例による第２次分配パルス、第１次分配位置及び第２次分配位置の相互間の関係を示す図である。
【図８】本発明の第２実施形態による数値制御装置を適用した工作機械の概略的な斜視図である。
【図９】本発明の第２実施形態による数値制御装置の構成を説明するためのブロック図である。
【図１０】第２実施形態の数値制御装置における数値制御のプロセスを示すフローチャートである。
【図１１】第２実施形態によるＮＣプログラムの加工の軌跡を示す図である。
【図１２】第２実施形態におけるＸ軸方向の第１次分配パルス、第２次分配パルス、第１次分配位置、第２次分配位置、分配誤差、誤差補正パルス及び第３次分配パルスを説明するための図である。
【図１３】第２実施形態におけるＹ軸方向の第１次分配パルス、第２次分配パルス、第１次分配位置、第２次分配位置、分配誤差、誤差補正パルス及び第３次分配パルスを説明するための図である。
【図１４】比較例におけるＸ軸方向の第１次分配パルス、第２次分配パルス、第１次分配位置、第２次分配位置及び分配誤差を説明するための図である。
【図１５】比較例におけるＹ軸方向の第１次分配パルス、第２次分配パルス、第１次分配位置、第２次分配位置及び分配誤差を説明するための図である。
【図１６】第２実施形態による加工の軌跡と比較例による加工の軌跡とを示した図である。
【図１７】種々の第２次分配方法を示した図である。
【図１８】第２実施形態の変形例によるＮＣプログラムの加工の軌跡を示す図である。
【図１９】第２実施形態の変形例によるＹ軸方向の分配誤差を示した図である。
【符号の説明】
【０１０２】
２、３２  工作機械
４、３４  数値制御装置
６、３６  ワーク移動装置
８  バイト（工具）
１０、４０  工具移動装置
１８  第１次分配パルス算出部
２０  第２次分配パルス算出部
２２  駆動制御部
３８  工具
４４  第３次分配パルス算出部
４６  分配誤差算出部
４８  誤差補正パルス算出部
５０  分配誤差補正部
Ｗ  ワーク
【図１】
2010055161.tif 000003
【図２】
2010055161.tif 000004
【図３】
2010055161.tif 000005
【図４】
2010055161.tif 000006
【図５】
2010055161.tif 000007
【図６】
2010055161.tif 000008
【図７】
2010055161.tif 000009
【図８】
2010055161.tif 000010
【図９】
2010055161.tif 000011
【図１０】
2010055161.tif 000012
【図１１】
2010055161.tif 000013
【図１２】
2010055161.tif 000014
【図１３】
2010055161.tif 000015
【図１４】
2010055161.tif 000016
【図１５】
2010055161.tif 000017
【図１６】
2010055161.tif 000018
【図１７】
2010055161.tif 000019
【図１８】
2010055161.tif 000020
【図１９】
2010055161.tif 000021