以下に添付図面を参照して、情報処理装置、情報処理方法、情報処理プログラム、および情報処理システムの一実施形態を詳細に説明する。なお、本実施の形態では、情報処理装置を、診断装置に適用した形態を一例として説明する。
(第1の実施の形態)
図1は、本実施の形態の情報処理システム1000の構成例の概要を示す模式図である。
情報処理システム1000は、加工機20と、診断装置10と、を備える。診断装置10と加工機20とは、通信可能に接続されている。加工機20と診断装置10は、どのような接続形態で接続されてもよい。例えば加工機20と診断装置10とは、専用の接続線、有線LAN(ローカルエリアネットワーク)などの有線ネットワーク、および、無線ネットワークなどにより接続される。
加工機20は、診断装置10による異常診断の対象となる対象装置の一例である。加工機20には、工作機械23が設けられている。工作機械23は、加工対象を加工する機械である。工作機械23には、ドリル、カッタ、および、テーブルなどの工具59(図2参照)が設けられている。工作機械23は、工具59を用いて、対象物を加工する。
診断装置10は、加工機20を診断する装置である。本実施の形態では、診断装置10は、加工機20による加工に関する不具合の発生を判定する。
図2は、加工機20のハードウェア構成の一例を示すブロック図である。図2に示すように、加工機20は、CPU(Central Processing Unit)51と、ROM(Read Only Memory)52と、RAM(Random Access Memory)53と、通信I/F(インタフェース)54と、駆動制御回路55と、センサ57とが、バス58で接続された構成となっている。
CPU51は、加工機20の全体を制御する。CPU51は、例えばRAM53をワークエリア(作業領域)としてROM52等に格納されたプログラムを実行することで、加工機20全体の動作を制御し、加工機能を実現する。
通信I/F54は、診断装置10などの外部装置と通信するためのインタフェースである。駆動制御回路55は、モータ56の駆動を制御する回路である。モータ56は、工具59を駆動する。
図3は、診断装置10のハードウェア構成の一例を示すブロック図である。図3に示すように、診断装置10は、CPU61と、ROM62と、RAM63と、通信I/F64と、HDD(Hard Disk Drive)65と、が、バス66で接続された構成となっている。
CPU61は、診断装置10の全体を制御する。CPU61は、例えばRAM63をワークエリア(作業領域)としてROM62等に格納されたプログラムを実行することで、診断装置10全体の動作を制御し、診断機能を実現する。通信I/F64は、加工機20などの外部装置と通信するためのインタフェースである。HDD65は、各種データを記憶する。HDD65に代えて、または、HDD65とともに、EEPROM(Electrically Erasable Programmable Read−Only Memory)またはSSD(Solid State Drive)などの不揮発性の記憶手段を備えてもよい。
図4は、情報処理システム1000に設けられた加工機20および診断装置10の各々の、機能構成の一例を示すブロック図である。
加工機20は、数値制御部21と、通信制御部22と、工作機械23と、を備える。
工作機械23は、センサ25と、駆動部24と、を備える。
駆動部24は、数値制御部21の制御によってドリルなどの工具59を駆動させる。工具59の駆動によって対象物が加工される。駆動部24は、例えば、モータ56で実現する(図2参照)。なお、駆動部24は、加工に用いられ、数値制御の対象となるものであればどのようなものであってもよい。また、工作機械23は、複数の駆動部24を備えていてもよい。
なお、加工機20では、一度に動作する工具59は1つであるものとして説明する。すなわち、工作機械23が複数の駆動部24や工具59を備えた構成であっても、一度に動作する工具59は1つであるものとして説明する。
センサ25は、加工機20の動作状況に応じて変化する物理量を検知する検知部である。センサ25は、物理量を検知した検知情報(センサデータ)を、診断装置10へ送信する。センサ25は、例えば図2のセンサ57に相当する。
物理量は、本実施の形態では、工具59により対象物が加工される際の振動を示すデータである。振動を示すデータは、振動そのものを示す振動データ、振動により発生する音の音データ(音響データと称する場合もある)、振動により発生する音波の音波データ(AE波データ)、振動により発生する加速度の加速度データなどである。センサ25は、例えば、マイク、振動センサ、加速度センサ、AE(アコースティックエミッション)センサ、などである。
例えば、加工に用いる工具59の刃の折れ、工具59の刃のチッピング(工具59の破損)、および、工具59の摩耗などが発生すると、工具59から発せられる音などの振動を示すデータが変化する。また、工具59を駆動するモータ56の軸受けなどに経時劣化などが生じた場合、異物などが付着した場合なども加工中にモータ56から発せられる音などの振動を示すデータが変化する。このため、本実施の形態では、診断装置10は、センサ25で検知した音データなど振動を示すデータの検知情報を用いて、加工機20による加工に関する不具合の発生を判定する(詳細後述)。
なお、加工機20が備えるセンサ25の数は限定されない。すなわち、加工機20は、1つのセンサ25を備えた構成であってもよいし、同一の物理量を検知する複数のセンサ25を備えた構成であってもよいし、互いに異なる物理量を検知する複数のセンサ25を備えた構成であってもよい。
数値制御部21は、工作機械23を数値制御(Numerical Control)する。数値制御部21は、駆動部24の動作を制御するための制御データを生成し、駆動部24へ出力する。数値制御部21は、予め設定された加工工程の実行順などに応じて、各加工工程に対応する動作の種類(加工の種類)に応じた制御データを生成し、駆動部24へ出力する。これにより、駆動部24は、制御データに示される動作を実行し、工具59を駆動することにより対象物を加工する。
また、数値制御部21は、駆動部24の動作状態に関するコンテキスト情報を、診断装置10へ送信する。すなわち、数値制御部21は、駆動部24に現在送信する(または直前に送信した)制御データに示される動作状態に関するコンテキスト情報を、診断装置10へ送信する。
コンテキスト情報は、工作機械23(具体的には駆動部24)を制御するために数値制御部21が工作機械23に対し送信する情報であり、駆動部24の動作状態を示す動作状態情報を含む。本実施の形態では、コンテキスト情報は、工作機械23(具体的には駆動部24)が行う動作の種類(加工の種類)ごとに定まる情報である。
動作状態情報は、種類の異なる複数種類の動作項目の各々の示す値を含む。すなわち、コンテキスト情報に含まれる動作状態情報は、種類の異なる複数の動作項目の各々の値からなる。
動作項目は、数値制御部21から駆動部24へ直前に送信された(またはこれから送信する)制御データに示される動作状態の各々の項目を示す。動作項目は、例えば、加工機20(具体的には駆動部24)の動作状況、軸移動状態、ドリル回転数、工具(ドリルなど)59にかかる負荷、加工判別条件、などである。
動作項目“加工機20の動作状況”の示す値は、例えば、加工機20(具体的には駆動部24)が動作中であることを示す“動作中”、または、停止中であることを示す“停止中”である。動作項目“軸移動状態”の示す値は、例えば、加工機20の工具59の軸の移動状態が高速移動であることを示す“高速移動”、または、切削移動であることを示す“切削移動”である。
動作項目“ドリル回転数”の示す値は、加工機20の工具(例えばドリル)59の回転数(rpm)である。動作項目“負荷”の示す値は、加工機20の工具59にかかっている負荷の値(%)である。
動作項目“加工判別条件”は、コンテキスト情報に含まれる他の動作項目の示す値について、工作機械23が対象物を加工中であると判別するための条件を示す。この動作項目“加工判別条件”の示す値は、例えば、ドリルの回転数の閾値である。この場合、該“加工判別条件”の示す値以上の値をドリル回転数が示す場合、加工機20が対象物を加工中であると判別できる。なお、1つのコンテキスト情報に含まれる、動作項目“加工判別条件”は、1種類であってもよいし、複数種類であってもよい。
なお、コンテキスト情報に含まれる動作項目の数および種類は限定されない。但し、コンテキスト情報は、制御データに示される複数の動作項目の内の少なくとも1つの動作項目を含むものであればよい。なお、診断精度向上の観点からは、加工機20から診断装置10へ送信されるコンテキスト情報に含まれる動作項目の数は多い方が好ましい。一方、診断時間短縮の観点からは、加工機20から診断装置10へ送信されるコンテキスト情報に含まれる動作項目の数は少ない方が好ましい。
なお、本実施の形態では、コンテキスト情報には、少なくとも、診断装置10側で加工期間の判定に用いることの可能な種類の動作項目が含まれる。
通信制御部22は、診断装置10などの外部装置との間の通信を制御する。通信制御部22は、診断装置10から、コンテキスト情報の取得要求を受信する。また、通信制御部22は、この取得要求に応じて、コンテキスト情報を診断装置10へ送信する。言い換えると、数値制御部21は、通信制御部22を介して診断装置10へ、コンテキスト情報を送信する。
次に、診断装置10の機能的構成を説明する。診断装置10は、測定制御部30と、主制御部40と、タイマ49と、を備える。測定制御部30、主制御部40、およびタイマ49は、互いにデータや信号を授受可能に接続されている。
タイマ49は、日時タイマに相当する。タイマ49は、日時情報を発信するタイマである。測定制御部30や主制御部40は、タイマ49から日時情報を取得することで、日時情報を得る。なお、日時情報として、タイムスタンプを得てもよい。
測定制御部30は、加工機20と通信を行う。主制御部40は、測定制御部30を制御する。
なお、本実施の形態では、測定制御部30と主制御部40とを機能的に別体として構成した例を示した。しかし、測定制御部30と主制御部40とを、機能的に一体として構成してもよい。また、測定制御部30と主制御部40とを、ハードウェア構成的にも別体として構成してもよい。この場合、測定制御部30および主制御部40の各々を、図3に示すハードウェア構成としてもよい。なお、測定制御部30および主制御部40を、機能的またはハードウェア構成的に別体として設けた場合の何れであっても、タイマ49は、測定制御部30および主制御部40の双方によるタイムスタンプの取得に用いられる。
主制御部40は、タスク制御部41と、特定部42と、抽出部43と、判定部44と、記憶部45と、を備える。測定制御部30は、第2の通信制御部31と、第1の記憶部34と、第1の通信制御部35と、第2の記憶部37と、を備える。第2の通信制御部31は、第2の取得部33を含む。第1の通信制御部35は、第1の取得部36を含む。
第2の通信制御部31、取得部33、第1の通信制御部35、第1の取得部36、タスク制御部41、特定部42、抽出部43、および、判定部44の一部または全ては、例えば、CPUなどの処理装置にプログラムを実行させること(すなわちソフトウェア)により実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、併用して実現してもよい。
主制御部40のタスク制御部41は、診断装置10で実行するタスクの制御を行う。本実施の形態では、タスク制御部41は、測定制御部30へ、検知情報の取得開始指示や、コンテキスト情報の取得要求を出力する。
なお、以下では、説明を解り易くするために、検知情報が音データである場合を一例として説明する。このため、タスク制御部41は、検知情報の取得開始指示として、音データ取得開始指示を測定制御部30へ出力する場合を説明する。
具体的には、タスク制御部41は、測定制御部30の第1の通信制御部35へ、音データ取得開始指示を出力する。第1の通信制御部35は、加工機20のセンサ25との通信を制御する。
第1の取得部36は、センサ25から検知情報を取得する。すなわち、第1の取得部36は、対象物を加工する加工機20の動作状況に応じて変化する物理量の検知情報を取得する。本実施の形態では、第1の取得部36は、タスク制御部41から音データ取得開始指示を受付けると、センサ25からの音データの取得を開始する。
第1の取得部36は、取得した音データを、該音データの取得日時情報に対応づけて第2の記憶部37(第2の記憶部)へ記憶する。第1の取得部36は、音データを取得したときの日時情報をタイマ49から取得し、取得した日時情報を、音データの取得日時情報として用いる。そして、第1の取得部36は、取得した音データと、取得日時情報と、を対応付けて第2の記憶部37へ記憶する。第2の記憶部37は、第1の取得部36で取得した音データを格納するためのバッファである。
なお、第1の取得部36は、音データ取得開始指示を受付けると、センサ25から出力される音データを、予め定めたサンプリング時間ごとに区切った音データとして取得し、取得した取得日時情報に対応づけて第2の記憶部37へ順次記憶する。
具体的には、第2の記憶部37は、検知情報管理DB37Aを記憶する。検知情報管理DB37Aは、第1の取得部36が取得した音データを格納するためのデータベースである。図5は、検知情報管理DB37Aのデータ構成の一例を示す模式図である。検知情報管理DB37Aは、音IDと、取得日時情報と、音データと、を対応づけたものである。
第1の取得部36は、センサ25から出力される音データを、予め定めたサンプリング時間ごとに区切った音データとして取得し、取得した取得日時情報に対応づけて、検知情報管理DB37Aに記憶する。音IDは、音データの識別情報である。
なお、第1の取得部36は、システム動作終了指示を受付けるまで、音データの取得および検知情報管理DB37Aへの記憶を繰り返し実行する。
図4に戻り説明を続ける。タスク制御部41は、測定制御部30へ、コンテキスト情報の取得要求を出力する。測定制御部30の第2の通信制御部31は、タスク制御部41からコンテキスト情報の取得要求を受付ける。第2の通信制御部31は、加工機20や外部装置との通信を制御する。第2の通信制御部31は、第2の取得部33を含む。第2の取得部33は、所定の時刻に加工機20に対して取得要求を送信し、該取得要求に対する応答として加工機20の動作状態に関するコンテキスト情報を取得する。
詳細には、第2の取得部33は、タスク制御部41からコンテキスト情報の取得要求を受付けると、該コンテキスト情報の取得要求を加工機20へ送信する。
加工機20の通信制御部22が、診断装置10からコンテキスト情報の取得要求を受信すると、加工機20の数値制御部21が、通信制御部22を介して診断装置10へ、動作状態に関するコンテキスト情報を送信する。
これにより、第2の取得部33は、加工機20からコンテキスト情報を取得する。
そして、第2の取得部33は、加工機20からコンテキスト情報を取得する毎に、取得したコンテキスト情報を、該コンテキスト情報に対応する取得要求を送信した所定の時刻に対応づけて、第1の記憶部34へ記憶する。なお、以下では、取得要求を送信した所定の時刻を、送信日時情報と称して説明する。
送信日時情報は、該コンテキスト情報を取得するために診断装置10から加工機20へ送信した取得要求の、送信日時を示す情報である。
第2の取得部33は、コンテキスト情報の取得要求を加工機20へ送信したときの日時情報を、タイマ49から取得し、取得した該日時情報を該取得要求の送信日時情報として用いる。そして、第2の取得部33は、取得したコンテキスト情報と、送信日時情報と、を対応付けて、第1の記憶部34へ記憶する。
第1の記憶部34は、各種データを記憶する。第1の記憶部34は、例えば、HDD65(図3参照)で実現する。本実施の形態では、第1の記憶部34は、コンテキスト管理DB34Aを記憶する。
コンテキスト管理DB34Aは、加工機20から取得したコンテキスト情報を格納するためのデータベースである。図6は、コンテキスト管理DB34Aのデータ構成の一例を示す模式図である。コンテキスト管理DB34Aは、コンテキストIDと、送信日時情報と、コンテキスト情報と、を対応づけたものである。
第2の取得部33は、コンテキスト情報を取得する度に、通信制御部22から取得したコンテキスト情報と、該コンテキスト情報を取得するために加工機20へ送信した取得要求の送信日時情報と、コンテキストIDと、を対応づけて、コンテキスト管理DB34Aへ登録する。コンテキストIDは、対応するコンテキスト情報の識別情報である。
主制御部40の特定部42は、コンテキスト情報および取得要求を送信した所定の時刻(送信日時情報)に基づいて、加工機20が対象物を加工中の加工期間を特定する。加工期間とは、工作機械23に設けられた工具59が、対象物を加工している期間である。
加工期間の特定について、詳細に説明する。まず、特定部42は、第2の取得部33で取得したコンテキスト情報の内、加工中であることを示すコンテキスト情報を判別する。
この加工中であることを示すコンテキスト情報の判別には、コンテキスト情報に含まれる複数の動作項目の各々の示す値を用いる。
また、特定部42は、この判別に用いる判別条件を読取る。そして、特定部42は、複数の動作項目の各々の示す値が、読取った判別条件を満たすコンテキスト情報を、加工中であることを示すコンテキスト情報として判別する。
特定部42は、予め記憶した判別条件、および、判別対象のコンテキスト情報に含まれる加工判別条件、の少なくとも一方を、加工中であることを示すコンテキスト情報の判別条件として用いる。
例えば、予め判別条件を記憶している場合、特定部42は、該判別条件を、コンテキスト情報が加工中であるか否かの判別条件として用いる。また、例えば、コンテキスト情報が動作項目“加工判別条件”を含む場合、特定部42は、該コンテキスト情報に含まれる動作項目“加工判別条件”の示す値を、該コンテキスト情報が加工中であるか否かの判別条件として用いる。
また、特定部42は、予め記憶した判別条件、および、判別対象のコンテキスト情報に含まれる加工判別条件の双方を、判別条件として用いてもよい。
例えば、動作項目“加工機20の動作状況”の示す値が“動作中”、動作項目“軸移動状態”の示す値が“切削移動”、であることが、予め記憶した判別条件であったと仮定する。また、取得したコンテキスト情報に、動作項目“加工判別条件”が含まれ、この“加工判別条件”の示す値(例えば、ドリル回転数の閾値)が1000rpmであったと仮定する。
この場合、特定部42は、図6における、コンテキスト管理DB34Aに記憶されているコンテキスト情報の内、これらの判別条件を満たす、コンテキストID“0006”および“0007”に対応するコンテキスト情報を、加工中であることを示すコンテキスト情報として判別する。
そして、特定部42は、コンテキスト管理DB34Aにおける、加工中であるとして判別したコンテキスト情報に対応する送信日時情報によって示される期間を、加工期間として特定する。具体的には、特定部42は、コンテキスト管理DB34Aにおける、時系列的に送信日時情報が連続する複数のコンテキスト情報を、加工中であることを示すコンテキスト情報の群として判別したと仮定する。この場合、特定部42は、これらの加工中の群に属する連続するコンテキスト情報の内、送信日時情報の最も早い(最も古い)コンテキスト情報の取得要求の送信日時情報を、加工期間の開始日時とする。また、特定部42
は、該群に属する連続するコンテキスト情報の内、送信日時情報の最も遅い(最新の)コンテキスト情報の通信日時情報または、該コンテキスト情報の次に取得したコンテキスト情報に対応する通信日時情報を、該加工期間の終了日時とすればよい。
図4に戻り、説明を続ける。抽出部43は、第1の取得部36が取得した音データ(検知情報)における、特定部42が特定した加工期間の音データ(加工期間検知情報)を抽出する。すなわち、抽出部43は、第1の取得部36が取得した音データの内の、加工期間に相当する期間の音データを抽出する。
詳細には、抽出部43は、第1の取得部36が取得した音データ(検知情報)における、特定部42が特定した加工期間によって示される送信日時情報に応じた取得日時情報によって示される期間の、加工期間検知情報を抽出する。
抽出部43が行う抽出処理について、詳細に説明する。
本実施の形態では、診断装置10は、第2の取得部33がコンテキスト情報を取得してコンテキスト管理DB34Aに登録するごとに、特定部42が、該コンテキスト情報が加工中を示すコンテキスト情報であるか否かを判別し、抽出部43が加工中と判別されたコンテキスト情報に対応するタイミングの音データを抽出する処理を繰返すことで、加工期間の音データを抽出する。
この繰返しの処理によって、特定部42が加工中と判別したコンテキスト情報に対応する送信日時情報に示される日時から、次に非加工中と判別したコンテキスト情報に対応する送信日時情報に示される日時までの期間が、加工期間として特定される。すなわち、連続して取得した加工中のコンテキスト情報に対応する送信日時情報の群によって示される期間が、加工期間として特定されることとなる。
そして、抽出部43は、第2の取得部33で取得したコンテキスト情報が加工中と判別される毎に、該コンテキスト情報の送信日時情報の示す日時情報と一致、または、該日時情報より前(古い)で且つ最も近い日時の日時情報の、取得日時情報に対応する音データを、検知情報管理DB37Aから抽出する。そして、抽出部43は、抽出した音データを、該取得日時情報に対応づけて記憶部45へ記憶する。
この処理を繰返すことで、抽出部43は、第1の取得部36が取得した音データ(検知情報)における、特定部42が特定した加工期間の音データ(加工期間検知情報)を抽出する。すなわち、抽出部43は、第1の取得部36が取得した音データの内の、加工期間に相当する期間の音データを抽出し、記憶部45へ記憶する。
記憶部45は、抽出された音データを記憶する。記憶部45は、例えば、HDD65で構成する。
具体的には、記憶部45は、加工期間管理DB45Aを記憶する。図7は、加工期間管理DB45Aのデータ構成の一例を示す模式図である。加工期間管理DB45Aは、加工期間IDと、加工/非加工判別結果と、期間と、日時情報と、音データと、を対応づけたものである。
加工期間IDは、加工期間の各々を識別する識別情報である。加工/非加工判別結果は、特定部42によるコンテキスト情報の加工/非加工の判別結果(加工中または非加工中)である。加工期間管理DB45Aにおける期間は、加工期間を示す。加工期間管理DB45Aにおける日時情報は、加工期間の開始と終了を示す日時情報である。加工期間管理DB45Aにおける音データは、抽出部43によって抽出された音データである。このため、加工期間管理DB45Aには、加工期間の音データ(加工期間検知情報)のみが登録される。
図4に戻り、判定部44は、加工期間の音データ(加工期間検知情報)と、加工期間の特定に用いたコンテキスト情報と、に基づいて、加工期間における加工機20による加工に関する不具合の発生を判定する。なお、以下では、加工期間の音データ(加工期間検知情報)を、加工期間音データと称して説明する。
まず、判定部44は、加工期間音データの特徴を示す特徴情報(特徴量)を抽出する。特徴情報は、加工期間音データの特徴を示す情報であればどのような情報であってもよい。例えば検知情報がマイクにより集音された音データである場合、判定部44は、エネルギー、周波数スペクトル、および、MFCC(メル周波数ケプストラム係数)などの特徴量を抽出してもよい。
そして、判定部44は、加工期間音データから抽出した特徴情報の尤度を、対応するモデル45Bを用いて算出する。特徴情報の尤度とは、加工機20の動作正常であることの尤もらしさを示す。
モデル45Bとは、加工機20がコンテキスト情報に示される動作状態において正常動作しているときに検知される、検知情報の特徴情報を規定した情報である。モデル45Bは、コンテキスト情報ごとに、加工機20を用いて予め実測され、予め作成されたものである。
判定部44は、加工機20が正常動作しているときに検知された検知情報の特徴情報を用いて、コンテキスト情報の各々に対応するモデル45Bを予め学習する。学習方法、および、学習するモデルの形式は、どのような方法であってもよい。例えば、GMM(ガウス混合モデル)、および、HMM(隠れマルコフモデル)などのモデルおよび対応するモデル学習方法を適用できる。そして、判定部44は、学習によって生成したモデル45Bを、学習に用いたコンテキスト情報に対応づけて記憶部45に予め記憶しておけばよい。なお、モデル45Bは、外部装置で生成し、予め記憶部45に記憶してもよい。
そして、判定部44は、加工機20による加工に関する不具合の発生の判定時には、加工期間音データから抽出した特徴情報の尤度を、該加工期間音データに対応するコンテキスト情報のモデル45Bを用いて算出する。判定部44は、尤度と、予め定められた閾値とを比較し、例えば尤度が閾値以上である場合に、加工機20の動作は正常であると判定する。また、判定部44は、尤度が閾値未満である場合に、加工機20の動作は異常であると判定する。
なお、判定部44は、加工期間音データと、加工期間の特定に用いたコンテキスト情報と、に基づいて、加工期間における加工機20による加工に関する不具合の発生を判定すればよく、判定部44の判定方法は、上記に記載した判定方法に限定されない。例えば、判定部44は、尤度の値を直接閾値と比較する代わりに、尤度の変動を示す値と閾値とを比較してもよい。
そして、判定部44は、判定結果を出力する。例えば、判定部44は、外部装置や、表示部などに、判定結果を出力する。
次に、本実施の形態の診断装置10が実行する情報処理の手順を説明する。図8および図9は、本実施の形態の診断装置10が実行する情報処理の一例を示すフローチャートである。
まず、本実施の形態の診断装置10が実行する情報処理に含まれる、音データ(検知情報)の取得処理を説明する。なお、図8は、音データ取得処理の一例を示すフローチャートである。
まず、第1の取得部36が、タスク制御部41から音データ取得開始指示を受付ける(ステップS100)。音データ取得開始指示を受付けると、第1の取得部36は、センサ25からの音データの取得を開始する(ステップS102)。
第1の取得部36は、タイマ49から日時情報を取得し(ステップS104)、予め定めたサンプリング時間を経過したと判断するまで、否定判断を繰返す(ステップS106:No)。そして、第1の取得部36は、予め定めたサンプリング時間を経過したと判断すると(ステップS106:Yes)、ステップS108へ進む。
このサンプリング時間は、診断装置10が後述するステップS202〜ステップS234(図9参照)の一連の処理を行う処理時間より短い時間であるものとする。
第1の取得部36は、取得した音データを、ステップS104で取得した日時情報を取得日時情報として、取得した音データに対応づけて検知情報管理DB37Aに記憶する(ステップS108)。
そして、第1の取得部36は、システム動作終了指示を受付けたか否かを判断する(ステップS110)。システム動作終了指示は、情報処理システム1000における全ての動作の終了を示す信号である。ステップS110で否定判断すると(ステップS110:No)、上記ステップS102へ進む。ステップS110で肯定判断すると(ステップS110:Yes)、本ルーチンを終了する。
第1の取得部36がステップS102〜ステップS108の処理を、ステップS110で肯定判断するまで繰返し実行することによって、検知情報管理DB37A(図5参照)には、サンプリング時間分の音データが順次格納されていくこととなる。
次に、本実施の形態の診断装置10が実行する情報処理に含まれる、異常判定処理を説明する。図9は、異常判定処理の一例を示すフローチャートである。
まず、タスク制御部41が、測定制御部30の第1の通信制御部35(第1の取得部36)へ、音データ取得開始指示を出力する(ステップS200)。ステップS200の処理によって、図8を用いて説明した音データ取得処理が開始される。
次に、タスク制御部41は、第2の取得部33へ、コンテキスト情報の取得要求を出力する(ステップS202)。コンテキスト情報の取得要求を受付けた第2の取得部33は、該コンテキスト情報の取得要求を、加工機20へ送信する(ステップS204)。
第2の取得部33は、タイマ49から日時情報を取得する(ステップS206)。これによって、第2の取得部33は、ステップS202の取得要求の送信日時を示す日時情報(送信日時情報)を取得する。
次に、第2の取得部33は、加工機20からコンテキスト情報を取得する(ステップS208)。次に、第2の取得部33は、ステップS206で取得した日時情報を送信日時情報として、ステップS208で取得したコンテキスト情報に対応づけて、第1の記憶部34のコンテキスト管理DB34Aへ記憶する(ステップS210)。
次に、特定部42が、ステップS208で取得されたコンテキスト情報に関する加工中の判別条件を読取る(ステップS212)。ステップS212では、特定部42は、予め記憶した判別条件、および、ステップS208で取得したコンテキスト情報に含まれる加工判別条件の双方を、判別条件として読取る。
ここでは、動作項目“加工機20の動作状況”の示す値が“動作中”、動作項目“軸移動状態”の示す値が“切削移動”、であることが、予め記憶した判別条件であったと仮定して説明する。また、ステップS208で取得したコンテキスト情報に、動作項目“加工判別条件”が含まれ、この“加工判別条件”の示す値(例えば、ドリル回転数の閾値)が1000rpmであったと仮定して説明する。
次に、特定部42は、ステップS208で取得したコンテキスト情報が加工中を示すか否かを判別する(ステップS214)。特定部42は、ステップS208で取得したコンテキスト情報が、ステップS212で読取った判別条件を満たすか否かを判別することで、ステップS214の判別を行う。
加工中を示すコンテキスト情報と判別した場合(ステップS214:Yes)、ステップS216へ進む。特定部42は、ステップS206で取得した日時情報(送信日時情報)の日時が加工期間内の日時であるものとして特定し、該日時情報(送信日時情報)と、加工/非加工の判定結果“加工中”と、期間“加工期間”と、を対応づけて、加工期間管理DB45Aに登録する(ステップS216)。
次に、抽出部43が、該日時情報(すなわち、ステップS206で取得した日時情報(送信日時情報))の直前の取得日時情報に対応する音データを、検知情報管理DB37Aから抽出する(ステップS218)。
次に、抽出部43は、前回のステップS214の判定結果が“加工中”であるか否かを判定する(ステップS220)。前回の判定結果が“加工中”である場合(ステップS220:Yes)、ステップS222へ進む。
ステップS222では、抽出部43は、ステップS218で抽出した音データを、前回抽出された音データにつなげて1つの音データとして、加工期間管理DB45Aに登録する(ステップS222)。前回抽出された音データとは、前回のステップS214の“加工中”の判定により、前回のステップS222の処理で加工期間管理DB45Aに登録された音データである。そして、ステップS230へ進む。
一方、ステップS220で、前回の判定結果が“非加工中”であると判定した場合(ステップS220:No)、ステップS224へ進む。なお、ステップS200の処理の後の、1回目の最初のステップS220の判断の場合にも、ステップS220で否定判断し(ステップS220:No)、ステップS224へ進む。
ステップS224では、抽出部43は、新たな加工期間IDを付与し、加工/非加工の判別結果“加工中”と、期間“加工期間”と、ステップS206で取得した日時情報(送信日時情報)と、ステップS218で抽出した音データと、加工期間管理DB45Aに対応づけて記憶する(ステップS224)。そして、ステップS230へ進む。
一方、ステップS208で取得したコンテキスト情報が加工中を示さない(すなわち、非加工中)と判別されると(ステップS214:No)、ステップS226へ進む。
ステップS226では、抽出部43は、前回のステップS214の判定結果が“加工中”であるか否かを判定する(ステップS226)。前回の判定結果が“加工中”ではない場合(ステップS226:No)、ステップS230へ進む。前回の判定結果が“加工中”である場合(ステップS226:Yes)、ステップS228へ進む。
ステップS228では、抽出部43は、ステップS208で取得したコンテキスト情報に対応する送信日時情報をコンテキスト管理DB34Aから読取る。そして、抽出部43は、読取った送信日時情報を、前回の加工中との判定時に加工期間管理DB45Aに登録した音データに対応する加工期間IDに対応する加工期間の終了日時として、加工期間管理DB45Aに登録する(ステップS228)。そして、ステップS230へ進む。
ステップS200〜ステップS226の処理によって、第2の取得部33でコンテキスト情報を取得する毎に、加工中のコンテキスト情報の取得日時情報に応じた送信日時情報に対応する音データが検知情報管理DB37Aから抽出され、加工期間の音データとして加工期間管理DB45Aに順次登録されていく。また、取得したコンテキスト情報が連続して加工中と判別されている間は、検知情報管理DB37Aにおける、該コンテキスト情報の取得要求の送信日時情報に応じた(1つ前の日時情報または同じ日時情報)に対応する音データが該検知情報管理DB37Aから抽出され、加工期間管理DB45Aへ連続した音データとして登録されていく。また、連続して加工中と判別された後に非加工中と判別されると、非加工中との判別に用いたコンテキスト情報の取得要求の送信日時情報が、該加工期間の終了タイミングとして加工期間管理DB45Aに登録される。
また、非加工中との判別に用いたコンテキスト情報の取得要求の送信日時情報に応じた、取得日時情報に対応する音データについては、検知情報管理DB37Aから抽出されず、加工期間管理DB45Aには登録されない。
このため、加工期間管理DB45Aには、加工中と判断された連続する期間(加工期間)ごとに、加工期間音データが登録される。
ステップS230では、判定部44が、加工期間管理DB45Aに登録されている加工期間音データと、加工期間の特定に用いたコンテキスト情報と、に基づいて、加工期間における加工機20による加工に関する不具合の発生を判定する(ステップS230)。
そして、判定部44は、判定結果(動作正常または動作異常を示す情報)を出力する(ステップS232)。次に、タスク制御部41が、加工処理を終了するか否かを判断する(ステップS234)。例えば、タスク制御部41は、一時停止を示す信号を受付けていないか否かを判別することで、ステップS234の判断を行う。
加工処理を継続する場合には(ステップS234:No)、上記ステップS202へ戻る。一方、加工処理を終了する場合には(ステップS234:Yes)、ステップS236へ進む。
ステップS236では、タスク制御部41が、情報処理システム1000の動作を終了するか否かを判断する(ステップS236)。例えば、タスク制御部41は、診断装置10の電源オフなどの操作指示を受付けたか否かを判別することで、ステップS236の判断を行う。
システム動作を継続する場合には(ステップS236:No)、上記ステップS202へ戻る。一方、システム動作を終了する場合には(ステップS236:Yes)、ステップS238へ進む。ステップS238では、システム動作終了指示を測定制御部30の第1の通信制御部35へ出力する(ステップS238)。ステップS238の処理によって、第1の取得部36は、センサ25からの音データの取得処理を終了する。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の診断装置10(情報処理装置)は、第1の取得部36と、第2の取得部33と、特定部42と、抽出部43と、判定部44と、を備える。第1の取得部36は、対象物を加工する加工機20(対象装置)の動作状況に応じて変化する物理量の検知情報を取得する。第2の取得部33は、所定の時刻に加工機20に対して取得要求を送信し、該取得要求に対する応答として加工機20の動作状態に関するコンテキスト情報を取得する。特定部42は、コンテキスト情報および取得要求を送信した所定の時刻(送信日時情報)に基づいて、対象装置が対象物を加工中の加工期間を特定する。抽出部43は、検知情報における、特定した加工期間の加工期間音データ(加工期間検知情報)を抽出する。判定部44は、加工期間検知情報と、加工期間の特定に用いたコンテキスト情報と、に基づいて、加工期間における加工機20(対象装置)による加工に関する不具合の発生を判定する。
このように、本実施の形態の診断装置10は、コンテキスト情報に基づいて加工期間を特定する。そして、診断装置10は、第1の取得部36で取得した音データから、特定した加工期間の加工期間音データを抽出する。そして、判定部44は、この加工期間音データを用いて、加工機20による加工に関する不具合の発生を判別する。
図10は、加工期間音データの説明図である。図10に示すように、センサ25から第1の取得部36が取得する音データなどの検知情報62には、加工機20が対象物を加工中の加工期間64Aに発生した音などの検知情報62Aと、加工期間64A以外の非加工期間64Bに発生した音などの検知情報62Bと、が含まれる。このため、本実施の形態の診断装置10は、コンテキスト情報60(コンテキスト情報601〜コンテキスト情報60n(nは2以上の整数))を用いて、加工期間64Aを特定する。そして、診断装置10は、検知情報62における、特定した加工期間64Aの検知情報64Aを用いて、加工機20による加工に関する不具合の発生を判別する。
従って、本実施の形態の診断装置10は、異常診断精度の向上を図ることができる。
また、第1の取得部36は、第2の取得部33がコンテキスト情報の取得を開始する前に、検知情報の取得を開始する。
第2の取得部33がコンテキスト情報を取得し、特定部42が加工期間を特定した後に、検知情報の取得を開始すると、コンテキスト情報の取得から遅延して検知情報が取得されることとなる。一方、本実施の形態の診断装置10では、第1の取得部36は、第2の取得部33がコンテキスト情報の取得を開始する前に、検知情報の取得を開始する。
このため、本実施の形態の診断装置10は、異常診断精度を更に向上させることができる。
また、第2の取得部33は、コンテキスト情報の取得要求を診断装置10(対象装置)へ送信することによって、診断装置10からコンテキスト情報を取得し、コンテキスト情報を取得する毎に、取得したコンテキスト情報を、該コンテキスト情報に対応する取得要求の送信日時情報に対応づけて第1の記憶部34(コンテキスト管理DB34A)へ記憶する。特定部42は、取得した複数のコンテキスト情報の内、加工機20が対象物を加工中であることを示す1または複数のコンテキスト情報の群に対応する送信日時情報によって示される期間を、加工期間として特定する。
また、第1の取得部36は、取得した検知情報を、該検知情報の取得日時情報に対応づけて第2の記憶部37(検知情報管理DB37A)へ記憶する。抽出部43は、検知情報における、特定した加工期間によって示される送信日時情報に応じた取得日時情報によって示される期間の、加工期間音データ(加工期間検知情報)を抽出する。
また、第1の取得部36は、検知情報を取得したときの日時情報をタイマ49(日時タイマ)から取得し、取得した該日時情報を該検知情報の取得日時情報として用いる。また、第2の記憶部37は、取得要求を送信したときの日時情報をタイマ49(日時タイマ)から取得し、取得した該日時情報を該取得要求の送信日時情報として用いる。
このように、同じタイマ49を用いて日時情報を管理することによって、異常診断精度を更に向上させることができる。
コンテキスト情報は、種類の異なる複数の動作項目の各々の制御情報を含む。特定部42は、取得した複数のコンテキスト情報の内、コンテキスト情報に含まれる複数の動作項目の各々の示す値が、加工機20(対象装置)が対象物を加工中であることを示す予め定めた判別条件を満たすコンテキスト情報を、加工中であることを示すコンテキスト情報として判別し、判別したコンテキスト情報に対応する送信日時情報によって示される期間を、加工期間として特定する。
判定部44は、1以上のコンテキスト情報のそれぞれに対して定められ、コンテキスト情報に関する動作状態で加工機20(対象装置)が正常に動作しているときに検知されると予測される予測検知情報を示すモデル45Bの内、加工期間の特定に用いたコンテキスト情報に対応するモデル45Bと、加工期間音データ(加工期間検知情報)と、を用いて、加工期間における加工機20(対象装置)による加工に関する不具合の発生を判定する。
また、検知情報は、音を示す音データ、または、音波を示す音波データである。
(第2の実施の形態)
本実施の形態では、加工機20から取得するコンテキスト情報に含まれる動作項目の数および種類の少なくとも一方を、調整する形態を説明する。
図11は、本実施の形態の情報処理システム1000Aの機能構成の一例を示すブロック図である。情報処理システム1000Aは、加工機20と、診断装置10Aと、を備える。加工機20と診断装置10Aとは、データや信号授受可能に接続されている。なお、加工機20は、第1の実施の形態と同様である。また、診断装置10Aのハードウェア構成は、図3に示す構成であり、診断装置10と同様である。
診断装置10Aは、測定制御部30Aと、主制御部40Aと、を備える。測定制御部30Aは、第2の通信制御部31に代えて第2の通信制御部31Aを備える以外は、第1の実施の形態の測定制御部30と同様である。主制御部40Aは、タスク制御部41に代えてタスク制御部41Aを備え、設定部46を更に備える以外は、第1の実施の形態の主制御部40と同様である。
設定部46は、加工機20から取得するコンテキスト情報に含まれる、動作項目の数および種類の少なくとも一方を設定する。第1の実施の形態で説明したように、コンテキスト情報は、種類の異なる複数の動作項目の各々の値を含む。本実施の形態では、設定部46は、加工機20から取得する対象の動作項目の数、および取得する対象の動作項目の種類、の少なくとも一方を設定する。
詳細には、設定部46は、第2の取得部33Aが前回取得したコンテキスト情報に含まれる動作項目の示す値に基づいて、第2の取得部33Aが加工機20から次回取得するコンテキスト情報に含まれる動作項目の数および種類の少なくとも一方を設定する。
本実施の形態では、設定部46は、第2の取得部33Aが加工機20から次回取得するコンテキスト情報に含まれる、動作項目の種類を設定することで、動作項目の種類および数の双方を設定する。
タスク制御部41Aは、第2の通信制御部31Aの第2の取得部33Aへ、コンテキスト情報の取得要求を出力する。本実施の形態では、タスク制御部41Aは、設定部46で設定された動作項目の種類を示す設定情報を含む、コンテキスト情報の取得要求を、第2の取得部33Aへ出力する。第2の取得部33Aは、タスク制御部41Aから受付けた、設定情報を含むコンテキスト情報の取得要求を、加工機20へ送信する。
加工機20では、コンテキスト情報の取得要求を診断装置10Aから受信すると、加工機20の数値制御部21は、該取得要求に含まれる設定情報によって示される種類の動作項目の各々の値を含むコンテキスト情報を、通信制御部22を介して診断装置10Aへ送信する。
これにより、第2の取得部33Aは、設定部46で設定された種類の動作項目の値を含むコンテキスト情報を、加工機20から取得する。
例えば、設定部46は、第2の取得部33Aで前回取得(すなわち直前に取得)したコンテキスト情報に、動作項目“加工判別条件”が含まれる場合には、動作項目“加工判別条件”以外の種類の動作項目であって、前回(すなわち直前に取得したコンテキスト情報に含まれる動作項目)より少ない数の動作項目を、次回取得するコンテキスト情報の動作項目として設定してもよい。
また、例えば、設定部46は、第2の取得部33Aで前回取得(すなわち直前に取得)したコンテキスト情報に含まれる動作項目の示す値が加工中と判定される値であり、前々回取得したコンテキスト情報に含まれる動作項目の示す値が非加工中と判定される値であったと仮定する。この場合、設定部46は、動作項目“加工判別条件”を含む動作項目であって、前回より多い数の動作項目を、次回取得するコンテキスト情報の動作項目として設定する。
そして、第2の取得部33Aは、設定部46で設定された種類の動作項目の値を含むコンテキスト情報を、加工機20から取得する。
ここで、詳細には、第2の取得部33Aは、設定部46で設定された種類の動作項目の各々に対応する、コンテキスト情報の取得要求を生成し、加工機20へ送信する。そして、第2の取得部33Aは、設定部46で設定された種類の動作項目の各々ごとに、各々の種類の動作項目の値を含むコンテキスト情報を加工機20から受信する。
すなわち、第2の取得部33Aは、タスク制御部41Aから受付けた、1つの取得要求に対して、該取得要求のコンテキスト情報に含まれる動作項目の数に応じた回数、加工機20へ取得要求を送信する。そして、第2の取得部33Aは、該取得要求に対して加工機20から受信した、送信した各種類の動作項目の各々に対応する値を含むコンテキスト情報の群を、タスク制御部41Aから受付けた1つの取得要求に対応する、1つのコンテキスト情報として用い、検知情報管理DB37Aに記憶している。このとき、第2の取得部33Aは、タスク制御部41Aから受付けた1つの取得要求に対して、最初に加工機20
へ取得要求を送信した送信日時情報を、該コンテキスト情報に対応する送信日時情報として、検知情報管理DB37Aに記憶する。
このように、第2の取得部33Aは、タスク制御部41Aから受付けた、1つの取得要求に対して、該取得要求のコンテキスト情報に含まれる動作項目の数に応じた回数、加工機20へ取得要求を送信することで、該取得要求に対応するコンテキスト情報を加工機20から取得する。
このため、加工機20から受信すべき動作項目の数が増えるほど、診断装置10Aと加工機20との間の通信時間が長くなる場合があった。そこで、本実施の形態の診断装置10Aでは、設定部46が、第2の取得部33Aで前回取得したコンテキスト情報に含まれる動作項目の示す値に基づいて、第2の取得部33Aで加工機20から次回取得するコンテキスト情報に含まれる動作項目の数および種類の少なくとも一方を設定する。
このように、本実施の形態の診断装置10Aでは、加工機20の動作状態に応じて、加工機20から取得するコンテキスト情報に含まれる動作項目の種類や数を設定(すなわち変更)する。このため、第2の取得部33Aでコンテキスト情報を取得してから特定部42で該コンテキスト情報が加工中であることを示すか否かの判別まで要する時間の短縮を図ることができる。
このため、本実施の形態の診断装置10Aでは、第1の実施の形態の診断装置10に比べて、更に正確に、加工期間を特定することができる。よって、診断装置10Aは、第1の実施の形態の診断装置10に比べて、加工機20の異常診断精度を更に向上させることができる。
次に、本実施の形態の診断装置10Aが実行する情報処理の手順を説明する。なお、診断装置10Aが実行する情報処理に含まれる、音データの取得処理は、第1の実施の形態(図8参照)と同様である。図12は、本実施の形態の診断装置10Aが実行する情報処理に含まれる、異常判定処理の一例を示すフローチャートである。
まず、タスク制御部41Aが、測定制御部30Aの第2の通信制御部31A(第2の取得部33A)へ、音データ取得開始指示を出力する(ステップS300)。ステップS300の処理によって、図8を用いて説明した音データ取得処理が開始される。
次に、設定部46が、動作項目の種類および数を設定する(ステップS302)。ステップS302では、設定部46は、初期の動作項目として、予め定めた種類の動作項目を設定することで、動作項目の種類および数を設定する。例えば、設定部46は、コンテキスト管理DB34Aに示すコンテキスト情報に含まれる複数種類の動作項目(“加工機の動作状況”、“軸移動状態”、“ドリル回転数”、“負荷”、“加工判別条件”)を設定する。
次に、タスク制御部41Aは、第2の取得部33Aへ、設定部46で設定された動作項目の種類を示す設定情報を含む、コンテキスト情報の取得要求を、測定制御部30Aの第2の取得部33Aへ出力する(ステップS304)。
コンテキスト情報の取得要求を受付けた第2の取得部33Aは、タスク制御部41Aから受付けた、設定情報を含むコンテキスト情報の取得要求を、加工機20へ送信する(ステップS306)。
そして、診断装置10Aでは、ステップS308〜ステップS336の処理を実行する。ステップS308〜ステップS336の処理は、第1の実施の形態のステップS206〜ステップ234の処理(図9参照)に相当する。
すなわち、第2の取得部33Aは、タイマ49から日時情報を取得する(ステップS308)。次に、第2の取得部33Aは、加工機20からコンテキスト情報を取得する(ステップS310)。上述したように、ステップS310では、第2の取得部33Aは、詳細には、設定情報に含まれる動作項目の種類に応じた回数(すなわち動作項目の数)、取得要求を加工機20へ送信することで、各種類の動作項目の値をそれぞれ含むコンテキスト情報を受信する。そして、第2の取得部33Aは、これらの受信したコンテキスト情報の群を、加工機20から取得したコンテキスト情報(すなわち設定情報に示される、全ての種類の動作項目の値を含むコンテキスト情報)として用いる。
次に、第2の取得部33Aは、ステップS308で取得した日時情報を送信日時情報として、ステップS310で取得したコンテキスト情報に対応づけて、第1の記憶部34のコンテキスト管理DB34Aへ記憶する(ステップS312)。
次に、特定部42が、ステップS310で取得されたコンテキスト情報に関する加工中の判別条件を読取る(ステップS314)。なお、特定部42は、コンテキスト情報に“加工判別条件”が含まれない場合には、前回取得したコンテキスト情報に含まれる“加工判別条件”の示す値を、判別条件として用いればよい。
次に、特定部42は、ステップS310で取得したコンテキスト情報が加工中を示すか否かを判別する(ステップS316)。加工中を示すコンテキスト情報と判別した場合(ステップS316:Yes)、ステップS318へ進む。特定部42は、ステップS308で取得した日時情報(送信日時情報)の日時が加工期間内の日時であるものとして特定し、該日時情報(送信日時情報)と、加工/非加工の判定結果“加工中”と、期間“加工期間”と、を対応づけて、加工期間管理DB45Aに登録する(ステップS318)。
次に、抽出部43が、該日時情報の直前の取得日時情報に対応する音データを、検知情報管理DB37Aから抽出する(ステップS320)。次に、抽出部43は、前回のステップS316の判定結果が“加工中”であるか否かを判定する(ステップS322)。前回の判定結果が“加工中”である場合(ステップS322:Yes)、ステップS324へ進む。
ステップS324では、抽出部43は、ステップS320で抽出した音データを、前回抽出された音データにつなげて1つの音データとして、加工期間管理DB45Aに登録する(ステップS324)。そして、ステップS332へ進む。
一方、ステップS322で、前回のステップS316の判定結果が“非加工中”であると判定した場合(ステップS322:No)、ステップS326へ進む。なお、ステップS300の処理の後の、1回目の最初のステップS322の判断の場合にも、ステップS322で否定判断し(ステップS322:No)、ステップS326へ進む。
ステップS326では、抽出部43は、新たな加工期間IDを付与し、加工/非加工の判別結果“加工中”と、期間“加工期間”と、ステップS308で取得した日時情報(送信日時情報)と、ステップS320で抽出した音データと、を加工期間管理DB45Aに対応づけて記憶する(ステップS326)。そして、ステップS332へ進む。
一方、ステップS316において、コンテキスト情報が加工中を示さない(すなわち、非加工中)と判別されると(ステップS316:No)、ステップS328へ進む。
ステップS328では、抽出部43は、前回のステップS316の判定結果が“加工中”であるか否かを判定する(ステップS328)。前回の判定結果が“加工中”である場合(ステップS328:Yes)、ステップS330へ進む。
ステップS330では、抽出部43は、ステップS310で取得したコンテキスト情報に対応する送信日時情報をコンテキスト管理DB34Aから読取る。そして、抽出部43は、読取った送信日時情報を、前回の加工中との判定時に加工期間管理DB45Aに登録した音データに対応する加工期間IDに対応する加工期間の終了日時として、加工期間管理DB45Aに登録する(ステップS330)。そして、ステップS332へ進む。
ステップS332では、判定部44が、加工期間管理DB45Aに登録されている加工期間音データと、加工期間の特定に用いたコンテキスト情報と、に基づいて、加工期間における加工機20による加工に関する不具合の発生を判定する(ステップS332)。
そして、判定部44は、判定結果(動作正常または動作異常を示す情報)を出力する(ステップS334)。次に、タスク制御部41Aが、加工処理を終了するか否かを判断する(ステップS336)。加工処理を継続する場合には(ステップS336:No)、ステップS340へ進む。
ステップS340では、設定部46が、ステップS310で取得したコンテキスト情報に含まれる動作項目の示す値に基づいて、第2の取得部33Aが加工機20から次回取得するコンテキスト情報に含まれる動作項目の数および種類を設定する(ステップS340)。
上述したように、例えば、設定部46は、ステップS310で取得したコンテキスト情報(すなわち、上記の第2の取得部33Aで前回取得したコンテキスト情報)に、動作項目“加工判別条件”が含まれる場合には、動作項目“加工判別条件”以外の種類の動作項目であって、前回より少ない数の動作項目を、次回取得するコンテキスト情報の動作項目として設定する。この場合、次回、第2の取得部33Aは、前回より少ない動作項目について、該動作項目の示す値を含むコンテキスト情報を加工機20から取得することとなる。
また、例えば、設定部46は、ステップS310で直前に取得した(すなわち前回取得した)コンテキスト情報に含まれる動作項目の示す値が加工中と判定される値であり、前々回取得したコンテキスト情報に含まれる動作項目の示す値が非加工中と判定される値であったと仮定する。この場合、設定部46は、動作項目“加工判別条件”を含む動作項目であって、前回より多い数の動作項目を、次回取得するコンテキスト情報の動作項目として設定する。
すなわち、これらの設定によって、例えば、設定部46は、加工期間の最初のタイミングに相当する日時については、動作項目“加工判別条件”の示す値を含むコンテキスト情報を加工機20から取得するように、動作項目の種類を設定する。また、設定部46は、加工期間の最初のタイミングより後で且つ該加工期間の終わりのタイミングに相当する日時までの期間については、動作項目“加工判別条件”の値を含まないコンテキスト情報を取得するように、動作項目の種類を設定する。
そして、上記ステップS304へ戻る。一方、ステップS336で肯定判断すると(ステップS336:Yes)、ステップS338へ進む。
ステップS338では、タスク制御部41Aが、情報処理システム1000Aの動作を終了するか否かを判断する(ステップS338)。システム動作を継続する場合には(ステップS338:No)、上記ステップS340へ進む。一方、システム動作を終了する場合には(ステップS338:Yes)、ステップS342へ進む。ステップS342では、システム動作終了指示を測定制御部30Aの第1の通信制御部35へ出力する(ステップS342)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の診断装置10Aでは、設定部46が、加工機20(対象装置)から取得するコンテキスト情報に含まれる、動作項目の数および種類の少なくとも一方を設定する。第2の取得部33Aは、設定された数および種類の少なくとも一方の動作項目の各々の値を含むコンテキスト情報の取得要求を、加工機20へ送信する。
このように、本実施の形態の診断装置10Aでは、状況に応じて、設定部46が、加工機20から取得するコンテキスト情報に含まれる動作項目の数および種類を調整することができる。このため、コンテキスト情報から加工中の判定を行うために必要な動作項目を適宜調整することができる。
従って、本実施の形態の診断装置10Aでは、第1の実施の形態の効果に加えて、更に、異常診断精度の向上を図ることができる。
また、設定部46は、第2の取得部33Aが前回取得したコンテキスト情報に含まれる動作項目の示す値に基づいて、第2の取得部33Aが次回取得するコンテキスト情報に含まれる動作項目の数および種類の少なくとも一方を設定する。
このため、本実施の形態の診断装置10Aでは、加工機20の動作状態に応じて、加工機20から取得するコンテキスト情報に含まれる動作項目の種類や数を設定することができる。このため、第2の取得部33Aでコンテキスト情報を取得してから特定部42で該コンテキスト情報が加工中であることを示すか否かの判別までに要する時間の短縮を図ることができる。
この判別に要する時間の短縮を図ることで、特定部42は、加工期間の開始タイミングや終了タイミングに、より細かい日時を特定することができる。すなわち、特定部42は、より精度の高い加工期間を特定することができる。
従って、本実施の形態の診断装置10Aでは、第1の実施の形態の効果に加えて、更に、異常診断精度の向上を図ることができる。
なお、上記実施の形態の診断装置10および診断装置10Aで実行されるプログラムは、ROM等に予め組み込まれて提供される。
上記実施の形態の診断装置10および診断装置10Aで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成してもよい。
さらに、上記実施の形態の診断装置10及び診断装置10Aで実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態の診断装置10および診断装置10Aで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施の形態の診断装置10および診断装置10Aで実行されるプログラムは、上述した各部(通信制御部、判定部など)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。上記新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。上記実施の形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。