特許第6357027号(P6357027)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許6357027プロセス制御システムにおけるオンライン適応モデル予測制御
<>
  • 特許6357027-プロセス制御システムにおけるオンライン適応モデル予測制御 図000024
  • 特許6357027-プロセス制御システムにおけるオンライン適応モデル予測制御 図000025
  • 特許6357027-プロセス制御システムにおけるオンライン適応モデル予測制御 図000026
  • 特許6357027-プロセス制御システムにおけるオンライン適応モデル予測制御 図000027
  • 特許6357027-プロセス制御システムにおけるオンライン適応モデル予測制御 図000028
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6357027
(24)【登録日】2018年6月22日
(45)【発行日】2018年7月11日
(54)【発明の名称】プロセス制御システムにおけるオンライン適応モデル予測制御
(51)【国際特許分類】
   G05B 13/02 20060101AFI20180702BHJP
   G05B 13/04 20060101ALI20180702BHJP
【FI】
   G05B13/02 D
   G05B13/04
【請求項の数】11
【全頁数】33
(21)【出願番号】特願2014-124926(P2014-124926)
(22)【出願日】2014年6月18日
(62)【分割の表示】特願2012-156421(P2012-156421)の分割
【原出願日】2006年10月2日
(65)【公開番号】特開2014-167834(P2014-167834A)
(43)【公開日】2014年9月11日
【審査請求日】2014年6月18日
【審判番号】不服2016-5505(P2016-5505/J1)
【審判請求日】2016年4月14日
(31)【優先権主張番号】11/240,705
(32)【優先日】2005年9月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー−ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】ダーク スィール
(72)【発明者】
【氏名】ウィルヘルム ケー.ウォイズニス
【合議体】
【審判長】 刈間 宏信
【審判官】 栗田 雅弘
【審判官】 篠原 将之
(56)【参考文献】
【文献】 特開2005−202934(JP,A)
【文献】 特表2005−526306(JP,A)
【文献】 特表2005−516298(JP,A)
【文献】 特開平4−33102(JP,A)
【文献】 特開2005−44337(JP,A)
【文献】 小河守正、外1名,「プロセス制御システム 実用化設計と応用事例」,計測と制御 第43巻第3号,社団法人計測自動制御学会,2004年3月10日,p.220−227
(58)【調査した分野】(Int.Cl.,DB名)
G05B13/00-13/04
(57)【特許請求の範囲】
【請求項1】
プロセスを制御するためのプロセスコントローラであって、
制御済み変数(CV)の現在の測定値に対応する信号を受信しかつ自装置に記憶したプロセスモデルを用いて、前記変数(CV)の予測値を示す信号生成するように構成される制御変数予測装置(70)と、コントローラ利得行列を用いて、前記変数(CV)の予測値に対応する入力信号に基づいて、前記制御済み変数(CV)生成するため制御信号(MV)を発生させる制御アルゴリズム(85)と、を有するモデル予測制御(MPC)コントローラ54)と、
前記プロセスのオンライン動作中にプロセスデータを収集するために前記プロセスに結合され、前記収集されたプロセスデータから前記プロセスの動作を表現する更新されたプロセスモデルを決定するプロセスモデル推定装置(90)であって、当該更新されたプロセスモデルは、プロセス不動作時間パラメータを含む複合モデルパラメータを含む、当該プロセスモデル推定装置(90)を含むコントローラ適応装置(52)と、
を備え、
前記コントローラ適応装置(52)は、前記更新されたプロセスモデルを前記MPCコントローラ(54)の前記制御変数予測装置(70)に提供し、
前記制御変数予測装置(70)は、前記更新されたプロセスモデルに基づいて、前記変数(CV)の更新された予測値を示す信号を生成し、
前記コントローラ適応装置(52)は、前記MPCコントローラ(54)が前記プロセスを制御するため、オンラインで作動している間、前記MPCコントローラ(54)の前記制御アルゴリズム(85)を前記更新されたプロセスモデル及び前記変数(CV)の更新された予測値を使用するように適応させる
プロセスコントローラ。
【請求項2】
前記MPCコントローラ(54)がシングルループコントローラである請求項1に記載のプロセスコントローラ。
【請求項3】
前記MPCコントローラ(54)が1つ以上のフィードバック経路と1つ以上のフィードフォワード経路とを含む請求項2に記載のプロセスコントローラ。
【請求項4】
前記制御アルゴリズムが、1走査若しくは前記MPCコントローラ(54)の1回の実行、又は2走査若しくは前記MPCコントローラ(54)の2回の実行に等しい制御層又は区間を使用する請求項3に記載のプロセスコントローラ。
【請求項5】
前記プロセスモデルが、不動作時間プロセスモデルが加えられる第1の次数又はパラメータプロセスモデルある請求項1に記載のプロセスコントローラ。
【請求項6】
前記コントローラ適応装置(52)が、前記プロセスモデルに基づいて、前記制御アルゴリズム(85)のための予測層又は前記MPCコントローラ(54)の実行時間の少なくとも1つを決定する請求項1に記載のプロセスコントローラ。
【請求項7】
前記制御変数予測装置(70)が、制御変数のセットのための、前記制御済み変数(CV)及び前記制御済み変数(CV)の予測値を含む予測ベクトルを決定し、前記MPCコントローラ(54)は、前記制御信号(MV)を生成するように前記制御アルゴリズム(85)によって使用される予測エラーベクトルを生成するために前記予測ベクトルと設定点ベクトルとを組み合わせる予測エラー装置(84)を更に含む、
ことを特徴とする請求項1に記載のプロセスコントローラ。
【請求項8】
前記制御アルゴリズム(85)は、前記制御信号(MV)を生成するように前記コントローラ利得行列と前記予測エラーベクトルとを乗算することを特徴とする請求項7に記載のプロセスコントローラ。
【請求項9】
前記MPCコントローラ(54)は、前記設定点ベクトルを生成する設定点予測装置(80)を更に備えることを特徴とする請求項7に記載のプロセスコントローラ。
【請求項10】
前記コントローラ適応装置(52)は、前記設定点予測装置(80)に前記更新されたプロセスモデルを提供し、
前記設定点予測装置(80)は、前記更新されたプロセスモデルに基づいて、更新された設定点ベクトルを生成し、
前記予測エラー装置(84)は、前記制御信号を生成するように前記制御アルゴリズム(85)によって使用される更新された予測エラーベクトルを生成するため前記更新された設定点ベクトルと前記予測ベクトルとを組み合わせことを特徴とする請求項9に記載のプロセスコントローラ。
【請求項11】
前記制御アルゴリズム(85)は、予測層よりも少なくとも10倍短い制御層又は区間を用い、前記予測層は、前記MPCコントローラ(54)の各実行又は走査のために計算された予測の回数を示すことを特徴とする請求項1に記載のプロセスコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概してプロセス制御システムに関連し、さらに詳細にはオンライン適応モデル予測コントローラまたはプロセス制御システムの中の他のモデル予測制御タイプコントローラに関する。
【背景技術】
【0002】
化学的プロセス、石油関連プロセスまたは他のプロセスで使用されるもの等の分散された、またはスケラブルなプロセス制御システム等のプロセス制御システムは、通常、アナログバス、デジタルバス、またはアナログ/デジタル結合バスを介して少なくとも1つのホストまたはオペレータワークステーションに、および1台または複数台のフィールドデバイスに通信可能に結合されている1台または複数台のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ(例えば温度センサ、圧力センサ、フローセンサ等の)であってよいフィールドデバイスは、プロセス内でバルブの開閉、およびプロセスパラメータの測定等の機能を実行する。プロセスコントローラはフィールドデバイスによって行われるプロセス測定および/またはフィールドデバイスに関する他の情報を示す信号を受信し、制御ルーチンを実現するためにこの情報を使用し、プロセスの動作を制御するためにフィールドデバイスにバス上で送信される制御信号を発生させる。フィールドデバイスおよびコントローラからの情報は、通常、オペレータがプロセスの現状を見る、プロセスの動作を修正する等のプロセスに関して所望される機能を実行可能にするためにオペレータワークステーションによって実行される1つ以上のアプリケーションが使用可能になる。
【0003】
プロセスコントローラは、通常、フロー制御ループ、温度制御ループ、圧力制御ループ等のプロセスのために規定される、あるいはプロセスの中に含まれる多くの異なるループの各々についてさまざまなアルゴリズム、サブルーチン、または(すべて制御ルーチンである)制御ループを実行するようにプログラミングされる。一般的には、各々のこのような制御ループは、アナログ入力(AI)機能ブロック等の1つ以上の入力ブロック、比例積分微分(PID)またはファジー論理制御機能ブロック等の単一出力制御ブロック、およびアナログ出力(AO)機能ブロック等の単一の出力制御ブロックを含む。制御ブロックは、バルブ位置等の単一プロセス制御を制御するために使用される単一制御出力を作成するため、これらの制御ループは、通常、単一入力/単一出力制御を実行する。しかしながら、特定のケースでは、制御されているプロセス変数が複数の単独プロセス制御によって影響を及ぼされ、事実上、各プロセス入力が多くのプロセス出力の状態に影響を及ぼすため、多くの無関係に動作する単一入力−出力制御ループを使用することはあまり効果的ではない。この例は、例えば、2本の投入ラインによって充填され、単一の産出ラインによって空にされるタンクを有し、各ラインが異なったバルブで制御され、該タンクの温度、圧力およびスループットが所望される(設定点)値に、あるいは近づくように制御されているプロセスで発生する可能性がある。前記に示したように、タンクのスループット、温度および圧力に制御は制御ループ、個別の温度制御ループ、および個別の圧力制御ループを使用して実行されてよい。しかしながら、この状況では、タンクの中の温度を制御するために入力バルブの内の1つの設定値を変更する際の温度制御ループの動作はタンクの中の圧力を上昇させ、例えば減圧するために圧力ループに出口バルブを開放させる。この動作は、次に、スループット制御ループに入力ループの内の1つを閉鎖させ、それにより温度に影響を及ぼし、温度制御ループに何らかの他の処置を講じさせる。この例から理解されるように、単一入力/単一出力制御ループにより、プロセス出力(この場合には、スループット、温度および圧力)に受け入れ難くするように動作させ、結果は定常状態条件に一度も到達せずに揺動する。
【0004】
動的行列制御(DMC)技法を使用するモデル予測制御(MPC)または他のタイプの高度制御は、ある特定の制御されているプロセス変数に対する変更が、複数のプロセス変数または出力に影響を及ぼす状況でプロセス制御を実行するために使用されてきた。1970年代後半以来、モデル予測制御の多くのインプリメンテーションの成功が報告され、MPCはプロセス産業における高度な変数制御の主要な形式になった。さらに、MPC制御は分散制御システム層状ソフトウェアとして分散制御システムの中で実現されてきた。特許文献1および特許文献2は、一般的に、プロセス制御システムの中で使用できるMPCコントローラを説明する。
【0005】
一般的には、MPCは、プロセス入力(つまり操作された変数)の各々を変更することの、多くのプロセス出力(つまり制御された変数)の各々に対する影響が測定される多重入力/多重出力制御戦略であり、これらの測定された反応は次にプロセスを制御する際に使用するためのコントロールマトリクス(制御行列)を作成するために使用される。コントロールマトリクスは、数学的に逆転されてから、プロセス入力に対して加えられる変更に基づいてプロセス出力を制御するために多重入力/多重出力コントローラ内で、あるいは多重入力/多重出力コントローラとして使用される(概してプロセスの動的動作を定義する)プロセスモデルを含む。いくつかのケースでは、プロセスモデルは、プロセス入力ごとのプロセス応答曲線(通常は、ステップ応答曲線)として表され、これらの曲線は、プロセス入力の各々に送達される一連の、例えば擬似単数ステップ変化に基づいて作成されてよい。これらの応答曲線は、公知の方法でプロセスをモデリングするために使用できる。モデル予測制御は当該技術分野で公知であり、結果として、その詳細は本明細書では説明しない。しかしながら、MPCは非特許文献1に概して説明されている。
【0006】
MPCは多くのプロセス制御状況で有用であるが、産業で応用されているMPCは、通常、MPCコントローラで使用されるコントロールマトリクスを作成するために(通常は再帰的アルゴリズムまたは行列計算として数学的に表現される)複雑なプロセスモデルの生成、次にそのモデルのその後の逆行列化を必要とする動的行列制御(DMC)技法を主に使用している。結果として、MPCコントローラを生成することは計算上では高価である。さらに、MPCコントローラを作成する際に使用するための正確なプロセスモデルを開発するためには、従来、制御入力の各々についてステップ信号等の公知の制御信号でプロセスを妨げるまたは混乱させ、プロセス変数または制御されている変数の各々の制御入力における公知の変化に対する反応を決定することが必要であった。この手順を分散プロセス制御システムで実現する1つの方法は、その開示が本明細書に組み込まれている「プロセス制御システムにおける統合最適モデル予測制御(Integrated Optimal Model Predictive Control in a Process Control System)」と題される特許文献3により詳細に説明されている。
【0007】
このプロセス外乱技法は概してきわめて正確なプロセスモデルを生じさせるが、外乱手順は時間を要し、プロセスの通常の動作を混乱させ、プロセスがオンラインで実行されているときに実行することは、実際的に不可能でないとしても、困難である。代わりに、このプロセス外乱技法は、通常、プロセスまたはMPCコントローラの初期設定中等、プロセスが実際の製品を作成するために動作していないときにプロセスで実現される必要がある。この制約がプロセスモデルを決定できる期間を厳しく制限するのは言うまでもない。いずれにせよ、この技法は、それが各適応サイクルの間にプロセス混乱を必要とするため、適応MPCコントローラ(つまり、MPCコントロールマトリックスがプロセスのオンライン動作中に変更されるもの)で使用するには不適切である。さらに、この方法は、新しいプロセスモデルを決定後にコントロールマトリックスが逆行列化され、適用されなければならないため、かなりのサイズのMPCコントローラ(つまり、多重入力と多重出力を有するもの)には計算上では高価である。この計算負荷により、通常、オンラインプロセス制御活動を実行することに連動して実行できる追加の計算負荷の量で制限される分散プロセスコントローラで適応MPCを実現することが困難になる。
【0008】
しかしながら、多くの状況では、プロセスモデル不一致を説明するようにプロセスの動作中にMPCコントローラを適応することが望ましい。特に、MPCを実現するとき、構成段階で決定されるプロセスモデルは、プロセスモデル作成時点でのプロセスだけしか反映しない。プロセスを実行する過程の間に通常は自然に発生するプロセスの結果として生じる変化はMPCコントローラによって使用されるプロセスモデルには反映されず、したがってMPCコントローラによるモデル不一致および非最適制御につながってよい。MPCコントローラはプロセスループの不動作時間におけるモデリングエラーの影響を最も受けやすい、あるいは最も敏感である。多くの制御状況では、このモデル不一致を補償することは望ましく、必要な場合もある。
【0009】
過去において、DMCまたは他のMPCコントローラでのモデル不一致を補償するために使用された1つの方法は、新しいプロセスモデルを周期的に作成し、プロセス混乱または外乱技法を使用して新しい制御モデルとコントローラを生成することであった。しかしながら、前述したように、この手順はまれにしか実行できず、新しいプロセスモデルを決定するためにプロセス混乱を実行する必要性のため、およびコントロールマトリクス生成プロセス中に実行される必要がある計算量のために計算はオフラインで実行されなければならない。非線形プロセスのモデル不一致を補償する別の方法は、プロセス混乱技法を使用して生成されるMPCコントローラと連動して非線形プロセスモデルを使用する「非線形予測機能付き多重入力/多重出力制御ブロック(Multiple−Input/Multiple−Output Control Blocks with Non−Linear Predictive Capabilities)」と題される米国特許出願、出願番号第10/454,937号に説明されている。一般的には、この技法は、モデル不一致を示すエラー信号を生じさせるために、非線形プロセスモデルを使用して作成される予測プロセス変化と、MPCプロセスモデルから作成される予測プロセス変化を比較してから、MPCコントローラを生成するときに説明されなかった、あるいはモデリングされなかったプロセスの非線形特徴を補償するためにこれらのエラー信号を使用する。しかしながら、プロセス動作を正確に反映するために、およびMPCコントローラにとって適切な補償信号を作成するために、この技法は複雑な非線形プロセスモデルの使用に依存している。さらに、多くのケースでは、非線形プロセスと実際のプロセスの間には依然としてモデル不一致があり、制御性能がさらに低下する可能性がある。またさらに、非線形プロセスモデルもMPCプロセスモデルもコントローラのオンライン動作中に変更されないためこの技法は適応的ではない。
【0010】
部分的には、効果的な適応MPCコントローラまたは他のタイプの適応DMCコントローラを作成し、実現する際の問題の結果として、プロセス制御の技術は、プロセスモデルがプロセスの動作中に頻繁に変化する多くのプロセス状況で適応PIDコントローラを使用する。適応PIDコントローラは周知であり、プロセスの動作中に適応するために適用されるが、これらのPIDコントローラは満足が行くように動作するために、不動作時間が優勢なプロセスでパワーダウンするように調整される(detuned)、つまり非常に保守的に調整されなければならず、性能の低下につながる。またさらに、PIDコントローラはコントローラリセットと実際のプロセス時間定数の間に不一致があるとき、特にプロセス動特性が頻繁に変化するときに制御性能低下の影響をきわめて受けやすい。残念なことに、(定常状態までのプロセス時間に直接的に関連する)プロセス時間定数を決定することは、公知のプロセスモデル識別方法を使用しているときに作成される最も不確かなパラメータである。したがって、不動作時間が優勢なプロセスを制御するとき、特にプロセスの定常状態までの時間が頻繁に変化する場合には、PIDコントローラは必ずしも最善の選択肢とはならない。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】米国特許第4,616,308号明細書
【特許文献2】米国特許第4,349,869号明細書
【特許文献3】米国特許第6,721,609号明細書
【特許文献4】米国特許番号第6,577,908号
【特許文献5】米国公報番号第2003/0195641号
【非特許文献】
【0012】
【非特許文献1】キン(Qin)、S.ジョー(S.Joe)およびトーマス A.バッジウェル(Thomas A.Badgwell)、「産業モデル予測制御技術の概要(An Overview of Industrial Model Predictive Control Technology)」、AIChE会議、1996年
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、適応DMCコントローラまたは他のMPCコントローラを作成し、使用する方法を提供する。
【課題を解決するための手段】
【0014】
適応DMCコントローラまたは他のMPCコントローラを作成し、使用する方法は、プロセスを人為的に刺激する必要はなく、プロセスの動作中にオンラインでプロセスループのためにパラメータ化されたプロセスモデル等のプロセスモデルを周期的に決定するためにモデル切り替え技法を使用することを含む。該方法は、次にMPC制御モデルを生成するためにプロセスモデルを使用し、オンラインで、つまりプロセスが正常に実行されている間にMPCコントローラアルゴリズムを作成する。一般的には単一ループMPCコントローラに適用可能であり、1つまたは2つの制御層(horizon)のあるMPCコントローラで特に有用であるこの技法によって、MPCコントローラを、MPCコントローラが基づいているプロセスモデルを変更するため、およびそれによって経時的にプロセス内の変更を説明するためにオンラインで、つまりプロセスの通常の動作中に適応可能になる。このような適応MPCコントローラは計算上は高価ではなく、したがって同じまたは場合によってはPIDコントローラよりさらに優れた制御を提供する一方で、プロセス制御システムの分散コントローラの中で容易に実現できる。さらに詳細には、例えば1つまたは2つの少ない制御層のある適応単一ループMPCコントローラが不動作時間が優勢なループで、特にプロセスループが動的プロセスの変化のためにプロセスモデル不一致を受けるケースで、PIDコントローラよりさらに優れた制御を提供することができる。加えて、MPCコントローラは、PICコントローラでは通常使用できない複数のフィードフォワード入力を容易に装備できる。
【図面の簡単な説明】
【0015】
図1】1つ以上のプロセスループを制御するために、適応MPCコントローラ機能ブロック等の適応DMCコントローラ機能ブロックを有する制御モジュールを含むプロセス制御システムのブロック図である。
図2図1の機能ブロックの中で実現されてよい適応MPCコントローラのブロック図である。
図3図2の適応MPCコントローラの動作を説明するフローチャートである。
図4図2の適応MPCコントローラを実現するためにプロセスコントローラで使用されてよい制御モジュールのブロック図である。
図5図2の適応MPCコントローラの動作を見て、達成することができる方法を説明する構成またはオペレータインタフェースルーチンと関連付けられた画面表示である。
【発明を実施するための最良の形態】
【0016】
ここで図1を参照すると、プロセス制御システム10は、データヒストリアン12に、および各々が表示画面14、メモリ、およびプロセッサ(不図示)を有する(任意のタイプのパソコン、ワークステーション等であってよい)1つ以上のホストワークステーションまたはコンピュータ13に通信可能に接続されている(分散プロセスコントローラであってよい)プロセスコントローラ11を含む。また、コントローラ11は、入力/出力(I/O)カード26と28を介してフィールドデバイス15〜22に接続されている。データヒストリアン12は、所望されるタイプのメモリと、データを記憶する所望されるあるいは公知のソフトウェア、ハードウェア、またはファームウェアを有する所望されるタイプのデータ収集装置であってよく、(図1に描かれているように)ワークステーション13とは個別であってよく、あるいはワークステーション13の内の1つの一部であってよい。一例としてエマーソンプロセスマネジメント(Emerson Process Management)によって販売されているDeltaV(登録商標)コントローラであってよいコントローラ11は、例えば、イーサネット(登録商標)接続または他の所望される通信ネットワーク29を介してホストコンピュータ13およびデータヒストリアン12に通信可能に接続される。通信ネットワーク29はローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、電気通信網等の形を取ってよく、ハードワイアード技術またはワイヤレス技術を使用して実現されてよい。コントローラ11は、例えば標準4〜20maのデバイスと関連付けられている任意の所望されるハードウェアとソフトウェア、および/またはFOUNDATION(登録商標) Fieldbusプロトコル(Fieldbus)、HARTプロトコル等の任意のスマートプロトコルを使用してフィールドデバイス15〜22に通信可能に接続されている。
【0017】
I/Oカード26と28は任意の所望される通信またはコントローラプロトコルに準拠する任意のタイプのI/Oデバイスであってよく、フィールドデバイス15〜22は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであってよい。図1に描かれている実施形態では、フィールドデバイス19〜22はFieldbusフィールドデバイス等の、Fieldbusプロトコル通信を使用してデジタルバス上でI/Oカード28に通信を行うスマートデバイスであり、フィールドデバイス15〜18は標準4〜20maのデバイス、またはI/Oカード26にアナログ回線またはアナログ/デジタル回線上で通信を行うHARTデバイスである。フィールドデバイス15〜22が、将来開発される任意の規格またはプロトコルを含む任意の他の所望される規格(複数の場合がある)またはプロトコルに準拠できるであろうことは言うまでもない。
【0018】
少なくとも1台のプロセッサをその中に有するプラントの中の多くの分散コントローラの内の1台であってよいコントローラ11は、その中に記憶されている、あるいはそれ以外の場合に、それと関連付けられている制御ループを含んでよい1つ以上のプロセス制御ルーチンを実現または監視する。コントローラ11は、任意の所望の方法でプロセスを制御するためにデバイス15〜22、ホストコンピュータ13、およびデータヒストリアン12とも通信を行う。本明細書に説明されている制御ルーチンまたは要素は、そのように所望される場合、その部分をさまざまなコントローラまたは他のデバイスによって実現または実行されてよいことが留意されなければならない。同様に、プロセス制御システム10の中で実現される、本明細書に説明されている制御ルーチンまたは要素は、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形を取ってよい。この説明の目的のために、プロセス制御要素が、例えば任意のコンピュータ読取可能媒体に記憶されているルーチン、ブロック、モジュールを含むプロセス制御システムの任意の一部または部分である場合がある。モジュール、あるいはサブルーチン、(コードの行等の)サブルーチンの部分等、制御手順の任意の一部であってよい制御ルーチンは、ラダー回路ロジック、逐次機能チャート、機能ブロック図、オブジェクト指向プログラミングまたは任意の他のプログラミング言語または設計パラダイムを使用する等、任意の所望されるソフトウェアフォーマットで実現されてよい。同様に制御ルーチンは、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または他のハードウェア要素またはファームウェア要素にハードコードされてよい。さらに、制御ルーチンはグラフィック設計ツールまたは他のタイプのソフトウェア、ハードウェア、またはファームウェアプログラミングツールまたは設計ツールを使用して設計されてよい。その結果、コントローラ11は、任意の所望される方法で制御戦略つまり制御ルーチンを実現するように構成されてよい。
【0019】
一実施形態では、コントローラ11は、一般的に機能ブロックと呼ばれているものを使用して制御戦略を実現し、各機能ブロックは、プロセス制御システム10の中で様々なプロセス制御ループを実現するために、全体的な制御ルーチンの一部、つまりオブジェクトであり、(リンクと呼ばれている通信を介して)他の機能ブロックと連動して動作する。機能ブロックは、通常、トランスミッタ、センサ、または他のプロセスパラメータ測定装置と関連付けられる入力機能、PID、ファジー論理等の制御を実行する制御ルーチンと関連付けられるもの等の制御機能、あるいはプロセス制御システム10の中で何らかの物理的な機能を実行するバルブ等、何らかのデバイスの動作を制御する出力機能の内の1つを実行する。ハイブリッド機能ブロックおよび他のタイプの機能ブロックが存在することは言うまでもない。機能ブロックは、通常はこれらの機能ブロックが標準4〜20maデバイス、およびHARTデバイス等のいくつかのタイプのスマートフィールドデバイスと関連付けられるときに当てはまるコントローラ11に記憶され、コントローラ11によって実行されてよく、あるいはFieldbusデバイスでのケースである場合があるフィールドデバイス自体に記憶され、フィールドデバイス自体に実現されてよい。制御システムの説明は、本明細書では、オブジェクト指向プログラミングパラダイムを使用する機能ブロック制御戦略を使用して示されているが、制御戦略、つまり制御ループまたはモジュールは、ラダー回路論理、逐次機能チャート等他の規約を使用して、あるいは他の所望されるプログラミング言語またはパラダイムを使用して実現または設計されることもあるであろう。
【0020】
図1の拡大されたブロック30によって描かれているように、コントローラ11は、ルーチン32と34として描かれている数多くの従来のシングルループ制御ルーチンを含んでよく、制御ループ36として描かれている1つ以上の適応DMCタイプ制御ループを実現してよい。各々のこのような従来のDMCタイプの制御ループは、通常、制御モジュールと呼ばれる。制御ルーチン32と34は、バルブ等のプロセス制御デバイスと、温度トランスミッタまたは圧力トランスミッタ等の測定装置と、あるいはプロセス制御システム10の中の任意の他のデバイスと関連付けられてよい、適切なアナログ入力(AI)とアナログ出力(AO)機能ブロックに接続されている、各々単一入力/単一出力ファジー回路論理制御ブロックと単一入力/単一出力PID制御ブロックを使用してシングルループ制御を実行するものとして描かれている。適応MPC制御ブロック38の入力と出力は、他のタイプの入力を受け取るために、および他のタイプの制御出力を行うために任意の他の所望される機能ブロックまたは制御要素に通信可能に接続されてよいが、適応MPC制御ループとしてさらに詳細に説明するところの適応DMCタイプ制御ループ36は、1つ以上のAI機能ブロックに通信可能に接続されている入力、および1つ以上のAO機能ブロックに通信可能に接続されている出力を有する適応MPC制御ブロック38を含むとして描かれている。さらに、適応MPC制御ブロック38は、多重入力/多重出力制御ブロックとして図1に描かれているが、この制御ブロックが代わりにフィードバック制御経路付きの、そして所望される場合にはフィードフォワード制御経路付きのシングルループ制御ブロックとなるであろうことが理解されるであろう。
【0021】
さらに詳細に説明されるように、適応MPC制御ブロック38は、オンラインで、つまりプロセスの動作中にプロセス(または制御ブロック38によって制御されているプロセスの少なくとも部分、つまりループ)について、プロセスを監視する、およびパラメータ化されたプロセスモデル等のプロセスモデルを再計算する制御ブロックである。適応MPC制御ブロック38は、次に、制御ブロック38の中で使用されるMPC制御モデルおよびMPC制御アルゴリズムを再計算し、それによりMPC制御ブロック38内のMPCコントローラをさらに優れた一致に、あるいは新規に計算されたプロセスモデルに基づいた制御に適応させるために、決定されるときは常に新しいプロセスモデルを使用する。この適応MPC制御は、新しいプロセスモデルを決定するためにプロセスを人為的に混乱させる必要はなく、新しいMPCコントローラモデルおよびアルゴリズムを計算し、MPCコントローラの中にインストールするために、プロセスをオフラインにする必要はなく、発生する。理解されるように、プロセスモデルは再定義することができ、MPCコントローラは経時的なプロセスの変化のためのMPCコントローラとプロセスとの間のモデル不一致を削減または排除するためにプロセスの動作中の様々な場合に再生できる。
【0022】
前記に注記したように、適応制御ブロック38は本明細書ではモデル予測制御(MPC)ブロックを含むとして説明されるであろうが、制御ブロック38は本明細書に説明される同じ原理を使用して代わりに他のDMCタイプの制御技法を実現できるであろう。さらに、適応MPC制御ブロック38を含む、図1に描かれている機能ブロックはコントローラ11によって実行することができる、あるいは代わりに、ワークステーション13の内の1つまたはフィールドデバイス19〜22内の1台等、任意のほかの処理デバイスが位置し、実行できることが理解されるであろう。
【0023】
図1に描かれているように、ワークステーションの内の1つは、適応MPC制御ブロック38(または制御ブロック38が位置する制御モジュール36)を作成し、ダウンロードし、実現するために使用される適応MPC構成ルーチン40を含んでいる。適応MPC制御ブロック構成ルーチン40はワークステーション13の中のメモリに記憶され、その中のプロセッサによって実行されてよいが、さらにまたは代わりに、このルーチン(またはその任意の部分)はそのように所望される場合、プロセス制御システム10の中の任意の他のデバイスに記憶され、実行されてよい。一般的には、適応MPC構成ルーチン40は本明細書に説明されるように適応MPC制御ブロックを作成し、この適応MPC制御ブロックをプロセス制御システムに接続する制御ブロック作成ルーチン42を含む。この作成および構成ルーチンは、モジュール32と34等の他のタイプのモジュールおよび機能ブロック、および/またはその中のFLC機能ブロックとPID機能ブロックを作成し、構成するために使用できる同じルーチンと統合されてよい、または同じルーチンであってよく、そのルーチンは概して当該技術において公知である。したがって、適応MPC機能ブロック38は、現在技術分野に存在し、当該技術分野において周知である機能ブロックに類似した方法で選択、構成できるさまざまな機能ブロックのセットの1つである場合がある。さらに、図1に示されているように、ユーザインタフェースアプリケーションまたはオペレータインタフェースアプリケーション44は、制御オペレータ等のユーザがMPC制御ブロック38に関連する情報とデータを見て、MPC制御ブロックがプロセスモデルを開発するためにどのように動作するのかを修正し、MPC制御ブロック38にプロセスモデルから新しいMPC制御モデルとMPCアルゴリズムを生成させることが可能になるように、その動作中に適応MPC制御ブロック38と通信を行ってよい。いくつかのケースでは、ユーザインタフェースルーチン44は、ユーザがそのブロックの動作を達成するために適応MPC制御ブロック38に調整入力を提供可能にしてよい。さらに、ユーザインタフェースルーチン44は、ワークステーション13のいずれかに、または携帯端末、PDA(personal data assistant)、携帯電話等の、制御システムに通信可能に接続
される任意の他の所望されるユーザ入力装置に記憶され、実行されてよい。
【0024】
図2は、プロセッサ50に通信可能に結合されている適応MPC制御ブロック38の一実施形態の詳細なブロック図である。動作中、適応MPC制御ブロック38が、同様にプロセス50の入力を制御するために接続されている他の機能ブロック(図2では不図示)に提供される1つ以上の操作済みの変数MVを生成することが理解されるであろう。図2に描かれているように、適応MPC制御ブロック38は適応モデルジェネレータ52とMPCコントローラブロック54とを含む。MPCコントローラブロック54は、この例では、例えば、同様にプロセス制御を実行するためにプロセス50に提供されている単一の制御信号(または操作済み変数)MVの形を取る単一の制御出力を有するもの等、シングルループ制御ブロックとして描かれている。図2のMPCコントローラブロック54は、フィードバック経路とフィードフォワード経路の両方を含むため、これらの経路の両方のための入力を含む。しかしながら、いくつかのケースでは、このようなデバイスは本明細書では説明されないが、出力と同じ数の入力を有する、標準的な正方M×M(この場合Mは1より大きい任意の数である場合がある)のMPC制御ルーチンを使用することが可能である場合がある。
【0025】
MPCコントローラブロック54は、入力として(プロセス50の中で測定されるような)測定された制御変数(CV)、外乱変数DV、設定点値、または制御変数CVのための所望されるターゲットベクトルを規定するベクトルSP、およびコントローラブロックによって生成される操作済み変数MVを受け取る。公知のように、外乱変数DVは、プロセス50の中で測定される、または予測される変化(例えば外乱)を表し、この値はコントローラブロック54に提供され、同時にプロセス50に提供されているものとして描かれている。一般的には、制御済み変数CVはMPCコントローラ54のフィードバック戻り経路への入力を表す一方、外乱変数DVはMPCコントローラ54のフィードフォワード経路に対する入力を表す。
【0026】
MPCコントローラにおいて一般的であるがごとく、制御済み変数CVおよび外乱変数DVは、MPCコントローラ54によって生成される操作済み変数MVとともに、(制御変数予測装置とも呼ばれる)制御済み変数プロセスモデル70に提供される。制御変数予測装置70は、操作済み変数MVと外乱変数DVの現在値および/または予測される将来値に基づいて制御済み変数CVの将来の値を予測するために、その中に記憶されている(制御モデルとも呼ばれる)プロセスモデルを使用する。(通常、これらの入力変数の各々に個別の制御モデルが使用される。)制御変数予測装置70は現時点の制御済み変数CVの事前に計算された予測を表す出力を生じさせ、ベクトルアナログ加算器74は、入力76でのエラーおよび予測補正ベクトルを生じさせるために現在の制御済み変数CVの予測される値を制御済み変数CVの実際の測定値から差し引く。
【0027】
一般的には、制御変数予測装置70は、外乱変数DVと操作済み変数MV、および制御変数予測装置70の他の入力に提供されるエラー信号に基づいて予測層(horizon)をわたる時点(times)の各々で制御された変数CVの将来値を予測するために(このケースではプロセスモデルから数学的に作成されてよい)ステップ応答行列を使用する。装置70の出力は予測済みCVベクトルとして描かれている。設定点予測装置80は、オプティマイザ、ユーザ、制御オペレータ等の任意の所望されるソースからそれに提供される設定点SPに基づいて制御済み変数CVにターゲットベクトルを提供する。一実施形態では、設定点予測装置80は、制御済み変数CVが時間をわたってどのように動かされなければならないのか否かを定義する(つまり、コントローラのロバスト性と測度を規定する)事前に確立された変化またはフィルタベクトルとともに設定点SPを使用してよい。設定点予測装置80は、予測層により定義される期間で、制御済み変数CVの設定点値の変化を定義する制御済み変数CVの(予測CVターゲットベクトルと呼ばれる)動的制御ターゲットベクトルを生じさせる。ベクトル加算器であってよいアナログ加算器84は、次に制御済み変数CVの将来のエラーベクトルを定義するために動的制御ターゲットベクトルから予測CVベクトルを差し引く。制御変数CVの将来のエラーベクトルは、次に、制御層をわたって、例えば最小二乗誤差を最小限に抑える(制御層までの期間の各々に)操作済み変数MVステップを選択するために動作するMPCアルゴリズムブロック85に提供される。MPCアルゴリズムブロック85はコントロールマトリクス、またはMCPコントローラ52に入力される制御済み変数CVと外乱変数DVとMPCコントローラブロック54によって出力される操作済み変数との間の関係性から作成される他のアルゴリズムを使用してよい。概して公知のように、MPCアルゴリズムブロック85は、制御済み変数CVを操作制約の範囲内に保ちつつ、操作済み変数MVと制御済み変数CVの定常状態値を制限された時間量の中で達成する一方で、制御済み変数CVの誤差を、制御層にわたって、最小の操作済み変数MVの動きで最小限に抑えようと試みる。
【0028】
一般的には、MPCコントローラブロック54は、各々ブロック70と85の内に記憶されているMPC制御モデルと制御アルゴリズムに基づいてプロセス50を制御する際に使用される制御済み変数CVとしてシングルループMPC制御信号を生成するために、各コントローラ走査中に一度動作する。しかしながら、前記に注記したように、プロセス50のダイナミクスは通常経時的に変化し、プロセス50の実際の動作と、MPCコントローラブロック54の中で使用されているプロセス50のモデルとの間の不一致につながることがある。
【0029】
この問題を埋め合わせるために、適応モデルジェネレータ52は、プロセス50、特にMPCコントローラブロック54によって制御されているプロセス50のループを表すプロセスモデルを再決定、または更新するために動作する。適応モデルジェネレータは、所望される場合、MPCコントローラ54のフィードバック経路とフィードフォワード経路のために同じプロセスモデルまたは別のプロセスモデルを決定してよい。適応モデルジェネレータ52は、次に、ブロック85内で使用するための新しいMPC制御アルゴリズムのみではなく、ブロック70内で使用するための新しいMPC制御モデルも決定し、それによりMPCコントローラ54がプロセス50の現在の動作をより正確に反映するプロセスモデルに基づいて動作可能にするために更新されたプロセスモデルを使用する。この更新プロセスは、MPCコントローラ54を、プロセス50の動作中にオンラインでプロセス50に適応させ、それによりモデル不一致を排除または削除し、さらに優れた制御を提供する。
【0030】
一般的には、適応モデルジェネレータ52は、オンラインでおよびプロセス50が実行中に、プロセス50のための、特にMPCコントローラ54によって制御されているプロセス50の特定のループのための新しいモデルを決定または再計算するために動作するプロセスモデル推定器90を含む。プロセスモデル推定器90の出力はプロセスモデル、つまりパラメータの集合に従ってプロセス50の動作を定義するパラメータ化されたプロセスモデルである。他のパラメータ化されたモデルを代わりに使用することができるであろうが、最も一般的なタイプのパラメータ化されたプロセスモデルは、プロセス応答時間、プロセス利得およびプロセス不動作時間のためのパラメータを含む第1の次数の不動作時間プロセスモデルである。適応PIDコントローラで使用するためのプロセス変数からプロセスモデルを定義または推定する方法は、両方の開示とも参照として本明細書に明示的に組み込まれている「適応フィードバック/フィードフォワードPIDコントローラ(Adaptive Feedback/Feedforward PID Controller)」と題される特許文献4、および「状態に基づいた適応フィードバックフィードフォワードPIDコントローラ(State Based Adaptive Feedback Feedforward PID Controller)」と題される特許文献5に説明されている。
【0031】
一般的には、プロセスモデル推定器90は、制御済み変数CVを示すデータと、操作済み変数MV、外乱変数DV、および設定点SPの内の1つ以上、およびプロセスの通常の動作中に所望される場合にはおそらく他の変数を示すデータを定期的に収集する。プロセスモデル推定器90は、次に、設定点SP、外乱変数DV、または制御済み変数CVの変化等、プロセス50に反応させる、または制御されることを必要とさせてよいプロセス入力変数のいずれかで何時重大な変化が発生するのかを決定するために、このデータを周期的に見直す、または分析する(あるいはユーザが図1のユーザインタフェースルーチン44を介して、そのようにできるようにする)。このような変化を検出すると、プロセスモデル推定器90は、次に変化に対するプロセスの応答を決定するために、何時プロセス変数(つまり制御済み変数CV)が定常状態条件に達し、これらの2つの点の間に収集されたプロセスデータを使用するのかを決定する。さらに詳細には、プロセス50内の外乱または設定点SPの変化は、MPCコントローラにプロセス50を改変するために制御信号(操作済み変数MV)の変化を実現させる。次に、制御済み変数CVの変化は、この変化に対するプロセス応答を反映し、プロセスモデル推定器90はプロセス50を記述するあるいはモデル化するパラメータ化されたプロセスモデルを決定するために公知の技法を使用してよい。前記に注記したように、このパラメータ化されたプロセスモデルは不活動時間プロセスモデルが加えられた第1の次数または任意の他のタイプのパラメータ化されたプロセスモデルとして定義されてよい。しかしながら、重要なことには、プロセスモデル推定器90は、プロセスモデルを決定するためにプロセス50を妨げるまたは混乱させる必要はないが、代わりにプロセス50の通常の動作またはオンライン動作中に収集されるプロセスデータを分析する。結果として、プロセスモデル推定器90は、コントローラプロセッサに大きな計算負荷を課さず、またプロセス50を混乱させることなく、プロセス50の通常の動作中に、プロセスコントローラデバイス(例えば図1のプロセスコントローラ11)の背景プロセスとして連続的に実行できる。
【0032】
新しいプロセスモデルを決定した後、プロセスモデル推定器90は、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ装置94に対してのみではなく、MPCモデル計算装置92に(計算済みのプロセス利得K、不動作時間DT、および時間定数TC等の)プロセスモデルを提供する。MPCモデル計算装置92は、制御変数予測装置70で使用される一般的なMPC制御モデルを計算するために新しいプロセスモデルを使用する。このMPC制御モデルは一般的には、予測層までの時間にわたっての操作済み変数MV(またはフィードフォワード経路の場合は外乱変数)のステップ変化に対する制御済み変数CVの応答を定義する応答曲線として表される伝達関数の形式である。このモデルは、一般的には、操作済み変数MVのステップ変化に応えてプロセスモデル推定器90によって作成されるパラメータ化されたプロセスモデルによって完全に規定されるプロセスから生じるであろう制御済み変数CVの値(予測層までの走査時間の各々に1つ)の級数として数学的に計算しやすい。
【0033】
MPC制御モデルを決定した後、MPCモデル計算装置92は、このモデルをMPCアルゴリズム計算装置96に提供し、このモデルを将来使用するために、またはMPCコントローラ54を更新するときにMPCコントローラ54の制御変数予測装置70にダウンロードするために記憶する。基本的に同時に、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ装置94は移動に対するペナルティおよびMPCコントローラ54で使用される設定点軌跡またはフィルタ係数を計算する、あるいはそれ以外の場合決定する。一実施形態では、より詳細に後述するように、各々SP予測装置80とMPCアルゴリズムブロック85で使用される制御調整変数である設定点ターゲットベクトルフィルタの軌跡および移動に対するペナルティは自動的に計算されてよい。例えば、移動に対するペナルティは、同様に、プロセスモデル推定器90によって作成されるプロセスモデルの応答時間から求められる定常状態Tssまでのプロセス時間に自動的に基づいてよい。別の実施形態では、移動に対するペナルティおよび設定点ターゲットベクトルフィルタ軌跡は、制御オペレータ等のユーザによって入力または指定されてよい。
【0034】
MPCアルゴリズム計算装置96は、新規に決定されたプロセスモデルに基づいてMPCアルゴリズムブロック85によって使用されるための適切な制御アルゴリズムを決定するために移動に対するペナルティ値のみではなくMPC制御モデルも使用する(そして通常はこのモデルを逆転する)。以後、プロセス50が定常状態または外見上定常状態にあるとき、あるいはユーザインタフェースを介してユーザによって命令されるとき等の適切な時点に、適応モデルジェネレータ52は、新しいMPC制御モデルを制御変数予測装置70に、新しいSP軌跡またはフィルタ係数を(変更された場合には)SP予測ブロック80に、および新しいMPC制御アルゴリズムをMPCアルゴリズムブロック85にダウンロードすることによって更新する。
【0035】
このようにして、プロセスモデル推定器90が、MPCコントローラ54を構成するために使用されたプロセスモデルとは何らかの重要な様式で異なるプロセス50のためのプロセスモデルを決定または検出すると、MPCモデル計算装置92とMPCアルゴリズム計算ブロック96が、そのモデルに基づいて新しいMPCコントローラパラメータ、モデルおよびアルゴリズムを計算し、これらの新しいMPCコントローラ要素をMPCコントローラにダウンロードしてよい。
【0036】
重要なことに、1つまたは2つおよびおそらくさらに高い制御層を有するシングルループMPCまたは他のDMCタイプコントローラが計算上では高価ではなく、前述したように適応できる、したがってこのような適応コントローラが、プロセスが実行中にオンラインで、分散または他のプロセスコントローラで作動または実行でき、したがって真にオンラインのアダプタMPC(または他のDMCタイプの)コントローラを提供すると判断された。特に、1つまたは2つの制御層を有するシングルループのためのMPCコントローラの(図2のブロック85で使用されるような)MPC制御アルゴリズムが、簡単に、つまり非再帰的であり、行列計算を使用しない1つ以上の単純な数式として定義できると判断された。その結果、これらのケースでは、ブロック85のためのMPC制御アルゴリズムを決定することは計算上では過剰ではなく、それにより新しいプロセスモデルの受け取り時に、MPC制御ブロック54のために新しいMPC制御モデルおよび制御アルゴリズムの頻繁且つ高速度の再計算を可能にする。したがって、このような適応は迅速におよびリアルタイムで発生し、MPCコントローラ54を実際に実行する分散コントローラの中で実行できるために、MPCコントローラブロック54を、プロセスが動作している間にオンラインで更新または適応させることが可能である。
【0037】
さらに、前記に注記したように(1つまたは2つ、あるいはおそらく5までの)小さな制御層のMPCを含むシングルループMPCコントローラが、不動作時間が優勢なプロセスにおいて、および定常状態までの時間が経時的に変化するとき等、多くの状況でPIDコントローラより優れた制御性能を提供すると判断された。
【0038】
図3は、図1のコントローラ11内で適応制御を実行するために適応MPC制御ブロックによって使用されてよいフロー図100を描いている。ルーチン100の第1のセクション102ではプロセスモデル推定器は、プロセス50が、他の所望または必要なデータのみではなく制御済み変数CV、操作済み変数MV、設定点SPおよび外乱変数DVを示すデータ等のプロセス入力/出力データも収集するためにオンラインで動作している間に動作し、このデータをメモリに記憶する。プロセスモデル推定器90は、毎回データ収集インスタンスの後に、特定の量のデータを収集した後に、特定の期間の後に、ユーザコマンドに応えて等、周期的に、新しいプロセスモデルを定義するために使用されてよいデータのブロックを探す、特に(制御済み変数CV等の)プロセス出力を変化させ、次に定常状態値に到達させる(制御信号の変化等の)プロセス入力の外乱を探す。このような変化が検出されると、あるいはプロセスモデルを作成するために使用するためのデータセットのユーザ選択に応えて、プロセスモデル推定器ブロック90は新しいプロセスモデルを生成するためにプロセスデータの選択された、または決定されたブロックを分析する。
【0039】
さらに詳細には、プロセスモデル推定装置90によって実現されてよいブロック104はプロセス入力/出力データを収集し、ブロック106は、プロセスが新しいプロセスモデルを計算するのに十分なほど変化を経験した期間で十分なデータが収集されたか否かを判断する。ブロック106は、プロセスデータの選択されたセットからプロセスモデルを生成するためにユーザコマンドに応えてもよい。収集されたデータが、プロセスモデル推定装置90が新しいプロセスモデルを計算できるほどではない場合、あるいはユーザが新しいプロセスモデルを作成するようにルーチン100に命令しなかった場合、ブロック104はプロセス入力/出力データを収集し続ける。他方、十分なプロセスデータが、プロセスが新しいプロセスモデルを計算するほど重大な変化または外乱を受けた期間で収集された場合、あるいはユーザがプロセスモデル計算を開始した場合には、ブロック108は、例えば特許文献4、および/または特許文献5に説明されている技法を使用して新しいプロセスを計算し、ルーチン100の第2のセクション110に新しいプロセスモデルを提供する。
【0040】
ルーチン100のセクション110は、新しいMPCモデルとアルゴリズムを決定されたプロセスモデルから決定する。本説明のために、ブロック108によって決定されるプロセスモデルは、フィードバック経路とフィードフォワード経路の両方のために、プロセス利得、プロセス不動作時間、およびプロセス時間定数を規定するパラメータを含むパラメータ化された第1の次数の不動作時間プロセスモデルであると仮定されるであろう。しかしながら、プロセスモデルはフィードバック経路のためのみのパラメータを含み、別のタイプ、または性質の1次プロセスモデルとなるか、1次プロセスモデル以外の任意のタイプのプロセスモデルとなるであろうと理解されるであろう。したがって、一般的には、他のタイプの、または形式のプロセスモデルが代わりに使用できるであろう。
【0041】
図3に描かれているように、ルーチン100のセクション110は、新しいプロセスモデルに基づいてMPCコントローラの走査レート、実行時間、予測層、および定常状態までの時間の内の1つ以上を決定する、図2の移動に対するペナルティと設定点ターゲットベクトルフィルタによって実現されてよい計算ブロック112を含む。
【0042】
適応PID制御技法と同様に、定常状態までの時間Tssは、プロセスモデルに基づいて、特にプロセスモデルの時間定数に基づいてモデル識別が毎回成功した後に更新される。しかしながら、(走査レートがプロセス応答時間より数倍速い限り)任意の走査レートで作動できるPIDコントローラとは異なり、適応MPCコントローラは定常状態までの時間TSSをMPCコントローラによって使用される予測層の内部に保つ。適応プロセスの一部としてMPCコントローラの走査レートを改変または変更し、それによってさらに優れた制御を提供するために、実行時間およびまたは(通常MPCコントローラ内で固定される)MPCコントローラによって使用される予測層を変更し、それによってさらに優れたMPCコントローラ動作を提供可能にすると判断される。
【0043】
新しい走査レートが適切に選択されることを保証するために、ブロック112は最初に任意の公知の方法で、特にMPCコントローラ54のフィードバック経路のためのプロセスモデルの中で決定される時間定数に基づいて、新しいプロセスモデルから定常状態までのプロセス時間Tssを決定する。定常状態までの時間Tssは、実際の時間(例えば、分、秒等)で決定または表現されてよく、あるいは実行サイクルあたりの固定コントローラ実行時間に基づいて定常状態までの時間の間に必要とされる実行サイクルの数で表現されてよい。
【0044】
次に、実行時間は、適応MPCコントローラの構成中にユーザによって、あるいは構成エンジニアによって設定されてよい、最大許容予測層で除算される定常状態までの時間Tssとして計算できる。この計算は以下のように表現できる。
Exec_Time=Trunc[TSS/PHmax]
ここで、
Exec_Time = 実行時間、
TSS = 定常状態までの時間、
PHmax = 最大予測層、
である。
ここでは、Truncは数学の切捨て演算である。
【0045】
説明されている実施形態では、120という最大予測層が使用されてよく、走査中制御変数予測装置70によって120までの予測が各走査中に計算されてよいことを意味する。しかしながら、多くのケースでは、この計算は、多かれ少なかれMPCコントローラの動作の不正確さを引き起こすこと(reminder)につながる。余りが生じる除算を回避し、それによってコントローラ動作の浮動小数点誤差とジッタを削減するために、予測層は、最小値PHminと最大値PHmaxの間で変化することが可能にされてよく、選択された予測層PHと実行時間の積が定常状態までの時間TSSに厳密に等しくなるように選ばれてよい。選択された予測層は、次に、最大許容予測層PHmaxの代わりに、MPCコントローラ内
(つまり、図2のコントローラブロック54のブロック70、74、80、84および85のすべての中で)内部ループのすべての中で予測層として使用される。したがって、このケースでは、予測層は、新しいプロセスモデルについて決定される定常状態までの実際の時間に応じて、例えば60と120の間で変化してよい。
【0046】
次の表1は、新しいプロセスモデルの定常状態までの特定の時間TSSに基づいてMPCコントローラ54の中で有利に使用されてよい実行時間Exec_Timeと選択された予測層PHの様々な組み合わせの例を示している。理解されるように、実行時間は0.1ms〜213msの間で変化するが、(実行時間と予測層が求められる公知の変数である)この表の定常時間までの時間TSSがこのケースでは10秒〜12800秒の間で変化し、すべてのケースで60〜120の間のいずれかで選択された予測層PHを生じさせる。必要ではない場合があるが、60を超える予測層はこのような定常状態までの大きな時間にとって必要でないため、予測層は、定常までの時間の値が3200を越えるたびに60、つまり最小許容値に設定されるべきである。いずれにせよ、所望される場合、予測層と実行時間の望ましい組み合わせを、異なる決定された定常状態までのプロセスの時間TSSに関連付ける表1の結果、または類似するこのような事前に計算された表は、決定された定常状態までのプロセスモデル時間TSSに基づいてMPCコントローラで使用するための適切な予測層を決定するために使用される適応モデルジェネレータ52に記憶されてよい。予測層と実行時間の、決定された定常状態までのプロセス時間に基づいた組み合わせを生成する任意の他の所望される方法が代わりに使用されてよいことは言うまでもない。
【表1】

