(57)【要約】【課題】同軸上且つ同一方向の二つの処理における異なる速度を、指令終点位置で指令速度に制御できる数値制御装置と速度制御方法を提供する。【解決手段】数値制御装置は、主軸ヘッド又はテーブルの速度を加減速曲線に従って制御し、より高速な定速区間から他の定速区間に減速する場合、より高速な定速区間を有する指令ブロックの終了時により高速な定速区間を有する指令ブロックとして他の指令ブロックの定速区間における速度の所定定速区間を設け、より高速な定速区間を設けた所定定速区間の移動距離分短縮後の加減速曲線を移動平均フィルタによりフィルタリングし、他の定速区間からより高速な定速区間へ加速する場合、より高速な定速区間を有する指令ブロックの開始時により高速な定速区間を有する指令ブロックとして所定定速区間を設け、より高速な定速区間を設けた所定定速区間の移動距離分短縮後の加減速曲線をフィルタリングする。【選択図】図１１
2019082774.tif 000002
【特許請求の範囲】
【請求項１】
主軸ヘッド又は加工対象を載置するテーブルの速度を設定された加減速曲線に従って制御する速度制御部と、
前記加減速曲線は、第一定速区間を有する第一指令ブロックと前記第一定速区間における前記速度と異なる前記速度の第二定速区間を有する前記第一指令ブロックと連続する第二指令ブロックとを有し、前記第一指令ブロックと前記第二指令ブロックは同軸上且つ同一方向の区間であり、
より高速な定速区間から他の定速区間に減速する場合には、より高速な前記定速区間を有する指令ブロックの終了時に、より高速な前記定速区間を有する前記指令ブロックとして他の前記指令ブロックの前記定速区間における前記速度の所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を移動平均フィルタによりフィルタリングし、他の前記定速区間からより高速な前記定速区間へ加速する場合には、より高速な前記定速区間を有する前記指令ブロックの開始時に、より高速な前記定速区間を有する前記指令ブロックとして前記所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を前記移動平均フィルタによりフィルタリングする処理を行うフィルタ部と、
を備える、
ことを特徴とする数値制御装置。
【請求項２】
前記加減速曲線は、更に、前記第一定速区間及び前記第二定速区間へ加減速する際の曲線が点対称である、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記所定定速区間は前記移動平均フィルタの時定数の半分の区間である、
ことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
より高速な前定速区間を有する前記指令ブロックは、前記テーブルの早送り区間であり、他の前記指令ブロックは、切削送り区間である、
ことを特徴とする請求項１〜３の何れか一に記載の数値制御装置。
【請求項５】
より高速な前記定速区間を有する前記指令ブロックは、前記主軸ヘッドの早送り区間であり、他の前記指令ブロックは、工具交換指令ブロックである、
ことを特徴とする請求項１〜３の何れか一に記載の数値制御装置。
【請求項６】
前記第一指令ブロックと前記第二指令ブロックが前記同軸上且つ前記同一方向の区間であるか判定する判定部を備え、
前記判定部が、前記第一指令ブロックと前記第二指令ブロックは前記同軸上且つ前記同一方向の区間であると判定した場合のみ、前記フィルタ部は、前記処理を行う、
ことを特徴とする請求項１〜５の何れか一に記載の数値制御装置。
【請求項７】
前記加減速曲線は、直線を含む、
ことを特徴とする請求項１〜６の何れか一に記載の数値制御装置。
【請求項８】
主軸ヘッド又は加工対象を載置するテーブルの速度を設定された加減速曲線に従って制御し、
前記加減速曲線は、第一定速区間を有する第一指令ブロックと前記第一定速区間における前記速度と異なる前記速度の第二定速区間を有する第二指令ブロックを有し、前記第一指令ブロックと前記第二指令ブロックは同軸上且つ同一方向の区間であり、
より高速な定速区間から他の前記定速区間に減速する場合には、より高速な前記定速区間を有する指令ブロックの終了時に、より高速な前記定速区間を有する前記指令ブロックとして他の前記指令ブロックの定速区間における前記速度の所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を移動平均フィルタによりフィルタリングし、
他の前記定速区間からより高速な前記定速区間へ加速する場合には、高速な前記定速区間を有する前記指令ブロックの開始時に、より高速な前記定速区間を有する前記指令ブロックとして前記所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を前記移動平均フィルタによりフィルタリングする、
ことを特徴とする速度制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と速度制御方法に関する。
【背景技術】
【０００２】
特許文献１に記載の数値制御装置は、送り方向が同一で早送りから切削送りに移行する場合、早送りの指令終点位置での送り速度が指令された切削送り速度となる様に減速を行う。数値制御装置は、送り方向が同一で切削速度から早送りに移行する場合、切削送りの指令終点位置まで指令された切削送り速度で送り、切削送りの指令終点位置から早送り速度に加速する。この様な速度制御方法は、補間前加減速と呼ばれている。つまり、補間前加減速は、予め設定された加減速曲線に従って速度の制御を行っている。
【０００３】
補間前加減速で速度を制御する際、工作機械の振動が大きい場合等には、加減速曲線を移動平均フィルタでフィルタリングする。加減速曲線を移動平均フィルタでフィルタリングすることで、速度の変化がより滑らかになり、工作機械の振動を低減できるからである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−１３８９３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、加減速曲線を移動平均フィルタでフィルタリングすると、時間遅延が生じる。早送りから切削送りに移行する場合、早送りの指令終点位置での速度が指令された切削送り速度を超えてしまうという問題がある。切削送りから早送りに移行する場合、切削送りの指令終点位置より手前から早送りの速度に加速を開始してしまうという問題がある。
【０００６】
本発明の目的は、同軸上且つ同一方向の二つの処理における異なる速度を、指令終点位置で指令速度に制御できる数値制御装置と速度制御方法を提供することである。
【課題を解決するための手段】
【０００７】
請求項１の数値制御装置は、主軸ヘッド又は加工対象を載置するテーブルの速度を設定された加減速曲線に従って制御する速度制御部と、前記加減速曲線は、第一定速区間を有する第一指令ブロックと前記第一定速区間における前記速度と異なる前記速度の第二定速区間を有する第二指令ブロックを有し、前記第一指令ブロックと前記第二指令ブロックは同軸上且つ同一方向の区間であり、より高速な定速区間から他の前記定速区間に減速する場合には、より高速な前記定速区間を有する指令ブロックの終了時に、より高速な前記定速区間を有する前記指令ブロックとして他の前記指令ブロックの定速区間における前記速度の所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を移動平均フィルタによりフィルタリングし、他の前記定速区間からより高速な前記定速区間へ加速する場合には、より高速な前記定速区間を有する前記指令ブロックの開始時に、より高速な前記定速区間を有する前記指令ブロックとして前記所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を前記移動平均フィルタによりフィルタリングする処理を行うフィルタ部と、を備えることを特徴とする。加減速曲線を移動平均フィルタでフィルタリングすると、時間遅延が生じるので、所定の位置における速度が所定の位置における予め設定された速度より早くなってしまう。より高速な定速区間を有する指令ブロックに他の指令ブロックの定速区間における速度の所定定速区間を設け、より高速な定速区間を設けた前記所定定速区間の移動距離分短くすることで、数値制御装置は、高速指令ブロックの所定の終了位置における速度と予め設定された速度との差を少なくできる。数値制御装置は、低速な指令ブロックから高速な指令ブロックに加速を開始する所定の位置のズレを少なくできる。
【０００８】
請求項２の加減速曲線は、更に、前記第一定速区間及び前記第二定速区間へ加減速する際の曲線が点対称でも良い。数値制御装置は、低速な指令ブロックから高速な指令ブロックに加速を開始する所定の位置のズレを更に少なくできる。
【０００９】
請求項３の所定定速区間は、前記移動平均フィルタの時定数の半分の区間としても良い。所定定速区間における速度をより高速な定速区間以外の定速区間の速度とし、時間を移動平均フィルタの時定数の半分にすることで、高速な指令ブロックの所定の終了位置における速度が所定の速度と等しくなる。数値制御装置は、低速な指令ブロックの所定の終了位置から高速な指令ブロックに加速を開始できる。
【００１０】
請求項４のより高速な前記定速区間を有する前記指令ブロックは、前記テーブルの早送り区間であり、他の前記指令ブロックは、切削送り区間であっても良い。早送りから切削送りに移行する場合には、切削送り開始位置の速度が切削送りの速度となるので、数値制御装置は、加工不良を低減できる。切削送りから早送りに移行する場合には、切削送りの終了位置で加速を開始するので、数値制御装置は、切削送りの終了前に加速することを防ぐことができ、加工不良を低減できる。
【００１１】
請求項５のより高速な前記定速区間を有する前記指令ブロックは、前記主軸ヘッドの早送り区間であり、他の前記指令ブロックは、工具交換指令ブロックであっても良い。早送り区間から工具交換指令ブロックに移行する場合には、工具交換指令ブロックの予め設定された位置で工具交換速度にあらかじめ設定された速度に減速できる。また、工具交換指令ブロックから早送り区間に移行する場合には、工具交換指令ブロックの予め設定された位置から早送りの速度に加速できる。工具交換時に主軸ヘッドの速度が予め設定された速度となるので、数値制御装置は、例えば、高速で主軸ヘッドがグリップアームの把持部にぶつかるのを防止できる。故に、数値制御装置は、工作機械の振動を低減できる。
【００１２】
請求項６の数値制御装置は、前記第一指令ブロックと前記第二指令ブロックが前記同軸上且つ前記同一方向の区間であるか判定する判定部を備え、前記判定部が、前記第一指令ブロックと前記第二指令ブロックは前記同軸上且つ前記同一方向の区間であると判定した場合のみ、前記フィルタ部は、前記処理を行っても良い。第一指令ブロックと第二指令ブロックは同軸上且つ同一方向の区間でない場合に、無駄な処理を省き、必要に応じて加減速曲線を移動平均フィルタによりフィルタリングできる。
【００１３】
請求項７の加減速曲線は、直線を含んでも良い。第一定速区間及び第二定速区間へ加減速する際の曲線が直線であっても、直線は点対称なので、同様の効果を奏する。
【００１４】
請求項８の速度制御方法は、主軸ヘッド又は加工対象を載置するテーブルの速度を設定された加減速曲線に従って制御し、前記加減速曲線は、第一定速区間を有する第一指令ブロックと前記第一定速区間における前記速度と異なる前記速度の第二定速区間を有する第二指令ブロックを有し、前記第一指令ブロックと前記第二指令ブロックは同軸上且つ同一方向の区間であり、より高速な定速区間から他の前記定速区間に減速する場合には、より高速な前記定速区間を有する指令ブロックの終了時に、より高速な前記定速区間を有する前記指令ブロックとして他の前記指令ブロックの定速区間における前記速度の所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を移動平均フィルタによりフィルタリングし、他の前記定速区間からより高速な前記定速区間へ加速する場合には、高速な前記定速区間を有する前記指令ブロックの開始時に、より高速な前記定速区間を有する前記指令ブロックとして前記所定定速区間を設け且つより高速な前記定速区間を設けた前記所定定速区間の移動距離分短くし、前記所定定速区間を設け、より高速な前記定速区間を前記移動距離分短くした後の前記加減速曲線を前記移動平均フィルタによりフィルタリングすることを特徴とする。数値制御装置は上記速度制御方法を行うので、請求項１と同様の効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】工作機械１の斜視図。
【図２】工作機械１の上半分の縦断面図。
【図３】数値制御装置３０と工作機械１の電気的構成を示すブロック図。
【図４】移動平均フィルタによるフィルタリング前の加減速曲線とフィルタリング後の加減速曲線を示す図。
【図５】アルゴリズムを説明する為の図。
【図６】アルゴリズムを説明する為の図。
【図７】アルゴリズムを説明する為の図。
【図８】早送りとＡＴＣ送りを説明する為の図。
【図９】アルゴリズムを説明する為の図。
【図１０】アルゴリズムを説明する為の図。
【図１１】速度制御処理の流れ図。
【図１２】変形例におけるアルゴリズムを説明する為の図。
【発明を実施するための形態】
【００１６】
本発明の実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は、夫々、工作機械１のＸ軸方向、Ｙ軸方向、Ｚ軸方向である。
【００１７】
図１，図２を参照し、工作機械１の構造を説明する。工作機械１は、ベース２、コラム５、主軸ヘッド７、主軸９、制御箱６、テーブル１０、工具交換装置２０、操作パネル２４（図３参照）等を備える。ベース２は略直方体状の鉄製土台である。コラム５はベース２上部後方に立設する。主軸ヘッド７はコラム５前面に設けた後述するＺ軸移動機構２２（図２参照）で上下方向に移動可能に設ける。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は工具ホルダ１７（図２参照）を装着し、主軸モータ５２の駆動で回転する。主軸モータ５２は主軸ヘッド７上部に固定する。工具ホルダ１７は工具４を保持する。制御箱６は数値制御装置３０（図３参照）を格納する。数値制御装置３０は工作機械１の動作を制御する。テーブル１０はベース２上部に設け、Ｘ軸モータ５３、Ｙ軸モータ５４（図３参照）、Ｘ軸−Ｙ軸ガイド機構（不図示）で、Ｘ軸方向とＹ軸方向に移動可能である。
【００１８】
工具交換装置２０は円盤状の工具マガジン２１を備える。工具マガジン２１は左右一対のフレーム８でコラム５前面側に支持する。工具マガジン２１は外周に複数のグリップアーム９０を放射状に支持する。グリップアーム９０は工具ホルダ１７を着脱自在に保持する。工具交換装置２０は工具マガジン２１を旋回して工具交換指令が指示する工具４を工具交換位置に割出して位置決めする。工具交換指令はＮＣプログラムで指令する。工具交換位置は工具マガジン２１の最下部位置である。工具交換装置２０は主軸９に装着する工具４と工具交換位置にある次工具４とを交換する。操作パネル２４は入力部２５と表示部２８を備える（図３参照）。作業者は入力部２５で、ＮＣプログラム、工具４の種類、工具情報、各種パラメータ等を入力する。作業者が入力部２５を操作すると、表示部２８は各種入力画面と操作画面等を表示する。
【００１９】
図２に示す如く、Ｚ軸移動機構２２は一対のＺ軸リニアガイド（不図示）、Ｚ軸ボール螺子２６、Ｚ軸モータ５１（図３参照）を備える。Ｚ軸リニアガイドはＺ軸方向に延び且つ主軸ヘッド７をＺ軸方向に案内する。Ｚ軸ボール螺子２６は一対のＺ軸リニアガイドの間に配置し、上側軸受部２７と下側軸受部（不図示）により回転可能に設ける。主軸ヘッド７は背面にナット２９を備える。ナット２９はＺ軸ボール螺子２６に螺合する。Ｚ軸モータ５１はＺ軸ボール螺子２６を正逆方向に回転する。故に主軸ヘッド７はナット２９と共にＺ軸方向に上下移動する。
【００２０】
図２を参照し、主軸ヘッド７の内部構造を説明する。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は上下方向に延びる。主軸９は主軸モータ５２の下方に延びる駆動軸にカップリング２３で連結する。主軸９は、テーパ装着穴１８、ホルダ挟持部１９、ドローバ６９を備える。テーパ装着穴１８は主軸９下端部に設ける。テーパ装着穴１８は主軸ヘッド７下部に位置する。ホルダ挟持部１９はテーパ装着穴１８上方に設ける。ドローバ６９は主軸９の中心を通る軸孔内に同軸上に挿入する。クランプばね（不図示）はドローバ６９を上方に常時付勢する。
【００２１】
工具ホルダ１７は一端側に工具４を保持し、他端側にテーパ装着部１７Ａとプルスタッド１７Ｂを備える。テーパ装着部１７Ａは略円錐状である。プルスタッド１７Ｂはテーパ装着部１７Ａの頂上部から軸方向に突出する。テーパ装着部１７Ａは主軸９のテーパ装着穴１８に装着する。テーパ装着穴１８にテーパ装着部１７Ａを装着すると、ホルダ挟持部１９はプルスタッド１７Ｂを挟持（クランプ）する。ドローバ６９がホルダ挟持部１９を下方に押圧すると、ホルダ挟持部１９はプルスタッド１７Ｂの挟持を解除する。
【００２２】
主軸ヘッド７は後方上部内側にレバー部材６０を備える。レバー部材６０は略Ｌ字型で支軸６１を中心に揺動自在である。支軸６１は主軸ヘッド７内部に固定する。レバー部材６０は縦方向レバー６３と横方向レバー６２を備える。縦方向レバー６３は支軸６１からコラム５側に対して斜め上方に延びて中間部６５で上方に折曲して更に上方に延びる。横方向レバー６２は支軸６１からコラム５前方に略水平に延びる。横方向レバー６２の先端部はドローバ６９に直交して突設するアンクランプピン５８に上方から係合可能である。
【００２３】
縦方向レバー６３は上端部背面にアンクランプカム６６を備える。アンクランプカム６６は、例えば側面視略台形状に形成する。アンクランプカム６６はコラム５側にカム面を備える。アンクランプカム６６のカム面は、上側軸受部２７に固定したアンクランプローラ６７と接離可能である。アンクランプカム６６のカム面については更に後述する。主軸ヘッド７の昇降により、アンクランプローラ６７はアンクランプカム６６のカム面を相対的に摺動する。引張ばね６８は縦方向レバー６３と主軸ヘッド７との間に弾力的に設ける。レバー部材６０を右側面から見た場合、引張ばね６８はレバー部材６０を時計回りに常時付勢する。故に、引張ばね６８は横方向レバー６２によるアンクランプピン５８の下方向への押圧を常時解除する方向にレバー部材６０を付勢する。
【００２４】
主軸９への工具ホルダ１７の脱着動作を説明する。図２に示す如く、主軸９のテーパ装着穴１８に、工具ホルダ１７のテーパ装着部１７Ａが装着した状態で、主軸ヘッド７は上昇する。レバー部材６０に設けたアンクランプカム６６はアンクランプローラ６７に接触して摺動する。アンクランプローラ６７はアンクランプカム６６のカム面を下方に摺動する。レバー部材６０は引張ばね６８の付勢力に抗して支軸６１を中心に反時計回りに回転する。横方向レバー６２はアンクランプピン５８に上方から係合し、主軸９内部に設けたクランプばねの付勢力に抗してドローバ６９を下方に押圧する。ドローバ６９はホルダ挟持部１９を下方に付勢する。ホルダ挟持部１９はプルスタッド１７Ｂの挟持を解除する。工具ホルダ１７は主軸９のテーパ装着穴１８から取り外し可能となる。
【００２５】
主軸９のテーパ装着穴１８に、工具ホルダ１７のテーパ装着部１７Ａが挿入した状態で、主軸ヘッド７は降下する。レバー部材６０に設けたアンクランプカム６６はアンクランプローラ６７に摺動する。アンクランプローラ６７はアンクランプカム６６のカム面を上方に摺動する。レバー部材６０は支軸６１を中心に時計回りに回転する。横方向レバー６２はアンクランプピン５８から上方に離れ、ドローバ６９の下方への押圧を解除する。ドローバ６９はクランプばねで上方に移動し、ホルダ挟持部１９の下方への付勢を解除する。ホルダ挟持部１９はプルスタッド１７Ｂを挟持し、主軸９への工具ホルダ１７の装着は完了する。
【００２６】
図２を参照し、工具交換装置２０の構造を説明する。工具交換装置２０は複数の支点台７０を工具マガジン２１裏面外周に等間隔で固定する。支点台７０はグリップアーム９０を前後方向に揺動可能に軸支する。グリップアーム９０は一端部に把持部９１を備える。把持部９１は工具ホルダ１７を着脱自在に把持する。グリップアーム９０は支点台７０近傍に主軸ヘッド７側に向けてローラ９６と９７を回転自在に軸支する。ローラ９６は主軸ヘッド７の昇降により、主軸ヘッド７前面の右端部に沿って固定したＤＰカム１１のカム面を摺動する。ＤＰカム１１のカム面は、直線部１１Ａと傾斜部１１Ｂを備える。直線部１１Ａはカム面上部から下方に直線状に延びる部分である。傾斜部１１Ｂは直線部１１Ａ下部から後方且つ下方に緩やかに湾曲しながら傾斜する部分である。
【００２７】
ローラ９７は主軸ヘッド７の昇降により、主軸ヘッド７前面の左右方向中央部に固定した浮動カム１２のカム面を摺動する。浮動カム１２のカム面は、カム面上部から前方且つ下方に緩やかに傾斜し、更に下方に該中央部で前方に山なりに膨出する。ローラ９６がＤＰカム１１のカム面を摺動する際、浮動カム１２はローラ９６とＤＰカム１１が離れない様に、グリップアーム９０の動きを規制する。工具交換位置のグリップアーム９０は支点台７０を中心に揺動することで、把持部９１を近接位置と退避位置の間を移動できる。近接位置は主軸９に近接して対向する位置、退避位置は主軸９から前方に離間する位置である。
【００２８】
グリップアーム９０は把持部９１とは反対側の他端部に、鋼球９２を圧縮コイルばね（不図示）で外側に付勢した状態で出退可能に保持する。工具マガジン２１は断面円弧状の案内面８１が周設された円筒状のグリップ支持カラー８０を外挿する。鋼球９２はグリップ支持カラー８０の案内面８１に弾力的に当接する。案内面８１はグリップアーム９０の他端部を案内する。故にグリップアーム９０は支点台７０を中心に安定して揺動できる。
【００２９】
図３を参照し、数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０は、ＣＰＵ(Central Processing Unit)３１、記憶部３２、入出力部３３、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を制御する。ＣＰＵ３１は、判定部、速度制御部、フィルタ部としても機能する。判定部、速度制御部、フィルタ部の各処理の内容については後述する。
【００３０】
記憶部３２は、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)、不揮発性の記憶装置等で構成する。ＲＯＭは、速度制御処理プログラム等を記憶する。記憶部３２は、詳しくは後述する移動平均フィルタの時定数ＴＦを記憶する。ＣＰＵ３１は、速度制御処理プログラムを読み出し、詳しくは後述する速度制御処理（図１１参照）を実行する。ＲＡＭは各種処理実行中の各種データを一時的に記憶する。記憶装置は不揮発性であり、例えばＨＤＤ(Hard Disc Drive)、フラッシュメモリ等である。記憶装置は作業者が入力部２５で入力して登録したＮＣプログラム等を記憶する。ＮＣプログラムは各種制御指令を含む複数のブロックで構成し、工作機械１の軸移動、工具交換等を含む各種動作をブロック単位で制御する。入出力部３３は入力部２５と表示部２８に夫々接続する。
【００３１】
駆動回路５１Ａは電流検出器５１ＣとＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは電流検出器５２Ｃと主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３Ａは電流検出器５３ＣとＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４Ａは電流検出器５４ＣとＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａはマガジンモータ５５とエンコーダ５５Ｂに接続する。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５に駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからフィードバック信号を受け、位置と速度のフィードバック制御を行う。フィードバック信号はパルス信号である。
【００３２】
電流検出器５１Ｃ〜５４Ｃは駆動回路５１Ａ〜５５Ａが夫々出力した駆動電流を検出する。電流検出器５１Ｃ〜５４Ｃは検出した駆動電流を夫々駆動回路５１Ａ〜５４Ａにフィードバックする。駆動回路５１Ａ〜５４Ａは電流検出器５１Ｃ〜５４Ｃが夫々フィードバックした駆動電流に基づき、電流（トルク）制御を行う。
【００３３】
図４を参照し、加減速曲線を移動平均フィルタでフィルタリングした場合の問題を、より詳しく説明する。曲線は、直線を含む概念である。曲線ａ（ｔ）は、時定数ＴＦの移動平均フィルタでフィルタリングする前の加減速曲線である。加減速曲線ａ（ｔ）は、二段階の定速区間を有しており、同軸上且つ同一方向の第一処理と第二処理の加減速曲線である。本具体例においては、加減速曲線ａ（ｔ）の時間区間[０，Ｔ０]の部分が、第一処理の加減速曲線であり、時間Ｔ０以降の部分が第二処理の加減速曲線である。ＮＣプログラムにおいて、連続する２つのブロックの内、前のブロックは早送り指令であり、後のブロックは切削送り指令である。早送り指令は第一処理の加減速曲線となり、切削送り指令は第二処理の加減速曲線となる。以下、移動平均フィルタの時定数は"ＴＦ"とする。曲線ｂ（ｔ）は、移動平均フィルタでフィルタリングした後の加減速曲線である。移動平均フィルタは、ＬＰＦ(Low Pass Filter)の一種であるので、フィルタリングすることで遅延が発生する。図４に示す様に、第二処理の指令速度Ｖ０になる時間が遅延する。この遅延により、第二処理を開始する指令開始位置でのフィルタリング後の速度と第二処理の指令速度との間にズレが発生する。
【００３４】
加減速曲線ａ（ｔ）の第二処理の指令開始位置は、時間区間[０，Ｔ０]の加減速曲線ａ（ｔ）の面積に基づき算出できる。第二処理の指令開始位置から第二処理を開始する為には、加減速曲線ａ（ｔ）の時間区間[０，Ｔ０]の面積と等しい加減速曲線ｂ（ｔ）の時間区間の終点の位置で第二処理を開始する必要がある。しかし、加減速曲線ｂ（ｔ）の時間区間[０，Ｔ２]の面積は、加減速曲線ａ（ｔ）の時間区間[０，Ｔ０]の面積より大きいので、第二処理はフィルタリングした後の加減速曲線ｂ（ｔ）が指令速度Ｖ０に減速する時点Ｔ２より前に第二処理を開始することになる。つまり、図４に示すように、加減速曲線ａ（ｔ）の時間区間[０，Ｔ０]の面積と等しい加減速曲線ｂ（ｔ）の時間区間の終点は、時間Ｔ１である。時間Ｔ１での速度Ｖ１は、第二処理の指令速度Ｖ０より速い。
【００３５】
図５と図６を参照し、第一処理が早送りで、第二処理が切削送りの場合のアルゴリズムを説明する。本アルゴリズムは、上述した問題を解決し、移動平均フィルタにより加減速曲線をフィルタリングしても、第二処理の指令開始位置において指令速度により第二処理を開始できるアルゴリズムである。
【００３６】
図５（Ａ）は、第一処理と第二処理のフィルタリング前の加減速曲線ｃ（ｔ）を示している。加減速曲線ｃ（ｔ）は、速い速度から遅い速度に移行する加減速曲線である。第二処理部分の加減速曲線ｃ（ｔ）は、点線で示している。第一処理部分の加減速曲線ｃ（ｔ）において、加減速部分は直線状に加減速している。故に、加減速部分は点対称である。対称点はｔ＝区間Ａの２分の１と速度が０からＶ２に加速する直線との交点、ｔ＝区間Ｃの２分の１と速度がＶ２からＶ３に減速する直線との交点となる。図中の速度Ｖ２、Ｖ３は、夫々、第一処理の指令速度、第二処理の指令速度である。第一処理の移動距離は、加減速曲線ｃ（ｔ）の時間区間[０，Ｔ３]の領域Ａ１の面積と等しい。時点Ｔ３は、第一処理の終了時である。領域Ａ１の面積は、加減速曲線ｃ（ｔ）が第二処理の指令速度Ｖ２になる迄の移動距離である。以下に示す式一〜三の式中の"Ａ"，"ＴＦ"，"Ｂ"，"Ｃ"は、いずれも図５（Ａ）の時間軸の区間である。区間Ａは、速度"０"から指令速度Ｖ２に加速する加速区間、区間ＴＦ，Ｂは指令速度Ｖ２の定速区間、区間Ｃは指令速度Ｖ２から指令速度Ｖ３に減速する減速区間である。
（式一）
（領域Ａ１の面積）＝Ａ×Ｖ２／２＋（ＴＦ＋Ｂ）×Ｖ２＋（Ｖ２＋Ｖ３）×Ｃ／２
【００３７】
図５（Ｂ）は、第一処理と第二処理のフィルタリング前後の加減速曲線を、夫々、示している。フィルタリング後の加減速曲線は、加減速曲線ｄ（ｔ）である。上述した様に、加減速曲線ｃ（ｔ）の加減速部分は点対称であるので、移動平均フィルタの特性上、移動平均フィルタでフィルタリングした後も対応する加減速部分は点対称となる。故に、加減速曲線ｄ（ｔ）の時間区間[０，Ｔ４]の領域Ａ２の面積は、加減速曲線ｄ（ｔ）の加速区間の始点と終点を結ぶ直線と、ｖ＝Ｖ２の直線と、加減速曲線ｄ（ｔ）の減速区間の始点と終点を結ぶ直線と、ｔ＝Ｔ４の直線と、ｖ＝０の直線で囲まれた領域Ａ３の面積と等しい。領域Ａ２の面積は、加減速曲線ｄ（ｔ）が第二処理の指令速度Ｖ２になる迄の移動距離である。
（式二）
（領域Ａ２の面積）＝
（Ａ＋ＴＦ）×Ｖ２／２＋Ｂ×Ｖ２＋（Ｖ２＋Ｖ３）×（Ｃ＋ＴＦ）／２
【００３８】
加減速曲線ｄ（ｔ）が第二処理の指令速度になる迄の移動距離と加減速曲線ｃ（ｔ）が第二処理の指令速度になる迄の移動距離の差は、以下の式三で算出できる。
（式三）
（差）＝{（Ａ＋ＴＦ）×Ｖ２／２＋Ｂ×Ｖ２＋（Ｖ２＋Ｖ３）×（Ｃ＋ＴＦ）／２}−
{Ａ×Ｖ２／２＋（ＴＦ＋Ｂ）×Ｖ２＋（Ｖ２＋Ｖ３）×Ｃ／２}
＝ＴＦ×Ｖ２／２−ＴＦ×Ｖ２＋（Ｖ２＋Ｖ３）×ＴＦ／２＝Ｖ３×ＴＦ／２
【００３９】
加減速曲線ｄ（ｔ）が第二処理の指令速度になる迄の移動距離と加減速曲線ｃ（ｔ）が第二処理の指令速度になる迄の移動距離の差は、第二処理の指令速度Ｖ３に時定数ＴＦの"１／２"を掛けた値（Ｖ３×ＴＦ／２）である。故に、フィルタリング前の加減速曲線は、図６（Ａ）に示す様に、第一処理の終了時に、第一処理の加減速曲線として、速度Ｖ３、時間ＴＦ／２の定速区間αを設け、定速区間α分の移動距離だけ速度ｖ＝Ｖ２の定速区間を短くした加減速曲線ｃ'（ｔ）とする。つまり、指令速度ｖ＝Ｖ２の定速区間を、"Ｖ３×ＴＦ／（２×Ｖ２）"（ｓ）だけ短くする。第二処理の指令開始位置までの第一処理の移動距離は、加減速曲線ｃ'（ｔ）の時間区間[０，Ｔ５]の領域Ａ４の面積と等しい。以下に示す式四〜六の式中の"Ａ"，"ＴＦ"，"Ｂ'"，"Ｃ"は、いずれも図６（Ａ）の時間軸の区間である。区間Ｂ'は、指令速度Ｖ２の定速区間であり、区間Ｂを低速区間α分の移動距離だけ短くした区間である。
（式四）
（領域Ａ４の面積）＝Ａ×Ｖ２／２＋（ＴＦ＋Ｂ'）×Ｖ２＋（Ｖ２＋Ｖ３）×Ｃ／２
＋Ｖ３×ＴＦ／２
【００４０】
図６（Ｂ）は、第一処理のフィルタリング前後の加減速曲線を、夫々、示している。フィルタリング後の加減速曲線は、加減速曲線ｄ'（ｔ）である。上述した様に、加減速曲線ｃ'（ｔ）の加減速部分は点対称であるので、移動平均フィルタの特性上、移動平均フィルタでフィルタリングした後も対応する加減速部分は点対称となる。故に、加減速曲線ｄ'（ｔ）の時間区間[０，Ｔ６]の領域Ａ５の面積は、加減速曲線ｄ'（ｔ）の加速区間の始点と終点を結ぶ直線と、ｖ＝Ｖ２の直線と、加減速曲線ｄ'（ｔ）の減速区間の始点と終点を結ぶ直線と、ｔ＝Ｔ６の直線と、ｖ＝０の直線で囲まれた領域Ａ６の面積と等しい。領域Ａ５の面積は、加減速曲線ｄ'（ｔ）が第二処理の指令速度Ｖ２になる迄の移動距離である。
（式五）
（領域Ａ５の面積）＝
（Ａ＋ＴＦ）×Ｖ２／２＋Ｂ'×Ｖ２＋（Ｖ２＋Ｖ３）×（Ｃ＋ＴＦ）／２
【００４１】
加減速曲線ｄ'（ｔ）が第二処理の指令速度になる迄の移動距離と加減速曲線ｃ'（ｔ）が第二処理の指令速度になる迄の移動距離の差は、以下の式六で算出できる。
（式六）
（差）＝{（Ａ＋ＴＦ）×Ｖ２／２＋Ｂ'×Ｖ２＋（Ｖ２＋Ｖ３）×（Ｃ＋ＴＦ）／２}−
{Ａ×Ｖ２／２＋（ＴＦ＋Ｂ'）×Ｖ２＋（Ｖ２＋Ｖ３）×Ｃ／２＋Ｖ３×ＴＦ／２}
＝ＴＦ×Ｖ２／２−ＴＦ×Ｖ２＋（Ｖ２＋Ｖ３）×ＴＦ／２−Ｖ３×ＴＦ／２＝０
【００４２】
式六に示した様に、領域Ａ４の面積と領域Ａ５の面積の差は無いので、領域Ａ４と領域Ａ５の面積は等しい。故に、数値制御装置３０は、加減速曲線ｃ'（ｔ）を移動平均フィルタでフィルタリングしても、早送りの指令終点位置における切削速度が指令速度となる様に速度制御できる。早送りの指令終点位置における切削送りの速度が指令速度となるので、数値制御装置３０は、指令速度を超えてしまい加工不良を引き起こす問題を解決できる。
【００４３】
図７を参照し、第一処理が切削送りで第二処理が早送りのアルゴリズムを説明する。この場合、第一処理と第二処理の加減速曲線ｅ（ｔ）は、遅い速度ｖ＝Ｖ３から速い速度ｖ＝Ｖ２に移行する加減速曲線となる。加減速曲線ｅ（ｔ）は、第二処理の開始時に、第二処理の加減速曲線として、定速区間αを既に設け、定速区間α分の移動距離だけ速度ｖ＝Ｖ２の定速区間を短くした加減速曲線である。加減速曲線ｅ（ｔ）とｔ＝Ｔ８とｖ＝０で囲まれた領域Ａ７の面積は、第二処理における移動距離である。式七〜九の式中の"Ｄ"，"ＴＦ"，"Ｅ"，"Ｆ"は、いずれも図７の時間軸の区間である。区間Ｄは指令速度Ｖ３から指令速度Ｖ２への加速区間、区間ＴＦ，Ｅは指令速度Ｖ２の定速区間、区間Ｆは指令速度Ｖ２から速度"０"への減速区間である。
（式七）
（領域Ａ７の面積）＝Ｖ３×ＴＦ／２＋（Ｖ２＋Ｖ３）×Ｄ／２＋（ＴＦ＋Ｅ）×Ｖ２＋
Ｆ×Ｖ２／２
【００４４】
加減速曲線ｅ（ｔ）をフィルタリング後の加減速曲線ｆ（ｔ）の第二処理部分の移動距離は、加減速曲線ｆ（ｔ）とｔ＝Ｔ７とｖ＝０に囲まれた領域Ａ８の面積である。上述した様に、加減速曲線ｅ（ｔ）の加減速部分は直線状であり点対称なので、領域Ａ８の面積は、領域Ａ９の面積と等しい。領域Ａ９は、ｔ＝Ｔ７と、加速部分の曲線の始点と終点を結んだ直線と、ｖ＝Ｖ２と、減速部分の曲線の始点と終点を結んだ直線と、ｖ＝０で囲まれた領域である。
（式八）
（領域Ａ８の面積）＝（Ｖ２＋Ｖ３）×（Ｄ＋ＴＦ）／２＋Ｅ×Ｖ２
＋（Ｆ＋ＴＦ）×Ｖ２／２
【００４５】
領域Ａ７の面積と領域Ａ８の面積の差は、以下の式九により算出できる。
（式九）
（差）＝{Ｔ３×ＴＦ／２＋（Ｖ２＋Ｖ３）×Ｄ／２＋（ＴＦ＋Ｅ）×Ｖ２＋Ｆ×Ｖ２／２}−{（Ｖ２＋Ｖ３）×（Ｄ＋ＴＦ）／２＋Ｅ×Ｖ２＋（Ｆ＋ＴＦ）×Ｖ２／２}
＝Ｔ３×ＴＦ／２−（Ｖ２＋Ｖ３）×ＴＦ／２＋ＴＦ×Ｖ２−ＴＦ×Ｖ２／２＝０
【００４６】
式九に示した様に、領域Ａ７の面積と領域Ａ８の面積の差は無いので、領域Ａ７と領域Ａ８の面積は等しい。故に、数値制御装置３０は、加減速曲線ｅ（ｔ）を移動平均フィルタでフィルタリングしても、切削送りの指令速度から早送りの指令速度へ加速を開始する位置が切削送りの指令終点位置となる様に速度制御できる。切削送りの指令速度から早送りの指令速度へ加速を開始する位置が切削送りの指令終点位置となるので、数値制御装置３０は、切削送りの速度が指令速度を超えてしまい加工不良を引き起こす問題を解決できる。
【００４７】
図８を参照し、工具ホルダ１７の交換時における、早送りの速度とＡＴＣ速度（工具交換速度）について説明する。一般的に、Ｚ原点からＡＴＣ原点間のＡＴＣ領域では、工具交換により発生する振動を抑える為に、加工領域における早送りの速度より低速に設定される。ＡＴＣ原点とは、工具マガジン２１が回転できる主軸ヘッド７のＺ軸方向の位置である。図８の例では、ＡＴＣ領域での上昇及び降下時のＡＴＣ速度ｖ＝Ｖ５は"３００００"（ｍｍ／ｍｉｎ）であり、加工領域での上昇及び降下時の早送り速度ｖ＝Ｖ４は"５００００"（ｍｍ／ｍｉｎ）である。工具交換においても、高速な早送り速度から低速なＡＴＣ速度への移行と低速なＡＴＣ速度から高速な早送り速度への移行が行われる。故に、上述したアルゴリズムが適用できる。
【００４８】
図９を参照し、第一処理が加工領域の上昇早送りで、第二処理がＡＴＣ領域の上昇送りの場合のアルゴリズムを説明する。基本的な考えた方は、上述した、第一処理が早送りで、第二処理が切削送りの場合と同じである。第一処理と第二処理の加減速曲線ｇ（ｔ）は、図９に示す様に、既に、ＡＴＣ領域の上昇送りの速度ｖ＝Ｖ５の時間ＴＦ／２の定速区間を、第一処理の加減速曲線として、第一処理の終了時に設け、設けた定速区間の移動距離分だけ早送りの速度ｖ＝Ｖ４の定速区間を短くした加減速曲線である。
【００４９】
第一処理の移動距離は、加減速曲線ｇ（ｔ）をフィルタリングした後の加減速曲線ｈ（ｔ）と、ｔ＝Ｔ１１と、ｖ＝０で囲まれた領域Ａ１１の面積である。加減速曲線ｈ（ｔ）の第一処理の加減速部分は点対称なので、領域Ａ１１の面積は、領域Ａ１２の面積と等しい。領域Ａ１２の面積は、上述した様に、加減速曲線ｇ（ｔ）と、ｔ＝Ｔ９と、ｖ＝０で囲まれた領域に、速度Ｖ５の時間ＴＦ／２の定速区間の領域を加えた領域Ａ１０の面積と等しい。故に、上昇早送りの指令終点位置における速度が、ＡＴＣ領域の上昇送りの指令速度となる様に制御できる。ＡＴＣ領域で指令速度を超えない様に指令速度を守ることができるので、数値制御装置３０は、工具交換時の振動増加を防止できる。
【００５０】
図１０を参照し、第一処理がＡＴＣ領域の降下送りで、第二処理が加工領域の降下早送りの場合のアルゴリズムを説明する。基本的な考えた方は、上述した、第一処理が切削送りで、第二処理が早送りの場合と同じである。第一処理と第二処理の加減速曲線ｉ（ｔ）は、図１０に示す様に、既に、ＡＴＣ領域の降下送りの速度ｖ＝Ｖ５の時間ＴＦ／２の定速区間を、第二処理の加減速曲線として、第二処理の開始時に設け、設けた定速区間の移動距離分だけ早送りの速度ｖ＝Ｖ４の定速区間を短くした加減速曲線である。加減速曲線ｉ（ｔ）の第二処理の加減速部分は直線状なので、点対称である。故に、上述した様に、加減速曲線ｉ（ｔ）をフィルタリングした後の加減速曲線ｊ（ｔ）の第二処理の加減速部分は点対称となる。
【００５１】
第二処理の移動距離は、加減速曲線ｊ（ｔ）と、ｔ＝Ｔ１２と、ｖ＝０で囲まれた領域Ａ１４の面積である。加減速曲線ｉ（ｔ）をフィルタリングした後の加減速曲線ｊ（ｔ）の第一処理の加減速部分は点対称なので、領域Ａ１４の面積は、領域Ａ１５の面積と等しい。領域Ａ１５の面積は、上述した様に、加減速曲線ｉ（ｔ）と、ｔ＝Ｔ１２と、ｖ＝０で囲まれた領域に、速度Ｖ５の時間ＴＦ／２の定速区間の領域を加えた領域Ａ１３の面積と等しい。故に、ＡＴＣ領域の降下送りの指令終点位置から加速を開始し降下早送りの指令速度となる様に制御できる。ＡＴＣ領域で指令速度を超えない様に指令速度を守ることができるので、数値制御装置３０は、工具交換時の振動増加を防止できる。
【００５２】
図１１を参照し、速度制御処理を説明する。速度制御処理は、ＣＰＵ３１が記憶部３２から速度制御プログラムを読み出して実行することで開始する。速度制御処理は、少なくとも二つの速度が異なる移動処理の指令をトリガとして開始する。フィルタリング前の加減速曲線における、指令速度が速い方の処理の加減速部分が点対称であるものとする。
【００５３】
ＣＰＵ３１（判定部）は、第一処理と第二処理が同軸上の動作であるか判定する（Ｓ１）。ＣＰＵ３１（判定部）は、第一処理と第二処理が同軸上の動作でないと判定した場合には（Ｓ１：ＮＯ）、ＣＰＵ３１（速度制御部）は、上述した本アルゴリズムの加減速制御と異なる一般的な加減速制御により速度を制御する（Ｓ２）。ＣＰＵ３１は、Ｓ１に戻る。ＣＰＵ３１（判定部）は、第一処理と第二処理が同軸上の動作であると判定した場合には（Ｓ１：ＹＥＳ）、第一処理と第二処理が同一方向であるか判定する（Ｓ３）。
【００５４】
ＣＰＵ３１（判定部）は、第一処理と第二処理が同一方向ではないと判定した場合には（Ｓ３：ＮＯ）、Ｓ２に進む。ＣＰＵ３１（判定部）は、第一処理と第二処理が同一方向であると判定した場合には（Ｓ３：ＹＥＳ）、ＣＰＵ３１は、第一処理と第二処理の指令速度を比較する（Ｓ４）。ＣＰＵ３１（判定部）は、第一処理の指令速度の方が速いか判定する（Ｓ５）。ＣＰＵ３１（判定部）は、第一処理の指令速度の方が遅いと判定した場合には（Ｓ５：ＮＯ）、ＣＰＵ３１（速度制御部）は、第二処理の加減速曲線として、第二処理の開始時に、第一処理の指令速度の時間ＴＦ／２の定速区間を設け、設けた定速区間の移動距離分だけ第二処理の指令速度の区間を短くする（Ｓ６）。ＣＰＵ３１は、Ｓ８に進む。
【００５５】
ＣＰＵ３１（判定部）は、第一処理の指令速度の方が速いと判定した場合には（Ｓ５：ＹＥＳ）、ＣＰＵ３１（速度制御部）は、第一処理の加減速曲線として、第一処理の終了時に、第二処理の指令速度の時間ＴＦ／２の定速区間を設け、設けた定速区間の移動距離分だけ第一処理の指令速度の区間を短くする（Ｓ７）。ＣＰＵ３１（フィルタ部）は、定速区間を追加した後の加減速曲線を移動平均フィルタでフィルタリングする（Ｓ８）。ＣＰＵ３１（速度制御部）は、フィルタリング後の加減速曲線に基づき、第一処理と第二処理の速度を制御する（Ｓ９）。ＣＰＵ３１は、Ｓ１に戻り、上述の処理を繰り返す。
【００５６】
図１２を参照し、変形例の一つを説明する。上述した具体例では、フィルタリング前の加減速曲線は直線の組み合わせである。本変形例は、フィルタリング前の加減速曲線ｋ（ｔ）の指令速度が速い第一処理における加減速部分が点対称の曲線の場合である。図１２（Ａ）に示す加減速曲線ｋ（ｔ）は、第一処理の加減速曲線として、第一処理の終了時に、速度ｖ＝Ｖ７の時間ＴＦ／２の定速区間を設け、設けた定速区間の移動距離分だけ第一処理の指令速度Ｖ６の区間を短くした加減速曲線である。
【００５７】
加減速曲線ｋ（ｔ）と、ｔ＝Ｔ１５と、ｖ＝０で囲まれた領域Ａ１６の面積は、加減速部分が点対称なので、加速曲線の始点と終点を結んだ直線と、ｖ＝Ｖ６と、ｖ＝０と、ｔ＝Ｔ１４と、減速曲線の始点と終点を結んだ直線で囲まれた領域Ａ１７の面積に、速度ｖ＝Ｖ７の時間ＴＦ／２の定速区間の面積を加えた面積に等しい。故に、領域Ａ１６の面積は、以下の式十により算出できる。式十〜十二の式中の"Ｇ"，"Ｈ"，"Ｉ"は、いずれも図１２の時間軸の区間である。
（式十）
（領域Ａ１６の面積）＝Ｇ×Ｖ６／２＋（ＴＦ＋Ｈ）×Ｖ６＋（Ｖ６＋Ｖ７）×Ｉ／２
＋Ｖ７×ＴＦ／２
【００５８】
図１２（Ｂ）に示す加減速曲線ｌ（ｔ）は、加減速曲線ｋ（ｔ）をフィルタリングした後の加減速曲線である。上述した様に、フィルタリング前の加減速曲線の加減速部分の曲線が点対称である場合、フィルタリング後の加減速曲線の加減速部分の曲線は点対称となる。故に、加減速曲線ｌ（ｔ）と、ｔ＝Ｔ１６と、ｖ＝０で囲まれた領域Ａ１８の面積は、加減速曲線ｌ（ｔ）の加速曲線の始点と終点を結ぶ直線と、ｖ＝Ｖ６と、ｖ＝０と、ｔ＝Ｔ１６と、加減速曲線ｌ（ｔ）の減速曲線の始点と終点を結ぶ直線で囲まれた領域Ａ１９の面積と等しい。領域Ａ１８の面積は、以下の式十一により算出できる。
（式十一）
（領域Ａ１８の面積）＝（Ｇ＋ＴＦ）×Ｖ６／２＋Ｈ×Ｖ６
＋（Ｖ６＋Ｖ７）×（Ｉ＋ＴＦ）／２
【００５９】
領域Ａ１６と領域Ａ１８の面積の差は、以下の式十二により算出できる。
（式十二）
（差）＝{Ｇ×Ｖ６／２＋（ＴＦ＋Ｈ）×Ｖ６＋（Ｖ６＋Ｖ７）×Ｉ／２＋Ｖ７×ＴＦ／２}−{（Ｇ＋ＴＦ）×Ｖ６／２＋Ｈ×Ｖ６＋（Ｖ６＋Ｖ７）×（Ｉ＋ＴＦ）／２}
＝−ＴＦ×Ｖ６／２＋ＴＦ×Ｖ６−Ｖ６×ＴＦ／２＝０
【００６０】
式十二に示した様に、領域Ａ１６と領域Ａ１８の面積の差は無いので、フィルタリング前の領域Ａ１６の面積とフィルタリング後の領域Ａ１８の面積は等しい。故に、数値制御装置３０は、同様に、第一処理の指令終了位置における速度を第二処理の指令速度に制御することができる。本変形例では、第一処理の速度が第二処理の速度より速い場合を例に説明したが、第一処理の速度が第二処理の速度より遅い場合についても、上述したアルゴリズムを適用することができる。この場合、数値制御装置３０は、第一処理の指令終点位置から加速を開始し第二処理の指令速度に制御することができる。
【００６１】
上記実施形態では、数値制御装置３０は、第一処理と第二処理が同軸上且つ同一方向であり、第一処理の指令速度が第二処理の指令速度より速い場合には、第一処理の終了時に、第一処理の加減速曲線として、第二処理の指令速度の所定の定速区間を設け、設けた定速区間の移動距離分だけ第一処理の指令速度の区間を短くする。数値制御装置３０は、所定の定速区間を設けた後の加減速曲線を移動平均フィルタでフィルタリングし、フィルタリング後の加減速曲線に基づき、速度を制御する。数値制御装置３０は、第一処理の指令速度が第二処理の指令速度より遅い場合には、第二処理の開始時に、第二処理の加減速曲線として、第一処理の指令速度の所定の定速区間を設け、設けた定速区間の移動距離分だけ第二処理の指令速度の区間を短くする。数値制御装置３０は、所定の定速区間を設け、設けた定速区間の移動距離分だけ他の定速区間を短くした後の加減速曲線を移動平均フィルタでフィルタリングし、フィルタリング後の加減速曲線に基づき、速度を制御する。加減速曲線を移動平均フィルタでフィルタリングすると、時間遅延が生じるので、所定の位置における速度が所定の位置における予め設定された速度より早くなってしまう。より高速な定速区間を有する指令ブロックに他の指令ブロックの定速区間における速度の所定定速区間を設け、設けた定速区間の移動距離分だけより高速な定速区間を短くしたことで、数値制御装置３０は、高速な指令ブロックの所定の終了位置における速度と予め設定された速度との差を少なくできる。数値制御装置３０は、低速な指令ブロックから高速な指令ブロックに加速を開始する所定の位置のズレを少なくできる。
【００６２】
上記実施形態では、数値制御装置３０は、所定定速区間として、時間が移動平均フィルタの時定数ＴＦの半分の区間を設ける。所定定速区間における速度を低速な処理の指令速度とし、時間を移動平均フィルタの時定数ＴＦの半分にすることで、高速な処理の指令終了位置における速度が所定の速度と等しくなる。数値制御装置３０は、低速な指令ブロックの所定の終了位置から高速な指令ブロックに加速を開始できる。
【００６３】
上記実施形態では、より高速な指令速度の処理は、テーブル１０の早送りであり、他の処理は、切削送りである。早送りから切削送りに移行する場合には、切削送り開始位置の速度が切削送りの速度となるので、数値制御装置３０は、加工不良を低減できる。切削送りから早送りに移行する場合には、切削送りの終了位置で加速を開始するので、数値制御装置３０は、切削送りの終了前に加速することを防ぐことができ、加工不良を低減できる。
【００６４】
上記実施形態では、より高速な指令速度の処理は、主軸ヘッド７の早送りであり、他の処理は、ＡＴＣ領域での送りである。工具交換時に主軸ヘッド７の速度が予め設定された速度となるので、数値制御装置３０は、高速で主軸９がグリップアーム９０の把持部９１にぶつかるのを防止できる。故に、数値制御装置３０は、工作機械１の振動を低減できる。数値制御装置３０は、ＡＴＣ領域における予め設定された位置から早送りの速度に加速できる。
【００６５】
上記実施形態では、数値制御装置３０は、第一処理と第二処理が同軸上且つ同一方向であるか判定し、第一処理と第二処理が同軸上且つ同一方向であると判定した場合のみ、加減速曲線に所定定速区間を設け、所定定数区間を設け、設けた定速区間の移動距離分だけ他の定速区間を短くした後の加減速曲線を移動平均フィルタでフィルタリングする。第一処理と第二処理が同軸上且つ同一方向でない場合に、加減速曲線を移動平均フィルタによりフィルタリングするのは適切ではない。故に、数値制御装置３０は、無駄な処理を省き、必要に応じて加減速曲線を移動平均フィルタによりフィルタリングできる。
【００６６】
上記実施形態では、曲線は、直線を含む概念である。第一処理及び第二処理へ加減速する際の曲線が直線であっても、直線は点対称なので、同様の効果を奏する。
【００６７】
上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態のフィルタリング前の加減曲線は加減速部分が点対称である。これに限定されるわけではなく、フィルタリング前の加減曲線は加減速部分が点対称でなくても良い。加減速部分が点対称でなくても、数値制御装置３０は、高速な指令ブロックの所定の終了位置における速度と予め設定された速度との差を少なくできる。数値制御装置３０は、低速な指令ブロックから高速な指令ブロックに加速を開始する所定の位置のズレを少なくできる。
【００６８】
上記実施形態のアンクランプカム６６はレバー部材６０に固定し、アンクランプカム６６のカム面を摺動するアンクランプローラ６７をコラム５側に支持する。これに限定されるものではなく、アンクランプローラ６７をレバー部材６０に支持し、アンクランプカム６６をコラム５側に固定しても良い。
【００６９】
上記実施形態において、指令速度が異なる第一処理と第二処理を例に説明した。しかしながら、これに限定されるわけではなく、前後の処理の指令速度が異なれば、同軸上且つ同一方向の三以上の処理の加減速曲線に対しても、上述したアルゴリズムが適用できる。
【００７０】
上記実施形態において、フィルタリング前の加減速曲線の加減速部分は直線のみ又は曲線のみであったが、一方が直線で、他方が点対称の曲線であっても良い。
【００７１】
上記実施形態の駆動回路５１Ａ〜５５Ａは数値制御装置３０に設けているが、工作機械１に設けても良い。
【００７２】
上記実施形態の工作機械１は、主軸９がＺ軸方向に延びる立型工作機械であるが、主軸９が水平方向に延びる横型工作機械であっても良い。
【００７３】
本実施形態はＣＰＵ３１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等を、プロセッサとして用いても良い。ＣＰＵ３１とＦＰＧＡ等によりプロセッサを実現しても良い。設定・確認処理は、複数のプロセッサによって分散処理しても良い。プログラムを記憶するＲＯＭと記憶装置は、例えばＨＤＤと他の非一時的な記憶媒体の少なくとも一方で構成しても良い。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であれば良い。非一時的な記憶媒体は、一時的な記憶媒体（例えば伝送される信号）を含まなくても良い。設定・確認処理プログラム、ＮＣプログラム等の各種プログラムは、例えば、図示外のネットワークに接続されたサーバからダウンロードして（即ち、伝送信号として送信され）、フラッシュメモリ等の記憶装置等に記憶しても良い。この時、プログラムは、サーバに備えられたＨＤＤなどの非一時的な記憶媒体に保存していれば良い。
【００７４】
＜その他＞
第一処理、第二処理は、本発明の「指令ブロック」の一例である。
【符号の説明】
【００７５】
７      主軸ヘッド
１０      テーブル
３０      数値制御装置
３１      ＣＰＵ
ＴＦ      時定数
【図１】
2019082774.tif 000003
【図２】
2019082774.tif 000004
【図３】
2019082774.tif 000005
【図４】
2019082774.tif 000006
【図５】
2019082774.tif 000007
【図６】
2019082774.tif 000008
【図７】
2019082774.tif 000009
【図８】
2019082774.tif 000010
【図９】
2019082774.tif 000011
【図１０】
2019082774.tif 000012
【図１１】
2019082774.tif 000013
【図１２】
2019082774.tif 000014