(57)【要約】一次コントローラ（３０）および冗長コントローラ（４０）を用いてプロセスのデータを処理するシステム（２０）。一次コントローラ（３０）は一次プロセッサを含み、この一次プロセッサは、データ・トラッキングのタスクを実行するように動作可能であり、トラッカ・メモリにトラッキング・データを記憶するために、低速バスを使用してトラッカ・コントローラ（３２）と共に働く。一次プロセッサは更に、一次メモリ（３２）と共に働く高速バスを使用することにより、他のタスクを実行するように動作可能である。第２のバス（３７）は、第１のバス（３８）よりもかなり速い動作速度（例えば、２倍以上）を有する。
2008546044.tif 000002
【特許請求の範囲】
【請求項１】
プロセスを制御または監視するシステム（２０）であって、
一次コントローラ（３０）および冗長コントローラ（４０）を備え、
前記一次コントローラ（３０）が、
一次プロセッサ、一次メモリ（３２）と、トラッカ・コントローラ（３２）と、トラッキング・メモリ（３４）と、
前記一次プロセッサと前記トラッカ・コントローラ（３２）とを相互接続する第１のバス（３８）と、
前記一次プロセッサと前記一次メモリ（３２）とを相互接続する第２のバス（３７）と
を含み、
前記一次プロセッサは、データ・トラッキングのタスクを実行するように動作し、また、前記第１のバス（３８）を使用して、前記トラッカ・コントローラ（３２）と共に働いて前記トラッキング・メモリ（３４）に前記トラッキング・データを記憶するように動作し、また、前記トラッキング・データを前記冗長コントローラ（４０）へ送るように動作するものであり、
前記プロセッサは更に、前記第２のバス（３７）および前記一次メモリ（３２）を使用して、前記データ・トラッキングのタスク以外のタスクを実行するように動作するものである、
システム。
【請求項２】
請求項１に記載のシステム（２０）であって、前記一次プロセッサ、前記第２のバス（３７）、および前記一次メモリ（３２）は、第１のプリント配線板に配され、前記トラッカ・コントローラ（３２）および前記トラッキング・メモリ（３４）は、第２のプリント配線板に配され、前記第１のバス（３８）は、前記第１のプリント配線板に配された第１の部分および前記第２のプリント配線板に配された第２の部分を有し、ピン数の少ない低コストのコネクタが前記第１の部分と前記第２の部分とを接続する、システム。
【請求項３】
冗長コントローラ（４０）によりバックアップされた一次コントローラ（３０）を動作させる方法であって、
トラッキング・メモリ（３４）にトラッキング・データを記憶するため、および前記トラッキング・データを前記冗長コントローラ（４０）へ送るために、第１のバス（３８）を介してトラッカ・コントローラ（３２）と共に働く一次プロセッサを用いて、データ・トラッキングのタスクを実行するステップと、
第２のバス（３７）を介して一次メモリ（３２）と共に働く前記一次プロセッサを用いて他のタスクを実行するステップと
を備える方法。
【請求項４】
請求項３に記載の方法であって、前記トラッキング・データが、前記冗長コントローラ（４０）へ送られる前に、イーサネット（登録商標）冗長専用リンク・フレームとして使用するために、メッセージ・ヘッダを備えてフォーマットされ且つサイズ決めされる、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、本出願と共に同日に出願されて本出願の譲受人であるＨｏｎｅｙｗｅｌｌ社へ譲渡された、Ｊａｙ  Ｗ．Ｇｕｓｔｉｎその他による「ＭＥＴＨＯＤ  ＡＮＤ  ＡＰＰＡＲＡＴＵＳ  ＦＯＲ  ＲＥＤＵＣＩＮＧ  ＭＥＭＯＲＹ  ＡＮＤ  ＣＯＭＭＵＮＩＣＡＴＩＯＮ  ＡＣＴＩＶＩＴＹ  ＩＮ  Ａ  ＲＥＤＵＮＤＡＮＴ  ＰＲＯＣＥＳＳ  ＣＯＮＴＲＯＬＬＥＲ  ＷＩＴＨ  ＣＨＡＮＧＥ−ＤＲＩＶＥＮ  ＭＥＭＯＲＹ  ＩＭＡＧＩＮＧ，ＴＨＲＯＵＧＨ  ＯＰＴＩＭＩＺＡＴＩＯＮ  ＯＦ  ＵＮＣＨＡＮＧＩＮＧ  ＤＡＴＡ」（１２０  ０５２０７）という名称の米国特許出願第１１／０５０，０６６号に関連する。
【０００２】
本発明は、プロセス制御システムの冗長プロセッサの二次データベースを更新する方法および装置に関し、より詳細には、二次データベースの後の更新のために一次データベースの所定のデータの変更をトラッキングする装置に関する。
【背景技術】
【０００３】
冗長プロセス制御システムは一般に、プロセス制御システムの信号を監視し、あるいはプロセス制御システムへ制御信号を供給する１または複数の冗長制御ノードを含む。冗長制御ノードは、一次コントローラおよび二次コントローラを含む。一次コントローラは、一次プロセッサ、一次データベース、および一次トラッキング・ユニットを含み、二次コントローラは、二次コントローラ、二次データベース、および二次トラッキング・ユニットを含む。プロセス制御システムの信号を監視し、かつ／またはプロセス制御システムに制御信号を供給するために一次コントローラがアクティブであるときには二次コントローラはアイドル状態であり、その逆も同様である。一次トラッキング・ユニットは、一次コントローラにより処理されるプロセス・データをトラッキングし、そのデータの変更を二次コントローラに周期的に供給する。切替えを必要とするイベントが発生した場合、二次データベースは更新されたプロセス・データを含む。従って、二次コントローラは、そのノードの一次コントローラを引き継いで一次コントローラの働きをする準備がなされている。故障したコントローラは修理され、二次コントローラの役割を引き継ぐ準備をすることができる。
【０００４】
幾つかの既知の一次コントローラ（例えば、米国特許第６，１７０，０４４号）では、一次トラッキング・ユニットは、一次データベースへアクセスするために一次プロセッサにより使用されるバスに接続される。そのためには、バスは、一次プロセッサの通常のプロセス・データ処理機能と、トラッキング・ユニット機能とで共有される必要がある。こうすることはバスのトラフィックに影響を及ぼし、一次プロセッサの他の処理動作のために使用可能な帯域幅を低減させる。この物理的なパッケージでは、２つのプリント回路基板に渡って諸機能を分割することが必要である。基板間の高価でピン数の多い（高ピン数）コネクタは、各基板の重複するインターフェース論理回路を伴って、一次バス信号および一次バスの全数を支える。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、高価で大型のコネクタを必要としない、改善された帯域幅のプロセス・コントローラが必要とされている。
【課題を解決するための手段】
【０００６】
プロセスを制御または監視する本発明のシステムは、一次コントローラおよび冗長コントローラを備える。一次コントローラは、一次プロセッサ、一次メモリ、トラッカ（ｔｒａｃｋｅｒ）・コントローラ、およびトラッキング・メモリを備える。第１のバスは、一次プロセッサとトラッカ・コントローラとを相互接続する。一次プロセッサは、データのトラッキングのタスクを実行するように動作可能であり、また、第１のバスを使用して、トラッキング・メモリにトラッキング・データを記憶するため、およびそのトラッキング・データを冗長コントローラへ転送するために、トラッカ・コントローラと共に働くように動作可能である。第２のバスは、一次プロセッサと一次メモリとを相互接続する。一次プロセッサは更に、第２のバスおよび一次メモリを使用して、データ・トラッキングのタスク以外のタスクを実行するように動作可能である。
【０００７】
好ましくは、他のタスクは、オペレーティング・システム、計算を含む１または複数のアルゴリズム、通信アプリケーション、入力／出力アプリケーション、アラームおよびイベント発生、診断、ならびにそれらの任意の組み合わせから成る群から選択される。
【０００８】
好ましくは、第２のバスは、第１のバスの動作速度よりも高い動作速度を有する。より好ましくは、第２のバスの動作速度は、第１のバスの動作速度を２倍以上上回る。
【０００９】
本発明のシステムの別の実施形態では、一次プロセッサ、第２のバス、および一次メモリは、第１のプリント配線板に配される。トラッカ・コントローラおよびトラッキング・メモリは、第２のプリント配線板に配される。第１のバスは、第１および第２のプリント配線基板に配置された第１部分および第２部分を有する。この第１部分と第２部分を低コストのピン数の少ない（低ピン数）コネクタが接続する。
【００１０】
本発明の方法は、冗長コントローラによりバックアップされた一次コントローラを動作させる。この方法では、一次プロセッサを用いてデータ・タスクをトラッキングするものであり、この一次プロセッサは第１のバスを介してトラッカ・コントローラと共に働いて、トラッキング・メモリにトラッキング・データを記憶し、また、そのトラッキングデータを冗長コントローラへ転送する。他のタスクは、第２のバスを介して一次メモリと共に働く一次プロセッサにより実行される。
【００１１】
好ましくは、他のタスクは、オペレーティング・システム、計算を含む１または複数のアルゴリズム、通信アプリケーション、入力／出力アプリケーション、アラームおよびイベント発生、診断、ならびにそれらの任意の組み合わせから成る群から選択される。
【００１２】
好ましくは、第２のバスは、第１のバスの動作速度よりも高い動作速度を有する。より好ましくは、第２のバスの動作速度は、第１のバスの動作速度を２倍以上上回る。
【００１３】
本方法の一実施形態では、トラッキング・データは、冗長コントローラへ送られる前に、Ｅｔｈｅｒｎｅｔ（登録商標）冗長専用リンク・フレームとして使用するためにメッセージ・ヘッダを備えてフォーマットされサイズ決めされる。
【００１４】
本発明の他の更なる目的、利点および特徴は、以下の明細書を添付の図面と併せて参照することにより理解されるであろう。図面では、同じ参照文字は同じ構成要素を示す。
【発明を実施するための最良の形態】
【００１５】
図１を参照すると、プロセス制御システム２０は、１または複数の冗長コントローラ２６と相互接続されたプラント制御ネットワーク２２を含む。冗長コントローラ２６が１つだけ例示的に示されている。本発明によると複数の冗長コントローラ２６をプラント制御ネットワーク２２に接続できることは、当業者には明らかになるであろう。冗長コントローラ２６は、一次コントローラ３０および二次コントローラ４０を含む。コントローラ３０および４０は、役割を除いて全く同じである。ここでの説明のために、一次コントローラ３０はアクティブであり、二次コントローラ４０は非アクティブ又はアイドル状態にあるものとする。コントローラ３０および４０それぞれの役割がアイドル状態およびアクティブへと反対にされた場合、コントローラ４０が一次コントローラになり、コントローラ３０が二次コントローラになることは、当業者には明らかになるであろう。一次コントローラ３０と二次コントローラ４０は、専用リンク２８を介して相互接続される。
【００１６】
一次コントローラ３０は、通信プロセッサ２９（イーサネット（登録商標）・メディア・アクセス層を提供する）、一次プロセッサ３１、一次メモリ３２、一次トラッカ・コントローラ３３、一次トラッキング・メモリ３４、１または複数のイーサネット（登録商標）・インタフェース・ユニット３５、および専用イーサネット（登録商標）冗長リンク３６を含む。高速バス３７が一次プロセッサ３１と一次メモリ３２とを相互接続する。例えばペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス（業界標準）である低速バス３８が、一次トラッキング・メモリ３４を動作させる一次トラッカ・コントローラ３３と一次プロセッサ３１とを相互接続する。後述の場合を除いて、一次トラッキング・メモリ３４は通常の読出し／書込みメモリとして機能する。メディア独立インタフェース（業界標準）を使用できる通信バス３９は、一次プロセッサ３１をイーサネット（登録商標）・インタフェース・ユニット３５とイーサネット（登録商標）冗長専用リンク３６とに接続する。高速バス３７の動作速度は、低速バス３８の動作速度を少なくとも２倍、より好ましくは３倍、最も好ましくは６倍上回る。イーサネット（登録商標）・インタフェース・ユニット３５は、プラント制御ネットワーク２２に接続される。専用冗長リンク３６は、専用リンク２８に接続される。一次トラッキング・メモリ３４は、停電中のデータの保存のためにバッテリ・バックアップされるのが好ましい。一例では、低速バス３８が必要とする信号の数は高速バス３７の３分の１であり、それにより低コストの低ピン数基板間コネクタの使用が可能になる。
【００１７】
二次コントローラ４０は、二次通信プロセッサ５０（イーサネット（登録商標）・メディア・アクセス層を提供する）、二次プロセッサ４１、二次メモリ４２、二次トラッカ・コントローラ４３、二次トラッキング・メモリ４４、１または複数のイーサネット（登録商標）・インタフェース・ユニット４５、および専用イーサネット（登録商標）冗長リンク４６を含む。高速バス４７が二次プロセッサ４１と二次メモリ４２を相互接続する。例えばペリフェラル・コンポーネント・インターコネクト（ＰＣＩ）バス（業界標準）である低速バス３８が、二次トラッキング・メモリ４４を動作させる二次トラッカ・コントローラ４３と二次プロセッサ４１を相互接続する。二次トラッキング・メモリ４４は、通常の読出し／書込みメモリとして機能する。メディア独立インタフェース（業界標準）を使用できる通信バス４９は、通信プロセッサ５０をイーサネット（登録商標）・インタフェース・ユニット４５とイーサネット（登録商標）冗長専用リンク４６とに接続する。高速バス４７の動作速度は、低速バス４８の動作速度を少なくとも２倍、より好ましくは３倍、最も好ましくは６倍上回る。イーサネット（登録商標）・インタフェース・ユニット４５は、プラント制御ネットワーク２２に接続される。専用冗長リンク４６は、専用リンク２８に接続される。二次トラッキング・メモリ４４は、停電中のデータの保存のためにバッテリ・バックアップされるのが好ましい。低速バス４８が必要とする信号の数は高速バス４７の３分の１であり、それにより低コストの低ピン数基板間コネクタの使用が可能になる。
【００１８】
冗長コントローラ２６には、アナログ入力（Ａ／Ｉ）、アナログ出力（Ａ／Ｏ）、デジタル入力（Ｄ／Ｉ）、およびデジタル出力（Ｄ／Ｏ）を含む様々な入力および出力が結合され、これらは、現在の情報や状態を示すために、またプロセス制御システム１０の処理を制御するために使用される様々なバルブ、圧力スイッチ、圧力計、熱電対に接続される。プラント制御ネットワーク２２は、例えば、公開された米国特許出願第２００２／０００４６３５７号に記載されたタイプとすることができる。示されてはいないが、様々なアナログおよびデジタルの入力および出力が、１または複数の適切なインタフェース・ユニット、例えばＩ／Ｏリンクを介して一次プロセッサ３１および二次プロセッサ４１に接続される。
【００１９】
冗長コントローラ２６の初期設定中に、コントローラ３０または４０のどちらが一次または二次になるべきかの決定が、プラント制御ネットワーク２２からのダウンロード制御パーソナリティ（即ち、コマンド情報）により行われる。その時点で、コントローラ３０または４０の一方が一次コントローラになり、他方が二次コントローラ４０の役割を引き受けることになる。一次コントローラ３０は制御処理アルゴリズムを実行し、これは、バルブ、圧力計からの入力データを読み取ること、所定の計算を行うこと、および結果を出力することを含む。一次プロセッサ３１は、これらの動作のデータを、一次トラッキング・メモリ３４内にあるプロセス・データベース８０（図２）へ、低速バス３８を介して格納する。一次トラッカ・コントローラ３３はまた、プロセス・データベース８０に書き込まれたデータの変更を検出し、これらの変更の記録を、一次トラッキング・メモリ３４内にある１または複数のトラッカ・バッファ８２（図２）内に作成する。
【００２０】
また、冗長コントローラ２６が初期設定されると、一次トラッキング・メモリ３４の指定された範囲の内容のコピーが、米国特許第６，１７０，０４４号で論じられている機能により二次トラッキング・メモリ４４にダウンロードされる。上記米国特許の内容をこの参照により本明細書に組み込む。
【００２１】
初期設定後、一次トラッキング・コントローラ３３は、トラッキングされるデータへの変更により一次トラッキング・メモリ３４を更新する。つまり、一次プロセッサ３１は、トラッキングされるデータ（トラッキング・データ）を低速バス３８に配することにより、データ・トラッキングのタスクを実行するように動作可能である。一次トラッカ・コントローラ３３は、このデータを一次トラッキング・メモリ３４に記憶するために取り込む。取り込まれたデータが、プロセス・データベース８０に現在格納されているデータへの変更を要求するものである場合、そのデータもまたトラッカ・バッファ８２に格納される。所定の量のデータがトラッカ・バッファ８２に蓄積されると、一次トラッカ・コントローラ３３が割込みを行う。一次プロセッサ３１は、その割り込みに応答して、データをトラッカ・バッファ８２から、イーサネット（登録商標）冗長専用リンク３６およびリンク２８を介して、二次コントローラ４０へ送る。一次コントローラの制御実行の各インクリメントの終了時に、一次コントローラは、二次コントローラ４０へのイーサネット（登録商標）冗長専用リンク３６を使用して、一貫性のあるデータのセットが送られるようにする。二次コントローラ４０は、すべてのデータが受信されたことを検証し、次に、送られたデータを使用して二次トラッカ・メモリ４４および二次メモリ４２を更新する。次いで一次コントローラは、制御処理の次のインクリメントを実行することができる。
【００２２】
一次プロセッサ３１は更に、一次メモリ３２と一緒に高速バス３７を使用して、データ・トラッキングのタスク以外のタスクを実行するように動作可能である。他のこれらのタスクは、例えば、オペレーティング・システム、計算を含む１または複数のアルゴリズム、通信アプリケーション、入力／出力アプリケーション、アラームおよびイベント発生、診断、ならびにそれらの任意の組み合わせを含む。従来のプロセス・コントローラにあるような低速バス３８ではなく高速バス３７を使用することにより、一次コントローラ３０の性能が高まる。高速バス３７の帯域幅は、データ・トラッキングのタスクにより制限されない。
【００２３】
一次コントローラ３０と二次コントローラ４０は、３つの媒体であるプラント制御ネットワーク２２、専用リンク２８およびＩ／Ｏリンク（図示せず）を介して互いに通信することができる。このＩ／Ｏリンクは、一次プロセッサ３１および二次プロセッサ４１が、Ａ／Ｉ、Ａ／Ｏ、Ｄ／Ｉ、およびＤ／Ｏの各入力／出力とインターフェースするために、接続される経路である。これらの通信経路を介して、一次コントローラ３０は、二次コントローラ４０が存在し動作中であることを保証することができる。また、これらの経路により、二次コントローラ４０は、それがいつ一次状態（またはモード）を引き継ぐかを判断するために、一次コントローラ３０が動作中であることを検査することができる。
【００２４】
一次プロセッサ３１は、アナログの入力Ａ／Ｉおよび出力Ａ／Ｏと、デジタルの入力Ｄ／Ｉおよび出力Ｄ／Ｏとを管理し、その入力および出力を制御アルゴリズムに従って処理し、これらのアクティビティならびに他のことに基づいて必要に応じて一次トラッキング・メモリ３４を更新する。一次プロセッサ３１は、トラッキングされるデータを、一次トラッキング・メモリ３２のアドレスおよびそのアドレスに格納されるデータの形で、低速バス３８に出す。
【００２５】
図２を参照すると、一次トラッカ・コントローラ３３は、シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）コントローラ６０、ＰＣＩバス・コントローラ６２、トラッカ論理回路６４、トラッカ・バッファ・ポインタ・レジスタ６６、トラッカ制御レジスタ６８、トラッカ・スタート・レンジ・レジスタ７０、およびトラッカ・エンド・レンジ・レジスタ７２を含む。
【００２６】
好ましくはＳＤＲＡＭである一次トラッキング・メモリ３４は、トラッキングされたデータが格納されるプロセス・データベース８０と、プロセス・データベース８０への変更の記録が格納される１または複数のトラッカ・バッファ８２とを含む。ＳＤＲＡＭコントローラ６０は、読出しサイクルおよび書込みサイクルについての一次トラッキング・メモリ３４へのアクセスを制御する。ＳＤＲＡＭコントローラ６０は、各書込みサイクルを読出し−変更−書込みサイクルとして実行することが好ましい。
【００２７】
トラッカ・スタート・レンジ・レジスタ７０およびトラッカ・エンド・レンジ・レジスタ７２は、一次トラッキング・メモリ３４のプロセス・データベース８０内のトラッキングされるアドレス範囲（トラッキングされるメモリ）を規定するために使用される。トラッキングされるアドレス範囲の先頭は、トラッカ・スタート・レンジ・レジスタ７０への書込みにより決定される。アドレス範囲の終端は、トラッカ・エンド・レンジ・レジスタ７２への書込みにより決定される。トラッカ・バッファ・ポインタ・レジスタ６６は、トラッキングされた情報を格納するためのトラッカ・バッファ８２（バッファ・メモリ）のアドレスを定義するために使用される。トラッカ制御レジスタ６８は、トラッキング論理回路６４の動作を設定および制御するために使用される。トラッカ・バッファ８２は、トラッキングされるバス・サイクル中に取り込まれた情報の収納場所である。
【００２８】
一次トラッカ・コントローラ３３は、一次プロセッサ３１およびイーサネット（登録商標）冗長専用リンク３６により低速バス３８へ要求された読出しおよび書込みを実行することにより、動作する。一次トラッキング・メモリ３４の何れのアドレスへの読出しおよび書込みも、ＳＤＲＡＭコントローラ６０により制御される。一次トラッカ・コントローラ３３はまた、トラッキングされるアドレス範囲内にある書込み用情報パケットを低速バス３８上へむけて作成する。情報パケットはアドレスおよび３２ビットのデータを含む。
【００２９】
取り込まれた情報パケットは、ＳＤＲＡＭコントローラ６０の制御のもとでトラッカ・バッファ８２に書き込まれる。トラッカ・バッファ・ポインタ・レジスタ６６は、情報パケットをトラッカ・バッファ８２に格納するサイクルの間、アドレス発生器として、トラッカ論理回路６４と共に使用される。
【００３０】
帯域幅を維持し、二次コントローラ４０へ更新を転送する速度を改善するために、プロセス・データベース８０への変更を含む情報パケットのみがトラッカ・バッファ８２に格納される。こうすることにより、データ構造の一部分だけが変更される場合に、あるいは同じ値が制御アルゴリズムにより繰り返し格納される場合に、二次コントローラ４０へ送られるデータの量が低減される。プロセス・データベース８０の読出し−変更−書込みサイクルの読出しの部分の後に、読出しデータの１または複数のバイトが、書込みデータの指定バイトと置き換えられる。この書き込まれる複合データは、読み出されるデータと比較される。複合書込みデータが読出しデータと同じである場合、取り込まれたデータはプロセス・データベース８０に書き込まれるが、トラッカ・バッファ８２には書き込まれない。一方、複合書込みデータと読出しデータが同じではない場合、複合書込みデータは、プロセス・データベース８０にもトラッカ・バッファ８２にも書き込まれる。
【００３１】
トラッカ・バッファ・ポインタ・レジスタ６６は、データ変更をトラッカ・バッファ８２に書き込むためのアドレス・レジスタとしてＳＤＲＡＭコントローラ６０により使用される。トラッカ論理回路６４は、バッファ・ポインタ・レジスタ６６がバッファ・エンド・アドレス（例えば、３２バイトのメッセージ・ヘッダおよび１８３の情報パケットを表す１４９６バイト）を超えるたびに、トラッカ割込み１１６を発生する。トラッカ割込み１１６により、一次プロセッサ３１は、二次コントローラ４０へのトラッカ・バッファ８２の内容の転送を開始する。次に、トラッカ・バッファ・ポインタ・レジスタ６６は、３２バイトだけインクリメントされて、メッセージ・ヘッダのためのスペースをつくる。この時点で、一次トラッカ・コントローラ３３は、低速バス３８の別の動作に対処する準備ができている。
【００３２】
ＰＣＩバス・コントローラ６２は、低速バス３８とインタフェースするための論理回路を含み、一次プロセッサ３１により低速バス３８へ出されたデータおよびコマンドに応答する。初期設定中、一次プロセッサ３１は、一次メモリ３２の指定範囲の内容のコピーと、その範囲の開始アドレスおよび終了アドレスとを低速バス３８へ出す。ＰＣＩバス・コントローラ６２は、コマンドを復号することにより低速バス３８に応答する。ＰＣＩバス・コントローラ６２は、トラッカ論理回路６４と共になり、現在の低速バス・サイクルが書込みサイクルかどうか、また、それが、トラッカ・スタート・レンジ・レジスタ７０およびトラッカ・エンド・レンジ・レジスタ７２の内容により規定されたアドレス範囲内であるかを、調べる。現在の低速バス・サイクルが書込みサイクルであり、トラッカアドレス範囲内にあるものとして復号された場合、トラッカ論理回路６４およびＳＤＲＡＭコントローラ６０は処理を開始して、一次トラッキング・メモリ３４のプロセス・データベース８０およびトラッカ・バッファ８２を更新する。トラッカ論理回路６４およびＳＤＲＡＭコントローラ６０は、低速バス３８に提示されたデータをプロセス・データベース８０に書き込み、トラッキングされるデータをトラッカ・バッファ８２に書き込む。
【００３３】
図３を参照すると、トラッキングされるデータは、トラッカ・バッファＳＤＲＡＭフォーマット５１でバッファ８２に格納され、このトラッカ・バッファＳＤＲＡＭフォーマット５１は、例示的に、４バイトをそれぞれ有するものとして示されているアドレス・フィールド５２およびデータ・フィールド５３を含み、各バイトは８ビットを有する。部分的ワード書込みのためのデータ取得がＳＤＲＡＭの読出し−変更−書込みシーケンスの書込み部分中に行われるので、一次プロセッサ３１によりどれだけのバイトが実際に書き込まれたかにかかわらず、データ・フィールド５３の４バイトすべてが有意である。
【００３４】
図２、４および５を参照すると、トラッカ論理回路６４は、アドレス・コンパレータ７４、トラッカ・キャプチャラ（ｃａｐｔｕｒｅｒ）７５、トラッカ・データ・コンパレータ７６、トラッカＳＤＲＡＭ機構７７、トラッカ・カウンタ・インクリメント７８、トラッカ・フラグ９２、トラッキング情報更新フラグ９８、およびトラッカ割込み１１６を含む。トラッカ論理回路６４はまた、ボックス９０、９４、９６、１００、１０２、および１０４の論理も含む。
【００３５】
図４および図５を参照して、トラッカ動作に関して一次トラッカ・コントローラ３３の動作を説明する。一次プロセッサ３１は、一次メモリ３２および高速バス３７を使用して、プラント制御ネットワーク２２との通信、データ収集、デバイス制御、およびそれらの結果の処理に関するソフトウェア・アプリケーションを実行する。一次プロセッサ３１はときどき、書き込まれるデータおよび関連するアドレス、ならびにサイクルが読出しサイクルまたは書込みサイクルの何れであるかの表示を含む情報パケットを、低速バス３８へ出す。そのデータは、１から４バイトの書込みとして低速バス３８に現れる。
【００３６】
ボックス９０において、低速バス３８上の現在の情報書込みパケットのアドレスが、トラッカ・スタート・レンジ・レジスタ７０内の開始アドレスおよびトラッカ・エンド・レンジ・レジスタ７２内の終了アドレスと、アドレス・コンパレータ７４で比較されて、現在アドレスが指定範囲内にあるか否かが判定される。書込みではなく読出しが、指定範囲に入っている場合、トラッキング論理はバイパスされ、要求された動作がＳＤＲＡＭコントローラ６０により実行される。
【００３７】
トラッカ論理回路６４は読出しサイクルを無視し、書込みサイクルでアドレス比較を開始する。現在のＰＣＩバス・サイクルが書込みサイクルであり、トラッカ・スタート・レンジ・レジスタ７０およびトラッカ・エンド・レンジ・レジスタ７２により指定された所与のアドレス範囲内にある場合、このサイクルがトラッキング処理を開始すべきであることを示すためにトラッカ・フラグ９２が設定される。トラッカ・フラグ９２が設定されない場合は、アドレスおよびデータは無視される。設定された場合は、ＰＣＩバス・コントローラ６２は、トラッカ論理回路６４と共に、ボックス９４で現在情報パケットを取り込む。
【００３８】
ボックス９６において、トラッカ・データ・コンパレータは、現在の情報パケットの新規または現在のデータを、プロセス・データベース８０からの読出しデータと比較する。トラッキング論理回路６４は、その比較に応答して、トラッキング情報更新フラグ９８の設定を制御する。現在のデータと読出しデータとが同じである場合は、トラッキング情報更新フラグ９８は「Ｎｏ」に設定される。この場合には、現在のデータはトラッカ・バッファ８２に書き込まれない。
【００３９】
現在のデータと読出しデータとが同じではない場合、トラッキング情報更新フラグ９８は「Ｙｅｓ」に設定される。この場合、現在の情報パケットは、ボックス１００に示されるように、トラッカ・バッファ８２に、トラッカ・バッファ・ポインタ・レジスタ６６により示されるアドレスで格納される。次に、トラッカ論理回路６４は、ボックス１０２に示されるように、トラッカ・バッファ・ポインタ・レジスタ６６を更新（例えば、インクリメント）する。また、トラッカ論理回路６４は、トラッカ・バッファ・ポインタ・レジスタ６６が１４９６バイトのアドレス境界を越えるか否かを判定し、越える場合には、ボックス１０４に示されるようにトラッカ割込み１１６を発生する。トラッカ割込み１１６が発生されない場合、現在の情報パケットに関する動作は完了する。
【００４０】
トラッカ割込み１１６が発生された場合には、一次プロセッサ３１は、ボックス１０６に示されているように、トラッカ・バッファ８２の内容であるトラッキングされたデータの、通信バス３９を介したイーサネット（登録商標）冗長リンク３６へのイーサネット（登録商標）転送をセットアップする。次に、一次プロセッサ３１はコマンドを発行して、ボックス１０８で示されているように、トラッキングされたデータを、専用冗長経路２８を介して二次コントローラ４０へ送る。次に一次プロセッサ３１は、ボックス１１０に示されているように、転送されたトラッカ・データを二次トラッキング・メモリ４４の一時バッファ（図示せず）に格納するように、二次コントローラ４０に命令する。その後、一次プロセッサ３１は、ボックス１１２に示されているように、格納されたトラッカ・データを処理するように、二次コントローラ４０に命令する。二次コントローラが、転送されたトラッカ・データを処理したとき、一次コントローラ３０と２次コントローラ４０はデータ同期されている。
【００４１】
プロセス・コントローラ冗長性は、専用リンク２８が動作中のままであることに依存しない。専用リンク２８が機能しなくなった場合には、トラッキング・バッファ８０内の、イーサネット（登録商標）・パケットとして使用するためにフォーマットされているトラッキング情報を、一次コントローラ３０により、プラント制御ネットワーク２２を介して二次コントローラ４０へ送ることができる。プラント制御ネットワーク２２の使用可能な帯域幅は、冗長専用リンク２８の帯域幅よりも少ないので、この使用は、一次冗長専用リンク・インタフェース３６が機能しなくなった場合に限られる。ワンタイム同期を命令することができ、その後に切替えが続く。そのとき二次コントローラ４０の役割は二次から一次に変更される。前の一次コントローラ３０は、作動するユニットと置き換えられる。
【００４２】
本発明をその好ましい形態を特に参照して説明してきたが、特許請求の範囲に定義された本発明の主旨および範囲から逸脱することなく、様々な変更および改変を本発明に加えることができることは明らかであろう。
【図面の簡単な説明】
【００４３】
【図１】図１は、本発明の冗長コントローラを含むプロセス制御システムのブロック図である。
【図２】図２は、図１のシステムの冗長コントローラの一次トラッカ・コントローラのブロック図である。
【図３】図３は、図２の一次トラッキング・メモリのバッファのフォーマットを示す。
【図４】図４および図５は、図１のシステムの冗長コントローラの動作のプロセスの流れ図である。
【図５】図４および図５は、図１のシステムの冗長コントローラの動作のプロセスの流れ図である。
【図１】
2008546044.tif 000003
【図２】
2008546044.tif 000004
【図３】
2008546044.tif 000005
【図４】
2008546044.tif 000006
【図５】
2008546044.tif 000007
【国際調査報告】
2008546044.tif 000008
2008546044.tif 000009