JP2022133615A - 機械学習装置、エラー発生予測装置、及び制御装置 - Google Patents
機械学習装置、エラー発生予測装置、及び制御装置 Download PDFInfo
- Publication number
- JP2022133615A JP2022133615A JP2021032393A JP2021032393A JP2022133615A JP 2022133615 A JP2022133615 A JP 2022133615A JP 2021032393 A JP2021032393 A JP 2021032393A JP 2021032393 A JP2021032393 A JP 2021032393A JP 2022133615 A JP2022133615 A JP 2022133615A
- Authority
- JP
- Japan
- Prior art keywords
- noise
- state
- machine learning
- noise detection
- vector sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
【課題】検出されたノイズの数に基づいて致命的エラーの発生を予測できる学習済みモデルを生成すること。【解決手段】機械学習装置は、電子装置に配置される、ダミー配線を有するノイズ検出部とノイズカウンタとを含む1以上のノイズ検出装置からのノイズの数を含む状態ベクトルの時系列データである状態ベクトル列を取得する状態観測部と、状態ベクトル列のうち、任意の状態ベクトルを先頭とするN個の連続する状態ベクトルから生成されるノイズ変動ベクトル列の入力データと、ノイズ変動ベクトル列の末尾のベクトルに対応する電子装置で発生した致命的エラーのラベルデータと、を取得する訓練データ取得部と、入力データとラベルデータとで教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルから生成されるノイズ変動ベクトル列から電子装置に発生する致命的エラーを予測する学習済みモデルを生成する学習部と、を備える。【選択図】図1
Description
本発明は、機械学習装置、エラー発生予測装置、及び制御装置に関する。
電子回路はノイズにより誤動作することがある。ノイズの発生状況は設置環境に大きく依存するため、ノイズが発生しやすい環境で電子回路が誤動作する前に環境の改善を促したり、障害発生時にノイズの発生状況を知ることが求められる。
例えば、回復可能エラーの発生状況に応じて警告を出す技術が知られている。例えば、特許文献1参照。ここで、回復可能エラーとは、バスやメモリのECC訂正、通信の再送、グリッチフィルタがある状況でのグリッチノイズ等である。
例えば、回復可能エラーの発生状況に応じて警告を出す技術が知られている。例えば、特許文献1参照。ここで、回復可能エラーとは、バスやメモリのECC訂正、通信の再送、グリッチフィルタがある状況でのグリッチノイズ等である。
回復可能エラーの発生状況を利用する従来技術では、回復可能エラーが起きる前のノイズの兆候は検知できないため、回復可能エラーの前に致命的なエラーが起きてしまうことがある。
そこで、検出されたノイズの数に基づいて致命的エラーの発生を予測できる学習済みモデルを生成することが望まれている。
(1)本開示の機械学習装置の一態様は、電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとし、前記入力データのノイズ変動ベクトル列の末尾のベクトルに対応する時刻に前記電子装置に発生した致命的エラーを示すエラーデータをラベルデータとする訓練データを取得する訓練データ取得部と、前記入力データと前記ラベルデータとを訓練データとして教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列に基づいて、前記電子装置に発生する致命的エラーを予測するための学習済みモデルを生成する学習部と、を備える。
(2)本開示の機械学習装置の一態様は、電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データ及びラベルデータとする訓練データを取得する訓練データ取得部と、前記入力データと前記ラベルデータとを訓練データを用いて教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列と、復元された前記ノイズ変動ベクトル列と、のずれ量に基づいて、前記電子装置に発生する致命的エラーを予測するオートエンコーダを学習済みモデルとして生成する学習部と、を備える。
(3)電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を取得する状態取得部と、(1)又は(2)の機械学習装置により生成された前記学習済みモデルに基づいて、前記状態取得部により取得されたノイズ変動ベクトル列から、前記電子装置に発生する致命的エラーを予測する予測部と、を備える。
(4)本開示の制御装置の一態様は、(3)のエラー発生予測装置を備える。
一態様によれば、検出されたノイズの数に基づいて致命的エラーの発生を予測できる学習済みモデルを生成することができる。
以下、一の実施形態について図面を用いて説明する。ここでは、電子装置として工作機械の場合を例示する。なお、本発明は、電子装置として、工作機械の制御装置や、PLC(プログラマブルロジックコントローラ)、ロボット、コンピュータ、スマートフォン等に対しても適用可能である。
<一の実施形態>
図1は、一の実施形態に係る数値制御システムの機能的構成例を示す機能ブロック図である。図1に示すように、数値制御システム1は、工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400を有する。
工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されてもよい。
<一の実施形態>
図1は、一の実施形態に係る数値制御システムの機能的構成例を示す機能ブロック図である。図1に示すように、数値制御システム1は、工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400を有する。
工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400は、図示しない接続インタフェースを介して互いに直接接続されてもよい。また、工作機械100、制御装置200、機械学習装置300、及びエラー発生予測装置400は、LAN(Local Area Network)やインターネット等の図示しないネットワークを介して相互に接続されてもよい。
<工作機械100>
工作機械100は、制御装置200の数値制御により動作する加工用の機械である。工作機械100は、制御装置200の動作指令に基づく動作状態を示す情報を制御装置200にフィードバックする。
なお、本実施形態は、工作機械100に限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。
工作機械100は、制御装置200の数値制御により動作する加工用の機械である。工作機械100は、制御装置200の動作指令に基づく動作状態を示す情報を制御装置200にフィードバックする。
なお、本実施形態は、工作機械100に限定されず、産業機械全般に広く適用することができる。産業機械とは、例えば、工作機械、産業用ロボット、サービス用ロボット、鍛圧機械及び射出成形機といった様々な機械を含む。
<制御装置200>
制御装置200は、当業者にとって公知の数値制御装置であり、工作機械100の動作を制御する。なお、工作機械100がロボット等の場合、制御装置200は、ロボット制御装置等でもよい。
また、制御装置200は、M個のノイズ検出装置210(1)~210(M)を有する(Mは、1以上の整数)。制御装置200は、ノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数、工作機械100の動作状態、及び制御装置200に発生した致命的エラーを示すエラーデータを後述する機械学習装置300に出力する。なお、発生した致命的エラーのエラーデータには、致命的エラーが発生していない(すなわち、工作機械100は正常である)「エラーなし」も含む。
また、制御装置200は、致命的エラーの発生によりシステム緊急停止に至った場合、制御装置200に含まれる不揮発性メモリ等の記憶部(図示しない)にノイズ検出装置210(1)~210(M)それぞれのノイズの数のログを残すようにしてもよい。この場合、ネットワークの通信ができない等に対応するため、当該致命的エラー発生時のノイズの数や工作機械100の動作状態は、制御装置200の次回起動時等にログ情報を参照して機械学習装置300へ送信されるようにしてもよい。あるいは、当該致命的エラー発生時のノイズの数や工作機械100の動作状態は、オフラインでログ情報を吸い出して機械学習装置300に入力されるようにしてもよい。
制御装置200は、当業者にとって公知の数値制御装置であり、工作機械100の動作を制御する。なお、工作機械100がロボット等の場合、制御装置200は、ロボット制御装置等でもよい。
また、制御装置200は、M個のノイズ検出装置210(1)~210(M)を有する(Mは、1以上の整数)。制御装置200は、ノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数、工作機械100の動作状態、及び制御装置200に発生した致命的エラーを示すエラーデータを後述する機械学習装置300に出力する。なお、発生した致命的エラーのエラーデータには、致命的エラーが発生していない(すなわち、工作機械100は正常である)「エラーなし」も含む。
また、制御装置200は、致命的エラーの発生によりシステム緊急停止に至った場合、制御装置200に含まれる不揮発性メモリ等の記憶部(図示しない)にノイズ検出装置210(1)~210(M)それぞれのノイズの数のログを残すようにしてもよい。この場合、ネットワークの通信ができない等に対応するため、当該致命的エラー発生時のノイズの数や工作機械100の動作状態は、制御装置200の次回起動時等にログ情報を参照して機械学習装置300へ送信されるようにしてもよい。あるいは、当該致命的エラー発生時のノイズの数や工作機械100の動作状態は、オフラインでログ情報を吸い出して機械学習装置300に入力されるようにしてもよい。
ノイズ検出装置210(1)~210(M)は、制御装置200内の異なる箇所に配置されてノイズを検出し、検出したノイズの数をカウントする。ノイズ検出装置210(1)~210(M)は、後述するように、少なくとも1つのダミー配線を含むノイズ検出部とノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含み、カウントしたノイズの数を制御装置200に出力する。
なお、ノイズ検出装置210(1)~210(M)の詳細については、後述する。
なお、ノイズ検出装置210(1)~210(M)の詳細については、後述する。
<エラー発生予測装置400>
エラー発生予測装置400は、コンピュータ装置等である。エラー発生予測装置400は、ノイズ検出装置210(1)~210(M)により所定の時間毎にカウントされたノイズの数を含む現在の状態ベクトルxn(n≧N)から過去に遡りN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を取得する。エラー発生予測装置400は、取得したノイズ変動ベクトル列を、後述する機械学習装置300により生成された学習済みモデルに入力することにより、制御装置200に発生する致命的エラーを予測する。そして、エラー発生予測装置400は、例えば、予測結果を制御装置200に出力する。
制御装置200は、エラー発生予測装置400により致命的エラーが発生すると予測された場合、制御装置200に含まれる液晶ディスプレイ等の表示部(図示しない)にアラートを表示するようにしてもよい。これにより、制御装置200は、工作機械100による加工を続けることにリスクがあることをユーザに通知することができる。
エラー発生予測装置400は、コンピュータ装置等である。エラー発生予測装置400は、ノイズ検出装置210(1)~210(M)により所定の時間毎にカウントされたノイズの数を含む現在の状態ベクトルxn(n≧N)から過去に遡りN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を取得する。エラー発生予測装置400は、取得したノイズ変動ベクトル列を、後述する機械学習装置300により生成された学習済みモデルに入力することにより、制御装置200に発生する致命的エラーを予測する。そして、エラー発生予測装置400は、例えば、予測結果を制御装置200に出力する。
制御装置200は、エラー発生予測装置400により致命的エラーが発生すると予測された場合、制御装置200に含まれる液晶ディスプレイ等の表示部(図示しない)にアラートを表示するようにしてもよい。これにより、制御装置200は、工作機械100による加工を続けることにリスクがあることをユーザに通知することができる。
エラー発生予測装置400を説明する前に、学習済みモデルを生成するための機械学習について説明する。
<機械学習装置300>
機械学習装置300は、例えば、図示しない通信部を介して、制御装置200からノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数、工作機械100の動作状態、及び発生した致命的エラーのエラーデータ状態を取得する。機械学習装置300は、例えば、取得したノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を後述するように結合した状態ベクトルにベクトル化してもよい。機械学習装置300は、ベクトル化した状態ベクトルの集合を、時系列データである状態ベクトル列として取得してもよい。
また、機械学習装置300は、当該状態ベクトル列に含まれる、任意の状態ベクトルを先頭とするN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとし、入力データのノイズ変動ベクトル列の末尾のベクトルに対応する時刻に制御装置200に発生した致命的エラーを示すエラーデータをラベルデータとする訓練データを取得してもよい。
機械学習装置300は、取得した入力データとラベルデータとを訓練データとして教師あり機械学習をして、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列に基づいて、制御装置200に発生する致命的エラーを予測する学習済みモデルを生成してもよい。
そうすることで、機械学習装置300は、エラー発生予測装置400に対して学習済みモデル350を提供することができる。
機械学習装置300は、例えば、図示しない通信部を介して、制御装置200からノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数、工作機械100の動作状態、及び発生した致命的エラーのエラーデータ状態を取得する。機械学習装置300は、例えば、取得したノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を後述するように結合した状態ベクトルにベクトル化してもよい。機械学習装置300は、ベクトル化した状態ベクトルの集合を、時系列データである状態ベクトル列として取得してもよい。
また、機械学習装置300は、当該状態ベクトル列に含まれる、任意の状態ベクトルを先頭とするN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとし、入力データのノイズ変動ベクトル列の末尾のベクトルに対応する時刻に制御装置200に発生した致命的エラーを示すエラーデータをラベルデータとする訓練データを取得してもよい。
機械学習装置300は、取得した入力データとラベルデータとを訓練データとして教師あり機械学習をして、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列に基づいて、制御装置200に発生する致命的エラーを予測する学習済みモデルを生成してもよい。
そうすることで、機械学習装置300は、エラー発生予測装置400に対して学習済みモデル350を提供することができる。
なお、以下では、ノイズ変動ベクトル列が、任意の状態ベクトルを先頭とするN個の連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されたベクトルの集合である、差分ベクトル列の場合における機械学習装置300の動作について説明する。しかしながら、ノイズ変動ベクトル列が当該連続する状態ベクトルそのものである場合についても、機械学習装置300は、ノイズ変動ベクトル列が差分ベクトル列の場合と同様に動作する。
機械学習装置300について、具体的に説明する。
なお、以下では、特に断らない限り、「M」は「3」及び「N」は「5」とし、制御装置200に発生する致命的エラーを予測する場合について説明する。ただし、「M」は1以上のいずれの値でもよく、「N」は2以上のいずれの値でもよい。また、エラー発生予測装置400は、例えば、10分以内、30分以内、1時間以内、1時間以上において、制御装置200に発生する具体的な致命的エラーを予測してもよい。
また、機械学習装置300による学習処理は、工作機械100の停止中、又は工作機械100の動作状態の変化時に、バックグラウンドタスクかサブプロセッサ等で実行されてもよい。
なお、以下では、特に断らない限り、「M」は「3」及び「N」は「5」とし、制御装置200に発生する致命的エラーを予測する場合について説明する。ただし、「M」は1以上のいずれの値でもよく、「N」は2以上のいずれの値でもよい。また、エラー発生予測装置400は、例えば、10分以内、30分以内、1時間以内、1時間以上において、制御装置200に発生する具体的な致命的エラーを予測してもよい。
また、機械学習装置300による学習処理は、工作機械100の停止中、又は工作機械100の動作状態の変化時に、バックグラウンドタスクかサブプロセッサ等で実行されてもよい。
機械学習装置300は、図1に示すように、状態ベクトル化部311、状態観測部312、訓練データ取得部313、学習部314、及び記憶部315を有する。
<状態ベクトル化部311>
状態ベクトル化部311は、学習フェーズにおいて、図示しない通信部を介して、制御装置200からノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を取得する。状態ベクトル化部311は、取得したノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を結合した状態ベクトルxnにベクトル化する。
図2は、ノイズ検出装置210(1)~210(3)によりカウントされたノイズの数、工作機械100の動作状態、及び致命的エラーの一例を示す図である。
図2に示すように、工作機械100が停止中のとき、ノイズ検出装置210(1)~210(3)がノイズの数のカウントを開始し、工作機械100は、カウントを開始してから3分後(n=3)に停止中から加工中に動作状態を変化させる。そして、図2に示すように、ノイズ検出装置210(1)~210(3)がノイズの数のカウントを開始してから6分後(n=6)に、制御装置200は、DRAM ECC訂正不能エラーの致命的エラーが発生した。
このとき、図2に示すように、ノイズ検出装置210(1)は、カウントを開始してから最初の1分間(n=1)にノイズの数「0」、次の1分間(n=2)にノイズの数「2」、次の1分間(n=3)にノイズの数「1」、次の1分間(n=4)にノイズの数「5」、次の1分間(n=5)にノイズの数「0」、次の1分間(n=6)にノイズの数「1」をカウントした。
また、ノイズ検出装置210(2)は、nが1~6の全ての期間においてノイズの数「0」をカウントした。
また、ノイズ検出装置210(3)は、最初の1分間(n=1)にノイズの数「0」、次の1分間(n=2)にノイズの数「0」、次の1分間(n=3)にノイズの数「1」、次の1分間(n=4)にノイズの数「5」、次の1分間(n=5)にノイズの数「6」、次の1分間(n=6)にノイズの数「4」をカウントした。
すなわち、工作機械100が加工を開始してからノイズ検出装置210(3)のノイズの数が増加していることから、ノイズ検出装置210(3)がカウントするノイズの数と、DRAM ECC訂正不能エラーとが関係していることが分かる。
図3は、図2に基づいて状態ベクトル化部311によりベクトル化された状態ベクトルxnの一例を示す図である。図3に示すように、状態ベクトル化部311は、時間t1、t2、t3、t4、t5、t6においてノイズ検出装置210(1)~210(3)それぞれにより検出されたノイズの数、及び工作機械100の動作状態の成分からなる状態ベクトルx1、x2、x3、x4、x5、x6にベクトル化する。ここで、工作機械100の動作状態は、停止中の場合に「0」、加工中の場合に「1」で示している。
なお、致命的エラーが起きた回のノイズの数は、例えば、周期1分の最初の数秒で致命的エラーが起きた場合、ノイズの数の増分が小さくなる可能性がある。そこで、状態ベクトル化部311は、致命的エラー発生直後のノイズの数を読み取って補正をかけてもよく、前回や前々回のノイズの数の増分も入力データに含めてもよい。
状態ベクトル化部311は、学習フェーズにおいて、図示しない通信部を介して、制御装置200からノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を取得する。状態ベクトル化部311は、取得したノイズ検出装置210(1)~210(M)それぞれにより検出されたノイズの数と、工作機械100の動作状態と、を結合した状態ベクトルxnにベクトル化する。
図2は、ノイズ検出装置210(1)~210(3)によりカウントされたノイズの数、工作機械100の動作状態、及び致命的エラーの一例を示す図である。
図2に示すように、工作機械100が停止中のとき、ノイズ検出装置210(1)~210(3)がノイズの数のカウントを開始し、工作機械100は、カウントを開始してから3分後(n=3)に停止中から加工中に動作状態を変化させる。そして、図2に示すように、ノイズ検出装置210(1)~210(3)がノイズの数のカウントを開始してから6分後(n=6)に、制御装置200は、DRAM ECC訂正不能エラーの致命的エラーが発生した。
このとき、図2に示すように、ノイズ検出装置210(1)は、カウントを開始してから最初の1分間(n=1)にノイズの数「0」、次の1分間(n=2)にノイズの数「2」、次の1分間(n=3)にノイズの数「1」、次の1分間(n=4)にノイズの数「5」、次の1分間(n=5)にノイズの数「0」、次の1分間(n=6)にノイズの数「1」をカウントした。
また、ノイズ検出装置210(2)は、nが1~6の全ての期間においてノイズの数「0」をカウントした。
また、ノイズ検出装置210(3)は、最初の1分間(n=1)にノイズの数「0」、次の1分間(n=2)にノイズの数「0」、次の1分間(n=3)にノイズの数「1」、次の1分間(n=4)にノイズの数「5」、次の1分間(n=5)にノイズの数「6」、次の1分間(n=6)にノイズの数「4」をカウントした。
すなわち、工作機械100が加工を開始してからノイズ検出装置210(3)のノイズの数が増加していることから、ノイズ検出装置210(3)がカウントするノイズの数と、DRAM ECC訂正不能エラーとが関係していることが分かる。
図3は、図2に基づいて状態ベクトル化部311によりベクトル化された状態ベクトルxnの一例を示す図である。図3に示すように、状態ベクトル化部311は、時間t1、t2、t3、t4、t5、t6においてノイズ検出装置210(1)~210(3)それぞれにより検出されたノイズの数、及び工作機械100の動作状態の成分からなる状態ベクトルx1、x2、x3、x4、x5、x6にベクトル化する。ここで、工作機械100の動作状態は、停止中の場合に「0」、加工中の場合に「1」で示している。
なお、致命的エラーが起きた回のノイズの数は、例えば、周期1分の最初の数秒で致命的エラーが起きた場合、ノイズの数の増分が小さくなる可能性がある。そこで、状態ベクトル化部311は、致命的エラー発生直後のノイズの数を読み取って補正をかけてもよく、前回や前々回のノイズの数の増分も入力データに含めてもよい。
<状態観測部312>
状態観測部312は、学習フェーズにおいて、図示しない通信部を介して、状態ベクトル化部311によりベクトル化された状態ベクトルxnの集合を、時系列データである状態ベクトル列{xn:n≧1}として取得する。状態観測部312は、取得した状態ベクトル列を訓練データ取得部313及び記憶部315に出力する。
状態観測部312は、学習フェーズにおいて、図示しない通信部を介して、状態ベクトル化部311によりベクトル化された状態ベクトルxnの集合を、時系列データである状態ベクトル列{xn:n≧1}として取得する。状態観測部312は、取得した状態ベクトル列を訓練データ取得部313及び記憶部315に出力する。
<訓練データ取得部313>
訓練データ取得部313は、取得された状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする5つの連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとして取得する。
具体的には、訓練データ取得部313は、例えば、連続する状態ベクトル{xn、xn+1、xn+2、xn+3、xn+4}を用いて当該状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xn+1-xn、xn+2-xn+1、xn+3-xn+2、xn+4-xn+3}を入力データとして取得する。
図4は、図2に示すノイズ検出装置210(3)のノイズの数に基づくノイズカウント増分を含めた入力データの一例を示す図である。
また、訓練データ取得部313は、入力データの差分ベクトル列の末尾の差分ベクトルxn+4-xn+3に対応する時刻に制御装置200に発生した致命的エラーを示すエラーデータyn+4をラベルデータとして取得する。訓練データ取得部313は、取得した入力データ及びラベルデータを、記憶部315に出力する。
なお、エラーデータyn+4には、図2に示した「DRAM ECC訂正不能エラー」以外に、「ハングアップ」、「バスやメモリのECC訂正不能エラー/パリティエラー/CRCエラー」、「不正なバストランザクション」、「バスや信号のタイムアウト」、「ウォッチドッグアラーム」、「不正なアドレスへのアクセス」、「不正な命令コードのフェッチ」、「ゼロによる除算」、「電源電圧や電源電流の異常」、「温度の異常」、「ファン回転数の異常」、「I/O機器の出力信号地絡」、「機械の軸の位置/速度/トルク等の異常」、「安全関連の監視機能が検出する異常(例えば、安全関連二重化データのクロスチャックの不一致等)」、及び「その他センサにより検出される異常」等、様々な種類がある。ただし、エラーデータyn+4は、「エラーなし」も致命的エラーとして含んでもよい。
また、訓練データ取得部313は、状態ベクトル間で差分する際、動作状態の成分について、例えば、状態ベクトル間の動作状態が同じ場合、当該動作状態を示す値をそのまま残すようにしてもよい。
なお、状態ベクトル間の動作状態が異なる場合、訓練データ取得部313は、異なる動作状態で取得された状態ベクトル間で差分しないようにすることが好ましい。
訓練データ取得部313は、取得された状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする5つの連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとして取得する。
具体的には、訓練データ取得部313は、例えば、連続する状態ベクトル{xn、xn+1、xn+2、xn+3、xn+4}を用いて当該状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xn+1-xn、xn+2-xn+1、xn+3-xn+2、xn+4-xn+3}を入力データとして取得する。
図4は、図2に示すノイズ検出装置210(3)のノイズの数に基づくノイズカウント増分を含めた入力データの一例を示す図である。
また、訓練データ取得部313は、入力データの差分ベクトル列の末尾の差分ベクトルxn+4-xn+3に対応する時刻に制御装置200に発生した致命的エラーを示すエラーデータyn+4をラベルデータとして取得する。訓練データ取得部313は、取得した入力データ及びラベルデータを、記憶部315に出力する。
なお、エラーデータyn+4には、図2に示した「DRAM ECC訂正不能エラー」以外に、「ハングアップ」、「バスやメモリのECC訂正不能エラー/パリティエラー/CRCエラー」、「不正なバストランザクション」、「バスや信号のタイムアウト」、「ウォッチドッグアラーム」、「不正なアドレスへのアクセス」、「不正な命令コードのフェッチ」、「ゼロによる除算」、「電源電圧や電源電流の異常」、「温度の異常」、「ファン回転数の異常」、「I/O機器の出力信号地絡」、「機械の軸の位置/速度/トルク等の異常」、「安全関連の監視機能が検出する異常(例えば、安全関連二重化データのクロスチャックの不一致等)」、及び「その他センサにより検出される異常」等、様々な種類がある。ただし、エラーデータyn+4は、「エラーなし」も致命的エラーとして含んでもよい。
また、訓練データ取得部313は、状態ベクトル間で差分する際、動作状態の成分について、例えば、状態ベクトル間の動作状態が同じ場合、当該動作状態を示す値をそのまま残すようにしてもよい。
なお、状態ベクトル間の動作状態が異なる場合、訓練データ取得部313は、異なる動作状態で取得された状態ベクトル間で差分しないようにすることが好ましい。
<学習部314>
学習部314は、記憶部315に記憶された入力データとラベルデータとを訓練データとして教師あり機械学習をして、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル(差分ベクトル列)に基づいて、制御装置200に発生する致命的エラーを予測する学習済みモデル350を生成する。
図5は、機械学習装置300による学習済みモデル350の生成処理の一例を説明する図である。
図5に示すように、学習済みモデル350は、例えば、現在の時刻t0に対応する状態ベクトルxnから過去に遡り5つの連続する状態ベクトル{xn-4、xn-3、xn-2、xn-1、xn}を用いて状態ベクトル間で差分して生成された差分ベクトル列(ノイズ変動ベクトル列){xp-3(=xn-3-xn-4)、xp-2(=xn-2-xn-3)、xp-1(=xn-1-xn-2)、xp0(=xn-xn-1)}を入力層とし、入力層の各差分ベクトルを入力するRNN(Recurrent Neural Network)351(1)~351(4)を中間層とし、現在の時刻t0に制御装置200に発生する致命的エラーのエラーデータyp0を出力層とする。なお、差分ベクトルxp-1は、直近のノイズ検出装置210(1)~210(3)それぞれにおけるノイズの数増分を示す。また、差分ベクトルxp-2、xp-3は、差分ベクトルxp-1、xp-2の時より1つ前のノイズ検出装置210(1)~210(3)それぞれにおけるノイズの数増分を示す。
なお、以下、RNN351(1)~351(4)のそれぞれを個々に区別する必要がない場合、これらをまとめて「RNN351」ともいう。
図6は、本実施形態に係るRNN351の構成を模式的に示す図である。図6に示すように、中間層における各パーセプトロンの出力が、自身のパーセプトロン及び同じ層のパーセプトロンに入力されている。
学習部314は、記憶部315に記憶された入力データとラベルデータとを訓練データとして教師あり機械学習をして、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル(差分ベクトル列)に基づいて、制御装置200に発生する致命的エラーを予測する学習済みモデル350を生成する。
図5は、機械学習装置300による学習済みモデル350の生成処理の一例を説明する図である。
図5に示すように、学習済みモデル350は、例えば、現在の時刻t0に対応する状態ベクトルxnから過去に遡り5つの連続する状態ベクトル{xn-4、xn-3、xn-2、xn-1、xn}を用いて状態ベクトル間で差分して生成された差分ベクトル列(ノイズ変動ベクトル列){xp-3(=xn-3-xn-4)、xp-2(=xn-2-xn-3)、xp-1(=xn-1-xn-2)、xp0(=xn-xn-1)}を入力層とし、入力層の各差分ベクトルを入力するRNN(Recurrent Neural Network)351(1)~351(4)を中間層とし、現在の時刻t0に制御装置200に発生する致命的エラーのエラーデータyp0を出力層とする。なお、差分ベクトルxp-1は、直近のノイズ検出装置210(1)~210(3)それぞれにおけるノイズの数増分を示す。また、差分ベクトルxp-2、xp-3は、差分ベクトルxp-1、xp-2の時より1つ前のノイズ検出装置210(1)~210(3)それぞれにおけるノイズの数増分を示す。
なお、以下、RNN351(1)~351(4)のそれぞれを個々に区別する必要がない場合、これらをまとめて「RNN351」ともいう。
図6は、本実施形態に係るRNN351の構成を模式的に示す図である。図6に示すように、中間層における各パーセプトロンの出力が、自身のパーセプトロン及び同じ層のパーセプトロンに入力されている。
学習部314は、学習済みモデル350のRNN351における重みベクトル等のパラメータを最適化するために、差分ベクトル列(ノイズ変動ベクトル列){x2-x1、x3-x2、x4-x3、x5-x4}、{x3-x2、x4-x3、x5-x4、x6-x6}等の入力データと、エラーデータy5、y6等のラベルデータと、の訓練データを記憶部315から受け付ける。学習部314は、差分ベクトル列(ノイズ変動ベクトル列){xp-3、xp-2、xp-1、xp0}及びエラーデータyp0に代えて、受け付けた訓練データを用いて、例えば、周知の誤差逆伝播法による教師あり学習を行う。この教師あり学習により、学習部314は、RNN351における重みベクトル等のパラメータを最適化し、学習済みモデル350を生成する。
なお、学習部314は、上記教師あり学習を、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、教師データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、教師データが作成されることが繰り返される間に、繰り返しに応じた複数の教師データを収集し、収集した全ての教師データを用いて、教師あり学習を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度教師データが溜まるたびに教師あり学習を行うという学習方法である。
そして、学習部314は、最適化された学習済みモデル350をエラー発生予測装置400に対して提供する。
また、学習部314は、学習済みモデル350を生成した後に、新たな教師データを取得した場合には、学習済みモデル350に対してさらに教師あり学習を行うことにより、一度生成した学習済みモデル350を更新するようにしてもよい。
なお、学習部314は、上記教師あり学習を、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、教師データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、教師データが作成されることが繰り返される間に、繰り返しに応じた複数の教師データを収集し、収集した全ての教師データを用いて、教師あり学習を行うという学習方法である。さらに、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度教師データが溜まるたびに教師あり学習を行うという学習方法である。
そして、学習部314は、最適化された学習済みモデル350をエラー発生予測装置400に対して提供する。
また、学習部314は、学習済みモデル350を生成した後に、新たな教師データを取得した場合には、学習済みモデル350に対してさらに教師あり学習を行うことにより、一度生成した学習済みモデル350を更新するようにしてもよい。
<記憶部315>
記憶部315は、SSDやHDD等であり、状態観測部312により取得された状態ベクトル列と、訓練データ取得部313により取得された入力データ及びラベルデータと、学習部314により生成された学習済みモデル350等を記憶する。
以上、エラー発生予測装置400が備える学習済みモデル350を生成するための機械学習について説明した。
次に、エラー発生予測装置400について説明する。
記憶部315は、SSDやHDD等であり、状態観測部312により取得された状態ベクトル列と、訓練データ取得部313により取得された入力データ及びラベルデータと、学習部314により生成された学習済みモデル350等を記憶する。
以上、エラー発生予測装置400が備える学習済みモデル350を生成するための機械学習について説明した。
次に、エラー発生予測装置400について説明する。
<エラー発生予測装置400>
図1に示すように、エラー発生予測装置400は、状態取得部411、予測部412、及び記憶部413を含んで構成される。
図1に示すように、エラー発生予測装置400は、状態取得部411、予測部412、及び記憶部413を含んで構成される。
<状態取得部411>
状態取得部411は、運用フェーズにおいて、制御装置200からノイズ検出装置210(1)~210(M)それぞれによりカウントされたノイズの数、及び工作機械100の動作状態を取得する。状態取得部411は、取得したノイズ検出装置210(1)~210(M)それぞれによりカウントされたノイズの数と、工作機械100の動作状態と、を結合した状態ベクトルxnにベクトル化する。状態取得部411は、現在の状態ベクトルxnから過去に遡り5つの連続する状態ベクトル{xn-4、xn-3、xn-2、xn-1、xn}を用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列{xn-3-xn-4、xn-2-xn-3、xn-1-xn-2、xn-xn-1}を、差分ベクトル列{xp-3、xp-2、xp-1、xp0}として取得する。
状態取得部411は、運用フェーズにおいて、制御装置200からノイズ検出装置210(1)~210(M)それぞれによりカウントされたノイズの数、及び工作機械100の動作状態を取得する。状態取得部411は、取得したノイズ検出装置210(1)~210(M)それぞれによりカウントされたノイズの数と、工作機械100の動作状態と、を結合した状態ベクトルxnにベクトル化する。状態取得部411は、現在の状態ベクトルxnから過去に遡り5つの連続する状態ベクトル{xn-4、xn-3、xn-2、xn-1、xn}を用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列{xn-3-xn-4、xn-2-xn-3、xn-1-xn-2、xn-xn-1}を、差分ベクトル列{xp-3、xp-2、xp-1、xp0}として取得する。
<予測部412>
予測部412は、記憶部413に記憶された学習済みモデル350に基づいて、状態取得部411により取得された差分ベクトル列{xp-3、xp-2、xp-1、xp0}から、制御装置200に発生する致命的エラーのエラーデータyp0を予測する。予測部412は、予測結果を制御装置200に出力し、制御装置200の表示部(図示しない)に表示する。
予測部412は、記憶部413に記憶された学習済みモデル350に基づいて、状態取得部411により取得された差分ベクトル列{xp-3、xp-2、xp-1、xp0}から、制御装置200に発生する致命的エラーのエラーデータyp0を予測する。予測部412は、予測結果を制御装置200に出力し、制御装置200の表示部(図示しない)に表示する。
<記憶部413>
記憶部413は、RAM等であり、機械学習装置300により生成された学習済みモデル350を記憶する。
記憶部413は、RAM等であり、機械学習装置300により生成された学習済みモデル350を記憶する。
<運用フェーズにおけるエラー発生予測装置400の予測処理>
次に、本実施形態に係るエラー発生予測装置400の予測処理に係る動作について説明する。
図7は、運用フェーズにおけるエラー発生予測装置400の予測処理について説明するフローチャートである。ここに示すフローは、所定の時間(例えば、1分間等)毎に実行される。
次に、本実施形態に係るエラー発生予測装置400の予測処理に係る動作について説明する。
図7は、運用フェーズにおけるエラー発生予測装置400の予測処理について説明するフローチャートである。ここに示すフローは、所定の時間(例えば、1分間等)毎に実行される。
ステップS11において、状態取得部411は、制御装置200から取得したノイズ検出装置210(1)~210(3)それぞれによるノイズの数及び工作機械100の動作状態を示す状態ベクトルxnのうち、現在の状態ベクトルxnから過去に遡り5つの連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されるノイズ変動ベクトル列{xn-3-xn-4、xn-2-xn-3、xn-1-xn-2、xn-xn-1}を、差分ベクトル列{xp-3、xp-2、xp-1、xp0}として取得する。
ステップS12において、予測部412は、ステップS11で取得された差分ベクトル列{xp-3、xp-2、xp-1、xp0}を学習済みモデル350に入力し、制御装置200に発生する致命的エラーを予測する。
ステップS13において、予測部412は、予測結果を制御装置200に出力し、制御装置200の表示部(図示しない)に表示させる。
以上により、一の実施形態に係るエラー発生予測装置400は、制御装置200に配置されたノイズ検出装置210(1)~210(3)によるノイズの数及び工作機械100の動作状態を示す状態ベクトルのうち、現在の状態ベクトルから過去に遡り5つの連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を、学習済みモデル350に入力することで、制御装置200に発生する致命的エラーのエラーデータを予測することができる。
また、ノイズ検出装置210(1)~210(3)それぞれに含まれる後述のダミー配線は微弱なノイズを拾うためのものであり、ノイズ検出装置210(1)~210(3)のノイズの数が上がっているからといって誤動作するとは限らないことから、エラー発生予測装置400は、単純にカウンタ値を見て警告を出す方法に比べて、機械学習により予防保守の精度を高めることができる。
また、ノイズ検出装置210(1)~210(3)それぞれに含まれる後述のダミー配線は微弱なノイズを拾うためのものであり、ノイズ検出装置210(1)~210(3)のノイズの数が上がっているからといって誤動作するとは限らないことから、エラー発生予測装置400は、単純にカウンタ値を見て警告を出す方法に比べて、機械学習により予防保守の精度を高めることができる。
以上、エラー発生予測装置400について説明したが、ノイズ検出装置210(1)~210(3)について説明する。
図8は、ノイズ検出装置210(1)の一例を示す図である。なお、ノイズ検出装置210(2)~210(3)についてもノイズ検出装置210(1)と同じ構成を有する。
図8に示すように、ノイズ検出装置210(1)は、例えば、プルダウン抵抗10、ダミー配線20、半導体集積回路30、及び制御部40を有し、プリント基板50に配置される。また、半導体集積回路30は、入力バッファ31、及びノイズカウンタ33が実装される。
なお、プリント基板50には、ノイズ検出装置210(1)を構成するプルダウン抵抗10、ダミー配線20、及び半導体集積回路30とともに、図示しないクロック回路等の電子部品や、図示しないクロック回路から出力されるクロック信号や、パワーオンリセット信号等の信号を伝導する配線等が配置されてもよい。
図8は、ノイズ検出装置210(1)の一例を示す図である。なお、ノイズ検出装置210(2)~210(3)についてもノイズ検出装置210(1)と同じ構成を有する。
図8に示すように、ノイズ検出装置210(1)は、例えば、プルダウン抵抗10、ダミー配線20、半導体集積回路30、及び制御部40を有し、プリント基板50に配置される。また、半導体集積回路30は、入力バッファ31、及びノイズカウンタ33が実装される。
なお、プリント基板50には、ノイズ検出装置210(1)を構成するプルダウン抵抗10、ダミー配線20、及び半導体集積回路30とともに、図示しないクロック回路等の電子部品や、図示しないクロック回路から出力されるクロック信号や、パワーオンリセット信号等の信号を伝導する配線等が配置されてもよい。
プルダウン抵抗10は、後述するダミー配線20を0Vの電圧にプルダウンしLレベルに維持する。
ダミー配線20は、典型的には、狭い線幅の高インピーダンスの配線であり、プリント基板50上を長く引き回して配置される。これにより、ダミー配線20は、ノイズを拾いやすくする。
なお、ダミー配線20は、プリント基板50に配置された図示しない電子部品の動作に致命的な影響を与える、クロック信号やパワーオンリセット信号等のクリティカルな信号を伝導する配線と並走するように配置されてもよい。
そうすることで、ノイズ検出装置210(1)は、ダミー配線20のノイズ検出状況を見ることで、クリティカルな信号が誤動作する予兆を捉えることができる。
また、ダミー配線20は、逆F型アンテナ等のモノポールアンテナを形成するようにしてもよい。例えば、線長が30cmの場合、ダミー配線20は、250MHzのノイズ成分を捉えることができる。
そうすることで、ノイズ検出装置210(1)は、微弱なノイズを捉えることができる。
なお、ダミー配線20は、プリント基板50に配置された図示しない電子部品の動作に致命的な影響を与える、クロック信号やパワーオンリセット信号等のクリティカルな信号を伝導する配線と並走するように配置されてもよい。
そうすることで、ノイズ検出装置210(1)は、ダミー配線20のノイズ検出状況を見ることで、クリティカルな信号が誤動作する予兆を捉えることができる。
また、ダミー配線20は、逆F型アンテナ等のモノポールアンテナを形成するようにしてもよい。例えば、線長が30cmの場合、ダミー配線20は、250MHzのノイズ成分を捉えることができる。
そうすることで、ノイズ検出装置210(1)は、微弱なノイズを捉えることができる。
入力バッファ31は、例えば、TTLやLVCMOS等であり、ダミー配線20からの信号レベルに応じて「0」又は「1」の値に2値化し、後述するノイズカウンタ33に出力する。例えば、プルダウン抵抗10によりダミー配線20のレベルがLレベルであることから、ダミー配線20がノイズを捉えない場合、入力バッファ31は「0」の値を出力する。一方、ダミー配線20がノイズを捉えた場合、入力バッファ31は、ダミー配線20からHレベルの信号を受けて「1」の値を出力する。
なお、入力バッファ31は、GTL+等の小振幅(例としてGTL+はHレベルが1.1V~1.5V程度、Lレベルが0.3V~0.9V程度)のインタフェースを用いてもよい。GTL+は線路の両端を50Ω前後でプルアップするのが普通であるが、ダミー配線20によるノイズ検出の用途では、キロオームからメガオームオーダーの抵抗値でプルアップしてよい。
また、入力バッファ31の前段に増幅回路があってもよい。
そうすることで、ノイズ検出装置210(1)は、わずかなノイズも捉えることができる。
なお、入力バッファ31は、GTL+等の小振幅(例としてGTL+はHレベルが1.1V~1.5V程度、Lレベルが0.3V~0.9V程度)のインタフェースを用いてもよい。GTL+は線路の両端を50Ω前後でプルアップするのが普通であるが、ダミー配線20によるノイズ検出の用途では、キロオームからメガオームオーダーの抵抗値でプルアップしてよい。
また、入力バッファ31の前段に増幅回路があってもよい。
そうすることで、ノイズ検出装置210(1)は、わずかなノイズも捉えることができる。
図9は、ノイズカウンタ33の一例を示す図である。なお、図9では、プルダウン抵抗10、ダミー配線20、及び入力バッファ31を含むノイズ検出部を、ノイズ検出部23として示す。
図9に示すように、ノイズカウンタ33は、同期化回路(Synchronizer)331、期待値(Expectation)332、XOR333、及び計数器(Incrementer)334を含む。なお、期待値が定数「0」であることは、期待値332とXOR333がなく同期化回路331と計数器334が直結されることに等しい。また、期待値が定数「1」であることは、期待値332とXOR333がなくXOR333の代わりに論理反転が入ることに等しい。
図9に示すように、ノイズカウンタ33は、同期化回路(Synchronizer)331、期待値(Expectation)332、XOR333、及び計数器(Incrementer)334を含む。なお、期待値が定数「0」であることは、期待値332とXOR333がなく同期化回路331と計数器334が直結されることに等しい。また、期待値が定数「1」であることは、期待値332とXOR333がなくXOR333の代わりに論理反転が入ることに等しい。
同期化回路331は、例えば、メタステーブル対策でフリップフロップが2段以上縦続接続された回路であり、外部のクロック回路(図示しない)からのクロック信号で動作し、当該クロック信号に同期させて入力バッファ31からの「0」又は「1」の値に応じた信号を出力する。具体的には、同期化回路331は、後述するように、クロック信号の立ち上がり時に入力バッファ31からの値が「0」の場合に数クロック周期後に「0」の値を出力し、入力バッファ31からの値が「1」の場合に数クロック周期後に「1」の値を出力する。
期待値332は、例えば、レジスタ等の記憶部であり、予め設定された値を格納する。具体的には、ノイズ検出部23を構成するダミー配線20がプルダウン抵抗10に接続されている場合、期待値332には、ノイズが捉えられていない状態であるLレベルを示す「0」の値が格納される。一方、ノイズ検出部23を構成するダミー配線20がプルアップ抵抗に接続されている場合、期待値332には、ノイズが捉えられていない状態であるHレベルを示す「1」の値が格納される。
なお、期待値332に設定される値は、レジスタ設定により適宜変更されるようにしてもよい。
なお、期待値332に設定される値は、レジスタ設定により適宜変更されるようにしてもよい。
XOR333は、例えば、同期化回路331及び期待値332からの値が同じ「0」又は「1」、すなわち入力バッファ31から出力された信号レベルの値が変化しなかった場合、ダミー配線20がノイズを捉えなかったとして「0」の値を出力する。一方、XOR333は、例えば、同期化回路331からの値と及び期待値332からの値が異なる、すなわち入力バッファ31から出力された信号レベルの値が変化した場合、ダミー配線20がノイズを検出したとして「1」の値を出力する。
計数器334は、クロック信号に基づいて、XOR333から「1」の値が入力される毎に、ノイズ検出部23のダミー配線20によりノイズが捉えられたとして、1ずつノイズの数をカウントする。計数器334は、例えば、所定の時間(例えば、1分等)毎にカウントしたノイズの数を制御部40に出力する。
なお、計数器334は、パワーオンリセット信号が入力された場合、カウントしたノイズの数を「0」にリセットする。
なお、計数器334は、パワーオンリセット信号が入力された場合、カウントしたノイズの数を「0」にリセットする。
図10は、ノイズカウンタ33の動作の一例を示す図である。
図10に示すように、入力バッファ31は、例えば、3番目のクロック信号のときに、ダミー配線20がノイズを捉えたことで、「0」から「1」の値に変化する。同期化回路331は、5番目のクロック信号で「1」の値を出力する。なお、図10では、同期化回路331は、例えば、2段のフリップフロップを有することから、入力バッファ31より2クロック分遅れて「1」の値を出力する。そして、計数器334は、6番目のクロック信号のエッジでノイズの数を「1」にカウントする。
また、入力バッファ31は、7番目と8番目とのクロック信号のときに、ダミー配線20がノイズをそれぞれ捉えたことで、「0」から「1」の値に変化する。同期化回路331は、9番目と10番目とのクロック信号で「1」の値を出力する。そして、計数器334は、10番目のクロック信号のエッジでノイズの数を「2」にカウントし、11番目のクロック信号のエッジでノイズの数を「3」にカウントする。
図10に示すように、入力バッファ31は、例えば、3番目のクロック信号のときに、ダミー配線20がノイズを捉えたことで、「0」から「1」の値に変化する。同期化回路331は、5番目のクロック信号で「1」の値を出力する。なお、図10では、同期化回路331は、例えば、2段のフリップフロップを有することから、入力バッファ31より2クロック分遅れて「1」の値を出力する。そして、計数器334は、6番目のクロック信号のエッジでノイズの数を「1」にカウントする。
また、入力バッファ31は、7番目と8番目とのクロック信号のときに、ダミー配線20がノイズをそれぞれ捉えたことで、「0」から「1」の値に変化する。同期化回路331は、9番目と10番目とのクロック信号で「1」の値を出力する。そして、計数器334は、10番目のクロック信号のエッジでノイズの数を「2」にカウントし、11番目のクロック信号のエッジでノイズの数を「3」にカウントする。
制御部40は、例えば、制御装置200のCPU等であり、ノイズ検出装置210(1)~210(3)それぞれのノイズカウンタ33によりカウントされたノイズの数を受信する。制御部40は、受信したノイズの数を、工作機械100の動作状態、及び発生した致命的エラーを示すエラーデータとともに機械学習装置300に出力する。
また、制御部40は、半導体集積回路30に実装されてもよく、プリント基板50とは異なるプリント基盤に実装されてもよい。
また、制御部40は、半導体集積回路30に実装されてもよく、プリント基板50とは異なるプリント基盤に実装されてもよい。
なお、ノイズ検出装置210(1)~210(3)は、図8の構成を有するとしたが、期待値332に代えて、パワーオンリセット解除時のダミー配線20のLレベルに対する入力バッファ31から出力される「0」の値をラッチするLatch332aを含み、ラッチした「0」の値を期待値として用いてもよい。
図11は、ノイズカウンタ33の一例を示す図である。なお、図9のノイズカウンタ33の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図11に示すように、ノイズカウンタ33は、同期化回路331、Latch332a、XOR333、及び計数器334を含む。
図11は、ノイズカウンタ33の一例を示す図である。なお、図9のノイズカウンタ33の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図11に示すように、ノイズカウンタ33は、同期化回路331、Latch332a、XOR333、及び計数器334を含む。
Latch332aは、パワーオンリセット解除時にLatch332aのゲート端子にパワーオンリセット信号が入力されると、入力バッファ31から出力されるプルダウンされたダミー配線20のLレベルを示す「0」の値をラッチする。そして、Latch332aは、次のパワーオンリセットまで、ラッチした「0」の値を期待値として保持する。
なお、ダミー配線20がプルアップ抵抗(図示しない)に接続されている場合、入力バッファ31はパワーオンリセット解除時にHレベルを示す「1」の値を出力することから、Latch332aは、「1」の値をラッチし期待値として保持する。
また、ノイズカウンタ33の動作は、期待値332の代わりにLatch332aが配置される点を除き、図10と同様であり、説明は省略する。
そうすることで、プルダウンやプルアップと決めつけず、プリント基板50側の都合でプルアップやプルダウンにもできる。すなわち、図11のノイズ検出装置210(1)は、ダミー配線20がプルダウン抵抗10に接続されているか、プルアップ抵抗(図示しない)に接続されているか、を気にすることなく、最適な期待値を設定することができる。また、ユーザは、期待値の設定を行う必要がなくなる。
なお、ダミー配線20がプルアップ抵抗(図示しない)に接続されている場合、入力バッファ31はパワーオンリセット解除時にHレベルを示す「1」の値を出力することから、Latch332aは、「1」の値をラッチし期待値として保持する。
また、ノイズカウンタ33の動作は、期待値332の代わりにLatch332aが配置される点を除き、図10と同様であり、説明は省略する。
そうすることで、プルダウンやプルアップと決めつけず、プリント基板50側の都合でプルアップやプルダウンにもできる。すなわち、図11のノイズ検出装置210(1)は、ダミー配線20がプルダウン抵抗10に接続されているか、プルアップ抵抗(図示しない)に接続されているか、を気にすることなく、最適な期待値を設定することができる。また、ユーザは、期待値の設定を行う必要がなくなる。
あるいは、図8のノイズ検出装置210(1)~210(3)は、期待値332に代えて、直近(前回)の同期化回路331からの値を今回の期待値とするDフリップフロップ(DFF)335を含んでもよい。
図12は、ノイズカウンタ33の一例を示す図である。なお、図9のノイズカウンタ33の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図12に示すように、ノイズカウンタ33は、同期化回路331、DFF335、XOR333、及び計数器334を含む。
図12は、ノイズカウンタ33の一例を示す図である。なお、図9のノイズカウンタ33の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図12に示すように、ノイズカウンタ33は、同期化回路331、DFF335、XOR333、及び計数器334を含む。
DFF335は、同期化回路331から直近(前回)に出力された値を今回の期待値としてXOR333に出力する。
そうすることで、プルダウンやプルアップと決めつけず、プリント基板50側の都合でプルアップやプルダウンもできる。すなわち、ノイズ検出装置210(1)~210(3)は、ダミー配線20がプルダウン抵抗10に接続されているか、プルアップ抵抗(図示しない)に接続されているか、を気にすることなく、最適な期待値を設定することができる。また、ユーザは、期待値の設定を行う必要がなくなる。
また、ダミー配線20がプルアップされている場合、図12のノイズ検出装置210(1)は、故障等によりダミー配線20が地絡したこと(入力値がHレベルからLレベルへの変化が1回だけ起きる)等も検出することができる。
図13は、図12のノイズカウンタ33の動作の一例を示す図である。なお、ノイズカウンタ33の動作は、期待値332の代わりにDFF335が配置され、計数器334がDFF335からの信号の立ち上がりエッジと立ち下がりエッジとでカウントする点を除き、図9のノイズカウンタ33と同様であり、説明は省略する。
そうすることで、プルダウンやプルアップと決めつけず、プリント基板50側の都合でプルアップやプルダウンもできる。すなわち、ノイズ検出装置210(1)~210(3)は、ダミー配線20がプルダウン抵抗10に接続されているか、プルアップ抵抗(図示しない)に接続されているか、を気にすることなく、最適な期待値を設定することができる。また、ユーザは、期待値の設定を行う必要がなくなる。
また、ダミー配線20がプルアップされている場合、図12のノイズ検出装置210(1)は、故障等によりダミー配線20が地絡したこと(入力値がHレベルからLレベルへの変化が1回だけ起きる)等も検出することができる。
図13は、図12のノイズカウンタ33の動作の一例を示す図である。なお、ノイズカウンタ33の動作は、期待値332の代わりにDFF335が配置され、計数器334がDFF335からの信号の立ち上がりエッジと立ち下がりエッジとでカウントする点を除き、図9のノイズカウンタ33と同様であり、説明は省略する。
さらに、図8のノイズ検出装置210(1)~210(3)は、図14に示すように、ノイズカウンタ33において、同期化回路331、期待値332、及びXOR333を省略し、入力バッファ31から出力される信号をクロック信号として利用するために計数器334のクロック端子に入力し、計数器334に信号のエッジでカウントさせてもよい。
図14は、ノイズカウンタ33の一例を示す図である。図15は、図14のノイズカウンタ33の動作の一例を示す図である。
図15に示すように、入力バッファ31から出力された信号は、ダミー配線20がノイズを捉えた場合、「0」から「1」の値に変化する。そして、計数器334は、入力バッファ31から出力された信号が「0」から「1」に変わる立ち上がりエッジでノイズの数を1ずつカウントする。
図14は、ノイズカウンタ33の一例を示す図である。図15は、図14のノイズカウンタ33の動作の一例を示す図である。
図15に示すように、入力バッファ31から出力された信号は、ダミー配線20がノイズを捉えた場合、「0」から「1」の値に変化する。そして、計数器334は、入力バッファ31から出力された信号が「0」から「1」に変わる立ち上がりエッジでノイズの数を1ずつカウントする。
また、図8のノイズ検出装置210(1)~210(3)は、入力バッファ31にダミー配線20が接続されたが、これに限定されない。例えば、ノイズ検出装置210(1)~210(3)は、ダミー配線20の線長がゼロでもよい。
図16は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図16のノイズ検出装置210(1)では、プルダウン抵抗10、入力バッファ31、及びノイズカウンタ33は半導体集積回路30に実装され、入力バッファ31の入力側はオープンになっている。これはダミー配線の線長がゼロであることに相当する。
図16は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図16のノイズ検出装置210(1)では、プルダウン抵抗10、入力バッファ31、及びノイズカウンタ33は半導体集積回路30に実装され、入力バッファ31の入力側はオープンになっている。これはダミー配線の線長がゼロであることに相当する。
また、図8のノイズ検出装置210(1)~210(3)は、複数のノイズ検出部及びノイズカウンタの組み合わせを有してもよい。
図17は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
なお、図17のノイズ検出装置210(1)は、2組のノイズ検出部及びノイズカウンタを有する場合を例示して説明するが、3組以上を有する場合についても同様である。
図17のノイズ検出装置210(1)は、ノイズ検出部23a及びノイズカウンタ33aと、ノイズ検出部23b及びノイズカウンタ33bと、を有する。ノイズカウンタ33a、33bは、互いに同じ図9、図11、図12、又は図14のいずれかの構成を有する。
ノイズ検出部23aは、プルダウン抵抗10a、ダミー配線20、及び入力バッファ31を含む。一方、ノイズ検出部23bは、プルダウン抵抗10b、ダミー配線20、及び入力バッファ31を含む。
図17は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
なお、図17のノイズ検出装置210(1)は、2組のノイズ検出部及びノイズカウンタを有する場合を例示して説明するが、3組以上を有する場合についても同様である。
図17のノイズ検出装置210(1)は、ノイズ検出部23a及びノイズカウンタ33aと、ノイズ検出部23b及びノイズカウンタ33bと、を有する。ノイズカウンタ33a、33bは、互いに同じ図9、図11、図12、又は図14のいずれかの構成を有する。
ノイズ検出部23aは、プルダウン抵抗10a、ダミー配線20、及び入力バッファ31を含む。一方、ノイズ検出部23bは、プルダウン抵抗10b、ダミー配線20、及び入力バッファ31を含む。
ノイズ検出部23aとノイズ検出部23bとでは、プルダウン抵抗10aの抵抗値R1とプルダウン抵抗10bの抵抗値R2とが互いに異なる値に設定されている(例えば、R1>R2)。
すなわち、図17のノイズ検出装置210(1)は、プルダウン抵抗10a、10bの抵抗値R1、R2を変えることで、異なる強度のノイズを捉えることができる。例えば、大きな抵抗値R1のプルダウン抵抗10aが接続されたダミー配線20は、強度が小さいノイズから大きなノイズまで幅広いノイズを捉えることができる。一方、小さな抵抗値R2のプルダウン抵抗10bが接続されたダミー配線20は、強度が大きなノイズのみを捉えることができる。
これにより、大きな抵抗値R1のプルダウン抵抗10aが接続されたノイズカウンタ33aのノイズの数が増えていても、小さな抵抗値R2のプルダウン抵抗10bが接続されたノイズカウンタ33bのノイズの数が少ない又は増えていない場合、図17のノイズ検出装置210(1)は、検出したノイズの強度は強くないと判断することができる。
一方、大きな抵抗値R1のプルダウン抵抗10aが接続されたノイズカウンタ33aのノイズの数が増え、小さな抵抗値R2のプルダウン抵抗10bが接続されたノイズカウンタ33bのノイズの数も増えている場合、図17のノイズ検出装置210(1)は、検出したノイズの強度はかなり強いと判断することができる。
換言すれば、図17のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
なお、図17のノイズ検出装置210(1)は、異なる抵抗値R1、R2のプルダウン抵抗10a、10bに代えて、異なる特性インピーダンスのノイズ検出部23aのダミー配線20と、ノイズ検出部23bのダミー配線20と、を用いてもよい。
すなわち、図17のノイズ検出装置210(1)は、プルダウン抵抗10a、10bの抵抗値R1、R2を変えることで、異なる強度のノイズを捉えることができる。例えば、大きな抵抗値R1のプルダウン抵抗10aが接続されたダミー配線20は、強度が小さいノイズから大きなノイズまで幅広いノイズを捉えることができる。一方、小さな抵抗値R2のプルダウン抵抗10bが接続されたダミー配線20は、強度が大きなノイズのみを捉えることができる。
これにより、大きな抵抗値R1のプルダウン抵抗10aが接続されたノイズカウンタ33aのノイズの数が増えていても、小さな抵抗値R2のプルダウン抵抗10bが接続されたノイズカウンタ33bのノイズの数が少ない又は増えていない場合、図17のノイズ検出装置210(1)は、検出したノイズの強度は強くないと判断することができる。
一方、大きな抵抗値R1のプルダウン抵抗10aが接続されたノイズカウンタ33aのノイズの数が増え、小さな抵抗値R2のプルダウン抵抗10bが接続されたノイズカウンタ33bのノイズの数も増えている場合、図17のノイズ検出装置210(1)は、検出したノイズの強度はかなり強いと判断することができる。
換言すれば、図17のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
なお、図17のノイズ検出装置210(1)は、異なる抵抗値R1、R2のプルダウン抵抗10a、10bに代えて、異なる特性インピーダンスのノイズ検出部23aのダミー配線20と、ノイズ検出部23bのダミー配線20と、を用いてもよい。
また、ノイズ検出部23aのダミー配線20とノイズ検出部23bのダミー配線20とは、互いに並行してプリント基板50上を引き回して配置されてもよく、互いに異なる経路でプリント基板50上に配置されてもよい。
図18は、互いに異なる経路で引き回されたダミー配線20の一例を示す図である。なお、図18では、ノイズ検出装置210(1)が3組のノイズ検出部及びノイズカウンタを有する場合を例示する。
図18に示すように、プルダウン抵抗10aが接続されたダミー配線20は、例えば、プリント基板50の端に沿うように引き回して配置されている。また、プルダウン抵抗10bが接続されたダミー配線20は、線長ゼロのオープンの状態で配置されている。また、プルダウン抵抗10cが接続されたダミー配線20は、ノイズが発生しやすそうな箇所を通るように配置されている。
そうすることで、図18のノイズ検出装置210(1)は、様々なタイプのノイズを検出することができる。
また、各ダミー配線20は、互いに線長が異なるモノポールアンテナを形成するように配置されてもよい。そうすることで、図18のノイズ検出装置210(1)は、複数の周波数のノイズを捉えることができる。
図18は、互いに異なる経路で引き回されたダミー配線20の一例を示す図である。なお、図18では、ノイズ検出装置210(1)が3組のノイズ検出部及びノイズカウンタを有する場合を例示する。
図18に示すように、プルダウン抵抗10aが接続されたダミー配線20は、例えば、プリント基板50の端に沿うように引き回して配置されている。また、プルダウン抵抗10bが接続されたダミー配線20は、線長ゼロのオープンの状態で配置されている。また、プルダウン抵抗10cが接続されたダミー配線20は、ノイズが発生しやすそうな箇所を通るように配置されている。
そうすることで、図18のノイズ検出装置210(1)は、様々なタイプのノイズを検出することができる。
また、各ダミー配線20は、互いに線長が異なるモノポールアンテナを形成するように配置されてもよい。そうすることで、図18のノイズ検出装置210(1)は、複数の周波数のノイズを捉えることができる。
また、図17のノイズ検出装置210(1)は、例えば、異なる抵抗値R1、R2のプルダウン抵抗10a、10bに代えて、異なる容量のコンデンサをノイズ検出部23aのダミー配線20、及びノイズ検出部23bのダミー配線20に接続してもよい。
図19は、ノイズ検出装置210(1)の一例を示す図である。なお、図17のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図19に示すように、ノイズ検出部23aは、プルダウン抵抗10、ダミー配線20、コンデンサ25a、及び入力バッファ31を含む。一方、ノイズ検出部23bは、プルダウン抵抗10、ダミー配線20、コンデンサ25b、及び入力バッファ31を含む。ノイズ検出部23aとノイズ検出部23bとでは、コンデンサ25aの容量C1とコンデンサ25bの容量C2とが互いに異なる値に設定されている(例えば、C1<C2)。
図19は、ノイズ検出装置210(1)の一例を示す図である。なお、図17のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図19に示すように、ノイズ検出部23aは、プルダウン抵抗10、ダミー配線20、コンデンサ25a、及び入力バッファ31を含む。一方、ノイズ検出部23bは、プルダウン抵抗10、ダミー配線20、コンデンサ25b、及び入力バッファ31を含む。ノイズ検出部23aとノイズ検出部23bとでは、コンデンサ25aの容量C1とコンデンサ25bの容量C2とが互いに異なる値に設定されている(例えば、C1<C2)。
すなわち、図19のノイズ検出装置210(1)は、コンデンサ25a、25bの容量C1、C2を変えることで、異なる周波数成分のノイズを検出することができる。例えば、コンデンサ25aの容量C1はコンデンサ25bの容量C2より小さいことから、ノイズ検出部23aは、低い周波数成分から高い周波数成分までのノイズを捉えることができる。一方、ノイズ検出部23bは、ノイズ検出部23aと比べて低い周波数成分のノイズのみを検出することができる。
そうすることで、図19のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
そうすることで、図19のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
また、図17のノイズ検出装置210(1)は、ノイズカウンタ33aとノイズカウンタ33bとに同じクロック信号を入力したが、例えば、ノイズカウンタ33aとノイズカウンタ33bとに、互いに異なるクロック周期(サンプリング周期)のクロック信号を入力してもよい。
図20は、ノイズ検出装置210(1)の一例を示す図である。なお、図17のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、図20のノイズ検出装置210(1)のノイズカウンタ33a、33bは、図8と同様の構成を有するが、図11又は図12と同様の構成を有してもよい。
図20に示すように、ノイズカウンタ33aには、例えば、クロック周期T1のクロック信号K1が入力され、ノイズカウンタ33bには、クロック周期T2のクロック信号K2が入力される。クロック信号K1のクロック周期T1と、クロック信号K2のクロック周期T2と、は互いに異なる値に設定される(例えば、T1>T2)。
図20は、ノイズ検出装置210(1)の一例を示す図である。なお、図17のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。また、図20のノイズ検出装置210(1)のノイズカウンタ33a、33bは、図8と同様の構成を有するが、図11又は図12と同様の構成を有してもよい。
図20に示すように、ノイズカウンタ33aには、例えば、クロック周期T1のクロック信号K1が入力され、ノイズカウンタ33bには、クロック周期T2のクロック信号K2が入力される。クロック信号K1のクロック周期T1と、クロック信号K2のクロック周期T2と、は互いに異なる値に設定される(例えば、T1>T2)。
これにより、図20のノイズ検出装置210(1)は、クロック信号K1のクロック周期T1と、クロック信号K2のクロック周期T2と、を変えることで、異なる周波数成分のノイズを捉えることができる。例えば、長いクロック周期T1のクロック信号K1が入力されるノイズカウンタ33aは、低い周波数成分のノイズの数をカウントすることができる。一方、短いクロック周期T2のクロック信号K2が入力されるノイズカウンタ33bは、低い周波数成分に加えて高い周波数成分のノイズの数をカウントすることができる。
そうすることで、図20のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
そうすることで、図20のノイズ検出装置210(1)は、ノイズの発生状況をきめ細やかに観測することができる。
なお、図20のノイズ検出装置210(1)は、クロック周期T1のクロック信号K1が入力されるノイズカウンタ33aと、クロック周期T2のクロック信号K2が入力されるノイズカウンタ33bと、に、1つのノイズ検出部23を接続するようにしてもよい。
図21は、ノイズ検出装置210(1)の一例を示す図である。なお、図20のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図21のノイズ検出装置210(1)は、ノイズ検出部23を共通化することで、回路規模を小さくすることができる。
図21は、ノイズ検出装置210(1)の一例を示す図である。なお、図20のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図21のノイズ検出装置210(1)は、ノイズ検出部23を共通化することで、回路規模を小さくすることができる。
また、図8のノイズ検出装置210(1)~210(3)は、図8の構成に加えて、ノイズのパルス幅を測定する機能をさらに備えるようにしてもよい。
図22は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図22のノイズ検出装置210(1)は、ノイズ検出部23及びノイズカウンタ33cを有する。ノイズ検出部23は、プルダウン抵抗10、ダミー配線20、及び入力バッファ31を有する。ノイズカウンタ33cは、同期化回路331、期待値332、XOR333、パルス幅測定部336、(j+1)個のAND337(0)~337(j)、(j+1)個の計数器334a(0)~334a(j)を有する(jは1以上の整数)。
図22は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図22のノイズ検出装置210(1)は、ノイズ検出部23及びノイズカウンタ33cを有する。ノイズ検出部23は、プルダウン抵抗10、ダミー配線20、及び入力バッファ31を有する。ノイズカウンタ33cは、同期化回路331、期待値332、XOR333、パルス幅測定部336、(j+1)個のAND337(0)~337(j)、(j+1)個の計数器334a(0)~334a(j)を有する(jは1以上の整数)。
パルス幅測定部336は、XOR333から出力された値に基づいて、ノイズ検出部23により検出されたノイズのパルス幅(クロック周期を単位とする二進数)を端子Qj~Q0に出力する。
具体的には、例えば、検出されたノイズが2クロック未満のパルス幅の場合に端子Qj~Q1に「0」、端子Q0に「1」の値を出力する。また、例えば、検出されたノイズが2クロック以上4クロック未満のパルス幅の場合に端子Qj~Q2に「0」、端子Q1に「1」の値を出力する。また、例えば、検出されたノイズが2iクロック以上2(i+1)クロック未満のパルス幅の場合に端子Qj~Q(i+1)に「0」、端子Qiに「1」の値を出力する(iは0~j-1の整数)。また、端子Qjは、例えば、検出されたノイズが2jクロック以上のパルス幅の場合に「1」の値を出力し、検出されたノイズが2jクロック以上のパルス幅でない場合に「0」の値を出力する。
具体的には、例えば、検出されたノイズが2クロック未満のパルス幅の場合に端子Qj~Q1に「0」、端子Q0に「1」の値を出力する。また、例えば、検出されたノイズが2クロック以上4クロック未満のパルス幅の場合に端子Qj~Q2に「0」、端子Q1に「1」の値を出力する。また、例えば、検出されたノイズが2iクロック以上2(i+1)クロック未満のパルス幅の場合に端子Qj~Q(i+1)に「0」、端子Qiに「1」の値を出力する(iは0~j-1の整数)。また、端子Qjは、例えば、検出されたノイズが2jクロック以上のパルス幅の場合に「1」の値を出力し、検出されたノイズが2jクロック以上のパルス幅でない場合に「0」の値を出力する。
AND337(0)~337(j)は、XOR333から出力された値と、パルス幅測定部336の端子Q0~Qjから出力された値と、に基づきノイズ検出部23により検出されたノイズのパルス幅を示す値を出力する。
具体的には、AND337(0)は、例えば、検出されたノイズのパルス幅が2クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2クロック未満でない場合に「0」の値を出力する。また、AND337(1)は、検出されたノイズのパルス幅が2クロック以上4クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2クロック以上4クロック未満でない場合に「0」の値を出力する。また、AND337(i)は、検出されたノイズのパルス幅が2iクロック以上2(i+1)クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2iクロック以上2(i+1)クロック未満でない場合に「0」の値を出力する(iは0~j-1の整数)。また、AND337(j)は、検出されたノイズのパルス幅が2jクロック以上の場合に「1」の値を出力し、検出されたノイズのパルス幅が2jクロック以上でない場合に「0」の値を出力する。
具体的には、AND337(0)は、例えば、検出されたノイズのパルス幅が2クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2クロック未満でない場合に「0」の値を出力する。また、AND337(1)は、検出されたノイズのパルス幅が2クロック以上4クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2クロック以上4クロック未満でない場合に「0」の値を出力する。また、AND337(i)は、検出されたノイズのパルス幅が2iクロック以上2(i+1)クロック未満の場合に「1」の値を出力し、検出されたノイズのパルス幅が2iクロック以上2(i+1)クロック未満でない場合に「0」の値を出力する(iは0~j-1の整数)。また、AND337(j)は、検出されたノイズのパルス幅が2jクロック以上の場合に「1」の値を出力し、検出されたノイズのパルス幅が2jクロック以上でない場合に「0」の値を出力する。
計数器334a(0)~334a(j)は、図9の計数器334と同様に、クロック信号に基づいて、対応するAND337(0)~337(j)から「1」の値が入力される毎に、ノイズの数をカウントする。
具体的には、計数器334a(0)は、例えば、ノイズ検出部23によりパルス幅が2クロック未満のノイズが検出される度にノイズの数を1つ増加させる。また、計数器334a(1)は、例えば、ノイズ検出部23によりパルス幅が2クロック以上4クロック未満のノイズが検出される度にノイズの数を1つ増加させる。また、計数器334a(i)は、ノイズ検出部23によりパルス幅が2iクロック以上2(i+1)クロック未満のノイズが検出される度にノイズの数を1つ増加させる(iは0~j-1の整数)。また、計数器334a(j)は、ノイズ検出部23によりパルス幅が2jクロック以上のノイズが検出される度にノイズの数を1つ増加させる。
そうすることで、図22のノイズ検出装置210(1)は、パルス幅毎にノイズの数をカウントすることができ、ノイズの発生状況をきめ細やかに観測することができる。
具体的には、計数器334a(0)は、例えば、ノイズ検出部23によりパルス幅が2クロック未満のノイズが検出される度にノイズの数を1つ増加させる。また、計数器334a(1)は、例えば、ノイズ検出部23によりパルス幅が2クロック以上4クロック未満のノイズが検出される度にノイズの数を1つ増加させる。また、計数器334a(i)は、ノイズ検出部23によりパルス幅が2iクロック以上2(i+1)クロック未満のノイズが検出される度にノイズの数を1つ増加させる(iは0~j-1の整数)。また、計数器334a(j)は、ノイズ検出部23によりパルス幅が2jクロック以上のノイズが検出される度にノイズの数を1つ増加させる。
そうすることで、図22のノイズ検出装置210(1)は、パルス幅毎にノイズの数をカウントすることができ、ノイズの発生状況をきめ細やかに観測することができる。
また、図8のノイズ検出装置210(1)~210(3)は、図8の構成に加えて、ダミー配線20を用いてノイズを電磁波として捉える機能をさらに備えるようにしてもよい。
図23は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図23のノイズ検出装置210(1)は、2つのプルダウン抵抗10、ダミー配線20a、20b、差動入力バッファ31a、ノイズカウンタ33、及び制御部40を有する。
図23は、ノイズ検出装置210(1)の一例を示す図である。なお、図8のノイズ検出装置210(1)の要素と同様の機能を有する要素については、同じ符号を付し、詳細な説明は省略する。
図23のノイズ検出装置210(1)は、2つのプルダウン抵抗10、ダミー配線20a、20b、差動入力バッファ31a、ノイズカウンタ33、及び制御部40を有する。
ダミー配線20a、20bは、ダイポールアンテナとして機能するようにプリント基板50上を引き回して配置される。ダミー配線20a、20bそれぞれは、プルダウン抵抗10が接続されるとともに、ダミー配線20a、20bの一端は、後述する差動入力バッファ31aの入力端子に接続される。
例えば、ダミー配線20a、20bの線長が長さLの場合、当該ダイポールアンテナは、波長4Lのノイズを捉えることができる。具体的には、片側の線長が7.5cmの場合、ダミー配線20a、20bは、1GHzのノイズ成分を捉えることができる。
そうすることで、図23のノイズ検出装置210(1)は、微弱なノイズを捉えることができる。
例えば、ダミー配線20a、20bの線長が長さLの場合、当該ダイポールアンテナは、波長4Lのノイズを捉えることができる。具体的には、片側の線長が7.5cmの場合、ダミー配線20a、20bは、1GHzのノイズ成分を捉えることができる。
そうすることで、図23のノイズ検出装置210(1)は、微弱なノイズを捉えることができる。
差動入力バッファ31aは、TTLやLVCMOS、LVPECL、LVDS、CML等であり、差動ペアのダミー配線20aの信号レベルとダミー配線20bの信号レベルとの差分に応じて「0」又は「1」の値に2値化し、ノイズカウンタ33に出力する。
なお、差動入力バッファ31aの前段に差動増幅回路があってもよい。
なお、差動入力バッファ31aの前段に差動増幅回路があってもよい。
図23のノイズ検出装置210(1)は、2つのダミー配線20a、20bをダイポールアンテナとして機能するようにプリント基板50上に配置したが、例えば、図24に示すように、1つのダミー配線20を折り返しダイポールアンテナとして機能するようにプリント基板50上に配置してもよく、図25に示すように、1つのダミー配線20をループアンテナとして機能するようにプリント基板50上に配置してもよい。
また、図23のノイズ検出装置210(1)は、2つのプルダウン抵抗10、ダミー配線20a、20b、及び差動入力バッファ31aを含むノイズ検出部と、ノイズカウンタ33と、の1組を有したが、例えば、2以上の複数の組の当該ノイズ検出部及びノイズカウンタ33を有してもよい。この場合、各組のダミー配線20a、20bのダイポールアンテナの線長は、互いに異なる長さにすることが好ましい。
なお、各組のノイズ検出部は、図24及び図25の場合と同様に、1つのダミー配線20を折り返しダイポールアンテナ、又はループアンテナとして機能するように配置されてもよい。
そうすることで、ノイズ検出装置210(1)は、複数の周波数のノイズを捉えることができる。
なお、各組のノイズ検出部は、図24及び図25の場合と同様に、1つのダミー配線20を折り返しダイポールアンテナ、又はループアンテナとして機能するように配置されてもよい。
そうすることで、ノイズ検出装置210(1)は、複数の周波数のノイズを捉えることができる。
以上、一の実施形態について説明したが、制御装置200、機械学習装置300、エラー発生予測装置400は、上述の実施形態に限定されるものではなく、目的を達成できる範囲での変形、改良等を含む。
<変形例1>
上述の実施形態では、機械学習装置300は、制御装置200及びエラー発生予測装置400と異なる装置として例示したが、機械学習装置300の一部又は全部の機能を、制御装置200やエラー発生予測装置400が備えるようにしてもよい。
上述の実施形態では、機械学習装置300は、制御装置200及びエラー発生予測装置400と異なる装置として例示したが、機械学習装置300の一部又は全部の機能を、制御装置200やエラー発生予測装置400が備えるようにしてもよい。
<変形例2>
また例えば、上述の実施形態では、エラー発生予測装置400は、制御装置200と異なる装置として例示したが、エラー発生予測装置400の一部又は全部の機能を、制御装置200が備えるようにしてもよい。
あるいは、エラー発生予測装置400の状態取得部411、予測部412、及び記憶部413の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、エラー発生予測装置400の各機能を実現してもよい。
さらに、エラー発生予測装置400は、エラー発生予測装置400の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
また例えば、上述の実施形態では、エラー発生予測装置400は、制御装置200と異なる装置として例示したが、エラー発生予測装置400の一部又は全部の機能を、制御装置200が備えるようにしてもよい。
あるいは、エラー発生予測装置400の状態取得部411、予測部412、及び記憶部413の一部又は全部を、例えば、サーバが備えるようにしてもよい。また、クラウド上で仮想サーバ機能等を利用して、エラー発生予測装置400の各機能を実現してもよい。
さらに、エラー発生予測装置400は、エラー発生予測装置400の各機能を適宜複数のサーバに分散される、分散処理システムとしてもよい。
<変形例3>
また例えば、上述の実施形態では、図5の学習済みモデル350は、中間層に、3つのRNN351の1層で構成されたが、これに限定されない。学習済みモデル350は、図26に示すように、RNN351A(1)~351A(4k)を用いて、4つ1組を1層とする複数の層が配置された中間層を有し、深層学習化されてもよい(kは2以上の整数)。これにより、エラー発生予測装置400は、図5の場合と比べて過去の状態ベクトル間の差分からノイズの数増分の特徴をより正確に捉えることができ、より精度良く制御装置200に発生する致命的エラーを予測することができる。なお、RNN351A(1)~351A(4k)の各々は、図5のRNN351に対応する。
あるいは、学習済みモデル350は、図27に示すように、図5のRNN351(1)~351(4)に替えて、入力・出力・忘却ゲート付きRNNであるLSTM(Long Short-Term Memory)352(1)~352(3)が中間層に配置されてもよい。この場合、学習済みモデル350の中間層には、LSTM352(1)~352(3)とともに、全結合層353及びargmax354が配置される。argmax354は、全結合層353より出力された複数の致命的エラーのうち、最も確率値が高い致命的エラーをエラーデータyp0として出力する。これにより、エラー発生予測装置400は、図5の場合と比べて過去の状態ベクトル間の差分からノイズの数増分の特徴をより正確に捉えることができ、より精度良く制御装置200に発生する致命的エラーを予測することができる。なお、図27では、LMST352の数は、3つとしたが1以上の数でもよい。
また、学習済みモデル350は、致命的エラーの発生に係るラベルデータの収集が困難な場合、正常なデータである状態ベクトルxnを先頭とする5つの連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を用いて学習されたオートエンコーダでもよい。例えば、エラー発生予測装置400は、現在に対応する状態ベクトルから過去に遡る5つの連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xp-3、xp-2、xp-1、xp0}をオートエンコーダに入力し、復元時のずれ量を監視することにより、致命的エラーの発生の可能性を予測するようにしてもよい。
あるいは、学習済みモデル350は、入力データを時系列データとして扱わず、状態ベクトルxnがxAのとき致命的エラーAが発生し、状態ベクトルxnがxBのとき致命的エラーBが発生し、状態ベクトルxnがxCのとき致命的エラーなし、という訓練データを用いて学習された、サポートベクタマシンやニューラルネットワーク等でもよい。
また例えば、上述の実施形態では、図5の学習済みモデル350は、中間層に、3つのRNN351の1層で構成されたが、これに限定されない。学習済みモデル350は、図26に示すように、RNN351A(1)~351A(4k)を用いて、4つ1組を1層とする複数の層が配置された中間層を有し、深層学習化されてもよい(kは2以上の整数)。これにより、エラー発生予測装置400は、図5の場合と比べて過去の状態ベクトル間の差分からノイズの数増分の特徴をより正確に捉えることができ、より精度良く制御装置200に発生する致命的エラーを予測することができる。なお、RNN351A(1)~351A(4k)の各々は、図5のRNN351に対応する。
あるいは、学習済みモデル350は、図27に示すように、図5のRNN351(1)~351(4)に替えて、入力・出力・忘却ゲート付きRNNであるLSTM(Long Short-Term Memory)352(1)~352(3)が中間層に配置されてもよい。この場合、学習済みモデル350の中間層には、LSTM352(1)~352(3)とともに、全結合層353及びargmax354が配置される。argmax354は、全結合層353より出力された複数の致命的エラーのうち、最も確率値が高い致命的エラーをエラーデータyp0として出力する。これにより、エラー発生予測装置400は、図5の場合と比べて過去の状態ベクトル間の差分からノイズの数増分の特徴をより正確に捉えることができ、より精度良く制御装置200に発生する致命的エラーを予測することができる。なお、図27では、LMST352の数は、3つとしたが1以上の数でもよい。
また、学習済みモデル350は、致命的エラーの発生に係るラベルデータの収集が困難な場合、正常なデータである状態ベクトルxnを先頭とする5つの連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を用いて学習されたオートエンコーダでもよい。例えば、エラー発生予測装置400は、現在に対応する状態ベクトルから過去に遡る5つの連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xp-3、xp-2、xp-1、xp0}をオートエンコーダに入力し、復元時のずれ量を監視することにより、致命的エラーの発生の可能性を予測するようにしてもよい。
あるいは、学習済みモデル350は、入力データを時系列データとして扱わず、状態ベクトルxnがxAのとき致命的エラーAが発生し、状態ベクトルxnがxBのとき致命的エラーBが発生し、状態ベクトルxnがxCのとき致命的エラーなし、という訓練データを用いて学習された、サポートベクタマシンやニューラルネットワーク等でもよい。
<変形例4>
また例えば、上述の実施形態では、エラー発生予測装置400は、現在の時刻t0に制御装置200に発生する致命的エラーを予測したが、例えば、現在の時刻t0から10分以内、30分以内、1時間以内、及び1時間以上等に制御装置200に発生する致命的エラーを予測してもよい。
図28は、学習済みモデル350の一例を示す図である。図28に示すように、学習済みモデル350は、現在の状態ベクトルxnから過去に遡る5つの連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xp-3、xp-2、xp-1、xp0}を入力層とし、RNN351B(1)~351B(7)を中間層とし、例えば現在の時刻t0から10分以内、30分以内、1時間以内、及び1時間以上に制御装置200に発生する致命的エラーのエラーデータyp0、yp1、yp2、yp3を出力層とする。
この場合、機械学習装置300は、ノイズ変動ベクトル列(差分ベクトル列){x2-x1、x3-x2、x4-x3、x5-x4}、{x3-x2、x4-x3、x5-x4、x6-x6}等の入力データと、エラーデータ{y5、y6、y7、y8}、{y6、y7、y8、y9}等のラベルデータと、を訓練データとして記憶部315から受け付け、教師あり学習を行う。
なお、RNN351B(1)~351B(7)の各々は、図5のRNN351に対応する。
また、1時間以上に制御装置200に発生する致命的エラーには、「エラーなし」が含まれてもよい。
また例えば、上述の実施形態では、エラー発生予測装置400は、現在の時刻t0に制御装置200に発生する致命的エラーを予測したが、例えば、現在の時刻t0から10分以内、30分以内、1時間以内、及び1時間以上等に制御装置200に発生する致命的エラーを予測してもよい。
図28は、学習済みモデル350の一例を示す図である。図28に示すように、学習済みモデル350は、現在の状態ベクトルxnから過去に遡る5つの連続する状態ベクトルを用いて当該連続する状態ベクトル間で差分して生成されたノイズ変動ベクトル列(差分ベクトル列){xp-3、xp-2、xp-1、xp0}を入力層とし、RNN351B(1)~351B(7)を中間層とし、例えば現在の時刻t0から10分以内、30分以内、1時間以内、及び1時間以上に制御装置200に発生する致命的エラーのエラーデータyp0、yp1、yp2、yp3を出力層とする。
この場合、機械学習装置300は、ノイズ変動ベクトル列(差分ベクトル列){x2-x1、x3-x2、x4-x3、x5-x4}、{x3-x2、x4-x3、x5-x4、x6-x6}等の入力データと、エラーデータ{y5、y6、y7、y8}、{y6、y7、y8、y9}等のラベルデータと、を訓練データとして記憶部315から受け付け、教師あり学習を行う。
なお、RNN351B(1)~351B(7)の各々は、図5のRNN351に対応する。
また、1時間以上に制御装置200に発生する致命的エラーには、「エラーなし」が含まれてもよい。
<変形例5>
また例えば、上述の実施形態では、エラー発生予測装置400は、機械学習装置300により生成された学習済みモデル350を用いて、制御装置200に発生する致命的エラーを予測したが、これに限定されない。例えば、図29に示すように、サーバ500は、機械学習装置300により生成された学習済みモデル350を記憶し、ネットワーク60に接続されたm個のエラー発生予測装置400A(1)~400A(m)と学習済みモデル350を共有してもよい(mは2以上の整数)。これにより、新たな工作機械、制御装置、及びエラー発生予測装置が配置されても学習済みモデル350を適用することができる。
なお、エラー発生予測装置400A(1)~400A(m)の各々は、制御装置200A(1)~200A(m)の各々と接続され、制御装置200A(1)~200A(m)の各々は、工作機械100A(1)~100A(m)の各々と接続される。
また、工作機械100A(1)~100A(m)の各々は、図1の工作機械100に対応する。制御装置200A(1)~200A(m)の各々は、図1の制御装置200に対応する。エラー発生予測装置400A(1)~400A(m)の各々は、図1のエラー発生予測装置400に対応する。
あるいは、図30に示すように、サーバ500は、例えば、エラー発生予測装置400として動作し、ネットワーク60に接続された同一工場内の制御装置200A(1)~200A(m)の各々に対して、工作機械100A(1)~100A(m)の各々に発生する致命的エラーのエラーデータを予測してもよい。これにより、新たな工作機械及び制御装置が配置されても学習済みモデル350を適用することができる。
また例えば、上述の実施形態では、エラー発生予測装置400は、機械学習装置300により生成された学習済みモデル350を用いて、制御装置200に発生する致命的エラーを予測したが、これに限定されない。例えば、図29に示すように、サーバ500は、機械学習装置300により生成された学習済みモデル350を記憶し、ネットワーク60に接続されたm個のエラー発生予測装置400A(1)~400A(m)と学習済みモデル350を共有してもよい(mは2以上の整数)。これにより、新たな工作機械、制御装置、及びエラー発生予測装置が配置されても学習済みモデル350を適用することができる。
なお、エラー発生予測装置400A(1)~400A(m)の各々は、制御装置200A(1)~200A(m)の各々と接続され、制御装置200A(1)~200A(m)の各々は、工作機械100A(1)~100A(m)の各々と接続される。
また、工作機械100A(1)~100A(m)の各々は、図1の工作機械100に対応する。制御装置200A(1)~200A(m)の各々は、図1の制御装置200に対応する。エラー発生予測装置400A(1)~400A(m)の各々は、図1のエラー発生予測装置400に対応する。
あるいは、図30に示すように、サーバ500は、例えば、エラー発生予測装置400として動作し、ネットワーク60に接続された同一工場内の制御装置200A(1)~200A(m)の各々に対して、工作機械100A(1)~100A(m)の各々に発生する致命的エラーのエラーデータを予測してもよい。これにより、新たな工作機械及び制御装置が配置されても学習済みモデル350を適用することができる。
なお、一の実施形態における、制御装置200、機械学習装置300、及びエラー発生予測装置400に含まれる各機能は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
制御装置200、機械学習装置300、及びエラー発生予測装置400に含まれる各構成部は、(電子回路等を含む)ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(数値制御装置)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。また、ハードウェアで構成する場合、上記の制御装置に含まれる各構成部の機能の一部又は)全部を、例えば、ASIC(Application Specific Integrated Circuit)、ゲートアレイ、FPGA(Field Programmable Gate Array)、CPLD(Complex Programmable Logic Device)等の集積回路(IC)で構成することができる。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(Tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は、無線通信路を介して、プログラムをコンピュータに供給できる。
なお、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
以上を換言すると、本開示の機械学習装置、エラー発生予測装置、及び制御装置は、次のような構成を有する各種各様の実施形態を取ることができる。
(1)本開示の機械学習装置300は、制御装置200に配置される、少なくとも1つのダミー配線20を用いてノイズを検出するノイズ検出部23とノイズ検出部23により検出されたノイズの数をカウントするノイズカウンタ33とを含む1つ以上のノイズ検出装置210(1)~210(M)により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部312と、状態観測部312により取得される状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとし、入力データのノイズ変動ベクトル列の末尾のベクトルに対応する時刻に制御装置200に発生した致命的エラーを示すエラーデータをラベルデータとする訓練データを取得する訓練データ取得部313と、入力データとラベルデータとを訓練データとして教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列に基づいて、制御装置200に発生する致命的エラーを予測するための学習済みモデル350を生成する学習部314と、を備える。
この機械学習装置300によれば、検出されたノイズの数に基づいて致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
この機械学習装置300によれば、検出されたノイズの数に基づいて致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
(2) (1)に記載の機械学習装置300において、ノイズ変動ベクトル列は、連続する状態ベクトル間で差分した集合{xn+1-xn、・・・xn+N-1-xn+N-2}であってもよい。
そうすることで、機械学習装置300は、(1)と同様の効果を奏することができる。
そうすることで、機械学習装置300は、(1)と同様の効果を奏することができる。
(3) (1)に記載の機械学習装置300において、ノイズ変動ベクトル列は、連続する状態ベクトルの集合{xn、・・・xn+N-1}であってもよい。
そうすることで、機械学習装置300は、(1)と同様の効果を奏することができる。
そうすることで、機械学習装置300は、(1)と同様の効果を奏することができる。
(4) (1)から(3)のいずれかに記載の機械学習装置300において、状態ベクトルxnは、工作機械100の動作状態を含んでもよい。
そうすることで、機械学習装置300は、動作状態に応じた致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
そうすることで、機械学習装置300は、動作状態に応じた致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
(5) (1)から(4)のいずれかに記載の機械学習装置300において、学習部314は、リカレントニューラルネットワークを用いて機械学習してもよい。
そうすることで、機械学習装置300は、ノイズの数の変化に応じて致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
そうすることで、機械学習装置300は、ノイズの数の変化に応じて致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
(6) (5)に記載の機械学習装置300において、リカレントニューラルネットワークとして、入力・出力・忘却ゲート付きリカレントニューラルネットワークであるLSTM(Long Short-Term Memory)を適用してもよい。
そうすることで、機械学習装置300は、より精度良く致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
そうすることで、機械学習装置300は、より精度良く致命的エラーの発生を予測できる学習済みモデル350を生成することができる。
(7)本開示の機械学習装置300は、制御装置200に配置される、少なくとも1つのダミー配線20を用いてノイズを検出するノイズ検出部23とノイズ検出部23により検出されたノイズの数をカウントするノイズカウンタ33とを含む1つ以上のノイズ検出装置210(1)~210(M)により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部312と、状態観測部312により取得される状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データ及びラベルデータとする訓練データを取得する訓練データ取得部313と、入力データとラベルデータとを訓練データを用いて教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列と、復元されたノイズ変動ベクトル列と、のずれ量に基づいて、制御装置200に発生する致命的エラーを予測するオートエンコーダを学習済みモデル350として生成する学習部314と、を備える。
この機械学習装置300によれば、(1)と同様の効果を奏することができる。
この機械学習装置300によれば、(1)と同様の効果を奏することができる。
(8)本開示のエラー発生予測装置400は、制御装置200に配置される、少なくとも1つのダミー配線20を用いてノイズを検出するノイズ検出部23とノイズ検出部23により検出されたノイズの数をカウントするノイズカウンタ33とを含む1つ以上のノイズ検出装置210(1)~210(M)により所定の時間毎にカウントされたノイズの数を含む現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を取得する状態取得部411と、(1)から(6)のいずれかに記載の機械学習装置300により生成された学習済みモデル350に基づいて、状態取得部411により取得されたノイズ変動ベクトル列から、制御装置200に発生する致命的エラーを予測する予測部412と、を備える。
このエラー発生予測装置400によれば、検出されたノイズの数に基づいて致命的エラーの発生を予測できる。
このエラー発生予測装置400によれば、検出されたノイズの数に基づいて致命的エラーの発生を予測できる。
(9) (8)に記載のエラー発生予測装置400において、学習済みモデル350を備えてもよい。
そうすることで、エラー発生予測装置400は、上述の(8)と同様の効果を奏することができる。
そうすることで、エラー発生予測装置400は、上述の(8)と同様の効果を奏することができる。
(10) (8)に記載のエラー発生予測装置400において、(1)から(7)のいずれかに記載の機械学習装置300を備えてもよい。
そうすることで、エラー発生予測装置400は、上述の(1)から(8)のいずれかと同様の効果を奏することができる。
そうすることで、エラー発生予測装置400は、上述の(1)から(8)のいずれかと同様の効果を奏することができる。
(11) (8)に記載のエラー発生予測装置400において、学習済みモデル350を、エラー発生予測装置400からネットワーク60を介してアクセス可能に接続されるサーバ500に備えてもよい。
そうすることで、新たな工作機械100、制御装置200、及びエラー発生予測装置400が配置されても学習済みモデル350を適用することができる。
そうすることで、新たな工作機械100、制御装置200、及びエラー発生予測装置400が配置されても学習済みモデル350を適用することができる。
(12)本開示の制御装置200は、(8)から(11)のいずれかに記載のエラー発生予測装置400を備えてもよい。
この制御装置200によれば、上述の(8)から(11)のいずれかと同様の効果を奏することができる。
この制御装置200によれば、上述の(8)から(11)のいずれかと同様の効果を奏することができる。
1 数値制御システム
100 工作機械
200 制御装置
210(1)~210(M) ノイズ検出装置
300 機械学習装置
311 状態ベクトル化部
312 状態観測部
313 訓練データ取得部
314 学習部
350 学習済みモデル
400 エラー発生予測装置
411 状態取得部
412 予測部
500 サーバ
100 工作機械
200 制御装置
210(1)~210(M) ノイズ検出装置
300 機械学習装置
311 状態ベクトル化部
312 状態観測部
313 訓練データ取得部
314 学習部
350 学習済みモデル
400 エラー発生予測装置
411 状態取得部
412 予測部
500 サーバ
Claims (12)
- 電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、
前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データとし、
前記入力データのノイズ変動ベクトル列の末尾のベクトルに対応する時刻に前記電子装置に発生した致命的エラーを示すエラーデータをラベルデータとする訓練データを取得する訓練データ取得部と、
前記入力データと前記ラベルデータとを訓練データとして教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列に基づいて、前記電子装置に発生する致命的エラーを予測するための学習済みモデルを生成する学習部と、
を備える機械学習装置。 - 前記ノイズ変動ベクトル列は、前記連続する状態ベクトル間で差分したベクトルの集合{xn+1-xn、・・・xn+N-1-xn+N-2}である、請求項1に記載の機械学習装置。
- 前記ノイズ変動ベクトル列は、前記連続する状態ベクトルの集合{xn、・・・xn+N-1}である、請求項1に記載の機械学習装置。
- 前記状態ベクトルxnは、前記電子装置の動作状態を含む、請求項1から請求項3のいずれか1項に記載の機械学習装置。
- 前記学習部は、リカレントニューラルネットワークを用いて機械学習する、請求項1から請求項4のいずれか1項に記載の機械学習装置。
- 前記リカレントニューラルネットワークとして、入力・出力・忘却ゲート付きリカレントニューラルネットワークであるLSTM(Long Short-Term Memory)を適用する、請求項5に記載の機械学習装置。
- 電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む状態ベクトルxnの時系列データである状態ベクトル列{xn:n≧1}を取得する状態観測部と、
前記状態観測部により取得される前記状態ベクトル列に含まれる、任意の状態ベクトルxn(n≧1)を先頭とする予め設定されたN個(N≧2)の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を入力データ及びラベルデータとする訓練データを取得する訓練データ取得部と、
前記入力データと前記ラベルデータとを訓練データを用いて教師あり機械学習を行い、現在の状態ベクトルから過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列と、復元された前記ノイズ変動ベクトル列と、のずれ量に基づいて、前記電子装置に発生する致命的エラーを予測するオートエンコーダを学習済みモデルとして生成する学習部と、
を備える機械学習装置。 - 電子装置に配置される、少なくとも1つのダミー配線を用いてノイズを検出するノイズ検出部と前記ノイズ検出部により検出されたノイズの数をカウントするノイズカウンタとを含む1つ以上のノイズ検出装置により所定の時間毎にカウントされたノイズの数を含む現在の状態ベクトルxn(n≧N)から過去に遡りN個の連続する状態ベクトルを用いて生成されるノイズ変動ベクトル列を取得する状態取得部と、
請求項1から請求項6のいずれか1項に記載の機械学習装置により生成された前記学習済みモデルに基づいて、前記状態取得部により取得されたノイズ変動ベクトル列から、前記電子装置に発生する致命的エラーを予測する予測部と、
を備えるエラー発生予測装置。 - 前記学習済みモデルを備える、請求項8に記載のエラー発生予測装置。
- 請求項1から請求項7のいずれか1項に記載の機械学習装置を備える、請求項8に記載のエラー発生予測装置。
- 前記学習済みモデルを、前記エラー発生予測装置からネットワークを介してアクセス可能に接続されるサーバに備える、
請求項8に記載のエラー発生予測装置。 - 請求項6から請求項11のいずれか1項に記載のエラー発生予測装置を備える、制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021032393A JP2022133615A (ja) | 2021-03-02 | 2021-03-02 | 機械学習装置、エラー発生予測装置、及び制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021032393A JP2022133615A (ja) | 2021-03-02 | 2021-03-02 | 機械学習装置、エラー発生予測装置、及び制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022133615A true JP2022133615A (ja) | 2022-09-14 |
Family
ID=83229924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021032393A Pending JP2022133615A (ja) | 2021-03-02 | 2021-03-02 | 機械学習装置、エラー発生予測装置、及び制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022133615A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7428288B1 (ja) | 2023-04-25 | 2024-02-06 | 富士電機株式会社 | プラント応答推定装置、プラント応答推定方法、及びプログラム |
-
2021
- 2021-03-02 JP JP2021032393A patent/JP2022133615A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7428288B1 (ja) | 2023-04-25 | 2024-02-06 | 富士電機株式会社 | プラント応答推定装置、プラント応答推定方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10460531B2 (en) | System and method for generating facility abnormality prediction model, and computer-readable recording medium storing program for executing the method | |
CN110999086B (zh) | 容错时钟监视器系统 | |
US20120215450A1 (en) | Distinguishing between sensor and process faults in a sensor network with minimal false alarms using a bayesian network based methodology | |
JP2020140580A (ja) | 検知装置及び検知プログラム | |
US11657121B2 (en) | Abnormality detection device, abnormality detection method and computer readable medium | |
CN102314389A (zh) | 用于触摸传感器接口故障检测的方法和系统 | |
US20230176562A1 (en) | Providing an alarm relating to anomaly scores assigned to input data method and system | |
CN112084110B (zh) | 数据处理方法、装置、设备以及存储介质 | |
JP6961740B2 (ja) | 産業用コントローラのデータ完全性を保証するためのaiの使用 | |
US20230289568A1 (en) | Providing an alarm relating to an accuracy of a trained function method and system | |
JP2022133615A (ja) | 機械学習装置、エラー発生予測装置、及び制御装置 | |
US12123783B2 (en) | Thermal management system, method, and device for monitoring health of electronic devices | |
Yu et al. | Event-triggered discrete component prognosis of hybrid systems using degradation model selection | |
CN102928690A (zh) | 用于电子器件的异常检测方法 | |
CN114981893A (zh) | 存储器设备退化监测 | |
KR101009375B1 (ko) | 반도체 집적 회로 및 그 제어 방법, 및 정보 처리 장치 | |
CN111061581A (zh) | 一种故障检测方法、装置及设备 | |
US8762792B2 (en) | Event monitor having switch matrix, separate counter, and compare circuitry | |
CN101681287B (zh) | 处理器动作检查系统及动作检查电路 | |
CN116349102A (zh) | 用于电力网络中的电力异常的基于分布式监测的自适应诊断的方法、设备和系统 | |
US10401419B2 (en) | Failure detection circuit, failure detection system and failure detection method | |
US10749510B2 (en) | Semiconductor device and control methods thereof | |
US7797131B2 (en) | On-chip frequency response measurement | |
CN110134000B (zh) | 控制系统、诊断装置、诊断方法、以及存储有诊断程序的计算机可读介质 | |
CN108254644A (zh) | Esd检测装置、系统及方法 |