以下、図面を参照して実施形態について説明する。図1は、実施形態に係る予知保全システム1を示す模式図である。予知保全システム1は、産業機械において故障の発生前に、保全対象とする部位を判定するためのシステムである。予知保全システム1は、産業機械2A-2Cと、ローカルコンピュータ3A-3Cと、サーバ4とを含む。
図1に示すように、産業機械2A-2Cは、異なるエリア内に配置されてもよい。或いは、産業機械2A-2Cは、同じエリア内に配置されてもよい。例えば、産業機械2A-2Cは、異なる工場内に配置されてもよい。或いは、産業機械2A-2Cは、同じ工場内に配置されてもよい。本実施形態において、産業機械2A-2Cは、プレス機械である。なお、図1では3つの産業機械が図示されている。しかし、産業機械の数は、3つより少なくてもよく、或いは3つより多くてもよい。
図2は、産業機械2Aの正面図である。産業機械2Aは、スライダ11と、複数のスライド駆動系12a-12dと、ボルスタ16と、ベッド17と、ダイクッション装置18と、コントローラ5A(図1参照)とを含む。スライダ11は、上下に移動可能に設けられている。スライダ11には、上型21が取り付けられる。複数のスライド駆動系12a-12dは、スライダ11を動作させる。産業機械2Aは、例えば4つのスライド駆動系12a-12dを含む。図2では、2つのスライド駆動系12a,12bが示されている。他のスライド駆動系12c,12dは、スライド駆動系12a,12bの後方に配置されている。ただし、スライド駆動系の数は4つに限らず、4つより少なくてもよく、或いは4つより多くてもよい。
ボルスタ16は、スライダ11の下方に配置されている。ボルスタ16には、下型22が取り付けられる。ベッド17は、ボルスタ16の下方に配置されている。ダイクッション装置18は、プレス時に下型22に上向きの荷重を付加する。詳細には、ダイクッション装置18は、プレス時に下型22のブランクホルダ部に上向きの荷重を負荷する。コントローラ5Aは、スライダ11とダイクッション装置18との動作を制御する。
図3は、スライド駆動系12aを示す図である。図3に示すように、スライド駆動系12aは、サーボモータ23a、減速機24a、タイミングベルト25a、及びコンロッド26aなどの複数の部位を含む。サーボモータ23aと、減速機24aと、タイミングベルト25aと、コンロッド26aとは、連動して動作するように、互いに連結されている。
サーボモータ23aは、コントローラ5Aによって制御される。サーボモータ23aは、出力軸27aとモータベアリング28aを含む。モータベアリング28aは、出力軸27aを支持している。減速機24aは、複数のギアを含む。減速機24aは、タイミングベルト25aを介して、サーボモータ23aの出力軸27aに連結されている。減速機24aは、コンロッド26aに連結されている。コンロッド26aは、スライダ11の支持軸29に接続されている。支持軸29は、支持軸ホルダ(図示せず)に対して、上下方向に摺動可能である。サーボモータ23aの駆動力は、タイミングベルト25a、減速機24a、及びコンロッド26aを介して、スライダ11に伝達される。それにより、スライダ11が上下に移動する。
他のスライド駆動系12b-12dも、上述したスライド駆動系12aと同様の構成を有している。以下の説明では、他のスライド駆動系12b-12dの構成のうち、スライド駆動系12aの構成に対応するものについては、スライド駆動系12aの構成と同じ数字とスライド駆動系12b-12dのアルファベットとからなる符合を付するものとする。例えば、スライド駆動系12bは、サーボモータ23bを含む。スライド駆動系12cは、サーボモータ23cを含む。
図2に示すように、ダイクッション装置18は、クッションパッド31と、複数のダイクッション駆動系32a-32dとを含む。クッションパッド31は、ボルスタ16の下方に配置されている。クッションパッド31は、上下に移動可能に設けられている。複数のダイクッション駆動系32a-32dは、クッションパッド31を上下に動作させる。産業機械2Aは、例えば4つのダイクッション駆動系32a-32dを含む。ただし、ダイクッション駆動系の数は4つに限らず、4つより少なくてもよく、或いは4つより多くてもよい。なお、図2では、2つのダイクッション駆動系32a,32bが示されている。他のダイクッション駆動系32c,32dは、ダイクッション駆動系32a,32bの後方に配置されている。
図4は、ダイクッション駆動系32aを示す図である。図4に示すように、ダイクッション駆動系32aは、サーボモータ36a、タイミングベルト37a、ボールスクリュー38a、及び駆動部材39aなどの複数の部位を含む。サーボモータ36aと、タイミングベルト37aと、ボールスクリュー38aとは、連動して動作するように、互いに連結されている。サーボモータ36aは、コントローラ5Aによって制御される。サーボモータ36aは、出力軸41aとモータベアリング42aとを含む。モータベアリング42aは、出力軸41aを支持している。
サーボモータ36aの出力軸41aは、タイミングベルト37aを介して、ボールスクリュー38aに連結されている。ボールスクリュー38aは、回転することで、上下に移動する。駆動部材39aは、ボールスクリュー38aと螺合するナット部を含む。駆動部材39aは、ボールスクリュー38aに押圧されることで、上方に移動する。駆動部材39aは、オイル室40aに配置されたピストンを含む。駆動部材39aは、オイル室40aを介して、クッションパッド31を支持している。
他のダイクッション駆動系32b-32dも、上述したダイクッション駆動系32aと同様の構成を有している。以下の説明では、他のダイクッション駆動系32b-32dの構成のうち、ダイクッション駆動系32aの構成に対応するものについては、ダイクッション駆動系32aの構成と同じ数字とダイクッション駆動系32b-32dのアルファベットとからなる符合を付するものとする。例えば、ダイクッション駆動系32bは、サーボモータ36bを含む。ダイクッション駆動系32cは、サーボモータ36cを含む。
他の産業機械2B,2Cの構成も、上述した産業機械2Aと同様である。図1に示すように、産業機械2B,2Cは、それぞれコントローラ5B,5Cによって制御される。なお、産業機械2A-2Cは、ダイクッション装置を備えないものであってもよい。例えば、産業機械2Cは、ダイクッション装置を備えないプレス機械である。
ローカルコンピュータ3A-3Cは、それぞれ産業機械2A-2Cのコントローラ5A-5Cと通信する。図1に示すように、ローカルコンピュータ3Aは、プロセッサ51と記憶装置52と通信装置53とを含む。プロセッサ51は、例えばCPU(central processing unit)である。或いは、プロセッサ51は、CPUと異なるプロセッサであってもよい。プロセッサ51は、プログラムに従って、産業機械2Aの予知保全のための処理を実行する。
記憶装置52は、ROMなどの不揮発性メモリと、RAMなどの揮発性メモリとを含む。記憶装置52は、ハードディスク、或いはSSD(Solid State Drive)などの補助記憶装置を含んでもよい。記憶装置52は、非一時的な(non-transitory)コンピュータで読み取り可能な記録媒体の一例である。記憶装置52は、ローカルコンピュータ3Aを制御するためのコンピュータ指令及びデータを記憶している。通信装置53は、サーバ4と通信する。他のローカルコンピュータ3B,3Cの構成は、ローカルコンピュータ3Aと同様である。
サーバ4は、ローカルコンピュータ3A-3Cを介して、産業機械2A-2Cから、予知保全のためのデータを収集する。サーバ4は、収集したデータに基づいて、予知保全サービスを実行する。予知保全サービスでは、保全対象とする部位が特定される。サーバ4は、クライアントコンピュータ6と通信する。サーバ4は、クライアントコンピュータ6に、予知保全サービスを提供する。
サーバ4は、第1通信装置55と、第2通信装置56と、プロセッサ57と、記憶装置58とを含む。第1通信装置55は、ローカルコンピュータ3A-3Cと通信を行う。第2通信装置56は、クライアントコンピュータ6と通信を行う。プロセッサ57は、例えばCPU(central processing unit)である。或いは、プロセッサ57は、CPUと異なるプロセッサであってもよい。プロセッサ57は、プログラムに従って、予知保全サービスのための処理を実行する。
記憶装置58は、ROMなどの不揮発性メモリと、RAMなどの揮発性メモリとを含む。記憶装置58は、ハードディスク、或いはSSD(Solid State Drive)などの補助記憶装置を含んでもよい。記憶装置58は、非一時的な(non-transitory)コンピュータで読み取り可能な記録媒体の一例である。記憶装置58は、サーバ4を制御するためのコンピュータ指令及びデータを記憶している。
上述した通信は、3G、4G、或いは5Gなどの移動体通信ネットワークを介して行われてもよい。或いは、通信は、衛星通信などの他の無線通信ネットワークを介して行われてもよい。或いは、通信は、LAN,VPN,インターネットなどのコンピュータ通信ネットワークを介して行われてもよい。或いは、通信は、これらの通信ネットワークの組み合わせを介して行われてもよい。
次に、予知保全サービスのための処理について説明する。図5は、ローカルコンピュータ3A-3Cによって実行される処理を示すフローチャートである。以下、ローカルコンピュータ3Aが図5に示す処理を実行する場合について説明するが、他のローカルコンピュータ3B,3Cも、ローカルコンピュータ3Aと同様の処理を実行する。
図5に示すように、ステップS101では、ローカルコンピュータ3Aは、産業機械2Aのコントローラ5Aから、駆動系データを取得する。駆動系データは、駆動系12a-12d,32a-32dに含まれる部位の加速度を含む。例えば、駆動系データは、サーボモータ23a-23d,36a-36dの角加速度を含む。角加速度は、サーボモータ23a-23d,36a-36dの回転速度から算出されてもよい。或いは、角加速度は、振動センサなどのセンサによって検出されてもよい。以下、ローカルコンピュータ3Aが、駆動系12aの駆動系データを取得する場合について説明する。
ローカルコンピュータ3Aは、所定の開始条件が満たされたときに、駆動系12aの駆動系データを取得する。所定の開始条件は、前回の取得から所定時間が経過していることを含む。所定時間は、例えば数時間であるが、これに限らない。所定の開始条件は、サーボモータ23aの回転速度が、所定の閾値を超えていることである。所定の閾値は、例えば産業機械2Aが、動作中であって、且つ、プレス加工中ではない状態であることを示す値であることが好ましい。
ローカルコンピュータ3Aは、所定のサンプリング周期でサーボモータ23aの角加速度の複数の値を取得する。サンプル数は、例えば数百~数千であるが、これに限られない。1単位の駆動系データは、所定時間内にサンプリングされた複数の角加速度の値を含む。所定時間は、例えば、サーボモータ23aの数回転分に相当する時間であってもよい。
ステップS102では、ローカルコンピュータ3Aは、解析データを生成する。ローカルコンピュータ3Aは、例えば、高速フーリエ変換によって、駆動系データから解析データを生成する。ただし、ローカルコンピュータ3Aは、高速フーリエ変換と異なる周波数解析のアルゴリズムを用いてもよい。駆動系データ及び解析データは、産業機械2Aの駆動系の動的な状態を示す状態データの一例である。
ステップS103では、ローカルコンピュータ3Aは、解析データから特徴量を抽出する。図6は、解析データの一例を示す図である。図6において、横軸は周波数であり、縦軸は振幅である。特徴量は、例えば、閾値以上の振幅のピークの値、及び、その周波数である。
ステップS104では、ローカルコンピュータ3Aは、解析データと特徴量とを記憶装置52に保存する。ローカルコンピュータ3Aは、解析データと特徴量とを、それらに対応する駆動系データの取得時間を示すデータと共に保存する。ステップS105では、ローカルコンピュータ3Aは、特徴量をサーバ4に送信する。ここでは、ローカルコンピュータ3Aは、解析データではなく特徴量をサーバ4に送信する。
ローカルコンピュータ3Aは、駆動系12aについて、1単位の状態データファイルを生成し、記憶装置52に状態データファイルを保存する。1単位の状態データファイルは、1単位の駆動系データと、当該駆動系データから変換された解析データと、特徴量とを含む。
また、状態データファイルは、状態データが取得された時間を示すデータを含む。状態データファイルは、状態データファイルの識別子を示すデータを含む。状態データファイルは、対応する駆動系の識別子を示すデータを含む。識別子は、名称であってもよく、或いはコードであってもよい。ローカルコンピュータ3Aは、特徴量と、当該特徴量に対応する状態データファイルの識別子とを共に、サーバ4に送信する。
ローカルコンピュータ3Aは、以上の処理と同様の処理を、他の駆動系12b-12d,32a-32dに対して実行する。ローカルコンピュータ3Aは、他の駆動系12b-12d,32a-32dのそれぞれについて、状態データファイルを生成する。ローカルコンピュータ3Aは、他の駆動系12b-12d,32a-32dのそれぞれについて、特徴量と、当該特徴量に対応する状態データファイルの識別子とを共に、サーバ4に送信する。また、ローカルコンピュータ3Aは、上述した処理を所定時間ごとに繰り返す。それにより、所定時間ごとの複数の状態データファイルが記憶装置52に保存される。それにより、時系列的に取得された複数の状態データファイルが記憶装置52に蓄積される。
ローカルコンピュータ3Bは、産業機械2Bに対して、ローカルコンピュータ3Aと同様の処理を実行する。また、ローカルコンピュータ3Cは、産業機械2Cに対して、ローカルコンピュータ3Aと同様の処理を実行する。
図7は、サーバ4によって実行される処理を示すフローチャートである。以下の説明では、サーバ4がローカルコンピュータ3Aから特徴量を受信したときの処理について説明する。図7に示すように、ステップS201では、サーバ4は、特徴量を受信する。サーバ4は、ローカルコンピュータ3Aから、特徴量を受信する。
ステップS202では、サーバ4は、駆動系12a-12d,32a-32dが正常であるかを判定する。サーバ4は、駆動系12a-12d,32a-32dに対応する特徴量から、駆動系12a-12d,32a-32dのそれぞれが、正常であるかを判定する。駆動系12a-12d,32a-32dが正常であるかの判定は、品質工学における公知の判定手法によって行われてもよい。例えば、サーバ4は、MT法(マハラノビス・タグチ法)を用いて、駆動系12a-12d,32a-32dが正常であるかを判定する。ただし、サーバ4は、他の手法を用いて、駆動系12a-12d,32a-32dが正常であるかを判定してもよい。
ステップS202において、駆動系12a-12d,32a-32dの少なくとも1つが正常ではないと、サーバ4が判定したときには、処理はステップS203に進む。なお、駆動系12a-12d,32a-32dが正常ではないことは、駆動系12a-12d,32a-32dがまだ故障していないが、劣化がある程度まで進んだ状態を意味する。
ステップS203では、サーバ4は、ローカルコンピュータ3Aに解析データを要求する。サーバ4は、解析データの送信の要求信号を、ローカルコンピュータ3Aに送信する。要求信号は、正常では無いと判定された駆動系に対応する状態データファイルの識別子を含む。サーバ4は、要求信号をローカルコンピュータ3Aに送信して、当該状態データファイルの解析データを要求する。
図8は、ローカルコンピュータ3Aによって実行される処理を示すフローチャートである。図8に示すように、ステップS301では、ローカルコンピュータ3Aは、サーバ4からの解析データの要求があるかを判定する。ローカルコンピュータ3Aは、上述した要求信号をサーバ4から受信すると、解析データの要求があると判定する。
ステップS302では、ローカルコンピュータ3Aは、解析データを検索する。ローカルコンピュータ3Aは、記憶装置52に保存された複数の状態データファイルから、要求された状態データファイル内の解析データを検索する。ステップS303では、ローカルコンピュータ3Aは、要求された解析データをサーバ4に送信する。
図9は、サーバ4によって実行される処理を示すフローチャートである。図9に示すように、ステップS401では、サーバ4は、ローカルコンピュータ3Aから解析データを受信する。サーバ4は、記憶装置58に解析データを保存する。ステップS402では、サーバ4は、判定モデル60,70に解析データを入力する。
図10A及び図10Bに示すように、サーバ4は、判定モデル60,70を有する。判定モデル60,70は、解析データを入力として、駆動系に含まれる部位の異常の可能性を出力するように、機械学習により学習済みのモデルである。判定モデル60,70は、人工知能のアルゴリズムと、学習によってチューニングされたパラメータとを含む。判定モデル60,70は、データとして記憶装置58に保存されている。判定モデル60,70は、例えば、ニューラルネットワークを含む。判定モデル60,70は、畳み込みニューラルネットワーク(CNN)などのディープニューラルネットワークを含む。
サーバ4は、スライド駆動系12a-12d用の判定モデル60と、ダイクッション駆動系32a-32d用の判定モデル70とを有する。判定モデル60は、複数の判定モデル61-64を含む。複数の判定モデル61-64のそれぞれは、スライド駆動系12a-12dに含まれる複数の部位に対応している。判定モデル60は、入力された解析データの波形から、対応する部位の異常の可能性を示す値を出力する。判定モデル61-64は、学習データによって、学習済みである。
判定モデル70は、複数の判定モデル71-73を含む。複数の判定モデル71-73のそれぞれは、ダイクッション駆動系32a-32dに含まれる複数の部位に対応している。判定モデル70は、入力された解析データの波形から、対応する部位の異常の可能性を示す値を出力する。判定モデル71-73は、学習データによって、学習済みである。
学習データは、異常時の解析データと正常時の解析データとを含む。図11Aは、異常時の解析データの一例である。図11Bは、正常時の解析データの一例である。異常時の解析データは、対応する部位における異常発生直前から、異常発生時の所定期間前までの解析データである。図11Aに示すように、異常時の解析データでは、波形の複数のピークが所定の閾値Th1を超えている。正常時の解析データは、部位の使用時間が短く、且つ、異常が発生していないときの解析データである。正常時の解析データでは、波形の全てのピークは所定の閾値Th1よりも低い。
図10Aに示すように、本実施形態では、サーバ4は、スライド駆動系12a-12dに対して、モータベアリング用の判定モデル61と、タイミングベルト用の判定モデル62と、コンロッド用の判定モデル63と、減速機用の判定モデル64とを有する。モータベアリング用の判定モデル61は、解析データから、モータベアリング28a-28dの異常の可能性を示す値を出力する。タイミングベルト用の判定モデル62は、解析データから、タイミングベルト25a-25dの異常の可能性を示す値を出力する。コンロッド用の判定モデル63は、解析データから、コンロッド26a-26dの異常の可能性を示す値を出力する。減速機用の判定モデル64は、解析データから、減速機24a-24dのベアリングの異常の可能性を示す値を出力する。
図10Bに示すように、サーバ4は、ダイクッション駆動系32a-32dに対して、モータベアリング用の判定モデル71と、タイミングベルト用の判定モデル72と、ボールスクリュー用の判定モデル73とを有する。モータベアリング用の判定モデル71は、解析データから、モータベアリング42a-42dの異常の可能性を示す値を出力する。タイミングベルト用の判定モデル72は、解析データから、タイミングベルト37a-37dの異常の可能性を示す値を出力する。ボールスクリュー用の判定モデル73は、解析データから、ボールスクリュー38a-38dの異常の可能性を示す値を出力する。
サーバ4は、ステップS401で取得した解析データを、上記の判定モデル61-64のそれぞれ、或いは、判定モデル71-73のそれぞれに入力する。例えば、スライド駆動系12aが正常ではないと判定されたときには、サーバ4は、スライド駆動系12aの解析データを、判定モデル61-64に入力する。それにより、サーバ4は、スライド駆動系12aの各部位の異常の可能性を示す値を出力値として取得する。
或いは、ダイクッション駆動系32aが正常ではないと判定されたときには、サーバ4は、ダイクッション駆動系32aの解析データを判定モデル71-73に入力する。それにより、サーバ4は、ダイクッション駆動系32aの各部位の異常の可能性を示す値を出力値として取得する。
ステップS403では、サーバ4は、出力値の最も大きい部位を、異常部位と判定する。例えば、サーバ4は、スライド駆動系12aに対して、モータベアリング用の判定モデル61と、タイミングベルト用の判定モデル62と、コンロッド用の判定モデル63と、減速機用の判定モデル64とからの出力値のうち、最も大きい値に対応する部位を、異常部位と判定する。或いは、サーバ4は、ダイクッション駆動系32aに対して、モータベアリング用の判定モデル71と、タイミングベルト用の判定モデル72と、ボールスクリュー用の判定モデル73とからの出力値のうち、最も大きい値に対応する部位を、異常部位と判定する。
ステップS404では、サーバ4は、異常部位の残存寿命を算出する。例えば、サーバ4は、MT法(マハラノビス・タグチ法)などの品質工学の公知の手法を用いて、異常部位の残存寿命を算出してもよい。ただし、サーバ4は、他の手法を用いて、残存寿命を算出してもよい。
ステップS405では、サーバ4は、予知保全データを更新する。予知保全データは、記憶装置58に保存されている。予知保全データは、サーバ4に登録されている産業機械2A-2Cの駆動系の残存寿命を示すデータを含む。予知保全データは、駆動系の複数の部位のうち、異常部位と判定された部位の残存寿命を示すデータを含む。
ステップS406では、サーバ4は、保全管理画面の表示要求があるかを判定する。サーバ4は、クライアントコンピュータ6から、保全管理画面の要求信号を受信したときに、保全管理画面の表示要求があると判定する。保全管理画面の表示要求があるときには、サーバ4は、管理画面データを送信する。管理画面データは、クライアントコンピュータ6のディスプレイ7に、保全管理画面を表示するためのデータである。
図12から図14は、保全管理画面の一例を示す図である。保全管理画面は、図12に示す機械一覧画面81と、図13に示す機械個別画面82と、図14に示す保全部位管理画面100とを含む。クライアントコンピュータ6のユーザは、機械一覧画面81と機械個別画面82とを選択的にディスプレイ7に表示させることができる。機械一覧画面81が選択されたときには、サーバ4は、予知保全データに基づいて機械一覧画面81を示すデータを生成して、クライアントコンピュータ6に機械一覧画面81を示すデータを送信する。機械個別画面82が選択されたときには、サーバ4は、予知保全データに基づいて機械画面を示すデータを生成して、クライアントコンピュータ6に機械個別画面82を示すデータを送信する。
図12は、機械一覧画面81の一例を示す図である。機械一覧画面81は、サーバ4に登録された複数の産業機械2A-2Cに関する予知保全データを表示する。図12に示すように、機械一覧画面81は、エリア識別子83と、機械識別子84と、駆動系識別子85と、寿命インジケータ86とを含む。機械一覧画面81では、エリア識別子83と、機械識別子84と、駆動系識別子85と、寿命インジケータ86とが一覧で表示される。
エリア識別子83は、産業機械2A-2Cが配置されたエリアの識別子である。機械識別子84は、産業機械2A-2Cのそれぞれの識別子である。駆動系識別子85は、スライド駆動系12a-12d、或いはダイクッション駆動系32a-32dの識別子である。これらの識別子は、名称であってもよく、或いはコードであってもよい。
寿命インジケータ86は、産業機械2A-2Cのそれぞれに対して、スライド駆動系12a-12d、或いはダイクッション駆動系32a-32dの残存寿命を示す。寿命インジケータ86は、残存寿命を示す数値を含む。残存寿命は、例えば日数で示される。ただし、残存寿命は、時間(hour)などの他の単位で示されてもよい。
また、寿命インジケータ86は、残存寿命を示すグラフィック表示を含む。本実施形態において、グラフィック表示は、バー表示である。サーバ4は、残存寿命に応じて寿命インジケータ86のバーの長さを変更する。ただし、残存寿命は、他の表示態様によって表示されてもよい。
サーバ4は、ステップS404と同様に、正常と判断された駆動系に対して、その特徴量から残存寿命を判定し、当該残存寿命を寿命インジケータ86で表示してもよい。サーバ4は、異常部位を含む駆動系に対しては、上述したステップS404で判定された異常部位の残存寿命を寿命インジケータ86で表示してもよい。
サーバ4は、機械一覧画面81において、残存寿命に応じて複数の駆動系の寿命インジケータ86を色分けして表示する。例えば、残存寿命が第1閾値以上であるときには、サーバ4は、寿命インジケータ86を正常色で表示する。残存寿命が第1閾値より小さく、第2閾値以上であるときには、サーバ4は、寿命インジケータ86を第1警告色で表示する。残存寿命が第2閾値より小さいときには、サーバ4は、寿命インジケータ86を第2警告色で表示する。なお、第2閾値は、第1閾値より小さい。正常色と第1警告色と第2警告色とは、互いに異なる色である。従って、残存寿命が短い部位の寿命インジケータ86は、正常な部位の寿命インジケータ86と異なる色で表示される。
図13は、機械個別画面82の一例を示す図である。サーバ4は、クライアントコンピュータ6から、機械個別画面82の要求信号を受信したときに、機械個別画面82をディスプレイ7に表示するためのデータをクライアントコンピュータ6に送信する。機械個別画面82は、サーバ4に登録された複数の産業機械2A-2Cから選択された1つの産業機械に関する予知保全データを表示する。ただし、機械個別画面82は、選択された複数の産業機械に関する予知保全データを表示してもよい。
以下、産業機械2Aが選択された場合の機械個別画面82について説明する。機械個別画面82は、エリア識別子91と、産業機械の識別子92と、交換計画リスト93と、残存寿命グラフ94とを含む。エリア識別子91は、産業機械2Aが配置されたエリアの識別子である。機械識別子92は、産業機械2Aの識別子である。
交換計画リスト93は、複数の部位のうち保全対象とする部位に関する予知保全データを表示する。上述した判定モデル60,70によって異常部位と判定された部位が、交換計画リスト93に表示される。従って、サーバ4は、複数の部位の少なくとも1つにおいて異常があると判定したときには、交換計画リスト93に当該部位を表示することで、ユーザに異常を知らせることができる。
交換計画リスト93では、残存寿命の短いものから順に、産業機械2Aの各駆動系に含まれる複数の部位の少なくとも一部が表示される。交換計画リスト93は、優先度95と、更新日96と、駆動系の識別子97と、部位の識別子98と、寿命インジケータ99とを含む。
優先度95は、駆動系の部位の交換の優先度を示す。残存寿命が短いほど、優先度95が高い。従って、交換計画リスト93では、残存寿命が最も短い部位の識別子98と寿命インジケータ99とが、最も上位に表示される。更新日96は、駆動系の部位の前回の交換日を示す。駆動系の識別子97は、スライド駆動系12a-12d、或いはダイクッション駆動系32a-32dの識別子である。
部位の識別子98は、駆動系に含まれる部位の識別子である。例えば、部位の識別子98は、スライド駆動系12a-12dのサーボモータ、減速機、タイミングベルト、或いはコンロッドの識別子である。或いは、ダイクッション駆動系32a-32dのサーボモータ、タイミングベルト、或いはボールスクリューの識別子である。サーバ4は、上述した判定モデル60,70を用いて異常部位と判定した部位の識別子98を、交換計画リスト93に表示する。これらの識別子は、名称であってもよく、或いはコードであってもよい。
寿命インジケータ99は、スライド駆動系12a-12d、或いはダイクッション駆動系32a-32dの各部位の残存寿命を示す。寿命インジケータ99は、各部位の残存寿命を示す数値とグラフィック表示とを含む。寿命インジケータ99については、上述した機械一覧画面81の寿命インジケータ86と同様であるため、説明を省略する。
残存寿命グラフ94は、駆動系12a-12d,32a-32dのそれぞれの残存寿命がグラフ化されている。残存寿命グラフ94において、横軸は、状態データが取得された時間(time)であり、縦軸は、特徴量から算出された残存寿命である。
図14は、保全部位管理画面100の一例を示す図である。図14に示すように、保全部位管理画面100は、保全項目101、規定時間/回数102、現在値103、前回実施日104、及び残存時間/回数105のそれぞれの表示を含む。また、保全部位管理画面100は、リセットの操作表示106を含む。保全項目101は、保全対象である部位を示す。例えば、保全項目101は、上述したスライド駆動系12a-12dのサーボモータ、減速機、タイミングベルト、或いはコンロッドを示す。保全項目101は、各部位に対する保全作業を示してもよい。
規定時間/回数102は、各部位の交換の目安となる作動時間、或いは作動回数を示す。現在値103は、各部位の現在までの作動時間、或いは作動回数を示す。前回実施日104は、各部位に対する前回の保全作業の実施日を示す。保全作業は、例えば部位の交換である。例えば、保全作業では、機械個別画面82に示される機械寿命が短い部位が交換される。残存時間/回数105は、規定時間/回数102までの残りの作動時間、或いは作動回数を示す。これらのパラメータは、産業機械2A-2Cのコントローラ5A-5Cから、ローカルコンピュータ3A-3Cを介して、サーバ4に送信され、予知保全データとしてサーバ4の記憶装置58に保存されている。
リセットの操作表示106は、ユーザが各部位の現在値103と残存時間/回数105をリセットして初期値に戻す操作を行うための表示である。ユーザは、ポインティングデバイスなどのユーザインターフェースを用いて、リセットの操作表示106を操作する。ユーザは、ある部位に対して保全作業を実施したときに、保全部位管理画面100において、当該部位のリセットの操作表示106を操作する。リセットの操作表示106が操作されると、クライアントコンピュータ6は、保全作業の完了を示す信号をサーバ4に送信する。保全作業の完了を示す信号は、保全作業を受けた部位を示す識別子とリセットの要求とを含む。サーバ4は、保全作業の完了を示す信号を受信すると、当該部位の現在値103と残存時間/回数105をリセットして初期値に戻し、予知保全データを更新する。
次に、判定モデル60,70を学習させるためのシステムについて説明する。図15は、判定モデル60,70の学習を行う学習システム200を示す図である。学習システム200は、学習データ生成モジュール211と学習モジュール212とを含む。学習データ生成モジュール211は、異常データD1と正常データD2とから学習データD3を生成する。異常データD1は、異常時の解析データと、異常が発生した部位を示すデータとを含む。正常データD2は、正常時の解析データを含む。正常データD2は、正常時の解析データと共に、正常である部位を示すデータを含んでもよい。
学習データ生成モジュール211は、サーバ4に実装される。サーバ4は、クライアントコンピュータ6からの保全作業の完了を示す信号をトリガーとして、トリガーに対応する解析データを抽出する。すなわち、保全作業の完了を示す信号は、産業機械2A-2Cにおける異常の発生に関連するトリガーの発生を示す。
詳細には、サーバ4は、トリガーの発生時間を取得する。トリガーの発生時間は、リセットの操作表示106が操作された時間であってもよい。或いは、トリガーの発生時間は、サーバ4が保全作業の完了を示す信号を受信した時間であってもよい。サーバ4は、解析データのうち、トリガーの発生時間の前の所定時間内に取得された解析データを、トリガーに対応するデータとして抽出する。サーバ4は、図8で示される解析データを要求するための処理を使用して、解析データを抽出してもよい。サーバ4は、抽出された解析データが図11に示す閾値Th1を超えている場合に、当該解析データを、異常が発生した部位を示すデータと共に、異常データD1に加える。
正常時の解析データは、新品の産業機械の解析データを取得するなど、試験によって用意されてもよい。或いは、サーバ4は、トリガーの発生時間の後の所定時間内に取得された解析データを、正常時の解析データとして抽出してもよい。サーバ4は、抽出された解析データが図11に示す閾値Th1を超えていない場合に、当該解析データを正常データD2に加えてもよい。
学習モジュール212は、学習データD3によって判定モデル60,70を学習させることで、判定モデル60,70のパラメータを最適化する。学習モジュール212は、最適化されたパラメータを学習済みパラメータD4として取得する。学習モジュール212は、学習データ生成モジュール211と同様に、サーバ4に実装されてもよい。或いは、学習モジュール212は、サーバ4とは別のコンピュータに実装されてもよい。
なお、学習システム200は、上述した判定モデル60,70の学習を定期的に実行することで、学習済みパラメータD4を更新してもよい。サーバ4は、更新された学習済みパラメータD4によって、判定モデル60,70を更新してもよい。
次に、異常データD1を人工的に収集するための方法について説明する。図16は、異常データD1を人工的に収集するための処理を示すフローチャートである。なお、以下の処理の全て、或いは一部は、サーバ4のプロセッサ57によって実行されてもよい。或いは、以下の処理の全て、或いは一部は、サーバ4とは別のコンピュータによって実行されてもよい。或いは、以下の処理の一部は、人によって実行されてもよい。
本実施形態に係る異常データD1を収集する方法は、シミュレーションモデルを利用する。シミュレーションモデルは、産業機械2Aの動作を模擬するコンピュータプログラムである。シミュレーションモデルは、たとえば、サーバ4の記憶装置58に記憶されてもよい。図17は、シミュレーションモデル65の構成を示すブロック図である。
図17に示すように、シミュレーションモデル65は、入力された指令データ66に応じて、模擬状態データ67を生成する。模擬状態データ67は、入力された指令データ66に応じて産業機械2Aが出力する状態データを模擬したデータである。指令データ66は、例えばサーボモータ23aへの指令回転速度である。模擬状態データ67は、例えばサーボモータ23aの回転速度である。
シミュレーションモデル65は、制御モデル68とメカモデル69とを含む。制御モデル68は、産業機械2Aのローカルコンピュータ3Aによって実行される産業機械2Aを制御するための処理を模擬する。メカモデル69は、産業機械2Aに含まれる複数の構成部品の機械的な動作を模擬する。メカモデル69は、複数のモデル要素を含む。複数のモデル要素は、産業機械2Aの複数の要素部品をそれぞれ模擬する。
複数のモデル要素は、第1モデル要素75と、第2モデル要素76とを含む。第1モデル要素75は、産業機械2Aの第1要素部品を模擬する。第1要素部品は、例えば、モータベアリング28aである。第2モデル要素76は、産業機械2Aの第2要素部品を模擬する。第2要素部品は、例えば、サーボモータ23aである。
例えば、制御モデル68に、サーボモータ23aへの指令回転速度が入力されると、制御モデル68は、指令回転速度に応じたトルク指令を算出する。トルク指令はメカモデル69に入力される。メカモデル69は、トルク指令に応じた産業機械2Aの複数の要素部品の動作を模擬して、トルク指令に応じたサーボモータ23aの回転速度を、模擬状態データ67として算出する。
図18は、指令データ66と、シミュレーションモデル65が算出した模擬状態データ67との一例を示す図である。図18において、破線L1は、指令データ66としてのサーボモータ23aの指令回転速度を示している。実線L2は、模擬状態データ67としてのサーボモータ23aの回転速度を示している。シミュレーションモデル65は、指令データ66と模擬状態データ67とが精度よく一致するように、予めチューニングされている。
図16に示すように、ステップS501では、サーバ4は、シミュレーションモデル65に異常因子を入力する。例えば、図19に示すように、サーバ4は、第1モデル要素75に第1異常因子79Aを入力する。図20は、第1モデル要素75によって模擬されるモータベアリング28aを示す図である。図20に示すように、モータベアリング28aは、内輪43と外輪44と複数の転動体45とを含む。なお、図20では、複数の転動体45の一部のみに符号45が付されている。転動体45は、内輪43と外輪44との間に配置される。内輪43と外輪44とは、互いに相対的に回転可能である。サーバ4は、異常因子として、例えば内輪43の所定位置にフレーキング46を作成する。フレーキング46は、内輪43の損傷を示す。
ステップS502では、サーバ4は、異常因子を入力されたシミュレーションモデル65に指令データ66を入力する。例えば、サーバ4は、シミュレーションモデル65に、指令データ66としてサーボモータ23aの指令回転速度を入力する。ステップS503では、サーバ4は、模擬異常データを取得する。例えば、図19に示すように、サーバ4は、シミュレーションモデル65が上記の指令データ66から生成した第1模擬状態データ67Aを、第1要素部品の第1模擬異常データ77Aとして取得する。
ステップS504では、サーバ4は、模擬異常データが適切かを判定する。詳細には、サーバ4は、模擬異常データが、適正範囲に属するかを判定する。適正範囲は、実際の状態データから規定される。図21は、適正範囲R1の一例を示す図である。図21において、適正範囲R1は、ハッチングが付された範囲である。丸印は、実際の状態データを示している。三角印は、模擬異常データを示している。図21において、横軸は、実際の状態データから得られた特徴量を示す。縦軸は、実際の状態データから得られたマハラノビス距離を示す。破線L3は、実際の状態データから得られた平均線の延長線である。
図21に示すように、適正範囲R1は、平均線の延長線L3の周囲を含むように、予め決定されている。例えば、適正範囲R1は、平均線の延長線L3に対して所定割合でプラスマイナスの幅を持たせたものであってもよい。なお、適正範囲R1は、マハラノビス距離に限らず、他の統計学の手法を用いて決定されてもよい。サーバ4は、模擬異常データが適正範囲R1内であるときには、模擬異常データが適正と判断する。サーバ4は、模擬異常データが適正範囲R1外であるときには、模擬異常データが適正ではないと判断する。
模擬異常データが適正であるときには、処理はステップS505に進む。ステップS505において、サーバ4は、模擬異常データを学習データとして保存する。サーバ4は、模擬異常データに、異常因子が入力された要素部品を示す識別子をラベル付けして、当該要素部品の異常を判定するための学習データとして保存する。例えば、図19に示すように、サーバ4は、第1模擬異常データ77Aに第1要素部品を示す識別子をラベル付けして、第1要素部品の異常を判定するための第1学習データ78Aとして保存する。第1学習データ78Aは、上述した正常データD2を含む。サーバ4は、第1学習データ78Aにより、上述したモータベアリング用の判定モデル61を学習させる。
ステップS506では、サーバ4は、異常因子を変化させる。例えば、サーバ4は、モータベアリングにおけるフレーキング46の位置を変更する。ステップS501に戻り、サーバ4は、変更された異常因子をシミュレーションモデル65に入力する。以降、サーバ4は、上記と同様にS502~S505の処理を実行することで、要素部品の異常を判定するための学習データを取得して、保存する。以上の処理が繰り返されることで、サーバ4は、要素部品の異常を判定するための多くの学習データを得ることができる。
サーバ4は、上述した処理を要素部品ごとに実行することで、各要素部品の異常を判定する判定モデルのそれぞれを学習させるための学習データを得る。例えば図22に示すように、サーバ4は、第2モデル要素76に第2異常因子79Bを入力する。第2異常因子79Bは、例えば、異常な振動信号であってもよい。サーバ4は、第2異常因子79Bが入力されたシミュレーションモデル65に指令データ66を入力する。サーバ4は、シミュレーションモデル65が生成した第2模擬状態データ67Bを、第2模擬異常データ77Bとして取得する。
サーバ4は、第2模擬異常データ77Bが適正範囲R1に属するかを判定する。第2模擬異常データ77Bが適正範囲R1に属するときには、サーバ4は、第2模擬異常データ77Bに第2要素部品を示す識別子をラベル付けして、第2要素部品の異常を判定するための第2学習データ78Bとして保存する。サーバ4は、第2学習データ78Bによって、第2要素部品の異常を判定するための判定モデルを学習させる。それにより、サーバ4は、第2要素部品の異常を判定するための学習済みの判定モデルを生成する。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。例えば、産業機械2Aは、プレス機械に限らず、溶接機械、或いは切断機などの他の機械であってもよい。上述した処理の一部が省略、或いは変更されてもよい。上述した処理の順番が変更されてもよい。
ローカルコンピュータ3A-3Cの構成が変更されてもよい。例えば、ローカルコンピュータ3Aは、複数のコンピュータを含んでもよい。上述したローカルコンピュータ3Aによる処理は、複数のコンピュータに分散して実行されてもよい。ローカルコンピュータ3Aは、複数のプロセッサを含んでもよい。他のローカルコンピュータ3B,3Cについても、ローカルコンピュータ3Aと同様に変更されてもよい。
サーバ4の構成が変更されてもよい。例えば、サーバ4は、複数のコンピュータを含んでもよい。上述したサーバ4による処理は、複数のコンピュータに分散して実行されてもよい。サーバ4は、複数のプロセッサを含んでもよい。上述した処理の少なくとも一部は、CPUに限らず、GPU(Graphics Processing Unit)などの他のプロセッサによって実行されてもよい。上述した処理は、複数のプロセッサに分散して実行されてもよい。
判定モデルは、ニューラルネットワークに限らず、サポートベクターマシンなどの他の機械学習のモデルであってもよい。判定モデル61-64は一体であってもよい。判定モデル71-73は一体であってもよい。
判定モデルは、学習データD3を用いて機械学習により学習したモデルに限らず、当該学習したモデルを利用して生成されたモデルであってもよい。例えば、判定モデルは、学習済みモデルに新たなデータを用いて更に学習させることで、パラメータを変化させ、精度をさらに高めた別の学習済みモデル(派生モデル)であってもよい。或いは、判定モデルは、学習済みモデルにデータの入出力を繰り返すことで得られる結果を基に学習させた別の学習済みモデル(蒸留モデル)であってもよい。
判定モデルによる判定の対象となる部位は、上記の実施形態のものに限らず、変更されてもよい。状態データは、モータの角加速度に限らず、変更されてもよい。例えば、状態データは、タイミングベルト、或いはコンロッドなどのモータ以外の部位の加速度、或いは速度であってもよい。
保全管理画面は、上記の実施形態のものに限らず、変更されてもよい。例えば、機械一覧画面81、機械個別画面82、及び/又は、保全部位管理画面100に含まれる項目が、変更されてもよい。機械一覧画面81、機械個別画面82及び/又は、保全部位管理画面100の表示態様が、変更されてもよい。機械一覧画面81と機械個別画面82と保全部位管理画面100との一部が省略されてもよい。
寿命インジケータ86の表示態様は、上記の実施形態のものに限らず、変更されてもよい。例えば、寿命インジケータ86の色分けの数は、正常色と第1警告色との2色であってもよい。或いは、寿命インジケータ86の色分けの数は、3色より多くてもよい。
判定モデルによる保全対象とする部位の判定結果は、上述した保全管理画面に限らず、他の方法によってユーザに報知されてもよい。例えば、判定結果が、電子メールなどの通知手段によってユーザに報知されてもよい。
トリガーは、保全作業の完了を示す信号に限らず、他の信号であってもよい。保全作業の完了を示す信号は、クライアントコンピュータ6からの信号に限られない。例えば、保全作業の完了を示す信号は、ローカルコンピュータ3A-3Cからの信号であってもよい。
サーバ4は、状態データのうち、トリガーの発生の前のデータと発生後のデータとを比較することで、異常の有無を判定してもよい。例えば、トリガーの発生の後の解析データと比べて、トリガーの発生の前の解析データにおける波形のピークが大きいときに、サーバ4は、異常有りと判定してもよい。サーバ4は、異常有りと判定したときに、トリガーに対応する解析データを学習データD3として保存してもよい。
ステップS105において、ローカルコンピュータ3Aは、特徴量と解析データとをサーバ4に送信してもよい。その場合、ステップS203は省略されてもよい。
要素部品は、上記の実施形態のものに限らず、スライダ11、或いはクッションパッド31などの産業機械2Aの他の部品であってもよい。異常因子は、上記の実施形態のものに限らず、要素部品の摩耗度合いなどの他の因子であってもよい。