JP2020021341A - 冗長化システム - Google Patents
冗長化システム Download PDFInfo
- Publication number
- JP2020021341A JP2020021341A JP2018145617A JP2018145617A JP2020021341A JP 2020021341 A JP2020021341 A JP 2020021341A JP 2018145617 A JP2018145617 A JP 2018145617A JP 2018145617 A JP2018145617 A JP 2018145617A JP 2020021341 A JP2020021341 A JP 2020021341A
- Authority
- JP
- Japan
- Prior art keywords
- arithmetic
- unit
- input data
- input
- devices
- 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)
- Safety Devices In Control Systems (AREA)
Abstract
【課題】冗長化された複数の演算装置のいずれかに異常が生じた際に遅延なく処理を継続可能な冗長化システムを提供する。【解決手段】冗長化システムは、同一の入力データに対して同一の演算を実行する冗長化システムであって、入力データを受信する入力部と、入力部にそれぞれ接続され、入力部からそれぞれ入力される同一の入力データに対して同一の演算をそれぞれ実行する第1演算装置および第2演算装置を含む複数の演算装置と、複数の演算装置からそれぞれ出力される前記同一の演算による演算結果の少なくとも1つを送信する出力部と、第1演算装置と第2演算装置とを接続し、第1演算装置および第2演算装置が同期して同一の入力データに対する同一の演算を実行するための同期情報を通信するのに用いる通信路と、を備える。【選択図】 図1
Description
本開示は、同一の入力データに対して同一の演算を実行する冗長化システムに関する。
従来から、同一の入力データに対して同一の演算を実行することにより、システムの信頼性を向上させた冗長化システムが知られている(特許文献1〜4参照)。例えば、特許文献1〜3には、現用系(制御系)のコントローラ(処理ユニット)および待機系のコントローラを備え、共通の入力部から入力される同一の入力データに対して同一の演算を実行する制御装置(冗長化システム)が開示されている。特許文献1では、現用系の正常時には、入力部から現用系に入力データが入力され、待機系には現用系から入力データが入力される。
特許文献2では、現用系の正常時には、現用系および待機系の各々に入力データが入力部からそれぞれ入力される。より詳細には、特許文献2では、現用系は、その正常時には、プロセスデータに基づく監視や監視結果の出力を行う一方、待機系はプロセスデータに基づく監視のみを実行する。そして現用系の電源断が生じた場合には、待機系が監視結果の出力を起動することで、処理を継続する。これにより、現用系から待機系への切り替わり時において、待機系には出力すべきデータが揃った状態にあるので、データが揃うまでのタイムラグを抑制しつつ、システム全体の動作が途切れないとされる。同様に、特許文献3には、待機系および現用系が共通のバスに接続されたシステムにおいて、現用系にバスのアクセス権が与えられたことを待機系が認識して、現用系についてのバスを送受信される情報を取り込むことにより、現用系と待機系の内部状態を等価にする旨が開示されている。
他方、特許文献4には、複数のモジュールが同一のクロックに従って動作することにより同一の命令(演算)を同期して実行し、多数決回路により最終出力を出力する冗長化システムが開示されている。この特許文献4には、さらに、2つのモジュールを接続し、各モジュールの途中結果を比較器により比較することにより、各モジュールの出力だけでなく、出力に至るまでの処理の途中結果が一致した時のみ出力を出すことも開示されている。これによって、フェールセーフ性が増し、誤りの早期検出が可能とされる。
しかしながら、特許文献2〜3では、複数のコントローラが入力データに対してそれぞれ演算を実行していくため、現用系と待機系との処理(制御)の進み具体に差異が生じる可能性がある。このため、現用系から待機系への切り替えが生じた際に、制御のための演算の一部のスキップや重複実行などが生じないように、両者の演算の進行を揃える必要性があり、現用系から待機系への切り替えが発生し、待機系が現用系による処理(制御)を引き継ぐまでに遅延(タイムラグ)が生じる可能性がある。また、何らかの原因により一部のコントローラが入力データを入力部から受信できず、入力データの欠落が生じた場合にも、同様にタイムラグが生じる可能性がある。他方、特許文献4は、複数のモジュールが同一のクロックに従って同期して動作することを前提とした冗長システムであり、この前提が成立するシステムに適用範囲が限定される。
上述の事情に鑑みて、本発明の少なくとも一実施形態は、冗長化された複数のコントローラのいずれかに異常が生じた際に遅延なく処理を継続可能な冗長化システムを提供することを目的とする。
(1)本発明の少なくとも一実施形態に係る冗長化システムは、
同一の入力データに対して同一の演算を実行する冗長化システムであって、
前記入力データを受信する入力部と、
前記入力部にそれぞれ接続され、前記入力部からそれぞれ入力される同一の前記入力データに対して同一の演算をそれぞれ実行する第1演算装置および第2演算装置を含む複数の演算装置と、
前記複数の演算装置からそれぞれ出力される前記同一の演算による演算結果の少なくとも1つを送信する出力部と、
前記第1演算装置と前記第2演算装置とを接続し、前記第1演算装置および前記第2演算装置が同期して前記同一の入力データに対する前記同一の演算を実行するための同期情報を通信するのに用いる通信路と、を備える。
同一の入力データに対して同一の演算を実行する冗長化システムであって、
前記入力データを受信する入力部と、
前記入力部にそれぞれ接続され、前記入力部からそれぞれ入力される同一の前記入力データに対して同一の演算をそれぞれ実行する第1演算装置および第2演算装置を含む複数の演算装置と、
前記複数の演算装置からそれぞれ出力される前記同一の演算による演算結果の少なくとも1つを送信する出力部と、
前記第1演算装置と前記第2演算装置とを接続し、前記第1演算装置および前記第2演算装置が同期して前記同一の入力データに対する前記同一の演算を実行するための同期情報を通信するのに用いる通信路と、を備える。
上記(1)の構成によれば、冗長化システムは、少なくとも2つとなる複数の演算装置を備えており、入力部を介して外部などから取り込んだ入力データは、複数の演算装置にそれぞれ入力されるように構成される。また、複数の演算装置は、通信路を介して交換される同期情報により、同一となるように選択されたデータを用いることで同一の演算を同期して実行し、それらの演算結果のいずれかを選択して外部などに出力する。例えば、複数の演算装置を現用系と待機系とに役割分担する場合には、切り替え時に遅延(タイムラグ)が生じ易いが、上述したように、複数の演算装置が、同一の入力データに対して同一の演算を同期して実行し、そのいずれかの演算結果を選択して出力するよう構成することにより、いずれかの演算装置に異常が発生しても、タイムラグなく制御を継続することができる。
(2)幾つかの実施形態では、上記(1)の構成において、
前記同期情報は、前記複数の演算装置が実行する前記同一の演算の実行周期を同期させるための演算同期情報を含む。
上記(2)の構成によれば、複数の演算装置は、同期情報(演算同期情報)に基づいて、演算の実行周期を同期させる。これによって、複数の演算装置に対して同一の入力データが入力されることにより、同一の入力データに対する同一の演算を同じタイミング(周期)で実行することができる。また、複数の演算装置によって実行された同一の演算による演算結果を出力部が受け取る入力タイミングの揺らぎ(ジッタ)を抑制し、その入力タイミングが揃うように図ることもできる。
前記同期情報は、前記複数の演算装置が実行する前記同一の演算の実行周期を同期させるための演算同期情報を含む。
上記(2)の構成によれば、複数の演算装置は、同期情報(演算同期情報)に基づいて、演算の実行周期を同期させる。これによって、複数の演算装置に対して同一の入力データが入力されることにより、同一の入力データに対する同一の演算を同じタイミング(周期)で実行することができる。また、複数の演算装置によって実行された同一の演算による演算結果を出力部が受け取る入力タイミングの揺らぎ(ジッタ)を抑制し、その入力タイミングが揃うように図ることもできる。
(3)幾つかの実施形態では、上記(1)〜(2)の構成において、
前記同期情報は、前記第1演算装置が前記入力部から受信した前記入力データの受信履歴である第1受信履歴と、前記第2演算装置が前記入力部から受信した前記入力データの受信履歴である第2受信履歴とを含み、
前記第1演算装置と前記第2演算装置は、前記第1受信履歴と第2受信履歴に共通して含まれる履歴情報のうちの最新の前記履歴情報に対応する前記入力データに対して、前記演算を実行する。
上記(3)の構成によれば、複数の演算装置は、同期情報(受信履歴)に基づいて、これから実行しようとする演算の対象となる入力データを同一のものに揃える。これによって、複数の演算装置は、同一の入力データに対して同一の演算を確実に実行することができる。例えば、複数の演算装置のうちの一部の演算装置が何らかの理由により入力データを得ていないような場合が生じたとしても、受信履歴に基づいて複数の演算装置間の同期をとることができる。
前記同期情報は、前記第1演算装置が前記入力部から受信した前記入力データの受信履歴である第1受信履歴と、前記第2演算装置が前記入力部から受信した前記入力データの受信履歴である第2受信履歴とを含み、
前記第1演算装置と前記第2演算装置は、前記第1受信履歴と第2受信履歴に共通して含まれる履歴情報のうちの最新の前記履歴情報に対応する前記入力データに対して、前記演算を実行する。
上記(3)の構成によれば、複数の演算装置は、同期情報(受信履歴)に基づいて、これから実行しようとする演算の対象となる入力データを同一のものに揃える。これによって、複数の演算装置は、同一の入力データに対して同一の演算を確実に実行することができる。例えば、複数の演算装置のうちの一部の演算装置が何らかの理由により入力データを得ていないような場合が生じたとしても、受信履歴に基づいて複数の演算装置間の同期をとることができる。
(4)幾つかの実施形態では、上記(3)の構成において、
前記受信履歴は、複数の前記入力データを識別するための識別情報の履歴である。
上記(4)の構成によれば、受信履歴を、時間の経過に従って入力部から順次取得する入力データの識別情報(例えばIDなど)のリストなどの履歴とすることにより、受信履歴のデータ量を小さくする。これによって、同期情報を通信するための通信路の通信容量を大容量化することなく、同期情報を高速に通信することができ、同期処理によって処理(制御)の遅延が生じるのを防止することができる。例えば受信履歴が入力データそのものを時系列で並べたようなものである場合には、受信履歴のデータ量がその分だけより大きくなるので、演算装置の数が増えるほど受信履歴の通信により多くの時間を要するが、上述のように構成することにより、受信履歴の通信をより高速に行うことができる。
前記受信履歴は、複数の前記入力データを識別するための識別情報の履歴である。
上記(4)の構成によれば、受信履歴を、時間の経過に従って入力部から順次取得する入力データの識別情報(例えばIDなど)のリストなどの履歴とすることにより、受信履歴のデータ量を小さくする。これによって、同期情報を通信するための通信路の通信容量を大容量化することなく、同期情報を高速に通信することができ、同期処理によって処理(制御)の遅延が生じるのを防止することができる。例えば受信履歴が入力データそのものを時系列で並べたようなものである場合には、受信履歴のデータ量がその分だけより大きくなるので、演算装置の数が増えるほど受信履歴の通信により多くの時間を要するが、上述のように構成することにより、受信履歴の通信をより高速に行うことができる。
(5)幾つかの実施形態では、上記(1)〜(4)の構成において、
前記複数の演算装置の各々には優先度が設定されており、
前記出力部は、前記複数の演算装置の各々に設定された前記優先度に基づいて、前記複数の演算装置のうちの異常が検知されていない前記演算装置が出力した前記演算結果のうちから、出力する前記演算結果を選択する出力選択部を、有する。
上記(5)の構成によれば、異常が検知されておらず、正常状態と判断される演算装置が出力した演算結果の中から、各演算装置に設定された優先度に基づいて、1つの演算結果を選択することができる。
前記複数の演算装置の各々には優先度が設定されており、
前記出力部は、前記複数の演算装置の各々に設定された前記優先度に基づいて、前記複数の演算装置のうちの異常が検知されていない前記演算装置が出力した前記演算結果のうちから、出力する前記演算結果を選択する出力選択部を、有する。
上記(5)の構成によれば、異常が検知されておらず、正常状態と判断される演算装置が出力した演算結果の中から、各演算装置に設定された優先度に基づいて、1つの演算結果を選択することができる。
(6)幾つかの実施形態では、上記(5)の構成において、
前記出力部は、前記複数の演算装置の各々の前記演算結果を比較する比較部を、さらに有する。
上記(6)の構成によれば、複数の演算装置の各々の演算結果を比較することにより、演算結果の不一致を検出することができる。よって、演算結果の不一致を検出した場合には、複数の演算装置による演算結果が一致するように対処することにより、冗長構成を維持することができる。
前記出力部は、前記複数の演算装置の各々の前記演算結果を比較する比較部を、さらに有する。
上記(6)の構成によれば、複数の演算装置の各々の演算結果を比較することにより、演算結果の不一致を検出することができる。よって、演算結果の不一致を検出した場合には、複数の演算装置による演算結果が一致するように対処することにより、冗長構成を維持することができる。
(7)幾つかの実施形態では、上記(1)〜(6)の構成において、
前記複数の演算装置は、前記入力データに基づいてプラントの制御を実行するよう構成されており、
前記複数の演算装置の各々を前記入力部および前記出力部にそれぞれ接続する、前記通信路とは異なる制御ネットワークを、さらに備える。
上記(7)の構成によれば、複数の演算装置の各々と、入力部および出力部(入出力部)とは、プラントの制御ネットワークで相互に接続されており、第1演算装置と第2演算装置とを接続する通信路とは、別の通信路で接続される。これによって、第1演算装置と第2演算装置との同期情報の通信を高速に行うことができる。
前記複数の演算装置は、前記入力データに基づいてプラントの制御を実行するよう構成されており、
前記複数の演算装置の各々を前記入力部および前記出力部にそれぞれ接続する、前記通信路とは異なる制御ネットワークを、さらに備える。
上記(7)の構成によれば、複数の演算装置の各々と、入力部および出力部(入出力部)とは、プラントの制御ネットワークで相互に接続されており、第1演算装置と第2演算装置とを接続する通信路とは、別の通信路で接続される。これによって、第1演算装置と第2演算装置との同期情報の通信を高速に行うことができる。
本発明の少なくとも一実施形態によれば、冗長化された複数の演算装置のいずれかに異常が生じた際に遅延なく処理を継続可能な冗長化システムが提供される。
以下、添付図面を参照して本発明の幾つかの実施形態について説明する。ただし、実施形態として記載されている又は図面に示されている構成部品の寸法、材質、形状、その相対的配置等は、本発明の範囲をこれに限定する趣旨ではなく、単なる説明例にすぎない。
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
例えば、「ある方向に」、「ある方向に沿って」、「平行」、「直交」、「中心」、「同心」或いは「同軸」等の相対的或いは絶対的な配置を表す表現は、厳密にそのような配置を表すのみならず、公差、若しくは、同じ機能が得られる程度の角度や距離をもって相対的に変位している状態も表すものとする。
例えば、「同一」、「等しい」及び「均質」等の物事が等しい状態であることを表す表現は、厳密に等しい状態を表すのみならず、公差、若しくは、同じ機能が得られる程度の差が存在している状態も表すものとする。
例えば、四角形状や円筒形状等の形状を表す表現は、幾何学的に厳密な意味での四角形状や円筒形状等の形状を表すのみならず、同じ効果が得られる範囲で、凹凸部や面取り部等を含む形状も表すものとする。
一方、一の構成要素を「備える」、「具える」、「具備する」、「含む」、又は、「有する」という表現は、他の構成要素の存在を除外する排他的な表現ではない。
図1は、本発明の一実施形態に係る冗長化システム1の構成を概略的に示す図である。また、図2は、本発明の他の一実施形態に係る冗長化システム1の構成を概略的に示す図であり、出力部23が複数のモジュールに機能分散されている。
図1〜図2に示すように、冗長化システム1は、冗長化された複数の演算装置3の各々を用いて、同一の入力データDに対して同一の演算を実行するシステム(装置)である。図1〜図2に示す実施形態では、冗長化システム1は、プラント8の制御を実行する例えば分散制御システム(DCS:Distributed Control System)やPLC(Programable Logic Controller)などの制御装置である。より詳細には、冗長化システム1は、プラント8に設置された各種の計測器によって計測される温度、流量、圧力など計測データやイベントデータなどとなるプラント8の状態データを収集すると共に、収集した1以上の状態データを入力データDとして各種の演算を実行し、その演算結果Rをダンパ、制御弁(CV)などの操作端に送信することにより、プラント8の自動制御を実行する。
また、プラント8の制御装置(冗長化システム1)は、図示しない通信ネットワークを介して中央操作室に設置されたイーサネット(登録商標)などのLAN(Local Area Network)に接続されており、プラント8の操作及び監視を行う機能を提供するオペレータステーション(OPS)といった、上記のLANに接続されたコンピュータ機器との通信が可能に構成される。そして、冗長化システム1は、上記の通信ネットワーク(不図示)を介した通信を行うための例えばLANカードなどのインターフェース部(不図示)を用いて、その演算結果Rや入力データDなどの例えばOPSへの送信や、OPSなどからの操作命令の受信などが可能となっている。
以下、冗長化システム1がプラント8の制御装置である場合を例に、冗長化システム1を詳細に説明する。図1〜図2に示すように、冗長化システム1は、入力部21と、複数の演算装置3と、出力部23と、通信路4と、を備える。
入力部21は、冗長化システム1による処理(制御)に用いる入力データDを受信するよう構成される。つまり、入力部21は、プラント8などとなる外部から送信される入力データDをシステム内部に取り込むための、冗長化システム1のインターフェースとなる機能部である。
複数の演算装置3は、それぞれ、上記の入力部21から入力される入力データDに応じて、各種の演算を実行するよう構成される。図1〜図2に示すように、複数の演算装置3は、入力部21にそれぞれ接続されており、それぞれ、入力部21から入力(送信)される入力データDを受信して演算部31で演算を実行することにより、入力部21からそれぞれ入力される同一の入力データDに対して同一の演算をそれぞれ実行するよう構成される。また、複数の演算装置3は、出力部23にそれぞれ接続されており、各々の演算結果Rを出力部23に出力する。図1〜図2に示す実施形態では、冗長化システム1が備える演算装置3の数は2であるが、3以上であっても良い。
また、上記の演算部31は、本実施形態では、図示しないCPU(プロセッサ)や、ROMやRAMといったメモリを含んで構成されており、メモリ(主記憶装置)にロードされたプログラムの命令に従ってCPUが動作(データの演算など)することで、各種の演算を実行するよう構成される。また、上記の演算は、算術論理演算命令、メモリ操作命令、条件分岐命令など、フェッチ、デコード、実行などの命令サイクルで実行する1つの命令で構成されても良いし、所定の処理を行うための複数の命令で構成されても良い。なお、他の幾つかの実施形態では、演算部31は、入力データDに対して並列に演算可能な1以上の演算回路(ロジック回路)で構成されても良い。
出力部23は、複数の演算装置3からそれぞれ出力される同一の演算による演算結果Rの少なくとも1つを外部などに送信するよう構成される。つまり、出力部23は、外部に対してデータを出力(送信)するための、冗長化システム1のインターフェースとなる機能部である。また、出力部23は、複数の演算装置3からそれぞれ出力される複数の演算結果Rの全てを出力しても良い。あるいは、出力部23は、上記の複数の演算結果Rのいずれか1つを選択し、送信しても良い。例えば、後述するように、複数の演算装置3が出力する同一の演算による演算結果Rが同一の演算結果とならない場合などには、出力部23は、複数の演算装置3に設定された優先度になどに基づいて演算結果Rの選択を行っても良いし、あるいは、多数決により演算結果Rの選択を行っても良い。また、図1〜図2に示すように、入力部21、および出力部23の少なくとも一部の機能(回路)が入出力部2として一体化されても良い。
要するに、複数の演算装置3は、入力部21を介して入力データDをそれぞれ取得し、入力データDに応じた各種の演算を実行する。こうして得られる演算結果Rが出力部23により外部に送信される。つまり、冗長化システム1において、複数の演算装置3は、現用系(制御系)と待機系とに役割分担されておらず、それぞれが入力データDに基づく演算を実行し、その演算結果Rを出力部23へ出力する。
図1に示す実施形態では、上述した入力部21および出力部23は、両者が一体化された入出力部2となっており、図2に示す実施形態では、出力部23の機能の一部(通信制御部)が入力部と一体化されている。そして、複数の演算装置3の各々や、入力部21、出力部23(入出力部2)は、それぞれ制御ネットワーク6(IOバス)に接続されており、制御ネットワーク6を介して入力データDや演算結果Rの送受信を行うようになっている。より詳細には、プラント8には通常複数のフィールド機器81が設置されるが、入力部21は、各フィールド機器81から送信されるデータを受信可能なように複数の個別入力部を有している。同様に、出力部23は、各フィールド機器81に対して演算結果Rを送信可能なように複数の個別出力部を有している。そして、複数のフィールド機器81が、複数の個別入力部および個別出力部のセットのいずれかに接続されることにより、冗長化システム1と各フィールド機器81とが通信可能に接続される。
ただし、本実施形態に本発明は限定されない。他の幾つかの実施形態では、複数の演算装置3および入出力部2(入力部21および出力部23)は、PCIバスなどの共通バスにそれぞれ接続されても良い。
上述した構成を備え冗長化システム1は、さらに、複数の演算装置3による演算を同期して実行するために、通信路4を備える。
通信路4は、複数の演算装置3のうちの任意の2つの演算装置3となる第1演算装置3aと、第2演算装置3bとを接続し、第1演算装置3aおよび第2演算装置3bが同期して同一の入力データDに対する同一の演算を実行するために用いる同期情報Tを通信するのに用いられる。そして、第1演算装置3aと第2演算装置3bは、通信路4を介して得られる同期情報Tに基づいて、その演算の実行タイミングを同期させる。同期情報Tは、周期的に通信されても良い。同期情報Tの詳細については後述する。
通信路4は、複数の演算装置3のうちの任意の2つの演算装置3となる第1演算装置3aと、第2演算装置3bとを接続し、第1演算装置3aおよび第2演算装置3bが同期して同一の入力データDに対する同一の演算を実行するために用いる同期情報Tを通信するのに用いられる。そして、第1演算装置3aと第2演算装置3bは、通信路4を介して得られる同期情報Tに基づいて、その演算の実行タイミングを同期させる。同期情報Tは、周期的に通信されても良い。同期情報Tの詳細については後述する。
また、図1〜図2に示す実施形態では、第1演算装置3aおよび第2演算装置3bは、通信路4を介したシリアル通信により、同期情報Tの通信を実行する形態になっている。図1〜図2に示すように、通信路4を2本のライン(通信路)で全二重通信可能に構成することにより、伝送効率を向上させている。ただし、本実施形態に本発明は限定されず、他の幾つかの実施形態では、通信路4は、制御ネットワーク6により構成されていても良い。
なお、冗長化システム1が3以上の演算装置3を備える場合には、複数の演算装置3を通信路4でメッシュ状に接続しても良いし、数珠繋ぎに接続しても良い。あるいは、後述する演算装置3の優先度の最も高いものに対して、他の演算装置3を通信路4でそれぞれ接続しても良い(1対多の接続)。また、複数の演算装置3の各々や入出力部2は、それぞれが1つのモジュール(モジュールカード)で構成されても良い(図1〜図2参照)。冗長化システム1は、ガスタービン制御、ガスエンジン制御など、他の制御を実行するための制御装置であっても良い。
上記の構成によれば、冗長化システム1は、少なくとも2つとなる複数の演算装置3を備えており、入力部21を介して外部などから取り込んだ入力データDは、複数の演算装置3にそれぞれ入力されるように構成される。また、複数の演算装置3は、通信路4を介して交換される同期情報Tにより、同一となるように選択されたデータを用いることで同一の演算を同期して実行し、それらの演算結果Rのいずれかを選択して外部などに出力する。例えば、複数の演算装置3を現用系と待機系とに役割分担する場合には、切り替え時に遅延(タイムラグ)が生じ易いが、上述したように、複数の演算装置3が、同一の入力データDに対して同一の演算を同期して実行し、そのいずれかの演算結果を選択して出力するよう構成することにより、いずれかの演算装置3に異常が発生しても、タイムラグなく制御を継続することができる。
次に、同期情報Tに関する幾つかの実施形態について、説明する。図3は、本発明の一実施形態に係る同期情報Tである受信履歴Hを示す図であり、(a)は入力データDそのもの履歴、(b)は入力データDの識別情報の履歴である。
幾つかの実施形態では、同期情報Tは、複数の演算装置3が実行する同一の演算の実行周期を同期させるための演算同期情報を含む。本実施形態では、複数の演算装置3は、それぞれ、演算の実行タイミングを計る実行周期用タイマを用いて、周期的に演算を実行するように構成されており、この演算の実行周期を、通信路4を介して通信される同期情報Tを用いて同期させるように構成される。
幾つかの実施形態では、同期情報Tは、複数の演算装置3が実行する同一の演算の実行周期を同期させるための演算同期情報を含む。本実施形態では、複数の演算装置3は、それぞれ、演算の実行タイミングを計る実行周期用タイマを用いて、周期的に演算を実行するように構成されており、この演算の実行周期を、通信路4を介して通信される同期情報Tを用いて同期させるように構成される。
図1〜図2に示す実施形態では、複数(図1〜図2では2台)の演算装置3(3a、3b)は、それぞれ、通信路4を介して同期情報Tを送受信するための同期通信部32を有しており、PTP(Precision Time Protocol)により、相互の時刻情報を同期せさることにより、演算の実行タイミングを同期させるようになっている。PTPの実行によって、第1演算装置3a(マスター側)は、第2演算装置3b(スレーブ側)に対してSyncメッセージの送信時刻と、第2演算装置3bからのDelay Requestメッセージの受信時刻などを送信するが、これらの送信情報が同期情報Tである。そして、第2演算装置3bは、この同期情報Tを用いて実行周期用タイマを第1演算装置3aのものに同期させ、実行周期用タイマの満了の度に演算を実行するなどするよう構成されている。つまり、複数の演算装置3の内部時計が一致されることで、実行周期用タイマによるカウントの開始時刻なども一致される。
上記の構成によれば、複数の演算装置3は、同期情報Tに基づいて、演算の実行周期を同期させる。これによって、複数の演算装置3に対して同一の入力データDが入力されることにより、同一の入力データDに対する同一の演算を同じタイミング(周期)で実行することができる。また、複数の演算装置3によって実行された同一の演算による演算結果Rを出力部23が受け取る入力タイミングの揺らぎを抑制し、その入力タイミングが揃うように図ることもできる。
他の幾つかの実施形態では、図3に示すように、同期情報Tは、第1演算装置3aが入力部21から受信した入力データDの受信履歴Hである第1受信履歴Haと、第2演算装置3bが入力部21から受信した入力データDの受信履歴Hである第2受信履歴Hbとを含んでいる。具体的には、第1演算装置3aは、第1受信履歴Haを第2演算装置3bに送信し、第2演算装置3bは、第2受信履歴Hbを第1演算装置3aに送信することにより、第1演算装置3aおよび第2演算装置3bは、それぞれ、第1受信履歴Haおよび第2受信履歴Hbを得る。そして、第1演算装置3aと第2演算装置3bは、それぞれ、第1受信履歴Haと第2受信履歴Hbとに共通して含まれる履歴情報h(共通履歴情報hc)のうちの最新の履歴情報hに対応する入力データDに対して、演算を実行する。つまり、受信履歴Hは、1以上の履歴情報hで構成されており、複数の演算装置3は、受信履歴Hに基づいて入力データDを同期させ、同一の演算を実行する。
受信履歴Hは、各演算装置3が入力部21から入力された入力データDの順序を示す情報である。受信履歴Hには、最新のものからn個(nは1以上の整数)の履歴情報hが含まれても良い。そして、各演算装置3は、自身の受信履歴Hと、他の演算装置3の受信履歴Hを比較することにより、その時々の演算を同一の入力データDを用いて実行することが可能となる。また、各入力データDについて上記の比較を行うことにより、入力データDの欠落を検知することも可能となる。入力データDの欠落を検知した場合には、それ以前に一致していた入力データDを用いて演算を行うなどすることにより、入力データDの同期をとることが可能となる。図1〜図2に示す実施形態では、受信履歴Hは、受信履歴作成部33で作成される。
より具体的には、幾つかの実施形態では、図3(a)に示すように、受信履歴Hは、時間の経過に伴って入力部21から順次入力される複数の入力データDそのものが時系列で並べられたリストであっても良い。つまり、上記の各履歴情報hは入力データDそのものとなる。これによって、複数の演算装置3のいずれかで入力データDの消失が生じても、他の演算装置3の受信履歴Hに基づいてその検知や、消失した入力データDの取得が可能となる。
あるいは、他の幾つかの実施形態では、図3(b)に示すように、受信履歴Hは、時間の経過に伴って入力部21から順次入力される複数の入力データDを識別するための識別情報の履歴(リスト)であっても良い。つまり、受信履歴Hは、入力データDそのものの履歴ではなく、より情報量が小さくされたID情報などの識別情報の履歴であり、上記の各履歴情報hは識別情報となる。これによって、同期情報Tを通信するための通信路4の通信容量を大容量化することなく、同期情報Tを高速に通信することができ、同期処理によって処理(制御)の遅延が生じるのを防止することが可能となる。上述したような、受信履歴Hが入力データDの履歴である場合には、受信履歴Hのデータ量がその分だけより大きくなるので、演算装置3の数が増えるほど受信履歴Hの通信により多くの時間を要するが、上述のように構成することにより、受信履歴Hの通信をより高速に行うことが可能となる。
この識別情報は、受信履歴Hの中において一意である必要があり、入力部21で生成して入力データDの送信時に付加しても良いし、演算装置3で生成しても良い。例えば、入力部21が入力データDを複数の演算装置3にそれぞれ送信する際に、例えばシーケンシャルな番号などの情報や、時刻情報(入力データDの送信時刻や受信時刻など)あるいは時刻情報に基づいて作成可能な情報を生成し、ID情報として一緒に送っても良い。例えば、入力データDから識別情報を算出するための所定の演算を複数の演算装置3間で共有し、各演算装置3が、受信した入力データDに対してそれぞれこの所定の演算を行うことにより、識別情報を算出しても良いし、入力データDの受信時刻情報に基づく情報を識別情報としても良い。これらの組合せであっても良い。入力データDが同じであれば所定の演算をすると、同一の情報が得られる。
上記の構成によれば、複数の演算装置3は、同期情報T(受信履歴H)に基づいて、これから実行しようとする演算の対象となる入力データDを同一のものに揃える。これによって、複数の演算装置3は、同一の入力データDに対して同一の演算を確実に実行することができる。例えば、複数の演算装置3のうちの一部の演算装置3が何らかの理由により入力データDを得ていないような場合が生じたとしても、受信履歴Hに基づいて複数の演算装置3間の同期をとることができる。
その他の幾つかの実施形態では、上記の2つの実施形態を組み合わせても良い。図1〜図2に示す実施形態では、同期情報Tには、上述した演算同期情報および受信履歴H(識別情報の履歴)が含まれており、複数の演算装置3が、同じ演算の実行周期で、同一の入力データDを対象に同一の演算を確実に実行するように構成されている。
次に、出力部23に関する幾つかの実施形態について、説明する。
幾つかの実施形態では、図1〜図2に示すように、出力部23は、複数の演算装置3に設定された優先度に基づいて、外部に送信する演算結果Rの選択を行うよう構成される。すなわち、複数の演算装置3の各々には優先度が設定されている。そして、出力部23は、複数の演算装置3の各々に設定された優先度に基づいて、複数の演算装置3のうちの異常が検知されていない1または複数の演算装置3が出力した演算結果Rのうちから、出力する演算結果Rを選択する出力選択部24を、有する。
幾つかの実施形態では、図1〜図2に示すように、出力部23は、複数の演算装置3に設定された優先度に基づいて、外部に送信する演算結果Rの選択を行うよう構成される。すなわち、複数の演算装置3の各々には優先度が設定されている。そして、出力部23は、複数の演算装置3の各々に設定された優先度に基づいて、複数の演算装置3のうちの異常が検知されていない1または複数の演算装置3が出力した演算結果Rのうちから、出力する演算結果Rを選択する出力選択部24を、有する。
この際、各演算装置3の異常は、演算装置3毎の自己診断機能などにより検知しても良い。この場合、出力選択部24は、各演算装置3の異常の検知結果が入力されることにより、異常が検知されていない正常状態の演算装置3と異常状態の演算装置3とを判別しても良い。あるいは、出力選択部24は、各演算装置3の異常を、タイムアウト時間により検知しても良い。この場合には、出力選択部24は、所定のタイムアウト時間を経過する前に演算結果Rを入力した演算装置3が、異常が検知されていない正常状態の演算装置と判別する。
図1〜図2に示す実施形態では、第1演算装置3aの優先度が1であり、第2演算装置3bの優先度が2であり、第2演算装置3bの優先度は第1演算装置3aの優先度よりも低いものとなっている。よって、出力選択部24は、第1演算装置3aに異常が検出されていない限り、第1演算装置3aによる演算結果Rを選択し、外部に送信する。第1演算装置3aの異常が検知された場合には、出力選択部24は、第2演算装置3bによる演算結果Rを選択し、外部に送信することになる。
また、図1に示す実施形態では、出力選択部24および比較部25(後述)の機能部が、フィールド機器81と接続する出力部23の機能部分と同一のモジュールに実装されており、機能間の接続が簡易化されている。他方、図2に示す実施形態では、出力選択部24および比較部25(後述)が、フィールド機器81と接続する出力部23の機能部とは異なるモジュールに実装され、出力部23が2つのモジュールに機能分散されている。この場合には、冗長化システム1が、入出力部2を複数備える場合に、出力選択部24および比較部25(後述)を実装するモジュールを、フィールド機器81と接続する機能を実装するモジュールに対して共通して設けることが可能となり、コスト面で有利となる。
上記の構成によれば、異常が検知されておらず、正常状態と判断される演算装置3が出力した演算結果Rの中から、各演算装置3に設定された優先度に基づいて、1つの演算結果Rを選択することができる。
また、幾つかの実施形態では、出力部23は、複数の演算装置3の各々の演算結果Rを比較する比較部25を、さらに有しても良い。複数の演算装置3の各々の演算結果Rを比較することにより、演算結果Rの不一致を検出することができる。よって、演算結果Rの不一致を検出した場合には、原因に応じた対処を行うことができ、複数の演算装置3による演算結果Rが一致するように対処することにより、冗長構成を維持することができる。
図1〜図2に示す実施形態では、複数の演算装置3の演算結果Rが比較部25に入力されるように構成されている。また、上述した出力選択部24には、複数の演算装置3の演算結果Rおよび比較部25による比較結果Cが入力されるように構成されている。そして、出力選択部24は、比較部25による比較結果Cが、複数の演算装置3の各々の演算結果Rが同じであることを示す場合、および、異なることを示す場合に両方において、優先度が最も高い演算装置3(図1〜図2では、第1演算装置3a)の演算結果Rを選択し、送信する。なお、優先度が最も高い演算装置3に異常が検知されている場合には、出力選択部24は、次に優先度が高い演算装置3(図1〜図2では、第2演算装置3b)の演算結果Rを選択し、送信する。
また、1以上の演算装置3が既に演算を実行している時(稼働中)に、他の演算装置3を参入(追加)させるような場合には、稼働側と参入側とで比較結果は異なることが想定される。このような場合には、比較部25で不一致が検出されることになるが、出力選択部24は、参入側の優先度を稼働側よりも低くすることにより、参入する際の影響を受けることはない。なお、この場合、参入する演算装置3は、稼働中の演算装置3の受信履歴Hを、通信路4を介して受信して、受信履歴Hおよび演算結果Rが一致することを確認できた場合に、参入が完了したと判断することが可能となる。なお、演算結果Rの一致、不一致は、比較部25の結果により判断可能である。
本発明は上述した実施形態に限定されることはなく、上述した実施形態に変形を加えた形態や、これらの形態を適宜組み合わせた形態も含む。
1 冗長化システム
2 入出力部
21 入力部
23 出力部
24 出力選択部
25 比較部
3 コントローラ
3a 第1演算装置
3b 第2演算装置
31 演算部
32 同期通信部
33 受信履歴作成部
4 通信路
6 制御ネットワーク
8 プラント
81 フィールド機器
D 入力データ
R 演算結果
T 同期情報
H 受信履歴
Ha 第1受信履歴
Hb 第2受信履歴
h 履歴情報
hc 共通履歴情報
C 比較結果
2 入出力部
21 入力部
23 出力部
24 出力選択部
25 比較部
3 コントローラ
3a 第1演算装置
3b 第2演算装置
31 演算部
32 同期通信部
33 受信履歴作成部
4 通信路
6 制御ネットワーク
8 プラント
81 フィールド機器
D 入力データ
R 演算結果
T 同期情報
H 受信履歴
Ha 第1受信履歴
Hb 第2受信履歴
h 履歴情報
hc 共通履歴情報
C 比較結果
Claims (7)
- 同一の入力データに対して同一の演算を実行する冗長化システムであって、
前記入力データを受信する入力部と、
前記入力部にそれぞれ接続され、前記入力部からそれぞれ入力される同一の前記入力データに対して同一の演算をそれぞれ実行する第1演算装置および第2演算装置を含む複数の演算装置と、
前記複数の演算装置からそれぞれ出力される前記同一の演算による演算結果の少なくとも1つを送信する出力部と、
前記第1演算装置と前記第2演算装置とを接続し、前記第1演算装置および前記第2演算装置が同期して前記同一の入力データに対する前記同一の演算を実行するための同期情報を通信するのに用いる通信路と、を備えることを特徴とする冗長化システム。 - 前記同期情報は、前記複数の演算装置が実行する前記同一の演算の実行周期を同期させるための演算同期情報を含むことを特徴とする請求項1に記載の冗長化システム。
- 前記同期情報は、前記第1演算装置が前記入力部から受信した前記入力データの受信履歴である第1受信履歴と、前記第2演算装置が前記入力部から受信した前記入力データの受信履歴である第2受信履歴とを含み、
前記第1演算装置と前記第2演算装置は、前記第1受信履歴と第2受信履歴に共通して含まれる履歴情報のうちの最新の前記履歴情報に対応する前記入力データに対して、前記演算を実行することを特徴とする請求項1または2に記載の冗長化システム。 - 前記受信履歴は、複数の前記入力データを識別するための識別情報の履歴であることを特徴とする請求項3に記載の冗長化システム。
- 前記複数の演算装置の各々には優先度が設定されており、
前記出力部は、前記複数の演算装置の各々に設定された前記優先度に基づいて、前記複数の演算装置のうちの異常が検知されていない前記演算装置が出力した前記演算結果のうちから、出力する前記演算結果を選択する出力選択部を、有することを特徴とする請求項1〜4のいずれか1項に記載の冗長化システム。 - 前記出力部は、前記複数の演算装置の各々の前記演算結果を比較する比較部を、さらに有することを特徴とする請求項5に記載の冗長化システム。
- 前記複数の演算装置は、前記入力データに基づいてプラントの制御を実行するよう構成されており、
前記複数の演算装置の各々を前記入力部および前記出力部にそれぞれ接続する、前記通信路とは異なる制御ネットワークを、さらに備えることを特徴とする請求項1〜6のいずれか1項に記載の冗長化システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018145617A JP2020021341A (ja) | 2018-08-02 | 2018-08-02 | 冗長化システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018145617A JP2020021341A (ja) | 2018-08-02 | 2018-08-02 | 冗長化システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020021341A true JP2020021341A (ja) | 2020-02-06 |
Family
ID=69588557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018145617A Pending JP2020021341A (ja) | 2018-08-02 | 2018-08-02 | 冗長化システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020021341A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829266B2 (en) | 2019-11-19 | 2023-11-28 | Mitsubishi Heavy Industries, Ltd. | Computing device, redundant system, program, and method for constructing redundant configuration |
CN117647925A (zh) * | 2024-01-30 | 2024-03-05 | 成都正扬博创电子技术有限公司 | 一种多余度飞控计算方法、装置、设备及存储介质 |
KR102646494B1 (ko) * | 2023-10-18 | 2024-03-12 | 주식회사 유니즈테크 | 제어기의 이중화 장치 및 그 제어방법 |
-
2018
- 2018-08-02 JP JP2018145617A patent/JP2020021341A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11829266B2 (en) | 2019-11-19 | 2023-11-28 | Mitsubishi Heavy Industries, Ltd. | Computing device, redundant system, program, and method for constructing redundant configuration |
KR102646494B1 (ko) * | 2023-10-18 | 2024-03-12 | 주식회사 유니즈테크 | 제어기의 이중화 장치 및 그 제어방법 |
CN117647925A (zh) * | 2024-01-30 | 2024-03-05 | 成都正扬博创电子技术有限公司 | 一种多余度飞控计算方法、装置、设备及存储介质 |
CN117647925B (zh) * | 2024-01-30 | 2024-04-09 | 成都正扬博创电子技术有限公司 | 一种多余度飞控计算方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7996714B2 (en) | Systems and methods for redundancy management in fault tolerant computing | |
CN104516306B (zh) | 冗余的自动化系统 | |
US8966340B2 (en) | System and method for fault tolerant computing using generic hardware | |
US7343437B2 (en) | Synchronization method and control system for the time synchronization of slave units and a synchronizable slave unit | |
JP2020021341A (ja) | 冗長化システム | |
JP6284043B2 (ja) | プロセス制御システム | |
RU2679706C2 (ru) | Двухканальная архитектура | |
KR20160125942A (ko) | 프로그래머블 컨트롤러 시스템, 그 컨트롤러 | |
US11977362B2 (en) | Control device and distributed control system | |
CN107276710B (zh) | 基于时间同步状态监控的时间触发以太网故障诊断方法 | |
US20220147022A1 (en) | Control system | |
US9367375B2 (en) | Direct connect algorithm | |
US10042812B2 (en) | Method and system of synchronizing processors to the same computational point | |
KR101560497B1 (ko) | 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템 | |
CN105022333A (zh) | 具有多个cpu模块的plc系统及其控制方法 | |
US10691080B2 (en) | Computerised system | |
US8631174B2 (en) | Systems, methods, and apparatus for facilitating communications between an external controller and fieldbus devices | |
US20140126583A1 (en) | Systems and Methods for Segment Synchronization | |
Gamer et al. | Increasing Efficiency of M-out-of-N Redundancy | |
CN116490829A (zh) | 用于控制具有控制冗余的自动化系统的方法以及自动化系统 | |
JP2021081967A (ja) | 演算装置、冗長化システムおよびプログラム、ならびに冗長化構成の構築方法 | |
US10394669B2 (en) | Time-triggered process for the periodic fault-tolerant transmission of real-time data in a distributed computer system | |
JP2005285017A (ja) | 2重化コントローラシステム、そのコントローラ、プログラム | |
JP2003216595A (ja) | マルチプロセッサ同期方式及びパケット及び中継装置及びプロセッサ装置及びマルチプロセッサ同期方法 | |
JP5469637B2 (ja) | 冗長構成をとるコントローラ |