【0047】
いずれにせよ、分かるように、適応MPCコントローラブロック38は、実際に、コントローラ走査レートが定常状態までの時間TSSを予測層内に保つように設定されることを保証するために、適応プロセスの間にその予測層と実行時間を変更または改変できる。所望される場合には、ブロック112は、選択された、または計算された実行時間がコントローラの設定された走査レートより低いか否かを判断するために実行時間をコントローラの走査レートと比較する。この条件が真である場合、ブロック112は、例えばオペレータインタフェースアプリケーション44を介してユーザに対して、MPCコントローラの適切な動作を可能にするために、コントローラブロック走査レートを加速しなければならないことを示す警告メッセージを発行してよい。
【0048】
次に、図2のMPCモデル計算ブロック92で実現されてよいブロック114は、予測層PHによって規定される時間の間における制御済み変数CVの、(フィードバックループの場合の)操作済み変数MVのステップ変化に対する反応を規定し、予測層PHによって規定される時間の間における制御済み変数CVの、(フィードフォワードループの場合の)外乱変数DVのステップ変化に対する反応を規定するステップ応答モデル(MP制御モデル)を決定または確立する。このようなステップ応答モデルが、ブロック90によって作成されるプロセスモデルから数学的に生成されてよいことは言うまでもない。一般的には、制御済み変数CVの応答は、ブロック112によって決定される予測層PHによって規定されるコントローラ走査の回数の各々に計算される。したがって、予測層が120である場合には、制御済み変数CVの120の異なる応答が(フィードバックコントローラ経路のための)MPCステップ応答モデルを規定するために、第1の時間インスタンスで操作済み変数MVのステップ変化に応えて決定されるであろう。このステップ応答モデルは、本明細書では(b1,b2,....bi,...bp)として非ベクトル形式で規定されるステップ応答ベクトルBとして参照され、ここではpは選択された予測層であり、bpは選択された予測層の応答である。
【0049】
次に、ブロック116は、MPCアルゴリズムで使用される移動に対するペナルティおよび誤差に対するペナルティ、および所望される場合、MPCコントローラ54の応答およびロバスト性を決定するために、MPCコントローラで使用される設定点フィルタ定数または軌跡を計算または決定する。所望される場合、誤差に対するペナルティ、SPフィルタおよび移動に対するペナルティは自動的に決定されてよく、あるいは例えば図1のユーザインタフェースアプリケーション44を介してユーザ入力によって設定されてよい。
【0050】
設定点ターゲットベクトルフィルタ時間定数を自動的に設定する1つの方法は、プロセスの定常状態までの時間に関連して設定点ターゲットベクトルフィルタの動作を規定する設定点ターゲットベクトルフィルタ時間係数を規定することである。例えば、設定点ターゲットベクトルフィルタ時間係数は0〜4の範囲に及び、その結果(設定点ターゲットベクトルフィルタの時間定数を規定する)設定点ターゲットベクトルフィルタ時間定数は定常状態までのプロセス時間TSSと設定点ターゲットベクトルフィルタ時間係数の積として求めることができる。理解されるように、この設定点ターゲットベクトルフィルタ時間係数は、新しいプロセスモデル識別ごとに変化できるであろう。設定点ターゲットベクトルフィルタ係数または設定点ターゲットベクトル時間定数は、そのように所望される場合に、選択または提供できるであろう。
【0051】
一般的には、(コントローラ移動の計算中に、MPCコントローラアルゴリズムが、所望されるCVと予測されるCVとの間の誤差ベクトルに適用する係数を規定する)誤差に対するペナルティは1に設定されてよく、変更可能となる必要はない。つまり、シングルループシステムでは、移動に対するペナルティ(POM)と誤差に対するペナルティ(PE)との間の割合のみが関係する。つまりこれらの変数の内の1つが変更可能である限り、他は変更可能である必要はない。
【0052】
一実施形態では、(コントローラ移動の計算中に、ユニット制御信号にアクセスするMPC制御アルゴリズムが移動するペナルティを規定する)移動に関するデフォルトペナルティは、以下のようなプロセスモデル変化のたびに計算されてよい。
【数1】


