(57)【要約】【課題】メモリ部の複数ビットエラーが発生した場合に、該コントローラの運転を停止させることなく継続させ、運転継続中に複数ビットエラーの修復作業を行なうことが可能な二重化制御装置、及びそのメモリの複数ビットエラーの自動修復方法を提供することを目的とする。【解決手段】自系の複数ビットエラーを検出し、メモリ再診断モードに遷移させるステップと、相手系に自系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを送信するステップと、相手系のコントローラから送信されたプロセス制御プログラム及びプロセス制御データを受信して、自系のメモリ部に上書きし、再診断を実行し複数ビットエラーの有無を判定するステップと、再診断の結果正常に修復された判定された場合には、自系を待機系として設定するステップとからなることを特徴とする。【選択図】図１５
2008146239.tif 000002
【特許請求の範囲】
【請求項１】
制御対象に対して二組のコントローラを備え、一方のコントローラを稼動系コントローラ、他方のコントローラを待機系コントローラとして、通常は稼動系コントローラで前記制御対象を制御し、この稼動系コントローラが故障した場合には待機系コントローラに切替えて前記制御対象を制御する待機冗長型の二重化制御装置であって、
夫々の前記コントローラは、前記制御対象を制御するためのプロセス制御プログラム及び該プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するメモリ部と、前記プロセス制御プログラムを実行する全体制御部と、前記制御対象と前記コントローラとの間の前記プロセス制御データの入出力データをやり取りする入出力部とから成り、
前記メモリ部は、１ビットのメモリエラーを自動修復するＥＣＣメモリからなり、複数ビットが誤った値となることを検出するメモリエラー検出部を備え、
前記全体制御部は、前記プロセス制御プログラム及び前記プロセス制御データを前記メモリ部から読み出して相手系に送信、または、相手系から送信された前記メモリ部のデータを受信して自系の前記メモリ部に書き込む等値化処理部と、前記制御処理部の実行周期毎に、自系が稼動系に設定されている場合は自系の前記メモリ部から前記プロセス制御データを読み出し相手系に送信し、自系が待機系に設定されている場合には、相手系から送信された前記プロセス制御データを自系の前記メモリ部に書き込むトラッキング処理部とから成るデータ伝送処理部と、
自系の前記コントローラの異常の有無と自系の運転モードとから成る自系の運転状態を相手系に送信し、また、相手系のコントローラの異常の有無と相手系の運転モードとから成る相手系の運転状態を受信するステータス伝送処理部と、
前記ステータス伝送処理部を介して自系の運転状態を相手系に送信し、また、自系の運転状態と前記ステータス伝送処理部を介して受信した相手系の前記運転状態とから、自系の運転モードを予め設定される運転制御手順にしたがって自系の運転モードを遷移させ、前記等値化処理部を介して自系と他系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを等値化、または、前記トラッキング処理部を介して、自系と他系の前記メモリ部の前記プロセス制御データを等値化して制御運転を実行する運転制御処理部と、
前記メモリエラー検出部からの複数ビットエラー及び自系内部各部の異常信号を受信し、前記運転制御処理部に通知する異常割り込み処理部と、相手系から自系の前記メモリ部に書き込まれた前記プロセス制御プログラム及び前記プロセス制御データを読み出し、該データに複数ビットエラーが無いか否かを再診断するメモリ再診断処理部とを備える異常処理部と
を備え、
前記運転制御処理部は、前記異常処理部から前記メモリ部の複数ビットエラーを通知された場合、相手系に前記ステータス伝送処理部を介して該複数ビットエラーの発生を送信して、相手系の運転モードを、前記制御対象を単独で運転する単独運転モードに遷移させて制御を続行させるとともに、自系を前記メモリ再診断モードに遷移させ、
前記単独運転モードに遷移した前記コントローラの運転制御処理部は、前記等値化処理部を起動して相手系に自系の前記プロセス制御プログラム及び前記プロセス制御データを送信し、
前記メモリ再診断モードに遷移した前記コントローラの前記運転制御処理部は、前記等値化処理部を起動して、前記単独運転モードに遷移した前記コントローラから送信された前記プロセス制御プログラム及び前記制御データを受信して自系の前記メモリ部に上書きし、さらに、前記メモリ再診断処理部を起動して、該上書きされたデータに複数ビットエラーが無いか否かを再診断し、正常に修復されたと判定された場合には自系を待機系として運転し、
前記二重化制御装置の制御運転を中断することなく、前記メモリ部の異常を自動修復するようにしたことを特徴とする二重化制御装置。
【請求項２】
制御対象に対して二組のコントローラを備え、一方のコントローラを稼動系コントローラ、他方のコントローラを待機系コントローラとして、通常は稼動系コントローラで前記制御対象を制御し、この稼動系コントローラが故障した場合には待機系コントローラに切替えて前記制御対象を制御する待機冗長型の二重化制御装置の夫々のコントローラに備えるメモリの複数ビットエラーの自動修復方法であって、
夫々の前記コントローラは、前記制御対象を制御するためのプロセス制御プログラム及び該プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するメモリ部と、前記プロセス制御プログラムを実行する全体制御部と、前記制御対象と前記コントローラとの間の入出力データをやり取りする入出力部とからなり、
自系の前記メモリ部に複数ビットエラーを検出した場合、相手系に該複数ビットエラーの発生を送信して、相手系を、前記制御対象を単独で運転する単独運転モードに遷移させて制御運転を続行させるとともに、該自系の前記メモリ部の複数ビットエラーを再診断するメモリ再診断モードに遷移させるステップと、
前記単独運転モードに遷移した前記コントローラは、相手系に自系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを送信するステップと、
前記メモリ再診断モードに遷移した前記コントローラは、前記単独運転モードに遷移した前記コントローラから送信された前記プロセス制御プログラム及び前記プロセス制御データを受信して、自系の前記メモリ部に上書きし、該メモリ部の再診断を実行し複数ビットエラーの有無を判定するステップと、
前記メモリ再診断モードに遷移した前記コントローラは、前記再診断の結果正常に修復された判定された場合には、自系を待機系として設定するステップとからなり、
前記二重化制御装置の制御運転を中断することなく、前記メモリ部の複数ビットエラーを自動修復するようにしたことを特徴とする二重化制御装置のメモリ部の複数ビットエラーの自動修復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発電・化学プラントのようなプラントの運転を稼動系のコントローラ及び待機系のコントローラの二系統で制御する二重化制御装置、及びその運転方法に係り、特に、そのコントローラのメモリに複数ビット化け（以後、複数ビットエラーと言う）が発生した時、プラントの運転を停止することなく修復を可能とする二重化制御装置、及びそのメモリ部の複数ビットエラーの自動修復方法に関する。
【背景技術】
【０００２】
工場や公共施設等の各種プラントの動作を制御するコントローラには、このコントローラに何等かの異常が発生して、制御対象のプラントが停止すると重大な事故に至る恐れがある。
【０００３】
一般に、このような制御対象に対しては、同一構成の二組のコントローラを接続して、いずれか一方を稼動系、他方を待機系として、通常は稼動系のみで制御対象を制御し、稼動系に異常が生じたときに、待機系を稼動系用に切り替え、制御を続行するように構成される待機冗長型の二重化制御装置がある。
【０００４】
このような二重化制御装置においては、二組のコントローラのうち、一方が稼動状態で、かつ他方がバックアップに備えて待機状態となり、コントローラ間で互いに相手の運転状態を監視し、稼動系がダウンしたら待機系がそれを検知し、待機系を稼動系に切替えて制御を継続して実行している。
【０００５】
そのため、従来の二重化制御装置は、互いに相手のコントローラの状態を検知及び通知するためのステータス伝送路（バス）とそれをインタフェースするステータス伝送路（バス）入出力ポートと、コントローラがバックアップ時に制御を継続して実行するためのデータとなる実行結果情報を相手のコントローラに転送するためのデータ伝送路（バス）とそれをインタフェースするデータ伝送路（バス）インタフェースと、実行結果情報を受信及び送信するためのバッファとを備えるようにしている。
【０００６】
そして、自分のプロセスコントローラの実行状態を複数のフェイズに分け互いにそれをステータス伝送路（バス）を介して相手のプロセスコントローラに常時通知し、相手のプロセスコントローラのフェイズと自分のプロセスコントローラのフェイズから自分のプロセスコントローラの次に遷移すべきフェイズを決定するためのフェイズ管理テーブルとを具備し、次のバックアップ動作処理を制御するようにしている（例えば、特許文献1参照。）。
【０００７】
このような構成によれば、システムダウンの確率が軽減され、信頼度の高い二重化制御装置を構成することができる。
【０００８】
近年、コントローラにおいては、取り扱うデータの増大とともにメモリ部の容量も増大している。そのためメモリの故障が、システムの稼働率の低下につながる可能性がある。
【０００９】
従来メモリ部には１ビットが誤った値になった時にこれを検出して自動修復するＥＣＣ対応メモリを使用し、１ビットのビット化け（エラー）については運転の継続を保証するようにしている。
【００１０】
しかしながら、複数ビットエラーにおいてはＥＣＣによる自動修復が不可能で、このようなメモリ部の異常が検出された場合には、コントローラの運転を停止させている。
【００１１】
メモ部の異常で停止した場合は、待機系に切り換えることによりプラントの停止を回避し、停止したコントローラは、電源再投入して待機系として立ち上げ再運転を試みるか、或いは、新品に交換し再立上げしているため、運転を一時停止することに伴う生産効率の低下や、二重化制御装置の再立上げ作業が必要となる問題がある。
【００１２】
ところで、大型サーバー等の記憶装置においては、複数ビットエラーに対して、メモリのテスト手段、エラービットの交替記憶手段、及びエラービットが検出された時に交替記憶手段から対応するビットデータを読み出して置換する置換手段を備え、複数ビットエラーは発生してもそのエラーに対して正しいデータビットを出力する記憶装置が開示されている（例えば、特許文献２参照。）。
【特許文献１】特許第２９６６９６６号公報
【特許文献２】特公平３−７６５０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
通常、二重化制御装置においては、コントローラの故障によるプラントの運転停止を回避するために、コントローラを稼動系と待機系とで構成する待機冗長型の二重化制御装置としている。
【００１４】
ところで、コントローラの異常の内、メモリの複数ビット化けは、ハード故障よりもソフトエラー或いは内部ノイズによる一過性のビットエラーが多くデータを上書きしなおせば回復する確率が非常に高い。したがって、メモリの複数ビットエラーが発生しただけで無条件にコントローラを異常停止させる必然性は無い。
【００１５】
しかしながら、従来の二重化制御装置においては、異常が発生したコントローラは新しいものに交換し、再度、待機系のコントローラとして再立ち上げを行うために、プラントの制御を一時中断するため、生産効率の低下や、保守作業が必要となる問題がある。
【００１６】
上述した特許文献２のような記憶装置の場合、複数ビットエラーに対して代替のメモリ部を用意するので記憶装置が複雑で大型になるだけでなく、一過性の複数ビットエラーの修復に対しては高価となる問題がある。
【００１７】
本発明は、上記問題点を解決するためになされたもので、稼動系のコントローラでメモリ部の複数ビット化けが発生した場合に、該コントローラの運転を停止させることなく継続させ、運転継続中に複数ビットエラーの修復作業を行なうことが可能な二重化制御装置、及びそのメモ部の複数ビットエラーの自動修復方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明に係る二重化制御装置は、制御対象に対して二組のコントローラを備え、一方のコントローラを稼動系コントローラ、他方のコントローラを待機系コントローラとして、通常は稼動系コントローラで前記制御対象を制御し、この稼動系コントローラが故障した場合には待機系コントローラに切替えて前記制御対象を制御する待機冗長型の二重化制御装置であって、夫々の前記コントローラは、前記制御対象を制御するためのプロセス制御プログラム及び該プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するメモリ部と、前記プロセス制御プログラムを実行する全体制御部と、前記制御対象と前記コントローラとの間の前記プロセス制御データの入出力データをやり取りする入出力部とから成り、前記メモリ部は、１ビットのメモリエラーを自動修復するＥＣＣメモリからなり、複数ビットが誤った値となることを検出するメモリエラー検出部を備え、前記全体制御部は、前記プロセス制御プログラム及び前記プロセス制御データを前記メモリ部から読み出して相手系に送信、または、相手系から送信された前記メモリ部のデータを受信して自系の前記メモリ部に書き込む等値化処理部と、前記制御処理部の実行周期毎に、自系が稼動系に設定されている場合は自系の前記メモリ部から前記プロセス制御データを読み出し相手系に送信し、自系が待機系に設定されている場合には、相手系から送信された前記プロセス制御データを自系の前記メモリ部に書き込むトラッキング処理部とから成るデータ伝送処理部と、自系の前記コントローラの異常の有無と自系の運転モードとから成る自系の運転状態を相手系に送信し、また、相手系のコントローラの異常の有無と相手系の運転モードとから成る相手系の運転状態を受信するステータス伝送処理部と、前記ステータス伝送処理部を介して自系の運転状態を相手系に送信し、また、自系の運転状態と前記ステータス伝送処理部を介して受信した相手系の前記運転状態とから、自系の運転モードを予め設定される運転制御手順にしたがって自系の運転モードを遷移させ、前記等値化処理部を介して自系と他系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを等値化、または、前記トラッキング処理部を介して、自系と他系の前記メモリ部の前記プロセス制御データを等値化して制御運転を実行する運転制御処理部と、前記メモリエラー検出部からの複数ビットエラー及び自系内部各部の異常信号を受信し、前記運転制御処理部に通知する異常割り込み処理部と、相手系から自系の前記メモリ部に書き込まれた前記プロセス制御プログラム及び前記プロセス制御データを読み出し、該データに複数ビットエラーが無いか否かを再診断するメモリ再診断処理部とを備える異常処理部とを備え、前記運転制御処理部は、前記異常処理部から前記メモリ部の複数ビットエラーを通知された場合、相手系に前記ステータス伝送処理部を介して該複数ビットエラーの発生を送信して、相手系の運転モードを、前記制御対象を単独で運転する単独運転モードに遷移させて制御を続行させるとともに、自系を前記メモリ再診断モードに遷移させ、前記単独運転モードに遷移した前記コントローラの運転制御処理部は、前記等値化処理部を起動して相手系に自系の前記プロセス制御プログラム及び前記プロセス制御データを送信し、前記メモリ再診断モードに遷移した前記コントローラの前記運転制御処理部は、前記等値化処理部を起動して、前記単独運転モードに遷移した前記コントローラから送信された前記プロセス制御プログラム及び前記制御データを受信して自系の前記メモリ部に上書きし、さらに、前記メモリ再診断処理部を起動して、該上書きされたデータに複数ビットエラーが無いか否かを再診断し、正常に修復されたと判定された場合には自系を待機系として運転し、前記二重化制御装置の制御運転を中断することなく、前記メモリ部の異常を自動修復するようにしたことを特徴とする。
【００１９】
上記目的を達成するために、本発明の二重化制御装置のメモリ部の複数ビットエラーの自動修復方法は、制御対象に対して二組のコントローラを備え、一方のコントローラを稼動系コントローラ、他方のコントローラを待機系コントローラとして、通常は稼動系コントローラで前記制御対象を制御し、この稼動系コントローラが故障した場合には待機系コントローラに切替えて前記制御対象を制御する待機冗長型の二重化制御装置の夫々のコントローラに備えるメモリの複数ビットエラーの自動修復方法であって、夫々の前記コントローラは、前記制御対象を制御するためのプロセス制御プログラム及び該プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するメモリ部と、前記プロセス制御プログラムを実行する全体制御部と、前記制御対象と前記コントローラとの間の入出力データをやり取りする入出力部とからなり、自系の前記メモリ部に複数ビットエラーを検出した場合、相手系に該複数ビットエラーの発生を送信して、相手系を、前記制御対象を単独で運転する単独運転モードに遷移させて制御運転を続行させるとともに、該自系の前記メモリ部の複数ビットエラーを再診断するメモリ再診断モードに遷移させるステップと、前記単独運転モードに遷移した前記コントローラは、相手系に自系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを送信するステップと、前記メモリ再診断モードに遷移した前記コントローラは、前記単独運転モードに遷移した前記コントローラから送信された前記プロセス制御プログラム及び前記プロセス制御データを受信して、自系の前記メモリ部に上書きし、該メモリ部の再診断を実行し複数ビットエラーの有無を判定するステップと、前記メモリ再診断モードに遷移した前記コントローラは、前記再診断の結果正常に修復された判定された場合には、自系を待機系として設定するステップとからなり、前記二重化制御装置の制御運転を中断することなく、前記メモリ部の複数ビットエラーを自動修復するようにしたことを特徴とする。
【００２０】
制御対象に対して二組のコントローラを備え、一方のコントローラを稼動系コントローラ、他方のコントローラを待機系コントローラとして、通常は稼動系コントローラで前記制御対象を制御し、この稼動系コントローラが故障した場合には待機系コントローラに切替えて前記制御対象を制御する待機冗長型の二重化制御装置の夫々のコントローラに備えるメモリの複数ビットエラーの自動修復方法であって、夫々の前記コントローラは、前記制御対象を制御するためのプロセス制御プログラム及び該プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するメモリ部と、前記プロセス制御プログラムを実行する全体制御部と、前記制御対象と前記コントローラとの間の入出力データをやり取りする入出力部とからなり、自系の前記メモリ部に複数ビットエラーを検出した場合、相手系に該複数ビットエラーの発生を送信して、相手系を、前記制御対象を単独で運転する単独運転モードに遷移させて制御運転を続行させるとともに、該自系の前記メモリ部の複数ビットエラーを再診断するメモリ再診断モードに遷移させるステップと、前記単独運転モードに遷移した前記コントローラは、相手系に自系の前記メモリ部の前記プロセス制御プログラム及び前記プロセス制御データを送信するステップと、前記メモリ再診断モードに遷移した前記コントローラは、前記単独モードに遷移した前記コントローラから送信された前記プロセス制御プログラム及び前記プロセス制御データを受信して、自系の前記メモリ部に上書きし、該メモリ部の再診断を実行し複数ビットエラーの有無を判定するステップと、前記メモリ再診断モードに遷移した前記コントローラは、前記再診断の結果正常に修復された判定された場合には、自系を待機系として設定（運転）するステップとからなり、前記二重化制御装置の制御運転を中断することなく、前記メモリ部の複数ビットエラーを自動修復するようにしたことを特徴とする。
【発明の効果】
【００２１】
自系のメモリで複数ビットエラーが検出された場合、相手系を単独で運転する単独運転モードに遷移させ、単独運転に切替えられたコントローラのメモリのプロセス制御プログラム及びプロセス制御データを自系の同じメモリに送信して上書きし、該メモリの複数ビットエラーが正常に修復されたことを診断して、待機系に遷移させて待機冗長型の二重化制御装置として修復するようにしたので、運転を停止することなく、複数ビットエラーに対して複雑なメモリが不要で自動修復が可能な二重化制御装置、及びそのメモリの複数ビットエラーの自動修復方法を提供することが出来る。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明による二重化制御装置について、図１乃至図１６を参照して説明する。図１は、待機冗長型の二重化制御装置の構成図である。
【００２３】
本発明の二重化制御装置は、二組のコントローラ１ａ及びコントローラ１ｂと、これらのコントローラ１ａ、１ｂとバス５ａとで接続され、制御対象６との間で入出力信号をやり取りする入出力装置５とからなる。
【００２４】
コントローラ１ａは、制御対象６を制御するためのプロセス制御プログラム及びこのプロセス制御プログラムで使用するプロセス制御データを記憶するメモリ部２、入出力装置５との間で入出力データをやり取りする入出力部３、及びこのコントローラ全体を制御する全体制御部４で構成される。
【００２５】
尚、プロセス制御データは、通常、入出力部３との間でやり取りされる入力データ、入力データからプロセス制御プログラムを実行途中に一次記憶する演算データ、演算結果を入出力部３に出力する出力データ、及び予め設定されるプロセス制御プログラムで使用される制御パラメータなどの設定データとから成る。
【００２６】
そして、全体制御部４は、運転制御処理部４ａと、異常処理部４ｂと、ステータス伝送処理部４ｃと、データ伝送処理部４ｄとからなり、これらがバス１０で接続される。
【００２７】
また、ステータス伝送処理部４ｃは、相手のステータス伝送処理部４ｃとステータス伝送路（バス）４ｅで接続され、データ伝送処理部４ｃは、相手のデータ伝送処理部４ｃとデータ伝送路（バス）４ｆで接続される。
【００２８】
ここで、コントローラ１ａの各部とコントローラ１ｂの各部の同一部分は同じ符号で示し、コントローラ１ｂの各部の説明を省略する。
【００２９】
このように構成された、二重化制御装置の動作の概要について説明する。例えば、稼動系のコントローラ１ａと待機系のコントローラ１ｂとで二重化を構成し、コントローラ１ａとコントローラ２ａ間をステータス伝送処理部４ｃとデータ伝送処理部４ｄとで接続し、ステータス伝送処理部４ｃを介して、自系の異常の有無と運転モードとを運転状態としてやりとりすることにより相手の運転状態を把握している。
【００３０】
また、データ伝送処理部４ｄを介して稼動系のコントローラ１ａのプロセス制御データを周期的に待機系のコントローラ１ｂに転送し、常に、稼動系のコントローラ１ａと待機系のコントローラ１ｂの演算データを等値化して置き、稼動系のコントローラ１ａが異常停止した場合に、待機のコントローラ１ｂに運転モードを遷移させ、等値化しておいた演算データをもとに制御対象を継続して運転するように構成する。
【００３１】
そしてこのように構成された、二重化制御装置のコントローラ１ａの制御全体を統括制御する全体制御部４の動作の概略を説明する。
【００３２】
全体制御部４の運転制御処理部４ａは、コントローラ１ａの全体の動作を制御するもので、ステータス伝送処理部４ｃとステータス伝送処理部４ｃを介して自コントローラ１ａの運転状態を相手系のステータス伝送処理部４ａに伝送し、相手系の全体制御部１ｂのステータス伝送処理部４ａから該コントローラ１ｂの運転状態を受け取る。
【００３３】
また、運転制御処理部４ａは、データ伝送処理部４ｄを介して、自系のメモリ部２に記録されている演算データを、相手系のデータ伝送処理部４ｄに伝送し、相手系の運転制御処理部４ａは、該データ伝送処理部４ｄを介して受信した該演算データを自系のメモリ部２に書き込む。
【００３４】
また、稼動系のコントローラ１ａの全体制御部４は、メモリ部２に記憶している入出力装置５からの入力データを基にプラント制御用プログラムを実行し、演算した結果をメモリ部２に記録するとともに、入出力部３を介して外部の入出力装置５から出力データを出力する。
【００３５】
また、プラント制御用プログラムの実行に使用される予め設定される設定データを、図示しない外部装置からバス１０を介して受信し、メモリ部２に書き込む。
【００３６】
次ぎに、図２を参照して、全体制御部４の各処理部の詳細構成について説明する。
【００３７】
運転制御処理部４ａは、図示しないローカルメモリを備え、該ローカルメモリには、運転スケジュールテーブル４ａ１１、運転モードと実行処理の対応テーブル４ａ１２、運転モードを記憶する運転モードフラグ４ａ１３とコントローラ１ａ内の異常の有無を記録する異常フラグ４ａ１４とを備える図示しない演算ＣＰＵからなる演算制御処理部４ａ１と、電源投入直後にコントローラ４を構成する各部の初期化を行う初期化処理部４ａ２と、稼動系での運転処理を行うオンライン運転処理部４ａ３と、待機系の運転処理を行い、待機状態を保持するスタンバイ運転処理部４ａ４と、片系が停止している場合に、もう片方の系のみでプラントの制御を継続する単独運転処理部４ａ５と、エラー発生時のコントローラ４の停止を行なうエラー停止処理部４ａ６とからなる。
【００３８】
これらの各処理部は、予め設定される運転スケジュールテーブル４ａ１１から決定される運転モードに従って、運転モードと実行処理の対応テーブル４ａ１２を参照して、演算制御処理部４ａ１が詳細を後述する各実行処理部を選択して実行させる。
【００３９】
次ぎに、異常処理部４ｂは、コントローラ１ａ、メモリ部２及び入出力部３からの異常割り込み、例えば、メモリ部２で検出された複数ビットエラーならばメモリ異常を、入出力部３で検出された異常ならば入出力異常バス１０を介して検出し、夫々の異常割り込みの要因を判定して異常フラグ４ａ１４に書き込む異常割り込み処理部４ｂ１と、演算制御処理部４ａ１から起動されメモリ部２で検出された複数ビットエラーを再診断するメモリ再診断処理部４ｂ２とからなる。
【００４０】
次ぎに、データ伝送処理部４ｄの詳細構成について説明する。データ伝送処理部４ｄは、稼動系と待機系の夫々のメモリ部２のプロセス制御プログラム及びプロセス制御データの等値化を行う場合の稼動系の処理を実行するイコライズ送信処理部４ｄ１１と、稼動系と待機系の等値化を行う場合の稼動系の送信処理に対応して待機系側の処理を実行するイコライズ受信処理部４ｄ１２とからなる等値化処理部４ｄ１から成る。
【００４１】
さらに、稼動系のメモリ部２のプロセス制御データの内容と待機系のメモ部２のプロセス制御データの内容とを等値化するための稼動系の処理を実行するトラッキング送信処理部４ｄ２１と、稼動系のメモリ部２のプロセス制御データとデータメモリの内容と待機系のメモリ部２のプロセス制御データとを等値化するための待機系の処理を実行するトラッキング受信処理部４ｄ２２とからなるデータ送信処理部４ｄ２２とから成る。
【００４２】
次ぎに、メモリ部２の詳細構成について説明する。メモリ部２は、コントローラ１ａが制御対象を制御するためのプロセス制御プログラムを記憶するプログラムメモリ２ａ１と、プロセス制御プログラムの実行に使用されるプロセス制御データを記憶するデータメモリ２ａ２とからなる。
【００４３】
さらに、これらのプログラムメモリ２ａ１及びデータメモリ２ａ２の複数ビットエラーを検出するメモリエラー検出部２ｂを備える。この複数ビットエラーの検出は、１ビットエラーを除く２ビット以上の複数ビットエラーが検出されるものであれば良く、エラーの発生箇所を特定するものである必要はない。
【００４４】
尚、プログラムメモリ２ａ１及びデータメモリ２ａ２は、１ビットエラー時に訂正することができるＥＣＣメモリで構成され、夫々のデータは所定の複数ビットエラーの訂正用データを対応させる。
【００４５】
このように構成されたコントローラ１ａの運転モードと各処理部の実行を対応付ける運転モードと実行処理対応テーブルについて図３を参照して説明する。
【００４６】
図３の列左欄は運転モードで、演算制御処理部４ａ１で設定するコントローラ１ａの運転状態をし、列右覧は、これらの９種類の運転モードに対応する各実行処理部を示す。
【００４７】
演算制御処理部４ａ１は、これらの各実行処理部を起動し、コントローラ１ａの運転状態を運転モードフラグ４ａ１３にセットする。これらの運転モードは、図４に示す運転スケジュールテーブル４ａ１１に従って運転制御処理部４ａ１で実行処理される。
【００４８】
先ず、運転モードとその遷移動作について説明し、対応する各実行処理部の動作については、フローチャートで後述する。運転モードは、図３の列左覧に示すように、初期化モード「INZ」、イコライズ送信モード「EQL-SND」、単独運転中イコライズ送信モード「EQL-SND-RUN」、イコライズ受信モード「EQL-RCV」、オンライン運転モード「ONLINE」、スタンバイ運転モード「STANDBY」、単独運転モード「ODD」、エラー停止モード「ERROR」、及びメモリエラー再診断モード「MEM-DAG」の９種類のモードから構成される。
【００４９】
夫々の９種類の運転モードに対応して実行される各実行処理部は、夫々列右覧に示すように、初期化処理部４ａ２、イコライズ送信処理部４ｄ１１、イコライズ送信処理部４ｄ１１と単独運転処理部４ａ５、イコライズ受信処理部４ｄ１２、オンライン運転処理部４ａ３とトラッキング送信処理部４ｄ２１、スタンバイ運転処理部４ａ４とトラッキング受信処理部４ｄ２２、単独運転処理部４ａ５、エラー停止処理部４ａ６、及びイコライズ受信処理部４ｄ１２とメモリ再診断処理部４ｂ２である。
【００５０】
次ぎに、図４を参照して、この運転モードの遷移を設定する図４に示す運転スケジュールテーブル４ａ１１について説明する。この運転スケジュールテーブル４ａ１１は、列左覧に示す「現在の運転モード」と、行最上部覧に示す次ぎに遷移する「次の運転モード」とが、このテーブルの行列覧が交わる欄に記載される遷移条件で関係付けられる。
【００５１】
例えば、今、一方のコントローラが１ａスタンバイ運転モード「STANDBY」（待機系）であれば、該当の行覧に示されている条件をこの行覧の最右列から最左列を順番にサーチする。ここで、もし、この覧に記載される、例えば、相手系（稼動系）がエラー停止状態となった場合、運転モードは、対応する列覧に示す単独運転モード「ODD-RUN」に遷移し、単独運転「ODD-RUN」を実行することを示す。
【００５２】
このような予め設定される運転モードの遷移条件を示す運転スケジュールテーブル４ａ１１にしたがって、二重化制御装置でのこの運転モードの遷移の様子を図５に示す。
【００５３】
例えば、稼動系のコントローラ１ａでは、電源投入（ｓ１）した後、初期化モード「INZ」（ｓ２）からイコライズ送信モード「EQL-SND」（ｓ３）を経て、オンライン運転モード「ONLINE」（ｓ４）に遷移してから稼動系としての運転に入る。
【００５４】
また、待機系では、電源投入（ｓ１）した後、初期化モード「INZ」（ｓ２）からイコライズ受信モード「EQL-RCV」（ｓ５）を経て、スタンバイ運転モード「STANDBY」（ｓ６）に遷移させる。
【００５５】
ここで、例えば、稼動系のオンライン運転モード「ONLINE」（ｓ４）中のコントローラ１ａで複数ビットエラー等の異常が検出されたら、破線矢印に示すように、メモリ再診断モード「MEM-DAG」（ｓ７）に遷移し、待機系のスタンバイ運転モード「STANDBY」（ｓ６）中のコントローラ１ｂに異常が検出された場合には、自系は単独運転「ODD-RUN」（ｓ８）に遷移し、イコライジング送信モード「EQL-SND-RUN」（ｓ９）を経て、相手系が正常に復帰したら、再び、オンライン運転モード「ONLINE」（ｓ４）に戻る。
【００５６】
各運転モードにおいて、異常が発生したら破線矢印視示すように、エラー停止モード「ERROR」（ｓ１０）遷移する。
【００５７】
次ぎに、全体制御部４の各実行処理部の詳細動作について、図６乃至図１３のフローチャートを参照して説明する。先ず、図６を参照して初期化処理部４ａ２の動作について説明する。
【００５８】
初期化処理部４ａ２は、コントローラ１ａの電源投入直後にコントローラ１ａの初期化を行うもので、全体制御部４を構成する各部の初期化（ｓ１１）、入出力部３の初期化を実行する（ｓ１２）。
【００５９】
次ぎに、図７を参照して、エラー停止処理部４ａ６の動作を説明する。コントローラ１ａを構成する各部の異常が、バス１０及び異常割り込み処理部４１ｂを介して演算制御装置４ａ１で検知されると、演算制御装置４ａ１は、コントローラ１ａの停止をエラー停止処理部４ａ６に通知する。この時、エラー停止処理部４ａ６は、図示しないコントローラ１ａの表示部に通知された異常の情報を表示する（ｓ１５）。
【００６０】
次ぎに、図８を参照して、等値化処理部４ｄ１の動作を説明する。図８（ａ）は、自系と相手系のプログラムメモリ２ａ１及びデータメモリ２ａ２に記憶されるデータの等値化を行う場合のイコライズ送信処理部４ｄ１１の動作フローで、自系のデータメモリ２ａ２からプロセス制御データを読み出し、相手系のデータメモリ２ａ２にデータを書き込む（ｓ２１）。
【００６１】
また、自系のプログラムメモリ２ａ１からプラント制御プログラムを読み出し、読み出したプラント制御プログラムを相手系のプログラムメモリ２ａ１に書き込む（ｓ２２）。これらの送信処理ステップ（ｓ２１）と（ｓ２２）とは、どちらが先に処理されても良い。
【００６２】
また、図８（ｂ）は、イコライズ受信処理部４ｄ１２の動作フローで、相手系から伝送されてきたプロセス制御データを受信し、自系のデータメモリ２ａ２にデータを書き込む（ｓ２３）。
【００６３】
また、相手系から伝送されてきたプラント制御プログラムを受信し、自系のプログラムメモリ２ａ１書き込む（ｓ２４）。これらの、受信処理ステップ（ｓ２３）と（ｓ２４）はどちらが先に処理されても良い。
【００６４】
次ぎに、図９を参照してオンライン運転処理部４ａ３の動作を説明する。オンライン運転処理部４ａ３は稼動系に設定されたコントローラ１ａ（またはコントローラ１ｂ）の運転処理を行うもので、プラントの制御を実行する。
【００６５】
先ず、入出力部３を介して入出力装置５からの入力データをデータメモリ２ａ２の入力データエリアに記憶する（ｓ３１）。
【００６６】
次に、プログラムメモリ２ａ１のプラント制御用プログラムを読み出し、入力データエリアに記憶した入力データ及び設定データエリアに予め記憶された設定データを基に演算し、演算結果を出力データとしてデータメモリ２ａ２の出力データエリアに出力データとして記憶する。また、出力データを除く演算に用いた途中のデータ等は、データメモリ２ａ２の演算データエリアの演算データとして記憶する（ｓ３２）。
【００６７】
次に、入出力部３を介して、データメモリ２ａ２の出力データエリアの出力データを入出力装置に出力する（ｓ３３）。そして、トラッキング送信処理部４ｄ２１を起動する（ｓ３４）。
【００６８】
次ぎに、トラッキング送信処理部４ｄ２１は、稼動系のデータメモリ２ａ２のプロセス制御データと待機系のデータメモリのプロセス制御デーとを等値化するための稼動系の処理である。
【００６９】
先ず、データメモリ２ａ２のプロセス制御データを読み出す（ｓ３５）。次に、読み出したこれらのプロセス制御データを相手系に伝送する（ｓ３６）。
【００７０】
次ぎに図１０を参照して、スタンバイ運転処理部４ａ４の動作について説明する。スタンバイ運転処理部４ａ４は、待機系に設定されたコントローラ１の運転処理を行うもので、稼動系に遷移が可能な待機状態を保持する。
【００７１】
従って、演算制御処理部４ａ１から待機冗長型の二重化系に切りえの指令が出力された時に制御を継続実行できるように、稼動系のデータメモリ２ａ２のプロセス制御データと待機系のデータメモリ２ａ２のプロセス制御データの等値化を行うトラッキング受信処理部４ｄ２２を起動する。
【００７２】
トラッキング受信処理部４ｄ２２は、稼動系のデータメモリ２ａ２のプロセス制御データと待機系のデータメモ２ａ２のプロセス制御データとを等値化するための待機系の処理である。
【００７３】
先ず、相手系のトラッキング送信処理部４ｄ２１を介してプロセス制御データを受信する（ｓ４１ａ）。次に、受信したデータを自系のデータメモリ２ａ２の入力データエリア、演算データエリア、出力データエリア及び設定データエリアに夫々記憶する。
【００７４】
次ぎに、図１１を参照して、単独運転処理部４ａ５の動作を説明する。単独運転処理部４ａ５は、一方の系が停止している場合に、他方の系のみでプラント制御を継続するための処理である。
【００７５】
先ず、入出力部３を介して入出力装置５からの入力データを、データメモリ２ａ２の入力データエリアに格納する（ｓ４５）。次に、プログラムメモリ２ａ１に記憶されているプラント制御用プログラム及び設定データエリアに予め記憶されている設定データを読み出し、演算を実行する。
【００７６】
そして、入力データを基づく演算結果は、出力データとしてデータメモリ２ａ２の出力データエリアに出力データとして記憶する。また、出力データを除く演算に用いた途中のデータ等は、データメモリ２ａ２の演算データエリアの演算データとして記憶する（ｓ４６）。
【００７７】
次に、データメモリ２ａ２の出力データエリアの出力データを入出力部３を介して入出力装置５に出力する（ｓ４７）。
【００７８】
次ぎに、図１２を参照して、異常割込み処理部４ｂ１の動作について説明する。異常割込み処理部４ｂ１は、バス１０を介してコントローラ１ａを構成する各実行処理部から送信される異常割込みを検出し、その異常内容を異常フラグ４ａ１４に書き込む。そして、異常割り込みから発生した割込み要因を判定する。
【００７９】
例えば、メモリエラー検出部２ｂから複数ビットエラーによる異常割込み８ｓ５１）ならばメモリ異常を異常フラグ４ａ１４にセットし（ｓ５２）、入出力部３からの割り込み異常（ｓ５３）ならば入出力異常を異常フラグ４ａ１４にセットする（ｓ５４）。
【００８０】
次ぎに、図１３を参照して、メモリ再診断処理部４ｂ２の動作について説明する。メモリ再診断処理部４ｂ２は、プログラムメモリ４ａ１及びデータメモリ４ａ２に一過性の複数ビットエラーが発生した場合のメモリエラーの自動修復を実行するものである。
【００８１】
メモリ再診断処理部４ｂ２は、データメモリ４ａ２を読み出し（ｓ５５）、修復不能なメモリがあるか否かを判定し（ｓ５６）、修復不能なメモリがあれば異常割り込み処理部４ｂ１を介してメモリ異常を異常フラグ４ａ１４にセットする。異常がなければセットしない（ｓ５７）。
【００８２】
次に、プログラムメモリ４ａ１を読み出し（ｓ５８）、修復不能なメモリがあるか否かを判定し（ｓ５９）、修復不能なメモリがあれば異常割り込み処理部４ｂ１を介してメモリ異常を異常フラグ４ａ１４にセットする。異常がなければセットしない（ｓ６０）。
【００８３】
このメモリ再診断処理部４ｂ２の動作について、再び、図３及び図４を参照して、運転モードとの対応付けについて説明する。
【００８４】
図４の運転スケジュールテーブルに示すように、行覧の「現在の運転モード」がオンライン運転モード「ONLINE」の時に、メモリ部２に複数ビットエラー（メモリ異常）が検出されると、演算制御処理部４ａ１は、上部最終列の「次の運転モード」に示すメモリ再診断モード「MEM-DAG」に遷移する。
【００８５】
メモリ再診断モードが選択されると図３実行処理対応テーブに示すようにイコライズ受信処理部４ｄ１とメモリ再診断処理部４ｂ２が実行される。
【００８６】
そして、図４に示すように、メモリ再診断モード「MEM-DAG」の時に、メモリ再診断の結果が正常完了ならば、スタンバイ運転モード「STANDBY」に遷移し、メモリ再診断の結果が異常完了ならば、エラー停止モード「ERROR」に遷移する。
【００８７】
また、現在の「運転モード」がスタンバイ運転モード「STANDBY」の時に、相手がメモリ再診断モード「MEM-DAG」に立ち上がったら、単独運転モード「ODD-RUN」に遷移する。
【００８８】
次ぎに、現在の「運転モード」が単独運転モード「ODD-RUN」の時に、相手系がメモリ再診断モード「MEM-DAG」に立ち上がったら、イコライズ送信モード「EQL-SND」に遷移することができる。
【００８９】
このように構成された二重化制御装置の全体制御部４の全体の動作について図１４を参照して説明する。
【００９０】
図１４は、全体制御部の動作をフローチャートで示したものである。最初にコントーラ１ａの電源を投入すると自系の運転モードフラグ４ａ１３に運転モードの初期値として電源投入モード「PWON」をセットする（ｓ６１）。
【００９１】
更に、ステータス伝送処理部４ｃを介して自系の運転モードを相手系コントローラ１ｂに通知する（ｓ６２）。
【００９２】
そして、次の処理からは、「現在の運転モード」とその遷移条件から「次の運転モード」を割り出し、運転モードに従った実行処理を逐次実行する。次にその詳細の動作を説明する。
【００９３】
先ず、「現在の運転モード」を自系の運転モードフラグ４ａ１３から読み出す（ｓ６３）。次に、ステータス伝送処理部４ｃを介して、相手系コントローラ１ｂの「現在の運転モード」を読み出し、相手系の運転モードを自系の運転モードフラグ４ａ１３に保存する（ｓ６４）。
【００９４】
次に、自系の運転モードフラグ４ａ１３から運転モードを読み出し、そして相手系の運転モードフラグ４ａ１３から相手系の運転モードを読み出し、さらに、異常フラグ４ａ１４から異常の情報を読み出し、図４に示す運転スケジュールテーブル４ａ１１の「現在の運転モード」の行欄に示す遷移条件サーチする（ｓ６６）。
【００９５】
そして遷移条件が成立しているか否かを判定し、条件が成立していなければ、次の遷移条件を更に調べ（ｓ６５乃至ｓ６９）、全ての条件が成立していなければ現在の運転モードを選択維持する（ｓ７０）。遷移条件が成立したらその列の「次の運転モード」を選択し「現在の運転モード」とする（７１）)。
【００９６】
次に、運転モードが確定したら自系の運転モードフラグ４ａ１３に保存する（ｓ７２）。そして、自系の運転モードを、ステータス伝送処理部４ｃを介して相手系に通知する（ｓ７３）。
【００９７】
次に、図３に示す運転モードと実行処理対応テーブル４ａ１２に従って、運転モードに対応する実行処理を割り出し実行する、実行が終了したら、自系の運転モードを自系の運転モードフラグ４ａ１３から読み出す処理を繰り返し実行する（ｓ７４）。
【００９８】
次ぎに、図１５を参照して、本発明による全体動作フローと運転モード遷移図を用いて、稼動系に複数ビットエラー発生したときの稼動系と待機系の動作を詳細に説明する。
【００９９】
例えば、コントローラ１ａとコントローラ１ｂとで二重化制御装置を構成し、且つ、コントローラ１ａを稼動系、コントローラ１ｂを待機系に設定する。
【０１００】
そこで、先ず、コントローラ１ａ、コントローラ１ｂの順に電源を投入し、動作開始すると、コントローラ１ａは初期化モード「INZ」（ｓ８１）に立ち上がる。及び、コントローラ１ｂも同じく初期化モード「INZ」（ｓ８１ａ）に立ち上がる。
【０１０１】
次に、先に電源投入した稼動系のコントローラ１ａは、イコライズ送信モード「EQL-SND」に遷移する（ｓ８２）。他方、待機系のコントローラ１ｂは、イコライズ受信モード「EQL-RCV」に遷移する（ｓ８２ａ）。
【０１０２】
この運転モードでは、稼動系のコントローラ１ａのイコライズ送信処理部４ｄ１と待機系のコントローラ１ｂのイコライズ受信処理部４ｄ２の作用で、稼動系のコントローラ１ａのデータメモリ２ａ２のプロセス制御データとプログラムメモリ２ａ１のプロセス制御プログラムとが待機系のコントローラ１ｂへ転送され、待機系のコントローラ１ｂのデータメモリ２ａ２とプログラムメモリ２ａ１に夫々対応するデータが書き込まれる。
【０１０３】
即ち、稼動系のコントローラ１ａと待機系のコントローラ１ｂのプロセス制御データ及びプロセス制御プログラムの等値化が行われる。
【０１０４】
次に、稼動系のコントローラ１ａは、前記のデータの等値化が終了すると、オンライン運転モード「ONLINE」に遷移、オンライン運転処理部４ａ３の作用でプラント制御プログラムが実行され、稼動系としてプラント制御の運転を実行する（ｓ８３ａ）。
【０１０５】
他方、待機系のコントローラ１ｂは、前記のデータの等値化が終了すると、スタンバイ運転モード「STANDBY」に遷移し、スタンバイ運転処理部の作用で待機系の状態を維持する。
【０１０６】
また、この運転モードでは、稼動系のコントローラ１ａのトラッキング送信処理部４ｄ２１と待機系のコントローラ１ｂのトラッキング受信部４ｄ２２との作用で、稼動系のコントローラ１ａのデータメモリ２ａ２のプロセス制御データが、待機系のコントローラ１ｂのデータメモリ２ａ２に転送され書き込まれる（ｓ８３ｂ）。
【０１０７】
これにより、データの等値化が周期的に行われ、万が一稼動系のコントローラ１ａが異常停止しても、待機系のコントローラ１ｂに切り替えてもプラント制御の運転が継続して行うことができる待機冗長型二重化運転状態となる。
【０１０８】
次に、稼動系のコントローラ１ａがオンライン運転モード「ONLINE」中にメモリ異常が発生し、且つ、このメモリ異常が複数ビットエラーである場合はメモリ再診断モード「MEM-DAG」に遷移し、診断状態に入る（ｓ８４）。
【０１０９】
他方、待機系のコントローラ１ｂは、稼動系のコントローラ１ａがメモリ再診断モード「MEM-DAG」に遷移（ｓ８４）したことにより、スタンバイ運転モード「STANDBY」から単独運転モード「ODD-RUN」に遷移し（ｓ８６ａ）、待機中に等値化された自系のプロセス制御データを使用してプラントの単独運転開始し、制御運転を継続して実行する。
【０１１０】
即ち、コントローラ１ｂが待機系から稼動系に切り換ったことになる。この状態を単独運転状態と称する。
【０１１１】
更に、稼動系に遷移したコントローラ１ｂは、単独運転モード「ODD-RUN」中に、相手がメモリ再診断モード「MEM-DAG」に遷移すると、自系は単独運転中イコライズ送信モード「EQL-SND-RUN」に遷移する。
【０１１２】
この状態になると、稼動系のコントローラ１ｂの、単独運転中イコライズ送信モード「EQL-SND-RUN」に対応するイコライズ送信処理部４ｄ１１と、診断状態のコントローラ１ａのメモリ再診断モード「MEM-DAG」に対応するイコライズ受信処理部４ｄ１２の作用により、稼動系に遷移したコントローラ１ｂのデータメモリ２ａ２のプロセス制御データとプログラムメモリ２ａ１のプロセス制御プログラムとがコントローラ１ａに転送され、診断状態のコントローラ１ａの同じデータメモリ２ａ２とプログラムメモリ２ａ１に夫々データが上書きされる（ｓ８６ｂ）。
【０１１３】
次に、診断状態のコントローラ１ａのメモリ再診断モード「MEM-DAG」に対応するメモリ再診断処理部４ｂ２により、データメモリ２ａ２とプログラムメモリ２ａ１の複数ビットエラーの診断が開始される。
【０１１４】
そして、稼動系のコントローラ１ｂの単独運転中イコライズ送信モード「EQL-SND-RUN」に対応する単独運転処理部４ａ５により、プラント制御プログラムが実行され稼動系としてプラント制御の運転を実行する。
【０１１５】
次に、診断状態のコントローラ１ａは、メモリ再診断処理部４ｂ２の結果が正常完了であれば、自系をスタンバイ運転モード「STANDBY」に遷移させ、待機状態に入る（ｓ８５）。
【０１１６】
そして、単独運転中イコライズ送信モード「EQL-SND-RUN」中の稼動系のコントローラ１ｂは、相手が、スタンバイ運転モード「STANDBY」に遷移したら、自系をオンライン運転モード「ONLINE」に遷移させ、オンライン運転処理４ａ３の作用でプラント制御の運転を実行継続する（ｓ８７）。
【０１１７】
次ぎに、図１６を参照して複数ビットエラーが待機系で発生した時の動作を説明する。図１６に示す動作フローチャートの各動作について図１５と同じ部分は同一の符号を記し、その説明を省略する。
【０１１８】
図１６が図１５と異なる点は、図１５では、稼動系のコントローラ１ａがオンライン運転モード「ONLINE」中に複数ビットエラーが発生し、この場合のメモリの自動修復動作を説明する図であったが、図１６は、待機系のスタンバイ運転モード「STANDBY」状態にあるコントローラ１ｂに複数ビットエラーが発生した場合のメモリの自動修復動作を説明する点が異なる。
【０１１９】
メモリ異常が発生した待機系のコントローラ１ｂは自系をメモリ診断モードに遷移させ、稼動系のコントローラ１ａは、オンライン運転モード「ONLINE」から、単独運転モード「ODD-RUN」に遷移させる（ｓ８６）。
【０１２０】
そして、稼動系のコントローラ１ａは、単独運転処理部４ａ５の作用により制御運転を継続する。稼動系のコントローラ１ａは、単独運転モード「ODD-RUN」中に、相手系がメモリ再診断モード「MEM-DAG」に遷移すると、単独運転中イコライジング送信モード「EQL-SND-RUN」に遷移する（ｓ８６ｄ）。
【０１２１】
この状態になると、稼動系のコントローラ１ａの単独運転中イコライズ送信モード「EQL-SND-RUN」に対応するイコライズ送信処理部４ｄ１１と、診断状態のコントローラ１ｂのメモリ再診断モード「MEM-DAG」に対応するイコライズ受信処理部４ｄ１２の作用により、稼動系のコントローラ１ａのデータメモリ２ａ２のプロセス制御データとプログラムメモリ２ａ１のプロセス制御プログラムとがコントローラ１ｂに転送され、診断状態のコントローラ１ｂの同じデータメモリ２ａ２とプログラムメモリ２ａ１に夫々データが上書きされる（ｓ８６ｂ）。
【０１２２】
次に、診断状態のコントローラ１ｂのメモリ再診断モード「MEM-DAG」に対応するメモリ再診断処理部４ｂ２により、データメモリ２ａ２とプログラムメモリ２ａ１の複数ビットエラーの診断が開始される。
【０１２３】
そして、稼動系のコントローラ１ａの単独運転中イコライズ送信モード「EQL-SND-RUN」に対応する単独運転処理部４ａ５により、プラント制御プログラムが実行され稼動系としてプラント制御の運転を実行する（ｓ８７）。
【０１２４】
次に、診断状態のコントローラ１ｂは、メモリ再診断処理部４ｂ２の結果が正常完了であれば、自系をスタンバイ運転モード「STANDBY」に遷移させ、待機状態に入る（ｓ８５）。
【０１２５】
そして、単独運転中イコライズ送信モード「EQL-SND-RUN」中の稼動系のコントローラ１ａは、相手が、スタンバイ運転モード「STANDBY」に遷移したら、自系をオンライン運転モード「ONLINE」に遷移させ、オンライン運転処理４ａ３の作用でプラント制御の運転を実行継続する（ｓ８７）。
【０１２６】
即ち、稼動系のコントローラ１ａと診断状態のコントローラ１ｂのメモリの複数ビットエラーが運転を中止することなく自動修復される。
【０１２７】
以上説明したように、本発明によればメモリに一過性の複数ビットエラーが発生しても、該エラーを起こしたコントローラのメモリに対して、メモリに異常が発生していない相手系のコントローラのメモリのプロセス制御プログラム及びプロセス制御データを転送して上書きし、相手系で制御運転を継続したままメモリの複数ビットエラーを自動修復することが出来る。
【０１２８】
本発明は、上述した実施例に何ら限定されるものではなく、メモリの複数ビットエラーを検出する手段と、エラーを発生したメモリに稼動中のコントローラのメモリのデータを上書きする転送手段と、上書きされたメモリの複数ビットエラーの有無を再診断するメモリ再診断処理手段と、メモリの診断中にも２台のいずれかのコントローラで制御継続させる運転制御処理手段とを備えているものであれば良く、本発明の主旨を逸脱しない範囲で種々変形して実施することが可能である。
【図面の簡単な説明】
【０１２９】
【図１】本発明の二重化制御装置の構成図。
【図２】本発明の二重化制御装置の全体制御部の構成図。
【図３】本発明の運転制御処理部で設定される運転モードと各処理部の動作の対応を示す運転モードと実行処理対応テーブル。
【図４】本発明の運転制御処理部で実行処理される運転モードの遷移を設定する運転スケジュールテーブル。
【図５】本発明の運転制御処理部の運転モードの遷移動作の例を説明する運転モード状態遷移図。
【図６】本発明の初期化処理部の動作を説明するフローチャート。
【図７】本発明のエラー停止処理の動作を説明するフローチャート。
【図８】本発明のイコライズ送信処理部及びイコライズ受信処理部の動作を説明するフローチャート。
【図９】本発明のオンライン運転処理部、及びトラッキング送信処理部の動作を説明するフローチャート。
【図１０】本発明のスタンバイ運転処理部、及びトラッキング受信処理部の動作を説明するフローチャート。
【図１１】本発明の単独運転処理部の動作を説明するフローチャート。
【図１２】本発明の異常割り込み処理部の動作を説明するフローチャート。
【図１３】本発明のメモリ再診断処理部の動作を説明するフローチャート。
【図１４】本発明の全体制御部の動作を説明するフローチャート。
【図１５】本発明の運転制御処理部の稼動系で複数ビットエラーが検出された時の動作を説明する遷移図。
【図１６】本発明の運転制御処理部の待機系で複数ビットエラーが検出された時の動作を説明する遷移図。
【符号の説明】
【０１３０】
１（１ａ、１ｂ）  コントローラ
２  メモリ部
２ａ１  プログラムメモリ
２ａ２  データメモリ
２ｂ  メモリエラー検出部
３  入出力部
４  全体制御部
４ａ  運転制御部
４ｂ  異常処理部
４ｃ  ステータス伝送処理部
４ｄ  データ伝送処理部
４ｅ  ステータス伝送路
４ｆ  データ伝送路
５  入出力装置
５ａ  入出力バス
６  制御対象
１０  バス
４ａ１  演算制御処理部
４ａ１１  運転スケジュールテーブル
４ａ１２  運転モードと実行処理対応テーブル
４ａ１３  運転モードフラグ
４ａ１４  異常フラグ
４ａ２  初期化処理部
４ａ３  オンライン運転処理部
４ａ４  スタンバイ運転処理部
４ａ５  単独運転処理部
４ａ６  エラー停止処理部
４ｂ１  異常割り込み処理部
４ｂ２  メモリ再診断処理部
４ｄ１  等値化処理部
４ｄ１１  イコライジング送信処理部
４ｄ１２  イコライジング受信処理部
４ｄ２  トラッキング処理部
４ｄ２１  トラッキング送信処理部
４ｄ２２  トラッキング受信処理部
【図１】
2008146239.tif 000003
【図２】
2008146239.tif 000004
【図３】
2008146239.tif 000005
【図４】
2008146239.tif 000006
【図５】
2008146239.tif 000007
【図６】
2008146239.tif 000008
【図７】
2008146239.tif 000009
【図８】
2008146239.tif 000010
【図９】
2008146239.tif 000011
【図１０】
2008146239.tif 000012
【図１１】
2008146239.tif 000013
【図１２】
2008146239.tif 000014
【図１３】
2008146239.tif 000015
【図１４】
2008146239.tif 000016
【図１５】
2008146239.tif 000017
【図１６】
2008146239.tif 000018