(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130543
(43)【公開日】2024-09-30
(54)【発明の名称】制御装置、制御方法及び制御プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20240920BHJP
【FI】
G05B23/02 301U
G05B23/02 302S
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023040338
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】土川 健斗
(72)【発明者】
【氏名】川ノ上 真輔
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA11
3C223BA03
3C223BB13
3C223CC02
3C223DD04
3C223EA04
3C223EA06
3C223FF22
3C223FF26
3C223GG01
3C223GG03
3C223HH29
(57)【要約】
【課題】 制御装置の限られた記憶容量を有効に活用する。
【解決手段】 制御対象を制御する制御装置は、演算処理部と、記憶部とを備える。記憶部は、制御対象の正常時の稼働状態を示す正常データ702を記憶する。演算処理部は、制御対象の稼働状態を示す入力データ701を取得し、入力データ701に基づいて制御対象の異常の有無を判定し、入力データ701と正常データ702との間の類似度を判定し、異常の有無の判定結果及び類似度の判定結果に基づいて、入力データ701を記憶部に記憶するか否かを判定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
制御対象を制御する制御装置であって、
演算処理部と、
記憶部と、を備え、
前記記憶部は、前記制御対象の正常時の稼働状態を示す正常データを記憶するように構成され、
前記演算処理部は、前記制御対象の稼働状態を示す入力データを取得し、前記入力データに基づいて前記制御対象の異常の有無を判定し、前記入力データと前記正常データとの間の類似度を判定し、前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを前記記憶部に記憶するか否かを判定するように構成されている、制御装置。
【請求項2】
請求項1に記載の制御装置であって、
前記演算処理部は、前記異常の有無の判定に用いられるモデルを備え、
前記モデルは、前記入力データから算出される特徴量を入力とし、前記制御対象の異常の発生の可能性の度合いを示す値を出力する、制御装置。
【請求項3】
請求項2に記載の制御装置であって、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が第1の閾値未満であると判定された前記入力データの量が第2の閾値以上のときに、前記演算処理部は、前記モデルの更新を行う、制御装置。
【請求項4】
請求項1に記載の制御装置であって、
前記制御装置は、通信ネットワークを通じて外部記憶部に接続されており、
前記演算処理部は、前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを前記記憶部及び前記外部記憶部の何れに記憶するかを判定するように構成されている、制御装置。
【請求項5】
請求項4に記載の制御装置であって、
前記演算処理部は、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が前記第1の閾値未満であると判定された前記入力データを前記記憶部に記憶し、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が前記第1の閾値以上であると判定された前記入力データを前記外部記憶部に記憶し、
前記前記第1の閾値は、前記通信ネットワークの通信量に応じて変化するように設定されている、制御装置。
【請求項6】
コンピュータが実行する制御方法であって、
制御対象の正常時の稼働状態を示す正常データを記憶することと、
前記制御対象の稼働状態を示す入力データを取得することと、
前記入力データに基づいて前記制御対象の異常の有無を判定することと、
前記入力データと前記正常データとの間の類似度を判定することと、
前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを記憶するか否かを判定することとを含む、制御方法。
【請求項7】
コンピュータに、
制御対象の正常時の稼働状態を示す正常データを記憶することと、
前記制御対象の稼働状態を示す入力データを取得することと、
前記入力データに基づいて前記制御対象の異常の有無を判定することと、
前記入力データと前記正常データとの間の類似度を判定することと、
前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを記憶するか否かを判定することと、
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法及び制御プログラムに関わる。
【背景技術】
【0002】
生産現場において、生産設備などの制御対象に対する予知保全により設備稼働率を向上させたいというニーズが存在する。予知保全とは、生産設備などの制御対象に生じる何らかの異常を検知して、制御対象を停止しなければならない状態になる前に、整備又は交換などの保守作業を行うような保全形態を意味する。このような予知保全を実現するために、制御対象の稼働状態を示すデータを収集するとともに、収集されたデータに基づいて、制御対象に何らかの異常が生じているか否かを判断するような機械学習を用いた仕組みが実用化されている。
【0003】
エッジ装置として、プログラマブルコントローラを用いて、制御対象の稼働状態を示すデータをIoT(Internet of Things)機器から収集する場合、比較的短い一定の周期毎にデータが収集される。規模の大きい生産ラインでは、多数の生産設備などの制御対象から収集されるデータ量は膨大になるため、プログラマブルコントローラの記憶装置の記憶容量が短期間で不足してしまうことになる。
【0004】
IoT機器等の端末装置から、データをクラウドにアップロードする技術に言及した文献として、例えば、特許文献1がある。同文献には、端末装置から出力されたデータをサーバに効率的に送信するための処理を実行するエッジ装置が記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載のエッジ装置では、端末装置から出力されたデータをサーバへ直ちに送信すべきと判定されない場合には、サーバへデータを送信せずにデータをエッジ装置の記憶装置内に格納するため、エッジ装置の記憶容量が短期間で不足してしまうという課題がある。
【0007】
また、プログラマブルコントローラから通信ネットワークを通じて外部記憶装置にデータを転送する場合には、ネットワーク帯域の制限により、プログラマブルコントローラのような比較的短い周期で収集されるデータを転送し続けることが困難になるという課題が生じる。
【0008】
そこで、本発明は、このような課題を解決し、制御装置の限られた記憶容量を有効に活用できる制御装置、制御方法及び制御プログラムを提案することを課題とする。
【課題を解決するための手段】
【0009】
上述の課題を解決するため、本発明に関わる制御装置は、制御対象を制御する制御装置であって、演算処理部と記憶部とを備える。記憶部は、制御対象の正常時の稼働状態を示す正常データを記憶するように構成される。演算処理部は、制御対象の稼働状態を示す入力データを取得し、入力データに基づいて制御対象の異常の有無を判定し、入力データと正常データとの間の類似度を判定し、異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶部に記憶するか否かを判定するように構成されている。異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶部に記憶するか否かを判定することにより、制御装置の限られた記憶容量を有効に活用できる。
【0010】
演算処理部は、異常の有無の判定に用いられるモデルを備えてもよい。モデルは、入力データから算出される特徴量を入力とし、制御対象の異常の発生の可能性の度合いを示す値を出力してもよい。モデルを用いることにより、制御対象の異常の発生の可能性の度合いを高精度に判定できる。
【0011】
異常の有無の判定により、制御対象に異常が無いと判定され、かつ、類似度の判定により、類似度が第1の閾値未満であると判定された入力データの量が第2の閾値以上のときに、演算処理部は、モデルの更新を行ってもよい。このような更新処理により、モデルの最適化を図ることができる。
【0012】
制御装置は、通信ネットワークを通じて外部記憶部に接続されてもよい。演算処理部は、異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶部及び外部記憶部の何れに記憶するかを判定してもよい。
【0013】
演算処理部は、異常の有無の判定により、制御対象に異常が無いと判定され、かつ、類似度の判定により、類似度が第1の閾値未満であると判定された入力データを記憶部に記憶し、異常の有無の判定により、制御対象に異常が無いと判定され、かつ、類似度の判定により、類似度が第1の閾値以上であると判定された入力データを外部記憶部に記憶してもよい。ここで、第1の閾値は、通信ネットワークの通信量に応じて変化するように設定されてもよい。通信ネットワークの通信量に応じて第1の閾値を変化させることにより、通信ネットワークの負荷を低減できる。
【0014】
本発明に関わるコンピュータが実行する制御方法は、制御対象の正常時の稼働状態を示す正常データを記憶することと、制御対象の稼働状態を示す入力データを取得することと、入力データに基づいて制御対象の異常の有無を判定することと、入力データと正常データとの間の類似度を判定することと、異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶するか否かを判定することとを含む。異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶部に記憶するか否かを判定することにより、制御装置の限られた記憶容量を有効に活用できる。
【0015】
本発明に関わる制御プログラムは、コンピュータに、制御対象の正常時の稼働状態を示す正常データを記憶することと、制御対象の稼働状態を示す入力データを取得することと、入力データに基づいて制御対象の異常の有無を判定することと、入力データと正常データとの間の類似度を判定することと、異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶するか否かを判定することとを実行させる。異常の有無の判定結果及び類似度の判定結果に基づいて、入力データを記憶部に記憶するか否かを判定することにより、制御装置の限られた記憶容量を有効に活用できる。
【発明の効果】
【0016】
本発明によれば、制御装置の限られた記憶容量を有効に活用できる。
【図面の簡単な説明】
【0017】
【
図1】本発明の実施形態に関わる制御システムの構成の一例を示すブロック図である。
【
図2】本発明の実施形態に関わるコントローラの構成の一例を示すブロック図である。
【
図3】本発明の実施形態に関わるコントローラの機能の一例を示すブロック図である。
【
図4】本発明の実施形態に関わるコントローラの処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の一側面に関わる実施形態を図面に基づいて説明する。本発明の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。なお、本明細書において、「又は」との用語は、「又は」の意味に加えて「及び」の意味を含んでもよい。
【0019】
[適用例]
本明細書では、制御対象の稼働状態を示すデータ(例えば、制御対象の稼働状態を検出する各種センサの出力信号又は制御対象の稼働状態を制御するスイッチのオン/オフ信号など)を「入力データ」と呼ぶ。また、制御対象の正常時の稼働状態を示すデータを「正常データ」と呼び、制御対象に対する制御指令を「出力データ」と呼ぶ。コントローラは、制御対象から入力データを収集し、制御プログラムにより定められた順序又は条件に従って、入力データから出力データを生成し、生成した出力データを制御対象に出力する。
【0020】
図1は本発明の実施形態に関わる制御システム300の構成の一例を示すブロック図である。制御システム300は、制御対象を制御するコントローラ100と、通信ネットワーク502を通じてコントローラ100に接続されるサーバ装置200と、コントローラ100に接続するサポート装置600とを備える。コントローラ100は、例えば、ファクトリオートメーションに用いられるプログラマブルコントローラ(PLC)と呼ばれる制御装置でもよい。コントローラ100は、生産設備などの制御対象から入力データを収集し、入力データから出力データを生成し、生成した出力データを制御対象に出力する。
【0021】
コントローラ100は、フィールドバス501を通じてフィールド装置群400に接続される。フィールド装置群400は、制御対象または制御に関連する製造装置又は生産ラインなど(以下、「フィールド」と呼ぶ)から入力データを収集する装置を含む。このような入力データを収集する装置として、入力リレー又は各種センサなどがある。フィールド装置群400は、コントローラ100から出力される出力データに基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータがある。これらのフィールド装置群400は、フィールドバス501を通じてコントローラ100との間で、入力データおよび出力データを含むデータを遣り取りする。
【0022】
フィールド装置群400は、リモートI/O(Input/Output)装置401と、リレー群402と、サーボドライバ403と、サーボモータ404とを含む。
【0023】
リモートI/O装置401は、フィールドバス501を通じて通信を行う通信ユニットと、入力データの収集及び出力データの出力を行う入出力ユニットとを備える。このような入出力ユニットを通じて、コントローラ100とフィールドとの間で入力データおよび出力データが遣り取りされる。
【0024】
なお、
図1には、リレー群402を介して、入力データ及び出力データとして、デジタル信号が遣り取りされる例が示されている。また、入出力ユニットは、フィールドバス501に直接接続されるようにしてもよい。
図1には、フィールドバス501に入出力ユニット405が直接接続されている例が示されている。
【0025】
サーボドライバ403は、コントローラ100からの出力データ(例えば、位置指令など)に従って、サーボモータ404を駆動する。
【0026】
フィールドバス501を通じてコントローラ100とフィールド装置群400との間で遣り取りされる入力データ及び出力データは、数100μ秒オーダ~数十ミリ秒オーダのごく短い周期で更新される。このようなデータの更新処理は、I/Oリフレッシュ処理と呼ばれる。
【0027】
なお、フィールドバス501の通信プロトコルとして、例えば、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用の通信プロトコルを用いることができる。
【0028】
サポート装置600は、コントローラ100が制御対象を制御するために必要な準備を支援する情報処理装置(例えば、汎用のパーソナルコンピュータ)でもよい。サポート装置600は、コントローラ100で実行される制御プログラム110の開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、コントローラ100及びコントローラ100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成した制御プログラム110をコントローラ100へ送信する機能、及びコントローラ100上で実行される制御プログラム110をオンラインで修正・変更する機能等を備える。
【0029】
サーバ装置200は、クラウドストレージとして機能する外部記憶装置201を備える。外部記憶装置201は、コントローラ100の補助記憶装置として機能することができる。外部記憶装置201は、外部記憶部に相当する。
【0030】
図2は本発明の実施形態に関わるコントローラ100の構成の一例を示すブロック図である。コントローラ100は、例えば、演算処理部に相当する演算処理装置101、記憶部に相当する記憶装置102、主記憶装置103、ネットワークコントローラ104、USB(Universal Serial Bus)コントローラ105、フィールドバスコントローラ106、及びチップセット107を備えるコンピュータでもよい。
【0031】
演算処理装置101は、例えば、CPU(Central Processing Unit)又はMPU(Micro-Processing Unit)などのプロセッサを含む。
【0032】
記憶装置102は、コントローラ100の各種の処理(例えば、後述する計算処理部111、異常判定部112、類似判定部113、判定部114、及びモデル更新部115によって実行される処理など)を実行するための制御プログラム110を格納している。演算処理装置101は、記憶装置102に格納されている制御プログラム110を読みだしてこれを主記憶装置103に展開して実行することにより、コントローラ100の各種の処理を実行する。
【0033】
なお、記憶装置102は、例えば、ディスク媒体(例えば、磁気記録媒体又は光磁気記録媒体)又は不揮発性半導体メモリなどの非一時的なコンピュータ読み取り可能な記録媒体でもよい。主記憶装置103は、例えば、揮発性半導体メモリでもよい。
【0034】
チップセット107は、各コンポーネント間(すなわち、演算処理装置101、記憶装置102、主記憶装置103、ネットワークコントローラ104、USBコントローラ105、及びフィールドバスコントローラ106の間)のデータ転送を制御する。
【0035】
ネットワークコントローラ104は、コントローラ100とサーバ装置200との間で通信ネットワーク502を経由して行われるデータ通信を制御する。通信ネットワーク502は、例えば、4G(4th generation)規格若しくは5G(5th generation)規格等の移動通信規格、有線若しくは無線LAN(Local Area Network)又はWAN(Wide Area Network)でもよいが、これらに限られない。
【0036】
USBコントローラ105は、コントローラ100とサポート装置600との間で行われるデータ通信を制御する。
【0037】
フィールドバスコントローラ106は、コントローラ100とフィールド装置群400との間でフィールドバス501を経由して行われるデータ通信を制御する。
【0038】
図3は本発明の実施形態に関わるコントローラ100の機能の一例を示すブロック図である。コントローラ100のハードウェア資源と制御プログラム110との協働により、計算処理部111、異常判定部112、類似判定部113、判定部114、及びモデル更新部115としての機能が実現される。
【0039】
演算処理装置101には、フィールド装置群400から取集された入力データ701が入力される。
【0040】
計算処理部111は、入力データ701から特徴量を計算する。特徴量として、例えば、入力データ701の統計値(標準偏差、平均、最大値、又は最小値など)を用いることができる。
【0041】
演算処理装置101は、制御対象の異常の有無の判定に用いられるモデル120を備える。モデル120は、制御対象の稼働状態を示す入力データ701から算出される特徴量を入力とし、制御対象の異常の発生の可能性の度合い(例えば、確率又は尤度)を示す値を出力する関数でもよい。モデル120は、ラベル付けされた入力データを用いた教師付き学習により予め生成された学習済みモデルでもよい。ラベルは、正常状態を示す値と異常状態を示す値とを含んでもよい。
【0042】
異常判定部112は、モデル120の出力値と第3の閾値との比較結果に基づいて、制御対象の異常の有無を判定する。例えば、制御対象の異常の発生の可能性の度合いが高い程、モデル120の出力値が高くなる場合には、モデル120の出力値が第3の閾値以上のときに、制御対象は異常状態にあるものと判定され、モデル120の出力値が第3の閾値未満のときに、制御対象は正常状態にあるものと判定される。
【0043】
記憶装置102は、制御対象の正常時の稼働状態を示す正常データ702を記憶する。
【0044】
類似判定部113は、フィールド装置群400から収集された入力データ701と、記憶装置102から読み出した正常データ702との間の類似度を判定する。具体的には、類似判定部113は、フィールド装置群400のタクトタイム又は稼働状況を示す信号などを基に、正常データ702のデータ長と同じデータ長で入力データ701を区切り、DTW(Dynamic Time Warping)法又はCCF(Cross-Correlation Function)などを用いて、入力データ701と正常データ702との間の類似度を計算する。
【0045】
判定部114は、異常判定部112による異常の有無の判定結果、及び類似判定部113による類似度の判定結果から定まる入力データ701の重要度に応じて、入力データ701をコントローラ100の記憶装置102に記憶するか否か、入力データ701をサーバ装置200の外部記憶装置201に記憶するか否か、及び入力データ701を削除するか否かを判定する。このような判定により、入力データ701の重要度に応じて、入力データ701の削除の要否と入力データ701の記憶先とを決定することができるため、コントローラ100の限られた記憶容量を有効に活用できる。
【0046】
判定部114は、入力データ701の重要度を、例えば、以下の(i)~(iii)のように、「高程度」、「中程度」及び「低程度」の3段階に分けて定義してもよい。
【0047】
(i)判定部114は、異常判定部112による異常の有無の判定により、制御対象に異常が有ると判定された入力データ701の重要度を高程度と定義してもよい。
【0048】
(ii)判定部114は、異常判定部112による異常の有無の判定により、制御対象に異常が無いと判定され、かつ、類似判定部113による類似度の判定により、類似度が第1の閾値未満であると判定された入力データ701の重要度を中程度と定義してもよい。
【0049】
(iii)判定部114は、異常判定部112による異常の有無の判定により、制御対象に異常が無いと判定され、かつ、類似判定部113による類似度の判定により、類似度が第1の閾値以上であると判定された入力データ701の重要度を低程度と定義してもよい。
【0050】
判定部114は、例えば、以下の(a1)~(c1)の判定を行ってもよい。
【0051】
(a1)判定部114は、重要度が高程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する。
【0052】
(b1)判定部114は、重要度が中程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する。
【0053】
(c1)判定部114は、重要度が低程度の入力データ701をサーバ装置200の外部記憶装置201に記憶するものと判定する。
【0054】
このように、重要度が高程度又は中程度の入力データ701をコントローラ100の記憶装置102に記憶し、重要度が低程度の入力データ701をサーバ装置200の外部記憶装置201に記憶することにより、コントローラ100の限られた記憶容量を有効に活用できる。
【0055】
なお、ユーザは、第1の閾値を、通信ネットワーク502の通信量に応じて変化するように設定してもよい。例えば、通信ネットワーク502の通信量が多いときには、ユーザは、サポート装置600を操作して、第1の閾値を低く設定してもよい。また、例えば、通信ネットワーク502の通信量が少ないときには、ユーザは、サポート装置600を操作して、第1の閾値を高く設定してもよい。サポート装置600は、第1の閾値を変更するための入力用インタフェースとして機能してもよい。第1の閾値が高い場合に比較して、第1の閾値が低い場合には、類似度が第1の閾値未満になる入力データ701のデータ量は少なくなるため、通信ネットワーク502を流れる、重要度が中程度の入力データ701のデータ量を削減し、通信ネットワーク502の負荷を低減できる。
【0056】
判定部114は、上述の(a1)~(c1)の判定に替えて、それぞれ、(a2)~(c2)の判定を行ってもよい。
【0057】
(a2)判定部114は、重要度が高程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する。
【0058】
(b2)判定部114は、重要度が中程度の入力データ701をサーバ装置200の外部記憶装置201に記憶するものと判定する。
【0059】
(c2)判定部114は、重要度が低程度の入力データ701を削除するものと判定する。
【0060】
このように、重要度が高程度の入力データ701をコントローラ100の記憶装置102に記憶し、重要度が中程度の入力データ701をサーバ装置200の外部記憶装置201に記憶し、重要度が低程度の入力データ701を削除することにより、コントローラ100の限られた記憶容量を有効に活用できる。
【0061】
判定部114は、上述の(a1)~(c1)の判定に替えて、それぞれ、(a3)~(c3)の判定を行ってもよい。
【0062】
(a3)判定部114は、重要度が高程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する。
【0063】
(b3)判定部114は、重要度が中程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する。
【0064】
(c3)判定部114は、重要度が低程度の入力データ701を削除するものと判定する。
【0065】
このように、重要度が高程度又は中程度の入力データ701をコントローラ100の記憶装置102に記憶し、重要度が低程度の入力データ701を削除することにより、コントローラ100の限られた記憶容量を有効に活用できる。
【0066】
なお、削除すべきものと判定された入力データ701をコントローラ100の記憶装置102に一時的に記憶し、所定のタイミングで入力データ701を削除してもよい。入力データ701を削除するタイミングは、例えば、一定の時間間隔でもよく、コントローラ100の記憶装置102の記憶容量が所定の閾値以上になったタイミングでもよく、或いは、サポート装置600を操作するユーザが削除を指示したタイミングでもよい。
【0067】
また、削除対象としてコントローラ100の記憶装置102に一時的に記憶されている入力データ701の中から優先的に削除すべきものとして選定される入力データ701は、例えば、制御対象の異常の発生の可能性の度合いが低い入力データ701(すなわち、制御対象が正常に動作している可能性が高いときに収集された入力データ701)でもよく、コントローラ100の記憶装置102に保存されている期間が長い入力データ701(すなわち、古い入力データ701)でもよい。制御対象の故障又はその予兆を示すイベント(例えば、警告の発生など)が発生した場合には、そのイベントの発生時に収集された入力データ701の重要度を高程度とし、そのような入力データ701を削除しないように設定してもよい。また、時系列的に連続する複数の入力データ701のタイムスタンプの間隔が一定値以上のときには、制御対象の動作の停止が推定されるため、そのような入力データ701の重要度を高程度とし、そのような入力データ701を削除しないように設定してもよい。
【0068】
モデル更新部115は、重要度が中程度の入力データ701の量が第2の閾値以上のときに、モデル120の更新を行う。モデル120は、過去のある時点において、ラベル付けされた入力データを用いた教師付き学習により生成されたものであるが、生産設備などの制御対象は、稼働を続けることにより、経年劣化又は動作環境の変化等の影響により、正常状態としてラベル付けされる入力データが僅かに変化し得る。このため、過去のある時点において、正常状態としてラベル付けされた入力データ700との類似度が第1の閾値未満である入力データ701の量が第2の閾値以上になると、モデル更新部115は、モデル120の更新時期が到来しているものと判定し、モデル120の更新を行う。モデル120の更新は、重要度が中程度の入力データ701を用いた再学習により行われる。このような更新処理により、モデル120の最適化を図ることができる。
【0069】
なお、コントローラ100は、モデル120の更新時期をサポート装置600に通知してもよい。これにより、ユーザは、サポート装置600を操作してモデル120の更新作業を行うことができる。
【0070】
図4は本発明の実施形態に関わるコントローラ100の処理の流れの一例を示すフローチャートである。
【0071】
コントローラ100は、制御対象の稼働状態を示す入力データ701を入力する(ステップ801)。
【0072】
コントローラ100は、入力データ801に基づいて制御対象の異常の有無を判定する(ステップ802)。
【0073】
ステップ802において、「異常あり」と判定された場合には、コントローラ100は、重要度が高程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する(ステップ803)。
【0074】
ステップ802において、「異常なし」と判定された場合には、コントローラ100は、入力データ701と正常データ702との間の類似度を判定する(ステップ804)。
【0075】
ステップ804において、「類似度が第1の閾値未満である」と判定された場合には、コントローラ100は、重要度が中程度の入力データ701をコントローラ100の記憶装置102に記憶するものと判定する(ステップ805)。
【0076】
ステップ804において、「類似度が第1の閾値以上である」と判定された場合には、コントローラ100は、重要度が低程度の入力データ701をサーバ装置200の外部記憶装置201に記憶するものと判定する(ステップ806)。
【0077】
なお、ステップ803,805,806の判定が上述の(a1)~(c1)の判定と同じである場合を例に挙げて
図4を説明したが、ステップ803,805,806の判定は、上述の(a2)~(c2)の判定と同じでもよく、或いは、ステップ803,805,806の判定は、上述の(a3)~(c3)の判定と同じでもよい。
【0078】
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
制御対象を制御する制御装置であって、
演算処理部と、
記憶部と、を備え、
前記記憶部は、前記制御対象の正常時の稼働状態を示す正常データを記憶するように構成され、
前記演算処理部は、前記制御対象の稼働状態を示す入力データを取得し、前記入力データに基づいて前記制御対象の異常の有無を判定し、前記入力データと前記正常データとの間の類似度を判定し、前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを前記記憶部に記憶するか否かを判定するように構成されている、制御装置。
(付記2)
付記1に記載の制御装置であって、
前記演算処理部は、前記異常の有無の判定に用いられるモデルを備え、
前記モデルは、前記入力データから算出される特徴量を入力とし、前記制御対象の異常の発生の可能性の度合いを示す値を出力する、制御装置。
(付記3)
付記1又は2に記載の制御装置であって、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が第1の閾値未満であると判定された前記入力データの量が第2の閾値以上のときに、前記演算処理部は、前記モデルの更新を行う、制御装置。
(付記4)
付記1乃至3の何れかに記載の制御装置であって、
前記制御装置は、通信ネットワークを通じて外部記憶部に接続されており、
前記演算処理部は、前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを前記記憶部及び前記外部記憶部の何れに記憶するかを判定するように構成されている、制御装置。
(付記5)
付記4に記載の制御装置であって、
前記演算処理部は、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が前記第1の閾値未満であると判定された前記入力データを前記記憶部に記憶し、
前記異常の有無の判定により、前記制御対象に異常が無いと判定され、かつ、前記類似度の判定により、前記類似度が前記第1の閾値以上であると判定された前記入力データを前記外部記憶部に記憶し、
前記前記第1の閾値は、前記通信ネットワークの通信量に応じて変化するように設定されている、制御装置。
(付記6)
コンピュータが実行する制御方法であって、
制御対象の正常時の稼働状態を示す正常データを記憶することと、
前記制御対象の稼働状態を示す入力データを取得することと、
前記入力データに基づいて前記制御対象の異常の有無を判定することと、
前記入力データと前記正常データとの間の類似度を判定することと、
前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを記憶するか否かを判定することとを含む、制御方法。
(付記7)
コンピュータに、
制御対象の正常時の稼働状態を示す正常データを記憶することと、
前記制御対象の稼働状態を示す入力データを取得することと、
前記入力データに基づいて前記制御対象の異常の有無を判定することと、
前記入力データと前記正常データとの間の類似度を判定することと、
前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを記憶するか否かを判定することと、
を実行させる制御プログラム。
(付記8)
コンピュータに、
制御対象の正常時の稼働状態を示す正常データを記憶することと、
前記制御対象の稼働状態を示す入力データを取得することと、
前記入力データに基づいて前記制御対象の異常の有無を判定することと、
前記入力データと前記正常データとの間の類似度を判定することと、
前記異常の有無の判定結果及び前記類似度の判定結果に基づいて、前記入力データを記憶するか否かを判定することと、
を実行させる制御プログラムが格納された非一時的なコンピュータ可読媒体。
【符号の説明】
【0079】
100…コントローラ(制御装置) 101…演算処理装置(演算処理部) 102…記憶装置(記憶部) 103…主記憶装置 104…ネットワークコントローラ 105…USBコントローラ 106…フィールドバスコントローラ 107…チップセット 110…制御プログラム 200…サーバ装置 300…制御システム 400…フィールド装置群 501…フィールドバス 502…通信ネットワーク 600…サポート装置 701…入力データ 702…正常データ