はじめに
前回までの内容
今回の内容
本記事では、以下の流れでMELSOFT MaiLabで診断モデルを作成していきます。
前回作成した診断モデルでタスクの作成をします。
作成したタスクが機能するか実行してみます。
ヒストリカルモニタの説明と設定方法、ログの確認を行います。
STEP1 タスクを作成
前回の記事で作成した診断モデルでタスクを作成してみます。タスクは、自動で入力から入ってきたデータを作成した診断モデルに通し、結果を出力する機能を持っています。
ここでおさらいにはなりますが、今回考案したシステムは、M5DIALでデータ取得→InfluxDBに蓄積→CSV形式で出力→MELSOFT MaiLabに任意の場所から入力→タスク実行(診断モデルで診断)→CSV形式で任意の場所に結果を出力というフローで処理が進んでいくとしています。
では作成していきます。
まず作成した診断モデルを選択し、右下の「タスク作成」のボタンをクリックします。
タスクの新規作成画面が出現します。名前は任意の名前を入力し、診断端末を選択します(今回はデフォルト値を使用)。今回はシンプルタスクで作成します。設定が完了したら下の「OK」ボタンをクリックします。
入力方式、出力方式、しきい値(あれば)を設定していきます。
入力
まず入力の設定を行います。入力の項目の「変更」をクリックしてください。
今回はInfluxDBから取得したデータをCSVにし、特定のフォルダに保存されていることとします。そのため接続方式は「テキストファイル」を選択し、フォルダパスは任意の場所を入力します。
MELSOFT MaiLabは診断したデータはデフォルトで削除するので、残しておきたい場合は「収集済みファイルを保存する」にチェックを入れてください。その後下の「次へ」ボタンをクリックします。
もし診断モデルで使用した変数名と入力のCSVの変数名(1行目の名前)が異なる場合はここで対応を設定してください。設定が完了したら「OK」ボタンをクリックします。
しきい値
しきい値は主に結果の数値によって出力パターンを変化させたい場合に使用します。設定する場合は、しきい値を有効にし、「設定」をクリックしてください。
以下のような画面が出現します。右上の+ボタンをクリックし、条件を作成していきます。
前回の異常度をテストした際の結果を参考に、診断結果(今回は異常度)が2を超えた場合に診断結果をNGとするように設定します。ここをもし設定しない場合は、どんな異常度であっても正常とみなすことになります。
条件が設定できていることを確認したら下の「OK」ボタンをクリックします。
ちなみに条件設定はANDではないようで、以下のような条件ではうまく機能しなかったので(そもそもないとは思いますが)「正常→危険→異常というように段階を踏ませる」運用は難しいと思います。
ただし出力は各々の結果が出てくるので、判断を外部で行なえば可能になるかもしれません。
(DIAG_01_COMPが条件1、DIAG_02_COMPが条件2の結果になります)
出力
入力と同様に出力も設定していきます。
今回は特定のフォルダにCSVを保存することとします。そのため接続方式は「テキストファイル」を選択し、フォルダパスは任意の場所を、任意のファイル接頭語を入力します。その後下の「次へ」ボタンをクリックします。
- 出力ファイルの接頭語を入力しないとエラーになります。入出力フォルダは一緒でもOKの想定で作られているのでしょうか。
CSVに出力される変数を確認します。問題無ければ「OK」ボタンをクリックします。
- DIAG:
診断モデルで診断した結果。今回の場合は異常度です。 - DIAG_01_COMP:
閾値と比較した結果です。2値で表され、0が条件に不一致、1が条件に合致という出力になります。
すべての項目にチェックが付いていることが確認できたら「完了する」をクリックします。
以上でタスクの作成は完了です。
STEP2 タスクを実行する
タスクを実行してみます。まず、「リアルタイムモニタ」ボタンをクリックし、リアルタイムモニタ画面を表示させます。
タスクを選択し右クリックメニューで「開始」をクリックします。
ひとまず入力で設定したフォルダにOK/NGデータを置きます。少しするとフォルダが空になります。入力設定で「収集済みファイルを保存する」にチェックを入れている場合は「bak」というフォルダができ、その中に診断に通したデータが残るようになります。
以下は診断実行時のリアルタイムモニタになります。最初の数個のデータは閾値未満で正常値、閾値以上になると折れ線の各レコード点に赤丸が付くようになり、異常が発生している様子がわかります。
STEP3 ヒストリカルモニタを見る
ヒストリカルモニタは、過去に行なった診断結果を各値の寄与度と共に確認できる機能です。AIのテストと似たような表示になっています。
別の記事でもヒストリカルモニタについて触れているのでそちらもご覧ください。
ヒストリカルモニタを利用する場合は事前に設定をしておく必要があります。
タスクを選択し右クリックメニューで「実行設定」をクリックします。
設定画面で、ヒストリカルモニタを有効にし、任意の保存場所とファイル接頭語を入力してください。sの誤「完了する」をクリックします。
タスクの実行を先ほどと同様の手順で行い一度停止した後に、ヒストリカルモニタを実行したいタスクを選択し「ヒストリカルモニタ」ボタンをクリックします。
タスクを実行した日時でファイルが作成されていますので、それを選択します。AIはそのタスクで実行した診断モデルを選択してください。その後「OK」ボタンをクリックします。
以下のような画面が出現します。
ブロックを比較判定とした際は以下のように、閾値と閾値に応じた異常検知箇所を表示することができます。
例えば7番目のデータ(OKデータ)は回転数と電流値が大きく寄与していることがわかります。
また例えば13番目のデータ(NGデータ)は回転数と電流値が大きく寄与していることと、と若干の荷重が寄与していることがわかります。
おわりに
タスク作業の所感
今回タスクを作成した際に感じたことは以下になります。
- タスクの処理が早い。
- 診断モデル作成から実行までの操作が簡単。
- 入出力等のパスはコピペが大変なので参照できる方が嬉しい。
- リアルタイムモニタ中段下のドーナツグラフは、異常度で項目分けずに正常/異常で分けられたら、比率がわかって便利だと感じた。
以上でMELSOFT MaiLabでタスク作成から実行までができました。
今回作成したデモ機は弊社いなほ工場のショールームでも見学いただけますので、興味があればぜひ訪れていただければと思います。様子は昨年のMEX2024でも展示しましたので、以下動画をご覧ください。