(57)【要約】【課題】モジュールの切り替えに際して、制御の連続性を得ることができる二重化制御システムを提供する。【解決手段】稼動側の第１のモジュール１Ａは演算ブロック１１Ａで更新している出力値（ＭＶ値）を、ＣＰＵモジュール２を介して待機中の第２のモジュール１Ｂに向けて順次、転送する。第２のモジュール１Ｂは、転送された出力値（ＭＶ値）を自身の出力値（ＭＶ値）に転写する。これにより、第１のモジュール１Ａおよび第２のモジュール１Ｂ間での出力値（ＭＶ値）の等値化が行われる。モジュール切り替え後、稼動側となった第２のモジュール１Ｂは、等値化された出力値（ＭＶ値）を用いてＰＩＤ演算を開始する。【選択図】図１
2010033120.tif 000002
【特許請求の範囲】
【請求項１】
ＰＩＤ演算を行う第１のモジュールと、ＰＩＤ演算を行う第２のモジュールと、を備え、前記第１のモジュールまたは前記第２のモジュールを選択的に稼動させる二重化制御システムであって、
稼動させるモジュールを前記第１のモジュールから前記第２のモジュールに切り替える切替手段と、
前記切替手段による切り替え前における前記第１のモジュールの演算状態を示すデータを前記第２のモジュールに転送する転送手段と、
を備え、
前記切替手段による切り替え後、前記第２のモジュールは前記転送手段により転送された前記データを用いてＰＩＤ演算を実行することを特徴とする二重化制御システム。
【請求項２】
前記データは前記第１のモジュールの出力値であることを特徴とする請求項１に記載の二重化制御システム。
【請求項３】
前記データは前記第１のモジュールにおけるＰＩＤ演算の積分成分であることを特徴とする請求項１に記載の二重化制御システム。
【請求項４】
前記切替手段による切り替え後、前記第２のモジュールは前記データを用いてＰＩＤ演算の等値化を実行した後、ＰＩＤ演算を開始することを特徴とする請求項１〜３のいずれか１項に記載の二重化制御システム。
【請求項５】
前記第２のモジュールは、前記切替手段による切り替えの後、前記転送手段により転送された前記データを用いたＰＩＤ演算を開始するまでの間、前記切替手段による切り替え前の前記第１のモジュールの出力値を維持することを特徴とする請求項１〜４のいずれか１項に記載の二重化制御システム。
【請求項６】
前記第１のモジュールおよび前記第２のモジュールは、互いに非同期で動作することを特徴とする請求項１〜５のいずれか１項に記載の二重化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＩＤ演算を行う複数のモジュールを備え、モジュールを選択的に稼動させる二重化制御システムに関する。
【背景技術】
【０００２】
制御の信頼性を向上させることを目的とし、同一の入出力モジュールを２つ設ける二重化制御システムがプロセス制御の分野において用いられている。このシステムでは、一方を稼動側のモジュールとして、他方を待機側のモジュールとして使用する。稼動側のモジュールに異常が発生した場合には、モジュールの切り替えを実行し、待機側のモジュールを稼動させることでプロセス制御を継続させることができる。
【特許文献１】特開２００６−２０９５６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
必要な制御速度の確保などの目的から、入出力モジュール内にＰＩＤ演算のための演算ブロックを組み込む場合がある。しかし、演算ブロックを組み込んだ場合、待機側のモジュールにおけるＰＩＤループは切断されるため、待機側のモジュールでは正しい演算を実行することができない。また、モジュールを構成するハードウェアのばらつきや入力値（ＰＶ値）の取得タイミングのずれなどに起因して、演算ブロックに与えられる入力値（ＰＶ値）が稼動側と制御側とで異なる場合がある。さらに、入力値（ＰＶ値）が電流入力値などの場合には、両者のモジュールに同時に入力値（ＰＶ値）を与えることができない。
【０００４】
これらの状況下でモジュールの切り替えが実行されると、切り替え時点で稼動側のモジュールからの出力値と異なる出力値（ＭＶ値）が待機側のモジュールから出力されているため、この状態でモジュールの切り替えを行うと出力値の連続性が失われる。
【０００５】
また、ＰＩＤ演算は過去の演算状態を用いて演算する。このため、モジュール間における演算状態の履歴の相違によって、切り替え時における待機側におけるＰＩＤ演算の状態と、稼動側における演算の状態とに差異が生ずる。このため、切り替え後に連続したＰＩＤ演算を継続できず、出力値（ＭＶ値）の連続性も得られない。
【０００６】
このように、出力値（ＭＶ値）の連続性が得られない場合にはプラント制御全体に影響が及ぶため、このような事態を回避する必要がある。
【０００７】
本発明の目的は、モジュールの切り替えに際して、制御の連続性を得ることができる二重化制御システムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明の二重化制御システムは、ＰＩＤ演算を行う第１のモジュールと、ＰＩＤ演算を行う第２のモジュールと、を備え、前記第１のモジュールまたは前記第２のモジュールを選択的に稼動させる二重化制御システムであって、稼動させるモジュールを前記第１のモジュールから前記第２のモジュールに切り替える切替手段と、前記切替手段による切り替え前における前記第１のモジュールの演算状態を示すデータを前記第２のモジュールに転送する転送手段と、を備え、前記切替手段による切り替え後、前記第２のモジュールは前記転送手段により転送された前記データを用いて演算を実行することを特徴とする。
この二重化制御システムによれば、切替手段による切り替え前における第１のモジュールの演算状態を示すデータを第２のモジュールに転送し、第２のモジュールは転送された上記データを用いて演算を実行するので、モジュールの切り替えに際して、連続した演算状態を得ることができ、制御の連続性を得られる。
【０００９】
前記データは前記第１のモジュールの出力値であってもよい。
【００１０】
前記データは前記第１のモジュールにおけるＰＩＤ演算の積分成分であってもよい。
【００１１】
前記切替手段による切り替え後、前記第２のモジュールは前記データを用いてＰＩＤ演算の等値化を実行してもよい。
【００１２】
前記第１のモジュールおよび前記第２のモジュールは、互いに非同期で動作してもよい。
【発明の効果】
【００１３】
本発明の二重化制御システムによれば、切替手段による切り替え前における第１のモジュールの演算状態を示すデータを第２のモジュールに転送し、第２のモジュールは転送された上記データを用いて演算を実行するので、モジュールの切り替えに際して、連続した演算状態を得ることができ、制御の連続性を得られる。
【発明を実施するための最良の形態】
【００１４】
以下、図１〜図４を参照して、本発明による二重化制御システムの実施形態について説明する。
【００１５】
図１は、一実施形態の二重化制御システムの構成を示すブロック図である。
【００１６】
図１に示すように、本実施形態の二重化制御システムは、ＰＩＤ演算ブロック１１ＡおよびＰＩＤ演算ブロック１１Ｂをそれぞれ具備する第１のモジュール１Ａおよび第２のモジュール１Ｂと、転送手段として機能するＣＰＵモジュール２とを備える。
【００１７】
図１において、第１のモジュール１Ａには、出力値（ＭＶ値）の出力／非出力状態を切り替える機能としてスイッチ１２Ａが、出力値（ＭＶ値）の取得先を切り替える機能としてスイッチ１３Ａが、それぞれ表現されている。また、同様に、第２のモジュール１Ｂには、出力値（ＭＶ値）の出力／非出力状態を切り替える機能としてスイッチ１２Ｂが、出力値（ＭＶ値）の取得先を切り替える機能としてスイッチ１３Ｂが、それぞれ表現されている。
【００１８】
スイッチ１２Ａは第１のモジュール１Ａの切替手段２１Ａが制御し、スイッチ１２Ｂは第２のモジュール１Ｂの切替手段２１Ｂが制御する。スイッチ１２Ａとスイッチ１２Ｂは連動しており、稼動側のモジュールではスイッチは閉じられ出力状態に、もう一方のモジュールではスイッチは開かれ非出力状態になるように制御される。
【００１９】
スイッチ１３Ａは第１のモジュール１Ａの更新制御手段２２Ａが制御し、スイッチ１３Ｂは第２のモジュール１Ｂの更新制御手段２２Ａが制御する。稼動側のモジュールではスイッチは閉じられＰＩＤ演算の結果で出力値（ＭＶ値）を更新し、もう一方のモジュールではスイッチは開かれ出力値（ＭＶ値）は更新されない。スイッチ１３Ａ，１３Ｂは、切替手段２１Ａ，２１Ｂによるスイッチ１２Ａ，１２Ｂの切り替え後にシーケンス的に制御される。具体的には、第２のモジュールが稼動側となった場合、スイッチ１２Ｂが閉じられた後、所定時間経過後にスイッチ１３Ｂを閉じるように更新制御手段２２Ｂにより制御される。
【００２０】
図１に示すように、設定値（ＳＶ値）はＣＰＵモジュール２から第１のモジュール１Ａおよび第２のモジュールの演算ブロック１１Ａおよび演算ブロック１１Ｂに共通に与えられる。
【００２１】
次に、本実施形態の二重化制御システムにおけるモジュール切り替えの動作について説明する。図２は、本実施形態の二重化制御システムの動作タイミングを示すタイミングチャートである。
【００２２】
第１のモジュール１Ａが正常に稼動している期間（図２における時刻Ｔ０までの期間）、スイッチ１２Ａおよびスイッチ１３Ｂは閉じた状態にあり、第１のモジュール１ＡのＰＩＤ演算ブロック１１Ａは、ＣＰＵモジュール２から与えられる設定値（ＳＶ値）、センサ機器４からの入力値（ＰＶ）を受け、ＰＩＤ演算を実行する。第１のモジュール１Ａは、演算ブロック１１Ａでの演算結果を出力値（ＭＶ値）として出力し、制御機器３を制御する。制御機器３の制御は、センサ機器４からの入力値（ＰＶ値）に反映される。このように、第１のモジュールが稼動している間、制御機器３、センサ機器４および第１のモジュール１ＡによるＰＩＤループが形成される。
【００２３】
一方、待機中の第２のモジュール１Ｂでは、スイッチ１２Ｂが開いた状態にあり、第２のモジュール１Ｂと制御機器３との間は遮断されるため、ＰＩＤループが形成されない。したがって、第２のモジュール１Ｂの演算ブロック１１Ｂでは正しいＰＩＤ演算を実行することができず、演算を停止している。また、演算ブロック１１Ｂの演算結果で出力値（ＭＶ値）が更新されないように、スイッチ１３Ｂが開いた状態にある。図１に示すように、第１のモジュール１Ａは演算ブロック１１Ａで更新している出力値（ＭＶ値）を、ＣＰＵモジュール２を介して待機中の第２のモジュール１Ｂに向けて順次、転送する。第２のモジュール１Ｂは、転送された出力値（ＭＶ値）を自身の出力値（ＭＶ値）に転写する。これにより、第１のモジュール１Ａおよび第２のモジュール１Ｂ間での出力値（ＭＶ値）の等値化が行われる。なお、出力値（ＭＶ値）の等値化は、モジュールの切り替えが発生したときのみ実行してもよい。
【００２４】
図２の時刻Ｔ０において第１のモジュール１Ａの異常が検出され、切り替えが発生すると、第１のモジュール１Ａのスイッチ１３Ａが開かれ、第２のモジュール１Ｂのスイッチ１２Ｂが閉じられることで、制御機器３には第２のモジュール１Ｂが接続され、第２のモジュール１Ｂから制御機器３に出力値（ＭＶ値）が与えられる。また、第１のモジュール１Ａは制御機器３から切り離される。
【００２５】
このとき、第２のモジュール１Ｂから制御機器３に与えられる出力値（ＭＶ値）は、切り替え前に演算ブロック１１Ａにより最後に更新された出力値（ＭＶ値）であり、演算ブロック１１Ｂの演算結果による更新も行われない。このため、第２のモジュール１Ｂの出力値（ＭＶ値）がそのまま維持される。
【００２６】
次に、第２のモジュール１Ｂにセンサ機器４からの入力値（ＰＶ）が入力されるのを待って、図２の時刻Ｔ１において第２のモジュール１ＢにおいてＭＶトラッキングを実行する。ＭＶトラッキングでは、第２のモジュール１Ｂから出力している出力値（ＭＶ値）を使用し、ＰＩＤ演算を補正する処理を実行する。ＭＶトラッキングは、ＰＩＤ演算の結果としての出力値を一致させるために一般的に使用されている処理である。
【００２７】
次に、ＭＶトラッキングにおける処理手順について説明する。
【００２８】
ＰＩＤ演算は、比例成分（Ｐ成分）、積分成分（Ｉ成分）および微分成分（Ｄ成分）の加算で算出され、「入力値（ＰＶ値）と設定値（ＳＶ値）の差分」および「過去の演算結果」よりＰＩＤ演算が行われる。
【００２９】
一般的に比例成分と微分成分は「入力値（ＰＶ値）と設定値（ＳＶ値）の差分」のみから算出され、「過去の演算結果」は使用しない。
【００３０】
積分成分は、「入力値（ＰＶ値）と設定値（ＳＶ値）の差分」と「過去の演算結果」から算出され、具体的には「過去の演算結果」に、「入力値（ＰＶ値）と設定値（ＳＶ値）の差分」が積分されていくことになる。
【００３１】
ＭＶトラッキングは、別の手段で出力を行っている状態から、ＰＩＤ演算の結果を出力する状態への切り替え時に出力を継続させるために行われる一般的な方法である。具体的には、積分成分は、
【００３２】
積分成分＝現在出力している出力値（ＭＶ値）−比例成分−微分成分
から算出され、ＰＩＤ演算結果は、
【００３３】
【数１】
2010033120.tif 000003
となり、結果としてＰＩＤ演算結果が「現在出力している出力値（ＭＶ値）」となって出力が継続される。ＭＶトラッキングによるＰＩＤ演算の補正処理は、自ら出力している出力値（ＭＶ値）を使用するので、ＣＰＵモジュール２によらず第２のモジュール１Ｂ単独で実行できる。このため、高速に処理を実行でき、敏捷性に優れる。
【００３４】
ＭＶトラッキングが終了すると、図２の時刻Ｔ２においてスイッチ１３Ａをオフ、スイッチ１３Ｂをオンし、第２のモジュール１Ｂは稼動側モジュールとして、通常のＰＩＤ演算による出力値（ＭＶ値）を制御装置３に出力する。制御機器３、センサ機器４および第２のモジュール１ＢによるＰＩＤループが形成される。ＭＶトラッキングを実行済みであるため、時刻Ｔ２における出力値（ＭＶ）の変動はなく、連続した出力値（ＭＶ値）が出力される。一方、第１のモジュール１Ａは待機状態となる。また、第２のモジュール１Ｂにおける演算結果としての出力値（ＭＶ値）は、ＣＰＵモジュール２を介して第１のモジュール１Ａに転送される。このように、モジュールの切り替えにより第１のモジュール１Ａおよび第２のモジュール１Ｂの動作状態が互いに反転する。
【００３５】
このように、本実施形態の二重化制御システムでは、モジュールの切り替え時に、第２のモジュール１Ｂにおいて、ＭＶ値の等値化とＰＩＤ演算の補正（ＭＶトラッキング）をすることで、ＣＰＵモジュール２に頼ることなく、出力状態を維持したままで第２のモジュール１ＢでのＰＩＤ演算による出力を開始できる。
【００３６】
ところで、一般的にプロセス制御では、制御が安定した状態にあることがほとんどであり、出力値はほぼ一定値を維持する。このとき、稼動側モジュールから待機側モジュールに転送するデータも、変わらないので、必ずしも同期をとる必要はない。
【００３７】
一方、制御が安定的でなく状態が変化している場合には、等値化のタイミングの遅れ分だけ出力値（ＭＶ値）が過去の状態に引き戻されるが、その後の制御には問題を生じない。状態が引き戻される時間幅が許容範囲になるように等値化間隔（周期）を短くすることで、必ずしもモジュール間の同期をとって動作させる必要はなくなる。
【００３８】
以上のように、本実施形態の二重化制御システムによれば、ＭＶ値の等値化とＰＩＤ演算の補正（ＭＶトラッキング）により、出力を変動させることなくモジュールの切り替えができる。また、切り替え時にＣＰＵモジュールの動作が介在しないため、ＰＩＤ演算機能をモジュール間で即時に引き継ぐことが可能となる。また、本実施形態の二重化制御システムでは、転送手段として大量のデータを送信する手段を設ける必要はなく、転送手段は非同期でも実現できるため同期化のための仕組みを設ける必要もない。
【００３９】
上記実施形態では、２つのモジュールを用いた二重化を例示したが、待機側のモジュールとして等値化機能をもたせた複数のモジュールを用意してもよい。
【００４０】
また、本発明による二重化制御システムは、ハードウェアまたはソフトウェア単独で、あるいは両者を任意に組み合わせて構成することができる。
【００４１】
上記実施形態では、転送手段としてＣＰＵモジュールが介在する構成を示したが、等値化のためのデータとして正しいデータが転送できれば、その構成は任意である。例えば、モジュール間に専用線を設けデータを転送してもよい。また、例えば、転送対象となるデータが出力電圧の場合には、稼動側モジュールから出力される電圧値（アナログ値）は、その出力端子から容易に読み出すことができるため、この電圧値を等値化するデータとして使用することができる。
【００４２】
上記実施形態では、ＰＩＤ演算の結果（出力値）を等値化の対象となるデータ（等値化データ）としているが、モジュール切り替え前の出力値と、切り替え後のＰＩＤ演算の結果とを最終的に等値化できれば、別のデータを等値化データとして取り扱ってもよい。
【００４３】
図３は、ＰＩＤ演算における積分成分を等値化データとした二重化制御システムの構成を示すブロック図である。
【００４４】
図３に示すように、稼動側のモジュールおよび待機側のモジュールに対して、ＣＰＵモジュール２から設定値（ＳＶ値）が与えられる。また、センサ機器４からの入力値（ＰＶ値）も両方のモジュールに与えられる。さらに、図３の構成では、稼動側のモジュールからＰＩＤ演算の積分成分がＣＰＵモジュール２を介して待機側のモジュールに転送され、待機側のモジュールにおいて積分成分の等値化が行われる。
【００４５】
演算ブロック１１Ａおよび演算ブロック１１Ｂは、設定値（ＳＶ値）、入力値（ＰＶ値）および積分成分に基づくＰＩＤ演算を実行し、演算結果をそれぞれのモジュールの出力値（ＭＶ値）として更新する。すなわち、図１におけるスイッチ１３Ａおよびスイッチ１３Ｂは常時、閉じた状態にある。
【００４６】
両方のモジュールに同一の設定値（ＳＶ値）、入力値（ＰＶ値）および積分成分が与えられていれば、演算ブロック１１Ａおよび演算ブロック１１Ｂにおける演算の結果である出力値（ＭＶ値）は同一となる。このように、積分成分の転送により、ＰＩＤ演算に必要なデータが両方のモジュールで揃うため、稼動側および待機側で同一のＰＩＤ演算を実行することができ、同一の出力値（ＭＶ値）を用意することができる。
【００４７】
図４は、図３に示す二重化制御システムにおけるモジュールの切り替え動作を示すタイミングチャートである。
【００４８】
稼動側の第１のモジュール１Ａにおける異常が検出されると、時刻Ｔ０において、モジュールの切り替えを実行し、スイッチ１２Ａおよびスイッチ１２Ｂをそれぞれ反転する。これにより、制御機器３に与えられる出力値（ＭＶ値）の出力元が第１のモジュール１Ａから第２のモジュール１Ｂに切り替わる。図３の構成によれば、ＰＩＤ演算の状態自体も等値化されているため、ＭＶトラッキングなしにＰＩＤ演算を継続でき、切り替え時に出力値（ＭＶ値）の不連続性が現れることもない。
【００４９】
なお、例えば、入力値（ＰＶ値）を両方のモジュールに同時に与えることができないなどの事情がある場合には、図２の例と同様、入力値（ＰＶ値）が第２のモジュール１Ｂに入力され、ＭＶトラッキングが実行されるのを待って、ＰＩＤ演算の引継ぎ（第２のモジュール１Ｂにおける演算結果の採用）を行えばよい。
【００５０】
以上説明したように、本発明の二重化制御システムによれば、切替手段による切り替え前における第１のモジュールの演算状態を示すデータを第２のモジュールに転送し、第２のモジュールは転送された上記データを用いて出力と演算を実行するので、モジュールの切り替えに際して、連続した演算状態を得ることができ、制御の連続性を得られる。
【００５１】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、ＰＩＤ演算を行う複数のモジュールを備え、モジュールを選択的に稼動させる冗長化制御システムに対し、広く適用することができる。
【図面の簡単な説明】
【００５２】
【図１】一実施形態の二重化制御システムの構成を示すブロック図。
【図２】二重化制御システムの動作タイミングを示すタイミングチャート。
【図３】積分成分を等値化データとした二重化制御システムの構成を示すブロック図。
【図４】図３に示す二重化制御システムにおけるモジュールの切り替え動作を示すタイミングチャート。
【符号の説明】
【００５３】
１Ａ    第１のモジュール
１Ｂ    第２のモジュール
２      ＣＰＵモジュール
【図１】
2010033120.tif 000004
【図２】
2010033120.tif 000005
【図３】
2010033120.tif 000006
【図４】
2010033120.tif 000007