(57)【要約】【課題】速度制御から位置制御に切り替える場合にＮＣプログラムの先読みを停止しない数値制御装置を提供する。【解決手段】数値制御装置のＣＰＵは先読み処理と実行処理を非同期で夫々実行する。先読み処理にて、ＣＰＵはＣ軸回転指令を含むＮ０１の制御ブロックの次に、Ｃ軸停止指令を含むＮ０２の制御ブロックを先読みした後で、Ｃ軸位置決め指令を含むＮ０３の制御ブロックを先読みして解釈する場合、Ｃ軸の移動量を指示するＣ軸移動量を予め設定したＣ軸の基準位置からの移動量で仮決めする。実行処理では、ＣＰＵは先読みバッファからＮ０３の制御ブロックの解釈データを読み出した場合、先読み処理で仮決めしたＣ軸移動量から、現在のＣ軸の位置を差し引いた差分を演算する。ＣＰＵは演算した差分に基づき、Ｃ軸の位置決めを行う。故に数値制御装置はＮＣプログラムの先読みを中止することなく工作機械のＣ軸を制御できる。【選択図】図７
2014048761.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の回転軸の速度制御と位置制御をＮＣプログラムに従って制御する数値制御装置であって、
前記ＮＣプログラムのブロック毎に指定された制御指令を順次先読みして解釈する先読み手段と、
前記先読み手段で先読みした解釈結果を記憶する記憶手段と、
前記記憶手段に記憶した前記解釈結果を読み出して実行する実行手段と
を備え、
前記先読み手段は、
前記回転軸の回転速度を指示する速度指令を含む速度制御ブロックの次に、前記回転軸の停止を指示する停止指令を含む停止ブロックを先読みした後で、前記回転軸の位置を指示する位置決め指令を含む位置制御ブロックを先読みして解釈する場合に、前記位置決め指令に基づいて前記回転軸の移動量を指示する第一指令移動量を、予め設定した前記回転軸の基準位置からの移動量で仮決めする第一仮決め手段を備え、
前記実行手段は、
前記回転軸の位置を検出する位置検出手段と、
前記記憶手段から前記位置制御ブロックの前記解釈結果を読み出した場合、前記第一仮決め手段によって仮決めした前記第一指令移動量から、前記位置検出手段によって検出した現在の前記回転軸の位置を差し引いた第一差分を演算する第一演算手段と、
前記第一演算手段が演算した前記第一差分に基づき、前記回転軸の位置決めを行う第一位置決め実行手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
前記工作機械は、
ワークを支持する支持台と、
前記支持台に支持した前記ワークを切削する工具を装着し且つ回転する第一主軸と、
前記支持台を回転可能に支持する第二主軸と
を備え、
前記回転軸は前記第二主軸であることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記先読み手段は、
前記第二主軸の回転速度を指示する速度指令を含む第二主軸速度制御ブロックの次に、前記第二主軸の回転制御から前記第一主軸の回転制御に変更し、且つ前記第二主軸の停止を指示する回転軸変更指令を含む回転軸変更ブロックを先読みし、さらに前記第一主軸の回転速度を指示する速度指令を含む第一主軸速度制御ブロックを先読みした後で、前記第二主軸の位置を指示する第二主軸位置決め指令を含む第二主軸制御ブロックを先読みする場合に、前記第二主軸位置決め指令に基づいて前記第二主軸の移動量を指示する第二指令移動量を、予め設定した前記第二主軸の前記基準位置からの移動量で仮決めする第二仮決め手段を備え、
前記実行手段は、
前記記憶手段から前記第二主軸位置制御ブロックの前記解釈結果を読み出した場合、前記第二仮決め手段によって仮決めした前記第二指令移動量から、前記位置検出手段によって検出した現在の前記回転軸の位置を差し引いた第二差分を演算する第二演算手段と、
前記第二演算手段が演算した前記第二差分に基づき、前記第二主軸の位置決めを行う第二位置決め実行手段と
を備えたことを特徴とする請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置はＮＣプログラムを１ブロック毎に解釈し、解釈結果に基づき、サーボモータを駆動する。特許文献１が開示する数値制御装置は、ブロック情報先読み手段、ブロック終了速度演算手段、ブロック終了速度修正演算手段、補間演算手段、サーボシステム駆動手段を備える。ブロック情報先読み手段は、複数のブロック各々に指定された位置、及び速度情報を先読みする。ブロック終了速度演算手段は、先読みした複数のブロックの各終了点における速度を所定条件を元に演算する。ブロック終了速度修正演算手段は、各ブロック終了速度が加速度条件を満足するように演算しなおす。補間演算手段は、指定した加速度、速度、終了速度の条件を満足する補間演算を行う。サーボシステム駆動手段は該演算された補間データでサーボシステムの駆動を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−８３４３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
数値制御装置は速度制御と位置制御を切り替え可能である。速度制御はサーボモータを速度指令に従って連続回転する制御である。位置制御は位置指令に従ってサーボモータを位置決めする制御である。数値制御装置は速度制御から位置制御に切り替える場合に、サーボモータの現在位置が分からなければ、位置指令に従ってサーボモータを位置決めできない。故に先読みを一旦停止し、連続回転するサーボモータの停止位置を確定後、確定した停止位置を基準としてサーボモータを位置決めしてから、プログラム解釈を再開する必要があった。先読みが一旦停止するので、数値制御装置は加工時間を短縮できなかった。
【０００５】
本発明の目的は、速度制御から位置制御に切り替える場合にＮＣプログラムの先読みを停止しない数値制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る発明の数値制御装置は、工作機械の回転軸の速度制御と位置制御をＮＣプログラムに従って制御する数値制御装置であって、前記ＮＣプログラムのブロック毎に指定された制御指令を順次先読みして解釈する先読み手段と、前記先読み手段で先読みした解釈結果を記憶する記憶手段と、前記記憶手段に記憶した前記解釈結果を読み出して実行する実行手段とを備え、前記先読み手段は、前記回転軸の回転速度を指示する速度指令を含む速度制御ブロックの次に、前記回転軸の停止を指示する停止指令を含む停止ブロックを先読みした後で、前記回転軸の位置を指示する位置決め指令を含む位置制御ブロックを先読みして解釈する場合に、前記位置決め指令に基づいて前記回転軸の移動量を指示する第一指令移動量を、予め設定した前記回転軸の基準位置からの移動量で仮決めする第一仮決め手段を備え、前記実行手段は、前記回転軸の位置を検出する位置検出手段と、前記記憶手段から前記位置制御ブロックの前記解釈結果を読み出した場合、前記第一仮決め手段によって仮決めした前記第一指令移動量から、前記位置検出手段によって検出した現在の前記回転軸の位置を差し引いた第一差分を演算する第一演算手段と、前記第一演算手段が演算した前記第一差分に基づき、前記回転軸の位置決めを行う第一位置決め実行手段とを備える。先読み手段は、速度制御ブロックの次に、停止ブロックを先読みした後で、位置制御ブロックを先読みして解釈する場合、回転軸の停止位置がわからない。故に、第一仮決め手段は、予め設定した回転軸の基準位置からの移動量で第一指令移動量を仮決めする。第一演算手段は第一差分を演算する。第一差分は、第一仮決め手段によって仮決めした第一指令移動量から、現在の前記回転軸の位置を差し引いたものである。第一位置決め実行手段は第一演算手段が演算した第一差分に基づき、回転軸の位置決めを行う。故に、数値制御装置は、ＮＣプログラムの先読みを中止することなく、工作機械の回転軸を制御できる。故に、数値制御装置は加工時間を短縮できる。
【０００７】
請求項２に係る発明の数値制御装置は、請求項１に記載の発明の構成に加え、前記工作機械は、ワークを支持する支持台と、前記支持台に支持した前記ワークを切削する工具を装着し且つ回転する第一主軸と、前記支持台を回転可能に支持する第二主軸とを備え、前記回転軸は前記第二主軸である。故に、数値制御装置は、第一主軸と第二主軸を備える工作機械の第二主軸において、請求項１の効果を得ることができる。
【０００８】
請求項３に係る発明の数値制御装置は、請求項２に記載の発明の構成に加え、前記先読み手段は、前記第二主軸の回転速度を指示する速度指令を含む第二主軸速度制御ブロックの次に、前記第二主軸の回転制御から前記第一主軸の回転制御に変更し、且つ前記第二主軸の停止を指示する回転軸変更指令を含む回転軸変更ブロックを先読みし、さらに前記第一主軸の回転速度を指示する速度指令を含む第一主軸速度制御ブロックを先読みした後で、前記第二主軸の位置を指示する第二主軸位置決め指令を含む第二主軸制御ブロックを先読みする場合に、前記第二主軸位置決め指令に基づいて前記第二主軸の移動量を指示する第二指令移動量を、予め設定した前記第二主軸の前記基準位置からの移動量で仮決めする第二仮決め手段を備え、前記実行手段は、前記記憶手段から前記第二主軸位置制御ブロックの前記解釈結果を読み出した場合、前記第二仮決め手段によって仮決めした前記第二指令移動量から、前記位置検出手段によって検出した現在の前記回転軸の位置を差し引いた第二差分を演算する第二演算手段と、前記第二演算手段が演算した前記第二差分に基づき、前記第二主軸の位置決めを行う第二位置決め実行手段とを備える。第二主軸の回転制御から第一主軸の回転制御に切り換える際に、第二主軸を一旦停止してから、第二主軸の位置決めを行うＮＣプログラムを先読みする場合においても、数値制御装置は、ＮＣプログラムの先読みを中止することなく、工作機械の回転軸を制御できる。故に、数値制御装置は加工時間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】工作機械１の斜視図。
【図２】工作機械１の正面図。
【図３】工作機械１の右側面図。
【図４】工作機械１の電気的構成を示すブロック図。
【図５】先読み処理の流れ図。
【図６】実行処理の流れ図。
【図７】表示部１１に表示したＮＣプログラムＰ１を示す図。
【図８】表示部１１に表示したＮＣプログラムＰ２を示す図。
【００１０】
本発明の一実施形態を図面を参照して説明する。図１の左斜下方、右斜上方、右斜下方、左斜上方は、夫々、工作機械１の前方、後方、右方、左方である。工作機械１の左右方向、前後方向、上下方向を、夫々、工作機械１のＸ軸方向、Ｙ軸方向、Ｚ軸方向とする。図１に示す工作機械１は複合加工機である。複合加工機はワーク（被加工物）に回転加工と施削加工を選択的に施すことができる。
【００１１】
図１〜図３を参照し、工作機械１の構造を説明する。工作機械１は、基台部２、Ｙ軸移動機構、運搬体１２、Ｘ軸移動機構、コラム５、Ｚ軸移動機構、主軸ヘッド７、主軸８、ワーク保持装置８０、自動工具交換装置（以下「ＡＴＣ」と呼ぶ）３０等を備える。
【００１２】
基台部２はＹ軸方向に長い矩形箱状の鉄製部材である。基台部２は下部四隅に脚３を夫々備える。基台部２は上面に台座部４、右側支持部１８、左側支持部１９を備える。台座部４は基台部２上面後部側に設ける。台座部４は例えば略直方体状である。右側支持部１８と左側支持部１９は台座部４よりも低い高さの台座である。右側支持部１８は基台部２上面右前側に配置する。左側支持部１９は基台部２上面左前側に配置する。右側支持部１８と左側支持部１９はワーク保持装置８０を下方から支持する。
【００１３】
Ｙ軸移動機構は台座部４上面に設ける。Ｙ軸移動機構は運搬体１２をＹ軸方向に移動する。Ｙ軸移動機構は一対のＹ軸レール６１，６２、Ｙ軸ボールネジ６３（図２参照）、Ｙ軸モータ５２（図４参照）等を備える。Ｙ軸レール６１，６２は台座部４上面の左右方向両端部に沿って設ける。Ｙ軸ボールネジ６３はＹ軸レール６１，６２の間に設ける。運搬体１２はＹ軸レール６１，６２に沿って移動可能である。運搬体１２は例えば所定厚を有する金属製板部材である。運搬体１２は下面にナット（図示略）を備える。ナットはＹ軸ボールネジ６３に螺合する。Ｙ軸モータ５２はＹ軸ボールネジ６３を回転するので、運搬体１２はナットと共にＹ軸方向に移動する。
【００１４】
Ｘ軸移動機構は運搬体１２上面に設ける。Ｘ軸移動機構はコラム５をＸ軸方向に移動する。Ｘ軸移動機構は一対のＸ軸レール７１，７２、Ｘ軸ボールネジ７３、Ｘ軸モータ５１等を備える。Ｘ軸レール７１，７２、Ｘ軸ボールネジ７３はＸ軸方向に延設する。Ｘ軸レール７１は運搬体１２上面後側、Ｘ軸レール７２は運搬体１２上面前側に配置する。Ｘ軸ボールネジ７３はＸ軸レール７１，７２の間に配置する。コラム５はＸ軸レール７１，７２に沿って移動可能である。コラム５は下面にナット（図示略）を備える。ナットはＸ軸ボールネジ７３に螺合する。Ｘ軸モータ５１はＸ軸ボールネジ７３を回転するので、コラム５はナットと共にＸ軸方向に移動する。コラム５は運搬体１２を介してＹ軸方向に移動する。即ち、コラム５はＹ軸移動機構、Ｘ軸移動機構、運搬体１２によって、Ｘ軸方向及びＹ軸方向に移動可能となる。
【００１５】
コラム５は右側面下部に保護カバー１６、左側面下部に保護カバー１７、背面下部にカバー１３を備える。保護カバー１６はコラム５右側面から右側において露出するＸ軸移動機構を覆う。保護カバー１７はコラム５左側面から左側において露出するＸ軸移動機構を覆う。保護カバー１６，１７はコラム５のＸ軸方向への移動に追従して移動する。カバー１３はコラム５の背面後方において露出するＹ軸移動機構を覆う。カバー１３はコラム５のＹ軸方向への移動に追従して伸縮する。保護カバー１６，１７、カバー１３はＸ軸移動機構及びＹ軸移動機構内に切粉及び切削液が侵入するのを防止する。
【００１６】
Ｚ軸移動機構はコラム５前面に設ける。Ｚ軸移動機構は主軸ヘッド７をＺ軸方向に移動する。Ｚ軸移動機構は一対のＺ軸レール（図示略）、Ｚ軸ボールネジ（図示略）、Ｚ軸モータ５３（図４参照）等を備える。Ｚ軸レール、Ｚ軸ボールネジはＺ軸方向に延設する。Ｚ軸ボールネジは一対のＺ軸レールの間に配置する。主軸ヘッド７はＺ軸レールに沿って移動可能である。主軸ヘッド７は背面にナット（図示略）を備える。ナットはＺ軸ボールネジに螺合する。Ｚ軸モータ５３はＺ軸ボールネジを回転するので、主軸ヘッド７はＺ軸方向に移動する。保護カバー２８は主軸ヘッド７上部後側に固定してある。保護カバー２８は主軸ヘッド７と共に上下動することでコラム５前面を覆う。コラム５は前面にＺ軸シャッター２７を備える。Ｚ軸シャッター２７は主軸ヘッド７の上下動に従い伸縮する。Ｚ軸シャッター２７はＺ軸移動機構内に切粉と切削液が侵入するのを防止する。
【００１７】
主軸ヘッド７はＺ軸駆動機構によりコラム５前面に沿って昇降する。主軸８は主軸ヘッド７下部に設ける。主軸８は工具装着部（図示略）を備える。工具装着部は例えばテーパ状の孔部である。工具装着部は工具Ｔを装着する。工具Ｔは少なくとも工具ＴＡ（図示略）、工具ＴＢ（図示略）の二種類である。工具ＴＡは回転加工用の工具である。工具ＴＢは旋削加工用の工具である。以下、工具ＴＡ，ＴＢを総称する場合は工具Ｔと称する。主軸モータ５４は主軸ヘッド７上面前側に設ける。主軸モータ５４は主軸８を回転する。ケーブルベア（登録商標）２９は主軸ヘッド７上部とコラム５上部との間に設ける。
【００１８】
図１〜図３を参照し、ワーク保持装置８０の構造を説明する。ワーク保持装置８０は、右側固定部８８、左側固定部８９、治具固定テーブル８１、Ｃ軸モータ５６、Ｃ軸８２、チルトモータ５７等を備える。右側固定部８８は右側支持部１８上面に固定する。左側固定部８９は左側支持部１９上面に固定する。
【００１９】
治具固定テーブル８１は、テーブル部８１Ａ、右連結部８１Ｂ、左連結部８１Ｃを備える。Ｃ軸モータ５６は治具固定テーブル８１の下面側に設ける。Ｃ軸８２は治具固定テーブル８１の略中央に設ける。Ｃ軸８２は円柱状である。Ｃ軸８２はＣ軸モータ５６の回転軸に連結する。治具（図示略）はＣ軸８２の上面に固定する。治具は例えば円柱状で且つＣ軸８２と同軸上に配置する。治具はワークを保持する。Ｃ軸８２の軸線方向はテーブル部８１Ａ表面に対して直交する。故に治具はＣ軸８２と共に回転可能である。
【００２０】
右連結部８１Ｂはテーブル部８１Ａから右上方向に延出し且つ右側固定部８８にＸ軸回りに回転可能に連結する。左連結部８１Ｃはテーブル部８１Ａから左上方向に延出し且つ左側固定部８９にＸ軸回りに回転可能に連結する。チルトモータ５７は右側固定部８８に固定してある。チルトモータ５７は治具固定テーブル８１をＸ軸回りに回転する。チルトモータ５７の回転軸は右連結部８１Ｂと連結する。
【００２１】
治具に固定したワークは、Ｃ軸モータ５６の駆動によりＣ軸８２の軸回りで回転する。治具に固定したワークは、チルトモータ５７による治具固定テーブル８１の回転に関わらず、Ｃ軸モータ５６の駆動によりテーブル部８１Ａに対して直角な軸回りで回転する。
【００２２】
図１〜図３を参照し、ＡＴＣ３０の構造を説明する。ＡＴＣ３０は、工具マガジン３１、マガジン支持部材３２、マガジンモータ５５、駆動ギヤ３５等を備える。マガジン支持部材３２は楕円状の金属製板部材である。マガジン支持部材３２は、主軸ヘッド７とコラム５を内側に挿入した状態で、コラム５に取り付ける。工具マガジン３１は前方から後方に従って上方に向かっている。
【００２３】
工具マガジン３１はマガジン支持部材３２の外周に沿って取り付ける。工具マガジン３１はチェーン３４、複数のポット３７を備える。チェーン３４はマガジン支持部材３２の外周に沿って移動可能に取り付ける。複数のポット３７はチェーン３４に夫々取り付ける。ポット３７は工具Ｔを保持可能である。ポット３７は例えばアーム状に形成し且つ揺動可能に取り付ける。
【００２４】
マガジンモータ５５はマガジン支持部材３２の上部に取り付ける。マガジンモータ５５の駆動軸はマガジン支持部材３２の上面に直交する。マガジンモータ５５の駆動軸は正逆何れの方向にも回転可能である。駆動ギヤ３５はマガジンモータ５５の駆動軸に取り付ける。駆動ギヤ３５はマガジンモータ５５の駆動軸と共に回転する。駆動ギヤ３５は工具マガジン３１のチェーン３４に噛合する。チェーン３４は駆動ギヤ３５の駆動によりマガジン支持部材３２の外周に沿って正逆何れかの方向に移動する。故にポット３７はチェーン３４と共にマガジン支持部材３２の外周に沿って移動する。工具マガジン３１の最下部に位置するポット３７の位置は、工具交換位置である。工具交換位置は主軸８に最も近接する位置である。ＡＴＣ３０は、工具交換位置にあるポット３７が保持する次工具を、主軸８に装着する現工具と交換する。
【００２５】
工作機械１による加工方法を説明する。工作機械１は回転加工と旋削加工が可能である。回転加工は固定したワークに回転する工具ＴＡを当てて移動する加工方法である。例えばドリル、タップ等の孔空け加工の際に用いる。回転加工は回転加工用の工具ＴＡを用いる。工具ＴＡは主軸８に装着した状態で回転可能である。旋削加工は回転するワークに工具ＴＢを当てて移動する加工方法である。例えばフェイシング加工等に用いる。旋削加工は旋削加工用の工具ＴＢを用いる。工具ＴＢは主軸８に装着した状態では回転不能となる。
【００２６】
工作機械１を用いた回転加工工程を説明する。作業者はＣ軸８２に治具を用いてワークを固定する。ＡＴＣ３０は主軸８に工具ＴＡを装着する。工具ＴＡは主軸ヘッド７に対して回転可能状態である。工作機械１は主軸モータ５４を駆動する。工具ＴＡは主軸８と共に回転する。工作機械１はＣ軸モータ５６を駆動しないので、Ｃ軸８２上の治具に固定したワークは回転しない。工作機械１はＸ軸モータ５１〜Ｚ軸モータ５３を駆動して主軸８の位置を移動し、且つ主軸８を回転させて治具に固定したワークに対して回転加工ができる。
【００２７】
工作機械１を用いた旋削加工工程を説明する。作業者はＣ軸８２の上面に治具を用いてワークを固定する。ＡＴＣ３０は主軸８に工具ＴＢを装着する。工具ＴＢは主軸ヘッド７に対して回転不能な状態である。工作機械１はＣ軸モータ５６を駆動する。Ｃ軸８２上の治具に固定したワークは回転する。工作機械１はＸ軸モータ５１〜Ｚ軸モータ５３を駆動して主軸８の位置を移動し、回転したワークに対して工具ＴＢによる旋削加工ができる。
【００２８】
工作機械１はチルトモータ５７によりＸ軸回りのワーク姿勢を調整可能である。故にワークの所望の部位を加工できる。なお工作機械１は主軸モータ５４とＣ軸モータ５６を同時に回転してワークを加工してもよい。
【００２９】
図４を参照し、工作機械１の電気的構成を説明する。工作機械１は数値制御装置２０を備える。数値制御装置２０はＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、不揮発性記憶装置２４、先読みバッファ２９、入力部２５、入出力部２６等を備える。ＣＰＵ２１は工作機械１の動作を統括制御する。ＲＯＭ２２は、先読みプログラム、実行プログラム等の各種プログラムを記憶する。先読みプログラムは後述する先読み処理（図５参照）を実行する為のプログラムである。実行プログラムは後述する実行処理（図６参照）を実行する為のプログラムである。ＲＡＭ２３は後述する状態フラグの他、各種データを記憶する。不揮発性記憶装置２４はＮＣプログラム等を記憶する。ＮＣプログラムは複数のブロックで構成したものである。各ブロックは各種ＮＣコマンドを含む。ＮＣコマンドは制御指令である。先読みバッファ２９はＮＣプログラムの解釈データを記憶する。
【００３０】
操作部３８、Ｚ軸原点センサ３９は入力部２５に接続する。操作部３８は例えば工作機械１を覆うカバー（図示略）に設ける。操作部３８は例えば作業者が工作機械１の動作について各種入力及び設定を行う機器である。Ｚ軸原点センサ３９は主軸ヘッド７のＺ軸方向の原点を検出する。駆動回路４１〜４９は入出力部２６に接続する。
【００３１】
駆動回路４１はＸ軸モータ５１を駆動する。エンコーダ５１ＡはＸ軸モータ５１と入出力部２６に接続する。エンコーダ５１ＡはＸ軸モータ５１の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４２はＹ軸モータ５２を駆動する。エンコーダ５２ＡはＹ軸モータ５２と入出力部２６に接続する。エンコーダ５２ＡはＹ軸モータ５２の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４３はＺ軸モータ５３を駆動する。エンコーダ５３ＡはＺ軸モータ５３と入出力部２６に接続する。エンコーダ５３ＡはＺ軸モータ５３の回転量を検出し該検出信号を入出力部２６に入力する。
【００３２】
駆動回路４４は主軸モータ５４を駆動する。エンコーダ５４Ａは主軸モータ５４と入出力部２６に接続する。エンコーダ５４Ａは主軸モータ５４の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４５はマガジンモータ５５を駆動する。エンコーダ５５Ａはマガジンモータ５５と入出力部２６に接続する。エンコーダ５５Ａはマガジンモータ５５の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４６はＣ軸モータ５６を駆動する。エンコーダ５６ＡはＣ軸モータ５６と入出力部２６に接続する。エンコーダ５６ＡはＣ軸モータ５６の回転量を検出し該検出信号を入出力部２６に入力する。
【００３３】
駆動回路４７はチルトモータ５７を駆動する。エンコーダ５７Ａはチルトモータ５７と入出力部２６に接続する。エンコーダ５７Ａはチルトモータ５７の回転量を検出し該検出信号を入出力部２６に入力する。駆動回路４８はクランプ装置５８を駆動する。クランプ装置５８は治具固定テーブル８１の裏面側に設ける。クランプ装置５８は治具の回転軸を固定保持する。駆動回路４９は表示部１１を駆動する。表示部１１は例えばスプラッシュカバー（図示略）に設ける。表示部１１は工作機械１の設定画面、操作画面等の各種画面を表示する。
【００３４】
Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、主軸モータ５４、マガジンモータ５５、Ｃ軸モータ５６、チルトモータ５７は例えばサーボモータである。
【００３５】
図５〜図８を参照し、ＣＰＵ２１の制御処理を説明する。制御処理はＮＣプログラムを１ブロック毎に解釈し、解釈結果に基づき、工作機械１の各サーボモータ等の駆動制御を行う。制御処理は先読み処理と実行処理で構成する。ＣＰＵ２１は先読み処理と実行処理を非同期で夫々実行する。
【００３６】
［実施例１］
実施例１は、図７に示すＮＣプログラムＰ１を実行する場合を想定する。
【００３７】
表示部１１は例えばＮＣプログラムＰ１を表示する。Ｎ０１の制御ブロックはＭ０３Ｓ５０００である。Ｍ０３はＣ軸８２を回転するＣ軸回転指令である。Ｓ５０００は５０００ｒｐｍで回転する速度指令である。故にＮ０１の制御ブロックは、Ｃ軸８２を５０００ｒｐｍで回転する指令である。Ｎ０２の制御ブロックはＭ０５である。Ｍ０５はＣ軸停止指令である。Ｎ０３の制御ブロックはＧ９０Ｇ００Ｃ１００である。Ｇ９０は移動座標系を絶対座標とする絶対座標系指令、Ｇ００は位置決め指令、Ｃ１００はＣ軸８２の位置（１００°）である。故にＮ０３の制御ブロックは、Ｃ軸８２を１００°の位置で位置決めする指令である。Ｍ３０はプログラム終了指令である。Ｎ０１は速度制御ブロックに相当し、Ｎ０２は停止ブロックに相当し、Ｎ０３は位置制御ブロックに相当する。
【００３８】
図５を参照し、先読み処理を説明する。ＣＰＵ２１は、作業者が操作部３８にてＮＣプログラムＰ１を選択し実行を入力した場合、ＲＯＭ２２に記憶した先読みプログラムを読み出して本処理を実行する。
【００３９】
先ずＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝２を記憶し（Ｓ１）、Ｃ軸８２の位置が確定状態であることを記憶する。第一状態フラグは先読み処理で用いるＣ軸８２の状態フラグである。初期状態ではＣ軸８２は停止しているので、Ｃ軸８２の位置は認識可能である。ＣＰＵ２１は、先読みバッファ２９（図４参照）に空き領域が有るか否か判断する（Ｓ２）。先読みバッファ２９に空き領域が無い場合（Ｓ２：ＮＯ）、ＣＰＵ２１はＳ１に戻って待機状態となる。先読みバッファ２９に空き領域が有る場合（Ｓ２：ＹＥＳ）、ＣＰＵ２１はＮＣプログラムＰ１を不揮発性記憶装置２４から読み出し、１ブロック解釈する（Ｓ３）。ＣＰＵ２１は解釈したブロックがＭ３０か否か判断する（Ｓ４）。
【００４０】
解釈したブロックがＭ３０でなかった場合（Ｓ４：ＮＯ）、ＣＰＵ２１は解釈したブロックの制御指令がＣ軸回転指令か否か判断する（Ｓ５）。Ｎ０１の制御指令はＭ０３Ｓ５０００であり、Ｃ軸回転指令であるので（Ｓ５：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝０を記憶し（Ｓ８）、Ｃ軸８２が回転状態であることを記憶する。
【００４１】
ＣＰＵ２１は速度演算処理を行う（Ｓ１２）。速度演算処理は、例えば回転制御又は位置制御が複数のブロックで連続するような場合、該複数のブロックを通じて最適な回転動作を実行する為に、加速度、速度、終了速度等について、各ブロック毎に演算し直す処理である。速度演算処理は、例えば、第一処理、第二処理、第三処理を備える。第一処理は、先読みした複数のブロックの各終了点における速度を所定条件を元に演算する。第二処理は、各ブロック終了速度が加速度条件を満足するように演算しなおす。第三処理は、指定した加速度、速度、終了速度の条件を満足する補間演算を行う。
【００４２】
ＣＰＵ２１は演算が完了したか否か判断する（Ｓ１３）。演算が完了していない場合（Ｓ１３：ＮＯ）、Ｓ３に戻って次ブロックを解釈する。解釈したブロックがＣ軸回転指令であった場合（Ｓ５：ＹＥＳ）、第一状態フラグは０のままで（Ｓ８）、既に先読みした複数のブロックと合わせて速度演算処理を再度実行する（Ｓ１２）。演算対象であるブロックの演算が全て完了した場合（Ｓ１３：ＹＥＳ）、ＣＰＵ２１は解釈データを先読みバッファ２９に記憶し（Ｓ１４）、Ｓ２に戻って、処理を繰り返す。解釈データは制御指令のデータに加え、速度演算処理の演算結果のデータ等を含む。
【００４３】
解釈したブロックの制御指令がＣ軸回転指令でなかった場合（Ｓ５：ＮＯ）、ＣＰＵ２１は第一状態フラグが０で且つ解釈したブロックの制御指令がＣ軸停止指令か否か判断する（Ｓ６）。Ｎ０２の制御指令はＭ０５でありＣ軸停止指令である。さらに第一状態フラグが０である場合（Ｓ６：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝１を記憶し（Ｓ９）、Ｃ軸８２が不定状態であることを記憶する。不定状態とは、Ｃ軸８２の位置を確定できない状態をいう。ＣＰＵ２１は速度演算処理を実行する（Ｓ１２）。Ｃ軸８２は回転状態から停止するので、演算は完了する（Ｓ１３：ＹＥＳ）。ＣＰＵ２１は解釈データを先読みバッファ２９に記憶し（Ｓ１４）、Ｓ２に戻って処理を繰り返す。
【００４４】
第一状態フラグが０ではなく、又は解釈したブロックの制御指令がＣ軸停止指令でなかった場合（Ｓ６：ＮＯ）、ＣＰＵ２１は第一状態フラグが１で且つ解釈したブロックの制御指令がＣ軸位置決め指令か否か判断する（Ｓ７）。Ｎ０３の制御指令はＧ９０Ｇ００Ｃ１００でありＣ軸位置決め指令である。さらに第一状態フラグが１である場合（Ｓ７：ＹＥＳ）、Ｃ軸８２は不定状態である。Ｃ軸８２の移動量は決定できない。そこでＣＰＵ２１は０°からの移動量でＣ軸８２の位置を仮決めする（Ｓ１０）。０°は予め設定した基準位置である。基準位置は自由に設定可能である。故にＣＰＵ２１はＮＣプログラムＰ１の先読みを停止することなく継続できる。
【００４５】
ＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝２を記憶し（Ｓ１１）、Ｃ軸８２の位置が確定状態であることを記憶する。ＣＰＵ２１は速度演算処理を行う（Ｓ１２）。先読みした複数のブロックと合わせて演算を完了した場合（Ｓ１３：ＹＥＳ）、ＣＰＵ２１は解釈データを先読みバッファ２９に記憶し（Ｓ１４）、Ｓ２に戻って処理を繰り返す。
【００４６】
解釈したブロックがＳ４，Ｓ５，Ｓ６，Ｓ７の判断条件の何れにも該当しなかった場合（Ｓ７：ＮＯ）、ＣＰＵ２１は解釈したブロックの制御指令について、速度演算処理を実行する（Ｓ１２）。演算が完了した場合（Ｓ１３：ＹＥＳ）、ＣＰＵ２１は解釈データを先読みバッファ２９に記憶し（Ｓ１４）、Ｓ２に戻って処理を繰り返す。ＣＰＵ２１は解釈したブロックがＭ３０であった場合（Ｓ４：ＹＥＳ）、ＣＰＵ２１は本処理を終了する。
【００４７】
図６を参照し、実行処理を説明する。ＣＰＵ２１は、作業者が操作部３８にてＮＣプログラムＰ１を選択し実行を入力した場合、ＲＯＭ２２に記憶した実行プログラムを読み出して本処理を実行する。
【００４８】
先ずＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝２を記憶し（Ｓ２１）、Ｃ軸８２の位置が確定状態であることを記憶する。第二状態フラグは実行処理で用いるＣ軸８２の状態フラグである。初期状態ではＣ軸８２は停止しているので、Ｃ軸８２の位置は認識可能である。ＣＰＵ２１は先読みバッファ２９に解釈データが有るか否か判断する（Ｓ２２）。先読みバッファ２９に解釈データが無い場合（Ｓ２２：ＮＯ）、ＣＰＵ２１はＳ２２に戻って待機状態となる。先読みバッファ２９に解釈データが有る場合（Ｓ２２：ＹＥＳ）、ＣＰＵ２１は解釈データを先読みバッファ２９から取得する（Ｓ２３）。ＣＰＵ２１は解釈データがＭ３０か否か判断する（Ｓ２４）。
【００４９】
解釈データがＭ３０でなかった場合（Ｓ２４：ＮＯ）、ＣＰＵ２１は解釈データがＣ軸回転指令か否か判断する（Ｓ２５）。Ｃ軸回転指令であった場合（Ｓ２５：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝０を記憶し（Ｓ２８）、解釈データに基づき、動作を実行する（Ｓ３４）。Ｎ０１の制御ブロックの解釈データは、Ｃ軸８２を５０００ｒｐｍで回転する速度指令である。ＣＰＵ２１は駆動回路４６（図４参照）に制御信号を出力する。Ｃ軸モータ５６は５０００ｒｐｍで回転する。ＣＰＵ２１は動作が完了したか否か判断する（Ｓ３５）。動作が完了するまでは（Ｓ３５：ＮＯ）、ＣＰＵ２１はＳ３５に戻り、待機状態となる。動作が完了した場合（Ｓ３５：ＹＥＳ）、Ｓ２２に戻り、処理を繰り返す。
【００５０】
解釈データがＣ軸回転指令でなかった場合（Ｓ２５：ＮＯ）、ＣＰＵ２１は第二状態フラグが０で且つ解釈データがＣ軸停止指令か否か判断する（Ｓ２６）。Ｎ０２の制御指令はＭ０５でありＣ軸停止指令であるので、解釈データはＣ軸停止指令である。さらに第二状態フラグが０である場合（Ｓ２６：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝１を記憶し（Ｓ２９）、Ｃ軸８２が不定状態であることを記憶する。
【００５１】
ＣＰＵ２１は解釈データに基づき、動作を実行する（Ｓ３４）。Ｎ０２の制御ブロックの解釈データはＣ軸８２を停止する指令である。ＣＰＵ２１は駆動回路４６に制御信号を出力する。Ｃ軸モータ５６は停止する。ＣＰＵ２１は動作が完了したか否か判断する（Ｓ３５）。動作が完了した場合（Ｓ３５：ＹＥＳ）、Ｓ２２に戻り、処理を繰り返す。
【００５２】
第二状態フラグが０ではなく、又は解釈データがＣ軸停止指令でなかった場合（Ｓ２６：ＮＯ）、ＣＰＵ２１は第二状態フラグが１で且つ解釈データがＣ軸位置決め指令か否か判断する（Ｓ２７）。Ｎ０３の制御指令はＧ９０Ｇ００Ｃ１００であり、Ｃ軸位置決め指令である。上述の図５に示す先読み処理のＳ１０において、Ｃ軸８２の移動量は仮決めしている。解釈データはＣ軸８２を１００°の位置に位置決めする位置決め指令である。さらに第二状態フラグが１である場合（Ｓ２７：ＹＥＳ）、Ｃ軸８２は不定状態である。
【００５３】
ＣＰＵ２１はＣ軸８２の現在位置を検出する（Ｓ３０）。ＣＰＵ２１はＣ軸移動量を算出する（Ｓ３１）。Ｃ軸８２の現在位置が２０°であった場合、Ｃ軸移動量は仮決めした１００°から２０°を差し引いた８０°となる。ＣＰＵ２１は近回り処理を実行する（Ｓ３２）。近回り処理は、現在位置（２０°）から目的位置（８０°）までのＣ軸８２の移動量が小さい方の回転方向（正転か反転の何れか）を判別する処理である。故にＣ軸８２は少ない移動量で目的位置に速やかに移動できる。ＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝２を記憶し（Ｓ３３）、Ｃ軸８２の位置が確定状態であることを記憶する。
【００５４】
ＣＰＵ２１は解釈データに基づき、動作を実行する（Ｓ３４）。ＣＰＵ２１はＣ軸モータ５６を駆動しＣ軸８２を現在位置から近回り処理で判別した回転方向に８０°回転して１００°の位置に位置決めする。ＣＰＵ２１は動作が完了し場合（Ｓ３５：ＹＥＳ）、Ｓ２２に戻り、処理を繰り返す。
【００５５】
解釈したブロックがＳ２４，Ｓ２５，Ｓ２６，Ｓ２７の判断条件の何れにも該当しなかった場合（Ｓ２７：ＮＯ）、ＣＰＵ２１は解釈データに基づき動作を実行する（Ｓ３４）。ＣＰＵ２１は動作が完了した場合（Ｓ３５：ＹＥＳ）、Ｓ２２に戻り、処理を繰り返す。ＣＰＵ２１は解釈したブロックがＭ３０であった場合（Ｓ２４：ＹＥＳ）、ＣＰＵ２１は本処理を終了する。
［実施例２］
実施例２は、図８に示すＮＣプログラムＰ２を実行する場合を想定する。
【００５６】
表示部１１は例えばＮＣプログラムＰ２を表示する。Ｎ０１の制御ブロックはＭ１４２である。Ｍ１４２はＣ軸モード選択指令である。Ｃ軸モードはＣ軸８２を回転制御するモードである。Ｎ０２の制御ブロックはＭ０３Ｓ５０００である。故にＮ０２の制御ブロックは、Ｃ軸８２を５０００ｒｐｍで回転する指令である。Ｎ０３の制御ブロックはＭ１４１である。Ｍ１４１は主軸モード選択指令である。主軸モードは主軸８を回転制御するモードである。Ｎ０４の制御ブロックはＭ０３Ｓ１００００である。Ｎ０４の制御ブロックは、主軸８を１００００ｒｐｍで正転する指令である。Ｎ０５の制御ブロックはＧ９０Ｇ００Ｃ１００である。故にＮ０５の制御ブロックは、Ｃ軸８２を１００°の位置で位置決めする指令である。Ｍ３０はプログラム終了指令である。Ｎ０２は第二主軸速度制御ブロックに相当し、Ｎ０３は回転軸変更ブロックに相当し、Ｎ０４は第一主軸速度制御ブロックに相当し、Ｎ０５は第二主軸制御ブロックに相当する。
【００５７】
なお、ＮＣプログラムＰ２は、Ｃ軸８２の回転制御から主軸８の回転制御に切り替え、Ｃ軸８２の位置決めを行うものであるが、回転軸を切り替える際にＣ軸８２を一旦停止する。故にＮ０３のＭ１４１は、主軸モード選択指令であると同時に、回転中であるＣ軸８２を停止するＣ軸停止指令でもある。ＮＣプログラムＰ２は旋削加工のプログラムである。
【００５８】
実施例２においても、ＣＰＵ２１は上記同様に、ＮＣプログラムＰ２について、先読み処理（図５参照）と実行処理（図６参照）を非同期で夫々実行する。故に実施例２では、実施例１と共通する部分については説明を省略し、ＮＣプログラムＰ２のＮ０２〜Ｎ０５ブロックまでの処理を中心に説明する。
【００５９】
図５に示す先読み処理を説明する。ＣＰＵ２１は、Ｎ０２のブロックを解釈した場合、制御指令はＣ軸回転指令であるので（Ｓ５：ＹＥＳ）、ＲＡＭ２３に第一状態フラグ＝０を記憶し（Ｓ８）、Ｃ軸８２が回転状態であることを記憶する。ＣＰＵ２１はＳ１２〜Ｓ１４を上記同様に実行する。次いで、Ｎ０３のブロックを解釈した場合、第一状態フラグは０であり且つ制御指令は主軸モードに変更すると同時にＣ軸８２を停止する指令であるので（Ｓ６：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝１を記憶し（Ｓ９）、Ｃ軸８２が不定状態であることを記憶する。ＣＰＵ２１はＳ１２〜Ｓ１４を上記同様に実行する。次いで、Ｎ０４のブロックを解釈した場合、制御指令は主軸回転指令であるので（Ｓ４：ＮＯ、Ｓ５：ＮＯ、Ｓ６：ＮＯ、Ｓ７：ＮＯ）、ＣＰＵ２１はＳ１２〜Ｓ１４を上記同様に実行する。
【００６０】
次いで、Ｎ０５のブロックを解釈した場合、第一状態フラグは１であり且つ制御指令はＣ軸位置決め指令である（Ｓ７：ＹＥＳ）。Ｃ軸８２は不定状態であるので、Ｃ軸８２の移動量を決定できない。そこでＣＰＵ２１は、実施例１と同様に、０°からの移動量でＣ軸８２の位置を仮決めする（Ｓ１０）。０°は予め設定した基準位置である。故に実施例１と同様に、ＣＰＵ２１はＮＣプログラムＰ２の先読みを停止することなく継続できる。ＣＰＵ２１はＲＡＭ２３に第一状態フラグ＝２を記憶し（Ｓ１１）、Ｃ軸８２の位置が確定状態であることを記憶する。ＣＰＵ２１はＳ１２〜Ｓ１４を上記同様に実行する。ＣＰＵ２１は、解釈したブロックがＭ３０であった場合（Ｓ４：ＹＥＳ）、ＣＰＵ２１は本処理を終了する。
【００６１】
図６に示す実行処理を説明する。ＣＰＵ２１は、Ｎ０２のブロックの解釈データを取得した場合、制御指令はＣ軸回転指令であるので（Ｓ２５：ＹＥＳ）、ＲＡＭ２３に第二状態フラグ＝０を記憶し（Ｓ２８）、解釈データに基づき、動作を実行する（Ｓ３４）。動作が完了した場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２１は、Ｓ２２に戻り、処理を繰り返す。次いで、Ｎ０３のブロックの解釈データを取得した場合、第二状態フラグは０であり且つ制御指令は主軸モードに変更すると同時にＣ軸８２を停止する指令であるので（Ｓ２６：ＹＥＳ）、ＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝１を記憶し（Ｓ２９）、Ｃ軸８２が不定状態であることを記憶する。ＣＰＵ２１は解釈データに基づき、動作を実行する（Ｓ３４）。Ｃ軸モータ５６は停止する。動作が完了した場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２１はＳ２２に戻り、処理を繰り返す。
【００６２】
次いで、Ｎ０４のブロックの解釈データを取得した場合、制御指令は主軸回転指令であるので（Ｓ２４：ＮＯ、Ｓ２５：ＮＯ、Ｓ２６：ＮＯ、Ｓ２７：ＮＯ）、ＣＰＵ２１は解釈データに基づき、動作を実行する（Ｓ３４）。主軸８は１００００ｒｐｍで回転する。動作が完了した場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２１は、Ｓ２２に戻り、処理を繰り返す。
【００６３】
次いで、Ｎ０５のブロックの解釈データを取得した場合、第一状態フラグは１であり且つ制御指令はＣ軸位置決め指令であるので（Ｓ２７：ＹＥＳ）、Ｃ軸８２は不定状態である。ＣＰＵ２１は現在のＣ軸８２の位置を検出する（Ｓ３０）。そこで、ＣＰＵ２１は実施例１と同様にＣ軸移動量を算出する（Ｓ３１）。ＣＰＵ２１は近回り処理を実行する（Ｓ３２）。ＣＰＵ２１はＲＡＭ２３に第二状態フラグ＝２を記憶し（Ｓ３３）、Ｃ軸８２の位置が確定状態であることを記憶する。ＣＰＵ２１は解釈データに基づき、動作を実行する（Ｓ３４）。Ｃ軸８２は１００°の位置に移動して位置決めする。動作が完了した場合（Ｓ３５：ＹＥＳ）、ＣＰＵ２１は、Ｓ２２に戻り、処理を繰り返す。ＣＰＵ２１は、解釈したブロックがＭ３０であった場合（Ｓ２４：ＹＥＳ）、ＣＰＵ２１は本処理を終了する。
【００６４】
以上説明において、図５の先読み処理を実行するＣＰＵ２１が本発明の先読み手段に相当し、図４に示す先読みバッファ２９が本発明の記憶手段に相当し、図６の実行処理を実行するＣＰＵ２１が本発明の実行手段に相当し、図５のＳ１０の処理を実行するＣＰＵ２１が本発明の第一仮決め手段に相当し、図６のＳ３０の処理を実行するＣＰＵ２１が本発明の位置検出手段に相当し、Ｓ３１の処理を実行するＣＰＵ２１が本発明の第一演算手段に相当し、Ｓ３４の処理を実行するＣＰＵ２１が本発明の第一位置決め実行手段に相当する。
【００６５】
以上説明したように、本実施形態の数値制御装置２０は、工作機械１の主軸８とＣ軸８２の速度制御と位置制御をＮＣプログラムに従って制御するものである。数値制御装置１のＣＰＵ２１は先読み処理と実行処理を非同期で夫々実行する。先読み処理は、ＮＣプログラムのブロック毎に指定された制御指令を順次先読みして解釈し、先読みした解釈データを先読みバッファ２９に記憶する処理である。実行処理は、先読みバッファ２９に記憶した解釈データを順次読み出して実行する処理である。
【００６６】
先読み処理において、ＣＰＵ２１は、Ｃ軸回転指令を含む速度制御ブロックの次に、Ｃ軸停止指令を含む停止ブロックを先読みした後で、Ｃ軸位置決め指令を含む位置制御ブロックを先読みして解釈する場合、Ｃ軸８２の移動量を指示するＣ軸移動量を、予め設定したＣ軸８２の基準位置からの移動量で仮決めする。実行処理では、ＣＰＵ２１は先読みバッファ２９から位置制御ブロックの解釈データを読み出した場合、先読み処理で仮決めしたＣ軸移動量から、現在のＣ軸８２の位置を差し引いた差分を演算する。ＣＰＵ２１は演算した差分に基づき、Ｃ軸８２の位置決めを行う。故に数値制御装置２０はＮＣプログラムの先読みを中止することなく、工作機械１のＣ軸８２を制御できる。故に数値制御装置２０は加工時間を短縮できる。
【００６７】
なお、先読み処理において、ＣＰＵ２１は、Ｃ軸回転指令を含む速度制御ブロックの次に、Ｃ軸８２の回転制御から主軸８の回転制御に変更し且つＣ軸８２の停止を指示する回転軸変更ブロックを先読みし、さらに主軸回転指令を含む速度制御ブロックを先読みした後で、Ｃ軸位置決め指令を含む制御ブロックを先読みして解釈する場合も同様である。
【００６８】
なお本発明は上記第一、第二実施形態に限定されず、様々な変形が可能である。上記実施形態は、Ｃ軸８２を本発明の第二主軸、主軸８を第一主軸としているが、逆であってもよい。上記実施形態は、主軸８を回転制御から位置制御に切り替える際に一旦停止する場合においても適用可能である。
【００６９】
また上記実施形態では、図５のＳ１０において基準位置を０°としたが、これ以外の値であってもよい。
【００７０】
また上記実施形態において、工作機械１はＡＴＣ３０を備えたものであるが、ＡＴＣ３０を備えていない工作機械にも適用可能である。
【００７１】
また上記実施形態の工作機械１は、コラム５がＸ軸とＹ軸方向に移動可能なものであるが、これに限定しない。
【符号の説明】
【００７２】
１  工作機械
７  主軸ヘッド
８  主軸
２０  数値制御装置
２１  ＣＰＵ
【図１】
2014048761.tif 000003
【図２】
2014048761.tif 000004
【図３】
2014048761.tif 000005
【図４】
2014048761.tif 000006
【図５】
2014048761.tif 000007
【図６】
2014048761.tif 000008
【図７】
2014048761.tif 000009
【図８】
2014048761.tif 000010