(57)【要約】      （修正有）【課題】主系と従系が非同期でも、主系と従系の演算処理後の共有線番のデータが一致し、制御装置内で指令値に変動がなくスムースに切り替わることができる二重化冗長系システムとそのデータ共有方法を提供する。【解決手段】主系の制御演算ユニット１２は、自己の自系メモリ１４ａから制御データを読み込み、制御演算後に主系の自系メモリ１４ａと従系の他系メモリ１４ｂに制御データを上書きする。従系の制御演算ユニット１３は、自己の他系メモリ１４ｂから制御データを読み込み、制御演算後に従系の自系メモリ１４ａと主系の他系メモリ１４ｂに制御データを上書きする。制御演算処理において、各論理ブロック処理内の出力信号線番への書込み時に、主系か従系かを判別し、従系の場合には出力信号線番が共有線番であるかどうかを判別し、共有線番である場合に出力信号線番への書込みをせずに該論理ブロック処理を終了する。【選択図】図２
2008299470.tif 000002
【特許請求の範囲】
【請求項１】
主系と従系の２つの制御ユニットと、該２つの制御ユニットを監視・判定し、いずれかが異常な場合、正常な方を主系として選択する主従選択モジュールとを備え、
前記２つの制御ユニットは、それぞれ自系メモリと他系メモリからなるデュアルポートメモリと制御演算ユニットを有し、
主系の制御演算ユニットは、自己の自系メモリから制御データを読み込み、制御演算後に主系の自系メモリと従系の他系メモリに制御データを上書きし、
従系の制御演算ユニットは、自己の他系メモリから制御データを読み込み、制御演算する二重化冗長系システムであって、
前記制御演算処理において、各論理ブロック処理内の出力信号線番への書込み時に、主系か従系かを判別し、従系の場合には出力信号線番が共有線番であるかどうかを判別し、共有線番である場合に出力信号線番への書込みをせずに該論理ブロック処理を終了する、ことを特徴とする二重化冗長系システム。
【請求項２】
前記従系の制御ユニットにおいて、自己の他系メモリから制御データを読み込み、制御演算後に従系の自系メモリと主系の他系メモリに制御データを上書きする、ことを特徴とする請求項１に記載の二重化冗長系システム。
【請求項３】
主系と従系の２つの制御ユニットと、該２つの制御ユニットを監視・判定し、いずれかが異常な場合、正常な方を主系として選択する主従選択モジュールとを備え、
前記２つの制御ユニットは、それぞれ自系メモリと他系メモリからなるデュアルポートメモリと制御演算ユニットを有し、
主系の制御演算ユニットは、自己の自系メモリから制御データを読み込み、制御演算後に主系の自系メモリと従系の他系メモリに制御データを上書きし、
従系の制御演算ユニットは、自己の他系メモリから制御データを読み込み、制御演算する二重化冗長系システムのデータ共有方法であって、
前記制御演算処理において、各論理ブロック処理内の出力信号線番への書込み時に、主系か従系かを判別し、従系の場合には出力信号線番が共有線番であるかどうかを判別し、共有線番である場合に出力信号線番への書込みをせずに該論理ブロック処理を終了する、ことを特徴とする二重化冗長系システムのデータ共有方法。
【請求項４】
前記従系の制御ユニットにおいて、自己の他系メモリから制御データを読み込み、制御演算後に従系の自系メモリと主系の他系メモリに制御データを上書きする、ことを特徴とする請求項３に記載の二重化冗長系システムのデータ共有方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主系と従系の制御装置を備え、一方に異常が発生したときに直ちに他方の制御装置に切り替えて制御を継続する二重化冗長系システムとそのデータ共有方法に関する。
【背景技術】
【０００２】
ガスタービン制御等の制御装置の信頼性を高めるために複数の制御装置を備えた多重系制御システムが、従来から提案されている（例えば、特許文献１〜４）。
【０００３】
特許文献１及び２は、３台の制御装置（ＧＣＵ）を使用する三重系制御システムに関する。これらの三重系制御システムでは、ＧＣＵ間でセンサ等からの入力データ、演算結果出力データ、内部のボーティング線番（主系と従系の制御ユニットが制御データを互いに共有するために使用する線番である共有線番）のデータに対して、多数決処理を行うことによって、それぞれのデータ（入力値、出力値、内部値）を確定し、共有化している。
【０００４】
特許文献３及び４は、２台の制御装置（ＧＣＵ）を使用する二重系制御システムに関する。これらの二重系制御システムでは、２台の制御装置の両方でデータを共有しながら、その一方で対象物を制御し、一方に異常が発生したときに直ちに他方の制御装置に切り替えるものである。
【０００５】
特許文献３の「二重化システム」は、二重化しない通常の制御装置に比較して、別途トラッキング処理を実施する必要がなく、割込スキャン処理時間を短縮することを目的とする。
このため、この発明の二重化システムは、図９に示すように、２台の制御装置５２ａ，５２ｂのトラッキングメモリ５３Ａ〜５３Ｄをデュアルポートメモリで構成し、かつこの各デュアルポートメモリどうしをメモリバス５４ａ〜５４ｄで接続し、稼動側に指定されたＣＰＵモジュール５５ａが可変データを自己のトラッキングメモリ５３Ａ，５３Ｃおよび待機側に指定された制御装置のトラッキングメモリに同時に書込むようにしたものである。
【０００６】
特許文献４の「高速二重系制御装置」は、制御サイクルが極めて短い制御装置において、主系から従系へ演算中の内部データやカウンタデータをそのまま引き継いで使用でき、これにより、制御装置内で指令値に変動がなくスムースに切り替えができることを目的とする。
このため、この発明の高速二重系制御装置は、図１０に示すように、主系と従系の制御ユニット６２，６３と、制御ユニットのいずれかを選択する主従選択モジュールとを備える。主系及び従系の制御ユニット６２，６３は、それぞれデュアルポートメモリ６４と制御演算ユニット６５を有し、主系と従系のデュアルポートメモリ６４は、リアルタイムで制御データを共有している。また主系と従系の制御演算ユニット６５は、自己のデュアルポートメモリの制御データに基づき同一の制御演算を行う。さらに、主従選択モジュールにより、主系・従系の異常を高速で監視・判定し、いずれかが異常な場合、正常な方を主系に切り替えを行うものである。
【０００７】
【特許文献１】特許第３６９４９８７号公報、「三重系フォールトトレラントシステム」
【特許文献２】特開２０００−６６９１２号公報、「三重系フォールトトレラントシステムのデータ変更方法」
【特許文献３】特開平４−１５８４５７号公報、「二重化システム」
【特許文献４】特開２００５−５００８８号公報、「高速二重系制御装置」
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述した特許文献４の二重系制御装置により、主系と従系のデュアルポートメモリが、極めて短い制御サイクルで制御データを共有しているので、いずれかが異常な場合、正常な方を主系に切り替えることにより、主系から従系へ演算中の内部データやカウンタデータをそのまま引き継いで使用できる。
以下、この二重系制御装置を「二重化冗長系システム」と呼ぶ。
【０００９】
二重化冗長系システムは、制御装置（ＧＣＵ）を２セット使用し、各ＧＣＵ間をデュアルポートメモリ基板で通信接続する構造である。各ＧＣＵは、それぞれの内部値を記憶する内部メモリを有し、非同期でセンサ等からデータを内部メモリに入力して制御演算し、プラントへの出力データを算出する。算出した出力データは、各ＧＣＵの内部メモリから出力するが、ＧＣＵと制御対象装置との間に位置する主従切替え器（主従選択モジュール）によって、主系に設定されているＧＣＵ（主系ＧＣＵ）からのデータのみが採用され、外部に出力される。
主系ＧＣＵに異常が発生した場合、主従切替え器により主系と従系が切り替わり、それまで従系であったＧＣＵが主系となって、制御を継続することによって、ガスタービン制御等の連続動作を可能としている。
そのため、従系に設定されているＧＣＵ（従系ＧＣＵ）では、主系ＧＣＵからデュアルポートメモリ基板を介して送信される制御演算後の積分値やカウンタ値等の内部値を受信して、自身の内部値に反映することによって、データ共有を行っている。この処理を行うのが、主従データ共有機能である。
【００１０】
図６は、従来の制御演算処理手順を示すフロー図であり、（Ａ）は全体フロー図、（Ｂ）は制御演算処理の詳細フロー図、（Ｃ）はデータ共有処理の詳細フロー図である。また、図７は、従来のデータ共有処理の説明図である。図７では、主系の演算１００の終了後、演算結果の値を主系の自系メモリ１０１と従系の他系メモリ１０２に書き込み、従系は演算１００の終了後、従系の他系メモリ１０２からデータをコピーすることで。主従のデータ共有を実現している。
図６Ａに示すように、従来の制御演算処理手順において、データ共有処理は、一連の制御演算処理の中で、外部データ出力処理の後に行われ、共有したデータは、図７に示すように、次回の制御演算処理に使用される。
またデータ共有処理において、図６Ｃに示すように、共有対象となる信号線番（以下、ボーティング線番又は「共有線番」と呼ぶ）に対して、主系では、デュアルポートメモリ（ＤＰＭ）に自身の内部メモリの共有線番の値を書込み、従系では、ＤＰＭから値を読み出し、自身の内部メモリの共有線番に上書きする処理を行う。
【００１１】
上述したように、従来の制御演算処理手順において、データ共有処理は、制御演算処理後に行われ、主系ＧＣＵの演算結果の値を従系ＧＣＵにデータコピーすることで主従のデータ共有を実現している。データ共有した値は、次回の制御演算処理に使用される。
一方、制御演算処理では、外部からの入力データ、および前回データ共有値を使用して、ロジックプログラムに記述された論理ブロック毎に、先頭のブロックから順番に入力値に対する演算結果を出力に設定されている信号線番（共有線番と非共有線番がある）に書き込んでいく。この際、出力側の信号線番の種類をチェックすることなく、出力に設定されている信号線番に書き込んでいる。
このため、出力に共有線番が設定されていると、前回処理でデータ共有した値が今回の演算処理で異なる値に上書きされてしまうことになるため、ロジックプログラムの組み方に注意を払う必要がある。
【００１２】
図８は、従来の従系演算処理の例を示す図である。この例において、演算前には共有線番（ボーティング線番）はデータ共有した値（ＯＮ）となっているが、演算後には論理ブロック［ＳＦＦ］の演算結果（ＯＦＦ）に上書きされてしまう。また、共有線番を入力とする論理ブロック［ＡＮＤ］は、［ＳＦＦ］が先に演算されるか後にされるかによって、入力値が異なってしまう。
【００１３】
本発明は、かかる問題点を解決するために創案されたものである。すなわち、本発明の目的は、主系と従系が非同期であり、ある演算処理を主系に遅れて従系が開始する場合でも、或いは、主系で運転中に従系ＧＣＵをなんらかの理由でリセットした場合でも、主系と従系の演算処理後の共有線番のデータが一致し、これにより、制御装置内で指令値に変動がなくスムースに切り替わることができる二重化冗長系システムとそのデータ共有方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明によれば、主系と従系の２つの制御ユニットと、該２つの制御ユニットを監視・判定し、いずれかが異常な場合、正常な方を主系として選択する主従選択モジュールとを備え、
前記２つの制御ユニットは、それぞれ自系メモリと他系メモリからなるデュアルポートメモリと制御演算ユニットを有し、
主系の制御演算ユニットは、自己の自系メモリから制御データを読み込み、制御演算後に主系の自系メモリと従系の他系メモリに制御データを上書きし、
従系の制御演算ユニットは、自己の他系メモリから制御データを読み込み、制御演算する二重化冗長系システムであって、
前記制御演算処理において、各論理ブロック処理内の出力信号線番への書込み時に、主系か従系かを判別し、従系の場合には出力信号線番が共有線番であるかどうかを判別し、共有線番である場合に出力信号線番への書込みをせずに該論理ブロック処理を終了する、ことを特徴とする二重化冗長系システムが提供される。
【００１５】
本発明の好ましい実施形態によれば、前記従系の制御ユニットにおいて、自己の他系メモリから制御データを読み込み、制御演算後に従系の自系メモリと主系の他系メモリに制御データを上書きする。
【００１６】
また本発明によれば、主系と従系の２つの制御ユニットと、該２つの制御ユニットを監視・判定し、いずれかが異常な場合、正常な方を主系として選択する主従選択モジュールとを備え、
前記２つの制御ユニットは、それぞれ自系メモリと他系メモリからなるデュアルポートメモリと制御演算ユニットを有し、
主系の制御演算ユニットは、自己の自系メモリから制御データを読み込み、制御演算後に主系の自系メモリと従系の他系メモリに制御データを上書きし、
従系の制御演算ユニットは、自己の他系メモリから制御データを読み込み、制御演算する二重化冗長系システムのデータ共有方法であって、
前記制御演算処理において、各論理ブロック処理内の出力信号線番への書込み時に、主系か従系かを判別し、従系の場合には出力信号線番が共有線番であるかどうかを判別し、共有線番である場合に出力信号線番への書込みをせずに該論理ブロック処理を終了する、ことを特徴とする二重化冗長系システムのデータ共有方法が提供される。
【００１７】
本発明の好ましい実施形態によれば、前記従系の制御ユニットにおいて、自己の他系メモリから制御データを読み込み、制御演算後に従系の自系メモリと主系の他系メモリに制御データを上書きする。
【発明の効果】
【００１８】
上記本発明の装置及び方法によれば、従系の場合には、共有線番に演算結果を上書きしないため、演算の前後で値は変化しない。
従って、主系と従系が非同期であり、ある演算処理を主系に遅れて従系が開始する場合でも、主系の演算処理中に共有線番のデータが変化しないため、共有線番のデータに基づく主系と従系の演算処理後の共有線番のデータは常に同一となり、相違は生じない。
【００１９】
また、主系で運転中に従系ＧＣＵをなんらかの理由でリセットした場合に、従系ＧＣＵの共有線番のデータが例えば「０」にリセットされても、少なくとも１回の制御サイクル経過後には、従系のデータが主系のデータで上書きされるため、リセット直後の制御サイクル経過後に従系が主系に切り替わっても、主系と従系の共有線番のデータは同一である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の好ましい実施形態を図面を参照して説明する。なお各図において、共通する部分には同一の符号を付し、重複した説明は省略する。
【００２１】
図１は、本発明の二重化冗長系システムの模式図である。この図において、本発明の二重化冗長系システム１０は、主系と従系の制御ユニット１２，１３と、制御ユニット１２，１３のいずれかを選択する主従選択モジュール２０とを備える。
この二重化冗長系システム１０は、例えば、高速で運転するガスタービン等の制御装置であり、図示しない複数のセンサから温度、流量、圧力等のデータを受信し、アクチュエータ１（制御弁等）を制御するようになっている二重系ガスタービン制御装置である。
【００２２】
図１において、本発明の二重化冗長系システム１０は、更に２つのセレクタ４を備える。各セレクタ４には、２つの制御ユニット１２，１３の出力が並列に入力され、それぞれ同一のアクチュエータ１に出力するようになっている。また、２つのセレクタ４は、主従選択モジュール１４で制御され、２つの制御ユニット１２，１３のいずれかの出力のみを選択し出力するようになっている。
【００２３】
主従選択モジュール２０は、主系・従系の２つの制御ユニット１２，１３の異常を高速で監視・判定し、いずれかが異常な場合、正常な方を主系に切り替えを行う。従って、この切り替えにより、主系と従系は逆転する。例えば、図４において、１２が主系、１３が従系であるとすると、切り替え後は１２が従系、１３が主系となる。なお、以下１２を主系、１３を従系として説明する。
【００２４】
図１において、主系及び従系の制御ユニット１２，１３は、それぞれデュアルポートメモリ１４と制御演算ユニット１５（ＣＰＵ）を有する。主系と従系の制御演算ユニット１５は、主系と従系で共有するデータに基づき、同期せずに（非同期に）同一の制御演算を実施し、その演算結果を共有できるようになっている。
【００２５】
図２は、本発明の二重化冗長系システム１０の構成図である。この図に示すように、各デュアルポートメモリ１４は、それぞれ自系メモリ１４ａと他系メモリ１４ｂを有する。このデュアルポートメモリ１４は、同一の基板に設けられている。
また、一方の自系メモリ１４ａと他方の他系メモリ１４ｂは２本の光ケーブル１６で接続され、自系メモリ１４ａのデータを制御サイクルより短い間隔（例えば、約２μｓｅｃ、８ｂｙｔｅ転送）で他方の他系メモリ１４ｂに上書きするようになっている。
【００２６】
また、本発明の二重化冗長系システム１０おいて、主系の制御演算ユニット１２は、自己の自系メモリ１４ａから制御データを読み込み、自系メモリ１４ａに制御データを上書きする。従って、主系の制御演算ユニット１２でアクチュエータ１を制御している際に、常に最新の制御データでアクチュエータを制御することができる。
一方、従系の制御演算ユニット１３は、自己の他系メモリ１４ｂから制御データを読み込み、自系メモリ１４ａに制御データを上書きする。従って、主系の制御演算ユニット１２でアクチュエータ１を制御している際に、常に最新の制御データ（主系の自系メモリ１４ａ）を従系の他系メモリ１４ｂに保持でき、実質的にリアルタイムで制御データを共有できる。
【００２７】
主系から従系への共有データの転送は、例えば、メモリを複数の領域に分割して、領域ごとに一意となるシーケンス番号を付与し、書き込み処理では、シーケンス番号から最も古いデータを判断し共有データを更新し、読み込み処理では、シーケンス番号から最も新しいデータを判断し共有データを取得することによって、書き込み処理と読み込み処理の衝突を回避する。さらに、書込中フラグにより、書き込み中の読み込みを保護し、チェックサムにて書き込みデータの整合性を確保するのがよい。
【００２８】
通信エラーの処理は、各基板において、チェックサムエラー及び通信エラーを高速制御演算周期で監視し、連続数回（例えば３回）発生した場合に、自己診断を実施するのがよい。この自己診断により、自己の基板が異常の場合には、その異常信号を出力し、他の基板が異常の場合には、その異常信号を出力する。
【００２９】
通信ダウンの処理は、通信ダウンを高速制御演算周期で監視し、連続数回（例えば３回）発生した場合に、通信ダウンの異常信号を出力する。
【００３０】
上記各異常信号は、主従選択モジュール２０に入力され、これに基づき、主系・従系の２つの制御ユニット１２，１３の異常を高速で監視・判定し、正常な方を主系に切り替えを行う。
【００３１】
図３は、本発明における論理ブロックの処理手順を示すフロー図であり、（Ａ）は全体フロー図、（Ｂ）は制御演算処理の詳細フロー図である。なお、図３Ａは従来の図６Ａと同一であり、データ共有処理の詳細も図６Ｃと同一である。
【００３２】
図３Ｂにおいて、各制御演算は、複数の論理ブロックからなる。
データ共有処理を開始すると、まず先頭論理ブロックを取得し（Ｓ１）、次いでの論理ブロックを処理し（Ｓ２）、Ｓ３で最終ブロックか否かを判断し、最終でない場合（ＮＯ）には、次の論理ブロックを取得し（Ｓ４）し、論理ブロック処理（Ｓ２）を繰り返す。Ｓ３で最終ブロックの場合（ＹＥＳ）には、制御演算を終了する。
なお、図３Ｂは、論理ブロック処理（Ｓ２）を除き、従来の図６Ｂと同一である。
【００３３】
図４は、図３Ｂにおける論理ブロック処理の詳細フロー図であり、ステップＳ２１〜Ｓ２５からなる。また図５は、本発明におけるデータ共有処理の説明図である。
【００３４】
本発明では、図４に示すように、演算処理（Ｓ２２）の後、各論理ブロック処理内の出力信号線番への書込み（Ｓ２５）の前に、主従の判定を行い（Ｓ２３）、従系の場合には、さらに共有線番かどうかをチェックする処理（Ｓ２４）を追加する。
これらの追加処理（Ｓ２３〜Ｓ２４）で、従系で、かつ共有線番であった場合に書込み（Ｓ２５）を行わないことによって、従系ＧＣＵの共有線番への書込みを回避する。
【００３５】
図５の例に示すように、本発明では、従系の場合には、共有線番Ｔ１（ボーティング線番）に演算結果を上書きしないため、ボーティング線番Ｔ１はＯＮを保持し、演算の前後で値は変化しない。
また、共有線番Ｔ１を入力とする論理ブロック［ＡＮＤ］も、共有線番Ｔ１の演算結果を上書きしないため、ボーティング線番Ｔ１がＯＮを保持し、論理ブロックの入力値は常にデータ共有値となる。
【００３６】
上述した本発明の装置及び方法によれば、従系の場合には、共有線番に演算結果を上書きしないため、演算の前後で値は変化しない。
従って、主系と従系が非同期であり、ある演算処理を主系に遅れて従系が開始する場合でも、主系の演算処理中に共有線番のデータが変化しないため、共有線番のデータに基づく主系と従系の演算処理後の共有線番のデータは常に同一となり、相違は生じない。
【００３７】
また、主系で運転中に従系ＧＣＵをなんらかの理由でリセットした場合に、従系ＧＣＵの共有線番のデータが例えば「０」にリセットされても、少なくとも１回の制御サイクル経過後には、従系のデータが主系のデータで上書きされるため、リセット直後の制御サイクル経過後に従系が主系に切り替わっても、主系と従系の共有線番のデータは同一である。
【００３８】
従って、主系と従系のデュアルポートメモリ１４は、主系と従系が非同期であっても実質的にリアルタイムで制御データを共有しているので、いずれかが異常な場合、正常な方を主系に切り替えることにより、主系から従系へ演算中の内部データやカウンタデータをそのまま引き継いで使用できる。
【００３９】
なお、本発明は、上述した実施形態に限定されず、本発明の要旨を逸脱しない範囲で種々に変更することができることは勿論である。例えば、本発明は、ガスタービン用制御装置に限定されず、その他の装置にも自由に適用することができる。
【図面の簡単な説明】
【００４０】
【図１】本発明の二重化冗長系システムの模式図である。
【図２】本発明の二重化冗長系システムの構成図である。
【図３】本発明におけるデータ共有処理の説明図である。
【図４】図３Ｂにおける論理ブロック処理の詳細フロー図である。
【図５】本発明におけるデータ共有処理の説明図である。
【図６】従来の制御演算処理手順を示すフロー図である。
【図７】従来のデータ共有処理の説明図である。
【図８】従来の従系演算処理の例を示す図である。
【図９】特許文献３の構成図である。
【図１０】特許文献４の構成図である。
【符号の説明】
【００４１】
１  アクチュエータ、４  セレクタ、
１０  二重化冗長系システム、１２，１３  制御ユニット、
１４  デュアルポートメモリ、
１４ａ  自系メモリ、１４ｂ  他系メモリ、
１５  制御演算ユニット（ＣＰＵ）、
１６  光ケーブル、２０  主従選択モジュール
【図１】
2008299470.tif 000003
【図２】
2008299470.tif 000004
【図３】
2008299470.tif 000005
【図４】
2008299470.tif 000006
【図５】
2008299470.tif 000007
【図６】
2008299470.tif 000008
【図７】
2008299470.tif 000009
【図８】
2008299470.tif 000010
【図９】
2008299470.tif 000011
【図１０】
2008299470.tif 000012