(57)【要約】【課題】二軸を同時駆動する加工方式で、ワークに自由形状を施すことができる数値制御装置を提供する。【解決手段】二軸同期加工は、基準周期に対し、工具主軸８を第一回転数、ワーク主軸８２を第二回転数で夫々回転し互いに同期させる。第二回転数は第一回転数よりも小さい回転数差を第一回転数に加算した数である。ワーク主軸８２と工具主軸８とを結ぶ仮想直線の方向はＸ軸方向である。回転数差は、基準周期に基づく第一周期毎にワークＷ表面の同一円周上に位相差を生じる。同一円周上にて工具ＤのチップＢとワークＷ表面との刃当たり位置は第一周期毎に周方向へずれる。数値制御装置は刃当たり位置のＸ軸方向の位置を第一周期毎に制御する。回転数差により第一周期毎に生じる位相差は正確である。故に数値制御装置はワークＷ表面に自由形状を高精度に加工できる。【選択図】図６
2015079348.tif 000002
【特許請求の範囲】
【請求項１】
ワークを保持して回転するワーク主軸と、前記ワーク主軸の軸線方向に対して平行に配置し、ワーク表面に工具の刃を接触させて回転する工具主軸とを備えた工作機械を制御する数値制御装置において、
基準周期に対し、前記ワーク主軸又は前記工具主軸を第一回転数で回転させる第一主軸回転制御手段と、
前記基準周期に対し、前記工具主軸又は前記ワーク主軸を前記第一回転数よりも小さい回転数差を、前記第一回転数にさらに加算した第二回転数で回転させる第二主軸回転制御手段と、
前記ワーク主軸と前記工具主軸とを結ぶ仮想直線の方向を第一方向とした場合に、前記回転数差によって前記基準周期に基づく第一周期毎に前記ワーク表面において同一円周上に生じる位相差に基づき、前記同一円周上において前記第一周期毎に周方向へずれる前記刃と前記ワーク表面との接点の前記第一方向における位置を、前記第一周期毎に制御する接点位置制御手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
前記接点位置制御手段は、
前記位相差に基づき、前記接点の前記第一方向における位置を前記第一周期毎に制御し、且つ前記接点の前記ワーク主軸及び前記工具主軸に対して平行な第二方向における位置を前記基準周期に基づく第二周期毎に制御することを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つの主軸を有する工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
従来、二つの主軸を有し、一方の主軸にワーク、他方の主軸に工具を取り付け、何れか一方を他方に対して相対的に回転させることによって、ワークに回転加工と旋削加工を選択的に施すことができる工作機械がある。ワークを取り付ける主軸はワーク主軸、工具を取り付ける主軸は工具主軸である。回転加工はワーク主軸を停止し且つ工具主軸を回転して加工する加工方式であり、例えばドリル加工及びタップ加工等である。旋削加工は工具主軸を停止し且つワーク主軸を回転して加工する加工方式であり、例えばねじ切り加工等である。これらに対し、二軸を同時駆動する加工方式は、二つの主軸の相対的な周速度が速くなるので効率の良い加工が期待できる。例えば、ワーク主軸と工具主軸を予め設定された所定の比率の回転速度で駆動し、ワークに多角形の形状を加工するポリゴン加工方式がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−１６４５５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二軸を同時駆動する方式で、ワークに対しユーザが意図する自由形状（例えば自然な形状又は複雑な形状を含む）を高精度で加工しようとした場合、所定の比率の回転速度で夫々を回転すると、ポリゴン加工方式では多角形になってしまうので採用できない。何れの主軸も回転しているので、自由形状を加工する為のワークと工具の位置関係の制御が困難であった。
【０００５】
本発明の目的は、二軸を同時駆動する加工方式で、ワークに自由形状を施すことができる数値制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る数値制御装置は、ワークを保持して回転するワーク主軸と、前記ワーク主軸の軸線方向に対して平行に配置し、ワーク表面に工具の刃を接触させて回転する工具主軸とを備えた工作機械を制御する数値制御装置において、基準周期に対し、前記ワーク主軸又は前記工具主軸を第一回転数で回転させる第一主軸回転制御手段と、前記基準周期に対し、前記工具主軸又は前記ワーク主軸を前記第一回転数よりも小さい回転数差を、前記第一回転数にさらに加算した第二回転数で回転させる第二主軸回転制御手段と、前記ワーク主軸と前記工具主軸とを結ぶ仮想直線の方向を第一方向とした場合に、前記回転数差によって前記基準周期に基づく第一周期毎に前記ワーク表面において同一円周上に生じる位相差に基づき、前記同一円周上において前記第一周期毎に周方向へずれる前記刃と前記ワーク表面との接点の前記第一方向における位置を、前記第一周期毎に制御する接点位置制御手段とを備えたことを特徴とする。故に数値制御装置は、工具主軸とワーク主軸の二軸を同時駆動する方式で、ワークに対し自由形状を高精度に施すことができる。
【０００７】
請求項２に係る発明の数値制御装置は、請求項１に記載の発明の構成に加え、前記接点位置制御手段は、前記位相差に基づき、前記接点の前記第一方向における位置を前記第一周期毎に制御し、且つ前記接点の前記ワーク主軸及び前記工具主軸に対して平行な第二方向における位置を前記基準周期に基づく第二周期毎に制御することを特徴とする。故に数値制御装置は、工具主軸とワーク主軸の二軸を同時駆動する方式で、ワークに対し立体的な自由形状を高精度に施すことができる。
【図面の簡単な説明】
【０００８】
【図１】工作機械１の斜視図。
【図２】工作機械１の正面図。
【図３】工作機械１の右側面図。
【図４】工作機械１の電気的構成を示すブロック図。
【図５】ワークＷと工具Ｄの相互の位置関係を示す図。
【図６】図５の状態から位相差Δθを生じた時のチップＢの刃当たり位置Ｐ２を示す図。
【図７】仮想円周上に沿って刃当たり位置がＰ１〜Ｐ４に順次ずれた状態を示す図。
【図８】自由形状ＬをＺ軸方向に加工した図。
【図９】楕円柱６０の平面図。
【図１０】楕円柱６０の斜視図。
【図１１】ＮＣプログラムＡ１の一部を示す図。
【図１２】形状プログラムＡ２の図。
【図１３】形状プログラムＡ２に対応する形状角度θとＸ軸方向の移動位置の関係を示すグラフ。
【図１４】メイン処理の流れ図。
【図１５】二軸同期加工処理の流れ図。
【図１６】変形例であるＮＣプログラムＡ３の一部を示す図である。
【発明を実施するための形態】
【０００９】
本発明の一実施形態を図面を参照して説明する。図１の左斜め下方、右斜め上方、左斜め上方、右斜め下方は、夫々、工作機械１の前方、後方、左方、右方である。工作機械１の左右方向、前後方向、上下方向は、夫々、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。
【００１０】
図１に示す工作機械１は複合加工機である。工作機械１はワーク（工作物）に対し回転加工と旋削加工に加え、二軸同期加工を施すことができる。回転加工は、工具Ｄを回転し、静止状態のワーク（図１では図示略）に接触させてワークを切削する加工である。旋削加工は、ワークを回転し、静止状態の工具Ｄを接触させてワークを軸対称に切削する加工である。二軸同期加工は、二軸同時駆動により、工具Ｄとワークを同時に回転してワークを切削する加工である。
【００１１】
図１〜図３を参照し、工作機械１の構造を説明する。工作機械１は、基台部２、運搬体１２、コラム５、主軸ヘッド７、工具主軸８（図２，図３参照）、ワーク保持装置８０、自動工具交換装置３０（以下ＡＴＣ３０と称す）等を備える。
【００１２】
基台部２はＹ軸方向に長い矩形箱状の鉄製部材である。基台部２は上面後ろ側に台座部４、上面右前側に右前台座部１８、上面左前側に左前台座部１９を備える。台座部４は上面に一対のＹ軸レール６１，６２（図２参照）、Ｙ軸ボールネジ６３（図２参照）、Ｙ軸モータ５２（図４参照）等を備える。Ｙ軸レール６１，６２、Ｙ軸ボールネジ６３はＹ軸方向に延びる。Ｙ軸ボールネジ６３はＹ軸レール６１，６２の間に設ける。
【００１３】
運搬体１２はＹ軸レール６１，６２に沿って移動可能に設ける。運搬体１２は下面にナット（図示略）を備え、該ナットはＹ軸ボールネジ６３に螺合する。Ｙ軸モータ５２はＹ軸ボールネジ６３を回転する。運搬体１２はナットと共にＹ軸方向に移動する。運搬体１２は上面に一対のＸ軸レール７１，７２、Ｘ軸ボールネジ７３、Ｘ軸モータ５１等を備える。Ｘ軸レール７１，７２、Ｘ軸ボールネジ７３はＸ軸方向に延びる。Ｘ軸ボールネジ７３はＸ軸レール７１，７２の間に設ける。
【００１４】
コラム５はＸ軸レール７１，７２に沿って移動可能に設ける。コラム５は下面にナット（図示略）を備え、該ナットはＸ軸ボールネジ７３に螺合する。Ｘ軸モータ５１はＸ軸ボールネジ７３を回転する。コラム５はナットと共にＸ軸方向に移動し、運搬体１２を介してＹ軸方向に移動可能である。コラム５は前面に一対のＺ軸レール（図示略）、Ｚ軸ボールネジ（図示略）、Ｚ軸モータ５３（図４参照）等を備える。Ｚ軸レール、Ｚ軸ボールネジはＺ軸方向に延びる。Ｚ軸ボールネジは一対のＺ軸レールの間に設ける。
【００１５】
主軸ヘッド７はＺ軸レールに沿って移動可能に設ける。主軸ヘッド７は背面にナット（図示略）を備え、該ナットはＺ軸ボールネジに螺合する。Ｚ軸モータ５３はＺ軸ボールネジを回転する。主軸ヘッド７はＺ軸方向に移動する。工具主軸８は主軸ヘッド７に設ける。工具主軸８は下端部に工具装着穴（図示略）を備える。工具装着穴は主軸ヘッド７下部に位置する。工具装着穴は工具Ｄを装着する。工具主軸モータ５４は工具主軸８を回転する。工具主軸モータ５４は主軸ヘッド７上部に設ける。
【００１６】
ワーク保持装置８０は、右側固定部８８、左側固定部８９、テーブル８１、ワーク主軸８２、ワーク主軸モータ５６、チルトモータ５７等を備える。右側固定部８８は右前台座部１８上面に固定する。左側固定部８９は左前台座部１９上面に固定する。テーブル８１は、水平部８１Ａ、右連結部８１Ｂ、左連結部８１Ｃを備える。ワーク主軸８２はテーブル８１略中央に回転可能に設ける。ワーク主軸モータ５６は水平部８１Ａ下面側に設ける。ワーク主軸８２はワーク主軸モータ５６の回転軸に連結する。ワーク主軸８２の軸線方向は水平部８１Ａに対して直交する。ワーク主軸８２は冶具（図示略）を用いて上部にワークを保持可能である。
【００１７】
右連結部８１Ｂは水平部８１Ａから右斜め上方に延び且つ右側固定部８８にＸ軸回りに回転可能に連結する。左連結部８１Ｃは水平部８１Ａから左斜め上方に延び且つ左側固定部８９にＸ軸回りに回転可能に連結する。チルトモータ５７は右側固定部８８に固定する。チルトモータ５７の回転軸は右連結部８１Ｂと連結する。チルトモータ５７はテーブル８１をＸ軸回りに回転する。ワーク主軸８２に保持したワークは、ワーク主軸モータ５６の駆動によりワーク主軸８２の軸回りに回転する。ワークはチルトモータ５７によるテーブル８１の回転に関わらず、ワーク主軸モータ５６の駆動により水平部８１Ａに対して直角な軸回りに回転する。
【００１８】
図１〜図３を参照し、ＡＴＣ３０の構造を説明する。ＡＴＣ３０は、工具マガジン３１、マガジン支持部材３２、マガジンモータ５５、駆動ギヤ３５等を備える。マガジン支持部材３２は楕円環状であり、主軸ヘッド７とコラム５を内側に挿入した状態で、コラム５に取り付ける。工具マガジン３１はマガジン支持部材３２の外周に沿って取り付ける。工具マガジン３１はチェーン３４と複数のポット３７を備える。チェーン３４はマガジン支持部材３２の外周に沿って移動可能に取り付ける。複数のポット３７はチェーン３４に夫々取り付ける。ポット３７は工具Ｄを保持可能である。ポット３７はアーム状に形成し且つ前後方向に揺動可能に取り付ける。
【００１９】
マガジンモータ５５はマガジン支持部材３２の上部に取り付ける。マガジンモータ５５の駆動軸はマガジン支持部材３２の上面に直交する。マガジンモータ５５の駆動軸は正逆方向に夫々回転可能である。駆動ギヤ３５はマガジンモータ５５の駆動軸に取り付ける。駆動ギヤ３５はマガジンモータ５５の駆動軸と共に回転する。駆動ギヤ３５は工具マガジン３１のチェーン３４に噛合する。チェーン３４は駆動ギヤ３５の駆動によりマガジン支持部材３２の外周に沿って正逆何れかの方向に移動する。故にポット３７はチェーン３４と共にマガジン支持部材３２の外周に沿って移動する。工具マガジン３１の最下部に位置するポット３７の位置は工具交換位置である。工具交換位置は工具主軸８に最も近接する位置である。ＡＴＣ３０は次工具を現工具と交換する。次工具は工具交換位置にあるポット３７が保持する工具である。現工具は工具主軸８に装着する工具である。
【００２０】
図４を参照し、工作機械１の電気的構成を説明する。工作機械１は数値制御装置２０を備える。数値制御装置２０はＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性記憶装置２４、入力部２５、入出力部２６等を備える。ＣＰＵ２１は工作機械１の動作を統括制御する。ＲＯＭ２２は、後述するメインプログラム、後述する二軸同期制御プログラム等の各種プログラムを記憶する。メインプログラムは後述するメイン処理（図１４参照）を実行する為のプログラムである。二軸同期制御プログラムは後述する二軸同期制御処理（図１５参照）を実行する為のプログラムである。ＲＡＭ２３は各種データを記憶する。不揮発性記憶装置２４はＮＣプログラム等を記憶する。ＮＣプログラムは複数のブロックで構成したものである。各ブロックは各種ＮＣコマンドを含む。ＮＣコマンドは制御指令である。
【００２１】
操作部３８、Ｚ軸原点センサ３９は入力部２５に接続する。操作部３８は例えば工作機械１を覆うカバー（図示略）に設ける。操作部３８は例えば作業者が工作機械１の動作について各種入力及び設定を行う機器である。Ｚ軸原点センサ３９は主軸ヘッド７のＺ軸方向の原点を検出する。駆動回路４１〜４９は入出力部２６に接続する。
【００２２】
駆動回路４１はＸ軸モータ５１を駆動する。エンコーダ５１ＡはＸ軸モータ５１と入出力部２６に接続する。エンコーダ５１ＡはＸ軸モータ５１の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４２はＹ軸モータ５２を駆動する。エンコーダ５２ＡはＹ軸モータ５２と入出力部２６に接続する。エンコーダ５２ＡはＹ軸モータ５２の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４３はＺ軸モータ５３を駆動する。エンコーダ５３ＡはＺ軸モータ５３と入出力部２６に接続する。エンコーダ５３ＡはＺ軸モータ５３の回転量を検出し該検出信号を入出力部２６に入力する。
【００２３】
駆動回路４４は工具主軸モータ５４を駆動する。エンコーダ５４Ａは工具主軸モータ５４と入出力部２６に接続する。エンコーダ５４Ａは工具主軸モータ５４の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４５はマガジンモータ５５を駆動する。エンコーダ５５Ａはマガジンモータ５５と入出力部２６に接続する。エンコーダ５５Ａはマガジンモータ５５の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４６はワーク主軸モータ５６を駆動する。エンコーダ５６Ａはワーク主軸モータ５６と入出力部２６に接続する。エンコーダ５６Ａはワーク主軸モータ５６の回転量を検出し該検出信号を入出力部２６に入力する。
【００２４】
駆動回路４７はチルトモータ５７を駆動する。エンコーダ５７Ａはチルトモータ５７と入出力部２６に接続する。エンコーダ５７Ａはチルトモータ５７の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４８はクランプ装置５８を駆動する。クランプ装置５８はテーブル８１の裏面側に設ける。クランプ装置５８はワーク主軸８２を固定保持する。駆動回路４９は表示部１１を駆動する。表示部１１は工作機械１を覆うスプラッシュカバー（図示略）に設ける。表示部１１は工作機械１の設定画面、操作画面等の各種画面を表示する。
【００２５】
Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、工具主軸モータ５４、マガジンモータ５５、ワーク主軸モータ５６、チルトモータ５７は、サーボモータである。
【００２６】
図５〜図８を参照し、二軸同期加工の原理を説明する。二軸同期加工は、工具主軸８とワーク主軸８２を同期して回転しながらワークＷの加工表面（加工を施す面）に自由形状を施す加工方法である。図５に示すように、工具主軸８の軸線方向とワーク主軸８２の軸線方向は互いに平行である。ワーク主軸８２は上部の保持面に冶具でワークＷを保持し、工具主軸８は工具装着穴に工具Ｄを装着する。工具Ｄは下向きである。工具Ｄは側面に一枚のチップＢを備えるが、複数でもよい。工作機械１はワーク主軸８２と工具主軸８とを結ぶ仮想直線の方向をＸ軸方向に設定する。数値制御装置２０はワーク主軸８２に対して工具主軸８をＸ軸方向に移動可能に制御する。尚、数値制御装置２０は工具主軸８に対してワーク主軸８２をＸ軸方向に移動可能に制御してもよい。Ｘ軸方向は本発明の第一方向に相当する。チップＢは本発明の刃に相当する。
【００２７】
二軸同期加工に用いるパラメータは、Ｔ：基準周期、Ｓｗ：ワーク主軸８２の回転数、Ｓｔ：工具主軸８の回転数、Ｒ：工具ＤのチップＢの数、Ｅ：回転数差、Ｑ：形状数、等である。形状数とは、ワークＷを仮想円周上で分割する分割数であり、分割して得られる夫々の形状部分の数である。分割する各形状は夫々互いに面対象形状である。仮想円とは、後述するが、ワーク主軸８２と工具主軸８を同期回転中に、チップＢのワークＷの加工表面に対する刃当たり位置が移動する円形状の軌跡である。回転数差Ｅについては後述する。
【００２８】
図５に示すように、工具ＤのチップＢの刃先はワークＷの加工表面に対して側方から当たる。チップＢの最初の刃当たり位置はＰ１である。数値制御装置２０は、ワーク主軸８２と工具主軸８を互いに逆方向に回転する。例えば、ワーク主軸８２と工具主軸８を、以下の（１）式が成り立つように夫々を同期して回転する。
Ｓｗ／Ｒ＝Ｓｔ／Ｑ  ・・・（１）
（１）式が成り立つ加工は通常のポリゴン加工であるので、ワークＷの加工形状は多角形状となってしまう。
【００２９】
そこで、ワーク主軸８２と工具主軸８を、以下の（２）式が成り立つように夫々を同期して回転する。
Ｓｗ／Ｒ＋Ｅ＝Ｓｔ／Ｑ  ・・・（２）
但し、回転数差Ｅは、（Ｓｗ／Ｒ）及び（Ｓｔ／Ｑ）よりも十分に小さい値である。回転数差Ｅによって、工具ＤのチップＢがワークＷの加工表面に当たる時間差が生じる。時間差は位相差Δθを生じる。位相差Δθは、以下の（３）式で求めることができる。
Δθ＝（２π×Ｅ）／Ｔ  ・・・（３）
【００３０】
図６に示すように、位相差Δθにより、チップＢの刃当たり位置はＰ１からＰ２にずれる。ワーク主軸８２と工具主軸８の同期回転を継続すると、チップＢの刃当たり位置は、ワークＷの回転中心を中心とする仮想円周上を移動する。チップＢがワークＷ中心と工具Ｄ中心を結ぶ直線上を通過する周期は、Ｔ／（Ｓｔ＊Ｒ）である。チップＢがワークＷの同じ位置を加工する周期は、Ｔ／（Ｅ＊Ｑ）である。数値制御装置２０はＴ／（Ｓｔ＊Ｒ）毎に工具ＤのＸ軸方向の位置を制御することにより、ワークＷの仮想円周上に微小な自由形状を形成する。尚、図６に示す刃当たり位置Ｐ１，Ｐ２は本発明の接点に相当し、Ｔ／（Ｓｔ＊Ｒ）は本発明の第一周期に相当し、Ｔ／（Ｅ＊Ｑ）は本発明の第二周期に相当する。
【００３１】
ワーク主軸８２と工具主軸８を上記（２）式が成り立つように夫々を同期回転した場合、例えば、図７に示すように、工具Ｄの刃当たり位置は、Ｔ／（Ｓｔ＊Ｒ）毎に、Ｐ１、Ｐ２、Ｐ３、Ｐ４・・・と順次移動する。数値制御装置２０は、Ｔ／（Ｓｔ＊Ｒ）毎に、目標位置に到達するように、工具ＤをＸ軸方向に移動する。刃当たり位置Ｐ１、Ｐ２、Ｐ３、Ｐ４・・・は仮想円の径方向に位置を変える。故に数値制御装置２０は、ワークＷの加工表面に自由形状Ｌを高精度に形成できる。自由形状Ｌは、例えば刃当たり位置Ｐ１〜Ｐ４において折れ曲がった折れ線である。
【００３２】
更に、数値制御装置２０は、Ｔ／（Ｅ＊Ｑ）を基準時間とした速度を与えられて、工具ＤをＺ軸方向に移動する。刃当たり位置Ｐ１、Ｐ２、Ｐ３、Ｐ４・・・はＺ軸方向にも位置を変えるので、図８に示すように、ワークＷの加工表面において自由形状ＬをＺ軸方向にも高精度に表現できる。上記の二軸同期加工は、基準周期Ｔ、回転数差Ｅを変更した場合でも、ワーク主軸８２と工具主軸８を互いに同期することにより、ワークＷの加工形状を崩すことなく加工速度を変更できる。尚、Ｚ軸方向は本発明の第二方向に相当する。
【００３３】
図９〜図１５を参照し、ＣＰＵ２１が制御する二軸同期加工を説明する。本実施形態は図９，図１０に示す楕円柱６０を二軸同期加工でワークＷに切削する場合を一例として説明する。楕円柱６０は、長半径ａ＝１０ｍｍ、短半径ｂ＝９．９ｍｍ、高さｈ＝１０ｍｍの円柱である。楕円柱６０を加工する為に、ＣＰＵ２１はＮＣプログラムＡ１（図１１参照）と形状プログラムＡ２（図１２参照）を用いる。ＮＣプログラムＡ１と形状プログラムＡ２は不揮発性記憶装置２４に記憶する。
【００３４】
図１１に示すＮＣプログラムＡ１の一部は、楕円柱６０を二軸同期加工で切削するものである。このプログラムの「Ｘ」に続く数字は、図４のＸ軸モータ５１の絶対位置を指示するものであり、ワークＷに対し、工具主軸の軸線方向の位置を指示し、切削時の楕円の円周方向の半径と一致する。また、「Ｚ」に続く数字は、図４のＺ軸モータ５３の絶対位置を指示するものであり、ワークＷに対し、切削時の高さと一致する。「Ｃ」に続く数字は、図４のワーク主軸モータ５６の絶対位置を指示するものである。ワークＷの中心は、ワーク主軸モータの回転軸中心に設置されるため、ワークＷに対し、切削時の形状角度θと一致する。２行目の「Ｇ５１．９」は同期開始指令を表し、同一行に指示された、「Ｐ」は形状指令のプログラム番号、「Ｑ」は形状数、「Ｒ」はチップ数、「Ｓ」はワーク主軸８２の回転数、「Ｔ」は基準時間、「Ｅ」は回転数差、「Ｉ」はＴ／（Ｓｔ＊Ｒ）で補間する軸を指定する移動軸指令、「Ｊ」はＴ／（Ｅ＊Ｑ）で補間する軸を指定する移動軸指令を示す。尚、「Ｉ」、「Ｊ」の軸指定は二進数で、Ｘ軸＝ｂｉｔ０、Ｙ軸＝ｂｉｔ１、Ｚ軸＝ｂｉｔ２で夫々指定する。最終行の「Ｇ５０．９」は同期終了指令である。２行目の「Ｇ５１．９」から最終行の「Ｇ５０．９」までの間は、二軸同期加工を行う。その間の「Ｇ１」は直線補間指令、「Ｆ」はＺ軸方向の工具主軸８の送り速度、「Ｇ４」はドゥエル指令、「Ｇ４」と同一行の「Ｐ」はドゥエル時間である。尚、「Ｇ５１．９」から「Ｇ５０．９」までの間は、「Ｆ」で指令される速度や、「Ｇ０４Ｐ」で指令されるドゥエル指令の時間が毎分（／分）や毎回転（／ｒｅｖ）と違い、後述するように同期時間基準で指令される。
【００３５】
図１２に示す形状プログラムＡ２は、長半径ａ＝１０ｍｍ、短半径ｂ＝９．９ｍｍの楕円（図９参照）について、形状角度θ毎の工具主軸８のＸ軸方向の移動位置を夫々設定するサブプログラムである。「０１０００」はプログラム番号が１０００番であることを示す。例えば、「Ｃ０．０００」は形状角度θ＝０°、「Ｃ１０．０００」は形状角度θ＝１０°、「Ｃ９０．０００」は形状角度θ＝９０°であることを示す。「Ｍ９９」はサブプログラム終了コードである。図１３は、形状プログラムＡ２が規定する形状角度θとＸ軸方向の移動位置との関係を示したグラフである。形状角度θ＝０°、１８０°、３６０°でＸ軸方向の移動位置は１０、θ＝９０°、２７０°でＸ軸方向の移動位置は９．９である。故に数値制御装置２０は、形状プログラムＡ２に従い、工具主軸８を移動すれば、長半径ａ＝１０ｍｍ、短半径ｂ＝９．９ｍｍの楕円をワークＷの加工表面に描くことができる。ＣＰＵ２１はＮＣプログラムＡ１を後述するメイン処理で実行し、更に形状プログラムＡ２を参照し、後述する二軸同期制御処理を実行することにより、ワークＷに楕円柱６０を加工できる。
【００３６】
図１４を参照し、ＣＰＵ２１が実行するメイン処理を説明する。作業者が工作機械１を起動し、操作部３８においてＮＣプログラムＡ１を選択すると、ＣＰＵ２１は不揮発性記憶装置２４からＮＣプログラムＡ１を読み出す。作業者が操作部３８の実行ボタン（図示略）を押下すると、ＣＰＵ２１はＲＯＭ２２からメインプログラムを起動し、ＮＣプログラムＡ１について本処理を実行する。
【００３７】
先ず、ＣＰＵ２１はＮＣプログラムＡ１を１ブロック解釈する（Ｓ１）。ＣＰＵ２１は解釈した指令がエンド指令か否か判断する（Ｓ２）。解釈した指令がエンド指令でない場合（Ｓ２：ＮＯ）、解釈したブロックの制御指令に従って動作を実行する（Ｓ３）。
【００３８】
例えば、ＮＣプログラムＡ１の１行目は「Ｇ０  Ｘ１０．０００  Ｚ０．０００  Ｃ０．０００  Ｍ１９」であり、「工具主軸８を（Ｘ，Ｚ）＝（１０，０）に位置決めし、ワーク主軸８２を（Ｃ）＝（０）に位置決めし、工具主軸８の向きをオリエント、つまり、チップＢの位置方向をオリエント方向にリセットせよ」という旨の指令である。ＣＰＵ２１は指令に従って動作を実行する（Ｓ３）。
【００３９】
ＣＰＵ２１は、Ｓ１に戻り、２行目を解釈する。２行目は「Ｇ５１．９  Ｐ１０００  Ｑ２  Ｒ１  Ｓ１０００  Ｔ６０  Ｅ１  Ｉ１  Ｊ４」であり、「プログラム番号１０００番の形状プログラムＡ２を読み出し、形状数Ｑを２、チップ数Ｒを１、ワーク主軸８２の回転数Ｓを１０００回転、基準周期Ｔを６０秒、回転数差Ｅを１、Ｔ／（Ｓｔ＊Ｒ）周期で補間する軸をＸ軸、Ｔ／（Ｅ＊Ｑ）周期で補間する軸をＺ軸に指定し、同期を開始せよ。」という旨の指令である。ＣＰＵ２１は指令に従い、各種パラメータ設定後、ワーク主軸８２と工具主軸８の同期を開始する（Ｓ３）。同期を開始すると、ＣＰＵ２１はＲＯＭ２２から二軸同期制御プログラムを読み出し、後述する二軸同期制御処理（図１５参照）を開始する。尚、二軸同期制御処理の実行により、ＣＰＵ２１は、１ミリ秒毎に、後述する補間位置ΔＳｗ、補間位置ΔＳｔ、形状角度Δθ、形状角度θ、移動量ΔＺ等を求め、ワーク主軸８２と工具主軸８の各動作を制御する。
【００４０】
ＣＰＵ２１は、Ｓ１に戻り、３行目を解釈する。３行目は「Ｇ１  Ｚ１０．０００  Ｆ５」であり、「工具主軸８をＺ軸方向において０から１０ｍｍの位置に移動するまで、毎Ｔ／（Ｅ＊Ｑ）時間あたり５ｍｍの移動速度で移動せよ。」という旨の指令である。ＣＰＵ２１は指令に従い、工具主軸８のＸ軸方向の移動位置を制御し、且つＺ軸方向に毎Ｔ／（Ｅ＊Ｑ）時間当たり５ｍｍの移動速度で工具主軸８を移動する（Ｓ３）。後述するが、ＣＰＵ２１はＦ５の速度指令を後述する二軸同期制御処理にも反映する。図１０に示すように、ワークＷに楕円柱６０が徐々に形成される。
【００４１】
ＣＰＵ２１は、Ｓ１に戻り、４行目を解釈する。４行目は「Ｇ４  Ｐ２」であり、ドゥエル指令であるので、「Ｔ／（Ｅ＊Ｑ）の２倍の時間移動を停止しなさい。」という旨の指令である。ＣＰＵ２１は指令に従い、動作を実行する（Ｓ３）ことにより、ワークＷに形状を最後まで加工できる。
【００４２】
ＣＰＵ２１は、Ｓ１に戻り、５行目を解釈する。５行目は「Ｇ１  Ｚ０．０００  Ｆ５」であり、「工具主軸８をＺ軸方向に１０ｍｍから０の位置に移動するまで、毎Ｔ／（Ｅ＊Ｑ）時間当たり５ｍｍの速度で移動せよ。」という旨の指令である。ＣＰＵ２１は指令に従って動作を実行する（Ｓ３）ことにより、加工済みであるワークＷから工具主軸８を引き抜いて最初の位置に戻すことができる。
【００４３】
ＣＰＵ２１は、Ｓ１に戻り、６行目を解釈する。６行目は「Ｇ５０．９」であり、同期終了の指令である。ＣＰＵ２１は同期を終了し、ワーク主軸８２と工具主軸８の動作を停止する。ＣＰＵ２１は解釈した指令がエンド指令か否か判断する（Ｓ２）。解釈した指令がエンド指令である場合（Ｓ２：ＹＥＳ）、本処理を終了する。
【００４４】
図１５を参照し、二軸同期制御処理を説明する。先ず、ＣＰＵ２１はＳ指令からワーク主軸８２の補間位置ΔＳｗを算出する（Ｓ１１）。補間位置ΔＳｗは１ミリ秒間あたりのワーク主軸８２の回転量であり、以下の（４）式で算出する。尚、ｔｉｃはｔｉｃｋの略であり、ＣＰＵ２１の内部処理上の時間の最少単位である。本実施形態のｔｉｃは１ミリ秒である。
ΔＳｗ＝Ｓｗ／Ｔ＊ｔｉｃ  ・・・（４）
【００４５】
ＣＰＵ２１は、Ｓ１１で算出した補間位置ΔＳｗに基づき、工具主軸８の補間位置ΔＳｔを算出する（Ｓ１２）。補間位置ΔＳｔは１ミリ秒間あたりの工具主軸８の回転量であり、以下の（５）式で算出する。
ΔＳｔ＝（ΔＳｗ＊Ｑ＋Ｅ）／（Ｒ＊Ｔ）＊ｔｉｃ  ・・・（５）
【００４６】
ＣＰＵ２１は、Ｓ１１で算出した補間位置ΔＳｗに基づき、形状角度Δθを算出する（Ｓ１３）。形状角度Δθは１ミリ秒間あたりの刃当たり位置の位相差であり、以下の（６）式で算出する。
Δθ＝３６０＊Ｅ／Ｔ＊ｔｉｃ  ・・・（６）
【００４７】
ＣＰＵ２１は、Ｓ１３で算出した形状角度ΔθをＲＡＭ２３に記憶する形状角度θに加算し、形状角度θを更新する（Ｓ１４）。形状角度θは同期開始から現在までの位相差となる。ＣＰＵ２１は、形状プログラムＡ２を不揮発性記憶装置２４から読み出し、形状角度θに対応する工具主軸８のＸ軸方向の移動位置を求める（Ｓ１５）。
【００４８】
ＣＰＵ２１はＳ１１で算出した補間位置ΔＳｗとＦの速度指令に基づき、工具主軸８の移動量ΔＺを求める（Ｓ１６）。移動量ΔＺは１秒間あたりの工具主軸８のＺ軸方向の移動量である。本実施形態では、ＣＰＵ２１がメイン処理においてＮＣプログラムＡ１の３行目の解釈で得ることができる。移動量ΔＺは、以下の（７）式で算出する。
ΔＺ＝Ｆ＊Ｑ＊Ｅ／Ｔ＊ｔｉｃ  ・・・（７）
【００４９】
ＣＰＵ２１は、上記Ｓ１１〜Ｓ１６の処理を実行することにより、補間位置ΔＳｗ、補間位置ΔＳｔ、形状角度Δθ、形状角度θ、工具主軸８のＸ軸方向の移動位置、移動量ΔＺを夫々求めることができる。ＣＰＵ２１は、これらパラメータに基づき、ワーク主軸８２と工具主軸８の各動作を制御し、ワークＷに楕円柱６０を形成できる。
【００５０】
ＣＰＵ２１は加工終了か否か判断する（Ｓ１７）。加工終了か否かはワーク主軸８２と工具主軸８が目標位置に到達したか否かで判断する。目標位置へ到達していない場合（Ｓ１７：ＮＯ）、ＣＰＵ２１はＳ１１に戻って、引き続き、上記パラメータを求め、ワーク主軸８２と工具主軸８の各動作を制御する。目標位置へ到達して、同期加工が終了した場合（Ｓ１７：ＹＥＳ）、本処理を終了する。上記のように、二軸同期加工では、ワーク主軸８２と工具主軸８の回転数差によって生じる位相差を利用し、ワークＷの仮想円周上を第一周期毎にずれる工具ＤのチップＢの刃当たり位置を制御する。回転数差によって第一周期毎に生じる位相差は正確である。故に数値制御装置２０はワークＷの加工表面に自由形状を高精度に形成できる。
【００５１】
以上説明したように、本実施形態の数値制御装置２０は工作機械１を制御し、ワーク主軸８２と工具主軸８を同期して回転させる二軸同期加工が可能である。二軸同期加工では、基準周期Ｔに対し、工具主軸８を第一回転数、ワーク主軸８２を第二回転数で夫々回転し互いに同期させる。第二回転数は、第一回転数よりも小さい回転数差Ｅを第一回転数に加算した数である。ワーク主軸８２と工具主軸８とを結ぶ仮想直線の方向はＸ軸方向とする。回転数差Ｅによって基準周期Ｔに基づく第一周期毎にワークＷの加工表面にて仮想円周上に位相差を生じる。位相差に基づき、仮想円周上にて工具ＤのチップＢとワークＷの加工表面との刃当たり位置は第一周期毎に周方向へずれる。数値制御装置２０は刃当たり位置のＸ軸方向における位置を第一周期毎に制御する。回転数差Ｅによって第一周期毎に生じる位相差は正確である。故に数値制御装置２０は二軸同時加工により、ワークＷの加工表面に自由形状を高精度に加工できる。
【００５２】
また本実施形態では更に、数値制御装置２０は刃当たり位置のＸ軸方向における位置を第一周期毎に制御し、且つ刃当たり位置のＺ軸方向における位置を基準周期Ｔに基づく第二周期毎に制御する。故に数値制御装置２０は、二軸同時加工により、ワークＷに対し自由形状を立体的に高精度に施すことができる。
【００５３】
なお本発明は上記実施形態に限らず、様々な変形が可能である。上記実施形態では、図１１に示すＮＣプログラムＡ１をメイン処理で実行することにより、ワークＷの加工表面に楕円柱６０を加工したが、例えば、図１６に示すＮＣプログラムＡ３をメイン処理で実行することにより、ワークＷの加工表面に楕円柱６０を加工することもできる。ＮＣプログラムＡ３は楕円指令を用いるので、ＮＣプログラムＡ１に比べてブロック数が少ない。
【００５４】
ＮＣプログラムＡ３の１、３、５行目は、ＮＣプログラムＡ１の１、４、６行目と同じ制御指令である。ＮＣプログラムＡ３の２、４行目について、Ｇ５１．８は楕円指令、Ｕは楕円の長半径、Ｖは楕円の短半径、Ｗは形状角度、Ｒはチップ数、Ｓはワーク主軸８２の回転数、Ｔは基準周期、Ｅは回転数差、ＦはＺ軸方向の移動速度である。ＮＣプログラムＡ３の２行目は「チップ数Ｒを１、ワーク主軸８２の回転数Ｓｗを１０００回転、基準周期Ｔを６０秒、回転数差Ｅを１とし、Ｕ＝１０ｍｍ、Ｖ＝９．９ｍｍの楕円に沿って工具主軸８を移動しながら、工具主軸８をＺ軸方向に０から１０ｍｍの位置に移動するまで毎Ｔ／（Ｅ＊Ｑ）時間当たり５ｍｍの速度で移動せよ。」という旨の指令である。ＮＣプログラムＡ３の４行目は「チップ数Ｒを１、ワーク主軸８２の回転数Ｓｗを１０００回転、基準周期Ｔを６０秒、回転数差Ｅを１とし、Ｕ＝１０ｍｍ、Ｖ＝９．９ｍｍの楕円に沿って工具主軸８を移動しながら、工具主軸８をＺ軸方向に１０ｍｍの位置から０の位置に移動するまで毎Ｔ／（Ｅ＊Ｑ）時間当たり５ｍｍの速度で移動せよ。」という旨の指令である。
【００５５】
上記変形例の場合、図１５に示す二軸同期制御処理のＳ１３，Ｓ１４，Ｓ１５の処理の代わりに、以下の（８）式を用いることにより、Ｘ軸方向の移動位置を簡単に求めることができる。
Ｘ＝Ｓｑｒｔ（Ｕ２＊ｃｏｓ（θ）２＋Ｖ２＊ｓｉｎ（θ）２）  ・・・（８）
【００５６】
また、本発明は上記変形例の他にも、種々の変更が可能である。上記実施形態では、ワーク主軸８２を第一回転数で回転し、工具主軸８を第二主軸で同期して回転したが、この逆であってもよい。即ち、上記（２）式について、Ｓｔ／Ｑ＋Ｅ＝Ｓｗ／Ｒとすることも可能である。この場合、ワーク主軸８２と工具主軸８の関係を逆にして上記各処理を行えばよい。
【００５７】
また、上記実施形態は、ワーク主軸８２に対して工具主軸８をＸ軸方向に移動したが、ワーク主軸８２を工具主軸８に対してＸ軸方向に移動してもよい。
【符号の説明】
【００５８】
１    工作機械
８    工具主軸
２０    数値制御装置
２１    ＣＰＵ
８２    ワーク主軸
Ｂ    チップ
Ｅ    回転数差
Ｔ    工具
Ｗ    ワーク
【図１】
2015079348.tif 000003
【図２】
2015079348.tif 000004
【図３】
2015079348.tif 000005
【図４】
2015079348.tif 000006
【図５】
2015079348.tif 000007
【図６】
2015079348.tif 000008
【図７】
2015079348.tif 000009
【図８】
2015079348.tif 000010
【図９】
2015079348.tif 000011
【図１０】
2015079348.tif 000012
【図１１】
2015079348.tif 000013
【図１２】
2015079348.tif 000014
【図１３】
2015079348.tif 000015
【図１４】
2015079348.tif 000016
【図１５】
2015079348.tif 000017
【図１６】
2015079348.tif 000018