以下に、図面を参照しながら、本発明にかかる診断装置、診断装置の制御方法および診断プログラムの実施形態を詳細に説明する。
(診断システムの全体構成)
図1は、実施形態にかかる診断システム1の構成を概略的に示す図である。診断システム1は、加工機200、診断装置100、およびクラウドサーバCSを備える。加工機200と診断装置100とは、通信回線CMを介して互いに接続されている。診断装置100は、ネットワークNTを介してクラウドサーバCSに接続されている。
(加工機の概略構成)
図2は、加工機の構成を概略的に示す図である。加工機は「対象装置」の一例である。加工機200は、複数のホルダ200hと、複数の工具200tを備える。ホルダ200hは、工具200tを装着する。本実施形態において、任意のホルダ200hに任意の工具200tを装着することができる。
工具200tは、加工対象に対して種々の加工を行う。工具200tには、例えば、ドリル(径5mm、径10mm)、エンドミル(径5mm、径10mm)、リーマ(径5mm)等がある。本実施形態においては、複数の工具200t、複数の加工プログラムで加工対象に対して切削加工が行われる。
(加工機のハードウェア構成)
次に、実施形態の加工機200のハードウェア構成例について説明する。図3は、加工機200のハードウェア構成の一例を示す図である。
加工機200は、CPU(Central Processing Unit)20と、ROM(Read Only Memory)20aと、RAM(Random Access Memory)20bと、通信I/F(インターフェース)21と、駆動制御回路23と、を備える。また、各構成要素は、バス2Bで通信可能に接続されている。
CPU20は、加工機200の全体を制御する演算装置である。CPU20は、例えば、RAM20bをワークエリア(作業領域)としてROM20a等に格納されたプログラムを実行することで、加工機200全体の動作を制御し、加工機能を実現する。
通信I/F21は、診断装置100等の外部装置との通信に用いられるインターフェースである。通信I/F21は、例えば、TCP(Transmission Control Protocol)/IP(Internet Protocol)に対応したNIC(Network Interface Card)等である。
駆動制御回路23は、駆動部24の駆動を制御する回路である。駆動部24は、加工に用いる工具200tを駆動するアクチュエータである。工具200tには、ドリル、エンドミル、バイトチップ、砥石等、および、加工対象が載置され加工に合わせて移動されるテーブル等が含まれる。
なお、本実施形態において、駆動部24はモータであるが、これに限定されない。加工に用いられ、後述する数値制御部201による数値制御の対象となるものであればどのようなアクチュエータであってもよい。また、加工機200は、駆動部24を複数個備えていてもよい。
センサ25は、例えば、マイクデバイス、振動センサ、加速度センサ、またはAE(Acoustic Emission)センサ等で構成され、例えば、振動または音等が検出できる工具200tの近傍に設置される。センサ25が接続されたセンサアンプ25aは、診断装置100に通信可能に接続されている。センサ25およびセンサアンプ25aは、「検知部」の一例である。
センサ25およびセンサアンプ25aは、加工機200に設置されたドリル、エンドミル、バイトチップもしくは砥石等の工具200tと加工対象とが加工動作中に接触することにより発する振動もしくは音等、または、工具200tもしくは加工機200自体が発する振動もしくは音等の物理量を検知し、検知した物理量の情報を検知情報(センサデータ)として診断装置100へ出力する。
なお、センサ25およびセンサアンプ25aの個数は任意である。例えば、同一の物理量を検知する複数のセンサ25およびセンサアンプ25aを備えてもよいし、相互に異なる物理量を検知する複数のセンサ25およびセンサアンプ25aを備えてもよい。
例えば、加工に用いる工具200tである刃の折れ、および、刃のチッピング等が発生すると、加工時の音が変化する。このため、センサ25(マイク)で音響データを検知し、正常音を判断するためのモデル等を用いて判断することにより、加工機200の動作の異常を検知可能となる。
センサ25およびセンサアンプ25aは、加工機200に予め備えられていてもよく、または、完成機械である加工機200に対して後から取り付けられてもよい。また、センサアンプ25aは、加工機200に設置されることに限定されるものではなく、診断装置100側に設置されていてもよい。
なお、図3に示したハードウェア構成は一例であり、加工機200がすべての構成機器を備えている必要はなく、また、他の構成機器を備えていてもよい。
(診断装置のハードウェア構成)
次に、実施形態の診断装置100のハードウェア構成例について説明する。図4は、診断装置100のハードウェア構成の一例を示す図である。
診断装置100は、CPU10と、ROM10aと、RAM10bと、通信I/F11と、センサI/F12と、記憶部13と、入力装置14と、表示部15と、を備える。また、各構成要素は、バス1Bで通信可能に接続されている。
CPU10は、診断装置100の全体を制御する演算装置である。CPU10は、例えば、RAM10bをワークエリア(作業領域)としてROM10a等に格納されたプログラムを実行することで、診断装置100全体の動作を制御し、診断装置100の機能を実現する。
通信I/F11は、加工機200等の外部装置との通信に用いられるインターフェースである。通信I/F11は、例えば、TCP/IPに対応したNIC等である。
センサI/F12は、加工機200に設置されたセンサ25からセンサアンプ25aを
介して検知情報を受信するインターフェースである。
記憶部13は、診断装置100の設定情報、加工機200から受信された検知情報および後述する稼動情報、OS(Operating System)、およびアプリケーションプログラム等の各種データを記憶する。
記憶部13は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、またはEEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性の記憶装置である。
入力装置14は、文字および数字等の入力、各種指示の選択、ならびにカーソルの移動等の操作を行う。入力装置14は、例えば、マウスまたはキーボード等の入力装置である。
表示部15は、文字、数字、および各種画面および操作用アイコン等を表示する。表示部15は、例えば、CRT(Cathode Ray Tube)ディスプレイ、LCD(Liquid Crystal Display)、または有機EL(Electro-Luminescence)ディスプレイ等の表示装置である。
なお、図4に示したハードウェア構成は一例であり、診断装置100がすべての構成機器を備えている必要はなく、また、他の構成機器を備えていてもよい。
(加工機と診断装置の機能構成)
次に、加工機200と、診断装置100の機能構成について説明する。図5は、加工機および診断装置の機能構成の一例を示すブロック図である。
まず、加工機200の機能構成について説明する。加工機200は、数値制御部201、通信制御部202、駆動制御部203を、備える。
数値制御部201は、駆動部24による加工を数値制御(NC:Numerical Control)により実行する。例えば、数値制御部201は、駆動部24の動作を制御するための数値制御データを生成して出力する。また、数値制御部201は、稼動情報を通信制御部202に出力する。
ここで、稼動情報とは、対象装置の稼動状態を示す情報である。本実施形態においては、加工機200の稼動状態を示す情報をいう。稼動情報には、例えば、工具200tの加工対象に対する送り動作から実際の加工処理が終了するまでの区間を示すためのON/OFF信号(以下、「ラダー信号」という)等が含まれる。
数値制御部201は、例えば、現在の加工機200の動作に対応する稼動情報を、逐次、通信制御部202を介して診断装置100に送信する。数値制御部201は、加工対象を加工する際、加工の工程に応じて、駆動する駆動部24の種類、または駆動部24の駆動状態(回転数、回転速度等)を変更する。
数値制御部201は、動作の種類を変更するごとに、変更した動作の種類に対応する稼動情報を、通信制御部202を介して診断装置100に逐次送信する。数値制御部201は、例えば、工具200tの種類を変更した場合や加工プログラムを変更した場合等に、対応する稼動情報を診断装置100に送信する。
通信制御部202は、診断装置100等の外部装置との間の通信を制御する。例えば、通信制御部202は、現在の動作に対応する稼動情報を診断装置100に送信する。
駆動制御部203は、数値制御部201により求められた数値制御データに基づいて、駆動部24を駆動制御する。本実施形態において、駆動制御部203は、図3に示した駆動制御回路55を制御して、駆動部24を駆動させる。
本実施形態では、上述の数値制御部201、通信制御部202、および、駆動制御部203の各々の機能は、CPU20がROM20a等に格納されたプログラムを実行することにより実現されるが、これに限られるものではない。例えば、上述の、数値制御部201、通信制御部202および、駆動制御部203の各々の機能のうちの少なくとも一部の機能が、専用のハードウェア回路で実現される形態であってもよい。
本実施形態の加工機200で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態の加工機200で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の加工機200で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
次に、診断装置100の機能構成について説明する。診断装置100は、通信制御部101、検知情報取得部102、稼動情報取得部103、処理部104、特徴抽出部105、モデル生成部106、異常度算出部107、異常判定部108、蓄積部109、受付部110、確定部111、管理部112、設定部113、表示制御部114、を備える。
通信制御部101は、加工機200との間の通信を制御する。例えば、通信制御部101は、加工機200の数値制御部201から、通信制御部202を介して、稼動情報を受信する。
検知情報取得部102は、対象装置の動作に応じて変化する物理量を検知する検知部により検知された物理量を示す検知情報を取得する。検知情報取得部102は、「取得部」の一例である。
本実施形態において、検知情報取得部102は、加工機200に設置されたセンサ25およびセンサアンプ25aから検知情報を取得する。検知情報取得部102は、検知情報として、加工機200の振動の情報を取得する。振動の情報は、例えば、波形データである。
稼動情報取得部103は、対象装置の稼動状態を示す稼動情報を取得する。本実施形態において、稼動情報取得部103は、加工機200から、通信制御部101により受信された稼動情報を取得する。
稼動情報取得部103が取得する稼動情報としては、加工時の主軸回転数、送り速度、主軸座標値、主軸の電流値などが挙げられる。また、ユーザの入力を受付けることで、工具種類、工具メーカ、工具径などの情報を取得することもできる。
ここで、検知情報取得部102により取得される検知情報、および稼動情報取得部103により取得される稼動情報について詳しく説明する。図6は、加工機の検知情報およびラダー信号の一例を示す図である。上述のとおり、ラダー信号は、「稼動情報」の一例である。
検知情報には、非加工区間を示す波形部分、および加工区間を示す波形部分が含まれる。非加工区間は、工具200tが加工対象に対する送り動作を開始する前後の区間である。加工区間は、工具200tが加工対象に接触して切削等の加工処理を行っている区間である。つまり、加工区間とは実際に加工を行っている期間である。
一方、加工機200は、例えば、工具200tによる加工動作の開始時にラダー信号をONにし、工具200tを加工対象まで送る送り動作をさせ、実際の加工処理が終了したときにラダー信号をOFFとする。
つまり、図6の、ラダー信号がON状態となっている区間が加工実施の時間である。そして、この加工実施の時間には、工具200tが加工対象に接触していない区間である非加工区間と、工具200tが加工対象に接触して加工処理を行っている加工区間とが含まれる。
所定の加工品を複数製作する場合などには、加工機200では複数の処理工程P1~P3を含むサイクルが繰り返し行われることがある。このとき、稼動情報取得部103は、ラダー信号等の稼動情報を取得し、それとともに、検知情報取得部102は、加工機200における振動や音等の検知情報を取得する。
処理部104は、検知情報取得部102により検知情報が取得される場合に、ユーザにより設定された監視対象となる処理工程に対応する稼動情報と、検知情報と、を対応付ける処理を行う。
本実施形態において、処理部104は、検知情報取得部102により検知情報が取得される場合に、後述する設定部113により設定された監視対象となる処理工程に対応する稼動情報と、検知情報取得部102が取得した検知情報のうち、監視対象となる処理工程に対応する稼動情報に対応する検知情報と、を対応付ける。
また、処理部104は、稼動情報と対応付けた検知情報の前処理を行う。前処理としては、例えば、ノイズを除去するためのフィルタリング等が挙げられる。
処理部104による稼動情報と検知情報との対応付け処理について詳しく説明する。まず、本実施形態の診断システム1において想定される稼動情報について説明する。図7は、加工機の稼動情報の一例を示す図である。
図7において、1-1等は一般的な切削加工を行うためのプログラムを示す。この例では、加工対象に対して、1-1、1-2というプログラムを用いて工具Aによる加工が行われ、1-3というプログラムを用いて工具Bによる加工が行われ、1-4乃至1-6というプログラムを用いて工具Cによる加工が行われ、1-7乃至1-9というプログラムを用いて工具Dによる加工が行われて、1の加工対象に対する加工が終了する。
加工機200から取得する稼動情報として、加工回数に着目した場合、1-1乃至1-9は、同一の稼動情報と考えることができる。また、加工機200から取得する稼動情報として、工具200tの種類に注目した場合、1-1および1-2、2-1および2-2、N-1およびN-2は、同一の稼動情報と考えることができる。
さらに、加工機200から取得する情報として、加工プログラムに注目した場合、1-1、2-1、N-1は、同一の稼動情報と考えることができる。このように、様々な観点から、稼動情報をグループ化することができる。稼動情報のグループ化を行うための情報としては、工具種類や加工プログラムの他、加工回数、加工サイクル、主軸回転数、シーケンス番号などが挙げられる。
次に、処理部104による処理部104による稼動情報と検知情報との対応付け処理を具体的に説明する。図8は、稼動情報と検知情報の対応付けの一例を説明する図である。
この例では、ユーザにより設定された監視対象となる処理工程が工具Bにより行われる加工工程であるものとする。本実施形態において、処理部104は、1-3、2-3、N-3を同一の稼動情報としてグループ化する。さらに、処理部104は、グループ化した稼動情報と、1-3、2-3、N-3に対応する検知情報と、を対応付ける。このような処理を行うことで、特定の加工の特徴情報の変化を観察することが可能になる。
特徴抽出部105は、処理部104により稼動情報と対応付けられ、前処理された検知情報から検知情報の特徴を示す特徴情報を抽出する。
特徴情報は、検知情報の特徴を示す情報であればどのような情報であってもよい。例えば、検知情報がマイクにより集音された音響データである場合、特徴抽出部105は、エネルギー、周波数スペクトル、および、MFCC(メル周波数ケプストラム係数)等を特徴情報として抽出してもよい。
ここで、特徴抽出部105による特徴情報の抽出について詳しく説明する。ここでは、抽出される特徴情報が周波数スペクトルであるものとして説明する。図9は、診断装置が検知情報から抽出した特徴情報を周波数成分で模式的に例示する図である。この例では、図6に示した処理工程P2がユーザにより監視対象として設定されているものとする。図9に示す区間は、処理工程P2に対応する加工実施の時間である。
本実施形態において、特徴抽出部105は、検知情報に対してフレームごとにフーリエ変換を行うことによって特徴情報を抽出する。
ここで、フレームとは、検知情報の所定時間、例えば20[ms]、40[ms]等のデータ量を示し、特徴情報が、検知情報に対してフーリエ変換されることにより得られる周波数スペクトルである場合の窓長のデータ量に相当する。図9に示す特徴情報は、対応する検知情報のフレームの時間に関連付けられている。
モデル生成部106は、加工が正常に行われたことの判定に用いられるモデルを生成する。モデルは、例えば稼動情報ごとに生成される。なお、モデルを外部装置で生成する場合は、モデル生成部106は備えられなくてもよい。
本実施形態において、モデル生成部106は、加工機200の正常動作時に検知情報から特徴抽出部105により抽出された特徴情報の各処理工程ごとの相関分析により、稼動情報ごとにモデルを生成する。なお、モデル生成部106は、特徴情報を用いた機械学習または深層学習等によりモデルを生成してもよい。
異常度算出部107は、検知情報取得部102により検知情報が取得される場合に、対象装置の稼動情報と、検知部により取得された検知情報と、を対応付けた情報に基づいて、異常度を算出する。異常度算出部107は、「算出部」の一例である。
本実施形態において、異常度算出部107は、まず、特徴抽出部105により抽出された特徴情報と、モデル生成部106により生成された稼動情報ごとのモデルと、を用いて、抽出された特徴情報の異常が累積されたスコア値であるサブスコアを算出する。ここで、サブスコアとは、抽出された特徴情報がモデルからどれくらい乖離しているかを示すものである。サブスコアは、「パラメータ」の一例である。
なお、異常度算出部107は、モデルを用いることなく、加工機200の正常動作時に得られた特徴情報と、異常判定対象の検知情報から得られた特徴情報とを比較することで、サブスコアを算出してもよい。あるいは、異常度算出部107は、加工機200の正常動作時に得られた検知情報と、ユーザにより設定された監視対象となる処理工程と対応する検知情報と、を比較することで、サブスコアを算出してもよい。
異常度算出部107は、加工物や工具200t、加工機200の駆動部24、駆動部24の主軸等の異常検知対象に合わせて、複数のサブスコアを算出する。
異常度算出部107は、算出した複数のサブスコアを合成することで、異常度を算出する。具体的には、異常度算出部107は、各サブスコアに重みを乗じて得た数値を合計することで異常度を算出する。
なお、重みはユーザが調整することもできる。本実施形態において、調整していない重みで算出された異常度を総合スコア、ユーザが調整した重みで算出された異常度をカスタムスコアと呼ぶこととする。カスタムスコアを表示するための設定については後述する。
異常判定部108は、異常度算出部107により算出された異常度に基づいて対象装置の異常の有無を判定する。本実施形態において、異常判定部108は、異常度算出部107により算出された異常度を閾値処理して加工機200の異常の有無を判定する。異常判定部108は、異常度が予め設定した閾値を超えた場合、加工機200に異常が生じていると判定し、閾値以下の場合、加工機200に異常が生じていないと判定する。
なお、異常判定部108による異常の判定方法はこれに限定されない。例えば、機械学習または深層学習等の学習手段を用いて異常の判定を行ってもよい。
蓄積部109は、異常度算出部107により算出された異常度を蓄積する。本実施形態において、蓄積部109は、処理部104により検知情報と対応付けられた稼動情報と、異常度算出部107により算出された異常度と、異常判定部108による加工機200の異常の判定結果と、を対応付けて、監視範囲番号を付して加工データとし、記憶部13に蓄積する。監視範囲番号は、加工データを管理するために付される番号である。
本実施形態において、蓄積部109は、記憶部13に加工データを蓄積するが、クラウドサーバCS(図1参照)に備えられた記憶装置等に加工データを蓄積してもよい。
受付部110は、ユーザからの入力を受付ける。受付部110は、例えば、異常度を算出するのに用いられる複数のパラメータの重みの候補を示す重み候補の入力を受付ける。
本実施形態において、受付部110は、後述するカスタムスコア設定追加画面において、サブスコアの重みの候補となる数値の入力を受付ける。また、受付部110は、ユーザからサブスコアの重みの確定指示を受付ける。
また、受付部110は、カスタムスコア設定追加画面においてユーザが「登録済みスコア読み込み」ボタンを押下した場合に表示されるダイアログにおいて、ユーザから1のカスタムスコア設定の選択を受付ける。なお、サブスコアの重みは、異常度を算出するのに用いられる「パラメータの重み」の一例である。
確定部111は、受付部110により受付けられた重み候補をパラメータの重みとして確定する。本実施形態において、確定部111は、受付部110がユーザからサブスコアの重みの確定指示を受付けた場合、入力された数値をサブスコアの重みとして確定する。
管理部112は、パラメータと、確定部111により確定されたパラメータの重みと、を対応付けて算出情報として記憶部13に記憶し、算出情報を記憶部13から読出す。なお、算出情報は、異常度を算出するための情報である。
本実施形態において、管理部112は、カスタムスコア設定の名称と、サブスコアと、確定部111により確定されたサブスコアの重みをカスタムスコア設定として、記憶部13に保存する。また、管理部112は、ユーザの選択に従って、記憶部13に保存されたカスタムスコア設定を読出す。カスタムスコア設定は、「算出情報」の一例である。
設定部113は、診断装置100の各種設定を行う。本実施形態において、設定部113は、特定の処理工程をユーザが監視対象とする処理工程として設定する。また、設定部113は、特定の工具200tをユーザが監視対象とする工具200tとして設定することもできる。さらに、設定部113は、異常判定部108による加工機200の異常を判定するための閾値を設定することもできる。
表示制御部114は、受付部110により受付けられた重み候補を反映させて、蓄積部109により蓄積された異常度を変化させて表示させる。また、表示制御部114は、パラメータと、重み候補と、重み候補を反映させて変化させた異常度と、を同時に表示部15に表示させる。
表示制御部114は、確定部111により確定されたパラメータの重みを反映させて変化させた異常度を表示部15に表示させる。
表示制御部114は、複数の異常項目の各々に対して、その異常項目の異常度を算出するためのパラメータと、確定部111により確定されたパラメータの重みと、を対応付けた算出情報を参照して、ユーザから指定された異常項目に対応付けられたパラメータと、パラメータの重みとを抽出し、パラメータの重みを重み候補として、パラメータと、重み候補と、重み候補を反映させて変化させた異常度と、を同時に表示部15に表示させる。
なお、表示制御部114は、「出力制御部」の一例である。
本実施形態において、表示制御部114は、カスタムスコア設定追加画面において、ユーザがサブスコアの重みの候補として入力した数値を反映させて、蓄積部109により蓄積された、任意の過去の加工データを、表示部15に表示させる。また、表示制御部114は、異常度表示画面において、ユーザにより読み出されたカスタムスコア設定を反映した任意の過去の加工データを、表示部15に表示させる。
ここで、カスタムスコア設定について詳しく説明する。図10A乃至Dは、カスタムスコア設定の一例を示す図である。図10Aは、カスタムスコア設定画面の一例を示す図である。
この図において、「ドリル異常スコア」、「エンドミル異常スコア」、「リーマ異常スコア」は、既に登録済のカスタムスコア設定の名称を表している。「ドリル異常スコア」、「エンドミル異常スコア」、「リーマ異常スコア」は、「異常項目」の一例である。
ユーザは、「ドリル異常スコア」等のカスタムスコア設定の名称を選択することにより、カスタムスコア設定を読出して編集等の操作を行うことができる。「サブスコア1」、「サブスコア2」、「サブスコア3」は、異常度を算出するためのパラメータセットである。「ドリル異常スコア」、「エンドミル異常スコア」、「リーマ異常スコア」は、設定項目として、「サブスコア1」、「サブスコア2」、「サブスコア3」を有する。
なお、「サブスコア1」、「サブスコア2」、「サブスコア3」は、振動の情報から算出するものであり、それぞれ算出方法や特性が異なる指標値である。各サブスコアの右隣の数値は、サブスコアの重みを表している。右下の「追加」、「編集」等のボタンは、各種操作等を行うためのボタンである。
「追加」ボタンは、カスタムスコア設定を追加するためのボタンである。ユーザが「追加」ボタンを押下すると、受付部110は、カスタムスコア設定の追加指示を受付ける。受付部110が、カスタムスコア設定の追加指示を受付けると、表示制御部114は、カスタムスコア設定追加画面を表示部15に表示させる。
図10Bは、カスタムスコア設定追加画面の一例を示す図である。この図において、「表示名」は、カスタムスコア設定の名称である。表示名は任意の名称に変更することができる。この例では、「カスタムスコア1」という名称が表示名として入力されている。カスタムスコア設定追加画面は、「第1の画面」の一例である。
「サブスコア1」等のサブスコアの重みは、画面の上下ボタンにより、インクリメント/デクリメントすることができる。なお、ユーザは、入力装置14により直接数値を入力することもできる。受付部110は、ユーザにより入力されたサブスコアの重みの候補となる数値を受付ける。
受付部110が数値の入力を受付けると、表示制御部114は、受付けた数値を反映させ、過去の加工データに含まれる異常度を変化させて画面下部のプレビュー表示部にリアルタイムで表示させる。プレビュー表示部では、サブスコアの内訳がわかるように各サブスコアが積み重ねられた形で異常度が表示される。なお、プレビュー表示部において、縦軸は異常度、横軸は加工回数を示している。
「登録済スコア読み込み」ボタンは既に登録されているカスタムスコア設定を読み出すためのボタンである。「登録済スコア読み込み」についての詳しい説明は後述する。「監視範囲番号」は、プレビュー表示部に表示する加工データを指定するためのボタンである。ユーザは任意の過去の加工データをプレビュー表示することができる。
「OK」ボタンは、受付部110が受付けた数値を、サブスコアの重みとして確定するためのボタンである。「キャンセル」ボタンは、カスタムスコア設定の追加処理を中止するためのボタンである。
ユーザにより「OK」ボタンが押下されると、受付部110は、サブスコアの重みの確定指示を受付ける。受付部110が確定指示を受付けると、確定部111は、現在入力されている数値を、サブスコアの重みとして確定する。確定部111により確定されたサブスコアの重みは、管理部112により、カスタムスコア設定として記憶部13に保存される。
ここで、サブスコアの重み調整の考え方について説明する。例えば、ユーザがエンドミルで行う加工について監視したいと考えたとする。一般にエンドミルは、加工時間が比較的長いことが知られているため、この場合、ユーザは、時間方向の異常に注目する。そして、ユーザは、時間方向の異常を表すサブスコアがあれば、そのサブスコアの重みを上昇させることになる。
また、ユーザがサブスコアの重み候補として入力した数値は、リアルタイムでプレビュー表示部に反映される。さらに、異常度は、サブスコアの内訳がわかる形で表示されるため、ユーザは、プレビュー表示部の表示から、特定のサブスコアの急上昇に気付くことがある。
例えば、図10Bの例では、初めの加工でサブスコア3が急上昇していることがわかる。そこで、ユーザは、「サブスコア3」が表す異常に注目するために、「サブスコア3」の重みを上昇させることになる。
次に、「登録済スコア読み込み」について詳しく説明する。図10Cは、登録済のサブスコア設定の読み込み処理の一例を示す図である。ユーザが「登録済スコア読み込み」ボタンを押下すると、登録済のカスタムスコア設定を読出すことができる。
例えば、エンドミルの使用頻度が高いため、ユーザがエンドミルによる加工を監視したいと考えたとする。この場合、エンドミルによる加工に注目するための「エンドミル異常スコア」というカスタムスコア設定が登録されていれば、このカスタムスコア設定を雛形としてサブスコアの重みの調整を行うことができるため、作業効率の向上が期待できる。
ユーザが「登録済スコア読み込み」ボタンを押下すると、受付部110は、カスタムスコア設定の読出指示を受付ける。受付部110が読出指示を受付けると、表示制御部114は、図10Cのダイアログを表示部15に表示させる。
この例では、ダイアログに「ドリル異常スコア」、「エンドミル異常スコア」、「リーマ異常スコア」の3個のボタンが表示されている。
ユーザが表示されたダイアログの「エンドミル異常スコア」ボタンを押下すると、受付部110は、ユーザからカスタムスコア設定の選択を受付ける。受付部110が選択を受付けると、管理部112は、受付部110により受付けられたカスタムスコア設定を記憶部13から読出す。表示制御部114は、カスタムスコア設定追加画面を再表示させる。
再表示されたカスタムスコア設定追加画面のサブスコアの重みには、「エンドミル異常スコア」に設定されたサブスコアの重みが入力された状態になっており、このサブスコアの重みがプレビュー表示部にも反映され、表示される異常度が変化する。ユーザは、プレビュー表示部の表示を参考にして、サブスコアの重みを調整する。
カスタムスコア設定追加画面でカスタムスコア設定が追加されると、表示制御部114は、カスタムスコア設定画面を表示部15に表示させる。カスタムスコア設定画面には、追加されたカスタムスコア設定が表示される。
図10Dは、カスタムスコア設定追加後のカスタムスコア設定画面の一例を示す図である。この例では、「リーマ異常スコア」の下行に追加された「カスタムスコア1」が表示されている。なお、この図の「カスタムスコア1」を用いた場合に表示されるカスタムスコアは、「10*サブスコア1+5*サブスコア2+4*サブスコア3」となる。
次に、異常度表示画面について説明する。図11は、異常度表示画面の一例を示す図である。異常度表示画面では、表示制御部114が、カスタムスコア設定を反映させて、記憶部13に保存された過去の加工データを変化させて表示させる。異常度表示画面は、「第2の画面」の一例である。
具体的には、過去の加工データに含まれる異常度、判定結果を変化させて表示させる。表示する加工データは、ユーザが任意に指定することができる。加工データの選択は、図示しない加工データ選択画面で行う。ユーザが選択した加工データの監視範囲番号は、異常度表示画面に表示される。
「表示内容」ボタンは、カスタムスコア設定を変更するためのボタンである。ユーザが「表示内容」ボタンを押下すると、受付部110が、カスタムスコア設定変更指示を受付ける。
受付部110が、変更指示を受付けると、カスタムスコア設定追加画面において「登録済みスコア読み込み」ボタンを押下した場合に表示されるダイアログと同様のダイアログが表示される。ユーザが1のカスタムスコア設定を選択すると、受付部110は、カスタムスコア設定選択指示を受付ける。
受付部110が選択指示を受付けると、表示制御部114は、選択したカスタムスコア設定を反映させて、加工データを表示部15に表示させる。なお、「表示内容」ボタンで総合スコアを選択することもできる。「表示内容」ボタンの下には、現在選択されているカスタムスコア設定が表示されている。
異常度表示画面において、縦軸は異常度、横軸は加工回数を表している。横軸、縦軸の数値は、表示する加工データに応じて変化する。なお、図示しないが、異常度が設定した閾値を超える場合には、画面上部にアラートが表示される。「アラート設定」ボタンを押下すると、加工機200の異常を判定するための閾値を設定することができる。
なお、表示制御部114は、カスタムスコア設定追加画面と、異常度表示画面と、を切替えて表示部15に表示させることができる。本実施形態において、表示制御部114は、カスタムスコア設定画面を経由して、カスタムスコア設定追加画面と、異常度表示画面と、を切替えて表示させる。
本実施形態では、上述の通信制御部101、検知情報取得部102、稼動情報取得部103、処理部104、特徴抽出部105、モデル生成部106、異常度算出部107、異常判定部108、蓄積部109、受付部110、確定部111、管理部112、設定部113、および、表示制御部114の各々の機能は、CPU10がROM10a等に格納されたプログラムを実行することにより実現されるが、これに限られるものではない。
例えば、上述の通信制御部101、検知情報取得部102、稼動情報取得部103、処理部104、特徴抽出部105、モデル生成部106、異常度算出部107、異常判定部108、蓄積部109、受付部110、確定部111、管理部112、設定部113、および、表示制御部114の各々の機能のうちの少なくとも一部の機能が、専用のハードウェア回路で実現される形態であってもよい。
本実施形態の診断装置100で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施形態の診断装置100で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の診断装置100で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
上述した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
(診断システムの処理)
次に、診断システム1の処理について説明する。まず、加工データの蓄積処理について説明する。図12は、加工データの蓄積処理の一例を示すフローチャートである。なお、前提として、設定部113により監視対象となる処理工程が設定されているものとする。
まず、受付部110は、ユーザから加工データの収録指示を受付ける(ステップS101)。なお、収録指示の入力は、画面の上部の右端に表示されている「ON/OFF」ボタンをユーザが押下して表示を「ON」にすることにより行われる(例えば、図10A、図11を参照)。
検知情報取得部102は、加工機200のセンサ25およびセンサアンプ25aが検知した物理量を検知情報として取得する(ステップS102)。稼動情報取得部103は、加工機200から稼動情報を取得する(ステップS103)。
処理部104は、稼動情報取得部103が取得した稼動情報のうち、設定部113により設定された監視対象となる処理工程と対応する稼動情報と、検知情報取得部102が取得した検知情報のうち、設定部113により設定された監視対象となる処理工程と対応する稼動情報と対応する検知情報と、を対応付ける処理を行う(ステップS104)。また、このとき、処理部104は、稼動情報と対応付けた検知情報の前処理を行う。
特徴抽出部105は、設定部113により設定された監視対象となる処理工程と対応する稼動情報と対応付けられ、前処理された検知情報から特徴情報を抽出する(ステップS105)。異常度算出部107は、特徴抽出部105が抽出した特徴情報からサブスコアを算出する(ステップS106)。異常度算出部107は、算出されたサブスコアから異常度を算出する(ステップS107)。
異常判定部108は、異常度算出部107により算出された異常度から加工機200の異常の有無を判定する(ステップS108)。蓄積部109は、設定部113により設定された監視対象となる処理工程と対応する稼動情報と、異常度算出部107により算出された異常度と、異常判定部108による異常の有無の判定結果と、を対応付けて加工データとし、記憶部13に蓄積して、本処理を終了する(ステップS109)。
次に、カスタムスコア設定追加処理について説明する。図13は、カスタムスコア設定追加処理の一例を示すフローチャートである。
まず、前提として、カスタムスコア設定の追加処理を行うためには、カスタムスコア設定画面を表示する必要がある。カスタムスコア設定画面が表示されていない場合(例えば、図11を参照)に、ユーザが、ビュー切り替えの「スコア設定」ボタンを押下すると、受付部110がカスタムスコア設定画面表示指示を受付け、表示制御部114は、カスタムスコア設定画面を表示部15に表示させる。
カスタムスコア設定画面でユーザにより、「追加」ボタンが押下されると、受付部110は、カスタムスコア設定追加指示を受付ける(ステップS201)。受付部110が追加指示を受付けると、表示制御部114は、カスタムスコア設定追加画面を表示させる(ステップS202)。
受付部110は、ユーザから監視範囲番号の指定を受付ける(ステップS203)。これにより、ユーザに指定された監視範囲番号が付された加工データがプレビュー表示される。受付部110は、ユーザにより入力されたサブスコアの重み候補となる数値を受付ける(ステップS204)。
受付部110がサブスコアの重み候補となる数値を受付けると、表示制御部114は、入力されたサブスコアの重み候補を反映させた加工データをプレビュー表示させる(ステップS205)。
受付部110は、ユーザから、再度サブスコアの重み候補となる数値の入力、または、サブスコアの重みの確定指示の入力を受付ける(ステップS206)。受付部110が、ユーザから、サブスコアの重みの確定指示の入力を受付けた場合(ステップS206:Yes)、確定部111は、入力された数値をサブスコアの重みとして確定する。
確定部111により、サブスコアの重みが確定されると、管理部112は、確定されたサブスコアの重みをカスタムスコア設定として記憶部13に保存し、本処理を終了する(ステップS207)。
なお、ステップS206で、受付部110ユーザから、再度サブスコアの重み候補となる数値の入力を受付けた場合(ステップS206:No)、サブスコアの重みの確定指示の入力を受付けるまで、ステップS204、ステップS205の処理を繰り返す。
次に、異常度の表示処理について説明する。図14は、異常度表示処理の一例を示すフローチャートである。前提として、カスタムスコア設定画面が表示されている状態から処理を開始するものとする(例えば、図10Dを参照)。
受付部110は、異常度表示画面の表示指示を受付ける(ステップS301)。異常度表示画面の表示指示は、ユーザが、ビュー切り替え「詳細」ボタンを押下することで入力される。受付部110が表示指示を受付けると、監視範囲番号指定画面が表示される。受付部110は、ユーザから監視範囲番号の指定を受付ける(ステップS302)。
受付部110が監視範囲番号の指定を受付けると、表示制御部114は、異常度表示画面を表示させる(ステップS303)。
異常度表示画面において、ユーザが「表示内容」ボタンを押下すると、表示制御部114は、上述したカスタムスコア設定追加画面でユーザが「登録済スコア読み込み」ボタンを押下した場合に表示されるダイアログと同様のダイアログを表示させる。
ユーザは、任意のカスタムスコア設定を選択し、受付部110は、ユーザによる表示内容の選択を受付ける(ステップS304)。ユーザは、表示内容を選択することで、任意のカスタムスコア設定を反映させた過去の加工データを表示させることができる。
表示制御部114は、選択された表示内容を反映させた加工データを表示させ、本処理を終了する(ステップS305)。
(診断システムの効果)
従来の診断システムでは、算出される異常度は複数のサブスコアの合成であり、異常度の算出に用いられるサブスコアの重みは、固定値であった。サブスコアの変動は特定の現象と結びつくが、異常度は複数のサブスコアの合成であるため、複数の現象を総合的に表したものとなる。したがって、異常度に注目しても特定の現象を把握することは困難な場合があった。
本実施形態の診断装置100においては、受付部110がサブスコアの重みの候補となる数値を受付け、表示制御部114がサブスコアの重みの候補となる数値を反映させた過去の加工データを表示部15に表示させる。このとき、異常度はサブスコアの内訳がわかるように表示される。
これにより、ユーザは、サブスコアの変動から「ある特定の現象が起こっているようだ」といった気付きを得ることが可能になる。この気付きがあれば、サブスコアの重みをより適した状態に調整することもできるようになる。したがって、本実施形態の診断装置100は、パラメータを調整することにより、特定の現象を把握しやすくすることができる。
また、確定部111は、ユーザにより入力されたサブスコアの重み候補の数値を、サブスコアの重みとして確定し、管理部112は、確定されたサブスコアの重みをカスタムスコア設定として、記憶部13に保存する。表示制御部114は、管理部112により読出されたカスタムスコア設定を反映させて、蓄積部109により蓄積された過去の加工データを表示部15に表示させる。
これにより、新たにカスタムスコア設定を登録した場合であっても、すぐに、そのカスタムスコア設定を反映させて、過去の加工データを表示することができる。
(変形例)
上述の実施形態では、診断対象の装置を例えば加工機200であるとしたが、組立機等
の他の工作機械、測定機、検査機、または洗浄機等の機械が対象装置であってもよい。
上述の実施形態では、センサ25は、例えば、マイクデバイス、振動センサ、加速度センサ、またはAE(Acoustic Emission)センサ等で構成されると説明したが、これらと併用してカメラ(画像)センサを用いてもよい。これにより、加工の進捗の確認等が可能になる。
上述の実施形態では、検知情報は、例えば、振動データまたは音響データ等であるとしたが、モータの電流値、負荷、トルク等、他のデータであっても検知情報として用いることができる。
上述の実施形態では、診断装置100の表示制御部114が表示部15に各種データを表示させるものとしたが、データの出力手法はこれに限られない。診断装置100に接続されるプリンタ等に、各種データがプリントアウトされるようにしてもよい。診断装置100に接続されるスピーカ等により、アラート閾値超えにより警報が発報されるなど、各種データが音声データとして出力されるようにしてもよい。
以上、本発明の実施形態を説明したが、上記実施形態は例として提示したものであり、発明の範囲を限定することを意図するものではない。上記新規な実施形態はその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。上記実施形態及びその変形は発明の範囲及び要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。