(57)【要約】 【課題】工具の異常を容易かつ正確に検知することができる工作機械およびその制御方法を提供する。【解決手段】本実施形態による工作機械は、ワークまたは工具を移動させる制御対象を駆動する駆動機構と、駆動機構を動作させるモータと、制御対象の位置を検出する第１位置センサと、モータの位置を検出する第２位置センサと、モータへの供給電流を制御する電流制御部と、供給電流を決定するトルク指令を電流制御部へ出力するサーボ制御部と、第１位置センサから得た制御対象の位置情報と第２位置センサから得たモータの位置情報とトルク指令とに基づいて、制御対象のワークに対する加工力を算出し、加工力のうち所定の周波数未満の第１成分の絶対値が、ワークの加工中に第１閾値以上になったときに制御対象に異常が生じたと判断する数値制御部と、を備える。【選択図】  図２
2018081487.tif 000002
【特許請求の範囲】
【請求項１】
ワークまたは工具等を移動させる制御対象を駆動する駆動機構と、
前記駆動機構を動作させるモータと、
前記制御対象の位置を検出する第１位置センサと、
前記モータの位置を検出する第２位置センサと、
前記モータへの供給電流を制御する電流制御部と、
前記供給電流を決定するトルク指令を前記電流制御部へ出力するサーボ制御部と、
前記第１位置センサから得た前記モータの位置情報と前記第２位置センサから得た前記制御対象の位置情報と前記トルク指令とに基づいて、前記制御対象の前記ワークに対する加工力を算出し、前記加工力のうち所定の周波数未満の第１成分の絶対値が、前記ワークの加工中に第１閾値以上になったときに前記工具に異常が生じたと判断する数値制御部と、を備えた工作機械。
【請求項２】
前記数値制御部は、前記ワークの加工中に前記第１成分の絶対値が前記第１閾値よりも小さい第２閾値を超えなかった場合に前記制御対象に異常が生じたと判断する、請求項１に記載の工作機械。
【請求項３】
前記第１成分の原点は、前記制御対象の重量に基づいたオフセットを有する、請求項１または請求項２に記載の工作機械。
【請求項４】
前記数値制御部は、前記加工力のうち前記所定の周波数以上の第２成分の絶対値に基づいて前記制御対象に異常が生じたと判断する、請求項１から請求項３のいずれか一項に記載の工作機械。
【請求項５】
ワークまたは工具を移動させる制御対象を駆動する駆動機構と、
前記駆動機構を動作させるモータと、
前記制御対象の位置を検出する第１位置センサと、
前記モータの位置を検出する第２位置センサと、
前記モータへの供給電流を制御する電流制御部と、
前記供給電流を決定するトルク指令を前記電流制御部へ出力するサーボ制御部と、
前記第１位置センサから得た前記モータの位置情報と前記第２位置センサから得た前記制御対象の位置情報と前記トルク指令とに基づいて、前記制御対象の前記ワークに対する加工力を算出し、前記加工力のうち所定の周波数以上の第２成分の絶対値に基づいて前記工具に異常が生じたと判断する数値制御部と、を備えた工作機械。
【請求項６】
前記工具は、前記ワークを切削する少なくとも１枚の刃を有し、
前記駆動機構は、前記工具を回転させながら前記ワークを切削し、
前記第２成分の周期よりも短い期間の間、前記第２成分が第１閾値以上になった場合、前記数値制御部は、前記工具に異常が生じたと判断する、請求項５に記載の工作機械。
【請求項７】
前記工具は、前記ワークを切削する複数の刃を有し、
前記駆動機構は、前記工具を回転させながら前記ワークを切削し、
前記数値制御部は、前記第２成分を用いて前記複数の刃のうち第１刃の加工力に対する他の刃の加工力の比率を演算し、該比率に基づいて前記工具に異常が生じたと判断する、請求項５または請求項６に記載の工作機械。
【請求項８】
前記数値制御部は、加工開始当初における前記他の刃の比率と加工開始後の前記他の刃の比率との差の絶対値が第３閾値以上になったときに、前記工具に異常が生じたと判断する、請求項７に記載の工作機械。
【請求項９】
前記数値制御部は、ローパスフィルタ機能またはローパスフィルタ回路を備え、
前記所定の周波数は、前記ローパスフィルタ機能またはローパスフィルタ回路のカットオフ周波数である、請求項１から請求項８のいずれか一項に記載の工作機械。
【請求項１０】
ワークまたは工具を移動させる制御対象を駆動する駆動機構と、前記駆動機構を動作させるモータと、前記モータへの供給電流を制御する電流制御部と、前記供給電流を決定するトルク指令を前記電流制御部へ出力するサーボ制御部と、前記サーボ制御部を制御する数値制御部とを備えた工作機械の制御方法であって、
前記数値制御部は、前記モータの位置情報と前記制御対象の位置情報と前記トルク指令とに基づいて、前記工具の前記ワークに対する加工力を算出し、
前記数値制御部は、前記加工力のうち所定の周波数未満の第１成分の絶対値が、前記ワークの加工中に第１閾値以上になったときに前記工具に異常が生じたと判断する、ことを具備する工作機械の制御方法。
【請求項１１】
前記数値制御部は、前記加工力のうち前記所定の周波数以上の第２成分の絶対値に基づいて前記制御対象に異常が生じたと判断する、請求項１０に記載の工作機械の制御方法。
【請求項１２】
ワークまたは工具を移動させる制御対象を駆動する駆動機構と、前記駆動機構を動作させるモータと、前記モータへの供給電流を制御する電流制御部と、前記供給電流を決定するトルク指令を前記電流制御部へ出力するサーボ制御部と、前記サーボ制御部を制御する数値制御部とを備えた工作機械の制御方法であって、
前記数値制御部は、前記モータの位置情報と前記制御対象の位置情報と前記トルク指令とに基づいて、前記工具の前記ワークに対する加工力を算出し、
前記数値制御部は、前記加工力のうち前記所定の周波数以上の第２成分の絶対値に基づいて前記工具に異常が生じたと判断する、ことを具備する工作機械の制御方法。
【請求項１３】
前記工具は、前記ワークを切削する複数の刃を有し、
前記駆動機構は、前記工具を回転させながら前記ワークを切削し、
前記数値制御部は、前記第２成分を用いて前記複数の刃のうち第１刃の加工力に対する他の刃の加工力の比率を演算し、該比率に基づいて前記工具に異常が生じたと判断する、請求項１２に記載の工作機械の制御方法。
【請求項１４】
前記数値制御部は、加工開始当初における前記他の刃の比率と加工開始後の前記他の刃の比率との差の絶対値が第３閾値以上になったときに、前記工具に異常が生じたと判断する、請求項１３に記載の工作機械の制御方法。
【請求項１５】
前記数値制御部は、ローパスフィルタ機能またはローパスフィルタ回路を備え、
前記所定の周波数は、前記ローパスフィルタ機能またはローパスフィルタ回路のカットオフ周波数である、請求項１０から請求項１４のいずれか一項に記載の工作機械の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、工作機械およびその制御方法に関する。
【背景技術】
【０００２】
工作機械は、例えば、主軸に装着された工具を用いてワークを加工する。工作機械の数値制御装置（以下、ＮＣ（Numerical Controller）装置ともいう）は、主軸に指令を出力し、該主軸の動作を制御するとともに、主軸のトルク、即ち、モータの負荷電流を監視する。ＮＣ装置は、主軸のトルクを監視することによって、ワークの加工に用いられる工具の異常を検知している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１４３９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、例えば、該主軸のトルクが小さい場合等には、主軸のトルクによって工具の異常を正確に検知することは困難であった。
【０００５】
また、工具の異常を検知するために、切削状態を検出するセンサを工作機械に付加することが考えられる。しかし、この場合、追加のセンサが別途必要になるため、工作機械が大型になり、コストも高くなる。さらに、センサが壊れると、工具の異常は検知することができなくなるという問題も生じる。
【０００６】
そこで本発明は、上記問題点を解決するためになされたもので、工具の異常を容易かつ正確に検知することができる工作機械およびその制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本実施形態による工作機械は、ワークを移動させるテーブルまたは工具等の制御対象を駆動する駆動機構と、駆動機構を動作させるモータと、制御対象の位置を検出する第１位置センサと、モータの位置を検出する第２位置センサと、モータへの供給電流を制御する電流制御部と、供給電流を決定するトルク指令を電流制御部へ出力するサーボ制御部と、第２位置センサから得たモータの位置情報と第１位置センサから得た制御対象の位置情報とトルク指令とに基づいて、制御対象のワークに対する加工力を算出し、加工力のうち所定の周波数未満の第１成分の絶対値が、ワークの加工中に第１閾値以上になったときに制御対象に異常が生じたと判断する数値制御部と、を備える。
【０００８】
数値制御部は、ワークの加工中に第１成分の絶対値が第１閾値よりも小さい第２閾値を超えなかった場合に制御対象に異常が生じたと判断してもよい。
【０００９】
第１成分の原点は、制御対象の重量に基づいたオフセットを有してもよい。
【００１０】
数値制御部は、加工力のうち所定の周波数以上の第２成分の絶対値に基づいて工具に異常が生じたと判断してもよい。
【００１１】
他の実施形態による工作機械は、ワークまたは工具を駆動する駆動機構と、駆動機構を動作させるモータと、制御対象の位置を検出する第１位置センサと、モータの位置を検出する第２位置センサと、モータへの供給電流を制御する電流制御部と、供給電流を決定するトルク指令を電流制御部へ出力するサーボ制御部と、第２位置センサから得たモータの位置情報と第１位置センサから得た工具の位置情報とトルク指令とに基づいて、工具のワークに対する加工力を算出し、加工力のうち所定の周波数以上の第２成分の絶対値に基づいて工具に異常が生じたと判断する数値制御部と、を備えている。
【００１２】
工具は、ワークを切削する少なくとも１枚の刃を有し、駆動機構は、工具を回転させながらワークを切削し、第２成分の周期よりも短い期間の間、第２成分が第１閾値以上になった場合、数値制御部は、工具に異常が生じたと判断してもよい。
【００１３】
工具は、ワークを切削する複数の刃を有し、駆動機構は、工具を回転させながらワークを切削し、数値制御部は、第２成分を用いて複数の刃のうち第１刃の加工力に対する他の刃の加工力の比率を演算し、該比率に基づいて工具に異常が生じたと判断してもよい。
【００１４】
数値制御部は、加工開始当初における他の刃の比率と加工開始後の他の刃の比率との差の絶対値が第３閾値以上になったときに、工具に異常が生じたと判断してもよい。
【００１５】
数値制御部は、ローパスフィルタ機能またはローパスフィルタ回路を備え、所定の周波数は、ローパスフィルタ機能またはローパスフィルタ回路のカットオフ周波数でよい。
【００１６】
本実施形態による工作機械の制御方法は、ワークを移動させるテーブルまたは工具等の制御対象を駆動する駆動機構と、駆動機構を動作させるモータと、モータへの供給電流を制御する電流制御部と、供給電流を決定するトルク指令を電流制御部へ出力するサーボ制御部と、サーボ制御部を制御する数値制御部とを備えた工作機械の制御方法であって、数値制御部は、モータの位置情報と工具の位置情報とトルク指令とに基づいて、工具のワークに対する加工力を算出し、数値制御部は、加工力のうち所定の周波数未満の第１成分の絶対値が、ワークの加工中に第１閾値以上になったときに工具に異常が生じたと判断する、ことを具備する。
【００１７】
数値制御部は、加工力のうち所定の周波数以上の第２成分の絶対値に基づいて制御対象に異常が生じたと判断してもよい。
【００１８】
他の実施形態による工作機械の制御方法は、ワークを移動させるテーブルまたは工具等の制御対象を駆動する駆動機構と、駆動機構を動作させるモータと、モータへの供給電流を制御する電流制御部と、供給電流を決定するトルク指令を電流制御部へ出力するサーボ制御部と、サーボ制御部を制御する数値制御部とを備えた工作機械の制御方法であって、数値制御部は、モータの位置情報と工具の位置情報とトルク指令とに基づいて、工具のワークに対する加工力を算出し、数値制御部は、加工力のうち所定の周波数以上の第２成分の絶対値に基づいて制御対象に異常が生じたと判断する、ことを具備する。
【００１９】
工具は、ワークを切削する複数の刃を有し、駆動機構は、工具を回転させながらワークを切削し、数値制御部は、第２成分を用いて複数の刃のうち第１刃の加工力に対する他の刃の加工力の比率を演算し、該比率に基づいて工具に異常が生じたと判断してもよい。
【００２０】
数値制御部は、加工開始当初における他の刃の比率と加工開始後の他の刃の比率との差の絶対値が第３閾値以上になったときに、工具に異常が生じたと判断してもよい。
【００２１】
数値制御部は、ローパスフィルタ機能またはローパスフィルタ回路を備え、所定の周波数は、ローパスフィルタ機能またはローパスフィルタ回路のカットオフ周波数でよい。
【図面の簡単な説明】
【００２２】
【図１】第１実施形態に従った工作機械のサーボモータ１４および駆動機構２の構成の一例を示す図。
【図２】第１実施形態によるサーボ部１、駆動機構２および数値制御装置４の構成の一例を示すブロック図。
【図３】第１実施形態による工具の異常の判断手法の一例を示すグラフ。
【図４】第１実施形態による工具の異常の判断手法の一例を示すグラフ。
【図５】第１実施形態による工具の異常の判断手法の他の例を示すグラフ。
【図６】第１実施形態による工具の異常の判断手法の他の例を示すグラフ。
【図７Ａ】第１実施形態による工具の折損検知動作を示すフロー図。
【図７Ｂ】第１実施形態による工具の折損検知動作を示すフロー図。
【図８】第２実施形態による工具の異常の判断手法の一例を示すグラフ。
【図９】第２実施形態による工具の重摩耗を示すフロー図。
【図１０】第３実施形態による切削力の第２成分を示すグラフ。
【図１１】第３実施形態による工具の折損検知動作を示すフロー図。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００２４】
（第１実施形態）
図１は、第１実施形態に従った工作機械のサーボモータ１４および駆動機構２の構成の一例を示す図である。サーボモータ１４は、カップリング３を介して駆動機構２と連結されている。駆動機構２は、ベッド２０と、支持ブラケット２２と、ナット２３と、ボールねじ２５と、ベアリング２６と、リニアガイド２７と、テーブル２８とを備えている。
【００２５】
ベッド２０は、工作機械の本体に固定され、駆動機構２の他の構成要素を搭載する。支持ブラケット２２は、ベッド２０上に固定配置されており、ベアリング２６を介してボールねじ２５の両端を支持するように構成されている。ボールねじ２５は、カップリング３によってサーボモータ１４と連結されており、サーボモータ１４の軸の回転に従って回転するように構成されている。ナット２３は、ボールねじ２５のねじ部と螺合するようにねじ孔が形成されており、ボールねじ２５の回転に従ってボールねじ２５の軸方向に移動することができる。制御対象としてのテーブル２８は、ナット２３に固定されており、かつ、リニアガイド２７によって支持されている。テーブル２８は、ナット２３の移動に伴って、ボールねじ２５およびリニアガイド２７の軸方向（矢印Ａの方向）に移動する。このように、工作機械は、サーボモータ１４の回転運動をテーブル２８の直線運動に変換することができる。
【００２６】
テーブル２８は、ワークを搭載し、ワークを工具で切削するために、ワークをベッド２０に対して相対的に移動させる。この場合、制御対象は、テーブル２８およびワーク等の移動物である。あるいは、テーブル２８の代わりに、工具を回転させる工具用モータ（図示せず）、工具用モータに工具を装着するチャック、および、該工具を搭載した主軸頭でもよい。この場合、制御対象は、テーブル２８、工具用モータ、チャック、工具等の移動物となる。工具は、ワークを加工する部材であり、例えば、ドリル、エンドミル等である。ドリル、エンドミル等は、ワークを切削する少なくとも１枚の刃を有し、回転しながらその刃でワークを切削することができる。
【００２７】
図２は、本実施形態によるサーボ部１、駆動機構２および数値制御装置（ＮＣ装置）４の構成の一例を示すブロック図である。ＮＣ装置４は、ＨＭＩ（Human-Machine Interface）４０と、プログラム供給部４１と、プログラム解析部４２と、軌道生成部４４と、切削力推定部４５と、メモリ４６と、エラー検出部４７とを備えている。
【００２８】
ＨＭＩ４０は、操作者と数値制御装置４との間のインタフェースであり、例えば、タッチパネル式ディスプレイ等である。操作者は、ＨＭＩ４０において加工プログラムを入力または選択する。また、ＨＭＩ４０は、操作者に対して、工作機械の動作状態を示し、あるいは、エラー検出部４７からのエラー信号を受けてエラーの発生を表示する。
【００２９】
プログラム供給部４１は、メモリ４６に格納されている加工プログラムを得て、この加工プログラムをプログラム解析部４２へ供給する。メモリ４６は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disc Drive）またはＳＳＤ（Solid State Drive）である。メモリ４６は、工作機械全体を制御するシステムプログラム、加工プログラム、工作機械のパラメータ、各種データを格納する。メモリ４６のＲＡＭ領域は、システムプログラム等を実行する際に、ロード領域あるいは作業領域としても用いられる。
【００３０】
プログラム解析部４２は、メモリ４６から得た加工プログラムを解析し、軌道生成用データを作成する。加工プログラムの解析は、加工プログラムの各ブロックについて、駆動機構２の移動部（例えば、テーブル、主軸頭等）を移動させる目標位置の座標、および、移動部の目標移動速度等を得る。ブロックとは、加工プログラムの基本単位であり、例えば、１行分の指令を示す。１ブロックは、例えば、直線移動、円弧移動、主軸の回転開始／停止等の基本的な動作の指令を示す。軌道生成用データは、ブロックごとに作成され、軌道生成部４４へ転送される。
【００３１】
軌道生成部４４は、軌道生成用データに基づいてサンプリング周期（サーボ部１の制御周期）ごとの位置指令を生成する。軌道生成部４４は、位置指令をサーボ部１のサーボ制御部１２へ出力する。尚、ＮＣ装置４の内部のメモリ４６、プログラム解析部４２、軌道生成部４４、切削力推定部４５およびエラー検出部４７は、１つのＣＰＵ（Central Processing Unit）で実現されてもよく、それぞれ個別のメモリまたはＣＰＵで実現されていてもよい。
【００３２】
サーボ制御部１２は、位置指令に従って制御周期ごとにトルク指令を電流制御部１３へ出力する。制御周期は、例えば、約１ｍｓｅｃである。トルク指令は、モータ１４への供給電流を決定する指令である。電流制御部１３は、トルク指令に従った電流をモータ１４へ供給する。モータ１４には、ロータリエンコーダ６０が設けられている。第２位置センサとしてのロータリエンコーダ６０は、モータ１４の軸の回転を検出し、モータ１４の軸の回転位置の変移を測定する。ロータリエンコーダ６０は、モータ１４の軸の回転位置の変移をサーボ制御部１２へフィードバックする。以下、モータ１４の軸の回転位置の情報を“モータ位置”と呼び、そのフィードバックを“モータ位置フィードバック”とも呼ぶ。
【００３３】
モータ１４は、図１を参照して説明したように、駆動機構２を駆動する。これにより、テーブル２８がリニアガイド２７に沿って移動する。
【００３４】
駆動機構２には、テーブル２８に接続されたリニアエンコーダ５０が設けられている。第１位置センサとしてのリニアエンコーダ５０は、テーブル２８の線形位置の変移を測定する。リニアエンコーダ５０は、テーブル２８の線形位置の変移をサーボ制御部１２へフィードバックする。以下、テーブル２８の線形位置の情報を“スケール位置”と呼び、そのフィードバックを“スケール位置フィードバック”とも呼ぶ。
【００３５】
サーボ制御部１２は、リニアエンコーダ５０およびロータリエンコーダ６０からのフィードバックを受けて、スケール位置およびモータ位置を制御するために指令位置に対する誤差を小さくするようにトルク指令を生成する。
【００３６】
さらに、トルク指令、スケール位置およびモータ位置は、切削力推定部４５へもフィードバックされる。切削力推定部４５は、トルク指令、スケール位置およびモータ位置に基づいて、制御対象のワークに対する切削力を算出する。加工力としての切削力は、例えば、ドリルまたはエンドミルがワークを切削するときにドリルまたはエンドミルをワークに押し付ける力または回転しているドリルまたはエンドミルがワークに加える力でよい。切削力推定部４５は、特許文献１の式（３）または式（４）を演算することによって切削力Ｆｃｕｔを算出すればよい。
【数１】
2018081487.tif 000003
ここで、ｒｅｆが右上添え字として付されたＩａ（以下、Ｉａ＿ｒｅｆという）は、トルク指令から得られる電流指令値である。ｘｔはスケール位置であり、その上のドットは２回の時間微分を示す。θｍはモータ位置（回転角）であり、その上のドットは２回の時間微分を示す。Ｔｆｒｉｃは、摩擦トルクである。Ｆｆｒｉｃは、テーブル２８のＡ方向への直動に対する摩擦力である。Ｊｒはモータからボールねじまでの慣性モーメントである。Ｋｔはモータ１４のトルク定数である。Ｒは回転系と直動系との変換係数である。Ｍｔは、ワークおよびテーブル２８等の移動物の質量である。
【００３７】
さらに、予め推定された摩擦トルクＴｆｒｉｃおよび摩擦力Ｆｆｒｉｃを用い、かつ、高周波ノイズ抑制用のローパスフィルタを用いることで、切削力Ｆｃｕｔの推定値は、式（４）となる。
【数２】
2018081487.tif 000004
ここで、推定値を示すパラメータには、「ハット」が付されている。ｇｃｕｔは、エラー検出部４７内のフィルタの遮断周波数である。各パラメータの右下添え字ｎは、ノミナル値を示す。
【００３８】
式３、式４に含まれるパラメータのうち、トルク指令から得られる電流指令値Ｉａ＿ｒｅｆ、スケール位置ｘｔ、モータ位置θｍ以外のパラメータは、メモリ４６に格納されている。尚、メモリ４６は、ＮＣ装置４内に内蔵されていてもよく、あるいは、その外部に設けられていてもよい。パラメータは、工作機械の外部から受け取ってもよい。
【００３９】
切削力推定部４５は、トルク指令、スケール位置およびモータ位置を、式３または式４に適用して、ワークに対する切削力を算出する。切削力推定部４５は、サーボ制御部１２のサンプリング周期（制御周期）ごとに、トルク指令、スケール位置フィードバックおよびモータ位置フィードバックを受けて、この切削力を算出する。このように、切削力推定部４５は、力センサ等の付加的なセンサを用いることなく、制御周期ごとに切削力を推定することができる。
【００４０】
このような切削力は、工具の各刃の切削力を第２成分として含む。さらに、切削力は、第２成分だけでなく、摩擦（例えば、摩擦トルクＴｆｒｉｃ、摩擦力Ｆｆｒｉｃ）、電流制御部１３におけるモータ１４の電流フィードバックのオフセットずれに起因するリップル（低周波成分）などの第１成分をも含む。このように、様々な周波数帯域の成分を含む切削力を用いた場合、エラー検出部４７は、工具の折損検知や摩耗検知を正確に行うことが困難である。
【００４１】
そこで、本実施形態によるエラー検出部４７は、ローパスフィルタ機能またはローパスフィルタ回路（例えば、移動平均フィルタ）を有し、切削力のうち所定の周波数以上の第２成分をカットし、所定の周波数未満の第１成分を取り出す。即ち、所定の周波数は、例えば、エラー検出部４７に設けられたローパスフィルタまたはローパスフィルタ回路のカットオフ周波数である。さらに、エラー検出部４７は、ワークの加工中に、切削力の第１成分が第１閾値以上になったときに工具に異常が生じたと判断する。
【００４２】
例えば、工具の刃数（工具が１回転するごとにワークの同じ箇所を切削する刃の数）をＭとする。工具を回転させる主軸の回転速度をＮ（回転／分）とする。この場合、切削力のピークは、１秒間に、Ｐ＝Ｍ×Ｎ／６０だけ観測される。即ち、切削力の第２成分は、加工中において、ほぼ周波数Ｐ（Ｈｚ）で現れる。従って、エラー検出部４７は、ローパスフィルタを用いて、Ｐ（Ｈｚ）以上の高周波数帯域の切削力をカットすることによって、切削力の第１成分（Ｐ未満の低周波数帯域の切削力）が得られる。
【００４３】
本実施形態では、切削力の第１成分に基づいて工具の異常を判断する。エラー検出部４７は、サーボ制御部１２のサンプリング周期（制御周期）ごとに切削力に基づいて工具の異常をリアルタイムで判断する。工具の異常の判断については、図３（Ａ）〜図４（Ｂ）を参照して後で説明する。
【００４４】
工具のエラーが検出されると、エラー検出部４７は、軌道生成部４４に停止信号を出力するとともに、ＨＭＩ４０にエラー信号を出力する。軌道生成部４４は、停止信号を受けると、位置指令の更新を停止する。従って、モータ１４および駆動機構２の動作が停止する。それとともに、ＨＭＩ４０は、エラー信号を受けると、工具の異常をディスプレイに表示する。これにより、ユーザは、工具の異常を知ることができる。
【００４５】
図３（Ａ）〜図４（Ｂ）は、本実施形態による工具の異常の判断手法の一例を示すグラフである。縦軸はドリル方向の切削力の第１成分（Ｎ（Newton））を示し、横軸は時間を示す。本実施形態において、駆動機構２は、テーブル２８を略水平方向に移動させるものとする。即ち、駆動機構２は、所謂、水平軸を有する。この場合、ゼロ（Ｎ（Newton））を切削力の原点Ｆｃｅｎｔｅｒとすればよい。また、本実施形態において、ＮＣ装置４は、ドリルモードでワークに穴開け作業を実行する。従って、工具はドリルである。ドリルモードは、ＮＣプログラムで指定され、ドリルで穴あけ作業を行う際に用いられるモードである。
【００４６】
図３（Ａ）および図３（Ｂ）は、ドリルの折損を検知する手法を示す。ドリルの折損は、ドリルの軸が途中で折れて切断されてしまう異常である。ドリルの折損は、ワークに穴を開けている最中に生じる場合と、ドリルがワークに接触した瞬間に生じる場合とがある。ドリルが折損しても、ドリルの根元部分と先端部分との間で軸中心があまりずれておらず、ドリルの根元部分がその先端部分と接触していれば、そのドリルの根元部分は、ほとんど回転しない先端部分を押し続ける。即ち、ドリルの根元部分は穴開けを継続しようと回転するが、一方で、先端部分はほとんど回転せずにワークを切削しない。従って、ワークは切削されないまま、ドリルの進行方向に大きな切削力が印加される。
【００４７】
図３（Ａ）に示すように、ドリルがワークに穴を開けている最中、時点ｔｅ１で折損した場合、時点ｔｅ１まで切削力は正常に推移し、時点ｔｅ１以降、切削力の第１成分は第１閾値としての上限値Ｆｒｅｆ１を超える。エラー検出部４７は、切削力の第１成分が上限値Ｆｒｅｆ１以上となったときに工具の異常を判断し、停止信号およびエラー信号を出力する。
【００４８】
図３（Ｂ）に示すように、ドリルがワークに接触した瞬間に折損した場合、ドリルがワークに接触した直後の時点ｔｅ２において、切削力の第１成分は上限値Ｆｒｅｆ１を超える。エラー検出部４７は、切削力の第１成分が上限値Ｆｒｅｆ１以上となったときに工具の異常を判断し、停止信号およびエラー信号を出力する。例えば、ドリルの刃が既に摩耗しており、ドリルがワークに当たっても穴を掘れずに折損する場合に図３（Ｂ）に示す異常が発生し得る。このように、エラー検出部４７は、ワークの切削中に切削力の第１成分が上限値Ｆｒｅｆ１を１度でも超えた場合に、工具に異常が発生していると判断してもよい。
【００４９】
図４（Ａ）および図４（Ｂ）も、ドリルの折損を検知する手法を示す。例えば、図３（Ａ）および図３（Ｂ）に示す異常が検出できなかった場合、ドリルの根元部分は次の穴を開けるために移動する。一方、ドリルの先端部分は根元部分とともには移動しない。この場合、ドリルの根元部分と先端部分との間で軸中心がずれて、ドリルの根元部分が先端部分と接触しない。従って、ドリルがワークに届かない場合には、図４（Ａ）に示すように、切削力の第１成分は、低いまま第２閾値としての下限値Ｆｒｅｆ２を超えない。下限値Ｆｒｅｆ２は、上限値Ｆｒｅｆ１よりも小さい閾値である。例えば、ドリルをモータに装着するチャック近傍でドリルが折損したような場合、ドリルの根元部分はワークに届かない。従って、エラー検出部４７は、ワークの切削中に、切削力の第１成分が下限値Ｆｒｅｆ２を１度も超えない。この場合に、エラー検出部４７は、工具に異常が発生していると判断する。即ち、エラー検出部４７は、ワークの切削中に、切削力の第１成分が下限値Ｆｒｅｆ２を一度も超えないとき、時点ｔｅ３において、工具の異常を判断し、停止信号およびエラー信号を出力する。
【００５０】
また、ドリルの根元部分がワークに届いたとしてもワークを切削することができない。この場合、図４（Ｂ）に示すように、切削力の第１成分は、上限値Ｆｒｅｆ１以上に上昇する。従って、エラー検出部４７は、切削力の第１成分が上限値Ｆｒｅｆ１以上となった時点ｔｅ４において工具の異常を判断し、停止信号およびエラー信号を出力する。
【００５１】
このように、エラー検出部４７は、ワークの切削中に、上限値Ｆｒｅｆ１を超えた場合、あるいは、切削力の第１成分が下限値Ｆｒｅｆ２を１度も超えなかった場合に、工具に異常が発生していると判断してもよい。
【００５２】
図５（Ａ）〜図６（Ｂ）は、本実施形態による工具の異常の判断手法の他の例を示すグラフである。この例では、駆動機構２は、テーブル２８を略垂直方向（略鉛直方向）に移動させるものとする。即ち、駆動機構２は、所謂、垂直軸を有する。この場合、工具、該工具を回転駆動するモータ、および、テーブル２８等の移動物の重量が重力により下方に印加される。切削していない待機状態のときにおいて、移動物を鉛直上方向に支持して移動物の重量をキャンセルするために、サーボ部１は、移動物に対して鉛直上方向の力を印加しておく必要がある。従って、原点Ｆｃｅｎｔｅｒは、鉛直上方向に移動物の重量とほぼ等しいオフセットを有する。鉛直上方向を正方向とすると、原点Ｆｃｅｎｔｅｒは、図５（Ａ）〜図６（Ｂ）に示すように移動物の重量とほぼ等しい正のオフセット値となる。
【００５３】
工具は、ワークを切削する際に、ワークに対して下方へ向かって切削するものとする。即ち、駆動機構２は、原点Ｆｃｅｎｔｅｒを基準として下方へ切削力を印加する。以下、図５（Ａ）〜図６（Ｂ）では、切削力の第１成分は、原点Ｆｃｅｎｔｅｒを基準とした絶対値で表す。即ち、切削力の第１成分は、原点Ｆｃｅｎｔｅｒと推定切削力Ｆ＾ｃｕｔとの差の絶対値（｜Ｆｃｅｎｔｅｒ−Ｆ＾ｃｕｔ｜）の第１成分となる。原点Ｆｃｅｎｔｅｒがオフセットしているものの、図５（Ａ）〜図６（Ｂ）に示す手法は、それぞれ図３（Ａ）〜図４（Ｂ）に示す手法と基本的に同じである。
【００５４】
例えば、図５（Ａ）に示すように、ドリルがワークに穴を開けている最中、時点ｔｅ１１で折損した場合、切削力の第１成分の絶対値は、時点ｔｅ１１までは正常に推移し、時点ｔｅ１１以降、上限値Ｆｒｅｆ１を上回る。エラー検出部４７は、この切削力の第１成分の絶対値が上限値Ｆｒｅｆ１以上となったときに工具の異常を判断し、停止信号およびエラー信号を出力する。
【００５５】
図５（Ｂ）に示すように、ドリルがワークに接触した瞬間に折損した場合、切削力の第１成分の絶対値は、ドリルがワークに接触した直後の時点ｔｅ１２において上限値Ｆｒｅｆ１以上となる。エラー検出部４７は、この切削力の第１成分の絶対値が上限値Ｆｒｅｆ１以上となったときに工具の異常を判断し、停止信号およびエラー信号を出力する。例えば、ドリルの刃が摩耗し、ドリルがワークに当たっても穴を掘れず折損する場合に図５（Ｂ）に示す異常が発生し得る。このように、エラー検出部４７は、ワークの切削中に、切削力の第１成分の絶対値が上限値Ｆｒｅｆ１を１度でも超えた場合に、工具に異常が発生していると判断してもよい。
【００５６】
図６（Ａ）に示すように、ドリルがワークに届かない場合には、切削力の第１成分の絶対値は、下限値Ｆｒｅｆ２を超えない。下限値Ｆｒｅｆ２は、上限値Ｆｒｅｆ１よりも小さい閾値である。例えば、ドリルをモータに装着するチャック近傍でドリルが折損したような場合、ドリルの根元部分はワークに届かない。従って、エラー検出部４７は、ワークの切削中に、切削力の第１成分の絶対値が下限値Ｆｒｅｆ２を１度も超えない。この場合に、エラー検出部４７は、工具に異常が発生していると判断する。即ち、エラー検出部４７は、ワークの切削中に、切削力の第１成分の絶対値が下限値Ｆｒｅｆ２を一度も超えないとき、時点ｔｅ３において、工具の異常を判断し、停止信号およびエラー信号を出力する。
【００５７】
また、図６（Ｂ）に示すように、ドリルの根元部分がワークに届いたとしてもワークを切削することができない場合、切削力の第１成分の絶対値は、上限値Ｆｒｅｆ１以上に上昇する。従って、エラー検出部４７は、切削力の第１成分の絶対値が上限値Ｆｒｅｆ１以上となった時点ｔｅ４において工具の異常を判断し、停止信号およびエラー信号を出力する。このように、エラー検出部４７は、ワークの切削中に、切削力の第１成分の絶対値が上限値Ｆｒｅｆ１を超えた場合、あるいは、下限値Ｆｒｅｆ２を１度も超えなかった場合に、工具に異常が発生していると判断してもよい。
【００５８】
図７Ａおよび図７Ｂは、本実施形態による工具の折損検知動作を示すフロー図である。
【００５９】
まず、図７Ａに示すように、ＮＣ装置４がドリルモードであるか否かを判断する（Ｓ１０）。ドリルモードとは、工具としてのドリルを用いてワークに穴を開ける工程である。図７Ａおよび図７ＢのＳＴＡＲＴからＥＮＤまでの１回のドリルモードで、１つの穴がワークに開けられる。複数の穴を開ける場合には、穴の数だけドリルモードが繰り返される。ドリルモードである場合（Ｓ１０のＹＥＳ）、エラー検出部４７が切削力推定部４５から推定された切削力を得る。エラー検出部４７は、フィルタ機能を用いて、その切削力から第１成分を取り出す。切削力の第１成分の絶対値を上限値Ｆｒｅｆ１と比較する（Ｓ２０）。尚、駆動機構２が重力軸を有する場合には、図５（Ａ）〜図６（Ｂ）を参照して説明したように、切削力の第１成分の原点Ｆｃｅｎｔｅｒは、移動物の重量分だけオフセットを有する。この場合、切削力の第１成分は、原点Ｆｃｅｎｔｅｒと推定切削力Ｆ＾ｃｕｔとの差の絶対値（｜Ｆｃｅｎｔｅｒ−Ｆ＾ｃｕｔ｜）の第１成分となる。
【００６０】
切削力の第１成分の絶対値が上限値Ｆｒｅｆ１以上である場合（Ｓ２０のＹＥＳ）、エラー検出部４７は、工具が折損したと判断し、停止信号およびエラー信号をそれぞれ軌道生成部４４およびＨＭＩ４０へ送信する（Ｓ３０）。これにより、軌道生成部４４は、位置指令の更新を停止し、ＨＭＩ４０は、エラーをディスプレイに表示する（Ｓ４０）。
【００６１】
一方、切削力の第１成分の絶対値が上限値Ｆｒｅｆ１未満である場合（Ｓ２０のＮＯ）、エラー検出部４７は、工具が折損していないと判断する。この場合、軌道生成部４４は、位置指令を継続して更新する。
【００６２】
ドリルモードが継続される場合（Ｓ７０のＮＯ）、図７ＡのステップＳ２０〜Ｓ７０は繰り返し実行される。
【００６３】
一方、エラー検出部４７は、図７Ａのフローと併行して、図７Ｂに示すフローを実行する。例えば、ステップＳ１０において、ドリルモードに入ると（Ｓ１０のＹＥＳ）、エラー検出部４７は、メモリ４６に格納されているフラグＦｇを０に設定する（Ｓ５５）。
【００６４】
次に、エラー検出部４７は、切削力の第１成分の絶対値を下限値Ｆｒｅｆ２と比較する（Ｓ６０）。第１成分の絶対値が下限値Ｆｒｅｆ２よりも小さい場合（Ｓ６０のＮＯ）、エラー検出部４７は、フラグＦｇを変更せずに、ドリルモードを継続する（Ｓ７０のＮＯ）。第１成分の絶対値が下限値Ｆｒｅｆ２以上である場合（Ｓ６０のＹＥＳ）、エラー検出部４７は、フラグＦｇを１に変更してドリルモードを継続する（Ｓ６５、Ｓ７０のＮＯ）。
【００６５】
図７ＢのステップＳ６０、Ｓ７０が繰り返し実行され、ドリルモードが終了すると（Ｓ７０のＹＥＳ）、エラー検出部４７は、メモリ４６のフラグＦｇが１であるか否かを確認する（Ｓ８０）。フラグＦｇが１である場合（Ｓ８０のＹＥＳ）、即ち、第１成分の絶対値が下限値Ｆｒｅｆ２を１度でも超えている場合、エラー検出部４７は、工具が折損していないと判断する。一方、フラグＦｇが０である場合（Ｓ８０のＮＯ）、即ち、第１成分の絶対値がドリルモード中に下限値Ｆｒｅｆ２を１度も超えていなかった場合、エラー検出部４７は、工具が折損したと判断し、停止信号およびエラー信号をそれぞれ軌道生成部４４およびＨＭＩ４０へ送信する（Ｓ３０）。これにより、軌道生成部４４は、次のドリルモードにおける位置指令の更新を停止し、ＨＭＩ４０は、エラーをディスプレイに表示する（Ｓ４０）。
【００６６】
工具の折損を検出した場合、ＨＭＩ４０には、例えば、エラーメッセージとともに、工具の交換を促すメッセージが表示される。ユーザが工具を交換することによって、ＮＣ装置４は、加工を継続することができる。
【００６７】
エラー検出部４７は、図７Ａおよび図７Ｂのフローを同時併行して実行してよい。しかし、エラー検出部４７は、図７Ａおよび図７Ｂのいずれか一方を他方の後に実行してもよい。
【００６８】
このように、ＮＣ装置４は、切削力の第１成分を用いて工具の折損を検知することができる。尚、本実施形態によるＮＣ装置４は、上限値Ｆｒｅｆ１および下限値Ｆｒｅｆ２の両方を用いて、工具の欠損検知を実行している。しかし、ＮＣ装置４は、上限値Ｆｒｅｆ１および下限値Ｆｒｅｆ２のいずれか一方を用いて、工具の欠損検知を実行してもよい。
【００６９】
もし、本実施形態のような工具の異常検知を行っていない場合、工具の折損を正確に検知できない。工具の折損を正確に検知できないと、ＮＣプログラムの自動運転で多数の穴開けを行っている最中に、途中からワークに穴が開かなくなる可能性がある。この場合、穴開け作業の継続は、ユーザにとって時間および経費の無駄となってしまう。
【００７０】
これに対し、本実施形態による工作機械は、推定された切削力（Ｆ＾ｃｕｔ）の第１成分を用いて工具の折損を検知する。切削力の第２成分は、工具の各刃の切削によって発生するので、工具の各刃の摩耗や欠損等により変化する。一方、切削力の第１成分は、工具自体の折損のように摩擦を定常的に大きく変化させる異常や故障によって変化する。従って、本実施形態は、切削力の第１成分を用いることによって、工具の折損のような異常や故障を正確かつ確実に検出することができる。尚、ドリルによる穴開け工程の場合、切削力は工具をワークに押し付ける力であるので、切削力は、第１成分を多く含み、第２成分はあまり含まない。従って、この場合、下限値Ｆｒｅｆ２は、非常に小さく、ゼロに近い値に設定される。
【００７１】
また、本実施形態によれば、追加の部品（追加のセンサ等）を必要としない。従って、本実施形態による工作機械は、小型化に優れ、コストを低く抑えることができる。また、追加の部品の故障を考慮する必要が無い。
【００７２】
（第２実施形態）
図８は、第２実施形態による工具の異常の判断手法の一例を示すグラフである。縦軸は、第２成分および第１成分を含む切削力を示し、横軸は時間を示す。駆動機構２は、水平軸を有するものとする。よって、ゼロ（Ｎ（Newton））を切削力の原点Ｆｃｅｎｔｅｒとすればよい。尚、駆動機構２が重力軸を有する場合、図４（Ａ）および図４（Ｂ）を参照して説明した通り、原点Ｆｃｅｎｔｅｒをオフセットさせればよい。従って、ここでは、重力軸の場合の説明を省略する。
【００７３】
例えば、エンドミルのように少なくとも１枚の刃を有する工具は、１回転するごとに、ワークのほぼ同じ箇所を刃の数だけ切削する。この工具の刃数をＭとし、工具を回転させる回転速度をＮ（回転／分）とすると、上述の通り、切削力の第２成分は、加工中において、周波数Ｐ＝Ｍ×Ｎ／６０（Ｈｚ）の波形となる。従って、エラー検出部４７は、Ｐ（Ｈｚ）以上の高周波数帯域の切削力をカットすることによって、切削力の第１成分が得られる。図８の実線Ｌ２は、第２成分の切削力を示し、破線Ｌ１は、切削力の第１成分を示す。
【００７４】
時点ｔ２０以前において、工具が正常に切削している場合、周波数Ｐ（Ｈｚ）の第２成分が現れる。しかし、工具の刃が摩耗してくると、工具の切削能力が低下する。よって、１刃あたりの切削力が大きくなるため、第２成分が大きくなる。また第１成分は第２成分をローパスフィルタに通した直流成分を含むため、第１成分も大きくなる。従って、工具の刃が摩耗してくると、図８のラインＬ１、Ｌ２に示すように、切削力の第１成分、第２成分が次第に増加する。
【００７５】
さらに工具の摩耗が進むと、工具がワークをほとんど切削できなくなり、位置指令に対する実際のスケール位置の誤差（位置誤差）が大きくなる。この場合、エラーが生じて工作機械が停止する場合がある。また、工具の摩耗が進んだ状態（重摩耗ともいう）が継続すると、工具がワークに焼き付く場合もある。このような場合、ワークの加工面の品質に悪影響を及ぼしてしまう。
【００７６】
そこで、第２実施形態では、工具の重摩耗を検出するために、エラー検出部４７は、第２成分が上限値Ｆｒｅｆａ以上になっている期間を計測する。その期間が所定期間ｔａよりも長い場合に、エラー検出部４７は、工具に異常が生じたと判断する。第１閾値としての上限値Ｆｒｅｆａは、第１実施形態の上限値Ｆｒｅｆ１と等しくてよい。あるいは、上限値Ｆｒｅｆａは、上限値Ｆｒｅｆ１とは別に設定してもよい。エラー検出部４７は、期間ｔａを計時するためにタイマ機能を有する。
【００７７】
例えば、第２成分を異常判定に用いる場合、エラー検出部４７は、図８に示すＬ２が上限値Ｆｒｅｆａ以上になってから連続して期間ｔａ以上経過したときに工具に異常が生じたと判断する。このとき、エラー検出部４７は、図２の停止信号およびエラー信号を出力する。
【００７８】
代替的に、切削力の第１成分を異常判定に用いる場合、エラー検出部４７は、図８に示すＬ２が上限値Ｆｒｅｆａ以上になったときに工具に異常が生じたと判断する。このとき、エラー検出部４７は、図２の停止信号およびエラー信号を出力する。
【００７９】
期間ｔａは、式１に示すように、０より大きく、切削力の第２成分の周期（１／Ｐ）よりも短い期間に設定される。
０＜ｔａ＜１／Ｐ      （式１）
これにより、第２成分を含む切削力を用いても、エラー検出部４７は、工具の異常を正確に検知することができる。また、本実施形態によれば、工具の重摩耗のように切削力が徐々に変化する場合に、エラー検出部４７は、工具の異常を正確に検知することができる。
【００８０】
第２実施形態による異常検知は、工具による切削方向（Ｘ、Ｙ、Ｚ）のそれぞれにおいて実行されてもよい。この場合、Ｘ軸、Ｙ軸、Ｚ軸にそれぞれの切削力について、上限値Ｆｒｅｆｘ、Ｆｒｅｆｙ、Ｆｒｅｆｚをそれぞれ設定すればよい。Ｘ方向、Ｙ方向、Ｚ方向においてワークに当たる工具の刃数ＭおよびＸ方向、Ｙ方向、Ｚ方向における回転速度Ｎが等しい場合、期間ｔａは切削力のＸ成分、Ｙ成分、Ｚ成分に対して共通でよい。一方、Ｘ方向、Ｙ方向、Ｚ方向において工具の刃数Ｍおよび／または回転速度Ｎが異なる場合、切削力のＸ成分、Ｙ成分、Ｚ成分のそれぞれに対して異なる期間ｔａを設定してもよい。
【００８１】
図９は、第２実施形態の第２成分による工具の重摩耗検知動作を示すフロー図である。尚、図９の例では、期間ｔａは、切削力の第２成分のＸ成分、Ｙ成分、Ｚ成分に対して共通であるとする。以下、Ｘ成分、Ｙ成分、Ｚ成分は、第２成分中のＸ成分、Ｙ成分、Ｚ成分とする。
【００８２】
まず、エラー検出部４７は、切削力のＸ、Ｙ、Ｚの各成分がそれぞれ上限値Ｆｒｅｆｘ、Ｆｒｅｆｙ、Ｆｒｅｆｚ以上であるか否かを判断する（Ｓ１１）。切削力のＸ、Ｙ、Ｚの各成分がいずれも上限値Ｆｒｅｆｘ、Ｆｒｅｆｙ、Ｆｒｅｆｚ未満である場合（Ｓ１１のＮＯ）、エラー検出部４７は、工具が正常であると判断する。この場合、エラー検出部４７は、タイマをリセットし、あるいは、リセットしたまま（Ｓ７１）、ステップＳ１１を繰り返す。一方、切削力のＸ、Ｙ、Ｚのいずれかの成分が上限値Ｆｒｅｆｘ、Ｆｒｅｆｙ、Ｆｒｅｆｚ以上となった場合（Ｓ１１のＹＥＳ）、エラー検出部４７は、タイマ機能で計時を開始（カウントアップ）する（Ｓ２１）。
【００８３】
切削力のＸ、Ｙ、Ｚのいずれかの成分が上限値を超えてからまだ期間ｔａを経過していない場合（Ｓ３１のＮＯ）、エラー検出部４７は、ステップＳ１１〜Ｓ３１を繰り返す。このとき、ステップＳ１１において、切削力のＸ、Ｙ、Ｚが上限値Ｆｒｅｆｘ、Ｆｒｅｆｙ、Ｆｒｅｆｚ未満となった場合、工具はまだ正常であると判断し、エラー検出部４７は、タイマ機能をリセットして（Ｓ７１）、ステップＳ１１へ戻る。エラー検出部４７は、切削作業および切削力の監視を継続する。即ち、切削力のＸ、Ｙ、Ｚのいずれかの成分が上限値を超えてから期間ｔａの経過前に、その成分が上限値を下回った場合、エラー検出部４７は、工具が正常であると判断する。
【００８４】
一方、切削力のＸ、Ｙ、Ｚのいずれかの成分が上限値を超えてから連続して期間ｔａを経過した場合（Ｓ３１のＹＥＳ）、エラー検出部４７は、工具に異常（重摩耗）が生じたと判断する（Ｓ４１）。この場合、エラー検出部４７は、停止信号およびエラー信号をそれぞれ軌道生成部４４およびＨＭＩ４０へ送信する。これにより、軌道生成部４４は、位置指令の更新を停止し、ＨＭＩ４０は、エラーをディスプレイに表示する（Ｓ６１）。
【００８５】
一方、切削力のＸ、Ｙ、Ｚのいずれかの第２成分が上限値を超えてから期間ｔａの経過前に、その第２成分が上限値を下回った場合（Ｓ３１のＮＯ）、エラー検出部４７は、工具が正常であると判断し、ステップＳ１１へ戻り、切削作業および切削力の監視を継続する。この場合、エラー検出部４７は、タイマ機能をリセットする（Ｓ７１）。これにより、切削力にノイズが含まれていても、エラー検出部４７は、工具の異常と判断することなく動作する。即ち、期間ｔａを設定することによって、切削力のノイズの影響を除くことができる。
【００８６】
このように、本実施形態によるＮＣ装置４は、切削力のＸ成分、Ｙ成分、Ｚ成分のいずれかの第２成分が上限値以上になってから連続して期間ｔａ経過した場合に、工具に重摩耗が生じたと判断する。これにより、本実施形態によるＮＣ装置４は、工具の重摩耗を正確かつ確実に検出することができる。工具の重摩耗を正確かつ確実に検出することによって、位置誤差による工作機械の停止を抑制し、かつ、工具がワークに焼き付くことも抑制することができる。これにより、ワークの加工面の品質を良好に維持することができる。
【００８７】
第２実施形態は、第１実施形態と組み合わせてもよい。
【００８８】
（第３実施形態）
第１および第２実施形態では、ＮＣ装置４は、切削力のうち第１成分を用いて工具の異常検知を行っている。これに対し、第３実施形態では、ＮＣ装置４は、切削力のうち第２成分を用いて工具の異常検知を行う。切削力は、第１または第２実施形態のそれと同様に算出すればよい。
【００８９】
次に、切削力の第２成分について説明する。工具の刃のいずれかが欠損または摩耗した場合、切削力の第１成分よりも第２成分においてより大きく変化する。例えば、工具が多数の刃を有し、その多数の刃のうち１つの刃が欠損した場合、工具の全体の切削力はさほど変化しないが、該欠損した刃の切削力は大きく変化する。この場合、ＮＣ装置４は、工具の異常検知を行うために、各刃の切削力を示す第２成分を用いることが好ましい。従って、ＮＣ装置４は、切削力からリップルを含んだ第１成分を除去する。
【００９０】
リップルは、例えば、電流制御部１３において電流に含まれる脈動成分であり、電流制御部１３の電流フィードバックにおけるオフセットずれ等に起因する。リップルは、モータ１４の回転ごとに、モータ１４の極対数に対応する数の正弦波として切削力の波形に重畳する。
【００９１】
従って、エラー検出部４７は、或る周波数ｆｍａ以上の周波数帯域をカットオフするローパスフィルタ機能またはローパスフィルタ回路を有し、第１実施形態において算出された切削力をこのローパスフィルタにかける。これにより、エラー検出部４７は、切削力のうち低周波数帯域のリップルを含んだ第１成分を得る。エラー検出部４７は、この第１成分を切削力から除去することによって、切削力の第２成分を得ることができる。即ち、エラー検出部４７は、ローパスフィルタでリップルを含んだ第１成分を抽出し、その第１成分を切削力から除去する。これにより、切削力の第２成分を得ることができる。
【００９２】
ローパスフィルタのカットオフ周波数ｆｍａは、式２の関係を有する。
ｆｍ  ＜  ｆｍａ  ＜  Ｐ        （式２）
ここで、ｆｍは、リップルの周波数である。Ｐは、切削力の第２成分の周波数（即ち、Ｍ×Ｎ／６０）である。
【００９３】
これにより、エラー検出部４７は、カットオフ周波数ｆｍａ以下のリップルを含んだ第１成分を抽出し、その第１成分を切削力から除去する。これにより、Ｐ以上の周波数を有する第２成分を得ることができる。
【００９４】
次に、切削力の第２成分を用いた異常検知手法について説明する。
【００９５】
図１０（Ａ）および図１０（Ｂ）は、第３実施形態による切削力の第２成分を示すグラフである。縦軸は切削力の第２成分を示し、横軸は時間を示す。図１０（Ａ）は、工具を使用し始めた初期状態の切削力Ｆ１〜Ｆ４を示す。図１０（Ｂ）は、工具で切削作業をしばらく実行した後の切削力Ｆ１＿１〜Ｆ４＿１を示す。尚、第３実施形態において、駆動機構２は、水平軸を有するものとする。よって、ゼロ（Ｎ（Newton））を切削力の原点Ｆｃｅｎｔｅｒとすればよい。尚、駆動機構２が重力軸を有する場合、図４（Ａ）および図４（Ｂ）を参照して説明した通り、原点Ｆｃｅｎｔｅｒをオフセットさせればよい。従って、ここでは、重力軸の場合の説明を省略する。
【００９６】
工具は、例えば、４つの刃を有し、１回転するごとにこの４つの刃がワークを切削する。この場合、図１０（Ａ）のＦ１〜Ｆ４は、工具の４つの刃のそれぞれに対応する切削力を示している。図１０（Ｂ）のＦ１＿１〜Ｆ４＿１も、工具の４つの刃のそれぞれに対応する切削力を示している。工具が１回転するごとに、切削力Ｆ１〜Ｆ４またはＦ１＿１〜Ｆ４＿１が得られる。工具の１回転は１／Ｐ（ｓｅｃ）であるので、切削力Ｆ１〜Ｆ４またはＦ１＿１〜Ｆ４＿１は、１／Ｐの周期で繰り返し現れる。
【００９７】
工具の刃は、初期状態（新品）であっても全て同じ状態ではない。例えば、工具の回転中心から各刃の先端までの距離は、刃によって若干異なる。このため、各刃の切削量は異なる。また、工具を使用してしばらく経過すると、各刃の切削力Ｆ１＿１〜Ｆ４＿１のばらつきは、さらに大きくなる場合がある。例えば、図１０（Ａ）および図１０（Ｂ）を参照すると、切削力Ｆ３＿１が、初期状態のＦ３と比べて極端に低下している。これは、工具の４つの刃のうち３番目の刃が他の刃と比べて欠損または摩耗していることを示している。
【００９８】
そこで、エラー検出部４７は、切削力の第２成分に基づいて工具の異常を検出する。異常の検出において、エラー検出部４７は、第２成分の各刃の切削力Ｆ１〜Ｆ４のうち、第１刃の切削力Ｆ１に対する他の刃の切削力Ｆ２〜Ｆ４の比率Ｒ１〜Ｒ３を用いる。例えば、Ｒ１は、Ｆ２／Ｆ１である。Ｒ２は、Ｆ３／Ｆ１である。Ｒ３は、Ｆ４／Ｆ１である。この場合、各刃の初期状態の切削力Ｆ１〜Ｆ４は、加工開始当初において演算された切削力の第２成分から得られる。エラー検出部４７は、初期状態の切削力Ｆ１〜Ｆ４を用いてＦ２／Ｆ１、Ｆ３／Ｆ１、Ｆ４／Ｆ１を演算し、それぞれＲ１〜Ｒ３としてエラー検出部４７の内部メモリまたはメモリ４６に格納する。尚、第１刃の切削力Ｆ１に対する第１刃の切削力Ｆ１の比率（Ｆ１／Ｆ１＝１）もメモリに格納してもよい。
【００９９】
このような比率Ｒ１〜Ｒ３は、初期状態における複数の刃の切削力のばらつきを示す。これにより、加工途中において、或る特定の刃の切削力が変化した場合に、エラー検出部４７は、その変化が工具の刃全体の摩耗に依る変化（正常な変化）であるか、その特定の刃の欠損や極端な摩耗に依る変化（異常な変化）であるかを判断することができる。
【０１００】
加工開始後、エラー検出部４７は、各刃の切削力Ｆ１＿１〜Ｆ４＿１のうち、第１刃の切削力Ｆ１＿１に対する他の刃の切削力Ｆ２＿１〜Ｆ４＿１の比率Ｒ１＿１〜Ｒ３＿１を用いる。例えば、Ｒ１＿１は、Ｆ２＿１／Ｆ１＿１である。Ｒ２＿１は、Ｆ３＿１／Ｆ１＿１である。Ｒ３＿１は、Ｆ４＿１／Ｆ１＿１である。エラー検出部４７は、切削力Ｆ１＿１〜Ｆ４＿１を用いてＦ２＿１／Ｆ１＿１、Ｆ３＿１／Ｆ１＿１、Ｆ４＿１／Ｆ１＿１を演算し、それぞれＲ１＿１〜Ｒ３＿１としてエラー検出部４７の内部メモリまたはメモリ４６に格納する。尚、第１刃の切削力Ｆ１＿１に対する第１刃の切削力Ｆ１＿１の比率（Ｆ１＿１／Ｆ１＿１＝１）もメモリに格納してもよい。
【０１０１】
次に、エラー検出部４７は、｜Ｒｉ＿１−Ｒｉ｜と閾値Ｓとを比較する。尚、ｉは、１〜３の整数である。第３閾値としての閾値Ｓは、１以下の正数であり、予めメモリ４６に格納されている。閾値Ｓは、例えば、０．２〜０．５でよい。｜Ｒｉ＿１−Ｒｉ｜が閾値Ｓ以下である場合、エラー検出部４７は、工具が正常と判断する。｜Ｒｉ＿１−Ｒｉ｜が閾値Ｓよりも大きくなった場合、エラー検出部４７は、工具に異常が生じた判断する。
【０１０２】
例えば、工具の複数の刃が初期状態から全体としてほぼ一律に摩耗している場合には、Ｒｉ＿１は、Ｒｉからあまり変化しない。従って、｜Ｒｉ＿１−Ｒｉ｜は、閾値Ｓ以下に留まる。この場合、エラー検出部４７は工具が正常であると判断する。即ち、初期状態において複数の刃の切削力にばらつきがあっても、切削途中において、その比率Ｒｉが維持されている場合には、エラー検出部４７は工具が正常であると判断する。
【０１０３】
一方、特定の刃が欠損したり、他の刃と比べて極端に摩耗が激しい場合、その特定の刃の切削力が他の刃の切削力と比べて大きく低下する。例えば、図１０（Ｂ）に示す第３刃の切削力Ｆ３＿１は、他の刃の切削力Ｆ１＿１、Ｆ２＿１、Ｆ４＿１と比べて極端に低下している。この場合、第３刃が欠損したことが考えられる。比率Ｒ２＿１＝Ｆ３＿１／Ｆ１＿１は、Ｒ２＝Ｆ３／Ｆ１から大きく低下する。従って、｜Ｒｉ＿１−Ｒｉ｜は、閾値Ｓより大きくなる。この場合、エラー検出部４７は工具が異常であると判断する。即ち、切削途中における複数の刃の切削力の比率Ｒｉ＿１が、初期状態における比率Ｒｉと大きく異なる場合、エラー検出部４７は工具が異常であると判断する。
【０１０４】
尚、エラー検出部４７は、｜Ｒｉ＿１−Ｒｉ｜の全てが閾値Ｓ以上となったときに、第１刃の切削力Ｆ１＿１の異常であると判断する。切削力Ｆ１＿１の異常は、Ｒ１＿１〜Ｒ３＿１の全てに関連するからである。
【０１０５】
図１１は、第３実施形態による工具の折損検知動作を示すフロー図である。
【０１０６】
まず、加工開始当初、エラー検出部４７が切削力推定部４５で推定された切削力を得る（Ｓ１２）。エラー検出部４７は、ローパスフィルタを用いて、その切削力から第１成分を取り出し、さらに、切削力から第１成分を取り除いて第２成分を得る（Ｓ２２）。
【０１０７】
次に、エラー検出部４７は、切削力の第２成分の絶対値から工具の各刃の切削力Ｆ１〜Ｆ４を算出する。さらに、エラー検出部４７は、切削力Ｆ１〜Ｆ４を用いて初期状態の比率Ｒ１〜Ｒ３を算出する（Ｓ３２）。比率Ｒ１〜Ｒ３は、メモリ４６またはエラー検出部４７の内部メモリに格納される。
【０１０８】
その後、制御周期ごとに、エラー検出部４７は、切削力推定部４５からの切削力に基づいて、ステップＳ１２〜Ｓ３２と同様に、比率Ｒ１＿１〜Ｒ３＿１を算出する（Ｓ４２）。比率Ｒ１＿１〜Ｒ３＿１も、メモリ４６またはエラー検出部４７の内部メモリに格納される。また、エラー検出部４７は、｜Ｒｉ＿１−Ｒｉ｜を算出し（Ｓ５２）、｜Ｒｉ＿１−Ｒｉ｜を閾値Ｓと比較する（Ｓ６２）。
【０１０９】
｜Ｒｉ＿１−Ｒｉ｜が閾値Ｓ以下である場合（Ｓ６２のＮＯ）、エラー検出部４７は、工具が正常と判断し、切削作業および切削力の監視を継続する。
【０１１０】
｜Ｒｉ＿１−Ｒｉ｜が閾値Ｓよりも大きくなった場合（Ｓ６２のＹＥＳ）、エラー検出部４７は、工具に異常が生じた判断する（Ｓ７２）。この場合、エラー検出部４７は、停止信号およびエラー信号をそれぞれ軌道生成部４４およびＨＭＩ４０へ送信する。これにより、軌道生成部４４は、位置指令の更新を停止し、ＨＭＩ４０は、エラーをディスプレイに表示する（Ｓ８１）。
【０１１１】
このように、第３実施形態によるＮＣ装置４は、第２成分を用いて第１刃の加工力に対する他の刃の加工力の比率Ｒ１〜Ｒ３を演算する。そして、ＮＣ装置４は、加工開始当初における比率Ｒ１〜Ｒ３と加工開始後の比率Ｒ１＿１〜Ｒ３＿３との差の絶対値が閾値Ｓ以上になったときに、工具に異常が生じたと判断する。これにより、第３実施形態によるＮＣ装置４は、工具の各刃の細かい欠損や摩耗を精度良く検出することができる。
【０１１２】
第３実施形態は、第１実施形態および／または第２実施形態と組み合わせてもよい。
【０１１３】
本実施形態による工作機械における異常検知方法の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、異常検知方法の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやＣＤ−ＲＯＭ等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、異常検知方法の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線（無線通信も含む）を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【０１１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１５】
１４  モータ、２  駆動機構、４  ＮＣ装置、４０  入力表示部、４０  ＨＭＩ、４１  プログラム供給部、４２  プログラム解析部、４４  軌道生成部、４５  切削力推定部、４６  メモリ、４７  エラー検出部
【図１】
2018081487.tif 000005
【図２】
2018081487.tif 000006
【図３】
2018081487.tif 000007
【図４】
2018081487.tif 000008
【図５】
2018081487.tif 000009
【図６】
2018081487.tif 000010
【図７Ａ】
2018081487.tif 000011
【図７Ｂ】
2018081487.tif 000012
【図８】
2018081487.tif 000013
【図９】
2018081487.tif 000014
【図１０】
2018081487.tif 000015
【図１１】
2018081487.tif 000016