(57)【要約】【課題】工具ホルダの装着状態の判定精度を向上できる数値制御装置と装着判定方法を提供する。【解決手段】主軸ヘッド７に回転可能に設けた主軸９と、主軸９に設け、クランプバネのばね力により工具ホルダ１７を主軸９にクランプするドローバ６９と、工具ホルダ１７を収納するマガジン２１と、直線部６６Ｂと傾斜部６６Ａとでカム面を構成したアンクランプカム６６とアンクランプカム６６に摺接するアンクランプローラ６７とを備え主軸９に対する工具ホルダ１７のクランプ状態をクランプバネのばね力に抗し解除するアンクランプ操作部とを備える。アンクランプ操作部に作用する、主軸ヘッド７の各位置におけるクランプバネのばね力とアンクランプローラ６７がアンクランプカム６６の直線部６６Ｂに接している時の主軸ヘッド７の任意の位置におけるクランプバネのばね力との差分に基づき、工具ホルダ１７の装着状態を判定する。【選択図】図２
2018205891.tif 000002
【特許請求の範囲】
【請求項１】
主軸ヘッドに回転可能に設けた主軸と、前記主軸に設け、クランプバネのばね力により工具ホルダを前記主軸にクランプするドローバと、前記工具ホルダを収納するマガジンと、前記主軸の移動方向に直線的に延設した直線部と前記直線部の端部から前記主軸ヘッド側又は前記マガジン側に傾斜した傾斜部とでカム面を構成したアンクランプカムと前記アンクランプカムに摺接するアンクランプローラとを備え前記主軸に対する前記工具ホルダのクランプ状態を前記クランプバネのばね力に抗し解除するアンクランプ操作部と、を備えた工作機械の数値制御装置において、
前記アンクランプ操作部に作用する、前記主軸ヘッドの各位置における前記クランプバネのばね力を検出する検出部と、
前記検出部が検出したばね力と前記アンクランプローラが前記アンクランプカムの前記直線部に接している時の前記主軸ヘッドの任意の位置である第一位置における前記クランプバネのばね力との第一差分を算出する算出部と、
前記算出部が算出した前記第一差分に基づき、前記工具ホルダの装着状態を判定する判定部と、を備えたことを特徴とする数値制御装置。
【請求項２】
前記アンクランプ操作部は更にアンクランプピンを備え、前記アンクランプピンを押圧することで前記クランプ状態を解除し、
前記算出部は、前記主軸に対する前記工具ホルダの前記クランプ状態が非正常である時の前記アンクランプピンの位置に対応する前記主軸ヘッドの位置と、前記主軸に対する前記工具ホルダのクランプ状態が正常である時の前記アンクランプピンの位置に対応する前記主軸ヘッドの位置と、の間の任意の位置である第二位置における前記クランプバネのばね力と前記第一位置における前記クランプバネのばね力との第二差分を算出し、
前記判定部は、前記第二差分に基づき、前記主軸に前記工具ホルダが非正常に装着しているかを判定する、ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記アンクランプ操作部は、更に、アンクランプピンを備え、前記アンクランプピンを押圧することで前記クランプ状態を解除し、
前記算出部は、前記主軸に対する前記工具ホルダのクランプ状態が正常である時の前記アンクランプピンの位置に対応する前記主軸ヘッドの位置と、前記工具ホルダが前記主軸に非装着の時の前記アンクランプピンの位置に対応する前記主軸ヘッドの位置と、の間の任意の位置である第三位置における前記クランプバネのばね力と前記第一位置における前記クランプバネのばね力との第三差分を算出し、
前記判定部は、前記第三差分に基づき、前記主軸に前記工具ホルダが正常装着しているか非装着かを判定する、ことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記第一位置と前記第一位置から前記工作機械の前記振動周波数の逆数に前記所定の係数を乗じた時間分経過した時又は遡った時の前記主軸ヘッドの位置との第一区間における前記クランプバネのばね力の第一平均値を算出する第一平均算出部を更に備え、
前記判定部は、前記第一平均値に基づき、前記工具ホルダの装着状態を判定する、ことを特徴とする請求項１に記載の数値制御装置。
【請求項５】
前記主軸ヘッドを移動するアクチュエータと、
前記検出部が検出したばね力に基づき、前記アクチュエータの電流駆動値を設定する駆動値設定部と、
前記電流駆動値の高周波成分を除去する除去部と、
を更に備え、
前記検出部は、高周波成分を除去した後の前記電流駆動値であって、前記除去部による遅延を考慮した電流駆動値に基づき、ばね力を検出する、ことを特徴とする請求項１乃至４の一に記載の数値制御装置。
【請求項６】
前記第一位置は、前記アンクランプローラが前記アンクランプカムの前記直線部に接しており且つ前記主軸ヘッドの移動加速度が一定である時の前記主軸ヘッドの任意の位置である、ことを特徴とする請求項１乃至５の一に記載の数値制御装置。
【請求項７】
前記主軸が前記工具ホルダを正常に装着していないと前記判定部が判定したときに加工動作を停止する制御部を更に備えたことを特徴とする請求項１乃至６の一に記載の数値制御装置。
【請求項８】
主軸ヘッドに回転可能に設けた主軸と、前記主軸に設け、クランプバネのばね力により工具ホルダを前記主軸にクランプするドローバと、前記工具ホルダを収納するマガジンと、前記主軸の移動方向に直線的に延設した直線部と前記直線部の端部から前記主軸ヘッド側又は前記マガジン側に傾斜した傾斜部とでカム面を構成したアンクランプカムと前記アンクランプカムに摺接するアンクランプローラとを備え前記主軸に対する前記工具ホルダのクランプ状態を前記クランプバネのばね力に抗し解除するアンクランプ操作部と、を備えた工作機械の装着判定方法において、
前記アンクランプ操作部に作用する、前記主軸ヘッドの各位置における前記クランプバネのばね力を検出し、
検出したばね力と前記アンクランプローラが前記アンクランプカムの前記直線部に接している時の前記主軸ヘッドの任意の位置における前記クランプバネのばね力との差分を算出し、
算出した前記差分に基づき、前記工具ホルダの装着状態を判定する、ことを特徴とする装着判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と装着判定方法に関する。
【背景技術】
【０００２】
特許文献１に記載の工作機械は、主軸ヘッド、アンクランプカム、アンクランプローラ等を備える。主軸ヘッドは内部に主軸を回転可能に支持する。主軸は内部にドローバを備え、一端部に工具ホルダを装着する装着部を有する。クランプバネはドローバの外周に配置し、ドローバを他端方向に付勢する。アンクランプカムは側面視略台形で、カム面は傾斜面と平坦面とで構成する。アンクランプローラはカム面を摺動する。アンクランプローラがアンクランプカムのカム面を摺動することで、主軸に対し工具ホルダの脱着を行う。
【０００３】
特許文献１に記載の数値制御装置は、工作機械の主軸ヘッドを移動するモータの電流駆動値に基づき、クランプバネのばね力を検出する。主軸ヘッドの特定の２点の位置におけるクランプバネのばね力が判定基準値を超えているかにより、数値制御装置は、工具ホルダの装着状態を判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１７８７９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の工作機械のアンクランプカムはカム面の平坦面（直線部）が必ずしも被削材を載せるテーブル面に対し垂直ではない。例えば組み立て工程において若干のバラツキが発生し、平坦面が垂直ではない場合がある。また、工作機械を使用する過程で垂直であった平坦面が垂直でなくなる場合もある。特許文献１に記載の工作機械は、カム面の平坦面が常に垂直であるとし、アンクランプローラが平坦面を摺動している時は、アンクランプローラがアンクランプカムを押す力の垂直分力がゼロであるとみなす。故に、上記数値制御装置は平坦面のバラツキを考慮していないので、工具ホルダの装着状態の判定精度が低下する可能性がある。
【０００６】
本発明の目的は、工具ホルダの装着状態の判定精度を向上できる数値制御装置と装着判定方法を提供することである。
【課題を解決するための手段】
【０００７】
請求項１の数値制御装置は、主軸ヘッドに回転可能に設けた主軸と、主軸に設け、クランプバネのばね力により工具ホルダを主軸にクランプするドローバと、工具ホルダを収納するマガジンと、主軸の移動方向に直線的に延設した直線部と直線部の端部から主軸ヘッド側又はマガジン側に傾斜した傾斜部とでカム面を構成したアンクランプカムとアンクランプカムに摺接するアンクランプローラとを備え主軸に対する工具ホルダのクランプ状態をクランプバネのばね力に抗し解除するアンクランプ操作部と、を備えた工作機械の数値制御装置において、アンクランプ操作部に作用する、主軸ヘッドの各位置におけるクランプバネのばね力を検出する検出部と、検出部が検出したばね力とアンクランプローラがアンクランプカムの直線部に接している時の主軸ヘッドの任意の位置である第一位置におけるクランプバネのばね力との第一差分を算出する算出部と、算出部が算出した第一差分に基づき、工具ホルダの装着状態を判定する判定部とを備えたことを特徴とする。アンクランプカムの直線部は必ずしも垂直ではなく、実際には微妙に垂直分力が発生する。垂直分力は工具ホルダの装着状態の判定精度に影響を与える。数値制御装置は、実際のクランプばねのばね力からアンクランプカムの直線部に接している時の主軸ヘッドの任意の位置におけるクランプばねのばね力を引いた値に基づき装着状態の判定を行う。故に、数値制御装置は、発生している垂直分力を除去できるので、従来技術と比べて工具ホルダの装着状態の判定精度を向上できる。アンクランプカムは主軸ヘッド側にあっても良い。
【０００８】
請求項２の数値制御装置は、アンクランプ操作部は更にアンクランプピンを備え、アンクランプピンを押圧することでクランプ状態を解除し、算出部は、主軸に対する工具ホルダのクランプ状態が非正常である時のアンクランプピンの位置に対応する主軸ヘッドの位置と、主軸に対する工具ホルダのクランプ状態が正常である時のアンクランプピンの位置に対応する主軸ヘッドの位置と、の間の任意の位置である第二位置におけるクランプバネのばね力と第一位置におけるクランプバネのばね力との第二差分を算出し、判定部は、第二差分に基づき、主軸に工具ホルダが非正常に装着しているかを判定する。数値制御装置は、請求項１の効果と同様の効果を奏すると共に、工具ホルダが非正常に装着しているかをより精度良く判定できる。
【０００９】
請求項３の数値制御装置は、アンクランプ操作部は、更に、アンクランプピンを備え、アンクランプピンを押圧することでクランプ状態を解除し、算出部は、主軸に対する工具ホルダのクランプ状態が正常である時のアンクランプピンの位置に対応する主軸ヘッドの位置と、工具ホルダが主軸に非装着の時のアンクランプピンの位置に対応する主軸ヘッドの位置と、の間の任意の位置である第三位置におけるクランプバネのばね力と第一位置におけるクランプバネのばね力との第三差分を算出し、判定部は、第三差分に基づき、主軸に工具ホルダが正常装着しているか非装着かを判定する。数値制御装置は、請求項１の効果と同様の効果を奏すると共に、工具ホルダが正常装着しているか非装着かをより精度良く判定できる。
【００１０】
請求項４の数値制御装置の、第一位置と第一位置から工作機械の振動周波数の逆数に所定の係数を乗じた時間分経過した時又は遡った時の主軸ヘッドの位置との第一区間におけるクランプバネのばね力の第一平均値を算出する第一平均算出部を更に備え、判定部は、第一平均値に基づき、工具ホルダの装着状態を判定する。数値制御装置は、機械振動がある場合でも、精度良く工具ホルダの装着状態の判定ができる。
【００１１】
請求項５の数値制御装置は、主軸ヘッドを移動するアクチュエータと、検出部が検出したばね力に基づき、アクチュエータの電流駆動値を設定する駆動値設定部と、電流駆動値の高周波成分を除去する除去部とを更に備え、検出部は、高周波成分を除去した後の電流駆動値であって、除去部による遅延を考慮した電流駆動値に基づき、ばね力を検出する。数値制御装置は、高周波成分を除去することでより適切な電流駆動値を設定できる。故に、数値制御装置は、より精度良く工具ホルダの装着状態の判定ができる。
【００１２】
請求項６の数値制御装置において、第一位置は、アンクランプローラがアンクランプカムの直線部に接しており且つ主軸ヘッドの移動加速度が一定である時の主軸ヘッドの任意の位置である。移動加速度が変化する主軸ヘッドの位置におけるばね力を用いると工具ホルダの装着状態の判定精度が落ちる。故に、数値制御装置は、主軸ヘッドの移動加速度が一定である主軸ヘッドの位置のばね力に基づき、判定することで装着状態の判定精度を向上できる。
【００１３】
請求項７の数値制御装置は、主軸が工具ホルダを正常に装着していないと判定部が判定したときに加工動作を停止する制御部を更に備える。数値制御装置は、工具ホルダが正常に装着されているときのみ加工動作するため、加工不良などを防ぎ、稼働効率を向上できる。
【００１４】
請求項８の装着判定方法は、主軸ヘッドに回転可能に設けた主軸と、主軸に設け、クランプバネのばね力により工具ホルダを主軸にクランプするドローバと、工具ホルダを収納するマガジンと、主軸の移動方向に直線的に延設した直線部と直線部の端部から主軸ヘッド側又はマガジン側に傾斜した傾斜部とでカム面を構成したアンクランプカムとアンクランプカムに摺接するアンクランプローラとを備え主軸に対する工具ホルダのクランプ状態をクランプバネのばね力に抗し解除するアンクランプ操作部と、を備えた工作機械の装着判定方法において、アンクランプ操作部に作用する、主軸ヘッドの各位置におけるクランプバネのばね力を検出し、検出したばね力とアンクランプローラがアンクランプカムの直線部に接している時の主軸ヘッドの任意の位置におけるクランプバネのばね力との差分を算出し、算出した差分に基づき、工具ホルダの装着状態を判定することを特徴とする。装着判定方法は、請求項１と効果と同様の効果を奏する。
【００１５】
上述した請求項１〜７の発明は、任意に組み合わせることができる。例えば請求項１の全部又は一部を備えずに他の請求項２〜７の少なくとも何れか１つの構成を備えたものとしても良い。但し特に、請求項１の構成を備えて、請求項２〜７の少なくとも何れか１つの構成との組み合わせを備えると良い。請求項１〜７の任意の構成要素を抽出し、組み合わせても良い。本出願人はこれらのような構成についても特許権を取得する意思を有する。
【図面の簡単な説明】
【００１６】
【図１】工作機械１の斜視図。
【図２】工作機械１の上半分の縦断面図。
【図３】工作機械１と数値制御装置３０の電気的構成を示すブロック図。
【図４】第一位置を説明する為の図。
【図５】第一位置を説明する為の図。
【図６】第一位置〜第三位置を説明する為の図。
【図７】第二位置と第三位置を説明する為の図。
【図８】装着判定処理の流れ図の一部。
【図９】装着判定処理の流れ図の他の一部。
【図１０】実施形態２の第一区間と第二区間と第三区間を説明する為の図。
【図１１】実施形態２の装着判定処理の流れ図の一部。
【図１２】実施形態２の装着判定処理の流れ図の他の一部。
【図１３】実施形態３の工作機械１と数値制御装置３０の電気的構成を示すブロック図。
【図１４】実施形態３の装着判定処理の流れ図の一部。
【図１５】実施形態３の装着判定処理の流れ図の他の一部。
【発明を実施するための形態】
【００１７】
図を参照し、各実施形態を説明する。以下説明は図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は、夫々、工作機械１のＸ軸方向、Ｙ軸方向、Ｚ軸方向である。Ｚ軸原点とはＺ軸の機械原点をいう。機械原点とは、Ｘ軸、Ｙ軸の機械座標が零である位置、Ｚ軸の機械座標が被削材を加工可能な上限位置となる位置である。
【００１８】
図１，図２を参照し、工作機械１の構造を説明する。工作機械１は、ベース２、コラム５、主軸ヘッド７、主軸９、制御箱６、テーブル１０、工具交換装置２０、操作パネル２４（図３参照。図１、図２には図示略）等を備える。ベース２は略直方体状の鉄製土台である。コラム５はベース２上部後方に立設する。主軸ヘッド７はコラム５前面に設けた後述するＺ軸移動機構２２（図２参照）で上下方向に移動可能に設ける。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は工具ホルダ１７（図２参照）を装着し、主軸モータ５２の駆動で回転する。主軸モータ５２は主軸ヘッド７上部に固定する。工具ホルダ１７は工具４を保持する。制御箱６は数値制御装置３０（図３参照）を格納する。数値制御装置３０は工作機械１の動作を制御する。テーブル１０はベース２上部中央に設け、Ｘ軸モータ５３、Ｙ軸モータ５４（図３参照）、Ｘ軸−Ｙ軸ガイド機構（図示略）で、Ｘ軸方向とＹ軸方向に移動可能である。
【００１９】
工具交換装置２０は円盤状のマガジン２１を備える。マガジン２１は左右一対のフレーム８でコラム５前面側に支持する。マガジン２１は外周に複数のグリップアーム９０を放射状に支持する。グリップアーム９０は工具ホルダ１７を着脱自在に保持する。工具交換装置２０はマガジン２１を旋回し工具交換指令が指示する工具を工具交換位置に割出し位置決めする。工具交換指令はＮＣプログラムで指令する。工具交換位置はマガジン２１の最下部位置である。工具交換装置２０は主軸９に装着する工具４と工具交換位置にある次工具とを交換する。操作パネル２４は入力部２５と表示部２８を備える（図３参照）。作業者は入力部２５で、ＮＣプログラム、工具の種類、工具情報、各種パラメータ等を入力する。作業者が入力部２５を操作すると、表示部２８は各種入力画面と操作画面等を表示する。
【００２０】
図２に示す如く、Ｚ軸移動機構２２は一対のＺ軸リニアガイド（図示略）、Ｚ軸ボール螺子２６、Ｚ軸モータ５１（図３参照）を備える。Ｚ軸リニアガイドはＺ軸方向に延び且つ主軸ヘッド７をＺ軸方向に案内する。Ｚ軸ボール螺子２６は一対のＺ軸リニアガイドの間に配置し、上側軸受部２７と下側軸受部（図示略）により回転可能に設ける。主軸ヘッド７は背面にナット２９を備える。ナット２９はＺ軸ボール螺子２６に螺合する。Ｚ軸モータ５１はＺ軸ボール螺子２６を正逆方向に回転する。故に主軸ヘッド７はナット２９と共にＺ軸方向に移動する。
【００２１】
図２を参照し、主軸ヘッド７の内部構造を説明する。主軸ヘッド７は内部に主軸９を回転可能に支持する。主軸９は上下方向に延びる。主軸９は主軸モータ５２の下方に延びる駆動軸にカップリング２３で連結する。主軸９は、テーパ装着穴１８、ホルダ挟持部１９、ドローバ６９を備える。テーパ装着穴１８は主軸９下端部に設ける。テーパ装着穴１８は主軸ヘッド７下部に位置する。ホルダ挟持部１９はテーパ装着穴１８上方に設ける。ドローバ６９は主軸９の中心を通る軸孔内に同軸上に挿入する。クランプバネ５７(図６参照)はドローバ６９を上方に常時付勢する。
【００２２】
工具ホルダ１７は一端側に工具４を保持し、他端側にテーパ装着部１７Ａとプルスタッド１７Ｂを備える。テーパ装着部１７Ａは略円錐状である。プルスタッド１７Ｂはテーパ装着部１７Ａの頂上部から軸方向に突出する。テーパ装着部１７Ａは主軸９のテーパ装着穴１８に装着する。テーパ装着穴１８にテーパ装着部１７Ａを装着すると、ホルダ挟持部１９はプルスタッド１７Ｂを挟持（クランプ）する。ドローバ６９がホルダ挟持部１９を下方に押圧すると、ホルダ挟持部１９はプルスタッド１７Ｂの挟持を解除する。
【００２３】
主軸ヘッド７は後方上部内側にレバー部材６０を備える。レバー部材６０は略Ｌ字型で支軸６１を中心に揺動自在である。支軸６１は主軸ヘッド７内部に固定する。レバー部材６０は縦方向レバー６３と横方向レバー６２を備える。縦方向レバー６３は支軸６１からコラム５側に対し斜め上方に延びて中間部６５で上方に折曲し更に上方に延びる。横方向レバー６２は支軸６１からコラム５前方に略水平に延びる。横方向レバー６２の先端部はドローバ６９に直交して突設するアンクランプピン５８に上方から係合可能である。
【００２４】
縦方向レバー６３は上端部背面にアンクランプカム６６を備える。アンクランプカム６６は、例えば側面視略台形状に形成する。アンクランプカム６６はコラム５側にカム面を備える。カム面は傾斜部６６Ａと直線部６６Ｂを備える。傾斜部６６Ａは、カム面上部から後方且つ下方に傾斜する部分である。直線部６６Ｂは傾斜部６６Ａの下部から下方に直線状に延びる部分である。アンクランプカム６６のカム面は、上側軸受部２７に固定したアンクランプローラ６７と接離可能である。主軸ヘッド７の昇降により、アンクランプローラ６７はアンクランプカム６６のカム面を相対的に摺動する。引張バネ６８は縦方向レバー６３と主軸ヘッド７との間に弾力的に設ける。レバー部材６０を右側面から見た場合、引張バネ６８はレバー部材６０を時計回りに常時付勢する。故に、引張バネ６８は横方向レバー６２によるアンクランプピン５８の下方向への押圧を常時解除する方向にレバー部材６０を付勢する。レバー部材６０、支軸６１、横方向レバー６２、縦方向レバー６３、アンクランプカム６６、アンクランプローラ６７、引張バネ６８で構成する機構はアンクランプ操作部の一例である。
【００２５】
主軸９への工具ホルダ１７の脱着動作を説明する。図２に示す如く、主軸９のテーパ装着穴１８に、工具ホルダ１７のテーパ装着部１７Ａが装着した状態で、主軸ヘッド７は上昇する。レバー部材６０に設けたアンクランプカム６６はアンクランプローラ６７に接触して摺動する。アンクランプローラ６７はアンクランプカム６６のカム面を下方に摺動する。レバー部材６０は引張バネ６８の付勢力に抗し支軸６１を中心に反時計回りに回転する。横方向レバー６２はアンクランプピン５８に上方から係合し、主軸９内部に設けたクランプバネ５７の付勢力に抗しドローバ６９を下方に押圧する。ドローバ６９はホルダ挟持部１９を下方に付勢する。ホルダ挟持部１９はプルスタッド１７Ｂの挟持を解除する。工具ホルダ１７は主軸９のテーパ装着穴１８から取り外し可能となる。
【００２６】
主軸９のテーパ装着穴１８に、工具ホルダ１７のテーパ装着部１７Ａが挿入した状態で、主軸ヘッド７は降下する。レバー部材６０に設けたアンクランプカム６６はアンクランプローラ６７に摺動する。アンクランプローラ６７はアンクランプカム６６のカム面を上方に摺動する。レバー部材６０は支軸６１を中心に時計回りに回転する。横方向レバー６２はアンクランプピン５８から上方に離れ、ドローバ６９の下方への押圧を解除する。ドローバ６９はクランプバネ５７で上方に移動し、ホルダ挟持部１９の下方への付勢を解除する。ホルダ挟持部１９はプルスタッド１７Ｂを挟持し、主軸９への工具ホルダ１７の装着は完了する。
【００２７】
図２を参照し、工具交換装置２０の構造を説明する。工具交換装置２０は複数の支点台７０をマガジン２１裏面外周に等間隔で固定する。支点台７０はグリップアーム９０を前後方向に揺動可能に軸支する。グリップアーム９０は一端部に把持部９１を備える。把持部９１は工具ホルダ１７を着脱自在に把持する。グリップアーム９０は支点台７０近傍に主軸ヘッド７側に向けてローラ９６と９７を回転自在に軸支する。ローラ９６は主軸ヘッド７の昇降により、主軸ヘッド７前面の右端部に沿って固定したＤＰカム１１のカム面を摺動する。ＤＰカム１１のカム面は、直線部１１Ａと傾斜部１１Ｂを備える。直線部１１Ａはカム面上部から下方に直線状に延びる部分である。傾斜部１１Ｂは直線部１１Ａ下部から後方且つ下方に緩やかに湾曲しながら傾斜する部分である。
【００２８】
ローラ９７は主軸ヘッド７の昇降により、主軸ヘッド７前面の左右方向中央部に固定した浮動カム１２のカム面を摺動する。浮動カム１２のカム面は、カム面上部から前方且つ下方に傾斜し、更に下方に該中央部で前方に山なりに膨出する。ローラ９６がＤＰカム１１のカム面を摺動する時、浮動カム１２はローラ９６とＤＰカム１１が離れないように、グリップアーム９０の動きを規制する。工具交換位置のグリップアーム９０は支点台７０を中心に揺動することで、把持部９１を近接位置と退避位置の間を移動できる。近接位置は主軸９に近接し対向する位置、退避位置は主軸９から前方に離間する位置である。
【００２９】
グリップアーム９０は把持部９１とは反対側の他端部に、鋼球９２を圧縮コイルバネ（図示略）で外側に付勢した状態で出退可能に保持する。マガジン２１は断面円弧状の案内面８１が周設された円筒状のグリップ支持カラー８０を外挿する。鋼球９２はグリップ支持カラー８０の案内面８１に弾力的に当接する。案内面８１はグリップアーム９０の他端部を案内する。故にグリップアーム９０は支点台７０を中心に安定して揺動できる。
【００３０】
図３を参照し、工作機械１と数値制御装置３０の電気的構成を説明する。数値制御装置３０は、ＣＰＵ３１、記憶部３２、入出力部３３、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を制御する。ＣＰＵ３１は、制御部、判定部、算出部としても機能する。駆動回路５１Ａは検出部の一例である。検出部、制御部、判定部、算出部の各処理の内容については後述する。記憶部３２は、ＲＯＭ、ＲＡＭ、不揮発性の記憶装置等で構成する。ＲＯＭは、装着判定プログラム等を記憶する。ＣＰＵ３１は、装着判定プログラムを読み出し、後述する装着判定処理（図８，９等参照）等を実行する。ＲＡＭは各種処理実行中の各種データを一時的に記憶する。記憶装置は不揮発性であり、例えばＨＤＤ、フラッシュメモリ等である。記憶装置は作業者が入力部２５で入力して登録したＮＣプログラム等を記憶する。ＮＣプログラムは各種制御指令を含む複数のブロックで構成し、工作機械１の軸移動、工具交換等を含む各種動作をブロック単位で制御する。入出力部３３は入力部２５と表示部２８に夫々接続する。
【００３１】
駆動回路５１Ａは電流検出器５１ＣとＺ軸モータ５１とエンコーダ５１Ｂに接続する。Ｚ軸モータ５１はアクチュエータの一例である。駆動回路５２Ａは電流検出器５２Ｃと主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３Ａは電流検出器５３ＣとＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４Ａは電流検出器５４ＣとＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａはマガジンモータ５５とエンコーダ５５Ｂに接続する。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５に駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからフィードバック信号を受け、位置と速度のフィードバック制御を行う。フィードバック信号はパルス信号である。
【００３２】
電流検出器５１Ｃ〜５４Ｃは駆動回路５１Ａ〜５５Ａが夫々出力した駆動電流を検出する。電流検出器５１Ｃ〜５４Ｃは検出した駆動電流を夫々駆動回路５１Ａ〜５４Ａにフィードバックする。駆動回路５１Ａ〜５４Ａは電流検出器５１Ｃ〜５４Ｃが夫々フィードバックした駆動電流に基づき、電流（トルク）制御を行う。一般的に、モータに流れる駆動電流とモータにかかる負荷トルクは略一致する。故に、電流検出器５１Ｃ〜５４Ｃは、夫々検出した各モータ５１〜５４の駆動電流を検出することで、各モータ５１〜５４の負荷トルクを検出する。
【００３３】
Ｚ軸モータ５１に外部から負荷がかかると、速度変化が生じる。速度変化は、位置フィードバック信号と速度フィードバック信号により検出する。駆動回路５１Ａは、検出した速度変化を元に戻すために駆動電力を制御する。故に、数値制御装置３０は、フィードバック制御時に、Ｚ軸モータ５１にかかる負荷に応じて駆動電流を制御するので、負荷に相関する駆動電流に基づき、クランプバネ５７のばね力を検出する。
【００３４】
本実施形態では、Ｚ軸原点よりもテーブル１０（図１参照）側の領域は加工領域と称する。加工領域は被削材の加工を行う為の領域である。Ｚ軸原点に対し加工領域とは反対側の領域はＡＴＣ領域と称する。ＡＴＣ領域は工具交換装置２０を用いた工具交換を行う領域である。
【００３５】
図４〜図６を参照し、第一位置Ｚｋ１について説明する。図６は、主軸ヘッド７がＡＴＣ原点（マガジン２１が回転可能な位置）から降下する時の各Ｚ位置における電流駆動値を表わした曲線の一例である。主軸９から工具ホルダ１７を外した状態（非装着）で主軸ヘッド７がＺ軸原点の位置にある時、ホルダ挟持部１９の鋼球１６ａ（図６（ａ）参照）の中心位置は位置Ｐｎ´、アンクランプピン５８の位置は位置Ｐｄ(図６（ａ）参照)である。主軸ヘッド７がＡＴＣ原点にある時、主軸９は工具ホルダ１７をテーパ装着穴１８から取り外し後、次に装着する工具ホルダ１７がテーパ装着穴１８の真下に移動する。この時点では、アンクランプローラ６７はアンクランプカム６６の直線部６６Ｂに摺接する（図４参照）。尚、主軸ヘッド７がＡＴＣ原点に位置する時のアンクランプピン５８の位置は位置Ｐd'(図６（ａ）参照)である。
【００３６】
主軸ヘッド７は、ＡＴＣ原点から、主軸９に次の工具ホルダ１７を装着するために降下を開始する。アンクランプローラ６７は、アンクランプカム６６の直線部６６Ｂを上方に摺動する。第一位置Ｚｋ１（図５参照）はアンクランプローラ６７がアンクランプカム６６の直線部６６Ｂを摺動している時（図４参照）の主軸ヘッド７の任意のＺ位置である。第一位置Ｚｋ１は、アンクランプローラ６７がアンクランプカム６６の直線部６６Ｂを摺動している間で、主軸ヘッド７の移動加速度が一定のＺ位置としてもよい。主軸ヘッド７の移動加速度が変化している位置では、駆動電流に余分な成分が加算するので、工具ホルダ１７の装着状態の判定精度が低下する可能性がある。故に本実施形態は、主軸ヘッド７の移動加速度が一定であるＺ位置を第一位置Ｚｋ１とすることで、工具ホルダ１７の装着状態の精度が向上できる。上述の通り、アンクランプローラ６７がアンクランプカム６６の直線部６６Ｂを摺動している時、実際は微妙に垂直分力が発生し、この垂直分力は主軸ヘッド７を押下げる力として作用する。故に、主軸ヘッド７が第一位置Ｚｋ１に時、Ｚ軸モータ５１は外部負荷を受ける。
【００３７】
図６と図７を参照し、第二位置Ｚｋ２と第三位置Ｚｋ３について説明する。図７は、主軸ヘッド７がＡＴＣ原点から降下する時の、工具ホルダ１７の非装着時と正常装着時と非正常装着時の各Ｚ位置における電流駆動値を夫々表わした曲線の一例である。主軸ヘッド７が降下を続けると、アンクランプローラ６７は、アンクランプカム６６の傾斜部６６Ａを上方に摺動する。この時、ドローバ６９は、クランプバネ５７の復元力により上方に移動する。ホルダ挟持部１９の鋼球１６ａは、径小な摺動孔（図示略）に入りプルスタッド１７Ｂを挟持する。Ｚ軸モータ５１の外部負荷は、クランプバネ５７の抗力により増大する。故に、駆動回路５１Ａは速度を維持するために駆動電流の出力を増大する(図７（ｂ）参照)。ホルダ挟持部１９が工具ホルダ１７のプルスタッド１７Ｂを挟持すると、鋼球１６ａの中心位置は位置Ｐｓ´、アンクランプピン５８の高さは位置Ｐｓ（図６（ｂ）参照）となる。アンクランプピン５８の高さが位置Ｐｓになると、クランプバネ５７の抗力が作用しなくなり、Ｚ軸モータ５１に対する外部負荷が無くなる。故に、駆動電流は下がり、略無変化状態（図７（ｂ）参照）となる。図７の位置Ｚｐｓは、アンクランプピン５８の高さ位置Ｐｓに対応した主軸ヘッド７のＺ位置である。
【００３８】
工具ホルダ１７を交換する時に、例えば、テーパ装着穴１８と工具ホルダ１７との間に切屑等が介在する場合、工具ホルダ１７は非正常装着となる。この時、鋼球１６ａの中心位置は位置Ｐｆ´、アンクランプピン５８の高さは位置Ｐｆ（図６（ｃ）参照）となる。テーパ装着穴１８と工具ホルダ１７との間に切屑等が介在すると、工具ホルダ１７が正常に装着している場合と比較し、アンクランプピン５８の高さが低くなる（図６（ｂ），（ｃ）参照）。アンクランプピン５８の高さが位置Ｐｆになると、クランプバネ５７の抗力が作用しなくなり、Ｚ軸モータ５１に対する外部負荷が無くなる。故に、駆動電流は下がり、略無変化状態（図７（ｃ）参照）となる。図７の位置Ｚｐｆは、アンクランプピン５８の高さ位置Ｐｆに対応した主軸ヘッド７のＺ位置である。
【００３９】
主軸９のテーパ装着穴１８に工具ホルダ１７を装着していない場合、工具交換前に工具ホルダ１７がテーパ装着穴１８から落下した場合等、鋼球１６ａの中心位置は位置Ｐｎ´、アンクランプピン５８の高さは位置Ｐｎ（図６（ａ）参照）となる。アンクランプピン５８の高さが位置Ｐｎになると、クランプバネ５７の抗力が作用しなくなり、Ｚ軸モータ５１に対する外部負荷が無くなる。故に、駆動電流は下がり、略無変化状態（図７（ａ）参照）となる。図７の位置Ｚｐｎは、アンクランプピン５８の高さ位置Ｐｎに対応した主軸ヘッド７のＺ位置である。
【００４０】
図７に示すように、第二位置Ｚｋ２は、位置Ｚｐｆと位置Ｚｐｓとの間の任意のＺ位置である。第三位置Ｚｋ３は、位置Ｚｐｓと位置Ｚｐｎとの間の任意のＺ位置である。第一位置Ｚｋ１、第二位置Ｚｋ２、第三位置Ｚｋ３の各種情報は予め記憶部３２に記憶する。
【００４１】
図８と図９を参照し、実施形態１の工具ホルダ１７の装着判定処理を説明する。ＣＰＵ３１は、ＡＴＣ原点から主軸ヘッド７が降下開始することをトリガとし、本装着判定処理を開始する。
【００４２】
ＣＰＵ３１は、主軸ヘッド７がＡＴＣ原点から降下を開始したかを判定する（Ｓ１）。ＣＰＵ３１がＳ１の処理でＮＯであると判定した場合、Ｓ１の処理を繰り返す。ＣＰＵ３１がＳ１の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ２）。ＣＰＵ３１は、Ｓ２の処理で取得したＺ位置が第一位置Ｚｋ１であるかを判定する（Ｓ３）。ＣＰＵ３１がＳ３の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、第一位置Ｚｋ１における駆動電流の値Ａ１を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値Ａ１を記憶する（Ｓ４）。
【００４３】
ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ５）。ＣＰＵ３１は、取得したＺ位置が第二位置Ｚｋ２であるかを判定する（Ｓ６）。Ｓ６の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、第二位置Ｚｋ２における駆動電流の値Ａ２を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値Ａ２を記憶する（Ｓ７）。
【００４４】
ＣＰＵ３１（算出部）は値Ａ２と値Ａ１の差分（Ａ２−Ａ１）を算出し、ＣＰＵ３１は差分（Ａ２−Ａ１）が予め設定した第一閾値Ｔ１以下であるかを判定する（Ｓ８）。第一閾値Ｔ１は実験的に求めて予め記憶部３２に記憶する。ＣＰＵ３１がＳ８の処理でＹＥＳであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が非正常装着であると判定する（Ｓ９）。ＣＰＵ３１（制御部）は、工作機械１を制御し、被削材の加工を停止する（Ｓ１０）。この時、ＣＰＵ３１は、表示部２８にアラートを報知しても良い。本装着判定処理は終了する。
【００４５】
Ｓ８の処理に戻り、ＣＰＵ３１がＳ８の処理でＮＯであると判定した場合、ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ１１）。ＣＰＵ３１は、Ｓ１１の処理で取得したＺ位置が第三位置Ｚｋ３であるかを判定する（Ｓ１２）。ＣＰＵ３１がＳ１２の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、第三位置Ｚｋ３における駆動電流の値Ａ３を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値Ａ３を記憶する（Ｓ１３）。
【００４６】
ＣＰＵ３１（算出部）は値Ａ３と値Ａ１の差分（Ａ３−Ａ１）を算出し、ＣＰＵ３１は差分（Ａ３−Ａ１）が予め設定した第二閾値Ｔ２以下であるかを判定する（Ｓ１４）。第二閾値Ｔ２は実験的に求めて予め記憶部３２に記憶する。ＣＰＵ３１がＳ１４の処理でＹＥＳであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が正常装着であると判定する（Ｓ１５）。ＣＰＵ３１がＳ１４の処理でＮＯであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が非装着であると判定する（Ｓ１６）。ＣＰＵ３１（制御部）は、工作機械１を制御し、被削材の加工を停止する（Ｓ１７）。この時、ＣＰＵ３１は、表示部２８にアラートを報知しても良い。本装着判定処理は終了する。
【００４７】
実施形態１では、数値制御装置３０は、アンクランプカム６６の直線部６６Ｂをアンクランプローラ６７が摺動する時に発生する垂直分力を打ち消した値（駆動電流の値と第一位置Ｚｋ１における駆動電流の値の差分）に基づき、工具ホルダ１７の装着状態の判定を行う。故に、数値制御装置３０は、垂直分力を打ち消した値で装着判定を行うので、従来技術と比較し、工具ホルダ１７の装着状態の判定精度を向上できる。
【００４８】
実施形態１では、数値制御装置３０は、第二位置Ｚｋ２におけるクランプバネ５７のばね力と第一位置Ｚｋ１におけるクランプバネ５７のばね力との差分を算出し、算出した差分に基づき、主軸９に工具ホルダ１７が非正常に装着しているかを判定する。故に、数値制御装置３０は、垂直分力を打ち消した値で装着判定を行うので、工具ホルダ１７が非正常に装着しているかをより精度良く判定できる。
【００４９】
実施形態１では、数値制御装置３０は、第三位置Ｚｋ３におけるクランプバネ５７のばね力と第一位置Ｚｋ１におけるクランプバネ５７のばね力との差分を算出し、算出した差分に基づき、工具ホルダ１７が正常装着であるか非装着かを判定する。故に、数値制御装置３０は、垂直分力を打ち消した値で装着判定を行うので、工具ホルダ１７が正常装着であるか非装着かをより精度良く判定できる。
【００５０】
実施形態１では、数値制御装置３０は、工具ホルダ１７が正常に装着されているときのみ加工動作するため、加工不良などを防ぎ、稼働効率を向上できる。
【００５１】
図１０〜図１２を参照し、実施形態２を説明する。本実施形態２の工作機械１と数値制御装置３０の電気的構成は、実施形態１の工作機械１と数値制御装置３０の電気的構成と同じであるので、異なる部分のみ説明する。ＣＰＵ３１は、制御部、判定部、第一平均算出部、第二平均算出部、第三平均算出部として機能する。駆動回路５１Ａは検出部の一例である。検出部、制御部、判定部、第一〜第三平均算出部の各処理の内容については後述する。
【００５２】
図１０を参照し、第一区間、第二区間、第三区間について夫々説明する。Ｚ軸モータ５１の駆動電流は工作機械１の機械振動で多少変動する。故に、従来技術では、この機械振動による駆動電流の変動を考慮していないので、工具ホルダ１７の装着状態の判定精度が落ちる。
【００５３】
実施形態２では、位置Ｚｋ１〜Ｚｋ３を夫々起点とし、工作機械１固有の機械振動周波数ｆｍ（Ｈｚ）の逆数１／ｆｍ＝周期ｔｍ（ｓ）のｎ倍（ｎ＝１，２，３，・・）の時間に主軸ヘッド７が移動したＺ距離（ｍｍ）分、後ろに移動したＺ位置間を基準区間として設定する。第一区間は、[Ｚｋ１，Ｚｋ１＋ｖｍ＊ｎ＊ｔｍ]と設定する。以下、Ｚｋ１＋ｖｍ＊ｎ＊ｔｍはＺｋ１ａと称する。第二区間は、[Ｚｋ２，Ｚｋ２＋ｖｍ＊ｎ＊ｔｍ]と設定する。以下、Ｚｋ２＋ｖｍ＊ｎ＊ｔｍはＺｋ２ａと称する。第三区間は、[Ｚｋ３，Ｚｋ３＋ｖｍ＊ｎ＊ｔｍ]と設定する。以下、Ｚｋ３＋ｖｍ＊ｎ＊ｔｍはＺｋ３ａと称する。ｖｍは、主軸ヘッド７の移動速度（ｍｍ／ｓ）である。Ｚｋ２ａとＺｋ３ａのｎは"０"を含む自然数である。故に、第二区間と第三区間は夫々点Ｚｋ２、点Ｚｋ３を含む概念である。第一区間と第二区間と第三区間の情報は予め記憶部３２に記憶する。
【００５４】
第一〜第三区間は、第一〜第三位置Ｚｋ１〜Ｚｋ３を夫々起点とし、工作機械１固有の機械振動周波数ｆｍ（Ｈｚ）の逆数１／ｆｍ＝周期ｔｍ（ｓ）のｎ倍（ｎ＝１，２，３，・・）の時間に主軸ヘッド７が移動したＺ距離（ｍｍ）分、前に移動したＺ位置間として設定しても良い。以下、第一〜第三区間は、第一〜第三位置Ｚｋ１〜Ｚｋ３を夫々起点とし、工作機械１固有の機械振動周波数ｆｍ（Ｈｚ）の逆数１／ｆｍ＝周期ｔｍ（ｓ）のｎ倍（ｎ＝１，２，３，・・）の時間に主軸ヘッド７が移動したＺ距離（ｍｍ）分、後ろに移動したＺ位置間であるものとする。
【００５５】
図１１と図１２を参照し、実施形態２の工具ホルダ１７の装着判定処理を説明する。ＣＰＵ３１は、ＡＴＣ原点から主軸ヘッド７が降下開始することをトリガとし、本装着判定処理を開始する。
【００５６】
ＣＰＵ３１は、主軸ヘッド７がＡＴＣ原点から降下を開始したかを判定する（Ｓ００１）。ＣＰＵ３１がＳ００１の処理でＮＯと判定した場合、Ｓ００１の処理を繰り返す。ＣＰＵ３１がＳ００１の処理でＹＥＳと判定した場合、ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ００２）。ＣＰＵ３１は、Ｓ００２の処理で取得したＺ位置が第一区間に有るかを判定する（Ｓ００３）。ＣＰＵ３１がＳ００３の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、Ｓ００２の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ００４）。
【００５７】
ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ１ａであるかを判定する（Ｓ００５）。ＣＰＵ３１がＳ００５の処理でＮＯであると判定した場合、Ｓ００２の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ００５の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第一平均算出部）は、記憶部３２に記憶した駆動電流の値に基づき、第一区間における駆動電流の第一平均値Ｔｋ１ａｖｅを算出する（Ｓ００６）。処理はＳ００８の処理へと移行する。
【００５８】
ＣＰＵ３１がＳ００３の処理でＮＯであると判定した場合、ＣＰＵ３１は、主軸ヘッド７のＺ位置が第一区間を通過したかを判定する（Ｓ００７）。ＣＰＵ３１がＳ００７の処理でＮＯであると判定した場合、Ｓ００２の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ００７の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第一平均算出部）は、先述のＳ００６の処理を実行する。
【００５９】
Ｓ００８の処理では、ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ００８）。ＣＰＵ３１は、Ｓ００８の処理で取得したＺ位置が第二区間に有るかを判定する（Ｓ００９）。ＣＰＵ３１がＳ００９の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、Ｓ００８の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ０１０）。
【００６０】
ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ２ａであるかを判定する（Ｓ０１１）。ＣＰＵ３１がＳ０１１の処理でＮＯであると判定した場合、Ｓ００８の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ０１１の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第二平均算出部）は、記憶部３２に記憶した駆動電流の値に基づき、第二区間における駆動電流の第二平均値Ｔｋ２ａｖｅを算出する（Ｓ０１２）。処理はＳ０１４の処理へと移行する。
【００６１】
ＣＰＵ３１がＳ００９の処理でＮＯであると判定した場合、ＣＰＵ３１は、主軸ヘッド７のＺ位置が第二区間を通過したかを判定する（Ｓ０１３）。ＣＰＵ３１がＳ０１３の処理でＮＯであると判定した場合、処理はＳ００８の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ０１３の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第二平均算出部）は、先述のＳ０１２の処理を実行する。
【００６２】
Ｓ０１４の処理では、ＣＰＵ３１（判定部）は、Ｓ０１２とＳ００６の処理で夫々算出した第二平均値Ｔｋ２ａｖｅと第一平均値Ｔｋ１ａｖｅの差分（Ｔｋ２ａｖｅ−Ｔｋ１ａｖｅ）が予め設定した第三閾値Ｔ３以下であるかを判定する（Ｓ０１４）。第三閾値Ｔ３は実験的に求め予め記憶部３２に記憶する。ＣＰＵ３１（判定部）がＳ０１４の処理でＹＥＳであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が非正常装着であると判定する（Ｓ０１５）。ＣＰＵ３１（制御部）は、工作機械１を制御し、被削材の加工を停止する（Ｓ０１６）。この時、ＣＰＵ３１は、表示部２８にアラートを報知しても良い。本装着判定処理は終了する。
【００６３】
ＣＰＵ３１（判定部）がＳ０１４の処理でＮＯであると判定した場合、ＣＰＵ３１は、駆動回路５１Ａから主軸ヘッド７のＺ位置を取得する（Ｓ０１７）。ＣＰＵ３１は、Ｓ０１７の処理で取得したＺ位置が第三区間に有るかを判定する（Ｓ０１８）。ＣＰＵ３１がＳ０１８の処理でＹＥＳであると判定した場合、ＣＰＵ３１は、Ｓ０１７の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ０１９）。
【００６４】
ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ３ａであるかを判定する（Ｓ０２０）。ＣＰＵ３１がＳ０２０の処理でＮＯであると判定した場合、Ｓ０１７の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ０２０の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第三平均算出部）は、記憶部３２に記憶した駆動電流の値に基づき、第三区間における駆動電流の第三平均値Ｔｋ３ａｖｅを算出する（Ｓ０２１）。処理はＳ０２３へと移行する。
【００６５】
ＣＰＵ３１がＳ０１８の処理でＮＯであると判定した場合、ＣＰＵ３１は、主軸ヘッド７のＺ位置が第三区間を通過したかを判定する（Ｓ０２２）。ＣＰＵ３１がＳ０２２の処理でＮＯであると判定した場合、Ｓ０１７の処理に戻り、先述の処理を繰り返す。ＣＰＵ３１がＳ０２２の処理でＹＥＳであると判定した場合、ＣＰＵ３１（第三平均算出部）は、先述のＳ０２１の処理を実行する。
【００６６】
Ｓ０２３の処理では、ＣＰＵ３１（判定部）は、Ｓ０２１とＳ００６の処理で夫々算出した第三平均値Ｔｋ３ａｖｅと第一平均値Ｔｋ１ａｖｅの差分（Ｔｋ３ａｖｅ−Ｔｋ１ａｖｅ）が予め設定した第四閾値Ｔ４以下であるかを判定する（Ｓ０２３）。第四閾値Ｔ４は実験的に求め予め記憶部３２に記憶する。ＣＰＵ３１（判定部）がＳ０２３の処理でＹＥＳであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が正常装着であると判定する（Ｓ０２４）。本装着判定処理は終了する。
【００６７】
ＣＰＵ３１（判定部）がＳ０２３の処理でＮＯであると判定した場合、ＣＰＵ３１（判定部）は、工具ホルダ１７が非装着であると判定する（Ｓ０２５）。ＣＰＵ３１（制御部）は、工作機械１を制御し、被削材の加工を停止する（Ｓ０２６）。この時、ＣＰＵ３１は、表示部２８にアラートを報知しても良い。本装着判定処理は終了する。
【００６８】
実施形態２では、位置Ｚｋ１〜Ｚｋ３を夫々起点とし、工作機械１固有の機械振動周波数ｆｍ（Ｈｚ）の逆数１／ｆｍ＝周期ｔｍ（ｓ）のｎ倍の時間に主軸ヘッド７が移動したＺ距離（ｍｍ）分、後ろに移動したＺ位置間を基準区間（第一〜第三区間）として設定する。数値制御装置３０は、各基準区間（第一〜第三区間）における駆動電流の平均値（第一〜第三平均値）を算出する。数値制御装置３０は、第二平均値Ｔｋ２ａｖｅと第一平均値Ｔｋ１ａｖｅの差分（Ｔｋ２ａｖｅ−Ｔｋ１ａｖｅ）と第三平均値Ｔｋ３ａｖｅと第一平均値Ｔｋ１ａｖｅの差分（Ｔｋ３ａｖｅ−Ｔｋ１ａｖｅ）とに基づき、工具ホルダ１７の装着状態の判定を行う。故に、数値制御装置３０は、工作機械１の振動を考慮した工具ホルダ１７の装着状態の判定ができることから、装着状態の判定精度を向上できる。
【００６９】
図１３〜図１５を参照し、実施形態３を説明する。図１３は、実施形態３の工作機械１と数値制御装置３０の電気的構成を示すブロック図である。実施形態３では、ＬＰＦ（ローパスフィルタ）５６が加わった構成である。ＬＰＦ５６を加える構成は、実施形態１と２のいずれに対しても適用可能である。以下、実施形態２に適用した場合について説明する。
【００７０】
電流検出器５１Ｃは、検出したＺ軸モータ５１に対する駆動電流をＬＰＦ５６に出力する。ＬＰＦ５６は、駆動電流の高周波成分を除去し、高周波成分を除去後の駆動電流を駆動回路５１Ａにフィードバックする。故に、駆動電流の波形をより滑らかにでき、数値制御装置３０は、工具ホルダ１７の装着状態の判定精度をさらに向上できる。駆動回路５１Ａは駆動値設定部の一例である。ＬＰＦ５６は除去部の一例である。例えば、ＬＰＦ５６のかわりに高周波成分を除去できるデジタルフィルタであっても良い。
【００７１】
ＬＰＦ５６を加えた構成では、ＬＰＦ５６による遅延が発生する。故に、記憶部３２が予め記憶している第一区間と第二区間と第三区間はＬＰＦ５６の遅延時間ｔｄを考慮した区間とする。第一区間は区間[Ｚｋ１＋ｆ（ｔｄ），Ｚｋ１ａ＋ｆ（ｔｄ）]となる。第二区間は区間[Ｚｋ２＋ｆ（ｔｄ），Ｚｋ２ａ＋ｆ（ｔｄ）]となる。第三区間は区間[Ｚｋ３＋ｆ（ｔｄ），Ｚｋ３ａ＋ｆ（ｔｄ）]となる。関数をｆ（ｔ）は、時間を主軸ヘッド７のＺ位置に変換する関数である。
【００７２】
図１４と図１５を参照し、実施形態３の工具ホルダ１７の装着判定処理を説明する。ＣＰＵ３１は、ＡＴＣ原点から主軸ヘッド７が降下開始することをトリガとし、本装着判定処理を開始する。実施形態３における装着判定処理は、上述した実施形態２の装着判定処理の流れとほぼ同じである。故に、異なる部分のみを説明する。
【００７３】
Ｓ００４の処理において、ＣＰＵ３１は、Ｓ００２の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ００４）。ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ１ａ＋ｆ（ｔｄ）であるかを判定する（Ｓ００５Ａ）。ＣＰＵ３１がＳ００５Ａの処理でＮＯであると判定した場合、Ｓ００２の処理に戻り、上述の処理を繰り返す。ＣＰＵ３１がＳ００５Ａの処理でＹＥＳであると判定した場合、ＣＰＵ３１は上述したＳ００６以降の処理を実行する。
【００７４】
Ｓ０１０の処理において、ＣＰＵ３１は、Ｓ００８の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ０１０）。ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ２ａ＋ｆ（ｔｄ）であるかを判定する（Ｓ０１１Ａ）。ＣＰＵ３１がＳ０１１Ａの処理でＮＯであると判定した場合、処理はＳ００８の処理に戻り、上述の処理を繰り返す。ＣＰＵ３１がＳ０１１Ａの処理でＹＥＳであると判定した場合、ＣＰＵ３１は上述したＳ０１２以降の処理を実行する。
【００７５】
Ｓ０１９の処理において、ＣＰＵ３１は、Ｓ０１７の処理で取得したＺ位置における駆動電流の値を駆動回路５１Ａ（検出部）から取得し、ＣＰＵ３１の制御の下、記憶部３２はその値を記憶する（Ｓ０１９）。ＣＰＵ３１は、主軸ヘッド７のＺ位置がＺｋ３ａ＋ｆ（ｔｄ）であるかを判定する（Ｓ０２０Ａ）。ＣＰＵ３１がＳ０２０Ａの処理でＮＯであると判定した場合、処理はＳ０１７の処理に戻り、上述の処理を繰り返す。ＣＰＵ３１がＳ０２０Ａの処理でＹＥＳであると判定した場合、ＣＰＵ３１は上述したＳ０２１以降の処理を実行する。
【００７６】
実施形態３の数値制御装置３０は、ＬＰＦ５６により高周波成分を除去することでより適切な電流駆動値を設定できる。故に、数値制御装置は、より精度良く工具ホルダの装着状態の判定ができる。
【００７７】
上記実施形態に限らず各種変形が可能なことはいうまでもない。上記実施形態のアンクランプカム６６はレバー部材６０に固定し、アンクランプカム６６のカム面を摺動するアンクランプローラ６７をコラム５側に支持した。例えば、アンクランプローラ６７をレバー部材６０に支持し、アンクランプカム６６をコラム５側に固定してもよい。
【００７８】
上記実施形態の駆動回路５１Ａ〜５５Ａは数値制御装置３０に設けているが、工作機械１に設けてもよい。
【００７９】
上記実施形態の工作機械１は、主軸９がＺ軸方向に延びる立型工作機械であるが、上記実施形態は主軸９が水平方向に延びる横型工作機械にも適用できる。
【００８０】
上記実施形態の装着判定処理は、機械原点から主軸ヘッド７が上昇する時に行うようにしても良い。
【００８１】
上記実施形態２と３において、数値制御装置３０は、第一〜第三区間の各Ｚ位置で駆動電流を取得するように構成したが、所定間隔毎に駆動電流を取得するようにしても良い。この場合、所定間隔は、第一〜第三区間の各区間内で少なくとも一つのＺ位置、好ましくは複数のＺ位置で数値制御装置３０が駆動電流を取得するように設定すれば良い。
【００８２】
本実施形態はＣＰＵ３１の代わりに、マイクロコンピュータ、ＡＳＩＣ（Application Specific Integrated Circuits）、ＦＰＧＡ（Field Programmable Gate Array）等を、プロセッサとして用いてもよい。装着判定処理は、複数のプロセッサによって分散処理してもよい。プログラムを記憶するＲＯＭと記憶装置は、例えばＨＤＤ及び又は他の非一時的な記憶媒体で構成してもよい。非一時的な記憶媒体は、情報を記憶する期間に関わらず、情報を留めておくことが可能な記憶媒体であればよい。非一時的な記憶媒体は、一時的な記憶媒体（例えば伝送される信号）を含まなくてもよい。装着判定プログラム、ＮＣプログラム等の各種プログラムは、例えば、図示外のネットワークに接続されたサーバからダウンロードし（即ち、伝送信号として送信され）、フラッシュメモリ等の記憶装置等に記憶してもよい。この場合、プログラムは、サーバに備えられたＨＤＤなどの非一時的な記憶媒体に保存していればよい。
【符号の説明】
【００８３】
１      工作機械
４      工具
７      主軸ヘッド
９      主軸
１７      工具ホルダ
１９      ホルダ挟持部
２１      マガジン
２２      Ｚ軸移動機構
３０      数値制御装置
３１      ＣＰＵ
５１      Ｚ軸モータ
５１Ａ    駆動回路
５６      ＬＰＦ
５７      クランプバネ
５８      アンクランプピン
６０      レバー部材
６１      支軸
６２      横方向レバー
６３      縦方向レバー
６６      アンクランプカム
６６Ａ    傾斜部
６６Ｂ    直線部
６７      アンクランプローラ
６８      引張バネ
６９      ドローバ
【図１】
2018205891.tif 000003
【図２】
2018205891.tif 000004
【図３】
2018205891.tif 000005
【図４】
2018205891.tif 000006
【図５】
2018205891.tif 000007
【図６】
2018205891.tif 000008
【図７】
2018205891.tif 000009
【図８】
2018205891.tif 000010
【図９】
2018205891.tif 000011
【図１０】
2018205891.tif 000012
【図１１】
2018205891.tif 000013
【図１２】
2018205891.tif 000014
【図１３】
2018205891.tif 000015
【図１４】
2018205891.tif 000016
【図１５】
2018205891.tif 000017