(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157999
(43)【公開日】2024-11-08
(54)【発明の名称】復帰操作を決定するための装置、方法、および、プログラム
(51)【国際特許分類】
G05B 23/02 20060101AFI20241031BHJP
【FI】
G05B23/02 Z
G05B23/02 301J
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023072745
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】神宮 善行
(72)【発明者】
【氏名】藤井 英幸
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223AA02
3C223AA04
3C223AA05
3C223AA11
3C223BA03
3C223BB17
3C223CC02
3C223DD03
3C223EB01
3C223FF04
3C223FF22
3C223FF23
3C223FF26
3C223FF43
3C223GG01
3C223HH02
(57)【要約】 (修正有)
【課題】復帰操作を決定するための装置、方法、および、プログラムを提供する。
【解決手段】設備の状態を示す状態データを取得する状態データ取得部と、異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得する模擬データ取得部と、前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部と、を備える、装置を提供する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
設備の状態を示す状態データを取得する状態データ取得部と、
異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得する模擬データ取得部と、
前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部と、
を備える、装置。
【請求項2】
前記設備を異常から正常へ復帰させるために目標とする前記設備の状態を示す目標データを決定する目標データ決定部を更に備え、
前記復帰操作決定部は、前記複数の模擬データと前記目標データとの間のそれぞれの距離に基づいて前記復帰操作を決定する、請求項1に記載の装置。
【請求項3】
前記目標データ決定部は、正常時における前記状態データを示す複数の正常データに基づいて前記目標データを決定する、請求項2に記載の装置。
【請求項4】
前記目標データ決定部は、前記複数の正常データにおける統計量に基づいて前記目標データを決定する、請求項3に記載の装置。
【請求項5】
前記目標データ決定部は、前記複数の正常データにおける時系列に基づいて前記目標データを決定する、請求項3に記載の装置。
【請求項6】
前記複数の模擬データを評価モデルに入力したことに応じて、模擬した前記設備の状態をそれぞれ評価した複数の評価指標を取得する指標取得部を更に備え、
前記復帰操作決定部は、前記複数の評価指標に基づいて前記復帰操作を決定する、請求項1に記載の装置。
【請求項7】
前記評価モデルを更に備える、請求項6に記載の装置。
【請求項8】
前記状態データに基づいて前記設備の異常を検知する検知部を更に備える、請求項1から7のいずれか一項に記載の装置。
【請求項9】
決定された前記復帰操作によっても予め定められた条件内に前記設備が異常から正常に復帰しない場合に、警告を発する警告部を更に備える、請求項1に記載の装置。
【請求項10】
前記警告部は、前記復帰操作にしたがって前記制御対象が制御された回数が予め定められた閾値を超える場合に、警告を発する、請求項9に記載の装置。
【請求項11】
前記警告部は、前記設備の異常が検知されたことに応じて正常に復帰するまでの経過時間が予め定められた閾値を超える場合に、警告を発する、請求項9に記載の装置。
【請求項12】
前記復帰操作にしたがって前記制御対象を制御する制御部を更に備える、請求項1から7のいずれか一項に記載の装置。
【請求項13】
前記シミュレータを更に備える、請求項1から7のいずれか一項に記載の装置。
【請求項14】
コンピュータが、
設備の状態を示す状態データを取得することと、
異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得することと、
前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定することと、
を備える、方法。
【請求項15】
コンピュータにより実行され、前記コンピュータを、
設備の状態を示す状態データを取得する状態データ取得部と、
異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得する模擬データ取得部と、
前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部と、
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、復帰操作を決定するための装置、方法、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、「プラントの異常要因を特定できるとともに、異常状態からの復帰操作をオペレータの介在なしに自動的に行えるプラント運転装置を得る。」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2014-229109号
【発明の概要】
【0003】
本発明の第1の態様においては、復帰操作を決定するための装置を提供する。前記装置は、設備の状態を示す状態データを取得する状態データ取得部と、異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得する模擬データ取得部と、前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部と、を備える。
【0004】
前記装置は、前記設備を異常から正常へ復帰させるために目標とする前記設備の状態を示す目標データを決定する目標データ決定部を更に備え、前記復帰操作決定部は、前記複数の模擬データと前記目標データとの間のそれぞれの距離に基づいて前記復帰操作を決定してもよい。
【0005】
前記装置のいずれかにおいて、前記目標データ決定部は、正常時における前記状態データを示す複数の正常データに基づいて前記目標データを決定してもよい。
【0006】
前記装置のいずれかにおいて、前記目標データ決定部は、前記複数の正常データにおける統計量に基づいて前記目標データを決定してもよい。
【0007】
前記装置のいずれかにおいて、前記目標データ決定部は、前記複数の正常データにおける時系列に基づいて前記目標データを決定してもよい。
【0008】
前記装置のいずれかは、前記複数の模擬データを評価モデルに入力したことに応じて、模擬した前記設備の状態をそれぞれ評価した複数の評価指標を取得する指標取得部を更に備え、前記復帰操作決定部は、前記複数の評価指標に基づいて前記復帰操作を決定してもよい。
【0009】
前記装置のいずれかは、前記評価モデルを更に備えてもよい。
【0010】
前記装置のいずれかは、前記状態データに基づいて前記設備の異常を検知する検知部を更に備えてもよい。
【0011】
前記装置のいずれかは、決定された前記復帰操作によっても予め定められた条件内に前記設備が異常から正常に復帰しない場合に、警告を発する警告部を更に備えてもよい。
【0012】
前記装置のいずれかにおいて、前記警告部は、前記復帰操作にしたがって前記制御対象が制御された回数が予め定められた閾値を超える場合に、警告を発してもよい。
【0013】
前記装置のいずれかにおいて、前記警告部は、前記設備の異常が検知されたことに応じて正常に復帰するまでの経過時間が予め定められた閾値を超える場合に、警告を発してもよい。
【0014】
前記装置のいずれかは、前記復帰操作にしたがって前記制御対象を制御する制御部を更に備えてもよい。
【0015】
前記装置のいずれかは、前記シミュレータを更に備えてもよい。
【0016】
本発明の第2の態様においては、復帰操作を決定するための方法を提供する。前記方法は、コンピュータが、設備の状態を示す状態データを取得することと、異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得することと、前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定することと、を備える。
【0017】
本発明の第3の態様においては、復帰操作を決定するためのプログラムを提供する。前記プログラムは、コンピュータにより実行され、前記コンピュータを、設備の状態を示す状態データを取得する状態データ取得部と、異常時における前記状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象をそれぞれ制御した場合における前記設備の状態を模擬した複数の模擬データを取得する模擬データ取得部と、前記複数の模擬データに基づいて、前記設備を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部と、して機能させる。
【0018】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0019】
【
図1】本実施形態に係る装置100が含まれてよい制御システム1のブロック図における一例を示す。
【
図4】本実施形態に係る装置100が実行してよい方法のフロー図における一例を示す。
【
図5】本実施形態に係る装置100が含まれてよい制御システム1のブロック図における他の例を示す。
【
図6】本実施形態の変形例に係る装置100が含まれてよい制御システム1のブロック図における一例を示す。
【
図7】本実施形態の変形例に係る装置100が実行してよい方法のフロー図における一例を示す。
【
図8】本実施形態の変形例に係る装置100が含まれてよい制御システム1のブロック図における他の例を示す。
【
図9】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0020】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0021】
図1は、本実施形態に係る装置100が含まれてよい制御システム1のブロック図における一例を示す。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。これより先のブロック図についても同様である。制御システム1には、設備10と、制御装置20と、シミュレータ30と、装置100と、が含まれてよい。
【0022】
設備10は、原材料から製品を製造する装置である。設備10は、1の装置であってもよいし、複数の装置を複合させた複合装置であってもよい。設備10は、例えば、プラント全体または工場全体であってよく、プラントまたは工場の一部のセグメントにおける装置群等であってよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。
【0023】
設備10には、設備10の内外における様々な状態(物理量)を測定可能な1または複数のセンサ(図示せず)が設けられていてよい。センサは、設備10の様々な箇所における温度、圧力、または、流量等を測定した測定値PV(Process Variable)を出力してよい。設備10の状態を示す状態データには、このような測定値PVが含まれていてよい。状態データには、さらに、バルブの開閉度等を示す操作量MV(Manipulated Variable)が含まれていてよい。状態データには、さらに、設備10におけるエネルギーの消費量、または、原材料の消費量等を示す消費量データが含まれていてよい。状態データには、さらに、設備10において外乱として作用し得る物理量を示す環境データが含まれていてよい。
【0024】
設備10には、制御対象15が設けられてよい。本図においては、説明の便宜上、1の制御対象15のみを示しているが、設備10には、1または複数の制御対象15が設けられてよい。
【0025】
制御対象15は、制御の対象となる機器である。制御対象15は、設備10のプロセスに係る物体の量、温度、圧力、流量、速度、または、pH等の少なくとも1つの物理量を制御する、バルブ、ヒータ、モータ、ファン、または、スイッチ等のアクチュエータ、すなわち、操作端であってよく、操作量に応じた所与の操作を実行してよい。しかしながら、これに限定されるものではない。制御対象15は、操作端を制御するコントローラであってもよい。すなわち、本明細書において用いられる「制御」という用語は、操作端を直接制御することに加えて、コントローラを介して操作端を間接的に制御することをも含まれるものと広義に解釈されてよい。
【0026】
制御装置20は、制御対象15を制御する装置である。制御装置20は、設備10の状態を示す状態データを取得し、状態データに基づいて制御対象15を制御してよい。この際、制御装置20は、PID(Proportional Integral Differential)制御により制御対象15を制御してもよいし、AI(Artificial Intelligence)制御により制御対象15を制御してもよい。
【0027】
なお、AI制御とは、機械学習により生成された操業モデルを用いた制御である。このような操業モデルは、例えば、設備10の状態を評価した評価指標を報酬の少なくとも一部とした強化学習により生成されたものであってよい。また、このような強化学習に用いられる評価指標は、状態データが入力されたことに応じて評価指標を出力するように機械学習された評価モデルから出力されたものであってよい。
【0028】
制御装置20による制御対象15の制御下において、設備10に異常が生じることがある。このような場合、復帰操作にしたがって制御対象15を制御することによって設備10を自動的に復帰させることが望ましい。しかしながら、設備10は、様々な条件に応じて様々な異常状態を取り得る。このような場合に対応すべく、異常状態毎に復帰操作をデータベース等に定義しておくことが考えられる。しかしながら、全ての異常状態を予め考慮しておくことは現実的に不可能であり、このような問題はプラントのように様々な条件が相互に影響を受ける複雑な設備において特に顕著となる。
【0029】
そこで、本実施形態に係る装置100は、シミュレータ30を用いたシミュレーション結果に基づいて、設備10を異常から正常に復帰させるための復帰操作を決定する。これにより、本実施形態に係る装置100によれば、設備10が様々な異常状態を取った場合であっても、異常状態毎に最適な復帰操作を決定することができる。これについて詳細に説明する。
【0030】
シミュレータ30は、設備10における操業を模擬するハードウェアまたはソフトウェアである。シミュレータ30は、設備10における設計情報をもとに設計されたものであってよい。シミュレータ30は、設備10における状態を示す状態データが入力されたことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ実際に制御したとすれば、設備10の状態がどのように安定または変化するかをそれぞれ模擬してよい。そして、シミュレータ30は、複数の候補操作のそれぞれについて、模擬した結果の状態データを模擬データとして出力してよい。
【0031】
装置100は、シミュレータ30と協働して、設備10を異常から正常に復帰させるための復帰操作を決定する。装置100は、状態データ取得部110と、検知部120と、目標データ決定部130と、模擬データ取得部140と、復帰操作決定部150と、警告部190と、を備えてよい。
【0032】
状態データ取得部110は、設備10の状態を示す状態データを取得する。状態データ取得部110は、主に、通信インターフェイスにより提供されてよく、状態データを設備10からネットワークを介して時系列に取得してよい。しかしながら、これに限定されるものではない。状態データ取得部110は、状態データを、設備10とは異なる他の装置から取得してもよいし、ネットワークとは異なる他の手段(各種メモリデバイス、または、ユーザ入力等)を介して取得してもよい。状態データ取得部110は、取得した状態データを、検知部120へ供給する。
【0033】
検知部120は、状態データに基づいて設備10の異常を検知する。検知部120は、主に、CPUまたはその他のプロセッサによりプログラムを実行することにより提供されてよく、状態データ取得部110により取得された状態データに基づいて設備10の異常を検知してよい。この際、検知部120は、状態データに基づいて設備10を正常な状態と異常な状態とに分類する機械学習モデルを用いてよい。設備10の異常を検知していないと判定した場合、検知部120は、状態データに正常ラベルを付して目標データ決定部130へ供給する。設備10の異常を検知したと判定した場合、検知部120は、状態データに異常ラベルを付して目標データ決定部130および模擬データ取得部140へ供給する。また、検知部120は、設備10の異常を検知した旨を警告部190へ通知する。
【0034】
目標データ決定部130は、設備10を異常から正常へ復帰させるために目標とする設備10の状態を示す目標データを決定する。目標データ決定部130は、主に、CPUにより提供されてよく、検知部120により正常ラベルが付された複数の状態データ、すなわち、正常時における状態データを示す複数の正常データに基づいて目標データを決定してよい。これについては詳細を後述する。目標データ決定部130は、決定した目標データを、復帰操作決定部150へ供給する。
【0035】
模擬データ取得部140は、異常時における状態データを示す異常データをシミュレータ30に入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得する。模擬データ取得部140は、主に、通信インターフェイスにより提供されてよく、検知部120により異常ラベルが付された状態データ、すなわち、異常時における状態データを示す異常データを、ネットワークを介してシミュレータ30に供給してよい。これに応じて、シミュレータ30は、異常データを入力し、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合に、設備10の状態がどのように変化するかをそれぞれ模擬してよい。そして、シミュレータ30は、複数の候補操作のそれぞれについて、模擬した変化後の状態データを模擬データとして出力してよい。模擬データ取得部140は、このようにしてシミュレータ30から出力された複数の模擬データを、ネットワークを介して取得してよい。模擬データ取得部140は、取得した複数の模擬データを復帰操作決定部150へ供給する。
【0036】
復帰操作決定部150は、複数の模擬データに基づいて、設備10を異常から正常に復帰させるための復帰操作を決定する。復帰操作決定部150は、主に、CPUにより提供されてよく、模擬データ取得部140により取得された複数の模擬データと、目標データ決定部130により決定された目標データとの間のそれぞれの距離に基づいて復帰操作を決定してよい。復帰操作決定部150は、決定した復帰操作を制御装置20へ供給する。
【0037】
これに応じて、制御装置20は、復帰操作にしたがって制御対象15を制御する。これにより、設備10は、状態が変化し、望ましくは、異常から正常に復帰する。
【0038】
警告部190は、決定された復帰操作によっても予め定められた条件内に設備10が異常から正常に復帰しない場合に、警告を発する。警告部190は、主に、ディスプレイデバイスにより提供されてよく、決定された復帰操作によっても予め定められた条件内に設備10が異常から正常に復帰しない場合に、その旨を示す警告画面を表示してよい。
【0039】
このような機能部を備えた装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、装置100は、復帰操作を決定するために設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、装置100がインターネットに接続可能な場合、装置100は、クラウドコンピューティングにより実現されてもよい。
【0040】
このようなコンピュータは、プログラムを格納するメモリと、プログラムを実行するプロセッサと、を備え、プロセッサがプログラムを実行することにより、装置100としての機能が実装されてもよい。すなわち、コンピュータにより実行され、コンピュータを、設備10の状態を示す状態データを取得する状態データ取得部110と、異常時における状態データを示す異常データをシミュレータに入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得する模擬データ取得部140と、複数の模擬データに基づいて、設備10を異常から正常に復帰させるための復帰操作を決定する復帰操作決定部150と、して機能させる、プログラムが提供されてよい。また、このようなプログラムを記録した非一時的コンピュータ可読媒体が提供されてよい。
【0041】
図2は、目標データを決定する第1の例を示す。本図は、状態データによって定義される特徴量空間を示している。本図において、丸印(〇)は正常データ、すなわち、検知部120によって正常ラベルが付された状態データを、バツ印(×)は異常データ、すなわち、検知部120によって異常ラベルが付された状態データをそれぞれ示している。符号210は、決定境界を可視化したものである。検知部120が用いてよい機械学習モデルは、このように設備10を正常または異常に分類する境界を決定するために機械学習によってチューニングされていてよい。
【0042】
符号220は、対象となる異常データを示している。目標データ決定部130は、対象となる異常データが検知部120から供給された場合に、設備10を異常から正常へ復帰させるために目標とする設備10の状態を示す目標データを決定してよい。この際、目標データ決定部130は、複数の正常データに基づいて目標データを決定してよい。目標データ決定部130は、このような目標データを様々な手法を用いて決定することができる。
【0043】
本図は、複数の正常データにおける統計量に基づいて目標データを決定する手法を一例としている。符号230は、複数の正常データの重心を示している。目標データ決定部130は、複数の正常データからの距離の二乗和を算出し、距離の二乗和が最小になる点を重心230として定義してよい。この際、目標データ決定部130は、統計処理に用いる複数の正常データを、予め定められたルールにしたがって選択してよい。例えば、目標データ決定部130は、対象となる異常データが検知部120から供給された場合に、それまでに検知部120から供給された正常データを新しい順にm個選択し、選択したm個の正常データを統計処理に用いてもよい。
【0044】
目標データ決定部130は、対象となる異常データ220から複数の正常データの重心230へ向かうベクトル240を算出してよい。そして、目標データ決定部130は、ベクトル240と決定境界210との交点250を、目標データとして決定してよい。なお、上述の説明では、ベクトル240と決定境界210との交点250を目標データとする場合を一例として示したが、目標データ決定部130は、重心230自体を目標データとして決定してもよいし、ベクトル240上における交点250と重心230との間の任意の点を目標データとして決定してもよい。また、上述の説明では、統計量として重心を用いる場合を一例として説明したが、目標データ決定部130は、平均値、中央値、または、最頻値等の他の統計量に基づいて目標データを決定してもよい。目標データ決定部130は、例えばこのようにして、複数の正常データにおける統計量に基づいて目標データを決定することができる。
【0045】
図3は、目標データを決定する第2の例を示す。本図においては、
図2と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本図において、丸印(〇)内の数字は、正常データの時系列の順番を示しており、値が小さいほど新しく、値が大きいほど古いデータであることを意味している。
【0046】
本図は、複数の正常データにおける時系列に基づいて目標データを決定する手法を一例として示している。符号310は、選択したm個(本図においては、m=10)の正常データのうちの最新の正常データを示している。目標データ決定部130は、対象となる異常データ220から最新の正常データ310へ向かうベクトル320を算出してよい。そして、目標データ決定部130は、ベクトル320と決定境界210との交点330を、目標データとして決定してよい。なお、上述の説明では、ベクトル320と決定境界210との交点330を目標データとする場合を一例として示したが、目標データ決定部130は、最新の正常データ310自体を目標データとして決定してもよいし、ベクトル320上における交点330と最新の正常データ310との間の任意の点を目標データとして決定してもよい。目標データ決定部130は、例えばこのようにして、複数の正常データにおける時系列に基づいて目標データを決定することもできる。
【0047】
なお、複数の正常データにおける統計量に基づいて目標データを決定する手法と、複数の正常データにおける時系列に基づいて目標データを決定する手法とをそれぞれ別々の手法として説明したが、両者を組み合わせてもよい。例えば、目標データ決定部130は、複数の正常データについて、時系列の順番にしたがって、新しいデータほど寄与が大きく、古いデータほど寄与が小さくなるように重みを設定して加重平均を算出してよい。そして、目標データ決定部130は、加重平均に基づいて目標データを決定してもよい。目標データ決定部130は、例えばこのようにして、複数の正常データにおける統計量、および、時系列に基づいて目標データを決定することもできる。
【0048】
図4は、本実施形態に係る装置100が実行してよい方法のフロー図における一例を示す。本図における各ステップは、装置100、すなわち、コンピュータが動作主体となって実行されてよい。しかしながら、各ステップにおいて、全体としてコンピュータが動作主体となっていればよく、主たる部分ではない一部の部分をコンピュータ以外が実行する場合が含まれていてもよい。
【0049】
ステップS400において、コンピュータは、初期化を実行する。例えば、コンピュータは、復帰操作にしたがって制御対象15が制御された回数kをカウントするカウンタを初期化してよい。すなわち、コンピュータは、k=0にセットしてよい。また、コンピュータは、設備10の異常が検知されたことに応じた経過時間tを計時するタイマを初期化してよい。すなわち、コンピュータは、t=0にセットしてよい。
【0050】
ステップS410において、コンピュータは、設備10の状態を示す状態データを取得する。例えば、コンピュータに実装されてよい状態データ取得部110は、設備10の状態を示す状態データSを、設備10からネットワークを介して時系列に取得してよい。一例として、k=0の場合、状態データ取得部110は、状態データS0を取得してよい。状態データ取得部110は、取得した状態データSを検知部120へ供給する。
【0051】
ステップS420において津日、コンピュータは、状態データに基づいて設備10の異常を検知したか否か判定する。例えば、コンピュータに実装されてよい検知部120は、ステップS410において取得された状態データSに基づいて設備10の異常を検知したか否か判定してよい。一例として、k=0の場合、検知部120は、状態データS0に基づいて設備10の異常を検知したか否か判定してよい。この際、検知部120は、上述のとおり、状態データSに基づいて設備10を正常な状態と異常な状態とに分類する機械学習モデルを用いてよい。
【0052】
状態データSが入力されたことに応じて、機械学習モデルが、設備10を正常な状態に分類した場合に、検知部120は、設備10の異常を検知していない(No)と判定してよい。この場合、検知部120は、状態データSに正常ラベルnを付して目標データ決定部130へ供給する。そして、コンピュータは、処理をステップS400に戻してフローを継続する。
【0053】
一方、状態データSが入力されたことに応じて、機械学習モデルが、設備10を異常な状態に分類した場合に、検知部120は、設備の異常を検知した(Yes)と判定してよい。この場合、検知部120は、状態データSに異常ラベルaを付して目標データ決定部130および模擬データ取得部140へ供給する。また、検知部120は、設備10の異常を検知した旨を警告部190へ通知する。そして、コンピュータは、処理をステップS430へ進める。
【0054】
ステップS430において、コンピュータは、予め定められた条件内であるか否かを判定する。例えば、コンピュータに実装されてよい警告部190は、回数kが予め定められた閾値K(ただし、Kは1または2以上の整数)以内であるか否か判定してよい。また、警告部190は、経過時間tが予め定められた閾値T以内であるか否か判定してよい。しかしながら、これに限定されるものではない。復帰操作の決定を中止、中段、または、終了するための様々な条件が予め定められていてよい。予め定められた条件内である(Yes)と判定された場合、コンピュータは、処理をステップS440へ進める。
【0055】
ステップS440において、コンピュータは、復帰処理が実行中であるか否か判定する。例えば、コンピュータは、回数kが0であるか否か判定してよい。そして、k=0である場合、コンピュータは、復帰処理が実行中でない(No)と判定してよい。復帰処理が実行中でないと判定された場合、コンピュータは、処理をステップS445へ進める。一方、k≠0である場合、コンピュータは、復帰処理が実行中である(Yes)と判定してよい。復帰処理が実行中であると判定された場合、コンピュータは、処理をステップS460へ進める。
【0056】
ステップS445において、コンピュータは、設備10の異常が検知されたことに応じた経過時間tを計時するタイマをスタートさせる。ここで、コンピュータは、設備10の異常が検知されたことに対応して予め定められた特定の開始時点からタイマによる計時をスタートしてよい。例えば、コンピュータは、設備10の異常が検知されたタイミングでタイマをスタートさせることにより(S420のYESの後)、設備10の異常が検知されてからの経過時間tを計時してよい。これに代えて、コンピュータは、設備10の異常が検知された後に最初の復帰操作を決定または実行してから(S480)の経過時間tを計時してもよい。コンピュータは、設備10の異常からの復帰に要している時間を計時可能なその他の開始時点を用いてもよい。そして、コンピュータは、処理をステップS450へ進める。
【0057】
ステップS450において、コンピュータは、設備10を異常から正常へ復帰させるために目標とする設備10の状態を示す目標データを決定する。例えば、コンピュータに実装されてよい目標データ決定部130は、ステップS420において正常ラベルnが付された状態データS、すなわち、正常時における状態データSを示す正常データSnに基づいて目標データStを決定してよい。
【0058】
この際、目標データ決定部130は、正常時における状態データSを示す複数の正常データSn1、Sn2、…、Snmに基づいて目標データStを決定してよい。ここで、正常データSn1、Sn2、…、Snmは、設備10の異常が検知された時点よりも前における正常データSnを新しい順にm個選択したものである。mは、正常データSnの時系列の順番を示しており、値が小さいほど新しく、値が大きいほど古いデータであることを意味している。
【0059】
この際、目標データ決定部130は、例えば
図2の手法を用いて、複数の正常データSn1、Sn2、…、Snmにおける統計量に基づいて目標データStを決定してよい。また、目標データ決定部130は、例えば
図3の手法を用いて、複数の正常データSn1、Sn2、…、Snmにおける時系列に基づいて目標データStを決定してもよい。また、目標データ決定部130は、例えば
図2の手法および
図3の手法を組み合わせて、複数の正常データSn1、Sn2、…、Snmにおける統計量、および、時系列に基づいて目標データStを決定してもよい。目標データ決定部130は、決定した目標データStを、復帰操作決定部150へ供給する。
【0060】
ステップS460において、コンピュータは、異常時における状態データを示す異常データをシミュレータ30に入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得する。例えば、コンピュータに実装されてよい模擬データ取得部140は、ステップS420において異常ラベルaが付された状態データS、すなわち、異常時における状態データSを示す異常データSaを、ネットワークを介してシミュレータ30に供給してよい。
【0061】
ここで、シミュレータ30内には、複数の候補操作Ac1、Ac2、…、Acnが予め定義されていてよい。しかしながら、これに限定されるものではない。複数の候補操作Ac1、Ac2、…、Acnは、装置100により定義されてもよい。この場合、模擬データ取得部140は、異常データSaとともに、複数の候補操作Ac1、Ac2、…、Acnをシミュレータ30へ供給すればよい。
【0062】
シミュレータ30は、設備10が異常データSaによって示される状態下おいて、候補操作Ac1にしたがって制御対象15を制御した場合に、設備10がどのように変化するかを模擬し、模擬した変化後の状態データを示す模擬データSi1を出力してよい。同様に、シミュレータ30は、設備10が異常データSaによって示される状態下おいて、候補操作Ac2にしたがって制御対象15を制御した場合に、設備10がどのように変化するかを模擬し、模擬した変化後の状態データを示す模擬データSi2を出力してよい。シミュレータ30は、同様の処理を候補操作Acnまでn回繰り返し実行してよい。これにより、シミュレータ30は、複数の模擬データSi1、Si2、…、Sinを出力してよい。そして、模擬データ取得部140は、シミュレータ30から出力された複数の模擬データSi1、Si2、…、Sinを、ネットワークを介して取得してよい。模擬データ取得部140は、取得した複数の模擬データSi1、Si2、…、Sinを、復帰操作決定部150へ供給する。
【0063】
ステップS480において、コンピュータは、複数の模擬データに基づいて、設備10を異常から正常に復帰させるための復帰操作を決定する。例えば、コンピュータに実装されてよい復帰操作決定部150は、ステップS460において取得された複数の模擬データSi1、Si2、…、Sinに基づいて、復帰操作Arを決定してよい。この際、復帰操作決定部150は、ステップS460において取得された複数の模擬データSi1、Si2、…、Sinと、ステップS450において決定された目標データStとの間のそれぞれの距離Dに基づいて復帰操作を決定してよい。
【0064】
一例として、復帰操作決定部150は、模擬データSi1と目標データStとの間の距離D1を算出してよい。この際、復帰操作決定部150は、ユークリッド距離、マンハッタン距離、チェビシェフ距離、または、マハラノビス距離の少なくともいずれかを算出してよい。同様に、復帰操作決定部150は、模擬データSi2と目標データStとの間の距離D2を算出してよい。復帰操作決定部150は、同様の処理を模擬データSinまでn回繰り返し実行してよい。これにより、復帰操作決定部150は、距離D1、D2、…、Dnをそれぞれ算出してよい。
【0065】
そして、復帰操作決定部150は、算出した距離D1、D2、…、Dnの中で最も小さい距離Dminを得るに至った候補操作Acを復帰操作として決定してよい。例えば、距離D1、D2、…、Dnの中で距離D2が最も小さかったとする。ここで、距離D2は、模擬データSi2を用いて算出されたものである。この場合、復帰操作決定部150は、模擬データSi2を得るに至った候補操作Ac2を復帰操作Arとして決定してよい。
【0066】
復帰操作決定部150は、例えばこのようにして決定した復帰操作Arを制御装置20へ供給する。これに応じて、制御装置20は、復帰操作Arを実行することにより復帰操作Arにしたがって制御対象15を制御する。これにより、設備10は、状態が変化する。そして、コンピュータは、処理をステップS485へ進める。
【0067】
ステップS485において、コンピュータは、インクリメント処理を実行する。例えば、コンピュータは、k=k+1にセットしてよい。一例として、k=0の場合、コンピュータは、k=1にセットしてよい。そして、コンピュータは、処理をステップS410へ戻してフローを継続する。
【0068】
すなわち、コンピュータは、復帰操作Arにしたがって制御対象15が制御された後に状態データSを再び取得し、設備10の異常を検知したか否かを再び判定してよい。一例として、k=1の場合、状態データ取得部110は、状態データS1を取得し、検知部120は、状態データS1に基づいて設備10の異常を検知したか否か判定してよい。そして、コンピュータは、ステップS420において、設備10の異常を検知しなくなるまで、または、ステップS430において、予め定められた条件を超えるまで、復帰処理を繰り返し実行してよい。すなわち、コンピュータは、新たな復帰操作Arを決定し、それを制御装置20へ供給することによって、異常から正常への復帰を繰り返し試みてよい。
【0069】
このような復帰処理の実行中に、ステップS430において、回数kが閾値Kを超えた、または、経過時間tが閾値Tを超えた場合、警告部190は、予め定められた条件内でない(No)と判定してよい。この場合、コンピュータは、処理をステップS490へ進める。
【0070】
ステップS490において、コンピュータは、予め定められた条件内に設備10が異常から正常に復帰しない場合に、警告を発する。例えば、コンピュータに実装されてよい警告部190は、回数kが閾値Kを超えた場合、または、設備10の異常が検知されたことに応じてS445でタイマをスタートさせてからの経過時間tが閾値Tを超えた場合、その旨を示す警告画面を表示してよい。この際、警告部190は、復帰処理の実行履歴を画面に表示してもよい。一例として、警告部190は、復帰操作Arと状態データSの推移とを、グラフ等を用いて画面に表示してもよい。警告部190は、例えばこのようにして、復帰操作にしたがって制御対象15が制御された回数(例えばk)が予め定められた閾値(例えばK)を超える場合に、警告を発してよい。また、警告部190は、設備10の異常が検知されたことに応じて正常に復帰するまでの経過時間(例えばt)が予め定められた閾値(例えばT)を超える場合に、警告を発してよい。
【0071】
このように、コンピュータが、設備10の状態を示す状態データを取得することと、異常時における状態データを示す異常データをシミュレータ30に入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得することと、複数の模擬データに基づいて、設備10を異常から正常に復帰させるための復帰操作を決定することと、を備える、方法が提供されてよい。
【0072】
なお、上述の説明では、コンピュータが、ステップS440において復帰処理が実行中であると判定した(Yes)場合に処理をステップS460へ進める場合を一例として示した。すなわち、コンピュータが、k=0の場合にのみ目標データを決定し、k≠0の場合には目標データを更新しない場合を一例として示した。しかしながら、コンピュータは、ステップS440において復帰処理が実行中であると判定した場合に、処理をステップS450へ進めてもよい。すなわち、コンピュータは、kがインクリメントされる毎に目標データを新たに決定し、目標データを更新してもよい。
【0073】
従来、異常状態に対する復帰操作内容を予め定義した復帰操作決定データベースを参照して、異常状態に対する復帰操作内容を決定していた。しかしながら、様々な異常状態を予め考慮しておくことは現実的に不可能であり、このような問題はプラントのように様々な条件が相互に影響を受ける複雑な設備において特に顕著となる。
【0074】
これに対し、本実施形態に係る装置100は、異常データをシミュレータ30に入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得し、複数の模擬データに基づいて、復帰操作を決定する。これにより、本実施形態に係る装置100によれば、シミュレータ30と協働して設備10の状態を模擬した結果に基づいて復帰操作を決定するので、復帰操作を決定するためのデータベースを予め準備することなく、様々な異常状態毎に最適な復帰操作を決定することができる。
【0075】
また、本実施形態に係る装置100は、目標データを決定し、複数の模擬データと目標データとの間のそれぞれの距離に基づいて復帰操作を決定してよい。これにより、本実施形態に係る装置100によれば、設備10の状態が目標とする状態に近づくような操作を復帰操作として決定することができる。
【0076】
また、本実施形態に係る装置100は、複数の正常データに基づいて目標データを決定してよい。これにより、本実施形態に係る装置100によれば、設備10を異常から正常に復帰させるにあたって目指すべき目標を無作為に設定するのではなく、複数の正常データを根拠として客観的に設定することができる。
【0077】
この際、本実施形態に係る装置100は、複数の正常データにおける統計量に基づいて目標データを決定してもよいし、複数の正常データにおける統計量に基づいて目標データを決定してもよい。異常と一口に言っても多種多様な異常が存在し、データ間に順序性等の関係がない静的な異常もあれば、データ間に順序性の関係がある動的な異常もある。本実施形態に係る装置100によれば、このような多種多様な異常に対しても、設備10を異常から正常に復帰させるにあたって目指すべき目標を適切に設定することができる。
【0078】
また、本実施形態に係る装置100は、状態データに基づいて設備10の異常を検知する機能を更に備えてよい。これにより、本実施形態に係る装置100によれば、異常検知機能と、復帰操作決定機能とを一つの装置により実現することができる。また、本実施形態に係る装置100によれば、人手を介することなく設備10の異常を自律的に検知することができるうえ、状態データに正常ラベルや異常ラベルを付与することにより復帰操作を決定するために必要な正常データと異常データとを自動的に振り分けることができる。
【0079】
また、本実施形態に係る装置100は、予め定められた条件内に設備10が異常から正常に復帰しない場合に、警告を発する機能を更に備えてよい。これにより、本実施形態に係る装置100によれば、復帰操作にしたがって制御対象15が制御されたにも関わらず、条件内に設備10が異常から正常に復帰しなかった場合に、その旨をユーザに知らしめることができる。したがって、本実施形態に係る装置100によれば、設備10を自動復帰させることが困難な場合であっても、復帰操作の決定処理を不必要に繰り返すことなく、手動復帰に切り替える等をユーザに促すことができる。
【0080】
この際、本実施形態に係る装置100は、復帰操作にしたがって制御対象15が制御された回数が予め定められた閾値を超える場合に、警告を発してもよいし、設備10の異常が検知されたことに応じて正常に復帰するまでの経過時間が予め定められた閾値を超える場合に、警告を発してもよい。設備10によって時定数や整定時間が様々であるため、復帰操作にしたがって制御対象15を制御した場合に、設備の状態が変化する速度は様々である。本実施形態に係る装置100によれば、このような場合であっても、復帰操作の決定を中止、中段、または、終了するタイミングを設備10毎に最適なタイミングに設定することができる。
【0081】
図5は、本実施形態に係る装置100が含まれてよい制御システム1のブロック図における他の例を示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。ここまで、制御装置20とシミュレータ30と装置100とがそれぞれ独立した別々の装置として提供される場合を一例として示した。しかしながら、制御装置20とシミュレータ30と装置100とは、一部または全部が一体となった一つの装置として提供されてもよい。本図においては、装置100が、制御装置20およびシミュレータ30の機能をも提供する場合を示している。
【0082】
本図において、装置100は、シミュレータ30と、制御部510とを更に備える。本図において、状態データ取得部110は、取得した状態データを検知部120に加えて、制御部510へ供給してよい。また、復帰操作決定部150は、決定した復帰操作を制御装置20に代えて、制御部510へ供給してよい。
【0083】
制御部510は、主に、CPUにより提供されてよく、制御装置20と同等の機能部として装置100内に実装されてよい。設備10に異常が生じていない場合、制御部510は、状態データ取得部110により取得された状態データに基づいて制御対象15を制御してよい。この際、制御部510は、PID制御により制御対象15を制御してもよいし、AI制御により制御対象15を制御してもよい。一方、設備10に異常が生じた場合、制御部510は、復帰操作決定部150により決定された復帰操作にしたがって制御対象15を制御してよい。この場合、制御部510は、検知部120により設備10の異常が検知されたか否かに応じて、制御モードを切り替えるとよい。
【0084】
このように、本実施形態に係る装置100は、制御部510を更に備えてよい。これにより、本実施形態に係る装置100によれば、復帰操作を決定する機能と制御対象15を制御する機能とを一つの装置により実現することができる。したがって、本実施形態に係る装置100によれば、装置100から制御装置20へ復帰操作を供給する必要がなく、装置100と制御装置20との間の通信において復帰操作が改竄される等のリスクを排除することができるので、設備10をセキュリティの脅威から守ることができる。
【0085】
また、本実施形態に係る装置100は、シミュレータ30を更に備えてよい。これにより、本実施形態に係る装置100によれば、模擬データを取得するにあたり、外部と通信する必要がないため、通信コストや時間を削減することができるとともに、外部への情報漏洩を防ぐことができる。
【0086】
図6は、本実施形態の変形例に係る装置100が含まれてよい制御システム1のブロック図における一例を示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の説明においては、装置100が、目標データに基づいて復帰操作を決定する場合を一例として示した。しかしながら、本変形例においては、装置100は、評価指標に基づいて復帰操作を決定する。
【0087】
本変形例において、制御システム1には、評価モデル40が更に含まれてよい。評価モデル40は、設備10の状態を示す状態データが入力されたことに応じて、設備10の状態を評価した評価指標を出力する。このような評価モデル40を生成するにあたっては、一例として、設備10における操業目標(プラントKPI(Key Performance Indicator:重要業績評価指標)等)、設備10の状態を示す状態データ、および、教師ラベルに基づいてラベリングデータが生成されてよい。このような操業目標は、設備10がプラント全体または工場全体の場合にはプラント全体または工場全体の操業目標であってよく、設備10がプラントまたは工場の一部のセグメントである場合にはセグメントの操業目標であってよく、設備10が単一の装置または単一のプロセスに対応する場合には単一の装置または単一のプロセスの操業目標であってよい。
【0088】
そして、生成されたラベリングデータを学習データとして、機械学習のアルゴリズムにより評価モデル40が生成されてよい。評価モデル40の生成処理自体については任意であってよいので、更なる詳細についてはここでは説明を省略する。
【0089】
なお、本変形例においては、制御装置20は、操業モデルを用いたAI制御を実行するものとする。また、本図においては、評価モデル40が、操業モデルの強化学習の際に用いた評価モデルと同一である場合を一例として示している。すなわち、模擬データの評価に用いる評価指標と、操業モデルの強化学習に用いる評価指標とは、同一のモデルから出力されたものであってよい。しかしながら、これに限定されるものではない。評価モデル40は、操業モデルの強化学習の際に用いた評価モデルと異なっていてもよい。すなわち、模擬データの評価に用いる評価指標と、操業モデルの強化学習に用いる評価指標とは、異なるモデルから出力されたものであってもよい。
【0090】
本変形例において、装置100は、目標データ決定部130に代えて、指標取得部610を更に備える。また、模擬データ取得部140は、取得した複数の模擬データを、復帰操作決定部150に加えて、指標取得部610へ供給する。
【0091】
指標取得部610は、複数の模擬データを評価モデル40に入力したことに応じて、模擬した設備10の状態をそれぞれ評価した複数の評価指標を取得する。指標取得部610は、主に、通信インターフェイスにより提供されてよく、模擬データ取得部140により取得された複数の模擬データを、ネットワークを介して評価モデル40に供給してよい。評価モデル40は、複数の模擬データが入力されたことに応じて、模擬した設備10の状態をそれぞれ評価した複数の評価指標を出力してよい。指標取得部610は、このようにして評価モデル40から出力された複数の評価指標を、ネットワークを介して取得してよい。指標取得部610は、取得した複数の評価指標を、復帰操作決定部150へ供給する。
【0092】
本変形例において、復帰操作決定部150は、複数の評価指標に基づいて復帰操作を決定する。復帰操作決定部150は、模擬データ取得部140により取得された複数の模擬データの中から、指標取得部610により取得された複数の評価指標の中で最も評価指標の良い(例えば、値が大きい)模擬データを得るに至った候補操作を復帰操作として決定してよい。
【0093】
図7は、本実施形態の変形例に係る装置100が実行してよい方法のフロー図における一例を示す。ステップS400~ステップS445、ステップS485、および、ステップS490については、
図4と同様の処理であってよいので、ここでは詳細な説明を省略する。本変形例においては、ステップS445においてタイマをスタートさせた後、コンピュータは、処理をステップS460へ進める。
【0094】
ステップS460において、コンピュータは、異常時における状態データを示す異常データをシミュレータ30に入力したことに応じて、複数の候補操作にしたがって制御対象15をそれぞれ制御した場合における設備10の状態を模擬した複数の模擬データを取得する。複数の模擬データの取得処理については、
図4と同様であってよいので、ここでは詳細な説明を省略する。本変形例において、模擬データ取得部140は、取得した複数の模擬データSi1、Si2、…、Sinを、復帰操作決定部150に加えて、指標取得部610へ供給する。そして、コンピュータは、処理をステップS470へ進める。
【0095】
ステップS470において、コンピュータは、複数の模擬データを評価モデル40に入力したことに応じて、模擬した設備10の状態をそれぞれ評価した複数の評価指標を取得する。例えば、コンピュータに実装されてよい指標取得部610は、ステップS460において取得された複数の模擬データSi1、Si2、…、Sinを、ネットワークを介して評価モデル40に供給してよい。
【0096】
評価モデル40は、模擬データSi1が入力されたことに応じて、設備10の状態を評価した評価指標I1を出力してよい。同様に、評価モデル40は、模擬データSi2が入力されたことに応じて、設備10の状態を評価した評価指標I2を出力してよい。評価モデル40は、同様の処理を模擬データSinまでn回繰り返し実行してよい。これにより、評価モデル40は、複数の評価指標I1、I2、…、Inを出力してよい。そして、指標取得部610は、評価モデル40から出力された複数の評価指標I1、I2、…、Inを、ネットワークを介して取得してよい。指標取得部610は、例えばこのようにして、複数の模擬データSi1、Si2、…、Sinを評価モデル40に入力したことに応じて、模擬した設備10の状態をそれぞれ評価した複数の評価指標I1、I2、…、Inを取得する。指標取得部610は、取得した複数の評価指標を、復帰操作決定部150へ供給する。
【0097】
ステップS480において、コンピュータは、複数の評価指標に基づいて復帰操作を決定する。例えば、コンピュータに実装されてよい復帰操作決定部150は、ステップS470において取得された複数の評価指標I1、I2、…、Inに基づいて復帰操作Arを決定する。
【0098】
一例として、復帰操作決定部150は、複数の評価指標I1、I2、…、Inを比較してよい。そして、復帰操作決定部150は、複数の評価指標I1、I2、…、Inの中で最も良い(例えば、値が最も大きい)指標Imaxを得るに至った候補操作Acを復帰操作として決定してよい。例えば、複数の評価指標I1、I2、…、Inの中で評価指標I1の値が最も大きかったとする。ここで、評価指標I1は、模擬データSi1を用いて取得されたものである。この場合、復帰操作決定部150は、模擬データSi1を得るに至った候補操作Ac1を復帰操作Arとして決定してよい。
【0099】
復帰操作決定部150は、例えばこのようにして決定した復帰操作Arを制御装置20へ供給する。これに応じて、制御装置20は、復帰操作Arにしたがって制御対象15を制御する。これにより、設備10は、状態が変化する。
【0100】
上述のとおり、設備10を異常から正常に復帰させるにあたって目指すべき目標を設定するには様々な手法が考えられ、いずれの手法により目標データを決定するのが最適であるか不明な場合があり得る。これに対して、本変形例に係る装置100は、評価モデル40と協働して複数の模擬データをそれぞれ評価した結果に基づいて復帰操作を決定する。これにより、本変形例に係る装置100によれば、設備10を異常から正常に復帰させるにあたって目標データ決定部130により特定の目標データを決定してその目標データに近付けるように復帰操作を決定するのに代えて、評価モデル40を用いて得られる評価指標をより良くするように復帰操作を決定することができる。
【0101】
特に、複数の模擬データを評価する評価モデル40が、操業モデルの強化学習の際に用いた評価モデルと同一である場合、本変形例に係る装置100によれば、AI制御下における操作と矛盾のない、または、矛盾の少ない操作を復帰操作として決定することができる。
【0102】
一方、設備10に異常が生じた場合、その原因がAI制御に用いられる操業モデルや評価モデルにある(例えば、未学習、過学習、または、ラベリングミス等)ことも考えられる。したがって、複数の模擬データを評価する評価モデル40が、操業モデルの強化学習の際に用いた評価モデルと異なる場合、本変形例に係る装置100によれば、AI制御下における操作と切り離した独立した操作を復帰操作として決定することができる。
【0103】
図8は、本実施形態の変形例に係る装置100が含まれてよい制御システム1のブロック図における他の例を示す。本図においては、
図5または
図6と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。ここまで、評価モデル40が装置100の外部に記憶される場合を一例として示した。しかしながら、評価モデル40は、装置100の内部に記憶されてもよい。本図において、装置100は、評価モデル40を更に備える。
【0104】
このように、本変形例に係る装置100は、評価モデル40を更に備えてよい。これにより、本変形例に係る装置100によれば、復帰操作を決定する機能と評価モデル40を記憶する機能とを一つの装置により実現することができる。したがって、本変形例に係る装置100によれば、複数の評価指標を取得するにあたり、外部と通信する必要がないため、通信コストや時間を削減することができるとともに、外部への情報漏洩を防ぐことができる。
【0105】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0106】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0107】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0108】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0109】
図9は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0110】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0111】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0112】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0113】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0114】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0115】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0116】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0117】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0118】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0119】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0120】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0121】
10 設備
15 制御対象
20 制御装置
30 シミュレータ
40 評価モデル
100 装置
110 状態データ取得部
120 検知部
130 目標データ決定部
140 模擬データ取得部
150 復帰操作決定部
190 警告部
510 制御部
610 指標取得部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード