(57)【特許請求の範囲】
【請求項１】
工作機械であって、
工具を装着することが可能な主軸と、
前記主軸に装着されている工具の摩耗量を測定するための測定部と、
前記工作機械を制御するための制御部とを備え、
前記制御部は、
第１工具の総使用量に応じた前記第１工具の摩耗量の推移を示す推移情報を取得する処理と、
前記第１工具と同種の第２工具が前記主軸に装着されている場合に、前記推移情報と、前記第２工具の現総使用量とに基づいて、前記測定部による前記第２工具の摩耗量の測定処理を実行するか否かを判断する処理と、
前記測定部による測定結果が異常を示す場合に、所定の第１異常対処処理を実施する処理と、を実行し、
前記推移情報に規定される前記第１工具の摩耗量には、前記第１工具の総使用量に応じた許容範囲が対応付けられており、
前記制御部は、さらに、
前記測定処理の実行タイミングにおける前記第２工具の総使用量を取得し、前記推移情報に基づいて、当該取得した総使用量に対応付けられている許容範囲を取得する処理と、
前記実行タイミングにおける前記第２工具の摩耗量の測定結果が前記取得された許容範囲に含まれない場合に、所定の第２異常対処処理を実施する処理と、を実行する、工作機械。
【請求項２】
前記第２工具の総使用量が多くなるほど、前記判断する処理の実行頻度は多くなる、請求項１に記載の工作機械。
【請求項３】
前記制御部は、さらに、前記推移情報と、前記第２工具の現総使用量とに基づいて、前記第２工具の現摩耗量を推定する処理を実行し、
前記制御部は、前記判断する処理において、前記第２工具の現摩耗量が所定量以下である場合には、前記測定部による前記測定処理を実行しないと判断する、請求項１または２に記載の工作機械。
【請求項４】
前記第１工具の総使用量に応じて規定される前記許容範囲は、前記第１工具の総使用量が多くなるほど狭くなる、請求項１〜３のいずれかに記載の工作機械。
【請求項５】
前記制御部は、さらに、前記測定部による前記第２工具の摩耗量の測定結果に基づいて、前記推移情報を更新する処理を実行する、請求項１〜４のいずれか１項に記載の工作機械。
【請求項６】
工作機械の制御方法であって、
前記工作機械は、
工具を装着することが可能な主軸と、
前記主軸に装着されている工具の摩耗量を測定するための測定部とを備え、
前記制御方法は、
第１工具の総使用量に応じた前記第１工具の摩耗量の推移を示す推移情報を取得するステップと、
前記第１工具と同種の第２工具が前記主軸に装着されている場合に、前記推移情報と、前記第２工具の現総使用量とに基づいて、前記測定部による前記第２工具の摩耗量の測定処理を実行するか否かを判断するステップと、
前記測定部による測定結果が異常を示す場合に、所定の異常対処処理を実施するステップと、を備え、
前記推移情報に規定される前記第１工具の摩耗量には、前記第１工具の総使用量に応じた許容範囲が対応付けられており、
前記制御方法は、さらに、
前記測定処理の実行タイミングにおける前記第２工具の総使用量を取得し、前記推移情報に基づいて、当該取得した総使用量に対応付けられている許容範囲を取得するステップと、
前記実行タイミングにおける前記第２工具の摩耗量の測定結果が前記取得された許容範囲に含まれない場合に、所定の第２異常対処処理を実施するステップと、を備える、制御方法。
【請求項７】
工作機械の制御プログラムであって、
前記工作機械は、
工具を装着することが可能な主軸と、
前記主軸に装着されている工具の摩耗量を測定するための測定部とを備え、
前記制御プログラムは、前記工作機械に、
第１工具の総使用量に応じた前記第１工具の摩耗量の推移を示す推移情報を取得するステップと、
前記第１工具と同種の第２工具が前記主軸に装着されている場合に、前記推移情報と、前記第２工具の現総使用量とに基づいて、前記測定部による前記第２工具の摩耗量の測定処理を実行するか否かを判断するステップと、
前記測定部による測定結果が異常を示す場合に、所定の異常対処処理を実施するステップと、を実行させ、
前記推移情報に規定される前記第１工具の摩耗量には、前記第１工具の総使用量に応じた許容範囲が対応付けられており、
前記制御プログラムは、前記工作機械に、さらに、
前記測定処理の実行タイミングにおける前記第２工具の総使用量を取得し、前記推移情報に基づいて、当該取得した総使用量に対応付けられている許容範囲を取得するステップと、
前記実行タイミングにおける前記第２工具の摩耗量の測定結果が前記取得された許容範囲に含まれない場合に、所定の第２異常対処処理を実施するステップと、を実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、工具の摩耗量の測定タイミングを制御するための技術に関する。
【背景技術】
【０００２】
工作機械内の工具の摩耗が進むと様々な問題が生じる。たとえば、所望の加工精度が得られなかったり、工具が破損したりする。これらの問題に対処するために、工具の摩耗量を測定するための技術が開発されている。当該技術に関し、特開２０１７−４９６５６号公報（特許文献１）は、工具の画像を用いて工具の摩耗量を測定することが可能な工作機械を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４９６５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
工具摩耗量の測定処理が頻繁に実行されると、待ち時間が増えてしまう。一方で、工具摩耗量の測定処理が長期間実行されないと、工作機械は、工具の交換時期が到来していることを検知できない可能性がある。したがって、工具摩耗量の測定処理を適切なタイミングで実行することが望まれている。特許文献１に開示される技術は、工具摩耗量の測定処理の実行タイミングを制御するためのものではない。
【課題を解決するための手段】
【０００５】
本開示の一例では、工作機械は、工具を装着することが可能な主軸と、上記主軸に装着されている工具の摩耗量を測定するための測定部と、上記工作機械を制御するための制御部とを備える。上記制御部は、第１工具の総使用量に応じた上記第１工具の摩耗量の推移を示す推移情報を取得する処理と、上記第１工具と同種の第２工具が上記主軸に装着されている場合に、上記推移情報と、上記第２工具の現総使用量とに基づいて、上記測定部による上記第２工具の摩耗量の測定処理を実行するか否かを判断する処理と、上記測定部による測定結果が異常を示す場合に、所定の第１異常対処処理を実施する処理と、を実行する。
【０００６】
本開示の一例では、上記第２工具の総使用量が多くなるほど、上記判断する処理の実行頻度は多くなる。
【０００７】
本開示の一例では、上記制御部は、さらに、上記推移情報と、上記第２工具の現総使用量とに基づいて、上記第２工具の現摩耗量を推定する処理を実行する。上記制御部は、上記判断する処理において、上記第２工具の現摩耗量が所定量以下である場合には、上記測定部による上記測定処理を実行しないと判断する。
【０００８】
本開示の一例では、上記推移情報に規定される上記第１工具の摩耗量には、上記第１工具の総使用量に応じた許容範囲が対応付けられている。上記制御部は、さらに、上記測定処理の実行タイミングにおける上記第２工具の総使用量を取得し、上記推移情報に基づいて、当該取得した総使用量に対応付けられている許容範囲を取得する処理と、上記実行タイミングにおける上記第２工具の摩耗量の測定結果が上記取得された許容範囲に含まれない場合に、所定の第２異常対処処理を実施する処理と、実行する。
【０００９】
本開示の一例では、上記第１工具の総使用量に応じて規定される上記許容範囲は、上記第１工具の総使用量が多くなるほど狭くなる。
【００１０】
本開示の一例では、上記制御部は、さらに、上記測定部による上記第２工具の摩耗量の測定結果に基づいて、上記推移情報を更新する処理を実行する。
【００１１】
本開示の他の例では、工作機械の制御方法が提供される。上記工作機械は、工具を装着することが可能な主軸と、上記主軸に装着されている工具の摩耗量を測定するための測定部とを備える。上記制御方法は、第１工具の総使用量に応じた上記第１工具の摩耗量の推移を示す推移情報を取得するステップと、上記第１工具と同種の第２工具が上記主軸に装着されている場合に、上記推移情報と、上記第２工具の現総使用量とに基づいて、上記測定部による上記第２工具の摩耗量の測定処理を実行するか否かを判断するステップと、上記測定部による測定結果が異常を示す場合に、所定の異常対処処理を実施するステップと、を備える。
【００１２】
本開示の他の例では、工作機械の制御プログラムが提供される。上記工作機械は、工具を装着することが可能な主軸と、上記主軸に装着されている工具の摩耗量を測定するための測定部とを備える。上記制御プログラムは、上記工作機械に、第１工具の総使用量に応じた上記第１工具の摩耗量の推移を示す推移情報を取得するステップと、上記第１工具と同種の第２工具が上記主軸に装着されている場合に、上記推移情報と、上記第２工具の現総使用量とに基づいて、上記測定部による上記第２工具の摩耗量の測定処理を実行するか否かを判断するステップと、上記測定部による測定結果が異常を示す場合に、所定の異常対処処理を実施するステップと、を実行させる。
【００１３】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【００１４】
【図１】工作機械の外観を示す図である。
【図２】工作機械における駆動機構の構成例を示す図である。
【図３】主軸頭と測定部とを示す図である。
【図４】工具の総使用量に対する工具摩耗量の推移を示す図である。
【図５】工作機械の機能構成の一例を示す図である。
【図６】推移情報のデータ構造の一例を示す図である。
【図７】使用量情報のデータ構造の一例を示す図である。
【図８】図７に示される推移情報をグラフで示す図である。
【図９】図７に示される推移情報に許容範囲を付加した図である。
【図１０】更新された推移情報を示す図である。
【図１１】操作盤のハードウェア構成の一例を示す図である。
【図１２】ＣＮＣ（Computerized Numerical Control）ユニットのハードウェア構成の一例を示す図である。
【図１３】情報処理装置のハードウェア構成の一例を示す図である。
【図１４】工作機械の制御部が実行する処理の一部を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【００１６】
＜Ａ．工作機械１００の構成＞
まず、図１を参照して、工作機械１００の構成について説明する。図１は、工作機械１００の外観を示す図である。
【００１７】
工作機械１００は、ワークの加工機である。一例として、工作機械１００は、ワークの除去加工（ＳＭ（Subtractive manufacturing）加工）を行う工作機械である。あるいは、工作機械１００は、ワークの付加加工（ＡＭ（Additive manufacturing）加工）を行う工作機械であってもよい。また、工作機械１００は、立形のマシニングセンタや横形のマシニングセンタやターニングセンタであってもよい。あるいは、工作機械１００は、旋盤であってもよいし、その他の切削機械や研削機械であってもよい。さらに、工作機械は、これらを複合した複合機であってもよい。
【００１８】
工作機械１００には、操作盤２０が設けられている。操作盤２０は、加工に関する各種情報を表示するためのディスプレイ２０５と、工作機械１００に対する各種操作を受け付ける操作キー２０６とを含む。
【００１９】
工作機械１００は、加工エリアＡＲ１と、工具エリアＡＲ２とを有する。加工エリアＡＲ１および工具エリアＡＲ２のそれぞれは、カバーによって区画化されている。加工エリアＡＲ１には、主軸頭１３０が設けられている。工具エリアＡＲ２には、ＡＴＣ１６０と、マガジン１７０とが設けられている。マガジン１７０は、ワークの加工に用いられる種々の工具を収納する。マガジン１７０に収納されている工具は、加工エリアＡＲ１と工具エリアＡＲ２との間の仕切に設けられているドアＤを介して主軸頭１３０に取り付けられる。ドアＤは、スライド式のドアであり、モータなどの駆動源により開閉される。
【００２０】
＜Ｂ．工作機械１００の駆動機構＞
次に、図２を参照して、工作機械１００における各種の駆動機構について説明する。図２は、工作機械１００における駆動機構の構成例を示す図である。
【００２１】
図２に示されるように、工作機械１００は、制御部５０と、回転駆動部１１０Ａと、位置駆動部１１０Ｂと、主軸頭１３０と、測定部１４０とを含む。
【００２２】
本明細書でいう「制御部５０」とは、工作機械１００を制御する装置を意味する。制御部５０の装置構成は、任意である。制御部５０は、単体の制御ユニットで構成されてもよいし、複数の制御ユニットで構成されてもよい。図２の例では、制御部５０は、操作盤２０と、ＣＮＣユニット３０と、情報処理装置４０とで構成されている。
【００２３】
操作盤２０およびＣＮＣユニット３０は、たとえば、通信経路ＮＷ１（たとえば、無線ＬＡＮ、有線ＬＡＮ、フィールドネットワークなど）を介して互いに通信を行う。ＣＮＣユニット３０および情報処理装置４０は、たとえば、通信経路ＮＷ２（たとえば、無線ＬＡＮ、有線ＬＡＮ、フィールドネットワークなど）を介して互いに通信を行う。
【００２４】
ＣＮＣユニット３０は、加工開始指令を受けたことに基づいて、予め設計されている加工プログラムの実行を開始する。当該加工プログラムは、たとえば、ＮＣ（Numerical Control）プログラムで記述されている。ＣＮＣユニット３０は、当該加工プログラムに従って、回転駆動部１１０Ａおよび位置駆動部１１０Ｂを制御し、主軸頭１３０を駆動する。
【００２５】
情報処理装置４０は、汎用のコンピュータである。一例として、情報処理装置４０は、デスクトップ型のコンピュータであってもよいし、ノート型のコンピュータであってもよいし、タブレット端末であってもよい。情報処理装置４０には、画像処理プログラムがインストールされており、測定部１４０から取得した画像に対して種々の画像処理を実行する。
【００２６】
主軸頭１３０は、主軸筒１３１と、主軸１３２とを含む。主軸１３２は、主軸筒１３１により回転可能に支持されている。主軸１３２にはマガジン１７０（図１参照）から選択された一の工具１３４が装着される。工具１３４は、主軸１３２と連動して回転する。
【００２７】
回転駆動部１１０Ａは、主軸１３２の角度を変えるための駆動機構である。一例として、回転駆動部１１０Ａは、Ｘ軸方向を回転軸中心とした回転方向（Ａ軸）、Ｙ軸方向を回転軸中心とした回転方向（Ｂ軸）、および、Ｚ軸方向を回転軸中心とした回転方向（Ｃ軸）の少なくとも１つの角度を調整する。回転駆動部１１０Ａの装置構成は、任意である。回転駆動部１１０Ａは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図２の例では、回転駆動部１１０Ａは、サーボドライバ１１１Ｂ、１１１Ｃで構成されている。
【００２８】
位置駆動部１１０Ｂは、主軸１３２の位置を変えるための駆動機構である。一例として、位置駆動部１１０Ｂは、Ｘ軸方向、Ｙ軸方向およびＺ軸方向の少なくとも１つの位置を調整する。位置駆動部１１０Ｂの装置構成は、任意である。位置駆動部１１０Ｂは、単体の駆動ユニットで構成されてもよいし、複数の駆動ユニットで構成されてもよい。図２の例では、位置駆動部１１０Ｂは、サーボドライバ１１１Ｘ〜１１１Ｚで構成されている。
【００２９】
サーボドライバ１１１Ｂは、ＣＮＣユニット３０から目標回転速度の入力を逐次的に受け、Ｂ軸方向に主軸頭１３０を回転駆動するためのサーボモータ（図示しない）を制御する。
【００３０】
より具体的には、サーボドライバ１１１Ｂは、当該サーボモータの回転角度を検知するためのエンコーダ（図示しない）のフィードバック信号から当該サーボモータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該サーボモータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該サーボモータの回転速度を下げる。このように、サーボドライバ１１１Ｂは、当該サーボモータの回転速度のフィードバックを逐次的に受けながら当該サーボモータの回転速度を目標回転速度に近付ける。これにより、サーボドライバ１１１Ｂは、Ｂ軸方向における主軸頭１３０の回転速度を調整する。
【００３１】
サーボドライバ１１１Ｃは、ＣＮＣユニット３０から目標回転速度の入力を逐次的に受け、主軸１３２の軸方向を回転中心とした回転方向に主軸１３２を回転駆動するためのサーボモータ（図示しない）を制御する。
【００３２】
より具体的には、サーボドライバ１１１Ｃは、当該サーボモータの回転角度を検知するためのエンコーダ（図示しない）のフィードバック信号から当該サーボモータの実回転速度を算出し、当該実回転速度が目標回転速度よりも小さい場合には当該サーボモータの回転速度を上げ、当該実回転速度が目標回転速度よりも大きい場合には当該サーボモータの回転速度を下げる。このように、サーボドライバ１１１Ｃは、当該サーボモータの回転速度のフィードバックを逐次的に受けながら当該サーボモータの回転速度を目標回転速度に近付ける。これにより、サーボドライバ１１１Ｃは、主軸１３２の軸方向を回転中心とした回転方向において主軸１３２の回転速度を調整する。
【００３３】
サーボドライバ１１１Ｘは、ＣＮＣユニット３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｘ軸方向の任意の位置に主軸頭１３０を移動する。サーボドライバ１１１Ｘによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００３４】
サーボドライバ１１１Ｙは、ＣＮＣユニット３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｙ軸方向の任意の位置に主軸１３２を移動する。サーボドライバ１１１Ｙによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００３５】
サーボドライバ１１１Ｚは、ＣＮＣユニット３０から目標位置の入力を逐次的に受け、サーボモータ（図示しない）を制御する。当該サーボモータは、主軸頭１３０が取り付けられている移動体をボールネジ（図示しない）を介して送り駆動し、Ｚ軸方向の任意の位置に主軸１３２を移動する。サーボドライバ１１１Ｚによる当該サーボモータの制御方法は、サーボドライバ１１１Ｂ、１１１Ｃと同様であるので、その説明については繰り返さない。
【００３６】
なお、上述では、回転駆動部１１０Ａがサーボドライバで構成されている例について説明を行ったが、回転駆動部１１０Ａは、その他のモータドライバで構成されてもよい。一例として、回転駆動部１１０Ａは、ステッピングモータ用の１つ以上のモータドライバで構成されてもよい。同様に、位置駆動部１１０Ｂは、ステッピングモータ用の１つ以上のモータドライバで構成されてもよい。
【００３７】
測定部１４０は、工具の摩耗量を測定するための測定機構である。一例として、測定部１４０は、撮像部として機能する。情報処理装置４０は、当該撮像部から得られた画像に対して所定の画像処理を実行することで、画像に写る工具の摩耗量を測定する。当該摩耗量の測定方法の詳細については後述する。
【００３８】
＜Ｃ．測定機構＞
次に、図３を参照して、測定部１４０の測定機構について説明する。図３は、主軸頭１３０と測定部１４０とを示す図である。
【００３９】
図３の例では、主軸頭１３０が加工エリアＡＲ１に設けられており、測定部１４０および光源１４５，１４７が工具エリアＡＲ２に設けられている。測定部１４０は、カメラ１４１と、対物レンズ１４２とで構成されている。
【００４０】
光源１４５は、たとえば、リング照明であり、対物レンズ１４２を囲うように設置される。光源１４５は、カメラ１４１の撮影視野ＣＲ内にある物体に光を照射する。当該物体からの反射光は、対物レンズ１４２に入射する。これにより、工具１３４を表わす工具画像がカメラ１４１から得られる。
【００４１】
光源１４７は、対物レンズ１４２および光源１４５に対向するように設けられる。光源１４７は、カメラ１４１の撮影視野ＣＲ内にある物体に撮影方向の反対側から光を照射する。その結果、光源１４７から照射された光は、カメラ１４１の撮影視野ＣＲに含まれる物体に遮られ、当該物体に遮られなかった光がカメラ１４１に入射する。これにより、影絵としての工具画像がカメラ１４１から得られる。
【００４２】
＜Ｄ．概要＞
次に、図４を参照して、測定部１４０による測定処理の実行回数を減らすための方法について説明する。
【００４３】
工作機械１００は、工具の交換時期が到来していることを検知するために、測定部１４０を用いて工具摩耗量の測定処理を定期的に実行する。当該測定処理は、測定対象の工具が測定部１４０の撮影視野に含まれるように主軸１３２を駆動する処理と、当該工具の画像を測定部１４０から取得する処理と、当該画像に基づいて工具摩耗量を推定する処理とを含む。当該測定処理が頻繁に実行されると、待ち時間が増えてしまう。一方で、工具摩耗量の測定処理が長期間実行されないと、工具の交換時期を逃す可能性がある。
【００４４】
そこで、工作機械１００は、工具摩耗量の過去の推移を参考にして、現在の工具に対する摩耗量の測定処理が必要か否かを判断する。そして、工作機械１００は、摩耗量の測定処理が必要と判断した場合にのみ、工具摩耗量の測定処理を実行する。これにより、測定部１４０による測定処理の実行回数が減り、かつ、工具の交換時期を逃す可能性が低減する。
【００４５】
図４は、工具の総使用量に対する工具摩耗量の推移を示す図である。工具の総使用量とは、新品時から現在までの工具の使用量を意味する。ここでいう「量」との用語は、時間、距離、および回数を含む概念である。すなわち、「工具の総使用量」は、現在までの工具の総使用時間と、現在までの工具の総移動距離と、現在までの工具の総使用回数とを含む概念である。
【００４６】
より具体的な処理として、工作機械１００は、工具摩耗量の過去の推移情報１２２を予め取得しておく。推移情報１２２には、たとえば、工具種別「Ａ」である工具「Ａ１」の総使用量と、工具「Ａ１」の摩耗量との関係が規定されている。図４に示されるように、工具の総使用量が増えるほど、工具摩耗量は増加する。
【００４７】
工具種別「Ａ」についての推移情報１２２が得られている場合において、工具「Ａ１」（第１工具）と同種の工具「Ａ２」（第２工具）が主軸１３２に装着されているときには、工作機械１００は、推移情報１２２と、工具「Ａ２」の現総使用量とに基づいて、工具摩耗量の測定処理を実行するか否かを判断する。
【００４８】
より具体的には、工作機械１００は、推移情報１２２を参照して、工具「Ａ２」の現総使用量に対応する工具摩耗量を特定し、当該特定した工具摩耗量を工具「Ａ２」の現摩耗量としてみなす。そして、工作機械１００は、当該現摩耗量が所定閾値「ｔｈ１」以下である場合には、工具摩耗量の測定処理を実行しないと判断する。
【００４９】
一例として、工具「Ａ２」の現総使用量が「Ｔ１」である場合には、工作機械１００は、推移情報１２２に従って工具「Ａ２」の現摩耗量を「Ｍ１」とみなす。この場合、現摩耗量「Ｍ１」は、所定閾値「ｔｈ１」以下であるので、工作機械１００は、工具摩耗量の測定処理を実行しないと判断する。
【００５０】
一方で、工具「Ａ２」の現総使用量が「Ｔ２」である場合には、工作機械１００は、推移情報１２２に従って工具「Ａ２」の現摩耗量を「Ｍ２」とみなす。この場合、現摩耗量「Ｍ２」は、所定閾値「ｔｈ１」を超えているので、工作機械１００は、工具摩耗量の測定処理を実行すると判断する。
【００５１】
なお、上述では、工具摩耗量の測定処理を実行するか否かが閾値「ｔｈ１」に基づいて判断される例について説明を行ったが、工具摩耗量の測定処理を実行するか否かを判断する方法は、閾値「ｔｈ１」を用いた方法に限定されない。一例として、工作機械１００は、現工具使用量に応じた確率で、工具摩耗量の測定処理を実行すると判断してもよい。当該確率は、現工具使用量が多いほど高くなる。
【００５２】
＜Ｅ．工作機械１００の機能構成＞
図５〜図１０を参照して、工作機械１００の機能構成について説明する。図５は、工作機械１００の機能構成の一例を示す図である。
【００５３】
工作機械１００は、機能構成として、推移情報取得部５２と、監視部５４と、推定部５６と、実行判断部５８と、第１異常処理部６０と、許容範囲取得部６２と、第２異常処理部６４と、更新部６６とを含む。以下では、これらの機能構成について順に説明する。
【００５４】
なお、各機能構成の配置は、任意である。一例として、図３に示される機能構成の全ては、上述の操作盤２０（図２参照）に実装されてもよいし、上述のＣＮＣユニット３０（図２参照）に実装されてもよいし、上述の情報処理装置４０（図２参照）に実装されてもよい。あるいは、図３に示される機能構成の一部が操作盤２０に実装され、残りの機能構成の一部がＣＮＣユニット３０に実装され、残りの機能構成が情報処理装置４０に実装されてもよい。あるいは、図３に示される機能構成の一部は、サーバーなどの外部装置に実装されてもよいし、専用のハードウェアに実装されてもよい。
【００５５】
（Ｅ１．推移情報取得部５２）
まず、図６を参照して、図３に示される推移情報取得部５２の機能について説明する。図６は、推移情報１２２のデータ構造の一例を示す図である。
【００５６】
推移情報取得部５２は、上述の推移情報１２２（図４参照）を取得し、取得した推移情報１２２を工作機械１００の記憶装置１２０に格納する。図６に示されるように、推移情報１２２には、工具の識別情報と工具使用量と工具摩耗量との対応関係が工具種別に規定されている。工具の識別情報は、たとえば、工具名や工具ＩＤ（Identification）などで示される。
【００５７】
ある局面において、工作機械１００は、測定部１４０による測定処理が実行される度に、測定対象の工具の識別情報と、当該工具の現総使用量と、当該工具の摩耗量の測定結果とを、対応する工具種別の推移情報１２２に書き込む。これにより、工具使用量と工具摩耗量との関係が履歴として蓄積される。
【００５８】
他の局面において、推移情報１２２は、工作機械１００とは異なる他の工作機械から取得される。これにより、工作機械１００は、他の工作機械における測定結果を工作機械１００で流用することができる。
【００５９】
なお、図６の推移情報１２２の例では、工具使用量と工具摩耗量との関係がテーブル形式で示されているが、推移情報１２２のデータ形式は、これに限定されない。一例として、推移情報１２２は、工具使用量を説明変数とし、工具摩耗量を目的変数とする算出式で示されてもよい。より具体的には、工作機械１００は、工具使用量と工具摩耗量との複数の組み合わせに基づいて、工具使用量と工具摩耗量との相関関係を表わす近似式を当該算出式として生成する。当該近似式は、たとえば、多項式近似または線形近似などによって生成される。
【００６０】
（Ｅ２．監視部５４）
次に、図７を参照して、図３に示される監視部５４の機能について説明する。
【００６１】
監視部５４は、加工プログラム３２３を監視し、各工具について総使用量をカウントする。工具の総使用量は、たとえば、図７に示される使用量情報１２４に書き込まれる。図７は、使用量情報１２４のデータ構造の一例を示す図である。図７に示されるように、使用量情報１２４には、新品時から現在までの工具の総使用量が工具の識別情報に対応付けられている。使用量情報１２４に規定される総使用量は、監視部５４によって更新される。
【００６２】
より具体的には、加工プログラム３２３は、たとえば、Ｇコードで規定されており、主軸１３２に装着する工具を指定するための工具交換命令や、主軸や工具を回転駆動／送り駆動するための駆動命令などを含む。監視部５４は、加工プログラム３２３に規定されている工具交換命令に基づいて、ワークの加工に用いられる工具の識別情報を特定しておく。次に、監視部５４は、加工プログラム３２３に規定されている駆動命令が実行されたことに基づいて、当該工具の使用時間のカウントを開始する。続いて、監視部５４は、加工プログラム３２３に規定されている停止命令または最終行の命令が実行されたことに基づいて、当該工具の使用時間のカウントを停止する。その後、監視部５４は、工具使用履歴１２６を参照して、使用した工具に関連付けられている総使用量に、カウントされた使用時間を加算する。これにより、各工具の総使用時間が管理される。
【００６３】
（Ｅ３．推定部５６）
次に、図８を参照して、図３に示される推定部５６の機能について説明する。図８は、図７に示される推移情報１２２をグラフで示す図である。
【００６４】
図７に示される推移情報１２２は、工具種別「Ａ」である工具「Ａ１」の総使用量と、工具「Ａ１」の工具摩耗量との関係を示す。推定部５６は、推移情報１２２に基づいて、工具「Ａ１」と同種である工具「Ａ２」の現摩耗量を推定する。
【００６５】
より具体的には、まず、推定部５６は、上述の使用量情報１２４を参照して、推定対象の工具「Ａ２」に対応付けられている現総使用時間を取得する。その結果、現総使用時間が「Ｔ１」であったとする。次に、推定部５６は、推移情報１２２を参照して、現総使用時間「Ｔ１」に対応する摩耗量「Ｍ１」を取得する。当該摩耗量「Ｍ１」は、工具「Ａ２」の現摩耗量とみなされる。摩耗量「Ｍ１」は、実行判断部５８に出力される。
【００６６】
（Ｅ４．実行判断部５８）
引き続き図８を参照して、図３に示される実行判断部５８の機能について説明する。
【００６７】
実行判断部５８は、推定部５６による現摩耗量の推定結果に基づいて、測定部１４０による測定処理を実行するか否かを判断する。一例として、実行判断部５８は、工具の現摩耗量が閾値「ｔｈ１」以下である場合には、測定部１４０による測定処理を実行しないと判断する。一方で、実行判断部５８は、工具の現摩耗量が閾値「ｔｈ１」を超えている場合には、測定部１４０による測定処理を実行すると判断する。
【００６８】
閾値「ｔｈ１」は、予め設定されていてもよいし、作業者によって任意に設定されてもよい。好ましくは、閾値「ｔｈ１」は、摩耗量の限界値「ｔｈ２」に基づいて、工具ごとに算出される。
【００６９】
限界値「ｔｈ２」は、限界の工具摩耗量、あるいは、限界直前の工具摩耗量を示す。限界値「ｔｈ２」は、予め設定されていてもよいし、作業者によって任意に設定されてもよい。閾値「ｔｈ１」は、限界値「ｔｈ２」に所定の割合を乗算することで算出される。当該割合の値は任意であるが、たとえば、９５％である。
【００７０】
実行判断部５８によって判断処理が実行されるタイミングは、任意である。一例として、実行判断部５８は、使用済工具がマガジン１７０（図１参照）に収納されるタイミングに判断処理を実行する。好ましくは、工具の総使用量が多くなるほど、実行判断部５８による判断処理の実行頻度は多くなる。これにより、工具の交換タイミングを逃す可能性をより軽減することができる。なお、実行判断部５８による判断処理の実行頻度は、所定の単位使用量当たりにおける判断処理の実行回数を意味する。
【００７１】
一例として、工具使用量が「Ｔ１」〜「Ｔ３」であるそれぞれのタイミングにおいて、実行判断部５８による判断処理が実行されるとする。この場合、工具使用量「Ｔ１」〜「Ｔ３」は、以下の式（１），（２）の関係を満たす。
【００７２】
Ｔ１＜Ｔ２＜Ｔ３・・・（１）
Ｔ２−Ｔ１＞Ｔ３−Ｔ２・・・（２）
工具「Ａ２」の現総使用量が「Ｔ１」である場合には、推定部５６は、推移情報１２２に従って工具「Ａ２」の現摩耗量を「Ｍ１」とみなす。この場合、現摩耗量「Ｍ１」は、所定閾値「ｔｈ１」以下であるので、実行判断部５８は、工具摩耗量の測定処理を実行しないと判断する。
【００７３】
また、工具「Ａ２」の現総使用量が「Ｔ２」である場合には、推定部５６は、推移情報１２２に従って工具「Ａ２」の現摩耗量を「Ｍ２」とみなす。この場合、現摩耗量「Ｍ２」は、所定閾値「ｔｈ１」を超えているので、実行判断部５８は、工具摩耗量の測定処理を実行すると判断する。
【００７４】
また、工具「Ａ２」の現総使用量が「Ｔ３」である場合には、推定部５６は、推移情報１２２に従って工具「Ａ２」の現摩耗量を「Ｍ３」とみなす。この場合、現摩耗量「Ｍ３」は、所定閾値「ｔｈ１」を超えているので、実行判断部５８は、工具摩耗量の測定処理を実行すると判断する。
【００７５】
実行判断部５８が工具摩耗量の測定処理を実行すると判断した場合、工作機械１００は、測定部１４０による摩耗量の測定処理を実行する。
【００７６】
より具体的には、まず、工作機械１００は、上述の位置駆動部１１０Ｂ（図２参照）を制御し、予め定められた位置に主軸頭１３０を移動する。主軸頭１３０が当該予め定められた位置に移動されることで、測定対象の工具「Ａ２」がカメラ１４１（図３参照）の撮影視野ＣＲに含まれる。次に、工作機械１００は、上述の回転駆動部１１０Ａ（図２参照）を制御することで予め定められた回転角度に主軸１３２を回転する。これにより、工具「Ａ２」の摩耗部分がカメラ１４１に向けられる。
【００７７】
その後、工作機械１００は、カメラ１４１に撮影指示を出力する。これにより、監視部５４は、工具「Ａ２」を写した工具画像ＩＭ１をカメラ１４１から取得する。
【００７８】
典型的には、工作機械１００は、光源１４５（図３参照）をオンにし、かつ光源１４７（図３参照）をオフにした状態でカメラ１４１に撮影指示を出力し、工具画像ＩＭ１を取得する。これにより、カメラ方向から工具を照らした状態で工具画像ＩＭ１が得られる。
【００７９】
あるいは、監視部５４は、光源１４５をオフにし、かつ光源１４７をオンにした状態でカメラ１４１に撮影指示を出力し、工具１３４のシルエット画像を工具画像ＩＭ１として取得してもよい。
【００８０】
次に、工作機械１００は、カメラ１４１から得られた工具画像ＩＭ１に基づいて、工具「Ａ２」の摩耗量を測定する。工具画像ＩＭ１を用いた摩耗量の測定処理には、種々の画像処理アルゴリズムが用いられ得る。一例として、工作機械１００は、学習済モデルを用いて工具摩耗量を検知する。
【００８１】
当該学習済みモデルは、学習用データセットを用いた学習処理により予め生成されている。学習用データセットは、工具が写っている複数の学習用画像を含む。各学習用画像には、工具の種別と工具の摩耗量とを示すラベルが関連付けられる。学習済みモデルの内部パラメータは、このような学習用データセットを用いた学習処理により予め最適化されている。
【００８２】
学習済みモデルを生成するための学習手法には、種々の機械学習アルゴリズムが採用され得る。一例として、当該機械学習アルゴリズムとして、ディープラーニング、コンボリューションニューラルネットワーク（ＣＮＮ）、全層畳み込みニューラルネットワーク（ＦＣＮ）、サポートベクターマシンなどが採用される。
【００８３】
工作機械１００は、所定の矩形領域を工具画像ＩＭ１上に設定し、当該矩形領域を工具画像ＩＭ１上でずらしながら当該矩形領域内の部分画像を学習済モデルに順次入力する。その結果、当該学習済モデルは、工具摩耗量をスコアとして出力する。工作機械１００は、当該工具摩耗量が所定値を超え、かつ、当該工具摩耗量が最大となった部分画像を特定し、当該部分画像について出力された工具摩耗量を測定結果として採用する。
【００８４】
なお、工具摩耗量の測定方法は、学習済モデルを用いた上述の方法に限定されず、ルールベースに基づく画像処理が採用されてもよい。あるいは、工具摩耗量は、作業者によって入力されてもよい。この場合、作業者は、工具または工具画像を確認し、測定具などを用いて工具摩耗量を測定する。
【００８５】
（Ｅ５．第１異常処理部６０）
引き続き図８を参照して、図３に示される第１異常処理部６０の機能について説明する。
【００８６】
第１異常処理部６０は、測定部１４０による測定結果が異常を示す場合に、所定の異常対処処理（第１異常対処処理）を実施する。所定の異常対処処理を実施するか否かは、たとえば、工具摩耗量の限界値「ｔｈ２」に基づいて判断される。
【００８７】
一例として、工具使用量が「Ｔ２」である時に実行された測定処理では、実際の測定結果として工具摩耗量が「Ｍ２’」であったとする。この場合、当該工具摩耗量「Ｍ２’」は、限界値「ｔｈ２」を超えていないので、第１異常処理部６０は、異常対処処理を実施しない。
【００８８】
他の例として、工具使用量が「Ｔ３」である時に実行された測定処理では、実際の測定結果として工具摩耗量が「Ｍ３’」であったとする。この場合、当該工具摩耗量「Ｍ３’」は、限界値「ｔｈ２」を超えているので、第１異常処理部６０は、異常対処処理を実施する。
【００８９】
当該異常対処処理は、たとえば、工具交換を作業者に促すための警告を出力する処理である。当該警告は、工具の摩耗が限界に達していること、または、工具の摩耗が限界に近付いていることを示す。警告の出力態様は、任意である。一例として、当該警告は、工作機械１００のディスプレイ上に表示されてもよいし、音声で出力されてもよいし、レポート形式でデータとして出力されてもよい。好ましくは、当該警告は、交換すべき工具の種別や工具の格納場所を含む。警告が出力されることで、作業者は、工具を新品に交換することができる。
【００９０】
他の例として、当該異常対処処理は、工作機械１００の加工を停止する処理である。これにより、摩耗が進んだ工具が加工に用いられることを防止することができる。
【００９１】
（Ｅ６．許容範囲取得部６２）
次に、図９を参照して、図３に示される許容範囲取得部６２の機能について説明する。図９は、図７に示される推移情報１２２に許容範囲１２３を付加した図である。
【００９２】
許容範囲取得部６２は、測定部１４０による測定結果の許容範囲を取得する。より具体的には、推移情報１２２に規定される工具の摩耗量には、工具の総使用量に応じた許容範囲が対応付けられている。図９の例では、工具種別「Ａ」の工具「Ａ１」の摩耗量について、許容範囲１２３が対応付けられている。
【００９３】
許容範囲１２３は、下限１２３Ａと、上限１２３Ｂとで規定される。推移情報１２２が示す工具摩耗量は、下限１２３Ａと上限１２３Ｂとの間で推移する。許容範囲１２３は、工具の総使用量が多くなるほど狭くなる。一例として、工具使用量「Ｔ５」における許容範囲ΔＲＡは、工具使用量「Ｔ６」（＞Ｔ５）における許容範囲ΔＲＢよりも広い。
【００９４】
より具体的な処理として、許容範囲取得部６２は、測定部１４０による測定処理の実行タイミングにおける工具「Ａ２」の総使用量を取得する。次に、許容範囲取得部６２は、推移情報１２２に基づいて、当該取得した総使用量に対応付けられている許容範囲を取得する。一例として、現総使用量が「Ｔ５」である場合、許容範囲取得部６２は、現総使用量「Ｔ５」における許容範囲ΔＲＡを取得する。取得された許容範囲は、第２異常処理部６４に出力される。
【００９５】
（Ｅ７．第２異常処理部６４）
引き続き図９を参照して、図３に示される第２異常処理部６４の機能について説明する。
【００９６】
第２異常処理部６４は、工具摩耗量の実際の測定結果が許容範囲取得部６２によって取得された許容範囲から外れている場合に、所定の異常対処処理（第２異常対処処理）を実施する。
【００９７】
一例として、工具使用量が「Ｔ５」である時に実行された測定処理では、実際の測定結果として工具摩耗量は「Ｍ５’」であったとする。測定値「Ｍ５’」は、現総使用量「Ｔ５」における許容範囲ΔＲＡに含まれているので、第２異常処理部６４は、正常と判断し、所定の異常対処処理を実施しない。
【００９８】
他の例として、工具使用量が「Ｔ６」である時に実行された測定処理では、実際の測定結果として工具摩耗量は「Ｍ６’」であったとする。測定値「Ｍ６’」は、現総使用量「Ｔ５」における許容範囲ΔＲＢから外れているので、第２異常処理部６４は、異常と判断し、所定の異常対処処理を実施する。このように、第２異常処理部６４は、工具摩耗量の実際の測定結果が推定結果から大きく外れている場合には、所定の異常対処処理を実施する。
【００９９】
当該異常対処処理は、たとえば、警告を出力する処理である。当該警告は、工作機械１００のディスプレイ上に表示されてもよいし、音声で出力されてもよいし、レポート形式でデータとして出力されてもよい。これにより、作業者は、工具摩耗量の実際の測定結果が推定結果から大きく外れている原因を探ることができる。
【０１００】
（Ｅ８．更新部６６）
次に、図１０を参照して、図３に示される更新部６６の機能について説明する。
【０１０１】
更新部６６は、測定部１４０による工具摩耗量の測定結果に基づいて、推移情報１２２を更新する。図１０は、更新された推移情報１２２を示す図である。
【０１０２】
更新部６６は、工具「Ａ１」と同種の工具「Ａ２」について工具摩耗量の測定処理が実行された場合には、当該測定結果を推移情報１２２に追加する。これにより、工具使用量に対する工具摩耗量の推移が更新され、工作機械１００は、より新しい推移情報に基づいて、測定部１４０による測定処理を実行するか否かを判断することができる。
【０１０３】
更新部６６は、推移情報１２２が更新された場合には、更新後の推移情報１２２に基づいて、工具使用量と工具摩耗量との相関関係を表わす近似式を生成し直す。当該近似式は、たとえば、多項式近似または線形近似などによって生成される。
【０１０４】
＜Ｆ．操作盤２０のハードウェア構成＞
次に、図１１を参照して、図２に示される操作盤２０のハードウェア構成について説明する。図１１は、操作盤２０のハードウェア構成の一例を示す図である。
【０１０５】
操作盤２０は、制御回路２０１と、ＲＯＭ（Read Only Memory）２０２と、ＲＡＭ（Random Access Memory）２０３と、通信インターフェイス２０４と、ディスプレイ２０５と、操作キー２０６と、補助記憶装置２２０とを含む。これらのコンポーネントは、内部バスＢ２に接続される。
【０１０６】
制御回路２０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ（Central Processing Unit）、少なくとも１つのＧＰＵ（Graphics Processing Unit）、少なくとも１つのＡＳＩＣ（Application Specific Integrated Circuit）、少なくとも１つのＦＰＧＡ（Field Programmable Gate Array）、またはそれらの組み合わせなどによって構成され得る。
【０１０７】
制御回路２０１は、制御プログラム２２２などの各種プログラムを実行することで操作盤２０の動作を制御する。制御プログラム２２２は、操作盤２０を制御するための命令を規定している。制御回路２０１は、制御プログラム２２２の実行命令を受け付けたことに基づいて、補助記憶装置２２０またはＲＯＭ２０２からＲＡＭ２０３に制御プログラム２２２を読み出す。ＲＡＭ２０３は、ワーキングメモリとして機能し、制御プログラム２２２の実行に必要な各種データを一時的に格納する。
【０１０８】
通信インターフェイス２０４は、ＬＡＮ（Local Area Network）ケーブル、ＷＬＡＮ、またはＢｌｕｅｔｏｏｔｈ（登録商標）などを用いた通信を実現するための通信ユニットである。一例として、操作盤２０は、通信インターフェイス２０４を介して、ＣＮＣユニット３０などの外部機器との通信を実現する。
【０１０９】
ディスプレイ２０５は、たとえば、液晶ディスプレイ、有機ＥＬディスプレイ、またはその他の表示機器である。ディスプレイ２０５は、制御回路２０１などからの指令に従って、ディスプレイ２０５に対して、画像を表示するための画像信号を送出する。ディスプレイ２０５は、たとえば、タッチパネルで構成されており、工作機械１００に対する各種操作をタッチ操作で受け付ける。
【０１１０】
操作キー２０６は、複数のハードウェアキーで構成され、操作盤２０に対する各種のユーザ操作を受け付ける。押下されたキーに応じた信号が制御回路２０１に出力される。
【０１１１】
補助記憶装置２２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置２２０は、制御プログラム２２２などを格納する。制御プログラム２２２の格納場所は、補助記憶装置２２０に限定されず、制御回路２０１の記憶領域（たとえば、キャッシュメモリ）、ＲＯＭ２０２、ＲＡＭ２０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【０１１２】
なお、制御プログラム２２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種の処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム２２２の趣旨を逸脱するものではない。さらに、制御プログラム２２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバーが制御プログラム２２２の処理の一部を実行する所謂クラウドサービスのような形態で操作盤２０が構成されてもよい。
【０１１３】
＜Ｇ．ＣＮＣユニット３０のハードウェア構成＞
次に、図１２を参照して、図２に示されるＣＮＣユニット３０のハードウェア構成について説明する。図１２は、ＣＮＣユニット３０のハードウェア構成の一例を示す図である。
【０１１４】
ＣＮＣユニット３０は、制御回路３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、通信インターフェイス３０４，３０５と、フィールドバスコントローラ３０６と、補助記憶装置３２０とを含む。これらのコンポーネントは、内部バスＢ３に接続される。
【０１１５】
制御回路３０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ、少なくとも１つのＧＰＵ、少なくとも１つのＡＳＩＣ、少なくとも１つのＦＰＧＡ、またはそれらの組み合わせなどによって構成され得る。
【０１１６】
制御回路３０１は、制御プログラム３２２や加工プログラム３２３などの各種プログラムを実行することでＣＮＣユニット３０の動作を制御する。制御回路３０１は、制御プログラム３２２の実行命令を受け付けたことに基づいて、ＲＯＭ３０２からＲＡＭ３０３に制御プログラム３２２を読み出す。ＲＡＭ３０３は、ワーキングメモリとして機能し、制御プログラム３２２の実行に必要な各種データを一時的に格納する。
【０１１７】
通信インターフェイス３０４，３０５には、ＬＡＮ、ＷＬＡＮ、またはＢｌｕｅｔｏｏｔｈなどを用いた通信を実現するための通信ユニットである。ＣＮＣユニット３０は、通信インターフェイス３０４を介して外部機器（たとえば、操作盤２０）とデータをやり取りする。また、ＣＮＣユニット３０は、通信インターフェイス３０５を介して外部機器（たとえば、情報処理装置４０）とデータをやり取りする。
【０１１８】
フィールドバスコントローラ３０６は、フィールドバスに接続される各種ユニットとの通信を実現するための通信ユニットである。当該フィールドバスに接続されるユニットの一例として、上述の回転駆動部１１０Ａ（図２参照）や上述の位置駆動部１１０Ｂ（図２参照）などが挙げられる。
【０１１９】
補助記憶装置３２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置３２０は、制御プログラム３２２、加工プログラム３２３、および工具情報３２６などを格納する。工具情報３２６には、たとえば、工具長および工具径などの工具に関する各種情報が工具種別に規定される。
【０１２０】
制御プログラム３２２、加工プログラム３２３、および工具情報３２６の格納場所は、補助記憶装置３２０に限定されず、制御回路３０１の記憶領域（たとえば、キャッシュメモリ）、ＲＯＭ３０２、ＲＡＭ３０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【０１２１】
なお、制御プログラム３２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、本実施の形態に従う各種の処理は、任意のプログラムと協働して実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム３２２の趣旨を逸脱するものではない。さらに、制御プログラム３２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも１つのサーバーが制御プログラム３２２の処理の一部を実行する所謂クラウドサービスのような形態でＣＮＣユニット３０が構成されてもよい。
【０１２２】
＜Ｈ．情報処理装置４０のハードウェア構成＞
次に、図１３を参照して、図２に示される情報処理装置４０のハードウェア構成について説明する。図１３は、情報処理装置４０のハードウェア構成の一例を示す図である。
【０１２３】
情報処理装置４０は、制御回路４０１と、ＲＯＭ４０２と、ＲＡＭ４０３と、通信インターフェイス４０４，４０５と、補助記憶装置４２０とを含む。これらのコンポーネントは、内部バスＢ４に接続される。ＲＯＭ４０２、ＲＡＭ４０３、および補助記憶装置４２０は、上述の記憶装置１２０（図５参照）の一例である。
【０１２４】
制御回路４０１は、たとえば、少なくとも１つの集積回路によって構成される。集積回路は、たとえば、少なくとも１つのＣＰＵ、少なくとも１つのＧＰＵ、少なくとも１つのＡＳＩＣ、少なくとも１つのＦＰＧＡ、またはそれらの組み合わせなどによって構成され得る。
【０１２５】
制御回路４０１は、制御プログラム４２２などの各種プログラムを実行することで情報処理装置４０の動作を制御する。制御回路４０１は、各種プログラムの実行命令を受け付けたことに基づいて、補助記憶装置４２０またはＲＯＭ４０２からＲＡＭ４０３に実行対象のプログラムを読み出す。ＲＡＭ４０３は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
【０１２６】
通信インターフェイス４０４には、ＬＡＮ、ＷＬＡＮ、またはＢｌｕｅｔｏｏｔｈなどを用いた通信を実現するための通信ユニットである。情報処理装置４０は、通信インターフェイス４０４を介して外部機器（たとえば、ＣＮＣユニット３０）とデータをやり取りする。また、情報処理装置４０は、通信インターフェイス４０５を介して外部機器（たとえば、カメラ１４１）と画像データをやり取りする。
【０１２７】
補助記憶装置４２０は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。補助記憶装置４２０は、上述の推移情報１２２（図６参照）と、上述の使用量情報１２４（図７参照）と、制御プログラム４２２などを格納する。これらの格納場所は、補助記憶装置４２０に限定されず、制御回路４０１の記憶領域（たとえば、キャッシュメモリなど）、ＲＯＭ４０２、ＲＡＭ４０３、外部機器（たとえば、サーバー）などに格納されていてもよい。
【０１２８】
なお、制御プログラム４２２は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う工作機械１００の趣旨を逸脱するものではない。さらに、本実施の形態に従う制御プログラム４２２によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、工作機械１００とサーバーとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも１つのサーバーが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態で情報処理装置４０が構成されてもよい。
【０１２９】
＜Ｉ．工作機械１００の制御フロー＞
次に、図１４を参照して、工作機械１００の制御構造について説明する。図１４は、工作機械１００の制御部５０が実行する処理の一部を示すフローチャートである。
【０１３０】
図１４に示される処理の一部または全部は、上述の制御プログラム２２２（図１１参照）、上述の制御プログラム３２２（図１２参照）、または上述の制御プログラム４２２（図１３参照）に実装される。他の局面において、図１４に示される処理の一部または全部が、回路素子またはその他のハードウェアに実装されてもよい。
【０１３１】
ステップＳ１５０において、制御部５０は、測定処理の実行判断のタイミングが到来したか否かを判断する。当該タイミングは、ワークの加工が行われていない空き時間に到来する。一例として、当該タイミングは、主軸１３２が停止しているときの一タイミングであってもよいし、加工完了後に工具をマガジン１７０に収納するタイミングであってもよい。制御部５０は、測定処理の実行判断のタイミングが到来したと判断した場合（ステップＳ１５０においてＹＥＳ）、制御をステップＳ１５２に切り替える。そうでない場合には（ステップＳ１５０においてＮＯ）、制御部５０は、図１４に示される処理を終了する。
【０１３２】
ステップＳ１５２において、制御部５０は、上述の推移情報取得部５２（図５参照）として機能し、上述の推移情報１２２を取得する。推移情報１２２については図６で説明した通りであるので、その説明については繰り返さない。
【０１３３】
ステップＳ１５４において、制御部５０は、上述の推定部５６（図５参照）として機能し、上述の使用量情報１２４を参照して、測定対象の工具について総使用時間を取得する。使用量情報１２４については図７で説明した通りであるので、その説明については繰り返さない。
【０１３４】
ステップＳ１５６において、制御部５０は、上述の推定部５６として機能し、ステップＳ１５２を参照して、ステップＳ１５４で取得した現総使用量に対応する現摩耗量を推定結果として取得する。推定部５６の機能については上述の通りであるので、その説明については繰り返さない。
【０１３５】
ステップＳ１６０において、制御部５０は、上述の実行判断部５８（図５参照）として機能し、ステップＳ１５６で取得した推定結果としての現摩耗量が所定閾値「ｔｈ１」（図８参照）を超えているか否かを判断する。制御部５０は、現摩耗量が所定閾値「ｔｈ１」を超えていると判断した場合（ステップＳ１６０においてＹＥＳ）、制御をステップＳ１６２に切り替える。そうでない場合には（ステップＳ１６０においてＮＯ）、図１４に示される処理を終了する。
【０１３６】
ステップＳ１６２において、制御部５０は、測定部１４０による測定処理を実行する。当該測定処理については上述の通りであるので、その説明については繰り返さない。ステップＳ１６２による測定処理により、実測値としての工具摩耗量が得られる。
【０１３７】
ステップＳ１７０において、制御部５０は、ステップＳ１６２での測定処理により得られた現摩耗量が所定閾値「ｔｈ２」（図８参照）を超えているか否かを判断する。当該所定閾値「ｔｈ２」は、上記所定閾値「ｔｈ１」よりも大きい。制御部５０は、現摩耗量が所定閾値「ｔｈ２」を超えていると判断した場合（ステップＳ１７０においてＹＥＳ）、制御をステップＳ１７２に切り替える。そうでない場合には（ステップＳ１７０においてＮＯ）、制御部５０は、制御をステップＳ１７４に切り替える。
【０１３８】
ステップＳ１７２において、制御部５０は、上述の第１異常処理部６０（図５参照）として機能し、所定の第１異常対処処理を実施する。第１異常処理部６０の機能については上述の通りであるので、その説明については繰り返さない。
【０１３９】
ステップＳ１７４において、制御部５０は、上述の許容範囲取得部６２（図５参照）として機能し、上述の推移情報１２２（図９参照）を参照して、ステップＳ１５４で取得した現総使用量に対応する許容範囲を取得する。許容範囲取得部６２の機能については上述の通りであるので、その説明については繰り返さない。
【０１４０】
ステップＳ１８０において、制御部５０は、ステップＳ１６２での測定処理により得られた測定結果の現摩耗量が、ステップＳ１７４で得られた許容範囲外であるか否かを判断する。制御部５０は、測定結果の現摩耗量が許容範囲外であると判断した場合（ステップＳ１８０においてＹＥＳ）、制御をステップＳ１８２に切り替える。そうでない場合には（ステップＳ１８０においてＮＯ）、図１４に示される処理を終了する。
【０１４１】
ステップＳ１８２において、制御部５０は、上述の第２異常処理部６４（図５参照）として機能し、所定の第２異常対処処理を実施する。第２異常処理部６４の機能については上述の通りであるので、その説明については繰り返さない。
【０１４２】
＜Ｊ．まとめ＞
以上のようにして、工作機械１００は、工具摩耗量の過去の推移を参考にして、現在の工具に対する工具摩耗量の測定処理が必要か否かを判断する。そして、工作機械１００は、工具摩耗量の測定処理が必要と判断した場合にのみ、工具摩耗量の測定処理を実行する。これにより、測定部１４０による測定処理の実行回数が減り、かつ、工具の交換時期を逃す可能性が低減する。
【０１４３】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【０１４４】
２０  操作盤、３０  ＣＮＣユニット、４０  情報処理装置、５０  制御部、５２  推移情報取得部、５４  監視部、５６  推定部、５８  実行判断部、６０  第１異常処理部、６２  許容範囲取得部、６４  第２異常処理部、６６  更新部、１００  工作機械、１１０Ａ  回転駆動部、１１０Ｂ  位置駆動部、１１１Ｂ，１１１Ｃ，１１１Ｘ，１１１Ｙ，１１１Ｚ  サーボドライバ、１２０  記憶装置、１２２  推移情報、１２３  許容範囲、１２３Ａ  下限、１２３Ｂ  上限、１２４  使用量情報、１２６  工具使用履歴、１３０  主軸頭、１３１  主軸筒、１３２  主軸、１３４  工具、１４０  測定部、１４１  カメラ、１４２  対物レンズ、１４５，１４７  光源、１６０  ＡＴＣ、１７０  マガジン、２０１，３０１，４０１  制御回路、２０２，３０２，４０２  ＲＯＭ、２０３，３０３，４０３  ＲＡＭ、２０４，３０４，３０５，４０４，４０５  通信インターフェイス、２０５  ディスプレイ、２０６  操作キー、２２０，３２０，４２０  補助記憶装置、２２２，３２２，４２２  制御プログラム、３０６  フィールドバスコントローラ、３２３  加工プログラム、３２６  工具情報。
【要約】
【課題】工具摩耗量の測定処理を適切なタイミングで実行するための技術を提供する。
【解決手段】工作機械は、工具を装着することが可能な主軸と、主軸に装着されている工具の摩耗量を測定するための測定部と、工作機械を制御するための制御部とを備える。制御部は、第１工具の総使用量に応じた第１工具の摩耗量の推移を示す推移情報を取得する処理と、第１工具と同種の第２工具が主軸に装着されている場合に、推移情報と、第２工具の現総使用量とに基づいて、測定部による第２工具の摩耗量の測定処理を実行するか否かを判断する処理と、測定部による測定結果が異常を示す場合に、所定の第１異常対処処理を実施する処理と、を実行する。
【選択図】図４【図１】
0006966604.tif 000002
【図２】
0006966604.tif 000003
【図３】
0006966604.tif 000004
【図４】
0006966604.tif 000005
【図５】
0006966604.tif 000006
【図６】
0006966604.tif 000007
【図７】
0006966604.tif 000008
【図８】
0006966604.tif 000009
【図９】
0006966604.tif 000010
【図１０】
0006966604.tif 000011
【図１１】
0006966604.tif 000012
【図１２】
0006966604.tif 000013
【図１３】
0006966604.tif 000014
【図１４】
0006966604.tif 000015