(57)【要約】      （修正有）【課題】高い周波数と低い周波数が重なり合った複雑な波形であっても、波形の異常を検出することができる測定値予測モジュールを提供する。【解決手段】センサにより、予め定められた周期で測定される測定値を取得する測定値処理部２０８と、前記測定値に基づき生成される周期性を有する第１の波形データを記憶する記憶部５０と、予め定められた、学習に使用するパラメータ２０３と、前記記憶部にあらかじめ保存された周期性を有する第２の波形データと、前記パラメータと、教師データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成する学習部２０５と、前記学習部が生成した前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも１個以上含む予測値を算出する予測部２０９とを備える計測器用の測定値予測モジュール。【選択図】図２
2019124596.tif 000002
【特許請求の範囲】
【請求項１】
センサにより、予め定められた周期で測定される測定値を該センサから取得する測定値処理部と、
前記測定値に基づき生成される周期性を有する第１の波形データのうち予め定められた期間における前記第１の波形データを記憶する記憶部と、
予め定められた、学習に使用するパラメータと、
前記記憶部にあらかじめ保存された周期性を有する第２の波形データと、
前記パラメータと、学習用データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成する学習部と、
前記学習部が生成した前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも１個以上含む予測値を算出する予測部と
を備える計測器用の測定値予測モジュール。
【請求項２】
前記計測器用の測定値予測モジュールは、前記第１の波形データを構成する前記測定値と前記予測部により算出された前記予測値との差分である異常度を演算する異常検出部
を更に備える請求項１に記載の計測器用の測定値予測モジュール。
【請求項３】
前記異常検出部は、前記異常度が予め定められた閾値を超えると異常を検出する
請求項２に記載の計測器用の測定値予測モジュール。
【請求項４】
前記学習部は、前記第２の波形データの任意の箇所から所定の個数の連続したデータを抽出したデータである訓練サンプルの、所定の個数の集合であるミニバッチデータを、学習用データとして用いて教師あり学習をして学習モデルを生成する
請求項１から３のいずれか１項に記載の計測器用の測定値予測モジュール。
【請求項５】
前記学習部は、前記訓練サンプルのうちの最新の１つのデータを教師データとして用い、
前記訓練サンプルのうちの最新の１つのデータ除いたデータのいずれかまたは全部を、入力データとして用いる
請求項４に記載の計測器用の測定値予測モジュール。
【請求項６】
前記計測器用の測定値予測モジュールは、前記学習部の実行する学習に先立って、前記第２の波形データに基づいて前記パラメータを調整するパラメータ調整部
を更に備える請求項１から５のいずれか１項に記載の計測器用の測定値予測モジュール。
【請求項７】
前記パラメータは、少なくともニューラルネットワークの入力層のノード数を含み、
前記パラメータ調整部は、前記第２の波形データ、または、前記第２の波形データから抽出した前記ニューラルネットワークの入力層のノード数分の連続したデータが、前記第２の波形データに含まれる測定対象の波形の少なくとも１周期分を含むよう、前記第２の波形データのデータ点数、または、前記ニューラルネットワークの入力層のノード数を調整する
請求項６に記載の計測器用の測定値予測モジュール。
【請求項８】
前記訓練サンプルのデータ点数、または、前記ニューラルネットワークの入力層のノード数は、前記第２の波形データのスペクトルに基づいて所定の要件により抽出された周波数の波形の少なくとも１周期分を含む、
請求項７に記載の計測器用の測定値予測モジュール。
【請求項９】
前記第２の波形データの前記スペクトルに基づいて抽出された前記周波数は、前記スペクトルにおける所定のレベルのピークのうちの最も低い周波数である、
請求項８に記載の計測器用の測定値予測モジュール。
【請求項１０】
前記パラメータ調整部は、予め定義されたテーブルを備え、
前記第２の波形データと前記テーブルとに基づいて、前記ミニバッチに含まれる前記訓練サンプルの個数を調整する、
請求項６から９のいずれか１項に記載の計測器用の測定値予測モジュール。
【請求項１１】
前記計測器用の測定値検出モジュールが実装される計測器の表示部に表示するために、前記予測値および／または前記異常度を前記計測器の本体に送信する画面出力部を備える
請求項２から１０のいずれか１項に記載の計測器用の測定値予測モジュール。
【請求項１２】
コンピュータを、
センサにより、予め定められた周期で測定される測定値を該センサから取得する測定値処理部と、
前記測定値に基づき生成される周期性を有する第１の波形データのうち予め定められた期間における前記第１の波形データを記憶する記憶部と、
予め定められた学習に使用するパラメータと、
前記記憶部にあらかじめ保存された周期性を有する第２の波形データと、
前記パラメータと、学習用データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成する学習部と、
前記学習部が生成した前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも1個以上含む予測値を算出する予測部と
を備える計測器用の測定値予測モジュールとして機能させるプログラム。
【請求項１３】
センサにより、予め定められた周期で測定される測定値を該センサから取得することと、
前記測定値に基づき生成される周期性を有する第１の波形データのうち予め定められた期間における前記第１の波形データを記憶することと、
学習に使用するパラメータが予め定められていることと、
周期性を有する第２の波形データがあらかじめ保存されていることと、
前記パラメータと、学習用データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成することと、
前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも1個以上含む予測値を算出することと
を備える計測器用の測定値予測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ペーパレスレコーダをはじめとした計測器に用いられる測定値予測モジュール、測定値予測プログラム及び測定値予測方法に関する。
【背景技術】
【０００２】
電子機器の異常時の波形を捉えるために、オシロスコープ等の波形測定器にウェーブウィンドウトリガ機能が搭載されている。ウェーブウィンドウトリガは、特許文献１に示されるように、基準となる波形の外縁に作成したウィンドウ幅から入力波形が外れた場合にトリガを掛けることにより、単純な正弦波だけでなく、矩形波等のあらゆる波形の異常を捉えることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許５４８８９１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されたウェーブウィンドウトリガ機能であっても、より複雑な波形の異常検出に用いることは困難だった。特許文献１に記載されたウェーブウィンドウトリガは時間軸方向のウィンドウ幅と振幅方向のウィンドウ幅の両方を調整することができる。しかし、高い周波数と低い周波数の波形が重なり合った複雑な波形に、特許文献１に記載されたウェーブウィンドウトリガを掛ける場合、高い周波数の信号の異常を検出できるようにするために時間軸方向の幅を短くすると、低い周波数の信号に対する時間軸方向の幅が短くなり過ぎて、波形がウィンドウから外れやすくなるため、波形判定を正常にすることが困難になる問題があった。
【課題を解決するための手段】
【０００５】
本願発明に係る計測器用の測定値予測モジュールは、
センサにより、予め定められた周期で測定される測定値を該センサから取得する測定値処理部と、
前記測定値に基づき生成される周期性を有する第１の波形データのうち予め定められた期間における前記第１の波形データを記憶する記憶部と、
予め定められた、学習に使用するパラメータと、
前記記憶部にあらかじめ保存された周期性を有する第２の波形データと、
前記パラメータと、学習用データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成する学習部と、
前記学習部が生成した前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも１個以上含む予測値を算出する予測部と
を備える。
【発明の効果】
【０００６】
従来ウェーブウィンドウトリガで取り扱うことが難しかった、高い周波数と低い周波数が重なり合った複雑な波形であっても、波形の異常を検出することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態によるペーパレスレコーダの構成図である。
【図２】本発明の第１の実施形態によるファームウェアの構成図である。
【図３】本発明の第１の実施形態によるファームウェアの学習のフローチャートである。
【図４】本発明の第１の実施形態によるファームウェアの予測値の算出のフローチャートである。
【図５】本発明の第１の実施形態によるペーパレスレコーダの表示画面である。
【図６】従来技術であるウェーブウィンドウトリガの画面である。
【図７】従来技術であるウェーブウィンドウトリガの画面である。
【図８】本発明の第２の実施形態によるＰＬＣの構成図である。
【発明を実施するための最良の形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求範囲に係る発明を限定するものではない。また、実施形態の中で説明されている発明の特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る測定値予測モジュール１０が、ペーパレスレコーダ本体７０に組み込まれて構成されるペーパレスレコーダ１、及び測定対象のセンサ２０を示す。センサ２０は、例えば、圧力センサ、pHセンサ、振動センサ、温度センサ、流量センサ、腐食センサ、歪センサ、ノイズセンサ、ガスセンサ、電圧センサ、電流センサ、レベルセンサ等である。なお、センサ２０は、例えば、プラント内に設置された制御システムの一部であってもよい。
【００１０】
このような、センサ２０に対して、従来のウェーブウィンドウトリガ機能を搭載したペーパレスレコーダは、センサ２０が出力した測定値の波形をＡ／Ｄ変換して主記憶装置へ順次格納し、異常検出対象波形の過去数周期分の波形を平均して基準波形を作成し、その基準波形を中心として時間軸方向と振幅方向のウィンドウ幅を作成していた。そして、そのウィンドウ幅を対象波形が超えた場合に、異常波形を検出したとしてトリガがかかるようにしていた。例えば、正弦波、三角波、矩形波といった周期性のある波形に対して、基準波形を作成して基準波形全体に対して時間軸方向と振幅方向それぞれに対しウィンドウ幅を作成し、対象波形にグリッチ等の異常が発生してウィンドウ幅を超えた場合にトリガがかかるようにしていた。
【００１１】
したがって、例えば、周波数の異なる２つの正弦波が重なり合った複雑な波形にウェーブウィンドウトリガをかける場合、高い方の周波数の波形に合わせて時間軸方向の幅を調整すると、低い方の周波数の波形に対する時間軸方向の幅が短くなり過ぎて、ウィンドウから外れてトリガ信号が発生し、波形判定を正常にすることが困難となる問題があった。高い方の周波数の波形に合わせて時間軸方向の幅を調整した場合の基準波形とウィンドウ幅の例を図６に示す。図中のＢで示すの箇所の波形はウィンドウ幅が広く、トリガがかかりにくいが、Ａで示す箇所では狭く、トリガがかかりやすくなっている。
逆に、低い方の周波数の波形に合わせて時間軸方向の幅を調整すると、高い方の周波数の波形に対する時間軸方向の幅が長くなり過ぎて、異常波形が発生しても検出できず、波形判定を正常にすることが困難な問題があった。低い方の周波数の波形に合わせて時間軸方向の幅を調整した場合の基準波形とウィンドウ幅の例を図７に示す。図中のＡで示すの箇所の波形はウィンドウ幅が広いく、トリガがかかりにくいが、Ｂで示す箇所では狭く、トリガがかかりやすくなっている。
【００１２】
すなわち、周波数の異なる複数の波形が重なり合った複雑な波形に対してウェーブウィンドウトリガを掛ける場合、基準波形全体の至るところで均等にウィンドウ幅を設けることが困難であった。そのため、そのような複雑な波形にウェーブウィンドウトリガを掛けることを正常に行うことが困難となる場合があった。
【００１３】
そこで、本実施形態に係るペーパレスレコーダ１の測定値予測モジュール１０は、センサ２０の測定値の波形を訓練データ集合として取込み、当該訓練データ集合を学習することによって現在の測定値の波形に基づいて次の測定値を予測する。そして、その予測値とこれに対応する測定値との差分に基づいて波形の異常を検出する。
そのため、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、波形判定を行うことができる。
【００１４】
本願発明の実施例に係る測定機用の測定値予測モジュールまたはこれを機能させるプログラムは、
センサにより、予め定められた周期で測定される測定値を該センサから取得する測定値処理部と、
前記測定値に基づき生成される周期性を有する第１の波形データのうち予め定められた期間における前記第１の波形データを記憶する記憶部と、
予め定められた、学習に使用するパラメータと、
前記記憶部にあらかじめ保存された周期性を有する第２の波形データと、
前記パラメータと、教師データとして用いられる前記第２の波形データとに基づき、教師あり学習を実行して学習モデルを生成する学習部と、
前記学習部が生成した前記学習モデルを用いて、前記第１の波形データを構成する前記測定値よりも未来の測定時点で前記センサにより測定されうる測定値を少なくとも１個以上含む予測値を算出する予測部と、を備える。
そのため、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、波形判定を行うことができる。
【００１５】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記第１の波形データを構成する前記測定値と前記予測部により算出された前記予測値との差分である異常度を演算する異常検出部を更に備える。
そのため、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、数値により波形判定を行うことができる。
【００１６】
本願発明の実施例に係る計測器用の測定値予測モジュールの
前記異常検出部は、前記異常度が予め定められた閾値を超えると異常を検出する。
そのため、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、自動的に波形判定を行うことができる。
【００１７】
本願発明の実施例に係る計測器用の測定値予測モジュールの
前記学習部は、前記第２の波形データの任意の箇所から所定の個数の連続したデータを抽出したデータである訓練サンプルの、所定の個数の集合であるミニバッチデータを、学習用データとして用いて教師あり学習をして学習モデルを生成する。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００１８】
本願発明の実施例に係る計測器用の測定値予測モジュールの
前記学習部は、前記訓練サンプルのうちの最新の１つのデータを教師データとして用い、
前記訓練サンプルのうちの最新の１つのデータ除いたデータのいずれかまたは全部を、入力データとして用いる。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００１９】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記学習部の実行する学習に先立って、前記第２の波形データに基づいて前記パラメータを調整するパラメータ調整部を更に備える。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００２０】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記パラメータは、少なくともニューラルネットワークの入力層のノード数を含み、
前記パラメータ調整部は、前記第２の波形データ、または、前記第２の波形データから抽出した前記ニューラルネットワークの入力層のノード数分の連続したデータが、前記第２の波形データに含まれる測定対象の波形の少なくとも１周期分を含むよう、前記第２の波形データのデータ点数、または、前記ニューラルネットワークの入力層のノード数を調整する。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００２１】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記訓練サンプルのデータ点数、または、前記ニューラルネットワークの入力層のノード数は、前記第２の波形データのスペクトルに基づいて所定の要件により抽出された周波数の波形の少なくとも１周期分を含む。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００２２】
本願発明の実施例に係る計測器用の測定値予測モジュールの、
前記第２の波形データの前記スペクトルに基づいて抽出された前記周波数は、前記スペクトルにおける所定のレベルのピークのうちの最も低い周波数である。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００２３】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記パラメータ調整部は、予め定義されたテーブルを備え、
前記第２の波形データと前記テーブルとに基づいて、前記ミニバッチに含まれる前記訓練サンプルの個数を調整する。
そのため、周波数の異なる複数の波形が重なり合った複雑な波形であっても、異常時の波形の形状に基づいたウィンドウ幅の設計をすることなく波形判定を行うことができる。
【００２４】
本願発明の実施例に係る計測器用の測定値予測モジュールは、
前記計測器用の測定値検出モジュールが実装される計測器の表示部に表示するために、前記予測値および／または前記異常度を前記計測器の本体に送信する画面出力部を備える。
そのため、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、数値に基づいた波形判定を行うことができる。
【００２５】
本実施形態に係るペーパレスレコーダ１は、測定値予測モジュール１０とペーパレスレコーダ本体７０とを備える。ペーパレスレコーダ１の測定値予測モジュール１０は、ＡＤＣ３０と、ＭＣＵ４０と、記憶部５０と、通信インタフェース６０とを備える。ペーパレスレコーダ本体７０は、通信インタフェース８０、制御部９０、タッチパネル１２０、記憶部１３０を備える。タッチパネル１２０は、表示部１００と設計部１１０から構成される。
【００２６】
ＡＤＣ３０（Ａｎａｌｏｇ・ｔｏ・Ｄｉｇｉｔａｌ  Ｃｏｎｖｅｒｔｅｒ）は、アナログ信号波形をサンプリングし、デジタル信号に変換する。ＡＤＣ３０は、例えば、診断すべき電子機器等の装置に取り付けられたセンサ２０から出力される測定値の波形を一定のサンプリング間隔でサンプリングする。また、ＡＤＣ３０は、デジタル信号に変換したセンサ２０の測定値データをＭＣＵ４０に供給する。
【００２７】
測定値予測モジュール１０に搭載されたＭＣＵ４０（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）は、制御装置である。ＭＣＵ４０は、ＡＤＣ３０によってデジタル信号に変換されたセンサ２０の測定値データを処理し、所定のデータを生成する。ＭＣＵ４０は、ファームウェアによって動作する。ＭＣＵ４０は、例えば、不揮発性のメモリであるＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を内蔵しており、ファームウェアはＲＯＭに予め記録されている。ＲＯＭは、例えば、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、または、Ｆｌａｓｈ  Ｍｅｍｏｒｙである。ファームウェアは、例えば、工場出荷時またはメンテナンス時等に、ＰＣから測定値予測モジュール１０へ接続する通信インタフェースを介して書き込まれてもよい。なお、ＰＣから測定値予測モジュール１０へ接続するインタフェースは、例えば、ＵＳＢ（登録商標）、ＬＡＮ、ＲＳ２３２Ｃ、ＩＥＥＥ １３９４、Ｂｌｕｅｔｏｏｔｈ（登録商標）などが用いられ得る。
測定値予測モジュール１０への電源投入後、ＲＯＭに書き込まれたファームウェアが動作を開始する。
【００２８】
また、ＭＣＵ４０は主記憶装置を内蔵している。主記憶装置は、ＭＣＵ４０に入力されたデータ、演算の結果などを一時的に記憶するためのメモリである。ＭＣＵ４０の主記憶措置は、例えば、揮発性のメモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられ得る。ＲＡＭは、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、または、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）である。なお、本実施例に使用したＭＣＵ４０はＲＯＭおよびＲＡＭを内蔵しているタイプだが、ＲＯＭまたはＲＡＭを内蔵せず、外付けするタイプのＭＣＵであってもよい。
【００２９】
ＭＣＵ４０は、ＡＤＣ３０がサンプリングしたセンサ２０の測定値をファームウェアにより処理する。ファームウェアは主に、測定値である波形データの学習と、センサ２０の測定値の予測値の算出を行う。ファームウェアはセンサ２０の測定値の予測値の算出に先立って波形データの学習を行う。
【００３０】
ここでいう学習とは、いわゆる機械学習のうちの深層学習である。機械学習とは、人間がこなすようなさまざまな学習や知的作業を計算機に実行させるための手法である。真相学習とは、動物の神経回路にヒントを得て提唱されたニューラルネットワーク計算により、大量のデータからその背景に潜む知識を自発的に獲得していく手法である。（「これならわかる深層学習入門」講談社  瀧雅人著  より）
また、学習とは、より具体的には、ニューラルネットワークに基づくモデルにおいて、ニューロン間の結合強度を表す重みパラメータを所定のアルゴリズムに基づいて更新することである。この学習により、実際の入力データから予測される望ましい出力が得られる。
また、本願発明の学習には、教師あり学習を採用している。教師あり学習とは、訓練データ、すなわち、ある入力と出力のデータの組合せを大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から出力を推定するモデルを帰納的に獲得するものである。なお、以降、前記入力と出力のデータの組合せを訓練データと呼び、前記出力のデータを教師データと呼ぶ。
【００３１】
ファームウェアは、ＡＤＣ３０がサンプリングしたセンサ２０の測定値を主記憶装置に順次格納する。ファームウェアは、例えば、主記憶装置に格納された測定値を訓練データ集合として用いて学習する。訓練データ集合とは、学習の入力のために取得されて保存された波形データである。
ファームウェアは、学習が終了した後、学習の結果に基づいて、順次主記憶装置に格納される測定値から推定される予測値を算出する。ファームウェアは、算出した予測値とこれに対応する測定値との差分である異常度を算出してもよい。また、ファームウェアは、算出した異常度と、予め定められた波形の異常判定用しきい値とに基づいてアラーム信号を発生させてもよい。
【００３２】
記憶部５０は、ＭＣＵ４０の補助記憶装置である。記憶部５０は、不揮発性の記憶装置であり、主にデータを保存するために用いられる。記憶部５０は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリカード、磁気ディスクドライブ、光ディスクドライブ等が用いられ得る。ＭＣＵ４０のファームウェアは、例えば、学習の入力のために取得されて主記憶装置に保存された波形データである訓練データ集合、学習した結果である学習モデルを記憶部５０に保存してもよい。また、ＭＣＵ４０のファームウェアは、ペーパレスレコーダ本体７０から通信インタフェース６０を介して受信した設定値その他のパラメータを、記憶部５０に保存してもよい。ＭＣＵ４０のファームウェアは、例えば、記憶部５０に既に保存した複数のパラメータ、訓練データ集合、学習モデルの中から所定のものを選択して主記憶装置に格納してもよい。
【００３３】
測定値予測モジュール１０の通信インタフェース６０は、ペーパレスレコーダ本体７０と測定値予測モジュール１０のデータを送受信するインタフェースである。ＭＣＵ４０は、通信インタフェース６０を介して、例えば、測定値、予測値、異常度またはアラーム信号をペーパレスレコーダ本体７０へ送信してもよい。また、通信インタフェース６０は、ペーパレスレコーダ本体７０から受信したパラメータをＭＣＵ４０に渡してもよい。
【００３４】
ペーパレスレコーダ本体７０の通信インタフェース８０は、測定値予測モジュール１０の通信インタフェース６０とデータを送受信する。
【００３５】
ペーパレスレコーダ本体７０の制御部９０は、ペーパレスレコーダ本体の制御を行う。制御部９０は、パラメータ等のデータを、設定部１１０から取得し、通信インタフェース８０を介して測定値予測モジュール１０に送信する。また、制御部９０は、測定値予測モジュール１０から受信した測定値、予測値、異常度、アラーム信号等のデータを、通信インタフェース８０を介して受信し、表示部１００へ渡す。
【００３６】
表示部１００は、データを表示するための画面である。表示部１００は、制御部９０の制御に基づいてデータやメッセージを、グラフ、数値等として表示する。表示部１００は、制御部９０の制御により、例えば、測定値、予測値、異常度を、横軸を時間としてグラフを表示する。表示部１００は、タッチパネル１２０を構成する液晶ディスプレイであってもよい。なお、表示部１００は、タッチパネル１２０とは異なる別のディスプレイであってもよい。
【００３７】
設定部１１０は、データを入力するための装置である。設定部１１０は、例えば、使用者の操作によりパラメータ等のデータが入力される。設定部１１０に入力されるデータは、例えば、ＭＣＵ４０で使用される学習用パラメータ、学習の開始指示、訓練データ集合の更新、パラメータ調整の指示、学習の終了指示等である。設定部１１０は、タッチパネル１２０を構成するタッチパッドであってもよい。なお、設定部１１０は、マウス、キーボート、トラックボール、その他の入力装置であってもよい。
【００３８】
記憶部１３０は、制御部９０の補助記憶装置である。記憶部１３０は、不揮発性の記憶装置であり、主にデータを保存するために用いられる。記憶部５０は、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリカード、磁気ディスクドライブ、光ディスクドライブ等が用いられ得る。記憶部１３０に保存されるデータには、例えば、測定器予測モジュール１０を介して取得されたセンサ２０の波形データ、あるいは、測定器予測モジュール１０とは異なる別のモジュールから取得された波形データがある。保存された波形データは、利用者の設定部１１０への操作により、制御部９０により読み出され、表示部１１０にグラフとして表示され得る。また、保存部１３０に保存された波形データは、制御部９０により読み出され、通信インタフェース８０を介して測定値予測モジュール１０に送信され得る。測定値予測モジュール１０に送信された波形データは、通信インタフェース６０、ＭＣＵ４０を介して記憶部５０に保存され得る。
【００３９】
なお、図１は装置全体の構成としてペーパレスレコーダを例示したが、本発明の適用範囲は、ペーパレスレコーダに限られるものではなく他の計測器であってもよい。他の計測器とは、波形を測定・収集するあらゆる測定器であり、例えば、デジタルオシロスコープ、スコープコーダ、データロガー、ロジックアナライザ、スペクトラムアナライザ、ＰＬＣ、ＳＣＡＤＡ、ＤＣＳなど、さまざまである。
【００４０】
図２は、ＭＣＵ４０で動作するファームウェアの構成図である。ファームウェアは、パラメータ設定部２０１、データ管理部２０２、学習パラメータ２０３、パラメータ調整部２０４、学習部２０５、訓練データ集合２０６、学習モデル２０７、測定値処理部２０８、測定値予測部２０９、画面出力部２１０、測定値データ２１１、異常検出部２１２を備える。
【００４１】
パラメータ設定部２０１は、ペーパレスレコーダ本体７０から通信インタフェース６０が学習に使用するパラメータを受信した場合、そのパラメータをＭＣＵ４０内蔵の主記憶装置に確保された学習パラメータ２０３に格納する。パラメータ設定部２０１が、パラメータを受信しない場合は、学習パラメータ２０３は予め設定されている値である。
【００４２】
学習パラメータ２０３とは学習の条件等の学習に関する設定である。本実施例における学習はニューラルネットワークが採用されており、ニューラルネットワークに関係するパラメータが含まれる。学習パラメータ２０３には、ニューラルネットワークの入力層のノード数、ニューラルネットワークの出力層のノード数、ニューラルネットワークの中間層の数、ニューラルネットワークの中間層のノード数、ミニバッチサイズ、学習の収束判定用しきい値、波形の異常判定用しきい値、学習率、訓練データ集合の長さ等が含まれ得る。学習パラメータ２０３は、測定値予測モジュール１０において予めデフォルト値が設定されている。また、学習パラメータ２０３は、ペーパレスレコーダ本体７０から利用者による設定部１１０への操作により設定されてもよい。
なお、本実施例ではニューラルネットワークを採用したが、これに限らず、センサ２０の測定値を学習することができる他の方式を採用してもよい。
【００４３】
測定値処理部２０８は、ＡＤＣ３０がサンプリングしたセンサ２０の測定値を取り込んで主記憶装置へ順次格納する。測定値処理部２０８は、測定値を主記憶装置に格納する際、測定値に単位の換算等の演算やフィルタリング等を施してもよい。また、測定値処理部２０８は、所定の条件で、主記憶装置に格納された測定値を主記憶装置上の訓練データ集合２０６に格納する。訓練データ集合２０６は、ペーパレスレコーダ本体７０から訓練データ更新の指示があった場合に更新されてもよい。
【００４４】
訓練データ集合２０６は、学習の対象となる波形データの集合である。訓練データ集合２０６は正常なデータであることが前提である。すなわち、この訓練データ集合２０６は、教師あり学習に用いられる。訓練データ集合２０６には、測定対象の波形が少なくとも１周期分含まれていることが必要であり、より好ましくは数周期分含まれていた方がよい。
【００４５】
訓練データ集合２０６は、ペーパレスレコーダ本体７０の記憶部１３０に予め保存された波形データが使用され得る。この場合、記憶部１３０に保存された波形データは、利用者の設定部１１０への操作に基づいて、ペーパレスレコーダ本体７０の制御部９０によって通信インタフェース８０を介して測定値予測モジュール１０に送信される。送信された波形データは、訓練データ集合２０６に格納される。
【００４６】
パラメータ調整部２０４は、学習の条件である学習パラメータ２０３を最適化する。パラメータ調整部２０４は、例えば、学習パラメータ２０３のうちのニューラルネットワークの入力層のノード数を最適化する。なお、ニューラルネットワークの入力層のノード数と出力層のノード数の合計数は訓練サンプル数と一致する。ここで、訓練サンプルとは、学習部２０５に入力するために訓練データ集合から抜き取った連続したデータのことである。訓練サンプル数とは、訓練サンプルのデータ点数のことである。訓練サンプル中の最も古いデータ点から、ニューラルネットワークの入力層のノード数の分連続したデータを訓練サンプルの入力値と呼ぶ。また、訓練サンプル中のニューラルネットワークの出力層のノード数の分連続した、訓練サンプルの入力値より新しいデータを訓練サンプルの出力値と呼ぶ。
【００４７】
パラメータ調整部２０４は、１つの訓練サンプルが、測定対象の波形の少なくとも１周期分、より好ましくは数周期分のデータ点数となるようニューラルネットワークの入力層のノード数が調整される。または、訓練サンプルの入力値が、測定対象の波形の少なくとも１周期分を含むようニューラルネットワークの入力層のノード数が調整されてもよい。
なお、測定対象の波形の形状によって、１つの訓練サンプルが、測定対象の波形の１周期分未満で足りる場合がある。例えば、測定対象の波形が純粋な正弦波の場合である。パラメータ調整部２０４は、測定対象の波形の１周期分未満でも足りる波形の種類を検出して、学習が可能な範囲で、測定対象の波形の１周期分未満のニューラルネットワークの入力層のノード数を調整し得る。
【００４８】
パラメータ調整部２０４は、訓練データ集合を波形として分析して訓練サンプル数を決定してもよい。例えば、パラメータ調整部２０４は、訓練データ集合をフーリエ変換し、フーリエ変換により得られた所定のレベルのピークのうち、最も低い周波数を選択する。その選択した最も低い周波数が、訓練サンプルまたはニューラルネットワークの入力層のノード数に対し少なくとも１周期分以上含まれるように、ニューラルネットワークの入力層のノード数を決定してもよい。
【００４９】
また、訓練サンプル数は、ペーパレスレコーダ１の利用者の波形観測に基づいて決定されてもよい。すなわち、ペーパレスレコーダ１の表示部１００に表示される測定値の波形を利用者が観測しつつ、表示部１００に表示されるカーソルを操作する等して測定対象の波形の周期を測定する。そのような測定により得られた波形の周期を利用者が設定部１１０に入力し、その波形の周期の値に基づいて、訓練サンプル数が算出されてもよい。
【００５０】
パラメータ調整部２０４は、上記のような訓練サンプル数の最適な値に基づいて、ニューラルネットワークの入力層またはニューラルネットワークの出力層のノード数のノード数を変更し、学習パラメータ２０３に格納する。なお、ニューラルネットワークの出力層のノード数は固定であってもよい。また、ニューラルネットワークの出力層のノード数は１固定であってもよい。
パラメータ調整部２０４は、上記のような訓練データサンプル数の最適な値に基づいて、ニューラルネットワークの入力層のノード数またはニューラルネットワークの出力数のノード数を算出できない場合、例えば、測定対象の波形データの１周期が訓練データ集合２０６に全て格納されていないような場合は、学習が正常に実行できない旨のアラームメッセージを生成してもよい。この場合のアラームメッセージは、ペーパレスレコーダ本体７０の表示部１００に表示されてもよい。
【００５１】
学習部２０５は、学習パラメータ２０３に基づいて訓練データ集合２０６を学習し、学習モデル２０７を出力する。学習部２０５に１回の学習ごとに入力される訓練サンプルの集合をミニバッチという。ミニバッチを構成する訓練サンプルの個数は、学習パラメータ２０３に含まれるミニバッチサイズで指定される。ミニバッチを構成する各訓練サンプルは、訓練データ集合２０６から抽出される。例えば、ミニバッチを構成する各訓練サンプルは、訓練データ集合２０６の中から乱数によって決定された位置から抽出される。乱数を用いることにより、訓練データ集合のあらゆる位置から、あらゆる位相の偏りのない訓練サンプルを取得することができる。乱数による訓練サンプルの抽出は、ミニバッチサイズで指定された回数実施される。その結果、１つのミニバッチが作成される。訓練サンプルが抽出される訓練データ集合２０６は１種類であってもよく、また、１種類以上であってもよい。
【００５２】
訓練サンプルを抽出する位置を乱数によって決定したが、乱数を使わない方法によって決定してもよい。例えば、訓練データ集合２０６の所定の位置から所定のデータ点数分の間隔を空けながら訓練サンプルを取得してもよい。
【００５３】
学習部２０５は、作成されたミニバッチを入力として学習し、学習モデル２０７を更新する。学習モデル２０７は、学習の結果、訓練データ集合２０６に対して最適化された、ニューラルネットワークの内部パラメータの重みづけが更新される。
【００５４】
測定値予測部２０９は、学習モデル２０７に基づいて、測定値処理部２０８が主記憶装置に格納した測定値から推定される次に取得され得る測定値、すなわち予測値を算出する。
【００５５】
異常検出部２１２は、測定値予測部２０９が算出した予測値と、これに対応する新たに入ってきた測定値データ２１１との差分である異常度を計算する。また、異常検出部２１２は、異常度を、あらかじめ定められた波形の異常判定用しきい値と比較し、異常度が波形の異常判定用しきい値を超えた場合に、波形異常を示すアラーム信号を出力する。本アラーム信号は、ペーパレスレコーダ本体７０において、波形異常検出トリガとして用いられる。
【００５６】
画面出力部２１０は、ペーパレスレコーダ本体７０の表示部１００に表示されるデータを通信インタフェース６０に送信する。画面表示部２１０が送信するデータは、測定値、予測値、異常度、アラーム信号、アラームメッセージを含む。画面出力部２１０は、これらのデータのタイミングが揃うように調節する。
【００５７】
データ管理部２０２は、主記憶装置に格納されたデータ等を記憶部５０に保存する。また、データ管理部２０２は、記憶部５０に保存したデータを読出して主記憶装置に格納する。データ管理部２０２が記憶部５０に保存し、読出すデータには、例えば、学習パラメータ２０３、訓練データ集合２０６、学習モデル２０７が含まれる。これらのデータへのアクセスは、例えば、ファームウェア２００の各部の制御により行う。また、データへのアクセスは、ペーパレスレコーダ本体７０の設定部１１０から入力された指示により実行されてもよい。また、データの読出しは、測定値予測モジュール１０の電源が投入され、または、リセット等により再起動された後、ファームウェアが稼働可能状態になってから実行されてもよい。
【００５８】
[ファームウェアの動作]
図３は、学習の動作フローの一例を示す。また、図４は、予測値の算出の動作フローの一例を示す。これら２つのフローは、独立して並行に実行される。
【００５９】
図３のフローを実行することにより、ファームウェアは、訓練データ集合２０６を学習し、学習モデル２０７を更新する。
【００６０】
学習部２０５は、訓練データ集合２０６を学習するか否か判断する（Ｓ３０２）。学習するか否かの判断は、例えば、利用者によりペーパレスレコーダ本体７０の設定部１１０へ入力される学習指示の有無により判断される。利用者は、例えば、センサ２０から現在入力されている波形を初めて測定する場合、または、初めて測定する場合でなくともあらためて学習部２０５に波形を学習させたい場合は、学習指示をする。学習指示がない場合は、フローは終了する（Ｓ３０２：Ｎｏ）。学習指示がある場合は、訓練データを更新するか否かの判断に進む（Ｓ３０３）。
【００６１】
学習部２０５へ設定部１１０から利用者により入力される訓練データ集合の更新指示がない場合は、学習パラメータ取得（Ｓ３０７）へ飛ぶ（Ｓ３０３：Ｎｏ）。訓練データ集合の更新指示がある場合は、訓練データ集合の更新（Ｓ３０４）を実行する（Ｓ３０３：Ｙｅｓ）。利用者は、例えば、センサ２０から測定値処理部２０８へ現在入力されている測定値データ２１１を訓練データとして学習に使用する場合は、訓練データ集合の更新指示をする。また、利用者は、例えば、あらかじめ取得しておいた訓練データ集合２０６を訓練データとして学習に使用したい場合は、訓練データ集合の更新指示を行わない。
【００６２】
学習部２０５は、訓練データ集合２０６を、測定値処理部２０８が取得して主記憶装置に格納した新しい測定値データ２１１へ更新する（Ｓ３０４）。次に、学習部２０５は、学習パラメータ調整をするか否か判断する（Ｓ３０５）。学習パラメータ調整をするか否かの判断は、例えば、利用者によりペーパレスレコーダ本体７０の設定部１１０へ入力される学習パラメータ調整の指示により判断される。ペーパレスレコーダ１の利用者は、学習パラメータを調整して最適化したい場合は、学習パラメータ調整を指示する。学習パラメータを調整せず、デフォルトの値、または、ペーパレスレコーダ１の設定部１１０より指定された値を用いる場合は、学習パラメータ調整を指示しない。学習パラメータ調整の指示がない場合は、学習パラメータの取得へ飛ぶ（Ｓ３０５：Ｎｏ）。
【００６３】
学習パラメータ調整の指示がある場合は、学習パラメータ調整（Ｓ３０６）が実行される。ここで、学習パラメータの調整には自動調整と手動調整がある。学習パラメータ調整の指示が自動調整である場合は、学習パラメータ調整部２０４が、訓練データ集合２０６を分析して、学習パラメータ２０３を自動的に調整し、更新する。この場合の学習パラメータの調整は、例えば、学習パラメータ調整部２０４が、訓練データ集合をフーリエ変換することにより行う。フーリエ変換により得られた所定のレベルのピークのうち最も低い周波数を選択し、その選択した最も低い周波数が、訓練サンプルまたはニューラルネットワークの入力層のノード数に対して少なくとも１周期分以上含まれるように、ニューラルネットワークの入力層のノード数を調整する。
【００６４】
学習パラメータ調整（Ｓ３０６）において、ミニバッチサイズが調整されてもよい。ミニバッチサイズは、主に効率よく学習を収束させるために調整される。この場合、パラメータ調整部２０４は、ミニバッチサイズの調整にあたり、ミニバッチサイズが小さい場合、学習の進み度合が少なくなり、ミニバッチサイズが大きい場合、学習の進み度合が大きくなる関係が考慮されてもよい。学習の初期段階で学習の進み度合を大きくし、学習が収束に近づいたら学習の進み度合を小さくしてもよい。また、ＭＣＵ４０と記憶部５０の間のバス幅が大きいこと等により、ＭＣＵ４０と記憶部５０の間のデータ転送速度が大きい場合は、ミニバッチサイズは大きい方が学習全体として効率が良く、ＭＣＵ４０と記憶部５０の間のバス幅が小さいこと等により、ＭＣＵ４０と記憶部５０の間のデータ転送速度が小さい場合は、ミニバッチサイズは小さい方が学習全体として効率が良い、といった性質を利用してもよい。ミニバッチサイズは、ファームウェア２００に予め用意されたテーブルに基づいて調整されてもよく、プログラムによる計算に基づいて調整されてもよい。
【００６５】
学習パラメータ調整の指示が手動調整である場合は、パラメータ設定部２０１は、ペーパレスレコーダ本体７０から受信したパラメータに基づいて学習パラメータ２０３を更新する。この場合のペーパレスレコーダ本体７０から受信したパラメータとは、ペーパレスレコーダ１の利用者の波形観測に基づいて算出されたニューラルネットワークの入力層のノード数またはニューラルネットワークの出力層のノード数である。より具体的には、ペーパレスレコーダ１の表示部１００に表示される測定値の波形を利用者が観測しつつ、表示部１００に表示されるカーソルを操作して測定した測定対象の波形の周期に基づいて算出されたニューラルネットワークの入力層のノード数またはニューラルネットワークの出力層のノード数である。
【００６６】
次に、学習部２０５は、学習パラメータ２０３を取得する（Ｓ３０７）。学習部２０５は、学習パラメータのうちの、ニューラルネットワークの入力層のノード数と、出力層のノード数を合計して訓練サンプル数を算出してもよい。
【００６７】
学習部２０５は、ミニバッチを作成する（Ｓ３０８）。学習部２０５は、学習パラメータ２０３に含まれるミニバッチサイズに示す個数の乱数を発生させ、その乱数に基づいて、訓練データ集合２０６の中の訓練サンプルの位置を算出する。学習部２０５は、算出した訓練サンプルの位置から全ての訓練サンプルを抽出してミニバッチを作成する。
【００６８】
学習部２０５は、作成したミニバッチを入力として訓練データ集合の学習を実行する（Ｓ３０９）。学習は、現在の学習モデル２０７の入力ノードに、ミニバッチから１つずつ取り出された訓練サンプルの入力値を入力し、学習モデル２０７の出力ノードに基づいて出力された予測値と、ミニバッチから１つずつ取り出された訓練サンプルの出力値を比較し、その差分に基づいて学習モデル２０７内部のパラメータを更新する。学習した結果、学習モデル２０７が更新される（Ｓ３１０）。より詳しくは、学習の結果、学習モデル２０７の構成要素中の複数のノードの間の、結合強度を表した重みパラメータが更新される。
【００６９】
学習モデル２０７の更新後、学習の収束を判定する（Ｓ３１２）。学習の収束の判定は、学習モデル２０７、訓練データ集合２０６および学習パラメータに２０３に含まれる収束判定用しきい値に基づいて判断される。学習の収束の判定にあたり、学習部２０５は、訓練データ集合２０６から、あらためてミニバッチを作成する。また、学習部２０５は、ミニバッチ中の訓練サンプルの入力値と、これに対応する学習モデル２０７の中の重みパラメータに基づいて予測値を算出する。次に学習部２０５は、訓練サンプルの出力値と、算出した予測値の差分を計算する。学習部２０５は、ミニバッチサイズの個数分の訓練サンプルを用いて差分を全て計算し、２乗平均値を求める。学習部２０５は、算出した２乗平均値と、学習の収束判定用しきい値とを比較し、２乗平均値が学習の収束判定用のしきい値を下回った場合、学習が収束したと判定する。
学習が収束したと判定された場合、学習の処理フローは終了する（Ｓ３１１）。
【００７０】
なお、訓練データ集合２０６を、学習用の領域と収束の判定用の領域に分け、学習時には学習用の領域からミニバッチを作成し、収束の判定時には収束の判定用の領域からミニバッチを作成するようにしてもよい。また、学習に用いる学習パラメータと、収束の判定に用いる学習パラメータは異なっていてもよい。
また、学習の収束の判定は、ペーパレスレコーダ１の利用者が、表示部１００に表示された異常度等のデータに基づいて判断し、設定部１１０に対して学習終了の指示を入力することによって行われてもよい。
【００７１】
図４のフローを実行することにより、学習モデル２０７に基づいた予測値が算出される。
測定値予測部２０９は、測定値処理部２０８が主記憶装置へ順次格納した測定値データ２１１を取得する（Ｓ４０４）。
【００７２】
測定値予測部２０９は、学習モデル２０７が更新されたか否かを判断する（Ｓ４０２）。例えば、図３の学習のフローチャートが実行されたことにより、学習モデル２０７が更新されていた場合（Ｓ４０２：Ｙｅｓ）は、測定値予測部２０９は、学習モデル２０７を取得する（Ｓ４０３）。学習モデル２０７が更新されていない場合（Ｓ４０２：Ｎｏ）は、学習モデル２０７を新たに取得せず、既に学習済の学習モデル２０７を用いて、予測値の算出が実行される（Ｓ４０５）。
【００７３】
測定値予測部２０９は、予測値の算出において（Ｓ４０５）、取得した全ての測定値（Ｓ４０４）の中から、学習モデル２０７におけるニューラルネットワークの入力層のノード数に一致するデータ点数の測定データを、古いものから順に取り出す。測定値予測部は、取得した学習モデルの入力ノードに、その取り出した測定値データを入力し、出力ノードから予測値を得る。
【００７４】
測定値予測部２０９は、上記取得したニューラルネットワークの入力層のノード数に一致するデータ点数の測定データの直後のデータから、学習モデル２０７におけるニューラルネットワークの出力層のノード数に一致するデータ点数の測定データを、取り出す。取り出したニューラルネットワークの出力層のノード数に一致するデータ点数の測定データと、上記算出された予測値との差分である異常度が算出される（Ｓ４０６）。異常度は、測定データと予測値の差の絶対値であってもよく、測定データと予測値の差の２乗であってもよい。または、差分であると認められるその他の数値でもよい。
また、求めた異常度と予め設定された波形の異常判定用しきい値とを比較して、異常度が波形の異常判定用しきい値を超えていた場合はアラーム信号を生成してもよい。
【００７５】
画面出力部２１０は、算出した予測値と、これに対応する測定値、異常度、生成した場合はアラーム信号を、通信インタフェース６０に送信する。これらのデータは、表示部１００に表示される。
図５は、表示部１００に表示されたデータの一例を示す。表示部１００に、測定値５０１、予測値５０２、異常度５０３が表示されている。図５中のＡで示す点までは、測定値と予測値は一致した場合であり、異常度は０である。Ａ点以降は、測定値と予測値が一致しない場合であり、異常度となって現れている。
なお、過去に波形異常が発生したことをわかりやすくするために、画面には異常度の累計が表示されてもよい。
【００７６】
測定値予測部２０９は、測定値処理部２０８から取得した測定値を全て処理した場合（Ｓ４０８：Ｙｅｓ）は、処理を終了する（Ｓ４０９）。全て処理していない場合（Ｓ４０８：Ｎｏ）は、学習モデルが更新されたか否かの判断（Ｓ４０２）に戻る。
【００７７】
本願発明の測定値予測モジュールは、事前の学習に基づいてセンサから入力される測定値データの予測値を算出することにより、基準波形に対するウィンドウ幅を設けることなく、周波数の異なる複数の波形が重なり合った複雑な波形であっても、波形判定を正常に行うことができる。
【００７８】
本願発明の測定値予測モジュールは、予測値とそれに対応する測定値データとの差分である異常度を計算し、異常度が予め定められた波形の異常判定用しきい値を超えた場合はアラーム信号を発報し、ペーパレスレコーダ等の計測器本体は、そのアラーム信号をトリガとして用いることにより、波形の異常を表示することができる。
【００７９】
ペーパレスレコーダ等の計測器本体は、本願発明の測定値予測モジュールが算出した異常度を、画面にグラフ表示することにより、異常の有無だけではなく、異常の度合いを表示することができる。
【００８０】
本願発明の測定値予測モジュールは、センサの出力する波形データを正常な教師データとして学習することにより、ウェーブウィンドウトリガのように適切なウィンドウ幅を設計する必要がない。また、異常なデータを用意する必要がないため操作が簡単である。
【００８１】
本願発明の測定値予測モジュールは、センサの出力する波形データに基づいて学習用パラメータを調整し、訓練データサンプル数またはニューラルネットワークの入力層のノード数に、測定対象の波形の少なくとも１周期分含ませるよう調整することにより、学習を収束させることができる。
【００８２】
[実施例２]
図８は、本願発明の第２の実施例である。図８は、ＰＬＣ（Ｐｌｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）８００を用いて構築したＰＩＤ制御システムを示す。ＰＩＤ制御システムは、センサ２０、ＰＬＣ８００、アクチュエータ８４０、ＰＣ８５０で構成される。センサ２０は、図１で説明したものと同じである。
【００８３】
このような制御システムでは、センサの経年劣化等により正常でないデータが取得される場合があることが問題となる。正常でないセンサデータに基づく誤った制御を防ぐために、センサの波形異常を検出することが必要となる。
【００８４】
ＰＬＣ８００は、センサ２０の出力する測定値に基づいてアクチュエータ８４０を制御する。ＰＬＣ８００は、ＣＰＵモジュール８１０、測定値予測モジュール１０、出力モジュール８３０で構成される。
測定値予測モジュール１０はセンサ２０が出力する測定値をサンプリングする。ＣＰＵモジュール８１０は、測定値予測モジュール１０がサンプリングしたセンサ２０が出力する測定値に基づいて演算しアクチュエータ８４０を制御するための制御信号を出力する。出力モジュール８３０は、ＣＰＵモジュール８１０が出力した制御信号を、アクチュエータを制御するアナログ信号に変換する。
【００８５】
測定値予測モジュール１０は、図１で説明した測定値予測モジュール１０と同じものである。既に説明した通り、測定値予測モジュール１０は、センサ２０の測定値の波形を訓練データ集合として取込み、当該訓練データ集合を学習する。ＰＬＣがＰＩＤ制御を実行する前に学習を終了させておくことが望ましい。学習後、ＰＬＣがＰＩＤ制御を実行している間は、現在の測定値の波形に基づいて推測される次に取得され得る測定値を予測して、予測値を算出する。測定値予測モジュール１０は、予測値とこれに対応する測定値との差分である異常度を算出する。測定値予測モジュール１０は、異常度と予め定められた波形の異常判定用しきい値とを比較し、異常度が波形の異常判定用しきい値を超えた場合、アラーム信号を発生させる。測定値予測モジュール１０は、測定値、予測値、異常度およびアラーム信号を通信インタフェース６０から出力する。
【００８６】
ＣＰＵモジュール８１０は、測定値予測モジュール１０が出力する測定値等を受信して演算を実行し、アクチュエータ８４０を制御するための制御信号を発生させる。制御の演算は予め作成され、ＣＰＵモジュール８１０にダウンロードされた制御プログラムに基づいて実行される。
ＣＰＵモジュール８１０は、入力制御部８１１、演算部８１２、出力制御部８１３、インタフェース部８１４で構成される。
【００８７】
入力制御部８１１は、測定値予測モジュール１０が取得したセンサ２０の測定値データを取得する。また、測定値予測モジュール１０から予測値、異常度、異常度が予め定められた波形の異常判定用しきい値を超えた場合に出力されるアラームを受信してもよい。
【００８８】
演算部８１２は、入力制御部８１１から取得した測定値データに基づいて制御信号となるデータを出力する。演算部８１２は、ＣＰＵモジュール８１０に予め実装された制御プログラムが動作することによって制御信号となるデータを出力する。制御プログラムは、ＰＣ８５０で作成され、予めＣＰＵモジュール８１０はインタフェース部８１４を介してダウンロードされたものである。インタフェース部８１４は、ＰＣ８５０とインタフェース部８１４を介して、ＰＣ８５０とＥｔｈｅｒｎｅｔ（登録商標）で接続されている。
【００８９】
出力制御部８１３は、演算部８１２が出力した制御信号となるデータを出力モジュール８３０に渡す。
【００９０】
出力モジュール８３０は、ＣＰＵモジュール８１０が出力したデジタルデータである制御信号を、アクチュエータを動作させるためのアナログ信号に変換する。
出力モジュール８３０の出力データ格納部８３２は、演算部８１２が出力した制御信号となるデータに基づいてＤＡＣ（Ｄｅｇｉｔａｌ  Ａｎａｌｏｇ  Ｃｏｎｖｅｒｔｅｒ）８３１への入力信号を作成する。
【００９１】
ＤＡＣ８３１は、デジタル信号をアナログ信号に変換する。ＤＡＣ８１３は、アナログの制御信号を出力する。アクチュエータ８４０は、ＤＡＣ８３１が出力する制御信号に基づいて動作する。
【００９２】
ＰＣ８５０は、ＰＬＣ８００を操作し、監視するコンピュータ端末である。ＰＣ８５０は、画面、入出力インタフェースを有する（図示しない）。
ＰＣ８５０は、例えば、ラダープログラムの開発環境がインストールされている。ＰＬＣ８００の利用者は、開発環境を用いてラダープログラムにより制御プログラムを開発し、開発した制御プログラムをＣＰＵモジュール８１０にダウンロードすることができる。
また、ＰＣ８５０は、ＰＬＣ８００を監視する環境がインストールされていてもよい。例えば、ＣＰＵモジュール８１０が異常を検出し、アラームを発報したときは、ＰＬＣ８００を監視する環境はそのアラームの内容をＰＣ８５０の画面に表示してもよい。
なお、１台のＰＣに、開発環境とＰＬＣ８００を監視する環境が両方インストールされている例を示したが、２台のＰＣを用意して、開発環境とＰＬＣ８００を監視する環境が別々のＰＣにインストールされてもよい。
【００９３】
測定値予測モジュール１０が演算した異常度が予め定められた波形の異常判定用しきい値を超えることにより、アラーム信号をＣＰＵモジュール８１０へ送信した場合、ＣＰＵモジュール８１０は、アラーム信号を受信してＰＣ８５０へアラームを発報してもよい。
また、ＣＰＵモジュール８１０がＰＣ８５０へアラームを発報する際に、測定値予測モジュール１０から受信した異常度、測定値、予測値もＰＣ８５０へ送信してもよい。
ＰＣ８５０にインストールされているＰＬＣ８００を監視する環境は、異常度、測定値、予測値を表示してもよい。
また、ＣＰＵモジュール８１０が測定値予測モジュール１０から波形異常を示すアラーム信号を受信したとき制御を停止する制御プログラムが作成されてもよい。
【００９４】
本願発明の測定値予測モジュールを、ＰＬＣの入力モジュールとして使用することによって、センサの波形の異常を検出することができる。そのため、センサの劣化を検出することができるため、劣化したセンサの異常波形による誤った制御を防ぐことができる。
【００９５】
従来はセンサの断線、波形の異常判定用しきい値による測定値の異常検出のような単純な異常しか検出できなかった従来の制御システムであっても、本願発明の測定値予測モジュールを、ＰＬＣの入力モジュールとして使用することによって、より精度の高いセンサの波形の異常を検出することができる。
【００９６】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることは当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００９７】
１０  測定値予測モジュール、  ２０  センサ、  ３０  ＡＤＣ、  ４０  ＭＣＵ、  ５０  記憶部、  ６０  通信インタフェース、  ７０  ペーパレスレコーダ本体、  ８０  通信インタフェース、  ９０  制御部、  １００  表示部、  １１０  設定部、  １２０  タッチパネル、１３０  記憶部、  ２００  ファームウェア、  ２０１  パラメータ設定部、  ２０２  データ管理部、  ２０３  学習パラメータ、  ２０４  パラメータ調整部、  ２０５  学習部、  ２０６  訓練データ集合、  ２０７  学習モデル、  ２０８  測定値処理部、  ２０９  測定値予測部、  ２１０  画面出力部、  ２１１  測定値データ、  ２１２  異常検出部  、８００  ＰＬＣ、  ８１０  ＣＰＵ  モジュール、  ８３０  出力モジュール、８５０  ＰＣ、８４０  アクチュエータ
【図１】
2019124596.tif 000003
【図２】
2019124596.tif 000004
【図３】
2019124596.tif 000005
【図４】
2019124596.tif 000006
【図５】
2019124596.tif 000007
【図６】
2019124596.tif 000008
【図７】
2019124596.tif 000009
【図８】
2019124596.tif 000010