ここでは、DTは(プロセスモデルからの)プロセス不動作時間であり、PHは予測層であり、Gは(プロセスモデルからの)プロセス利得であり、PMは移動に対する計算されたペナルティである。一般的には、観測に基づいて発見的に決定されたこの方程式は、プロセスの不動作時間が増加するにつれて、およびそれほどではないにせよプロセス利得が増加するにつれて、移動に対するより高いペナルティにアクセスする。移動に対するペナルティのための推奨値またはデフォルト値を計算する他の方程式または方法が代わりに使用できるであろうことは言うまでもない。
【0053】
いずれにせよ、移動に対するペナルティの推奨値は、読み取り専用パラメータとして(例えば図1のインタフェースアプリケーション44を使用して)ユーザインタフェースに表示されてよい。しかしながら、所望される場合、ユーザインタフェースアプリケーション44により、ユーザは(デフォルト設定値として使用されてよい)推奨値を他の値に変更できる。この変更を実行する方法は、ユーザが所望されるPOMを直接的に指定可能にする、あるいはユーザが(つまり、推奨値の乗数として)推奨値を変更するために使用されるPOM係数を指定可能にすることを含む。このようなPOM係数は、例えば、0.1〜10の範囲となり、例えばユーザインタフェース表示画面の中のスライダバーまたは属性ボックスを使用してユーザによって改変または選択されてよい。いずれにせよ、ユーザインタフェースは、推奨POM値およびPOM係数に加えて、MPCコントローラで使用されているPOMの実際の値を指定してよい(その実際の値は、POM係数とPOMの推奨値の積であろう)。
【0054】
図3を再び参照すると、ブロック118は、次に、MPCコントローラの動作中に図2のMPCアルゴリズムブロック85で使用されるMPC制御アルゴリズムを計算または決定する。一般的には、MPCコントローラ54が1または2という制御層が付いたシングルループコントローラであるとき、このアルゴリズムは閉じられた形式で表現できる。つまり、このアルゴリズムをモデル更新時に再生することは計算上では簡単である。
【0055】
一般的には、ブロック118は、ステップ応答モデル(またはステップ応答ベクトル)、移動に対するペナルティ、および(本説明では1であると仮定される)誤差に対するペナルティからMPCの抑制されていない増分コントローラを作成する。コントローラ走査kでの制御層mおよび予測層pが付いた増分コントローラの一般的な解決策は以下のとおりであり、
【数2】


