(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022115649
(43)【公開日】2022-08-09
(54)【発明の名称】制御装置、制御システム、制御プログラム及び制御方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20220802BHJP
【FI】
G05B23/02 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2021012324
(22)【出願日】2021-01-28
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】井上 寛久
(72)【発明者】
【氏名】大塚 英悟
(72)【発明者】
【氏名】池谷 祥宏
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA01
3C223BA03
3C223CC02
3C223DD03
3C223EB01
3C223EB02
3C223FF12
3C223FF23
3C223FF33
3C223GG01
3C223HH29
(57)【要約】
【課題】プラントに関するデータを扱う異なる種類のサーバ装置が存在する場合に適切なエラー対応を行えるようにする。
【解決手段】制御装置は、エラー対応を、第1のサーバ装置及び第2のサーバ装置それぞれに対して独立に設定する設定部と、第1のサーバ装置及び第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定部が設定したエラー対応に従って動作するRW部と、を備え、第1のサーバ装置は、書き込まれたデータをプラントの制御に反映するように動作し、第2のサーバ装置は、書き込まれたデータを蓄積し、データの読み書きは、RW部が第1のサーバ装置から読み出したデータを用いて計算されたプラントを制御するための計算値を書き込むことを含む。
【選択図】
図4
【特許請求の範囲】
【請求項1】
プラントに関するデータを用いてプラントを制御する制御装置であって、
第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対して独立に設定する設定部と、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには前記設定部が設定したエラー対応に従って動作するRW部と、
を備え、
前記第1のサーバ装置は、書き込まれたデータを前記プラントの制御に反映するように動作し、
前記第2のサーバ装置は、書き込まれたデータを蓄積し、
前記RW部による前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対するデータの読み書きは、前記RW部が前記第1のサーバ装置から読み出したデータを用いて計算された前記プラントを制御するための計算値を書き込むことを含む、
制御装置。
【請求項2】
前記設定部は、予め定められた複数のエラー対応から選択されるエラー対応を設定し、
前記複数のエラー対応は、
前記RW部によるデータの読み書きを続けるエラー対応と、
前記RW部によるデータの読み書きを停止するエラー対応と、
を含む、
請求項1に記載の制御装置。
【請求項3】
前記計算値を計算する計算部を備え、
前記複数のエラー対応は、前記RW部によるデータの読み書きも前記計算部による計算も停止するエラー対応を含み、
前記計算部は、前記エラーが発生したときには前記設定部が設定したエラー対応に従って動作する、
請求項2に記載の制御装置。
【請求項4】
前記計算値を計算する計算部を備え、
前記複数のエラー対応は、前記RW部による読み書きは停止するが前記計算部による計算は続けるエラー対応を含む、
請求項2又は3に記載の制御装置。
【請求項5】
前記RW部による読み書きを停止することを含むエラー対応は、同じエラーが連続して発生した場合に有効化される、
請求項2~4のいずれか1項に記載の制御装置。
【請求項6】
前記第1のサーバ装置に対するエラー対応は、前記RW部によるデータの読み書きを停止することを含むエラー対応に設定されており、前記第2のサーバ装置に対するエラー対応は、前記RW部によるデータの読み書きを続けるエラー対応に設定されており、
前記RW部は、
前記第1のサーバ装置に対するデータの読み書きにエラーが発生したときには、前記第1のサーバ装置に対するデータの読み書きを停止するが前記第2のサーバ装置に対するデータの読み書きは続け、
前記第2のサーバ装置に対するデータの読み書きにエラーが発生したときには、前記第2のサーバ装置に対するデータの読み書きも前記第1のサーバ装置に対するデータの読み書きも続ける、
請求項2~5のいずれか1項に記載の制御装置。
【請求項7】
プラントに関するデータを用いてプラントを制御する制御装置と、
書き込まれたデータを前記プラントの制御に反映するように動作する第1のサーバ装置と、
書き込まれたデータを蓄積する第2のサーバ装置と、
を備え、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対して独立に設定する設定部と、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには前記設定部が設定したエラー対応に従って動作するRW部と、
を含み、
前記RW部による前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対するデータの読み書きは、前記RW部が前記第1のサーバ装置から読み出したデータを用いて計算された前記プラントを制御するための計算値を書き込むことを含む、
制御システム。
【請求項8】
コンピュータに、プラントに関するデータを用いてプラントを制御する処理を実行させる制御プログラムであって、
第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対して独立に設定し、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには前記設定したエラー対応に従って動作する、
処理を実行させ、
前記第1のサーバ装置は、書き込まれたデータを前記プラントの制御に反映するように動作し、
前記第2のサーバ装置は、書き込まれたデータを蓄積し、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対するデータの読み書きは、前記第1のサーバ装置から読み出したデータを用いて計算された前記プラントを制御するための計算値を書き込むことを含む、
制御プログラム。
【請求項9】
プラントに関するデータを用いてプラントを制御する制御方法であって、
第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対して独立に設定することと、
前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定したエラー対応に従って対応することと、
を含み、
前記第1のサーバ装置は、書き込まれたデータを前記プラントの制御に反映するように動作し、
前記第2のサーバ装置は、書き込まれたデータを蓄積し、
前記読み書きを行うとともにエラー対応に従って対応することでの前記第1のサーバ装置及び前記第2のサーバ装置それぞれに対するデータの読み書きは、前記第1のサーバ装置から読み出したデータを用いて計算された前記プラントを制御するための計算値を書き込むことを含む、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、制御装置、制御システム、制御プログラム及び制御方法に関する。
【背景技術】
【0002】
プラントから取得したデータを用いてプラント予測等の計算を行い、計算結果に基づいてプラントを制御する制御装置が知られている(例えば特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
制御装置とプラントとの間のデータの送受信は、サーバ装置を介して行われる。例えば、制御装置がサーバ装置にアクセスしてデータを書き込み、書き込まれたデータをサーバ装置がプラントに送信する。このサーバ装置とは別のサーバ装置に、データを蓄積しておくことが考えられる。制御装置と一方のサーバ装置との間でエラーが発生した場合に、他のサーバ装置との関係も含めたエラー対応について、これまで具体的な検討は行われていない。
【0005】
本発明は、プラントに関するデータを扱う異なる種類のサーバ装置が存在する場合に適切なエラー対応を行えるようにすることを目的とする。
【課題を解決するための手段】
【0006】
一側面に係る制御装置は、プラントに関するデータを用いてプラントを制御する制御装置であって、第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、第1のサーバ装置及び第2のサーバ装置それぞれに対して独立に設定する設定部と、第1のサーバ装置及び第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定部が設定したエラー対応に従って動作するRW部と、を備え、第1のサーバ装置は、書き込まれたデータをプラントの制御に反映するように動作し、第2のサーバ装置は、書き込まれたデータを蓄積し、RW部による第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きは、RW部が第1のサーバ装置から読み出したデータを用いて計算されたプラントを制御するための計算値を書き込むことを含む。
【0007】
一側面に係る制御システムは、プラントに関するデータを用いてプラントを制御する制御装置と、書き込まれたデータをプラントの制御に反映するように動作する第1のサーバ装置と、書き込まれたデータを蓄積する第2のサーバ装置と、を備え、第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、第1のサーバ装置及び第2のサーバ装置それぞれに対して独立に設定する設定部と、第1のサーバ装置及び第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定部が設定したエラー対応に従って動作するRW部と、を含み、RW部による第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きは、RW部が第1のサーバ装置から読み出したデータを用いて計算されたプラントを制御するための計算値を書き込むことを含む。
【0008】
一側面に係る制御プログラムは、コンピュータに、プラントに関するデータを用いてプラントを制御する処理を実行させる制御プログラムであって、第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、第1のサーバ装置及び第2のサーバ装置それぞれに対して独立に設定し、第1のサーバ装置及び第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定したエラー対応に従って動作する、処理を実行させ、第1のサーバ装置は、書き込まれたデータをプラントの制御に反映するように動作し、第2のサーバ装置は、書き込まれたデータを蓄積し、第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きは、第1のサーバ装置から読み出したデータを用いて計算されたプラントを制御するための計算値を書き込むことを含む。
【0009】
一側面に係る制御方法は、プラントに関するデータを用いてプラントを制御する制御方法であって、第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、第1のサーバ装置及び第2のサーバ装置それぞれに対して独立に設定することと、第1のサーバ装置及び第2のサーバ装置それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定したエラー対応に従って対応することと、を含み、第1のサーバ装置は、書き込まれたデータをプラントの制御に反映するように動作し、第2のサーバ装置は、書き込まれたデータを蓄積し、読み書きを行うとともにエラー対応に従って対応することでの第1のサーバ装置及び第2のサーバ装置それぞれに対するデータの読み書きは、第1のサーバ装置から読み出したデータを用いて計算されたプラントを制御するための計算値を書き込むことを含む。
【発明の効果】
【0010】
本発明によれば、プラントに関するデータを扱う異なる種類のサーバ装置が存在する場合に適切なエラー対応を行うことができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係る制御装置を含む制御システムの概略構成の例を示す図である。
【
図6】制御装置において実行される処理(情報処理方法)の例を示すフローチャートである。
【
図7】エラーが発生したときの制御装置の動作の例を示すフローチャートである。
【
図8】エラーが発生したときの制御装置の動作の例を示すフローチャートである。
【
図11】アプリケーションごとのエラー対応の設定の例を示す図である。
【
図12】制御装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しつつ実施形態について説明する。同一の要素には同一の符号を付し、重複する説明は適宜省略する。
【0013】
図1は、実施形態に係る制御装置を含む制御システムの概略構成の例を示す図である。制御システム100は、プラント1の制御に用いられるプラント制御システムである。制御装置4は、プラント1の制御に用いられるプラント制御装置である。
【0014】
プラント1は、生成物を得るためのさまざまな施設を備える工場等である。生成物の例は、LNG(液化天然ガス)、樹脂(プラスチック、ナイロン等)、化学製品等である。施設の例は、工場施設、機械施設、生産施設、発電施設、貯蔵施設、石油、天然ガス等を採掘する井戸元における施設等である。
【0015】
プラント1のさまざまな場所に、フィールド機器2が設けられる。フィールド機器2は、無線通信及び/又は有線等によって、他の装置(後述の運転制御装置3、サーバ装置51及び監視装置6等)と通信可能に構成される。
【0016】
図2は、フィールド機器の例を示す図である。この例では、フィールド機器2は、センサ機器、操作機器及び警報機器に大別(分類)される。センサ機器は、例えば物理量を取得(検出、測定等)する機器である。センサ機器の例は、圧力センサ、温度センサ、流量センサ、pHセンサ、速度センサ、加速度センサ等である。操作機器は、例えば物理量を操作する機器である。操作機器の例は、バルブ、ポンプ及びファン等であり、モータ及びアクチュエータ等によって駆動される。警報機器は、アラーム等の警報を発する機器である。警報機器の例は、ランプ及びスピーカ等である。
【0017】
なお、フィールド機器2の分類は
図2に示される例に限られず、また、例示しない他のさまざまな機器がフィールド機器2に含まれてよい。
【0018】
図1に戻り、制御システム100では、制御装置4が、プラント1に関するデータを用いてプラント1を制御する。以下、プラント1に関するデータを、単に「データ」という場合もある。
【0019】
図3は、データの例を示す図である。この例では、データは、プロセス値PV、設定値SV及び操作値MVに大別(分類)される。
【0020】
プロセス値PVは、プラント1におけるプロセスの状態を示すデータである。プロセス値PVは、例えば対応するフィールド機器2によって取得される。プロセス値PVの例は、圧力、温度、流量、pH値、速度及び加速度等である。
【0021】
設定値SVは、プラント1におけるプロセス値PVの目標を示すデータ(目標値)である。設定値SVは、例えば後述する運転制御装置3に与えられ、プラント1の制御に供される。設定値SVの例は、プロセス値PVと同様に、圧力、温度、流量、pH、速度及び加速度等である。
【0022】
操作値MVは、プラント1における操作を示すデータである。操作値MVは、例えば対応するフィールド機器2から取得されたり、運転制御装置3から対応するフィールド機器2に与えられたりする。与えられた操作値MVに従って、フィールド機器2が動作する。操作値MVの例は、バルブ操作量(例えばバルブ開度)、ポンプ操作量及びファン操作量等である。
【0023】
なお、データの分類は
図3に示される例に限られず、また、例示しない他のさまざまなデータが扱われてよい。
【0024】
図1に戻り、プラント1には、運転制御装置3が設けられる。運転制御装置3は、プラント1が所望の状態で稼働するように、プラント1の運転を制御する。例えば、運転制御装置3は、プロセス値PVを設定値SVに近づけるように、操作値MVを制御する。なお、
図1には、複数の運転制御装置3が図示される。各運転制御装置3は、プラント1の対応する部分の運転制御を担当する。例えば、各運転制御装置3は、対応するフィールド機器2からデータを取得したり、対応するフィールド機器2にデータを送信したりする。運転制御装置3の数及び各運転制御装置3に対応するフィールド機器2の数は、任意に定められてよい。各運転制御装置3と各フィールド機器2とが1:1で対応していてもよい。なお、各運転制御装置3は、プラント1内に配置されてもよい。
【0025】
制御システム100の構成について説明する。制御システム100は、制御装置4と、サーバ装置51及びサーバ装置52(第1のサーバ装置及び第2のサーバ装置)と、監視装置6とを含む。なお、これまで説明したフィールド機器2及び/又は運転制御装置3も、制御システム100の構成要素として制御システム100に含まれてよい。
【0026】
制御装置4、サーバ装置51、サーバ装置52及び監視装置6は、通信可能(データの送受信が可能)に設けられる。
図1に示される例では、運転制御装置3と、サーバ装置51及び監視装置6とが、ネットワークN1を介して接続される。ネットワークN1は、データ伝達に用いられる制御バスである。先に述べたように、データは、プラント1に関するデータであり、後述するようにプラント1の制御等を行うためのデータも含む。制御には、リアルタイム制御が含まれ得る。この意味において、ネットワークN1におけるデータ伝達の欠落等の不具合を防ぐことは、極めて重要である。ネットワークN1は、例えば専用に構築された特殊なネットワークである。ネットワークN1は、信頼性向上等の観点から、二重化される。その場合、ネットワークN1は、2つの通信経路で同じデータを並列に送受信してよい。一方の通信経路に不具合等が発生しても、データの伝達(送受信)が維持される。そのようなネットワークN1の例は、Vnet/IP(登録商標)等である。
【0027】
制御装置4とサーバ装置51と監視装置6とが、ネットワークN2を介して接続される。ネットワークN2は、例えば専用に構築されたLAN(Local Area Network)である。制御装置4とサーバ装置52とが、ネットワークN2及びネットワークN3を介して接続される。ネットワークN3は、例えば、ネットワークN2と同様に専用に構築されたLANであり、インターネット等の通信網を介してネットワークN2に接続される。必須ではないが、ネットワークN2及びネットワークN3も、ネットワークN1と同様に二重化されてよい。
【0028】
制御システム100の動作の概要について、主にデータの流れに沿って説明する。なお、以下で述べる制御装置4によるデータの読み書きは、後述のRW部42(
図4)によって行われる。
【0029】
プラント1からのデータ(例えばフィールド機器2からのデータ)は、運転制御装置3及びネットワークN1を介して、サーバ装置51及び監視装置6に送信される。サーバ装置51及び監視装置6は、プラント1からのデータを、例えば周期的に取得して収集する。
【0030】
サーバ装置51によって収集されたデータは、制御装置4によって読み出される。詳細は後述するが、データ(プロセス値PV等)を用いて、プラント1を制御するための計算値が計算される。計算値の例は、設定値SV及び操作値MV等であり、制御装置4によってサーバ装置51に書き込まれる。後述するように、サーバ装置51に書き込まれた計算値が、プラント1の制御に反映される。この他に、制御装置4は、監視装置6によるプラント1の監視に供することのできる解析等(将来発生しうるアラームの予測等)を行い、解析結果を監視装置6に送信する。
【0031】
制御装置4によってサーバ装置51から読み出されたデータの少なくとも一部のデータ(例えば上述の計算に用いられたデータ)は、制御装置4によってサーバ装置51に書き込まれる。また、制御装置4によってサーバ装置51に書き込まれたデータ(上述の計算値等)も、制御装置4によってサーバ装置52に書き込まれる。サーバ装置52は、書き込まれたデータを、例えば時系列データとして、蓄積する。
【0032】
サーバ装置52に蓄積されたデータは、制御装置4によって読み出される。読み出されたデータは、例えば過去に制御装置4が行った計算結果のレビュー等に用いられる。
【0033】
監視装置6は、プラント1から取得したデータに基づいて、プラント1を監視する。例えば、監視装置6は、プラント1で発生したアラーム等に対応する情報を監視装置6のユーザ(オペレータ等)に提示したり、先に説明した制御装置4の解析結果(アラームの予測等)に対応する情報を提示したりする。
【0034】
サーバ装置51について述べる。例えば、ネットワークN1の規格(データフォーマット、通信規格等)と、ネットワークN2の規格とが異なっており、サーバ装置51は、それらの間のデータのフォーマット変換及び受け渡し等を担う。ネットワークN1のデータフォーマットは、プラント1を運転制御する運転制御装置3の独自の規格に従ってよい。ネットワークN2のデータフォーマットは、制御装置4及び監視装置6の規格、例えばOPC(Open Platform Communications)の規格に従ってよい。サーバ装置51は、OPCサーバであってよい。サーバ装置52も、OPCサーバであってよい。
【0035】
先に述べたように制御装置4の計算値がサーバ装置51に書き込まれると、サーバ装置51は、書き込まれた計算値がプラント1の制御に反映されるように動作する。例えば、計算値が設定値SVの場合、サーバ装置51は、設定値SVを運転制御装置3に送信する。運転制御装置3は、プロセス値PVを設定値SVに近づけるような操作値MVを計算し、対応するフィールド機器2に与える。計算値が操作値MVの場合、サーバ装置51は、その操作値MVを、例えば運転制御装置3を介して、対応するフィールド機器2に与える。一連の処理が繰り返し実行されることにより、運転制御装置3のみでプラント1を制御する場合よりも、プラント1が高度に制御される。このような制御装置4によるプラント1の高度制御は、APC(Advanced Process Control)等とも称される。制御装置4は、高度制御装置であってよい。
【0036】
上記の制御装置4によるプラント1の制御、とくに、サーバ装置51及びサーバ装置52それぞれに対するデータの読み書きを含む一連の処理を、「アプリケーション」と称する。アプリケーションは、目的とするプラント1の制御ごとに規定されてよい。例えば、プラント1の或る部分に関するプロセス値PVの制御を目的とするアプリケーションによる制御と、別の部分に関するプロセス値PVの制御を目的とするアプリケーションによる制御とが同時に行われてよい。なお、制御システム100のように、運転制御装置3による運転制御機能、制御装置4による高度制御機能、さらには監視装置6による監視機能等が分散されて設けられたシステムは、分散制御システム(DCS:Distributed Control System)等とも称される。
【0037】
以上説明した制御システム100において、データを扱うサーバ装置として、サーバ装置51及びサーバ装置52という種類(用途等)が異なるサーバ装置が用いられる点に留意されたい。サーバ装置51の主な用途はプラント1と制御装置4との間のデータの受け渡しであり、プラント1の制御に大きく影響する。これに対し、サーバ装置52の主な用途はデータの蓄積であり、プラント1の制御に大きくは影響しない。このようにサーバ装置51及びサーバ装置52の種類が異なるので、データの読み書きにエラーが発生した場合の対応も異なりうる。この後で説明するように、制御装置4によれば、サーバ装置51及びサーバ装置52それぞれに対して異なるエラー対応が可能になる。
【0038】
図4は、制御装置の概略構成の例を示す図である。制御装置4は、設定部41と、RW部42と、計算部43と、記憶部44とを備える。
【0039】
設定部41は、後述のRW部42によるデータの読み書きにエラーが発生したときのエラー対応を設定する。エラーは、データの読み出し及び/又は書き込みを試みたにもかかわらず、読み出し及び/又は書き込みが完了しなかったことを指し示す。エラーは、例えば、通信に不具合が生じたとき、読み書きの対象となるデータ(リクエストされたデータ)が存在しないとき、適切でないデータ(設定数値範囲外のデータ等)の読み書きがフィルタリングによって除外されたとき等、さまざまな条件において発生しうる。
【0040】
本実施形態では、設定部41は、エラー対応を、サーバ装置51及びサーバ装置52それぞれに対して独立に設定する。すなわち、サーバ装置51に対するエラー対応と、サーバ装置52に対するエラー対応とが個別に設定される。設定の詳細については、後に
図5を参照して説明する。
【0041】
RW部42(読み書き部)は、サーバ装置51及びサーバ装置52それぞれに対してデータの読み書き(READ/WRITE)を行うように構成される。具体的に、RW部31は、サーバ装置51にデータを書き込んだり、サーバ装置51からデータを読み出したりするように、サーバ装置51にアクセスする。また、RW部31は、サーバ装置52にデータを書き込んだり、サーバ装置52からデータを読み出したりするように、サーバ装置52にアクセスする。
【0042】
計算部43は、RW部42がサーバ装置51から読み出したデータを用いて、プラント1を制御するための計算値を計算する。計算値の例は、プラント1において所望のプロセス値PVを得ることのできる最適な設定値SV、操作値MV等である。例えば、計算部43は、プラント1の解析(シミュレーション)等を行う。シミュレーションには、物理モデリングやモデリング等を用いてもよく、プラント1に対応する模擬プラント(ミラープラント)が用いられてよい。模擬プラントは、プラント1と同様の構成、状態等を有するようにモデリングされ、RW部42によってリアルタイムで取得されるデータに基づき、プラント1の状態に追従するように動作する。このような模擬プラントを用いたシミュレーションはさまざまに知られているので、ここでは詳細な説明は行わない。
【0043】
RW部42及び計算部43は、設定部41が設定したエラー対応に従って動作(対応)する。これについて、エラー対応の設定の例と合わせて、
図5を参照して説明する。
【0044】
図5は、エラー対応の例を示す図である。サーバ装置51及びサーバ装置52それぞれに対して、エラー対応が個別に設定される。設定は、例えば制御装置4をユーザが操作すること(ユーザ操作)によって行われる。この例では、設定部41は、予め定められた複数のエラー対応「IGNORE」、「TERMINATE」及び「SHED」から選択されるエラー対応を設定する。図示されるように、エラー対応は、サーバ装置51及びサーバ装置52ごとだけでなく、読み出し(READ)及び書き込み(WRITE)ごとに設定される。
【0045】
IGNOREは、エラーを無視し、RW部42による読み書き及び計算部43による計算を続けるエラー対応である。IGNOREが設定されると、RW部42は、エラーが発生したときでも、データの読み書きを続ける。
【0046】
TERMINATE及びSHEDは、RW部42による読み書きを停止するエラー対応である。それぞれについて説明する。
【0047】
TERMINATEは、RW部42によるデータの読み書きも計算部43による計算も停止するエラー対応である。TERMINATEが設定されると、RW部42は、エラーが発生したときには、データの読み書きを停止する。これにより、例えば、適切でないデータがサーバ装置51に書き込まれるのを防ぐことができる。計算部43も、エラーが発生したときには、計算を停止する。これにより、例えば、適切でないデータに基づく計算が行われるのを防ぐことができる。
【0048】
SHEDは、RW部42によるデータの読み書きを停止するが計算部43による計算は続けるエラー対応である。「SHED」が設定されると、RW部42は、エラーが発生したときには、データの読み書きを停止する。一方で、計算部43は、エラーが発生したときでも、計算を続ける。計算値が計算され続けるので、例えばエラーによってサーバ装置51への計算値の書き込みができていない場合でも、エラー復旧後、その計算値又はその後さらに新しく計算された計算値をサーバ装置51に書き込み、ただちにプラント1の制御に反映させることができる。
【0049】
上述のTERMINATE及びSHEDは、同じエラーが連続して発生した場合に有効化されてよい。有効化は、エラー対応に従う動作を実際にRW部42及び計算部43が開始することを指し示す。
図5に示される例では、TERMINATE及びSHEDに対して、「Counter」が設定される。Counterは、1以上の整数を指定する。例えば設定部41は、同じエラーの連続発生回数をカウントし、カウント数がCounterの数になったときに、エラー対応を有効化する。Counterの数を2以上に設定することで、同じエラーが連続して発生した場合にのみエラー対応を有効化することができる。これにより、例えばエラー対応の必要性の高い連続性のあるエラーに対してのみ、エラー対応することができる。
【0050】
図4に戻り、記憶部44は、制御装置4において実行される処理に必要な種々の情報を記憶する。
図4には、記憶部44に記憶される情報の例として、制御プログラム44aが例示される。制御プログラム44aは、コンピュータに制御装置4の処理を実行させるプログラム(ソフトウェア)である。この他にも、これまで説明した設定部41による設定、RW部42による読み書き及び計算部43による計算等に必要な種々の情報が、記憶部44に記憶されてよい。
【0051】
図6は、制御装置4において実行される処理(制御方法)の例を示すフローチャートである。
【0052】
ステップS1において、サーバ装置51及びサーバ装置52それぞれに対するエラー対応を設定する。制御装置4の設定部41が、サーバ装置51に対するエラー対応と、サーバ装置52に対するエラー対応とを独立に設定する。
【0053】
ステップS2において、データの読み書きを行うとともに、エラーが発生したときにはエラー対応に従って対応する。制御装置4のRW部42が、サーバ装置51及びサーバ装置52それぞれに対してデータの読み書きを行う。これまで説明したように、データの読み書きには、RW部42がサーバ装置51から読み出したデータを用いた計算部43の計算値の書き込み等が含まれ、それによってプラント1が制御される。RW部42及び計算部43は、データの読み書きにエラーが発生したときには、先のステップS1で設定されたエラー対応に従って動作する。
【0054】
以上説明した制御装置4によれば、設定部41が、サーバ装置51に対するエラー対応とサーバ装置52に対するエラー対応とを独立に設定する。RW部42及び計算部43は、エラーが発生したときには、設定部41の設定結果に従って動作する。これにより、サーバ装置51及びサーバ装置52それぞれに対して適切なエラー対応を行うことができる。仮にそのような独立設定ができないとすると、例えば一方のサーバ装置に対するデータの読み書きにエラーが発生しただけで両方のサーバ装置に対する読み書きを停止するしかなくなるといった問題が生じうる。実施形態によれば、このような問題が解消される。この点について、
図7及び
図8も参照して説明する。
【0055】
図7及び
図8は、エラーが発生したときの制御装置の動作の例を示すフローチャートである。実施例では、サーバ装置51に対するエラー対応としてTERMINATE又はSHEDが設定され、サーバ装置52に対するエラー対応としてIGNOREが設定される。比較例では、サーバ装置51及びサーバ装置52の少なくとも一方のサーバ装置に対するデータの読み書きにエラーが発生しただけで、サーバ装置51及びサーバ装置52の両方に対するデータの読み書きが停止される。
【0056】
図7には、サーバ装置51に対するRW部42によるデータの読み書きにエラーが発生した場合の制御装置4の動作の例が示される。実施例では、サーバ装置51に対するデータの読み書きにエラーが発生すると(ステップS11)、サーバ装置51に対するデータの読み書きは停止するが、サーバ装置52に対するデータの読み書きは続ける(ステップS12)。これに対し、比較例では、サーバ装置51に対するデータの読み書きにエラーが発生すると(ステップS21)、サーバ装置51に対するデータの読み書きを停止するだけでなく、サーバ装置52に対するデータの読み書きも停止する(ステップS22)。
【0057】
上述の
図7の例によると、実施例及び比較例のいずれでも、サーバ装置51に対するデータの読み書きを停止するので(ステップS11及びステップS21)、例えば適切でないデータがサーバ装置51に書き込まれプラント1の制御に反映されるといったリスクを回避することができる。しかしながら、比較例では、サーバ装置52に対してもデータの読み書きを停止するので(ステップS22)、データの蓄積等が途切れてしまう。これに対し、実施例では、サーバ装置52に対するデータの読み書きを続けるので(ステップS12)、データの蓄積等が継続される。先に説明したようにサーバ装置52はデータ蓄積用のサーバ装置でありプラント1の制御への影響が小さいので、例えば適切でないデータの書き込みを続けても、大きな問題は生じない。
【0058】
図8には、サーバ装置52に対するRW部42によるデータの読み書きにエラーが発生した場合の制御装置4の動作の例が示される。実施例では、サーバ装置52に対するデータの読み書きにエラーが発生しても(ステップS31)、サーバ装置52に対するデータの読み書きも、サーバ装置51に対するデータの読み書きも続ける(ステップS32)。これに対し、比較例では、サーバ装置52に対するデータの読み書きにエラーが発生すると(ステップS41)、サーバ装置52に対するデータの読み書きを停止するだけでなく、サーバ装置51に対するデータの読み書きも停止する(ステップS42)。
【0059】
上述の
図8の例によると、比較例では、サーバ装置51に対するデータの読み書きが停止されるので(ステップS42)、制御装置4によるプラント1の制御が途切れてしまう。これに対し、実施例では、サーバ装置51に対するデータの読み書きを続ける(ステップS32)。従って、制御装置4によるプラント1の高度制御を含む制御が途切れるのを防ぐことができる。
【0060】
以上、本開示の一実施形態について説明した。開示される技術は、上記の実施形態に限られない。いくつかの変形例について説明する。
【0061】
上記実施形態では、エラー対応がIGNORE、TERMINATE及びSHEDから選択される例について説明した。これら以外にもさまざまなエラー対応が準備され選択されてよい。
【0062】
上記実施形態では、種類の異なるサーバ装置として、サーバ装置51及びサーバ装置52の2種類のサーバ装置を例に挙げて説明した。ただし、これら以外にも、用途等に応じたさまざまな種類のサーバ装置が用いられ、それらに対してエラー対応が独立に設定されてよい。
【0063】
上記実施形態では、サーバ装置51及びサーバ装置52がそれぞれ1つずつ存在する例について説明した。ただし、それらのサーバ装置の一方又は両方のサーバ装置が複数存在してもよい。
【0064】
図9は、複数サーバ装置構成の例を示す図である。複数のサーバ装置のうち、サーバ装置51-1、サーバ装置51-2、サーバ装置51-3、サーバ装置52-1、サーバ装置52-2及びサーバ装置52-3の合計6つのサーバ装置が図示される。サーバ装置51-1、サーバ装置51-2及びサーバ装置51-3それぞれは、これまで説明したサーバ装置51(
図1)と同様の機能を有する。例えば、扱われるデータが、サーバ装置51-1、サーバ装置51-2及びサーバ装置51-3それぞれで分担される。サーバ装置52-1、サーバ装置52-2及びサーバ装置52-3それぞれは、これまで説明したサーバ装置52(
図1)と同様の機能を有する。例えば、扱われるデータが、サーバ装置52-1、サーバ装置52-2及びサーバ装置52-3それぞれで分担される。
【0065】
図10は、エラー対応の例を示す図である。制御装置4の設定部41(
図4)は、サーバ装置それぞれのエラー対応を独立に設定してよい。この例では、サーバ装置51-1、サーバ装置51-2及びサーバ装置51-3に対して、エラー対応A、エラー対応B及びエラー対応Cが設定される。サーバ装置52-1、サーバ装置52-2及びサーバ装置52-3それぞれに対して、エラー対応D、エラー対応E及びエラー対応Fが設定される。エラー対応A~エラー対応Fは、具体的には先に
図5を参照して説明したように、読み出し及び書き込みごとにIGNORE、TERMINATE又はSHEDが設定されたエラー対応である。
【0066】
上述のような複数のサーバ装置51-1等が複数のアプリケーションによる制御に用いられる場合、制御装置4の設定部41は、アプリケーションごとに、同じ種類のサーバに対するエラー対応をまとめて設定してよい。これにより、エラー対応の設定に要するユーザ操作の手間等を低減することができる。
【0067】
図11は、アプリケーションごとのエラー対応の設定の例を示す図である。アプリケーションAP1に、サーバ装置51-1及びサーバ装置52-1が用いられる。アプリケーションAP2に、サーバ装置51-2、サーバ装置51-3、サーバ装置52-2及びサーバ装置52-3が用いられる。サーバ装置51-1に対してエラー対応Aが設定され、サーバ装置52-1に対してエラー対応Bが設定される。サーバ装置51-2及びサーバ装置51-3に対してエラー対応Cがまとめて設定され、サーバ装置52-2及びサーバ装置52-3に対してエラー対応Dがまとめて設定される。
【0068】
図12は、制御装置のハードウェア構成の例を示す図である。例示されるハードウェア構成を備えるコンピュータ等が、これまで説明した制御装置4として機能する。この例では、制御装置4は、バス等で相互に接続される通信装置4a、表示装置4b、HDD(Hard Disk Drive)4c、メモリ4d及びプロセッサ4eを備える。
【0069】
通信装置4aは、ネットワークインタフェースカードなどであり、他の装置との通信を可能にする。表示装置4bは、例えばタッチパネルやディスプレイなどである。HDD4cは、記憶部44として機能し、例えば制御プログラム44aを記憶する。
【0070】
プロセッサ4eは、制御プログラム44aをHDD4c等から読み出してメモリ4dに展開することで、コンピュータを、制御装置4として機能させる。機能は、これまで説明したような設定部41の機能、RW部42の機能及び計算部43の機能を含む。
【0071】
制御プログラム44aは、インターネットなどのネットワークを介して配布することができる。また、制御プログラム44aは、ハードディスク、フレキシブルディスク(FD)、CD-ROM、MO(Magneto-Optical disk)、DVD(Digital Versatile Disc)などのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することができる。
【0072】
制御装置4以外の装置、例えば運転制御装置3、サーバ装置51、サーバ装置52及び監視装置6等も、上述と同様のハードウェア構成を備えてよい。
【0073】
以上説明した制御装置4は、例えば次のように特定される。
図1、
図4及び
図5等を参照して説明したように、制御装置4は、プラント1に関するデータを用いてプラントを制御する制御装置である。制御装置4は、設定部41と、RW部42と、を備える。設定部41は、サーバ装置51及びサーバ装置52(第1のサーバ装置及び第2のサーバ装置)それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、サーバ装置51及びサーバ装置52それぞれに対して独立に設定する。RW部42は、サーバ装置51及びサーバ装置52それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定部41が設定したエラー対応に従って動作する。サーバ装置51は、書き込まれたデータをプラント1の制御に反映するように動作する。サーバ装置52は、書き込まれたデータを蓄積する。RW部42によるサーバ装置51及びサーバ装置52それぞれに対するデータの読み書きは、RW部42がサーバ装置51から読み出したデータを用いて計算されたプラント1を制御するための計算値を書き込むことを含む。
【0074】
上記の制御装置4によれば、設定部41によってサーバ装置51に対するエラー対応とサーバ装置52に対するエラー対応とが独立に設定され、RW部42は、エラーが発生したときには、設定部41が設定したエラー対応に従って動作する。従って、プラント1に関するデータを扱う種類の異なるサーバ装置51及びサーバ装置52が存在する場合に、適切なエラー対応を行えるようになる。
【0075】
図5等を参照して説明したように、設定部41は、予め定められた複数のエラー対応から選択されるエラー対応を設定し、複数のエラー対応は、RW部によるデータの読み書きを続けるエラー対応(IGNORE)と、RW部42によるデータの読み書きを停止するエラー対応(TERMINATE、SHED)と、を含んでよい。例えばこのような複数のエラー対応から選択することで、サーバ装置51及びサーバ装置52それぞれに適したエラー対応を設定することができる。
【0076】
図4及び
図5等を参照して説明したように、制御装置4は、計算値を計算する計算部43を備え、複数のエラー対応は、RW部42によるデータの読み書きも計算部43による計算も停止するエラー対応(TERMINATE)を含み、計算部43は、RW部42によるデータの読み書きにエラーが発生したときには設定部41が設定したエラー対応に従って動作してよい。これにより、例えば、適切でないデータがサーバ装置51に書き込まれたり、適切でないデータに基づく計算が行われたりするのを防ぐことができる。複数のエラー対応は、RW部42による読み書きは停止するが計算部43による計算は続けるエラー対応(SHED)を含んでもよい。これにより、例えば、エラー復旧後に計算値をサーバ装置51に書き込んで、ただちにプラント1の制御に反映させることができる。
【0077】
図5を参照して説明したように、RW部42による読み書きを停止することを含むエラー対応(TERMINATE、SHED)は、同じエラーが連続して発生した場合に有効化されてよい。これにより、例えばエラー対応の必要性の高い連続性のあるエラーに対してのみ、エラー対応することができる。
【0078】
図7及び
図8等を参照して説明したように、サーバ装置51に対するエラー対応は、RW部42によるデータの読み書きを停止することを含むエラー対応(TERMINATE又はSHED)に設定されており、サーバ装置52に対するエラー対応は、RW部42によるデータの読み書きを続けるエラー対応(IGNORE)に設定されており、RW部42は、サーバ装置51に対するデータの読み書きにエラーが発生したときには(ステップS11)、サーバ装置51に対するデータの読み書きを停止するがサーバ装置52に対するデータの読み書きは続け(ステップS12)、サーバ装置52に対するデータの読み書きにエラーが発生したときには(ステップS31)、サーバ装置52に対するデータの読み書きもサーバ装置51に対するデータの読み書きも続けてよい(ステップS32)。これにより、例えば、サーバ装置51に対するデータの読み書きにエラーが発生したときには、プラント1の制御への影響が大きいプラント1に適切でないデータが書き込まれるのを防ぎつつサーバ装置52によるデータの蓄積を継続することができる。サーバ装置52に対するデータの読み書きにエラーが発生したときでも、制御装置4によるプラント1の制御が途切れるのを防ぐことができる。
【0079】
図1、
図4及び
図5等を参照して説明した制御システム100も、本開示の一態様である。制御システム100は、制御装置4と、サーバ装置51と、サーバ装置52とを備える。このような制御システム100によっても、これまで説明したように適切なエラー対応を行えるようになる。
【0080】
図4等を参照して説明した制御プログラム44aも、本開示の一態様である。すなわち、制御プログラム44aは、コンピュータに、プラントに関するデータを用いてプラント1を制御する処理を実行させる制御プログラムであって、サーバ装置51及びサーバ装置52(第1のサーバ装置及び第2のサーバ装置)それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、サーバ装置51及びサーバ装置52それぞれに対して独立に設定し、サーバ装置51及びサーバ装置52それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定したエラー対応に従って動作する、処理を実行させる。サーバ装置51は、書き込まれたデータをプラント1の制御に反映するように動作する。サーバ装置52は、書き込まれたデータを蓄積する。サーバ装置51及びサーバ装置52それぞれに対するデータの読み書きは、サーバ装置51から読み出したデータを用いて計算されたプラント1を制御するための計算値を書き込むことを含む。このような制御プログラム44aによっても、これまで説明したように適切なエラー対応を行えるようになる。
【0081】
図6等を参照して説明した制御方法も、本開示の一態様である。制御方法は、プラント1に関するデータを用いてプラント1を制御する制御方法であって、サーバ装置51及びサーバ装置52それぞれに対するデータの読み書きにエラーが発生したときのエラー対応を、サーバ装置51及びサーバ装置52それぞれに対して独立に設定すること(ステップS1)と、サーバ装置51及びサーバ装置52それぞれに対してデータの読み書きを行うとともに、当該データの読み書きにエラーが発生したときには設定したエラー対応に従って対応すること(ステップS2)と、を含む。サーバ装置51は、書き込まれたデータをプラント1の制御に反映するように動作する。サーバ装置52は、書き込まれたデータを蓄積する。読み書きを行うとともにエラー対応に従って対応すること(ステップS2)でのサーバ装置51及びサーバ装置52それぞれに対するデータの読み書きは、サーバ装置51から読み出したデータを用いて計算されたプラント1を制御するための計算値を書き込むことを含む。このような制御方法によっても、これまで説明したように適切なエラー対応を行えるようになる。
【符号の説明】
【0082】
1 プラント
2 フィールド機器
3 運転制御装置
4 制御装置
41 設定部
42 RW部
43 計算部
44 記憶部
44a 制御プログラム
51 サーバ装置
52 サーバ装置
6 監視装置
100 制御システム