IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特許7363839制御装置、制御方法、および、制御プログラム
<>
  • 特許-制御装置、制御方法、および、制御プログラム 図1
  • 特許-制御装置、制御方法、および、制御プログラム 図2
  • 特許-制御装置、制御方法、および、制御プログラム 図3
  • 特許-制御装置、制御方法、および、制御プログラム 図4
  • 特許-制御装置、制御方法、および、制御プログラム 図5
  • 特許-制御装置、制御方法、および、制御プログラム 図6
  • 特許-制御装置、制御方法、および、制御プログラム 図7
  • 特許-制御装置、制御方法、および、制御プログラム 図8
  • 特許-制御装置、制御方法、および、制御プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-10
(45)【発行日】2023-10-18
(54)【発明の名称】制御装置、制御方法、および、制御プログラム
(51)【国際特許分類】
   G05B 13/04 20060101AFI20231011BHJP
   G05B 23/02 20060101ALI20231011BHJP
【FI】
G05B13/04
G05B23/02 G
【請求項の数】 10
(21)【出願番号】P 2021037331
(22)【出願日】2021-03-09
(65)【公開番号】P2022137709
(43)【公開日】2022-09-22
【審査請求日】2022-03-04
【前置審査】
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】後藤 宏紹
(72)【発明者】
【氏名】鹿子木 宏明
(72)【発明者】
【氏名】古川 陽太
(72)【発明者】
【氏名】小渕 恵一郎
(72)【発明者】
【氏名】川原 瑞夫
【審査官】藤崎 詔夫
(56)【参考文献】
【文献】特開2017-185577(JP,A)
【文献】特開2011-059873(JP,A)
【文献】特開2003-044102(JP,A)
【文献】特開2020-027556(JP,A)
【文献】特開2018-036888(JP,A)
【文献】米国特許出願公開第2020/0192340(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/04
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
制御対象が設けられた設備の状態に応じて前記制御対象の操作量を出力するように機械学習された制御モデルにより前記制御対象を制御する制御部と、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションするシミュレーション部と、
前記設備の状態をシミュレーションする頻度を調整する頻度調整部と、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の制御を停止させる停止部と、
前記制御モデルによる前記制御対象の制御を停止する場合に、フィードバック制御手段による制御に切り替えるよう前記制御対象に指示する指示部と
を備え
前記頻度調整部は、前記制御モデルによる前記制御対象の制御が開始されてからの経過時間が長くなるにつれて、前記シミュレーションする頻度を下げる、制御装置。
【請求項2】
前記停止部は、前記シミュレーション結果が前記設備における異常の発生を示す場合に、前記制御モデルによる前記制御対象の制御を停止させる、請求項1に記載の制御装置。
【請求項3】
前記シミュレーション結果を出力する出力部を更に備え、
前記停止部は、前記シミュレーション結果が出力されたことに応じて制御を停止する旨の指示を取得した場合に、前記制御モデルによる前記制御対象の制御を停止させる、請求項1または2に記載の制御装置。
【請求項4】
前記制御モデルの出力を前記制御対象に対して入力するか遮断するかを切り替える切替部を更に備え、
前記停止部は、前記制御モデルによる前記制御対象の制御を停止させる場合に、前記切替部を遮断させる、請求項1からのいずれか一項に記載の制御装置。
【請求項5】
前記切替部は、物理スイッチにより構成される、請求項に記載の制御装置。
【請求項6】
前記シミュレーションモデルは、前記設備の実動作よりも短い時間で前記設備の状態をシミュレーション可能な簡易モデルである、請求項1からのいずれか一項に記載の制御装置。
【請求項7】
前記設備の状態を示す状態データを取得する状態データ取得部と、
前記操作量を示す操作量データを取得する操作量データ取得部と、
前記状態データおよび前記操作量データを用いて、前記制御モデルを機械学習により生成する制御モデル生成部と
を更に備える、請求項1からのいずれか一項に記載の制御装置。
【請求項8】
前記制御モデル生成部は、前記状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、前記制御モデルを生成する、請求項に記載の制御装置。
【請求項9】
制御対象が設けられた設備の状態に応じて前記制御対象の操作量を出力するように機械学習された制御モデルにより前記制御対象を制御することと、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションすることと、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の制御を停止させることと、
前記制御モデルによる前記制御対象の制御を停止する場合に、フィードバック制御手段による制御に切り替えるよう前記制御対象に指示することと
を備え
前記シミュレーションすることにおいて、前記制御モデルによる前記制御対象の制御が開始されてからの経過時間が長くなるにつれて、前記シミュレーションする頻度を下げる、制御方法。
【請求項10】
コンピュータにより実行されて、前記コンピュータを、
制御対象が設けられた設備の状態に応じて前記制御対象の操作量を出力するように機械学習された制御モデルにより前記制御対象を制御する制御部と、
シミュレーションモデルを用いて、前記制御モデルが出力する前記操作量を前記制御対象に与えた場合における前記設備の状態をシミュレーションするシミュレーション部と、
シミュレーション結果に基づいて、前記制御モデルによる前記制御対象の制御を停止させる停止部と、
前記制御モデルによる前記制御対象の制御を停止する場合に、フィードバック制御手段による制御に切り替えるよう前記制御対象に指示する指示部と
して機能させ
前記制御モデルによる前記制御対象の制御が開始されてからの経過時間が長くなるにつれて、前記シミュレーションする頻度が下げられる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法、および、制御プログラムに関する。
【背景技術】
【0002】
特許文献1には、「ロボットの各関節を駆動するモータに掛かる外乱に対する該ロボットの教示位置の補正量を機械学習し、機械学習した結果に基づいて、ロボットが教示位置へと移動する際に外乱を抑えるように教示位置を補正しながら制御する」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2018-202564号公報
【発明の概要】
【0003】
(項目1)
本発明の第1の態様においては、制御装置を提供する。制御装置は、制御対象が設けられた設備の状態に応じて制御対象の操作量を出力するように機械学習された制御モデルにより制御対象を制御する制御部を備えてよい。制御装置は、シミュレーションモデルを用いて、制御モデルが出力する操作量を制御対象に与えた場合における設備の状態をシミュレーションするシミュレーション部を備えてよい。制御装置は、シミュレーション結果に基づいて、制御モデルによる制御対象の制御を停止させる停止部を備えてよい。
【0004】
(項目2)
停止部は、シミュレーション結果が設備における異常の発生を示す場合に、制御モデルによる制御対象の制御を停止させてよい。
【0005】
(項目3)
制御装置は、シミュレーション結果を出力する出力部を更に備えてよい。停止部は、シミュレーション結果が出力されたことに応じて制御を停止する旨の指示を取得した場合に、制御モデルによる制御対象の制御を停止させてよい。
【0006】
(項目4)
制御装置は、設備の状態をシミュレーションする頻度を調整する頻度調整部を更に備えてよい。
【0007】
(項目5)
頻度調整部は、制御モデルによる制御対象の制御が開始されてからの経過時間が長くなるにつれて、シミュレーションする頻度を下げてよい。
【0008】
(項目6)
制御装置は、制御モデルの出力を制御対象に対して入力するか遮断するかを切り替える切替部を更に備えてよい。停止部は、制御モデルによる制御対象の制御を停止させる場合に、切替部を遮断させてよい。
【0009】
(項目7)
切替部は、物理スイッチにより構成されてよい。
【0010】
(項目8)
制御装置は、制御モデルによる制御対象の制御を停止する場合に、他の制御手段による制御に切り替えるよう制御対象に指示する指示部を更に備えてよい。
【0011】
(項目9)
シミュレーションモデルは、設備の実動作よりも短い時間で設備の状態をシミュレーション可能な簡易モデルであってよい。
【0012】
(項目10)
制御装置は、設備の状態を示す状態データを取得する状態データ取得部を更に備えてよい。制御装置は、操作量を示す操作量データを取得する操作量データ取得部を更に備えてよい。制御装置は、状態データおよび操作量データを用いて、制御モデルを機械学習により生成する制御モデル生成部を更に備えてよい。
【0013】
(項目11)
制御モデル生成部は、状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、制御モデルを生成してよい。
【0014】
(項目12)
本発明の第2の態様においては、制御方法を提供する。制御方法は、制御対象が設けられた設備の状態に応じて制御対象の操作量を出力するように機械学習された制御モデルにより制御対象を制御することを備えてよい。制御方法は、シミュレーションモデルを用いて、制御モデルが出力する操作量を制御対象に与えた場合における設備の状態をシミュレーションすることを備えてよい。制御方法は、シミュレーション結果に基づいて、制御モデルによる制御対象の制御を停止させることを備えてよい。
【0015】
(項目13)
本発明の第3の態様においては、制御プログラムを提供する。制御プログラムは、コンピュータにより実行されてよい。制御プログラムは、コンピュータを、制御対象が設けられた設備の状態に応じて制御対象の操作量を出力するように機械学習された制御モデルにより制御対象を制御する制御部として機能させてよい。制御プログラムは、コンピュータを、シミュレーションモデルを用いて、制御モデルが出力する操作量を制御対象に与えた場合における設備の状態をシミュレーションするシミュレーション部として機能させてよい。制御プログラムは、コンピュータを、シミュレーション結果に基づいて、制御モデルによる制御対象の制御を停止させる停止部として機能させてよい。
【0016】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0017】
図1】本実施形態に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図2】本実施形態に係る制御装置100が、AI制御を停止するフローの一例を示す。
図3】本実施形態の第一の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図4】本実施形態の第一の変形例に係る制御装置100が、AI制御を停止するフローの一例を示す。
図5】本実施形態の第二の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図6】本実施形態の第二の変形例に係る制御装置100が、AI制御を停止するフローの一例を示す。
図7】本実施形態の第三の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図8】本実施形態の第四の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。
図9】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0018】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0019】
図1は、本実施形態に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。本実施形態に係る制御装置100は、機械学習により生成された学習モデルによる制御対象20の制御(Artificial Intelligence:AI制御ともいう。)中に、学習モデルの出力を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、本実施形態に係る制御装置100は、シミュレーション結果に基づいてAI制御を停止する。
【0020】
設備10は、制御対象20が備え付けられた施設や装置等である。例えば、設備10は、プラントであってもよいし、複数の機器を複合させた複合装置であってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。
【0021】
設備10には、制御対象20が設けられている。本図においては、設備10に1つの制御対象20のみが設けられている場合を一例として示しているが、これに限定されるものではない。設備10には、複数の制御対象20が設けられていてよい。
【0022】
また、設備10には、設備10の内外における様々な状態(物理量)を測定する1または複数のセンサ(図示せず)が設けられていてよい。このようなセンサは、例えば、運転データ、消費量データ、および、外部環境データ等を測定する。
【0023】
ここで、運転データは、制御対象20を制御した結果の運転状態を示す。例えば、運転データは、制御対象20について測定された測定値PV(Process Variable)を示してよく、一例として、制御対象20の出力(制御量)を示してもよいし、制御対象20の出力によって変化する様々な値を示してもよい。
【0024】
消費量データは、設備10におけるエネルギーまたは原材料の少なくともいずれかの消費量を示す。例えば、消費量データは、エネルギー消費量として、電力や燃料(一例として、LPG:Liquefied Petroleum Gas)の消費量を示してよい。
【0025】
外部環境データは、制御対象20の制御に対して外乱として作用し得る物理量を示す。例えば、外部環境データは、設備10の外気の温度や湿度、日照、風向き、風量、降水量、および、設備10に設けられた他の機器の制御に伴い変化する様々な物理量等を示してよい。
【0026】
制御対象20は、制御の対象となる機器および装置等である。例えば、制御対象20は、設備10のプロセスにおける圧力、温度、pH、速度、または、流量等の少なくとも1つの物理量を制御するバルブ、ポンプ、ヒータ、ファン、モータ、および、スイッチ等のアクチュエータであってよく、与えられた操作量MV(Manipulated Variable)を入力して制御量を出力する。
【0027】
本実施形態に係る制御装置100は、機械学習により生成された学習モデルによる制御対象20の制御(AI制御)中に、学習モデルの出力を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、本実施形態に係る制御装置100は、シミュレーション結果に基づいてAI制御を停止する。
【0028】
制御装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、制御装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、制御装置100は、AI制御用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、制御装置100がインターネットに接続可能な場合、制御装置100は、クラウドコンピューティングにより実現されてもよい。
【0029】
制御装置100は、状態データ取得部110と、操作量データ取得部120と、制御モデル生成部130と、制御モデル135と、制御部140と、シミュレーション部150と、シミュレーションモデル155と、停止部160とを備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0030】
状態データ取得部110は、制御対象20が設けられた設備10の状態を示す状態データを取得する。例えば、状態データ取得部110は、設備10に設けられたセンサが測定した運転データ、消費量データ、および、外部環境データ等を状態データとして、ネットワークを介してセンサから取得する。しかしながら、これに限定されるものではない。状態データ取得部110は、このような状態データをオペレータから取得してもよいし、各種メモリデバイス等から取得してもよい。状態データ取得部110は、取得した状態データを制御モデル生成部130、および、制御モデル135へ供給する。
【0031】
操作量データ取得部120は、制御対象20の操作量を示す操作量データを取得する。例えば、操作量データ取得部120は、制御対象20をAI制御するにあたって制御モデル135が出力する操作量MV(AI)を示すデータを、操作量データとして制御部140から取得する。しかしながら、これに限定されるものではない。操作量データ取得部120は、このような操作量データをオペレータから取得してもよいし、各種メモリデバイスから取得してもよい。操作量データ取得部120は、取得した操作量データを制御モデル生成部130へ供給する。
【0032】
なお、本図においては、操作量データ取得部120が、制御モデル135が出力する操作量MV(AI)を示すデータを操作量データとして取得する場合を一例として示した。しかしながら、これに限定されるものではない。制御装置100が他の制御器(図示せず)による制御対象20の制御下におけるデータを学習データとしてモデルを機械学習する場合には、操作量データ取得部120は、当該他の制御器から制御対象20に与えられた操作量を示すデータを操作量データとして取得してもよい。一例として、制御対象20が、他の制御器から与えられた操作量MV(FB:FeedBack)によるフィードバック制御と、制御モデル135から与えられた操作量MV(AI)によるAI制御との間で切り換え可能な場合、操作量データ取得部120は、当該他の制御器から制御対象20に与えられた操作量MV(FB)を示すデータを操作量データとして取得してもよい。なお、このようなFB制御は、例えば、比例制御(P制御)、積分制御(I制御)、または、微分制御(D制御)の少なくとも1つを用いた制御であってよく、一例として、PID制御であってよい。また、このような他の制御器は、本実施形態に係る制御装置100の一部として一体に構成されていてもよいし、制御装置100とは独立した別体として構成されていてもよい。
【0033】
制御モデル生成部130は、状態データおよび操作量データを用いて、設備10の状態に応じた操作量を出力する制御モデル135を機械学習により生成する。例えば、制御モデル生成部130は、状態データ取得部110から供給された状態データ、および、操作量データ取得部120から供給された操作量MV(AI)を示すデータを学習データとして強化学習することにより、設備10の状態に応じた操作量MV(AI)を出力する制御モデル135を生成する。すなわち、制御モデル生成部130は、状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、制御モデル135を生成する。これについて詳細は後述する。
【0034】
制御モデル135は、制御モデル生成部130が強化学習により生成した学習モデルであり、設備10の状態に応じた操作量MV(AI)を出力する。例えば、制御モデル135は、状態データ取得部110から供給された状態データを入力して、設備10の状態に応じて制御対象20に与えるべき推奨する操作量MV(AI)を出力する。なお、本図においては、制御モデル135が制御装置100に内蔵されている場合を一例として示したが、これに限定されるものではない。制御モデル135は、制御装置100とは異なる装置(例えば、クラウドサーバ上)に格納されていてもよい。同様に、制御モデル生成部130についても、制御装置100とは異なる装置に備えられていてもよい。
【0035】
制御部140は、制御モデル135が出力した操作量MV(AI)を制御対象20へ供給する。これにより、制御部140は、制御対象20が設けられた設備10の状態に応じて制御対象20の操作量を出力するように機械学習された制御モデル135により制御対象20を制御する。また、制御部140は、制御モデル135が出力した操作量MV(AI)をシミュレーション部150、および、操作量データ取得部120へ供給する。
【0036】
シミュレーション部150は、シミュレーションモデル155を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。なお、ここでいう「シミュレーションする」とは、シミュレーション部150が主体となって設備10の状態を自らシミュレーションすることの他に、シミュレーション部150が他の装置(例えば、シミュレータ(図示せず))に対して設備10の状態をシミュレーションさせ、他の装置がシミュレーションした設備10の状態を他の装置から取得することをも含むものとする。例えば、シミュレーション部150は、制御モデル135が出力した操作量MV(AI)をシミュレーションモデル155に入力し、シミュレーションモデル155が出力する複数の出力値をシミュレーション結果として取得する。シミュレーション部150は、取得したシミュレーション結果を、停止部160へ供給する。
【0037】
シミュレーションモデル155は、設備10の挙動をシミュレーションするように構築されたモデル(例えば、プラントモデル)である。例えば、シミュレーションモデル155は、操作量MV(AI)を入力し、操作量MV(AI)を制御対象20に与えた場合における設備10の挙動をシミュレーションする。そして、シミュレーションモデル155は、シミュレーションした設備10の状態を示す複数の出力値を出力する。一例として、シミュレーションモデル155は、設備10の実動作よりも短い時間で設備10の状態をシミュレーション可能な簡易モデル、例えば、処理負荷が比較的軽い簡易物理モデルや、比較的低次な線形モデルであってよい。なお、本図においては、シミュレーションモデル155が制御装置100に内蔵されている場合を一例として示したが、これに限定されるものではない。シミュレーションモデル155は、制御モデル135と同様、制御装置100とは異なる装置(例えば、クラウドサーバ上)に格納されていてもよい。また、上述のシミュレータについても、制御装置100とは異なる装置に備えられていてもよい。
【0038】
停止部160は、シミュレーション結果に基づいて、制御モデル135による制御対象20の制御を停止させる。例えば、停止部160は、シミュレーション部150から供給されたシミュレーション結果が予め定められた条件(例えば、異常診断条件)を満たしているか否か判定する。そして、停止部160は、シミュレーション結果が設備10における異常の発生を示す場合に、制御部140へその旨を通知する。これに応じて、制御部140は、制御モデル135が出力した操作量MV(AI)を制御対象20へ供給することを止める。このようにして、停止部160は、シミュレーション結果が設備10における異常の発生を示す場合(例えば、数日以内に設備10に異常が発生することが見込まれる場合)に、制御モデル135による制御対象20の制御を停止させる。
【0039】
図2は、本実施形態に係る制御装置100が、AI制御を停止するフローの一例を示す。
【0040】
ステップ210において、制御装置100は、状態データを取得する。例えば、状態データ取得部110は、制御対象20が設けられた設備10の状態を示す状態データを取得する。一例として、状態データ取得部110は、設備10に設けられたセンサが測定した運転データ、消費量データ、および、外部環境データ等を状態データとして、ネットワークを介してセンサから取得する。状態データ取得部110は、取得した状態データを制御モデル生成部130、および、制御モデル135へ供給する。
【0041】
ステップ220において、制御装置100は、操作量データを取得する。例えば、操作量データ取得部120は、制御対象20の操作量を示す操作量データを取得する。一例として、操作量データ取得部120は、制御対象20をAI制御するにあたって制御モデル135が出力する操作量MV(AI)を示すデータを、操作量データとして制御部140から取得する。操作量データ取得部120は、取得した操作量データを制御モデル生成部130へ供給する。なお、本図においては、制御装置100が状態データを取得した後に操作量データを取得する場合を一例として示したが、これに限定されるものではない。制御装置100は、操作量データを取得した後に状態データを取得してもよいし、状態データと操作量データとを同時に取得してもよい。
【0042】
ステップ230において、制御装置100は、制御モデル135を生成する。例えば、制御モデル生成部130は、状態データおよび操作量データを用いて、設備10の状態に応じた操作量を出力する制御モデル135を機械学習により生成する。一例として、制御モデル生成部130は、ステップ210において取得された状態データ、および、ステップ220において取得された操作量MV(AI)を示すデータを学習データとして強化学習することにより、設備10の状態に応じた操作量MV(AI)を出力する制御モデル135を生成する。
【0043】
一般に、エージェントが、環境の状態を観測してある行動を選択すると、当該行動に基づいて環境が変化する。強化学習においては、このような環境の変化に伴って何らかの報酬が与えられることで、エージェントがより良い行動の選択(意思決定)を学習する。教師あり学習においては、完全な正解が与えられるのに対して、強化学習においては、環境の一部の変化に基づく断片的な値として報酬が与えられる。このため、エージェントは、将来にわたって報酬の合計が最大となるような行動を選択するように学習する。このように、強化学習において、エージェントは、行動を学習することにより行動が環境に与える相互作用を踏まえて適切な行動を学習、すなわち、将来的に得られる報酬を最大にするための行動を学習する。
【0044】
本実施形態において、このような強化学習における報酬は、設備10の運転を評価するための指標であってよく、予め定められた報酬関数により定まる値であってよい。ここで、関数とは、ある集合の各要素に他の集合の各要素を一対一で対応させる規則を持つ写像であり、例えば数式であってもよいし、テーブルであってもよい。
【0045】
報酬関数は、状態データの入力に応じて、当該状態データによって示される設備10の状態を評価した値(報酬値)を出力する。上述のとおり、例えば、状態データには、制御対象20について測定された測定値PVが含まれている。したがって、報酬関数は、このような測定値PVが目標値SV(Setting Variable)に近いほど報酬値が高くなるような関数として定義されてよい。ここで、測定値PVと目標値SVとの差の絶対値を変数とする関数を、評価関数として定義することとする。すなわち、一例として、制御対象20がバルブである場合、評価関数は、センサが実際に測定したバルブの開度である測定値PVと、目標とするバルブの開度である目標値SVとの差の絶対値を変数とする関数であってよい。そして、報酬関数は、このような評価関数によって得られる評価関数の値を変数とする関数であってよい。
【0046】
また、上述のとおり、状態データには、測定値PVに加えて、例えば、制御対象20の出力によって変化する様々な値や、消費量データ、外部環境データ等が含まれている。したがって、報酬関数は、このような様々な値、消費量データ、および、外部環境データ等に基づいて報酬値を増減させるような関数であってよい。一例として、このような様々な値や消費量データに対して守らなければならない制約が設けられている場合、報酬関数は、外部環境データに照らして、このような様々な値や消費量データが制約条件を満たしていない場合に、報酬値を最小とするような関数であってよい。また、このような様々な値や消費量データに対して目指すべき目標が設けられている場合、報酬関数は、外部環境データに照らして、このような様々な値や消費量データが目標に近いほど報酬値を増加させ、目標に遠いほど報酬値を減少させるような関数であってよい。
【0047】
制御モデル生成部130は、このような報酬関数に基づいてそれぞれの学習データにおける報酬値を取得する。そして、制御モデル生成部130は、学習データおよび報酬値の組をそれぞれ用いて強化学習する。この際、制御モデル生成部130は、最急降下法やニューラルネットワーク、DQN(Deep Q-Network)、ガウシアンプロセス、ディープラーニング等、公知の手法による学習処理を行ってよい。そして、制御モデル生成部130は、報酬値が高くなる操作量ほど、推奨する操作量として優先的に出力されるように学習する。すなわち、制御モデル生成部130は、状態データの入力に応じて、予め定められた報酬関数により定まる報酬値が高くなる操作量ほど推奨する操作量として出力されるように強化学習することにより、制御モデル135を生成する。これにより、モデルが更新され制御モデル135が生成される。
【0048】
ステップ240において、制御装置100は、制御対象20をAI制御する。例えば、制御部140は、制御モデル135が出力した操作量MV(AI)を制御対象20へ供給することにより、制御対象20が設けられた設備10の状態に応じて制御対象20の操作量を出力するように機械学習された制御モデル135により制御対象20を制御する。また、これと並行して、制御部140は、制御モデル135が出力した操作量MV(AI)をシミュレーション部150へ供給する。
【0049】
ステップ250において、制御装置100は、シミュレーションを実行する。例えば、シミュレーション部150は、シミュレーションモデル155を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。一例として、シミュレーション部150は、ステップ230において生成された制御モデル135が出力した操作量MV(AI)をシミュレーションモデル155に入力し、シミュレーションモデル155が出力する複数の出力値をシミュレーション結果として取得する。このように、制御装置100は、AI制御と並行して、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。シミュレーション部150は、取得したシミュレーション結果を、停止部160へ供給する。
【0050】
ステップ255において、制御装置100は、設備10における異常発生の有無を判定する。例えば、停止部160は、設備10において異常を診断するための異常診断条件を予め記憶していてよい。そして、停止部160は、シミュレーションモデル155が出力した複数の出力値の全てが異常診断条件を満たしていない場合に、設備10に異常が発生しないと推測してよい。また、停止部160は、シミュレーションモデル155が出力した複数の出力値の少なくとも1つが異常診断条件を満たしている場合に、設備10に異常が発生すると推測してよい。
【0051】
ステップ255において、シミュレーション結果が設備10における異常の発生を示していない場合(Noの場合)に、制御装置100は、処理をステップ250に戻してフローを継続する。なお、この場合、ステップ240におけるAI制御は継続される。
【0052】
ステップ255において、シミュレーション結果が設備10における異常の発生を示している場合(Yesの場合)に、制御装置100は処理をステップ260に進める。
【0053】
ステップ260において、制御装置100は、AI制御を停止する。例えば、停止部160は、シミュレーション結果に基づいて、制御モデル135による制御対象20の制御を停止させる。一例として、停止部160は、シミュレーション結果が設備10における異常の発生を示す場合に、制御部140へその旨を通知する。これに応じて、制御部140は、制御モデル135が出力した操作量MV(AI)を制御対象20へ供給することを止める。このようにして、停止部160は、シミュレーション結果が設備10における異常の発生を示す場合に、制御モデル135による制御対象20の制御を停止させる。
【0054】
一般に、機械学習では、入力データを使用して学習モデルのパラメータを決定するが、これは確率的に求められたものであり、理論的に保障されているものではない。そのため、学習モデルから異常な推論データが出力される可能性がある。そこで、本実施形態に係る制御装置100は、制御対象20をAI制御するのに並行して、シミュレーションモデル155を用いて、制御モデル135が出力する操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションする。そして、制御装置100は、シミュレーション結果に基づいて、AI制御を停止する。これにより、本実施形態に係る制御装置100によれば、AI制御に伴い設備10が異常な振る舞いをすることが推測される場合に、AI制御を停止することができる。ここで、AI制御を停止するか否かを、制御モデル135が出力する操作量MV(AI)が予め定められた基準を満たすか否かで判断することも考えられる。しかしながら、このような基準は人為的・経験的に与えられたものであって、操作量MV(AI)がこのような基準を満たすからといって、必ずしも設備10に異常が発生しないとも限らない。同様に、操作量MV(AI)がこのような基準を満たさないからといって、必ずしも設備10に異常が発生するとも限らない。これに対して、本実施形態に係る制御装置100によれば、操作量MV(AI)自体ではなく、操作量MV(AI)を制御対象20に与えた場合における設備10の状態をシミュレーションした結果に基づいてAI制御の停止を判断するので、実際の運用により近い根拠に基づいてAI制御の停止を判断することができる。
【0055】
また、本実施形態に係る制御装置100において、シミュレーションに用いるシミュレーションモデル155は、実際の設備10と比較して簡易なモデルであってよい。これにより、本実施形態に係る制御装置100によれば、設備10の実動作よりも短い時間で設備10の状態をシミュレーション可能となるため、実際の設備10で異常が発生するのに先立ってAI制御を停止することができる。
【0056】
図3は、本実施形態の第一の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。図3においては、図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る制御装置100においては、シミュレーション結果に基づいてAI制御の停止を自動的に判断する場合を一例として示した。しかしながら、第一の変形例に係る制御装置100においては、シミュレーション結果を出力し、シミュレーション結果を検討したオペレータ等からの指示に基づいてAI制御を停止する。第一の変形例に係る制御装置100は、出力部310と、入力部320とを更に備える。
【0057】
本変形例に係る制御装置100においては、シミュレーション部150は、シミュレーション結果を停止部160に加えて出力部310へ供給する。そして、出力部310は、シミュレーション結果を出力する。例えば、出力部310は、シミュレーション結果をモニタに表示することにより出力してもよいし、プリントアウトすることにより出力してもよいし、他の装置にデータ送信することにより出力してもよい。
【0058】
入力部320は、シミュレーション結果を出力したことに応じて、シミュレーション結果を検討したオペレータ等からユーザ入力を受け付ける。入力部320は、ユーザ入力されたオペレータからの指示を停止部160へ供給する。
【0059】
停止部160は、入力部320から供給された指示がAI制御を停止する旨を示している場合に、AI制御を停止させると判断する。すなわち、停止部160は、シミュレーション結果が出力されたことに応じて制御を停止する旨の指示を取得した場合に、制御モデル135による制御対象20の制御を停止させる。
【0060】
図4は、本実施形態の第一の変形例に係る制御装置100が、AI制御を停止するフローの一例を示す。図4においては、図2と同じ処理に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本フローにおいては、ステップ255に代えて、ステップ410および420を備える。
【0061】
ステップ410において、制御装置100は、シミュレーション結果を出力する。例えば、出力部310は、ステップ250においてシミュレーション部150がシミュレーションした結果を取得し、モニタに表示することによりシミュレーション結果を出力する。
【0062】
ステップ420において、制御装置100は、AI制御の停止が指示されたか否か判断する。例えば、停止部160は、シミュレーション結果を検討したオペレータ等から入力部320を介してAI制御を停止する旨の指示を取得したか否か判断する。ステップ420においてAI制御を停止する旨の指示が取得されていない場合(Noの場合)、制御装置100は、処理をステップ250に戻してフローを継続する。ステップ420においてAI制御を停止する旨の指示が取得された場合(Yesの場合)、制御装置100は、処理をステップ260へ進める。そして、停止部160は制御部140へAI制御を停止する旨を通知する。これに応じて、制御部140は、制御モデル135が出力した操作量MV(AI)を制御対象20へ供給することを止める。このようにして、停止部160は、シミュレーション結果が出力されたことに応じて制御を停止する旨の指示を取得した場合に、制御モデル135による制御対象20の制御を停止させる。
【0063】
このように、第一の変形例に係る制御装置100は、シミュレーション結果を出力し、当該シミュレーション結果を検討したオペレータ等からの指示に基づいてAI制御を停止する。これにより、第一の変形例に係る制御装置100によれば、AI制御を停止するにあたってオペレータ等の意向を反映させることができる。
【0064】
なお、上述の説明では、制御装置100がステップ255に代えてステップ410および420を実行する場合を一例として示したが、これに限定されるものではない。第一の変形例に係る制御装置100は、ステップ255に加えて、ステップ410および420を実行してもよい。この際、制御装置100は、オペレータ等による停止指示と、コンピュータによる自動判定との何れかを満足した場合に、AI制御を停止させてよい。これに代えて、制御装置100は、オペレータによる停止指示と、コンピュータによる自動判定との両者を満足した場合にはじめて、AI制御を停止させてもよい。この場合、制御装置100は、例えば、設備10に異常が発生する旨のシミュレーション結果を出力してオペレータ等に異常の発生を報知し、これに応じてオペレータ等から停止指示を取得した場合に、AI制御を停止させてもよい。これにより、第一の変形例に係る制御装置100によれば、コンピュータによる自動判断とオペレータによる手動判断とを併用して、AI制御を停止することができる。
【0065】
図5は、本実施形態の第二の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。図5においては、図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る制御装置100においては、制御モデル135が操作量MV(AI)を出力すると、当該操作量MV(AI)を制御対象20に与えた場合における設備10の状態を常にシミュレーションする場合を一例として示した。しかしながら、第二の変形例に係る制御装置100においては、設備10の状態をシミュレーションする頻度を調整する。第2の変形例に係る制御装置100は、頻度調整部510を更に備える。
【0066】
頻度調整部510は、シミュレーション部150によるシミュレーションをトリガする。例えば、頻度調整部510は、シミュレーションタイミングになった場合に、設備10の状態をシミュレーションするようシミュレーション部150へ指示する。これに応じて、シミュレーション部150は、設備10の状態をシミュレーションする。この際、頻度調整部510は、設備10の状態をシミュレーションする頻度を調整可能であってよい。例えば、頻度調整部510は、制御モデル135による制御対象20の制御が開始されてからの経過時間が長くなるにつれて、シミュレーションする頻度を下げてよい。
【0067】
図6は、本実施形態の第二の変形例に係る制御装置100が、AI制御を停止するフローの一例を示す。図6においては、図2と同じ処理に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。本フローにおいては、ステップ610および620を更に備える。
【0068】
ステップ610において、制御装置100(例えば、頻度調整部510)は、シミュレーションタイミングであるか否か判定する。なお、このようなシミュレーションタイミングの初期値、および、シミュレーション間隔の初期値は予め記憶されていてよい。ステップ610においてシミュレーションタイミングでないと判定された場合(Noの場合)、制御装置100は、処理をステップ610に戻してフローを継続する。
【0069】
ステップ610においてシミュレーションタイミングであると判定された場合(Yesの場合)、制御装置100は、シミュレーション部150によるシミュレーションをトリガする。例えば、頻度調整部510は、シミュレーションタイミングになった場合に、設備10の状態をシミュレーションするようシミュレーション部150へ指示する。これに応じて、ステップ250においてシミュレーション部150は、設備10の状態をシミュレーションする。
【0070】
そして、ステップ255において、シミュレーション結果が設備10における異常の発生を示していない場合(Noの場合)に、制御装置100は、処理をステップ620へ進める。
【0071】
ステップ620において、制御装置100は、シミュレーション頻度を下げる。例えば、頻度調整部510は、予め記憶されているシミュレーション間隔に固定長を加算してシミュレーション間隔を更新する。すなわち、頻度調整部510は、次のシミュレーションタイミングまでの間隔を延ばすことで、シミュレーションする頻度を下げる。このように、AI制御が停止されずにAI制御を開始してからの経過時間が長くなってきた場合に、頻度調整部510は、AI制御が安定してきたと判断して、シミュレーション頻度を下げることができる。そして、制御装置100は、処理をステップ610に戻してフローを継続する。このように、第二の変形例に係る制御装置100において、頻度調整部510は、設備10の状態をシミュレーションする頻度を調整可能であってよい。より詳細には、頻度調整部510は、制御モデル135による制御対象20の制御が開始されてからの経過時間が長くなるにつれて、シミュレーションする頻度を下げてよい。
【0072】
第二の変形例に係る制御装置100は、設備10の状態をシミュレーションする頻度を調整可能である。特に、第二の変形例に係る制御装置100は、AI制御が開始されてからの経過時間が長くなるにつれて、シミュレーションする頻度を下げる。すなわち、第二の変形例に係る制御装置100は、AI制御の開始直後は頻繁にシミュレーションを実行し、AI制御が開始されてから長い時間が経過するにつれてシミュレーションを実行する頻度を下げる。これにより、第二の変形例に係る制御装置100によれば、AI制御の実績に応じてシミュレーションの頻度を調整することができるので、制御装置100におけるシミュレーションの処理負荷を低減させることができる。
【0073】
図7は、本実施形態の第三の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。図7においては、図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る制御装置100においては、制御部140の出力(すなわち、制御モデル135の出力)と制御対象20とが直接接続されている場合を一例として示した。しかしながら、第三の変形例に係る制御装置100においては、制御モデル135の出力を制御対象20に対して入力するか遮断するかを切り替え可能である。第三の変形例に係る制御装置100は、切替部710を更に備える。
【0074】
切替部710は、一端が制御部140の出力(すなわち、制御モデル135の出力)に接続され、他端が制御対象20の入力に接続されている。そして、切替部710は、制御モデル135の出力を制御対象20に対して入力するか遮断するかを切り替える。このような切替部710は、例えば、電気回路を開閉するスイッチにより構成されてよく、特に、電気回路の開状態を物理的な機構により実現する物理スイッチにより構成されていてよい。第三の変形例に係る制御装置100においては、停止部160は、制御モデル135による制御対象20の制御を停止させる場合に、切替部710を遮断させる。
【0075】
このように、第三の変形例に係る制御装置100は、制御モデル135の出力を制御対象20に対して入力するか遮断するかを切り替え可能である。これにより、第三の変形例に係る制御装置100によれば、AI制御を停止するにあたって、制御モデル135の出力が制御対象20に供給されてしまうことを物理的に遮断させることができ、制御モデル135の出力が誤って制御対象20に入力されてしまうことを防止することができる。
【0076】
図8は、本実施形態の第四の変形例に係る制御装置100のブロック図の一例を、制御対象20が設けられた設備10と共に示す。図8においては、図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態に係る制御装置100においては、シミュレーション結果に基づいてAI制御をただ単に停止する場合を一例として示した。しかしながら、第四の変形例に係る制御装置100においては、制御装置100は、AI制御を停止するにあたって、他の制御手段による制御に切り替えるように制御対象20に指示する。第四の変形例に係る制御装置100は、指示部810を更に備える。
【0077】
第四の変形例においては、制御対象20が、他の制御器(図示せず)から与えられた操作量MV(FB)によるフィードバック制御と、制御モデルから与えられた操作量MV(AI)によるAI制御との間で切り替え可能であるとする。
【0078】
そして、第四の変形例に係る制御装置100においては、停止部160はAI制御を停止させる場合に、その旨を指示部810へ通知する。
【0079】
これに応じて、指示部810は、制御モデル135による制御対象20の制御を停止する場合に、他の制御手段による制御に切り替えるよう制御対象20に指示する。例えば、制御対象20が、AI制御に加えてフィードバック制御が可能な場合に、指示部810は、フィードバック制御に切り替えるよう制御対象20に指示する。
【0080】
第四の変形例に係る制御装置100は、AI制御を停止するにあたって、他の制御手段による制御に切り替えるように制御対象20に指示する。これにより、第四の変形例に係る制御装置100によれば、AI制御を停止する場合であっても、他の制御手段により制御対象20の制御を継続させることができる。
【0081】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0082】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0083】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0084】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0085】
図9は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0086】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0087】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0088】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0089】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0090】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0091】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0092】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0093】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0094】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0095】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0096】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0097】
10 設備
20 制御対象
100 制御装置
110 状態データ取得部
120 操作量データ取得部
130 制御モデル生成部
135 制御モデル
140 制御部
150 シミュレーション部
155 シミュレーションモデル
160 停止部
310 出力部
320 入力部
510 頻度調整部
710 切替部
810 指示部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード
図1
図2
図3
図4
図5
図6
図7
図8
図9