(57)【要約】  加工ワーク（７０）の回転軸である主軸（６０）と、加工ワーク（７０）を振動切削加工するためのｎ個（ｎは２以上の整数）の工具を駆動するｎ個の駆動軸と、を制御するための数値制御装置（１Ｘ）であって、主軸（６０）の回転角に対するｎ個の駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部（２３）と、位相算出部（２３）の結果に基づいて、主軸（６０）の回転角に対するｎ個の駆動軸の振動波形の位相の差が特定の位相差となるように、工具の振動波形を算出する波形算出部（２４）と、を備える。
2020084771.tif 000002
【特許請求の範囲】
【請求項１】
加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのｎ個（ｎは２以上の整数）の工具を駆動するｎ個の駆動軸と、を制御するための数値制御装置であって、
前記主軸の回転角に対するｎ個の前記駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部と、
前記位相算出部の結果に基づいて、前記主軸の回転角に対するｎ個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出部と、
を備えた数値制御装置。
【請求項２】
前記特定の位相差は、（３６０／ｎ）度である、
請求項１に記載の数値制御装置。
【請求項３】
加工対象物の回転軸である主軸と、
前記加工対象物を加工するｎ個（ｎは２以上の整数）の工具を移動および振動させるｎ個の駆動軸と、
を備え、
ｎ個の前記駆動軸は、前記主軸を中心とした同心円上に配置されている、
工作機械。
【請求項４】
ｎ個の前記駆動軸は、（３６０／ｎ）度の位置位相差となる位置に配置されている、
請求項３に記載の工作機械。
【請求項５】
前記工具及び前記駆動軸は２個である、
請求項３または４に記載の工作機械。
【請求項６】
前記工具及び前記駆動軸は３個である、
請求項３または４に記載の工作機械。
【請求項７】
加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのｎ個（ｎは２以上の整数）の工具を駆動するｎ個の駆動軸と、を制御するための数値制御方法であって、
前記主軸の回転角に対するｎ個の前記駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出ステップと、
前記位置位相差の算出結果に基づいて、前記主軸の回転角に対するｎ個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出ステップと、
を含む数値制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具を振動させながらの振動切削を制御する数値制御装置、工作機械および数値制御方法に関する。
【背景技術】
【０００２】
旋削加工の分野では、数値制御装置が、加工対象物を加工するための加工プログラムに従って工具の動作を制御し、これにより工具に加工対象物を加工させている。この数値制御装置の中には、工具経路に沿って特定の周波数で工具を振動させながら加工対象物を振動切削させるものがある。【０００３】
特許文献１に記載の数値制御装置は、工具への移動指令から単位時間あたりの指令移動量を算出し、振動条件から単位時間あたりの振動移動量を算出し、指令移動量と振動移動量とを合成して合成移動量を算出し、合成移動量に基づいて振動切削を制御している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５９９５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、加工対象物の加工速度を上げるために加工対象物の回転軸である主軸の回転数を大きくするには、工具の振動周波数を高くする必要があった。この場合において、工具の振動周波数が高くなり過ぎると、工作機械の構造的な要因によって工具の動作が振動指令に追従できなくなるので、切屑を分断できなくなる。【０００６】
本発明は、上記に鑑みてなされたものであって、加工対象物の加工速度を上げつつ切屑を分断できる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、加工対象物の回転軸である主軸と、加工対象物を振動切削加工するためのｎ個（ｎは２以上の整数）の工具を駆動するｎ個の駆動軸と、を制御するための数値制御装置であって、主軸の回転角に対するｎ個の駆動軸のそれぞれの取付角度から位置位相差を算出する位相算出部と、位相算出部の結果に基づいて、主軸の回転角に対するｎ個の駆動軸の振動波形の位相の差が特定の位相差となるように、工具の振動波形を算出する波形算出部と、を備える。
【発明の効果】
【０００８】
本発明にかかる数値制御装置は、加工対象物の加工速度を上げつつ切屑を分断できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかる数値制御装置の構成例を示す図
【図２】実施の形態１にかかる工作機械の構成を示す図
【図３】実施の形態１にかかる工作機械が備える刃物台の配置位置を説明するための図
【図４】実施の形態１にかかる数値制御装置が用いる合成振動波形を説明するための図
【図５】実施の形態１にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図
【図６】実施の形態１にかかる数値制御装置が用いる加工プログラムの例を示す図
【図７】実施の形態１にかかる数値制御装置の処理手順を示すフローチャート
【図８】実施の形態１にかかる制御演算部のハードウェア構成例を示す図
【図９】実施の形態２にかかる工作機械が備える刃物台の配置位置を説明するための図
【図１０】実施の形態２にかかる数値制御装置が用いる合成振動波形を説明するための図
【図１１】実施の形態２にかかる数値制御装置が用いる加工プログラムの例を示す図
【図１２】実施の形態３にかかる工作機械が備える刃物台の配置位置を説明するための図
【図１３】実施の形態３にかかる数値制御装置が用いる合成振動波形を説明するための図
【図１４】実施の形態３にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図
【図１５】実施の形態３にかかる数値制御装置が用いる加工プログラムの例を示す図
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態にかかる数値制御装置、工作機械および数値制御方法を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１にかかる数値制御装置の構成例を示す図である。図２は、実施の形態１にかかる工作機械の構成を示す図である。図２では、紙面の横方向がＺ軸方向であり、紙面の縦方向がＸ軸方向である。そして、Ｘ１軸およびＸ２軸は、Ｘ軸に平行な軸であり、Ｙ１軸およびＹ２軸は、Ｙ軸に平行な軸であり、Ｚ１軸およびＺ２軸は、Ｚ軸に平行な軸である。
【００１２】
数値制御（ＮＣ：Numerical  Control）装置１Ｘは、旋盤加工を行う工作機械１１０に対して、工具６６Ａ，６６Ｂを振動させながらの加工である低周波振動切削の制御を実行するコンピュータである。以下の説明では低周波振動を単に振動という場合がある。
【００１３】
数値制御装置１Ｘは、第１の駆動軸を含む１軸以上の駆動軸によって、第１の工具と加工対象物である加工ワーク７０とを相対的に移動させ、さらに第２の駆動軸を含む１軸以上の駆動軸によって、第２の工具と加工ワーク７０とを相対的に移動させながら、加工ワーク７０の加工を制御する。すなわち、数値制御装置１Ｘは、第１の工具または加工ワーク７０を移動させる第１の駆動軸と、第２の工具または加工ワーク７０を移動させる第２の駆動軸とを有しており、第１の工具および第２の工具によって同時に加工ワーク７０を振動切削する。実施の形態１では、数値制御装置１Ｘが、第１の工具および第２の工具によって、加工ワーク７０の切屑を小さく分断しながら加工ワーク７０が加工されるよう、各駆動軸の振動または加工ワーク７０の回転を制御する。
【００１４】
数値制御装置１Ｘは、加工ワーク７０の回転軸である１つの主軸６０と、第１の工具である工具６６Ａを移動させる第１軸６１Ａと、第２の工具である工具６６Ｂを移動させる第２軸６１Ｂと、を備えた工作機械１１０を制御する。加工対象物である加工ワーク７０は、工作機械１１０によって加工される被加工物である。なお、図２では、主軸６０として主軸６０の中心線を図示している。
【００１５】
数値制御装置１Ｘは、制御演算部２Ｘと、入力操作部３と、表示部４と、ＰＬＣ（Programmable  Logic  Controller：プログラマブルロジックコントローラ）３６を操作するための機械操作盤などのＰＬＣ操作部５とを有する。図１には、工作機械１１０の構成要素である駆動部９０が示されている。
【００１６】
駆動部９０は、工作機械１１０が備える第１系統の第１刃物台６５Ａ、第２系統の第２刃物台６５Ｂなどを駆動させる。なお、以下の説明では、第１刃物台６５Ａと第２刃物台６５Ｂとを区別する必要がない場合には、第１刃物台６５Ａまたは第２刃物台６５Ｂを刃物台という場合がある。
【００１７】
駆動部９０は、加工ワーク７０を回転させながら、２つの工具６６Ａ，６６Ｂを駆動する駆動機構である。駆動部９０は、工具６６ＡをＸ１軸方向、および第１軸６１Ａの軸方向であるＺ１軸方向に沿って移動させ、工具６６ＢをＸ２軸方向、および第２軸６１Ｂの軸方向であるＺ２軸方向に沿って移動させる。実施の形態１では、工具６６Ａの振動方向が第１軸６１Ａの軸方向であり、工具６６Ｂの振動方向が第２軸６１Ｂの軸方向である場合について説明する。なお、軸方向は装置構成によるので、軸方向は上記方向に限定されない。
【００１８】
駆動部９０は、数値制御装置１Ｘ上で規定された各軸方向に工具６６Ａ，６６Ｂを移動させるサーボモータ９０１〜９０４と、サーボモータ９０１〜９０４の位置および速度を検出する検出器９７〜１００とを備えている。また、駆動部９０は、数値制御装置１Ｘからの指令に基づいて、サーボモータ９０１〜９０４を制御する各軸方向のサーボ制御部を備えている。各軸方向のサーボ制御部は、検出器９７〜１００からの位置および速度に基づいて、サーボモータ９０１〜９０４へのフィードバック制御を行う。
【００１９】
サーボ制御部のうちの、Ｘ１軸サーボ制御部９１は、サーボモータ９０１を制御することによって工具６６ＡのＸ１軸方向の動作を制御する。Ｚ１軸サーボ制御部９２は、サーボモータ９０２を制御することによって工具６６ＡのＺ１軸方向の動作を制御する。Ｘ２軸サーボ制御部９３は、サーボモータ９０３を制御することによって工具６６ＢのＸ２軸方向の動作を制御する。Ｚ２軸サーボ制御部９４は、サーボモータ９０４を制御することによって工具６６ＢのＺ２軸方向の動作を制御する。なお、工作機械１１０が３つの刃物台を備える場合、駆動部９０は、さらにＸ軸方向に平行なＸ３軸方向の動作を制御するＸ３軸サーボ制御部、およびＺ軸方向に平行なＺ３軸方向の動作を制御するＺ３軸サーボ制御部を備える。この場合、Ｘ３軸サーボ制御部は、検出器を備えた１つのサーボモータを制御し、Ｚ３軸サーボ制御部は、検出器を備えた１つのサーボモータを制御する。
【００２０】
また、駆動部９０は、加工ワーク７０を回転させるための主軸６０を回転させる主軸モータ９１１と、主軸モータ９１１の位置および回転数を検出する検出器２１１とを備えている。検出器２１１が検出する回転数は、主軸モータ９１１の回転数に対応している。
【００２１】
また、駆動部９０は、数値制御装置１Ｘからの指令に基づいて、主軸モータ９１１を制御する主軸サーボ制御部２００を備えている。主軸サーボ制御部２００は、検出器２１１からの位置および速度に基づいて、主軸モータ９１１へのフィードバック制御を行う。実施の形態１では、単位時間あたりの主軸６０の回転数を主軸回転数という。主軸回転数は、例えば、１分間あたりの主軸６０の回転数である。すなわち、主軸回転数は主軸回転速度に対応している。
【００２２】
なお、工作機械１１０が２つの加工ワーク７０を同時に加工する場合には、駆動部９０は、主軸モータ９１１と、検出器２１１と、主軸サーボ制御部２００とを２組備える。
【００２３】
入力操作部３は、制御演算部２Ｘに情報を入力する手段である。入力操作部３は、キーボード、ボタンまたはマウスなどの入力手段によって構成され、ユーザによる数値制御装置１Ｘに対するコマンドなどの入力、または加工プログラムもしくはパラメータなどを受付けて制御演算部２Ｘに入力する。表示部４は、液晶表示装置などの表示手段によって構成され、制御演算部２Ｘによって処理された情報を表示画面に表示する。ＰＬＣ操作部５は、ユーザによる操作を受付けて、操作に対応する指示をＰＬＣ３６に送る。
【００２４】
制御部である制御演算部２Ｘは、入力制御部３２と、データ設定部３３と、記憶部３４と、画面処理部３１と、解析処理部３７と、制御信号処理部３５と、ＰＬＣ３６と、補間処理部３８Ｘと、加減速処理部３９と、軸データ出力部４０と、を有する。なお、ＰＬＣ３６は、制御演算部２Ｘの外部に配置されてもよい。
【００２５】
記憶部３４は、パラメータ記憶エリア３４１、加工プログラム記憶エリア３４３、表示データ記憶エリア３４４、および共有エリア３４５を有している。パラメータ記憶エリア３４１内には、制御演算部２Ｘの処理で使用されるパラメータ等が格納される。具体的には、パラメータ記憶エリア３４１内には、数値制御装置１Ｘを動作させるための制御パラメータ、サーボパラメータおよび工具データが格納される。加工プログラム記憶エリア３４３内には、加工ワーク７０の加工に用いられる加工プログラムが格納される。実施の形態１の加工プログラムは、工具６６Ａ，６６Ｂを振動させる指令である振動指令と、工具６６Ａ，６６Ｂを移動させる指令である移動指令とを含んでいる。
【００２６】
表示データ記憶エリア３４４内には、表示部４で表示される画面表示データが格納される。画面表示データは、表示部４に情報を表示するためのデータである。また、記憶部３４には、一時的に使用されるデータを記憶する共有エリア３４５が設けられている。
【００２７】
画面処理部３１は、表示データ記憶エリア３４４に格納された画面表示データを表示部４に表示させる制御を行う。入力制御部３２は、入力操作部３から入力される情報を受付ける。データ設定部３３は、入力制御部３２で受付けられた情報を記憶部３４に記憶させる。すなわち、入力操作部３が受付けた入力情報は、入力制御部３２およびデータ設定部３３を介して記憶部３４に書き込まれる。
【００２８】
制御信号処理部３５は、ＰＬＣ３６に接続されており、ＰＬＣ３６から、工作機械１１０の機械を動作させるリレーなどの信号情報を受付ける。制御信号処理部３５は、受付けた信号情報を、記憶部３４の共有エリア３４５に書き込む。これらの信号情報は、加工処理時に補間処理部３８Ｘが参照する。また、制御信号処理部３５は、解析処理部３７によって共有エリア３４５に補助指令が出力されると、この補助指令を共有エリア３４５から読み出してＰＬＣ３６に送る。補助指令は、数値制御軸である駆動軸を動作させる指令以外の指令である。補助指令の例は、後述するＭコードまたはＴコードである。
【００２９】
ＰＬＣ３６は、ＰＬＣ操作部５に対して操作が行われると、この操作に応じた動作を実行する。ＰＬＣ３６は、機械動作が記述されたラダープログラムを格納している。ＰＬＣ３６は、補助指令であるＴコードまたはＭコードを受付けると、ラダープログラムに従って補助指令に対応する処理を工作機械１１０に実行する。ＰＬＣ３６は、補助指令に対応する処理を実行した後、加工プログラムの次のブロックを実行させるために、機械制御が完了したことを示す完了信号を制御信号処理部３５に送る。
【００３０】
制御演算部２Ｘでは、制御信号処理部３５と、解析処理部３７と、補間処理部３８Ｘとは、記憶部３４を介して接続されており、記憶部３４を介して情報の書き込み、および読み出しを行う。以下の説明では、制御信号処理部３５と、解析処理部３７と、補間処理部３８Ｘとの間の情報の書き込み、および読み出しを説明する際に記憶部３４が介されていることを省略する場合がある。
【００３１】
加工プログラムの選択は、ユーザが入力操作部３で加工プログラム番号を入力することによって行われる。この加工プログラム番号は、入力制御部３２およびデータ設定部３３を介して共有エリア３４５に書き込まれる。機械操作盤等のサイクルスタートをトリガとして解析処理部３７は、共有エリア３４５内の選択された加工プログラム番号に対応する加工プログラムを加工プログラム記憶エリア３４３内から読み出して、加工プログラムの各ブロック（各行）に対して解析処理を行う。解析処理部３７は、例えば、Ｇコード（軸移動等に関する指令）、Ｔコード（工具交換指令など）、Ｓコード（主軸モータ回転数指令）、およびＭコード（機械動作指令）を解析する。
【００３２】
解析処理部３７は、解析した行にＭコードまたはＴコードが含まれている場合には、解析結果を共有エリア３４５および制御信号処理部３５を介してＰＬＣ３６に送る。また、解析処理部３７は、解析した行にＭコードが含まれている場合には、Ｍコードを、制御信号処理部３５を介してＰＬＣ３６に送る。ＰＬＣ３６はＭコードに対応する機械制御を実行する。実行が完了した場合、制御信号処理部３５を介してＭコードの完了を示す結果が記憶部３４に書き込まれる。補間処理部３８Ｘは記憶部３４に書き込まれた実行結果を参照する。
【００３３】
また、解析処理部３７は、Ｇコードが含まれている場合には、共有エリア３４５を介して解析結果を補間処理部３８Ｘに送る。具体的には、解析処理部３７は、Ｓコードで指定された主軸回転数を補間処理部３８Ｘに送る。また、解析処理部３７は、Ｇコードに対応する移動条件を生成して補間処理部３８Ｘに送る。移動条件は、工具６６Ａ，６６Ｂが加工位置を移動させていくための工具送りの条件であり、第１刃物台６５Ａおよび第２刃物台６５Ｂを移動させる速度、第１刃物台６５Ａおよび第２刃物台６５Ｂを移動させる位置などで示される。例えば、工具６６Ａの工具送りは、工具６６Ａを第１軸６１Ａの軸方向に進ませ、工具６６Ｂの工具送りは、工具６６Ｂを第２軸６１Ｂの軸方向に進ませる。
【００３４】
また、解析処理部３７は、振動指令解析部１１Ａ，１１Ｂと、移動指令解析部１２Ａ，１２Ｂと、を有している。振動指令解析部１１Ａは、第１軸６１Ａへの振動指令を解析する手段であり、振動指令解析部１１Ｂは、第２軸６１Ｂへの振動指令を解析する手段である。
【００３５】
振動指令解析部１１Ａは、第１軸６１Ａ用の加工プログラム（後述の加工プログラム８１０Ａなど）に含まれる振動指令を解析して第１軸６１Ａの振動条件を生成し、共有エリア３４５を介して生成した振動条件を補間処理部３８Ｘに送る。
【００３６】
振動指令解析部１１Ｂは、第２軸６１Ｂ用の加工プログラム（後述の加工プログラム８１０Ｂなど）に含まれる振動指令を解析して第２軸６１Ｂの振動条件を生成し、共有エリア３４５を介して生成した振動条件を補間処理部３８Ｘに送る。
【００３７】
移動指令解析部１２Ａは、第１軸６１Ａ用の加工プログラムに含まれる移動指令を解析して第１軸６１Ａの移動条件を生成し、共有エリア３４５を介して生成した移動条件を補間処理部３８Ｘに送る。
【００３８】
移動指令解析部１２Ｂは、第２軸６１Ｂ用の加工プログラムに含まれる移動指令を解析して第２軸６１Ｂの移動条件を生成し、共有エリア３４５を介して生成した移動条件を補間処理部３８Ｘに送る。
【００３９】
すなわち、移動指令解析部１２Ａ，１２Ｂは、Ｇコードに対応する移動条件を生成して補間処理部３８Ｘに送る。移動条件の例は、刃物台の移動速度、刃物台を移動させる位置などである。
【００４０】
第１軸６１Ａへの振動指令は、第１軸６１Ａを第１軸６１Ａの軸方向であるＺ１軸方向に振動させる指令であり、第２軸６１Ｂへの振動指令は、第２軸６１ＢをＸ２軸方向、および第２軸６１Ｂの軸方向であるＺ２軸方向に振動させる指令である。振動条件は、振動切削を実行する際の振動の条件である。実施の形態１での振動条件は、振動切削の際の振動回数である。第１軸６１Ａの振動回数は、主軸６０が１回転する間の第１軸６１Ａの振動回数であり、第２軸６１Ｂの振動回数は、主軸６０が１回転する間の第２軸６１Ｂの振動回数である。換言すると、第１軸６１Ａの振動回数および第２軸６１Ｂの振動回数は、それぞれ、主軸６０が１回転する時間を基準とした振動の周波数に対応している。したがって、実施の形態１での振動条件は、振動切削の際の振動の周波数であるともいえる。
【００４１】
工作機械１１０では、第１軸６１Ａが振動するので、第１軸６１Ａの振動回数は第１軸６１Ａ側の工具６６Ａの振動回数に対応する。また、工作機械１１０では、第２軸６１Ｂが振動するので、第２軸６１Ｂの振動回数は第２軸６１Ｂ側の工具６６Ｂの振動回数に対応する。工作機械１１０では、第１軸６１Ａの振動回数が第１の振動回数であり、第２軸６１Ｂの振動回数が第２の振動回数である。
【００４２】
補間処理部３８Ｘは、指令移動量算出部２１Ａ，２１Ｂと、振動移動量算出部２２Ａ，２２Ｂと、位相算出部２３と、波形算出部２４と、合成波形生成部２７とを備えている。波形算出部２４は、加工ワーク７０の切屑が工具６６Ａ，６６Ｂによって分断されるよう、工具６６Ａ，６６Ｂの少なくとも一方の振動の波形の位相を変更する。ただし、後述するように、工具の取付位置によってはいずれの位相も変更する必要はない。補間処理部３８Ｘは、主軸回転数、移動条件および振動条件を共有エリア３４５から読み出す。振動条件には、第１軸６１Ａの振動回数、および第２軸６１Ｂの振動回数が含まれている。
【００４３】
指令移動量算出部２１Ａ，２１Ｂは、解析処理部３７から解析結果である移動条件を受け取り、移動条件に対する補間処理を行い、補間処理の結果に対応する単位時間当たりの指令移動量を合成波形生成部２７に送る。具体的には、指令移動量算出部２１Ａは、解析処理部３７が解析した第１軸６１Ａの移動条件に基づいて、第１刃物台６５Ａを単位時間で移動させる指令移動量を算出して合成波形生成部２７に送る。また、指令移動量算出部２１Ｂは、解析処理部３７が解析した第２軸６１Ｂの移動条件に基づいて、第２刃物台６５Ｂを単位時間で移動させる指令移動量を算出して合成波形生成部２７に送る。
【００４４】
振動移動量算出部２２Ａは、第１軸６１Ａの振動回数に基づいて、第１軸６１Ａの振動移動量を算出する。第１軸６１Ａの振動移動量は、工具６６Ａを振動させるための単位時間での移動量である。振動移動量算出部２２Ａは、算出した第１軸６１Ａの振動移動量を合成波形生成部２７に送る。
【００４５】
振動移動量算出部２２Ｂは、第２軸６１Ｂの振動回数に基づいて、第２軸６１Ｂの振動移動量を算出する。第２軸６１Ｂの振動移動量は、工具６６Ｂを振動させるための単位時間での移動量である。振動移動量算出部２２Ｂは、算出した第２軸６１Ｂの振動移動量を合成波形生成部２７に送る。
【００４６】
補間処理部３８Ｘは、工具６６Ａ，６６Ｂの両方において振動が主軸回転数に同期するよう、振動条件または移動条件を調整する。たとえば、補間処理部３８Ｘは、工具６６Ａの動作と工具６６Ｂの動作とにずれが生じるような場合には、工具６６Ａ，６６Ｂが同じ動きとなるよう、振動条件または移動条件を補正する。振動条件または移動条件の補正は、指令移動量算出部２１Ａ，２１Ｂ、振動移動量算出部２２Ａ，２２Ｂの何れかで行われる。
【００４７】
第１軸６１Ａの振動と主軸回転数とを同期させる処理は、主軸６０が１回転する間の第１軸６１Ａの振動回数が一定の振動回数になるよう、第１軸６１Ａの振動回数または主軸回転数を調整する処理である。また、第２軸６１Ｂの振動と主軸回転数とを同期させる処理は、主軸６０が１回転する間の第２軸６１Ｂの振動回数が一定の振動回数になるよう、第２軸６１Ｂの振動回数または主軸回転数を調整する処理である。換言すると、第１軸６１Ａの振動と主軸回転数とを同期させる処理は、第１軸６１Ａの振動周波数（振動数）と主軸回転数とを同期させる処理であり、第２軸６１Ｂの振動と主軸回転数とを同期させる処理は、第２軸６１Ｂの振動周波数と主軸回転数とを同期させる処理である。なお、第１軸６１Ａにおける一定の振動回数は、可変であり、第１軸６１Ａおよび第２軸６１Ｂによる振動切削に応じた回数を選択することができる。また、第２軸６１Ｂにおける一定の振動回数は、可変であり、第１軸６１Ａおよび第２軸６１Ｂによる振動切削に応じた回数を選択することができる。
【００４８】
位相算出部２３は、第１刃物台６５Ａと第２刃物台６５Ｂとの間の取付位置に起因する振動波形の位相差を、パラメータ記憶エリア３４１内に格納されているパラメータの設定値に基づいて算出する。このパラメータの設定値には、刃物台間の位相差である工具６６Ａ，６６Ｂ間の位相差、すなわち工具６６Ａ，６６Ｂ間の位置関係を示す情報が格納されている。第１刃物台６５Ａおよび第２刃物台６５Ｂは、加工ワーク７０の周囲に配置されており、刃物台間の位相差は、主軸６０の軸方向から見た場合の、主軸６０と第１軸６１Ａとを結ぶ線と、主軸６０と第２軸６１Ｂとを結ぶ線とがなす角度に対応している。
【００４９】
加工プログラム内の低周波振動指令には、刃物台間の位置関係を示す情報として、第１刃物台６５Ａに設定されている基準からの位相差、および第２刃物台６５Ｂに設定されている基準からの位相差が設定されている。ここで、基準としては例えば、主軸６０の原点に合わせてもよい。位相算出部２３は、加工プログラム内の低周波振動指令に記載されている基準からの位相差に基づいて、工具６６Ａ，６６Ｂ間の取付位置に起因する位相差を算出してもよい。この場合、位相算出部２３は、第１刃物台６５Ａに設定されている基準からの位相差と、第２刃物台６５Ｂに設定されている基準からの位相差との差分に基づいて、工具６６Ａ，６６Ｂ間の位相差を算出する。位相算出部２３は、算出した位相差を波形算出部２４に送る。ここで、位相算出部２３によって算出された、工具取付位置に起因する主軸６０の回転角度に対する第１刃物台６５Ａと第２刃物台６５Ｂ間の位相差を位置位相差と呼ぶ。
【００５０】
工具６６Ａ，６６Ｂの移動は、振動切削のための移動と、加工ワーク７０に対して加工を進める方向（切削方向）への移動と、を足し合わせたものである。実施の形態１では、切削方向は図２におけるＺ軸方向である。したがって、波形算出部２４は、振動切削のための振動移動量と、加工ワーク７０に対して加工を進めるための切削方向への移動量とを足し合わせる。
【００５１】
具体的には、波形算出部２４は、第１刃物台６５Ａの指令移動量、第１刃物台６５Ａの振動移動量、および刃物台間の位置位相差に基づいて、第１刃物台６５Ａの振動波形を算出する。このとき、波形算出部２４は、第１刃物台６５Ａの指令移動量と第１刃物台６５Ａの振動移動量とを合成した波形を生成し、この波形に刃物台間の位置位相差に対応する位相を加味することによって第１刃物台６５Ａの振動波形を算出する。
【００５２】
また、波形算出部２４は、第２刃物台６５Ｂの指令移動量、第２刃物台６５Ｂの振動移動量、および刃物台間の位置位相差に基づいて、第２刃物台６５Ｂの振動波形を算出する。このとき、波形算出部２４は、第２刃物台６５Ｂの指令移動量と第２刃物台６５Ｂの振動移動量とを合成した波形を生成し、この波形に刃物台間の位置位相差に対応する位相を加味することによって第２刃物台６５Ｂの振動波形を算出する。
【００５３】
第１刃物台６５Ａの振動波形および第２刃物台６５Ｂの振動波形は、例えば、横軸を主軸６０の回転角度とし、縦軸を切削方向の位置としたグラフ上の波形で示される。波形算出部２４が算出する振動波形としては、正弦波などの任意のものを用いることができるが、以下では振動波形が三角波である場合について説明する。波形算出部２４は、第１刃物台６５Ａの振動波形および第２刃物台６５Ｂの振動波形を合成波形生成部２７に送る。
【００５４】
合成波形生成部２７は、第１刃物台６５Ａの振動波形と、第２刃物台６５Ｂの振動波形とを合成した、合成振動波形を生成する。合成波形生成部２７は、合成振動波形を加減速処理部３９に送る。また、補間処理部３８Ｘは、主軸回転数を加減速処理部３９に送る。
【００５５】
加減速処理部３９は、補間処理部３８Ｘから供給された補間処理の結果に対して、加速度をなめらかに変化させるための加減速処理を行う。加減速処理部３９は、移動の開始および停止の際の加減速処理を行う。具体的には、加減速処理部３９は、合成振動移動量に基づいて、第１軸６１Ａへの移動指令と、第２軸６１Ｂへの移動指令とを生成する。加減速処理部３９が処理する位置指令は、単位時間あたりの速度指令である。加減速処理部３９は、Ｘ１軸、Ｘ２軸、Ｚ１軸およびＺ２軸に対して加減速指令を生成する。
【００５６】
加減速処理部３９は、加減速処理の処理結果である速度指令を軸データ出力部４０に送る。なお、加減速処理部３９は、主軸回転数に対しては加減速処理を行わない。加減速処理部３９は、主軸回転数に対応する回転数指令を軸データ出力部４０に送る。加減速処理部３９が生成する回転数指令は、ステップ指令である。
【００５７】
軸データ出力部４０は、速度指令を駆動部９０に出力する。具体的には、軸データ出力部４０は、Ｘ１軸への速度指令をＸ１軸サーボ制御部９１に出力し、Ｚ１軸への速度指令をＺ１軸サーボ制御部９２に出力する。また、軸データ出力部４０は、Ｘ２軸への速度指令をＸ２軸サーボ制御部９３に出力し、Ｚ２軸への速度指令をＺ２軸サーボ制御部９４に出力する。また、軸データ出力部４０は、主軸６０への回転数指令を主軸サーボ制御部２００に出力する。これにより、Ｘ１軸サーボ制御部９１、Ｚ１軸サーボ制御部９２、Ｘ２軸サーボ制御部９３、Ｚ２軸サーボ制御部９４、主軸サーボ制御部２００は、工具６６ＡのＸ１軸方向およびＺ１軸方向の動作と、工具６６ＢのＸ２軸方向およびＺ２軸方向の動作と、主軸６０の回転動作とを制御する。
【００５８】
ここで、数値制御装置１Ｘによる加工制御の動作手順の概略について説明する。工作機械１１０による加工が開始される際には、ＰＬＣ３６が制御信号処理部３５へサイクルスタート信号を出力し、制御信号処理部３５が、サイクルスタート信号を補間処理部３８Ｘに出力する。これにより、補間処理部３８Ｘが、解析処理部３７を起動する。
【００５９】
この後、解析処理部３７が加工プログラムを１ブロック毎に読み込んで解析し、解析結果である振動条件、移動条件および主軸回転数を共有エリア３４５に格納する。そして、補間処理部３８Ｘが、解析処理部３７の解析結果に基づいて、合成振動波形を算出して加減速処理部３９に送る。
【００６０】
これにより、加減速処理部３９は、補間処理部３８Ｘからの合成振動波形に基づいて、各軸への移動指令を生成する。この速度指令は、軸データ出力部４０から駆動部９０に出力され、駆動部９０が移動指令に従って各軸の動作を制御する。
【００６１】
図２に示すように、実施の形態１にかかる工作機械１１０は、第１刃物台６５Ａに第１軸６１Ａがあり、第２刃物台６５Ｂに第２軸６１Ｂがある１スピンドル２刃物台の旋盤である。１スピンドル２刃物台の旋盤は、１つの主軸と２つの刃物台を具備した旋盤である。第１刃物台６５Ａおよび第２刃物台６５Ｂは、タレットともよばれる。工作機械１１０の一例は、タレット旋盤である。
【００６２】
工作機械１１０は、第１スピンドル７５を備えた主軸台を有している。第１スピンドル７５は、加工ワーク７０が取り付けられた状態で回転し、これにより加工ワーク７０を回転させる。第１スピンドル７５による加工ワーク７０の回転軸が、主軸台に設けられた主軸６０である。
【００６３】
工作機械１１０は、第１の刃物台である第１刃物台６５Ａと第２の刃物台である第２刃物台６５Ｂとを備えており、第１刃物台６５Ａに第１軸６１Ａが設けられ、第２刃物台６５Ｂに第２軸６１Ｂが設けられている。第１刃物台６５Ａは、Ｘ１軸方向およびＺ１軸方向に移動可能となっており、第２刃物台６５Ｂは、Ｘ２軸方向およびＺ２軸方向に移動可能となっている。工作機械１１０では、Ｚ１軸が第１軸６１Ａであり、Ｚ２軸が第２軸６１Ｂである。
【００６４】
第１刃物台６５Ａは、第１軸６１Ａ側の刃物台であり、第２刃物台６５Ｂは、第２軸６１Ｂ側の刃物台である。第１刃物台６５Ａおよび第２刃物台６５Ｂは、旋回式の刃物台である。第１刃物台６５Ａは、複数の工具６６Ａを取り付け可能となっており、工具６６Ａを旋回させることで使用する工具６６Ａを切り替える。同様に、第２刃物台６５Ｂは、複数の工具６６Ｂを取り付け可能となっており、工具６６Ｂを旋回させることで使用する工具６６Ｂを切り替える。
【００６５】
第１刃物台６５Ａは、Ｚ１軸方向に振動させられることによって工具６６Ａで加工ワーク７０の振動切削加工を行う。第２刃物台６５Ｂは、Ｚ２軸方向に振動させられることによって工具６６Ｂで加工ワーク７０の振動切削加工を行う。なお、実施の形態１では、説明の便宜上、第１刃物台６５Ａの振動を工具６６Ａの振動として説明する場合がある。また、第２刃物台６５Ｂの振動を工具６６Ｂの振動として説明する場合がある。
【００６６】
実施の形態１における工作機械１１０の振動条件は、以下の（Ｌ１−１）から（Ｌ１−２）とする。尚、この振動条件は、加工対象物の加工仕上がり精度がよく、さらに切屑を細かく分断するための理想的な条件である。
（Ｌ１−１）主軸６０が１回転する間の工具６６Ａ，６６Ｂの振動回数は、第１軸６１Ａ側と第２軸６１Ｂ側とで同じとする。尚、第１軸６１Ａ側と第２軸６１Ｂ側とは、ともに振動切削中の主軸回転数に同期した振動回数で動作する。
（Ｌ１−２）振動の振幅は、第１軸６１Ａ側と第２軸６１Ｂ側とで同じとする。
【００６７】
ここで、第１刃物台６５Ａと第２刃物台６５Ｂとの配置位置の関係について説明する。図３は、実施の形態１にかかる工作機械が備える刃物台の配置位置を説明するための図である。図３では、紙面の横方向がＹ軸方向であり、紙面の縦方向がＸ軸方向である。すなわち、図３では、主軸６０の軸方向から見た場合の、第１刃物台６５Ａと第２刃物台６５Ｂとの配置位置の関係を示している。
【００６８】
第１刃物台６５Ａと第２刃物台６５Ｂとは、主軸６０を中心とした同心円上に配置されている。具体的には、第１刃物台６５Ａと第２刃物台６５Ｂとは、加工ワーク７０の被加工面に沿って同心円上に配置されている。すなわち、工具６６Ａ，６６Ｂは、主軸６０の軸方向の位置が同じである。また、第１刃物台６５Ａおよび第２刃物台６５Ｂを主軸６０の軸方向から見た場合、主軸６０と第１刃物台６５Ａとを結ぶ線と、主軸６０と第２刃物台６５Ｂと、を結ぶ線とがなす角度は、１８０度である。すなわち、第１刃物台６５Ａと第２刃物台６５Ｂとは、２分の１回転分だけ位置位相がずれている。
【００６９】
図４は、実施の形態１にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、第１刃物台６５Ａによる振動と、第２刃物台６５Ｂによる振動とが、同じ振動周波数で同じ振幅である場合について説明する。
【００７０】
振動切削において切屑を効率良く分断するには、加工時における工具６６Ａと工具６６Ｂの、主軸６０の回転角に対する振動波形の位相差が特定の位相差であることが望ましい。すなわち、ある加工の瞬間における２つの工具に関して、工具位置を加味しない振動そのものの振動位相差と、工具位置に起因する位置位相差と、の両方を考慮した、主軸６０の回転角に対する振動波形の位相差が、特定の位相差であることが、振動切削における切屑の効率的分断につながる。つまり、実際の主軸６０の回転角に対する各工具の振動波形の位相差は、振動指令による振動位相差と、工具位置関係による仮想的な位置位相差の合計となる。また、ここで述べる切屑の効率的な分断とは、切屑を平均的に短くすることをいう。
【００７１】
振動切削を行う工具が工具６６Ａ，６６Ｂのように２つの工具である場合、特定の位相差は、１８０度である。すなわち、位置位相差のみによって特定の位相差を実現するためには、第１刃物台６５Ａによる切削位置と第２刃物台６５Ｂによる切削位置とが、主軸６０の１回転のうちの２分の１回転分ずれていることが望ましい。
【００７２】
実施の形態１の工作機械１１０では、第１刃物台６５Ａと第２刃物台６５Ｂとの間の位置位相差が１８０度であるので、波形算出部２４は、第１刃物台６５Ａの振動波形を算出する際に振動指令としては、振動波形の位相の調整を行わない。同様に、波形算出部２４は、第２刃物台６５Ｂの振動波形を算出する際に振動波形の位相の調整を行わない。
【００７３】
振動波形のグラフ１０１Ａ〜１０１Ｃは、主軸６０が１回転する間の工具６６Ａ，６６Ｂの振動回数が１回である場合の振動波形を示している。振動波形のグラフ１０１Ａ〜１０１Ｃは、横軸が主軸６０の回転角度、すなわち主軸６０の１回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ１０１Ａは、第１刃物台６５Ａの工具６６Ａの振動波形を示しており、グラフ１０１Ｂは、第２刃物台６５Ｂの工具６６Ｂの振動波形を示している。グラフ１０１Ｃは、グラフ１０１Ａの振動波形と、グラフ１０１Ｂの振動波形とが合成された合成振動波形を示している。
【００７４】
グラフ１０１Ａに示すように、工具６６Ａは、主軸６０の回転角度が０度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。この場合において、工具６６Ａは、切削方向に移動しながら加工ワーク７０への振動切削を進めていく。したがって、工具６６Ａは、主軸６０が１回転する間における振動が終わった時点で、切削方向に特定距離だけ進んでいる。ここでの特定距離が、第１刃物台６５Ａへの指令移動量に対応している。
【００７５】
グラフ１０１Ｂに示すように、工具６６Ｂは、主軸６０の回転角度が１８０度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具６６Ｂは、工具６６Ａと同様の振動切削を行う。
【００７６】
グラフ１０１Ｃに示すように、０度を含む回転角度領域および１８０度を含む回転角度領域において、工具６６Ａの振動波形と工具６６Ｂの振動波形とが重なっている。振動波形が重なっている領域７１Ａ，７１Ｂは、工具６６Ａまたは工具６６Ｂが、加工ワーク７０に接触しない空振り領域である。
【００７７】
領域７１Ａでは、工具６６Ａの回転で既に加工された位置が、工具６６Ｂによって再度加工される。工具６６Ａの回転で既に加工された位置は、加工ワーク７０が既に加工されている領域であり、この位置が工具６６Ｂで再度加工されることは、切屑が分断されることを示している。同様に、領域７１Ｂでは、工具６６Ｂの回転で既に加工された位置が、工具６６Ａによって再度加工される。工具６６Ｂの回転で既に加工された位置は、加工ワーク７０が既に加工されている領域であり、この位置が工具６６Ａで再度加工されることは、切屑が分断されることを示している。したがって、領域７１Ａ，７１Ｂが、切屑が分断される領域である。
【００７８】
このように、工具６６Ａの振動波形と工具６６Ｂの振動波形とが重なっている回転角度領域のうち、１８０度を含む領域７１Ａでは、工具６６Ｂが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。また、工具６６Ａの振動波形と工具６６Ｂの振動波形とが重なっている回転角度領域のうち、０度を含む領域７１Ｂでは、工具６６Ａが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。この結果、加工ワーク７０の切屑を細かく排出することができる。
【００７９】
ここで、工具６６Ｂを用いず、１つの工具６６Ａのみで加工ワーク７０への振動切削を行う従来の場合を考える。１つの工具６６Ａのみで加工ワーク７０への振動切削を行う場合であっても、主軸６０の１回転あたりの工具６６Ａの振動回数を適切な回数に設定することによって、加工ワーク７０の切屑を分断することができる。この場合において、加工ワーク７０の切屑を分断するためには、工具６６ＡによるＮ回点目（Ｎは自然数）の振動波形と（Ｎ＋１）回点目の振動波形とが重なる必要がある。
【００８０】
この場合、切屑の分断効果を同程度に維持しつつ主軸回転数を大きくするには、工具６６Ａの振動周波数を高くする必要がある。工具６６Ａの振動周波数が高くなり過ぎると、工作機械１１０の構造的な要因によって工具６６Ａの動作が振動指令に追従できなくなる。この結果、工具６６Ａの振動波形がなまるので、すなわち振動指令に従った理想的な振動波形が実現できなくなるので、工具６６ＡによるＮ回点目の振動波形と（Ｎ＋１）回点目の振動波形とが重ならなくなる。したがって、主軸回転数を大きくし過ぎると、加工ワーク７０の切屑を分断できなくなる。
【００８１】
一方、実施の形態１の数値制御装置１Ｘは、２つの工具６６Ａ，６６Ｂで振動切削し、且つ工具６６Ａの振動波形と工具６６Ｂの振動波形との位置位相が１８０度ずれているので、振動切削を実現しつつ主軸回転数を大きくしたい場合であっても、工具６６Ａの振動周波数を低く抑えることができる。すなわち、実施の形態１の数値制御装置１Ｘは、工具６６Ａの振動波形と工具６６Ｂの振動波形とを重ねることができるので、１つの工具６６Ａで振動切削する場合よりも主軸回転数を大きくすることができる。このように、数値制御装置１Ｘは、振動周波数を維持したまま、主軸回転数を大きくすることができる。
【００８２】
図５は、実施の形態１にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図である。図５では、実施の形態１にかかる工作機械１１０に適用可能な振動周波数と、単位時間当たりの主軸回転数との対応関係を示している。なお、主軸回転数の箇所にかっこ書きで記載している主軸回転数は、１つの工具６６Ａのみで振動波形を実行する場合に適用可能な主軸回転数である。
【００８３】
例えば、工具６６Ａ，６６Ｂへの振動周波数として１００Ｈｚが適用される場合、６０００回転の主軸回転数を適用可能である。一方、従来の１つの工具６６Ａによる振動切削を行う場合、機械装置のイナーシャ等の特性により振動指令に追随できる工具の振動周波数が１００Ｈｚである場合には、４０００回転以下の主軸回転数しか適用できない。換言すると、数値制御装置１Ｘが、工具６６Ａ，６６Ｂを用いた振動切削を実行することによって、１つの工具６６Ａを用いた振動切削を実行する場合の１．５倍の主軸回転数を適用することができる。
【００８４】
図６は、実施の形態１にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム８１Ｐは、数値制御装置１Ｘが工作機械１１０を制御する際に用いられる。このため、加工プログラム８１Ｐは、第１刃物台６５Ａ用の加工プログラム８１０Ａと、第２刃物台６５Ｂ用の加工プログラム８１０Ｂとを含んでいる。
【００８５】
加工プログラム８１Ｐ内の主軸回転数指令であるＭ３  Ｓ１は、主軸６０への主軸回転数の指令である。Ｍ３  Ｓ１＝２０００は、主軸６０を１分間あたり２０００回転させる指令である。また、Ｇ０は位置決め指令であり、Ｇ１６５は低周波振動指令であり、Ｇ１は移動指令である。Ｇ１６５で規定される「Ａ」は振動の振幅であり、「Ｄ」は主軸６０が１回転する間の振動回数であり、「Ｃ」は基準からの位相差である。
【００８６】
加工プログラム８１Ｐでは、加工プログラム８１０ＡにおけるＧ０によって工具６６Ａの位置決めが行われ、加工プログラム８１０ＢにおけるＧ０によって工具６６Ｂの位置決めが行われる。
【００８７】
また、第１軸６１Ａ用の加工プログラム８１０Ａにおいて、Ｇ１６５が用いられる場合、Ｇ１６５で指定された振幅、振動回数および位相差で工具６６ＡがＺ１軸方向に振動させられる。ここでは、工具６６Ａに対し、振幅が０．２ｍｍ、主軸６０が１回転する間の振動回数が１．０回、位相差が０である場合を示している。
【００８８】
また、第２軸６１Ｂ用の加工プログラム８１０Ｂにおいて、Ｇ１６５が用いられる場合、Ｇ１６５で指定された振幅および振動回数で工具６６Ｂが振動させられる。ここでは、工具６６Ｂに対し、振幅が０．２ｍｍ、主軸６０が１回転する間の振動回数が１．０回、位相差が１８０度である場合を示している。なお、第２軸６１Ｂ用の加工プログラム８１０Ｄの基準からの位相差が、１８０度の近辺であっても、１８０度の場合と同様の効果を得ることができる。すなわち、１０度程度の位相ずれがあっても構わない。より理想的には、１８０度からのずれが５度程度である。尚、１８０度から大きくずれると、切屑の長さにばらつきが生じたり、切屑が分断できなかったりする等の問題が生じる。
【００８９】
加工プログラム８１Ｐにおいて、第１軸６１Ａの振動および第２軸６１Ｂの振動は、主軸回転数に同期しているものとする。数値制御装置１Ｘは、加工プログラム８１０Ａに基づいて、第１刃物台６５Ａの振動波形を算出し、加工プログラム８１０Ｂに基づいて、第２刃物台６５Ｂの振動波形を算出する。
【００９０】
工作機械１１０が、１つの工具６６Ａを用いて振動切削を実行する場合、主軸６０が１回転する間の振動回数は１．５回である。すなわち、加工プログラムにおいて、「Ｄ」＝１．５が設定される。一方、工作機械１１０が、２つの工具６６Ａを用いて振動切削を実行する場合、主軸６０が１回転する間の振動回数は１．０回である。したがって、前述したように、２つの工具６６Ａ，６６Ｂを用いて振動切削を実行する場合、１つの工具６６Ａを用いて振動切削を実行する場合の１．５倍の主軸回転数を適用することができる。
【００９１】
つぎに、工作機械１１０を制御する際の処理手順について説明する。図７は、実施の形態１にかかる数値制御装置の処理手順を示すフローチャートである。図７は、数値制御装置１Ｘによる工作機械１１０への制御処理手順を示している。
【００９２】
加工ワーク７０を加工する刃物台の台数が１台である場合には、数値制御装置１Ｘは、１つの刃物台による加工制御を実行する。この場合、波形算出部２４は、刃物台の取付位置に起因する位置位相差を考慮することなく、振動波形を算出する。
【００９３】
解析処理部３７は、加工プログラムを解析することによって、加工プログラムが振動切削指令であるか否かを判定する（ステップＳ２０）。加工プログラムが振動切削指令でない場合（ステップＳ２０、Ｎｏ）、数値制御装置１Ｘは、工具６６Ａ，６６Ｂの振動を伴わない加工制御を実行する。加工プログラムが振動切削指令である場合（ステップＳ２０、Ｙｅｓ）、解析処理部３７は、主軸回転数、移動条件および振動回数を共有エリア３４５に格納する。
【００９４】
補間処理部３８Ｘは、主軸回転数、移動条件および振動回数に基づいて、１つの加工ワーク７０に対する複数の刃物台による加工であるか否かを判定する（ステップＳ３０）。１つの加工ワーク７０に対する１つの刃物台による加工である場合（ステップＳ３０、Ｎｏ）、数値制御装置１Ｘは、１つの刃物台による加工制御を実行する。この場合、補間処理部３８Ｘは、刃物台間の位置位相差を考慮することなく、振動波形を算出する。
【００９５】
１つの加工ワーク７０に対する複数の刃物台による加工である場合（ステップＳ３０、Ｙｅｓ）、補間処理部３８Ｘは、各刃物台に対する、移動条件および振動回数を取得する（ステップＳ４０）。また、補間処理部３８Ｘは、主軸回転数を取得する。具体的には、補間処理部３８Ｘは、加工プログラムに基づいて解析された、主軸回転数、移動条件および振動回数を共有エリア３４５から読み出す。ここでの移動条件には、第１軸６１Ａの移動条件および第２軸６１Ｂの移動条件が含まれている。
【００９６】
振動移動量算出部２２Ａは、第１軸６１Ａの振動回数に基づいて、第１軸６１Ａの振動移動量を算出し、振動移動量算出部２２Ｂは、第２軸６１Ｂの振動回数に基づいて、第２軸６１Ｂの振動移動量を算出する。
【００９７】
また、指令移動量算出部２１Ａは、解析処理部３７からの移動条件に基づいて、第１軸６１Ａの指令移動量を算出し、指令移動量算出部２１Ｂは、解析処理部３７からの移動条件に基づいて、第２軸６１Ｂの指令移動量を算出する。
【００９８】
波形算出部２４は、第１軸６１Ａの振動移動量および指令移動量に基づいて、第１刃物台６５Ａの振動波形を算出し、第２軸６１Ｂの振動移動量および指令移動量に基づいて、第２刃物台６５Ｂの振動波形を算出する（ステップＳ５０）。
【００９９】
位相算出部２３は、主軸６０の回転角に対する第１刃物台６５Ａと第２刃物台６５Ｂとの間の取付角度、すなわち位置位相差を取得する（ステップＳ６０）。このとき、位相算出部２３は、パラメータ記憶エリア３４１内に格納されているパラメータの設定値に基づいて刃物台間の位置位相差を算出してもよいし、加工プログラム内の何れかの指令に記載されている基準からの位相差に基づいて、刃物台間の位置位相差を算出してもよい。
【０１００】
波形算出部２４は、ステップＳ６０で取得した刃物台間の位置位相差に基づいて、位置位相差を考慮した第１刃物台６５Ａの振動波形と、位置位相差を考慮した第２刃物台６５Ｂの振動波形とを算出する。さらに、合成波形生成部２７は、波形算出部２４が算出した第１刃物台６５Ａの振動波形と、波形算出部２４が算出した第２刃物台６５Ｂの振動波形とを合成した、合成振動波形を生成する。このように、合成波形生成部２７は、刃物台間の位置位相差に基づいて算出された、第１刃物台６５Ａおよび第２刃物台６５Ｂの振動波形を合成する（ステップＳ７０）。この後、制御演算部２Ｘは、合成振動波形を用いて第１軸６１Ａおよび第２軸６１Ｂを制御する。
【０１０１】
ここで、数値制御装置１Ｘが備える制御演算部２Ｘのハードウェア構成について説明する。図８は、実施の形態１にかかる制御演算部のハードウェア構成例を示す図である。
【０１０２】
制御演算部２Ｘは、図８に示した制御回路３００、すなわちプロセッサ３０１、メモリ３０２により実現することができる。プロセッサ３０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、ＤＳＰ（Digital  Signal  Processor）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ３０２の例は、ＲＡＭ（Random  Access  Memory）またはＲＯＭ（Read  Only  Memory）である。
【０１０３】
制御演算部２Ｘは、プロセッサ３０１が、メモリ３０２で記憶されている、制御演算部２Ｘの動作を実行するためのプログラムを読み出して実行することにより実現される。また、このプログラムは、制御演算部２Ｘの手順または方法をコンピュータに実行させるものであるともいえる。メモリ３０２は、プロセッサ３０１が各種処理を実行する際の一時メモリにも使用される。
【０１０４】
プロセッサ３０１が実行するプログラムは、コンピュータで実行可能な、データ処理を行うための複数の命令を含むコンピュータ読取り可能かつ非遷移的な（non-transitory）記録媒体を有するコンピュータプログラムプロダクトであってもよい。プロセッサ３０１が実行するプログラムは、複数の命令がデータ処理を行うことをコンピュータに実行させる。
【０１０５】
また、制御演算部２Ｘを専用のハードウェアで実現してもよい。また、制御演算部２Ｘの機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【０１０６】
実施の形態１によれば、主軸６０が１回転する間に、工具６６Ａによって切削された加工ワーク７０の切屑を工具６６Ｂによって分断し、工具６６Ｂによって切削された加工ワーク７０の切屑を工具６６Ａによって分断することができる。その結果、１つの工具で振動切削する場合と比べて主軸回転数を高くした場合にも、工具６６Ａ，６６Ｂの振動周波数を低くしたままで切屑を細かく分断する効果が得られる。
【０１０７】
このように、実施の形態１によれば、振動波形の位相差が１８０度である第１刃物台６５Ａの振動波形および第２刃物台６５Ｂの振動波形を用いて工具６６Ａ，６６Ｂに加工ワーク７０への振動切削を行わせるので、主軸回転数を高くした場合であっても小さな振動周波数で加工ワーク７０への振動切削を実行できる。これにより、加工ワーク７０の加工速度を上げつつ切屑を分断することが可能となる。
【０１０８】
実施の形態２．
つぎに、図９から図１１を用いてこの発明の実施の形態２について説明する。実施の形態２では、第１刃物台６５Ａと第２刃物台６５Ｂの取付位置が９０度ずれている場合に、合成振動波形を用いて第１軸６１Ａおよび第２軸６１Ｂを制御する。
【０１０９】
図９は、実施の形態２にかかる工作機械が備える刃物台の配置位置を説明するための図である。図９では、主軸６０の軸方向から見た場合の、刃物台の配置位置の関係を示している。図９において、Ｘ１軸を、主軸６０を中心として半時計回りに９０度回転させた軸がＸ３軸であり、Ｙ１軸を、主軸６０を中心として半時計回りに９０度回転させた軸がＹ３軸であり、Ｚ１軸を、主軸６０を中心として半時計回りに９０度回転させた軸がＺ３軸である。実施の形態２では、工作機械１１０が、第２刃物台６５Ｂの代わりに第２刃物台６５Ｃを備えている。
【０１１０】
第２刃物台６５Ｃは、旋回式の刃物台である。第２刃物台６５Ｃは、複数の工具６６Ｃを取り付け可能となっており、工具６６Ｃを旋回させることで使用する工具６６Ｃを切り替える。駆動部９０は、工具６６Ａを第１軸６１Ａの軸方向に沿って移動させ、工具６６Ｃを第２軸６１Ｃの軸方向に沿って移動させる。第２軸６１Ｃは、主軸６０に平行な軸である。なお、実施の形態２では、説明の便宜上、第１刃物台６５Ａの振動を工具６６Ａの振動として説明し、第２刃物台６５Ｃの振動を工具６６Ｃの振動として説明する場合がある。
【０１１１】
第１刃物台６５Ａと第２刃物台６５Ｃとは、主軸６０を中心とした同心円上に配置されている。具体的には、第１刃物台６５Ａと第２刃物台６５Ｃとは、加工ワーク７０の被加工面に沿って同心円上に配置されている。すなわち、工具６６Ａ，６６Ｃは、主軸６０の軸方向の位置が同じである。また、第１刃物台６５Ａおよび第２刃物台６５Ｃを主軸６０の軸方向から見た場合、主軸６０と第１刃物台６５Ａとを結ぶ線と、主軸６０と第２刃物台６５Ｃとを結ぶ線とがなす角度は、９０度である。すなわち、第１刃物台６５Ａと第２刃物台６５Ｃとは、４分の１回転分（９０度）だけ位置位相がずれている。
【０１１２】
図１０は、実施の形態２にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、第１刃物台６５Ａによる振動と、第２刃物台６５Ｃによる振動とが、同じ振動周波数で同じ振幅である場合について説明する。
【０１１３】
前述したように、振動切削において切屑を効率良く分断するには、第１刃物台６５Ａによる切削位置と第２刃物台６５Ｃによる切削位置とが、主軸６０の１回転のうちの２分の１回転分ずれていること、すなわち主軸６０の回転角に対するｎ個の工具の位相差が（３６０／ｎ）度であることが望ましい。ここで、ｎは２以上の整数である。実施の形態１及び２では、２個の工具であるため、この位相差、つまり特定の位相差が１８０度であることが望ましい。なお、特定の位相差は（３６０／ｎ）度であるが、切屑が分断できる範囲内で、１０度前後ずれている場合も含む。このとき、５度前後のずれであれば切屑がより効率的に分断できる。
【０１１４】
第１刃物台６５Ａおよび第２刃物台６５Ｃを備えた工作機械１１０では、第１刃物台６５Ａと第２刃物台６５Ｃとの間の位置位相差が９０度であるので、波形算出部２４は、第１刃物台６５Ａの振動波形を算出する際に振動波形に対して振動位相の調整を行う。具体的には、波形算出部２４は、第１刃物台６５Ａの振動波形に対してさらに９０度の振動位相差を加えることによって、主軸６０の回転角に対する工具６６Ａと工具６６Ｃの振動波形間の位相差が合計で１８０度となるようにする。
【０１１５】
振動波形のグラフ１０２Ａ〜１０２Ｃは、主軸６０が１回転する間の工具６６Ａ，６６Ｃの振動回数が１回である場合の振動波形を示している。振動波形のグラフ１０２Ａ〜１０２Ｃは、横軸が主軸６０の回転角度、すなわち主軸６０の１回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ１０２Ａは、第１刃物台６５Ａの工具６６Ａの振動波形を示しており、グラフ１０２Ｂは、第２刃物台６５Ｃの工具６６Ｃの振動波形を示している。グラフ１０２Ｃは、グラフ１０２Ａの振動波形と、グラフ１０２Ｂの振動波形とが合成された合成振動波形を示している。
【０１１６】
グラフ１０２Ａに示すように、工具６６Ａは、原点からの切削の開始ではなく、振動波形の位相が９０度進んだ位置から切削を開始し、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。グラフ１０２Ｂに示すように、工具６６Ｃは、位置位相が９０度であることから、９０度遅れた位置から切削を開始することになり、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具６６Ｃは、工具６６Ａと同様の振動周期、振動振幅を有する振動切削を行う。なお、数値制御装置１Ｘは、工具６６Ａに対して振動波形の位相を９０度進める代わりに、工具６６Ｃに対して振動波形の位相を９０度遅らせてもよい。また、数値制御装置１Ｘは、工具６６Ａに対して位相をＸ度進めるとともに、工具６６Ｃに対して位相を（９０−Ｘ）度送らせてもよい。すなわち、数値制御装置１Ｘは、工具６６Ａおよび工具６６Ｃの少なくとも一方の位相を調整することによって、主軸６０の回転角に対する実質的な工具６６Ａと工具６６Ｃの振動波形の位相差を１８０度とすればよい。
【０１１７】
グラフ１０２Ｃに示すように、９０度を含む回転角度領域および２７０度を含む回転角度領域において、工具６６Ａの振動波形と工具６６Ｃの振動波形とが重なっている。工具６６Ａの振動波形と工具６６Ｃの振動波形とが重なっている回転角度領域のうち、９０度を含む領域７２Ａでは、工具６６Ｃが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。また、工具６６Ａの振動波形と工具６６Ｃの振動波形とが重なっている回転角度領域のうち、２７０度を含む領域７２Ｂでは、工具６６Ａが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。この結果、加工ワーク７０の切屑を細かく排出することができる。
【０１１８】
図１１は、実施の形態２にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム８１Ｑは、数値制御装置１Ｘが、第１刃物台６５Ａおよび第２刃物台６５Ｃを備えた工作機械１１０を制御する際に用いられる。このため、加工プログラム８１Ｑは、第１刃物台６５Ａ用の加工プログラム８１１Ａと、第２刃物台６５Ｃ用の加工プログラム８１１Ｃとを含んでいる。
【０１１９】
実施の形態２の加工プログラム８１Ｑと、実施の形態１の加工プログラム８１Ｐとの相違点は、Ｇ１６５における「Ｃ」の箇所である。すなわち、実施の形態１における第２軸６１Ｂ用の加工プログラム８１０Ｂの基準からの位相差が１８０度であったのに対し、実施の形態２における第２軸６１Ｃ用の加工プログラム８１１Ｃの基準からの位相差は９０度である。これは、第２軸６１Ｂの配置位置と、第２軸６１Ｃの配置位置との違いによるものである。すなわち、主軸６０の軸方向から見た場合の、主軸６０と第１軸６１Ａとを結ぶ線と、主軸６０と第２軸６１Ｂとを結ぶ線とがなす角度が１８０度であり、主軸６０と第１軸６１Ａとを結ぶ線と、主軸６０と第２軸６１Ｃとを結ぶ線とがなす角度が９０度だからである。
【０１２０】
数値制御装置１Ｘは、９０度の位置位相差に基づいて、第１刃物台６５Ａおよび第２刃物台６５Ｃの振動波形を算出する。具体的には、数値制御装置１Ｘは、主軸６０の回転角に対する工具６６Ａと工具６６Ｃの振動波形の１８０度となるよう、第１刃物台６５Ａの振動波形に対して、９０度の振動位相差を設けておく。
【０１２１】
実施の形態１で述べたように、刃物台が２台である場合、主軸６０の回転に対する２台の刃物台に設けられた工具の振動波形の位相差は１８０度であることが望ましい。刃物台の取付位置が、主軸６０を中心とする同心円上において１８０度ずれている場合は、各刃物台に取り付けられた工具の振動指令の周期及び位相を同じにすることで、主軸６０の回転に対する実際の位相が１８０度ずれることになる。
【０１２２】
一方で、実施の形態２のように、例えば工作機械の形状やサイズ等の制約により、２台の刃物台の取付位置を１８０度にできない場合がある。このような場合に、各刃物台に取り付けられた工具の振動指令の位相を調整することで、主軸６０の回転に対する振動波形の位相を１８０度にすることができ、実施の形態１と同じ効果が得られる。
【０１２３】
このように、実施の形態２では、工具６６Ａ，６６Ｃの位置関係を示す情報に基づいて、主軸６０の回転に対する位相差が１８０度となるよう第１刃物台６５Ａの振動波形および第２刃物台６５Ｃの振動波形の少なくとも一方を調整する。これにより、第１刃物台６５Ａと第２刃物台６５Ｃとの配置位置が加工ワーク７０を挟んで対向する位置でない場合であっても、主軸回転数を高くしつつ小さな振動周波数で加工ワーク７０への振動切削を実行できる。したがって、加工ワーク７０の加工速度を上げつつ切屑を分断することが可能となる。
【０１２４】
なお、実施の形態２では刃物台の取付位置の位置位相差を９０度として説明したが、９０度に限られないことは言うまでもない。取付位置の位置位相差と、振動指令の振動位相差によって、主軸６０の回転に対する２台の刃物台に設けられた工具の振動波形の位相差が１８０度であれば、実施の形態２と同じ効果が得られる。
【０１２５】
実施の形態３．
つぎに、図１２から図１５を用いてこの発明の実施の形態３について説明する。実施の形態３では、３つの刃物台を用いて加工ワーク７０を振動切削する。
【０１２６】
図１２は、実施の形態３にかかる工作機械が備える刃物台の配置位置を説明するための図である。図１２では、主軸６０の軸方向から見た場合の、刃物台の配置位置の関係を示している。図１２において、Ｘ１軸を、主軸６０を中心として半時計回りに１２０度回転させた軸がＸ４軸であり、Ｙ１軸を、主軸６０を中心として半時計回りに１２０度回転させた軸がＹ４軸であり、Ｚ１軸を、主軸６０を中心として半時計回りに１２０度回転させた軸がＺ４軸である。また、図１２において、Ｘ１軸を、主軸６０を中心として時計回りに１２０度回転させた軸がＸ５軸であり、Ｙ１軸を、主軸６０を中心として時計回りに１２０度回転させた軸がＹ５軸であり、Ｚ１軸を、主軸６０を中心として時計回りに１２０度回転させた軸がＺ５軸である。実施の形態３では、工作機械１１０が、第１刃物台６５Ａと、第２刃物台６５Ｄと、第３刃物台６５Ｅとを備えている。なお、以下の説明では、第１刃物台６５Ａ、第２刃物台６５Ｄ、および第３刃物台６５Ｅをまとめて３つの刃物台という場合がある。
【０１２７】
３つの刃物台は、何れも旋回式の刃物台である。第２刃物台６５Ｄは、複数の工具６６Ｄを取り付け可能となっており、工具６６Ｄを旋回させることで使用する工具６６Ｄを切り替える。また、第３刃物台６５Ｅは、複数の工具６６Ｅを取り付け可能となっており、工具６６Ｅを旋回させることで使用する工具６６Ｅを切り替える。
【０１２８】
駆動部９０は、工具６６Ａを第１軸６１Ａの軸方向に沿って移動させ、工具６６Ｄを第２軸６１Ｄの軸方向に沿って移動させ、工具６６Ｅを第３軸６１Ｅの軸方向に沿って移動させる。第２軸６１Ｄおよび第３軸６１Ｅは、何れも主軸６０に平行な軸である。なお、実施の形態３では、説明の便宜上、第１刃物台６５Ａの振動を工具６６Ａの振動として説明し、第２刃物台６５Ｄの振動を工具６６Ｄの振動として説明し、第３刃物台６５Ｅの振動を工具６６Ｅの振動として説明する場合がある。
【０１２９】
３つの刃物台は、主軸６０を中心とした同心円上に配置されている。具体的には、第１刃物台６５Ａと第２刃物台６５Ｄと第３刃物台６５Ｅとは、加工ワーク７０の被加工面に沿って同心円上に配置されている。すなわち、工具６６Ａ，６６Ｄ，６６Ｅは、主軸６０の軸方向の位置が同じである。また、３つの刃物台を主軸６０の軸方向から見た場合、主軸６０と第１刃物台６５Ａとを結ぶ線と、主軸６０と第２刃物台６５Ｄとを結ぶ線とがなす角度は１２０度である。また、３つの刃物台を主軸６０の軸方向から見た場合、主軸６０と第２刃物台６５Ｄとを結ぶ線と、主軸６０と第３刃物台６５Ｅとを結ぶ線とがなす角度は１２０度である。すなわち、第１刃物台６５Ａと第２刃物台６５Ｄとは、３分の１回転分だけ位相がずれており、第２刃物台６５Ｄと第３刃物台６５Ｅとは、３分の１回転分（１２０度）だけ位相がずれている。実施の形態３では、工具が３つであるため、工具間の特定の位相差（３６０／ｎ）は１２０度となる。
【０１３０】
実施の形態３では、合成波形生成部２７が、第１刃物台６５Ａの振動波形と、第２刃物台６５Ｄの振動波形とを合成した合成振動波形を生成する。また、合成波形生成部２７が、第２刃物台６５Ｄの振動波形と、第３刃物台６５Ｅの振動波形とを合成した合成振動波形を生成する。
【０１３１】
図１３は、実施の形態３にかかる数値制御装置が用いる合成振動波形を説明するための図である。なお、以下の説明では、３つの刃物台による振動が、同じ振動周波数で同じ振幅である場合について説明する。
【０１３２】
３つの刃物台で振動切削を行う場合、切屑を効率良く分断するには、３つの刃物台間の位相差が特定の位相差であることが望ましい。振動切削を行う工具が工具６６Ａ，６６Ｄ，６６Ｅのように３つの工具である場合、特定の位相差は、１２０度である。すなわち、１つ目の工具が基準点に対し０度の角度に配置されている場合、残りの2つの工具は基準点に対し１２０度、２４０度の位置に配置されている。つまり、３つの刃物台の刃物台間の切削位置が、それぞれ３分の１回転ずれていることが望ましい。
【０１３３】
実施の形態３では、第１刃物台６５Ａによる切削位置と第２刃物台６５Ｄによる切削位置とが、３分の１回転ずれており、第２刃物台６５Ｄによる切削位置と第３刃物台６５Ｅによる切削位置とが、３分の１回転ずれている。換言すると、第１刃物台６５Ａと第２刃物台６５Ｄとの間の位相差が１２０度であり、第２刃物台６５Ｄと第３刃物台６５Ｅとの間の位相差が１２０度である。
【０１３４】
３つの刃物台間の位相差がそれぞれ１２０度ずつでない場合、波形算出部２４は、３つの刃物台の振動波形を算出する際に振動波形に対して位相の調整を行う。波形算出部２４は、３つの刃物台の少なくとも１つの振動波形の位相を調整することによって、３つの刃物台間の位相差がそれぞれ１２０度ずつとなるようにする。
【０１３５】
振動波形のグラフ１０３Ａ〜１０３Ｅは、主軸６０が１回転する間の工具６６Ａ，６６Ｄ，６６Ｅの振動回数が０．７５回である場合の振動波形を示している。振動波形のグラフ１０３Ａ〜１０３Ｅは、横軸が主軸６０の回転角度、すなわち主軸６０の１回転内の工具の位置を示し、縦軸が切削方向の位置を示している。グラフ１０３Ａは、第１刃物台６５Ａの工具６６Ａの振動波形を示しており、グラフ１０３Ｂは、第２刃物台６５Ｄの工具６６Ｄの振動波形を示しており、グラフ１０３Ｃは、第３刃物台６５Ｅの工具６６Ｅの振動波形を示している。
【０１３６】
グラフ１０３Ｄは、グラフ１０３Ａの振動波形と、グラフ１０３Ｂの振動波形とが合成された合成振動波形を示している。グラフ１０３Ｅは、グラフ１０３Ｂの振動波形と、グラフ１０３Ｃの振動波形とが合成された合成振動波形を示している。
【０１３７】
グラフ１０３Ａに示すように、工具６６Ａは、主軸６０の回転角度が０度の位置から切削を開始し、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。また、グラフ１０３Ｂに示すように、工具６６Ｄは、主軸６０の回転角度が１２０度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。また、グラフ１０３Ｃに示すように、工具６６Ｅは、主軸６０の回転角度が２４０度の位置から切削を開始すると、振動によって、切削方向への進行と切削方向とは反対方向への進行と、を繰り返す。工具６６Ｃ，６６Ｄは、工具６６Ａと同様の振動切削を行う。
【０１３８】
グラフ１０３Ｄに示すように、０度を含む回転角度領域および２４０度を含む回転角度領域において、工具６６Ａの振動波形と工具６６Ｄの振動波形とが重なっている。工具６６Ａの振動波形と工具６６Ｄの振動波形とが重なっている回転角度領域のうち、２４０度を含む領域７３Ａでは、工具６６Ｄが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。また、工具６６Ａの振動波形と工具６６Ｄの振動波形とが重なっている回転角度領域のうち、０度を含む領域７３Ｂでは、工具６６Ａまたは工具６６Ｄが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。
【０１３９】
また、グラフ１０３Ｅに示すように、０度を含む回転角度領域および１２０度を含む回転角度領域において、工具６６Ｄの振動波形と工具６６Ｅの振動波形とが重なっている。工具６６Ｄの振動波形と工具６６Ｅの振動波形とが重なっている回転角度領域のうち、０度を含む領域７３Ｃでは、工具６６Ｄまたは工具６６Ｅが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。また、工具６６Ｄの振動波形と工具６６Ｅの振動波形とが重なっている回転角度領域のうち、１２０度を含む領域７３Ｄでは、工具６６Ｅが加工ワーク７０に接触しないので、加工ワーク７０の切屑が分断されることとなる。
【０１４０】
図１４は、実施の形態３にかかる工作機械に適用可能な振動周波数と主軸回転数との関係を示す図である。図１４では、実施の形態３にかかる工作機械１１０に適用可能な振動周波数と、主軸回転数との対応関係を示している。なお、主軸回転数の箇所にかっこ書きで記載している主軸回転数は、１つの工具６６Ａのみで振動波形を実行する場合に適用可能な主軸回転数である。
【０１４１】
例えば、工具６６Ａ，６６Ｄ，６６Ｅへの振動周波数として７５（Ｈｚ）が適用される場合、６０００回転の主軸回転数を適用可能である。一方、１つの工具６６Ａへの振動周波数として７５（Ｈｚ）が適用される場合、３０００回転以下の主軸回転数しか適用できない。換言すると、数値制御装置１Ｘが、工具６６Ａ，６６Ｄ，６６Ｅを用いた振動切削を実行することによって、１つの工具６６Ａを用いた振動切削を実行する場合の２倍の主軸回転数を適用することができる。
【０１４２】
図１５は、実施の形態３にかかる数値制御装置が用いる加工プログラムの例を示す図である。加工プログラム８１Ｒは、数値制御装置１Ｘが、３つの刃物台を備えた工作機械１１０を制御する際に用いられる。このため、加工プログラム８１Ｒは、第１刃物台６５Ａ用の加工プログラム８１２Ａと、第２刃物台６５Ｄ用の加工プログラム８１２Ｄと、第３刃物台６５Ｅ用の加工プログラム８１２Ｅとを含んでいる。
【０１４３】
実施の形態３の加工プログラム８１Ｒと、実施の形態１の加工プログラム８１Ｐとの相違点は、Ｇ１６５における「Ｃ」の箇所である。すなわち、実施の形態１における第２軸６１Ｂ用の加工プログラム８１０Ｂの基準からの位相差が１８０度であるのに対し、実施の形態３における第２軸６１Ｄ用の加工プログラム８１２Ｄの基準からの位相差が１２０度であり、第３軸６１Ｅ用の加工プログラム８１２Ｅの基準からの位相差が２４０度である。なお、第２軸６１Ｄ用の加工プログラム８１２Ｄの基準からの位相差が、１２０度の近辺であっても、１２０度の場合と同様の効果を得ることができる。また、第３軸６１Ｅ用の加工プログラム８１２Ｅの基準からの位相差が、２４０度の近辺であっても、２４０度の場合と同様の効果を得ることができる。
【０１４４】
工作機械１１０が、１つの工具６６Ａを用いて振動切削を実行する場合、主軸６０が１回転する間の振動回数は１．５回である。すなわち、加工プログラムにおいて、「Ｄ」＝１．５が設定される。一方、工作機械１１０が、３つの工具６６Ａ，６６Ｄ，６６Ｅを用いて振動切削を実行する場合、主軸６０が１回転する間の振動回数は０．７５回である。したがって、前述したように、３つの工具６６Ａ，６６Ｄ，６６Ｅを用いて振動切削を実行する場合、１つの工具６６Ａを用いて振動切削を実行する場合の２倍の主軸回転数を適用することができる。
【０１４５】
実施の形態３によれば、主軸６０を中心とする同心円上に３つの工具を配置するための三台の刃物台を、主軸６０の回転に対しての各工具間の位相差が１２０度となるように配置した。その結果、実施の形態２よりもさらに小さな振動周波数で主軸６０の回転数を高くできるという効果が得られる。
【０１４６】
このように、実施の形態３によれば、振動波形の各位相差が１２０度ずつである３つの刃物台の振動波形を用いて工具６６Ａ，６６Ｄ，６６Ｅに加工ワーク７０への振動切削を行わせるので、主軸回転数を高くした場合であっても小さな振動周波数で加工ワーク７０への振動切削を実行できる。これにより、加工ワーク７０の加工速度を上げつつ切屑を分断することが可能となる。
【０１４７】
実施の形態１から３では、１つの主軸に対する工具が２つあるいは３つの場合を説明したが、４つ以上あっても良いことは言うまでもない。
【符号の説明】
【０１４８】
１Ｘ  数値制御装置、２Ｘ  制御演算部、３  入力操作部、４  表示部、５  ＰＬＣ操作部、１１Ａ，１１Ｂ  振動指令解析部、１２Ａ，１２Ｂ  移動指令解析部、２１Ａ，２１Ｂ  指令移動量算出部、２２Ａ，２２Ｂ  振動移動量算出部、２３  位相算出部、２４  波形算出部、２７  合成波形生成部、３４  記憶部、３７  解析処理部、３８Ｘ  補間処理部、３９  加減速処理部、６０  主軸、６１Ａ  第１軸、６１Ｂ〜６１Ｄ  第２軸、６１Ｅ  第３軸、６５Ａ  第１刃物台、６５Ｂ〜６５Ｄ  第２刃物台、６５Ｅ  第３刃物台、６６Ａ〜６６Ｅ  工具、７０  加工ワーク、８１Ｐ〜８１Ｒ  加工プログラム、９０  駆動部、１１０  工作機械。
【図１】
2020084771.tif 000003
【図２】
2020084771.tif 000004
【図３】
2020084771.tif 000005
【図４】
2020084771.tif 000006
【図５】
2020084771.tif 000007
【図６】
2020084771.tif 000008
【図７】
2020084771.tif 000009
【図８】
2020084771.tif 000010
【図９】
2020084771.tif 000011
【図１０】
2020084771.tif 000012
【図１１】
2020084771.tif 000013
【図１２】
2020084771.tif 000014
【図１３】
2020084771.tif 000015
【図１４】
2020084771.tif 000016
【図１５】
2020084771.tif 000017
【手続補正書】
【提出日】令和1年7月29日(2019.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのｎ個（ｎは３以上の整数）の工具を移動および振動させるｎ個の駆動軸とを備えるとともにｎ個の前記駆動軸が前記主軸を中心とした同心円上に配置されている工作機械に対し、前記主軸と、ｎ個の前記駆動軸と、を制御するための数値制御装置であって、
前記主軸の回転角に対するｎ個の前記駆動軸のそれぞれの取付角度を記憶する記憶部と、
ｎ個の前記駆動軸のそれぞれの取付角度から主軸回転方向の角度順に、各々の位置位相差を算出する位相算出部と、
前記位相算出部の結果に基づいて、前記主軸の回転角に対するｎ個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出部と、
を備えた数値制御装置。
【請求項２】
前記特定の位相差は、（３６０／ｎ）度である、
請求項１に記載の数値制御装置。
【請求項３】
前記工具及び前記駆動軸は３個である、
請求項１または２に記載の数値制御装置。
【請求項４】
加工対象物の回転軸である主軸と、前記加工対象物を振動切削加工するためのｎ個（ｎは３以上の整数）の工具を移動および振動させるｎ個の駆動軸とを備えるとともにｎ個の前記駆動軸が前記主軸を中心とした同心円上に配置されている工作機械に対し、前記主軸と、ｎ個の前記駆動軸と、を制御するための数値制御方法であって、
前記主軸の回転角に対するｎ個の前記駆動軸のそれぞれの取付角度を記憶しておく記憶ステップと、
ｎ個の前記駆動軸のそれぞれの取付角度から主軸回転方向の角度順に、各々の位置位相差を算出する位相算出ステップと、
前記位置位相差の算出結果に基づいて、前記主軸の回転角に対するｎ個の前記駆動軸の振動波形の位相の差が特定の位相差となるように、前記工具の振動波形を算出する波形算出ステップと、
を含む数値制御方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、加工対象物の回転軸である主軸と、加工対象物を振動切削加工するためのｎ個（ｎは３以上の整数）の工具を移動および振動させるｎ個の駆動軸とを備えるとともにｎ個の駆動軸が主軸を中心とした同心円上に配置されている工作機械に対し、主軸と、ｎ個の駆動軸と、を制御するための数値制御装置であって、主軸の回転角に対するｎ個の駆動軸のそれぞれの取付角度を記憶する記憶部と、ｎ個の駆動軸のそれぞれの取付角度から主軸回転方向の角度順に、各々の位置位相差を算出する位相算出部と、位相算出部の結果に基づいて、主軸の回転角に対するｎ個の駆動軸の振動波形の位相の差が特定の位相差となるように、工具の振動波形を算出する波形算出部と、を備える。
【国際調査報告】
2020084771.tif 000018
2020084771.tif 000019
2020084771.tif 000020