(57)【要約】【課題】刃具の異常の検出の精度を向上させること。【解決手段】実施形態の検出装置は、加工装置のモータの負荷の単位時間当たりの変動幅を算出する処理部と、前記変動幅と第１しきい値との比較に基づいて前記加工装置の刃具の異常を判定する判定部と、を備える。【選択図】図１
2020157447.tif 000002
【特許請求の範囲】
【請求項１】
加工装置のモータの負荷の単位時間当たりの変動幅を算出する処理部と、
前記変動幅と第１しきい値との比較に基づいて前記加工装置の刃具の異常を判定する判定部と、
を備える検出装置。
【請求項２】
前記第１しきい値は、第２しきい値を含み、
前記判定部は、
前記変動幅が前記第２しきい値を超えた場合に、前記刃具の異常が発生したと判定する、
請求項１に記載の検出装置。
【請求項３】
前記第１しきい値は、第２しきい値を含み、
前記判定部は、
前記変動幅が前記第２しきい値を超えた回数が第１の回数を超えた場合に、前記刃具の異常が発生したと判定する、
請求項１に記載の検出装置。
【請求項４】
前記第１しきい値は、第３しきい値を含み、
前記判定部は、
前記変動幅が前記第３しきい値を超えた回数が第２の回数に満たない場合に、前記刃具の異常が発生したと判定する、
請求項１から３の何れか一項に記載の検出装置。
【請求項５】
しきい値設定部と記憶部とをさらに備え、
前記しきい値設定部は、第１の加工サイクルが実行された際に算出された前記変動幅を前記記憶部に記録し、前記第１の加工サイクルよりも後に実行される第２の加工サイクルにおいて使用される前記第１しきい値を前記記憶部に記録された前記変動幅に基づいて算出する、
請求項１から４の何れか一項に記載の検出装置。
【請求項６】
前記第１および第２の加工サイクルは、複数の工程を含み、
前記しきい値設定部は、前記変動幅を工程毎に前記記憶部に記録し、前記第２の加工サイクルの一の工程にかかる前記第１しきい値を、前記記憶部に記録された前記第１の加工サイクルの前記一の工程にかかる前記変動幅に基づいて算出する、
請求項５に記載の検出装置。
【請求項７】
前記加工装置は、各工程を実行する毎に信号を出力し、
前記しきい値設定部は、前記信号に基づいて前記第１しきい値を切り替える、
請求項６に記載の検出装置。
【請求項８】
前記モータに電流を供給する電源に設けられた電流センサをさらに備え、
前記処理部は、前記電流センサの出力信号を前記モータの負荷として取得する、
請求項１から７の何れか一項に記載の検出装置。
【請求項９】
前記処理部は、さらに、前記加工装置の所定位置の振動量を算出し、
前記判定部は、さらに、前記振動量と第４しきい値との比較に基づいて前記加工装置の刃具の異常を判定する、
請求項１から８の何れか一項に記載の検出装置。
【請求項１０】
前記第４しきい値は、第５しきい値を含み、
前記判定部は、
前記振動量が前記第５しきい値を超えた回数が第３の回数を超えた場合に、前記刃具の異常が発生したと判定する、
請求項９に記載の検出装置。
【請求項１１】
前記第４しきい値は、第６しきい値を含み、
前記判定部は、
前記振動量が前記第６しきい値を超えた回数が第４の回数に満たない場合に、前記刃具の異常が発生したと判定する、
請求項９または１０に記載の検出装置。
【請求項１２】
前記加工装置の前記所定位置に設けられた振動センサをさらに備え、
前記処理部は、前記振動センサの出力信号を取得して、前記取得した出力信号に対してノイズ成分を除去する処理を行うことによって前記振動量を算出する、
請求項９から１１の何れか一項に記載の検出装置。
【請求項１３】
被加工材料または前記被加工材料を切削する刃具を回転させるモータと、
前記モータの負荷を検出する負荷センサと、
前記負荷の単位時間当たりの変動幅を算出する処理部と、
前記変動幅としきい値との比較に基づいて前記刃具の異常を判定する判定部と、
を備える加工装置。
【請求項１４】
コンピュータに、
加工装置のモータの負荷の単位時間当たりの変動幅を算出する手順と、
前記変動幅としきい値との比較に基づいて前記加工装置の刃具の異常を判定する手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、検出装置、加工装置、およびプログラムに関する。
【背景技術】
【０００２】
従来、ＮＣ（数値制御）複合旋盤、ＮＣフライス盤、マシニングセンタなどの加工装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開第４５６９４９４号公報
【特許文献２】特開２０１５−１９９１９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したような加工装置に関しては、材料を加工する刃具の異常を出来るだけ高い精度で検出する技術の開発が要望される。
【課題を解決するための手段】
【０００５】
実施形態の検出装置は、加工装置のモータの負荷の単位時間当たりの変動幅を算出する処理部と、前記変動幅と第１しきい値との比較に基づいて前記加工装置の刃具の異常を判定する判定部と、を備える。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１の実施形態の加工システムの構成を模式的かつ例示的に示した図である。
【図２】図２は、第１の実施形態の制御装置のハードウェア構成例を説明するための図である。
【図３】図３は、第１の実施形態の各モータに流れる電流の推移を示す模式的かつ例示的な図である。
【図４】図４は、第１の実施形態の電流センサの出力信号から算出された、刃物を回転させるモータに流れる電流の大きさの推移の例を示す図である。
【図５】図５は、第１の実施形態の刃物を回転させるモータに流れる電流の単位時間当たりの変動幅の推移の例を示す図である。
【図６】図６は、第１の実施形態と比較される例について説明するための図である。
【図７】図７は、第１の実施形態の電流センサの出力信号から算出された、刃物を回転させるモータに流れる電流の大きさの推移の別の例を示す図である。
【図８】図８は、第１の実施形態の刃物を回転させるモータに流れる電流の単位時間当たりの変動幅の推移の別の例を示す図である。
【図９】図９は、第１の実施形態の加工装置の加工時の振動の時間変化を示す模式的かつ例示的な図である。
【図１０】図１０は、図９に示される信号に対して第１の実施形態のスペクトルサブトラクションを実行することによって得られた信号を示す図である。
【図１１】図１１は、第１の実施形態の振動量としきい値との関係を示す図である。
【図１２】図１２は、制御装置と第１の実施形態の検出装置との間で送受信される信号の具体例を説明するための図である。
【図１３】図１３は、第１の実施形態の監視装置のハードウェア構成例を説明するための図である。
【図１４】図１４は、第１の実施形態の検出装置の動作の概要を説明するためのフローチャートである。
【図１５】図１５は、第１の実施形態の電流変動幅を取得する動作を説明するためのフローチャートである。
【図１６】図１６は、第１の実施形態の振動量を取得する動作を説明するためのフローチャートである。
【図１７】図１７は、第２の実施形態の制御装置のハードウェア構成例を説明するための図である。
【発明を実施するための形態】
【０００７】
（第１の実施形態）
図１は、第１の実施形態の加工システムの構成を模式的かつ例示的に示した図である。加工システム１は、加工装置２００に検出装置１００が取り付けられた構成を有している。加工装置２００は、例えば、ＮＣ複合旋盤、ＮＣフライス盤、またはマシニングセンタなどである。
【０００８】
加工装置２００は、複数の電源２０１と、複数のモータ２０２と、制御装置２０３と、を備えている。ここでは一例として、加工装置２００は、複数の電源２０１として２つの電源２０１ａ、２０１ｂを備える。また、加工装置２００は、複数のモータ２０２として２つのモータ２０２ａ、２０２ｂを備える。
【０００９】
モータ２０２ａは、電源２０１ａから供給される電力を用いて被加工材料３００を回転させる。また、モータ２０２ｂは、電源２０１ｂから供給される電力を用いて刃具４００を回転させる。
【００１０】
制御装置２０３は、例えば数値制御装置である。制御装置２０３は、加工プログラムに基づいて、加工の動作を制御する。加工の動作の制御は、具体的には、モータ２０２ａおよびモータ２０２ｂの回転角度または回転速度の制御を少なくとも含む。なお、加工の動作の制御は、さらに、被加工材料３００または刃具４００の送り、刃具４００の交換、またはその他の任意の動作の制御を含み得る。
【００１１】
制御装置２０３は、プログラムを実行可能なコンピュータと同等のハードウェア構成を有している。つまり、制御装置２０３は、図２に例示されるように、プロセッサ２０、不揮発性メモリ２１、および入出力インタフェース２２を備えている。
【００１２】
入出力インタフェース２２は、制御装置２０３が外部機器と通信を行うためのハードウェアである。入出力インタフェース２２は、外部機器と有線で通信するものであってもよいし、無線で通信するものであってもよい。ここでは、入出力インタフェース２２には、各モータ２０２と、検出装置１００とが接続される。
【００１３】
プロセッサ２０は、プログラムを実行可能なハードウェア（回路）である。プロセッサ２０は、例えばＣＰＵ（Central  Processing  Unit）である。
【００１４】
不揮発性メモリ２１は、例えば、ＲＯＭ（Read  Only  Memory）、磁気ディスクドライブ、フラッシュメモリ、またはこれらの組み合わせによって構成される。なお、不揮発性メモリ２１の種類は、これらに限定されない。不揮発性メモリ２１には、加工プログラム２３が格納されている。プロセッサ２０は、加工プログラム２３を実行することによって、加工動作の制御を実現する。
【００１５】
例えば、プロセッサ２０は、加工プログラム２３に記述された命令に基づいて各モータ２０２への指令を演算し、演算によって得られた指令を入出力インタフェース２２を介して各モータ２０２に送信する。指令は、例えば、位置指令、速度指令、またはその他の指令である。
【００１６】
加工装置２００は、同一の形状の複数の部品を作成することができる。１つの部品を作成する一連の加工処理を、加工サイクルと表記することがある。加工サイクルは、複数の工程を含む。つまり、加工装置２００は、複数の工程からなる加工サイクルを、部品毎に実行する。なお、加工サイクルは、１つの工程によって構成されてもよい。
【００１７】
工程は、例えば、刃具と加工条件との組み合わせとして定義される。加工条件は、送り速度、モータ２０２ａの回転速度、またはモータ２０２ｂの回転速度などである。
【００１８】
加工プログラム２３には、例えば、１つの加工サイクルに含まれる全ての工程を実現するための複数の命令が記述されている。
【００１９】
加工プログラム２３には、さらに、加工の進捗に応じて信号を出力する信号出力プログラム２４が含まれている。プロセッサ２０は、信号出力プログラム２４に基づき、上記信号を出力する。信号出力プログラム２４によって出力される信号については後述する。
【００２０】
なお、加工装置２００によって複数の部品を作成する方法は、特定の方法に限定されない。一例では、被加工材料３００は、モータ２０２ａの軸方向に延びる円筒の形状を有している。加工装置２００は、被加工材料３００から刃具４００を用いて部品を作成すると、その部品を被加工材料３００から切り離す。そして、加工装置２００は、被加工材料３００の残った部分を刃具４００側に繰り出して、被加工材料３００の繰り出された部分から次の部品を作成する。
【００２１】
加工装置２００には、２つの電流センサ５００（電流センサ５００ａ、５００ｂ）が設けられている。電流センサ５００ａは、モータ２０２ａに供給される電流値に対応した信号を出力する。電流センサ５００ｂは、電源２０１ｂからモータ２０２ｂに供給される電流値に対応した信号を出力する。
【００２２】
電流センサ５００ａは、電源２０１ａまたはモータ２０２ａに取り付けられている。電流センサ５００ｂは、電源２０１ｂまたはモータ２０２ｂに取り付けられている。
【００２３】
また、加工装置２００には、２つの振動センサ６００（振動センサ６００ａ、６００ｂ）が設けられている。振動センサ６００ａは、被加工材料３００の振動の度合いを示す信号を出力する。振動センサ６００ｂは、刃具４００の振動の度合いを示す信号を出力する。
【００２４】
振動センサ６００ａは、被加工材料３００の加工の際にもたらされる被加工材料３００の振動の度合いに対応した量を測定できる限り、任意の位置に設けられ得る。振動センサ６００ａは、例えば、被加工材料３００の軸を回転自在に支持する鋳物に取り付けられ得る。
【００２５】
同様に、振動センサ６００ｂは、刃具４００が被加工材料３００を加工する際にもたらされる刃具４００の振動の度合いに対応した量を測定できる限り、任意の位置に設けられ得る。振動センサ６００ｂは、例えば、刃具４００の軸を回転自在に支持する鋳物に取り付けられる。
【００２６】
各振動センサ６００の種類は、特定の種類に限定されない。変位センサ、速度センサ、加速度センサ、またはこれらの他の任意の種類のセンサが各振動センサ６００として採用され得る。つまり、各振動センサ６００によって振動の度合いに対応した量として出力される信号は、変位量、速度値、加速度値、または他の任意の種類の物理量である。
【００２７】
なお、軸を固定する鋳物に振動センサ６００が設けられる場合、振動センサ６００は、切削位置に供給される油、切削位置から発生する切粉、または加工装置２００の固有の振動の影響を受け難いため、対応する対象物（被加工材料３００または刃具４００）の振動の度合いを精度よく測定することができる。
【００２８】
なお、ＮＣ複合旋盤に第１の実施形態が適用される場合、加工装置２００は、モータ２０２ｂ、電源２０１ｂ、および刃具４００を、複数セット備え得る。その場合には、電流センサ５００ｂおよび振動センサ６００ｂは、モータ２０２ｂ毎に設けられ得る。
【００２９】
なお、電流センサ５００ｂは、必ずしもモータ２０２ｂ毎に設けられなくてもよい。複数のモータ２０２ｂのうちのいくつかに対して電流センサ５００ｂが設けられてもよい。また、振動センサ６００ｂは、必ずしもモータ２０２ｂ毎に設けられなくてもよい。複数のモータ２０２ｂのうちのいくつかに対して振動センサ６００ｂが設けられてもよい。
【００３０】
検出装置１００は、刃具４００の異常の検出を行う。以下に、検出装置１００によって刃具４００の異常を検出する処理の概要を、具体例を用いて説明する。
【００３１】
一般に、刃具４００に折損などの異常が発生した場合、モータ２０２に通常と異なる負荷がかかる。第１の実施形態では、モータ２０２にかかる負荷を示す量として、モータ２０２に流れる電流を使用する。つまり、検出装置１００は、モータ２０２に流れる電流を監視することによって、刃具４００の異常を検出する。
【００３２】
図３は、第１の実施形態の各モータ２０２に流れる電流の推移を示す模式的かつ例示的な図である。なお、推移とは、時間変化のことである。波形１０００は、電流センサ５００ａが出力した信号を示したものである。また、波形１００１は、電流センサ５００ｂが出力した信号を示したものである。
【００３３】
各電流センサ５００によって得られる信号は、対応するモータ２０２の電流の瞬間値を示している。モータ２０２が交流モータである場合、モータ２０２の電流の瞬間値は、略正弦波で推移するため、そのままではモータ２０２の電流の大きさを示す信号として扱い難い。略正弦波で推移する信号の大きさは、実効値、平均値、包絡線、などをによって表すことができる。
【００３４】
ここでは一例として、平均値によって電流の大きさを表すこととする。具体的には、検出装置１００は、各電流センサ５００の出力信号に対し、絶対値の算出と、移動平均の算出と、を実行する。これによって、各電流センサ５００の出力信号、つまり電流の瞬間値を示す信号は、電流の大きさを示す信号に変換される。
【００３５】
なお、電流の大きさを表す方法は、平均値だけに限定されない。電流の大きさは、実効値または包絡線などによって表されてもよい。
【００３６】
図４は、第１の実施形態の電流センサ５００ｂの出力信号から算出されたモータ２０２ｂに流れる電流の大きさの推移の例を示す図である。本図の波形１００２は、図３に示される期間２０００における電流の大きさの推移を示している。
【００３７】
期間２０００では、被加工材料３００の切削が複数回に分けて実行される、いわゆるステップ加工が実行されている。期間２００２、期間２００４、および期間２００６のそれぞれは、刃具４００によって被加工材料３００が切削された期間（カット期間）を示している。期間２０００内の、期間２００２、期間２００４、および期間２００６を除く期間（期間２００１、２００３、２００５、２００７）は、モータ２０２ｂが回転しているが被加工材料３００が切削されていない期間（エアカット期間）を示している。モータ２０２ｂの回転速度は、期間２０００において一定に制御されている。
【００３８】
そして、図４に示される波形１００２の例では、期間２００６のタイミングｔ１において、刃具４００が折損し、これによってモータ２０２ｂに流れる電流が瞬間的に増加している。つまり、タイミングｔ１において電流の変動値のピークが発生している。
【００３９】
検出装置１００は、電流の単位時間当たりの変動幅を求め、電流の単位時間あたりの変動幅としきい値とを比較する。これによって、刃具４００の異常の発生を示す電流の変動、および刃具４００によって被加工材料３００が切削された期間（カット期間）の有無を検出する。
【００４０】
具体的には、検出装置１００は、まず、電流の大きさの時間変動量を精度良く捉えるために、当該電流のサンプリング周期よりも十分大きなサンプリング周期でリサンプリングを実行する。例えば、電流の大きさを示す信号のサンプリング周期が０．０００１秒程度である場合に、０．１秒〜０．５秒程度の時間間隔でリサンプリングが実行される。検出装置１００は、リサンプリングによって得られた一連のデータのうちの連続する所定数のデータの最大値から最小値を減算し、減算によって得られた値を、単位時間当たりの電流の変動幅を示す値とする。このようにして求めた単位時間当たりの電流の変動幅を、以降では、電流変動幅と表記する。
【００４１】
図４の各ドットは、リサンプリングポイントを示している。検出装置１００は、例えば、リサンプリングによって連続して取得された３つのデータのうちの最大値から最小値を減算し、減算によって得られた値を、その３つのデータが取得された区間の電流変動幅とする。検出装置１００は、区間の開始ポイントを１つずつずらしながら電流変動幅を順次実行することで、電流変動幅の推移を取得する。図５は、このような処理によって得られた電流変動幅の推移を示す図である。
【００４２】
図５の波形１００４は、連続する３つのデータからなる各区間の電流変動幅を示している。本図に示されるように、電流変動幅は、電流が大きく変化するタイミングで大きくなる。具体的には、カット期間（例えば期間２００２、２００４、２００６）の開始および終了のタイミングにおいてピークが形成される。刃具４００が折損したタイミングｔ１においては、上記各期間の開始および終了のタイミングに観察されたピークよりも大きいピークが形成されている。なお、刃具４００の折損の後は、カット期間である期間２００６の終了のタイミングに観察されるべきピークが発生しない。
【００４３】
検出装置１００は、電流変動幅としきい値Ｔｈ１との比較に基づいて刃具４００の異常を検出する。例えば、刃具４００に異常がない場合には電流変動幅は超えないが、刃具４００に異常が生じた場合には電流変動幅が超える値が、しきい値Ｔｈ１として設定される。つまり、刃具４００に異常がない場合に生じる電流変動幅のピークが分布する範囲の上限に対応する値が、しきい値Ｔｈ１として設定され得る。
【００４４】
図５の例では、検出装置１００は、電流変動幅がしきい値Ｔｈ１を超えたことを検出する。すると、検出装置１００は、刃具４００の異常が発生したと判定する。
【００４５】
なお、上記した第１の実施形態の方法と比較される方法として、モータを流れる電流と所定のしきい値とを比較する方法が考えられる。この方法を、比較例１の方法と表記する。
【００４６】
比較例１の方法によれば、モータを流れる電流がほぼ一定であるシステムにおいては、刃具の異常を高い精度で検出することができる。しかしながら、モータを流れる電流は、刃具に異常が無くても、過渡的に変化する場合がある。モータを流れる電流が過渡的に変化するシステムに比較例１の方法を適用した場合、刃具の異常の検出の精度が劣化する。
【００４７】
例えば図６において、エアカット期間（期間２００１、２００３、２００５、２００７）、またはカット期間（期間２００２、２００４、２００６）のいずれかに着目すると、モータ２０２ｂの回転数が一定であるにも関わらず、モータ２０２ｂに流れる電流が時間とともに減少している。
【００４８】
そして、タイミングｔ１に発生したピークを検出するために、例えばＴｈ１１をしきい値として設定した場合、期間２００２および期間２００４において刃具４００に異常が発生していないにもかかわらず電流がしきい値Ｔｈ１１を超える。即ち、期間２００２および期間２００４において誤って異常が検出されてしまう。また、期間２００２や期間２００４において刃具４００の正常が異常と判定されてしまう誤検出を防止するためにＴｈ１１よりも大きいＴｈ１２をしきい値として設定した場合、タイミングｔ１において発生した刃具４００の異常を検出することができない。
【００４９】
つまり、モータを流れる電流が過渡的に変化する場合に比較例１の方法が適用された場合、刃具の正常を異常と誤検出したり、刃具の異常を正常と誤検出したりすることが起こりうる。
【００５０】
実施形態では、モータを流れる電流の変動幅をしきい値との比較の対象とするので、モータを流れる電流の過渡的な変化の影響を小さくしながら、刃具４００の異常の発生に起因する電流の瞬間的な変動を捉えることができる。これによって、モータを流れる電流が過渡的に変化する場合において、刃具の正常が異常と判定される誤検出の発生および刃具の異常が正常と判定される誤検出の発生を抑制することができる。
【００５１】
なお、図５に例示されるように、実施形態では、しきい値Ｔｈ１に加えて、しきい値Ｔｈ２が使用され得る。例えば、刃具４００に異常がない場合には電流変動幅が超えるが、刃具４００に異常が生じた以降は電流変動幅が超えない値が、しきい値Ｔｈ２として設定され得る。つまり、刃具４００に異常がない場合に生じる電流変動幅のピークが分布する範囲の下限に対応する値が、しきい値Ｔｈ２として設定され得る。
【００５２】
刃具４００が折損した状態で期間２０００の加工が続行された場合、刃具４００は被加工材料３００に切り込むことができないため、モータ２０２ｂは、切削による負荷を受けない。よって、例えば図４における波形１００３に示されるように、モータ２０２ｂを流れる電流は、あたかも期間２００１〜期間２００７の全部がエアカット期間であるかのような推移を示す。つまり、モータ２０２ｂを流れる電流は、カット期間に相当する期間２００２、２００４、２００６の何れにおいても大きく変化することなく、比較的に穏やかに推移する。
【００５３】
図５における波形１００５は、図４における波形１００３が示す電流の推移に基づいて算出された電流変動幅の推移を示している。波形１００５から、刃具４００が正常な状態で加工が実行された場合には電流変動幅が何回かしきい値Ｔｈ２を超えるが、刃具４００が折損した状態で加工が実行された場合には電流変動幅がしきい値Ｔｈ２をいちども超えていないことが読み取れる。検出装置１００は、期間２０００において電流変動幅がしきい値Ｔｈ２をいちども超えなかった場合、刃具４００に異常があると判定することができる。
【００５４】
例えば、切削負荷が大きい工程においては、カット期間の開始タイミングや終了タイミングに生じる電流変動幅のピークの高さが比較的大きく、それによって、刃具４００に異常が発生していない場合に生じるこれらのピークと、刃具４００に異常が発生した際に生じるピークと、を区別することが困難である場合がある。
【００５５】
その場合、しきい値Ｔｈ２を用いた判定が有効である。しきい値Ｔｈ２を用いた判定では、刃具４００に異常が発生していない場合に発生するピークの有無によって異常が検出されるためである。
【００５６】
例えば、前述の図４〜６に示される各波形は、切削負荷が大きい工程が実施される場合の波形を示している。図５の波形１００４の例によれば、刃具４００が折損する時刻ｔ１までは、カット期間の開始タイミングと終了タイミングとにおいて、刃具４００が折損した際に発生したピークと同様に、大きなピークが発生している。
【００５７】
波形１００４の例では、カット期間の開始タイミングおよび終了タイミングに発生するピークと、刃具４００に異常が発生した場合に発生するピークと、がしきい値Ｔｈ１によって区別できている。しかしながら、切削負荷がさらに大きくなると、カット期間の開始タイミングおよび終了タイミングに発生するピークと、刃具４００に異常が発生した場合に発生するピークと、の差がさらに小さくなり、しきい値Ｔｈ１によって両者を区別することが困難になる。
【００５８】
その反面、切削負荷が大きい工程においては、カット期間の開始タイミングおよび終了タイミングに発生するピークが大きいことから、しきい値Ｔｈ２を用いれば、カット期間の開始タイミングおよび終了タイミングに発生するピークの有無を容易に検出できる。そして、カット期間の開始タイミングおよび終了タイミングに発生するピークが無いことは、刃具４００に異常が発生したことを意味する。つまり、切削負荷が大きい工程においては、しきい値Ｔｈ２を用いれば、刃具４００の異常を容易に検出できる。
【００５９】
例えば、波形１００４は、しきい値Ｔｈ２を何回か超えているが、波形１００５は、しきい値Ｔｈ２を一度も超えていない。よって、波形１００４が観測された期間では、刃具４００にすでに異常が発生していることがわかる。
【００６０】
切削負荷が大きい工程の場合とは逆に、刃具４００が小径刃物である場合のように切削負荷が小さい工程においては、カット期間の開始タイミングや終了タイミングに生じる電流変動幅のピークが比較的小さい。よって、刃具４００に異常が発生していない場合に生じるピークの有無を検出することが困難である場合がある。
【００６１】
その場合、しきい値Ｔｈ１を用いた判定が有効である。刃具４００に異常が発生していない場合に生じるピークの高さが小さい場合、刃具４００に異常が発生していない場合に生じるピークと、刃具４００に異常が発生した際に生じるピークと、を区別することが容易であるためである。
【００６２】
図７は、第１の実施形態の電流センサ５００ｂの出力信号から算出されたモータ２０２ｂに流れる電流の大きさの推移の別の例を示す図である。波形１１００は、切削負荷が小さい工程が実施された場合のモータ２０２ｂに流れる電流の大きさの推移を示している。期間２２００および期間２２０２は、エアカット期間であり、期間２２０１は、切削負荷が小さい工程が実施されたカット期間である。
【００６３】
図７に示されるように、カット期間２２０１の開始タイミングおよび終了タイミングにおいては、電流の大きさの変動が図４に示した切削負荷が大きい場合に比べて目立たなくなっている。これは、切削負荷が小さい場合には、エアカット期間とカット期間とでモータ２０２ｂの負荷の差が小さいためである。
【００６４】
図７の例では、カット期間２２０１のタイミングｔ３において刃具４００が折損し、これによってモータ２０２ｂに流れる電流が瞬間的に増加している。つまり、タイミングｔ３において電流の変動値のピークが発生している。
【００６５】
図８は、第１の実施形態の刃物４００を回転させるモータ２０２ｂに流れる電流の単位時間当たりの変動幅の推移の別の例を示す図である。波形１１０１は、図７に示される波形１１００から得られた、電流変動幅の推移を示す波形である。
【００６６】
カット期間２２０１の開始タイミングおよび終了タイミングにおいては、電流の変動が小さいことから、波形１１０１によれば、これらのタイミングにおいては、有意なピークが観察されていない。したがって、カット期間２２０１の開始タイミングおよび終了タイミングにおけるピークをしきい値Ｔｈ２を用いて検出することが非常に困難である。このことは、しきい値Ｔｈ２を用いた異常の判定は困難であることを意味する。
【００６７】
その反面、タイミングｔ３では、刃具４００に発生した異常によって、電流変動幅の大きなピークが発生している。カット期間２２０１の開始タイミングおよび終了タイミングにおけるピークが非常に小さく、刃具４００に異常が発生した際に発生するピークが大きいので、しきい値Ｔｈ１を使用することによって、刃具４００に異常が発生した際に発生するピークを高い精度で検出できる。
【００６８】
このように、実施形態では、電流変動幅に対して２種類のしきい値Ｔｈ１，Ｔｈ２を用いた判定が可能となっている。電流変動幅に対して２種類のしきい値Ｔｈ１，Ｔｈ２を用いた判定を行えば、切削負荷に関係なく刃具４００の異常を高精度に検出することが可能である。
【００６９】
なお、上記の説明では、検出装置１００は、電流変動幅がしきい値Ｔｈ２をいちども超えなかった場合、刃具４００に異常が発生したと判定するとした。しきい値Ｔｈ２を用いた異常の判定方法はこれに限定されない。
【００７０】
例えば、刃具４００が正常あるときに電流変動幅がしきい値Ｔｈ２を超える回数がＭ回であることが予め分かっている場合、検出装置１００は、電流変動幅がしきい値Ｔｈ２を超える回数がＮ回に満たない場合に、刃具４００の異常が発生したと判定してもよい。ただし、Ｎは１以上かつＭ以下の整数である。
【００７１】
実施形態では、検出装置１００は、Ｎが設定可能に構成される。Ｎとして１が設定された場合、電流変動幅がしきい値Ｔｈ２をいちども超えなかった場合、刃具４００に異常が発生したと判定される。
【００７２】
実施形態では、検出装置１００は、刃具４００の異常を、モータ２０２に流れる電流だけでなく、振動に基づいて検出することができる。刃具４００に折損などの異常が発生した場合、刃具４００、被加工材料３００、またはその両方に大きな衝撃が発生し、その衝撃は、大きな振動となって周囲に伝播する。検出装置１００は、この振動の度合いを測定し、振動の度合いに応じて刃具４００の異常を検出する。
【００７３】
図９は、加工時の振動の時間変化を示す模式的かつ例示的な図である。本図に示される振動は、何れかの振動センサ６００によって測定されたものである。本図において、振動とは、加速度である。
【００７４】
図９における波形１０１０は、エアカット期間である期間２１００、カット期間である期間２１０１、およびエアカット期間である期間２１０２がこの順番で到来する期間において振動センサ６００から出力された信号が示されている。本図に示される例によれば、全期間にわたって波形１０１０に大きなノイズが含まれており、そのままの状態では刃具４００の異常の検出が困難である。
【００７５】
そこで、検出装置１００は、まず、振動センサ６００の出力信号（波形１０１０）に対してノイズ成分を除去するためのフィルタ処理を実行する。ノイズ成分を除去するためのフィルタ処理としては、スペクトルサブトラクションが知られている。実施形態では、一例として、スペクトルサブトラクションが実行される。
【００７６】
具体的には、検出装置１００は、エアカット期間（例えば期間２１００）における振動センサ６００の出力信号から振動のスペクトルを求め、求めた振動のスペクトルをノイズ成分に対応したスペクトルとする。振動のスペクトルは、例えば振動センサ６００の出力信号をフーリエ変換することによって算出することができる。続いて、検出装置１００は、カット期間（例えば期間２１０１）における振動の検出値から振動のスペクトルを求め、求めた振動のスペクトルからノイズ成分に対応したスペクトルを減算する。検出装置１００は、減算によって得られたスペクトルを、逆フーリエ変換などによって、振動を示す信号に復元する。これによって、ノイズ成分が除去された振動を示す信号が得られる。
【００７７】
なお、ノイズ成分を除去する方法は、スペクトルサブトラクションだけに限定されない。検出装置１００は、任意の方法で振動センサ６００の出力信号からノイズ成分を除去することができる。
【００７８】
また、ノイズ成分は、時間とともに変化する可能性がある。よって、検出装置１００は、例えば、対象のカット期間に時間的に近いエアカット期間からノイズ成分（ノイズ成分に対応したスペクトル）を取得する。一例として、検出装置１００は、所定時間前までに実行されたエアカット期間からノイズ成分を取得する。
【００７９】
図１０は、図９に例示される振動センサ６００の出力信号に対してスペクトルサブトラクションを実行することによって得られた信号を示す図である。本図に示されるように、カット期間である期間２１０１においては、直前のエアカット期間である期間２１００にくらべて振動が大きくなっている。そして、タイミングｔ２においては、刃具４００が折損し、これによって、特に大きな振動が検出されている。
【００８０】
検出装置１００は、ノイズ成分が除去された後の信号に対して絶対値の算出を実行する。そして、検出装置１００は、絶対値の算出によって得られた信号と、しきい値と、の比較に基づいて刃具４００の異常の発生を検出する。なお、振動センサ６００の出力信号からノイズ成分が除去され、その後に絶対値が算出されることによって得られた信号を、振動量と表記する。
【００８１】
図１１は、振動量としきい値との関係を示す図である。本図に示されるように、振動量に対するしきい値として、しきい値Ｔｈ３およびしきい値Ｔｈ４が使用され得る。
【００８２】
しきい値Ｔｈ３としては、例えば、刃具４００に異常がない場合には振動量は超えないが、刃具４００に異常が生じた場合には振動量が超える値が、設定され得る。即ち、刃具４００に異常がない場合に発生するピークが分布する範囲の上限に対応する値が、しきい値Ｔｈ３として設定され得る。
【００８３】
検出装置１００は、タイミングｔ２において、振動量がしきい値Ｔｈ３を超えたことを検出する。すると、検出装置１００は、刃具４００の異常が発生したと判定する。
【００８４】
なお、刃具４００に異常が発生していなくても、ノイズの影響により振動量がしきい値Ｔｈ３を超える場合があり得る。そのような場合、上記の判定基準に従えば、刃具４００の正常が異常と判定される誤検出が発生する。刃具４００の正常がノイズの影響によって異常と判定される誤検出を防止するために、検出装置１００は、振動量がしきい値Ｔｈ３を超えた回数に基づいて刃具４００の異常を判定するように構成されてもよい。
【００８５】
例えば、検出装置１００には、１以上の整数がＰとして予め設定される。そして、検出装置１００は、振動量がしきい値Ｔｈ３を超えた回数がＰを超えた場合、刃具４００の異常が発生したと判定する。たとえ振動量がしきい値Ｔｈ３を超えたとしても、振動量がしきい値Ｔｈ３を超えた回数がＰを超えない場合、刃具４００の異常が発生したと判定される条件が満たされないため、刃具４００の正常がノイズの影響によって異常と判定される誤検出を抑制することが可能となる。
【００８６】
実施形態では、検出装置１００は、Ｐが設定可能に構成される。なお、Ｐとして０が設定されてもよい。Ｐとして０が設定された場合、振動量が１回でもしきい値Ｔｈ３を超えた場合に刃具４００に異常が発生したと判定される。
【００８７】
また、例えば、刃具４００に異常がない場合には振動量が超えるが、刃具４００に異常が生じた以降は振動量が超えない値が、しきい値Ｔｈ４として設定され得る。つまり、刃具４００に異常がない場合に発生するピークが分布する範囲の下限に対応する値が、しきい値Ｔｈ４として設定され得る。
【００８８】
検出装置１００は、所定の期間（例えばカット期間を含む工程）において振動量がしきい値Ｔｈ４をいちども超えないことを検出した場合、刃具４００に異常が発生したと判定する。
【００８９】
なお、刃具４００に異常が発生している状況において、ノイズの影響により振動量がしきい値Ｔｈ４を超える場合があり得る。そのような場合、上記の判定基準に従えば、刃具４００の異常が正常と判定される誤検出が発生する。刃具４００の異常がノイズの影響によって正常と判定される誤検出を防止するために、検出装置１００は、振動量がしきい値Ｔｈ４を超えた回数に基づいて刃具４００の異常を判定するように構成されてもよい。
【００９０】
例えば、検出装置１００には、２以上の整数がＱとして設定される。そして、検出装置１００は、所定の期間において振動量がしきい値Ｔｈ４を超えた回数がＱに満たない場合、刃具４００の異常が発生したと判定する。ノイズの影響によって振動量が１回以上しきい値Ｔｈ４を超えたとしても、振動量がしきい値Ｔｈ４を超えた回数がＱ回に満たない場合、刃具４００の異常が発生したと判定されるので、刃具４００の異常がノイズの影響によって正常と判定される誤検出を抑制することができる。
【００９１】
実施形態では、検出装置１００は、Ｑが設定可能に構成される。Ｑとして１が設定されてもよい。Ｑとして１が設定された場合、所定の期間において振動量がしきい値Ｔｈ４をいちども超えないことを検出した場合に、刃具４００に異常が発生したと判定される。
【００９２】
このように、実施形態では、電流変動幅と同様に、振動量に対して２種類のしきい値Ｔｈ３，Ｔｈ４を用いた判定が可能となっている。これによって、切削負荷に関係なく刃具４００の異常を高精度に検出することが可能である。
【００９３】
以降、しきい値Ｔｈ１〜Ｔｈ４のそれぞれを用いた判定において、刃具４００の異常が
発生したと判定される条件を、異常条件と表記する場合がある。例えば、しきい値Ｔｈ１にかかる異常条件は、電流変動幅がしきい値Ｔｈ１を超えることである。また、しきい値Ｔｈ２にかかる異常条件は、電流変動幅がしきい値Ｔｈ２を超えた回数がＮに満たないことである。また、しきい値Ｔｈ３にかかる異常条件は、振動量がしきい値Ｔｈ３を超えた回数がＰを超えることである。また、しきい値Ｔｈ４にかかる異常条件は、振動量がしきい値Ｔｈ４を超えた回数がＱに満たないことである。
【００９４】
さらに、実施形態では、判定条件は、工程毎に変更され得る。判定条件については後述する。検出装置１００は、各工程を、制御装置２０３から出力される信号に基づいて特定することができる。
【００９５】
図１２は、制御装置２０３と検出装置１００との間で送受信される信号の具体例を説明するための図である。なお、本図は、例示的かつ模式的な図である。
【００９６】
制御装置２０３は、加工サイクルの実行中／非実行中を示す１ビットの加工サイクル信号と、工程の実行中／非実行中を示す１ビットの工程信号とを出力することができる。
【００９７】
本図の例では、加工サイクルが実行中である場合に加工サイクル信号がアサートされた状態に維持され、加工サイクルが非実行中である場合に加工サイクル信号がネゲートされた状態に維持されている。また、工程を実行中である場合に工程信号がアサートされた状態に維持され、工程が非実行中である場合に工程信号がネゲートされた状態に維持されている。
【００９８】
そして、図１２には、Ｒ番目の加工サイクルと、Ｒ＋１番目の加工サイクルと、が実行された場合の各信号の状態が示されている。各加工サイクルは、３つの工程（工程＃１〜工程＃３）を含んでいる。
【００９９】
検出装置１００は、工程信号および加工サイクル信号を監視することによって、加工サイクルのうちの何番目の工程を実行中であるかを認識することができる。つまり、検出装置１００は、各加工サイクルにおける各工程を特定することができる。
【０１００】
なお、検出装置１００は、例えば、各工程が終了する毎に刃具４００の異常の判定を実行することができる。そして、検出装置１００は、加工サイクル信号がネゲートされる毎に、稼働状況や異常の発生状況を記述したレポート７００を作成して、当該レポート７００を遠隔地などに設けられた管理サーバ３に送信することができる。
【０１０１】
また、図１２の例では、Ｒ＋１番目の加工サイクルの工程＃３において、刃具４００の異常が検出されている。検出装置１００は、刃具４００の異常を検出すると、制御装置２０３に加工の停止を指示する停止信号を送信することができる。制御装置２０３は、停止信号を受信するに応じて加工プログラム２３の実行を停止することができる。これによって、以降の加工が実行されなくなり、ひいては刃具４００の異常に起因する被害の拡大が防止される。
【０１０２】
また、検出装置１００は、刃具４００の異常を検出すると、管理サーバ３にその旨を通知することができる。管理サーバ３は、不図示の表示装置などに刃具４００の異常が発生した旨を表示することができる。
【０１０３】
なお、管理サーバ３は、例えば、複数の加工装置２００のそれぞれに設けられた検出装置１００からレポートや通知を受信することができる。これによって、管理サーバ３は、各加工装置２００の状態を集中管理することが可能である。
【０１０４】
なお、検出装置１００は、刃具４００の摩耗の進行に対応するために、各しきい値（しきい値Ｔｈ１〜Ｔｈ４）の設定値を自動で更新（調整）することができる。管理サーバ３は、刃具４００の交換が実行された場合には、各しきい値の設定値のリセットを検出装置１００に指示することができる。検出装置１００は、当該指示を受信すると、各しきい値の設定値を初期値にリセットする。なお、各しきい値の設定値の更新については後述する。
【０１０５】
図１に説明を戻す。
検出装置１００は、上記した動作を実行するための構成として、ドライバ・信号処理部１０１ａ、ドライバ・信号処理部１０１ｂ、Ａ／Ｄ（アナログデジタル）変換部１０２、信号処理部１０３、条件設定部１０４、しきい値設定部１０５、判定部１０６、記憶部１０７、表示部１０８、および信号ＩＦ（インタフェース）部１０９を備えている。
【０１０６】
信号ＩＦ部１０９は、例えばアナログ回路である。信号ＩＦ部１０９は、制御装置２０３から入力される加工サイクル信号および工程信号を受信したり、制御装置２０３に停止信号を送信したりする。
【０１０７】
ドライバ・信号処理部１０１ａは、例えばアナログ回路である。ドライバ・信号処理部１０１ａは、電流センサ５００を駆動して、電流センサ５００の出力信号を取得する。そして、ドライバ・信号処理部１０１ａは、電流センサ５００の出力信号に対して所定のフィルタ処理を実行する。ドライバ・信号処理部１０１ａが実行するフィルタ処理は、特定の処理に限定されない。ドライバ・信号処理部１０１ａは、後段の処理に不要な帯域を減衰させるフィルタ処理を実行してもよい。つまり、ドライバ・信号処理部１０１ａは、ハイパスフィルタ、ローパスフィルタ、またはバンドパスフィルタを備え得る。ドライバ・信号処理部１０１ａは、信号の増幅などを実行してもよい。
【０１０８】
ドライバ・信号処理部１０１ｂは、例えばアナログ回路である。ドライバ・信号処理部１０１ｂは、振動センサ６００を駆動して、振動センサ６００の出力信号を取得する。そして、ドライバ・信号処理部１０１ｂは、振動センサ６００の出力信号に対して所定のフィルタ処理を実行する。ドライバ・信号処理部１０１ｂが実行するフィルタ処理は、特定の処理に限定されない。ドライバ・信号処理部１０１ｂは、後段の処理に不要な帯域を減衰させるフィルタ処理を実行してもよい。つまり、ドライバ・信号処理部１０１ｂは、ハイパスフィルタ、ローパスフィルタ、またはバンドパスフィルタを備え得る。ドライバ・信号処理部１０１ｂは、信号の増幅などを実行してもよい。
【０１０９】
Ａ／Ｄ変換部１０２は、ドライバ・信号処理部１０１ａ、ドライバ・信号処理部１０１ｂ、信号ＩＦ部１０９から出力された各信号に対してＡ／Ｄ変換を実行する。
【０１１０】
信号処理部１０３は、Ａ／Ｄ変換部１０２によって出力された電流センサ５００の出力信号に対し、絶対値の算出と移動平均の算出とを実行する。これによって、信号処理部１０３は、モータ２０２を流れる電流の大きさを示す信号を得ることができる。
【０１１１】
さらに、信号処理部１０３は、モータ２０２を流れる電流の大きさを示す信号から、電流変動幅を算出する。一例では、信号処理部１０３は、モータ２０２を流れる電流の大きさを示す信号に対してリサンプリングを実行し、リサンプリングによって連続して取得された３つのデータのうちの最大値から最小値を減算し、減算によって得られた値を、その３つのデータが取得された区間の電流変動幅とする。信号処理部１０３は、区間の開始ポイントを１つずつずらしながら順次、電流変動幅を算出する。これによって、信号処理部１０３は、電流変動幅を示す信号を得ることができる。なお、電流変動幅の算出方法はこれに限定されない。
【０１１２】
また、信号処理部１０３は、Ａ／Ｄ変換部１０２によって出力された振動センサ６００の出力信号に対して、ノイズ成分を除去するフィルタ処理を実行する。フィルタ処理は、一例では、スペクトルサブトラクションである。また、信号処理部１０３は、スペクトルサブトラクションを実行した後の信号に対して、絶対値の算出を行う。これによって、信号処理部１０３は、振動量を示す信号を得ることができる。
【０１１３】
なお、信号処理部１０３は、実施形態の処理部の一例である。
【０１１４】
条件設定部１０４は、信号ＩＦ部１０９を介して加工サイクル信号および工程信号が入力され、入力されたこれらの信号に基づいて、Ａ／Ｄ変換部１０２、信号制御部１０３、およびしきい値設定部１０５を制御する。特に、条件設定部１０４は、入力されたこれらの信号に基づいて、実行中の工程を特定する。
【０１１５】
例えば、条件設定部１０４は、工程信号がアサートされた回数をカウントする。条件設定部１０４は、加工サイクル信号がネゲートされたとき、工程信号がアサートされた回数のカウント値をリセットする。条件設定部１０４は、工程信号がアサートされた回数のカウント値によって各工程を識別する。例えば、カウント値が「１」であれば、条件設定部１０４は、加工サイクルのうちの最初の工程が実行中であると認識することができる。カウント値が「２」であれば、条件設定部１０４は、加工サイクルのうちの最初から２番目の工程が実行中であると認識することができる。
【０１１６】
条件設定部１０４は、工程の特定結果に基づき、判定条件を決定する。
【０１１７】
判定条件は、例えば、下記の（１）〜（８）の項目を含む。
（１）電流変動幅に基づく検出動作を行うか否か。
（２）電流変動幅に基づく検出動作では何れの電流センサ５００の出力信号を用いるか。（３）振動量に基づく検出動作を行うか否か。
（４）振動量に基づく検出動作では何れの振動センサ６００の出力信号を用いるか。
（５）電流変動幅に基づく検出動作ではしきい値Ｔｈ１，Ｔｈ２の何れを使用するか。
（６）振動量に基づく検出動作ではしきい値Ｔｈ３，Ｔｈ４の何れを使用するか。
（７）Ｎ，Ｐ，Ｑ，Ｌ（後述する）の設定値。
（８）信号処理条件（移動平均時間、またはリサンプリング時間など）。
【０１１８】
つまり、条件設定部１０４は、判定の種類、判定に用いるしきい値、異常条件、信号処理条件、などを工程毎に切り替えることができる。例えば、条件設定部１０４は、切削負荷が大きい工程に対しては、しきい値Ｔｈ２を用いた電流変動幅に基づく検出動作またはしきい値Ｔｈ４を用いた振動量に基づく検出動作を設定する。また、条件設定部１０４は、切削負荷が小さい工程に対しては、しきい値Ｔｈ１を用いた電流変動幅に基づく検出動作またはしきい値Ｔｈ３を用いた振動量に基づく検出動作を設定する。
【０１１９】
なお、（１）〜（８）は、設定条件の一例である。設定条件は、（１）〜（８）のうちの一部を含んでいなくてもよいし、（１）〜（８）と異なる項目を含んでいてもよい。
【０１２０】
また、条件設定部１０４は、電流変動幅に基づく検出動作と振動量に基づく検出動作との両方を実行するように決定し得る。また、条件設定部１０４は、複数のしきい値を用いた検出動作を実行するように決定し得る。そのような場合、複数の検出動作による判定結果の論理演算によって刃具４００の異常の検出が行われる。条件設定部１０４は、条件設定部１０４は、論理演算の種類を、判定条件のうちのひとつとして決定することができる。論理演算の種類は、例えば、アンド演算、またはオア演算、などである。
【０１２１】
なお、工程毎の判定条件は、例えばオペレータによって予め設定されている。工程毎の判定条件は、例えば、管理サーバ３を介して設定され得る。条件設定部１０４は、予め設定された内容に従って、使用する判定条件を切り替える。
【０１２２】
また、条件設定部１０４は、Ａ／Ｄ変換部１０２が信号をデジタル化する周期、換言すると、Ａ／Ｄ変換部１０２がデジタル信号を出力する周期、を工程毎に切り替えてもよい。
【０１２３】
また、条件設定部１０４は、信号制御部１０３が演算に使用する移動平均時間またはリサンプリング時間を、工程毎に切り替えてもよい。
【０１２４】
しきい値設定部１０５は、しきい値Ｔｈ１〜Ｔｈ４のうちの刃具４００の異常の判定に使用するしきい値を切り替える。
【０１２５】
例えば、しきい値設定部１０５は、工程が切り替わる際に、次の工程で使用されるしきい値が条件設定部１０４から通知される。しきい値設定部１０５は、当該通知に基づいてしきい値を切り替える。
【０１２６】
また、しきい値設定部１０５は、しきい値の設定値を更新することができる。例えば、ある工程でしきい値Ｔｈ１が使用される場合、しきい値設定部１０５は、前回の加工サイクルにおいて実行された複数の工程のうちのその工程と同じ工程で使用されたしきい値Ｔｈ１の設定値をそのまま用いるのではなく、しきい値Ｔｈ１の設定値を新たに算出することができる。
【０１２７】
より具体的には、しきい値設定部１０５は、信号処理部１０３によって算出された電流変動幅、振動量、またはそれら両方を、過去データとして記憶部１０７に記録する。そして、しきい値設定部１０５は、過去データに基づいて新しい設定値を演算する。
【０１２８】
例えば、しきい値設定部１０５は、過去データとして記録された電流変動幅に１より大きい係数（例えば１．２）を乗じることによって得られた値を、しきい値Ｔｈ１の設定値としてもよい。しきい値設定部１０５は、過去データとして記録された電流変動幅に１より小さい係数（例えば０．８）を乗じることによって得られた値をしきい値Ｔｈ２の設定値としてもよい。また、しきい値設定部１０５は、過去データとして記録された振動量に１より大きい係数（例えば１．２）を乗じることによって得られた値をしきい値Ｔｈ３の設定値としてもよい。また、しきい値設定部１０５は、過去データとして記録された振動量に１より小さい係数（例えば０．８）を乗じることによって得られた値をしきい値Ｔｈ４の設定値としてもよい。
【０１２９】
なお、上記の新しい設定値の取得方法は一例である。過去データから任意の方法で新しい設定値が取得され得る。
【０１３０】
しきい値設定部１０５は、過去データを工程毎に個別に記録する。そして、しきい値設定部１０５は、次の加工サイクルにおいて使用されるしきい値の設定値を、工程毎に個別に算出する。例えば、しきい値設定部１０５は、ある工程にかかるしきい値の設定値を、当該工程に対応づけて保存された過去データを用いて算出する。
【０１３１】
なお、１つの工程において、電流変動幅または振動量は、時間に応じて変化する。時間に応じて変化するこれらの値と過去データとして保存される値との関係は、特定の関係に制限されない。例えば、過去データは、時系列順に取得された全ての値から算出された代表値であってもよい。例えば、平均値、中央値、最大値、または最小値が代表値として使用できる。なお、代表値は、これらに限定されない。代表値は、時系列順に取得された全ての値から任意の方法で選択された１つの値であってもよい。
【０１３２】
また、電流変動幅に関する過去データは、電流変動幅のピークの最大値と最小値とによって構成され、当該最大値がしきい値Ｔｈ１の新しい設定値として使用され、当該最小値がしきい値Ｔｈ２の新しい設定値として使用されてもよい。振動量に関する過去データは、振動量のピークの最大値と最小値とによって構成され、当該最大値がしきい値Ｔｈ３の新しい設定値として使用され、当該最小値がしきい値Ｔｈ４の新しい設定値として使用されてもよい。
【０１３３】
しきい値の設定値の更新のタイミングは特定のタイミングに限定されない。例えば、しきい値設定部１０５は、１つの加工サイクルの実行を完了すると、しきい値の設定値を工程毎に更新することができる。または、しきい値設定部１０５は、１つの工程の実行を完了すると、次の工程で使用されるしきい値の設定値を更新することができる。または、しきい値設定部１０５は、複数の加工サイクルを実行する毎にしきい値の設定値を更新してもよい。
【０１３４】
また、しきい値設定部１０５は、１以上の加工サイクルのそれぞれの過去データを用いてしきい値の設定値を算出することができる。複数の加工サイクルの過去データを用いる場合には、しきい値設定部１０５は、複数の加工サイクルの過去データの平均を使用することができる。つまり、しきい値設定部１０５は、複数の加工サイクルの過去データの平均に係数を乗算することによって、しきい値の設定値を得る。平均は、単純平均であってもよいし、加重平均であってもよい。加重平均の場合、実行タイミングが新しい加工サイクルの過去データほど重みを大きくしてもよい。
【０１３５】
刃具４００は、加工を行うに応じて摩耗する。モータ２０２を流れる電流や発生する振動は、刃具４００の摩耗の進行に従って変化する。よって、しきい値を固定した場合、たとえ刃具４００に異常が発生していなくても、刃具４００の摩耗によって電流の変動幅または振動が変化することによって、刃具４００に異常が発生したと判定される場合がある。
【０１３６】
しきい値設定部１０５は、過去データに応じてしきい値の設定値を変更するので、刃具４００の摩耗の進行に従ってしきい値の設定値を適切に変更することが可能である。これによって、摩耗の進行に起因する誤判定の発生を防止することができる。
【０１３７】
なお、過去データに乗算される係数は、工程毎に異なっていてもよいし、複数の異なる工程で共通であってもよい。過去データに乗算される係数は、条件設定部１０４によって指定されてもよい。
【０１３８】
判定部１０６は、条件設定部１０４によって決定された条件を用いて刃具４００の異常が発生したか否かの判定を行う。判定部１０６は、判定においては、しきい値設定部１０５によって算出されたしきい値の設定値を使用する。
【０１３９】
判定部１０６は、刃具４００の異常が発生したと判定した場合には、種々の処理を実行することができる。例えば、判定部１０６は、刃具４００の異常が発生したと判定した場合、信号ＩＦ部１０９を介して制御装置２０３に停止信号を送信することができる。また、判定部１０６は、表示部１０８に刃具４００の異常が発生した旨を表示させることができる。
【０１４０】
表示部１０８は、所定の情報をオペレータに通知する装置である。表示部１０８は、例えば、テキストなど複雑な情報を表示可能なディスプレイ装置であってもよい。また、異常の有無のみを表示できれば十分である場合には、表示部１０８は、発光ダイオードなどのランプであってもよい。表示部１０８は、音によって異常の有無を通知してもよい。
【０１４１】
なお、検出装置１００が備える各構成要素をハードウェアおよびソフトウェアの何れによって実現するかは、任意に選択され得る。図１３は、検出装置１００のハードウェア構成の一例を説明するための図である。
【０１４２】
図１３の例では、検出装置１００は、プロセッサ１０、不揮発性メモリ１１、入出力インタフェース１２、揮発性メモリ１３、および表示装置１４を備えている。
【０１４３】
入出力インタフェース１２は、検出装置１００が外部機器と通信を行うためのハードウェアである。入出力インタフェース１２は、外部機器と有線で通信するものであってもよいし、無線で通信するものであってもよい。ここでは、入出力インタフェース１２には、電流センサ５００、振動センサ６００、および制御装置２０３が接続される。また、入出力インタフェース１２は、管理サーバ３との間の通信を実行することができる。
【０１４４】
そして、入出力インタフェース１２は、ドライバ・信号処理部１０１ａ、ドライバ・信号処理部１０１ｂ、Ａ／Ｄ変換部１０２、および信号ＩＦ部１０９のそれぞれの機能を有する回路を備えている。
【０１４５】
不揮発性メモリ１１は、電源が入っていない状態であってもデータを保持できるメモリである。不揮発性メモリ１１は、例えば、ＲＯＭ（Read  Only  Memory）、磁気ディスクドライブ、フラッシュメモリ、またはこれらの組み合わせによって構成される。なお、不揮発性メモリ１１の種類は、これらに限定されない。不揮発性メモリ１１には、検出プログラム１１０が格納されている。検出プログラム１１０は、第１の実施形態のプログラムの一例である。
【０１４６】
プロセッサ１０は、プログラムを実行可能なハードウェア（回路）である。つまり、図１３の例では、検出装置１００は、プログラムを実行可能なコンピュータと同等の構成を備えている。プロセッサ２０は、例えばＣＰＵである。プロセッサ２０は、検出プログラム１１０を実行することによって、例えば、信号処理部１０３、条件設定部１０４、しきい値設定部１０５、および判定部１０６としての機能を実現する。
【０１４７】
揮発性メモリ１３は、高速なアクセスが可能なメモリである。揮発性メモリ１３は、例えば、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）、またはこれらの組み合わせによって構成される。なお、揮発性メモリ１３の種類は、これらに限定されない。揮発性メモリ１３は、バッファ領域、キャッシュ領域、プログラムがロードされる領域、または各処理のための中間データが格納される領域、などとして機能する。記憶部１０７は、例えば揮発性メモリ１３にアロケートされた記憶領域である。記憶部１０７は、不揮発性メモリ１１に設けられてもよい。
【０１４８】
表示装置１４は、表示部１０８としての機能を担うハードウェアである。表示装置１４は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、ランプ、などである。
【０１４９】
なお、図１３に示した構成は一例である。例えば、信号処理部１０３、条件設定部１０４、しきい値設定部１０５、および判定部１０６のうちの一部または全部は、ハードウェア回路によって構成されてもよい。また、ドライバ・信号処理部１０１ａ、およびドライバ・信号処理部１０１ｂのうちの一部の機能（例えばフィルタ処理の機能）は、プロセッサ１０が検出プログラム１１０を実行することによって実現されてもよい。
【０１５０】
続いて、実施形態の検出装置１００の動作を説明する。図１４は、第１の実施形態の検出装置１００の動作の概要を説明するためのフローチャートである。
【０１５１】
まず、条件設定部１０４は、加工サイクル信号および工程信号に基づき、次に実行される工程を特定する（Ｓ１０１）。続いて、条件設定部１０４は、特定された工程で使用する判定条件を決定する（Ｓ１０２）。
【０１５２】
続いて、しきい値設定部１０５は、使用するしきい値の設定値を、過去データに基づいて算出する（Ｓ１０３）。しきい値Ｔｈ１〜Ｔｈ４のうちの使用されるしきい値は、Ｓ１０２の処理によって決定される。しきい値設定部１０５は、しきい値Ｔｈ１〜Ｔｈ４のうちの使用されるしきい値について、新しい設定値を算出する。
【０１５３】
続いて、工程が開始すると（Ｓ１０４）、工程の実行中、検出装置１００は、データの取得を実行する。
【０１５４】
例えば、電流変動幅と振動量とに基づく検出を実行することが条件設定部１０４によって決定された場合（Ｓ１０５：Ｙｅｓ）、検出装置１００は、電流変動幅の取得と振動量の取得との両方を実行する（Ｓ１０６）。
【０１５５】
電流変動幅に基づく検出を実行することが条件設定部１０４によって決定された場合（Ｓ１０５：Ｎｏ、Ｓ１０７：Ｙｅｓ）、検出装置１００は、電流変動幅の取得を実行する（Ｓ１０８）。
【０１５６】
振動量に基づく検出を実行することが条件設定部１０４によって決定された場合（Ｓ１０７：Ｎｏ）、検出装置１００は、振動量の取得を実行する（Ｓ１０９）。
【０１５７】
続いて、工程が終了すると（Ｓ１１０）、判定部１０６は、取得されたデータ（電流変動値、振動量、またはこれら両方）と、しきい値設定部１０５によって設定されたしきい値の設定値と、に基づいた刃具４００の異常の判定を実行する（Ｓ１１１）。
【０１５８】
しきい値を超えた回数に関する条件（Ｎ，Ｐ，Ｑ，または後述するＬ）は、条件設定部１０４によって決定され、判定部１０６に通知される。Ｓ１１２では、判定部１０６は、条件設定部１０４によって決定され、予め通知された、しきい値を超えた回数に関する条件を用いて、刃具４００の異常の判定を実行する。
【０１５９】
なお、電流変動幅と振動量とに基づく検出を実行することが条件設定部１０４によって決定された場合、判定部１０６は、各検出動作にかかる判定結果に対して条件設定部１０４によって決定された種類の論理演算を行うことによって、刃具４００の異常が発生したか否かの判定を行う。
【０１６０】
例えば、論理演算の種類としてオア演算が決定された場合、判定部１０６は、電流変動幅に基づく判定と、振動量に基づく判定と、のうちの何れか一方において異常条件が満たされた場合に、刃具４００の異常が発生したと判定する。
【０１６１】
これによって、電流変動幅に基づく判定では刃具４００の異常を検出できないような場合であっても、振動量に基づく判定によって刃具４００の異常を検出することが可能である。また、振動量に基づく判定では刃具４００の異常を検出することができないような場合であっても、電流変動幅に基づく判定によって刃具４００の異常を検出することが可能である。つまり、刃具４００の異常が正常と判定される誤検出の発生を防止することが可能である。
【０１６２】
論理演算の種類としてアンド演算が決定された場合、判定部１０６は、電流変動幅に基づく判定と、振動量に基づく判定と、のうちの両方において異常条件が満たされた場合にのみ、刃具４００の異常が発生したと判定する。
【０１６３】
これによって、刃具４００の異常が発生していないにも関わらずデータの検出誤差やノイズなどによって何れかの異常条件が満たされたような場合において、刃具４００の異常が発生したと誤判定することが防止できる。
【０１６４】
Ｓ１１２の処理によって刃具４００の異常が発生したと判定された場合（Ｓ１１１：異常あり）、判定部１０６は、所定の処理を実行する（Ｓ１１２）。所定の処理は、特定の処理に限定されない。例えば、判定部１０６は、信号ＩＦ部１０９を介して制御装置２０３に停止信号を送信することができる。または、判定部１０６は、表示部１０８に刃具４００の異常が発生した旨を表示させることができる。
【０１６５】
刃具４００の異常が発生していないと判定された場合（Ｓ１１１：異常なし）、しきい値設定部１０５は、過去データを工程と対応付けて記憶部１０７に保存する（Ｓ１１３）。そして、Ｓ１０１に制御が移行して、次の工程にかかる一連の処理が実行される。
【０１６６】
図１５は、第１の実施形態の電流変動幅を取得する動作を説明するためのフローチャートである。
【０１６７】
まず、ドライバ・信号処理部１０１ａは、電流センサ５００から出力信号を取得する（Ｓ２０１）。なお、ドライバ・信号処理部１０１ａは、通過帯域を限定するフィルタ処理や信号増幅などを適宜実行することができる。Ａ／Ｄ変換部１０２は、ドライバ・信号処理部１０１ａによって取得された信号に対してＡ／Ｄ変換を実行する（Ｓ２０２）。
【０１６８】
続いて、信号処理部１０３は、Ａ／Ｄ変換部１０２によって得られたデジタル信号に対し、電流検出値の絶対値を算出し（Ｓ２０３）、さらに、移動平均を算出する（Ｓ２０４）。これによって、信号処理部１０３は、モータ２０２に流れる電流の大きさを示す信号を得ることができる。
【０１６９】
続いて、信号処理部１０３は、Ｓ２０４の処理によって得られた信号に基づき、電流変動幅を算出する（Ｓ２０５）。そして、電流変動幅を取得する動作が終了する。
【０１７０】
なお、Ｓ２０３〜Ｓ２０５の各処理の実行タイミングは、任意に決定され得る。例えば、Ｓ２０３〜Ｓ２０５の処理は、Ｓ２０２によってデジタル信号が取得される毎にシリアルに実行されてもよい。または、Ｓ２０２によって取得されたデジタル信号のデータは例えば揮発性メモリ１３などに蓄積され、所定数のデータが蓄積されたタイミングでＳ２０３〜Ｓ２０５の処理が一括に実行されてもよい。Ｓ２０１〜Ｓ２０５の処理は、繰り返し実行される。
【０１７１】
図１６は、第１の実施形態の振動量を取得する動作を説明するためのフローチャートである。
【０１７２】
まず、ドライバ・信号処理部１０１ｂは、振動センサ６００から出力信号を取得する（Ｓ３０１）。ドライバ・信号処理部１０１ｂは、通過帯域を限定するフィルタ処理や信号増幅などを適宜実行することができる。Ａ／Ｄ変換部１０２は、ドライバ・信号処理部１０１ｂによって取得された信号に対してＡ／Ｄ変換を実行する（Ｓ３０２）。
【０１７３】
続いて、信号処理部１０３は、Ａ／Ｄ変換部１０２によって得られたデジタル信号に対し、スペクトルサブトラクションを実行する（Ｓ３０３）。これによって、信号処理部１０３は、ノイズ成分が除去された信号を得ることができる。なお、前述したように、信号処理部１０３は、エアカット期間などにおいて振動センサ６００の出力信号を予め取得しておいて、当該予め取得した出力信号に基づいてノイズ成分を求める。Ｓ３０３では、信号処理部１０３は、予め求めておいたノイズ成分を用いてスペクトルサブトラクションを実行する。
【０１７４】
信号処理部１０３は、スペクトルサブトラクションを実行後の信号に対し、絶対値の算出を行う（Ｓ３０４）。これによって、振動量が得られる。
【０１７５】
Ｓ３０３〜Ｓ３０４の各処理の実行タイミングは、任意に決定され得る。例えば、Ｓ３０３〜Ｓ３０４の処理は、Ｓ３０２によってデジタル信号が取得される毎にシリアルに実行されてもよい。または、Ｓ３０２によって取得されたデジタル信号のデータは揮発性メモリ１３などに蓄積され、所定数のデータが蓄積されたタイミングでＳ３０３〜Ｓ３０４の処理が一括に実行されてもよい。Ｓ３０１〜Ｓ３０４の処理は、工程が終了するまで繰り返し実行される。
【０１７６】
以上述べたように、第１の実施形態によれば、検出装置１００は、信号処理部（処理部）１０３と判定部１０６とを備える。信号処理部１０３は、電流変動幅、つまりモータ２０２を流れる電流の単位時間当たりの変動幅、を算出する（例えば図１５のＳ２０３〜２０５）。判定部１０６は、モータ２０２を流れる電流の単位時間当たりの変動幅としきい値（しきい値Ｔｈ１またはしきい値Ｔｈ２）との比較に基づいて刃具４００の異常を判定する。
【０１７７】
しきい値と比較される物理量としてモータ２０２を流れる電流の単位時間当たりの変動幅が採用されるので、モータ２０２を流れる電流が過渡的に変化する場合であっても、当該過渡的な変化が判定に与える影響を小さくすることができる。これによって、比較例１の方法が採用される場合に比べて、刃具４００の正常が異常と判定される誤検出の発生および刃具４００の異常が正常と判定される誤検出の発生を抑制することができる。つまり、刃具４００の異常の検出精度が向上する。
【０１７８】
しきい値を用いた判定方法としては、種々の方法が採用される。例えば図５を用いて説明したように、判定部１０６は、電流変動幅がしきい値Ｔｈ１を超えた場合に、刃具４００の異常が発生したと判定する。
【０１７９】
これによって、特に、切削負荷が小さい工程において、刃具４００の異常を高精度に検出することが可能である。
【０１８０】
なお、以上では、判定部１０６は、電流変動幅がしきい値Ｔｈ１を超えた場合に、刃具４００の異常が発生したと判定した。振動量に基づく異常の判定と同様に、検出装置１００は、電流変動幅がしきい値Ｔｈ１を超えた回数に基づいて刃具４００の異常を判定するように構成されてもよい。
【０１８１】
具体的には、例えば、検出装置１００には、０以上の整数がＬとして予め設定される。そして、検出装置１００は、電流変動幅がしきい値Ｔｈ１を超えた回数がＬを超えた場合、刃具４００の異常が発生したと判定してもよい。
【０１８２】
また、例えば、判定部１０６は、電流変動値がしきい値Ｔｈ２を超えた回数がＮに満たない場合に、刃具４００の異常が発生したと判定する。
【０１８３】
これによって、特に、切削負荷が大きい工程において、刃具４００の異常を高精度に検出することが可能である。
【０１８４】
なお、判定部１０６は、しきい値Ｔｈ１を用いた判定方法と、しきい値Ｔｈ２を用いた判定方法との両方を実施することが可能である。つまり、判定部１０６は、電流変動幅がしきい値Ｔｈ１を超えた場合と、電流変動値がしきい値Ｔｈ２を超えた回数がＮに満たない場合と、のいずれの場合においても、刃具４００の異常が発生したと判定する。電流変動幅がしきい値Ｔｈ１を超えず、かつ、電流変動値がしきい値Ｔｈ２を超えた回数がＮ以上である場合には、刃具４００の異常が発生していないと判定する。このように、しきい値Ｔｈ１を用いた判定方法と、しきい値Ｔｈ２を用いた判定方法とを併用することによって、切削負荷に関係なく刃具４００の異常を高精度に検出することが可能である。
【０１８５】
また、しきい値設定部１０５は、加工サイクル（第１の加工サイクル）において取得された電流変動幅を過去データとして記憶部１０７に記録する（例えば図１４のＳ１１３）。そして、しきい値設定部１０５は、第１の加工サイクルよりも後の第２の加工サイクルにおいて使用するしきい値を、記憶部１０７に記録された電流変動値に基づいて算出する（例えば図１４のＳ１０３）。
【０１８６】
この構成により、刃具４００の異常が発生していない際の電流変動幅が刃具４００の摩耗によって変動する場合であっても、刃具４００の異常の検出に使用されるしきい値を摩耗の進行に応じて変更することができる。つまり、刃具４００の摩耗の進行に起因して発生し得る、刃具４００の正常が異常と判定される誤検出および刃具４００の異常が正常と判定される誤検出を抑制することができる。
【０１８７】
さらに、しきい値設定部１０５は、しきい値の設定値を工程毎に算出する。これによって、ＮＣ複合旋盤のように複数の刃具４００が使用される場合であっても、刃具４００毎に異なる値をしきい値として使用することが可能になる。つまり、刃具４００毎にしきい値を調整することが可能であるので、刃具４００の異常を検出する精度がさらに向上する。
【０１８８】
なお、しきい値設定部１０５は、制御装置２０３から工程毎に出力される信号（工程信号）に基づいてしきい値の設定値を切り替えることができる（例えば図１４のＳ１０１〜Ｓ１０３）。
【０１８９】
なお、以上の説明においては、モータ２０２にかかる負荷に対応した物理量の一例としてモータ２０２を流れる電流が測定された。モータ２０２にかかる負荷を示す物理量はこれに限定されない。例えば、モータ２０２の消費電力が、モータ２０２にかかる負荷に対応した物理量として測定され得る。つまり、電流センサ５００にかえて、電力センサが採用され得る。電流センサ５００は、モータ２０２にかかる負荷を測定する負荷センサの例である。
【０１９０】
また、信号処理部１０３は、さらに、加工装置２００の所定位置の振動量を算出する（例えば図１６のＳ３０３〜Ｓ３０４）。判定部１０６は、振動量としきい値（しきい値Ｔｈ３、しきい値Ｔｈ４）とに基づいて刃具４００の異常の判定を実行する。
【０１９１】
これによって、モータ２０２にかかる負荷のみに基づいて刃具４００の異常を検出する場合に比べて、刃具４００の正常が異常と判定される誤検出の発生および刃具４００の異常が正常と判定される誤検出の発生を抑制することが可能である。
【０１９２】
また、信号処理部１０３は、振動センサ６００の出力信号に対してノイズ成分を除去する処理を行うことによって振動量を算出する。
【０１９３】
これによって、振動量に基づく判定の精度が向上する。
【０１９４】
また、判定部１０６は、振動量がしきい値Ｔｈ３を超えた回数がＰを超えた場合に、刃具４００の異常が発生したと判定する。
【０１９５】
これによって、特に、切削負荷が小さい工程において、刃具４００の異常を高精度に検出することが可能である。
【０１９６】
また、Ｐとして１以上の整数が設定されると、刃具４００の正常がノイズの影響によって異常と判定される誤検出を抑制することが可能となる。
【０１９７】
また、判定部１０６は、振動量がしきい値Ｔｈ４を超えた回数がＱに満たない場合に、刃具４００に異常が発生したと判定する。
【０１９８】
これによって、特に、切削負荷が大きい工程において、刃具４００の異常を高精度に検出することが可能である。
【０１９９】
また、Ｑとして２以上の整数が設定されると、刃具４００の異常がノイズの影響によって正常と判定される誤検出を抑制することが可能となる。
【０２００】
なお、検出装置１００は、電流センサ５００を含むシステムとして構成され得る。また、検出装置１００は、振動センサ６００を含むシステムとして構成され得る。
【０２０１】
また、以上では、検出装置１００は加工装置２００に取り付けられていることとして説明した。検出装置１００は、加工装置２００に含まれて構成されてもよい。
【０２０２】
（第２の実施形態）
第１の実施形態において説明した検出装置１００の機能は、加工装置２００の制御装置２０３に実装されてもよい。第２の実施形態では、検出装置１００としての機能が実装された制御装置２０３について説明する。なお、第２の実施形態の制御装置２０３を、制御装置２０３ａと表記する。第１の実施形態と同じ構成要素には、第１の実施形態と同じ名称および符号を付す。そして、第１の実施形態と同じ構成要素に関する詳細な説明を省略する。
【０２０３】
図１７は、第２の実施形態の制御装置２０３ａのハードウェア構成例を説明するための図である。制御装置２０３ａは、プロセッサ２０ａ、不揮発性メモリ２１ａ、入出力インタフェース２２ａ、揮発性メモリ２５、および表示装置２６を備えている。
【０２０４】
入出力インタフェース２２ａは、制御装置２０３ａが外部機器と通信を行うためのハードウェアである。入出力インタフェース２２ａは、外部機器と有線で通信するものであってもよいし、無線で通信するものであってもよい。ここでは、入出力インタフェース２２ａには、モータ２０２ａ、モータ２０２ｂ、電流センサ５００、および振動センサ６００が接続される。
【０２０５】
そして、入出力インタフェース２２ａは、ドライバ・信号処理部１０１ａ、ドライバ・信号処理部１０１ｂ、Ａ／Ｄ変換部１０２、および信号ＩＦ部１０９のそれぞれの機能を有する回路を備えている。
【０２０６】
不揮発性メモリ２１ａは、電源が入っていない状態であってもデータを保持できるメモリである。不揮発性メモリ２１ａは、例えば、ＲＯＭ、磁気ディスクドライブ、フラッシュメモリ、またはこれらの組み合わせによって構成される。なお、不揮発性メモリ２１ａの種類は、これらに限定されない。不揮発性メモリ２１ａには、加工プログラム２３および検出プログラム１１０ａが格納されている。検出プログラム１１０ａは、第２の実施形態のプログラムの一例である。
【０２０７】
プロセッサ２０ａは、プログラムを実行可能なハードウェア（回路）である。つまり、図１７の例では、検出装置１００ａは、プログラムを実行可能なコンピュータと同等の構成を備えている。プロセッサ２０ａは、例えばＣＰＵである。
【０２０８】
プロセッサ２０ａは、加工プログラム２３を実行することによって、加工動作の制御を実現する。例えば、プロセッサ２０ａは、加工プログラム２３に記述された命令に基づいて各モータ２０２への指令を演算し、演算によって得られた指令を入出力インタフェース２２を介して各モータ２０２に送信する。
【０２０９】
また、プロセッサ２０ａは、加工プログラム２３に含まれる信号出力プログラム２４に基づき、加工サイクル信号および工程信号を内部的に発生させることができる。
【０２１０】
さらに、プロセッサ２０ａは、検出プログラム１１０ａを実行することによって、例えば、信号処理部１０３、条件設定部１０４、しきい値設定部１０５、および判定部１０６としての機能を実現する。条件設定部１０４は、加工サイクル信号および工程信号に基づき、実行中の工程を認識することができる。
【０２１１】
揮発性メモリ２５ａは、高速なアクセスが可能なメモリである。揮発性メモリ２５ａは、例えば、ＤＲＡＭ、ＳＲＡＭ、またはこれらの組み合わせによって構成される。なお、揮発性メモリ２５ａの種類は、これらに限定されない。揮発性メモリ２５ａは、バッファ領域、キャッシュ領域、プログラムがロードされる領域、または各処理のための中間データが格納される領域、などとして機能する。記憶部１０７は、例えば揮発性メモリ２５ａにアロケートされた記憶領域である。記憶部１０７は、不揮発性メモリ２１ａに設けられてもよい。
【０２１２】
なお、図１７に示した構成は、一例である。例えば、信号処理部１０３、条件設定部１０４、しきい値設定部１０５、および判定部１０６のうちの一部または全部は、ハードウェア回路によって構成されてもよい。また、ドライバ・信号処理部１０１ａ、およびドライバ・信号処理部１０１ｂのうちの一部の機能（例えばフィルタ処理の機能）は、プロセッサ２０ａが検出プログラム１１０を実行することによって実現されてもよい。
【０２１３】
このように、加工装置２００が備える制御装置２０３（制御装置２０３ａ）は、検出装置１００としての機能を含んでいてもよい。
【０２１４】
なお、第１および第２の実施形態の検出プログラム１１０、１１０ａは、検出装置１００または制御装置２０３ａの不揮発性メモリ１１、２１ａに予め組み込まれて提供される。検出装置１００または制御装置２０３ａにて実行される検出プログラム１１０、１１０ａは、インストール可能な形式又は実行可能な形式のファイルでＣＤ（Compact  Disc）−ＲＯＭ（Read  Only  Memory）、フレキシブルディスク（ＦＤ：Flexible  Disc）、ＣＤ−Ｒ（Recordable）、ＤＶＤ（Digital  Versatile  Disk）、ＵＳＢ（Universal  Serial  Bus）メモリ、ＳＤ（Secure  Digital）カード等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０２１５】
さらに、検出プログラム１１０、１１０ａを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、検出プログラム１１０、１１０ａをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０２１６】
以上、本発明のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１７】
１  加工システム、３  管理サーバ、１０，２０，２０ａ  プロセッサ、１１，２１，２１ａ  不揮発性メモリ、１２，２２，２２ａ  入出力インタフェース、１３，２５，２５ａ  揮発性メモリ、１４，２６  表示装置、２３  加工プログラム、２４  信号出力プログラム、１００，１００ａ  検出装置、１０１ａ，１０１ｂ  ドライバ・信号処理部、１０２  Ａ／Ｄ変換部、１０３  信号処理部（処理部）、１０４  条件設定部、１０５  しきい値設定部、１０６  判定部、１０７  記憶部、１０８  表示部、１０９  信号ＩＦ部、１１０，１１０ａ  検出プログラム、２００  加工装置、２０１，２０１ａ，２０１ｂ  電源、２０２，２０２ａ，２０２ｂ  モータ、２０３，２０３ａ  制御装置、３００  被加工材料、４００  刃具、５００，５００ａ，５００ｂ  電流センサ、６００，６００ａ，６００ｂ  振動センサ、７００  レポート。
【図１】
2020157447.tif 000003
【図２】
2020157447.tif 000004
【図３】
2020157447.tif 000005
【図４】
2020157447.tif 000006
【図５】
2020157447.tif 000007
【図６】
2020157447.tif 000008
【図７】
2020157447.tif 000009
【図８】
2020157447.tif 000010
【図９】
2020157447.tif 000011
【図１０】
2020157447.tif 000012
【図１１】
2020157447.tif 000013
【図１２】
2020157447.tif 000014
【図１３】
2020157447.tif 000015
【図１４】
2020157447.tif 000016
【図１５】
2020157447.tif 000017
【図１６】
2020157447.tif 000018
【図１７】
2020157447.tif 000019