(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023082751
(43)【公開日】2023-06-15
(54)【発明の名称】プラント運転シミュレーションシステム及びプラント運転シミュレーション方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20230608BHJP
【FI】
G05B23/02 R
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2021196649
(22)【出願日】2021-12-03
(71)【出願人】
【識別番号】000006208
【氏名又は名称】三菱重工業株式会社
(74)【代理人】
【識別番号】110000785
【氏名又は名称】SSIP弁理士法人
(72)【発明者】
【氏名】中出 実
(72)【発明者】
【氏名】戸田 信一
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA02
3C223AA05
3C223BA03
3C223CC02
3C223DD03
3C223EB01
3C223FF05
3C223FF13
3C223FF23
3C223FF42
3C223FF52
3C223GG01
3C223HH03
3C223HH08
3C223HH29
(57)【要約】
【課題】プラントを制御する制御ロジックの変更が制御装置の出力値に与える影響を、プラントの運転中において制御ロジックの変更前に確認することができるプラント運転シミュレーションシステムを提供する。
【解決手段】プラント運転シミュレーションシステムであって、制御装置は、任意の時刻における制御装置の制御機能による演算結果のスナップショットにタイムスタンプを付与してスナップショットをエミュレータに転送し、エミュレータは、制御装置から転送されたスナップショットに含まれる演算結果と、スナップショットに付与されたタイムスタンプが示す時刻以降のタイムスタンプが付与された入力データと、を用いて、制御装置における制御機能の現時点の演算時刻に追いつくまで、制御装置の制御機能による演算の周期よりも速い周期でエミュレータの制御モデルの演算を行うブースト演算を実行する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能を有する制御装置と、
前記制御装置の前記制御機能を模した制御モデルを含み、前記制御装置と時刻同期したエミュレータと、
を備え、
前記制御装置と前記エミュレータとは、前記入力データを前記制御装置と前記エミュレータとに共通の周期で受信し、
前記エミュレータは、前記エミュレータが受信した前記入力データにタイムスタンプを付与して記憶装置に記憶させ、
前記制御装置は、任意の時刻における前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与して前記スナップショットを前記エミュレータに転送し、
前記エミュレータは、前記制御装置から転送された前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するように構成された、プラント運転シミュレーションシステム。
【請求項2】
前記エミュレータは、前記制御装置から転送された前記スナップショットに含まれる前記演算結果を前記ブースト演算の初期値として用いるように構成された、請求項1に記載のプラント運転シミュレーションシステム。
【請求項3】
前記制御装置は、前記スナップショットを複数のデータに分割して、前記複数のデータを複数の演算周期をかけて前記エミュレータに転送するように構成された、請求項1又は2に記載のプラント運転シミュレーションシステム。
【請求項4】
前記エミュレータの前記制御モデルの制御ロジックが前記ブースト演算よりも後に変更された場合に、前記エミュレータの前記制御モデルから出力される出力データと前記制御装置の前記制御機能から出力される出力データとを対比するように構成された出力データ対比部を更に備える、請求項1乃至3の何れか1項に記載のプラント運転シミュレーションシステム。
【請求項5】
前記プラントを模擬したプラントモデルであって、前記エミュレータの前記制御モデルの出力データに応じて、前記エミュレータの前記制御モデルに入力するための入力データを生成するプラントモデルを前記エミュレータの内部又は外部に備える、請求項1乃至4の何れか1項に記載のプラント運転シミュレーションシステム。
【請求項6】
前記制御装置は、前記制御装置が前記入力データの他に受信した受信データに、受信時刻のタイムスタンプを付与して前記エミュレータに転送し、
前記エミュレータは、前記制御装置から受信した前記受信データを前記記憶装置に記憶させ、前記ブースト演算の実行中において、前記受信データに付与された前記タイムスタンプが示す時刻に前記受信データを再生するように構成された、請求項1乃至5の何れか1項に記載のプラント運転シミュレーションシステム。
【請求項7】
前記制御装置は、前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与することと、前記タイムスタンプが付与された前記スナップショットを前記エミュレータに転送することとを含む動作を複数回繰り返し、
前記エミュレータは、前記制御装置から転送された前記スナップショットの各々を前記記憶装置に記憶させるように構成された、請求項1乃至6の何れか1項に記載のプラント運転シミュレーションシステム。
【請求項8】
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能を有する制御装置と、
前記制御装置の前記制御機能を模した制御モデルを含み、前記制御装置と時刻同期したエミュレータと、
を用いたプラント運転シミュレーション方法であって、
前記制御装置と前記エミュレータとが前記制御装置と前記エミュレータとに共通の周期で前記入力データを受信するステップと、
前記エミュレータが受信した前記入力データにタイムスタンプを付与して保存するステップと、
任意の時刻における前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与して前記スナップショットを前記エミュレータに転送するステップと、
前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するステップと、
を備える、プラント運転シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プラント運転シミュレーションシステム及びプラント運転シミュレーション方法に関する。
【背景技術】
【0002】
特許文献1には、プラントの状態量に基づいてバルブやダンパ等の操作端を制御するプロセス制御装置と、プロセス制御装置の機能確認試験用のエミュレータとで構成されたオンラインシミュレーションシステムが記載されている。
【0003】
このシステムでは、ユーザからの指令によってプロセス制御モードとシミュレーションモードとの切り替えがオンラインで行われ、制御装置と実プラントとの入出力と、制御装置とエミュレータ内のプラントモデルとの入出力との切替が行われる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載のシミュレーションシステムでは、制御装置が通常制御モードでプラントの運転を行っている間には、制御機能の動作確認が実施できないため、制御装置の制御ロジックの変更(例えば制御機能のパラメータ調整や回路変更等)によって制御装置からプラントへの出力値が急変するか否かを、事前に確認することができない。
【0006】
上述の事情に鑑みて、本開示の少なくとも一実施形態は、プラントを制御する制御装置における制御ロジックの変更が制御装置の出力値に与える影響を、プラントの運転中において制御ロジックの変更前に確認することができるプラント運転シミュレーションシステム及びプラント運転シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本開示の少なくとも一実施形態に係るプラント運転シミュレーションシステムは、
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能を有する制御装置と、
前記制御装置の前記制御機能を模した制御モデルを含み、前記制御装置と時刻同期したエミュレータと、
を備え、
前記制御装置と前記エミュレータとは、前記入力データを前記制御装置と前記エミュレータとに共通の周期で受信し、
前記エミュレータは、前記エミュレータが受信した前記入力データにタイムスタンプを付与して記憶装置に記憶させ、
前記制御装置は、任意の時刻における前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与して前記スナップショットを前記エミュレータに転送し、
前記エミュレータは、前記制御装置から転送された前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するように構成される。
【0008】
上記目的を達成するため、本開示の少なくとも一実施形態に係るプラント運転シミュレーション方法は、
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能を有する制御装置と、
前記制御装置の前記制御機能を模した制御モデルを含み、前記制御装置と時刻同期したエミュレータと、
を用いたプラント運転シミュレーション方法であって、
前記制御装置と前記エミュレータとが前記制御装置と前記エミュレータとに共通の周期で前記入力データを受信するステップと、
前記エミュレータが受信した前記入力データにタイムスタンプを付与して保存するステップと、
任意の時刻における前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与して前記スナップショットを前記エミュレータに転送するステップと、
前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するステップと、
を備える。
【発明の効果】
【0009】
本開示の少なくとも一実施形態によれば、プラントを制御する制御装置における制御ロジックの変更が制御装置の出力値に与える影響を、プラントの運転中において制御ロジックの変更前に確認することができるプラント運転シミュレーションシステム及びプラント運転シミュレーション方法が提供される。
【図面の簡単な説明】
【0010】
【
図1】一実施形態に係るプラント運転シミュレーションシステム2(2A)の概略構成図である。
【
図2】制御装置4、エミュレータ6及びマンマシン装置8の各々のハードウェア構成の一例を説明するための図である。
【
図3】プラント100の運転状態をエミュレータ6によって再現する方法を説明するためのタイムチャートである。
【
図4】他の実施形態に係るプラント運転シミュレーションシステム2(2B)の概略構成図である。
【
図5】プラント運転シミュレーションシステム2(2B)についてプラント100の運転状態をエミュレータ6によって再現する方法を説明するためのタイムチャートである。
【
図6】他の実施形態に係るプラント運転シミュレーションシステム2(2C)の概略構成図である。
【
図7】プラント運転シミュレーションシステム2(2A)について、プラント100の運転状態をエミュレータ6によって再現する方法の他の例を説明するためのタイムチャートである。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して本開示の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
【0012】
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
【0013】
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
【0014】
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
【0015】
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
【0016】
図1は、一実施形態に係るプラント運転シミュレーションシステム2(2A)の概略構成図である。
【0017】
図1に示すプラント運転シミュレーションシステム2は、プラント100を制御するための制御装置4、制御装置4の機能を模擬したエミュレータ6及びプラント100の運転操作等を行うためのマンマシン装置8を備える。プラント100の種類は限定されないが、例えば発電プラントや化学プラント等であってもよい。
【0018】
制御装置4、エミュレータ6及びマンマシン装置8は、情報通信ネットワーク10によって相互に接続されており、相互に通信可能に構成されている。また、制御装置4及びエミュレータ6は、情報通信ネットワーク10とは別の制御通信ネットワーク12によって相互に接続されており、制御通信ネットワーク12には複数の入出力モジュール14が接続されている。これらの構成の機能の詳細については後述する。
【0019】
図2は、制御装置4、エミュレータ6及びマンマシン装置8の各々のハードウェア構成の一例を説明するための図である。ここでは、制御装置4、エミュレータ6及びマンマシン装置8の各々のハードウェア構成を便宜的に同一の図を用いて説明する。
【0020】
図2に示すように、制御装置4、エミュレータ6及びマンマシン装置8の各々は、例えばプロセッサ72、RAM(Random Access Memory)74、ROM(Read Only Memory)76、HDD (Hard Disk Drive)78、入力I/F80、及び出力I/F82を含み、これらがバス84を介して互いに接続されたコンピュータを用いて構成される。なお、制御装置4、エミュレータ6及びマンマシン装置8の各々のハードウェア構成は上記に限定されず、制御回路と記憶装置との組み合わせにより構成されてもよい。また制御装置4、エミュレータ6及びマンマシン装置8の各々は、各機能を実現するプログラムをコンピュータが実行することにより構成される。以下で説明する制御装置4、エミュレータ6及びマンマシン装置8の各々の機能は、例えばROM76に保持されるプログラムをRAM74にロードしてプロセッサ72で実行するとともに、RAM74やROM76におけるデータの読み出し及び書き込みを行うことで実現される。なお、不揮発性メモリの例として示したHDD78に代えて又はHDD78とともに、SD/CF/SSDなどの他の不揮発性記憶媒体が用いられてもよい。また、ROM76に保持されるプログラムは、HDD78又は他の不揮発性記憶媒体に保持されていてもよく、RAM74にロードしてプロセッサ72で実行される。
【0021】
図1に示すように、制御装置4は、プラント100を制御するための制御機能Mcを備えており、制御機能Mcを用いてプラント100の制御を行う。制御装置4は、少なくとも1つの入出力モジュール14(図示する例では複数の入出力モジュール14)を介して、プラント100と各種データの授受を行う。制御装置4の制御機能Mcは、プラント100から入出力モジュール14を介してプラント100の状態量を示す入力データを入力されることにより、プラント100を制御するための出力データ(例えばプラント100が備えるバルブやダンパ等の操作端を制御するための制御指令値等)を出力する。
【0022】
エミュレータ6は、制御装置4の制御機能Mcを模した制御モデルMdを備えており、制御装置4とエミュレータ6とは時刻同期している。制御装置4とエミュレータ6との時刻同期は、例えば高精度時刻合わせプロトコル(Precision Time Protcol:PTP)等を用いた時刻合わせによって行われてもよい。制御装置4の制御機能Mcとエミュレータ6の制御モデルMdは、例えばマンマシン装置8からダウンロードされて制御装置4及びエミュレータ6にそれぞれインストールされてもよい。
【0023】
制御装置4とエミュレータ6とは、プラント100から入出力モジュール14を介して入力された全ての入力データの各々を、制御装置4とエミュレータ6とに共通の周期で受信するように構成されている。また、エミュレータ6は、エミュレータ6が受信した全ての入力データの各々に受信時刻のタイムスタンプを付与してエミュレータ6の記憶装置(例えばエミュレータ6のHDD78等)に記憶させる。
【0024】
マンマシン装置8は、操作員がプラント100の監視及び運転操作等を行うためのマンマシンである。マンマシン装置8は、制御ロジック変更部16及び出力データ対比部18を含む。
【0025】
図3は、プラント100の運転状態をエミュレータ6によって再現する方法を説明するためのタイムチャートである。
【0026】
図3において、横軸ti(iは1以上の整数である。)は、制御装置4及びエミュレータ6の各々における演算時刻を示している。
図3に示すように、プラント100の運転中にエミュレータ6を起動し、時刻t1においてエミュレータ6の起動が完了する(ステップS11)。
【0027】
次に、制御装置4は、エミュレータ6の起動後のある任意の時刻tnにおける制御装置4の制御機能Mcによる演算結果(制御機能Mcによる演算の中間値)のスナップショットQnにその時刻tnのタイムスタンプを付与して制御装置4の記憶装置(例えば制御装置4のRAM74等)に記憶させるとともに、その時刻tnのタイムスタンプが付与されたスナップショットQnをエミュレータ6に転送する(ステップS12)。図示する例では、制御装置4は、時刻tnのタイムスタンプを付与されたスナップショットQnを複数のデータに分割して、複数のデータをN回の演算周期をかけてエミュレータ6に転送する。ここで、Nは複数であり、制御装置4は、時刻tnから時刻t(n+N)までのN回の演算周期をかけてスナップショットQnをエミュレータ6に転送する。すなわち、エミュレータ6は、時刻tnにおける制御装置4の演算結果の複製を時刻tnに開始し時刻t(n+N)に完了する。
【0028】
次に、エミュレータ6は、制御装置4から転送されたスナップショットQnに含まれる上記演算結果(時刻tnにおける制御機能Mcの演算結果)と、スナップショットQnに付与されたタイムスタンプが示す時刻である時刻tn以降のタイムスタンプが付与された上記入力データ(エミュレータ6の記憶装置に記憶された上記入力データ)と、を用いて、制御装置4における制御機能Mcの現在の演算時刻に追いつくまで、制御装置4の制御機能Mcによる演算の周期よりも速い周期でエミュレータ6の制御モデルMdの演算を行うブースト演算を実行する(ステップS13)。以下、「ブースト演算」とは上記ステップS13におけるエミュレータ6のブースト演算をいうこととする。エミュレータ6は、制御装置4から転送されたスナップショットQnに含まれる時刻tnにおける制御機能Mcの演算結果をブースト演算の初期値として用いる。図示する例では、時刻t(n+N)において、エミュレータ6は、時刻tnにおける制御機能Mcの演算結果(制御機能Mcによる演算の中間値)と、時刻tnのタイムスタンプが付与された上記入力データ(エミュレータ6の記憶装置に記憶された上記入力データ)とを用いてブースト演算を開始し、時刻tmに制御装置4における制御機能Mcの演算に追いつくことによりブースト演算を終了する。これにより、時刻tm以降において、エミュレータ6によってプラント100の運転状態を再現することが可能となる。
【0029】
時刻tmにエミュレータ6によるエミュレーションが開始され、時刻tm以降、制御装置4による制御機能Mcの演算周期とエミュレータ6による制御モデルMdの演算周期とは同一となる。そして、時刻tm以降すなわちブースト演算よりも後に、プラント100の操作員が制御ロジック変更部16を操作してエミュレータ6の制御モデルMdの制御ロジックが変更された場合に、出力データ対比部18は、エミュレータ6の制御モデルMdから出力される出力データと制御装置4の制御機能Mcから出力される出力データとを対比する。出力データ対比部18は、例えば不図示の表示装置に制御装置4の出力データとエミュレータ6の出力データとを対比表示させるように構成されていてもよいし、制御装置4の出力値とエミュレータ6の出力値との差分値を算出して差分値が閾値を超えた場合に出力値の突変の恐れを報知するためのアラート音及び/又はアラート表示を出力するように構成されていてもよい。
【0030】
ここで、上記プラント運転シミュレーションシステム2が奏する効果について説明する。
【0031】
上記プラント運転シミュレーションシステム2では、制御装置4に対して時刻同期するとともに制御機能Mcを模した制御モデルMdを有しているエミュレータ6が、制御装置4から転送されたスナップショットQnに含まれる時刻tnの演算結果(制御機能Mcによる演算の中間値)と、スナップショットQnに付与されたタイムスタンプが示す時刻である時刻tn以降のタイムスタンプが付与された入力データ(プラント100から入出力モジュール14を介してエミュレータ6に入力されてエミュレータ6の記憶装置に記憶された入力データ)と、を用いて、制御装置4における制御機能Mcの現時点の演算時刻に追いつくまで、制御装置4の制御機能Mcによる演算の周期よりも速い周期でエミュレータ6の制御モデルMdの演算を行うブースト演算を実行する。このため、プラント100のある時点の運転状態が、制御装置4とは別の装置であるエミュレータ6によって再現することができる。したがって、この状態から制御装置4の制御ロジックに変更を加えた場合に制御ロジックの変更が制御装置4の出力値に与える影響(例えば制御装置4の出力値が突変しないかどうか等)を、プラント100の運転中において制御装置4の制御ロジックを変更する前にエミュレータ6を用いて確認することができる。したがって、プラント100の制御対象の緊急停止や、予期せぬ事故が発生するリスクを低減することができる。
【0032】
図4は、他の実施形態に係るプラント運転シミュレーションシステム2(2B)の概略構成図である。
図5は、プラント運転シミュレーションシステム2(2B)についてプラント100の運転状態をエミュレータ6によって再現する方法を説明するためのタイムチャートである。
【0033】
図4に示すプラント運転シミュレーションシステム2(2B)は、プラント100を模擬したモデルであるプラントモデルMpをエミュレータ6が備えている点が
図1に示したプラント運転シミュレーションシステム2(2A)と異なり、その他の基本的構成はプラント運転シミュレーションシステム2(2A)と同様である。
図4に示す実施形態に係るプラント運転シミュレーションシステム2(2B)において、
図1に示したプラント運転シミュレーションシステム2(2A)の各構成と共通の符号は、特記しない限り
図1に示したプラント運転シミュレーションシステム2(2A)の各構成と同様の構成を示すものとし、説明を省略する。また、
図5に示すタイムチャートにおいて、時刻tmにブースト演算を完了するまでの制御装置4及びエミュレータ6の動作は、
図3を用いて説明したものと同一であるため説明を省略する。
【0034】
図4に示すプラントモデルMpには、エミュレータ6の制御モデルMdの出力データが入力される。プラントモデルMpは、エミュレータ6の制御モデルMdの出力データに応じて、エミュレータ6の制御モデルMdに入力するための入力データを生成する。プラントモデルMpは、エミュレータ6の制御モデルMdの制御演算の周期でエミュレータ6の制御モデルMdとインターフェイスする(データを授受する)。
図5に示すように、時刻tmにおいて、エミュレータ6は、プラントモデルMpが生成した入力データを用いてエミュレーションを開始する。
【0035】
なお、
図5に示す例においても、時刻tm以降、制御装置4による制御機能Mcの演算周期とエミュレータ6による制御モデルMdの演算周期とは同一となる。そして、時刻tm以降すなわちブースト演算よりも後に、プラント100の操作員が制御ロジック変更部16を操作してエミュレータ6の制御モデルMdの制御ロジックが変更された場合に、出力データ対比部18は、エミュレータ6の制御モデルMdから出力される出力データと制御装置4の制御機能Mcから出力される出力データとを上述の方法で対比する。
【0036】
上記プラント運転シミュレーションシステム2(2B)によれば、エミュレータ6の制御モデルMdの制御ロジックの変更がプラントモデルMpによって生成される入力データに与える影響を確認することにより、制御装置4の制御機能Mcの制御ロジックの変更がプラント100の出力に与える影響を把握することができる。このため、プラントモデルMpの生成する入力データを考慮して制御装置4の制御機能の制御ロジックを適切に調節することができる。
【0037】
なお、
図4に示した例示的形態では、プラントモデルMpがエミュレータ6の内部に設けられていたが、プラントモデルMpは、エミュレータ6の制御モデルMdに対して入出力データの授受を行うことができればエミュレータ6の外部に設けられていてもよい。エミュレータ6がプラントモデルMpを含む場合かつ、プラントモデルMpもスナップショットデータを持ち、制御モデルMcと同期して演算する構成とする場合においては、ブースト演算で現在のプラント運転状態に追いつかせる必要はなく、スナップショットを展開(制御演算結果の複製開始)した時点からシミュレーションを開始してもよく、また、実際の制御演算周期よりも速く演算させれば、現時点を超えた予測演算も可能となる。
【0038】
図6は、他の実施形態に係るプラント運転シミュレーションシステム2(2C)の概略構成図である。
【0039】
図6に示すプラント運転シミュレーションシステム2(2C)は、制御装置4及びエミュレータ6の機能の一部が
図3に示したプラント運転シミュレーションシステム2(2A)と異なり、その他の基本的構成はプラント運転シミュレーションシステム2(2A)と同様である。
図6に示す実施形態に係るプラント運転シミュレーションシステム2(2B)において、
図1に示したプラント運転シミュレーションシステム2(2A)の各構成と共通の符号は、特記しない限り
図1に示したプラント運転シミュレーションシステム2(2A)の各構成と同様の構成を示すものとし、説明を省略する。また、
図3を用いて説明した制御装置4及びエミュレータ6の動作についても、特記しない限り
図3を用いて説明したものと同一であるため説明を省略する。
【0040】
プラント運転シミュレーションシステム2(2C)では、制御装置4は、制御装置4がプラント100からの入力データの他に受信した受信データに、該受信データの受信時刻のタイムスタンプを付与してエミュレータ6に転送する。具体的には、例えば、プラント100を操作するための操作指令を制御装置4がマンマシン装置8から受信した場合や、他の外部装置20からの通信データを制御装置4が受信した場合に、制御装置4は、受信した受信データ(マンマシン装置8からの操作指令又は他の外部装置20からの通信データ)に受信時刻のタイムスタンプを付与してエミュレータ6に転送する。この際、制御装置4からエミュレータ6へ上記受信データを転送する経路は、情報通信ネットワーク10であってもよいし、制御通信ネットワーク12であってもよい。
【0041】
エミュレータ6は、制御装置4から受信した上記受信データをエミュレータ6の記憶装置(例えばエミュレータ6のHDD78等)に記憶させ、ブースト演算の実行中において、上記受信データに付与されたタイムスタンプが示す時刻に上記受信データを再生する。
図3に示したタイムチャートの例では、エミュレータ6は、時刻t1以降、制御装置4と同様に、プラント100からの入力データ、マンマシン装置8からの操作指令、及び外部装置20からの通信データを取り込んでエミュレータ6の記憶装置に記憶させる。そして、エミュレータ6は、制御装置4から転送されたスナップショットQnに含まれる演算結果(時刻tnにおける制御装置4の制御機能Mcの演算結果)と、スナップショットQnに付与されたタイムスタンプが示す時刻である時刻tn以降のタイムスタンプが付与された上記入力データ(エミュレータ6の記憶装置に記憶されたプラント100からの入力データ)と、エミュレータ6の記憶装置に記憶された上記受信データ(マンマシン装置8からの操作指令及び外部装置20からの通信データ)と、を用いて、時刻t(n+N)から時刻tmにかけて上述のブースト演算を行う。
【0042】
上記プラント運転シミュレーションシステム2(2C)によれば、ある時点のプラント100の運転状態(制御装置4の内部状態を含む。)をエミュレータ6で複製する過程で、制御装置4が他の外部装置20からの通信データやマンマシン装置8からの操作指令等を受信して制御装置4の制御機能の制御ロジックの状態が変化したとしても、エミュレータ6でプラント100の運転状態を複製することができる。
【0043】
図7は、上述したプラント運転シミュレーションシステム2(2A)について、プラント100の運転状態をエミュレータ6によって再現する方法の他の例を説明するためのタイムチャートであり、
図3に示したタイムチャートの変形例を示している。
【0044】
図7に示すタイムチャートにおいて、時刻tmにブースト演算を完了するまでの制御装置4及びエミュレータ6の動作は、
図3を用いて説明したものと同一であるため説明を省略する。
【0045】
図7に示す例では、時刻tmにおいてエミュレータ6がエミュレーションを開始した後に、ステップS12とエミュレータ6内でのスナップショットデータの保存及びプラント100から入出力モジュール14を介して入力された入力データの保存とを繰り返す。S12で保存されたスナップショットとスナップショットの保存間隔の間に保存した入力データ(入出力モジュール14を介して入力された入力データ)をブースト演算の開始直前に再生(この再生をS14とする。)し、S14とS13とを行う。S14とS13とは繰り返してもよく、トリップの要因を調査するための再生用データとして、S13の結果をエミュレータ6内に保存してもよい。エミュレータ6は、エミュレータ6の記憶装置に記憶されたスナップショットの各々を用いてブースト演算を実行可能に構成されており、制御装置4から転送されたスナップショットの各々に含まれる演算結果(制御機能Mcによる演算の中間値)と、S13におけるブースト演算の演算結果の各々とをエミュレータ6の記憶装置(例えばエミュレータ6のHDD78等)に保存させる。
【0046】
これにより、制御装置4の制御機能Mcの演算結果及びブースト演算の結果をエミュレータ6に逐次保存することができる。これにより、プラント100がトリップした場合などに、エミュレータ6の記憶装置に記憶されたスナップショットを用いて制御装置4内の過去の演算状態を確認することが可能となり、トリップの要因を調査することが可能となる。
【0047】
本開示は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、これらの形態を適宜組み合わせた形態も含む。
【0048】
上記各実施形態に記載の内容は、例えば以下のように把握される。
【0049】
(1)本開示の少なくとも一実施形態に係るプラント運転シミュレーションシステムは、
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能(例えば上述の制御機能Mc)を有する制御装置(例えば上述の制御装置4)と、
前記制御装置の前記制御機能を模した制御モデル(例えば上述の制御モデルMd)を含み、前記制御装置と時刻同期したエミュレータ(例えば上述のエミュレータ6)と、
を備え、
前記制御装置と前記エミュレータとは、前記入力データを前記制御装置と前記エミュレータとに共通の周期で受信し、
前記エミュレータは、前記エミュレータが受信した前記入力データにタイムスタンプを付与して記憶装置に記憶させ、
前記制御装置は、任意の時刻(例えば上述の時刻tn)における前記制御装置の前記制御機能による演算結果のスナップショット(例えば上述のスナップショットQn)にタイムスタンプを付与して前記スナップショットを前記エミュレータに転送し、
前記エミュレータは、前記制御装置から転送された前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するように構成される。
【0050】
上記(1)に記載のプラント運転シミュレーションシステムでは、制御装置に対して時刻同期するとともに制御機能を模した制御モデルを有しているエミュレータが、制御装置から転送されたスナップショットに含まれるある時点の演算結果(制御機能による演算の中間値)と、スナップショットに付与されたタイムスタンプが示す時刻以降のタイムスタンプが付与された入力データと、を用いて、制御装置における制御機能の現時点の演算時刻に追いつくまで、制御装置の制御機能の演算周期よりも速い周期でエミュレータの制御モデルの演算を行うブースト演算を実行する。このため、プラントのある時点の運転状態が、制御装置とは別のエミュレータによって再現することができる。したがって、この状態から制御装置の制御ロジックに変更を加えた場合に制御ロジックの変更が制御装置の出力値に与える影響(例えば制御装置の出力値が突変しないかどうか等)を、プラントの運転中において制御装置の制御ロジックを変更する前にエミュレータを用いて確認することができる。したがって、プラントの制御対象の緊急停止や、予期せぬ事故の発生が発生するリスクを低減することができる。
【0051】
(2)幾つかの実施形態では、上記(1)に記載のプラント運転シミュレーションシステムにおいて、
前記エミュレータは、前記制御装置から転送された前記スナップショットに含まれる前記演算結果を前記ブースト演算の初期値として用いるように構成される。
【0052】
上記(2)に記載のプラント運転シミュレーションシステムによれば、スナップショットに含まれる制御装置の演算結果をブースト演算の初期値としてブースト演算を実行することにより、プラントの運転状態をエミュレータによって適切に再現することができる。
【0053】
(3)幾つかの実施形態では、上記(1)又は(2)に記載のプラント運転シミュレーションシステムにおいて、
前記制御装置は、前記スナップショットを複数のデータに分割して、前記複数のデータを複数の演算周期(例えば上述のN回の演算周期)をかけて前記エミュレータに転送するように構成される。
【0054】
上記(3)に記載のプラント運転シミュレーションシステムによれば、スナップショットを演算の1周期のみでエミュレータに転送する場合と比較して、制御装置における転送に起因する負荷の上昇を抑制することができる。
【0055】
(4)幾つかの実施形態では、上記(1)乃至(3)の何れかに記載のプラント運転シミュレーションシステムにおいて、
前記エミュレータの前記制御モデルの制御ロジックが前記ブースト演算よりも後に変更された場合に、前記エミュレータの前記制御モデルから出力される出力データと前記制御装置の前記制御機能から出力される出力データとを対比するように構成された出力データ対比部(例えば上述の出力データ対比部18)を更に備える。
【0056】
上記(4)に記載のプラント運転シミュレーションシステムによれば、エミュレータの制御モデルの制御ロジックをブースト演算よりも後に変更することにより、エミュレータの制御モデルから出力される出力データと制御装置の制御機能から出力される出力データとで大きな差異が生じていないか(出力データに突変が生じていないか)を確認することができる。
【0057】
(5)幾つかの実施形態では、上記(1)乃至(4)の何れかに記載のプラント運転シミュレーションシステムにおいて、
前記プラントを模擬したプラントモデル(例えば上述のプラントモデルMp)であって、前記エミュレータの前記制御モデルの出力データに応じて、前記エミュレータの前記制御モデルに入力するための入力データを生成するプラントモデルを前記エミュレータの内部又は外部に備える。
【0058】
上記(5)に記載のプラント運転シミュレーションシステムによれば、エミュレータの制御モデルの制御ロジックの変更がプラントモデルによって生成される入力データに与える影響を確認することにより、制御装置の制御機能の制御ロジックの変更がプラントの出力に与える影響を把握することができる。このため、プラントモデルの生成する入力データを考慮して制御装置の制御機能の制御ロジックを適切に調節することができる。
【0059】
(6)幾つかの実施形態では、上記(1)乃至(5)の何れかに記載のプラント運転シミュレーションシステムにおいて、
前記制御装置は、前記制御装置が前記入力データの他に受信した受信データ(例えば上述のマンマシン装置8からの操作指令又は外部装置20からの通信データ)に、受信時刻のタイムスタンプを付与して前記エミュレータに転送し、
前記エミュレータは、前記制御装置から受信した前記受信データを前記記憶装置に記憶させ、前記ブースト演算の実行中において、前記受信データに付与された前記タイムスタンプが示す時刻に前記受信データを再生するように構成される。
【0060】
上記(6)に記載のプラント運転シミュレーションシステムによれば、ある時点のプラントの運転状態(制御装置の内部状態を含む。)をエミュレータで複製する過程で、制御装置が他の装置からの通信データやマンマシン装置からの操作指令等を受信して制御装置の制御機能の制御ロジックの状態が変化したとしても、エミュレータでプラントの運転状態を複製することができる。
【0061】
(7)幾つかの実施形態では、上記(1)乃至(6)の何れかに記載のプラント運転シミュレーションシステムにおいて、
前記制御装置は、前記制御装置の前記制御機能による演算結果のスナップショットにタイムスタンプを付与することと、前記タイムスタンプが付与された前記スナップショットを前記エミュレータに転送することとを含む動作を複数回繰り返し、
前記エミュレータは、前記制御装置から転送された前記スナップショットの各々を前記記憶装置(例えば上述のHDD78等)に記憶させるように構成される。
【0062】
上記(7)に記載のプラント運転シミュレーションシステムによれば、制御装置の制御機能の演算結果をエミュレータに逐次保存することができる。これにより、プラントがトリップした場合などに、記憶装置に記憶されたスナップショットを用いて制御装置内の過去の演算状態を確認することが可能となり、トリップの要因を調査することが可能となる。
【0063】
(8)本開示の少なくとも一実施形態に係るプラント運転シミュレーション方法は、
プラントの状態量に関する入力データを入力されることにより、前記プラントを制御するための出力データを出力する制御機能(例えば上述の制御機能Mc)を有する制御装置(例えば上述の制御装置4)と、
前記制御装置の前記制御機能を模した制御モデル(例えば上述の制御モデルMd)を含み、前記制御装置と時刻同期したエミュレータ(例えば上述のエミュレータ6)と、
を用いたプラント運転シミュレーション方法であって、
前記制御装置と前記エミュレータとが前記制御装置と前記エミュレータとに共通の周期で前記入力データを受信するステップと、
前記エミュレータが受信した前記入力データにタイムスタンプを付与して保存するステップと、
任意の時刻(例えば上述の時刻tn)における前記制御装置の前記制御機能による演算結果のスナップショット(例えば上述のスナップショットQn)にタイムスタンプを付与して前記スナップショットを前記エミュレータに転送するステップと、
前記スナップショットに含まれる前記演算結果と、前記スナップショットに付与された前記タイムスタンプが示す時刻以降のタイムスタンプが付与された前記入力データと、を用いて、前記制御装置における前記制御機能の現時点の演算時刻に追いつくまで、前記制御装置の前記制御機能による演算の周期よりも速い周期で前記エミュレータの前記制御モデルの演算を行うブースト演算を実行するステップと、
を備える。
【0064】
上記(8)に記載のプラント運転シミュレーションシステムによれば、制御装置に対して時刻同期するとともに制御機能を模した制御モデルを有しているエミュレータが、制御装置から転送されたスナップショットに含まれるある時点の演算結果(制御機能による演算の中間値)と、スナップショットに付与されたタイムスタンプが示す時刻以降のタイムスタンプが付与された入力データと、を用いて、制御装置における制御機能の現時点の演算時刻に追いつくまで、制御装置の制御機能の演算周期よりも速い周期でエミュレータの制御モデルの演算を行うブースト演算を実行する。このため、プラントのある時点の運転状態が、制御装置とは別のエミュレータによって再現することができる。したがって、この状態から制御装置の制御ロジックに変更を加えた場合に制御ロジックの変更が制御装置の出力値に与える影響(例えば制御装置の出力値が突変しないかどうか等)を、プラントの運転中において制御装置の制御ロジックを変更する前にエミュレータを用いて確認することができる。したがって、プラントの制御対象の緊急停止や、予期せぬ事故の発生が発生するリスクを低減することができる。
【符号の説明】
【0065】
2 プラント運転シミュレーションシステム
4 制御装置
6 エミュレータ
8 マンマシン装置
10 情報通信ネットワーク
12 制御通信ネットワーク
14 入出力モジュール
16 制御ロジック変更部
18 出力データ対比部
20 外部装置
72 プロセッサ
74 RAM
76 ROM
78 HDD
80 入力I/F
82 出力I/F
84 バス
100 プラント
Mc 制御機能
Md 制御モデル
Mp プラントモデル
Qn スナップショット