(57)【特許請求の範囲】
【請求項１】
被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、
前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、
前記第一取得手段が前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第一差分情報を算出する第一算出手段と、
前記第一算出手段が算出した前記第一差分情報に予め記憶した第一閾値を超える変化が有るか判断する第一判断手段と、
前記第一判断手段が前記第一差分情報に前記第一閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第一出力手段と
を備えたことを特徴とする数値制御装置。
【請求項２】
被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、
前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、
前記第一取得手段が前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第二取得手段と、
前記第一取得手段が前記所定時間毎に取得した前記駆動情報と、前記第二取得手段が取得した前記指令情報との差分の情報である第二差分情報を算出する第二算出手段と、
前記第二算出手段が算出した前記第二差分情報に予め記憶した第二閾値を超える変化が有るか判断する第二判断手段と、
前記第二判断手段が前記第二差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第二出力手段と
を備えたことを特徴とする数値制御装置。
【請求項３】
被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、
前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、
前記第一取得手段が前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第三取得手段と、
前記第一取得手段が前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第三差分情報を算出する第三算出手段と、
前記第三算出手段が算出した前記第三差分情報に予め記憶した第一閾値を超える変化が有るか判断する第三判断手段と、
前記第一取得手段が前記所定時間毎に取得した前記駆動情報と、前記第三取得手段が取得した前記指令情報との差分の情報である第四差分情報を算出する第四算出手段と、
前記第四算出手段が算出した前記第四差分情報に予め記憶した第二閾値を超える変化が有るか判断する第四判断手段と、
前記第三判断手段が前記第三差分情報に前記第一閾値を超える変化が有ると判断した場合、若しくは前記第四判断手段が前記第四差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第三出力手段と
を備えたことを特徴とする数値制御装置。
【請求項４】
前記駆動情報は、前記モータのトルク情報であること
を特徴とする請求項１から３の何れか一つに記載の数値制御装置。
【請求項５】
被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置の制御方法において、
前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得工程と、
前記第一取得工程において前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第一差分情報を算出する第一算出工程と、
前記第一算出工程において算出した前記第一差分情報に予め記憶した第一閾値を超える変化が有るか判断する第一判断工程と、
前記第一判断工程において前記第一差分情報に前記第一閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第一出力工程と
を備えたことを特徴とする制御方法。
【請求項６】
被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置の制御方法において、
前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得工程と、
前記第一取得工程において前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第二取得工程と、
前記第一取得工程において前記所定時間毎に取得した前記駆動情報と、前記第二取得工程において取得した前記指令情報との差分の情報である第二差分情報を算出する第二算出工程と、
前記第二算出工程において算出した前記第二差分情報に予め記憶した第二閾値を超える変化が有るか判断する第二判断工程と、
前記第二判断工程において前記第二差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第二出力工程と
を備えたことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置と制御方法に関する。
【背景技術】
【０００２】
数値制御装置は工作機械の動作を制御する。特許文献１が開示する工作機械は主軸ヘッド、主軸、工具交換装置を備える。主軸ヘッドは基台上に立設するコラムに沿って昇降可能に設け、主軸を回転可能に支持する。工具は主軸先端に設けた装着穴に装着する。主軸内に設けたクランプ軸は、装着穴に装着した工具をばね力で引っ張って保持する。主軸ヘッドは被削材の加工領域まで下降する。主軸と共に工具は回転し、被削材に対して穴空け等の加工を行う。該加工時、工具は被削材に対して接近する方向に移動し、切削後、被削材に対して離れる方向に移動する。工具は加工中、被削材に刃が喰い付くことがある。被削材に工具の刃が喰い付いた状態で、工具を被削材に対して離れる方向に移動すると主軸から工具が抜ける工具抜けが発生する。工具抜けは工具折損検知装置で検知できる。工具折損検知装置は接触子を工具に接触し、接触子の回転角度を検出することで工具抜けを検知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１６１９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工具折損検知装置は工作機械の所定の位置に固定してあるので、加工毎に工具を所定の位置に移動させる必要が生じる。故に、被削材を加工するサイクルタイムが長くなるという問題が生じる。
【０００５】
本発明の目的は、工具抜けを簡単に監視できる数値制御装置と制御方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る数値制御装置は、被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、前記第一取得手段が前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第一差分情報を算出する第一算出手段と、前記第一算出手段が算出した前記第一差分情報に予め記憶した第一閾値を超える変化が有るか判断する第一判断手段と、前記第一判断手段が前記第一差分情報に前記第一閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第一出力手段とを備えたことを特徴とする。クランプ軸は工具ホルダをばね力でクランプする。被削材加工中、工具に被削材が喰い付いた状態で主軸ヘッドが上昇し、工具にばね力以上の力がかかると、工具ホルダが主軸から抜ける工具抜けが生じる場合がある。工具抜け発生時、クランプ軸に通常時と異なる力が加わることになるので、主軸ヘッドを昇降駆動するモータのエンコーダから取得する情報は、通常時と異なる変化を生じる。数値制御装置は加工領域内において主軸ヘッドを上昇する時、モータのエンコーダから情報を取得し、取得した情報に閾値を超える変化が有る時、工具抜けが発生したとみなして異常情報を出力する。故に数値制御装置は、画像認識装置、工具折損検出装置等の他の監視装置を用いることなく、工具抜けを検知できる。数値制御装置は、他の監視装置を用いる際に必要な測定準備等の手間を不要にできる。他の監視装置を用いないので、費用は高額にならない。数値制御装置は、一回の加工毎に測定準備をやり直す必要も無いので、連続加工でも工具抜けを簡単に常時監視できる。数値制御装置はエンコーダからモータの駆動情報を取得し、取得した駆動情報の時間差分の変化を監視することで工具抜けを判定できる。
【０００７】
【０００８】
請求項２に係る数値制御装置は、被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、前記第一取得手段が前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第二取得手段と、前記第一取得手段が前記所定時間毎に取得した前記駆動情報と、前記第二取得手段が取得した前記指令情報との差分の情報である第二差分情報を算出する第二算出手段と、前記第二算出手段が算出した前記第二差分情報に予め記憶した第二閾値を超える変化が有るか判断する第二判断手段と、前記第二判断手段が前記第二差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第二出力手段とを備えたことを特徴とする。数値制御装置は、エンコーダからモータの駆動情報を取得すると共に、駆動情報におけるモータの出力結果に対応する入力の情報である指令情報を取得する。数値制御装置は駆動情報と指令情報との差分の変化を監視することで工具抜けを検知できる。
【０００９】
請求項３に係る数値制御装置は、被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置において、前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得手段と、前記第一取得手段が前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第三取得手段と、前記第一取得手段が前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第三差分情報を算出する第三算出手段と、前記第三算出手段が算出した前記第三差分情報に予め記憶した第一閾値を超える変化が有るか判断する第三判断手段と、前記第一取得手段が前記所定時間毎に取得した前記駆動情報と、前記第三取得手段が取得した前記指令情報との差分の情報である第四差分情報を算出する第四算出手段と、前記第四算出手段が算出した前記第四差分情報に予め記憶した第二閾値を超える変化が有るか判断する第四判断手段と、前記第三判断手段が前記第三差分情報に前記第一閾値を超える変化が有ると判断した場合、若しくは前記第四判断手段が前記第四差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第三出力手段とを備えたことを特徴とする。数値制御装置は、所定時間毎に取得した駆動情報に対して今回の情報と前回の情報との差分の情報を監視し、且つ所定時間毎に取得した駆動情報と該駆動情報に対応する指令情報との差分の情報を監視するので、工具抜け判定の精度を向上できる。
【００１０】
請求項４に係る数値制御装置は、請求項１から３の何れか一つに記載の発明の構成に加え、前記駆動情報は、前記モータのトルク情報であることを特徴とする。工具抜け時にクランプ軸に大きな力が加わるので、主軸ヘッドを昇降駆動するモータのトルクには大きな変化が生じる。故に数値制御装置はモータのトルク情報に基づき、閾値を超える変化が有るか判断することで工具抜けを正確且つ迅速に検知できる。
【００１１】
請求項５に係る制御方法は、被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置の制御方法において、前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得工程と、前記第一取得工程において前記所定時間毎に取得した前記駆動情報に基づき、前回の駆動情報と今回の駆動情報の差分である第一差分情報を算出する第一算出工程と、前記第一算出工程において算出した前記第一差分情報に予め記憶した第一閾値を超える変化が有るか判断する第一判断工程と、前記第一判断工程において前記第一差分情報に前記第一閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第一出力工程とを備えたことを特徴とする。数値制御装置は上記工程を行うことで請求項１に記載の効果を得ることができる。
請求項６に係る制御方法は、被削材を支持するテーブルに対して接近又は離反可能な主軸ヘッドと、前記主軸ヘッドに回転可能に設けた主軸と、前記主軸に設けたばねと、該ばねの力により工具を保持する工具ホルダを前記主軸にクランプするクランプ軸と、前記主軸ヘッドを前記テーブルに対して接近、離反する方向に駆動するモータと、前記モータに接続し、該モータの駆動情報を検出するエンコーダとを備えた工作機械を制御する数値制御装置の制御方法において、前記工作機械の機械原点よりも前記テーブル側である加工領域内で、前記主軸ヘッドを前記機械原点側に移動し、且つ前記テーブルが移動しないときに、前記エンコーダから所定時間毎に前記駆動情報を取得する第一取得工程と、前記第一取得工程において前記所定時間毎に取得する前記駆動情報の夫々に対応する前記モータの入力の情報である指令情報を取得する第二取得工程と、前記第一取得工程において前記所定時間毎に取得した前記駆動情報と、前記第二取得工程において取得した前記指令情報との差分の情報である第二差分情報を算出する第二算出工程と、前記第二算出工程において算出した前記第二差分情報に予め記憶した第二閾値を超える変化が有るか判断する第二判断工程と、前記第二判断工程において前記第二差分情報に前記第二閾値を超える変化が有ると判断した場合、前記主軸において工具抜けが発生したことを示す異常情報を出力する第二出力工程とを備えたことを特徴とする。数値制御装置は上記工程を行うことで請求項２に記載の効果を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】工作機械１の斜視図。
【図２】主軸ヘッド７周囲の縦断面図。
【図３】主軸９内部の縦断面図。
【図４】加工領域と工具交換領域の説明図。
【図５】工作機械１と数値制御装置３０の電気的構成を示すブロック図。
【図６】工具抜け判定処理（第一実施形態）の流れ図。
【図７】トルクモニタ値（早送りオーバライド１００％）の変化を示す図表。
【図８】トルクモニタ値（早送りオーバライドα）の変化を示す図表。
【図９】トルクモニタ値の時間差分（早送りオーバライド１００％）の変化を示す図表。
【図１０】トルクモニタ値の時間差分（早送りオーバライドα）の変化を示す図表。
【図１１】工具抜け判定処理（第二実施形態）の流れ図。
【図１２】通常上昇時におけるトルク指令値とトルクモニタ値の変化（早送りオーバライド１００％）を示す図表。
【図１３】工具抜け発生時におけるトルク指令値とトルクモニタ値の変化（早送りオーバライド１００％）を示す図表。
【図１４】通常上昇時におけるトルク指令値とトルクモニタ値の変化（早送りオーバライドα）を示す図表。
【図１５】工具抜け発生時におけるトルク指令値とトルクモニタ値の変化（早送りオーバライドα）を示す図表。
【図１６】通常上昇時と工具抜け発生時におけるトルク指令値とトルクモニタ値の差分の変化（早送りオーバライド１００％）を示す図表。
【図１７】通常上昇時と工具抜け発生時におけるトルク指令値とトルクモニタ値の差分の変化（早送りオーバライドα）を示す図表。
【図１８】工具抜け判定処理（第三実施形態）の流れ図。
【発明を実施するための形態】
【００１３】
本発明の第一実施形態を図面を参照して説明する。以下説明は、図中に矢印で示す左右、前後、上下を使用する。工作機械１の左右方向、前後方向、上下方向は、夫々、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向である。図１に示す工作機械１は主軸９に装着した工具４を回転し、テーブル１３上面に保持した被削材に切削加工を施す機械である。数値制御装置３０（図５参照）は工作機械１の動作を制御する。
【００１４】
図１〜図３を参照し、工作機械１の構造を説明する。工作機械１は、基台２、コラム５、主軸ヘッド７、主軸９、テーブル装置１０、工具交換装置２０、制御箱６、操作盤１５（図５参照）等を備える。基台２は略直方体状の金属製土台である。コラム５は基台２上部後方に立設する。
【００１５】
主軸ヘッド７はコラム５前面に設けたＺ軸移動機構でＺ軸方向に昇降する。Ｚ軸移動機構は一対のＺ軸リニアガイド（図示略）、Ｚ軸ボール螺子２６（図２参照）、Ｚ軸モータ５１（図５参照）を備える。Ｚ軸リニアガイドはＺ軸方向に沿って延び且つ主軸ヘッド７をＺ軸方向に案内する。Ｚ軸ボール螺子２６は一対のＺ軸リニアガイドの間に配置する。上側軸受部２７と下側軸受部（図示略）はＺ軸ボール螺子２６を回転可能に支持する。主軸ヘッド７は背面にナット２９を備える。ナット２９はＺ軸ボール螺子２６に螺合する。Ｚ軸モータ５１はＺ軸ボール螺子２６を正逆方向に回転する。故に主軸ヘッド７はナット２９と共にＺ軸方向に移動する。主軸ヘッド７は上部に主軸モータ５２を備える。主軸９は主軸ヘッド７の内部に回転可能に設ける。主軸９は下端部（先端部）に装着穴９Ｂを有する。装着穴９Ｂは主軸ヘッド７下部に位置する。主軸９は装着穴９Ｂに工具ホルダ１７を装着し、主軸モータ５２の駆動で回転する。工具ホルダ１７は工具４を保持する。
【００１６】
テーブル装置１０は、Ｙ軸移動機構（図示略）、Ｙ軸テーブル１２、Ｘ軸移動機構（図示略）、テーブル１３等を備える。Ｙ軸移動機構は基台２上面前側に設け、一対のＹ軸レール、Ｙ軸ボール螺子、Ｙ軸モータ５４（図５参照）等を備える。一対のＹ軸レールとＹ軸ボール螺子はＹ軸方向に沿って延びる。一対のＹ軸レールは上面にＹ軸テーブル１２をＹ軸方向に案内する。Ｙ軸テーブル１２は略直方体状に形成し、底部外面にナット（図示略）を備える。該ナットはＹ軸ボール螺子に螺合する。Ｙ軸モータ５４がＹ軸ボール螺子を回転すると、Ｙ軸テーブル１２はナットと共に一対のＹ軸レールに沿って移動する。故にＹ軸移動機構はＹ軸テーブル１２をＹ軸方向に移動可能に支持する。
【００１７】
Ｘ軸移動機構はＹ軸テーブル１２上面に設け、一対のＸ軸レール（図示略）、Ｘ軸ボール螺子（図示略）、Ｘ軸モータ５３（図５参照）等を備える。Ｘ軸レールとＸ軸ボール螺子はＸ軸方向に沿って延びる。テーブル１３は平面視矩形板状に形成し、Ｙ軸テーブル１２上面に設ける。テーブル１３は底部にナット（図示略）を備える。該ナットはＸ軸ボール螺子に螺合する。Ｘ軸モータ５３がＸ軸ボール螺子を回転すると、テーブル１３はナットと共に一対のＸ軸レールに沿って移動する。故にＸ軸移動機構はテーブル１３をＸ軸方向に移動可能に支持する。故にテーブル１３は、Ｙ軸移動機構、Ｙ軸テーブル１２、Ｘ軸移動機構により、基台２上をＸ軸方向とＹ軸方向に移動可能である。
【００１８】
工具交換装置２０は主軸ヘッド７の前側に設け、円盤型の工具マガジン２１を備える。工具マガジン２１は外周に複数のグリップアーム９０を放射状に備える。グリップアーム９０は工具ホルダ１７を保持する。工具交換装置２０はマガジンモータ５５を駆動して工具マガジン２１を回転し、工具交換指令が指示する工具４を工具交換位置に位置決めする。工具交換指令はＮＣプログラムで指令する。工具交換位置は工具マガジン２１の最下部位置である。工具交換装置２０は後述する工具交換領域（図４参照）にて、主軸ヘッド７の昇降動作と、グリップアーム９０の揺動動作によって、主軸９に現在装着する工具４と、工具交換位置にある次工具とを入れ替え交換する。
【００１９】
制御箱６はコラム５の背面側に取り付け、数値制御装置３０（図５参照）を格納する。数値制御装置３０は、上述のＺ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４を夫々制御し、テーブル１３上に保持した被削材と主軸９に装着した工具４を相対移動することで各種加工を被削材に施す。各種加工とは、例えばドリル、タップ等を用いた穴空け加工、エンドミル、フライス等を用いた側面加工等である。
【００２０】
操作盤１５は、例えば工作機械１を覆うカバー（図示略）の外壁に設ける。操作盤１５は入力部２４（図５参照）と表示部２５（図５参照）を備える。入力部２４は各種情報、操作指示等の入力を受け付け、後述する数値制御装置３０に入力情報を出力する。表示部２５は後述する数値制御装置３０からの指令に基づき各種画面、異常情報等を表示する。
【００２１】
図２，図３を参照し、主軸ヘッド７と主軸９の内部構造を説明する。主軸ヘッド７は前方下部の内側に主軸９を回転可能に支持する。主軸９は上下方向に回転軸を有する。主軸９は主軸モータ５２の下方に延びる駆動軸にカップリング２３を介して連結する。故に主軸９は主軸モータ５２の駆動で回転する。図３に示す如く、主軸９は、軸穴９Ａ、装着穴９Ｂ、空間９Ｃ、下部摺動穴９Ｄ、クランプ軸８１、ばね８２を備える。軸穴９Ａは主軸９の中心を通る。上記の通り、装着穴９Ｂは主軸９の先端部（下端部）に設ける。装着穴９Ｂには工具ホルダ１７が装着する。工具ホルダ１７は一端側に工具４を保持し、他端側にテーパ装着部１７Ａとプルスタッド１７Ｂを備える。テーパ装着部１７Ａは円錐状である。プルスタッド１７Ｂはテーパ装着部１７Ａの頂上部から軸方向に突出する。テーパ装着部１７Ａは主軸９の装着穴９Ｂに密着して装着する。空間９Ｃは装着穴９Ｂ上部に連続して設ける。下部摺動穴９Ｄは軸穴９Ａの下端部と空間９Ｃとの間に連続して設ける。
【００２２】
クランプ軸８１は軸穴９Ａ内に挿入し且つ上下方向に移動可能に設ける。クランプ軸８１はピン支持部８１Ａ、軸部８１Ｂ、ホルダ把持部８１Ｃを備える。ピン支持部８１Ａは円柱形状でクランプ軸８１の上端に位置し、後述するピン５８を支持する。ピン支持部８１Ａの直径は主軸９の軸穴９Ａの直径より僅かに小さい。軸部８１Ｂは円柱形状でありピン支持部８１Ａから下方に延びる。軸部８１Ｂの直径はピン支持部８１Ａの直径より小さい。ホルダ把持部８１Ｃは軸部８１Ｂの下端に位置し、複数の鋼球（図示略）を有する。ばね８２は軸穴９Ａの中に挿入し、ばね８２の上端はピン支持部８１Ａと係合する。クランプ軸８１をばね力Ｑ１で上方に常時付勢する。クランプ軸８１がばね８２のばね力Ｑ１に抗して下方向に移動することにより、ばね８２は縮み、ホルダ把持部８１Ｃは下部摺動穴９Ｄから空間９Ｃに出て、工具ホルダ１７のプルスタッド１７Ｂのクランプを解除する。プルスタッド１７Ｂのクランプを解除する為に、クランプ軸８１を押し下げる時に必要な力Ｑ２は、例えば約３０００Ｎである。クランプ軸８１が下方位置から上に移動すると、ホルダ把持部８１Ｃは、空間９Ｃから下部摺動穴９Ｄに移動し、鋼球は内側に引き込まれ、プルスタッド１７Ｂをクランプする。故にクランプ軸８１は工具ホルダ１７をばね８２により上方に引っ張り上げた状態で保持する。
【００２３】
図２に示す如く、主軸ヘッド７は後方上部の内側にレバー６０を備える。レバー６０は略Ｌ字型であり支軸６１を中心に揺動する。支軸６１は主軸ヘッド７内に固定する。レバー６０は縦方向レバー６３と横方向レバー６２を備える。縦方向レバー６３は支軸６１からコラム５側に対して斜め上方に延びて中間部６５で上方に折曲して更に上方に延びる。横方向レバー６２は支軸６１からコラム５前方に略水平に延びる。横方向レバー６２の先端部はクランプ軸８１に直交して突設したピン５８に上方から係合可能である。縦方向レバー６３は上端部の背面に板カム体６６を備える。板カム体６６はコラム５側にカム面を備える。板カム体６６のカム面は上側軸受部２７に固定したカムフォロア６７と接離可能である。カムフォロア６７は板カム体６６のカム面を摺動する。引張コイルバネ（図示略）は縦方向レバー６３と主軸ヘッド７との間に弾力的に設ける。レバー６０を右側面から見た場合、引張コイルバネはレバー６０を時計回りに常時付勢する。故にレバー６０は横方向レバー６２によるピン５８の下方向への押圧を常時解除する。
【００２４】
図２を参照し、主軸９の装着穴９Ｂへの工具ホルダ１７の脱着動作を説明する。主軸９の装着穴９Ｂに、工具ホルダ１７のテーパ装着部１７Ａを装着した状態で、主軸ヘッド７は上昇する。レバー６０に設けた板カム体６６はカムフォロア６７に接触して摺動する。板カム体６６のカム形状に沿ってカムフォロア６７が摺動すると、レバー６０は右側方から見た時に支軸６１を中心に反時計回りに回転する。横方向レバー６２はピン５８に上方から係合してクランプ軸８１を下方に押圧する。クランプ軸８１はばね８２のばね力Ｑ１に抗してホルダ把持部８１Ｃを下方に付勢する。ホルダ把持部８１Ｃは工具ホルダ１７のプルスタッド１７Ｂのクランプを解除する。工具ホルダ１７は主軸９の装着穴９Ｂから取り外し可能となる。
【００２５】
主軸９の装着穴９Ｂに工具ホルダ１７を装着する時、主軸９の装着穴９Ｂに、工具ホルダ１７のテーパ装着部１７Ａを挿入した状態で、主軸ヘッド７は下降する。レバー６０に設けた板カム体６６はカムフォロア６７に摺動すると、レバー６０は右側方から見た時に支軸６１を中心に時計回りに回転する。故に横方向レバー６２はピン５８から離れ、クランプ軸８１の下方への押圧を解除する。クランプ軸８１はホルダ把持部８１Ｃの下方への付勢を解除し、ばね８２のばね力で上方に移動するので、ホルダ把持部８１Ｃはプルスタッド１７Ｂを上方に引っ張る。故に主軸９の装着穴９Ｂに対して、工具ホルダ１７のテーパ装着部１７Ａの装着が完了する。
【００２６】
図４を参照し、工具抜け検知範囲を説明する。工具抜けとは、主軸９の装着穴９Ｂから工具ホルダ１７のテーパ装着部１７Ａが抜ける現象である。本実施形態は、Ｚ軸の機械原点をＺ軸原点と呼ぶ。機械原点とは、Ｘ軸、Ｙ軸の機械座標が零である位置、Ｚ軸の機械座標が被削材を加工可能な上限位置となる位置である。Ｚ軸原点よりもテーブル１３（図１参照）側の領域は加工領域、Ｚ軸原点に対して加工領域とは反対側の領域は工具交換領域である。加工領域は被削材の加工動作を行う為の領域である。工具交換領域は工具交換装置２０による工具交換を行う為の領域である。本実施形態は加工領域を工具抜け検知範囲とする。後述の如く、数値制御装置３０は工具抜け検知範囲において主軸ヘッド７をＺ軸方向に上昇（Ｚ軸上昇）する時に工具抜けを検知し、工具抜けを検知した時に異常情報を出力する。
【００２７】
図５を参照し、数値制御装置３０と工作機械１の電気的構成を説明する。数値制御装置３０と工作機械１は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、記憶装置３４、入出力部３５、駆動回路５１Ａ〜５５Ａ等を備える。ＣＰＵ３１は数値制御装置３０を統括制御する。ＲＯＭ３２は、主プログラム、工具抜け判定プログラムを含む各種プログラム等を記憶する。主プログラムは主処理を実行する。主処理は、ＮＣプログラムを一行ずつ読み込んで各種動作を実行する。ＮＣプログラムは各種制御指令を含む複数行で構成し、工作機械１の軸移動、工具交換等を含む各種動作を行単位で制御する。工具抜け判定プログラムは、後述する工具抜け判定処理（図６参照）を実行する。ＲＡＭ３３は各種情報を一時的に記憶する。記憶装置３４は不揮発性であり、ＮＣプログラム、後述する閾値等の各種データを記憶する。ＣＰＵ３１は作業者が操作盤１５の入力部２４で入力したＮＣプログラムに加え、外部入力で読み込んだＮＣプログラム等を記憶装置３４に記憶できる。
【００２８】
駆動回路５１ＡはＺ軸モータ５１とエンコーダ５１Ｂに接続する。駆動回路５２Ａは主軸モータ５２とエンコーダ５２Ｂに接続する。駆動回路５３ＡはＸ軸モータ５３とエンコーダ５３Ｂに接続する。駆動回路５４ＡはＹ軸モータ５４とエンコーダ５４Ｂに接続する。駆動回路５５Ａは工具マガジン２１を駆動するマガジンモータ５５とエンコーダ５５Ｂに接続する。Ｚ軸モータ５１、主軸モータ５２、Ｘ軸モータ５３、Ｙ軸モータ５４、マガジンモータ５５は何れもサーボモータである。駆動回路５１Ａ〜５５ＡはＣＰＵ３１から指令を受け、対応する各モータ５１〜５５に駆動電流を夫々出力する。駆動回路５１Ａ〜５５Ａはエンコーダ５１Ｂ〜５５Ｂからエンコーダ情報（本発明の駆動情報の一例）を受け、位置と速度のフィードバック制御を行う。エンコーダ情報は、トルクモニタ値、速度、位置、位置偏差等の各種情報を含む。エンコーダ情報は入出力部３５を介してＣＰＵ３１が読み取ることができる。入出力部３５は操作盤１５の入力部２４と表示部２５に夫々接続する。
【００２９】
操作盤１５は、入力部２４と表示部２５に加え、図示しない早送りオーバライドスイッチ、切削送りオーバライドスイッチ、主軸オーバライドスイッチ等を備える。早送りオーバライドスイッチは、主軸９の位置決め動作についてオーバライドをかける為のスイッチである。例えばオーバライドの速度を複数設定しておき、それらの中から使用者が切り替えるようにしてもよい。切削送りオーバライドスイッチは、切削送り動作についてオーバライドをかける為のスイッチである。比率は０〜２００％である。主軸オーバライドスイッチは、主軸回転についてオーバライドをかける為のスイッチである。比率は５０〜２００％である。
【００３０】
図３を参照し、工具抜け発生の仕組みとＺ軸モータ５１のトルクとの関係を説明する。主軸ヘッド７のＺ軸上昇力Ｚ１は、Ｚ軸モータ５１のトルクに起因する。Ｚ軸上昇力Ｚ１が主軸ヘッド７の重力Ｚ２よりも大きいとき、主軸ヘッド７は上昇する。例えば工具４による被削材の穴空け終了後、工具４が被削材に強く喰い付く時がある。数値制御装置３０は該状態で主軸ヘッド７をＺ軸に上昇しようとしても、被削材から工具４を引き抜くことができないときがある。工具４の位置が被削材で固定した状態で、主軸ヘッド７が上昇すると、工具ホルダ１７はホルダ把持部８１Ｃを介してばね８２のばね力Ｑ１に抗してクランプ軸８１を下方に引っ張るので、主軸ヘッド７にばね８２を縮ませようとする力Ｑ２が働く。主軸ヘッド７は力Ｑ２と主軸ヘッド７の重力Ｚ２の力が働く。Ｚ軸上昇力Ｚ１が、主軸ヘッド７の重力Ｚ２と力Ｑ２を合わせた力よりも大きくなったときに工具抜けは発生する。工具抜け発生時にＺ軸モータ５１のトルクは増大した後、前述した力Ｑ２が急に無くなるのでばね８２が伸縮しトルクの変化が激しくなる。故に数値制御装置３０は、後述する工具抜け判定処理（図６参照）を実行することで、加工領域内における工具抜けを精度良く検知できる。
【００３１】
図６〜図１０を参照し、工具抜け判定処理を説明する。ＣＰＵ３１は、工作機械１を起動しＮＣプログラムを実行する時に、ＲＯＭ３２から工具抜け判定プログラムを読み出し、本処理を所定周期毎に実行する。先ずＣＰＵ３１は主軸ヘッド７が上昇か否か（Ｚ軸上昇か否か）判断する（Ｓ１）。主軸ヘッド７が上昇しない時（Ｓ１：ＮＯ）、ＣＰＵ３１は本処理を終了する。主軸ヘッド７が上昇する時（Ｓ１：ＹＥＳ）、ＣＰＵ３１は主軸ヘッド７のＺ軸座標がＺ軸原点以下か否か判断する（Ｓ２）。Ｚ軸座標がＺ軸原点よりも上方である時（Ｓ２：ＮＯ）、図４に示す如く、主軸ヘッド７は工具交換領域内に位置し、工具抜け検知範囲外であるので、ＣＰＵ３１は本処理を終了する。ＣＰＵ３１は主処理において、実行する動作がＺ軸上昇であればＲＡＭ３３にＺ軸上昇であることを記憶する。Ｚ軸上昇か否かを判断する際、ＣＰＵ３１はＲＡＭ３３にＺ軸上昇であることを記憶しているか否かで判断する。また、別の判断方法として、Ｚ軸座標の値をＲＡＭ３３に記憶し、前回記憶したＺ軸座標値と今回記憶したＺ軸座標値からＺ軸上昇か否かを判断してもよい。
【００３２】
Ｚ軸座標がＺ軸原点よりも下方である時（Ｓ２：ＹＥＳ）、主軸ヘッド７は工具抜け検知範囲内に位置するので、ＣＰＵ３１は、主軸ヘッド７のＸ軸とＹ軸の夫々の駆動軸が移動していないか判断する（Ｓ３）。Ｘ軸とＹ軸の少なくとも何れかが移動した時（Ｓ３：ＮＯ）、Ｚ軸上昇はＸ軸とＹ軸を含む移動であり、工具抜けを検知する条件とは異なるので、ＣＰＵ３１は本処理を終了する。Ｘ軸とＹ軸が何れも移動していなければ（Ｓ３：ＹＥＳ）、ＣＰＵ３１はエンコーダ５１ＢからＺ軸モータ５１のエンコーダ情報としてのトルクモニタ値を所定時間毎（例えば、０．５ｍｓｅｃ）に取得する（Ｓ４）。ＣＰＵ３１は主処理において、実行する動作がＸ軸移動、Ｙ軸移動であればＲＡＭ３３にＸ軸移動、Ｙ軸移動であることを記憶する。故に、Ｓ３の判断はＲＡＭ３３に記憶した情報に基づいて判断する。
【００３３】
図７に示す図表は、早送りオーバライド１００％における主軸ヘッド７の通常上昇時と工具抜け発生時のトルクモニタ値の変化を示す。（ａ）は通常上昇時と工具抜け発生時の両方のトルクモニタ値の変化を示し、（ｂ）は通常上昇時のみのトルクモニタ値の変化を示す。早送りオーバライド１００％は、例えば５６０００ｍｍ／ｍｉｎである。横軸は時間（ｍｓｅｃ）、縦軸はトルクモニタ値（×０．１％）を示す。点線は主軸ヘッド７の通常上昇時のトルクモニタ値の変化、実線は工具抜け発生時のトルクモニタ値の変化を示す。主軸ヘッド７を被削材の加工位置から所定位置まで上昇する工程の中で、ｔ１〜ｔ２は加速域、ｔ２〜ｔ３は定速域、ｔ３〜ｔ４は減速域である。故に主軸ヘッド７は加速域では加速しながら上昇し、定速域では最高速度で上昇し、減速域では減速しながら所定位置で停止する。通常上昇時において、トルクモニタ値は、例えば加速域で約２８００（×０．１％）まで上昇した後、約７００（×０．１％）付近まで低下し、定速域で約７００（×０．１％）を維持し、減速域で約−１５００（×０．１％）まで低下した後、約５００（×０．１％）付近まで上昇して一定値を維持する。
【００３４】
工具抜け発生時、通常上昇時に対し、トルクモニタ値の波形に変化が現れる。例えば、加速域において、トルクモニタ値の波形におけるｐ１箇所は、傾きが変化している箇所であり、工具４の刃が被削材に喰い付いた状態で主軸ヘッド７が上昇している時刻に対応すると思われる。トルクモニタ値の波形におけるｐ２箇所は、傾きが小刻みに変化している箇所であり、工具ホルダ１７が主軸９の装着穴９Ｂから抜け、ばね８２が伸縮する為、Ｚ軸モータ５１の負荷が変動する時刻に対応すると思われる。故に数値制御装置３０はトルクモニタ値の波形の変化に基づき、工具抜け発生を検知できる可能性がある。波形の変化が異常値か否かを判定する為に、閾値を設定して行う方法が一般的であるが、トルクモニタ値は主軸ヘッド７の上昇速度に伴って変化してしまうので、閾値を設定するのは困難である。
【００３５】
図８に示す図表は、早送りオーバライドαにおける通常上昇時と工具抜け発生時のトルクモニタ値の変化を示す。（ａ）は通常上昇時と工具抜け発生時の両方のトルクモニタ値の変化を示し、（ｂ）は通常上昇時のみのトルクモニタ値の変化を示す。通常上昇時のトルクモニタ値は加速域、減速域付近のみ点線で示しその他の部分は実線で示している。早送りオーバライドαは、例えば１００００ｍｍ／ｍｉｎである。主軸ヘッド７を被削材の加工位置から所定位置まで上昇する工程の中で、ｔ５〜ｔ６は加速域、ｔ６〜ｔ７は定速域、ｔ７〜ｔ８は減速域である。早送りオーバライドαにおいても、工具抜け発生時、通常上昇時に対し、トルクモニタ値の波形に変化が現れる。例えば加速域において、トルクモニタ値の波形におけるｐ３箇所は、傾きが変化している箇所であり、工具４の刃が被削材に喰い付いた状態で主軸ヘッド７が上昇している時刻に対応すると思われる。トルクモニタ値の波形におけるｐ４箇所は、傾きが小刻みに変化している箇所であり、工具ホルダ１７が主軸９の装着穴９Ｂから抜け、ばね８２が伸縮する為、Ｚ軸モータ５１の負荷が変動する時刻に対応すると思われる。図７に示す図表と対比した結果、主軸ヘッド７の上昇速度が変わると、トルクモニタ値も変わることが分かる。故にトルクモニタ値の変化に対して閾値を設定するのは困難であるので、ＣＰＵ３１は以下の処理を続けて実行する。
【００３６】
図６に示す如く、ＣＰＵ３１はトルクモニタ値の時間差分を計算する（Ｓ５）。時間差分とは、前回取得したトルクモニタ値と、今回取得したトルクモニタ値との差分である。本実施形態は０．５ｍｓｅｃ毎にトルクモニタ値を取得するので、ＣＰＵ３１は０．５ｍｓｅｃ分のトルクモニタ値の差分を計算する。図９に示す図表は、早送りオーバライド１００％における通常上昇時と工具抜け発生時のトルクモニタ値の時間差分の変化を示す。横軸は時間（ｍｓｅｃ）、縦軸はトルクモニタ値（×０．１％）を示す。（ａ）は通常上昇時と工具抜け発生時の両方のトルクモニタ値の差分の変化を示し、（ｂ）は通常上昇時のみのトルクモニタ値の差分の変化を示す。点線は主軸ヘッド７の通常上昇時のトルクモニタ値の時間差分の変化、実線は工具抜け発生時のトルクモニタ値の時間差分の変化を示す。通常上昇時の時間差分の変化に対し、工具抜け発生時の時間差分の変化は、１９５０〜２０００．０（ｍｓｅｃ）付近において、複数本の大きなピークを生じている。
【００３７】
図１０に示す図表は、早送りオーバライドαにおける通常上昇時と工具抜け発生時のトルクモニタ値の時間差分の変化を示す。（ａ）は工具抜け発生時のトルクモニタ値の時間差分の変化を示し、（ｂ）は通常上昇時のトルクモニタ値の時間差分の変化を示す。通常上昇時の時間差分の変化に対し、工具抜け発生時の時間差分の変化は、１７００〜１９００．０（ｍｓｅｃ）付近において、複数本の大きなピークを生じている。故にトルクモニタの時間差分の変化は、主軸ヘッド７の上昇速度に依存せず同じ傾向が見られることが分かる。故に本実施形態は、トルクモニタ値の時間差分の情報に対し閾値を設けることで、工具抜けの判定を行うことができる。図９，図１０に示す如く、本実施形態はトルクモニタ値の時間差分について、例えば二つの閾値（１００と−１００）を設けることができる。
【００３８】
図６に示す如く、ＣＰＵ３１は計算した時間差分が閾値を超えたか否か判断する（Ｓ６）。時間差分が閾値を超えた時（Ｓ６：ＹＥＳ）、工具抜けが発生した可能性が高いので、ＣＰＵ３１は異常情報を出力する（Ｓ７）。異常情報を出力すると、ＣＰＵ３１は例えば主軸ヘッド７の上昇を停止し、表示部２５にエラー表示等を行う。故に数値制御装置３０は作業者に工具抜けが発生したことを速やかに通知できる。作業者は工具抜けに対して迅速に対応できる。異常情報を出力後、ＣＰＵ３１は本処理を終了する。
【００３９】
なお、時間差分が閾値を超えていない時（Ｓ６：ＮＯ）、工具抜けは起きていないので、ＣＰＵ３１は主軸ヘッド７のＺ軸上昇が終了したか否か判断する（Ｓ８）。Ｚ軸上昇が終了していない時（Ｓ８：ＮＯ）、ＣＰＵ３１はＳ２に戻り、引き続きトルクモニタ値を取得し、トルクモニタ値の時間差分を算出し、工具抜けを監視する。Ｚ軸上昇が終了した時（Ｓ８：ＹＥＳ）、ＣＰＵ３１は本処理を終了する。
【００４０】
以上説明の如く、第一実施形態の数値制御装置３０は工作機械１の動作を制御する。工作機械１は、主軸ヘッド７、主軸９、クランプ軸８１、ばね８２、Ｚ軸モータ５１、エンコーダ５１Ｂを備える。主軸ヘッド７は、被削材を支持するテーブル１３に対して接近又は離反可能である。主軸９は主軸ヘッド７に回転可能に設ける。ばね８２は主軸９内部に設ける。クランプ軸８１は、ばね８２の力により工具ホルダ１７を主軸９にクランプする。Ｚ軸モータ５１は主軸ヘッド７をテーブル１３に対して接近、離反する方向に駆動する。エンコーダ５１Ｂは、Ｚ軸モータ５１に接続し、該Ｚ軸モータ５１のエンコーダ情報を検出する。数値制御装置３０のＣＰＵ３１は、工作機械１の機械原点よりもテーブル１３側である加工領域内で、主軸ヘッド７を機械原点側に移動するときに、エンコーダ５１Ｂから所定時間毎にトルクモニタ値を取得する。ＣＰＵ３１は所定時間毎に取得したトルクモニタ値に基づき、予め記憶した閾値を超える変化が有るか判断することで、主軸９から工具ホルダ１７が抜ける工具抜けが発生したと判定する。閾値を超える変化が有った時、ＣＰＵ３１は、主軸ヘッド７の移動を停止し、表示部２５に異常情報を出力する。
【００４１】
数値制御装置３０は加工領域内において、主軸ヘッド７を上昇するときに、Ｚ軸モータ５１のエンコーダ５１Ｂから取得した駆動情報の変化を閾値と比較することで、工具抜けを常時監視できる。故に数値制御装置３０は、工具折損検出装置等の他の監視装置を必要としないので、測定準備等の手間が要らず、費用が増大することもない。本発明は工具折損検出の為の工具の移動をする必要が無い。故に数値制御装置３０は加工のサイクルタイムを低減することができる。
【００４２】
上記実施形態のＣＰＵ３１は、所定時間毎に取得したトルクモニタ値に基づき、前回のトルクモニタ値と今回のトルクモニタ値の時間差分を算出し、算出した時間差分が閾値を超えるか判断する。ＣＰＵ３１は時間差分に閾値を超える変化が有ると判断した時、工具抜けが発生したと判定する。数値制御装置３０はモニタトルク値の時間差分の変化を監視することで、工具抜けを迅速且つ正確に判定できる。
【００４３】
以上説明にて、Ｚ軸モータ５１は本発明のモータの一例である。ばね８２は本発明のばねの一例である。エンコーダ情報は本発明の駆動情報の一例である。図６のＳ４の処理を実行するＣＰＵ３１は第一取得手段の一例である。Ｓ７の処理を実行するＣＰＵ３１は本発明の第一出力手段の一例である。Ｓ５の処理を実行するＣＰＵ３１は本発明の第一算出手段の一例である。Ｓ６の処理を実行するＣＰＵ３１は本発明の第一判断手段の一例である。
尚、閾値はＺ軸モータ５１の回転速度に対応して複数設けるようにしてもよい。該場合、エンコーダ情報は今回検出したトルクモニタ値のみでＣＰＵ３１は工具抜けを判断できる。
【００４４】
図１１〜図１７を参照し、本発明の第二実施形態を説明する。第二実施形態は第一実施形態の変形例である。第二実施形態は、トルクモニタ値とトルク指令値の差分を算出し、その差分が閾値を超えた時には工具抜けが発生したとみなして異常情報を出力する。第二実施形態の数値制御装置は、第一実施形態と同一の構成を備え、図１１に示す工具抜け判定処理を実行する。第二実施形態の工具抜け判定処理はＳ４以降の処理が第一実施形態と一部異なるので、異なる部分を中心に説明する。
【００４５】
図１１を参照し、工具抜け判定処理を説明する。第一実施形態と同様に、加工領域において主軸ヘッド７がＺ軸に上昇する時（Ｓ１：ＹＥＳ、Ｓ２：ＹＥＳ、Ｓ３：ＹＥＳ）、ＣＰＵ３１はエンコーダ５１ＢからＺ軸モータ５１のエンコーダ情報としてのトルクモニタ値を所定時間毎（例えば、０．５ｍｓｅｃ）に取得する（Ｓ４）。続いて、ＣＰＵ３１はトルク指令値を取得する（Ｓ１１）。トルク指令値は、Ｓ４の処理で取得したトルクモニタ値に対応し、ＣＰＵ３１がＺ軸モータ５１を駆動する為に駆動回路５１Ａに入力した指令情報である。
【００４６】
図１２に示す図表は、早送りオーバライド１００％における主軸ヘッド７の通常上昇時のトルク指令値とトルクモニタ値の変化を示す。横軸は時間（ｍｓｅｃ）、縦軸はトルクモニタ値（×０．１％）を示す。（ａ）はトルクモニタ値の変化を示し、（ｂ）はトルク指令値の変化を示す。点線はトルク指令値の変化、実線はトルクモニタ値の変化を示す。主軸ヘッド７を被削材の加工位置から所定位置まで上昇する工程の中で、ｔ９〜ｔ１０は加速域、ｔ１０〜ｔ１１は定速域、ｔ１１〜ｔ１２は減速域である。早送りオーバライド１００の通常上昇時では、トルク指令値とトルクモニタ値に差異は殆ど確認できない。
【００４７】
図１３に示す図表は、早送りオーバライド１００％における工具抜け発生時のトルク指令値とトルクモニタ値の変化を示す。（ａ）はトルク指令値とトルクモニタ値の変化を示し、（ｂ）はトルク指令値の変化を示す。工具抜け発生時では、ｐ５箇所においてトルク指令値に大きな変化を生じたことから、トルク指令値とトルクモニタ値に差異を確認できる。故に数値制御装置３０はトルク指令値とトルクモニタ値の夫々の波形の変化を対比することで、工具抜け発生を検知できる可能性がある。但し、第一実施形態と同様に、図１３に示す図表からでは、波形の変化が異常値か否かを判定するのは困難である。
【００４８】
図１４に示す図表は、早送りオーバライドαにおける通常上昇時のトルク指令値とトルクモニタ値の変化を示す。（ａ）はトルク指令値とトルクモニタ値の変化を示し、（ｂ）はトルク指令値の変化を示す。横軸は時間（ｍｓｅｃ）、縦軸はトルクモニタ値（×０．１％）を示す。主軸ヘッド７を被削材の加工位置から所定位置まで上昇する工程の中で、ｔ１３〜ｔ１４は加速域、ｔ１４〜ｔ１５は定速域、ｔ１５〜ｔ１６は減速域である。早送りオーバライドαの通常上昇時でも、早送りオーバライド１００％と同様に、トルク指令値とトルクモニタ値に差異は殆ど確認できない。
【００４９】
図１５に示す図表は、早送りオーバライドαにおける工具抜け上昇時のトルク指令値とトルクモニタ値の変化を示す。早送りオーバライドαの工具抜け発生時でも、ｐ６箇所においてトルク指令値に大きな変化を生じたことから、トルク指令値とトルクモニタ値に差異を確認できる。図１３に示す図表と対比した結果、主軸ヘッド７の上昇速度が変わると、トルク指令値、トルクモニタ値も変化している。故にトルク指令値とトルクモニタ値の変化に対して閾値を設定するのは困難であるので、ＣＰＵ３１は以下の処理を続けて実行する。
【００５０】
図１１に示す如く、ＣＰＵ３１は所定時間毎に取得するトルクモニタ値とトルク指令値の差分を計算する（Ｓ１２）。差分とは、取得したトルクモニタ値と、取得したトルクモニタ値に対応するトルク指令値との差分である。図１６に示す図表は、早送りオーバライド１００％における通常上昇時と工具抜け発生時のトルクモニタ値とトルク指令値の差分の変化を示す。（ａ）は通常上昇時と工具抜け発生時の両方の差分の変化を示し、（ｂ）は通常上昇時のみの差分の変化を示す。横軸は時間（ｍｓｅｃ）、縦軸はトルクモニタ値（×０．１％）を示す。点線は通常上昇時の差分の変化、実線は工具抜け発生時の差分の変化を示す。通常上昇時の差分の変化に対し、工具抜け発生時の差分の変化は、２０００．０（ｍｓｅｃ）付近において、大きなピークを生じている。
【００５１】
図１７に示す図表は、早送りオーバライドαにおける通常上昇時と工具抜け発生時のトルクモニタ値とトルク指令値の差分の変化を示す。（ａ）は通常上昇時と工具抜け発生時の両方の差分の変化を示し、（ｂ）は通常上昇時のみの差分の変化を示す。通常上昇時の差分の変化に対し、工具抜け発生時の差分の変化は、１８００．０（ｍｓｅｃ）付近において、大きなピークを生じている。故にトルクモニタとトルク指令値の差分の変化は、主軸ヘッド７の上昇速度に依存せず同じ傾向が見られることが分かる。故に第二実施形態は、トルクモニタ値とトルク指令値の差分の情報に対し、閾値を設けることができるので、工具抜けの判定を行うことができる。図１６，図１７に示す如く、第二実施形態はトルクモニタ値とトルク指令値の差分について、例えば二つの閾値（５００と−５００）を設けることができる。故に第二実施形態は第一実施形態と同様に工具抜けを常時監視できる。
【００５２】
以上説明にて、図１１のＳ１１の処理を実行するＣＰＵ３１は本発明の第二取得手段の一例である。Ｓ１２の処理を実行するＣＰＵ３１は本発明の第二算出手段の一例である。Ｓ６の処理を実行するＣＰＵ３１は本発明の第二判断手段の一例である。
【００５３】
図１８を参照し、本発明の第三実施形態を説明する。第三実施形態は第一実施形態と第二実施形態を組み合わせた例である。第三実施形態は、トルクモニタ値の時間差分、及びトルクモニタ値とトルク指令値の差分の何れかが夫々の閾値を超えた時は、工具抜けが発生したとみなして異常情報を出力する。第三実施形態の数値制御装置は、第一実施形態と同一の構成を備え、図１８に示す工具抜け判定処理を実行する。第三実施形態の工具抜け判定処理はＳ４の処理の後に、第一実施形態と第二実施形態を組み合わせたＳ２１〜Ｓ２５の処理を備える。故に第三実施形態はＳ２１〜Ｓ２５の処理を中心に説明する。
【００５４】
図１８に示す如く、第一，第二実施形態と同様に、加工領域において主軸ヘッド７がＺ軸に上昇する時（Ｓ１：ＹＥＳ、Ｓ２：ＹＥＳ、Ｓ３：ＹＥＳ）、ＣＰＵ３１はエンコーダ５１ＢからＺ軸モータ５１のエンコーダ情報としてのトルクモニタ値を所定時間毎（例えば、０．５ｍｓｅｃ）に取得する（Ｓ４）。続いて、ＣＰＵ３１はトルク指令値を取得する（Ｓ２１）。ＣＰＵ３１はＳ４で取得したトルクモニタ値の時間差分（本発明の第三差分情報の一例）を計算し（Ｓ２２）、時間差分が閾値を超えたか否か判断する（Ｓ２３）。時間差分が閾値を超えた時（Ｓ２３：ＹＥＳ）、ＣＰＵ３１は異常情報を出力する（Ｓ７）。
【００５５】
逆に時間差分が閾値を超えていない時（Ｓ２３：ＮＯ）、ＣＰＵ３１はトルクモニタ値とトルク指令値の差分（本発明の第四差分情報の一例）を計算し（Ｓ２４）、計算した差分が閾値を超えたか否か判断する（Ｓ２５）。計算した差分が閾値を超えた時（Ｓ２５：ＹＥＳ）、ＣＰＵ３１は異常情報を出力する（Ｓ７）。計算した差分が閾値を超えていない時（Ｓ２５：ＮＯ）、ＣＰＵ３１はＺ軸上昇が終了する迄処理を繰り返す（Ｓ８）。故に第三実施形態は、トルクモニタ値の時間差分と、トルクモニタ値とトルク指令値の差分の両方を監視することで、第一、第二実施形態に比較して、工具抜け検知の精度を向上できる。
【００５６】
以上説明にて、図１８のＳ２１の処理を実行するＣＰＵ３１は本発明の第三取得手段の一例である。Ｓ２２の処理を実行するＣＰＵ３１は本発明の第三算出手段の一例である。Ｓ２３の処理を実行するＣＰＵ３１は本発明の第三判断手段の一例である。Ｓ２４の処理を実行するＣＰＵ３１は本発明の第四算出手段の一例である。Ｓ２５の処理を実行するＣＰＵ３１は本発明の第四判断手段の一例である。
【００５７】
本発明は上記第一、第二、第三実施形態に限らず、各種変形が可能なことはいうまでもない。上記実施形態の工作機械１は、工具ホルダ１７を装着する主軸９がＺ軸方向に移動可能であり、テーブル１３がＸ軸とＹ軸方向の二軸に移動可能である工作機械である。テーブル１３に対してＸ軸、Ｙ軸、Ｚ軸方向に相対的に移動する主軸９の移動機構の仕組みは上記実施形態に限定しない。例えば、主軸がＸ軸、Ｙ軸、Ｚ軸方向の三軸に移動可能であり、作業台を固定した工作機械でもよい。上記実施形態の工作機械１は縦型の工作機械であるが、横型の工作機械でもよい。横型の工作機械の場合、主軸がテーブルに対して接近、離反する方向に駆動するモータの駆動情報からトルクモニタ値を取得すればよい。
【００５８】
上記第一、第三実施形態は、トルクモニタ値の時間差分を計算して閾値と比較することで、工具抜けを検知しているが、Ｚ軸モータ５１の速度、位置、位置偏差等の時間差分を計算して閾値と比較することで、工具抜けを検知してもよい。Ｚ軸モータ５１の速度、位置、位置偏差は、エンコーダ５１Ｂからフィードバックされる駆動情報から取得すればよい。また第二実施形態は、トルクモニタ値について指令値との差分を計算して閾値と比較することで、工具抜けを検知しているが、Ｚ軸モータ５１の速度、位置について同時刻の指令値との差分を計算して閾値と比較することで、工具抜けを検知してもよい。
【００５９】
上記実施形態の工具抜け判定処理（図６、図１１、図１８）において、工具抜けを検知した時、ＣＰＵ３１は異常情報を出力することにより（Ｓ７）、主軸ヘッド７の上昇を停止し、表示部２５にエラー表示等を行う。例えばエラーの通知は、表示部２５における表示に加え、発光、音声等を組み合わせて行うようにしてもよく、発光又は音声の何れかで通知するようにしてもよい。ＣＰＵ３１は異常情報を出力した時間情報を記憶装置３４に記憶してもよい。例えば作業者が工作機械１から離れて作業をしている時に工具抜けが発生し、工作機械１の動作が停止した時、作業者は記憶装置３４に記憶する時間情報を確認することで、工具抜けが発生した時間を確認できる。
【００６０】
第三実施形態の工具抜け判定処理において、エンコーダ情報、トルク指令値を取得する順番は逆でもよい。トルクモニタ値とトルク指令値の差分を計算して工具抜けを判定した後で、トルクモニタ値の時間差分を計算して工具抜けを判定してもよい。
【００６１】
上記実施形態の駆動回路５１Ａ〜５５Ａは数値制御装置３０に設けているが、駆動回路５１Ａ〜５５Ａを工作機械１に設けてもよい。
【００６２】
１    工作機械
４    工具
７    主軸ヘッド
９    主軸
１３    テーブル
１７    工具ホルダ
３０    数値制御装置
３１    ＣＰＵ
５１    Ｚ軸モータ
５１Ｂ  エンコーダ
Ｑ１      ばね力
【図１】
0006617474.tif 000002
【図２】
0006617474.tif 000003
【図３】
0006617474.tif 000004
【図４】
0006617474.tif 000005
【図５】
0006617474.tif 000006
【図６】
0006617474.tif 000007
【図７】
0006617474.tif 000008
【図８】
0006617474.tif 000009
【図９】
0006617474.tif 000010
【図１０】
0006617474.tif 000011
【図１１】
0006617474.tif 000012
【図１２】
0006617474.tif 000013
【図１３】
0006617474.tif 000014
【図１４】
0006617474.tif 000015
【図１５】
0006617474.tif 000016
【図１６】
0006617474.tif 000017
【図１７】
0006617474.tif 000018
【図１８】
0006617474.tif 000019