制御層が1に等しいMPCコントローラの場合、(転置された)動的行列は、転置されたステップ応答ベクトルに過ぎす、以下のとおりである。
【数3】


この場合、各uは移動に対する個別ペナルティであり、各yは誤差に対する個別ペナルティである。ここでは、前記を考慮すると、MPCコントローラ行列は一般的には以下のように表現できる。
【数4】

【0056】
それを仮定するのは妥当であり、適応コントローラはγ=1となるようにセットアップされる。その結果、コントローラ利得行列は以下のように表現できる。
【数5】


したがって、1という制御層付きのシングルループMPCコントローラは、2つの係数の合計によりスケーリングされるプロセスステップ応答ベクトルに過ぎない。
【数6】

【0057】
その結果として、コントローラ利得行列Kを、新しいプロセスモデルが特定されるたびに、プロセスが動作中である間にコントローラ11の中でオンラインで図2のMPCアルゴリズムで使用される、閉じられた形式、非再帰的、および非行列方程式として再生することは単純な計算機のステップである。
【0058】
制御層が2に等しいMPCコントローラのケースでは、動的行列(転置済み)は以下のように表すことができる。
【数7】


とともに、
【数8】


このケースでは、コントローラ利得行列Kは以下として派生される。
【数9】


この方程式をさらに簡略に表現するために、以下の変数を規定することができる。
【数10】


