JP2019040331A - 分散制御システムおよびノード - Google Patents
分散制御システムおよびノード Download PDFInfo
- Publication number
- JP2019040331A JP2019040331A JP2017160961A JP2017160961A JP2019040331A JP 2019040331 A JP2019040331 A JP 2019040331A JP 2017160961 A JP2017160961 A JP 2017160961A JP 2017160961 A JP2017160961 A JP 2017160961A JP 2019040331 A JP2019040331 A JP 2019040331A
- Authority
- JP
- Japan
- Prior art keywords
- standby
- node
- processing unit
- main
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Hardware Redundancy (AREA)
- Stored Programmes (AREA)
Abstract
【課題】少ないハードウェア量でノードを冗長化する。【解決手段】各ノード10に、予め当該ノードに割り当てられている処理を実行する主系処理部10Xと、他のノードに割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部10Yとを設け、主系処理部10Xおよび待機系処理部10Yが、共通ファームウェア10Z上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、主系処理および待機系処理をそれぞれ実行する。【選択図】 図1
Description
本発明は、通信回線を介して接続された複数のノードを冗長化するためのノード管理技術に関する。
プラントやビルなどの大規模な設備では、施設に設けられている複数の機器を管理する機器管理システムとして、通信回線を介して接続された複数のノードで処理を分散して実行する分散制御システム(DCS:Distributed Control System)が用いられている。
例えば、プラントで用いられる機器管理システムの場合、オペレータが運転・監視を行うノード(HMI:Human Machine Interface)、プラントの運転履歴などの各種データを管理するノード(ヒストリー機器)、異なるプロトコルのネットワーク間を接続するためのノード(ゲートウェイ機器)、高度の制御・演算を行うノード(制御機器)が用いられる。これらノードは、全体として、サーバ装置、PC、産業用コントローラ、ネットワーク機器などの情報処理装置から構成される。
分散制御システムは、設備を運転状況を維持するためには、いずれかのノードで故障が発生しても、システム全体として動作を維持する必要がある。
従来、このような分散制御システムの信頼性を確保する技術として、各ノードで実行する処理ごとに、当該処理を実行するためのハードウェアとして同じノードを2つずつ用意して二重化しておき、一方のノードに故障が発生した場合には、他方のノードに切り替えて処理を継続する技術が提案されている(例えば、特許文献1など参照)。
従来、このような分散制御システムの信頼性を確保する技術として、各ノードで実行する処理ごとに、当該処理を実行するためのハードウェアとして同じノードを2つずつ用意して二重化しておき、一方のノードに故障が発生した場合には、他方のノードに切り替えて処理を継続する技術が提案されている(例えば、特許文献1など参照)。
しかしながら、このような従来技術では、各ノードを二重化しておく必要があるため、システム全体として2倍のハードウェア量が必要となり、システム構築に必要となるコストの増大およびシステム構成の複雑化を招くという問題点があった。
本発明はこのような課題を解決するためのものであり、少ないハードウェア量でノードを冗長化することができる冗長化技術を提供することを目的としている。
このような目的を達成するために、本発明にかかる分散制御システムは、通信回線を介して接続された複数のノードで処理を分散して実行する分散制御システムであって、前記複数のノードは、予め当該ノードに割り当てられている主系処理を実行する主系処理部と、他のノードに割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部と、前記主系処理部および前記待機系処理部の両方で共用される共通ファームウェアとを備え、前記主系処理部および前記待機系処理部は、前記共通ファームウェア上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、前記主系処理および前記待機系処理をそれぞれ実行するようにしたものである。
また、本発明にかかる上記分散制御システムの一構成例は、前記主系処理部が、前記共通ファームウェア上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部と、前記主系AP用ハードウェア上で前記主系処理のアプリケーションを実行する主系AP処理部とを有し、前記待機系処理部は、前記共通ファームウェア上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部と、前記待機系AP用ハードウェア上で前記待機系処理のアプリケーションを実行する待機系AP処理部とを有するものである。
また、本発明にかかる上記分散制御システムの一構成例は、前記異常ノード以外の正常ノードのうち、予め設定されている選択条件に基づいて選択された代替ノードが、前記待機系処理部により前記待機系処理を代替実行するようにしたものである。
また、本発明にかかる上記分散制御システムの一構成例は、前記選択条件が、前記異常が発生した時点において、前記正常ノードのうちハードウェア処理能力の余裕が最も大きいノードを選択するという条件からなるものである。
また、本発明にかかる上記分散制御システムの一構成例は、前記異常ノード以外の正常ノードのうち、前記異常ノードの処理を代替実行可能なノードが、前記待機系処理部により前記待機系処理を代替実行するようにしたものである。
また、本発明にかかるノードは、通信回線を介して接続された複数のノードで処理を分散して実行する分散制御システムで用いられる前記ノードであって、予め当該ノードに割り当てられている主系処理を実行する主系処理部と、他のノードに割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部と、前記主系処理部および前記待機系処理部の両方で共用される共通ファームウェアとを備え、前記主系処理部および前記待機系処理部は、前記共通ファームウェア上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、前記主系処理および前記待機系処理をそれぞれ実行するようにしたものである。
また、本発明にかかる上記ノードの一構成例は、前記主系処理部が、前記共通ファームウェア上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部と、前記主系AP用ハードウェア上で前記主系処理のアプリケーションを実行する主系AP処理部とを有し、前記待機系処理部は、前記共通ファームウェア上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部と、前記待機系AP用ハードウェア上で前記待機系処理のアプリケーションを実行する待機系AP処理部とを有するものである。
本発明によれば、ノードで実行される主系処理および待機系処理が、共通ファームウェア上でエミュレートされた仮想的なハードウェアを共用して実現されることになる。したがって、ノードを2つずつ設けて二重化する場合と比較して、少ないハードウェア量でノードを冗長化することが可能となる。さらに、二重化にとどまらず三重化以上の冗長化を容易に行うこともでき、極めて高い信頼性を実現することが可能となる。
次に、本発明の実施の形態について図面を参照して説明する。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる分散制御システム1について説明する。図1は、分散制御システムの構成を示すブロック図である。
図1に示すように、この分散制御システム1は、通信回線Lを介して接続された複数のノード10を備え、これらノード10で処理を分散して実行するシステムである。
分散制御システム1で用いられる各ノード10は、全体として、サーバ装置、PC、産業用コントローラ、ネットワーク機器などの情報処理装置から構成される。
[第1の実施の形態]
まず、図1を参照して、本発明の第1の実施の形態にかかる分散制御システム1について説明する。図1は、分散制御システムの構成を示すブロック図である。
図1に示すように、この分散制御システム1は、通信回線Lを介して接続された複数のノード10を備え、これらノード10で処理を分散して実行するシステムである。
分散制御システム1で用いられる各ノード10は、全体として、サーバ装置、PC、産業用コントローラ、ネットワーク機器などの情報処理装置から構成される。
分散制御システム1の具体例としては、プラントで用いられる機器管理システムがある。機器管理システムの場合、ノード10として、オペレータが運転・監視を行うノード(HMI:human machine interface)、プラントの運転履歴などの各種データを管理するノード(ヒストリー機器)、異なるプロトコルのネットワーク間を接続するためのノード(ゲートウェイ機器)、高度の制御・演算を行うノード(制御機器)などのノードが用いられる。
本実施の形態は、各ノード10に、分散制御システム1で分散実行される各処理のうち、異なる複数の処理を共通ファームウェア上で実行可能な処理部を備えたことを特徴としている。
すなわち、ノード10は、図1に示すように、上記処理部として、共通ファームウェア10Z上で、それぞれ異なる処理を実行する主系処理部10Xと待機系処理部10Yとを有している。
すなわち、ノード10は、図1に示すように、上記処理部として、共通ファームウェア10Z上で、それぞれ異なる処理を実行する主系処理部10Xと待機系処理部10Yとを有している。
主系処理部10Xは、予め当該ノード10に割り当てられている処理を、共通ファームウェア10Z上で実行する機能を有している。
待機系処理部10Yは、他のノード10に割り当てられている1つまたは複数の処理を、異常発生したノード10に代わって、共通ファームウェア10Z上で代替実行する機能を有している。
待機系処理部10Yは、他のノード10に割り当てられている1つまたは複数の処理を、異常発生したノード10に代わって、共通ファームウェア10Z上で代替実行する機能を有している。
主系処理部10Xは、共通ファームウェア10Z上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部15Bと、エミュレートされた主系AP用ハードウェア上で主系処理のアプリケーションを実行する主系AP処理部15Dとを有している。
待機系処理部10Yは、共通ファームウェア10Z上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部15Cと、エミュレートされた待機系AP用ハードウェア上で待機系処理のアプリケーションを実行する待機系AP処理部15Eとを有している。
待機系処理部10Yは、共通ファームウェア10Z上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部15Cと、エミュレートされた待機系AP用ハードウェア上で待機系処理のアプリケーションを実行する待機系AP処理部15Eとを有している。
図2は、ノードの詳細構成を示すブロック図である。
図2に示すように、ノード10は、主な機能部として、通信I/F部11、操作入力部12、画面表示部13、記憶部14、および演算処理部15が設けられている。
図2に示すように、ノード10は、主な機能部として、通信I/F部11、操作入力部12、画面表示部13、記憶部14、および演算処理部15が設けられている。
通信I/F部11は、通信回線Lを介して他のノード10、さらには、他の外部装置(図示せず)とデータ通信を行う機能を有している。
操作入力部12は、全体として、キーボード、マウス、タッチパネルなどの操作入力装置からなり、オペレータの操作を検出して演算処理部15へ出力する機能を有している。
画面表示部13は、演算処理部15から出力された、メニュー画面や処理画面などの各種画面を画面表示する機能を有している。
操作入力部12は、全体として、キーボード、マウス、タッチパネルなどの操作入力装置からなり、オペレータの操作を検出して演算処理部15へ出力する機能を有している。
画面表示部13は、演算処理部15から出力された、メニュー画面や処理画面などの各種画面を画面表示する機能を有している。
記憶部14は、全体としてハードディスクや半導体メモリなどの記憶装置からなり、演算処理部15で実行される各種処理に用いるプログラムや処理データを記憶する機能を有している。
記憶部14で記憶する主なプログラムとして、OSプログラム14A、主系EMプログラム14B、待機系EMプログラム14C、主系APプログラム14D、および待機系APプログラム14Eがある。
記憶部14で記憶する主なプログラムとして、OSプログラム14A、主系EMプログラム14B、待機系EMプログラム14C、主系APプログラム14D、および待機系APプログラム14Eがある。
また、記憶部14で記憶する主な処理データとして、ノード情報14Fがある。ノード情報14Fは、各ノード10に割り当てられている主系処理および待機系処理や、各ノード10の動作状況が含まれている。
演算処理部15は、ハードウェアとしてCPUおよびその周辺回路を有し、記憶部14から読み出したプログラムを実行することにより、これらCPUとプログラムとを協働させて各種処理部を実現する機能を有している。
演算処理部15で実現される主な処理部として、OS処理部15A、主系EM処理部15B、待機系EM処理部15C、主系AP処理部15D、待機系AP処理部15E、および処理制御部15Fがある。
演算処理部15で実現される主な処理部として、OS処理部15A、主系EM処理部15B、待機系EM処理部15C、主系AP処理部15D、待機系AP処理部15E、および処理制御部15Fがある。
OS処理部15Aは、CPU上でOSプログラム14Aを実行することにより、これらCPUとOSプログラム14Aとを協働させて各種のOS(Operating System)機能を実現する。共通ファームウェア10Zは、演算処理部15のハードウェアとOS処理部15Aのソフトウェアとが協働して実現されており、主系処理部10Xおよび待機系処理部10Yの両方で共用される。
主系EM処理部15Bは、OS機能上で主系EMプログラム14Bを実行することにより、仮想的な主系AP用H/Wをエミュレートする機能を有している。
主系AP処理部15Dは、主系EM処理部15Bでエミュレートされた主系AP用H/W上で、主系APプログラム14Dを実行することにより、これら主系AP用H/Wと主系APプログラム14Dとを協働させて主系AP処理を実現する機能を有している。
主系処理部10Xは、これら主系EM処理部15Bと主系AP処理部15Dとから実現されている。
主系AP処理部15Dは、主系EM処理部15Bでエミュレートされた主系AP用H/W上で、主系APプログラム14Dを実行することにより、これら主系AP用H/Wと主系APプログラム14Dとを協働させて主系AP処理を実現する機能を有している。
主系処理部10Xは、これら主系EM処理部15Bと主系AP処理部15Dとから実現されている。
待機系EM処理部15Cは、OS機能上で待機系EMプログラム14Cを実行することにより、仮想的な待機系AP用H/Wをエミュレートする機能を有している。
待機系AP処理部15Eは、待機系EM処理部15Cでエミュレートされた待機系AP用H/W上で、待機系APプログラム14Eを実行することにより、これら待機系AP用H/Wと待機系APプログラム14Eとを協働させて待機系AP処理を実現する機能を有している。
待機系処理部10Yは、これら待機系EM処理部15Cと待機系AP処理部15Eとから実現されている。
待機系処理部10Yは、これら待機系EM処理部15Cと待機系AP処理部15Eとから実現されている。
処理制御部15Fは、通信I/F部11および通信回線Lを介して他のノード10とデータ通信を行うことにより、各ノード10に割り当てられている主系処理および待機系処理や、各ノード10の動作状況を取得して記憶部14のノード情報14Fに格納する機能と、他のノード10での異常発生に応じて、当該異常ノードの処理を代替する代替ノードを特定する機能と、代替ノードが自ノードである場合、待機系EM処理部15Cおよび待機系AP処理部15Eで代替処理を実行する機能とを有している。
ノード10の動作状況については、例えばノード10間で稼働中であることを示すパケットを周期的にやり取りする、いわゆるキープアライブ手法により確認すればよい。
これにより、各ノード10のそれぞれで、他のノード10での異常発生を容易に確認できるとともに、その確認結果に基づき代替ノードを特定することができる。したがって、これらノード10の動作状況を管理する管理ノードを分散制御システム1に設ける必要がなくなり、システム構成を簡素化することが可能となる。
これにより、各ノード10のそれぞれで、他のノード10での異常発生を容易に確認できるとともに、その確認結果に基づき代替ノードを特定することができる。したがって、これらノード10の動作状況を管理する管理ノードを分散制御システム1に設ける必要がなくなり、システム構成を簡素化することが可能となる。
[第1の実施の形態の動作]
次に、図3および図4を参照して、本実施の形態にかかる分散制御システム1の動作について説明する。図3は、第1の実施の形態にかかるノード切替動作を示す説明図である。図4は、第1の実施の形態にかかるノード切替処理を示すフローチャートである。
次に、図3および図4を参照して、本実施の形態にかかる分散制御システム1の動作について説明する。図3は、第1の実施の形態にかかるノード切替動作を示す説明図である。図4は、第1の実施の形態にかかるノード切替処理を示すフローチャートである。
図3に示すように、分散制御システム1は、4つのノード10A,10B,10C,10Dを有し、これらノード10A,10B,10C,10Dで、4つの異なる処理A,B,C,Dを分散して実行している。この例では、ノード10A,10B,10C,10Dの主系処理として、処理A,B,C,Dが割り当てられているものとする。また、これらノード10A,10B,10C,10Dの待機系処理として、処理A,B,C,Dのすべてが割り当てられており、いずれのノード10A,10B,10C,10Dにおいても、他ノード10の処理を代替実行可能である。
図4に示すように、各ノード10A,10B,10C,10Dの処理制御部15Fは、記憶部14のノード情報14Fに基づいて、他ノードの動作状況を監視している(ステップ100)。処理制御部15Fは、得られた監視結果に基づき他ノードでの異常発生の有無を確認し(ステップ101)、異常発生がない場合(ステップ101:NO)、ステップ100に戻って監視を継続する。
いずれかのノード10で異常発生があった場合(ステップ101:YES)、処理制御部15Fは、ノード情報14Fに基づいて、異常ノード以外の正常ノードのうちから、予め設定されている選択条件に基づき代替ノードを特定する(ステップ102)。
この後、処理制御部15Fは、代替ノードが自ノードであるか否か確認し(ステップ103)、代替ノードが自ノードではなかった場合(ステップ103:NO)、ステップ100へ戻る。
この後、処理制御部15Fは、代替ノードが自ノードであるか否か確認し(ステップ103)、代替ノードが自ノードではなかった場合(ステップ103:NO)、ステップ100へ戻る。
一方、代替ノードが自ノードであった場合(ステップ103:YES)、処理制御部15Fは、次のようにして、待機系処理部10Yで異常ノードの処理を代替実行する。
まず、処理制御部15Fは、記憶部14の待機系EMプログラム14Cを待機系EM処理部15Cで実行することにより、待機系H/Wのエミュレートを開始する(ステップ104)。
まず、処理制御部15Fは、記憶部14の待機系EMプログラム14Cを待機系EM処理部15Cで実行することにより、待機系H/Wのエミュレートを開始する(ステップ104)。
続いて、処理制御部15Fは、記憶部14の待機系APプログラム14Eのうち、異常ノードで実行していた主系処理に相当する待機系APプログラム14Eを待機系AP処理部15Eで実行することにより、待機系で代替処理を開始する(ステップ105)。
これにより、異常ノードで実行していた処理が、自ノードの待機系処理10Yで代替実行されることになる。
これにより、異常ノードで実行していた処理が、自ノードの待機系処理10Yで代替実行されることになる。
したがって、代替ノードの選択条件がノードIDの若番順、例えばノード10A→ノード10B→ノード10C→ノード10Dの順である際、図3に示すように、主系処理部10Xで処理Bを実行していたノード10Bで異常が発生した場合には、他の正常ノード10A,10C,10Dのうちノード10Aが代替ノードとして特定され、ノード10Aの待機系処理10Yで代替実行されることになる。
なお、以上では、異常ノードで実行されていた主系処理を代替ノードで代替実行する場合を例として説明したが、これに限定されるものではなく、異常ノードで実行されていた待機系処理についても主系処理と同様にして代替ノードで代替実行することもできる。
例えば、図3に示すように、ノード10Aにおいて、処理Aを主系処理として実行し、処理Bを待機系処理として実行している状態で、ノード10Aに異常が発生した場合、ノード10Aの主系処理である処理Aについてはノード10Cで待機系処理として代替実行し、ノード10Bの主系処理であった処理Bについてはノード10Dで待機系処理として代替実行してもよい。これにより、ノード10の三重化が完全に実現されたことになる。
例えば、図3に示すように、ノード10Aにおいて、処理Aを主系処理として実行し、処理Bを待機系処理として実行している状態で、ノード10Aに異常が発生した場合、ノード10Aの主系処理である処理Aについてはノード10Cで待機系処理として代替実行し、ノード10Bの主系処理であった処理Bについてはノード10Dで待機系処理として代替実行してもよい。これにより、ノード10の三重化が完全に実現されたことになる。
[第1の実施の形態の効果]
このように、本実施の形態は、各ノード10に、予め当該ノード10に割り当てられている処理を実行する主系処理部10Xと、他のノード10に割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部10Yとを設け、主系処理部10Xおよび待機系処理部10Yの両方が、共通ファームウェア10Z上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、主系処理および待機系処理をそれぞれ実行するようにしたものである。
このように、本実施の形態は、各ノード10に、予め当該ノード10に割り当てられている処理を実行する主系処理部10Xと、他のノード10に割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部10Yとを設け、主系処理部10Xおよび待機系処理部10Yの両方が、共通ファームウェア10Z上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、主系処理および待機系処理をそれぞれ実行するようにしたものである。
これにより、ノード10で実行される主系処理および待機系処理が、共通ファームウェア10Z上でエミュレートされた仮想的なハードウェアを実現されることになる。したがって、ノード10を2つずつ設けて二重化する場合と比較して、少ないハードウェア量でノード10を冗長化することが可能となる。また、多対一の冗長構成も考えられるが、この場合には、待機系台数分のノードが故障した時点で非冗長となるが、本実施の形態によれば、二重化にとどまらず三重化以上の冗長化を容易に行うこともでき、極めて高い信頼性を実現することが可能となる。
また、従来、デバッグやトレーニングを行う場合、実運転システムと同等あるいは必要最低限のノードを別途用意しておく必要があったが、本実施の形態によれば、待機系処理としてデバッグやトレーニングに関する処理を実行することができる。このため、デバッグやトレーニングを行うためのノードを別途用意する必要がなくなり、デバッグやトレーニングに関する投資コストを大幅に削減することが可能となる。
また、本実施の形態において、主系処理部10Xが、共通ファームウェア10Z上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部15Bと、主系AP用ハードウェア上で主系処理のアプリケーションを実行する主系AP処理部15Dとを有し、待機系処理部10Yが、共通ファームウェア10Z上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部15Cと、待機系AP用ハードウェア上で待機系処理のアプリケーションを実行する待機系AP処理部15Eとを有するようにしてもよい。
これにより、主系処理部10Xで用いる主系AP用ハードウェアと、機系処理部10Yで用いる待機系AP用ハードウェアとが、共通ファームウェア10Z上でそれぞれ別個にエミュレートされることになる。このため、主系処理部10Xと機系処理部10Yとが共通ファームウェア10Zを共用しつつ、それぞれに独立したハードウェアをエミュレートすることができ、互いの影響が全く生じないクリーンなアプリケーション実行環境を提供することができる。
また、本実施の形態において、異常ノード以外の正常ノードのうち、予め設定されている選択条件に基づいて選択された代替ノードが、待機系処理部10Yにより待機系処理を代替実行するようにしてもよい。
これにより、各ノード10が他のすべてのノード10の主系処理を待機系処理として代替可能である場合、いずれかのノード10での異常発生に応じて、例えばノード10に付与されているノードIDの若番順などの所定の選択順序で、代替ノードを割り当てることができる。特に、選択条件として、異常が発生した時点において、正常ノードのうちハードウェア処理能力の余裕が最も大きいノードを選択するという条件を用いることにより、各ノード10で生じる処理負荷を分散することができる。
[第2の実施の形態]
次に、図5を参照して、本発明の第2の実施の形態にかかる分散制御システム1について説明する。図5は、第2の実施の形態にかかるノード切替動作を示す説明図である。
第1の実施の形態では、各ノード10が他の全てのノード10での主系処理を待機系処理として代替可能である場合を例として説明した。本実施の形態では、各ノード10で代替可能である待機系処理が制限されている場合について説明する。
次に、図5を参照して、本発明の第2の実施の形態にかかる分散制御システム1について説明する。図5は、第2の実施の形態にかかるノード切替動作を示す説明図である。
第1の実施の形態では、各ノード10が他の全てのノード10での主系処理を待機系処理として代替可能である場合を例として説明した。本実施の形態では、各ノード10で代替可能である待機系処理が制限されている場合について説明する。
図5の例では、分散制御システム1は、4つのノード10A,10B,10C,10Dを有し、これらノード10A,10B,10C,10Dで、4つの異なる処理A,B,C,Dを分散して実行している。この例では、ノード10A,10B,10C,10Dの主系処理として、処理A,B,C,Dが割り当てられているものとする。また、これらノード10A,10B,10C,10Dの待機系処理として、処理A,B,C,Dのすべてが割り当てられておらず、ノード10Aには処理C,Dが、ノード10Bには処理D,Aが、ノード10Cには処理A,Bが、ノード10Dには処理B,Cが、それぞれ割り当てられている。
[第2の実施の形態の動作]
次に、図6を参照して、本実施の形態にかかる分散制御システム1の動作について説明する。図6は、第2の実施の形態にかかるノード切替処理を示すフローチャートである。
次に、図6を参照して、本実施の形態にかかる分散制御システム1の動作について説明する。図6は、第2の実施の形態にかかるノード切替処理を示すフローチャートである。
図4に示すように、各ノード10A,10B,10C,10Dの処理制御部15Fは、記憶部14のノード情報14Fに基づいて、他ノードの動作状況を監視している(ステップ200)。処理制御部15Fは、得られた監視結果に基づき他ノードでの異常発生の有無を確認し(ステップ201)、異常発生がない場合(ステップ201:NO)、ステップ100に戻って監視を継続する。
いずれかのノード10で異常発生があった場合(ステップ201:YES)、処理制御部15Fは、ノード情報14Fに基づいて、異常ノード以外の正常ノードのうちから、異常ノードの主系処理を代替実行可能なノードを候補ノードとして特定し(ステップ202)、候補ノードのうちから予め設定されている選択条件に基づき代替ノードを特定する(ステップ203)。
この後、処理制御部15Fは、代替ノードが自ノードであるか否か確認し(ステップ204)、代替ノードが自ノードではなかった場合(ステップ204:NO)、ステップ200へ戻る。
この後、処理制御部15Fは、代替ノードが自ノードであるか否か確認し(ステップ204)、代替ノードが自ノードではなかった場合(ステップ204:NO)、ステップ200へ戻る。
一方、代替ノードが自ノードであった場合(ステップ204:YES)、処理制御部15Fは、次のようにして、待機系処理部10Yで異常ノードの主系処理を代替実行する。
まず、処理制御部15Fは、記憶部14の待機系EMプログラム14Cを待機系EM処理部15Cで実行することにより、待機系H/Wのエミュレートを開始する(ステップ205)。
まず、処理制御部15Fは、記憶部14の待機系EMプログラム14Cを待機系EM処理部15Cで実行することにより、待機系H/Wのエミュレートを開始する(ステップ205)。
続いて、処理制御部15Fは、記憶部14の待機系APプログラム14Eうち、異常ノードで実行していた主系処理に相当する待機系APプログラム14Eを待機系AP処理部15Eで実行することにより、待機系で代替処理を開始する(ステップ206)。
これにより、異常ノードで実行していた処理が、自ノードの待機系処理10Yで代替実行されることになる。
これにより、異常ノードで実行していた処理が、自ノードの待機系処理10Yで代替実行されることになる。
したがって、代替ノードの選択条件がノードIDの若番順、例えばノード10A→ノード10B→ノード10C→ノード10Dの順である際、図5に示すように、主系処理部10Xで処理Bを実行していたノード10Bで異常が発生した場合には、他の正常ノード10A,10C,10Dのうちノード10C,10Dが候補ノードとして選択された後、これら候補ノードのうちから選択条件に基づきノード10Cが代替ノードとして特定され、ノード10Cの待機系処理10Yで代替実行されることになる。
[第2の実施の形態の効果]
このように、本実施の形態は、異常ノード以外の正常ノードのうち、異常ノードの処理を代替実行可能な代替ノードが、待機系処理部10Yにより待機系処理を代替実行するようにしたものである。
これにより、各ノード10が他のすべてのノード10の主系処理を代替実行できない場合でも、少ないハードウェア量でノード10を冗長化することが可能となる。
このように、本実施の形態は、異常ノード以外の正常ノードのうち、異常ノードの処理を代替実行可能な代替ノードが、待機系処理部10Yにより待機系処理を代替実行するようにしたものである。
これにより、各ノード10が他のすべてのノード10の主系処理を代替実行できない場合でも、少ないハードウェア量でノード10を冗長化することが可能となる。
[実施の形態の拡張]
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。また、各実施形態については、矛盾しない範囲で任意に組み合わせて実施することができる。
1…分散制御システム、10,10A,10B,10C,10D…ノード、10X…主系処理部、10Y…待機系処理部、10Z…共通ファームウェア、11…通信I/F部、12…操作入力部、13…画面表示部、14…記憶部、14A…OSプログラム、14B…主系EMプログラム、14C…待機系EMプログラム、14D…主系APプログラム、14E…待機系APプログラム、14F…ノード情報、15…演算処理部、15A…OS処理部、15B…主系EM処理部、15C…待機系EM処理部、15D…主系AP処理部、15E…待機系AP処理部、15F…処理制御部、L…通信回線。
Claims (7)
- 通信回線を介して接続された複数のノードで処理を分散して実行する分散制御システムであって、
前記複数のノードは、
予め当該ノードに割り当てられている主系処理を実行する主系処理部と、
他のノードに割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部と、
前記主系処理部および前記待機系処理部の両方で共用される共通ファームウェアとを備え、
前記主系処理部および前記待機系処理部は、前記共通ファームウェア上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、前記主系処理および前記待機系処理をそれぞれ実行する
ことを特徴とする分散制御システム。 - 請求項1に記載の分散制御システムにおいて、
前記主系処理部は、前記共通ファームウェア上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部と、前記主系AP用ハードウェア上で前記主系処理のアプリケーションを実行する主系AP処理部とを有し、
前記待機系処理部は、前記共通ファームウェア上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部と、前記待機系AP用ハードウェア上で前記待機系処理のアプリケーションを実行する待機系AP処理部とを有する
ことを特徴とする分散制御システム。 - 請求項1または請求項2に記載の分散制御システムにおいて、
前記異常ノード以外の正常ノードのうち、予め設定されている選択条件に基づいて選択された代替ノードが、前記待機系処理部により前記待機系処理を代替実行することを特徴とする分散制御システム。 - 請求項3に記載の分散制御システムにおいて、
前記選択条件は、前記異常が発生した時点において、前記正常ノードのうちハードウェア処理能力の余裕が最も大きいノードを選択するという条件からなることを特徴とする分散制御システム。 - 請求項1または請求項2に記載の分散制御システムにおいて、
前記異常ノード以外の正常ノードのうち、前記異常ノードの処理を代替実行可能なノードが、前記待機系処理部により前記待機系処理を代替実行することを特徴とする分散制御システム。 - 通信回線を介して接続された複数のノードで処理を分散して実行する分散制御システムで用いられる前記ノードであって、
予め当該ノードに割り当てられている主系処理を実行する主系処理部と、
他のノードに割り当てられている主系処理を、異常が発生した異常ノードに代わって待機系処理として代替実行する待機系処理部と、
前記主系処理部および前記待機系処理部の両方で共用される共通ファームウェアとを備え、
前記主系処理部および前記待機系処理部は、前記共通ファームウェア上でエミュレートされた仮想的なハードウェア上でそれぞれのアプリケーションを実行することにより、前記主系処理および前記待機系処理をそれぞれ実行する
ことを特徴とするノード。 - 請求項6に記載のノードにおいて、
前記主系処理部は、前記共通ファームウェア上で仮想的な主系AP用ハードウェアをエミュレートする主系EM処理部と、前記主系AP用ハードウェア上で前記主系処理のアプリケーションを実行する主系AP処理部とを有し、
前記待機系処理部は、前記共通ファームウェア上で仮想的な待機系AP用ハードウェアをエミュレートする待機系EM処理部と、前記待機系AP用ハードウェア上で前記待機系処理のアプリケーションを実行する待機系AP処理部とを有する
ことを特徴とするノード。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017160961A JP2019040331A (ja) | 2017-08-24 | 2017-08-24 | 分散制御システムおよびノード |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017160961A JP2019040331A (ja) | 2017-08-24 | 2017-08-24 | 分散制御システムおよびノード |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019040331A true JP2019040331A (ja) | 2019-03-14 |
Family
ID=65726448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017160961A Pending JP2019040331A (ja) | 2017-08-24 | 2017-08-24 | 分散制御システムおよびノード |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019040331A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022085651A1 (ja) * | 2020-10-20 | 2022-04-28 | 三菱重工業株式会社 | コントローラ仮想化装置、及び、制御システム |
-
2017
- 2017-08-24 JP JP2017160961A patent/JP2019040331A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022085651A1 (ja) * | 2020-10-20 | 2022-04-28 | 三菱重工業株式会社 | コントローラ仮想化装置、及び、制御システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12013769B2 (en) | Hot-standby redundancy control system, method, control apparatus, and computer readable storage medium | |
JP6563187B2 (ja) | 分散制御システム、制御装置及び制御方法 | |
CN112639640B (zh) | 冗余热备控制系统、控制设备、冗余热备方法及计算机可读存储介质 | |
JP6299640B2 (ja) | 通信装置 | |
JP6265158B2 (ja) | 電子機器 | |
JP2019040331A (ja) | 分散制御システムおよびノード | |
JP2009069963A (ja) | マルチプロセッサシステム | |
JP2016134942A (ja) | 電力系統監視装置、電力系統監視方法及び電力系統監視プログラム | |
JP2009026182A (ja) | プログラム実行システム及び実行装置 | |
JP2014215622A (ja) | プラント監視システム及びプラント監視方法 | |
JP5299283B2 (ja) | 情報処理装置及び情報処理システム並びにそれらの制御方法 | |
WO2017203556A1 (ja) | 管理計算機及びシステムのパラメータの最適値算出方法 | |
KR102347620B1 (ko) | 리던던트 난방, 환기 및 공조 제어 시스템 | |
JP7349416B2 (ja) | 分散制御システム | |
US8516173B2 (en) | Swapping PPRC secondaries from a subchannel set other than zero to subchannel set zero using control block field manipulation | |
JP2016151965A (ja) | 冗長構成システム及び冗長構成制御方法 | |
JP2008003731A (ja) | 情報処理システム | |
JP2014112293A (ja) | 監視制御システム及び監視制御方法 | |
KR101679936B1 (ko) | 에너지 및 공정 제어를 위한 이중화된 산업용 제어 시스템 및 그 제어 방법 | |
RU2797756C1 (ru) | Система управления, сбора, обработки, хранения и предоставления доступа к данным устройств промышленной автоматизации и интернета вещей | |
JP6090335B2 (ja) | 情報処理装置 | |
WO2018235310A1 (ja) | 切替管理装置、監視制御システム、切替管理方法および切替管理プログラム | |
JP2015207239A (ja) | 制御システム、制御装置およびプログラム | |
JP2022144841A (ja) | 新旧監視制御切替システム、新旧監視制御切替システムの切替方法 | |
JP6401114B2 (ja) | プラント監視制御システム及びアクセス管理方法 |