(57)【特許請求の範囲】
【請求項１】
プロセスを制御するためのプロセスコントローラであって、
利得行列を用いて、入力信号に基づいて、プロセス変数を制御するために開発された制御信号を発生させるコントロールアルゴリズム（８５）を有すると共にモデル予測制御（ＭＰＣ）コントローラである動的行列制御コントローラ（５４）と、
コントローラ適用装置（５２）と、
を備え、
前記コントローラ適用装置（５２）は、
前記プロセスのオンライン動作中にプロセスデータを収集するために前記プロセスに結合され、前記収集されたプロセスデータから前記プロセスの動作を表現するプロセスモデルを決定するプロセスモデル推定装置（９０）であって、当該プロセスモデルは、プロセス不動作時間パラメータを含む複合モデルパラメータを含む、当該プロセスモデル推定装置（９０）と、
新しいコントロールモデルを計算するための前記プロセス不動作時間パラメータを含む前記プロセスモデルを使用するモデル計算装置（９２）と、
前記複合モデルパラメータに基づいて、前記コントロールアルゴリズム（８５）によって発生される前記制御信号を調整するための１組の調整パラメータを決定する移動に対するペナルティと設定点ターゲットベクトルフィルタ（９４）と、
（ｉ）前記新しいコントロールモデルに基づく前記新しい利得行列及び（ｉｉ）前記１組の調整パラメータの内の第１の調整パラメータを使用するための前記ＭＰＣコントローラ（５４）の前記コントロールアルゴリズム（８５）を適応させ、前記１組の調整パラメータの内の第２の調整パラメータを使用するための前記ＭＰＣコントローラ（５４）の設定点予測装置（８０）を適応させ、前記ＭＰＣコントローラ（５４）が前記プロセスを制御するためオンラインで作動している間、前記新しいコントロールモデルを使用するための前記ＭＰＣコントローラの調整済変数装置（７０）を適応させるアルリズム計算装置（９６）と、
を備え、
前記コントローラ適応装置（５２）は、該プロセス不動作時間に基づいて移動に対するペナルティの変数の値を決定し、前記移動に対するペナルティの変数の値は、前記第１の調整パラメータであり、
前記コントローラ適応装置（５２）は、前記複合モデルパラメータに基づいて、前記プロセスの安定状態への時間に関連して、設定点ターゲットベクトルフィルタの動作を定義する設定点ターゲットベクトルフィルタ軌道パラメータの値を決定すると共に、前記設定点ターゲットベクトルフィルタ軌道パラメータは、前記第２の調整パラメータである
ことを特徴とするプロセスコントローラ。
【請求項２】
前記移動に対するペナルティの変数の値は、前記ＭＰＣコントローラ（５４）の作動中に変化されることを特徴とする請求項１に記載のプロセスコントローラ。
【請求項３】
前記設定点ターゲットベクトルフィルタ軌道パラメータの値は、前記ＭＰＣコントローラ（５４）の作動中に変化されることを特徴とする請求項１に記載のプロセスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してプロセス制御システムに関連し、さらに詳細にはオンライン適応モデル予測コントローラまたはプロセス制御システムの中の他のモデル予測制御タイプコントローラに関する。
【背景技術】
【０００２】
化学的プロセス、石油関連プロセスまたは他のプロセスで使用されるもの等の分散された、またはスケラブルなプロセス制御システム等のプロセス制御システムは、通常、アナログバス、デジタルバス、またはアナログ／デジタル結合バスを介して少なくとも１つのホストまたはオペレータワークステーションに、および１台または複数台のフィールドデバイスに通信可能に結合されている１台または複数台のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ（例えば温度センサ、圧力センサ、フローセンサ等の）であってよいフィールドデバイスは、プロセス内でバルブの開閉、およびプロセスパラメータの測定等の機能を実行する。プロセスコントローラはフィールドデバイスによって行われるプロセス測定および／またはフィールドデバイスに関する他の情報を示す信号を受信し、制御ルーチンを実現するためにこの情報を使用し、プロセスの動作を制御するためにフィールドデバイスにバス上で送信される制御信号を発生させる。フィールドデバイスおよびコントローラからの情報は、通常、オペレータがプロセスの現状を見る、プロセスの動作を修正する等のプロセスに関して所望される機能を実行可能にするためにオペレータワークステーションによって実行される１つ以上のアプリケーションが使用可能になる。
【０００３】
プロセスコントローラは、通常、フロー制御ループ、温度制御ループ、圧力制御ループ等のプロセスのために規定される、あるいはプロセスの中に含まれる多くの異なるループの各々についてさまざまなアルゴリズム、サブルーチン、または（すべて制御ルーチンである）制御ループを実行するようにプログラミングされる。一般的には、各々のこのような制御ループは、アナログ入力（ＡＩ）機能ブロック等の１つ以上の入力ブロック、比例積分微分（ＰＩＤ）またはファジー論理制御機能ブロック等の単一出力制御ブロック、およびアナログ出力（ＡＯ）機能ブロック等の単一の出力制御ブロックを含む。制御ブロックは、バルブ位置等の単一プロセス制御を制御するために使用される単一制御出力を作成するため、これらの制御ループは、通常、単一入力／単一出力制御を実行する。しかしながら、特定のケースでは、制御されているプロセス変数が複数の単独プロセス制御によって影響を及ぼされ、事実上、各プロセス入力が多くのプロセス出力の状態に影響を及ぼすため、多くの無関係に動作する単一入力−出力制御ループを使用することはあまり効果的ではない。この例は、例えば、２本の投入ラインによって充填され、単一の産出ラインによって空にされるタンクを有し、各ラインが異なったバルブで制御され、該タンクの温度、圧力およびスループットが所望される（設定点）値に、あるいは近づくように制御されているプロセスで発生する可能性がある。前記に示したように、タンクのスループット、温度および圧力に制御は制御ループ、個別の温度制御ループ、および個別の圧力制御ループを使用して実行されてよい。しかしながら、この状況では、タンクの中の温度を制御するために入力バルブの内の１つの設定値を変更する際の温度制御ループの動作はタンクの中の圧力を上昇させ、例えば減圧するために圧力ループに出口バルブを開放させる。この動作は、次に、スループット制御ループに入力ループの内の１つを閉鎖させ、それにより温度に影響を及ぼし、温度制御ループに何らかの他の処置を講じさせる。この例から理解されるように、単一入力／単一出力制御ループにより、プロセス出力（この場合には、スループット、温度および圧力）に受け入れ難くするように動作させ、結果は定常状態条件に一度も到達せずに揺動する。
【０００４】
動的行列制御（ＤＭＣ）技法を使用するモデル予測制御（ＭＰＣ）または他のタイプの高度制御は、ある特定の制御されているプロセス変数に対する変更が、複数のプロセス変数または出力に影響を及ぼす状況でプロセス制御を実行するために使用されてきた。１９７０年代後半以来、モデル予測制御の多くのインプリメンテーションの成功が報告され、ＭＰＣはプロセス産業における高度な変数制御の主要な形式になった。さらに、ＭＰＣ制御は分散制御システム層状ソフトウェアとして分散制御システムの中で実現されてきた。特許文献１および特許文献２は、一般的に、プロセス制御システムの中で使用できるＭＰＣコントローラを説明する。
【０００５】
一般的には、ＭＰＣは、プロセス入力（つまり操作された変数）の各々を変更することの、多くのプロセス出力（つまり制御された変数）の各々に対する影響が測定される多重入力／多重出力制御戦略であり、これらの測定された反応は次にプロセスを制御する際に使用するためのコントロールマトリクス（制御行列）を作成するために使用される。コントロールマトリクスは、数学的に逆転されてから、プロセス入力に対して加えられる変更に基づいてプロセス出力を制御するために多重入力／多重出力コントローラ内で、あるいは多重入力／多重出力コントローラとして使用される（概してプロセスの動的動作を定義する）プロセスモデルを含む。いくつかのケースでは、プロセスモデルは、プロセス入力ごとのプロセス応答曲線（通常は、ステップ応答曲線）として表され、これらの曲線は、プロセス入力の各々に送達される一連の、例えば擬似単数ステップ変化に基づいて作成されてよい。これらの応答曲線は、公知の方法でプロセスをモデリングするために使用できる。モデル予測制御は当該技術分野で公知であり、結果として、その詳細は本明細書では説明しない。しかしながら、ＭＰＣは非特許文献１に概して説明されている。
【０００６】
ＭＰＣは多くのプロセス制御状況で有用であるが、産業で応用されているＭＰＣは、通常、ＭＰＣコントローラで使用されるコントロールマトリクスを作成するために（通常は再帰的アルゴリズムまたは行列計算として数学的に表現される）複雑なプロセスモデルの生成、次にそのモデルのその後の逆行列化を必要とする動的行列制御（ＤＭＣ）技法を主に使用している。結果として、ＭＰＣコントローラを生成することは計算上では高価である。さらに、ＭＰＣコントローラを作成する際に使用するための正確なプロセスモデルを開発するためには、従来、制御入力の各々についてステップ信号等の公知の制御信号でプロセスを妨げるまたは混乱させ、プロセス変数または制御されている変数の各々の制御入力における公知の変化に対する反応を決定することが必要であった。この手順を分散プロセス制御システムで実現する１つの方法は、その開示が本明細書に組み込まれている「プロセス制御システムにおける統合最適モデル予測制御（Ｉｎｔｅｇｒａｔｅｄ  Ｏｐｔｉｍａｌ  Ｍｏｄｅｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ）」と題される特許文献３により詳細に説明されている。
【０００７】
このプロセス外乱技法は概してきわめて正確なプロセスモデルを生じさせるが、外乱手順は時間を要し、プロセスの通常の動作を混乱させ、プロセスがオンラインで実行されているときに実行することは、実際的に不可能でないとしても、困難である。代わりに、このプロセス外乱技法は、通常、プロセスまたはＭＰＣコントローラの初期設定中等、プロセスが実際の製品を作成するために動作していないときにプロセスで実現される必要がある。この制約がプロセスモデルを決定できる期間を厳しく制限するのは言うまでもない。いずれにせよ、この技法は、それが各適応サイクルの間にプロセス混乱を必要とするため、適応ＭＰＣコントローラ（つまり、ＭＰＣコントロールマトリックスがプロセスのオンライン動作中に変更されるもの）で使用するには不適切である。さらに、この方法は、新しいプロセスモデルを決定後にコントロールマトリックスが逆行列化され、適用されなければならないため、かなりのサイズのＭＰＣコントローラ（つまり、多重入力と多重出力を有するもの）には計算上では高価である。この計算負荷により、通常、オンラインプロセス制御活動を実行することに連動して実行できる追加の計算負荷の量で制限される分散プロセスコントローラで適応ＭＰＣを実現することが困難になる。
【０００８】
しかしながら、多くの状況では、プロセスモデル不一致を説明するようにプロセスの動作中にＭＰＣコントローラを適応することが望ましい。特に、ＭＰＣを実現するとき、構成段階で決定されるプロセスモデルは、プロセスモデル作成時点でのプロセスだけしか反映しない。プロセスを実行する過程の間に通常は自然に発生するプロセスの結果として生じる変化はＭＰＣコントローラによって使用されるプロセスモデルには反映されず、したがってＭＰＣコントローラによるモデル不一致および非最適制御につながってよい。ＭＰＣコントローラはプロセスループの不動作時間におけるモデリングエラーの影響を最も受けやすい、あるいは最も敏感である。多くの制御状況では、このモデル不一致を補償することは望ましく、必要な場合もある。
【０００９】
過去において、ＤＭＣまたは他のＭＰＣコントローラでのモデル不一致を補償するために使用された１つの方法は、新しいプロセスモデルを周期的に作成し、プロセス混乱または外乱技法を使用して新しい制御モデルとコントローラを生成することであった。しかしながら、前述したように、この手順はまれにしか実行できず、新しいプロセスモデルを決定するためにプロセス混乱を実行する必要性のため、およびコントロールマトリクス生成プロセス中に実行される必要がある計算量のために計算はオフラインで実行されなければならない。非線形プロセスのモデル不一致を補償する別の方法は、プロセス混乱技法を使用して生成されるＭＰＣコントローラと連動して非線形プロセスモデルを使用する「非線形予測機能付き多重入力／多重出力制御ブロック（Ｍｕｌｔｉｐｌｅ−Ｉｎｐｕｔ／Ｍｕｌｔｉｐｌｅ−Ｏｕｔｐｕｔ  Ｃｏｎｔｒｏｌ  Ｂｌｏｃｋｓ  ｗｉｔｈ  Ｎｏｎ−Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃａｐａｂｉｌｉｔｉｅｓ）」と題される米国特許出願、出願番号第１０／４５４，９３７号に説明されている。一般的には、この技法は、モデル不一致を示すエラー信号を生じさせるために、非線形プロセスモデルを使用して作成される予測プロセス変化と、ＭＰＣプロセスモデルから作成される予測プロセス変化を比較してから、ＭＰＣコントローラを生成するときに説明されなかった、あるいはモデリングされなかったプロセスの非線形特徴を補償するためにこれらのエラー信号を使用する。しかしながら、プロセス動作を正確に反映するために、およびＭＰＣコントローラにとって適切な補償信号を作成するために、この技法は複雑な非線形プロセスモデルの使用に依存している。さらに、多くのケースでは、非線形プロセスと実際のプロセスの間には依然としてモデル不一致があり、制御性能がさらに低下する可能性がある。またさらに、非線形プロセスモデルもＭＰＣプロセスモデルもコントローラのオンライン動作中に変更されないためこの技法は適応的ではない。
【００１０】
部分的には、効果的な適応ＭＰＣコントローラまたは他のタイプの適応ＤＭＣコントローラを作成し、実現する際の問題の結果として、プロセス制御の技術は、プロセスモデルがプロセスの動作中に頻繁に変化する多くのプロセス状況で適応ＰＩＤコントローラを使用する。適応ＰＩＤコントローラは周知であり、プロセスの動作中に適応するために適用されるが、これらのＰＩＤコントローラは満足が行くように動作するために、不動作時間が優勢なプロセスでパワーダウンするように調整される（ｄｅｔｕｎｅｄ）、つまり非常に保守的に調整されなければならず、性能の低下につながる。またさらに、ＰＩＤコントローラはコントローラリセットと実際のプロセス時間定数の間に不一致があるとき、特にプロセス動特性が頻繁に変化するときに制御性能低下の影響をきわめて受けやすい。残念なことに、（定常状態までのプロセス時間に直接的に関連する）プロセス時間定数を決定することは、公知のプロセスモデル識別方法を使用しているときに作成される最も不確かなパラメータである。したがって、不動作時間が優勢なプロセスを制御するとき、特にプロセスの定常状態までの時間が頻繁に変化する場合には、ＰＩＤコントローラは必ずしも最善の選択肢とはならない。
【特許文献１】米国特許第４，６１６，３０８号明細書
【特許文献２】米国特許第４，３４９，８６９号明細書
【特許文献３】米国特許第６，７２１，６０９号明細書
【特許文献４】米国特許番号第６，５７７，９０８号
【特許文献５】米国公報番号第２００３／０１９５６４１号
【非特許文献１】キン（Ｑｉｎ）、Ｓ．ジョー（Ｓ．Ｊｏｅ）およびトーマス  Ａ．バッジウェル（Ｔｈｏｍａｓ  Ａ．Ｂａｄｇｗｅｌｌ）、「産業モデル予測制御技術の概要（Ａｎ  Ｏｖｅｒｖｉｅｗ  ｏｆ  Ｉｎｄｕｓｔｒｉａｌ  Ｍｏｄｅｌ  Ｐｒｅｄｉｃｔｉｖｅ  Ｃｏｎｔｒｏｌ  Ｔｅｃｈｎｏｌｏｇｙ）」、ＡＩＣｈＥ会議、１９９６年
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、適応ＤＭＣコントローラまたは他のＭＰＣコントローラを作成し、使用する方法を提供する。
【課題を解決するための手段】
【００１２】
適応ＤＭＣコントローラまたは他のＭＰＣコントローラを作成し、使用する方法は、プロセスを人為的に刺激する必要はなく、プロセスの動作中にオンラインでプロセスループのためにパラメータ化されたプロセスモデル等のプロセスモデルを周期的に決定するためにモデル切り替え技法を使用することを含む。該方法は、次にＭＰＣ制御モデルを生成するためにプロセスモデルを使用し、オンラインで、つまりプロセスが正常に実行されている間にＭＰＣコントローラアルゴリズムを作成する。一般的には単一ループＭＰＣコントローラに適用可能であり、１つまたは２つの制御層（ｈｏｒｉｚｏｎ）のあるＭＰＣコントローラで特に有用であるこの技法によって、ＭＰＣコントローラを、ＭＰＣコントローラが基づいているプロセスモデルを変更するため、およびそれによって経時的にプロセス内の変更を説明するためにオンラインで、つまりプロセスの通常の動作中に適応可能になる。このような適応ＭＰＣコントローラは計算上は高価ではなく、したがって同じまたは場合によってはＰＩＤコントローラよりさらに優れた制御を提供する一方で、プロセス制御システムの分散コントローラの中で容易に実現できる。さらに詳細には、例えば１つまたは２つの少ない制御層のある適応単一ループＭＰＣコントローラが不動作時間が優勢なループで、特にプロセスループが動的プロセスの変化のためにプロセスモデル不一致を受けるケースで、ＰＩＤコントローラよりさらに優れた制御を提供することができる。加えて、ＭＰＣコントローラは、ＰＩＣコントローラでは通常使用できない複数のフィードフォワード入力を容易に装備できる。
【発明を実施するための最良の形態】
【００１３】
ここで図１を参照すると、プロセス制御システム１０は、データヒストリアン１２に、および各々が表示画面１４、メモリ、およびプロセッサ（不図示）を有する（任意のタイプのパソコン、ワークステーション等であってよい）１つ以上のホストワークステーションまたはコンピュータ１３に通信可能に接続されている（分散プロセスコントローラであってよい）プロセスコントローラ１１を含む。また、コントローラ１１は、入力／出力（Ｉ／Ｏ）カード２６と２８を介してフィールドデバイス１５〜２２に接続されている。データヒストリアン１２は、所望されるタイプのメモリと、データを記憶する所望されるあるいは公知のソフトウェア、ハードウェア、またはファームウェアを有する所望されるタイプのデータ収集装置であってよく、（図１に描かれているように）ワークステーション１３とは個別であってよく、あるいはワークステーション１３の内の１つの一部であってよい。一例としてエマーソンプロセスマネジメント（Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ）によって販売されているＤｅｌｔａＶ（登録商標）コントローラであってよいコントローラ１１は、例えば、イーサネット（登録商標）接続または他の所望される通信ネットワーク２９を介してホストコンピュータ１３およびデータヒストリアン１２に通信可能に接続される。通信ネットワーク２９はローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、電気通信網等の形を取ってよく、ハードワイアード技術またはワイヤレス技術を使用して実現されてよい。コントローラ１１は、例えば標準４〜２０ｍａのデバイスと関連付けられている任意の所望されるハードウェアとソフトウェア、および／またはＦＯＵＮＤＡＴＩＯＮ（登録商標）  Ｆｉｅｌｄｂｕｓプロトコル（Ｆｉｅｌｄｂｕｓ）、ＨＡＲＴプロトコル等の任意のスマートプロトコルを使用してフィールドデバイス１５〜２２に通信可能に接続されている。
【００１４】
Ｉ／Ｏカード２６と２８は任意の所望される通信またはコントローラプロトコルに準拠する任意のタイプのＩ／Ｏデバイスであってよく、フィールドデバイス１５〜２２は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであってよい。図１に描かれている実施形態では、フィールドデバイス１９〜２２はＦｉｅｌｄｂｕｓフィールドデバイス等の、Ｆｉｅｌｄｂｕｓプロトコル通信を使用してデジタルバス上でＩ／Ｏカード２８に通信を行うスマートデバイスであり、フィールドデバイス１５〜１８は標準４〜２０ｍａのデバイス、またはＩ／Ｏカード２６にアナログ回線またはアナログ／デジタル回線上で通信を行うＨＡＲＴデバイスである。フィールドデバイス１５〜２２が、将来開発される任意の規格またはプロトコルを含む任意の他の所望される規格（複数の場合がある）またはプロトコルに準拠できるであろうことは言うまでもない。
【００１５】
少なくとも１台のプロセッサをその中に有するプラントの中の多くの分散コントローラの内の１台であってよいコントローラ１１は、その中に記憶されている、あるいはそれ以外の場合に、それと関連付けられている制御ループを含んでよい１つ以上のプロセス制御ルーチンを実現または監視する。コントローラ１１は、任意の所望の方法でプロセスを制御するためにデバイス１５〜２２、ホストコンピュータ１３、およびデータヒストリアン１２とも通信を行う。本明細書に説明されている制御ルーチンまたは要素は、そのように所望される場合、その部分をさまざまなコントローラまたは他のデバイスによって実現または実行されてよいことが留意されなければならない。同様に、プロセス制御システム１０の中で実現される、本明細書に説明されている制御ルーチンまたは要素は、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形を取ってよい。この説明の目的のために、プロセス制御要素が、例えば任意のコンピュータ読取可能媒体に記憶されているルーチン、ブロック、モジュールを含むプロセス制御システムの任意の一部または部分である場合がある。モジュール、あるいはサブルーチン、（コードの行等の）サブルーチンの部分等、制御手順の任意の一部であってよい制御ルーチンは、ラダー回路ロジック、逐次機能チャート、機能ブロック図、オブジェクト指向プログラミングまたは任意の他のプログラミング言語または設計パラダイムを使用する等、任意の所望されるソフトウェアフォーマットで実現されてよい。同様に制御ルーチンは、例えば、１つ以上のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、または他のハードウェア要素またはファームウェア要素にハードコードされてよい。さらに、制御ルーチンはグラフィック設計ツールまたは他のタイプのソフトウェア、ハードウェア、またはファームウェアプログラミングツールまたは設計ツールを使用して設計されてよい。その結果、コントローラ１１は、任意の所望される方法で制御戦略つまり制御ルーチンを実現するように構成されてよい。
【００１６】
一実施形態では、コントローラ１１は、一般的に機能ブロックと呼ばれているものを使用して制御戦略を実現し、各機能ブロックは、プロセス制御システム１０の中で様々なプロセス制御ループを実現するために、全体的な制御ルーチンの一部、つまりオブジェクトであり、（リンクと呼ばれている通信を介して）他の機能ブロックと連動して動作する。機能ブロックは、通常、トランスミッタ、センサ、または他のプロセスパラメータ測定装置と関連付けられる入力機能、ＰＩＤ、ファジー論理等の制御を実行する制御ルーチンと関連付けられるもの等の制御機能、あるいはプロセス制御システム１０の中で何らかの物理的な機能を実行するバルブ等、何らかのデバイスの動作を制御する出力機能の内の１つを実行する。ハイブリッド機能ブロックおよび他のタイプの機能ブロックが存在することは言うまでもない。機能ブロックは、通常はこれらの機能ブロックが標準４〜２０ｍａデバイス、およびＨＡＲＴデバイス等のいくつかのタイプのスマートフィールドデバイスと関連付けられるときに当てはまるコントローラ１１に記憶され、コントローラ１１によって実行されてよく、あるいはＦｉｅｌｄｂｕｓデバイスでのケースである場合があるフィールドデバイス自体に記憶され、フィールドデバイス自体に実現されてよい。制御システムの説明は、本明細書では、オブジェクト指向プログラミングパラダイムを使用する機能ブロック制御戦略を使用して示されているが、制御戦略、つまり制御ループまたはモジュールは、ラダー回路論理、逐次機能チャート等他の規約を使用して、あるいは他の所望されるプログラミング言語またはパラダイムを使用して実現または設計されることもあるであろう。
【００１７】
図１の拡大されたブロック３０によって描かれているように、コントローラ１１は、ルーチン３２と３４として描かれている数多くの従来のシングルループ制御ルーチンを含んでよく、制御ループ３６として描かれている１つ以上の適応ＤＭＣタイプ制御ループを実現してよい。各々のこのような従来のＤＭＣタイプの制御ループは、通常、制御モジュールと呼ばれる。制御ルーチン３２と３４は、バルブ等のプロセス制御デバイスと、温度トランスミッタまたは圧力トランスミッタ等の測定装置と、あるいはプロセス制御システム１０の中の任意の他のデバイスと関連付けられてよい、適切なアナログ入力（ＡＩ）とアナログ出力（ＡＯ）機能ブロックに接続されている、各々単一入力／単一出力ファジー回路論理制御ブロックと単一入力／単一出力ＰＩＤ制御ブロックを使用してシングルループ制御を実行するものとして描かれている。適応ＭＰＣ制御ブロック３８の入力と出力は、他のタイプの入力を受け取るために、および他のタイプの制御出力を行うために任意の他の所望される機能ブロックまたは制御要素に通信可能に接続されてよいが、適応ＭＰＣ制御ループとしてさらに詳細に説明するところの適応ＤＭＣタイプ制御ループ３６は、１つ以上のＡＩ機能ブロックに通信可能に接続されている入力、および１つ以上のＡＯ機能ブロックに通信可能に接続されている出力を有する適応ＭＰＣ制御ブロック３８を含むとして描かれている。さらに、適応ＭＰＣ制御ブロック３８は、多重入力／多重出力制御ブロックとして図１に描かれているが、この制御ブロックが代わりにフィードバック制御経路付きの、そして所望される場合にはフィードフォワード制御経路付きのシングルループ制御ブロックとなるであろうことが理解されるであろう。
【００１８】
さらに詳細に説明されるように、適応ＭＰＣ制御ブロック３８は、オンラインで、つまりプロセスの動作中にプロセス（または制御ブロック３８によって制御されているプロセスの少なくとも部分、つまりループ）について、プロセスを監視する、およびパラメータ化されたプロセスモデル等のプロセスモデルを再計算する制御ブロックである。適応ＭＰＣ制御ブロック３８は、次に、制御ブロック３８の中で使用されるＭＰＣ制御モデルおよびＭＰＣ制御アルゴリズムを再計算し、それによりＭＰＣ制御ブロック３８内のＭＰＣコントローラをさらに優れた一致に、あるいは新規に計算されたプロセスモデルに基づいた制御に適応させるために、決定されるときは常に新しいプロセスモデルを使用する。この適応ＭＰＣ制御は、新しいプロセスモデルを決定するためにプロセスを人為的に混乱させる必要はなく、新しいＭＰＣコントローラモデルおよびアルゴリズムを計算し、ＭＰＣコントローラの中にインストールするために、プロセスをオフラインにする必要はなく、発生する。理解されるように、プロセスモデルは再定義することができ、ＭＰＣコントローラは経時的なプロセスの変化のためのＭＰＣコントローラとプロセスとの間のモデル不一致を削減または排除するためにプロセスの動作中の様々な場合に再生できる。
【００１９】
前記に注記したように、適応制御ブロック３８は本明細書ではモデル予測制御（ＭＰＣ）ブロックを含むとして説明されるであろうが、制御ブロック３８は本明細書に説明される同じ原理を使用して代わりに他のＤＭＣタイプの制御技法を実現できるであろう。さらに、適応ＭＰＣ制御ブロック３８を含む、図１に描かれている機能ブロックはコントローラ１１によって実行することができる、あるいは代わりに、ワークステーション１３の内の１つまたはフィールドデバイス１９〜２２内の１台等、任意のほかの処理デバイスが位置し、実行できることが理解されるであろう。
【００２０】
図１に描かれているように、ワークステーションの内の１つは、適応ＭＰＣ制御ブロック３８（または制御ブロック３８が位置する制御モジュール３６）を作成し、ダウンロードし、実現するために使用される適応ＭＰＣ構成ルーチン４０を含んでいる。適応ＭＰＣ制御ブロック構成ルーチン４０はワークステーション１３の中のメモリに記憶され、その中のプロセッサによって実行されてよいが、さらにまたは代わりに、このルーチン（またはその任意の部分）はそのように所望される場合、プロセス制御システム１０の中の任意の他のデバイスに記憶され、実行されてよい。一般的には、適応ＭＰＣ構成ルーチン４０は本明細書に説明されるように適応ＭＰＣ制御ブロックを作成し、この適応ＭＰＣ制御ブロックをプロセス制御システムに接続する制御ブロック作成ルーチン４２を含む。この作成および構成ルーチンは、モジュール３２と３４等の他のタイプのモジュールおよび機能ブロック、および／またはその中のＦＬＣ機能ブロックとＰＩＤ機能ブロックを作成し、構成するために使用できる同じルーチンと統合されてよい、または同じルーチンであってよく、そのルーチンは概して当該技術において公知である。したがって、適応ＭＰＣ機能ブロック３８は、現在技術分野に存在し、当該技術分野において周知である機能ブロックに類似した方法で選択、構成できるさまざまな機能ブロックのセットの１つである場合がある。さらに、図１に示されているように、ユーザインタフェースアプリケーションまたはオペレータインタフェースアプリケーション４４は、制御オペレータ等のユーザがＭＰＣ制御ブロック３８に関連する情報とデータを見て、ＭＰＣ制御ブロックがプロセスモデルを開発するためにどのように動作するのかを修正し、ＭＰＣ制御ブロック３８にプロセスモデルから新しいＭＰＣ制御モデルとＭＰＣアルゴリズムを生成させることが可能になるように、その動作中に適応ＭＰＣ制御ブロック３８と通信を行ってよい。いくつかのケースでは、ユーザインタフェースルーチン４４は、ユーザがそのブロックの動作を達成するために適応ＭＰＣ制御ブロック３８に調整入力を提供可能にしてよい。さらに、ユーザインタフェースルーチン４４は、ワークステーション１３のいずれかに、または携帯端末、ＰＤＡ（personal data assistant）、携帯電話等の、制御システムに通信可能に接続される任意の他の所望されるユーザ入力装置に記憶され、実行されてよい。
【００２１】
図２は、プロセッサ５０に通信可能に結合されている適応ＭＰＣ制御ブロック３８の一実施形態の詳細なブロック図である。動作中、適応ＭＰＣ制御ブロック３８が、同様にプロセス５０の入力を制御するために接続されている他の機能ブロック（図２では不図示）に提供される１つ以上の操作済みの変数ＭＶを生成することが理解されるであろう。図２に描かれているように、適応ＭＰＣ制御ブロック３８は適応モデルジェネレータ５２とＭＰＣコントローラブロック５４とを含む。ＭＰＣコントローラブロック５４は、この例では、例えば、同様にプロセス制御を実行するためにプロセス５０に提供されている単一の制御信号（または操作済み変数）ＭＶの形を取る単一の制御出力を有するもの等、シングルループ制御ブロックとして描かれている。図２のＭＰＣコントローラブロック５４は、フィードバック経路とフィードフォワード経路の両方を含むため、これらの経路の両方のための入力を含む。しかしながら、いくつかのケースでは、このようなデバイスは本明細書では説明されないが、出力と同じ数の入力を有する、標準的な正方Ｍ×Ｍ（この場合Ｍは１より大きい任意の数である場合がある）のＭＰＣ制御ルーチンを使用することが可能である場合がある。
【００２２】
ＭＰＣコントローラブロック５４は、入力として（プロセス５０の中で測定されるような）測定された制御変数（ＣＶ）、外乱変数ＤＶ、設定点値、または制御変数ＣＶのための所望されるターゲットベクトルを規定するベクトルＳＰ、およびコントローラブロックによって生成される操作済み変数ＭＶを受け取る。公知のように、外乱変数ＤＶは、プロセス５０の中で測定される、または予測される変化（例えば外乱）を表し、この値はコントローラブロック５４に提供され、同時にプロセス５０に提供されているものとして描かれている。一般的には、制御済み変数ＣＶはＭＰＣコントローラ５４のフィードバック戻り経路への入力を表す一方、外乱変数ＤＶはＭＰＣコントローラ５４のフィードフォワード経路に対する入力を表す。
【００２３】
ＭＰＣコントローラにおいて一般的であるがごとく、制御済み変数ＣＶおよび外乱変数ＤＶは、ＭＰＣコントローラ５４によって生成される操作済み変数ＭＶとともに、（制御変数予測装置とも呼ばれる）制御済み変数プロセスモデル７０に提供される。制御変数予測装置７０は、操作済み変数ＭＶと外乱変数ＤＶの現在値および／または予測される将来値に基づいて制御済み変数ＣＶの将来の値を予測するために、その中に記憶されている（制御モデルとも呼ばれる）プロセスモデルを使用する。（通常、これらの入力変数の各々に個別の制御モデルが使用される。）制御変数予測装置７０は現時点の制御済み変数ＣＶの事前に計算された予測を表す出力を生じさせ、ベクトルアナログ加算器７４は、入力７６でのエラーおよび予測補正ベクトルを生じさせるために現在の制御済み変数ＣＶの予測される値を制御済み変数ＣＶの実際の測定値から差し引く。
【００２４】
一般的には、制御変数予測装置７０は、外乱変数ＤＶと操作済み変数ＭＶ、および制御変数予測装置７０の他の入力に提供されるエラー信号に基づいて予測層（ｈｏｒｉｚｏｎ）をわたる時点（ｔｉｍｅｓ）の各々で制御された変数ＣＶの将来値を予測するために（このケースではプロセスモデルから数学的に作成されてよい）ステップ応答行列を使用する。装置７０の出力は予測済みＣＶベクトルとして描かれている。設定点予測装置８０は、オプティマイザ、ユーザ、制御オペレータ等の任意の所望されるソースからそれに提供される設定点ＳＰに基づいて制御済み変数ＣＶにターゲットベクトルを提供する。一実施形態では、設定点予測装置８０は、制御済み変数ＣＶが時間をわたってどのように動かされなければならないのか否かを定義する（つまり、コントローラのロバスト性と測度を規定する）事前に確立された変化またはフィルタベクトルとともに設定点ＳＰを使用してよい。設定点予測装置８０は、予測層により定義される期間で、制御済み変数ＣＶの設定点値の変化を定義する制御済み変数ＣＶの（予測ＣＶターゲットベクトルと呼ばれる）動的制御ターゲットベクトルを生じさせる。ベクトル加算器であってよいアナログ加算器８４は、次に制御済み変数ＣＶの将来のエラーベクトルを定義するために動的制御ターゲットベクトルから予測ＣＶベクトルを差し引く。制御変数ＣＶの将来のエラーベクトルは、次に、制御層をわたって、例えば最小二乗誤差を最小限に抑える（制御層までの期間の各々に）操作済み変数ＭＶステップを選択するために動作するＭＰＣアルゴリズムブロック８５に提供される。ＭＰＣアルゴリズムブロック８５はコントロールマトリクス、またはＭＣＰコントローラ５２に入力される制御済み変数ＣＶと外乱変数ＤＶとＭＰＣコントローラブロック５４によって出力される操作済み変数との間の関係性から作成される他のアルゴリズムを使用してよい。概して公知のように、ＭＰＣアルゴリズムブロック８５は、制御済み変数ＣＶを操作制約の範囲内に保ちつつ、操作済み変数ＭＶと制御済み変数ＣＶの定常状態値を制限された時間量の中で達成する一方で、制御済み変数ＣＶの誤差を、制御層にわたって、最小の操作済み変数ＭＶの動きで最小限に抑えようと試みる。
【００２５】
一般的には、ＭＰＣコントローラブロック５４は、各々ブロック７０と８５の内に記憶されているＭＰＣ制御モデルと制御アルゴリズムに基づいてプロセス５０を制御する際に使用される制御済み変数ＣＶとしてシングルループＭＰＣ制御信号を生成するために、各コントローラ走査中に一度動作する。しかしながら、前記に注記したように、プロセス５０のダイナミクスは通常経時的に変化し、プロセス５０の実際の動作と、ＭＰＣコントローラブロック５４の中で使用されているプロセス５０のモデルとの間の不一致につながることがある。
【００２６】
この問題を埋め合わせるために、適応モデルジェネレータ５２は、プロセス５０、特にＭＰＣコントローラブロック５４によって制御されているプロセス５０のループを表すプロセスモデルを再決定、または更新するために動作する。適応モデルジェネレータは、所望される場合、ＭＰＣコントローラ５４のフィードバック経路とフィードフォワード経路のために同じプロセスモデルまたは別のプロセスモデルを決定してよい。適応モデルジェネレータ５２は、次に、ブロック８５内で使用するための新しいＭＰＣ制御アルゴリズムのみではなく、ブロック７０内で使用するための新しいＭＰＣ制御モデルも決定し、それによりＭＰＣコントローラ５４がプロセス５０の現在の動作をより正確に反映するプロセスモデルに基づいて動作可能にするために更新されたプロセスモデルを使用する。この更新プロセスは、ＭＰＣコントローラ５４を、プロセス５０の動作中にオンラインでプロセス５０に適応させ、それによりモデル不一致を排除または削除し、さらに優れた制御を提供する。
【００２７】
一般的には、適応モデルジェネレータ５２は、オンラインでおよびプロセス５０が実行中に、プロセス５０のための、特にＭＰＣコントローラ５４によって制御されているプロセス５０の特定のループのための新しいモデルを決定または再計算するために動作するプロセスモデル推定器９０を含む。プロセスモデル推定器９０の出力はプロセスモデル、つまりパラメータの集合に従ってプロセス５０の動作を定義するパラメータ化されたプロセスモデルである。他のパラメータ化されたモデルを代わりに使用することができるであろうが、最も一般的なタイプのパラメータ化されたプロセスモデルは、プロセス応答時間、プロセス利得およびプロセス不動作時間のためのパラメータを含む第１の次数の不動作時間プロセスモデルである。適応ＰＩＤコントローラで使用するためのプロセス変数からプロセスモデルを定義または推定する方法は、両方の開示とも参照として本明細書に明示的に組み込まれている「適応フィードバック／フィードフォワードＰＩＤコントローラ（Ａｄａｐｔｉｖｅ  Ｆｅｅｄｂａｃｋ／Ｆｅｅｄｆｏｒｗａｒｄ  ＰＩＤ  Ｃｏｎｔｒｏｌｌｅｒ）」と題される特許文献４、および「状態に基づいた適応フィードバックフィードフォワードＰＩＤコントローラ（Ｓｔａｔｅ  Ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｆｅｅｄｂａｃｋ  Ｆｅｅｄｆｏｒｗａｒｄ  ＰＩＤ  Ｃｏｎｔｒｏｌｌｅｒ）」と題される特許文献５に説明されている。
【００２８】
一般的には、プロセスモデル推定器９０は、制御済み変数ＣＶを示すデータと、操作済み変数ＭＶ、外乱変数ＤＶ、および設定点ＳＰの内の１つ以上、およびプロセスの通常の動作中に所望される場合にはおそらく他の変数を示すデータを定期的に収集する。プロセスモデル推定器９０は、次に、設定点ＳＰ、外乱変数ＤＶ、または制御済み変数ＣＶの変化等、プロセス５０に反応させる、または制御されることを必要とさせてよいプロセス入力変数のいずれかで何時重大な変化が発生するのかを決定するために、このデータを周期的に見直す、または分析する（あるいはユーザが図１のユーザインタフェースルーチン４４を介して、そのようにできるようにする）。このような変化を検出すると、プロセスモデル推定器９０は、次に変化に対するプロセスの応答を決定するために、何時プロセス変数（つまり制御済み変数ＣＶ）が定常状態条件に達し、これらの２つの点の間に収集されたプロセスデータを使用するのかを決定する。さらに詳細には、プロセス５０内の外乱または設定点ＳＰの変化は、ＭＰＣコントローラにプロセス５０を改変するために制御信号（操作済み変数ＭＶ）の変化を実現させる。次に、制御済み変数ＣＶの変化は、この変化に対するプロセス応答を反映し、プロセスモデル推定器９０はプロセス５０を記述するあるいはモデル化するパラメータ化されたプロセスモデルを決定するために公知の技法を使用してよい。前記に注記したように、このパラメータ化されたプロセスモデルは不活動時間プロセスモデルが加えられた第１の次数または任意の他のタイプのパラメータ化されたプロセスモデルとして定義されてよい。しかしながら、重要なことには、プロセスモデル推定器９０は、プロセスモデルを決定するためにプロセス５０を妨げるまたは混乱させる必要はないが、代わりにプロセス５０の通常の動作またはオンライン動作中に収集されるプロセスデータを分析する。結果として、プロセスモデル推定器９０は、コントローラプロセッサに大きな計算負荷を課さず、またプロセス５０を混乱させることなく、プロセス５０の通常の動作中に、プロセスコントローラデバイス（例えば図１のプロセスコントローラ１１）の背景プロセスとして連続的に実行できる。
【００２９】
新しいプロセスモデルを決定した後、プロセスモデル推定器９０は、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ装置９４に対してのみではなく、ＭＰＣモデル計算装置９２に（計算済みのプロセス利得Ｋ、不動作時間ＤＴ、および時間定数ＴＣ等の）プロセスモデルを提供する。ＭＰＣモデル計算装置９２は、制御変数予測装置７０で使用される一般的なＭＰＣ制御モデルを計算するために新しいプロセスモデルを使用する。このＭＰＣ制御モデルは一般的には、予測層までの時間にわたっての操作済み変数ＭＶ（またはフィードフォワード経路の場合は外乱変数）のステップ変化に対する制御済み変数ＣＶの応答を定義する応答曲線として表される伝達関数の形式である。このモデルは、一般的には、操作済み変数ＭＶのステップ変化に応えてプロセスモデル推定器９０によって作成されるパラメータ化されたプロセスモデルによって完全に規定されるプロセスから生じるであろう制御済み変数ＣＶの値（予測層までの走査時間の各々に１つ）の級数として数学的に計算しやすい。
【００３０】
ＭＰＣ制御モデルを決定した後、ＭＰＣモデル計算装置９２は、このモデルをＭＰＣアルゴリズム計算装置９６に提供し、このモデルを将来使用するために、またはＭＰＣコントローラ５４を更新するときにＭＰＣコントローラ５４の制御変数予測装置７０にダウンロードするために記憶する。基本的に同時に、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ装置９４は移動に対するペナルティおよびＭＰＣコントローラ５４で使用される設定点軌跡またはフィルタ係数を計算する、あるいはそれ以外の場合決定する。一実施形態では、より詳細に後述するように、各々ＳＰ予測装置８０とＭＰＣアルゴリズムブロック８５で使用される制御調整変数である設定点ターゲットベクトルフィルタの軌跡および移動に対するペナルティは自動的に計算されてよい。例えば、移動に対するペナルティは、同様に、プロセスモデル推定器９０によって作成されるプロセスモデルの応答時間から求められる定常状態Ｔｓｓまでのプロセス時間に自動的に基づいてよい。別の実施形態では、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ軌跡は、制御オペレータ等のユーザによって入力または指定されてよい。
【００３１】
ＭＰＣアルゴリズム計算装置９６は、新規に決定されたプロセスモデルに基づいてＭＰＣアルゴリズムブロック８５によって使用されるための適切な制御アルゴリズムを決定するために移動に対するペナルティ値のみではなくＭＰＣ制御モデルも使用する（そして通常はこのモデルを逆転する）。以後、プロセス５０が定常状態または外見上定常状態にあるとき、あるいはユーザインタフェースを介してユーザによって命令されるとき等の適切な時点に、適応モデルジェネレータ５２は、新しいＭＰＣ制御モデルを制御変数予測装置７０に、新しいＳＰ軌跡またはフィルタ係数を（変更された場合には）ＳＰ予測ブロック８０に、および新しいＭＰＣ制御アルゴリズムをＭＰＣアルゴリズムブロック８５にダウンロードすることによって更新する。
【００３２】
このようにして、プロセスモデル推定器９０が、ＭＰＣコントローラ５４を構成するために使用されたプロセスモデルとは何らかの重要な様式で異なるプロセス５０のためのプロセスモデルを決定または検出すると、ＭＰＣモデル計算装置９２とＭＰＣアルゴリズム計算ブロック９６が、そのモデルに基づいて新しいＭＰＣコントローラパラメータ、モデルおよびアルゴリズムを計算し、これらの新しいＭＰＣコントローラ要素をＭＰＣコントローラにダウンロードしてよい。
【００３３】
重要なことに、１つまたは２つおよびおそらくさらに高い制御層を有するシングルループＭＰＣまたは他のＤＭＣタイプコントローラが計算上では高価ではなく、前述したように適応できる、したがってこのような適応コントローラが、プロセスが実行中にオンラインで、分散または他のプロセスコントローラで作動または実行でき、したがって真にオンラインのアダプタＭＰＣ（または他のＤＭＣタイプの）コントローラを提供すると判断された。特に、１つまたは２つの制御層を有するシングルループのためのＭＰＣコントローラの（図２のブロック８５で使用されるような）ＭＰＣ制御アルゴリズムが、簡単に、つまり非再帰的であり、行列計算を使用しない１つ以上の単純な数式として定義できると判断された。その結果、これらのケースでは、ブロック８５のためのＭＰＣ制御アルゴリズムを決定することは計算上では過剰ではなく、それにより新しいプロセスモデルの受け取り時に、ＭＰＣ制御ブロック５４のために新しいＭＰＣ制御モデルおよび制御アルゴリズムの頻繁且つ高速度の再計算を可能にする。したがって、このような適応は迅速におよびリアルタイムで発生し、ＭＰＣコントローラ５４を実際に実行する分散コントローラの中で実行できるために、ＭＰＣコントローラブロック５４を、プロセスが動作している間にオンラインで更新または適応させることが可能である。
【００３４】
さらに、前記に注記したように（１つまたは２つ、あるいはおそらく５までの）小さな制御層のＭＰＣを含むシングルループＭＰＣコントローラが、不動作時間が優勢なプロセスにおいて、および定常状態までの時間が経時的に変化するとき等、多くの状況でＰＩＤコントローラより優れた制御性能を提供すると判断された。
【００３５】
図３は、図１のコントローラ１１内で適応制御を実行するために適応ＭＰＣ制御ブロックによって使用されてよいフロー図１００を描いている。ルーチン１００の第１のセクション１０２ではプロセスモデル推定器は、プロセス５０が、他の所望または必要なデータのみではなく制御済み変数ＣＶ、操作済み変数ＭＶ、設定点ＳＰおよび外乱変数ＤＶを示すデータ等のプロセス入力／出力データも収集するためにオンラインで動作している間に動作し、このデータをメモリに記憶する。プロセスモデル推定器９０は、毎回データ収集インスタンスの後に、特定の量のデータを収集した後に、特定の期間の後に、ユーザコマンドに応えて等、周期的に、新しいプロセスモデルを定義するために使用されてよいデータのブロックを探す、特に（制御済み変数ＣＶ等の）プロセス出力を変化させ、次に定常状態値に到達させる（制御信号の変化等の）プロセス入力の外乱を探す。このような変化が検出されると、あるいはプロセスモデルを作成するために使用するためのデータセットのユーザ選択に応えて、プロセスモデル推定器ブロック９０は新しいプロセスモデルを生成するためにプロセスデータの選択された、または決定されたブロックを分析する。
【００３６】
さらに詳細には、プロセスモデル推定装置９０によって実現されてよいブロック１０４はプロセス入力／出力データを収集し、ブロック１０６は、プロセスが新しいプロセスモデルを計算するのに十分なほど変化を経験した期間で十分なデータが収集されたか否かを判断する。ブロック１０６は、プロセスデータの選択されたセットからプロセスモデルを生成するためにユーザコマンドに応えてもよい。収集されたデータが、プロセスモデル推定装置９０が新しいプロセスモデルを計算できるほどではない場合、あるいはユーザが新しいプロセスモデルを作成するようにルーチン１００に命令しなかった場合、ブロック１０４はプロセス入力／出力データを収集し続ける。他方、十分なプロセスデータが、プロセスが新しいプロセスモデルを計算するほど重大な変化または外乱を受けた期間で収集された場合、あるいはユーザがプロセスモデル計算を開始した場合には、ブロック１０８は、例えば特許文献４、および／または特許文献５に説明されている技法を使用して新しいプロセスを計算し、ルーチン１００の第２のセクション１１０に新しいプロセスモデルを提供する。
【００３７】
ルーチン１００のセクション１１０は、新しいＭＰＣモデルとアルゴリズムを決定されたプロセスモデルから決定する。本説明のために、ブロック１０８によって決定されるプロセスモデルは、フィードバック経路とフィードフォワード経路の両方のために、プロセス利得、プロセス不動作時間、およびプロセス時間定数を規定するパラメータを含むパラメータ化された第１の次数の不動作時間プロセスモデルであると仮定されるであろう。しかしながら、プロセスモデルはフィードバック経路のためのみのパラメータを含み、別のタイプ、または性質の１次プロセスモデルとなるか、１次プロセスモデル以外の任意のタイプのプロセスモデルとなるであろうと理解されるであろう。したがって、一般的には、他のタイプの、または形式のプロセスモデルが代わりに使用できるであろう。
【００３８】
図３に描かれているように、ルーチン１００のセクション１１０は、新しいプロセスモデルに基づいてＭＰＣコントローラの走査レート、実行時間、予測層、および定常状態までの時間の内の１つ以上を決定する、図２の移動に対するペナルティと設定点ターゲットベクトルフィルタによって実現されてよい計算ブロック１１２を含む。
【００３９】
適応ＰＩＤ制御技法と同様に、定常状態までの時間Ｔｓｓは、プロセスモデルに基づいて、特にプロセスモデルの時間定数に基づいてモデル識別が毎回成功した後に更新される。しかしながら、（走査レートがプロセス応答時間より数倍速い限り）任意の走査レートで作動できるＰＩＤコントローラとは異なり、適応ＭＰＣコントローラは定常状態までの時間ＴSSをＭＰＣコントローラによって使用される予測層の内部に保つ。適応プロセスの一部としてＭＰＣコントローラの走査レートを改変または変更し、それによってさらに優れた制御を提供するために、実行時間およびまたは（通常ＭＰＣコントローラ内で固定される）ＭＰＣコントローラによって使用される予測層を変更し、それによってさらに優れたＭＰＣコントローラ動作を提供可能にすると判断される。
【００４０】
新しい走査レートが適切に選択されることを保証するために、ブロック１１２は最初に任意の公知の方法で、特にＭＰＣコントローラ５４のフィードバック経路のためのプロセスモデルの中で決定される時間定数に基づいて、新しいプロセスモデルから定常状態までのプロセス時間Ｔｓｓを決定する。定常状態までの時間Ｔｓｓは、実際の時間（例えば、分、秒等）で決定または表現されてよく、あるいは実行サイクルあたりの固定コントローラ実行時間に基づいて定常状態までの時間の間に必要とされる実行サイクルの数で表現されてよい。
【００４１】
次に、実行時間は、適応ＭＰＣコントローラの構成中にユーザによって、あるいは構成エンジニアによって設定されてよい、最大許容予測層で除算される定常状態までの時間Ｔｓｓとして計算できる。この計算は以下のように表現できる。
Ｅｘｅｃ＿Ｔｉｍｅ＝Ｔｒｕｎｃ［ＴSS／ＰＨmax］
ここで、
Ｅｘｅｃ＿Ｔｉｍｅ  ＝  実行時間、
ＴSS  ＝  定常状態までの時間、
ＰＨmax  ＝  最大予測層、
である。
ここでは、Ｔｒｕｎｃは数学の切捨て演算である。
【００４２】
説明されている実施形態では、１２０という最大予測層が使用されてよく、走査中制御変数予測装置７０によって１２０までの予測が各走査中に計算されてよいことを意味する。しかしながら、多くのケースでは、この計算は、多かれ少なかれＭＰＣコントローラの動作の不正確さを引き起こすこと(reminder)につながる。余りが生じる除算を回避し、それによってコントローラ動作の浮動小数点誤差とジッタを削減するために、予測層は、最小値ＰＨminと最大値ＰＨmaxの間で変化することが可能にされてよく、選択された予測層ＰＨと実行時間の積が定常状態までの時間ＴSSに厳密に等しくなるように選ばれてよい。選択された予測層は、次に、最大許容予測層ＰＨmaxの代わりに、ＭＰＣコントローラ内（つまり、図２のコントローラブロック５４のブロック７０、７４、８０、８４および８５のすべての中で）内部ループのすべての中で予測層として使用される。したがって、このケースでは、予測層は、新しいプロセスモデルについて決定される定常状態までの実際の時間に応じて、例えば６０と１２０の間で変化してよい。
【００４３】
次の表１は、新しいプロセスモデルの定常状態までの特定の時間ＴSSに基づいてＭＰＣコントローラ５４の中で有利に使用されてよい実行時間Ｅｘｅｃ＿Ｔｉｍｅと選択された予測層ＰＨの様々な組み合わせの例を示している。理解されるように、実行時間は０．１ｍｓ〜２１３ｍｓの間で変化するが、（実行時間と予測層が求められる公知の変数である）この表の定常時間までの時間ＴSSがこのケースでは１０秒〜１２８００秒の間で変化し、すべてのケースで６０〜１２０の間のいずれかで選択された予測層ＰＨを生じさせる。必要ではない場合があるが、６０を超える予測層はこのような定常状態までの大きな時間にとって必要でないため、予測層は、定常までの時間の値が３２００を越えるたびに６０、つまり最小許容値に設定されるべきである。いずれにせよ、所望される場合、予測層と実行時間の望ましい組み合わせを、異なる決定された定常状態までのプロセスの時間ＴSSに関連付ける表１の結果、または類似するこのような事前に計算された表は、決定された定常状態までのプロセスモデル時間ＴSSに基づいてＭＰＣコントローラで使用するための適切な予測層を決定するために使用される適応モデルジェネレータ５２に記憶されてよい。予測層と実行時間の、決定された定常状態までのプロセス時間に基づいた組み合わせを生成する任意の他の所望される方法が代わりに使用されてよいことは言うまでもない。
【表１】
0005558652.tif 000002
【００４４】
いずれにせよ、分かるように、適応ＭＰＣコントローラブロック３８は、実際に、コントローラ走査レートが定常状態までの時間ＴSSを予測層内に保つように設定されることを保証するために、適応プロセスの間にその予測層と実行時間を変更または改変できる。所望される場合には、ブロック１１２は、選択された、または計算された実行時間がコントローラの設定された走査レートより低いか否かを判断するために実行時間をコントローラの走査レートと比較する。この条件が真である場合、ブロック１１２は、例えばオペレータインタフェースアプリケーション４４を介してユーザに対して、ＭＰＣコントローラの適切な動作を可能にするために、コントローラブロック走査レートを加速しなければならないことを示す警告メッセージを発行してよい。
【００４５】
次に、図２のＭＰＣモデル計算ブロック９２で実現されてよいブロック１１４は、予測層ＰＨによって規定される時間の間における制御済み変数ＣＶの、（フィードバックループの場合の）操作済み変数ＭＶのステップ変化に対する反応を規定し、予測層ＰＨによって規定される時間の間における制御済み変数ＣＶの、（フィードフォワードループの場合の）外乱変数ＤＶのステップ変化に対する反応を規定するステップ応答モデル（ＭＰ制御モデル）を決定または確立する。このようなステップ応答モデルが、ブロック９０によって作成されるプロセスモデルから数学的に生成されてよいことは言うまでもない。一般的には、制御済み変数ＣＶの応答は、ブロック１１２によって決定される予測層ＰＨによって規定されるコントローラ走査の回数の各々に計算される。したがって、予測層が１２０である場合には、制御済み変数ＣＶの１２０の異なる応答が（フィードバックコントローラ経路のための）ＭＰＣステップ応答モデルを規定するために、第１の時間インスタンスで操作済み変数ＭＶのステップ変化に応えて決定されるであろう。このステップ応答モデルは、本明細書では（ｂ1，ｂ2，．．．．ｂi，．．．ｂp）として非ベクトル形式で規定されるステップ応答ベクトルＢとして参照され、ここではｐは選択された予測層であり、ｂpは選択された予測層の応答である。
【００４６】
次に、ブロック１１６は、ＭＰＣアルゴリズムで使用される移動に対するペナルティおよび誤差に対するペナルティ、および所望される場合、ＭＰＣコントローラ５４の応答およびロバスト性を決定するために、ＭＰＣコントローラで使用される設定点フィルタ定数または軌跡を計算または決定する。所望される場合、誤差に対するペナルティ、ＳＰフィルタおよび移動に対するペナルティは自動的に決定されてよく、あるいは例えば図１のユーザインタフェースアプリケーション４４を介してユーザ入力によって設定されてよい。
【００４７】
設定点ターゲットベクトルフィルタ時間定数を自動的に設定する１つの方法は、プロセスの定常状態までの時間に関連して設定点ターゲットベクトルフィルタの動作を規定する設定点ターゲットベクトルフィルタ時間係数を規定することである。例えば、設定点ターゲットベクトルフィルタ時間係数は０〜４の範囲に及び、その結果（設定点ターゲットベクトルフィルタの時間定数を規定する）設定点ターゲットベクトルフィルタ時間定数は定常状態までのプロセス時間ＴSSと設定点ターゲットベクトルフィルタ時間係数の積として求めることができる。理解されるように、この設定点ターゲットベクトルフィルタ時間係数は、新しいプロセスモデル識別ごとに変化できるであろう。設定点ターゲットベクトルフィルタ係数または設定点ターゲットベクトル時間定数は、そのように所望される場合に、選択または提供できるであろう。
【００４８】
一般的には、（コントローラ移動の計算中に、ＭＰＣコントローラアルゴリズムが、所望されるＣＶと予測されるＣＶとの間の誤差ベクトルに適用する係数を規定する）誤差に対するペナルティは１に設定されてよく、変更可能となる必要はない。つまり、シングルループシステムでは、移動に対するペナルティ（ＰＯＭ）と誤差に対するペナルティ（ＰＥ）との間の割合のみが関係する。つまりこれらの変数の内の１つが変更可能である限り、他は変更可能である必要はない。
【００４９】
一実施形態では、（コントローラ移動の計算中に、ユニット制御信号にアクセスするＭＰＣ制御アルゴリズムが移動するペナルティを規定する）移動に関するデフォルトペナルティは、以下のようなプロセスモデル変化のたびに計算されてよい。
【数１】
0005558652.tif 000003
ここでは、ＤＴは（プロセスモデルからの）プロセス不動作時間であり、ＰＨは予測層であり、Ｇは（プロセスモデルからの）プロセス利得であり、ＰＭは移動に対する計算されたペナルティである。一般的には、観測に基づいて発見的に決定されたこの方程式は、プロセスの不動作時間が増加するにつれて、およびそれほどではないにせよプロセス利得が増加するにつれて、移動に対するより高いペナルティにアクセスする。移動に対するペナルティのための推奨値またはデフォルト値を計算する他の方程式または方法が代わりに使用できるであろうことは言うまでもない。
【００５０】
いずれにせよ、移動に対するペナルティの推奨値は、読み取り専用パラメータとして（例えば図１のインタフェースアプリケーション４４を使用して）ユーザインタフェースに表示されてよい。しかしながら、所望される場合、ユーザインタフェースアプリケーション４４により、ユーザは（デフォルト設定値として使用されてよい）推奨値を他の値に変更できる。この変更を実行する方法は、ユーザが所望されるＰＯＭを直接的に指定可能にする、あるいはユーザが（つまり、推奨値の乗数として）推奨値を変更するために使用されるＰＯＭ係数を指定可能にすることを含む。このようなＰＯＭ係数は、例えば、０．１〜１０の範囲となり、例えばユーザインタフェース表示画面の中のスライダバーまたは属性ボックスを使用してユーザによって改変または選択されてよい。いずれにせよ、ユーザインタフェースは、推奨ＰＯＭ値およびＰＯＭ係数に加えて、ＭＰＣコントローラで使用されているＰＯＭの実際の値を指定してよい（その実際の値は、ＰＯＭ係数とＰＯＭの推奨値の積であろう）。
【００５１】
図３を再び参照すると、ブロック１１８は、次に、ＭＰＣコントローラの動作中に図２のＭＰＣアルゴリズムブロック８５で使用されるＭＰＣ制御アルゴリズムを計算または決定する。一般的には、ＭＰＣコントローラ５４が１または２という制御層が付いたシングルループコントローラであるとき、このアルゴリズムは閉じられた形式で表現できる。つまり、このアルゴリズムをモデル更新時に再生することは計算上では簡単である。
【００５２】
一般的には、ブロック１１８は、ステップ応答モデル（またはステップ応答ベクトル）、移動に対するペナルティ、および（本説明では１であると仮定される）誤差に対するペナルティからＭＰＣの抑制されていない増分コントローラを作成する。コントローラ走査ｋでの制御層ｍおよび予測層ｐが付いた増分コントローラの一般的な解決策は以下のとおりであり、
【数２】
0005558652.tif 000004
制御層が１に等しいＭＰＣコントローラの場合、（転置された）動的行列は、転置されたステップ応答ベクトルに過ぎす、以下のとおりである。
【数３】
0005558652.tif 000005
この場合、各ｕは移動に対する個別ペナルティであり、各ｙは誤差に対する個別ペナルティである。ここでは、前記を考慮すると、ＭＰＣコントローラ行列は一般的には以下のように表現できる。
【数４】
0005558652.tif 000006
【００５３】
それを仮定するのは妥当であり、適応コントローラはγ＝１となるようにセットアップされる。その結果、コントローラ利得行列は以下のように表現できる。
【数５】
0005558652.tif 000007
したがって、１という制御層付きのシングルループＭＰＣコントローラは、２つの係数の合計によりスケーリングされるプロセスステップ応答ベクトルに過ぎない。
【数６】
0005558652.tif 000008
【００５４】
その結果として、コントローラ利得行列Ｋを、新しいプロセスモデルが特定されるたびに、プロセスが動作中である間にコントローラ１１の中でオンラインで図２のＭＰＣアルゴリズムで使用される、閉じられた形式、非再帰的、および非行列方程式として再生することは単純な計算機のステップである。
【００５５】
制御層が２に等しいＭＰＣコントローラのケースでは、動的行列（転置済み）は以下のように表すことができる。
【数７】
0005558652.tif 000009
とともに、
【数８】
0005558652.tif 000010
このケースでは、コントローラ利得行列Ｋは以下として派生される。
【数９】
0005558652.tif 000011
この方程式をさらに簡略に表現するために、以下の変数を規定することができる。
【数１０】
0005558652.tif 000012
その結果、これらの変数を使用して、コントローラ利得行列Ｋは以下のように表現でき、
【数１１】
0005558652.tif 000013
以下のように表現し直すことができる。
【数１２】
0005558652.tif 000014
ここでは、ｋ1の第１のコントローラ移動のためのＭＰＣコントローラ利得行列（つまり、２つの移動制御層の内の第１のコントローラのより多く）は、以下のとおりである。
【数１３】
0005558652.tif 000015
【００５６】
したがって、理解されるように、２つの移動コントローラマトリクスの第１の移動は、ある程度までは１に等しい制御層のための制御ベクトルに類似している、スケーリングし直されたステップ応答ベクトルである。すべてのステップ応答係数のための定数スケーリング係数は以下のとおりである。
【数１４】
0005558652.tif 000016
この係数は、移動に対するペナルティ（ｕ）画像化するときに減少するため、ステップ応答と係数のための個別スケーリング係数は以下のように表現できる。
【数１５】
0005558652.tif 000017
【００５７】
この派生した式は、ステップ応答ベクトル及びコントローラベクトルの類似性を明確に描いている。ただし、ステップ係数比におけるゼロによる除算の可能性が抑制されないため、この方程式はコントローラ計算には適していない。しかしながら、適切なインプリメンテーション形式は以下のように定義できる。
【数１６】
0005558652.tif 000018
【００５８】
第１の移動についてこのコントローラ利得を決定すると、計算のシーケンスは以下のように設定できる。
最初に、ｍを以下として計算する。
【数１７】
0005558652.tif 000019
第２に、ｎを以下として計算する。
【数１８】
0005558652.tif 000020
第３に、ｌを以下として計算する。
【数１９】
0005558652.tif 000021
次に以下を計算する。
【数２０】
0005558652.tif 000022
その後、ｍでステップ応答をスケーリングし直してから、ｌでステップ応答をスケーリングし直し、右側にシフトする。つまりｂ1＝０とする。次に、該２つのスケーリングし直されたステップ応答を差し引きｍＢ−ｌＢ（シフト済み）、１／（ｍｎ−ｌ2）でこのステップから得られるベクトルをスケーリングし直し、コントローラベクトルを取得する。同様に、第２のコントローラ移動ｋ2のＭＰＣコントローラマトリクスまたは利得は以下のように表現できる。
【数２１】
0005558652.tif 000023
【００５９】
再び、前記に描かれているように、２という制御層付きのシングルループＭＰＣコントローラのケースでは、コントローラ利得方程式は計算上では過剰であり、したがってコントローラがプロセスを制御するために動作している間にコントローラ内でオンラインで決定できる。さらに、１および２という制御層付きのＭＰＣコントローラのためのコントローラ利得アルゴリズムをここに示してきたが、例えば３、４、５およびまたさらに高い、さらに大きな制御層付きのＭＰＣコントローラが、プロセスコントローラデバイスにおいて実行され、それによりプロセスの実際の制御中に適応ＭＰＣコントローラ再生を可能にするために役立つ数学計算を使用して表現され、決定されてよいと考えられる。
【００６０】
再び図３を参照すると、ブロック１１８が図２のＭＰＣアルゴリズムブロック８５で使用するためのコントローラ利得アルゴリズムを計算した、または生成した後に、ブロック１２０は、ＭＰＣコントローラ５４が新しいコントローラのパラメータで更新される必要があるか否かを判断する。このプロセスの一部として、ブロック１２０は、プロセスが現在定常状態にあるのか、あるいは擬似定常状態にあるのか、あるいはそれ以外の場合、ＭＰＣコントローラ５４を更新させる準備ができているのかを判断してよい。ブロック１２０は、また、または代わりにユーザが適応サイクルを開始したか否かを判断してよく、あるいはそれ以外の場合ＭＰＣコントローラ５４が新しいプロセスモデルに基づいて更新される必要があると指定した。プロセスが現在制御変化を経ている、あるいは制御済み変数ＣＶの大きな変動を経験している場合、ブロック１２０は、プロセスが定常状態または擬似定常状態の条件に達するまで待機してよい。しかしながら、プロセスが定常状態にある場合、あるいはそれ以外の場合、コントローラ変化を受ける状態にあるとき、ならびに所望される場合ユーザがコントローラの更新を承認した場合、ブロック１２２は新しい制御アルゴリズムをＭＰＣアルゴリズムブロック８５の中に、および新しいステップ応答モデルを制御変数予測装置７０にダウンロードする。加えて、ブロック１２２は、これらのブロックがすべて同じ予測層、走査レート、および実行時間に従って動作するように、新しい走査レート、定常状態までの時間、実行時間予測層をＭＰＣコントローラ５４のブロック７０、７４、７６、８０および８５のすべてにダウンロードする。さらに、移動に対する新しいペナルティは、制御アルゴリズム８５の中で使用され、それによりＭＰＣコントローラ５４を新しいプロセスモデルに基づいて新しい制御パラメータで調整するために提供できる一方、所望される場合、新しい設定点ターゲットベクトルフィルタ定数または係数がＳＰ予測装置８０にダウンロードできる。
【００６１】
ダウンロードが完了すると、ブロック１２２は、データの収集を続行するためにブロック１０４に制御を戻す。制御ブロック１０４がルーチン１００の他のブロックの動作中にプロセスデータを収集し続けることができることが言うまでもなく理解されるであろう。さらに、前記に示したように、設定点ターゲットベクトルフィルタ係数または時間定数および移動変数に対する変数は、ユーザが一度に変更できる２つの調整係数であり、任意の時点でＭＰＣコントローラ５４の動作を変更するためにＭＰＣコントローラにダウンロードされてよい。したがって、ＭＰＣコントローラは、様々な場合に調整されてよく、ＭＰＣコントローラが新しいプロセスモデルに基づいて更新されるまで調整されるのを待機する必要はない。言い換えると、ＭＰＣコントローラ５４は、プロセスの動作中の任意の時点で新しい設定点ターゲットベクトルフィルタ係数、および新しい移動に対するペナルティの値で更新されてよい。
【００６２】
図４は、概して制御モジュールを形成するために他の機能ブロック１５２と１５４の間に結合される機能ブロック１５０として示されているか、または描かれている適応ＭＰＣコントローラブロックを描いている。他のタイプ、種類、および数の機能ブロックを代わりに使用できるであろうが、機能ブロック１５２はＡＯ機能ブロックとして描かれており、機能ブロック１５４はＡＩ機能ブロックとして描かれ、機能ブロック１５０のための入力機能と出力機能を達成するためにプロセスの動作中に（図１のコントローラ１１等の）コントローラ内で動作する。図４に描かれているように、適応モデルジェネレータ５２およびＭＰＣコントローラ５４は適応ＭＰＣコントローラ機能ブロック１５０の中に記憶され、実行され、これらのブロックはＡＩブロック１５２によって送達される入力を受け取るために、およびＡＯブロック１５４に必要に応じて出力を行い、それによりプロセスの制御またはプロセスのループの制御を達成するために通信可能に接続される。言うまでもなく、任意の必要な数のＡＩブロック１５２とＡＯブロック１５４が提供されてよく、これらの機能ブロックは、任意の所望される信号を受信するため、あるいは任意の公知の方法でプロセスプラント内の任意の所望される構成要素に信号を送信するために結合されてよい。しかしながら、一般的には、フィードバック経路で制御を提供するために、少なくとも単独ＡＩブロックと単独ＡＯブロックがシングルループＭＰＣコントローラに提供される。しかしながら、所望される場合、追加の入力と出力は、フィードバック経路に関して前述された方法に類似した方法で制御されてよい、フィードフォワード経路で類似したシングルループＭＰＣ制御を提供するために、適応モデルジェネレータ５２に、およびＭＰＣコントローラ５４に通信可能に接続されてよい。さらに、ＭＰＣコントローラ５４は、フィードバック経路について本明細書に一般的に説明される方法でフィードフォワード経路について適応されてよい。さらに、所望される場合、適応モデルジェネレータ５２は、プロセスを制御する際にＭＰＣコントローラ５４によって使用されないプロセスプラントから入力信号を受信してよい。
【００６３】
図５は、ユーザが適応ＭＣＣプロセスを導くのみではなく、適応ＭＰＣ機能ブロック１５０または３８内で起こっていることを見ることが可能になるように、図１のユーザインタフェース画面１４等のディスプレイ装置で図１のユーザインタフェースアプリケーション４４によって提供されてよい表示画面２００を描いている。特に、ユーザインタフェースアプリケーション４４は、ユーザが、プロセスモデルがその上で決定されなければならないデータを見て、選択する、モデル適応手順を開始する（ｉｎｉｔｉａｌ）、あるいはＭＰＣコントローラ等のための調整パラメータを提供または変更可能にするための表示画面２００を提供してよい。特に、表示画面２００は、容易に理解できるようにプロセス動作を示す、または見せるためにプロセスの現在の動作、および特に制御済み変数、設定点、操作済み変数、および／または他の所望される変数の履歴値を描くプロセス動作表示領域２１０を含む。ユーザは、プロセスの新しいプロセスモデルを計算するときに使用されるデータを指定するために、所望される場合（マウスまたは他の入力装置を使用して）このデータを見て、このデータの部分を強調表示または選択することができる。
【００６４】
表示画面２００のセクション２２０は、ユーザに、プロセスの中で、あるいはプロセスの適応ＭＰＣ部分の中で現在何が起きているのかに関するさらに優れた理解を与えるためにプロセスとＭＰＣコントローラと関連付けられている多様なモデルの情報を描く。図５のセクション２２０は、フィードバックモデルセクション２２２、ＭＰＣフィードバックモデルセクション２２４、動作セクション２２６、およびＭＰＣタイミングセクション２２８を含む４つのセクションに分割される。一般的には、フィードバックモデルセクション２２２は、ユーザに、ＭＰＣコントローラのフィードバック経路について最も最近に計算されたプロセスモデルの表示を提供し、このケースでは、プロセス利得、プロセス時間定数および不動作時間として規定されるこのようなモデルのモデルパラメータの値を提供する。この現在のモデルは、現在プラントの中で実行しているＭＰＣコントローラを生成するために使用されるプロセスモデルである必要はなく、おそらく現在プラントの中で実行しているＭＰＣコントローラを生成するために使用されるプロセスモデルではないであろう。
【００６５】
ＭＰＣフィードバックモデルセクション２２４は、（「計算済み」と題される欄の下に）ＭＰＣアルゴリズムを計算するために使用されたＭＰＣモデル、およびＭＰＣコントローラのフィードバック経路に現在使用されているＭＰＣプロセスモデルを示す。このケースでは、プロセスコントローラは、１．００というプロセス利得、２０．０という時間定数、および１．０という不動作時間を有したプロセスモデルに基づいて生成されたＭＰＣコントローラを使用して現在動作している。しかしながら、セクション２４４は、実現時に次の適応サイクルについて使用するためのモデルとしてのプロセスのための最も最近に決定されたプロセスモデルの「現在」値も示している。このモデルは、フィードバックモデルセクション２２２に示されている最も最近に計算されたプロセスモデルであるとして図５の例に描かれている。示されているように、ユーザはモデルパラメータの新しい値を入力することによって、このように所望される場合、このプロセスモデルを変更または変化できるであろう。さらに、更新ボタン２３０によって、ユーザはプロセスモデルの現在値のセクションに指定される新しいプロセスモデルを使用して適応ＭＰＣ生成または計算を開始できる。言うまでもなく、所望される場合、最も最近に計算されたプロセスモデルが自動的に使用され、ＭＰＣコントローラ適応は、更新ボタン２３０でのこのような更新をユーザが開始する代わりに、あるいは開始するのに加えて、ＭＰＣ制御モデルを更新するために毎回プロセスモデル生成の後に自動的に且つ周期的に実現できるであろう。
【００６６】
画面２００の動作セクション２２６は、プロセスが現在動作している操作領域を描いている。プロセスが、例えば制御済み変数または任意の他の変数の値によって決定されるように個別の操作領域を有するものとして定義できることが注記される。所望される場合、異なるモデルが、プロセスが実行中である操作領域に基づいて選択され、使用されてよい。つまり、いくつかの操作領域はここに説明されている適応ＭＰＣコントローラの使用にさらに適応可能であってよい。さらに、動作セクション２２６は、プロセスモデル推定装置が現在データを収集中であり、学習モードにあることを示す。
【００６７】
重要なことには、ユーザがＳＰフィルタ設定値および移動に対するペナルティ変数を変更可能にすることによって、ＭＰＣ調整セクション２２８は、ユーザがＭＰＣコントローラを調整可能にする。特に、ユーザは、入力ブロック２３５でのこの場合、ＭＰＣコントローラで使用されるＳＰフィルタ時間定数を求めるために定常状態までのプロセスモデル時間で乗算されなければならない（現在２に設定されている）ＳＰフィルタ係数を指定してよい。さらに、スライダバー２３８により、ユーザはＭＰＣコントローラを調整するために移動に対するペナルティ変数を変更し、それによりさらに低速度またはさらに高速度の応答特性を有することができる。一般的には、スライダバー２３８は、図３のブロック１１６に関して前述したように計算されるデフォルトの移動に対するペナルティによって乗算される、移動に対するペナルティ係数を指定または変更するために使用されてよい。言うまでもなく、所望される場合、ユーザは設定点ターゲットベクトルフィルタおよび移動に対するペナルティ係数を直接的に変更してよい。
【００６８】
いずれにせよ、ユーザ表示画面２００は、例えばＭＰＣコントローラの調整を変更するために、領域２１０で選択されたプロセスデータに基づいてプロセスモデルを更新またはプロセスモデルを再計算させるために、ＭＰＣコントローラモデルを、最も最近に計算されたプロセスモデル等と適応して更新させるために例えば、制御オペレータ制御または他のユーザによって使用できる。このようにして、ユーザインタフェース画面２００は、新しいプロセスモデルを生成するために使用されるデータ、および特定のプロセスモデルに基づいてＭＰＣコントローラを更新するか否か、および何時更新するのかを規定するために、ＳＰフィルタ係数および移動に対するペナルティ係数によって規定されるようにコントローラのロバスト性を選択できることを含む、ＭＰＣコントローラの適応更新に対するユーザに高度のまたは高レベルの入力を与える。言うまでもなく、適応ＭＰＣコントローラブロックは、これらの機能が自動的に、周期的に、または新しいプロセスモデルが決定された後等の重要な時点で実行される完全に自動または半自動である場合がある。さらに、前述したように、適応ＭＰＣコントローラは、プロセスモデル計算によって決定される定常状態までの推定時間に基づいてタイミングパラメータの自動計算を実行してよく、初期調整、つまり公知のＭＰＣコントローラの共通の不利な点を実行する必要を排除する。一実施形態では、初期プロセスモデルはプロセスデータから決定されてよく、定常状態までの時間はそこから計算されてよく、あるいはユーザはコントローラのための予測層と実行時間を決定するためにのみではなく、ＰＯＭとＳＰフィルタ係数のためのデフォルト調整パラメータを決定するためにも前述したように使用されてよい定常状態までの時間を初期に入力してよい。同様に、所望される場合、ユーザはＭＰＣコントローラブロックを最初にセットアップまたは実行するときに使用する初期プロセスモデルを指定してよい。
【００６９】
適応機能ブロックは、同じ機能ブロックの中に位置する適応ＭＰＣモデルジェネレータを有し、したがってＭＰＣコントローラブロックと同じデバイスで実行されるとして本明細書に説明、図解されてきたが、適応モデルジェネレータを、ユーザインタフェースデバイス内等、個別のデバイスで実現することも可能である。特に、適応モデルジェネレータはユーザワークステーション１３の内の１つの中でのように別のデバイスに配置されてよく、コントローラの各実行または走査中、ＭＰＣコントローラ更新期間中等、図２に関連して説明されるようにＭＰＣコントローラと通信を行ってよい。言うまでもなく、必要な場合には、公知のＯＰＣインタフェース等の通信インタフェースは、その中にＭＰＣコントローラを有する機能ブロックと、適応モデルジェネレータブロックを実現または実行するワークステーションまたは他のコンピュータの間に通信インタフェースを提供するために使用されてよい。
【００７０】
さらに、本明細書に説明された適応ＭＰＣコントローラブロックおよび他のブロックとルーチンはＦｉｅｌｄｂｕｓおよび標準４〜２０ｍａデバイスと連動して使用されるとして本明細書に説明されてきたが、それらが任意の他のプロセス制御通信プロトコルまたはプログラミング環境を使用して実現でき、任意の他のタイプのデバイス、機能ブロックまたはコントローラとともに使用されてよいことは言うまでもない。本明細書に説明されている適応ＭＰＣまたは他の適応ＤＭＣ制御ブロックおよび関連付けられた生成ルーチンと表示ルーチンは、好ましくはソフトウェアで実現されるが、それらはハードウェア、ソフトウェア等で実現されてよく、プロセス制御システムと関連付けられる任意の他のプロセッサによって実行されてよい。したがって、本明細書に説明されるルーチン１００、またはその任意の部分はそのように所望される場合、１つ以上の標準多目的ＣＰＵの中で、あるいは例えばＡＳＩＣ等の特別に設計されたハードウェアまたはファームウェア上で実現されてよい。ソフトウェアで実現されると、該ソフトウェアは磁気ディスク、レーザディスク、光ディスク、フラッシュメモリまたは他の記憶媒体上等の任意のコンピュータ読取可能メモリに、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭに等記憶されてよい。同様に、このソフトウェアは、例えば、コンピュータ読取可能媒体または他のトランスポート可能なコンピュータ記憶機構上での場合を含む任意の公知の方法または所望される送達方法を介して、ユーザにまたはプロセス制御システムに送達されてよく、あるいは変調され（トランスポート可能記憶媒体を介してこのようなソフトウェアを提供することと同じである、または代用できると見なされる）電話回線、インターネット等の通信チャネル上で送信されてよい。したがって、本発明は、例示的なものに過ぎず、本発明を限定するものではないと意図される特定の例に関して説明されてきたが、本発明の精神および範囲から逸脱することなく開示された実施形態に変更、追加または削除を加えてよいことは当業者に明らかであろう。
【図面の簡単な説明】
【００７１】
【図１】１つ以上のプロセスループを制御するために、適応ＭＰＣコントローラ機能ブロック等の適応ＤＭＣコントローラ機能ブロックを有する制御モジュールを含むプロセス制御システムのブロック図である。
【図２】図１の機能ブロックの中で実現されてよい適応ＭＰＣコントローラのブロック図である。
【図３】図２の適応ＭＰＣコントローラの動作を説明するフローチャートである。
【図４】図２の適応ＭＰＣコントローラを実現するためにプロセスコントローラで使用されてよい制御モジュールのブロック図である。
【図５】図２の適応ＭＰＣコントローラの動作を見て、達成することができる方法を説明する構成またはオペレータインタフェースルーチンと関連付けられた画面表示である。
【符号の説明】
【００７２】
１０  プロセス制御システム
１１  コントローラ
３８  適応ＭＰＣ制御ブロック
【図１】
0005558652.tif 000024
【図２】
0005558652.tif 000025
【図３】
0005558652.tif 000026
【図４】
0005558652.tif 000027
【図５】
0005558652.tif 000028