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

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

▶ 東芝三菱電機産業システム株式会社の特許一覧

<>
  • 特許-分散制御システム 図1
  • 特許-分散制御システム 図2
  • 特許-分散制御システム 図3
  • 特許-分散制御システム 図4
  • 特許-分散制御システム 図5
  • 特許-分散制御システム 図6
  • 特許-分散制御システム 図7
  • 特許-分散制御システム 図8
  • 特許-分散制御システム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-13
(45)【発行日】2023-09-22
(54)【発明の名称】分散制御システム
(51)【国際特許分類】
   G06F 9/50 20060101AFI20230914BHJP
   G05B 19/042 20060101ALI20230914BHJP
【FI】
G06F9/50 150C
G05B19/042
【請求項の数】 5
(21)【出願番号】P 2020127977
(22)【出願日】2020-07-29
(65)【公開番号】P2022025254
(43)【公開日】2022-02-10
【審査請求日】2022-08-09
(73)【特許権者】
【識別番号】501137636
【氏名又は名称】東芝三菱電機産業システム株式会社
(74)【代理人】
【識別番号】100108062
【弁理士】
【氏名又は名称】日向寺 雅彦
(74)【代理人】
【識別番号】100168332
【弁理士】
【氏名又は名称】小崎 純一
(74)【代理人】
【識別番号】100146592
【弁理士】
【氏名又は名称】市川 浩
(74)【代理人】
【識別番号】100172188
【弁理士】
【氏名又は名称】内田 敬人
(72)【発明者】
【氏名】許斐 真広
【審査官】松本 泰典
(56)【参考文献】
【文献】米国特許出願公開第2019/0041824(US,A1)
【文献】特開2020-30507(JP,A)
【文献】特開2020-67972(JP,A)
【文献】特開2019-185444(JP,A)
【文献】特表2021-503639(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/042
G06F 9/50
(57)【特許請求の範囲】
【請求項1】
プロセス制御システムを構成する装置および機器のタグならびに前記装置および機器のアドレス情報を管理するとともに、設定された制御プログラムおよび情報ネットワークを介して接続されたクライアントコンピュータによって前記装置および機器を制御するための第1ソフトウェア、前記タグおよび前記アドレス情報にもとづいてHMI画面を管理し表示するための第2ソフトウェア、および前記装置および機器から収集された時系列データを前記タグおよび前記アドレス情報に関連付けて管理し保存するための第3ソフトウェアを、それぞれ分担して実行する第1CPUと、
前記第1CPUに接続された第1メモリと、
を備え、
前記第1CPUは、前記第1メモリを介して、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理を実行し、いずれかに異常または故障を生じているか否かを監視し、
前記第1CPUは、
前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否か監視する第1監視コアと、
前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれを分担して直接処理する複数のコアと、
を含み、
前記第1監視コアは、前記第1メモリを介して前記複数のコアのそれぞれと通信することによって、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否かを検出し、
前記複数のコアのうち異常または故障を生じているコアの処理の少なくとも一部を代替して実行する分散制御システム。
【請求項2】
前記第1監視コアは、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理の異常または故障の程度に応じた割合で代替処理を実行する請求項記載の分散制御システム。
【請求項3】
前記第1監視コアは、前記複数のコアのいずれかとの通信が切断されたことを検出した場合には、前記複数のコアのうち通信が切断されたコアで実行していたソフトウェアをすべて処理する請求項記載の分散制御システム。
【請求項4】
前記第1CPUに接続され、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアを分担して実行し得る第2CPUと、
前記第2CPUに接続された第2メモリと、
をさらに備え、
前記第2CPUは、前記第1CPUに異常または故障が生じた場合には、前記第1メモリの記憶内容を前記第2メモリに転送し、前記第1CPUに代わって、前記第2メモリを介して、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理を実行し、いずれかに異常または故障を生じているか否かを監視する請求項1~のいずれか1つに記載の分散制御システム。
【請求項5】
前記第2CPUは、
前記第1CPUに異常または故障が生じた場合に、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否か監視する第2監視コアと、
前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれを分担して処理する複数のコアと、
を含み、
前記第2監視コアは、前記第2メモリを介して前記複数のコアのそれぞれと通信することによって、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否かを検出し、
前記複数のコアのうち、異常または故障を生じているコアの処理の少なくとも一部を代替して実行する請求項記載の分散制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プラントの監視制御システムのための分散制御システムに関する。
【背景技術】
【0002】
従来、分散制御システム(Distributed Control System、以下、DCSともいう)は、制御ネットワークと情報ネットワークの2系統以上のネットワークで構築された監視制御システム中で用いられる。このような監視制御システムは、DCSのほか、HMIサーバ、データサーバ、DCSエンジニアリングツールサーバ、HMIエンジニアリングツールサーバといった、さまざまなコンポーネントやこれらのコンポーネントに導入される種々のソフトウェアにより構築される。
【0003】
エンジニアリングツールのようなソフトウェアがサーバやプラットフォームごとに異なっていると、これらツール等の操作者も専任担当者を設ける等の必要が生じる。また、監視制御ネットワークは、仕様の異なるネットワーク上で構築されることから、専任のネットワークエンジニアを設ける必要が生じる場合もあり、コンポーネントやソフトウェアの一部を変更したり、修正したりするような場合であっても、それぞれの専任者が分業して作業を行う必要があり、変更等の規模が大きくなる傾向にある。
【0004】
監視制御システムが設置されるプラントの規模はさまざまであり、既存のサーバ等のコンポーネントやソフトウェアの組合せでは、ある程度以下の規模のプラントでは、過剰な仕様となる場合も少なくない。プラントの規模に応じた監視制御システムを構築できる分散制御システムが求められている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2007-249562号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
プラントの規模に応じた監視制御システムを構築できる分散制御システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の実施形態に係る分散制御システムは、プロセス制御システムを構成する装置および機器のタグならびに前記装置および機器のアドレス情報を管理するとともに、設定された制御プログラムおよび情報ネットワークを介して接続されたクライアントコンピュータによって前記装置および機器を制御するための第1ソフトウェア、前記タグおよび前記アドレス情報にもとづいてHMI画面を管理し表示するための第2ソフトウェア、および前記装置および機器から収集された時系列データを前記タグおよび前記アドレス情報に関連付けて管理し保存するための第3ソフトウェアを、それぞれ分担して実行する第1CPUと、前記第1CPUに接続された第1メモリと、を備える。前記第1CPUは、前記第1メモリを介して、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理を実行し、いずれかに異常または故障を生じているか否かを監視する。前記第1CPUは、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否か監視する第1監視コアと、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれを分担して直接処理する複数のコアと、を含む。前記第1監視コアは、前記第1メモリを介して前記複数のコアのそれぞれと通信することによって、前記第1ソフトウェア、前記第2ソフトウェアおよび前記第3ソフトウェアのそれぞれの処理に異常または故障が生じているか否かを検出し、前記複数のコアのうち異常または故障を生じているコアの処理の少なくとも一部を代替して実行する。
【発明の効果】
【0008】
本実施形態では、プラントの規模に応じた監視制御システムを構築できる分散制御システムが実現される。
【図面の簡単な説明】
【0009】
図1】第1の実施形態に係る分散制御システムを例示する模式的なブロック図である。
図2図1の分散制御システムを含む監視制御システムを例示する模式的なブロック図である。
図3図3(a)および図3(b)は、第1の実施形態の分散制御システムの動作を説明するための模式的なブロック図である。
図4】第1の実施形態の分散制御システムの動作を説明するフローチャートの例である。
図5】比較例の分散制御システムを含む監視制御システムを例示する模式的なブロック図である。
図6】比較例の分散制御システムの動作を説明するための模式的なブロック図である。
図7】第2の実施形態に係る分散制御システムを例示する模式的なブロック図である。
図8】第2の実施形態の分散制御システムの動作を説明するための模式的なブロック図である。
図9】第2の実施形態の分散制御システムの動作を説明するためのフローチャートの例である。
【発明を実施するための形態】
【0010】
以下、図面を参照しつつ、本発明の実施形態について説明する。
なお、図面は模式的または概念的なものであり、各部分の厚みと幅との関係、部分間の大きさの比率などは、必ずしも現実のものと同一とは限らない。また、同じ部分を表す場合であっても、図面により互いの寸法や比率が異なって表される場合もある。
なお、本願明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して詳細な説明を適宜省略する。
【0011】
(第1の実施形態)
図1は、本実施形態に係る分散制御システムを例示する模式的なブロック図である。
図1に示すように、本実施形態の分散制御システム(以下、オールインワンDCSという)10は、演算装置(以下、CPUという)20と、メモリ30と、を備える。オールインワンDCS10は、CPU20で実行される複数のソフトウェアを、メモリ30を介して、協調してあるいは独立して動作させる。CPU20で実行される複数のソフトウェアは、監視制御システムを構築するのに必要なソフトウェア群である。これら複数のソフトウェアは、たとえば、一般的な分散制御システム(以下、一般的なDCSを単にDCSという)の機能を実現するための1つ以上のソフトウェア、HMIサーバの機能を実現するための1つ以上のソフトウェア、データサーバの機能を実現するための1つ以上のソフトウェアおよび各種サーバを利用するためのツール(エンジニアリングツール)等を含むことができる。
【0012】
CPU20は、各種サーバの機能を実現するためのこれら複数のソフトウェアが正常に動作しているか否かを監視する機能を含んでいる。この例では、CPU20は、複数のコアを含んでおり、複数のコアは、それぞれ機能を分担して動作する。
【0013】
CPU20の複数のコア22~28は、機能ごとに監視コア22とコア1~コア3とを含む。監視コア22は、他のコア1~3で動作しているソフトウェアが正常であるか否かを監視する。コア1~3は、各種サーバの機能を実現するためのソフトウェアを実行する。たとえば、コア1(図では、符号24と表記)は、DCSの機能を実現するソフトウェアを実行する。コア2(図では、符号26と表記)は、HMIサーバの機能を実現するソフトウェアを実行する。コア3(図では、符号28と表記)は、データサーバの機能を実現するソフトウェアを実行する。CPU20のコアは、4つに限らず、2つでもよいし、3つでもよく、5つ以上でもよい。追加されたコアで、各種エンジニアリングツールの機能を実現するソフトウェアを実行するようにしてもよい。
【0014】
メモリ30は、各コア22~28に接続されている。メモリ30は、共有メモリであり、監視コア22と各コア24~28との相互のデータの送受信に介在する。監視コア22および各コア24~28とメモリ30との間は、たとえば専用のデータバスで接続される。
【0015】
図2は、図1の分散制御システムを含む監視制御システムを例示する模式的なブロック図である。
図2に示すように、本実施形態のオールインワンDCS10は、任意の通信インタフェースを含むことができる。この例では、オールインワンDCS10は、有線通信インタフェース(図では、有線I/Fと表記)12および無線通信インタフェース(図では、無線I/Fと表記)14を含んでいる。
【0016】
監視制御システムは、オールインワンDCS10と、1台または複数のクライアントPC50,60と、を含むことができる。クライアントPC50は、有線通信インタフェース52を有しており、この監視制御システムでは、クライアントPC50は、情報ネットワーク6を介して、オールインワンDCS10と接続することができる。クライアントPC60は、無線通信インタフェース62を有しており、この監視制御システムでは、クライアントPC60は、無線の情報ネットワーク8を介して、オールインワンDCS10と接続することができる。
【0017】
情報ネットワーク6,8は、汎用の通信ネットワークであり、オールインワンDCS10を介して、オールインワンDCS10が管理し、制御するプラント制御システムを、クライアントPC50,60によって、遠隔地等から容易に監視し、制御することができる。
【0018】
無線通信インタフェースを、最新の移動通信システム、たとえば第5世代移動通信システムに対応するものとすることによって、クライアントPC60は、オールインワンDCS10を介して、大容量のデータの送受信をともなうプラント制御システムを監視し、制御することができる。
【0019】
このように、本実施形態のオールインワンDCS10では、監視制御システムのための複数のソフトウェアを協調して、あるいは独立して動作させることができる。そのため、各種サーバの機能のほとんどすべてを実現することにより、大容量のサーバを用いることなく、プラントの規模に応じた監視制御システムを構築することができる。
【0020】
本実施形態のオールインワンDCS10の動作についてより詳細に説明する。
図3(a)および図3(b)は、本実施形態のオールインワンDCSの動作を説明するための模式的なブロック図である。
図3(a)および図3(b)では、メモリ(共有メモリ)が省略されているが、監視コア22およびコア24~28は、メモリを介してデータの送受信するものとする。
以下の例では、デフォルトでは、コア1~コア3が監視制御システムの各機能を実現するソフトウェアを分担して実行するものとする。たとえば、コア1は、DCSの機能を実現するためのソフトウェアを実行する。コア2は、HMIサーバの機能を実現するためのソフトウェアを実行する。コア3は、データサーバの機能を実現するためのソフトウェアを実行する。
図3(a)は、コア2でのソフトウェア処理による負荷が過剰になった場合の動作を示している。
図3(b)は、監視コア22とコア2との通信が切断された場合の動作を示している。コア2の動作不良あるいは通信線の切断等により、通信は切断される。
【0021】
図3(a)および図3(b)に示すように、監視コア22は、各コア1~3と常時通信している。監視コア22は、ヘルシーカウンタ22aを介して、各コア1~3と通信することによって、各コアにおける各種処理の負荷の状態を監視することができる。
【0022】
図3(a)の例では、監視コア22は、ヘルシーカウンタ22aによって、コア2のソフトウェア処理の負荷が所定値よりも重くなっていること(軽故障)を検出している。
【0023】
コア2に軽故障を検出した監視コア22は、コア2のソフトウェア処理の一部を代替して実行する。
【0024】
その後、監視コア22は、コア2によるソフトウェア処理が、監視コア22による代替分を含めて所定値を下回ったことを検出すると、ソフトウェアの代替処理を終了し、コア2は正常処理に移行する。
【0025】
図3(b)の例では、監視コア22は、ヘルシーカウンタ22aによって、コア2との通信が切断されたこと(重故障)を検出している。
【0026】
コア2に重故障を検出した監視コア22は、コア2が実行しているソフトウェア処理のすべてを代替して実行する。
【0027】
監視コア22は、コア2の重故障が解消されれば、ソフトウェアの代替を終了し、コア2は正常処理に移行する。
【0028】
監視コア22は、他のコア1,3も同時に監視しており、コア1~3の状態に応じて、ソフトウェアの一部代替または全部代替して処理を実行する。
【0029】
オールインワンDCS10の一連の動作をフローチャートを用いて説明する。
図4は、本実施形態のオールインワンDCSの動作を説明するフローチャートの例である。
図4に示すように、ステップS100において、CPU20は、監視コア22が正常であるか否かをチェックする。
【0030】
監視コア22が正常に動作している場合には、処理はステップS101に遷移される。
ステップS101において、監視コア22は、ヘルシーカウンタ22aを監視する。
【0031】
ステップS101において、監視コア22は、ヘルシーカウンタ22aによって、コア1~3の動作に異常・故障がないか判定する。
【0032】
監視コア22は、各コア1~3の動作に異常・故障がない場合には、処理をステップS100に戻して、上述の動作を繰り返す。
監視コア22は、コア1~3のいずれかに異常・故障を検出した場合には、処理をステップS103に遷移させる。
【0033】
ステップS103において、監視コア22は、検出した異常・故障のレベルは、重故障であるか、軽故障であるか、を判定する。なお、重故障の状態および軽故障の状態は、あらかじめ設定されている。上述の例のように、重故障の状態は、いずれかのコアとの通信が切断された場合等であり、軽故障の状態は、いずれかのコアの処理負荷が所定以上の状態等である。
【0034】
ステップS103で、異常・故障のレベルが重故障の場合には、監視コア22は処理をステップS104に遷移させる。異常・故障のレベルが軽故障の場合には、監視コア22は処理をステップS105に遷移させる。
【0035】
ステップS104において、監視コア22は、重故障を検出したコアが処理していたソフトウェアの処理をすべて代替する。
【0036】
ステップS105において、監視コア22は、軽故障を検出したコアが処理していたソフトウェアの処理の一部を代替する。
【0037】
ステップS100で監視コア22が正常に動作していないことが検出された場合には、CPU20は、監視コア22の監視機能を停止する。他のコア1~3は、通常通りの動作を継続する。
【0038】
このようにして、本実施形態のオールインワンDCS10は、DCS、HMIサーバ、データサーバおよび各種エンジニアリングツール等のコンポーネントおよびソフトウェアを単一のシステムで実現する。
【0039】
本実施形態のオールインワンDCS10の効果について、比較例のDCSと比較しつつ説明する。
まず、比較例のDCSを含む監視制御システムの構成について説明する。
図5は、比較例の分散制御システムを含む監視制御システムを例示する模式的なブロック図である。
図6は、比較例の分散制御システムの動作を説明するための模式的なブロック図である。
図5に示すように、比較例のDCS110は、制御ネットワーク2,4に接続される。この例では、2系統の制御ネットワーク2,4が設けられているが、ネットワークの系統数は、監視制御システムに接続するコンポーネントの通信インタフェースの種類に応じて決定される。たとえば、いずれかのコンポーネントの通信インタフェースが他のコンポーネントと異なる場合には、この例のように、少なくとも2系統の制御ネットワークを設ける必要がある。
【0040】
比較例の監視制御システムは、DCS110、HMIサーバ112、データサーバ114、DCSエンジニアリングツールサーバ116およびHMIエンジニアリングツールサーバ118を含んでおり、これらは、制御ネットワーク2,4を介して接続されている。制御ネットワーク2,4は、データの送受信周期が保証されており、たとえば、DCS110によって管理、制御されているプラント制御システムにおけるデータの収集、指令・命令の送受信が確実に行われる。
【0041】
クライアントPC120は、情報ネットワーク6を介して、HMIサーバ112およびデータサーバ114に接続されている。クライアントPC120は、HMIサーバ112およびデータサーバに接続することによって、プラント制御システムを監視し、制御することができる。
【0042】
DCS110は、プラント制御システムに配置等された装置や機器(以下、装置等ともいう)のアドレス情報を有するタグを管理するサーバとして機能する。プラント制御システムに配置された装置等とは、たとえば電動機を駆動するドライブ装置等であり、電磁バルブを開閉駆動するアクチュエータ等、温度センサ、位置センサ等の各種センサ等である。
【0043】
HMIサーバ112には、プラント制御システムのためのHMIソフトウェアがインストールされている。HMIサーバ112は、HMIソフトウェアによって、プラント制御システムのためのHMI(Human Machine Interface)を提供する。HMIサーバ112は、たとえば、プラント制御システムの各装置等の電流、電圧、温度、圧力等のセンサ情報をリアルタイムで表示出力するためのリアルタイムトレンドサーバとして機能する。
【0044】
データサーバ114は、プラント制御システムのための各種データベースを格納している。たとえば、データサーバ114は、DCS110が収集したデータを長期間にわたって記録するヒストリカルトレンドサーバとして機能する。
【0045】
DCSエンジニアリングツールサーバ116には、DCSエンジニアリングツールがインストールされている。DCSエンジニアリングツールは、DCS110がプラント制御システムのために提供する制御プログラムの作成、デバッグ等を行うために用いられる。
【0046】
HMIエンジニアリングツールサーバ118には、HMIエンジニアリングツールがインストールされている。HMIエンジニアリングツールは、プラント制御システムのためのHMIのグラフィカルな画面設計を行うために用いられる。
【0047】
図6に示すように、DCS110、HMIサーバ112およびデータサーバ114は、CPU110a,112a,114aを、それぞれ備えており、メモリ110b,112b,114bもそれぞれ備えている。図には示していないが、エンジニアリングツールサーバも複数のサーバがあるときには、サーバごとにCPUおよびメモリが搭載される。
【0048】
これらのサーバ110~118は、必要なソフトウェアに応じて適切、十分な仕様のものが選定される。しかしながら、これらのサーバ110~118は、適用するプラントに応じてそれぞれが最適設計、製造されたものであるとは限らない。サーバ110~118のうち、適用するプラントに適切なものであった場合であっても、異なるメーカの製造品であるために、プラットフォームが相違し、相互の接続が困難である場合もある。通信インタフェース相違を吸収するために、通信速度を犠牲にしたり、上述の例のように複数系統の制御ネットワークを構築する必要が生じる場合がある。一般的には、システムの性能を犠牲にすることが許されない場合が多いので、過剰な仕様のサーバを採用せざるを得ない場合もある。
【0049】
システムの機能、性能を実現するために、種々のサーバを混在させて構築された監視制御システムでは、サーバ相互の通信状態の異常や故障の検出、判定は、サーバごとに行うので、いずれかのサーバに異常や故障が生じると、サーバが停止され、監視制御システム全体が停止するおそれがある。監視制御システムが停止すると、DCS110によって管理され、制御されているプラント制御システムも停止することとなる。これを回避するために、監視制御システムを二重化すると、システムの規模はさらに大きくなってしまう。
【0050】
本実施形態のオールインワンDCS10では、DCS、HMIサーバ、データサーバおよびエンジニアリングツールサーバのコンポーネントを一体化し、これらサーバ上で動作するソフトウェアをオールインワンDCS10上で動作させることができる。そのため、各コンポーネント間の相互の通信を統合して行うことができる。
【0051】
本実施形態のオールインワンDCS10では、各コンポーネントにおけるソフトウェアの処理状況を相互の通信によって判定する監視コア22を備えている。そのため、一部のソフトウェア処理に不具合を生じても、監視コア22は、ソフトウェア処理を代替することができ、監視制御システムをより安定して継続することができる。
【0052】
各コンポーネントの機能は、マルチCPU技術やマルチコア技術といった確立された技術を用いて実現し、監視コア22は、と各コンポーネントとの相互の通信も、技術的に確立した共有メモリ技術を用いることができる。そのため、容易に安定した動作を実現可能にするオールインワンDCS10を実現することができる。
【0053】
上述のように、マルチコア技術を用いて、オールインワンDCS10を実現する場合に、新たなCPUを開発する必要が生じる場合もある。本実施形態のオールインワンDCS10は、監視コア22を備えているので、LSIの新規開発や、ソフトウェアの移植等にともなうバグ等の不具合が生じた場合であっても、システム停止に至ることなく、プラント制御システムの運用を継続することが可能になる。
【0054】
本実施形態のオールインワンDCS10は、監視制御システムに関する各ソフトウェア処理をマルチコアやマルチCPU技術によって、単一のプラットフォームで処理することができる。そのため、通信ネットワークは、クライアントPCとの通信のための情報ネットワーク6を設ければよく、簡素な構成の監視制御システムを構築することができる。
【0055】
また、本実施形態のオールインワンDCS10は、単一のプラットフォームで運用が可能になるので、サーバごと、あるいは制御ネットワークごとの専任者を置くことなく、容易に監視制御システムを運用することができる。
【0056】
このように、オールインワンDCS10は、比較例における各コンポーネントが実行するソフトウェア処理ごとに、複数のコアあるいは複数のCPUによって構成することができる。これに限らず、1つのコアで複数のコンポーネントのためのソフトウェアをマルチスレッドで実行するようにしてもよし、1つのコアで異なるコンポーネントのためのソフトウェア処理を実行するようにしてももちろんよい。
【0057】
(第2の実施形態)
本実施形態では、オールインワンDCSを二重化することによって、より安定した監視制御システムを構築することを可能にする。
図7は、本実施形態に係るオールインワンDCSを例示する模式的なブロック図である。
図7は、CPU220p,220sのみ示しているが、オールインワンDCS210は、CPU220p,220sのそれぞれにメモリが設けられており、完全に二重化されている。
【0058】
図7に示すように、本実施形態のオールインワンDCS210は、CPU220p,220sを備える。CPU220pは、プライマリCPUであり、通常稼働している稼働系のCPUである。CPU220sは、セカンダリCPUであり、通常待機している待機系のCPUである。
【0059】
CPU220pは、複数のコア222p~228pを含む。複数のコアは、監視コアp(図では符号222pと表記)およびコアp1~コアp3(図では符号224p~228pと表記)である。監視コアpは、他のコアp1~コアp3と図示しない共有メモリを介してデータを送受信する。
【0060】
CPU220sは、複数のコア222s~228sを含む。複数のコアは、監視コアs(図では符号222sと表記)およびコアs1~コアs3(図では符号224s~228sと表記)である。監視コアsは、他のコアs1~コアs3と図示しない共有メモリを介してデータを送受信する。
【0061】
CPU220p,220sは、相互にデータを送受信することができる、CPU220p,220s間の通信は、監視コアpと監視コアsとの間で行われる。
【0062】
通常の状態(正常状態)では、オールインワンDCS210は、CPU220pを用いて動作する。稼働系のCPU220pの監視コアpが異常・故障の場合に、待機系のCPU220sが動作する。これによって、稼働系のCPU220aに異常・故障が生じても、オールインワンDCS210は動作を継続することができ、監視制御システムをより安定して動作させることができる。
【0063】
本実施形態のオールインワンDCS210の動作について説明する。
図8は、本実施形態の分散制御システムの動作を説明するための模式的なブロック図である。
通常の状態では、稼働系のCPU220pが動作しており、監視コア222pは、コアp1~コアp3の処理状態をヘルシーカウンタ(図示せず)により監視している。
【0064】
図8に示すように、監視コアpがコアp3に重故障を生じたことを検出した場合には、監視コアpは、コアp3の処理をすべて代替する。なお、図示しないが、コアp3に軽故障を生じた場合には、第1の実施形態の場合と同様に、監視コアpは、コアp3の処理の一部を代替する。
【0065】
監視コアsは、監視コアpを監視しており、監視コアpに異常・故障を検出した場合には、監視コアsは、すべての処理を待機系のCPU220sに切り替える。
【0066】
本実施形態のオールインワンDCS210の動作について、フローチャートを参照して説明する。
図9は、本実施形態の分散制御システムの動作を説明するためのフローチャートの例である。
図9に示すように、ステップS201において、CPU220pは、監視コアpが正常であるか否かを判定する。監視コアpが異常・故障である場合には、CPU220pは、処理をステップS202に遷移させる。監視コアpが正常である場合には、CPU220pは、処理をステップS204に遷移させる。
【0067】
ステップS202において、CPU220p,220sは、二重化系のうち、プライマリ(稼働系のCPU220p)からセカンダリ(待機系のCPU220s)に動作を切り替える。CPU220sは、稼働状態となり、CPU220pは、待機状態となる。
【0068】
ステップS203において、CPU220sは、監視コアsが正常であるか否かを判定する。監視コアsが正常である場合には、CPU220sは、処理をステップS204に遷移させる。監視コアsに異常・故障を検出した場合には、CPU220sは、処理をステップS209に遷移させる。
【0069】
ステップS204において、監視コアsは、コアs1~コアs3のヘルシーチェックを行う。
【0070】
ステップS205において、監視コアsは、コアs1~コアs3に異常・故障がないか、ヘルシーカウンタにより判定する。監視コアsは、コアs1~コアs3に異常・故障がないと判定した場合には、処理をステップS201に戻して、上述の処理を繰り返す。監視コアsは、コアs1~コアs3に異常・故障があることを検出した場合には、処理をステップS206に遷移させる。
【0071】
ステップS206において、監視コアsは、異常・故障を検出したコアの異常・故障のレベルを判定する。異常・故障レベルが重故障の場合には、監視コアsは、処理をステップS207に遷移させる。異常・故障レベルが軽故障の場合には、監視コアsは、処理をステップS208に遷移させる。
【0072】
ステップS207において、監視コアsは、異常・故障を生じたコアの処理をすべて代替する。
【0073】
ステップS208において、監視コアsは、異常・故障を生じたコアの処理の一部を代替する。
【0074】
ステップS203で監視コアsの動作が正常でないことが検出された場合には、ステップS209において、CPU220sは、監視コアsの監視機能を停止する。CPU220sの他のコアs1~コアs3は、動作を継続する。
【0075】
ステップS201で監視コアpが正常に動作することを検出した場合には、ステップS204以降、上述したのと同様に処理が進められる。
【0076】
このようにして、本実施形態のオールインワンDCS210は、稼働系のCPU220pと待機系のCPU220sとを切り替えて動作する。
【0077】
本実施形態のオールインワンDCS210の効果について説明する。
本実施形態のオールインワンDCS210は、第1の実施形態のオールインワンDCS10と同様の効果を有するとともに、二重化されることによって、より安定してオールインワンDCS210を動作させることができる。そのため、監視制御システムをより安定して運用することができ、プラント制御システムの稼働率を増大させ、可用性を向上させることができる。
【0078】
各CPU220p,220sは、それぞれメモリに接続されており、稼働系のメモリの内容を待機系のメモリにそのまま転送することによって、稼働系から待機系に切り替える際のデータの同一性を確保することができる。そのため、二重化システムの構築をより容易にすることができる。
【0079】
以上説明した実施形態によれば、プラントの規模に応じた監視制御システムを構築できる分散制御システムを実現することができる。
【0080】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明およびその等価物の範囲に含まれる。また、前述の各実施形態は、相互に組み合せて実施することができる。
【符号の説明】
【0081】
10,210 分散制御システム(オールインワンDCS)、20,220p,220s CPU、22,222p,222s 監視コア、30 メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9