(57)【要約】【課題】固定サイクルの作業時間を延ばさずに、工具に巻き付いた切粉を飛ばすことができる数値制御装置と数値制御装置の制御方法を提供する。【解決手段】数値制御装置のＣＰＵは主軸を一方向に回転しながら主軸ヘッドを下降し、工具４Ａをワークに接触させることで、ワークにドリル加工を施す。ＣＰＵはワークに形成した穴底位置であるＺ点から復帰点に向けて主軸ヘッドを上昇する。ＣＰＵは主軸ヘッドがＺ点から復帰点に到達するまでの間に切粉除去動作を開始する。切粉除去動作は主軸を逆回転する動作である。故に数値制御装置は切粉除去動作にかかる時間の全部又は一部を、主軸ヘッドが復帰点に到達するまでの時間で吸収できるので、ドリルサイクルに要する作業時間を短縮できる。【選択図】図３
2015187799.tif 000002
【特許請求の範囲】
【請求項１】
ワークを支持する作業台に向かう一方向と反対方向に往復移動可能に設けた工作機械の主軸ヘッドの移動と、前記主軸ヘッドに回転可能に支持し且つ工具を装着する主軸の回転を制御する制御手段を備えた数値制御装置において、
前記制御手段は、
前記主軸を所定方向に回転しながら前記主軸ヘッドを前記一方向に移動し、前記ワークに前記工具を接触させて穴あけを行う穴あけ手段と、
前記穴あけ手段による前記穴あけ後の位置から前記ワークから離間する復帰点に向けて前記主軸ヘッドを前記反対方向に移動する移動手段と、
前記移動手段により、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向に移動し前記復帰点に到達するまでの間に、前記主軸を前記所定方向とは逆方向に回転する逆回転動作を開始する逆回転手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
前記移動手段により、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向へ移動し前記復帰点に到達するまでの間において、前記逆回転手段による前記逆回転動作の開始位置を指定する開始位置指定手段を更に備え、
前記逆回転手段は、前記開始位置指定手段が指定する前記開始位置で前記逆回転動作を開始することを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記穴あけ手段による前記穴あけを連続して実行する連続実行手段と、
前記連続実行手段により、前記穴あけ手段による前記穴あけを連続して実行する場合に、前記逆回転手段による前記逆回転動作を実行する頻度を指定する頻度指定手段と
を更に備え、
前記逆回転手段は、前記頻度指定手段が指定する前記頻度に基づき、前記逆回転動作を実行することを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記逆回転動作中の前記主軸の回転数は、少なくとも前記穴あけ手段が前記穴あけを実行する際の前記主軸の回転数以下であることを特徴とする請求項１から３の何れか一つに記載の数値制御装置。
【請求項５】
ワークを支持する作業台に向かう一方向と反対方向に往復移動可能に設けた工作機械の主軸ヘッドの移動と、前記主軸ヘッドに回転可能に支持し且つ工具を装着する主軸の回転を制御する数値制御装置の制御方法において、
前記主軸を所定方向に回転しながら前記主軸ヘッドを前記所定方向に移動し、前記ワークに前記工具を接触させて穴あけを行う穴あけ工程と、
前記穴あけ工程による前記穴あけ後の位置から前記ワークから離間する復帰点に向けて前記主軸ヘッドを前記反対方向に移動する移動工程と、
前記移動工程において、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向に移動し前記復帰点に到達するまでの間に、前記主軸を前記所定方向とは逆方向に回転する逆回転動作を開始する逆回転工程と
を備えたことを特徴とする数値制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と数値制御装置の制御方法に関する。
【背景技術】
【０００２】
数値制御装置は、ＮＣプログラムにてドリルサイクル又はタップサイクルによる穴あけを行う。穴あけ時、ワークから切粉が発生する。発生した切粉はドリルに巻き付く。数値制御装置は、ドリルに切粉が巻き付いた状態で加工を継続すると、ワーク不良又は工具破損に繋がる虞がある。特許文献１が開示する切粉除去装置は、加工完了後、主軸ユニットが上昇して初期位置に戻った後、カッター（工具）に巻き付いた切粉を飛ばす為に、カッターを逆回転する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】実開平４−５３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の切粉除去装置では、カッターに巻き付いた切粉を飛ばすことができても、カッターを逆回転する時間が増えてしまうので、作業時間が延びてしまうという問題点があった。
【０００５】
本発明の目的は、固定サイクルの作業時間を延ばさずに、工具に巻き付いた切粉を飛ばすことができる数値制御装置と数値制御装置の制御方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る数値制御装置は、ワークを支持する作業台に向かう一方向と反対方向に往復移動可能に設けた工作機械の主軸ヘッドの移動と、前記主軸ヘッドに回転可能に支持し且つ工具を装着する主軸の回転を制御する制御手段を備えた数値制御装置において、前記制御手段は、前記主軸を所定方向に回転しながら前記主軸ヘッドを前記一方向に移動し、前記ワークに前記工具を接触させて穴あけを行う穴あけ手段と、前記穴あけ手段による前記穴あけ後の位置から前記ワークから離間する復帰点に向けて前記主軸ヘッドを前記反対方向に移動する移動手段と、前記移動手段により、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向に移動し前記復帰点に到達するまでの間に、前記主軸を前記所定方向とは逆方向に回転する逆回転動作を開始する逆回転手段とを備えたことを特徴とする。数値制御装置は、穴あけ終了後、主軸の逆回転動作を実行するので、工具に巻きついた切粉を飛ばすことができる。逆回転動作は、穴あけ終了後、主軸ヘッドが穴あけ後の位置から反対方向に移動し復帰点に到達するまでの間に開始する。故に数値制御装置は、逆回転動作にかかる時間の全部又は一部を、主軸ヘッドが復帰点に到達するまでの時間で吸収できるので、固定サイクルに要する作業時間を短縮できる。
【０００７】
請求項２に係る数値制御装置は、請求項１に記載の発明の構成に加え、前記移動手段により、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向へ移動し前記復帰点に到達するまでの間において、前記逆回転手段による前記逆回転動作の開始位置を指定する開始位置指定手段を更に備え、前記逆回転手段は、前記開始位置指定手段が指定する前記開始位置で前記逆回転動作を開始することを特徴とする。数値制御装置は、例えば、主軸ヘッドが反対方向へ移動時に、工具がワークから抜ける直後の位置を開始位置に指定できる。故に、数値制御装置は逆回転動作を速やかに開始できるので作業時間を短縮できる。
【０００８】
請求項３に係る数値制御装置は、請求項１又は２に記載の発明の構成に加え、前記穴あけ手段による前記穴あけを連続して実行する連続実行手段と、前記連続実行手段により、前記穴あけ手段による前記穴あけを連続して実行する場合に、前記逆回転手段による前記逆回転動作を実行する頻度を指定する頻度指定手段とを更に備え、前記逆回転手段は、前記頻度指定手段が指定する前記頻度に基づき、前記逆回転動作を実行することを特徴とする。数値制御装置は連続して穴あけを行う場合においても作業時間を短縮できる。数値制御装置は逆回転動作の頻度を指定できるので、毎回逆回転動作を行う場合と比較して、逆回転動作にかかる消費電力を節約できる。
【０００９】
請求項４に係る数値制御装置は、請求項１から３の何れか一つに記載の発明の構成に加え、前記逆回転動作中の前記主軸の回転数は、少なくとも前記穴あけ手段が前記穴あけを実行する際の前記主軸の回転数以下であることを特徴とする。逆回転動作中の主軸の回転数は、少なくとも穴あけを実行する際の主軸の回転数以下である。故に数値制御装置は次の穴あけ加工を行う為に主軸の回転方向を速やかに元に戻すことができる。連続した穴あけにかかる作業時間は短縮する。
【００１０】
本発明の請求項５に係る数値制御装置の制御方法は、ワークを支持する作業台に向かう一方向と反対方向に往復移動可能に設けた工作機械の主軸ヘッドの移動と、前記主軸ヘッドに回転可能に支持し且つ工具を装着する主軸の回転を制御する数値制御装置の制御方法において、前記主軸を所定方向に回転しながら前記主軸ヘッドを前記所定方向に移動し、前記ワークに前記工具を接触させて穴あけを行う穴あけ工程と、前記穴あけ工程による前記穴あけ後の位置から前記ワークから離間する復帰点に向けて前記主軸ヘッドを前記反対方向に移動する移動工程と、前記移動工程において、前記主軸ヘッドが前記穴あけ後の位置から前記反対方向に移動し前記復帰点に到達するまでの間に、前記主軸を前記所定方向とは逆方向に回転する逆回転動作を開始する逆回転工程とを備えたことを特徴とする。数値制御装置は上記移動経路修正方法を行うことにより、請求項１と同様の効果を得ることができる。
【図面の簡単な説明】
【００１１】
【図１】工作機械１の斜視図。
【図２】工作機械１と数値制御装置３０の電気的構成を示すブロック図。
【図３】ドリルサイクルの工程を示す図。
【図４】タップサイクルの工程を示す図。
【図５】固定サイクル制御処理の流れ図。
【図６】図５の続きを示す流れ図。
【図７】図６の続きを示す流れ図。
【発明を実施するための形態】
【００１２】
本発明の実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す上下、左右、前後を使用する。工作機械１の左右方向、前後方向、上下方向は、夫々、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。図１に示す工作機械１は主軸９に装着した工具４を高速回転し、作業台１０上に保持したワーク３に切削加工を施す機械である。数値制御装置３０（図２参照）は工作機械１の動作を制御する。
【００１３】
図１を参照し、工作機械１の構造を説明する。工作機械１は、基台２、コラム５、主軸ヘッド７、主軸９、作業台１０、工具交換装置２０、制御箱６、操作パネル（図示略）等を備える。基台２は金属製の略直方体状の土台である。コラム５は基台２上部後方に立設する角柱である。主軸ヘッド７はコラム５前面に沿ってＺ軸方向に移動可能に設ける。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は主軸ヘッド７下部に装着穴（図示略）を有する。主軸９は該装着穴に工具４を装着し、主軸モータ５２（図２参照）の駆動で回転する。主軸モータ５２は主軸ヘッド７に設ける。
【００１４】
主軸ヘッド７はコラム５前面に設けたＺ軸移動機構によりＺ軸方向に移動する。Ｚ軸移動機構は一対のＺ軸リニアガイド（図示略）、Ｚ軸ボール螺子（図示略）、Ｚ軸モータ５１（図２参照）を備える。Ｚ軸リニアガイドはＺ軸方向に延出し且つ主軸ヘッド７をＺ軸方向に案内する。Ｚ軸ボール螺子は一対のＺ軸リニアガイドの間に配置し、上側軸受部（図示略）と下側軸受部（図示略）によって回転可能に設ける。主軸ヘッド７は背面にナット（図示略）を備える。ナットはＺ軸ボール螺子に螺合する。Ｚ軸モータ５１はＺ軸ボール螺子を正逆方向に回転する。故に主軸ヘッド７はナットと共にＺ軸方向に移動する。数値制御装置３０はＺ軸モータ５１の駆動を制御することで、主軸ヘッド７をＺ軸方向に移動可能に制御する。
【００１５】
作業台１０は基台２上部中央に設け、Ｘ軸モータ５３（図２参照）、Ｙ軸モータ５４（図２参照）、ガイド機構（図示略）等により、Ｘ軸方向とＹ軸方向に移動可能である。数値制御装置３０はＸ軸モータ５３とＹ軸モータ５４の夫々の駆動を制御することで、作業台１０をＸ軸方向とＹ軸方向に移動可能に制御する。
【００１６】
工具交換装置２０は主軸ヘッド７の前側に設ける。工具交換装置２０は円盤型の工具マガジン２１を備える。工具マガジン２１は外周に複数の工具（図示略）を放射状に保持し、工具交換指令が指示する工具を工具交換位置に割り出す。工具交換指令はＮＣプログラムで指令する。工具交換位置は工具マガジン２１の最下部位置である。工具交換装置２０は主軸９に装着する工具４と工具交換位置にある工具とを入れ替え交換する。
【００１７】
制御箱６は数値制御装置３０を格納する。数値制御装置３０は、Ｚ軸モータ５１、Ｘ軸モータ５３、Ｙ軸モータ５４を夫々制御し、作業台１０上に保持したワーク３と主軸９に装着した工具４とを相対移動することで各種加工をワーク３に施す。各種加工は、ドリル加工とタップ加工を含む穴あけ加工、フライス等の側面加工等である。
【００１８】
図２を参照し、数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、不揮発性記憶装置３４、入出力部３５、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を統括制御する。ＲＯＭ３２は、メインプログラム、固定サイクル制御プログラム等を含む各種プログラムを記憶する。メインプログラムは、メイン処理を実行する。メイン処理は、ＮＣプログラムを１ブロックずつ読み込んで各種動作を実行する。固定サイクルプログラムは、後述する固定サイクル制御処理（図５〜図７参照）を実行する。
【００１９】
ＲＡＭ３３は各種処理実行中のデータを一時的に記憶する。不揮発性記憶装置３４はＮＣプログラム、各種パラメータ等を記憶する。ＮＣプログラムは各種制御指令を含む複数のブロックで構成し、工作機械１の軸移動、工具交換等を含む各種動作をブロック単位で制御する。ＣＰＵ３１は作業者が入力部２４で入力設定したＮＣプログラムを不揮発性記憶装置３４に記憶する。
【００２０】
駆動回路５１ＡはＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３ＡはＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４ＡはＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａは工具マガジン２１を駆動するマガジンモータ５５とエンコーダ５５Ｂに接続する。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５、工具交換装置５６を駆動するモータに駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからフィードバック信号を受け、位置と速度のフィードバック制御を行う。入出力部３５は入力部２４と表示部２５に夫々接続する。
【００２１】
図３を参照し、切粉除去動作を有するドリルサイクルの工程について説明する。ドリルサイクルの切粉除去動作は、主軸９を現在のＭ０３（又はＭ０４）モーダルとは逆方向に回転（以下逆回転と呼ぶ）して、工具４Ａに巻き付いた切粉を飛ばして除去する。工具４Ａはドリル工具である。本実施形態のドリルサイクルは、工程７０〜７４を順に備える。工程７０は、主軸ヘッド７を基準位置から穴あけ位置に向けて早送りで移動する工程である。基準位置とは、固定サイクルを行う場合の基準位置である。穴あけ位置とは、Ｘ−Ｙ軸平面における穴あけ位置を意味する。工程７１は、主軸ヘッド７を穴あけ位置からＲ点に向けて早送りで移動する工程である。Ｒ点は、Ｚ点に向けて切削送りを開始する位置である。Ｒ点は、例えば、主軸９に装着した工具４Ａの先端がワーク３表面と略同一高さとなるように設定するとよい。Ｚ点は、ワーク３に形成する穴底の位置である。
【００２２】
工程７２は、Ｒ点からＺ点に向けて切削送り速度で移動する工程である。工程７３は、Ｚ点からＲ点に向けて早送りで移動（下降）する工程である。工程７４は、Ｒ点から切粉除去動作を開始し早送りで復帰点に向けて移動（上昇）する工程である。復帰点は穴開け位置と同じ位置である。工程７４では、Ｒ点は切粉除去動作の開始位置とする。図３において、工程７０、７１、７３、７４を示す細線の矢印は、早送りでの移動を示す。工程７２を示す太線の矢印は、切削送り速度での移動を示す。Ｚ点、Ｒ点、復帰点の夫々のＺ位置の一例は、Ｚ点（Ｚ＝３６０）、Ｒ点（Ｚ＝４００）、復帰点（Ｚ＝４５０）とする。前記Ｚの各数値は作業台１０表面からの高さを示し、単位はｍｍである。数値制御装置３０は、工程７０〜７４の一連の動作を繰り返し実行することで、ワーク３に複数の穴を加工できる。数値制御装置３０は工程７４で復帰点に向けて移動中に切粉除去動作を実行する。
【００２３】
切粉除去動作を有するドリルサイクルの指令形式について説明する。ドリルサイクルはＧ８１又はＧ８２で指令可能である。ＮＣプログラムで規定したドリルサイクルの指令形式の一例を以下に示す。
「Ｇ８１  Ｘ＿Ｙ＿Ｚ＿Ｒ＿Ｐ＿Ｆ＿Ｕ＿Ｋ＿Ｅ＿  ；」
・Ｘ，Ｙ：穴あけ位置
・Ｚ：穴底位置
・Ｒ：Ｒ点位置
・Ｐ：ドゥエル時間
・Ｆ：切削送り速度
・Ｕ：切粉除去主軸回転数
・Ｋ：繰り返し回数
・Ｅ：切粉除去実施間隔
尚、Ｘ、Ｙ、Ｚ、Ｒ、Ｐ、Ｆ、Ｕ、Ｋ、Ｅは、制御コマンドのアドレスである。
【００２４】
Ｘ、Ｙは、インクレメンタルモード時は、基準位置からの距離を指定する。Ｚは、インクレメンタルモード時は、Ｒ点から穴底までの距離を指定する。Ｒは、インクレメンタルモード時は、穴あけ位置からＲ点までの距離を指定する。ドゥエル時間はＺ点で待機する時間であり、時間単位はＧ０４指定時と同じである。Ｇ０４はドゥエルのＧコードである。切粉除去主軸回転数は、切粉除去動作時の主軸９の逆回転の回転数である。繰り返し回数は、ドリルサイクルの繰り返し回数である。切粉除去実施間隔は、ドリルサイクル繰り返し時における切粉除去動作を実施する間隔であり、切粉除去動作を実施する頻度に相当する。後述するが、切粉除去主軸回転数は、少なくともドリル加工時の主軸９の回転数以下とするのがよい。
【００２５】
図４を参照し、切粉除去動作を有するタップサイクルの工程を説明する。本実施形態のタップサイクルは、工程８０〜８４を順に備える。タップサイクルの切粉除去動作は、主軸９をタップ動作とは逆方向に回転（以下、逆回転と呼ぶ）して、工具４Ｂに巻き付いた切粉を飛ばして除去する。工具４Ｂはタップ工具である。タップ動作とは、主軸９を正転で所定回転数（本実施形態では５０００ｒｐｍ）で回転する動作である。
【００２６】
工程８０は、主軸ヘッド７を基準位置からタップ位置に向けて早送りで移動する工程である。タップ位置とは、Ｘ−Ｙ軸平面における加工する位置を意味する。工程８１は、主軸ヘッド７をタップ位置からＲ点に向けて早送りで移動する工程である。Ｒ点とＺ点はドリルサイクルのものと同じ定義である。工程８２は、Ｒ点からＺ点に向けて切削送り速度で移動する工程である。工程８３は、Ｚ点からＲ点に向けて切削送り速度で逆転しながら移動する工程である。工程８４は、Ｒ点から切粉除去動作を開始し早送りで復帰点に向けて移動する工程である。工程８４では、Ｒ点は切粉除去動作の開始位置となる。図４において、工程８０、８１、８４を示す細線の矢印は、早送りでの移動を示す。工程８２、８３を示す太線の矢印は、切削送り速度での移動を示す。数値制御装置３０は、工程８０〜８４の一連の動作を繰り返し実行することで、ワーク３に複数の螺子穴を加工できる。数値制御装置３０は工程８４で復帰点に向けて移動中に切粉除去動作を実行する。
【００２７】
切粉除去動作を有するタップサイクルの指令形式について説明する。ドリルサイクルはＧ８４で指令可能である。タップサイクルの指令形式の一例を以下に示す。
「Ｇ８４  Ｘ＿Ｙ＿Ｚ＿Ｒ＿Ｐ＿Ｆ＿Ｓ＿Ｕ＿Ｋ＿Ｅ＿  ；」
尚、各種アドレスは、ドリルサイクルの指令形式と同じである。Ｓは主軸回転数である。
【００２８】
図３、図４、図５〜図６の流れ図を参照し、ＣＰＵ３１が実行する固定サイクル制御処理を説明する。本実施形態は、例１と例２のＮＣプログラムを実行する場合を順に説明する。
【００２９】
例１のＮＣプログラムを実行する場合を想定して説明する。
・例１：ドリルサイクル指令のＮＣプログラム
「Ｇ９０  Ｇ００  Ｘ０  Ｙ０  Ｚ４５０．  Ｍ０３  Ｓ５０００  ；」
「Ｇ９１  Ｇ８１  Ｘ−１０．  Ｙ−１０．  Ｚ−９０．  Ｒ−５０．  Ｐ２．  Ｆ３０００．  Ｕ２０００  Ｋ６  Ｅ２  ；」
「Ｍ３０  ；」
１行目は、「主軸９を正転で５０００回転で、作業台１０と主軸ヘッド７を（ｘ，ｙ，ｚ）＝（０，０，４５０）の位置に早送りで移動せよ。」の指令である。（０，０，４５０）は基準位置である。２行目は、切粉除去動作を有するドリルサイクルの指令である。３行目のＭ３０は終了コマンドである。例１で指定するアドレスの値は以下の通りである。
・穴あけ位置（Ｘ，Ｙ）：基準位置から（−１０，−１０，４５０）の位置
・穴底位置（Ｚ）：穴あけ位置から−９０の位置
・Ｒ点位置（Ｒ）＝Ｚ点から−５０
・ドゥエル時間（Ｐ）＝２秒間
・切削送り速度（Ｆ）＝３０００ｍｍ／ｍｉｎ
・切粉除去主軸回転数（Ｕ）＝２０００ｍｍ／ｍｉｎ
・繰り返し回数（Ｋ）＝６回
・切粉除去実施間隔（Ｅ）＝２サイクル毎
【００３０】
ＣＰＵ３１はメイン処理を実行しＮＣプログラムを実行する。ＣＰＵ３１は、ＮＣプログラムの１行目を解釈し、主軸９を正転で５０００ｒｐｍで回転し、（ｘ，ｙ，ｚ）＝（０，０，４５０）の基準位置に主軸ヘッド７及び作業台１０を早送りで移動する。ＣＰＵ３１はＮＣプログラムの２行目を解釈する。２行目はＧ８１を有する。Ｇ８１は固定サイクルの制御コマンドである。ＣＰＵ３１はＲＯＭ３２から固定サイクル制御プログラムを読み出し、固定サイクル制御処理を実行する。
【００３１】
ＣＰＵ３１はカウンタｐを零に初期化する（Ｓ１）。カウンタｐは固定サイクルの実行回数を計数する。カウンタｐの値は、ＲＡＭ３３に記憶する。ＣＰＵ３１はカウンタｐに１加算する（Ｓ２）。ＣＰＵ３１は（０，０，４５０）の基準位置から（−１０，−１０，４５０）の穴あけ位置に主軸ヘッド７と作業台１０を早送りで移動を開始する（Ｓ３、図３の工程７０参照）。尚、図３では主軸９がＸＹ方向に移動するように図示されているが、これは分かり易く説明する為にしたものであり、実際は作業台１０が移動する。ＣＰＵ３１は主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ４）。現在主軸９は逆回転していないので（Ｓ４：ＮＯ）、ＣＰＵ３１は、主軸９が穴あけ位置に到達したか否か判断する（Ｓ８）。主軸ヘッド７が穴あけ位置に到達するまで（Ｓ８：ＮＯ）、ＣＰＵ３１はＳ４に戻って待機する（Ｓ４：ＮＯ、Ｓ８）。ＣＰＵ３１は、エンコーダ５１Ｂ、５３Ｂ、５４Ｂが出力するフィードバック信号に基づき、主軸ヘッド７と作業台１０の位置を検出可能である。
【００３２】
主軸ヘッド７が穴あけ位置に到達した時（Ｓ８：ＹＥＳ）、ＣＰＵ３１は、穴あけ位置からＲ点に向けて早送りで主軸ヘッド７の下降（図３の工程７１参照）を開始する（Ｓ９）。ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ１０）。現在主軸９は逆回転していないので（Ｓ１０：ＮＯ）、ＣＰＵ３１は主軸ヘッド７がＲ点に到達したか否か判断する（Ｓ１４）。主軸ヘッド７がＲ点に到達するまで（Ｓ１４：ＮＯ）、ＣＰＵ３１はＳ１０に戻り、引き続き下降を継続する（Ｓ１０：ＮＯ、Ｓ１４）。
【００３３】
主軸ヘッド７がＲ点に到達した時（Ｓ１４：ＹＥＳ）、図６に示す如く、ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ２０）。ＮＣプログラム中のＧ８１はドリルサイクルの制御コマンドであるので（Ｓ２０：ＹＥＳ）、ＣＰＵ３１は、主軸９が正転中か否か判断する（Ｓ２１）。主軸９は正転中であるので（Ｓ２１：ＹＥＳ）、ＣＰＵ３１は、Ｒ点からＺ点まで、切削送り速度＝３０００ｍｍ／ｍｉｎで主軸ヘッド７の下降を開始する（Ｓ３１）。主軸９に装着した工具４Ａはワーク３表面に接触し、正転しながらワーク３をＺ点まで切削する（図３の工程７２参照）する。工具４Ａはワーク３に穴（図示略）を形成する。
【００３４】
ＣＰＵ３１は主軸ヘッド７がＺ点に到達したか否か判断する（Ｓ３２）。主軸ヘッド７がＺ点に到達するまで（Ｓ３２：ＮＯ）、ＣＰＵ３１は引き続き下降を継続する。主軸ヘッド７がＺ点に到達した時（Ｓ３２：ＹＥＳ）、ＣＰＵ３１は主軸９を正転した状態で２秒間のドゥエルを行う（Ｓ３３）。故に工具４Ａは穴底を確実に切削できる。
【００３５】
ＣＰＵ３１は、再度、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ３４）。実行中の固定サイクルはドリルサイクルであるので（Ｓ３４：ＹＥＳ）、図７に示す如く、ＣＰＵ３１は、主軸ヘッド７のＺ点から復帰点に向けて早送りでの上昇を開始する（Ｓ４０、図３の工程７３参照）。ＣＰＵ３１は主軸ヘッド７がＲ点に到達したか否か判断する（Ｓ４１）。主軸ヘッド７がＲ点に到達するまで（Ｓ４１：ＮＯ）、ＣＰＵ３１は引き続き上昇を継続する。
【００３６】
主軸ヘッド７がＲ点に到達した時（Ｓ４１：ＹＥＳ）、工具４Ａはワーク３に形成した穴から上方に抜ける。ＣＰＵ３１は、カウンタｐの値が切粉除去実施間隔Ｅの倍数か否か判断する（Ｓ４２）。例１のＮＣプログラムでは、切粉除去実施間隔Ｅ＝２である。最初の１サイクル目では、カウンタｐ＝１であるので（Ｓ４２：ＮＯ）、ＣＰＵ３１は切粉除去動作を実行することなく、主軸ヘッド７が復帰点に到達したか判断する（Ｓ４８）。主軸ヘッド７が復帰点に到達するまで（Ｓ４８：ＮＯ）、ＣＰＵ３１は引き続き上昇を継続する（Ｓ４４：ＮＯ、Ｓ４８、図３の工程７４参照）。
【００３７】
主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、１サイクル目が終了したので、ＣＰＵ３１は、カウンタｐの値が繰り返し回数以上か否か判断する（Ｓ４９）。例１では、繰り返し回数Ｋ＝６である。１サイクル目の終了時、カウンタｐは１であるので（Ｓ４９：ＮＯ）、ＣＰＵ３１は、図５のＳ２に戻り、カウンタｐに１加算し、２サイクル目を１サイクル目と同様に処理を実行する。
【００３８】
２サイクル目における工程７３（図３参照）において、Ｚ点にて２秒間のドゥエル後、ＣＰＵ３１は主軸ヘッド７を早送りで復帰点に向けて上昇を開始する（Ｓ４０）。主軸ヘッド７がＲ点に到達した時（Ｓ４１：ＹＥＳ）、ＣＰＵ３１は、カウンタｐの値が切粉除去実施間隔Ｅ＝２の倍数か否か判断する（Ｓ４２）。２サイクル目では、カウンタｐ＝２であるので（Ｓ４２：ＹＥＳ）、工具４Ａに巻き付いた切粉を除去する為に、ＣＰＵ３１は２０００ｒｐｍを目標回転数として、主軸９の逆回転（切粉除去動作）を開始する（Ｓ４３）。上記の通り、主軸ヘッド７がＲ点まで上昇した時点で、工具４Ａはワーク３に形成した穴から上方に抜ける。逆回転する工具４Ａに巻き付いた切粉は、遠心力で飛ばされる。ＣＰＵ３１は、主軸モータ５２のエンコーダ５２Ｂが出力するフィードバック信号に基づき、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ４４）。
【００３９】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ４４：ＹＥＳ）、工具４Ａに巻き付いた切粉はほぼ全て飛ばされる。ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ４５）。実行中の固定サイクルはドリルサイクルであるので（Ｓ４５：ＹＥＳ）、ＣＰＵ３１は、主軸９を正転で５０００ｒｐｍに戻し（Ｓ４６）、切粉除去動作を終了する。故に数値制御装置３０は、切粉除去動作に要する時間を、主軸ヘッド７のＺ点から復帰点までの移動にかかる時間で吸収できるので、作業時間を短縮できる。
【００４０】
ＣＰＵ３１は、主軸ヘッド７が復帰点に到達したか判断する（Ｓ４８）。主軸ヘッド７が復帰点に到達するまでは（Ｓ４８：ＮＯ）、ＣＰＵ３１はＳ４４に戻り、引き続き上昇を継続する（Ｓ４４：ＮＯ、Ｓ４８）。主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、ＣＰＵ３１はカウンタｐの値が繰り返し回数Ｋ（＝６）以上か否か判断する（Ｓ４９）。カウンタｐは２であるので（Ｓ４９：ＮＯ）、ＣＰＵ３１は３サイクル目を実行する為に、図５のＳ２に戻り、カウンタｐに１加算する。カウンタｐの値は３となる。
【００４１】
一方、主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（図７のＳ４４：ＮＯ）、主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、ＣＰＵ３１は、主軸９を逆回転したままの状態で、カウンタｐの値が繰り返し回数Ｋ（＝６）以上か否か判断する（Ｓ４９）。カウンタｐは２であるので（Ｓ４９：ＮＯ）、ＣＰＵ３１は３サイクル目を実行する為に、図５のＳ２に戻り、カウンタｐに１加算する（Ｓ２）。ＣＰＵ３１は、主軸９を逆回転したままの状態で、復帰点から次の穴あけ位置に主軸ヘッド７を早送りで移動を開始する（Ｓ３）。ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ４）。主軸９の回転数が逆回転で２０００ｒｐｍに到達していない時（Ｓ４：ＮＯ）、主軸ヘッド７が穴あけ位置に到達するまでは（Ｓ８：ＮＯ）、ＣＰＵ３１はＳ４に戻り、引き続き、穴あけ位置への移動を継続する（Ｓ４：ＮＯ、Ｓ８）。
【００４２】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ４：ＹＥＳ）、ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ５）。実行中の固定サイクルはドリルサイクルであるので（Ｓ５：ＹＥＳ）、ＣＰＵ３１は主軸９を正転で５０００ｒｐｍに戻し（Ｓ６）、切粉除去動作を終了する。該場合でも、数値制御装置３０は、切粉除去動作に要する時間を、Ｚ点から復帰点を経由して次の穴あけ位置までの移動にかかる時間で吸収できるので、作業時間を短縮できる。主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（Ｓ４：ＮＯ）、主軸ヘッド７が穴あけ位置に到達した時（Ｓ８：ＹＥＳ）、ＣＰＵ３１は、主軸９を逆回転したままの状態で、穴あけ位置からＲ点に向けて主軸ヘッド７の早送り移動を開始する（Ｓ９）。
【００４３】
ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ１０）。主軸９の回転数が逆回転で２０００ｒｐｍに到達していない時（Ｓ１０：ＮＯ）、主軸ヘッド７がＲ点に到達するまでは（Ｓ１４：ＮＯ）、ＣＰＵ３１はＳ１０に戻り、引き続き、Ｒ点への移動を継続する（Ｓ１０：ＮＯ、Ｓ１４）。
【００４４】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ１０：ＹＥＳ）、ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ１１）。実行中の固定サイクルはドリルサイクルであるので（Ｓ１１：ＹＥＳ）、ＣＰＵ３１は主軸９を正転で５０００ｒｐｍに戻し（Ｓ１２）、切粉除去動作を終了する。該場合でも、数値制御装置３０は、切粉除去動作に要する時間を、Ｚ点から復帰点と次の穴あけ位置を経由してＲ点までの移動にかかる時間で吸収できるので、作業時間を短縮できる。
【００４５】
主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（Ｓ１０：ＮＯ）、主軸ヘッド７がＲ点に到達した時（Ｓ１４：ＹＥＳ）、主軸９が逆回転した状態ではワーク３を切削できない。故に図６に示す如く、ＣＰＵ３１は、主軸９を逆回転したままの状態で、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ２０）。実行中の固定サイクルはドリルサイクルであるので（Ｓ２０：ＹＥＳ）、ＣＰＵ３１は主軸９が正転中か否か判断する（Ｓ２１）。主軸９は逆回転中であるので（Ｓ２１：ＮＯ）、ＣＰＵ３１は、主軸ヘッド７の下降を一旦停止する（Ｓ２２）。
【００４６】
ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ２３）。主軸９の回転数が逆回転で２０００ｒｐｍに到達するまでは（Ｓ２３：ＮＯ）、ＣＰＵ３１はＳ２３に戻り、主軸ヘッド７をＲ点にて待機する。主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ２３：ＹＥＳ）、ＣＰＵ３１は主軸９を正転で５０００ｒｐｍに戻し（Ｓ２４）、切粉除去動作を終了してから、Ｒ点からＺ点まで切削送り速度＝３０００ｍｍ／ｍｉｎで移動を開始する（Ｓ３１）。図３に示す工程７４において、主軸９を逆回転させ、次のサイクルのＲ点に達した時点でも２０００ｒｐｍに到達しなかった時、主軸ヘッド７のＺ点に向けての移動を一旦停止し、２０００ｒｐｍに到達した時にＺ点に向けて移動を開始するので、逆回転した状態でワーク３に工具４Ａが接触するのを確実に防止できる。
【００４７】
ＣＰＵ３１は上記処理を繰り返し実行し、カウンタｐの値が６になれば、繰り返し回数に達するので（Ｓ４９：ＹＥＳ）、ＣＰＵ３１は本処理を終了し、ワーク３に６個の穴が形成される。故に数値制御装置３０は、ドリルサイクル実行中に、切粉除去動作を行うことで、工具４Ａに巻き付いた切粉を除去できる。工具４Ａに巻き付いた切粉を除去できるので、工具４Ａはワーク３に穴を良好に形成できる。
【００４８】
例１では、切粉除去実施間隔Ｅ＝２であるので、ＣＰＵ３１は上記のドリルサイクルを６回繰り返す間に切粉除去動作を３回実施する。数値制御装置３０はドリルサイクルを繰り返し実行する間に適度な頻度で実施できるので、切粉除去動作に伴う消費電力を節約できる。何故なら、電力は主軸を逆回転させる時に比べ主軸を同一方向に回転を継続させる時の方が少なくて済む。切粉除去実施間隔は操作パネルの入力部２４で自由に変更できる。例えば、工具の種類、ワーク３の材質等によって、工具４に巻き付く切粉の量は異なる。故に使用者は工具の種類、ワーク３の材質等に応じて、切粉除去実施間隔を長く又は短くすることで、工具４に巻き付いた切粉を効率よく除去できる。
【００４９】
尚、例１では、切粉除去実施間隔Ｅ＝２であるが、Ｅアドレスを省略した場合は、ＣＰＵ３１はドリルサイクルを繰り返す間に切粉除去動作を毎回実施する。その場合、ＣＰＵ３１は１回目のドリルサイクルから切粉除去動作を実施する。
【００５０】
例２のＮＣプログラムを実行する場合を想定して説明する。例２のＮＣプログラムは下記の通り、タップサイクルである。
・例２：タップサイクル指令のＮＣプログラム
「Ｇ９０  Ｇ００  Ｘ０  Ｙ０  Ｚ４５０．；」
「Ｇ９１  Ｇ８４  Ｘ−１０．  Ｙ−１０．  Ｚ−９０．  Ｒ−５０．  Ｐ２．  Ｆ３０００  Ｓ５０００．  Ｕ２０００  Ｋ６  Ｅ２  ；」
「Ｍ３０  ；」
１行目は「（ｘ，ｙ，ｚ）＝（０，０，４５０）の位置に早送りで移動せよ。」の指令である。３行目は例１と同じである。例２で指定するアドレスの値は、例１と同じである。主軸回転数（Ｓ）は、５０００ｒｐｍである。本実施形態は、ドリルサイクルと共通する動作については説明を簡略化し、タップサイクルで特徴的な動作を中心に説明する。
【００５１】
ＣＰＵ３１はＮＣプログラムの１行目を解釈し、主軸ヘッド７を（ｘ，ｙ，ｚ）＝（０，０，４５０）の位置に早送りで移動する。ＣＰＵ３１はＮＣプログラムの２行目を解釈する。２行目はＧ８４を有する。Ｇ８４も固定サイクルの制御コマンドである。ＣＰＵ３１は、ＲＯＭ３２から固定サイクル制御プログラムを読み出し、固定サイクル制御処理を実行する。
【００５２】
ＣＰＵ３１は、カウンタｐを零に初期化してから１加算する（Ｓ１，Ｓ２）。ＣＰＵ３１は現在位置から（−１０，−１０，０）のタップ位置に向けて作業台１０の早送り移動を開始する（Ｓ３、図４の工程８０参照）。尚、図４では主軸９がＸＹ方向に移動するように図示されているが、これは分かり易く説明する為にしたものであり、実際は作業台１０が移動する。現在主軸９は逆回転していないので（Ｓ４：ＮＯ）、ＣＰＵ３１は、作業台１０がタップ位置に到達したか否か判断する（Ｓ８）。作業台１０がタップ位置に到達した時（Ｓ８：ＹＥＳ）、ＣＰＵ３１は、タップ位置からＲ点に向けて主軸ヘッド７の早送り移動（図４の工程８１参照）を開始する（Ｓ９）。現在主軸９は逆回転していないので（Ｓ１０：ＮＯ）、ＣＰＵ３１は、主軸ヘッド７がＲ点に到達したか否か判断する（Ｓ１４）。
【００５３】
主軸ヘッド７がＲ点に到達した時（Ｓ１４：ＹＥＳ）、図６に示す如く、ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ２０）。Ｇ８４はタップサイクルの制御コマンドであるので（Ｓ２０：ＮＯ）、ＣＰＵ３１は主軸９が逆回転中か否か判断する（Ｓ２５）。主軸９は逆回転していないので（Ｓ２５：ＮＯ）、ＣＰＵ３１は、タップ動作を開始する（Ｓ２６）。ＣＰＵ３１はＲ点からＺ点まで切削送り速度＝３０００ｍｍ／ｍｉｎで下降を開始する（Ｓ３１）。主軸９に装着した工具４Ｂはワーク３表面に接触し、正転しながらワーク３をＺ点まで切削する（図４の工程８２参照）する。工具４Ｂはワーク３に螺子穴（図示略）を形成する。主軸ヘッド７がＺ点に到達した時（Ｓ３２：ＹＥＳ）、ＣＰＵ３１は主軸９を正転した状態で２秒間のドゥエルを行う（Ｓ３３）。故に工具４Ｂは穴底を確実に切削できる。
【００５４】
ＣＰＵ３１は、再度、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ３４）。実行中の固定サイクルはタップサイクルであるので（Ｓ３４：ＮＯ）、ＣＰＵ３１は工具４Ｂをワーク３から抜く為に主軸９の回転を逆転して、切削送り速度＝３０００ｍｍ／分で、Ｚ点からＲ点に向けて主軸ヘッド７の上昇を開始する（Ｓ３５、図４の工程８３参照）。ＣＰＵ３１は主軸ヘッド７がＲ点に到達したか否か判断する（Ｓ３６）。主軸ヘッド７がＲ点に到達するまで（Ｓ３６：ＮＯ）、ＣＰＵ３１は引き続き上昇を継続する。
【００５５】
主軸ヘッド７がＲ点に到達した時（Ｓ３６：ＹＥＳ）、工具４Ｂはワーク３に形成した螺子穴から上方に抜ける。ＣＰＵ３１は、主軸９の回転を停止し、タップ動作を終了する（Ｓ３７）。ＣＰＵ３１は復帰点に向けて早送りで主軸ヘッド７の上昇を開始する（Ｓ３８）。
【００５６】
図７に示す如く、ＣＰＵ３１は、カウンタｐの値が切粉除去実施間隔Ｅの倍数か否か判断する（Ｓ４２）。カウンタｐの値が切粉除去実施間隔Ｅの倍数でない時（Ｓ４２：ＮＯ）、ＣＰＵ３１は切粉除去動作を実行することなく、主軸ヘッド７が復帰点に到達したか否か判断する（Ｓ４８）。主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、ＣＰＵ３１は、カウンタｐの値が繰り返し回数未満であれば（Ｓ４９：ＮＯ）、図５のＳ２に戻り、次のサイクルについても同様に処理を実行する。
【００５７】
次のサイクルにおける工程８３（図４参照）において、Ｚ点にて２秒間のドゥエル後、ＣＰＵ３１は主軸９の回転を逆転して、切削送り速度でＺ点からＲ点に向けて主軸ヘッド７の上昇を開始する（Ｓ３５）。主軸ヘッド７がＲ点に到達後（Ｓ３６：ＮＯ）、ＣＰＵ３１はタップ動作を終了し（Ｓ３７）、早送りで復帰点に向けて上昇を開始する（Ｓ３８）。更に、図７に示す如く、カウンタｐの値が切粉除去実施間隔Ｅ＝２の倍数である時（Ｓ４２：ＹＥＳ）、ＣＰＵ３１は主軸９の逆回転（切粉除去動作）を開始する（Ｓ４３）。上記の通り、主軸ヘッド７がＲ点まで上昇した時点で、工具４Ｂはワーク３に形成した螺子穴から上方に抜ける。逆回転する工具４Ｂに巻き付いた切粉は遠心力で飛ばされる。ＣＰＵ３１は、主軸モータ５２のエンコーダ５２Ｂが出力するフィードバック信号に基づき、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ４４）。
【００５８】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ４４：ＹＥＳ）、ＣＰＵ３１は、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ４５）。実行中の固定サイクルはタップサイクルであるので（Ｓ４５：ＮＯ）、ＣＰＵ３１は主軸９の回転を停止し（Ｓ４７）、切粉除去動作を終了する。故に数値制御装置３０は、切粉除去動作に要する時間を、主軸ヘッド７のＺ点から復帰点までの移動にかかる時間で吸収できるので、作業時間を短縮できる。
【００５９】
ＣＰＵ３１は、主軸ヘッド７が復帰点に到達するまでは（Ｓ４８：ＮＯ）、ＣＰＵ３１はＳ４４に戻り、引き続き上昇を継続する（Ｓ４４：ＮＯ、Ｓ４８）。主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、ＣＰＵ３１はカウンタｐの値が繰り返し回数Ｋ（＝６）以上か否か判断する（Ｓ４９）。カウンタｐの値が繰り返し回数Ｋ（＝６）未満である時（Ｓ４９：ＮＯ）、ＣＰＵ３１は次のサイクルを実行する為に、図５のＳ２に戻り、カウンタｐに１加算する。
【００６０】
一方、主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（Ｓ４４：ＮＯ）、主軸ヘッド７が復帰点に到達した時（Ｓ４８：ＹＥＳ）、例１と同様に、ＣＰＵ３１は、主軸９を逆回転したままの状態で、復帰点から次のタップ位置に作業台１０を早送りで移動を開始する（Ｓ４９：ＮＯ、Ｓ２、Ｓ３）。ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ４）。
【００６１】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ４：ＹＥＳ）、実行中の固定サイクルはタップサイクルであるので（Ｓ５：ＮＯ）、ＣＰＵ３１は主軸９の回転を停止し（Ｓ７）、切粉除去動作を終了する。該場合でも、数値制御装置３０は、切粉除去動作に要する時間を、Ｚ点から復帰点を経由して次のタップ位置までの移動にかかる時間で吸収できるので、作業時間を短縮できる。
【００６２】
一方、主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（Ｓ４：ＮＯ）、主軸ヘッド７がタップ位置に到達した時（Ｓ８：ＹＥＳ）、例１と同様に、ＣＰＵ３１は、主軸９を逆回転したままの状態で、タップ位置からＲ点に向けて主軸ヘッド７の早送り移動を開始する（Ｓ９）。ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ１０）。
【００６３】
主軸９の回転数が逆回転で２０００ｒｐｍに到達した時（Ｓ１０：ＹＥＳ）、実行中の固定サイクルはタップサイクルであるので（Ｓ１１：ＮＯ）、ＣＰＵ３１は主軸９の回転を停止し（Ｓ１３）、切粉除去動作を終了する。該場合でも、数値制御装置３０は、切粉除去動作に要する時間を、Ｚ点から復帰点と次のタップ位置を経由してＲ点までの移動にかかる時間で吸収できるので、作業時間を短縮できる。
【００６４】
一方、主軸９の回転数が逆回転で２０００ｒｐｍに到達する前に（Ｓ１０：ＮＯ）、主軸ヘッド７がタップ位置に到達した時（Ｓ１４：ＹＥＳ）、図６に示す如く、ＣＰＵ３１は、主軸９を逆回転したままの状態で、実行中の固定サイクルはドリルサイクルか否か判断する（Ｓ２０）。実行中の固定サイクルはタップサイクルであるので（Ｓ２０：ＮＯ）、ＣＰＵ３１は主軸９が逆回転中か否か判断する（Ｓ２５）。主軸９が逆回転中である時（Ｓ２５：ＹＥＳ）、主軸ヘッド７が下降すると、工具４Ｂは主軸９が逆回転した状態ではワーク３を切削できない。故にＣＰＵ３１は主軸ヘッド７の下降を停止する（Ｓ２７）。
【００６５】
ＣＰＵ３１は、主軸９の回転数が逆回転で２０００ｒｐｍに到達したか否か判断する（Ｓ２８）。主軸９の回転数が逆回転で２０００ｒｐｍに到達するまでは（Ｓ２８：ＮＯ）、ＣＰＵ３１はＳ２８に戻って待機する。主軸ヘッド７の移動停止中、逆回転で２０００ｒｐｍに到達した時（Ｓ２８：ＹＥＳ）、工具４Ｂに巻き付いた切粉は十分に除去されたので、ＣＰＵ３１は主軸９の回転を停止し（Ｓ２９）、切粉除去動作を終了してから、タップ動作を開始する（Ｓ３０）
【００６６】
ＣＰＵ３１はＲ点からＺ点まで切削送り速度Ｆ＝３０００ｍｍ／ｍｉｎで移動を開始する（Ｓ３１）。主軸９に装着した工具４Ｂはワーク３表面に接触し、正転しながらワーク３をＺ点まで切削しながら移動する。図４に示す工程８４において、主軸９を逆回転させ、次のサイクルのＲ点に達した時点でも２０００ｒｐｍに到達しなかった時は、主軸ヘッド７のＺ点に向けての移動を一旦停止し、２０００ｒｐｍに到達した時にＺ点に向けて移動を開始するので、逆回転した状態でワーク３に工具４Ｂが接触するのを確実に防止できる。
【００６７】
ＣＰＵ３１は上記処理を繰り返し実行し、カウンタｐの値が６になれば、繰り返し回数に達するので（Ｓ４９：ＹＥＳ）、ＣＰＵ３１は本処理を終了する。ワーク３に６個の螺子穴が形成する。故に数値制御装置３０は、タップサイクル実行中に、切粉除去動作を行うことで、工具４Ｂに巻き付いた切粉を除去できる。工具４Ｂに巻き付いた切粉を除去できるので、工具４Ｂはワーク３に螺子穴を良好に形成できる。例２でも、切粉除去実施間隔Ｅ＝２であるので、ＣＰＵ３１は上記のタップサイクルを６回繰り返す間に切粉除去動作を３回実施する。数値制御装置３０はタップサイクルを繰り返し実行する間に適度な頻度で実施できるので、切粉除去動作に伴う消費電力を節約できる。
【００６８】
以上説明において、Ｓ２６とＳ３１の処理を夫々実行するＣＰＵ３１が本発明の穴あけ手段に相当する。Ｓ３５、Ｓ４０の処理を実行するＣＰＵ３１が本発明の移動手段に相当する。Ｓ４３の処理を実行するＣＰＵ３１が本発明の逆回転手段に相当する。ＮＣプログラムのＲアドレスが本発明の開始位置指定手段に相当する。Ｓ４９の処理を実行するＣＰＵ３１が本発明の連続実行手段に相当する。ＮＣプログラムのＥアドレスが本発明の頻度指定手段に相当する。
【００６９】
以上説明した如く、本実施形態の数値制御装置３０のＣＰＵ３１は主軸９の回転と主軸ヘッド７の移動を制御する。ＣＰＵ３１は主軸９を一方向に回転しながら主軸ヘッド７を下降し、工具４をワーク３に接触させることで、ワーク３にドリル加工又はタップ加工を施す。ＣＰＵ３１はワーク３に形成した穴底位置であるＺ点から復帰点に向けて主軸ヘッド７を上昇する。ＣＰＵ３１は主軸ヘッド７がＺ点から復帰点に到達するまでの間に、切粉除去動作を開始する。切粉除去動作は主軸９を逆回転する動作である。故に数値制御装置３０は切粉除去動作にかかる時間の全部又は一部を、主軸ヘッド７が復帰点に到達するまでの時間で吸収できるので、作業時間を短縮できる。
【００７０】
上記実施形態は更に、切粉除去動作を開始するＲ点の位置を、ＮＣプログラムのブロック中のアドレスで指定できる。ＣＰＵ３１はアドレスで指定するＲ点から切粉除去動作を開始する。Ｒ点をアドレスで指定するので、固定サイクル実行中に切粉除去動作を開始できる。切粉除去動作を実行する行をＮＣプログラムに追加する方法に比べ、作業時間を短縮できる。更に、主軸ヘッド７がＺ点から上昇時に、工具４がワーク３から抜ける直後の位置をＲ点に指定できる。故に数値制御装置３０は切粉除去動作を速やかに開始できるので作業時間を短縮できる。
【００７１】
上記実施形態は更に、固定サイクルの繰り返し回数と切粉除去動作を実施する間隔を、ＮＣプログラムのブロック中のアドレスで指定できる。繰り返し回数における実施間隔は、固定サイクルを連続して実行中に切粉除去動作を実行する頻度である。連続して穴あけを行う場合、ＣＰＵ３１は、穴あけ後の主軸ヘッド７の移動時から次の穴あけ位置への移動の間で逆回転動作を実行する。故に数値制御装置３０は連続した穴あけ加工においても作業時間を短縮できる。更に数値制御装置３０は切粉除去動作の頻度を指定できるので、毎回切粉除去動作を行う場合と比較して、切粉除去動作にかかる消費電力を節約できる。
【００７２】
上記実施形態は更に、切粉除去動作中の主軸９の回転数は、少なくとも穴あけを実行する際の主軸９の回転数以下である。上記実施形態では、穴あけ実行時の主軸９の回転数は５０００ｒｐｍ、切粉除去動作中の主軸９の回転数は２０００ｒｐｍである。故に数値制御装置３０は、次の穴あけ加工を行う為に、主軸９の回転方向を速やかに元に戻すことができるので、連続した穴あけにかかる作業時間を更に短縮できる。更に主軸９の回転方向を切り替える際の工作機械１にかかる負荷を低減できる。
【００７３】
なお、本発明の数値制御装置は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。上記実施形態は、工具４を装着する主軸がＺ軸方向に移動可能であり、作業台１０がＸ軸とＹ軸方向の二軸に移動可能である工作機械１である。作業台１０に対してＸ軸、Ｙ軸、Ｚ軸方向に相対的に移動する工具４の移動機構の仕組みは上記実施形態に限定しない。例えば、主軸がＸ軸、Ｙ軸、Ｚ軸方向の三軸に移動可能であり、作業台を固定した工作機械であってもよい。上記実施形態の工作機械１は縦型の工作機械であるが、横型の工作機械であってもよい。工具交換装置５６は省略してもよい。
【００７４】
上記実施形態は、ドリルサイクルとタップサイクルにおいて、Ｒ点を切粉除去動作の開始点として設定するが、Ｒ点とは異なる位置に、切粉除去動作開始点を指定するようにしてもよい。その場合、切粉除去動作開始点を、ＮＣプログラムのブロック中のアドレスで指定するとよい。
【００７５】
上記実施形態は、穴あけ実行時の主軸９の回転数を５０００ｒｐｍ、切粉除去動作中の主軸９の回転数を２０００ｒｐｍとしているが、切粉除去動作中の主軸９の回転数は、少なくとも穴あけを実行する際の主軸９の回転数以下であればよい。主軸９の回転数は、工具４の種類、ドリル加工時、タップ加工時等の各種条件に応じて変更すればよい。
【００７６】
上記実施形態では、タップサイクル実行中におけるＺ点から上昇してＲ点到達時に、主軸９の逆回転中の場合（Ｓ２５：ＹＥＳ）、主軸ヘッド７の下降を停止し（Ｓ２７）、主軸９の回転数が所定回転数到達後に主軸９の回転を一旦停止（Ｓ２９）してからタップ動作を開始（Ｓ３０）しているが、所定回転数到達後にタップ動作を開始してもよい。
【００７７】
上記実施形態では、各種プログラムをＲＯＭ３２に記憶するが、不揮発性記憶装置３４等の他の記憶装置に記憶してもよい。各種プログラムをメモリカード等に記憶しておき、数値制御装置３０に接続するカードスロット（図示略）からメモリカードに記憶する各種プログラムを読み出してもよい。ＮＣプログラムは不揮発性記憶装置３４ではなく、ＲＯＭ３２又はメモリカード等に記憶してもよい。
【００７８】
上記実施形態の固定サイクル制御処理（図５〜図７参照）は、ＣＰＵ３１が実行する例に限定されず、他の電子部品（例えば、ＡＳＩＣ）によって実行してもよい。また、固定サイクル処理は、複数の電子機器（例えば複数のＣＰＵ）で分散処理してもよい。
【符号の説明】
【００７９】
１    工作機械
３    ワーク
４    工具
７    主軸ヘッド
９    主軸
１０    作業台
３０    数値制御装置
３１    ＣＰＵ
【図１】
2015187799.tif 000003
【図２】
2015187799.tif 000004
【図３】
2015187799.tif 000005
【図４】
2015187799.tif 000006
【図５】
2015187799.tif 000007
【図６】
2015187799.tif 000008
【図７】
2015187799.tif 000009