(57)【要約】【課題】異常発生を検出した際に異常の規模を数値化し、異常の規模に応じた対策を提示することが可能な数値制御装置を提供する。【解決手段】近傍法により異常発生を検出する数値制御装置１００は、機械又は環境の状態を示すサンプリング値を、正常加工時及び運用時において収集するサンプリング値取得部１１０と、正常加工時のサンプリング値の集合を生成する学習部１２０と、運用時のサンプリング値と、正常加工時のサンプリング値の集合と、の距離に基づいて異常度を計算する異常度判定部１３０と、を有することを特徴とする。【選択図】図１
2019101503.tif 000002
【特許請求の範囲】
【請求項１】
近傍法により異常発生を検出する数値制御装置において、
機械又は環境の状態を示すサンプリング値を、正常加工時及び運用時において収集するサンプリング値取得部と、
前記正常加工時のサンプリング値の集合を生成する学習部と、
前記運用時のサンプリング値と、前記正常加工時のサンプリング値の集合と、の距離に基づいて異常度を計算する異常度判定部と、を有することを特徴とする
数値制御装置。
【請求項２】
前記異常度に応じた対策を提示する対策部と、をさらに有することを特徴とする
請求項１記載の数値制御装置。
【請求項３】
前記対策部は、前記異常発生が検出された際、前記異常にかかる異常度と、前記異常に対する対策と、を関連付けて蓄積することを特徴とする
請求項２記載の数値制御装置。
【請求項４】
前記異常度判定部は、前記正常加工時のサンプリング値を囲む微小正方形からなる近似領域を定義し、前記運用時のサンプリング値を囲む正方形と前記微小正方形とが接触する際の前記正方形の辺の長さに基づいて、前記異常度を算出することを特徴とする
請求項１記載の数値制御装置。
【請求項５】
上記異常度判定部は、前記運用時のサンプリング値と、前記正常加工時のサンプリング値に基づく回帰直線と、の距離に基づいて異常度を計算することを特徴とする
請求項１記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に関し、特に異常発生を検出した際に異常の規模を数値化し、異常の規模に応じた対策を提示することが可能な数値制御装置に関する。
【背景技術】
【０００２】
従来より、数値制御装置が異常（典型的には主軸衝突など）発生を検出する手法が種々提案されている。異常発生の検出手法の例としては、負荷電流値を用いたしきい値判定、加速度センサ値を用いたしきい値判定がある。
【０００３】
負荷電流値を用いたしきい値判定とは、数値制御装置が、制御軸毎に負荷電流値をモニタし、負荷電流値から加工にかかる理論上の電流値を差し引いた値（推定負荷トルク）が一定値以上だった場合に主軸衝突が発生したと判断する手法である。
【０００４】
加速度センサ値を用いたしきい値判定は、数値制御装置が、スピンドルに取り付けられた加速度センサのセンサ値を読み出し、センサ値が一定値以上だった場合に主軸衝突が発生したと判断する手法である。
【０００５】
このような手法を用いた従来技術として、特許文献１及び２がある。特許文献１には、センサにより変位、加速度、電流値、フィードバックを取得して、主軸系の衝突と損傷の程度を診断する方法が記載されている。特許文献２には、正常動作時のセンサの出力信号のパターンと、実稼動時のセンサの出力信号とを比較して、稼働状況の評価を行う方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１７２１０７号公報
【特許文献２】特開２０１３−１３９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１及び２に記載されているような従来の異常検出手法は、いずれも事前にしきい値を適切に設定したり、異常時のデータを取得したりする必要がある。しかしながら、適切なしきい値を設定することは容易ではない。例えば、負荷電流値を用いたしきい値判定は、重切削時と主軸衝突とが区別しづらいという問題がある。また、加速度センサ値を用いたしきい値判定は、高速な早送りと主軸衝突との区別が難しいという問題がある。また、異常時のデータを十分蓄積するには、多大な試運転時間が必要であるという問題がある。
【０００８】
このような問題を解決するための一手法として、近傍法がある。近傍法では、サンプリング値（例えば運転中に取得された推定負荷トルク値及び加速度センサ値）の近傍に他の正常なサンプリング値（過去の正常運転中に取得された推定負荷トルク値及び加速度センサ値）があるか否かによって異常を検出する。すなわち、近傍法では、入力されたサンプリング値が、正常時のサンプリング値から外れている場合に、異常が発生したという判断を行う。近傍法によれば、予め何らかのしきい値を設定する必要がなく、何回の試運転を行って正常時のデータを取得するだけで判定に必要なデータが得ることができる。
【０００９】
しかしながら、従来の近傍法では異常発生の検出は可能であったが、異常の規模を数値化することはできていなかった。一般に、異常が発生した際に講じるべき対策は、異常の規模により異なるものである。ところが、従来の手法では異常の規模を数値的に評価できなかったので、適切な対策を講じることが困難であった。
【００１０】
本発明はこのような問題点を解決するためになされたものであって、異常発生を検出した際に異常の規模を数値化し、異常の規模に応じた対策を提示することが可能な数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施の形態にかかる数値制御装置は、近傍法により異常発生を検出する数値制御装置であって、機械又は環境の状態を示すサンプリング値を、正常加工時及び運用時において収集するサンプリング値取得部と、前記正常加工時のサンプリング値の集合を生成する学習部と、前記運用時のサンプリング値と、前記正常加工時のサンプリング値の集合と、の距離に基づいて異常度を計算する異常度判定部と、を有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記異常度に応じた対策を提示する対策部と、をさらに有することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記対策部は、前記異常発生が検出された際、前記異常にかかる異常度と、前記異常に対する対策と、を関連付けて蓄積することを特徴とする。
本発明の一実施の形態にかかる数値制御装置は、前記異常度判定部は、前記正常加工時のサンプリング値を囲む微小正方形からなる近似領域を定義し、前記運用時のサンプリング値を囲む正方形と前記微小正方形とが接触する際の前記正方形の辺の長さに基づいて、前記異常度を算出することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、異常発生を検出した際に異常の規模を数値化し、異常の規模に応じた対策を提示することが可能な数値制御装置を提供することが可能である。
【図面の簡単な説明】
【００１３】
【図１】数値制御装置１００の構成を示すブロック図である。
【図２】数値制御装置１００の異常度算出処理の概要を示す図である。
【図３】数値制御装置１００の対策提示処理の概要を示す図である。
【図４】数値制御装置１００の訓練期における処理を示すフローチャートである。
【図５】数値制御装置１００の運用期における処理を示すフローチャートである。
【図６】数値制御装置１００の異常度算出処理を示すフローチャートである。
【図７】数値制御装置１００の異常度算出処理の概要を示す図である。
【図８】数値制御装置１００の訓練期における処理を示すフローチャートである。
【図９】数値制御装置１００の運用期における処理を示すフローチャートである。
【図１０】数値制御装置１００の異常度算出処理を示すフローチャートである。
【図１１】推定負荷トルク値と加速度センサ値の分布を例示する図である。
【図１２】数値制御装置１００をノイズ検出処理に適用した例を示す図である。
【００１４】
本発明の実施の形態にかかる数値制御装置１００について図面を用いて説明する。図１は、数値制御装置１００の機能構成を示すブロック図である。数値制御装置１００は、サンプリング値取得部１１０、学習部１２０、異常度判定部１３０、対策部１４０を有する。数値制御装置１００は、中央処理装置（ＣＰＵ）、記憶装置、入出力装置等を有しており、記憶装置に格納されたプログラムをＣＰＵが実行することによって上記処理部が論理的に実現される。
【００１５】
数値制御装置１００は、主軸衝突をはじめとする異常を検出し、その異常の度合（以下、異常度と称する）を判定する。そして、異常度に応じた適切な対策をユーザに提示する。数値制御装置１００は、大きく２つの動作モードを有する。１つは正常時のサンプリング値（以下、単に正常値と称することがある）を収集して正常値の集合を形成する訓練期、もう１つは運用時のサンプリング値を収集し、正常値の集合と比較して、異常値の検出及び異常度の判定を行う運用期である。
【００１６】
サンプリング値取得部１１０は、訓練期においては、正常加工時のサンプリング値を収集する。サンプリング値とは、機械又は環境の状態を示す値をいい、例えば一定周期で取得される推定負荷トルク値や加速度センサ値をいう。推定負荷トルク値は、制御軸毎に負荷電流値をモニタし、負荷電流値から加工にかかる理論上の電流値を差し引くことで得られる。加速度センサ値は、スピンドルに取り付けられた加速度センサのセンサ値を読み出すことで得られる。正常加工時とは、異常が発生することなくユーザの意図したとおりの加工が行われている時間をいう。正常加工時には、例えば通常の切削時、重切削時、通常の早送り時、高速早送り時を含む。一方、主軸衝突などの異常が発生した際に取得されたサンプリング値は、サンプリング値取得部１１０の取得対象から除外される。
【００１７】
また、サンプリング値取得部１１０は、運用期においては、運用時のサンプリング値を取得する。運用時とは、実際に加工を行っている時間をいい、正常加工時及び異常発生時の双方が含まれ得る。
【００１８】
学習部１２０は、正常時にサンプリング値取得部１１０が取得したサンプリング値、すなわち正常値を取得し、正常値の集合（クラスタ）を生成する。サンプリング値が推定負荷トルク値及び加速度センサ値とから構成されているとすると、正常値の集合は、図２に示すように、推定負荷トルク値及び加速度センサ値を軸とする二次元空間にプロットされた点の集合として表現できる。なお、サンプリング値に含まれる値は２種類に限定されるものでなく、任意のｎ種類であって良い。この場合、正常値の集合はｎ次元空間にプロットされた点の集合として表現される。
【００１９】
異常度判定部１３０は、運用期においてサンプリング値取得部１１０が取得したサンプリング値を取得し、取得したサンプリング値と、学習部１２０が生成した正常値の集合との距離に基づいて、異常度を計算する。異常度判定部１３０は、運用時に取得されたサンプリング値と、正常値の集合と、の距離が一定以上であるときに、異常発生が検出されたとみなすことができる。そして、当該距離が遠いほど大きな値となるような異常度を計算し、出力することができる。
【００２０】
図２に、運用時のサンプリング値と正常値の集合との距離と、異常度と、の関係を示す。図２において、黒丸は訓練期における正常時のサンプリング値（正常値）を、白丸は運用期におけるサンプリング値を示す。運用期におけるサンプリング値が正常値の集合から外れると、外れた距離に応じて異常度が計算される。例えば、異常度＝９と判定された運用期のサンプリング値は、異常度＝４と判定された運用期のサンプリング値よりも、正常値の集合からの距離が遠いことが分かる。そしてこの異常度に応じて、講じるべき対策もまた異なってくる。
【００２１】
対策部１４０は、異常度判定部１３０が算出した異常度に応じて対策を提示する。例えば図３に示すように、対策部１４０は、異常度と対策とを対応付けた対策データベース１４１を有する。対策部１４０は、異常度判定部１３０が異常度を出力したとき、当該異常度をキーとして対策データベース１４１を検索し、対応する対策を取得する。そして対策部１４０は、取得した対策を数値制御装置１００の図示しない表示装置に表示するなどしてユーザに提示する。
【００２２】
対策データベース１４１には、典型的には過去に異常が発生した際に実施された対策が、異常度と関連付けられて格納される。例えば対策部１４０は、異常が検出されたのち、その際の異常度と、図示しない入力装置等からユーザによって入力された対策と、を対応付けて対策データベース１４１に記録する。これにより対策データベース１４１には、熟練の作業者による異常度ごとの対策ノウハウが蓄積される。典型的には、対策は異常度に応じて異なるものとなるであろう。例えば主軸衝突が発生した場合、強く主軸が衝突したとき（異常度大）には主軸に損傷が生じることが多いため、交換が主な対策となる。一方、比較的軽く主軸が衝突したとき（異常度小）には、ベアリング交換が主な対策となりうる。あるいは、何の対策も必要ないこともありうる。
【００２３】
＜実施例１＞
以下、実施例１として、図４乃至図６のフローチャートを用いて、数値制御装置１００の訓練期及び運用期における動作の一例について説明する。
【００２４】
図４は、訓練期における処理を示す。
Ｓ１０１：サンプリング値取得部１１０は、正常加工時のサンプリング値を収集する。例えば、通常の切削、重切削、通常の早送り、高速早送りを含む加工を実施し、その間の推定負荷トルク値と加速度センサ値を取得する。
【００２５】
Ｓ１０２：学習部１２０は、Ｓ１０１で取得されたサンプリング値を用いて、正常値の集合を生成する。
【００２６】
Ｓ１０３：十分なデータが集まるまで、Ｓ１０１乃至Ｓ１０２の処理を繰り返し実施する。十分なデータを収集できたならば訓練期の処理を終了する。
【００２７】
図５は、運用期における処理を示す。
Ｓ２０１：サンプリング値取得部１１０は、運用時のサンプリング値を定期的に収集する。
【００２８】
Ｓ２０２：異常度判定部１３０は、Ｓ２０１で取得されたサンプリング値と、訓練期に生成された正常値の集合と、の距離に基づいて、異常発生の検出及び異常度の計算を行う。異常度の具体的な計算方法については後述する。
【００２９】
Ｓ２０３：Ｓ２０２において異常発生が検出された（異常度が出力された）ならば、Ｓ２０４に遷移する。その他の場合はＳ２０１以降の処理を再度実行する。
【００３０】
Ｓ２０４：対策部１４０は、Ｓ２０２で出力された異常度をキーとして対策データベース１４１を参照する。
【００３１】
Ｓ２０５：対策部１４０は、対策データベース１４１において異常度に対応付けられている対策を取得する。
【００３２】
Ｓ２０６：対策部１４０は、Ｓ２０５で取得した対策を数値制御装置１００の表示装置に表示するなどしてユーザに提示する。
【００３３】
Ｓ２０７：対策部１４０は、数値制御装置１００の入力装置などを介して、ユーザが実際に講じた対策の入力を受け付ける。対策部１４０は、入力された対策を、Ｓ２０２で出力された異常度と関連付けて、対策データベース１４１に追加登録する。
【００３４】
図６のフローチャート及び図７のグラフを用いて、Ｓ２０２における異常度算出処理の一例について説明する。
Ｓ３０１：異常度判定部１３０は、Ｓ１０２で生成された集合を構成する正常値各々を微小な正方形で囲み、それらの正方形を全て繋いだ領域を正常値の近似領域とする。ここで、微小正方形の一辺の長さを、ある正常値と当該正常値に最も近い他の正常値との距離Ｘを用いて式（１）または式（２）により定めることが好ましい。これにより、正規分布に従い近似領域内に９９．７％、または９５．５％の正常値を収めることができる。
一辺の長さ  ＝  Ｘの平均  ＋  Ｘの分散の３倍  ・・・（１）
一辺の長さ  ＝  Ｘの平均  ＋  Ｘの分散の２倍  ・・・（２）
なお図７に、近似領域の一例を図示する。
【００３５】
Ｓ３０２：異常度判定部１３０は、Ｓ２０１で取得された運用時のサンプリング値を微小な正方形で囲む。ここで微小正方形の一辺の長さは式（３）により定められる。ｎの初期値は１である。
式（１）又は（２）により算出された一辺の長さ  ＊  ｎ  ・・・（３）
【００３６】
Ｓ３０３：異常度判定部１３０は、Ｓ３０２の微小正方形と、Ｓ３０１の近似領域とが接触しているか否かを判定する。具体的には、Ｓ３０２の微小正方形内部の座標と、Ｓ３０１の近似領域内部の座標と、で一致するものがあるか否かを判定することで、接触の有無を判定可能である。接触している場合はＳ３０４に遷移する。接触していない場合は、式（３）のｎを１増加させ、式（３）を再計算することで、Ｓ３０２の微小正方形の一辺の長さを増加させ、Ｓ３０２以降の処理を再実行する。
【００３７】
これにより、Ｓ３０２の微小正方形は、Ｓ３０１の近似領域と接触するまで拡大してゆくことになる。図７に、Ｓ３０１の近似領域と接触するまで拡大した、Ｓ３０２の微小正方形の一例を示す。
【００３８】
Ｓ３０４：異常度判定部１３０は、Ｓ３０１の近似領域と接触した際の、Ｓ３０２の微小正方形の一辺の長さを用いて、式（４）により異常度を算出する。
異常度  ＝  一辺の長さ  ／  ２  ・・・（４）
【００３９】
Ｓ３０５：異常度判定部１３０は、Ｓ３０４で算出した異常度を出力する。
【００４０】
なお、微小正方形に代えて、円によって正常値及び／又は運用時のサンプリング値を囲む領域を形成した後、上述のように２つの領域の接触如何を調べることによって異常度を算出することとしても良い。円を用いるならば、正常値の集合と運用時のサンプリング値との距離をより精密に評価することが可能である。又は、円以外の他の図形を用いることも、本発明の範囲に含まれる。但し本実施例では、合理的な範囲内で計算量を抑制するため、微小正方形を用いる手法を採用する。
【００４１】
＜実施例２＞
実施例２として、図８及び図９のフローチャートを用いて、数値制御装置１００の訓練期及び運用期における動作の他の例について説明する。
【００４２】
図８は、訓練期における処理を示す。
Ｓ４０１：サンプリング値取得部１１０は、正常加工時のサンプリング値の時系列データを収集する。例えば、通常の切削、重切削、通常の早送り、高速早送りを含む加工を実施し、その間の推定負荷トルク値、加速度センサ値、及びサンプリング値の取得時刻に関する情報を収集する。ここでサンプリング値の取得時刻に関する情報は、サンプリング値の取得順序が分かる情報であれば良く、例えばサンプリング値の取得日時、サンプリング値の取得毎に付与されるシリアル番号等であって良い。
【００４３】
本実施例では、任意の時刻Ｔにおいて取得されたサンプリング値をＸＴと称する。特定の時刻ｔに取得されたサンプリング値をＸｔとすれば、次回、すなわち時刻ｔ＋１に取得されるサンプリング値はＸｔ＋１である。
【００４４】
Ｓ４０２：学習部１２０は、Ｓ４０１で取得されたサンプリング値を用いて、正常値の集合を生成する。
【００４５】
Ｓ４０３：十分なデータが集まるまで、Ｓ４０１乃至Ｓ４０２の処理を繰り返し実施する。十分なデータを収集できたならば訓練期の処理を終了する。
【００４６】
図９は、運用期における処理を示す。
Ｓ５０１：サンプリング値取得部１１０は、運用時のサンプリング値を定期的に収集する。
【００４７】
Ｓ５０２：異常度判定部１３０は、Ｓ５０１で取得されたサンプリング値と、訓練期に生成された正常値の集合と、の距離に基づいて、異常発生の検出及び異常度の計算を行う。具体的には、本実施例ではＳ５０１で取得されたサンプリング値と、訓練期に生成された正常値の集合から計算される回帰直線と、の距離に基づいて、異常発生の検出及び異常度の計算を行う。異常度の具体的な計算方法については後述する。
【００４８】
Ｓ５０３：Ｓ５０２において異常発生が検出された（異常度が出力された）ならば、Ｓ５０４に遷移する。その他の場合はＳ５０１以降の処理を再度実行する。
【００４９】
Ｓ５０４：対策部１４０は、Ｓ５０２で出力された異常度をキーとして対策データベース１４１を参照する。
【００５０】
Ｓ５０５：対策部１４０は、対策データベース１４１において異常度に対応付けられている対策を取得する。
【００５１】
Ｓ５０６：対策部１４０は、Ｓ５０５で取得した対策を数値制御装置１００の表示装置に表示するなどしてユーザに提示する。
【００５２】
Ｓ５０７：対策部１４０は、数値制御装置１００の入力装置などを介して、ユーザが実際に講じた対策の入力を受け付ける。対策部１４０は、入力された対策を、Ｓ５０２で出力された異常度と関連付けて、対策データベース１４１に追加登録する。
【００５３】
図１０のフローチャート及び図１１のグラフを用いて、Ｓ５０２における異常度算出処理の一例について説明する。
Ｓ６０１：異常度判定部１３０は、Ｓ４０２で生成された正常値ＸＴの集合から、１以上の回帰直線ＬＰを求める。例えば、推定負荷トルク値及び加速度センサ値をサンプリング値として取得した場合、異常度判定部１３０は、推定負荷トルク値及び加速度センサ値を軸とする２次元空間上にサンプリング値ＸＴをプロットし、ＸＴが属する回帰直線ＬＰを求める。
【００５４】
本実施例では、異常度判定部１３０は以下の手順により、正常時に動作に含まれる様々な種類の動作（通常の切削、重切削、通常の早送り、高速早送り等）毎に異なる回帰直線ＬＰを算出することができる。
【００５５】
異常度判定部１３０は、Ｓ４０２で取得された正常値ＸＴを時系列順に、すなわち取得された時刻が早いものから順にプロットしていく。そして一定数の正常値ＸＴがプロットされたならば、最小二乗法により回帰直線Ｌｐを求める。なお、プロットが存在しない範囲の回帰直線は意味を持たないため、実際には原点から最も遠いプロットと原点に最も近いプロットとの間の回帰線分Ｌｐを求めることになる。
【００５６】
異常度判定部１３０は、新たな（すなわち取得時刻がより遅い）ＸＴをプロットするたびに回帰線分とプロットとの距離を求める。距離が所定のしきい値以下であれば、新たなＸＴは既存の回帰線分Ｌｐに属するとみなしうる。このとき異常度判定部１３０は、新たなＸＴを考慮して回帰線分Ｌｐを計算し直すことができる。一方、距離が所定のしきい値を超えていれば、新たなＸＴは回帰線分Ｌｐに属さないものとみなしうる。そして、回帰線分Ｌｐに属さないＸＴが所定回数連続して取得された場合、異常度判定部１３０は、回帰線分Ｌｐに属さない複数のＸＴに基づいて新たな回帰線分Ｌｐ＋１を計算する。すなわち、回帰線分Ｌｐには属さない所定数のＸＴから、最小二乗法により回帰直線Ｌｐ＋１を求める。以下同様に、既存の回帰線分に属さないＸＴが一定数取得されるたびに、新たな回帰直線ＬＰを定義していく。
【００５７】
ここでそれぞれの回帰直線ＬＰは、様々な種類の動作（通常の切削、重切削、通常の早送り、高速早送り等）におけるサンプリング値の特性を示すものと考えることができる。例えば訓練期において通常の切削→重切削→通常の早送り→高速早送りが順次実行された場合、異常度判定部１３０は、通常の切削を示す回帰線分Ｌ１、重切削を示す回帰線分Ｌ２、通常の早送りを示す回帰線分Ｌ３、高速早送りを示す回帰線分Ｌ４を順次算出する。
【００５８】
Ｓ６０２：異常度判定部１３０は、Ｓ５０１で取得された運用期のサンプリング値に最も距離Ｄが近い回帰線分ＬＰを１つ特定する。なお、サンプリング値から回帰線分ＬＰに対する垂線が引けない場合には、サンプリング値から回帰線分ＬＰの終点までの距離を距離Ｄとみなすことができる。
【００５９】
Ｓ６０３：異常度判定部１３０は、Ｓ５０１で取得された運用期のサンプリング値と、Ｓ６０２で特定された回帰線分ＬＰと、の距離Ｄを用いて、式（５）により異常度を算出する。
異常度  ＝  式（１）又は（２）により算出された一辺の長さ  ／  距離Ｄ
・・・（５）
【００６０】
Ｓ６０４：異常度判定部１３０は、Ｓ６０３で算出した異常度を出力する。
【００６１】
＜実施例３＞
最後に実施例３として、図１２を用いて、実施例１又は実施例２の構成をノイズ検出処理に適用した例について説明する。
【００６２】
訓練期において、サンプリング値取得部１１０は、正常加工時のサンプリング値として、例えばＩ／Ｏ通信器において単位時間あたりに検出されたノイズ数、サーボアンプへの通信ケーブルにおいて単位時間あたりに検出されたノイズ数、及び他の制御装置との通信線において単位時間あたりに検出されたノイズ数を収集する（Ｓ１０１又はＳ４０１）。学習部１２０は、十分な数のサンプリング値を収集し、正常値の集合を生成する（Ｓ１０２乃至Ｓ１０３、又はＳ４０２乃至Ｓ４０３）。図１２に、訓練期において取得されたサンプリング値を黒点で示す。
【００６３】
これにより数値制御装置１００は、実際のシステム運用における、正常時のノイズ発生状況を把握することができる。例えば実際のノイズ発生頻度は、通信規格で許容されているものよりも小さな、特定の範囲に収まっていることを把握できる。
【００６４】
運用期において、サンプリング値取得部１１０は運用時のサンプリング値を定期的に収集する（Ｓ２０１又はＳ５０１）。そして異常度判定部１３０が、取得されたサンプリング値と、訓練期に生成された正常値の集合と、の距離に基づいて、異常発生の検出及び異常度の計算を行う（Ｓ２０２又はＳ５０２）。図１２に、運用期において取得されたサンプリング値を白い三角形で示す。黒点の分布に基づいて計算される領域又は回帰直線から一定の距離を有する白点は、異常値として認識される。異常発生が検出されたならば、対策部１４０が対策データベース１４１を参照して異常度ごとの対策を取得し、ユーザに提示する。また、必要に応じ対策データベースへの追加登録を行う。（Ｓ２０３乃至Ｓ２０７、又はＳ５０３乃至Ｓ５０７）。
【００６５】
これにより数値制御装置１００は、正常時のノイズ発生状況と比較して特異な状況を「異常」として検知し、かつその状況を「異常度」として定量化することができる。一般に通信機器は、通信規格で許容されているしきい値を超えて発生するノイズを検出可能であることが少なくない。しかし本実施例によれば、通信規格で許容されているしきい値を超えるものでなくとも、正常時の挙動とは異なる態様で発生するノイズを検出することができる。
【００６６】
本実施の形態によれば、数値制御装置１００は、近傍法により異常発生を検出し、かつ正常値の集合と異常発生時のサンプリング値との距離に基づいて異常度を算出する。これにより、異常時のデータを収集する必要が無く、しきい値などを事前に定義する必要も無いため、容易に異常を検出することが可能となる。加えて、発生した異常の程度を数値化することも可能となる。
【００６７】
また、数値制御装置１００は、異常度と対策とを対応付けて記憶しており、算出された異常度に対応する対策をユーザに提示することができる。これにより、異常度に応じた適切な対策を講じることが可能となる。
【００６８】
また、数値制御装置１００は、異常発生時のサンプリング値と、正常値の集合との距離に基づく異常度を計算する。特に数値制御装置１００は、正常値を囲む微小正方形からなる近似領域を定義する。また、異常発生時のサンプリング値を囲む微小正方形を定義し、当該微小正方形と近似領域とが接触する際の当該微小正方形の辺の長さに基づき、異常度を算出する。これにより、異常度計算にかかる処理量を効果的に削減することが可能である。
【００６９】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態又は実施例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。例えば、上述の実施例では、主軸の衝突を異常として検出する例を主に示したが、本発明はこれに限定されず、任意の異常の検出に適用することができる。また、上述の実施例では、サンプリング値として負荷電流値、加速度センサ値を使用する例を主に示したが、本発明はこれに限定されず、異常と相関性のある任意の値を使用することが可能である。
【００７０】
例えば、数値制御装置１００は、モータの不具合等を異常として検出するよう構成されても良い。この場合、サンプリング値として、例えばモータ温度、外気温等を使用することとしても良い。また、主軸の衝突を異常として検出する場合においては、サンプリング値として衝突時の音等を使用することとしても良い。
【００７１】
また、上述の実施例では、２種類のサンプリング値を使用して異常の検出及び異常度の算出を行う例を示したが、本発明はこれに限定されず、任意の種類数のサンプリング値を使用して異常の検出及び異常度の算出を行うことが可能である。例えば、サンプリング値が１種類であれば、異常発生時のサンプリング値と、正常値の集合と、の１次元の距離に基づいて異常の検出及び異常度の算出を行うことができる。サンプリング値が３種類であれば、異常発生時のサンプリング値と、正常値の集合と、の３次元空間における距離に基づいて異常の検出及び異常度の算出を行うことができる。同様に、サンプリング値がｎ種類であれば、異常発生時のサンプリング値と、正常値の集合と、のｎ次元空間での距離に基づいて異常の検出及び異常度の算出を行うことができる。
【符号の説明】
【００７２】
１００  数値制御装置
１１０  サンプリング値取得部
１２０  学習部
１３０  異常度判定部
１４０  対策部
【図１】
2019101503.tif 000003
【図２】
2019101503.tif 000004
【図３】
2019101503.tif 000005
【図４】
2019101503.tif 000006
【図５】
2019101503.tif 000007
【図６】
2019101503.tif 000008
【図７】
2019101503.tif 000009
【図８】
2019101503.tif 000010
【図９】
2019101503.tif 000011
【図１０】
2019101503.tif 000012
【図１１】
2019101503.tif 000013
【図１２】
2019101503.tif 000014