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