(57)【特許請求の範囲】
【請求項１】
工具を有した主軸を回転駆動する主軸駆動手段と、前記主軸を回転可能に支持する主軸ヘッドを移動駆動する主軸ヘッド移動駆動手段と、加工プログラムに基づいて前記主軸駆動手段と前記主軸ヘッド移動駆動手段とを制御する制御手段とを備えた数値制御装置において、
前記制御手段は、
前記加工プログラムに基づいて、次の指令が工具交換指令であるか否かを判定する工具交換指令判定手段と、
前記工具交換指令判定手段が次の指令が工具交換指令であると判定した場合に、前記主軸駆動手段によって前記主軸を所定の工具交換用停止位置に停止させる主軸オリエント動作を開始する主軸オリエント動作手段と、
前記工具交換指令に従い、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、前記主軸オリエント動作手段による前記主軸オリエント動作が完了する時点において、前記主軸ヘッドが予め設定された速度で前記機械原点を通過するように、前記主軸ヘッド移動駆動手段を制御する主軸ヘッド移動制御手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
前記主軸ヘッド移動制御手段は、
前記主軸ヘッドの前記原点までの移動量と、前記主軸ヘッドの移動速度が前記速度に到達するに要する時間と、前記速度とに基づき、前記主軸ヘッドが前記速度で前記原点に到達するに要する時間である原点到達所要時間を算出する原点到達所要時間算出手段と、
前記主軸の回転速度に基づき、前記主軸オリエント動作手段が前記主軸オリエント動作を完了するに要する時間であるオリエント所要時間を推定するオリエント所要時間推定手段と、
前記原点到達所要時間算出手段によって算出された前記原点到達所要時間と、前記オリエント所要時間推定手段によって推定された前記オリエント所要時間とに基づき、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが前記原点への移動を開始する時期を決定する移動開始時期決定手段と
を備えたことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
工具を有した主軸を回転駆動する主軸駆動手段と、前記主軸を回転可能に支持する主軸ヘッドを移動制御する主軸ヘッド移動駆動手段と、加工プログラムに基づいて前記主軸駆動手段と前記主軸ヘッド移動駆動手段とを制御する制御手段とを備えた数値制御装置における前記制御手段を機能させる制御プログラムであって、
コンピュータに、
前記加工プログラムに基づいて、次の指令が工具交換指令であるか否かを判定する工具交換指令判定ステップと、
前記工具交換指令判定ステップにおいて次の指令が工具交換指令であると判定した場合に、前記主軸駆動手段によって前記主軸を所定の工具交換用停止位置に停止させる主軸オリエント動作を開始する主軸オリエント動作ステップと、
前記工具交換指令に従い、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、前記主軸オリエント動作ステップにおける前記主軸オリエント動作が完了する時点において、前記主軸ヘッドが予め設定された速度で前記機械原点を通過するように、前記主軸ヘッドの移動を制御する主軸ヘッド移動制御ステップと
を実行させることを特徴とする制御プログラム。
【請求項４】
請求項３に記載の制御プログラムを記憶したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置、制御プログラム及び記憶媒体に関する。
【背景技術】
【０００２】
従来、数値制御装置は、自動工具交換を行う場合、工具交換動作を行う前に、主軸オリエント動作を実行し、工具交換が実行可能な回転角度位置に主軸を停止させる必要がある。
【０００３】
数値制御装置は、工作機械の工具交換において、Ｚ軸の機械原点であるＺ軸原点への上昇動作と主軸オリエント動作とを同時に行う。主軸オリエント動作が完了し、Ｚ軸原点への上昇動作の減速を開始すると、ＡＴＣ（工具交換）位置への上昇動作が開始する。主軸オリエント動作が完了していなければ、ＡＴＣ位置への上昇動作は開始できない。故に、主軸回転数が大きい場合、又はＺ軸原点への上昇距離が小さい場合、Ｚ軸原点への上昇動作が終了していても、主軸オリエント動作は完了しない場合がある。ＡＴＣ位置への上昇動作は、主軸オリエント動作の完了を待ってから開始する。故に、工具交換サイクルは遅くなる。特許文献１が開示する数値制御式工作機械は、主軸オリエント動作をＺ軸原点への上昇動作よりも早い段階で開始する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−６９５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１が開示する数値制御式工作機械は、主軸回転数が高速であればあるほど、主軸オリエント動作に要する時間が長くなる。故に、主軸オリエント動作の完了を待ってからＡＴＣ位置への上昇動作を開始するので、工具交換サイクルを短縮できないという問題点があった。
【０００６】
本発明は、上記課題を解決するためになされたものであり、工具交換サイクルを確実に短縮できる数値制御装置、制御プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１態様に係る数値制御装置は、工具を有した主軸を回転駆動する主軸駆動手段と、前記主軸を回転可能に支持する主軸ヘッドを移動駆動する主軸ヘッド移動駆動手段と、加工プログラムに基づいて前記主軸駆動手段と前記主軸ヘッド移動駆動手段とを制御する制御手段とを備えた数値制御装置において、前記制御手段は、前記加工プログラムに基づいて、次の指令が工具交換指令であるか否かを判定する工具交換指令判定手段と、前記工具交換指令判定手段が次の指令が工具交換指令であると判定した場合に、前記主軸駆動手段によって前記主軸を所定の工具交換用停止位置に停止させる主軸オリエント動作を開始する主軸オリエント動作手段と、前記工具交換指令に従い、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、前記主軸オリエント動作手段による前記主軸オリエント動作が完了する時点において、前記主軸ヘッドが予め設定された速度で前記機械原点を通過するように、前記主軸ヘッド移動駆動手段を制御する主軸ヘッド移動制御手段とを備えている。
【０００８】
第１態様では、主軸ヘッド移動制御手段は、工具交換指令に従い、主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、主軸オリエント動作が完了する時点において、主軸ヘッドが予め設定された速度で原点を通過するように、主軸ヘッド移動駆動手段を制御する。それ故、第１態様は、工具交換サイクルを確実に短縮できる。
【０００９】
また、第１態様は、前記主軸ヘッド移動制御手段は、前記主軸ヘッドの前記原点までの移動量と、前記主軸ヘッドの移動速度が前記速度に到達するに要する時間と、前記速度とに基づき、前記主軸ヘッドが前記原点に到達するに要する時間である原点到達所要時間を算出する原点到達所要時間算出手段と、前記主軸の回転速度に基づき、前記主軸オリエント動作手段が前記主軸オリエント動作を完了するに要する時間であるオリエント所要時間を推定するオリエント所要時間推定手段と、前記原点到達所要時間算出手段によって算出された前記原点到達所要時間と、前記オリエント所要時間推定手段によって推定された前記オリエント所要時間とに基づき、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが前記原点への移動を開始する時期を決定する移動開始時期決定手段とを備えてもよい。移動開始時期決定手段は、原点到達所要時間算出手段が算出した原点到達所要時間と、オリエント所要時間推定手段が推定したオリエント所要時間とに基づき、主軸ヘッド移動駆動手段によって主軸ヘッドが原点への移動を開始する時期を決定できる。それ故、主軸オリエント動作が完了する時点において、主軸ヘッドは予め設定された速度で原点を通過できる。
【００１０】
本発明の第２態様に係る制御プログラムは、工具を有した主軸を回転駆動する主軸駆動手段と、前記主軸を回転可能に支持する主軸ヘッドを移動制御する主軸ヘッド移動駆動手段と、加工プログラムに基づいて前記主軸駆動手段と前記主軸ヘッド移動駆動手段とを制御する制御手段とを備えた数値制御装置における前記制御手段を機能させる制御プログラムであって、コンピュータに、前記加工プログラムに基づいて、次の指令が工具交換指令であるか否かを判定する工具交換指令判定ステップと、前記工具交換指令判定ステップにおいて次の指令が工具交換指令であると判定した場合に、前記主軸駆動手段によって前記主軸を所定の工具交換用停止位置に停止させる主軸オリエント動作を開始する主軸オリエント動作ステップと、前記工具交換指令に従い、前記主軸ヘッド移動駆動手段によって前記主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、前記主軸オリエント動作ステップにおける前記主軸オリエント動作が完了する時点において、前記主軸ヘッドが予め設定された速度で前記機械原点を通過するように、前記主軸ヘッドの移動を制御する主軸ヘッド移動制御ステップとを実行させることを特徴とする。
【００１１】
第２態様では、主軸ヘッド移動制御ステップは、工具交換指令に従い、主軸ヘッドが工作機械の機械原点を通過し、工具交換位置まで移動する過程で、主軸オリエント動作が完了する時点において、主軸ヘッドが予め設定された速度で原点を通過するように、主軸ヘッド移動駆動手段を制御する。それ故、第２態様は、コンピュータが本制御プログラムを実行することによって、工具交換サイクルを確実に短縮できる。
【００１２】
本発明の第３態様に係る記憶媒体は、請求項３に記載の制御プログラムを記憶したことを特徴とする。
【００１３】
第３態様では、請求項３に記載の制御プログラムを記憶している。故に、コンピュータが制御プログラムを実行することで、第２態様に記載の効果を得ることができる。
【図面の簡単な説明】
【００１４】
【図１】工作機械１の斜視図である。
【図２】工作機械１及び数値制御装置３０の電気的構成を示すブロック図である。
【図３】Ｚ軸と平行な穴を切削加工する際の切削動作と早送り動作の説明図である。
【図４】図３の場合の主軸回転速度とＺ軸送り速度のタイミングチャートである。
【図５】ＣＰＵ３１によるメイン処理のフローチャートである。
【図６】工具交換処理のフローチャートである。
【図７】Ｚ軸上昇処理のフローチャートである。
【図８】Ｚ軸上昇処理の変形例のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態である数値制御装置３０について、図面を参照して説明する。数値制御装置３０は、加工プログラムに基づき、図１に示す工作機械１の軸移動、切削動作、工具交換動作等を制御する。工作機械１は、被加工物と工具との相対移動により、被加工物を切削する。
【００１６】
工作機械１の構造について簡単に説明する。図１に示すように、工作機械１は、鉄製のベース２と、該ベース２の上部に位置し、ワークを切削する機械本体３と、該機械本体３の上部に位置し、機械本体３の主軸９に装着する工具Ｔの交換を行う工具交換装置２０と、前記機械本体３及び工具交換装置２０の周囲を取り囲むスプラッシュカバー（図示省略）とを備えている。
【００１７】
工作機械１は、スプラッシュカバーの前面に操作パネル（図示省略）を設けている。操作パネルは、入力部２４（図２参照）、及び表示器２５（液晶ディスプレイ）（図２参照）を備えている。作業者は、表示器２５の表示情報を確認し、入力部２４により、加工プログラム、工具の種類、工具情報、及び各種パラメータ等を入力する。
【００１８】
機械本体３の構成について簡単に説明する。図１に示すように、機械本体３は、角柱状のコラム５と、主軸ヘッド（図示省略）と、主軸９と、テーブル１０等を備えている。コラム５は、ベース２の上部後方に立設する。主軸ヘッドは、コラム５の前面に沿って昇降する。主軸ヘッドは、Ｚ軸モータ５３（図２参照）の駆動により、Ｚ軸方向に移動する。主軸９は、主軸ヘッドの下部に設けてある。主軸９は、工具Ｔを装着する装着穴（図示省略）を有し、主軸モータ５４（図２参照）の駆動により回転する。テーブル１０は、ベース２の上部中央に設けてある。テーブル１０は、Ｘ軸モータ５１（図２参照）、Ｙ軸モータ５２（図２参照）、ガイド機構（図示省略）によって、ＸＹ軸方向に移動する。数値制御装置３０は、コラム５の背面側に位置する制御箱６に格納している。
【００１９】
テーブル１０の移動機構について説明する。図１に示すように、テーブル１０は、下部に直方体状の支持台１２を設けている。支持台１２は、上面にＸ軸方向（機械本体３の左右方向）に延びる一対のＸ軸送りガイド（図示省略）を備えている。一対のＸ軸送りガイドは、テーブル１０を移動可能に支持している。
【００２０】
ベース２は、上部にＹ軸方向（機械本体３の奥行き方向）に延びる一対のＹ軸送りガイド（図示省略）を備えている。一対のＹ軸送りガイドは、ベース２の長手方向に沿って延設している。一対のＹ軸送りガイドは、支持台１２を移動可能に支持している。
【００２１】
ベース２は、上部にＹ軸モータ５２（図２参照）を備えている。Ｙ軸モータ５２（図２参照）は、テーブル１０をＹ軸送りガイドに沿ってＹ軸方向に移動駆動する。支持台１２は、上部にＸ軸モータ５１（図２参照）を備えている。Ｘ軸モータ５１は、テーブル１０をＸ軸送りガイドに沿ってＸ軸方向に移動駆動する。Ｘ軸モータ５１及びＹ軸モータ５２は、サーボモータである。
【００２２】
Ｘ軸送りガイドは、テレスコピック式に収縮するテレスコピックカバー１３，１４を、テーブル１０の左右両側に備えている。Ｙ軸送りガイドは、テレスコピックカバー１５及びＹ軸後ろカバーを、支持台１２の前後に備えている。テレスコピックカバー１３，１４，１５、及びＹ軸後ろカバーは、Ｘ軸送りガイド及びＹ軸送りガイドを常に覆っている。故に、工作機械１は、加工領域から飛散する切粉、及びクーラント液の飛沫等が各軸送りガイド上に落下するのを防止できる。
【００２３】
主軸ヘッドの昇降機構について説明する。図１に示すように、主軸ヘッドは、コラム５の前面側において上下方向に延設したガイドレール（図示外）に、リニアガイドを介して昇降自在に支持している。主軸ヘッドは、コラム５の前面側において上下方向に延設した送りネジ（図示省略）にナット（図示省略）で連結している。Ｚ軸モータ５３（図２参照）は、送りネジを正逆方向に回転駆動する。故に、主軸ヘッドは、上下方向に昇降する。
【００２４】
主軸９について説明する。図１に示すように、主軸ヘッドは、上部に主軸モータ５４を備えている。主軸モータ５４は、主軸９を回転駆動する。主軸９の先端側部分は、先端に向かって拡径するホルダ取付穴（図示略）を備えている。
【００２５】
工具交換装置２０の構成について説明する。図１に示すように、工具交換装置２０は、タレット式の工具マガジン２１を備えている。工具マガジン２１は円盤状である。工具マガジン２１は、マガジンモータ５５（図２参照）の駆動により、軸周りに旋回する。工具マガジン２１は、外周上に２１個のポットＰを周方向に備えている。作業者は、ポットＰに工具Ｔを着脱する。
【００２６】
工作機械１及び数値制御装置３０の電気的構成について説明する。図２に示すように、工作機械１は、数値制御装置３０を備えている。数値制御装置３０は、ＣＰＵ３１と、ＲＯＭ３２と、ＲＡＭ３３と、フラッシュメモリ３５と、入出力インタフェース３４と、軸制御回路４１ａ〜４５ａと、サーボアンプ４１〜４４と、微分器５１ｂ〜５４ｂ等を備えている。サーボアンプ４１〜４４は、Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、主軸モータ５４に接続している。軸制御回路４５ａは、マガジンモータ５５に接続している。
【００２７】
ＲＯＭ３２は、加工プログラムを解析して実行する本発明の制御プログラム等を記憶している。ＲＡＭ３３は、後述する制御プログラムの実行中に算出した値等を一時的に記憶する。フラッシュメモリ３５は、作業者が入力して登録した種々の加工プログラムの他、主軸ヘッドの加速度等を記憶している。
【００２８】
Ｘ軸モータ５１及びＹ軸モータ５２は、テーブル１０をＸ軸方向、Ｙ軸方向に移動駆動する。Ｚ軸モータ５３は、主軸ヘッドをＺ軸方向に移動駆動する。マガジンモータ５５は工具マガジン２１を回転移動する。主軸モータ５４は、主軸９を回転駆動する。Ｘ軸モータ５１、Ｙ軸モータ５２、Ｚ軸モータ５３、及び主軸モータ５４は、エンコーダ５１ａ〜５４ａを備えている。
【００２９】
軸制御回路４１ａ〜４４ａは、ＣＰＵ３１からの移動指令量を受けて、電流指令量（トルク指令値）をサーボアンプ４１〜４４に出力する。サーボアンプ４１〜４４は、この指令を受けてモータ５１〜５４に駆動電流を出力する。エンコーダ５１ａ〜５４ａは、軸制御回路４１ａ〜４４ａに位置フィードバック信号を入力する。軸制御回路４１ａ〜４４ａは、位置のフィードバック制御を行う。微分器５１ｂ〜５４ｂは、エンコーダ５１ａ〜５４ａが入力した位置フィードバック信号を微分して速度フィードバック信号に変換し、軸制御回路４１ａ〜４４ａに速度フィードバック信号を出力する。軸制御回路４１ａ〜４４ａは、速度フィードバックの制御を行う。
【００３０】
電流検出器４１ｂ〜４４ｂは、サーボアンプ４１〜４４がモータ５１〜５４に出力する駆動電流を検出する。電流検出器４１ｂ〜４４ｂが検出した駆動電流は、軸制御回路４１ａ〜４４ａにフィードバックする。軸制御回路４１ａ〜４４ａは、フィードバックした駆動電流によって電流（トルク）制御を行う。
【００３１】
軸制御回路４５ａは、ＣＰＵ３１からの移動指令量を受けてマガジンモータ５５を駆動する。入力部２４及び表示器２５は、入出力インタフェース３４に接続している。Ｘ軸モータ５１と、Ｙ軸モータ５２と、Ｚ軸モータ５３とが本発明の「送り軸駆動手段」に相当し、Ｚ軸モータ５３は、本発明の「主軸ヘッド移動駆動手段」にも相当する。主軸モータ５４は、本発明の「主軸駆動手段」に相当する。
【００３２】
Ｚ軸に平行な複数の縦向きの穴(以下、縦穴という)を所定間隔おきに被加工物に形成する場合の軸移動について説明する。図３は、先の工具交換後から次の工具交換までに複数の縦穴を被加工物に形成する加工プログラムを実行した場合の主軸ヘッドの切削動作（穴加工）と早送り動作（Ｚ軸の早送り）とを示している。図３中実線の矢印は、早送りを示している。図３中点線の矢印は、穴加工を示している。
【００３３】
図３に示すように、複数の縦穴を切削加工する場合、ＣＰＵ３１は、主軸ヘッドのＺ軸原点への早送り（Ｐ０）、イニシャル点（加工復帰高さ位置）への早送り（Ｐ１）、Ｒ点(加工開始高さ位置)への早送り（Ｐ２）、縦穴の切削送り（Ｐ３）、Ｚ軸上昇早送り（Ｐ４）、加工復帰高さ位置への復帰後におけるＸ軸及び／又はＹ軸早送り（Ｐ５）、Ｚ軸下降早送り（Ｐ６）、穴の切削送り（Ｐ７）の順で、主軸ヘッドの移動制御を行う。「切削送り」とは、加工プログラムの切削指令で設定された速度で主軸ヘッドを駆動することを意味する。「早送り」とは、予め設定された切削送りよりも速い速度で主軸ヘッドを駆動することを意味する。
【００３４】
最後の縦穴を切削加工し、主軸ヘッド（Ｚ軸）が工具交換位置へ移動する際の軸移動について説明する。
【００３５】
図３に示すように、ＣＰＵ３１は、Ｚ軸モータ５３により、イニシャル点からＲ点まで主軸ヘッドが下降する「Ｚ軸下降早送りＡ」を実行する。Ｒ点は、切削加工指令に基づき、切削送りを開始する位置である。ＣＰＵ３１は、加工プログラムの制御指令に基づき、Ｚ軸モータ５３を所定の切削送り速度でＲ点から穴底まで切削する「切削送りＢ」を実行する。
【００３６】
ＣＰＵ３１は、切削加工が終了したら、所定の主軸回転速度を維持したまま、穴底である切削完了位置からイニシャル点まで主軸ヘッドが上昇する「Ｚ軸上昇早送りＣ」を実行する。
【００３７】
ＣＰＵ３１は、イニシャル点からＺ軸原点まで主軸ヘッドが上昇する「Ｚ軸上昇早送りＤ」を実行する。このとき、主軸９の回転は停止し、主軸９は工具交換用停止位置に停止する。ＣＰＵ３１は、Ｚ軸原点から工具交換位置まで主軸ヘッドが上昇する「Ｚ軸上昇早送りＥ」を実行する。主軸ヘッドは、工具交換位置に達する。ＣＰＵ３１は、工具交換装置２０により工具交換を実行する。
【００３８】
本実施形態では、主軸オリエント動作が完了する時点において、主軸ヘッドがＺ軸原点を予め設定した速度（最高速度）で通過し、工具交換位置まで移動するように、主軸ヘッドの上昇動作のタイミングを制御する。故に、工具交換開始から工具交換位置までの移動に要する時間を短縮できるので、工具交換サイクルを短縮できる。
【００３９】
主軸ヘッドの上昇動作のタイミングについて、図３，図４を参照して説明する。本実施形態は、主軸ヘッドの加減速の時定数に基づき、Ｚ軸上昇早送りＤ，Ｅの開始タイミングを制御する。時定数とは、主軸ヘッドのＺ軸送り速度が零から最高速度（又は最高速度から零）に達するのに要する時間である。図４は、主軸ヘッドが下降する場合のＺ軸送り速度を負に、主軸ヘッドが上昇する場合のＺ軸送り速度を正にしている。
【００４０】
図４に示すように、時間ｔ０〜ｔ１の間において、Ｚ軸下降早送りＡを実行する。時間ｔ１〜ｔ２の間において、切削送りＢを実行する。この間、主軸回転速度は一定に維持する。
【００４１】
時間ｔ２で、Ｚ軸上昇早送りＣの実行を開始する。Ｚ軸送り速度は、零から所定の加速度で上昇し、時間ｔ３で最高速度に達する。
【００４２】
時間ｔ４で、Ｚ軸上昇早送りＣの減速を開始すると同時に、主軸オリエント動作を開始する。主軸回転速度は減速を開始する。
【００４３】
ケース１のように、時間ｔ４で、主軸オリエント動作と同時にＺ軸上昇早送りＤを開始すると、主軸オリエント動作にかかる時間（オリエント所要時間：時間Ｔｓと呼ぶ）が、Ｚ軸上昇早送りＤにかかる時間（Ｚ軸原点上昇所要時間：時間Ｔｚと呼ぶ）以下である場合は問題ない。Ｚ軸上昇早送りＤが終了して、主軸ヘッドがＺ軸原点に達する前に、主軸オリエント動作が既に完了している。故に、Ｚ軸上昇早送りＥを速やかに実行できる。
【００４４】
しかしながら、時間Ｔｓが時間Ｔｚよりも長い場合は不都合が生じる。ケース１のように、時間ｔ４で、主軸オリエント動作と同時にＺ軸下降早送りＤを開始すると、Ｚ軸下降早送りＤが完了する時点において、主軸オリエント動作はまだ完了していない。主軸オリエント動作が完了するまでは、Ｚ軸上昇早送りＥを開始できずに待機状態となる。主軸オリエント動作が完了する時間ｔ８でＺ軸上昇早送りＥを開始できる。Ｚ軸上昇早送りＤが終了してから主軸オリエント動作が完了するまでの待機時間が無駄である。
【００４５】
本実施形態は、ケース２のように、時間ｔ４から時間［Ｔｓ−Ｔｚ］が経過する時間ｔ６で、Ｚ軸上昇早送りＤを開始する。Ｚ軸上昇早送りＤは、時間［Ｔｓ−Ｔｚ］だけ遅延する。Ｚ軸上昇早送りＤは、時間ｔ７でＺ軸送り速度の減速を開始する。主軸オリエント動作が完了する時間ｔ８では、Ｚ軸上昇早送りＤにおいてＺ軸送り速度が減速する時定数の１／２を残している。
【００４６】
時間ｔ８よりも時定数の１／２前の時間ｔ７で、Ｚ軸上昇早送りＥを開始する。時間ｔ７で、Ｚ軸上昇早送りＤの減速が開始すると同時に、Ｚ軸上昇早送りＥの加速が開始する。Ｚ軸上昇早送りＤの時定数の減速分（時間ｔ７〜時間ｔ９）を、Ｚ軸上昇早送りＥの時定数の加速分で補うことができる。故に、主軸オリエント動作が完了する時間ｔ８において、主軸ヘッドは、減速することなく最高速度でＺ軸原点を通過できる。Ｚ軸上昇早送りＥは、時間ｔ１０で完了する。
【００４７】
ケース２は、ケース１と比較して、Ｚ軸上昇早送りＥを開始する時期を時定数の１／２に相当する時間だけ早くしている。故に、工具交換を開始して主軸ヘッドを工具交換位置にまで上昇させるに要する時間を、ケース１に比較して、時定数の１／２に相当する時間だけ短縮できる。
【００４８】
ＣＰＵ３１による制御処理について、図５乃至図７のフローチャートを参照して説明する。作業者は、操作パネルの入力部２４（図２参照）により、加工プログラム実行の指示を入力する。ＣＰＵ３１は、フラッシュメモリ３５（図２参照）に記憶した加工プログラムを読み込んで実行する。
【００４９】
図５に示すように、ＣＰＵ３１は、加工ブロックの１ブロックを解釈する（Ｓ１１）。ＣＰＵ３１は、解釈した１ブロックの制御コマンドが終了コマンド（Ｍ３０）か否かを判断する（Ｓ１２）。ＣＰＵ３１は、制御コマンドがＭ３０であると判断した場合（Ｓ１２：ＹＥＳ）、処理を終了する。ＣＰＵ３１は、制御コマンドがＭ３０でないと判断した場合（Ｓ１２：ＮＯ）、制御コマンドが工具交換指令か否か判断する（Ｓ１３）。ＣＰＵ３１は、制御コマンドが工具交換指令と判断した場合（Ｓ１３：ＹＥＳ）、工具交換処理を行う（Ｓ１５）。ＣＰＵ３１は、制御コマンドが工具交換指令でないと判断した場合（Ｓ１３：ＮＯ）、制御コマンドは軸移動指令、又は切削指令等であるので、制御指令に従って処理を実行する（Ｓ１４）。ＣＰＵ３１は、解釈するブロックを次ブロックに移動し（Ｓ１６）、Ｓ１１に戻り、処理を繰り返す。
【００５０】
工具交換処理について説明する。図６に示すように、ＣＰＵ３１は、Ｚ軸上昇処理を実行する（Ｓ２１）。Ｚ軸上昇処理は、主軸ヘッドがイニシャル点から工具交換位置まで上昇する処理である。ＣＰＵ３１は、Ｚ軸上昇処理が終了すると、マガジン割出処理を実行する（Ｓ２２）。マガジン割出処理は、工具交換指令が指定する工具を、工具マガジン２１が格納する工具から割り出し、工具交換位置まで上昇した主軸ヘッドの主軸９に装着した工具と交換する処理である。ＣＰＵ３１は、マガジン割出処理が終了すると、Ｚ軸下降処理を実行する（Ｓ２３）。Ｚ軸下降処理は、主軸ヘッドを工具交換位置からイニシャル点まで下降する処理である。ＣＰＵ３１は、Ｚ軸下降処理が終了すると、工具交換処理を終了し、メインフローに戻る。
【００５１】
Ｚ軸上昇処理について説明する。図７に示すように、ＣＰＵ３１は、タイマカウンタを初期化する（Ｓ３１）。タイマカウンタは、タイマ３６（図２参照）の出力を利用して、時間［Ｔｓ−Ｔｚ］を計測する際に利用する。
【００５２】
ＣＰＵ３１は、主軸９の回転速度を検出する（Ｓ３２）。ＣＰＵ３１は、フラッシュメモリ３５に記憶した主軸加速度に基づき、検出した回転速度に対応する時間Ｔｓを決定する（Ｓ３３）。回転速度が速ければ速いほど、時間Ｔｓは長くなる。回転速度が遅ければ遅いほど、時間Ｔｓは短くなる。
【００５３】
ＣＰＵ３１は、時間Ｔｚを算出する（Ｓ３４）。ＣＰＵ３１は、時間Ｔｚを、イニシャル点からＺ軸原点までの距離と、時定数と、予め設定されたＺ軸送り速度（最高速度）とに基づき、算出する。ＣＰＵ３１は、Ｓ３２で決定した時間Ｔｓと、Ｓ３３で算出した時間Ｔｚとに基づき、時間Ｔｓは時間Ｔｚ以下か否かを判断する（Ｓ３５）。
【００５４】
ＣＰＵ３１は、時間Ｔｓが時間Ｔｚ以下と判断した場合（Ｓ３５：ＹＥＳ）、Ｚ軸原点上昇動作と、主軸オリエント動作を同時に開始する（Ｓ３６）。
【００５５】
ＣＰＵ３１は、Ｚ軸原点上昇中であって、Ｚ軸送り速度が減速を開始したか否かを判断する（Ｓ４２）。ＣＰＵ３１は、Ｚ軸送り速度が減速を開始していないと判断した場合（Ｓ４２：ＮＯ）、Ｓ４２に戻って待機状態となる。ＣＰＵ３１は、Ｚ軸送り速度が減速を開始したと判断した場合（Ｓ４２：ＹＥＳ）、Ｚ軸ＡＴＣ原点上昇動作を開始する（Ｓ４３）。Ｚ軸ＡＴＣ原点とは、工具交換位置である。Ｚ軸原点上昇中においてＺ軸送り速度が減速すると同時に、Ｚ軸ＡＴＣ原点上昇動作においてＺ軸送り速度が加速する。故に、主軸ヘッドはＺ軸原点を最高速度で通過する。主軸ヘッドは、減速動作を開始し、工具交換位置で停止する。ＣＰＵ３１は、Ｚ軸ＡＴＣ原点上昇動作を終了し（Ｓ４４）、図６のＳ２２に移行する。
【００５６】
ＣＰＵ３１は、時間Ｔｓが時間Ｔｚよりも長いと判断した場合（Ｓ３５：ＮＯ）、時間［Ｔｓ−Ｔｚ］を算出する（Ｓ３７）。ＣＰＵ３１は、算出した時間［Ｔｓ−Ｔｚ］を、ＲＡＭ３３（図２参照）に記憶する。ＣＰＵ３１は、主軸オリエント動作を開始する（Ｓ３８）。ＣＰＵ３１は、タイマ３６の出力を利用してタイマカウンタによる主軸オリエント動作の経過時間の計測を開始する（Ｓ３９）。
【００５７】
ＣＰＵ３１は、時間［Ｔｓ−Ｔｚ］を経過したか否かを判断する（Ｓ４０）。ＣＰＵ３１は、時間［Ｔｓ−Ｔｚ］を経過するまでは（Ｓ４０：ＮＯ）、Ｓ４０に戻り、待機状態となる。ＣＰＵ３１は、時間［Ｔｓ−Ｔｚ］を経過したと判断した場合（Ｓ４０：ＹＥＳ）、Ｚ軸原点上昇動作を開始する（Ｓ４１）。
【００５８】
ＣＰＵ３１は、Ｚ軸原点上昇中であって、Ｚ軸送り速度が減速を開始したか否かを判断する（Ｓ４２）。ＣＰＵ３１は、Ｚ軸送り速度の減速をまだ開始していないと判断した場合（Ｓ４２：ＮＯ）、Ｓ４２に戻って待機状態となる。ＣＰＵ３１は、Ｚ軸送り速度が減速動作を開始したと判断した場合（Ｓ４２：ＹＥＳ）、Ｚ軸ＡＴＣ原点上昇動作を開始する（Ｓ４３）。Ｚ軸原点上昇中においてＺ軸送り速度が減速すると同時に、Ｚ軸ＡＴＣ原点上昇動作においてＺ軸送り速度が加速する。故に、主軸ヘッドはＺ軸原点を最高速度で通過する。主軸ヘッドは、減速動作を開始し、工具交換位置で停止する。ＣＰＵ３１は、Ｚ軸ＡＴＣ原点上昇動作を終了し（Ｓ４４）、図６のＳ２２に戻る。
【００５９】
なお、以上説明において、図５に示すＳ１３の処理を実行するＣＰＵ３１は、本発明の「工具交換指令判定手段」に相当する。Ｓ３３の処理を実行するＣＰＵ３１は、本発明の「オリエント所要時間推定手段」に相当する。Ｓ３４の処理を実行するＣＰＵ３１は、本発明の「原点到達所要時間算出手段」に相当する。Ｓ３５、Ｓ３６、Ｓ３７〜Ｓ４１の処理を実行するＣＰＵ３１は、本発明の「移動開始時期決定手段」に相当する。
【００６０】
以上説明したように、本実施形態の数値制御装置３０は、主軸オリエント動作が完了する時点において、主軸ヘッドがＺ軸原点を最高速度で通過して工具交換位置まで移動するように、主軸ヘッドの上昇動作のタイミングを制御する。工具交換開始から工具交換位置までの移動に要する時間を短縮できる。故に、工具交換サイクルを短縮できる。
【００６１】
なお、本発明の数値制御装置、制御プログラム及び記憶媒体は、上記実施形態に限らず、各種の変形が可能なことはいうまでもない。上記実施形態では、Ｚ軸原点上昇動作の開始タイミングを、オリエント所要時間（Ｔｓ）と、Ｚ軸原点上昇所要時間（Ｔｚ）との比較に基づき、Ｚ軸原点上昇動作の開始タイミングを決定している。
【００６２】
例えば、主軸ヘッドの現在位置からオリエント完了位置までの残距離（Ｌｓ）と、Ｚ軸原点上昇に必要な主軸ヘッドの移動距離（Ｌｚ）との比較に基づき、Ｚ軸原点上昇動作の開始タイミングを決定することもできる。
【００６３】
本変形例の場合、フラッシュメモリ３５（図２参照）にオリエント残距離テーブル（図示省略）を記憶している。オリエント残距離テーブルは、主軸オリエント動作中の主軸回転数から主軸オリエント動作が完了するまでの残距離（Ｌｓ）とを対応づけて記憶している。
【００６４】
ＣＰＵ３１によるＺ軸上昇処理の変形例について、図８のフローチャートを参照して説明する。ＣＰＵ３１は、主軸９の回転速度を検出する（Ｓ５１）。ＣＰＵ３１は、フラッシュメモリ３５に記憶したオリエント残距離テーブルに基づき、検出した回転速度に対応する残距離（以下、Ｌｓ距離と呼ぶ）を決定する（Ｓ５２）。
【００６５】
ＣＰＵ３１は、時間Ｔｚを算出する（Ｓ５３）。時間Ｔｚの算出方法は、上記実施形態の方法と同じである。ＣＰＵ３１は、算出した時間Ｔｚから、主軸オリエント完了までに必要な主軸の移動必要距離Ｌｚ（以下、Ｌｚ距離と呼ぶ）を算出する（Ｓ５４）。ＣＰＵ３１は、算出したＬｚ距離を、ＲＡＭ３３（図２参照）に記憶する。ＣＰＵ３１は、Ｓ５２で決定したＬｓ距離と、Ｓ５４で算出したＬｚ距離とに基づき、Ｌｓ距離はＬｚ距離以下か否かを判断する（Ｓ５５）。
【００６６】
ＣＰＵ３１は、Ｌｓ距離がＬｚ距離以下と判断した場合（Ｓ５５：ＹＥＳ）、Ｚ軸原点上昇動作と、主軸オリエント動作を同時に開始する（Ｓ５６）。
【００６７】
ＣＰＵ３１は、Ｚ軸原点上昇中であって、Ｚ軸送り速度が減速を開始したか否かを判断する（Ｓ６２）。ＣＰＵ３１は、Ｚ軸送り速度が減速をまだ開始していないと判断した場合（Ｓ６２：ＮＯ）、Ｓ６２に戻って待機状態となる。ＣＰＵ３１は、Ｚ軸送り速度が減速動作を開始したと判断した場合（Ｓ６２：ＹＥＳ）、Ｚ軸ＡＴＣ原点上昇動作を開始する（Ｓ６３）。Ｚ軸原点上昇中においてＺ軸送り速度が減速すると同時に、Ｚ軸ＡＴＣ原点上昇動作においてＺ軸送り速度が加速する。故に、主軸ヘッドはＺ軸原点を最高速度で通過する。主軸ヘッドは、減速動作を開始し、工具交換位置で停止する。ＣＰＵ３１は、Ｚ軸ＡＴＣ原点上昇動作を終了し（Ｓ６４）、図６のＳ２２に移行する。
【００６８】
Ｌｓ距離がＬｚ距離よりも長いと判断した場合（Ｓ５５：ＮＯ）、主軸オリエント動作のみ開始する（Ｓ５７）。現在の主軸９の回転速度を検出する（Ｓ５８）。フラッシュメモリ３５に記憶したオリエント残距離テーブルに基づき、検出した回転速度に対応するＬｓ距離を決定する（Ｓ５９）。Ｌｓ距離はＬｚ距離以下か否かを判断する（Ｓ６０）。Ｌｓ距離がＬｚ距離以下でない場合（Ｓ６０：ＮＯ）、Ｓ５８に戻る。Ｌｓ距離がＬｚ距離以下になった場合（Ｓ６０：ＹＥＳ）、Ｚ軸原点上昇動作を開始する（Ｓ６１）。
【００６９】
Ｚ軸原点上昇中であって、Ｚ軸送り速度が減速を開始したか否かを判断する（Ｓ６２）。Ｚ軸送り速度の減速をまだ開始していない場合（Ｓ６２：ＮＯ）、Ｓ６２に戻って待機状態となる。減速動作を開始した場合（Ｓ６２：ＹＥＳ）、Ｚ軸ＡＴＣ原点上昇動作を開始する（Ｓ６３）。Ｚ軸原点上昇中においてＺ軸送り速度が減速すると同時に、Ｚ軸ＡＴＣ原点上昇動作においてＺ軸送り速度が加速するので、主軸ヘッドはＺ軸原点を最高速度で通過する。主軸ヘッドは、減速動作を開始し、工具交換位置で停止する。ＣＰＵ３１は、Ｚ軸ＡＴＣ原点上昇動作を終了し（Ｓ６４）、図６のＳ２２に戻る。
【００７０】
上記実施形態である数値制御装置３０は、縦型の工作機械１を制御するものであるが、本発明は横型の工作機械にも適用可能である。
【符号の説明】
【００７１】
１  工作機械
９  主軸
１０  テーブル
２０  工具交換装置
３０  数値制御装置
３１  ＣＰＵ
３２  ＲＯＭ 
３３  ＲＡＭ
３５  フラッシュメモリ
５１  Ｘ軸モータ
５２  Ｙ軸モータ
５３  Ｚ軸モータ
５４  主軸モータ
５５  マガジンモータ
【図１】
0005482639.tif 000002
【図２】
0005482639.tif 000003
【図３】
0005482639.tif 000004
【図４】
0005482639.tif 000005
【図５】
0005482639.tif 000006
【図６】
0005482639.tif 000007
【図７】
0005482639.tif 000008
【図８】
0005482639.tif 000009