その結果、これらの変数を使用して、コントローラ利得行列Kは以下のように表現でき、
【数11】


以下のように表現し直すことができる。
【数12】


ここでは、k1の第1のコントローラ移動のためのMPCコントローラ利得行列(つまり
、2つの移動制御層の内の第1のコントローラのより多く)は、以下のとおりである。
【数13】

【0059】
したがって、理解されるように、2つの移動コントローラマトリクスの第1の移動は、ある程度までは1に等しい制御層のための制御ベクトルに類似している、スケーリングし直されたステップ応答ベクトルである。すべてのステップ応答係数のための定数スケーリング係数は以下のとおりである。
【数14】


この係数は、移動に対するペナルティ(u)画像化するときに減少するため、ステップ応答と係数のための個別スケーリング係数は以下のように表現できる。
【数15】

【0060】
この派生した式は、ステップ応答ベクトル及びコントローラベクトルの類似性を明確に描いている。ただし、ステップ係数比におけるゼロによる除算の可能性が抑制されないため、この方程式はコントローラ計算には適していない。しかしながら、適切なインプリメンテーション形式は以下のように定義できる。
【数16】

【0061】
第1の移動についてこのコントローラ利得を決定すると、計算のシーケンスは以下のように設定できる。
最初に、mを以下として計算する。
【数17】


