(57)【要約】【課題】対象装置の動作の異常を判定するための検知情報における実際の処理区間を精度よく推定することができる診断装置、診断システム、診断方法およびプログラムを提供する。【解決手段】複数のコンテキスト情報のうち稼動中の動作に対応するコンテキスト情報を取得する第１取得部と、対象装置の物理量を検知する検知部から出力される検知情報を取得する第２取得部と、検知情報のうち、対象装置の特定の動作区間を含む区間の検知情報の特徴を示す特徴情報を抽出する抽出部と、特徴情報に基づいて、基準となる基準特徴情報を選択し、対象特徴情報を順次選択する選択部と、基準特徴情報と、各対象特徴情報との比較から、処理区間らしさを算出する第１算出部と、処理区間らしさに基づいて、その処理区間らしさに対応する対象特徴情報が処理区間に含まれるかを判定する第１判定部と、判定結果に基づいて処理区間を推定する推定部と、を備える。【選択図】図４
2018156652.tif 000002
【特許請求の範囲】
【請求項１】
対象装置の動作の種類に基づいて定まる複数のコンテキスト情報のうち稼動中の動作に対応するコンテキスト情報を、前記対象装置から取得する第１取得部と、
前記対象装置の動作に応じて変化する物理量を検知する検知部から出力される検知情報を取得する第２取得部と、
前記第２取得部により取得された前記検知情報のうち、前記コンテキスト情報が示す前記対象装置の特定の動作区間を含む区間の該検知情報の特徴を示す特徴情報を抽出する抽出部と、
前記特徴情報に基づいて、基準となる基準特徴情報を選択し、前記基準特徴情報と比較するための対象特徴情報を順次選択する選択部と、
前記選択部により選択された前記基準特徴情報と、前記各対象特徴情報との比較から、前記対象装置の特定の処理の処理区間らしさを算出する第１算出部と、
前記処理区間らしさに基づいて、該処理区間らしさに対応する前記対象特徴情報が前記特定の処理の処理区間に含まれるか否かを判定する第１判定部と、
前記第１判定部の判定結果に基づいて、前記処理区間を推定する推定部と、
を備えた診断装置。
【請求項２】
前記選択部は、前記動作区間に基づいて、前記処理区間ではない非処理区間と判断できる区間の前記特徴情報を前記基準特徴情報として選択する請求項１に記載の診断装置。
【請求項３】
前記選択部は、前記基準特徴情報として選択した過去の所定回数の情報を平均化して新たな基準特徴情報として選択する請求項１に記載の診断装置。
【請求項４】
前記選択部は、前記特徴情報に対する機械学習によって生成した情報を前記基準特徴情報として選択する請求項１に記載の診断装置。
【請求項５】
前記抽出部は、前記動作区間を含む区間の前記検知情報の周波数スペクトルを、前記特徴情報として抽出し、
前記第１算出部は、前記基準特徴情報としての周波数スペクトルと、前記各対象特徴情報としての周波数スペクトルとの差異に基づいて、前記処理区間らしさを算出する請求項１〜４のいずれか一項に記載の診断装置。
【請求項６】
前記第１判定部は、前記処理区間らしさが所定の閾値よりも大きい場合、該処理区間らしさに対応する前記対象特徴情報が前記特定の処理の処理区間に含まれると判定する請求項１〜５のいずれか一項に記載の診断装置。
【請求項７】
前記推定部により推定された前記処理区間の長さと、所定区間の長さとの比較の結果、前記動作区間における前記対象装置の工具の異常の有無を判定する第２判定部を、さらに備えた請求項１〜６のいずれか一項に記載の診断装置。
【請求項８】
前記第２判定部は、前記推定部により推定された前記処理区間の長さが、前記所定区間の長さよりも所定の長さ以上短い場合、前記工具に異常が発生したと判定する請求項７に記載の診断装置。
【請求項９】
前記所定区間は、前記推定部により正常な前記処理区間として過去に推定された区間のうち所定回数分に基づいて算出された区間である請求項７または８に記載の診断装置。
【請求項１０】
前記所定区間は、前記推定部により前回推定された前記処理区間である請求項７または８に記載の診断装置。
【請求項１１】
前記所定区間は、前記動作区間である請求項７または８に記載の診断装置。
【請求項１２】
前記推定部により推定された前記処理区間に対応する前記特徴情報の変化を示すスコアを算出する第２算出部を、さらに備えた請求項１〜１１のいずれか一項に記載の診断装置。
【請求項１３】
前記第２算出部により算出されたスコアを時系列に表示部に表示させる表示制御部を、さらに備えた請求項１２に記載の診断装置。
【請求項１４】
１以上の前記コンテキスト情報それぞれに対応する１以上のモデルのうち、前記第１取得部により取得された前記コンテキスト情報に対応するモデルと、該コンテキスト情報に対応し、かつ、前記推定部により推定された前記処理区間に対応する前記特徴情報と、を用いて、前記対象装置の動作が正常であるか否かを判定する第３判定部を、さらに備えた請求項１〜１３のいずれか一項に記載の診断装置。
【請求項１５】
前記第１取得部により取得された前記コンテキスト情報に対応する前記特徴情報のうち、前記推定部により推定された前記処理区間に対応する前記特徴情報からモデルを生成する生成部を、さらに備えた請求項１４に記載の診断装置。
【請求項１６】
前記検知部と、
請求項１〜１５のいずれか一項に記載の診断装置と、
を有する診断システム。
【請求項１７】
対象装置の動作の種類に基づいて定まる複数のコンテキスト情報のうち稼動中の動作に対応するコンテキスト情報を、前記対象装置から取得する第１取得ステップと、
前記対象装置の動作に応じて変化する物理量を検知する検知部から出力される検知情報を取得する第２取得ステップと、
取得した前記検知情報のうち、前記コンテキスト情報が示す前記対象装置の特定の動作区間を含む区間の該検知情報の特徴を示す特徴情報を抽出する抽出ステップと、
前記特徴情報に基づいて、基準となる基準特徴情報を選択し、前記基準特徴情報と比較するための対象特徴情報を順次選択する選択ステップと、
選択した前記基準特徴情報と、前記各対象特徴情報との比較から、前記対象装置の特定の処理の処理区間らしさを算出する算出ステップと、
前記処理区間らしさに基づいて、該処理区間らしさに対応する前記対象特徴情報が前記特定の処理の処理区間に含まれるか否かを判定する判定ステップと、
判定結果に基づいて、前記処理区間を推定する推定ステップと、
を有する診断方法。
【請求項１８】
コンピュータに、
対象装置の動作の種類に基づいて定まる複数のコンテキスト情報のうち稼動中の動作に対応するコンテキスト情報を、前記対象装置から取得する第１取得ステップと、
前記対象装置の動作に応じて変化する物理量を検知する検知部から出力される検知情報を取得する第２取得ステップと、
取得した前記検知情報のうち、前記コンテキスト情報が示す前記対象装置の特定の動作区間を含む区間の該検知情報の特徴を示す特徴情報を抽出する抽出ステップと、
前記特徴情報に基づいて、基準となる基準特徴情報を選択し、前記基準特徴情報と比較するための対象特徴情報を順次選択する選択ステップと、
選択した前記基準特徴情報と、前記各対象特徴情報との比較から、前記対象装置の特定の処理の処理区間らしさを算出する算出ステップと、
前記処理区間らしさに基づいて、該処理区間らしさに対応する前記対象特徴情報が前記特定の処理の処理区間に含まれるか否かを判定する判定ステップと、
判定結果に基づいて、前記処理区間を推定する推定ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断装置、診断システム、診断方法およびプログラムに関する。
【背景技術】
【０００２】
工作機械等がワークを加工する上で、工具の異常ならびに加工品質の予知および推定を行う方法として、機械のモータの電流値の情報、振動、または力等の物理量を検知して用いる方法が既に知られている。
【０００３】
このような物理量を検知して工具の異常等を判定する装置として、振動センサの振動情報の振幅変化から加工動作の異常を検出する装置が知られている（特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術では、振動センサを取り付けて切削中の振動を検知する方式となるが、実際に工具によって切削加工している区間を明確に把握することができず、かつ、当該区間以外の区間で、工具を変えたり、または、ワークの位置を変えたりすることによってノイズが混入する可能性があるため、正確な異常判定を行うことが困難であるという問題点がある。
【０００５】
本発明は、上述の課題に鑑みてなされたものであって、対象装置の動作の異常を判定するための検知情報における実際の処理区間を精度よく推定することができる診断装置、診断システム、診断方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、対象装置の動作の種類に基づいて定まる複数のコンテキスト情報のうち稼動中の動作に対応するコンテキスト情報を、前記対象装置から取得する第１取得部と、前記対象装置の動作に応じて変化する物理量を検知する検知部から出力される検知情報を取得する第２取得部と、前記第２取得部により取得された前記検知情報のうち、前記コンテキスト情報が示す前記対象装置の特定の動作区間を含む区間の該検知情報の特徴を示す特徴情報を抽出する抽出部と、前記特徴情報に基づいて、基準となる基準特徴情報を選択し、前記基準特徴情報と比較するための対象特徴情報を順次選択する選択部と、前記選択部により選択された前記基準特徴情報と、前記各対象特徴情報との比較から、前記対象装置の特定の処理の処理区間らしさを算出する第１算出部と、前記処理区間らしさに基づいて、該処理区間らしさに対応する前記対象特徴情報が前記特定の処理の処理区間に含まれるか否かを判定する第１判定部と、前記第１判定部の判定結果に基づいて、前記処理区間を推定する推定部と、を備える。
【発明の効果】
【０００７】
本発明によれば、対象装置の動作の異常を判定するための検知情報における実際の処理区間を精度よく推定することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る診断システムの全体構成の一例を示す図である。
【図２】図２は、実施形態の加工機のハードウェア構成の一例を示す図である。
【図３】図３は、実施形態に係る診断装置のハードウェア構成の一例を示す図である。
【図４】図４は、実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。
【図５】図５は、検知情報およびラダー信号の一例を示す図である。
【図６】図６は、検知情報から抽出した特徴情報の一例を示す図である。
【図７】図７は、非加工区間および加工区間の特徴情報を選択する一例を説明する図である。
【図８】図８は、非加工区間および加工区間から選択した特徴情報である周波数スペクトルの一例を示す図である。
【図９】図９は、加工区間らしさを算出した一例を示す図である。
【図１０】図１０は、算出した加工区間らしさから加工区間を推定する動作を説明する図である。
【図１１】図１１は、実施形態における加工区間推定処理の一例を示すフローチャートである。
【図１２】図１２は、実施形態における診断処理の一例を示すフローチャートである。
【図１３】図１３は、実施形態におけるモデル生成処理の一例を示すフローチャートである。
【図１４】図１４は、実施形態におけるモデル生成処理および診断処理の具体例を説明する図である。
【図１５】図１５は、共通のモデルを他の加工工程で使用する例を説明する図である。
【図１６】図１６は、モデルが生成されていないコンテキスト情報が入力された場合にモデルを生成する動作を説明する図である。
【図１７】図１７は、変形例１に係る診断システムの機能ブロックの構成の一例を示す図である。
【図１８】図１８は、工具の折損を検出する動作の一例を示す図である。
【図１９】図１９は、変形例２に係る診断システムの機能ブロックの構成の一例を示す図である。
【図２０】図２０は、工具の劣化に伴う周波数スペクトルの変化の一例を説明する図である。
【図２１】図２１は、折損予兆スコアの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、図１〜図２１を参照しながら、本発明に係る診断装置、診断システム、診断方法およびプログラムの実施形態を詳細に説明する。また、以下の実施形態によって本発明が限定されるものではなく、以下の実施形態における構成要素には、当業者が容易に想到できるもの、実質的に同一のもの、およびいわゆる均等の範囲のものが含まれる。さらに、以下の実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換、変更および組み合わせを行うことができる。
【００１０】
（診断システムの全体構成）
図１は、実施形態に係る診断システムの全体構成の一例を示す図である。図１を参照しながら、本実施形態に係る診断システム１の全体構成について説明する。
【００１１】
図１に示すように、本実施形態に係る診断システム１は、加工機２００に設置されたセンサ５７と、センサ５７の検知感度等を調整するセンサアンプ５８と、診断装置１００と、を含む。センサアンプ５８と診断装置１００との間には、センサ５７からの出力信号をフィルタリングする数種類のフィルタ、または、フィルタを選択するフィルタ選択手段が必要に応じて設けてもよい。センサアンプ５８の増幅率を制御する増幅率制御手段も必要に応じて設けてもよい。加工機２００は、診断装置１００に対して通信可能となるように接続されている。なお、図１には１台の加工機２００が診断装置１００に接続されている例が示されているが、これに限定されるものではなく、複数台の加工機２００が診断装置１００に対して、それぞれ通信可能となるように接続されているものとしてもよい。
【００１２】
加工機２００は、工具を用いて、加工対象に対して切削、研削または研磨等の加工を行う工作機械である。加工機２００は、診断装置１００による診断の対象となる対象装置の一例である。なお、対象装置として加工機２００に限定されるものではなく、診断の対象となり得る実動作区間の推定を必要とする機械であればよく、例えば、組立機、測定機、検査機、または洗浄機等の機械が対象装置であってもよい。また、これにはクラッチ、ギヤ等を含む動力源となるエンジン、またはモータを含む機械も含まれる。以下では、加工機２００を対象装置の一例として説明する。
【００１３】
診断装置１００は、加工機２００に対して通信可能となるように接続され、加工機２００の動作について異常の診断を行う装置である。
【００１４】
センサ５７は、加工機２００に設置されたドリル、エンドミル、バイトチップもしくは砥石等の工具と加工対象とが加工動作中に接触することにより発する振動もしくは音等、または、工具もしくは加工機２００自体が発する振動もしくは音等の物理量を検知し、検知した物理量の情報を検知情報（センサデータ）として、センサアンプ５８を介して診断装置１００へ出力するセンサである。センサ５７は、例えば、マイク、振動センサ、加速度センサ、またはＡＥセンサ等で構成され、例えば、振動または音等の物理量の変化を検出する。これらの検出手段は、ドリル、エンドミル、バイトチップまたは砥石等の機械的振動を発生する工具の近傍に設置される。設置方法は、ネジによる固定、マグネットによる固定、接着剤による接着、または、対象装置に穴開け加工等を行ってそこに埋め込むことによる設置等の方法により設置される。
【００１５】
なお、加工機２００と診断装置１００とは、どのような接続形態で接続されてもよい。例えば、加工機２００と診断装置１００とは、専用の接続線、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線ネットワーク、または、無線ネットワーク等により接続されるものとすればよい。
【００１６】
また、センサ５７の個数は任意であってよい。また、同一の物理量を検知する複数のセンサ５７を備えてもよいし、相互に異なる物理量を検知する複数のセンサ５７を備えてもよい。
【００１７】
センサアンプ５８は、センサ５７の検知感度等を調整し、かつ、センサ５７により検出された検知情報を出力する装置である。
【００１８】
また、センサ５７およびセンサアンプ５８は、加工機２００に予め備えられているものとしてもよく、または、完成機械である加工機２００に対して後から取り付けられるものとしてもよい。また、センサアンプ５８は、加工機２００に設置されることに限定されるものではなく、診断装置１００側に設置されるものとしてもよい。
【００１９】
（加工機のハードウェア構成）
図２は、実施形態の加工機のハードウェア構成の一例を示す図である。図２を参照しながら、本実施形態の加工機２００のハードウェア構成について説明する。
【００２０】
図２に示すように、加工機２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５３と、通信Ｉ／Ｆ（インターフェース）５４と、駆動制御回路５５と、がバス５９で通信可能に接続された構成となっている。センサ５７が接続されたセンサアンプ５８は、診断装置１００に通信可能に接続されている。
【００２１】
ＣＰＵ５１は、加工機２００の全体を制御する演算装置である。ＣＰＵ５１は、例えば、ＲＡＭ５３をワークエリア（作業領域）としてＲＯＭ５２等に格納されたプログラムを実行することで、加工機２００全体の動作を制御し、加工機能を実現する。
【００２２】
通信Ｉ／Ｆ５４は、診断装置１００等の外部装置と通信するためのインターフェースである。駆動制御回路５５は、モータ５６の駆動を制御する回路である。モータ５６は、ドリル、エンドミル、バイトチップまたは砥石等、および、加工対象が載置され加工に合わせて移動されるテーブル等の加工に用いる工具を駆動するモータである。センサ５７およびセンサアンプ５８は、上述の通りである。
【００２３】
（診断装置のハードウェア構成）
図３は、実施形態に係る診断装置のハードウェア構成の一例を示す図である。図３を参照しながら、本実施形態に係る診断装置１００のハードウェア構成について説明する。
【００２４】
図３に示すように、診断装置１００は、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、通信Ｉ／Ｆ６４と、センサＩ／Ｆ６５と、補助記憶装置６６と、入力装置６７と、ディスプレイ６８と、がバス６９で通信可能に接続された構成となっている。
【００２５】
ＣＰＵ６１は、診断装置１００の全体を制御する演算装置である。ＣＰＵ６１は、例えば、ＲＡＭ６３をワークエリア（作業領域）としてＲＯＭ６２等に格納されたプログラムを実行することで、診断装置１００全体の動作を制御し、診断機能を実現する。
【００２６】
通信Ｉ／Ｆ６４は、加工機２００等の外部装置と通信するためのインターフェースである。通信Ｉ／Ｆ６４は、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に対応したＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等である。
【００２７】
センサＩ／Ｆ６５は、加工機２００に設置されたセンサ５７からセンサアンプ５８を介して検知情報を受信するためのインターフェースである。
【００２８】
補助記憶装置６６は、診断装置１００の設定情報、加工機２００から受信された検知情報およびコンテキスト情報、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、およびアプリケーションプログラム等の各種データを記憶するＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、またはＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶装置である。なお、補助記憶装置６６は、診断装置１００が備えるものとしているが、これに限定されるものではなく、例えば、診断装置１００の外部に設置された記憶装置であってもよく、または、診断装置１００とデータ通信可能なサーバ装置が備えた記憶装置であってもよい。
【００２９】
入力装置６７は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うためのマウスまたはキーボード等の入力装置である。
【００３０】
ディスプレイ６８は、文字、数字、および各種画面および操作用アイコン等を表示するＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、または有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示装置である。
【００３１】
なお、図３に示したハードウェア構成は一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。例えば、診断装置１００が加工機２００の診断動作に特化し、診断結果を外部のサーバ装置等に送信する場合、入力装置６７およびディスプレイ６８は備えられていない構成としてもよい。
【００３２】
（診断システムの機能ブロックの構成および動作）
図４は、実施形態に係る診断システムの機能ブロックの構成の一例を示す図である。図５は、検知情報およびラダー信号の一例を示す図である。図６は、検知情報から抽出した特徴情報の一例を示す図である。図７は、非加工区間および加工区間の特徴情報を選択する一例を説明する図である。図８は、非加工区間および加工区間から選択した特徴情報である周波数スペクトルの一例を示す図である。図９は、加工区間らしさを算出した一例を示す図である。図１０は、算出した加工区間らしさから加工区間を推定する動作を説明する図である。図４〜図１０を参照しながら、本実施形態に係る診断システム１および加工機２００の機能ブロックの構成および動作について説明する。
【００３３】
図４に示すように、加工機２００は、数値制御部２０１と、通信制御部２０２と、駆動制御部２０３と、駆動部２０４と、検知部２１１と、を有する。
【００３４】
数値制御部２０１は、駆動部２０４による加工を数値制御（ＮＣ：Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）により実行する機能部である。例えば、数値制御部２０１は、駆動部２０４の動作を制御するための数値制御データを生成して出力する。また、数値制御部２０１は、コンテキスト情報を通信制御部２０２に出力する。ここで、コンテキスト情報とは、加工機２００の動作の種類ごとに複数定められる情報である。コンテキスト情報は、例えば、工作機械（加工機２００）の識別情報、駆動部２０４の識別情報（例えば、工具の識別情報等）、駆動部２０４に駆動される工具の径、および工具の材質等のコンフィギュレーション情報、ならびに、駆動部２０４に駆動される工具の動作状態、駆動部２０４の使用開始からの累積使用時間、駆動部２０４に係る負荷、駆動部２０４の回転数、駆動部２０４の加工速度等の加工条件の情報等を示す情報である。なお、これらのコンテキスト情報のうち、駆動部２０４に駆動される工具の動作状態を示す情報として、例えば、工具の加工対象に対する送り動作から実際の加工処理が終了するまでの区間を示すためのＯＮ／ＯＦＦ信号（以下、「ラダー信号」と称する）等が含まれる。
【００３５】
数値制御部２０１は、例えば、現在の加工機２００の動作に対応するコンテキスト情報を、逐次、通信制御部２０２を介して診断装置１００に送信する。数値制御部２０１は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部２０４の種類、または駆動部２０４の駆動状態（回転数、回転速度等）を変更する。数値制御部２０１は、動作の種類を変更するごとに、変更した動作の種類に対応するコンテキスト情報を、通信制御部２０２を介して診断装置１００に逐次送信する。数値制御部２０１は、例えば、図２に示すＣＰＵ５１で動作するプログラムによって実現される。
【００３６】
通信制御部２０２は、診断装置１００等の外部装置との間の通信を制御する機能部である。例えば、通信制御部２０２は、現在の動作に対応するコンテキスト情報を診断装置１００に送信する。通信制御部２０２は、例えば、図２に示す通信Ｉ／Ｆ５４、およびＣＰＵ５１で動作するプログラムによって実現される。
【００３７】
駆動制御部２０３は、数値制御部２０１により求められた数値制御データに基づいて、駆動部２０４を駆動制御する機能部である。駆動制御部２０３は、例えば、図２に示す駆動制御回路５５によって実現される。
【００３８】
駆動部２０４は、駆動制御部２０３による駆動制御の対象となる機能部である。駆動部２０４は、駆動制御部２０３による制御によって工具を駆動する。駆動部２０４は、駆動制御部２０３によって駆動制御されるアクチュエータであり、例えば、図２に示すモータ５６等によって実現される。なお、駆動部２０４は、加工に用いられ、数値制御の対象となるものであればどのようなアクチュエータであってもよい。また、駆動部２０４は、２以上備えられていてもよい。
【００３９】
検知部２１１は、加工機２００に設置されたドリル、エンドミル、バイトチップもしくは砥石等の工具と加工対象とが加工動作中に接触することにより発する振動もしくは音等、または、工具もしくは加工機２００自体が発する振動もしくは音等の物理量を検知し、検知した物理量の情報を検知情報（センサデータ）として診断装置１００へ出力する機能部である。検知部２１１は、例えば、図２に示すセンサ５７およびセンサアンプ５８によって実現される。なお、検知部２１１の個数は任意である。例えば、同一の物理量を検知する複数の検知部２１１を備えてもよいし、相互に異なる物理量を検知する複数の検知部２１１を備えてもよい。例えば、加工に用いる工具である刃の折れ、および、刃のチッピング等が発生すると、加工時の音が変化する。このため、検知部２１１（マイク）で音響データを検知し、正常音を判断するためのモデル等を用いて判断することにより、加工機２００の動作の異常を検知可能となる。
【００４０】
なお、図４に示す数値制御部２０１および通信制御部２０２は、図２に示すＣＰＵ５１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００４１】
図４に示すように、診断装置１００は、通信制御部１０１と、検知情報受信部１０２（第２取得部）と、加工情報取得部１０３（第１取得部）と、受付部１０４と、特徴抽出部１０５（抽出部）と、選択部１０６と、算出部１０７（第１算出部）と、区間判定部１０８（第１判定部）と、推定部１０９と、対象区間特定部１１０と、生成部１１１と、異常判定部１１２（第３判定部）と、記憶部１１３と、入力部１１４と、表示制御部１１５と、表示部１１６と、を有する。
【００４２】
通信制御部１０１は、加工機２００との間の通信を制御する機能部である。例えば、通信制御部１０１は、加工機２００の数値制御部２０１から、通信制御部２０２を介して、コンテキスト情報を受信する。通信制御部１０１は、例えば、図３に示す通信Ｉ／Ｆ６４、およびＣＰＵ６１で動作するプログラムによって実現される。
【００４３】
検知情報受信部１０２は、加工機２００に設置された検知部２１１から検知情報を受信する機能部である。検知情報受信部１０２は、例えば、図３に示すセンサＩ／Ｆ６５、およびＣＰＵ６１で動作するプログラムによって実現される。
【００４４】
加工情報取得部１０３は、加工機２００から、通信制御部１０１により受信されたコンテキスト情報（加工情報）を取得する機能部である。加工情報取得部１０３は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００４５】
ここで、図５に、検知情報受信部１０２により受信された検知情報（センサデータ）、および加工情報取得部１０３により取得されたコンテキスト情報のうち上述のラダー信号の一例を示す。図５に示すように、検知信号は、工具が加工対象に接触する前後の非加工区間（非処理区間の一例）を示す波形部分、および、工具が加工対象に接触して実際の加工処理を行っている加工区間（処理区間の一例）を示す波形部分が含まれる。上述のように、例えば、加工機２００は、工具の加工対象に対する送り動作から実際の加工処理が終了するまでの区間を示すためのＯＮ／ＯＦＦ信号であるラダー信号をコンテキスト情報の一部として出力するものとする。具体的には、加工機２００は、例えば、工具による加工動作の開始時にラダー信号をＯＮにし、工具を加工対象まで送り動作をさせ、実際の加工処理が終了したときにラダー信号をＯＦＦとする。この場合、加工機２００は、工具が加工対象に接触してからラダー信号をＯＮさせているわけではないので、図５に示すように、ラダー信号がＯＮ状態となる区間（以下、「工具送り区間」と称する場合がある）には、工具が加工対象に接触しない区間（例えば、工具を加工対象まで送り動作を行う区間）である非加工区間と、工具が加工対象に接触して加工処理を行う加工区間とが含まれることになる。さらに、この場合、工具送り区間（動作区間）ではない区間、すなわち、ラダー信号がＯＦＦ状態の区間は、非加工区間ということになる。このとき、工具送り区間に基づいて、加工区間を正確に判定することは、加工条件等によっては加工対象と工具との距離がわからない等の問題から、困難である。また、加工機２００の動作の異常判定の処理（診断処理）に際し、工具送り区間に含まれる検知情報を用いる場合、非加工区間の検知情報を含むため、判定の精度が低下する等の問題が生じる。したがって、後述するように、検知情報から加工区間を精度よく推定して、推定した加工区間に含まれる検知情報（ひいてはそこから抽出される後述の特徴情報）を、診断処理に用いることが、精度の高い診断処理を行う上で重要となる。
【００４６】
受付部１０４は、通信制御部１０１が加工機２００から受信するコンテキスト情報とは異なるコンテキスト情報の入力を受け付ける機能部である。例えば、累積使用時間は加工機２００から取得するように構成できる。この場合、加工機２００は、例えば、工具を交換したときに累積使用時間をリセット（初期化）する機能を備えていてもよい。
【００４７】
累積使用時間を加工機２００から取得せず、受付部１０４が受け付けるように構成することもできる。受付部１０４は、例えば、キーボードおよびタッチパネル等により実現される入力部１１４から入力されたコンテキスト情報を受け付ける。受付部１０４で受け付けるコンテキスト情報は、累積使用時間に限らず、例えば、使用する工具の仕様の情報（工具の直径、刃数、材質、工具にコーティングが施されているか否か等）、加工対象の情報（材質等）の情報でもよい。また、受付部１０４は、外部装置からコンテキスト情報を受信するように構成してもよい。受付部１０４は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。なお、加工機２００以外からコンテキスト情報を受け付ける必要がない場合は、受付部１０４は備えなくてもよい。
【００４８】
特徴抽出部１０５は、異常判定部１１２による判定等で用いる特徴情報を、検知情報から抽出する機能部である。特徴情報は、検知情報の特徴を示す情報であればどのような情報であってもよい。例えば、検知情報がマイクにより集音された音響データである場合、特徴抽出部１０５は、エネルギー、周波数スペクトル、および、ＭＦＣＣ（メル周波数ケプストラム係数）等を特徴情報として抽出してもよい。特徴抽出部１０５は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００４９】
ここで、図６に、検知情報受信部１０２により受信された検知情報から、特徴抽出部１０５によって抽出された特徴情報の一例を示す。本実施形態では、抽出される特徴情報は、周波数スペクトルであるものとして説明する。特徴抽出部１０５は、例えば、検知情報に対してフレームごとにフーリエ変換を行うことによって特徴情報を抽出する。ここで、フレームとは、検知情報の所定時間（例えば、２０［ｍｓ］、４０［ｍｓ］等）のデータ量を示し、例えば、特徴情報が、検知情報に対してフーリエ変換することにより得られる周波数スペクトルである場合の窓長のデータ量に相当する。図６に示す特徴情報は、対応する検知情報のフレームの時間に関連付けられている。図６に示すように、加工区間の周波数スペクトルは、非加工区間の周波数スペクトルと相違する特徴を有する。ただし、図６では、非加工区間の特徴情報と加工区間の特徴情報との違いを模式的に示すため、非加工区間において周波数成分が図示されていないが、非加工区間に各周波数成分が存在しないことを示すわけではない。以下の説明では、１つの加工区間を推定するために、特徴抽出部１０５によって、検知情報受信部１０２により受信される検知情報のうち、所定範囲（例えば、ラダー信号がＯＮ状態の区間を含む区間）の検知情報から抽出された特徴情報を利用するものとする。
【００５０】
選択部１０６は、特徴抽出部１０５により抽出された特徴情報から、例えば、フレームごとの特徴情報を選択する機能部である。選択部１０６は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５１】
ここで、図７に、選択部１０６によって、非加工区間の特徴情報において選択部分４０１のフレームに対応する特徴情報と、加工区間の特徴情報において選択部分４０２のフレームに対応する特徴情報とが選択された例を示す。非加工区間の特徴情報を選択する場合、図７に示す選択部分４０１のように、例えば、ラダー信号がＯＦＦ状態の区間（工具送り区間以外の区間）の特徴情報を選択するものとすればよい。一方、加工区間の特徴情報を選択する場合、図７に示す選択部分４０２のように、例えば、ラダー信号がＯＮ状態の区間のうち前半部分には非加工区間を含み得ることから、後半部分の特徴情報を選択するものとすればよい。
【００５２】
以下の説明では、非加工区間の特徴情報を基準にして、他の部分（フレーム）で選択した特徴情報と比較するため、選択部１０６は、非加工区間の当該特徴情報を基準特徴情報として選択する。そして、選択部１０６は、上述の所定範囲（例えば、ラダー信号がＯＮ状態の区間を含む区間）において、基準特徴情報と比較するため、順次、フレーム単位で特徴情報を選択していく。なお、選択部１０６は、非加工区間に含まれる特徴情報に対する機械学習等によって生成された情報を基準特徴情報として選択するものとしてもよい。
【００５３】
なお、選択部１０６による非加工区間で基準特徴情報を選択する場合、上述のように、ラダー信号がＯＦＦ状態の区間（工具送り区間以外の区間）の特徴情報を選択することに限定されるものではない。例えば、ラダー信号がＯＮした直後の区間も非加工区間である可能性が高いことから、当該直後の区間の特徴情報を基準特徴情報として選択するものとしてもよい。また、ラダー信号の代わりに、加工機２００が送信するコンテキスト情報から得られる駆動部２０４の回転数を用いて、実際に加工を行うための回転数となっている期間を診断装置１００で判断し、その判断した結果を用いるものとしてもよい。また、非加工区間の特徴情報の選択手法として、統計的手法または機械学習等を用いて分類し選択してもよい。
【００５４】
また、選択部１０６は、基準特徴情報と比較するために、上述の所定範囲で、順次、フレーム単位で特徴情報を選択する場合、各フレームが重複することを妨げるものではない。
【００５５】
また、選択部１０６により選択される基準特徴情報について、例えば、過去の選択された所定回数分の基準特徴情報を平均した情報等を、後述の算出部１０７により使用されるものとしてもよい。これによって、選択される基準特徴情報に含み得る雑音等の影響を抑制することができる。
【００５６】
また、図８に、選択部１０６によって選択された選択部分４０１のフレームに対応する特徴情報としての周波数スペクトル、および、選択部分４０２のフレームに対応する特徴情報としての周波数スペクトルの一例を示す。図８では、選択部分４０２の周波数スペクトルは、工具が加工対象に接触して加工処理を行っている加工区間での周波数スペクトルであるため、特定の周波数成分において振幅が大きい周波数スペクトルとなっている。一方、選択部分４０１の周波数スペクトルは、工具が加工対象に接触していない非加工区間の検知情報の振動の振幅は小さくなり、その特徴情報である周波数スペクトルに現れる振幅も小さくなっている。なお、上述のように図８は選択部分４０１、４０２それぞれの周波数スペクトルの一例であり、例えば、非加工区間の選択部分４０１の方が、加工区間の選択部分４０２よりも、周波数スペクトルに現れる振幅が小さくなる場合もあり得る。
【００５７】
算出部１０７は、選択部１０６により選択された基準特徴情報（非加工区間の特徴情報）と、選択部１０６により順次選択された上述の所定範囲（例えば、ラダー信号がＯＮ状態の区間を含む区間）の特徴情報（以下、「対象特徴情報」と称する場合がある）とを比較して、それぞれの対象特徴情報の加工区間らしさ（処理区間らしさの一例）を算出する機能部である。例えば、基準特徴情報と、対象特徴情報との比較方法としては、ユークリッド距離を求めて比較する方法の他、相互相関係数またはＧＭＭ（Ｇａｕｓｓｉａｎ  Ｍｉｘｔｕｒｅ  Ｍｏｄｅｌ）等（機械学習の一例）を用いるものとしてもよい。算出部１０７は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００５８】
ここで、図９に、算出部１０７が、基準特徴情報と、各対象特徴情報とのユークリッド距離を求めて正規化した値を加工区間らしさとして算出した例を示す。図９においては、加工区間らしさが「１」に近いほど、加工区間の尤もらしさが高いことを示す。なお、加工区間らしさは、雑音を含む検知情報から抽出された特徴情報から算出されるので、図９に示すように、ばらつきを含む値となる。
【００５９】
なお、選択部１０６により非加工区間で特徴情報を基準特徴情報として選択され、算出部１０７によりその基準特徴情報との比較で各対象特徴情報の加工区間らしさが算出されるものとしたが、これに限定されるものではない。すなわち、選択部１０６により加工区間の特徴情報を基準特徴情報として選択され、算出部１０７により加工区間らしさが算出されるものとしてもよい。また、この場合、加工区間らしさではなく、非加工区間らしさを算出するものとしてもよい。ただし、非加工区間らしさを示す値は、加工区間らしさの裏返しを示す値である。
【００６０】
区間判定部１０８は、算出部１０７により算出された加工区間らしさに対して閾値判定を行う機能部である。区間判定部１０８は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００６１】
推定部１０９は、区間判定部１０８によって加工区間らしさが所定の閾値よりも大きいと判定された区間を、加工区間として推定する機能部である。推定部１０９は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００６２】
ここで、図１０に、算出部１０７により算出された加工区間らしさに対して、区間判定部１０８により閾値判定がなされ、推定部１０９により加工区間が推定された例を示す。図１０に示すように、加工区間らしさが所定の閾値よりも大きい「推定される加工区間」が加工区間として推定されることになる。逆に、加工区間らしさが閾値よりも小さい区間を非加工区間として推定することができる。このように、推定部１０９により推定された加工区間に含まれる検知情報（特徴情報）を診断処理に用いることによって、精度の高い診断処理を行うことができる。
【００６３】
なお、加工区間を推定するために、区間判定部１０８は、加工区間らしさに対して閾値判定を行うものとしているが、これに限定されるものではなく、例えば、統計的な手法を用いて、加工区間らしさに対して判定を行うものとしてもよい。
【００６４】
対象区間特定部１１０は、特徴抽出部１０５により抽出された特徴情報のうち、推定部１０９により推定された加工区間に対応する特徴情報を特定する機能部である。対象区間特定部１１０は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００６５】
生成部１１１は、加工機２００の正常動作時に検知情報から特徴抽出部１０５により抽出された特徴情報を用いた学習により、加工情報取得部１０３により取得されたコンテキスト情報に対応する、加工が正常に行われたことを判断するためのモデルを生成する機能部である。なお、モデルを外部装置で生成する場合は、生成部１１１は備えられなくてもよい。また、生成部１１１は、モデルが定められていないコンテキスト情報と、当該コンテキスト情報に対応する検知情報とが入力された場合に、この検知情報から抽出された特徴情報を用いて、当該コンテキスト情報に対応するモデルを生成してもよい。生成部１１１は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００６６】
異常判定部１１２は、特徴抽出部１０５により抽出された特徴情報と、加工情報取得部１０３により取得されたコンテキスト情報に対応するモデルと、を用いて、加工機２００の動作が正常であるか否かを判定する機能部である。異常判定部１１２は、検知情報から抽出された特徴情報が正常であることの尤もらしさを示す尤度を、対応するモデルを用いて算出する。異常判定部１１２は、尤度と、予め定められた閾値とを比較し、例えば、尤度が閾値以上である場合に、加工機２００の動作は正常であると判定する。また、異常判定部１１２は、尤度が閾値未満である場合に、加工機２００の動作は異常であると判定する。異常判定部１１２は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００６７】
記憶部１１３は、生成部１１１により生成されたモデルをコンテキスト情報と関連付けて記憶する機能部である。また、記憶部１１３は、検知情報受信部１０２により受信された検知情報を、加工情報取得部１０３により受信されたコンテキスト情報と関連付けて記憶するものとしてもよい。記憶部１１３は、例えば、図３のＲＡＭ６３および補助記憶装置６６等によって実現される。
【００６８】
入力部１１４は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行うための機能部である。入力部１１４は、図３に示す入力装置６７によって実現される。
【００６９】
表示制御部１１５は、表示部１１６の表示動作を制御する機能部である。具体的には、表示制御部１１５は、例えば、異常判定部１１２による異常判定の結果等を、表示部１１６に表示させる。表示制御部１１５は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。
【００７０】
表示部１１６は、表示制御部１１５による制御に従って各種情報を表示する機能部である。表示部１１６は、例えば、図３に示すディスプレイ６８によって実現される。
【００７１】
なお、図４に示した診断装置１００の各機能部（通信制御部１０１、検知情報受信部１０２、加工情報取得部１０３、受付部１０４、特徴抽出部１０５、選択部１０６、算出部１０７、区間判定部１０８、推定部１０９、対象区間特定部１１０、生成部１１１、異常判定部１１２および表示制御部１１５）は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００７２】
また、図４に示した診断装置１００および加工機２００それぞれの各機能部は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、図４で独立した機能部として図示した複数の機能部を、１つの機能部として構成してもよい。一方、図４の１つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【００７３】
（診断装置による加工区間推定処理）
図１１は、実施形態における加工区間推定処理の一例を示すフローチャートである。図１１を参照しながら、本実施形態に係る診断システム１の診断装置１００の加工区間推定処理の流れについて説明する。
【００７４】
＜ステップＳ１０１＞
加工機２００の数値制御部２０１は、稼動中の加工機２００の動作の示すコンテキスト情報（ラダー信号を含む）を、逐次、診断装置１００に送信する。診断装置１００の通信制御部１０１は、このようにして加工機２００から送信されたコンテキスト情報を受信する。診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。そして、ステップＳ１０２へ移行する。
【００７５】
＜ステップＳ１０２＞
加工機２００の検知部２１１は、検知情報を、逐次、出力する。診断装置１００の検知情報受信部１０２は、このようにして加工機２００から送信された検知情報（センサデータ）を受信する。そして、ステップＳ１０３へ移行する。
【００７６】
＜ステップＳ１０３＞
診断装置１００の特徴抽出部１０５は、受信された検知情報から特徴情報を抽出する。特徴抽出部１０５は、例えば、所定範囲（例えば、ラダー信号がＯＮ状態の区間を含む区間）の検知情報に対してフレームごとにフーリエ変換を行うことによって特徴情報を抽出する。そして、ステップＳ１０４へ移行する。
【００７７】
＜ステップＳ１０４＞
診断装置１００の選択部１０６は、特徴抽出部１０５により抽出された特徴情報から、フレームごとの特徴情報を選択する。具体的には、選択部１０６は、非加工区間の当該特徴情報を基準特徴情報として選択する。そして、ステップＳ１０５へ移行する。
【００７８】
＜ステップＳ１０５＞
選択部１０６は、所定範囲（例えば、ラダー信号がＯＮ状態の区間を含む区間）において、基準特徴情報と比較するため、順次、フレーム単位で特徴情報（対象特徴情報）を選択していく。そして、診断装置１００の算出部１０７は、選択部１０６により選択された基準特徴情報（非加工区間の特徴情報）と、選択部１０６により順次選択された上述の所定範囲の対象特徴情報とを比較して、それぞれの対象特徴情報の加工区間らしさを算出する。そして、ステップＳ１０６へ移行する。
【００７９】
＜ステップＳ１０６＞
診断装置１００の区間判定部１０８は、算出部１０７により算出された加工区間らしさに対して閾値判定を行い、加工区間らしさが所定の閾値よりも大きい判定した区間を加工区間と判定し、加工区間らしさが所定の閾値よりも小さいと判定した区間を非加工区間と判定する。そして、ステップＳ１０７へ移行する。
【００８０】
＜ステップＳ１０７＞
診断装置１００の推定部１０９は、区間判定部１０８によって加工区間らしさが所定の閾値よりも大きいと判定された区間を、加工区間として推定する。
【００８１】
以上のステップＳ１０１〜Ｓ１０７によって、加工区間推定処理が実行される。
【００８２】
（診断装置による診断処理）
図１２は、実施形態における診断処理の一例を示すフローチャートである。図１２を参照しながら、本実施形態に係る診断システム１の診断装置１００の診断処理の流れについて説明する。
【００８３】
上述のように、加工機２００の数値制御部２０１は、現在の加工機２００の動作を示すコンテキスト情報を、逐次、診断装置１００に送信する。診断装置１００の通信制御部１０１は、このようにして加工機２００から送信されたコンテキスト情報を受信する（ステップＳ２０１）。そして、診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。
【００８４】
また、加工機２００の検知部２１１は、検知情報を、逐次、出力する。診断装置１００の検知情報受信部１０２は、このようにして加工機２００から送信された検知情報（センサデータ）を受信する（ステップＳ２０２）。
【００８５】
診断装置１００の特徴抽出部１０５は、受信された検知情報から特徴情報を抽出する（ステップＳ２０３）。ただし、ここでは、診断装置１００の対象区間特定部１１０が、加工区間推定処理において特徴抽出部１０５により抽出された特徴情報のうち、推定部１０９により推定された加工区間に対応する特徴情報を特定するものとすればよい。
【００８６】
診断装置１００の異常判定部１１２は、加工情報取得部１０３により取得されたコンテキスト情報に対応するモデルを記憶部１１３から取得する（ステップＳ２０４）。
【００８７】
異常判定部１１２は、特定された特徴情報と、取得されたコンテキスト情報に対応するモデルとを用いて、加工機２００が正常に動作しているか否かを判定する（ステップＳ２０５）。
【００８８】
異常判定部１１２は、判定結果を出力する（ステップＳ２０６）。判定結果の出力方法はどのような方法であってもよい。異常判定部１１２は、例えば、診断装置１００の表示制御部１１５に対して、判定結果を表示部１１６に表示させるものとしてもよい。または、異常判定部１１２が、サーバ装置およびＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等の外部装置に判定結果を出力するものとしてもよい。
【００８９】
以上のステップＳ２０１〜Ｓ２０６によって、診断処理が実行される。
【００９０】
（診断装置によるモデル生成処理）
図１３は、実施形態におけるモデル生成処理の一例を示すフローチャートである。図１３を参照しながら、本実施形態に係る診断システム１の診断装置１００のモデル生成処理の流れについて説明する。なお、モデル生成処理は、例えば、診断処理の前に事前に実行される。または、モデルが定められていないコンテキスト情報が入力された場合にモデル生成処理を実行するように構成してもよい。
【００９１】
診断装置１００の通信制御部１０１は、加工機２００から送信されたコンテキスト情報を受信する（ステップＳ３０１）。そして、診断装置１００の加工情報取得部１０３は、通信制御部１０１により受信されたコンテキスト情報を取得する。
【００９２】
診断装置１００の検知情報受信部１０２は、加工機２００から送信された検知情報（センサデータ）を受信する（ステップＳ３０２）。
【００９３】
このように受信されたコンテキスト情報および検知情報が、モデルの生成に利用される。モデルは、コンテキスト情報ごとに生成されるため、検知情報は、対応するコンテキスト情報に関連付けられる必要がある。このため、例えば、検知情報受信部１０２は、受信した検知情報を、同じタイミングで通信制御部１０１により受信されたコンテキスト情報と対応付けて記憶部１１３等に記憶させる。各情報を記憶部１１３等に一旦記憶し、正常時の情報であることを確認し、正常時の情報のみを用いてモデルを生成してもよい。すなわち、正常であるとラベルづけされた検知情報を用いてモデルを生成してもよい。
【００９４】
正常であるか否かの確認（ラベルづけ）は、情報を記憶部１１３等に記憶した後の任意のタイミングで実行してもよいし、加工機２００を動作させながらリアルタイムに実行してもよい。ラベルづけを実行せず、情報が正常であると仮定してモデルを生成してもよい。正常であると仮定した情報が実際は異常であった情報であった場合は、生成されたモデルにより正しく判定処理が実行されなくなる。異常と判定される頻度等によりこのような状況であるかを判断でき、誤って生成されたモデルを削除する等の対応を取ることができる。また、異常であった情報から生成されたモデルを、異常であることを判定するモデルとして利用してもよい。
【００９５】
診断装置１００の特徴抽出部１０５は、検知情報受信部１０２により受信された検知情報から特徴情報を抽出する（ステップＳ３０３）。なお、特徴抽出部１０５は、加工区間推定処理において、推定部１０９により推定された加工区間に基づいて、特徴情報を抽出するものとしてもよい。
【００９６】
診断装置１００の生成部１１１は、特徴抽出部１０５により抽出された特徴情報から、加工情報取得部１０３により取得されたコンテキスト情報に対応するモデルを生成する（ステップＳ３０４）。生成部１１１は、生成したモデルを、例えば、コンテキスト情報および特徴情報との関連付けを行い、記憶部１１３に記憶させる（ステップＳ３０５）。
【００９７】
以上のステップＳ３０１〜Ｓ３０５によって、モデル生成処理が実行される。
【００９８】
（モデル生成処理および診断処理の具体例）
次に、本実施形態によるモデル生成処理および診断処理の具体例について説明する。図１４は、実施形態におけるモデル生成処理および診断処理の具体例を説明する図である。
【００９９】
図１４は、例えば、ある部品を加工する工程の一部についてのモデル生成処理、および、診断処理を示す。モデル生成処理では、コンテキスト情報７０１と共に受信された複数の検知情報（図１４では検知情報７１１ａ〜７１１ｃ）が利用される。なお、検知情報の個数は３に限られるものではなく、任意の個数とすることができる。
【０１００】
コンテキスト情報７０１は、加工工程が、４つのモータ（モータＡ、モータＢ、モータＣ、モータＤ）を駆動する動作を含むことを示している。特徴抽出部１０５は、検知情報受信部１０２により受信された検知情報から特徴情報を抽出する。なお、特徴抽出部１０５は、加工区間推定処理において、推定部１０９により推定された加工区間に基づいて、特徴情報を抽出するものとしてもよい。生成部１１１は、各モータに対応するコンテキスト情報ごとに、対応する検知情報から抽出された特徴情報を用いてモデルを生成する。生成されたモデルは、対応するコンテキスト情報と対応付けられて記憶部１１３等に記憶される。図１４では、モータＢが駆動される場合のコンテキスト情報に対して生成されたモデル（「モータＢ」）が記憶部１１３に記憶された例が示されている。記憶されたモデルは、その後の診断処理で参照される。なお、ここではコンテキスト情報としてモータの種類のみで説明したが、それ以外の必要なコンテキスト情報、例えば、各モータによって駆動される工具の種類等を示すコンテキスト情報についても、当然対応付けてモデルは記憶される。
【０１０１】
加工区間推定処理および診断処理では、モデル生成処理と同様に、コンテキスト情報７０１と共に、検知情報７２１が受信される。コンテキスト情報が「モータＢが駆動されていること」を示す場合、当該コンテキスト情報７０１に含まれるラダー信号に基づいて、上述の加工区間推定処理によって、受信された検知情報に対して加工区間が推定される。コンテキスト情報が「モータＢが駆動されていること」を示す場合、異常判定部１１２は、例えば、このコンテキスト情報が受信された期間に受信された検知情報のうち、推定された加工区間の検知情報と、記憶部１１３に記憶されているモデル「モータＢ」とを用いて、加工機２００の動作が正常であるか否かを判定する。
【０１０２】
他のコンテキスト情報が受信される場合も同様に、対応する検知情報のうち推定された加工区間の検知情報と、対応するモデルとを用いて、異常判定部１１２による判定が実行される。
【０１０３】
これにより、異常の判定に有効な検知情報のみを用いて診断処理を実行することができる。不要な区間を判定対象から外すことによって、誤判定を減らすこと、および、計算コストを減らすことが可能となる。すなわち、診断処理の高精度化および効率化が実現可能となる。
【０１０４】
また、相互に異なる加工工程であっても、例えば、同一のモータ等を示す同一のコンテキスト情報を使用する場合は、対応するモデルを共通に利用して診断処理を実行してもよい。図１５は、共通のモデルを他の加工工程で使用する例を説明する図である。
【０１０５】
図１５のコンテキスト情報９０１は、加工工程が、４つのモータ（モータＸ、モータＹ、モータＺ、モータＢ）を駆動する動作を含むことを示している。モータＢを使用する点は、例えば、図１４に示す加工工程と共通する。このため、図１５の加工工程でも、異常判定部１１２は、記憶部１１３に記憶されている同一のモデル「モータＢ」と、検知情報９２１のうち、推定された加工区間の検知情報とを用いて診断処理を実行できる。
【０１０６】
また、図１６は、モデルが生成されていないコンテキスト情報が入力された場合にモデルを生成する動作を説明する図である。図１６のコンテキスト情報１１０１は、加工工程が、４つのモータ（モータＸ、モータＣ、モータＤ、モータＢ）を駆動する動作を含むことを示している。モータＸの駆動を示すコンテキスト情報に対して、モデルが生成されていないものとする。
【０１０７】
この場合、特徴抽出部１０５は、複数の検知情報（図１６では、検知情報１１１１ａ、１１１１ｂ、１１１１ｃ）それぞれについて、「モータＸが駆動されていること」を示すコンテキスト情報に対応する期間の検知情報から特徴情報を抽出する。生成部１１１は、抽出された特徴情報のうち、推定部１０９により推定された加工区間に対応する特徴情報を用いて、「モータＸが駆動されていること」を示すコンテキスト情報に対応するモデル「モータＸ」を生成し、記憶部１１３に記憶する。これにより、今後モータＸを駆動する期間についても異常の判定が可能となる。
【０１０８】
このように、現在の動作を示すコンテキスト情報を加工機２００から受信し、受信したコンテキスト情報に対応するモデルを用いて異常を判定できる。したがって、動作する駆動部を高精度に特定し、異常をより高精度に診断可能となる。
【０１０９】
以上のように、本実施形態に係る診断システム１では、加工機２００から受信した検知情報に対して特徴情報を抽出し、基準となる特徴情報と、他の部分の特徴情報との比較から加工区間らしさを算出し、加工区間らしさに基づいて加工区間を推定するものとしている。これによって、加工機２００等の対象装置の動作の異常を判定するための検知情報における実際の加工区間を精度よく推定することができる。したがって、このように推定された加工区間における特徴情報を用いて対象装置の動作の診断を行うので、精度の高い診断処理が可能となる。さらに、推定された加工区間における特徴情報を用いてモデルを生成することによって、さらに精度の高い診断処理が可能となる。
【０１１０】
（変形例１）
本変形例では、推定された加工区間の長さに基づいて、工具が折損したか否かを判定する動作について説明する。なお、本変形例に係る診断システムの全体構成、ならびに、診断装置（後述する診断装置１００ａ）および加工機２００のハードウェア構成は、上述の実施形態で説明した構成と同様である。
【０１１１】
図１７は、変形例１に係る診断システムの機能ブロックの構成の一例を示す図である。図１８は、工具の折損を検出する動作の一例を示す図である。図１７および図１８を参照しながら、本変形例に係る診断システム１ａの機能ブロックの構成および動作について説明する。なお、加工機２００の機能ブロックの構成は、上述の実施形態で説明した構成と同様である。
【０１１２】
図１７に示すように、本変形例の診断システム１ａの診断装置１００ａは、通信制御部１０１と、検知情報受信部１０２（第２取得部）と、加工情報取得部１０３（第１取得部）と、受付部１０４と、特徴抽出部１０５（抽出部）と、選択部１０６と、算出部１０７（第１算出部）と、区間判定部１０８（第１判定部）と、推定部１０９と、対象区間特定部１１０と、生成部１１１と、異常判定部１１２（第３判定部）と、記憶部１１３と、入力部１１４と、表示制御部１１５と、表示部１１６と、折損判定部１１７（第２判定部）と、を有する。なお、診断装置１００ａが有する機能部のうち折損判定部１１７以外の機能部の動作は、上述の実施形態で説明した動作と同様である。
【０１１３】
折損判定部１１７は、コンテキスト情報に対応付けて予め求めておいた正常の加工区間の長さ（以下、「通常の加工区間長」と称する）と、推定部１０９により推定された加工区間とを比較することによって、工具が折損したか否かを判定する機能部である。工具による加工動作中に、工具が折損した場合、その後の加工処理では工具が加工対象に接触しなくなるので、この場合の検知情報に基づいて、推定部１０９により推定された加工区間の長さは、図１８に示すように、通常の加工区間長よりも短くなることが見込まれる。この場合、例えば、折損判定部１１７は、推定部１０９により推定された加工区間の長さが、通常の加工区間長と比較して所定の長さ以上短い場合、工具が折損したと判定するものとすればよい。また、折損判定部１１７は、工具が折損したと判定した場合、例えば、診断装置１００ａの表示制御部１１５に対して、判定結果を表示部１１６に表示させるものとしてもよく、または、サーバ装置およびＰＣ等の外部装置に判定結果を出力するものとしてもよい。折損判定部１１７は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。なお、図１７に示した診断装置１００ａの折損判定部１１７は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１１４】
なお、通常の加工区間長（所定区間の長さの一例）は、例えば、過去に推定された正常な加工区間の長さの平均値としてもよく、または、前回、推定部１０９により推定された加工区間の長さとしてもよい。
【０１１５】
また、折損判定部１１７は、通常の加工区間長と、推定部１０９により推定された加工区間の長さとを比較するものとしたが、これに限定されるものではない。例えば、上述のように加工区間と非加工区間とを含む工具送り区間（所定区間の一例）と、推定部１０９により推定された加工区間の長さとを比較して、工具の折損の有無を判定するものとしてもよい。
【０１１６】
また、折損判定部１１７は、工具の折損を判定するとしたが、これに限定されるものではなく、工具の変形、欠損、折損または治具からの欠落等の工具の異常を広く判定するものとしてもよい。
【０１１７】
以上のように、加工区間を推定することによって、正常の加工区間の長さ（通常の加工区間長）との比較により、工具の折損の有無を判定することができる。これによって、例えば、工具の折損をユーザに通知して工具の交換を促すことが可能となり、加工機２００のダウンタイムを短縮することができる。
【０１１８】
（変形例２）
本変形例では、検知情報から抽出される特徴情報の変化から、工具の折損の予兆を提示する動作について説明する。なお、本変形例に係る診断システムの全体構成、ならびに、診断装置（後述する診断装置１００ｂ）および加工機２００のハードウェア構成は、上述の実施形態で説明した構成と同様である。
【０１１９】
図１９は、変形例２に係る診断システムの機能ブロックの構成の一例を示す図である。図２０は、工具の劣化に伴う周波数スペクトルの変化の一例を説明する図である。図２１は、折損予兆スコアの一例を示す図である。図１９〜図２１を参照しながら、本変形例に係る診断システム１ｂの機能ブロックの構成および動作について説明する。なお、加工機２００の機能ブロックの構成は、上述の実施形態で説明した構成と同様である。
【０１２０】
図１９に示すように、本変形例の診断システム１ｂの診断装置１００ｂは、通信制御部１０１と、検知情報受信部１０２（第２取得部）と、加工情報取得部１０３（第１取得部）と、受付部１０４と、特徴抽出部１０５（抽出部）と、選択部１０６と、算出部１０７（第１算出部）と、区間判定部１０８（第１判定部）と、推定部１０９と、対象区間特定部１１０と、生成部１１１と、異常判定部１１２（第３判定部）と、記憶部１１３と、入力部１１４と、表示制御部１１５と、表示部１１６と、スコア算出部１１８（第２算出部）と、を有する。なお、診断装置１００ｂが有する機能部のうちスコア算出部１１８以外の機能部の動作は、上述の実施形態で説明した動作と同様である。
【０１２１】
スコア算出部１１８は、予め求めておいた新品の状態の工具について推定された加工区間の特徴情報と、その後、推定部１０９により推定された加工区間に対応する特徴情報とから、特徴情報の変化を示すスコアを算出する機能部である。
【０１２２】
加工区間の特徴情報（周波数スペクトル）は、例えば、上述の図６に示した特徴情報（周波数スペクトル）が新品の状態の工具に対応するものとすると、図２０に示すように、工具の摩耗等による劣化によって変化する。一般に、ドリル等の工具は、劣化によって加工対象との摩擦が大きくなり、新品時の周波数成分と同じ周波数成分の振幅が大きくなったり、または、新品時の周波数スペクトルでは出現していなかった周波数成分が生じたりする。そのため、上述の図８に示したような周波数スペクトルを積分した値（周波数スペクトルの面積）は、工具が新品時よりも、工具が劣化した時の方が大きくなるものと想定される。
【０１２３】
そこで、スコア算出部１１８は、例えば、推定部１０９により推定された加工区間に対応する特徴情報に関する値（例えば、周波数スペクトルの積分値）を積算した値を、特徴情報の変化を示すスコア（折損予兆スコア）として算出し、図２１に示すように、加工時間に対応するスコアをプロットしたグラフを生成し、表示制御部１１５に対して、当該グラフを表示部１１６に表示させる。これによって、加工機２００のユーザは、例えば、折損予兆スコアが図２１に示すように急峻に上昇した場合、工具の折損の予兆を認識することができる。スコア算出部１１８は、例えば、図３に示すＣＰＵ６１で動作するプログラムによって実現される。なお、図１９に示した診断装置１００ｂのスコア算出部１１８は、図３のＣＰＵ６１にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよく、ＩＣ等のハードウェアにより実現してもよく、または、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１２４】
なお、上述のように、スコア算出部１１８は、推定部１０９により推定された加工区間に対応する特徴情報に関する値（例えば、周波数スペクトルの積分値）を積算した値をスコアとして算出し、プロットするものとしたが、特徴情報に関する値そのものをプロットするものとしてもよい。
【０１２５】
以上のように、推定部１０９により推定された加工区間に対応する特徴情報に関する値（例えば、周波数スペクトルの積分値）の変化から、工具の折損の予兆を認識することができる。この場合、推定部１０９により図２０に示す非加工区間に存在する加工処理と関連のない雑音成分について除かれた加工区間のみに対応する特徴情報に関する値の変化をとらえているので、工具の折損の予兆を精度よく提示することができる。
【０１２６】
なお、上述の実施形態および各変形例の診断システムで実行されるプログラムは、ＲＯＭ等に予め組み込まれて提供するように構成してもよい。
【０１２７】
また、上述の実施形態および各変形例の診断システムで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅｃｏｒｄａｂｌｅ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
【０１２８】
また、上述の実施形態および各変形例の診断システムで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述の実施形態および各変形例の診断システムで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２９】
また、上述の実施形態および各変形例の診断システムで実行されるプログラムは、上述した各機能部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）がＲＯＭからプログラムを読み出して実行することにより上述の各機能部が主記憶装置上にロードされ、各機能部が主記憶装置上に生成されるようになっている。
【符号の説明】
【０１３０】
１、１ａ、１ｂ  診断システム
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  通信Ｉ／Ｆ
５５  駆動制御回路
５６  モータ
５７  センサ
５８  センサアンプ
５９  バス
６１  ＣＰＵ
６２  ＲＯＭ
６３  ＲＡＭ
６４  通信Ｉ／Ｆ
６５  センサＩ／Ｆ
６６  補助記憶装置
６７  入力装置
６８  ディスプレイ
６９  バス
１００、１００ａ、１００ｂ  診断装置
１０１  通信制御部
１０２  検知情報受信部
１０３  加工情報取得部
１０４  受付部
１０５  特徴抽出部
１０６  選択部
１０７  算出部
１０８  区間判定部
１０９  推定部
１１０  対象区間特定部
１１１  生成部
１１２  異常判定部
１１３  記憶部
１１４  入力部
１１５  表示制御部
１１６  表示部
１１７  折損判定部
１１８  スコア算出部
２００  加工機
２０１  数値制御部
２０２  通信制御部
２０３  駆動制御部
２０４  駆動部
２１１  検知部
４０１、４０２  選択部分
７０１、７０１−２  コンテキスト情報
７１１ａ〜７１１ｃ  検知情報
７２１  検知情報
９０１  コンテキスト情報
９２１  検知情報
１１０１  コンテキスト情報
１１１１ａ〜１１１１ｃ  検知情報
【先行技術文献】
【特許文献】
【０１３１】
【特許文献１】特許第４８６０４４４号公報
【図１】
2018156652.tif 000003
【図２】
2018156652.tif 000004
【図３】
2018156652.tif 000005
【図４】
2018156652.tif 000006
【図５】
2018156652.tif 000007
【図６】
2018156652.tif 000008
【図７】
2018156652.tif 000009
【図８】
2018156652.tif 000010
【図９】
2018156652.tif 000011
【図１０】
2018156652.tif 000012
【図１１】
2018156652.tif 000013
【図１２】
2018156652.tif 000014
【図１３】
2018156652.tif 000015
【図１４】
2018156652.tif 000016
【図１５】
2018156652.tif 000017
【図１６】
2018156652.tif 000018
【図１７】
2018156652.tif 000019
【図１８】
2018156652.tif 000020
【図１９】
2018156652.tif 000021
【図２０】
2018156652.tif 000022
【図２１】
2018156652.tif 000023