第2に、nを以下として計算する。
【数18】


第3に、lを以下として計算する。
【数19】


次に以下を計算する。
【数20】


その後、mでステップ応答をスケーリングし直してから、lでステップ応答をスケーリングし直し、右側にシフトする。つまりb1=0とする。次に、該2つのスケーリングし直
されたステップ応答を差し引きmB−lB(シフト済み)、1/(mn−l2)でこのス
テップから得られるベクトルをスケーリングし直し、コントローラベクトルを取得する。同様に、第2のコントローラ移動k2のMPCコントローラマトリクスまたは利得は以下
のように表現できる。
【数21】

【0062】
再び、前記に描かれているように、2という制御層付きのシングルループMPCコントローラのケースでは、コントローラ利得方程式は計算上では過剰であり、したがってコントローラがプロセスを制御するために動作している間にコントローラ内でオンラインで決定できる。さらに、1および2という制御層付きのMPCコントローラのためのコントローラ利得アルゴリズムをここに示してきたが、例えば3、4、5およびまたさらに高い、さらに大きな制御層付きのMPCコントローラが、プロセスコントローラデバイスにおいて実行され、それによりプロセスの実際の制御中に適応MPCコントローラ再生を可能にするために役立つ数学計算を使用して表現され、決定されてよいと考えられる。
【0063】
再び図3を参照すると、ブロック118が図2のMPCアルゴリズムブロック85で使用するためのコントローラ利得アルゴリズムを計算した、または生成した後に、ブロック120は、MPCコントローラ54が新しいコントローラのパラメータで更新される必要があるか否かを判断する。このプロセスの一部として、ブロック120は、プロセスが現在定常状態にあるのか、あるいは擬似定常状態にあるのか、あるいはそれ以外の場合、MPCコントローラ54を更新させる準備ができているのかを判断してよい。ブロック120は、また、または代わりにユーザが適応サイクルを開始したか否かを判断してよく、あるいはそれ以外の場合MPCコントローラ54が新しいプロセスモデルに基づいて更新される必要があると指定した。プロセスが現在制御変化を経ている、あるいは制御済み変数CVの大きな変動を経験している場合、ブロック120は、プロセスが定常状態または擬似定常状態の条件に達するまで待機してよい。しかしながら、プロセスが定常状態にある場合、あるいはそれ以外の場合、コントローラ変化を受ける状態にあるとき、ならびに所望される場合ユーザがコントローラの更新を承認した場合、ブロック122は新しい制御アルゴリズムをMPCアルゴリズムブロック85の中に、および新しいステップ応答モデルを制御変数予測装置70にダウンロードする。加えて、ブロック122は、これらのブロックがすべて同じ予測層、走査レート、および実行時間に従って動作するように、新しい走査レート、定常状態までの時間、実行時間予測層をMPCコントローラ54のブロック70、74、76、80および85のすべてにダウンロードする。さらに、移動に対する新しいペナルティは、制御アルゴリズム85の中で使用され、それによりMPCコントローラ54を新しいプロセスモデルに基づいて新しい制御パラメータで調整するために提供できる一方、所望される場合、新しい設定点ターゲットベクトルフィルタ定数または係数がSP予測装置80にダウンロードできる。
【0064】
ダウンロードが完了すると、ブロック122は、データの収集を続行するためにブロック104に制御を戻す。制御ブロック104がルーチン100の他のブロックの動作中にプロセスデータを収集し続けることができることが言うまでもなく理解されるであろう。さらに、前記に示したように、設定点ターゲットベクトルフィルタ係数または時間定数および移動変数に対する変数は、ユーザが一度に変更できる2つの調整係数であり、任意の時点でMPCコントローラ54の動作を変更するためにMPCコントローラにダウンロードされてよい。したがって、MPCコントローラは、様々な場合に調整されてよく、MPCコントローラが新しいプロセスモデルに基づいて更新されるまで調整されるのを待機する必要はない。言い換えると、MPCコントローラ54は、プロセスの動作中の任意の時点で新しい設定点ターゲットベクトルフィルタ係数、および新しい移動に対するペナルティの値で更新されてよい。
【0065】
図4は、概して制御モジュールを形成するために他の機能ブロック152と154の間に結合される機能ブロック150として示されているか、または描かれている適応MPCコントローラブロックを描いている。他のタイプ、種類、および数の機能ブロックを代わりに使用できるであろうが、機能ブロック152はAO機能ブロックとして描かれており、機能ブロック154はAI機能ブロックとして描かれ、機能ブロック150のための入力機能と出力機能を達成するためにプロセスの動作中に(図1のコントローラ11等の)コントローラ内で動作する。図4に描かれているように、適応モデルジェネレータ52およびMPCコントローラ54は適応MPCコントローラ機能ブロック150の中に記憶され、実行され、これらのブロックはAIブロック152によって送達される入力を受け取るために、およびAOブロック154に必要に応じて出力を行い、それによりプロセスの制御またはプロセスのループの制御を達成するために通信可能に接続される。言うまでもなく、任意の必要な数のAIブロック152とAOブロック154が提供されてよく、これらの機能ブロックは、任意の所望される信号を受信するため、あるいは任意の公知の方法でプロセスプラント内の任意の所望される構成要素に信号を送信するために結合されてよい。しかしながら、一般的には、フィードバック経路で制御を提供するために、少なくとも単独AIブロックと単独AOブロックがシングルループMPCコントローラに提供される。しかしながら、所望される場合、追加の入力と出力は、フィードバック経路に関して前述された方法に類似した方法で制御されてよい、フィードフォワード経路で類似したシングルループMPC制御を提供するために、適応モデルジェネレータ52に、およびMPCコントローラ54に通信可能に接続されてよい。さらに、MPCコントローラ54は、フィードバック経路について本明細書に一般的に説明される方法でフィードフォワード経路について適応されてよい。さらに、所望される場合、適応モデルジェネレータ52は、プロセスを制御する際にMPCコントローラ54によって使用されないプロセスプラントから入力信号を受信してよい。
【0066】
図5は、ユーザが適応MCCプロセスを導くのみではなく、適応MPC機能ブロック150または38内で起こっていることを見ることが可能になるように、図1のユーザインタフェース画面14等のディスプレイ装置で図1のユーザインタフェースアプリケーション44によって提供されてよい表示画面200を描いている。特に、ユーザインタフェースアプリケーション44は、ユーザが、プロセスモデルがその上で決定されなければならないデータを見て、選択する、モデル適応手順を開始する(initial)、あるいはMPCコントローラ等のための調整パラメータを提供または変更可能にするための表示画面200を提供してよい。特に、表示画面200は、容易に理解できるようにプロセス動作を示す、または見せるためにプロセスの現在の動作、および特に制御済み変数、設定点、操作済み変数、および/または他の所望される変数の履歴値を描くプロセス動作表示領域210を含む。ユーザは、プロセスの新しいプロセスモデルを計算するときに使用されるデータを指定するために、所望される場合(マウスまたは他の入力装置を使用して)このデータを見て、このデータの部分を強調表示または選択することができる。
【0067】
表示画面200のセクション220は、ユーザに、プロセスの中で、あるいはプロセスの適応MPC部分の中で現在何が起きているのかに関するさらに優れた理解を与えるためにプロセスとMPCコントローラと関連付けられている多様なモデルの情報を描く。図5のセクション220は、フィードバックモデルセクション222、MPCフィードバックモデルセクション224、動作セクション226、およびMPCタイミングセクション228を含む4つのセクションに分割される。一般的には、フィードバックモデルセクション222は、ユーザに、MPCコントローラのフィードバック経路について最も最近に計算されたプロセスモデルの表示を提供し、このケースでは、プロセス利得、プロセス時間定数および不動作時間として規定されるこのようなモデルのモデルパラメータの値を提供する。この現在のモデルは、現在プラントの中で実行しているMPCコントローラを生成するために使用されるプロセスモデルである必要はなく、おそらく現在プラントの中で実行しているMPCコントローラを生成するために使用されるプロセスモデルではないであろう。
【0068】
MPCフィードバックモデルセクション224は、(「計算済み」と題される欄の下に)MPCアルゴリズムを計算するために使用されたMPCモデル、およびMPCコントローラのフィードバック経路に現在使用されているMPCプロセスモデルを示す。このケースでは、プロセスコントローラは、1.00というプロセス利得、20.0という時間定数、および1.0という不動作時間を有したプロセスモデルに基づいて生成されたMPCコントローラを使用して現在動作している。しかしながら、セクション244は、実現時に次の適応サイクルについて使用するためのモデルとしてのプロセスのための最も最近に決定されたプロセスモデルの「現在」値も示している。このモデルは、フィードバックモデルセクション222に示されている最も最近に計算されたプロセスモデルであるとして図5の例に描かれている。示されているように、ユーザはモデルパラメータの新しい値を入力することによって、このように所望される場合、このプロセスモデルを変更または変化できるであろう。さらに、更新ボタン230によって、ユーザはプロセスモデルの現在値のセクションに指定される新しいプロセスモデルを使用して適応MPC生成または計算を開始できる。言うまでもなく、所望される場合、最も最近に計算されたプロセスモデルが自動的に使用され、MPCコントローラ適応は、更新ボタン230でのこのような更新をユーザが開始する代わりに、あるいは開始するのに加えて、MPC制御モデルを更新するために毎回プロセスモデル生成の後に自動的に且つ周期的に実現できるであろう。
【0069】
画面200の動作セクション226は、プロセスが現在動作している操作領域を描いている。プロセスが、例えば制御済み変数または任意の他の変数の値によって決定されるように個別の操作領域を有するものとして定義できることが注記される。所望される場合、異なるモデルが、プロセスが実行中である操作領域に基づいて選択され、使用されてよい。つまり、いくつかの操作領域はここに説明されている適応MPCコントローラの使用にさらに適応可能であってよい。さらに、動作セクション226は、プロセスモデル推定装置が現在データを収集中であり、学習モードにあることを示す。
【0070】
重要なことには、ユーザがSPフィルタ設定値および移動に対するペナルティ変数を変更可能にすることによって、MPC調整セクション228は、ユーザがMPCコントローラを調整可能にする。特に、ユーザは、入力ブロック235でのこの場合、MPCコントローラで使用されるSPフィルタ時間定数を求めるために定常状態までのプロセスモデル時間で乗算されなければならない(現在2に設定されている)SPフィルタ係数を指定してよい。さらに、スライダバー238により、ユーザはMPCコントローラを調整するために移動に対するペナルティ変数を変更し、それによりさらに低速度またはさらに高速度の応答特性を有することができる。一般的には、スライダバー238は、図3のブロック116に関して前述したように計算されるデフォルトの移動に対するペナルティによって乗算される、移動に対するペナルティ係数を指定または変更するために使用されてよい。言うまでもなく、所望される場合、ユーザは設定点ターゲットベクトルフィルタおよび移動に対するペナルティ係数を直接的に変更してよい。
【0071】
いずれにせよ、ユーザ表示画面200は、例えばMPCコントローラの調整を変更するために、領域210で選択されたプロセスデータに基づいてプロセスモデルを更新またはプロセスモデルを再計算させるために、MPCコントローラモデルを、最も最近に計算されたプロセスモデル等と適応して更新させるために例えば、制御オペレータ制御または他のユーザによって使用できる。このようにして、ユーザインタフェース画面200は、新しいプロセスモデルを生成するために使用されるデータ、および特定のプロセスモデルに基づいてMPCコントローラを更新するか否か、および何時更新するのかを規定するために、SPフィルタ係数および移動に対するペナルティ係数によって規定されるようにコントローラのロバスト性を選択できることを含む、MPCコントローラの適応更新に対するユーザに高度のまたは高レベルの入力を与える。言うまでもなく、適応MPCコントローラブロックは、これらの機能が自動的に、周期的に、または新しいプロセスモデルが決定された後等の重要な時点で実行される完全に自動または半自動である場合がある。さらに、前述したように、適応MPCコントローラは、プロセスモデル計算によって決定される定常状態までの推定時間に基づいてタイミングパラメータの自動計算を実行してよく、初期調整、つまり公知のMPCコントローラの共通の不利な点を実行する必要を排除する。一実施形態では、初期プロセスモデルはプロセスデータから決定されてよく、定常状態までの時間はそこから計算されてよく、あるいはユーザはコントローラのための予測層と実行時間を決定するためにのみではなく、POMとSPフィルタ係数のためのデフォルト調整パラメータを決定するためにも前述したように使用されてよい定常状態までの時間を初期に入力してよい。同様に、所望される場合、ユーザはMPCコントローラブロックを最初にセットアップまたは実行するときに使用する初期プロセスモデルを指定してよい。
【0072】
適応機能ブロックは、同じ機能ブロックの中に位置する適応MPCモデルジェネレータを有し、したがってMPCコントローラブロックと同じデバイスで実行されるとして本明細書に説明、図解されてきたが、適応モデルジェネレータを、ユーザインタフェースデバイス内等、個別のデバイスで実現することも可能である。特に、適応モデルジェネレータはユーザワークステーション13の内の1つの中でのように別のデバイスに配置されてよく、コントローラの各実行または走査中、MPCコントローラ更新期間中等、図2に関連して説明されるようにMPCコントローラと通信を行ってよい。言うまでもなく、必要な場合には、公知のOPCインタフェース等の通信インタフェースは、その中にMPCコントローラを有する機能ブロックと、適応モデルジェネレータブロックを実現または実行するワークステーションまたは他のコンピュータの間に通信インタフェースを提供するために使用されてよい。
【0073】
さらに、本明細書に説明された適応MPCコントローラブロックおよび他のブロックとルーチンはFieldbusおよび標準4〜20maデバイスと連動して使用されるとして本明細書に説明されてきたが、それらが任意の他のプロセス制御通信プロトコルまたはプログラミング環境を使用して実現でき、任意の他のタイプのデバイス、機能ブロックまたはコントローラとともに使用されてよいことは言うまでもない。本明細書に説明されている適応MPCまたは他の適応DMC制御ブロックおよび関連付けられた生成ルーチンと表示ルーチンは、好ましくはソフトウェアで実現されるが、それらはハードウェア、ソフトウェア等で実現されてよく、プロセス制御システムと関連付けられる任意の他のプロセッサによって実行されてよい。したがって、本明細書に説明されるルーチン100、またはその任意の部分はそのように所望される場合、1つ以上の標準多目的CPUの中で、あるいは例えばASIC等の特別に設計されたハードウェアまたはファームウェア上で実現されてよい。ソフトウェアで実現されると、該ソフトウェアは磁気ディスク、レーザディスク、光ディスク、フラッシュメモリまたは他の記憶媒体上等の任意のコンピュータ読取可能メモリに、コンピュータまたはプロセッサのRAMまたはROMに等記憶されてよい。同様に、このソフトウェアは、例えば、コンピュータ読取可能媒体または他のトランスポート可能なコンピュータ記憶機構上での場合を含む任意の公知の方法または所望される送達方法を介して、ユーザにまたはプロセス制御システムに送達されてよく、あるいは変調され(トランスポート可能記憶媒体を介してこのようなソフトウェアを提供することと同じである、または代用できると見なされる)電話回線、インターネット等の通信チャネル上で送信されてよい。したがって、本発明は、例示的なものに過ぎず、本発明を限定するものではないと意図される特定の例に関して説明されてきたが、本発明の精神および範囲から逸脱することなく開示された実施形態に変更、追加または削除を加えてよいことは当業者に明らかであろう。
【符号の説明】
【0074】
10 プロセス制御システム
11 コントローラ
38 適応MPC制御ブロック
図1
図2
図3
図4
図5