モデル不一致を補償するためのチューニングを有する頑健な適応モデル予測コントローラ
【課題】MPC適応およびチューニング技法は、MPCタイプコントローラにおいて良好にフィードバック制御性能を統合し、プロセスモデル不一致の存在下で良好に働くMPC適応/チューニング技法をもたらす。
【解決手段】MPCコントローラ性能は、コントローラ適応/チューニングユニットをMPCコントローラに追加することにより高められ、その適応/チューニングユニットは、最適化ルーチンを実施して、特定の量のモデル不一致またはある範囲のモデル不一致の存在下でオンラインプロセス制御中にMPCコントローラ内で使用するための、最適な一組のコントローラ設計および/またはチューニングパラメータを確定する。閉ループ適応サイクルは、予測誤差または制御誤差に対して自己相関解析を実施して、有意のプロセスモデル不一致がいつ存在するかを判定してもよく、または、所定期間にわたって、プロセスモデル不一致の増減を判定してもよい。
【解決手段】MPCコントローラ性能は、コントローラ適応/チューニングユニットをMPCコントローラに追加することにより高められ、その適応/チューニングユニットは、最適化ルーチンを実施して、特定の量のモデル不一致またはある範囲のモデル不一致の存在下でオンラインプロセス制御中にMPCコントローラ内で使用するための、最適な一組のコントローラ設計および/またはチューニングパラメータを確定する。閉ループ適応サイクルは、予測誤差または制御誤差に対して自己相関解析を実施して、有意のプロセスモデル不一致がいつ存在するかを判定してもよく、または、所定期間にわたって、プロセスモデル不一致の増減を判定してもよい。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、正式に提出された出願形態であり、2008年1月31日に出願され、その全体の開示が参照により本明細書に明示的に組込まれる「Robust Adaptive Model Predictive Controller with Automatic Correction for Model Mismatch」という名称の米国仮特許出願第61/025,190号の出願日に対する優先権およびその出願日の利益を主張する。
【0002】
本出願は、たとえば産業用プロセスプラントにおいて実施されるプロセス制御に関し、より詳細には、モデル不一致の存在下でモデル予測コントローラを使用してプロセスプラントの制御を実施する改良型方法に関する。
【背景技術】
【0003】
プロセス制御のハードウェアおよびソフトウェアは、化学、製薬、および精製産業のほとんど全ての設備の主要なコンポーネントであり、何十億ドル規模の世界的なビジネスである。任意の特定の事例において考えられる最良の制御を取得することは、過去において必ずしも主要な重点事項ではなかったが、近年、産業用プロセスプラントなどの新しいプラントは、可制御性および最適性を考慮して設計されることが増えている。さらに、多くの既存のプロセスプラントは、この目的によって刷新されている。この刷新は、反応器、タンク、パイプなどの位置など、設置されるハードウェアの幾何学的配置の刷新だけでなく、プロセス制御を実施するのに使用される制御、監視、および測定要素の位置およびタイプの刷新も含む。天然資源のコストおよび排出物質に関連する実効コストの上昇に伴って、エネルギー消費もまた、プラント設計において重要な因子になってきた。
【0004】
制御性能監視は、コントローラ再チューニングまたはモデルスケジューリングと組合されて、産業用プラントの効率を激的に改善し、それにより、毎年、数百万ドルを節約しうる。近年益々一般的になってきた別の技法は、異常状況監視および防止(abnormal situation monitoring and prevention)(ASP)である。ある場合には、最新のデバイスおよび制御システム設計は、考えられる故障またはやがて起こる保守サイクルを予測することができる新規センサおよび組込み式統計的アルゴリズムを含む。これらの予測保守システムは、プラントオペレーションの稼働率を劇的に増加させ、コストがかかりかつ危険な予期しない運転停止の兆候を防止しうる。さらに、これらの技法の信頼性は、ここ10年で著しく高まり、プラント効率の向上をもたらした。
【0005】
これらの努力の一部として、一般にモデル予測制御(model predictive control)(MPC)技法と呼ばれるある種類の予測制御技法が、約25年前に初めて開発され適用されて以来、産業界でかなり認められてきた。一般的に言えば、MPCは、ある種類の制御アルゴリズムを指し、その制御アルゴリズムは、プロセスモデル(通常、本来は線形である)を利用することによって、被操作変数プロファイルを計算して、将来の計画対象期間にわたって、制約を受ける線形または二次の開ループ性能目標を最適化する。その後、この開ループの最適操作変数プロファイルの最初の移動がプロセス内に実装され、その手法が、各制御間隔またはコントローラサイクルで繰返されて、プロセス制御を実施する。プロセス測定が使用されて、進行する制御中に最適化問題が更新される。この種類の制御アルゴリズムは、後退ホライズン制御または移動ホライズン制御とも呼ばれる。
【0006】
しかし、その複雑さのために、MPCは、主に高度制御コミュニティにおいてその居場所を確保しており、したがって、MPC構成は、通常、制御の専門家によって開発されコミッショニングされる。結果として、MPC実施態様は、通常、実施態様の高いコストの見返りに大幅な利益増加を見込めるプロセスに適用される価値があったに過ぎない。この状況では、入力および出力の数の観点からのMPC適用のスケールは、通常、大きく、そのことが、MPCが、通常、単一変数ループ制御などの低レベルループ制御で使用されてこなかった1つの理由である。
【0007】
より具体的には、制御システムのコミッショニングコストはかなりのものであり、特定のプロセスプラント内の全ての制御ループの構成に対して詳細に注意を払うことは、ほとんど現実的でない。結果として、全ての制御ループの約90パーセントは、比例−積分−微分(proportional−integral−derivative)(PID)コントローラまたは比例−積分(proportional−integral)(PI)コントローラなどの従来の線形フィードバックコントローラによって制御される。さらに、MPCコントローラが使用される範囲において、これらのコントローラもまた、通常、本来は線形である。残念ながら、線形コントローラがプロセス制御産業において主に使用されるが、現実のプロセスの大部分は、非線形挙動を示す。この矛盾の結果として、モデル不一致が不可避であることになる。対処されないモデル不一致は、最適に満たない制御性能をもたらすだけでなく、制御性能および稼働率を改善するために開発された技術の利点の多くを帳消しにする。したがって、モデル不一致は、制御ハードウェアおよびソフトウェアの観点からコストがかかるだけでなく、他の関連するプラント技術のコスト節約も実際に減少させる。
【0008】
一般的に言えば、産業用コントローラの性能は、種々の方法で測定が可能であり、異なるプロセスは、著しく異なる品質および安全性要件を有する可能性がある。プラントエンジニアは、実際に、オーバシュート、(プロセスを統合する)アレスト時間、振動特性、積分誤差、および積分絶対誤差(integrated absolute error)(IAE)などの1つまたは多くの異なる性能基準を使用して、特定の制御ループの性能を評価する可能性がある。しかし、PIDコントローラの場合、所与のコントローラについての測定される制御性能は、通常、設定点トラッキングと外乱排除挙動との間のトレードオフの結果であり、設定点トラッキングにおける良好な性能は、外乱排除における劣悪な性能をもたらし、また、その逆もある。たとえば、長い時定数(すなわち、遅れが支配的なプロセスに存在する時定数など)は、設定点トラッキング性能についてチューニングされているPIDコントローラにおいて不十分な外乱排除性能をもたらすことがわかっている。PIDコントローラの開発に特有のこのトレードオフは、負荷外乱排除について理想的にチューニングされているPIDコントローラが、比較的高い積分動作(すなわち、比較的小さな積分時定数)を有しなければならないこと、また、高い積分動作が、コントローラの設定点変化性能にとって有害であることによって説明されうる。より詳細には、設定点変化中、プロセス誤差(e)は、たとえ被制御変数(y)が設定点(SP)に近づいている間でも、一定の時間大きいままである。非常に大きな積分利得を用いると、積分項は、急速にかつ必要以上に増大し、したがって、設定点オーバシュートをもたらす。その結果、設定点変化性能を対象とするPIDチューニングは、小さな積分動作および劣悪な負荷変化または外乱排除性能を有する。先に述べたように、全ての産業において依然として最も一般的なコントローラの選択肢である従来のPID制御がこの問題にさらされるため、この問題の影響を減らそうと試みる中で、PIDコントローラに対する構造的変更および設定点フィルタリングを含む多くのアプローチが提案されてきた。
【0009】
しかし、たとえこれらの変更を施したとしても、PIDコントローラのチューニングは、依然として、設定点トラッキング性能と外乱排除性能との間のトレードオフを正確に指定するという難題を呈する。異なるPIDチューニング方法は、通常、他の方法に比べて、設定点トラッキング性能または外乱排除性能の一方に有利である。さらに、多くのモデルベースのチューニング技法は、PIDコントローラの内部パラメータを、制御されるプロセスについてのモデルの内部パラメータに一致させ、この同じトレードオフをもたらす。たとえば、極キャンセルおよびラムダチューニングなどのPIDチューニング方法は、コントローラの積分時間をプロセスの支配的な時定数に一致させる。ここでは、コントローラ利得は、ある閉ループ時定数およびある設定点変化応答(たとえば、オーバシュート無し)を達成するように設定される。こうしたコントローラについての得られる積分動作は比較的小さいため、この技法は、非常に良好な設定点変化性能を示すが、不十分な外乱排除性能を示す。一方、ジグラー・ニコルス(Ziegler−Nichols)法などの経験的PIDチューニング方法は、特に外乱排除性能のために設計されている。しかし、こうしたコントローラの積分動作は、プロセス変数を設定点に非常に急速に戻すことができるほどに十分強いため、設定点変化に応答して好ましくない設定点オーバシュートをもたらす。
【0010】
ごく希に、ループの目的が、外乱排除だけ(たとえば、設定点変化が無いバッファタンクレベル)または設定点トラッキングだけ(たとえば、外乱が無いカスケード戦略における2次ループ)ということがある。こうした場合、チューニング構成を選択することが容易になる可能性があるが、上述したトレードオフは、完全に見落とされることが多く、代わりに、デフォルトのチューニング方法が通常選択され、任意の特定のプロセス状況においてチューニングを最適に満たないものにする。先に述べたように、PIDチューニングのこの制限を克服するために、設定点フィルタリングおよび2自由度構造を含む多数のチューニング方法が開発されてきたが、これらのチューニング方法は、通常、外乱排除性能に有利であり、したがって、設定点変化に対するコントローラの応答は、人工的に低下する。たとえば、設定点フィルタリングが選択される場合、オペレータによる設定点変更は、オーバシュートを防止するためにフィルタリングされ、設定点変化に対する遅い応答をもたらす。
【0011】
いずれにしても、先に説明した性能トレードオフの直接の結果は、異なるチューニング方法が、異なる制御目標について選択されなければならないということであり、そのことが、それだけ多くのチューニング方法がPIDチューニングについて提案されてきた理由の1つである。それだけ多くのPIDチューニング技法が利用可能である別の理由は、異なるチューニング規則または方法が異なる入力変数を使用し、その一部だけが任意の特定のプロセスで容易に利用可能である場合があるからである。たとえば、多くのチューニング方法は、プロセスモデルに基づいてチューニングを計算するが、他の方法は、他のプロセス特性に基づいてチューニングを計算する。この後者の方法の例として、ジグラー・ニコルスチューニング規則は、一部の機械プロセスについて確定するのが容易である可能性があるが、多くの産業用化学プロセスにおいて実際に確定することができないクリティカルな利得およびクリティカルな周波数を使用する。
【0012】
一方、MPCコントローラなどの予測コントローラは、設定点変化および負荷変化について同様に働くことができるべきである。その理由は、MPCコントローラの積分部分が、PIDコントローラについて観測されるのと同じトレードオフを受けないからである。より詳細には。誤差および移動ペナルティについての項が本来別個であるため、MPCコントローラは、一般に、設定点トラッキングと外乱排除との間の性能トレードオフを示さず、理論的には、MPCコントローラはPIDコントローラに対する望ましい置換物となる。同様に、予測コントローラでは、被制御変数またはプロセス出力(y)が設定点に近づいている間に、誤差(e)は増加しない。実際に、予測コントローラにおいて、第1の実行サイクル後に、誤差は理論的にゼロであり、それにより、PID制御に特有の積分利得問題を低減するかまたはなくす。残念ながら、MPCコントローラの性能は、プロセスモデル不一致が存在するとき、すなわち、MPCコントローラによって使用されるプロセスモデルが、実際のプロセス特性に完全に一致しないときに、急速に低下する可能性がある。
【0013】
さらに、PIDコントローラが外乱排除のために特にチューニングされるとき、産業用MPCコントローラの外乱排除性能は、PIDコントローラの性能より立ち遅れていることがわかっている。状態更新領域における最近のMPCの改善は、MPC技法で使用される観測器モデルが完全にわかっていると仮定する場合、ある程度この性能ギャップを埋めてきた。しかし、モデル不一致の存在下では、積分絶対誤差(IAE)によって測定されるPIDコントローラの制御性能は、考えられる最良のチューニングを施したMPCコントローラの性能より依然として優れている。
【0014】
それでも、MPCは、PIDコントローラの代替として使用される主要な制御技術の1つとして考えられてきた。その理由は、MPCコントローラが、予測制御性能の便益と少数の直感的なチューニングパラメータであるという便利さを組合せることができると考えられているからである。しかし、現在のところ、学会および制御システム販売業者が、近年、MPC適用の範囲を広げるために多大の努力をしてきたにもかかわらず、MPCコントローラは、一般に、PID制御が十分に働かない、あるいは、実施または維持があまりに困難な産業環境において成功しただけであった。基本的に、PID制御が、依然としてかなりの数のプロセスについてMPCより良好に働くため、また、PIDコントローラが、MPCタイプコントローラに比べて、安価でかつ速く導入できるため、MPCコントローラが実際にプロセスプラント構成内でPIDコントローラと置換えられた割合はわずかである。
【0015】
MPCコントローラが、PIDコントローラほど良好に機能しない傾向がある主要な理由の1つは、先に示したように、MPCコントローラが、PIDコントローラに比べて、プロセスモデル不一致の結果として性能劣化を受け易いことである(おそらく遅れが支配的なプロセスの場合を除く)。制御要素および送信機の線形化ならびにコントローラ利得スケジューリングの使用などの、プロセスにおける非線形性(または他の発生源)に起因するモデル不一致に対処するための実用的な方法が存在するが、モデル不一致に対処するための最も一般的な方法は、コントローラチューニングを実施することである。しかし、コントローラをチューニングするときの難しさのために、プロセスオペレータまたはエンジニアは、頻繁に、最悪の場合のシナリオ(たとえば、最も高いプロセス利得)についてコントローラをチューニングし、プロセスの他の領域について最適に満たないチューニングを受容する。そのため、産業用PIDまたはMPCのデフォルトのチューニングパラメータは、通常、保存的であるため、種々のプロセス適用について最初はうまく働く可能性がある。しかし、コントローラは、通常、無期限にそのデフォルト設定のままにされ、総合的な性能低下をもたらす。たとえ事実はそうでなくても、同定誤差またはプラントドリフトに起因するモデル不一致は、チューニングによって対処することが難しい。実際に、このタイプのモデル不一致は、モデル同定を実装するために十分なプロセス摂動が必要とされるため、検出することが難しく、そのことは、通常、プロセス制御の目標(すなわち、プロセス外乱に応答してプロセスを定常状態に保つこと)に矛盾する。さらに、プロセス摂動を非測定外乱から識別することが難しい。
【0016】
モデル不一致に応答してMPCコントローラを「チューニングする」1つの方法は、プロセス変化を考慮してプロセスモデルを再生成させ、次に、この新しいモデルをMPCコントローラ内で使用することである。残念ながら、まず第1に、モデルベースのコントローラで使用するための正確なプロセスモデルを開発することに対して多くの実際上の障害が存在する。たとえば、たとえ多くの産業用プロセスが最小フェーズであっても、大多数の閉ループは最小フェーズではない。むだ時間としても知られる時間遅延および高次遅れは、正確なプロセスモデルの開発を著しく複雑にする右手極を生成する。ほとんどの事例では、閉ループのむだ時間は、パイプ内の材料の輸送遅延およびコンピュータ制御システムでは不可避である離散的なサンプリングメカニズムによって生成され、一方、高次遅れは、通常、測定デバイスおよび制御デバイスのフィルタ時定数の結果である。産業用プラント用のプロセスモデルを定義するときにしばしば見出される他の難題は、弁およびパッキングの機械的挙動によって生成される分解能および不感帯を含む。
【0017】
これらのまた他の因子は、コントローラ用のプロセスモデルを開発するときに、産業用プラントの制御エンジニアに対して多くの難題を呈する。たとえば、あるプロセスが、ある利得と時定数を有する1次フィルタのように働くことが予想される場合でも、制御エンジニアは、管形状により、送信機からのさらなる時定数、制御要素コンピュータサンプリング、およびジッタを考慮しなければならない。特に、いずれのデジタル制御システムも、中央処理ユニット(CPU)および通信制約を有しており、そのことは、十分なオーバサンプリングが、プラント内の全てのタイプのループについて実用的でないことを意味する。たとえば、最大時定数とむだ時間を足した値の3倍またはむだ時間の5倍(いずれか大きい方)のサンプリングレートが、合理的に十分であると考えられることが多いが、このサンプリングレートは、通常、プラント内の多くの制御ループ(流量ループおよび圧力ループなど)について達成できない。結果として、エンジニアは、応答の一部について利用可能である場合がある第1の原理モデルにのみ依存することができない。さらに、プロセスモデル同定は、理想的には、統合された自動ツールによって実施される。しかし、プロセスモデルを同定するために現実のプラントで通常使用される第1の原理モデリングおよび普遍的な第3者機関の解決策は、フィールド機器に直接接続することによって、プロセスモデルを同定する。したがって、これらの解決策は、ループ性能に対するコンピュータ制御システム自体の影響を考慮しない(または、せいぜい近似するだけである)ため、統合されない。これらの因子は全て、プロセスと、プロセスを制御するために開発されるプロセスモデルとの間に著しい不一致をもたらす可能性があり、モデルベース制御およびチューニング方法を、実際の状況では好ましくないものにする。
【発明の概要】
【発明が解決しようとする課題】
【0018】
MPCコントローラのフィードバック制御能力の欠点が、特にプロセスモデル不一致の存在下での、PIDコントローラとMPCコントローラとの間の性能ギャップの1つの理由であることが特定されてきた。この事実を認識して、本明細書で述べるMPC適応およびチューニング技法は、MPCタイプコントローラにおいて今日一般に使用されている方法と比べて、フィードバック制御性能をより適切に統合し、プロセスモデル不一致の存在下で、従来のMPC技法に比べて良好に働くMPC適応/チューニング技法をもたらす。
【課題を解決するための手段】
【0019】
特に、MPCコントローラ性能は、コントローラ適応/チューニングユニットをMPCコントローラに追加することによって高められ、その適応/チューニングユニットは、オンラインプロセス制御中にMPCコントローラ内で使用するための、最良のまたは最適な組のプロセスモデル、MPC設計、および/またはチューニングパラメータを確定して、特定の量のモデル不一致またはある範囲のモデル不一致の存在下でMPCコントローラの外乱排除性能が改善される。より具体的には、適応/チューニングユニットは、以前に確定されたプロセスモデル、および、既知のまたは予想されるプロセスモデル不一致あるいは既知のまたは予想されるプロセスモデル不一致範囲のいずれかに基づいて、たとえば、MPC形態、MPCコントローラおよびカルマンフィルタなどの観測器のいずれかまたは両方についてのペナルティ因子、およびMPCコントローラで使用するためのコントローラモデルを含む、1つまたは複数のMPCコントローラチューニングおよび設計パラメータを確定する最適化ルーチンを実施する。この適応/チューニングユニットが使用されて、MPCコントローラが周期的にまたは連続して適応され、かつ/または、チューニングされ、それにより、最初のプロセスモデルを再生成する必要が全くない状態で、既知のまたは予想されるプロセスモデル不一致またはモデル不一致範囲の存在下で、最良の総合性能を有するMPCコントローラが開発される。そのため、MPCコントローラを自動的に適応させ、かつ/または、チューニングするこの方法は、モデル不一致またはモデル不一致範囲に基づいて最適チューニングパラメータを確定して、MPCコントローラが、モデル不一致の存在下で最適に動作することを可能にし、また、閉ループ適応制御を実施する際に有利に使用することができ、多くの事例においてPID制御技法と比べてMPCコントローラをよりよい選択肢にする。
【0020】
さらに、たとえばMPCコントローラユニットで使用される可能性がある方法は、制御誤差および/または予測誤差の自己相関関数を使用して、MPCコントローラで目下使用されているプロセスモデルと実際のプロセスとの間のモデル不一致の推定マグニチュードまたはモデル不一致の変化を確定する。この推定値が使用されて、MPCコントローラ設計およびチューニングパラメータを更新するための新しい適応/チューニングサイクルが始動され、それにより、新しい量のモデル不一致の存在下で良好な制御が実施される。モデル不一致を検出するこの方法は、特にプロセス状態変化がプロセスモデルの変化を伴うときに、方法がプロセス状態変化を受け易くなるように、コントローラがチューニングされるときを判定するのに使用されてもよく、したがって、目下チューニングされているMPCコントローラがうまく扱うことができない可能性があるプロセス変化が発生する前に、MPCコントローラを修正するかまたは再チューニングするのに使用されうる。
【図面の簡単な説明】
【0021】
【図1】MPCコントローラを実装する高度コントローラ機能ブロックを有する制御モジュールを含むプロセス制御システムのブロック図である。
【図2】典型的なMPCコントローラのブロック図である。
【図3】プロセスプラントを制御するために接続された、MPCコントローラおよび状態観測器を有する、典型的なMPCコントローラユニットのブロック図である。
【図4】プロセスモデルおよび1つまたは複数のプロセスモデルパラメータにおけるモデル不一致に基づいてMPC設計およびチューニングパラメータを確定するMPCコントローラユニットに結合される、適応/チューニングブロックの略図である。
【図5】プロセスモデルのプロセス利得パラメータにおけるモデル不一致の存在下で最適チューニングを確定することに関連する、最小積分絶対誤差の例示的なプロットである。
【図6】プロセスモデルの1次時定数におけるモデル不一致の存在下で最適チューニングを確定することに関連する、取得可能な最小積分絶対誤差の例示的なプロットである。
【図7】プロセスモデルの2次時定数におけるモデル不一致の存在下で最適チューニングを確定することに関連する、取得可能な最小積分絶対誤差の例示的なプロットである。
【図8】汎用カルマンフィルタ状態更新を用いた、MPCコントローラの2つのプロセスモデルパラメータにおけるモデル不一致についての、図4の適応/チューニングブロックによって計算された、考えられる最良の積分絶対誤差の3次元表面プロットである。
【図9】簡易カルマンフィルタ状態更新を用いた、MPCコントローラの2つのプロセスモデルパラメータにおけるモデル不一致についての、図4の適応/チューニングブロックによって計算された、考えられる最良の積分絶対誤差の3次元表面プロットである。
【図10】2次元部分空間内のモデル不一致の範囲の図である。
【図11】2次元モデル不一致範囲部分空間を画定するための、仮定されたプロセスモデル中心点において、図8の3次元プロット内に重ねられた図10の2次元モデルの不一致部分空間の図である。
【図12】モデル不一致範囲部分空間に関連する、新しい一組のコントローラモデルパラメータならびに新しい一組の最適MPCチューニングおよび設計パラメータを確定するために、図11の3次元プロット内の異なる位置に、図11の2次元モデル不一致範囲部分空間を移動させる方法の図である。
【図13】プロセスまたはプラントモデルおよびモデル不一致範囲に基づいてMPCコントローラを最適化する適応/チューニングブロックのブロック図である。
【図14】開ループチューニングを使用した、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図15】プロセスに結合する特性推定器ブロックを使用する閉ループチューニング構成における、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図16】MPCコントローラに結合されるイノベーション解析ブロックを使用する閉ループチューニング構成における、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図17】本明細書で述べるMPCコントローラ適応/チューニング方法の実験的試験について使用される2成分系蒸留塔のP&IDを示す図である。
【図18】第1の蒸気レートにおける、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた3つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図19】第1の蒸気レートから第2の蒸気レートへの蒸気流量の人工的な非測定外乱の導入後の、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた3つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図20】第2の蒸気レートにおける、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた2つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図21】図18のプロットに関連する第1の蒸気レートで動作するときの、3つの異なるMPCチューニング設定におけるMPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図22】図20のプロットに関連する第2の蒸気レートで動作するときの、3つの異なるMPCチューニング設定のうちの2つについての、MPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図23】図19のプロットに関連する非測定外乱の排除中に動作するときの、3つの異なるMPCチューニング設定についての、MPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図24】図18のプロットに関連する第1の蒸気レート中に動作するときの、3つの異なるMPCチューニング設定のMPCコントローラ内の(またPIDコントローラの)制御誤差の自己相関のプロットを示す図である。
【図25】第1の蒸気レートから第2の蒸気レートへ蒸気流量が変化することに関連する非測定外乱の排除中に動作するときの、3つの異なるMPCチューニング設定のMPCコントローラ内の(またPIDコントローラの)制御誤差の自己相関のプロットを示す図である。
【図26】MPCコントローラの適応チューニングを始動するためにプロセス推定およびイノベーション解析推定の一方または両方に依存する推定器を含む閉ループチューニング構成内での、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【発明を実施するための形態】
【0022】
一般的に言えば、任意の所望のまたは適切なコントローラ設定において使用するための、種々の異なるタイプのモデル予測制御(MPC)コントローラに適用される可能性がある新しいコントローラ適応、設計、およびチューニング方法が、本明細書で説明される。しかし、この新しいコントローラ適応、設計、およびチューニング方法は、薬物および化学製造プラント、精製プラントなどのような産業用プロセスプラントなどのプロセスプラントにおいて使用される制御システムにおいて特に有用である。さらに、新しいMPCコントローラ適応、設計、およびチューニング技法は、本明細書では分散プロセス制御ネットワークの一部として実施されるものとして述べられるが、たとえば、集中制御システムの一部、プログラマブルロジック制御(programmable logic control)(PLC)システムの一部、独立型制御システムの一部などを含む、他のタイプの制御環境において実施されうる。
【0023】
ここで図1を参照すると、本明細書で述べるMPCコントローラ適応、設計、およびチューニング技法が実施されてもよいプロセス制御システム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)、HART(登録商標)プロトコル、WirelessHART(商標)プロトコルなどのような任意のスマート通信プロトコルに関連する任意の所望のハードウェアおよびソフトウェアを使用して、フィールドデバイス15〜22に通信可能に接続される。
【0024】
フィールドデバイス15〜22は、センサ、弁、送信機、ポジショナなどのような任意のタイプのデバイスであってよく、一方、I/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのI/Oデバイスであってよい。図1に示す実施形態では、フィールドデバイス15〜18は、アナログラインまたはアナログ/デジタルが組合わされたラインを通じてI/Oカード26と通信する標準的な4〜20mAデバイスまたはHART(登録商標)デバイスであり、一方、フィールドデバイス19〜22は、フィールドバスプロトコル通信を使用してデジタルバスを通じてI/Oカード28と通信するフィールドバスフィールドデバイスなどのスマートデバイスである。もちろん、フィールドデバイス15〜22は、現在存在する、または、将来開発される任意の規格またはプロトコルを含む、任意の他の所望の規格(複数可)またはプロトコルに適合しうる。同様に、フィールドデバイス15〜22間の通信は、所望である場合、ワイヤード技術、ワイヤレス技術、または、ワイヤードおよびワイヤレス技術の組合せを使用して、実装されうる。
【0025】
プラント10内の多くの分散コントローラのうちの1つであってよいコントローラ11は、内部に少なくとも1つのプロセッサを有し、少なくとも1つのプロセッサは、プロセッサ内に格納されるかまたはその他の方法でプロセッサに関連する、制御ループを含んでもよい1つまたは複数のプロセス制御ルーチンを実装するかまたは監督する。コントローラ11はまた、デバイス15〜22、ホストコンピュータ13、およびデータヒストリアン12と通信して、任意の所望の方法でプロセスを制御する。本明細書で述べる任意の制御ルーチンまたは要素は、所望される場合、異なるコントローラまたは他のデバイスによって実装されるかまたは実行される制御ルーチンまたは要素の一部を有してもよいことが留意されるべきである。同様に、プロセス制御システム10内に実装される本明細書で述べる制御ルーチンまたは要素は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態をとってもよい。この説明のために、プロセス制御要素は、たとえば、コンピュータデバイスのCPUなどのプロセッサによって実行可能であるように、任意のコンピュータ読取り可能媒体上に格納されたルーチン、ブロック、またはモジュールを含む、プロセス制御システムの任意の一部または部分でありうる。サブルーチン、サブルーチンの一部(コードのラインなど)などのような、制御プロシージャのモジュールまたは任意の一部であってよい制御ルーチンは、ラダーロジック、順次機能チャート、機能ブロック図、オブジェクト指向プログラミングあるいは任意の他のソフトウェアプログラミング言語または設計パラダイムなどを使用して、任意の所望のソフトウェア形式で実装されてもよい。同様に、制御ルーチンは、たとえば、1つまたは複数のEPROM、EEPROM、特定用途向け集積回路(ASIC)、あるいは任意の他のハードウェアまたはファームウェア要素内にハードコード化されてもよい。さらに、制御ルーチンは、グラフィカル設計ツール、あるいは、任意の他のタイプのソフトウェア、ハードウェア、またはファームウェアのプログラミングまたは設計ツールを含む任意の設計ツールを使用して設計されてもよい。そのため、コントローラ11は、一般に、任意の所望の方法で制御戦略または制御ルーチンを実装するよう構成されてもよい。
【0026】
一実施形態では、コントローラ11は、機能ブロックと一般に呼ばれるものを使用して制御戦略を実装し、各機能ブロックは総合制御ルーチンの一部またはそのオブジェクトであり、(リンクと呼ぶ通信を介して)他の機能ブロックと連携して動作して、プロセス制御システム10内にプロセス制御ループを実装する。機能ブロックは、通常、送信機、センサ、または他のプロセスパラメータ測定デバイスに関連するような入力機能、PID、MPC、ファジーロジックなどの制御を実施する制御ルーチンに関連するようなコンロール機能、および弁などのあるデバイスの動作を制御する出力機能のいずれか1つを実施して、プロセス制御システム10内のある物理的機能を実施する。もちろん、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ11内に格納され、コントローラ11によって実行されてもよく(これは、通常、これらの機能ブロックが標準的な4〜20mAデバイス、および、HART(登録商標)デバイスなどのあるタイプのスマートフィールドデバイスのために使用されるかまたはそれに関連するときに当てはまる)、または、フィールドデバイス自体によって格納され、実装されてもよい(これは、FOUNDATION(登録商標)フィールドバスデバイスの場合に当てはまる)。さらに、本明細書で述べるコントローラ適応およびチューニングルーチンまたは技法などのコントローラルーチンを実装する機能ブロックは、ホストワークステーションまたはコンピュータ13内でまたは任意の他のコンピュータデバイス内で全体的にまたは部分的に実装されてもよい。制御システムの説明は、オブジェクト指向プログラミングパラダイムを使用する機能ブロック制御戦略を使用して本明細書で提供されるが、制御戦略あるいは制御ループまたはモジュールはまた、他の慣行を使用して、また、任意の所望のプログラミング言語またはパラダイムを使用して実装されるかまたは設計されうる。
【0027】
図1の拡大ブロック30によって示すように、コントローラ11は、ルーチン32および34として示すいくつかの単一ループ制御ルーチンを含んでもよく、制御ループ36として示す1つまたは複数の高度制御ループを実装してもよい。こうしたループのそれぞれは、通常、制御モジュールと呼ばれる。単一ループ制御ルーチン32および34は、単一入力/単一出力ファジーロジック制御ブロックおよび単一入力/単一出力PID制御ブロックを使用して単一ループ制御を実施するものとして示され、それらのブロックは、弁などのプロセス制御デバイス、温度および圧力送信機などの測定デバイス、またはプロセス制御システム10内の任意の他のデバイスに関連してもよい、適切なアナログ入力(AI)およびアナログ出力(AO)機能ブロックにそれぞれ接続される。高度制御ループ36は、多数のAI機能ブロックに通信可能に接続される入力および多数のAO機能ブロックに通信可能に接続される出力を有する高度制御ブロック38を含むものとして示されるが、高度制御ブロック38の入力および出力は、任意の他の所望の機能ブロックまたは制御要素に通信可能に接続して、他のタイプの入力を受信し、他のタイプの制御出力を提供してもよい。さらに、高度制御ブロック38は、多変数(たとえば、複数入力/複数出力)制御を実装するものとして示されるが、単一変数(たとえば、単一入力/単一出力)制御を実装するのに使用されうる。さらに述べるように、高度制御ブロック38は、モデル予測制御(MPC)ルーチンを、MPCコントローラルーチンにコントローラ設計およびチューニングパラメータを提供するコントローラ適応/チューニングブロックと統合して、プロセスまたはプロセスのある部分の制御を実施する制御ブロックであってよい。高度制御ブロック38は、一般にモデル予測制御(MPC)ブロックを含むものとして本明細書で述べられることになるが、実際には、多くの異なるタイプのMPC技法のうちの任意の技法を実装する可能性があり、本明細書でより詳細に述べるように、ある場合には、これらの技法間での切換えさえありうる。高度制御ブロック38またはそのコンポーネントを含む、図1に示す制御モジュールまたはこれらのモジュールのサブコンポーネントは、コントローラ11によって実行されうる、または別法として、ワークステーション13の1つまたはさらにフィールドデバイス19〜22の1つなどの、任意の他の処理デバイス内に配置され、それにより実行されうることが理解されるであろう。たとえば、一実施形態では、MPCコントローラ適応/チューニングブロック42は、コンピュータ13に格納され、そこで実行されて、コントローラ11によって実行される高度制御ブロック38内に格納されたMPCコントローラチューニングパラメータ、設計パラメータ、およびプロセスモデルパラメータをMPCコントローラに提供してもよい。
【0028】
図1に示すように、ワークステーション13のうちの1つは、高度制御ブロック38を生成し、ダウンロードし、実装するのに使用される高度制御ブロック生成ルーチン44を含む。高度制御ブロック生成ルーチン44は、ワークステーション13内のメモリ内に格納され、ワークステーション13内のプロセッサによって実行されてもよいが、このルーチン(またはこのルーチンの任意の一部)は、付加的にまたは別法として、所望される場合、プロセス制御システム10内の任意の他のデバイス内に格納され、それによって実行されてもよい。さらに、ユーザインタフェースルーチン46は、プロセスオペレータ、制御エンジニアなどのようなユーザが、高度制御ブロック38に関連するチューニング、設計、または制御パラメータを指定するかまたは変更すること、設定点を変更すること、適応/チューニングブロック42によって実施される適応/チューニングプロシージャを始動させること、新しいモデルパラメータを提供すること、モデル不一致値またはモデル不一致範囲値を提供することなどを可能にしてもよい。
【0029】
背景として、MPC技法の多くの産業用実施態様は、モデルアルゴリズム制御(model algorithmic control)(MAC)技法および動的マトリクス制御(dynamic matrix control)(DMC)技法を含む。DMC技術は、プロセスの線形ステップ応答またはインパルス応答モデルを使用し、この場合、最適制御経路は、オフラインで予め計算され、大きなマトリクス内に格納される。その後、このコントローラマトリクスは、重ね合わせによる被操作変数のオンライン移動を計算するのに使用される。結果として、計算コストは、最適方程式をオンラインで解くMPC法と比較して劇的に減少する。DMC技術の別の利点は、DMC技術で使用される状態変数が、プロセスモデルから直感的に計算され、明示的な将来出力予測を示し、そのことが、制約に関連する変数などのプロセス出力の将来予測が、容易に利用可能でありまたユーザに表示されうることを意味することである。
【0030】
他のMPC実施態様は、線形目標関数を使用し、かつ制約を明示的に組込むIDCOMおよび線形動的マトリクス制御(linear dynamic matrix control)(LDMC)、2次性能関数を組込むDMCの拡張であり、かつ制約の協調が明示されている2次動的マトリクス制御(QDMC)、最初の実施態様の反復的ソリューション技法を置換えるために2次プログラミングアルゴリズムを使用するIDCOMの拡張であるIDCOM−M、および、状態空間実施態様であるシェル多変数最適化制御(Shell multivariable optimizing control)(SMOC)を含む。別の種類のMPC技法は、良好なMPC性能を提供するために状態観測器を使用する。
【0031】
図2は、多変数プロセス制御を実施するために、図1の高度制御ブロック38によって実装されてもよい(プロセス50に通信可能に結合される)多変数MPCコントローラユニット52の一実施形態の詳細ブロック図を示す。この場合、MPCコントローラ52ユニットは、DMC制御技法を実装するのに使用されてもよい。しかし、ここでの説明は、MPC制御について一般的に理解するための良好な基礎を提供するものとする。図2に示すように、高度制御ブロック38は、一組の被操作変数(MV)を生成し、一組の被操作変数(MV)は他の機能ブロックに提供され、他の機能ブロックはプロセス50の入力を制御するために接続される。図2に示すように、高度制御ブロック38は、通常、出力と同じ数の入力を有する任意の標準的なMPCルーチンまたはプロシージャを含むかまたは実装してよいMPCコントローラブロック52を含むが、その要件は必要ではない。MPCコントローラ52は、入力として、プロセス50内で測定される値のベクトルを通常構成する一組のN個の被制御変数(CV)および補助変数(AV)、将来のある時点でプロセス50に提供される既知のまたは予想される変化または外乱である一組の外乱変数(DV)、ならびに、たとえば最適化器(図示せず)、ユーザ、または任意の他の供給源から提供される一組の定常状態目標制御および補助変数(CVT)および(AVT)を受信する。MPCコントローラ52は、これらの入力を使用して、制御信号の形態で一組のM個の被操作変数(MV)信号を生成し、被操作変数信号MVを、弁作動器、バーナ、ポンプなどであってよいプロセス50の制御入力に送出する。
【0032】
さらに、MPCコントローラ52は、制御ホライズンにおいて、それぞれ、被操作変数(MV)、制御変数(CV)、および補助変数(AV)の予測値を示す、一組の予測定常状態被操作変数(MVSS)と共に一組の予測定常状態制御変数(CVSS)および補助変数(AVSS)を計算し生成する。これらの変数は、1つまたは複数のMPC最適化ルーチン(複数可)で使用されて、目標制御および補助変数CVTおよびAVTを生成し、それにより、プロセス50を最適動作状態に駆動してもよい。
【0033】
どのように生成されても、目標制御および補助変数CVTおよびAVTは、MPCコントローラ52への入力として提供され、MPCコントローラ52は、先に述べたように、これらの目標値CVTおよびAVTを使用して、(制御ホライズンにわたって)新しい組の定常状態被操作変数MVSSを確定し、新しい一組の定常状態被操作変数MVSSは、制御ホライズンの終わりに、目下の制御および被操作変数CVおよびAVを、目標値CVTおよびAVTに駆動する。もちろん、知られているように、MPCコントローラ52は、予測定常状態被操作変数MVSS用の定常状態値に達しようと試みて、被操作変数を段階的に変化させ、それにより、理論的には、プロセスが、目標制御および補助変数CVTおよびAVTを取得することになる。MPCコントローラ52は、各プロセススキャン中に上述したように動作するため、被操作変数の目標値が、スキャンごとに変わる可能性があり、その結果、MPCコントローラ52は、特にプロセス50内の雑音、予想しない外乱、変化などの存在下では、実際に、これらの組の目標被操作変数MVの任意の特定の変数に決して達しない可能性がある。
【0034】
知られているように、MPCコントローラ52は、種々の異なるMPC制御技法のうちの任意の技法で使用される任意のタイプのモデルであってよい、制御予測プロセスモデル70(「コントローラモデル」とも呼ばれる)を含む。たとえば、モデル70は、N×(M+D)ステップ応答マトリクスであってよい(ここで、Nは制御変数CVの数と補助変数AVの数を足した値であり、Mは被操作変数MVの数であり、Dは外乱変数DVの数である)。しかし、モデル70は、1次、2次、3次などの予測モデルまたは第1の原理モデル、状態空間モデル、コンボリューションプロセスモデル、または任意の他のタイプのプロセスモデルであってよい。コントローラモデル70は、多大な基本的モデリングを行う努力を必要としない時系列解析技法を使用するプロセスアップセット試験から確定されてもよく、または、一組または複数組の線形モデルまたは非線形モデルを重ね合わせる技法を含む任意の他の既知のプロセスモデリング技法を使用して確定されてもよい。いずれにしても、制御予測プロセスモデル70は、制御および補助変数CVおよびAVのそれぞれについて以前に計算された予測を規定する出力72を生成し、ベクトル加算器74は、目下の時間についてのこれらの予測値を、制御および補助変数CVおよびAVの実際の測定値から減算して、入力76上に誤差または補正ベクトルを生成する。この誤差は、通常、予測誤差と呼ばれる。
【0035】
制御予測プロセスモデル70は、その後、制御予測プロセスモデル70の他の入力に提供される外乱および被操作変数に基づいて、制御ホライズンにわたって制御変数および補助変数CVおよびMVのそれぞれについて将来制御パラメータを予測する。制御予測プロセスモデル70はまた、先に説明した制御変数および補助変数の予測定常状態値CVSSおよびAVSSを生成する。
【0036】
制御目標ブロック80は、ブロック38のために以前に確立された軌跡フィルタ82を使用して、目標変換ブロック55によって、制御目標ブロック80に提供されるN個の目標制御および補助変数CVTおよびAVTのそれぞれについて制御目標ベクトルを確定する。特に、軌跡フィルタ82は、制御および補助変数がその目標値に所定期間にわたって(over time)駆動される方法を規定する単位ベクトルを提供する。制御目標ブロック80は、この単位ベクトルならびに目標変数CVTおよびAVTを使用して、制御ホライズン時間によって規定される期間にわたって、目標変数CVTおよびAVTの変化を規定する制御および補助変数のそれぞれについて動的制御目標ベクトルを生成する。ベクトル加算器84は、その後、制御および補助変数CVおよびAVのそれぞれについての将来制御パラメータベクトルを、動的制御ベクトルから減算して、制御および補助変数CVおよびAVのそれぞれについて将来誤差ベクトルを規定する。制御および補助変数CVおよびAVのそれぞれについての将来誤差ベクトルは、その後、MPCアルゴリズム86に提供され、MPCアルゴリズム86は、制御ホライズンにわたって、たとえば最小2乗誤差または積分絶対誤差(integrated absolute error)(IAE)を最小にする被操作変数MVステップを選択するよう働く。一部の実施形態では、MPCアルゴリズム86は、MPCコントローラ52へのN個の制御および補助変数と、所望である場合、MPCコントローラ52によって出力されるM個の被操作変数との間の関係から生成されるM×Nの制御マトリクスを使用してもよい。より詳細には、MPCアルゴリズム86は、2つの主要な目標を有する。第1に、MPCアルゴリズム86は、オペレーション上の制約内で、最小のMVの移動を有するCV制御誤差を最小にしようとし、第2に、最適定常状態のMV値および最適定常状態のMV値から直接計算される目標のCV値を達成しようとする。
【0037】
典型的なモデル予測コントローラについての状態方程式は、
【0038】
【数1】
【0039】
として表現されてもよい。式中、Q、R、Sは、誤差、コントローラ移動、および増分移動についてのペナルティ重みであり、xkはモデル状態マトリクスであり、ykはプロセス出力であり、ukはコントローラ出力である。Q、R、Sのペナルティベクトルは、本来別個であるため、MPCコントローラは、一般に、設定点トラッキングと外乱排除との間の性能トレードオフを有さない。しかし、MPCコントローラは、依然として、特定の多変数プロセス制御目標についてチューニングされる必要がある。プロセスモデルは、MPCコントローラの内部構造(たとえば、状態空間MPC定式を有するプロセス状態空間)に常に一致するが、さらなるチューニングパラメータが、設定点変化と外乱排除に関する挙動を確定する。
【0040】
特に、ペナルティベクトルが使用されて、エンドユーザによって定義された特定のプロセスについての制御目標に従って1つの変数を他の変数に対して強調することができる。モデル不一致が推測される場合、ペナルティベクトルQおよびRはまた、コントローラをより頑健にする(すなわち、コントローラをデチューニングする)ために使用されうる。しかし、ファンネル制御または参照軌跡などの方法は、誤差ベクトルを有効にフィルタリングするため、より明白な影響を頑健性に及ぼす。このことは、これらの方法が、産業用プロセス適用においてエンジニアおよびオペレータがモデル予測コントローラをチューニングするための好ましい手段である理由である。モデル予測コントローラは、本来、プロセスに「一致する」ため、制御移動は、特定のプロセスモデルについて常に最適である。このことは、コントローラは(最終制御要素に関する物理的制限に従って)デチューニングされるだけであり、決して非常に急激にチューニングされないことを意味する。たとえば、弁開放速度は無限ではありえず、したがって、Rの値は、現実には決してゼロでありえない。PIDコントローラが外乱排除について特にチューニングされているとき、産業用MPCコントローラの外乱排除は、PIDコントローラの外乱排除より立ち遅れることがわかっている。状態更新の領域における最近のMPCの改善は、MPCルーチンで使用される観測器モデルが完全にわかっていると仮定する場合、その性能ギャップを埋めてきた。しかし、モデル不一致の存在下で、(たとえばIAEで測定される)PIDコントローラの制御性能は、考えられる最良のチューニングを施したMPCコントローラの性能より依然として優れている。それでも、観測器を有するMPC技法は、フィードバック制御性能を改善するために使用され、通常、この点でDMC技法よりうまく働きうる。
【0041】
観測器ベースMPCコントローラシステム88の実施例は図3に示される。ここで、MPCコントローラシステム88は、MPCコントローラ90、および、この場合においては、カルマンフィルタであると仮定される観測器92を含む。MPCコントローラ90は、制御信号uを、プロセスプラント94およびカルマンフィルタ92に提供する。さらに、MPCコントローラおよびカルマンフィルタ92は、同様にプロセスプラント94に提供されるかまたはプロセスプラント94内に存在する外乱入力dを受取り、測定された被制御変数yの形態でプラント94からフィードバックを受取る。プロセスプラント94は、モデル化された形態で図3に示され、その中で、プラント94は、制御信号uおよび外乱信号dを受取るプラント伝達関数96および種々の予測誤差源または外乱源を含む。特に、外乱および雑音モデル98(伝達関数GW)は、雑音w(たとえば白色雑音であってよい)を受取り、雑音モデル98の出力は、(純粋に理論的な加算器100において)プラント伝達関数96の出力に付加される。加算器100の出力は、別の理論的な加算器102において測定誤差または測定雑音zに付加されて、測定されたプロセス出力yを生成する。
【0042】
このモデルでは、確率的状態空間が特徴であるプロセスの状態変数xの更新は、ガウス分布プロセス雑音wkおよび測定雑音nkについて
xk+1=Axk+Buk+wk (4)
yk=Cxk+nk (5)
として表現されうる。
【0043】
図3の観測器92などの状態観測器の一般的な目標は、全ての測定可能なシステム入力および出力に基づいてシステムの内部状態の予測値を提供することである。特に、方程式(4)および(5)についての仮定の1つが、(プロセスをモデル化する)ベクトルA、B、およびCが正確にわかっていることである場合、観測器利得が計算されうる。カルマンフィルタと呼ばれる、1960年代に開発されたフィルタ定式は、雑音があるかまたは不完全な測定に基づいて内部プロセス状態を推定するための、プロセス制御における最も一般的な方法であった。方程式(1)〜(3)に示すMPC定式を使用する離散的サンプリングシステムの場合、次の状態xk+1を推定するためのカルマンフィルタ方程式は、
【0044】
【数2】
【0045】
である。式中、Jはカルマンフィルタ利得であり、
【0046】
【数3】
【0047】
はkの状態変数を有する状態ベクトルであり、ykは予測プロセス出力であり、
【0048】
【数4】
【0049】
はプロセス出力の実際の値である。
【0050】
非測定外乱および測定雑音についての共分散がわかっている場合、汎用カルマンフィルタ構造は、プラントモデルにGW(外乱および雑音モデル)を付加し、次に、(図3に示す)付加されたモデルについてMPCコントローラ利得を再計算することによって生成されうる。フィルタ利得Jは、リカッチ方程式(Riccati equation)を数値的に解くことによって確定される。このとき、QKFは、外乱wの共分散を表す半正定(positive semi−definite)マトリクスであり、RKFは、測定雑音zの共分散を表す正定(positive definite)マトリクスである。共分散がわからない場合、簡易バージョンのカルマンフィルタが使用されうる。この定式は、外乱wが独立であり、したがって、外乱wの各要素がプロセス出力yの1つ(でかつ1つだけ)の要素に影響を及ぼすことを仮定する。この仮定の結果として、QKFおよびRKF、入力および測定雑音共分散は必要とされない。代わりに、この簡易化は、フィルタ時定数τi、および、各外乱についての信号対雑音比SNRiの推定値を使用して、以下のように外乱モデルを生成する。
【0051】
【数5】
【0052】
式中、ai=e−T/τi(0<τi<∞)であり、Tはサンプリング期間である。τi→0になるにつれて、Gwi(q)は単位利得に近づき、一方、τi→∞になるにつれて、Gwiは積分器になる。Δwの要素iは、ゼロの平均値および標準偏差σwi(ここで、wi(k)=wi(k)−wi(k−1))を有する静的白色雑音信号であり、zの要素iは、ゼロの平均値および標準偏差σZiを有する静的白色雑音信号である。
【0053】
状態更新の目標は、時間の全ての場合において(すなわち、離散的コントローラの全てのスキャン期間において)目下の状態変数の考えられる最良の推定値を見出すことである。しかし、十分にチューニングされたMPCコントローラにおいて、考えられる最良の推定値を利用することは、考えられる最良の制御性能をもたらすことを必ずしも意味しない。特に、状態更新モデルの閉ループフィードバック経路の動的挙動は、観測器利得Jに依存する。しかし、観測器利得Jは雑音共分散(または、簡易カルマンフィルタ定式の場合、信号対雑音比)から導出されるため、観測器伝達関数を考慮するチューニングパラメータまたは総称変数が全く存在しない。したがって、閉ループ制御性能は、好ましくない(最適に満たない)方法で影響を受ける可能性がある。しかし、広い範囲のJについての閉ループ応答が、特定のコントローラ状況について非常に類似することが判断された。そのため、Jの値は、制御性能に非常に小さな影響を及ぼすだけであるように見える。意外にも、この観測は、完全なモデルの場合とモデル不一致の場合の両方に当てはまる。実際に、観測器内での移動ペナルティおよび誤差ペナルティのチューニングは、モデル不一致が有る場合と無い場合の両方で、制御性能に著しく大きな影響を及ぼすことが判断された。したがって、これらのチューニングパラメータは、以下で提供されるチューニングの説明で使用されることになる。
【0054】
観測器は、MPCフィードバック性能を改善するが、PIDコントローラなどの経験的にチューニングされるコントローラが持たない仮定を依然として有する。さらに、モデルベース観測器が有る場合かまたは無い場合の任意のモデルベース予測コントローラは、モデルが完全にわかっていることを仮定することになり、これは、実際のプロセスプラントではほとんど間違いなく当てはまらない。残念ながら、小さなモデル誤差であっても、不十分なコントローラ性能をもたらす大きな予測および状態更新誤差の原因となりうる。
【0055】
先に説明したように、モデル予測コントローラ用のチューニングパラメータは、一般に、特定のプラント適用に望ましい方法でコントローラ挙動を調整するために使用される。たとえば、ある所望の応答速度は、移動ペナルティRをある値にチューニングすることによって設定されてもよい。しかし、コミッショニングエンジニアによって設計される予想挙動は、モデル不一致が微々たるものである場合にのみ発生することになり、これは、産業用プラントにおいてほとんど当てはまらない。明白なモデル不一致を反映するために、実行者は、所望の挙動が観測可能になるまで反復的チューニングに頼ることが多い。このプロセスは、非常に時間がかかるためコストがかかり、運転中のプラントに関して考えられる全ての制御および制約シナリオをカバーすることが難しいため最適でない可能性がある。この方法が、所与のモデル不一致について所望のプラント挙動をもたらしても、挙動は、モデル不一致の大きさが変化する場合、変化することが予想されうる。さらに、モデル不一致およびその変動の量がわかっていても、この情報からチューニング情報を導出する方法が存在しない。
【0056】
以下で述べるMPC適応およびチューニング技法は、プロセスモデル不一致の知識を使用して、一定のまたは変化するモデル不一致の存在下で最適制御性能のためのチューニングを確定する。一般に、このMPC適応およびチューニング技法は、特定のプロセスモデル(たとえば、プラントコミッショニングにおいて確定されるプロセスまたはプラントモデル)に基づく最適化基準およびプロセスモデル不一致の指標を実装して、最適な一組のMPCコントローラ設計およびチューニングパラメータを生成し、最適な一組のMPCコントローラ設計およびチューニングパラメータは、最初のプロセスモデルと共にMPCコントローラで使用されると、良好なまたはより最適な制御を実現する。このMPCコントローラ適応およびチューニング技法は、たとえば観測器(カルマンフィルタなど)を有するMPCコントローラ、DMCコントローラ、または上述した他のMPCコントローラタイプのうちの任意のタイプを含む多くの異なるタイプのMPCコントローラと共に使用されうる。しかし、説明のために、MPCコントローラ適応およびチューニング技法は、カルマンフィルタの形態の観測器を有するMPCコントローラについて、種々の設計およびチューニング基準を確定するために適用されるものとして述べられることになる。この場合、以下で見られるように、適応およびチューニング技法は、使用するカルマンフィルタのタイプ、そのタイプのカルマンフィルタについて使用されるチューニングパラメータ、ならびに、MPCコントローラ自体内で使用されるチューニングパラメータを選択することができる。さらに、一部の実施形態では、MPCコントローラ適応およびチューニング技法は、プロセスモデルを再形成するかまたは再確定する必要なしで、最初に開発されたプラントモデルの代わりに、MPCコントローラにおいて予測モデルとして使用される新しいコントローラモデルを開発することになる。
【0057】
もちろん、2つのタイプのカルマンフィルタリング技法(汎用カルマンフィルタおよび簡易カルマンフィルタを含む)が、本明細書に記載される開示される適応/チューニング技法における代替のコントローラ形態として説明されるが、他のタイプのMPCコントローラ形態が、同様にこの技法において、または、以下で特に述べる技法の代わりとみなされうる。さらに、特定のコントローラ設計およびチューニングパラメータが、カルマンフィルタおよびMPCコントローラに使用されるように利用可能であるものとして述べられたが、他の設計およびチューニングパラメータが、他の実施形態において使用されてもよく、これらの設計およびチューニングパラメータは、チューニング技法によって考えられる特定のMPCコントローラに基づく。
【0058】
新しいMPCコントローラ適応およびチューニング技法が基礎を置く第1の一般原理は、チューニングパラメータが、MPCコントローラの挙動、したがって、閉ループ制御性能に影響を及ぼす方法が、任意の所与の時間に存在するモデル不一致の量に依存することである。ある場合には、これらの関係は、非常に重要でありうり、かつ/または、さらに非線形でありうる。モデル不一致の存在下でうまく働く、本明細書で述べる新しいMPCコントローラ適応およびチューニングシステムは、モデル不一致の存在下で最適な制御挙動を実現するMPCコントローラ形態および/または設計およびチューニング設定を確定するために、考えられる種々の異なるMPC設計およびチューニングパラメータの考えられる選択を含む。一実施形態では、以下のMPCコントローラ適応およびチューニング技法は、カルマンフィルタリングを用いるMPCコントローラの形態でここで説明される、観測器ベースMPCコントローラの異なる形態の中で選択してもよい。しかし、他のMPCコントローラ形態の中での選択が、併せてまたは代わりに使用されうる。以下で述べる特定の実施形態では、カルマンフィルタのタイプ(TKF)は、汎用的であってよく(すなわち、汎用カルマンフィルタ)、または、簡易的であってよい(すなわち、簡易カルマンフィルタ)。この場合、設計およびチューニングパラメータは、予測ホライズン(P)、制御ホライズン(M)、移動ペナルティ(O)、および誤差ペナルティ(R)の選択の形態で、両方のMPCコントローラについて確定されてもよい。同様に、チューニングパラメータは、カルマンフィルタについて確定されてもよく、カルマンフィルタは、汎用カルマンフィルタの場合、外乱wの共分散(QKF)および測定雑音の共分散(RKF)であってよく、また、簡易カルマンフィルタの場合、各外乱について、フィルタ時定数τi(T)および信号対雑音比(SNR)のベクトルであってよい。これらの設計およびチューニングパラメータは、これらのパラメータを指定するために、コンピュータ実施態様で使用されてもよいタイプのデータの指標と共に、以下で要約される。
・MPCコントローラチューニング:
・P(予測ホライズン)、整数
・M(制御ホライズン)、整数
・Q(移動ペナルティ)、浮動小数点ベクト
・R(誤差ペナルティ)、浮動小数点ベクトル
・カルマンフィルタのタイプ(TKF):汎用または簡易、ブール的
・カルマンフィルタチューニング
・汎用
・QKF(外乱wの共分散)、浮動小数点マトリクス
・RKF(測定雑音zの共分散)、浮動小数点マトリクス
・簡易
・T(フィルタ時定数τi)、浮動小数点ベクトル
・SNR(各外乱についての信号対雑音比)、浮動小数点ベクトル
【0059】
MPCの異なる実施態様は、最大移動レートまたは参照軌跡などの、追加のまたは異なるチューニングパラメータを使用してもよい。しかし、こうしたパラメータは、通常、オペレータの特定の必要性を対象としており、得られる効果は、先に同定したパラメータにオーバラップする可能性がある。そのため、MPCコントローラの動的挙動に影響を及ぼす他の手段が存在しても、所望のプロセス挙動の多くは、上述したパラメータによって対処されうる。さらに、本明細書で述べる設計/チューニングパラメータは、コントローラ形態パラメータ(すなわち、TFK)を含み、コントローラ形態パラメータは、この場合特に、MPCコントローラの形態を、2つの異なるタイプの観測器ベースMPCコントローラの一方であるものとして(すなわち、汎用カルマンフィルタ形態または簡易カルマンフィルタ形態の一方であるものとして)指定する。しかし、コントローラ形態パラメータは、観測器ベースコントローラ形態と非観測器ベースコントローラ形態との間や、DMCコントローラとMACコントローラとの間で、などのように、異なる形態のコントローラを指定しうる。
【0060】
モデル不一致およびチューニングパラメータは、閉ループ制御性能と高い相関があるため、MPCコントローラ適応およびチューニング技法は、モデル不一致の存在下で最適な一組のMPCコントローラ設計およびチューニングパラメータを確定するために解くことができる、制約付き最適化問題とみなされうる。図4は、いずれかまたは両方の設計およびチューニングパラメータを生成し、MPCコントローラに提供するために、この最適化問題を実装し解く構成を示す。特に、図4の最適化ブロック110は、MPCコントローラ114で使用されるプロセスモデルの知識およびモデル不一致の量に基づいて、カルマンフィルタ116の形態の観測器に結合するMPCコントローラ114を有するMPCコントローラユニット112で使用するための理想的なまたは最適な設計およびチューニングパラメータを確定する。ここで、MPCコントローラ114およびカルマンフィルタ116はそれぞれ、図3に関して先に説明したコントローラ90および観測器92であってよい。
【0061】
図4の最適化ブロック110は、入力として、プラントのために最初に開発され、おそらくMPCコントローラによって使用されるプロセスモデル(「プラントモデル」として示す)および存在するモデル不一致の指標を受容する。存在するモデル不一致の量は、たとえば図1のユーザ入力ルーチン46を介してユーザによって入力されてもよく、または、以下で述べる方法などの他の方法で確定されてもよい。これらの入力に基づいて、最適化ブロック110は、(考えられる利用可能なタイプから)使用する理想的なまたは最も適したMPCコントローラタイプまたは形態を確定すると共に、特定のプロセスモデルおよびモデル不一致を考慮して、確定されたMPCコントローラタイプについて使用するための特定の設計パラメータならびにコントローラおよびフィルタリングパラメータを確定する。そのため、図4の最適化ブロック110を出る一番上のラインで示すように、最適化ブロック110は、MPCコントローラユニット112で使用するためのカルマンフィルタリング技法のタイプ(TKFとして同定される)、および、このMPCコントローラタイプについて使用するためのチューニングパラメータを確定する(TKFが汎用カルマンフィルタである場合、QKFおよびRKFとして同定され、または、TKFが簡易カルマンフィルタである場合、TおよびSNRとして同定される)。ブロック110は、これらの設計およびチューニングパラメータをカルマンフィルタ116に提供する。さらに、最適化ブロック110は、最適化の一部として、MPCコントローラ114によって使用される一組の設計およびチューニングパラメータを確定する。これらのパラメータは、MおよびP(設計パラメータ)ならびにQおよびR(チューニングパラメータ)として図4で同定される。これらのパラメータは、ブロック110を出る下の2つのライン上に、最適化ブロック110によって出力されるものとして示される。一般的に言えば、最適化ブロック110によって確定される設計およびチューニングパラメータは、最適化ブロック110内に格納されるかまたは最適化ブロック110によって実行される目標関数を(目標関数に提供される制約内で)最小にするパラメータであり、プロセスまたはプラントモデルおよび存在するモデル不一致を考慮して、最良のコントローラ性能を同定する。重要なことには、図4の最適化ブロック110は、最適化ブロック110の目標関数に基づいて、MPCコントローラユニット112で使用するための一組のMPC設計およびチューニングパラメータの値を生成し、その設計およびチューニングパラメータは、プラントモデル自体を変更するかまたは再生成する必要なしで、目下のプロセスまたはプラントモデルおよびモデル不一致が与えられると、考えられる最良のまたは最も理想的な制御をもたらす。
【0062】
一実施形態では、最適化ブロック110は、セトリング時間にわたって関数f(x)(目標関数)の積分絶対誤差(IAE)を最小にするように試みる目標関数を使用する。しかし、この最適化は、MPCコントローラの制御ホライズンまたは予測ホライズンなどの移動性ホライズン、または、所望される場合、他の期間にわたって確定されうる。もちろん、任意の数の異なる目標関数が使用されることができ、これらの目標関数が実装されて、最小IAE、または、最小2乗誤差、積分誤差、変化性、標準偏差などのような他のある尺度を確定し、それにより、最適制御性能を評価しうる。さらに、任意の方法で物理的および論理的境界に対処するために、最適化アルゴリズムに制約が付加されて、最適化ブロック110が、あるプロセスまたは制御制約の違反を引起すコントローラ設計または一組のチューニングパラメータを指定することを防止してもよい。しかし、通常、制約のまさにその値は、計算の範囲だけに影響を及ぼし、総合的な結果に影響を及ぼさない。
【0063】
1つの特定の実施形態では、図4の最適化ブロック110によって実施される最適化計算は、以下の目標関数を実装してもよい。
【0064】
【数6】
【0065】
式中、Γは一組の設計およびチューニングパラメータ(この実施例では、[P、M、Q、R、TKF、QKF、RKF、T、SNR]Tであってよい)であり、
【0066】
【数7】
【0067】
はプロセスまたはプラントモデル(この実施例では、=[G、τ1、τ2]Tであってよい)であり、
【0068】
【数8】
【0069】
は、1つまたは複数のプロセスモデルパラメータにおけるプロセスモデル不一致であり、g(Γ)は、たとえば、制御アルゴリズムの計算限界、プロセス限界などを記述する計算制約を規定する。ここで、Gは、プロセスモデル利得パラメータであり、τ1およびτ2は、プロセスモデルの1次および2次時定数パラメータである。もちろん、IAEは、制御性能尺度として使用される積分絶対誤差であり、
【0070】
【数9】
【0071】
として計算されてもよい。式中、y(t)は、被制御プロセス出力変数であり、SP(t)は、その被制御出力変数についてのオペレータ設定点である。
【0072】
基本的に、図4の最適化ブロック110は、コントローラが最初のプロセスモデルを使用して設計されるが、プロセスモデル不一致の存在下で動作するときの、MPCコントローラの動作をシミュレートし、このシミュレーションを(特定のモデル不一致について)複数の異なる組のコントローラ設計/チューニングパラメータのそれぞれについて実施して、特定のモデル不一致における複数の異なる組のコントローラ設計/チューニングパラメータのそれぞれについてコントローラ性能尺度(たとえば、IAE)を確定する。1つの実施例では、最適化ブロック110は、プロセスモデルおよび予想されるかまたは観測されるモデル不一致に基づいて、考えられる異なるMPCコントローラ形態(たとえば、考えられるカルマンフィルタタイプ)について(MPCコントローラおよびカルマンフィルタの両方の)チューニングパラメータの異なる値についての、一組の考えられる種々の組合せのそれぞれを使用することから生じる(IAEの形態の)予想されるプロセス誤差を計算する。最適化ブロック110は、その後、モデル不一致を考慮して最小のIAE(すなわち、最良の性能)をもたらす特定の組の設計および/またはチューニングパラメータを確定し、それにより、コントローラ性能尺度に基づいてモデル予測コントローラで使用するためのコントローラ設計/チューニングパラメータの組みのうちの最適なパラメータを確定する。これらの設計およびチューニングパラメータは、その後、図4のMPCコントローラユニット112で使用されて、MPCコントローラ114によって使用されるコントローラモデルを変更することなく、また、プラントモデル自体を再形成するかまたは再生成する必要なしで、その量のモデル不一致の存在下で良好なまたはより最適な制御を実施してもよい。
【0073】
最適化ブロック110の動作をより詳細に示すために、図5は、プロセスモデル利得における所与の量のモデル不一致についての考えられる最良のIAE(すなわち、最小IAE)を示すプロットを提供し、そのプロットは、汎用カルマンフィルタを有するMPCコントローラと簡易カルマンフィルタを有するMPCコントローラの両方について、モデル不一致の異なる値について方程式(9)の最適化を解くことによって得られたものである。詳細な最適化結果は、以下の表1に示され、表1では、アクティブな制約に関連する、すなわち、チューニングパラメータがある制約に保持された場合のIAE値は、アスタリスクを先頭に付された形で示される。さらに、モデル不一致は、実際のプロセス利得Kとモデル化されるかまたは予想されるプロセス利得
【0074】
【数10】
【0075】
すなわち、
【0076】
【数11】
【0077】
の比として表される。この実施態様は、使用されているMPCコントローラユニット112が、多変数コントローラの代わりに、単一入力/単一出力コントローラである実施態様であるため、MPCコントローラチューニングパラメータQは1に設定され、MPCコントローラチューニングパラメータRの変更のみが許容された。単一ループMPC実施態様では、QとRの比だけがチューニングを決定するため、この数学的操作が実施されうる。
【0078】
【表1】
【0079】
表1から、最適化ブロック110は、考えられるチューニングパラメータの全てを利用して、任意の特定のモデル不一致について見出される最小IAEによって規定される最適制御性能を達成することが見てわかる。興味深いことには、最適化ブロック110は、制約が課されない限り、かなり類似する制御性能をもたらす、モデル不一致の異なる値についての異なるチューニングパラメータを確定する。制約が課されると、最適化ブロック110は、モデル不一致を補償するための自由度(すなわち、チューニングパラメータ)がなくなるため、コントローラ性能は通常不利をこうむる。同様に、表1から見てわかるように、汎用カルマンフィルタリングを用いるMPCは、プロセス利得Kの不一致が、
【0080】
【数12】
【0081】
である場合、簡易カルマンフィルタリングを用いるMPCより性能が優れる。ここで、Kは実際のプロセス利得であり、
【0082】
【数13】
【0083】
はモデル化されるかまたは予想されるプロセス利得である。しかし、簡易カルマンフィルタリングを用いるMPCは、プロセス利得の不一致が、
【0084】
【数14】
【0085】
である場合、汎用カルマンフィルタリングを用いるMPCより性能が優れる。もちろん、汎用カルマンフィルタリング定式は、状態変数を更新するために指数加重移動平均(exponentially weighted moving average)(EWMA)フィルタリングを使用する簡易カルマンフィルタリング技法の定式より厳密である。そのため、簡易カルマンフィルタリング技法は、予想より大きい利得を非常にうまく扱うようにチューニングされることができないが、予想より小さい利得に関しては優る。換言すれば、簡易カルマンフィルタリングを用いるMPCはフィルタリングに基づくが、プロセス応答が予想より小さい利得を有する場合(すなわち、
【0086】
【数15】
【0087】
である場合、汎用カルマンフィルタリングを用いるMPCより頑健である。しかし、
【0088】
【数16】
【0089】
である場合、簡易カルマンフィルタリングを用いるMPCは、汎用カルマンフィルタリングを用いるMPCに比べて、わずかに高い積分絶対誤差を生成する。
【0090】
モデル不一致が、1次時定数(τ1)に起因するかまたはそこに存在する場合、2つのカルマンフィルタリング法の間の積分絶対誤差の差は、より顕著になる。図6および以下の表2に示すように、プロセスが、予想より応答性が高い(すなわち、
【0091】
【数17】
【0092】
である。ここで、τ1は実際の1次時定数であり、
【0093】
【数18】
【0094】
は、プロセスモデルに関連する1次時定数である)場合、IAEは、振動が発生するため、非常に急峻な傾斜で上昇する。両方のカルマンフィルタリング法は、振動によって同様に影響を受け、一定のまたは変動するモデル不一致の存在下での最適制御用の自動方法は、必ず振動を回避するようにすべきである。しかし、プロセスが予想より遅く反応する、すなわち、
【0095】
【数19】
【0096】
である場合、簡易カルマンフィルタリングを用いるMPCは、かなり良好に働き、このことは、汎用カルマンフィルタリングは、安定しているが、このシナリオでは使用されるべきでないことを意味する。簡易カルマンフィルタリング定式は、チューニングパラメータの1つとしてフィルタ時定数を使用するため、最適化法は、プラントモデルと実際のプラント特性との間の時定数不一致を補償するために、このチューニングパラメータを容易に使用しうる。この補償は、表2(やはり、表2では、アクティブな制約に関連する値は、先頭にアスタリスクが付された形で示される)の値において容易に観測されうる。汎用カルマンフィルタチューニングパラメータが制約に固定され、MPCコントローラチューニングパラメータだけが、依然として移動するのを許容されるが、簡易カルマンフィルタのTパラメータは、広い範囲にわたって移動し、モデル不一致を補償し、それにより、IAEを非常に低いレベルに維持する。もちろん、先に示したように、カルマンフィルタタイプは、図4に述べる最適化法のブール的出力として特に提供され、この出力により、図4のカルマンフィルタ116に、簡易カルマンフィルタリングの使用と汎用カルマンフィルタリングの使用との間での切換えが生じる。
【0097】
【表2】
【0098】
表2および図6からもわかるように、考えられる最小IAEは、汎用カルマンフィルタの場合、
【0099】
【数20】
【0100】
(すなわち、モデル不一致比=1の場合)の(図6のプロットの)左にある。実際のプロセスの1次時定数が、MPCコントローラに比べて約半分の値に変化し、汎用カルマンフィルタが、
【0101】
【数21】
【0102】
となるように設計された場合、IAEは減少する。このことは、カルマンフィルタ利得Jについての推奨されたチューニングが、考えられる最良の制御性能をもたらさないことを意味する。この状況は、MPCコントローラ内で実施されるコントローラ最適化問題が、移動を最小にしながら、静的誤差を最小にするように設計されるために起こり、一方、適応/チューニング最適化問題は、被制御変数誤差のIAEを最小にするように設計され、それにより、制御性能を直接最大にする。
【0103】
2次時定数(τ2)のモデル不一致の影響は、図7に示され、以下の表3に提供されているが、先に示した1次時定数(τ1)のモデル不一致の影響と非常に似ている。汎用カルマンフィルタと簡易カルマンフィルタとの間の差異の規模は小さいが、傾向は、基本的に同じである。
【0104】
【表3】
【0105】
MPC制御および状態更新についての最適チューニングパラメータは、最適化を使用して、プラントモデルおよびモデル不一致に関する知識から確定されるが、モデル不一致およびこのモデル不一致を補償するのに使用される最適コントローラ設計およびチューニングの影響は、上記実施例において各モデルパラメータについて別々に解析された。現実のプラントシナリオでは、所定のモデルに対応するプロセスモデルパラメータの全て(および種々の理由でモデル化されない他のプロセスモデルパラメータ)は、同時に変わってもよく、また、おそらく同時に変わることになる。どのモデルパラメータが最も影響を受けるかは、主に、プロセスタイプおよびモデル不一致の理由(たとえば、管汚損、燃料の熱係数の変動など)に依存する。さらに、使用されるモデル同定法に応じて、たとえば進み時定数のモデル不一致は、モデルむだ時間または時定数のモデル不一致として解釈されてもよい。そのため、1つまたは2つのモデルパラメータは、モデル不一致に同時に著しく寄与することが多い。結果として、上記実施例で実施される1次元空間の代わりに、多次元空間でモデル不一致を解析して、任意の特定の場合に使用するための最良の一組のモデルパラメータを確定することが有利である。すなわち、1つのプロセスモデルパラメータにおいて、ある不一致について最適な一組の設計およびチューニングパラメータを確定する代わりに、複数のプロセスモデルパラメータ(たとえば、プロセス利得、1次時定数、および2次時定数)において同時の不一致が存在する状況について最適な一組の設計およびチューニングパラメータを確定することが有利である。
【0106】
図8は、プロセス利得Kと1次時定数τ1の両方が、モデル不一致を同時に有することを許容された2次元のプロセスモデル不一致を可能にするときの、図4の最適化法によって計算された、汎用カルマンフィルタ状態更新技法を使用するシミュレートされたMPCコントローラにおける考えられる最良のIAEの表面プロットを示す。この場合、1次時定数および2次時定数についての最適チューニングは、非常に似ており、1次時定数がより重要である。3次元可視化が4次元可視化より好ましいため、2次時定数τ2におけるモデル不一致の影響は、図8のプロットでは無視された。実際に、2次時定数τ2は、変動することを全く許容されなかったが、不一致を全く有さないと仮定された。以下の表4は、図8のプロットに示すプロセス利得Kと1次時定数τ1についての不一致値の種々の組合せの組のそれぞれにおいて最小IAEの値を提供する。表4の各ボックスに関連する、MPCコントローラおよびMPCコントローラと共に使用される汎用カルマンフィルタについての最適チューニングパラメータの値は、示されないが、上述した最適化技法を使用して計算された。ここで再び、モデル不一致は、実際のプロセスパラメータ値とモデル化されたプロセスパラメータ値の比として表現される(すなわち、
【0107】
【数22】
【0108】
および
【0109】
【数23】
である)。
【0110】
【表4】
【0111】
より容易な可視性のために、
【0112】
【数24】
=1
【0113】
および
【0114】
【数25】
=1
【0115】
(すなわち、モデル不一致が全く起こらない)の値が、図8の点線として示される。これらの線が交差する点は、プロセスモデルが完全に一致した制御性能を示す。これらの線のそれぞれに沿う断面は、図5および図6のプロットを正確に表す。先に説明したように、
【0116】
【数26】
【0117】
の方向における1次時定数のモデル不一致は、振動挙動をもたらす。しかし、
【0118】
【数27】
【0119】
であるように、プロセス利得のモデル不一致も同時に存在する場合、この振動は起こらないことが見てわかる。予想されるように、
【0120】
【数28】
【0121】
であるような利得のモデル不一致によって、問題は悪化する。本来異なるモデルパラメータにおけるモデル不一致が、制御性能に対する総合的な影響を打ち消すかまたは増幅しうることは、最適コントローラ設計およびチューニングパラメータの計算中にモデル不一致の全ての次元を評価することが有利であることを示す。図8から、考えられる最良の制御性能は、必ずしも完全なモデルによって達成されるわけではないことも明らかである。たとえば、図8のプロットでは、
【0122】
【数29】
=2
【0123】
でかつ
【0124】
【数30】
=1.5
【0125】
である場合、制御性能は、
【0126】
【数31】
=1
【0127】
でかつ
【0128】
【数32】
=1
【0129】
のIAEの代わりに、0.0545のIAEを有する。チューニングパラメータが、上述の最適化定式によって最適に計算されると仮定すると、この差は、56%の改善になる。
【0130】
もちろん、仮定されるプロセスモデルおよび正確なプロセスモデル不一致がわかっている場合、MPCコントローラおよび観測器(カルマンフィルタ)によって使用されるプロセスモデルは、さらに良好な性能を達成するために、完全なモデルと置換されうる。しかし、実際の制御状況では、モデル不一致を測定することが難しく、その結果、本明細書で述べるMPC設計およびチューニング技法は、正確なまたは完全なプロセスモデルを知ることなく、良好なまたは最適なMPCコントローラ動作を目的としている。実際に、本明細書で述べる設計およびチューニング方法は、(たとえば、図4で規定された)MPCコントローラユニットチューニングパラメータを調整し、仮定されたプラントモデルを不変のままにする(これが、プラントにおけるエンジニアの最良の推測であることになるためである)。
【0131】
図9は、簡易カルマンフィルタリングを用いるMPCについての等価な3次元最適チューニングマップ、すなわち、汎用カルマンフィルタを用いるMPCコントローラについて図8のチューニングマップと同じ方法で作成されたチューニングマップを示す。ここで再び、モデル不一致は、プロセス利得モデルパラメータKと1次プロセス時定数モデルパラメータτ1の両方で起こることを許容されたが、2次時定数モデルパラメータτ2では起こることを許容されなかった。次の表5に、図9のマップの各点を示す。
【0132】
【表5】
【0133】
(図8および9の)両方の最適チューニングマップの上左角は、不安定性の領域を示す。さらに、両方のプロットは、IAE=2でカットオフされる。いずれの場合も、この領域に、非常に急峻な傾斜で近づくことが明らかである。3次元チューニングマップを計算しプロットすることは、こうした不安定領域のサイズ、位置、および急峻度の容易な評価を可能にする。こうした領域は必ず回避されるべきであるため、ペナルティが高いスラック変数についての制約が、この領域を回避するために図4のブロック110で使用される最適化方程式に付加されうる。いずれにしても、異なるカルマンフィルタ方法を用いるMPCの最適チューニングマップを比較すると、両方のコントローラが、領域
【0134】
【数33】
【0135】
【数34】
【0136】
において不安定になることが明らかになる。しかし、汎用カルマンフィルタを用いるMPCだけが、領域
【0137】
【数35】
【0138】
【数36】
【0139】
において不安定になる。先に提案されたように、簡易カルマンフィルタにおいてだけ見出される固有のフィルタリングは、安定化メカニズムとして働く。
【0140】
いずれにしても、図4に関連して述べる最適化ベースチューニング方法は、特定のプロセスについてのプロセスモデル不一致を考慮した、最良のMPCコントローラ形態ならびに設計およびチューニングパラメータの確定を可能にする。結果として、図4の最適化ブロック110は、モデル不一致の特定の値についての最適チューニングを確定し、この最適チューニングは、そのモデル不一致の存在下で最適制御性能を保証することになる特定のMPCおよび観測器設計およびチューニングを確定するのに有用なチューニングマップとして表現されうる。MPCコントローラの業界ユーザは、通常、所望の挙動に達するように見えるまで、チューニング「ノブ」を手動で調整しなければならないため、図4に関連する技法が、有利に使用されうる。この場合、ユーザは、図5〜9および表1〜5に示すような、チューニング用可視化マップ、プロット、およびデータを閲覧して、1つまたは複数のプロセスモデルパラメータにおけるプロセスモデル不一致の所定のまたは予想される値が与えられる場合、最良のコントローラ形態およびチューニングパラメータを確定してもよい。
【0141】
そのため、所望である場合、図4の最適化ブロック110は、たとえばユーザによる、あるいは、何らかの他の半自動または自動方法によるブロック110への入力として、(1つまたは複数のプロセスモデルパラメータにおける)特定の量のモデル不一致について、最良の設計および/またはチューニングパラメータを計算してもよい。ブロック110が、(1つまたは複数のプロセスモデルパラメータにおける)これらの特定の量のプロセスモデル不一致を考慮して、MPCコントローラユニット112で使用される最良の組の設計およびチューニングパラメータを確定した後、これらの設計およびチューニングパラメータは、MPCコントローラユニット112に送出され、良好な制御を実施するために、オンライン制御中に使用されてもよい。別法としてまたは付加的に、ブロック110は、多数の組合せのプロセスモデルパラメータ不一致のそれぞれにおいて、考えられる最小IAEを示す、図8および図9のマップなどの最適IAEマップを確定し、マップ自体を考慮してユーザが所望のまたは適切なチューニング点を選択することを可能にするために、これらのマップをユーザに提供するかまたは表示してもよい。ブロック110は、その後、選択された点に基づいてオンライン制御中に使用される設計およびチューニングパラメータの値をコントローラ112に提供してもよい。ブロック110は、コントローラユニット112と独立に動作してもよいため、コントローラユニット112と同じデバイスまたは異なるデバイス内に格納されかつそこで実行されてもよい。そのため、たとえば、ブロック110は、図1のコンピュータ13のうちの1つのコンピュータ内に格納されかつそこで実行され、通信ネットワーク29を介してコントローラユニット112と通信してもよい。コントローラユニット112は、図1のコントローラ11内か、図1のフィールドデバイス15〜22の1つまたは複数のデバイス内か、または任意の他の所望にデバイス(複数可)内にあってもよい。
【0142】
もちろん、所与のモデル不一致およびプロセスモデルについての最適な組の設計およびチューニングパラメータは、モデル不一致が全く存在しないとき、または、異なる量のモデル不一致が存在するときに最適に満たないものになることが予想される。同様に、正確なモデルよりも、モデル不一致の存在を確定することの方が容易な場合があるが、任意の特定の状況における任意の特定のモデルパラメータについての特定の量のモデル不一致を確定することは依然として難しい可能性がある。同様に、モデル不一致の量を確定することは、必要とするプロセス外乱が少ないため、精密なプロセスモデルを確定することより容易である可能性があるが、モデル不一致の量は、依然として徐々に変化する可能性があり、それにより、この変化するモデル不一致を最適に反映するために、新しい設計およびチューニングパラメータの生成が必要とされる。こうした理由で、ある事例では、各プロセスモデルパラメータについてモデル不一致の特定の値を使用するよりも、適切な組の設計およびチューニングパラメータ値を生成するために、図4の最適化ブロック110において種々のプロセスモデルパラメータのそれぞれのモデル不一致範囲を指定し使用することが望ましい場合がある。
【0143】
2次元部分空間(この場合、2次時定数を無視する)におけるモデル不一致の範囲の実施例は、実際のプロセス利得Kactual=2±0.5および実際の1次時定数tactual=20s±5sとして書かれてもよい。これらの範囲は、図10の2次元部分空間で示され、利得の範囲は1に等しく(すなわち、ΔK=1)、1次時定数の範囲は10秒に等しい(すなわち、Δt=10s)。モデル不一致が、可能性のある範囲として規定されると、モデル不一致範囲は、図8および図9に関して上述したように計算された最適チューニングマップと重ねられて、MPCコントローラ適応およびチューニングのさらなる利点を提供しうる。こうしたオーバレイの例示的な図は、図11に示される。
【0144】
所望である場合、こうしたオーバレイは、ソフトウェアパッケージ内に実装されることができ、ソフトウェアパッケージは、たとえば、図8および図9のマップのうちの一方のマップなどの、最適チューニングマップ上で、このオーバレイをプロセスエンジニアに表示する。この可視化は、指定された範囲内の考えられるモデル不一致に基づいて、コントローラが望ましくない作動領域内に移動する可能性を、エンジニアが閲覧し確認することを可能にする場合がある。こうした範囲は、併せてまたは別法として、さらなるMPCコントローラ設計およびチューニグ最適化のために使用されうる。特に、こうした表示は、MPCコントローラをコミッショニングするときにエンジニアにとって非常に有用でありうる。その理由は、エンジニアが、特定のチューニングについて予想されるモデル不一致範囲の関数として、考えられる最悪および最良の制御性能を容易に視覚的に評価でき、所望に応じて手動補正を行うことができるからである。(範囲オーバレイが有る状態でまたは無い状態で)図8、図9、および図11のマップなどの最適化マップを表示するためのこの表示ソフトウェアは、ブロック110によって生成されてもよく、または、図1のユーザ表示ソフトウェア46の一部として生成されてもよい。この場合、ユーザ表示ソフトウェア46は、ブロック110と通信してもよく、または、これらのマップを生成するためにこのブロックを含んでもよい。
【0145】
いずれにしても、図11の実施例では、(利得の不一致も時定数の不一致も無い点を中心とする)モデル不一致範囲内の最悪の制御性能は、Kactual=1.5でかつtactual=25sである場合に起こる。しかし、その点でのIAEは、0.7であり、モデル不一致範囲表面積のほんのわずかな部分が、0.5を超えるIAE値とオーバラップするため、その領域内にある可能性が比較的低いことを特に考慮しても、許容可能であるとエンジニアによって考えられうる。モデル不一致に関するより多くの情報(たとえば、物理的なプロセス制限)が入手可能であった場合、図10に示す2次元モデル不一致部分空間は、発生の可能性を反映するように修正されうる。そのため、たとえば、図10のモデル不一致部分空間は、モデル不一致の可能性に関する知識に基づいて、たとえば楕円、円、または任意の他の所望の形状を含む、図示する長方形以外の他の形状をとりうる。
【0146】
図4のチューニング方法のさらなる改良として、プロセスモデルパラメータの1つまたは複数の値における考えられるかまたは予想されるモデル不一致範囲の量の関数として、所与のプラントモデルについての最も理想的なチューニング点を確定することが有利である場合がある。特に、図11を調べると、モデル不一致範囲部分空間の中心点が、仮定される「完全な」モデルに固定されるため、計算されるチューニングパラメータが、モデル不一致範囲部分空間の点のうちの任意の点において、図11のマップ内の考えられる最小のIAEを必ずしも提供しないことが見てわかる。この2次元の実施例では、表面で表されるこの部分空間が、移動することを許容された場合、図4に示すブロックの修正された最適化技法は、モデル不一致範囲表面内で最悪の(最大の)IAEについてより低い値を見出すことができ、それにより、コントローラの総合性能が向上する。言い換えると、(プロセスモデルパラメータによって規定される種々の次元のそれぞれにおいて)指定された、可能性がある、予想される、または考えられるモデル不一致範囲が与えられると、上述した技法を使用して計算される一組の最適チューニングパラメータを使用することが望ましい場合があり、その一組の最適チューニングパラメータは、一般に、最良のコントローラ動作が、これらの範囲によって規定される部分空間の中心点で、またはさらに、その部分空間内でさえ見出されなくても、また、モデル不一致範囲部分空間の中心点が、プラントのために実際に開発されたプロセスモデルに対応しなくても、その部分空間内でMPCコントローラ動作を最大にする。
【0147】
この場合、本明細書に述べるMPCコントローラ設計およびチューニング技法は、(結果が、最初の仮定したモデルと同程度に不確かである可能性があるため)モデル不一致に関する知識を用いて(図4のブロック110への入力として提供される)仮定したプロセスモデルを更新しない、または、変更しないが、この技法は、既知のまたは推測されるプロセスモデル不一致範囲を考慮してMPCコントローラを適応させチューニングして、このモデル不一致範囲を考慮して良好な総合制御を実施する。特に、図12に示すように、モデル不一致範囲部分空間の中心点は、モデル化されるチューニング領域内に再配置されるかまたはチューニング領域内を移動させられて、予想されるプロセスモデル不一致を考慮してその中で動作するチューニング空間の最良の総合部分領域を配置してもよい。この部分領域内で動作するために、(MPC制御移動を計算するためにMPCコントローラで使用される)コントローラモデルは、チューニングマップ内の新しい中心点を中心とするようになっていてもよく、その中心点およびモデル不一致部分空間は、総合チューニングマップ内の動作の最良の部分領域をもたらす。ある場合において、チューニングマップ内の総合最良部分領域は、モデル不一致部分空間が全体のチューニングマップを通して移動するため、特定の部分領域内に存在する最悪の(最大の)IAEの考えられる最小値を計算することによって確定されてもよい。もちろん、全体の不一致領域部分空間にわたる最小平均IAE、全体の不一致領域部分空間にわたる最小加重平均などのような、最良の動作部分領域を確定するための、統計ベースの尺度を含む他の尺度も使用されうる。
【0148】
所望される場合、特定の最良の不一致部分領域は、
【0149】
【数37】
【0150】
として定義される第2の最適化問題を定式化し解くことによって見出されうる。式中、Ψは、モデル不一致の任意の組合せにわたって方程式(9)を反復させることによって計算されるチューニングマップであり、gΨ(Γ)は、チューニングマップΨの次元を記述する不等式制約を定義し、iΨは、チューニングマップΨの次元を定義する。方程式(11)の特定の最適化は、チューニングマップ内でIAEの最小値を含むモデル不一致範囲部分空間を確定する。チューニングマップが、依然として、エンジニアによって最初に提供されたプロセスモデル(仮定されたプロセスモデル)に基づいて生成されるため、さらなるプロセスモデルの知識はこの操作には必要とされないことが留意されるべきである。方程式(11)の最適化の結果は、修正されたコントローラモデルおよび一組のコントローラチューニングパラメータであり、修正されたコントローラモデルおよび一組のコントローラチューニングパラメータは、その後、予想されるモデル不一致範囲を考慮して良好な性能を得るために、MPCコントローラを開発するのに使用される。しかし、新しいコントローラモデルを確定する唯一の目的が、目下のチューニングマップ内でIAEを最小にすることであるため、たとえば図11または図12のチューニングマップは、新しいプロセスモデルに基づいて再計算されない。
【0151】
この操作を図4の最適化ブロック110に付加することによって、MPCコントローラの設計およびチューニングパラメータは、(新しい中心点の)新しく確定される理想的な値に変更されて、最初の中心点におけるMPCおよび観測器チューニングによって可能である以上に、制御性能を最大にする。ある意味では、この場合、プロセスモデルパラメータは今や、MPCコントローラ内で使用される新しいコントローラモデルを確定するのに使用されるため、コントローラ設計/チューニングパラメータにもなっている。モデル不一致が存在しない場合、修正モデルを有するコントローラの制御性能は、最初のモデルを有するコントローラの制御性能より悪化することが予想されることは真実である。しかし、先に説明したように、モデル不一致が存在しないという可能性は非常に小さい。現実のプラントシナリオでは、修正されたコントローラがまさに方程式(11)の最適化計算の目標関数であるため、最初のコントローラの性能は、大多数のモデル不一致シナリオについて修正されたコントローラより悪化する可能性がある。さらに、仮定されたモデルと修正されたモデルとの間の最悪のIAE点の差は、通常、重要である。その理由は、一方の側で不安定性を、他の側で低い性能をもたらす傾斜が、通常、非常に急峻であるからである。図13は、MPCコントローラで使用するための修正されたコントローラモデルならびに一組のコントローラ設計およびチューニングパラメータを確定するため、モデル不一致範囲を使用するために、図4の最適化ブロック110がどのように修正されうるかを示す。
【0152】
図13に示すように、最適化ブロック110Aは、方程式(9)の最適化を含む方程式(11)によって示す2つの最適化を含むかまたは実施し、ブロック110Aへの入力は、(モデルパラメータの1つまたは複数について)特定のモデル不一致を指定することからモデル不一致範囲を指定することへ変更される。ここで、最適化ブロック110Aはまた、新しいコントローラモデル(すなわち、図13のブロック110Aの出力のうちの1つに示される修正されたコントローラモデル)を開発するのに使用される、モデルパラメータについての新しい一組の値を生成する。本質的に、最適化ブロック110Aによって確定されるモデル不一致部分空間の新しい中心点は、その中心点に関連するプロセスモデルパラメータについての特定の一組の値を有し、これらのモデルパラメータ値は、最初の中心点に関連するモデルパラメータ値と異なる(すなわち、最初のプラントモデルに関連するモデルパラメータ値と異なる)。これらの新しいプロセスモデルパラメータ値は、その後、(ブロック110Aへのプラントモデル入力を実際に変更することなく)新しいコントローラモデルを開発するのに使用され、このコントロ−ラモデルは、新しい中心点に関連する他の設計およびチューニングパラメータ(たとえば、Q、R、M、P)と共に、コントローラ設計パラメータとしてMPCコントローラに提供される。
【0153】
特定のモデル不一致からある範囲のモデル不一致へ最適チューニング方法を拡張することは、その有用性を劇的に増加させる。この新しい範囲ベース不一致技法は、わかっているが正確に測定することが難しい特有のプロセスパラメータ変動を有する多くの産業プロセスに適用されうる。さらに、以下で述べるように、適応/チューニング方法は、モデル不一致フィードバックを使用して、図13の提示された2重最適化方法を、変化するモデル不一致に適応させ、それにより、オンライン制御中の任意の特定の時間に使用される最適なコントローラ設計およびチューニングパラメータの自動確定またはオンライン確定を実現してもよい。
【0154】
より詳細には、適応チューニング(すなわち、適応制御)を用いた閉ループ制御を実施する上述したMPCコントローラ適応およびチューニング方法を使用することが可能である。ほとんどの適応制御方法は、一般に、プロセス値の変化、オペレータ設定点の変化などのような検出可能なイベントによってトリガーされると、連続して(たとえば、周期的に)または自発的にプロセスモデルを改良するかまたは再生成することによって働く。新しいモデルが確定された後、コントローラが移動するか、または、チューニングパラメータが、その後、モデルから計算される。しかし、これらの方法は、一般に、外乱または設定点の変化によって導入される可能性があるプロセス変動に依存し、したがって、これらの方法の効率、精度、および安定性は、プロセス変動量に比例して増加する。
【0155】
しかし、精密なプロセスモデルを確定するかまたは生成することよりも、モデル不一致の統計的な量または変動を確定することの方が一般に容易である。自己相関などの多くの方法が、閉ループプラントオペレーション中にモデル不一致量を確定するために提案されてきたが、閉ループプラントオペレーション中に良好なプロセスモデルを確定することは非常に難しい。その理由は、(プロセス出力の変動を最小にする)コントローラの目標が、(プロセスアップセットを通してプロセスを動作させて、プロセス出力の変動を最大にする)モデル同定の要件に矛盾するからである。
【0156】
以下に述べるコントローラ適応およびチューニングを自動的に実施する方法は、モデル不一致量を使用して、MPCコントローラユニットの設計およびチューニングパラメータをいつ調整するか、すなわち、図4および図13の最適化ユニット110または110Aをいつ実装するかを確定する。この適応チューニング方法は、ある量のプロセス変動に依存し、実際に、ある量のプロセス変動を必要とするが、制御性能を最大にするチューニングパラメータを導出するために、プロセス変動を最大にする必要はない。
【0157】
当技術分野でイノベーション(Ik)と呼ばれ、残差または予測誤差としても知られる概念は、
【0158】
【数38】
【0159】
として定義される。式中、ykは予測されるプロセス出力であり、
【0160】
【数39】
【0161】
は、プロセス出力の実際の値である。この項は、更新される状態変数を計算するためにカルマンフィルタ方程式(6)で使用される。研究者等が、イノベーションを解析する多くの方法を提案したが、こうした方法の適用は、通常、予測制御システムまたはソフトセンサプロジェクト(たとえば、ニューラルネットワーク)のコミッショニングフェーズまたは保守フェーズ中に起こる。たとえば自己相関は、研究者/エンジニアが、イノベーションを解析するために頻繁に使用する方法である。その理由は、自己相関が、プラントのコミッショニングフェーズにおいてモデル誤差と非測定外乱を識別しうるからである。しかし、モデル誤差がオペレータに対して現れるのと同じように、すなわち、予測されるプロセス値と実際のまたは測定されるプロセス値との差として、非測定外乱が現れるため、オンライン制御動作中にモデル誤差と非測定外乱を識別することは難しく、したがって、発生する誤差は、フィードバック制御技法を使用した場合にのみ補正されうる。
【0162】
一般的に言えば、イノベーション(Ik)の自己相関は、誤差信号のうち非ランダム的寄与によるものの量を示す指標を提供する。イノベーションの自己相関の値が高ければ高いほど、存在するプロセスモデル不一致の量が大きい。既知の平均および分散を有する長さnの離散的時系列{たとえば、y1、y2、…、yn}の場合、自己相関の推定値は、
【0163】
【数40】
【0164】
として得られうる。式中、R(k)は、範囲[−1、1]内にある自己相関であり、σ2は分散であり、
【0165】
【数41】
【0166】
は平均であり、kは時間の遅れである。最適にチューニングされたコントローラは、相関信号を除去できるだけであり、また、完全にランダムな外乱(たとえば、白色雑音)を除去できないため、相関信号に対する白色雑音の割合は、コントローラチューニングの最適性の良好な指標である。そのため、たとえば、閉ループ制御システムのプロセス出力が大きな自己相関を有する場合、そこで使用される特定のコントローラのチューニングは、最適でない。
【0167】
自己相関ベース解析方法は、手動でチューニングし再チューニングするループのプロセスで頻繁に使用される。自己相関解析が、大きな量のモデル不一致を返す場合、エンジニアは、コントローラ構成が完全でないこと、および、コントローラをコミッショニングする前にエンジニアがプロセスモデルを改良するかまたは再同定しなければならないことを、通常わかっている。プラントエンジニアは、チューニングの性能改善を検証するために第2の基準を使用することが多い。特に、プラントエンジニアは、最も可能性がある動作周波数において振幅比が許容可能であることを保証するために、振幅スペクトルを考慮してもよい。この手動コントローラ設計方法は、イノベーション解析を使用して自動で実行されるようにしてもよいが、たとえば、オンラインコントローラ動作中に連続して適用することができない。さらに、この方法は、モデル不一致を減少させる新しいプロセスモデルを開発するかまたは生成するという形態でプロセスモデル改善サイクルをトリガーすることのみを目的として、モデル不一致量を使用する。
【0168】
一方、イノベーションまたは以下で述べる他の誤差解析を使用する自動適応チューニング方法は、連続してまたはその他の方法でオンラインコントローラ動作中に実行され、モデル不一致量を使用して、プロセスモデル再生成サイクルをトリガーするのではなく、新しいプラントモデルを再生成することなく、(新しい量のモデル不一致を最適に反映するためにコントローラを再チューニングために)コントローラについて適応チューニングサイクルをトリガーしてもよい。そのため、この方法は、新しい一組のプロセスモデルパラメータなどを確定するために、新しい一組のプロセスモデルパラメータ、プロセスアップセットを必要としない。特に、モデル予測コントローラの場合、コントローラ出力計算は、プロセスモデルから直接導出され、したがって、自己相関は、モデル不一致に起因しうる。
【0169】
産業用プロセス制御で使用される目下の慣行は、非常に基本的な方法でイノベーションにおいてモデル不一致および非測定外乱の組合せを処理する。たとえばDMCコントローラは、ある割合のイノベーションが、非測定外乱を一因として発生すると仮定する。イノベーションの自己相関に基づいてカルマンフィルタ利得をチューニングしている間、この方法は、設計された信号対雑音比および実際の信号対雑音比を適応させることによって、カルマンフィルタによって見られる誤差共分散を最小にしようと試みる。この技法は、フィルタ性能を本質的に最大にするが、必ずしも閉ループ性能を最大にしない。さらに、この適応方法は、誤差共分散を計算するだけであり、また、完全なモデルが既にわかっている場合にのみ使用されうる。
【0170】
図14は、図13の最適化器ベースのチューニングブロック110Aが、既存のMPCコントローラおよび観測器(カルマンフィルタ「KF」として示す)と組合わされて、利得スケジューリングMPCコントローラを生成しうる方法を示す。知られている公知のように、利得スケジューリング方法は、プロセスパラメータ値が変化するプロセス用の産業用プラントにおいて非常に一般的である。こうした方法は、コントローラチューニングをスケジュールしてもよく、または、プロセスモデルおよびチューニンパラメータの更新をスケジュールしてもよい。プロセスパラメータが確定的に変化する限り、満足のいく結果が、こうした方法によって達成されうる。実際に、多くのフィードストックおよび機器特性が、産業用プラントにおいて絶えず変化する。例は、燃料の燃焼係数の変化および試薬の濃度の変化を含む。測定可能である場合、これらの特性変化は、変動を直接減少させるためにフィードフォワード制御戦略によって、または、モデリング誤差を相殺し、影響を間接的に打ち消すために利得スケジューリング戦略によって頻繁に使用される。
【0171】
図13のチューニングブロック110Aは、利得スケジューリングを実施するのに使用することができ、より詳細には、プロセスモデルの1つまたは複数のパラメータが変化し、また、のパラメータがわかっている場合、プロセスモデルパラメータは、(プラントモデル入力を介して)最適なMPC適応/チューニングブロック110Aにおいて更新されることが可能であり、それにより、適応/チューニングブロック110Aは、(新しいプロセスモデルおよび目下のモデル不一致範囲を考慮して)MPCコントローラおよびカルマンフィルタ用の新しい一組の設計およびチューニングパラメータを生成する。この更新は、プラントエンジニアまたはオペレータによって手動で実施されうる、または、プロセス状態変化に基づいて自動的に実施されうる。後者は、PIDコントローラのモデルベース利得スケジューリングに匹敵する。図14では、チューニングブロック110Aとコントローラユニット112との間の相互作用は点線で示され、ブロック110Aからコントローラユニット112への情報の流れは完全に一方向であることを示す。仮定されたモデル不一致範囲は、設計エンジニアによってMPC適応/チューニングブロック110Aに入力されてもよく、または、デフォルト設定のままにされてもよい。任意の利得スケジューリングコントローラの場合と同様に、状態変数は、利用可能である場合、特定のプロセス測定に配線接続されうる、または、別個の特性推定器によって評価されうる。プロセス特性がプロセス測定から推測されうるとき、ニューラルネットワークが、プロセス産業において特性推定器として頻繁に使用される。ニューラルネットワークまたはダイナミック線形推定器のような外部特性推定器はまた、重要なモデルパラメータを直接推定するのに使用されうる。
【0172】
特性推定器を使用する利得スケジューラとして構成されるMPC適応/チューニングブロック110Aの実施形態は、図15に示される。ここで、以下に述べるように、特性推定器120は、プロセス94から1つまたは複数の入力および/または出力(たとえば、測定された)変数または信号を受取るために結合され、これらの変数を使用して、1つまたは複数のプロセスモデル特性またはパラメータ(たとえば、A、B、C、D)の値を推定する。もちろん、任意の所望のまたは適切な特性推定器が、新しいプロセスモデルパラメータ値を確定するためにこの実施例で使用されてもよい。この技法は、モデルパラメータに関するループを閉じ、したがって、適応的であると考えられうる。しかし、適切に動作するために、プロセスモデルパラメータを同定するほとんどの方法は、有意の設定点変化またはプロセス外乱を必要とする。残念ながら、こうしたプロセス外乱は、オンライン制御においては望ましくなく、上述した適応/チューニング方法についての主要な仮定、すなわち、プラントモデルを正確に知ることができず、また、このプラントモデルが、適応/チューニングサイクル中に再形成されることを必要とすべきでないという仮定を維持しない。
【0173】
推定器は、制御ループによって測定されない、または、操作されない変数を含む、多くの変数に接続されうる。実際に、推定器は、カルマンフィルタ116の入力だけに結合されてもよい。図16は、適応制御を実施するために、利得スケジューリングコントローラシステムの一部として適応/チューニングブロック110Aを使用する、適応チューニングシステム125を示す。図16に示すように、(イノベーション解析または他の誤差解析を実装してもよい)推定器126は、観測器、すなわち、カルマンフィルタに結合され、カルマンフィルタ116に関連するイノベーション項を解析して、プロセスモデルパラメータの1つまたは複数について、モデル不一致の量(たとえば、範囲)の推定値を確定する。同様に、または、代わりに、コントローラ114に結合されてもよい推定器126は、プロセスモデル不一致または不一致範囲を確定するためのイノベーション解析を実装し、確定されたプロセスモデル不一致(複数可)または不一致範囲(複数可)を適応/チューニングブロック110Aに提供して、コントローラユニット112について新しい適応/チューニングサイクルを引き起こす。特に、推定器126によって実施されるイノベーション解析は、図16のシステムにおいてモデル不一致範囲(複数可)を自動的に更新するのに使用されてもよい。所望される場合、モデル不一致範囲(複数可)の全てまたは一部だけが、任意の特定の時間にこのような方法で更新されうる。同様に、不一致範囲(複数可)考えられるモデルパラメータの全てまたは一部は、モデルパラメータの数に関してイノベーション方法がどれだけ包括的であるかに応じて修正されてもよい。換言すれば、時として、イノベーション解析は、実際のプロセスモデル内のモデルパラメータの部分集合に関して結論が下されることを可能にするだけである場合がある。その場合、未知パラメータについての範囲が、全てのあるいはほとんどの、予想されるかまたは考えられるモデル不一致シナリオを含むように保存的に設定されてもよい。
【0174】
最適なMPC適応/チューニングブロック110Aの出力は、上述したオンデマンド更新適用と同じ方法で機能するが、有意の量のモデル不一致が検出されるとき、たとえば、1つまたは複数のモデルパラメータについての不一致が、ユーザによって供給された閾値などの所定のまたはプリセットされた閾値、チューニングブロック110Aで以前に使用された不一致範囲などを超えるとき、コントローラ適応およびチューニングを実施することによって、適応ループを閉じる。この適応手法のユニークさは、最初に仮定されたプロセスモデルが、適応/チューニングメカニズムによって決して修正されず、ランアウェイプロセス同定を防止し、頑健性を増加させ、利得スケジューリングを簡略化することである。所望である場合、仮定されたプロセスモデルは、適応を停止させるかまたは再設定する必要なしで、任意の時間に手動で更新することができ、これは、最新の技術水準のモデル更新方法に優る利点である。
【0175】
以下でより詳細に述べるように、手動または自動の適応/チューニングサイクルを実装するためのトリガーは、イノベーションの値から、または、確定されたモデル不一致範囲から(すなわち、推定器126によって実施されるイノベーション解析への入力またはイノベーション解析の出力から)容易に導出されうる。もちろん、こうしたトリガーは、新しい適応/チューニングサイクルが、ブロック110Aによっていつ実施されるべき時を認識するための、所定の閾値に対するイノベーション解析またはその出力の比較に依存しうる。いずれにしても、上述したイノベーション計算の自己相関の使用は、コントローラ適応を実装する既知の他の方法に対するモデル無しでかつ外乱が少ない代替法を提供することがわかっている。特に、自己相関解析は、プロセスモデルを同定するかまたは再同定する必要なしで、ループの制御性能が改善されうるか否かを判定するのに使用されうる。よリ詳細には、制御誤差(測定されたプロセス出力変数とこの変数についての設定点との差)の自己相関は、定常状態動作中に有意のモデル不一致が存在するかどうかを判定するために有用であり、一方、予測誤差(測定されたプロセス出力変数とこの変数についての以前に予測された値との差)の自己相関は、プロセスアップセット状況中に、有意のモデル不一致が存在するかどうかを判定するために、または、モデル不一致の量または範囲を確定するために有用であることがわかっている。本明細書で使用されるように、イノベーション解析は、MPCコントローラユニット112の制御誤差、予測誤差、または他の誤差の自己相関を含みうる。これらの自己相関は、たとえば自己相関解析が有意の量のモデル不一致を判定するときに、新しい適応/チューニングサイクルを実装するためのトリガーとして使用されてもよい。さらに、異なる時間における同じプロセス変数についての制御誤差または予測誤差の自己相関の比較は、モデル不一致の変化を検出するのに使用されることができ、モデル不一致の変化はまた、新しい適応/チューニングサイクルを実装するためのトリガーとして使用されうる。
【0176】
先に提示した概念を検証するために、上述した適応/チューニング方法のいくつかの方法が、実験的な2成分系蒸留塔に適用された。(カルマンフィルタにおけるイノベーションの自己相関からモデル不一致を推定するための実用的な近似を使用する)図16に関して述べた最適チューニング方法を実装するモデル予測コントローラを使用する、2成分系蒸留塔についての実験的試験運転からの結果が、以下に提供される。これらの実験で使用される特定の蒸留塔は、水とエタノールを分離するのに通常使用される平均スケールより小さいパイロットプラントであった。実験プラントについてのプロセスおよび計装図(P&ID)200が図17に示される。このP&IDは、当業者にとって容易に読取り可能であるため、説明のために必要である場合以外には本明細書で詳細には述べられないものとする。
【0177】
アキュミュレータ202から出る流れが測定されうるため、速い流れと遅い積分レベル動態を分離可能なカスケード制御戦略が選択された。レベルコンローラ204(LIC−091)と流量コントローラ206(FIC−100)との間のこの分離は、一般に頑健性を増加させる。しかし、コントローラ204および206は共に、この効果が実現されるようにかなりうまくチューニングされなければならない。塔のエネルギー入力が変動するにつれて、プロセスパラメータが変化するため、この要件は、このプラントにおいて挑戦的な課題である。純度を制御する目的で、蒸気流量が底部温度を制御するのに使用されるため、アキュミュレータ202内のレベルおよび流量制御ループのプロセスパラメータは、通常動作中に著しく変化しうる。0.55kg/分の蒸気流量でプロセスモデルを確定するために、手動段階試験が実施された。段階試験は、以下の初期プロセスモデルをもたらし、初期プロセスモデルは、モデルベースMPCコントローラについての仮定されたモデルとして使用され、0.55kg/分の蒸気流量のPIDコントローラについて初期チューニングを提供するのに使用された。
【0178】
【数42】
【0179】
【数43】
【0180】
0.4kg/分の蒸気流量において、以下のプラントモデルが確定された。
【0181】
【数44】
【0182】
実験について、通常PIDコントローラである(LIC−091)レベルコンローラ204は、よく知られているシミュレーションプログラムMATLAB(登録商標)において実行されるMPCコントローラと置換えられた。このコントローラは、PIDコントローラを手動モードの状態のままにし、MATLAB(登録商標)シミュレーションを実行するラップトップコンピュータ上のOPCクライアントからのOPC書き出しを、プラント200内で実装されるDeltaV(商標)コントローラシステム内のPIDコントローラの出力に送出することによって実装された。LIC−091コンローラ204の出力が、2次FIC−100流量コントローラ206のカスケード入力に接続されたため、LIC−091コンローラ204への書込みは、FIC−100流量コントローラ206の流量設定点を間接的に操作し、最初のプラント構成と等価なカスケード制御挙動を実装した。
【0183】
3つの異なる移動ペナルティチューニング(具体的には、Q=50、Q=100、およびQ=1000)が、MPCコントローラ204で使用され、2つの異なる動作点における(特に、0.4kg/分の蒸気流量および0.55kg/分の蒸気流量における)制御性能が解析された。図18は、0.55kg/分の蒸気流量において3つの異なるチューニング設定を有するMPCコントローラ204の3つの異なる運転を示す。このデータは、順次記録され、その後、比較のために重ねられた。PI制御を実施するために設定された最初のPIDコントローラを使用する運転であった4番目の実験は、MPC制御とPID制御との比較を可能にするために実施された。PIチューニングパラメータ(利得=1.54およびリセット=141.68秒)は、修正ジグラー・ニコルスチューニングを用いて、プロセスの最終利得、最終期間、およびむだ時間から計算された。この定常状態条件において、4つの異なるコントローラについての標準偏差は、σQ=50=0.057、σQ=100=0.066、σQ=1000=0.052、σPI=0.036であると確定された。
【0184】
図18に示すように、Q=1000を有するレベル制御の時間領域プロットは、最も定常であるように見える。Q=1000を有するMPCはまた、最小の標準偏差(σQ=1000=0.052)を達成する。現実のプラント設定では、目下の制御変数のプロットは、データを調べる主要な方法であることが多いが、リアルタイム傾向だけから引出される結論は、誤解を招く可能性がある。図19は、蒸気流量の変化であるように選択された非測定外乱に対してコントローラが反応した仕方を示す。その理由は、このタイプの外乱が、コントローラについて2つ以上の困難さを呈するからである。第1に、このタイプの外乱は、アキュミュレータ202に達するコンデンセートの量を変化させ、それにより、コントローラ204が、アキュミュレータ出力流量を変化させることが必要となる。第2に、このタイプの外乱は、リフラックス時定数を変化させ、それにより、モデル不一致の量を変化させる。蒸気流量の変化はまた、真の入力外乱であり、実際に産業用プラントでは一般的である。さらに、蒸気流量の変化はまた、非測定型なのが最も一般的でる。(この実験で使用された)人工的な蒸気流量変化と同様の影響を有する異なるプロセス産業からの例は、(1)燃料のBTU率の変化(温度および温度ループの利得に影響を及ぼす)、(2)フィードストックの濃度および/または組成の変化(塔の負荷、質量均衡、およびエネルギー供給と生成物純度との間の利得に影響を及ぼす)、(3)ボイラ内の管の汚損(プロセス利得を変化させる熱伝達係数と、同じ熱伝達についての必要とされる流量の両方を変化させ、したがって、むだ時間を変化させる)、ならびに、(4)戸外温度の変化および/または嵐の発生(温度を変化させ、同様に大気に対する熱伝達係数を変化させ、したがって、利得を変化させる)を含む。
【0185】
いずれにしても、蒸気流量設定点が0.55kg/分から0.4kg/分へ変化した、このシミュレートされた「非測定」プロセス外乱中のコントローラの性能(図19に示す)は、IAEQ=50=0.122、IAEQ=100=0.468、IAEQ=1000=∞(この場合、制御は不十分であり、プラントは、手動介入によって安定化されなければならなかった)、およびIAEPI=0.3となるような性能であった。図19に示すように、MPCQ=50およびMPCQ=100のコントローラは、未測定外乱を適度にうまく排除した(それぞれ、IAEQ=50=0.122、IAEQ=100=0.468)が、MPCQ=1000に関しては同じ実験を実施することができなかった。その理由は、大きな移動ペナルティが、このコントローラがレベル降下にタイミングよく反応することを妨げ、アキュミュレータポンプインターロックをトリップさせたからである。ポンプトリップに続いて、アキュミュレータ202が急速に充填され過ぎ、コントローラ204が反応できず、許容可能でない制御性能をもたらした。
【0186】
この実施例は、コントローラ(すなわち、Q=1000)の過度に注意深いデチューニングが、おそらく破壊的でありでかつ危険でありうることを示す。ここで、溢流(アキュミュレータのオーバフロー)が、手動のオペレータ介入なしで起こったであろう。スペクトルの他端で、MPCQ=50の性能のプロットが、安定性のエッジに近いと判定され、そのことが、さらなる実験において真であると判定された。その理由は、高速チューニングが適用される(Q<50)か、または、プラントが高い蒸気流量を有する動作領域で運転されると、これらのコントローラが不安定になるからである(図示せず)。
【0187】
プラントが0.4kg/分の蒸気で動作するときについてのプロットは、図20に示され、コントローラ性能は、σQ=50=0.053、σQ=100=0.028として測定され、Q=1000を有するコントローラはプラントを十分に制御せず、σPI=0.032であった。そのため、0.55kg/分の蒸気(図18)の場合に使用されたチューニングと同じチューニングを用いるMPCコントローラは、低い標準偏差を示した。Q=1000を有するMPCは、先に述べたように、プラントを十分に制御せず、アキュミュレータポンプインターロックを繰返しトリップさせたため、図19には示されない。
【0188】
要約すると、図17の蒸留塔の実験的運転は、50および100のMPCチューニングパラメータQ値が、所望の動作領域にまたがる(ここでは、0.4kg/分から0.55kg/分の蒸気)モデル不一致について適していたことを示す。50より小さいチューニングおよび200より大きいチューニング(試験したが示さず)は、適していなかった。最適チューニングに関して先に提案したように、モデル不一致の変動する量について理想的なフィードバック制御性能をもたらす特定の一組のチューニングパラメータが見出されうる。これは、たとえプラントモデルに関する新しい知識がなくても実験的に可能であった。モデル再同定またはモデル更新は全く実施されなかった。実際に、仮定されたプラントモデルは、モデルパラメータの値が不正確である可能性が高いだけでなく、モデル形態が、積分プロセス(すなわち、レベル制御ループ)の基礎になるプロセス特性にも一致していない点で、かなり間違っていることがわかっていても、実験を通して使用された。不正確なモデル定式(1次プラスむだ時間)は、モデル不一致が実験中に存在したことを保証するために意図的に選択された。その理由は、実験中に存在したモデル不一致の正確な量を確定することが可能でなかったからである。
【0189】
図17のプロセスについての4つの異なるプロセス状況における4つの異なるコントローラの実験的性能の要約は以下の表6に提供されており、MPCコントローラは全て、同じモデル仮定に基づいてチューニングされた。ここで、コントローラは、PIコントローラ、ならびに、50、100、および1000のQ値を有するMPCコントローラであった。表6を見てわかるように、50のQ値を有するMPCは、蒸気変化に応答してPIコントローラより低いIAEで動作し、一方、100に設定されたQを有するMPCは悪化し、1000のQ値を有するMPCは、蒸気変化状況に応答して、動作が非常に不完全であった(すなわち、試験されなかった)が、0.55kg/分の動作点の制御において最良に動作した。
【0190】
【表6】
【0191】
しかし、プラントの実際の制御では、1つの動作点でプラントを運転している間に、別の動作点へ変化させることが、あるチューニングについての性能にどのように影響を及ぼすことになるかを知ることが重要である。そのため、上記実施例の場合、0.55kg/分から0.4kg/分への蒸気流量変化の前に、Q=1000のペナルティチューニングが0.55kg/分において最良の制御を示すが、このチューニングが、大きな外乱については不十分であることになり、おそらくプラント運転の停止をもたらすことを、オペレータが知ることができることが重要である。考えられる全てのプロセス領域を手動で通過し、かつ、チューニングが、これらの領域の全てでうまく働くことを判定することは、実行可能であり、モデル同定を必要としない。しかし、この操作は、ある量の浪費されたまたは品質以下の生成物を生成し、プラントモデルが変化する場合、再び行われなければならない可能性があり、モデル不一致に影響を及ぼすパラメータ(複数可)がわかっており、また、(この実施例では蒸気として)操作されうる場合に可能であるに過ぎない。
【0192】
しかし、図16に関して先に説明した自己相関解析の使用は、動作パラメータの考えられる変化を考慮して(また、プラントモデルに対する変化を考慮して)適切なチューニング設定を確定するための、また、これらの変化を考慮して適切であるかまたは最適となる一組のチューニングパラメータを選択するためのトリガーとして使用されうる。特に、予測誤差または制御誤差の誤差解析は、MPCコントローラがプラントにどれほどよく一致しているか、また、どのタイプのモデル不一致がどの程度存在するかを確定するのに使用されてもよい。図21〜25は、この点を説明するために提供される。図21は、0.55kg/分の蒸気の定常状態動作において先に説明した例示的なプラントの3つの異なるチューニング設定のMPCコントローラにおける予測誤差の自己相関の比較を提供する。このプロットから、どのMPCコントローラが、良好なまたは劣悪な品質を示すかに関して決定的な陳述をすることができないように見える。振幅は異なるが、遅れの軸を考慮すると、3つのコントローラチューニング設定が、図19に示したようにIAEの観点からかなり異なるフィードバック性能を示しても、プロットの任意の1つが、所与の遅れ時間について自己相関性がかなり高いことは示されていない。0.4kg/分における定常状態動作についての予測誤差の自己相関のプロットは、図22に提供され、同じジレンマを示す。この事実は、最良の状態更新(最小の予測誤差)が、必ずしも最良のフィードバック制御性能をもたらさないという発見を裏付ける。ここで、Q=50を有するMPCは、最小の予測誤差であるが、最悪の積分絶対誤差を示し、Q=1000を有するMPCは、最悪の予測誤差を有する最良のIAEを示す。しかし、3つのコントローラ設定間の差は、大きな非測定外乱変化中の予測誤差の自己相関が、図23に示すように確定されるときに観測することができ、図23は、0.55kg/分から0.4kg/分への蒸気流量変化の形態の非測定外乱の排除中の、3つの異なるチューニング設定におけるMPCコントローラの予測誤差の自己相関を示す。
【0193】
ここで、制御誤差の大きな変化は、普通なら雑音によって消し去られる自己相関プロット間の顕著な差をもたらす。残念ながら、この時点でコントローラが不十分にチューニングされたことを認識しても遅過ぎる。その理由は、大きな外乱が起こる前に、その情報が必要とされるからである。いずれにしても、このプロットは、モデル不一致を判定する基準として自己相関解析を使用する従来技術の手法が、なぜ自己相関の決定的な比較を得るためにプロセス励起を使用するかを示す。一部の方法は、プロセスを乱すパルスを注入するのではなく、非測定外乱変化を待つため、「侵入的でない(non intrusive)」と考えられてもよいが、この実験の0.55kg/分の蒸気における定常動作のような定常制御中にうまく機能しないことになる。
【0194】
そのため、外乱排除の期間中に制御性能評価を実施するために予測誤差の自己相関を使用することは、プロセスモデル不一致を確定するのに役立つ可能性があるが、定常状態動作の期間中に制御性能評価を実施するために予測誤差の自己相関を使用することは、非常に有用であるわけではないことがわかる。さらに、プロセスアップセット(たとえば、非測定外乱または設定点変化)の時間中に予測誤差の自己相関を使用することは、コントローラ適応/チューニングサイクルをトリガーするのに有用でありうるが、この技法は、依然としてある程度のプロセス変化またはアップセットを必要とし、一般に望ましくない。
【0195】
しかし、定常状態動作の期間中に制御誤差の自己相関を調べることが、プロセスモデル不一致の尺度としてうまく働くこと、および、このタイプの誤差解析が、MPCコントローラの適応/再チューニングのためのトリガーとして使用されてもよいことがわかっている。たとえば、図24は、純粋な、すなわち、設定点が一定であるフィードバック制御のための制御誤差の自己相関に等価である被制御変数の自己相関を示す。同じ3つのチューニング設定を有するMPCコントローラの動作は、0.55kg/分の一定蒸気流量において、(参照比較のために付加された)その流量における最初のPIコントローラ性能の動作と共に、図24に示される。
【0196】
図24から、MPCQ=1000がかなり目立ち、固有のチューニング問題(たとえば、高い程度のプロセスモデル不一致)を有しているものと判定するのが容易であることが明らかである。特に、Q=1000を有する被制御変数の自己相関は、他のコントローラチューニング設定の全てと大幅に異なる。定常動作において、かつ、有意の非測定外乱が無い状態で、このチューニングは、遅れ時間の全ての値についてかなり高い自己相関を示すため、容易に劣悪と同定されうる。この曲線についての最も明らかな識別基準は、曲線が、横座標の一方の側だけに留まり、決してゼロを横切らないことである。
【0197】
図25は、0.55kg/分から0.4kg/分へ変化する蒸気流量に関連する、アキュミュレータレベルに対する外乱が人工的に導入されている間の、同じ誤差解析計算を示す。自己相関の差が議論されうるが、自己相関の差は、非測定外乱が無い状態で実施された自己相関(図24に示す)と同じ程度に明瞭ではない。しかし、この事実は大きな問題を呈さない。その理由は、適応/チューニングロジックが、自動的に外乱を検出し、これらの2つの異なるシナリオにおいて制御誤差の自己相関を解析することから予測誤差の自己相関を解析することへ切換えて、良好な適応/チューニング始動を実現しうるからである。たとえば、2つの異なるタイプの計算間での切換えは、制御誤差がある閾値を越えるとき(通常、非測定外乱に応答して、または、設定点の変化直後に起こる)に実施されうる。
【0198】
先に説明した自己相関解析の簡略化された定性的要約は、以下の表7に提供される。ここで、4つの異なるコントローラについての実験データは、自己相関解析の大きさの程度(すなわち、小、中、および大)の結果の総合指標として表示される。モデル不一致を識別するかまたは同定するのに使用されうる自己相関解析は、これらの解析についての異なるコントローラの自己相関解析の大きさの程度の差のために、中央の2つの列に見出される。特に、表7は、3つの異なるMPCコントローラについての異なる自己相関実験データの定性的推定値の要約を提供し、コントローラは全て同じモデル仮定に基づいてチューニングされている。この表では、RI(k)は予測誤差の自己相関であり、Ry(k)は制御誤差の自己相関である。PIコントローラ動作が、比較のために付加されている。
【0199】
【表7】
【0200】
一般に、自己相関の大きな値は、大きな量のプロセスモデル不一致であるとみなされる。要約すると、MPC設計およびチューニングパラメータの閉ループ適応制御は、被制御変数(複数可)の制御誤差または被制御変数(複数可)の予測誤差などのMPCコントローラ情報の自己相関を解析する方法を使用して引起こされうる。しかし、先に説明したように、自己相関が予測誤差から計算されるか、制御誤差から計算されるかは、大きな差を生む可能性がある。たとえば、予測誤差の自己相関は、設定点変化中、または非測定外乱の排除中に決定的である可能性があるだけであり、一方、制御誤差の自己相関は、定常状態動作中に最も有用である可能性がある。最新の技術水準の適応チューニング方法によって要求されるように、外乱が起こっている最中または起こった後ではなく、非測定外乱が起こる前にプロセス特性に対するチューニングを調整することが最も有用である(ただし、同時に最も挑戦的である)。プロセスモデルを再同定しようとする方法は、通常、プロセス変化に依存し、定常状態動作中にモデル変化を検出できない。こうした変化は、外乱または設定点変化によって引起こされる可能性があり、雑音帯域から識別可能であるように十分に大きくなければならない。そのため、先の説明に基づいて、図16の自動適応/チューニング方法は、好ましくは、上述した方法で、予測誤差の解析および制御誤差の解析を含むべきである。この解析の結果は、目下のチューニングが、どれほどうまく目下のプロセスに適するかを示す。(同じ一組の設計/チューニングパラメータについて計算された、予想されたまたは以前の自己相関関数と比較して)任意の悪化した自己相関関数は、モデル不一致の増加の結果であるはずであり、新しい適応/チューニングによって、反映または補償されうる。
【0201】
図13に関して述べた適応/チューニング技法で使用するためのモデル不一致に関する有用なフィードバック情報を生成する技法としての自己相関の使用は、各種のプロセスおよびモデルタイプにおいて有用である。遭遇する特定のタイプのモデル不一致に応じて結果が変動する可能性があるが、一般に、最適な設計/チューニング方法が、広い範囲のモデル不一致について計算する設計およびチューニングパラメータ値は、より狭い不一致範囲からもたらされる設計/チューニングパラメータに比べて保存的になる。換言すれば、先に提示した自動化された適応/チューニング方法は、大きなプロセスモデル不一致(または、プロセスモデル不一致の増加)が検出されると、振動および不安定性を防止するためにMPCコントローラをデチューニングし、必要であればいつでも、キックインする自動安全ネットのように働く。一方、自己相関解析が、プロセスモデル不一致の減少を示す場合、新しい適応/チューニングサイクルが、良好な総合制御を実現するための、コントローラ形態およびチューニングパラメータを強化するために実装されてもよい。この自動アプローチは、業界では一般的に行われる、安全であるようにコントローラを予防的にデチューニングすることに比べて明らかに望ましい。その理由は、この自動アプローチが、モデル不一致が小さくかつ遅いときにより速いチューニングを、モデル不一致が大きいときにゆっくりとしたチューニングを適用するからである。
【0202】
重要なことには、本明細書に述べる自動適応/チューニング方法は、新しいプラントモデル同定を実施することなく、コントローラモデル不一致に基づいて、モデルベースコントローラによって使用される、形態、コントローラモデル、ならびに設計およびチューニングパラメータを適応させる。したがって、この方法は非常に有用である。その理由は、プラントモデル同定、特に、閉ループプラントモデル同定が、産業用プロセス適用においてかなり侵入的であるかまたは信頼性がないことがわかっているからである。
【0203】
図26は、図16のシステムと類似しているが、チューニングブロック110Aで使用するための1つまたは複数のモデル不一致または不一致範囲を確定するために、先に説明した誤差解析およびプロセス推定の一方または両方を使用する推定器130を含む、閉ループ適応チューニングシステムのさらなる実施形態を示す。ブロック130は、それにより、コントローラのいずれかまたは両方の誤差(たとえば、イノベーション)解析およびプロセスプラント解析を使用して、コントローラモデルとプラントとの間のモデル不一致の値またはその範囲の推定値を確定するかまたは検出し、この推定値を使用して、MPCコントローラ112についてのチューニングサイクルを始動してもよい。
【0204】
こうして、理解されるように、本明細書に述べる適応チューニング技法は、以下のシナリオで、また、その種々の組合せでコントローラチューニングを適応させるのに使用されてもよい。以下のシナリオとは、(1)新しいプロセスモデルの手動入力に基づくこと、(2)プロセスプラント入力および出力から生成される自動特性推定またはモデル同定に基づくこと、(3)1つまたは複数の新しいモデル不一致またはモデル不一致範囲の手動入力に基づくこと、または(4)状態推定の誤差解析から生成されるモデル不一致(量または範囲)の自動推定に基づくことを含む。
【0205】
本発明は、本発明を教授し示すことを意図した特定の例示的な実施形態を参照して述べられたが、開示される適応/チューニングデバイスおよび方法は、これらの実施形態に限定されない。種々の変更、改良、および追加が、当業者によって実装されてもよく、こうした変更、改良、および追加は、本発明の範囲から逸脱しないであろう。
【0206】
たとえば、上述した適応/チューニングデバイスおよび方法は、1次プラスむだ時間モデルの形態のプロセスモデルの使用と共に述べられたが、これらの技法は、たとえば、状態空間プロセスモデル、ARXモデルなどの回帰モデル、有限インパルス応答モデル(finite impulse response model)(FIR)、ステップ応答モデルなどを含む他のタイプのプロセスモデルを使用しうる。同様に、本明細書に述べる適応/チューニングデバイスおよび方法は、任意の特定の場合の、モデル不一致またはモデル不一致範囲に基づいて、利用可能なMPCモデル、設計パラメータ、およびチューニングパラメータの全てまたは一部だけを使用して、MPCコントローラを適応させるように働いてもよい。特に、適応/チューニングデバイスおよび方法は、適応/チューニング手法中に、他のパラメータの1つまたは複数を適応させるかまたは変化させることなく、任意の特定の場合またはシナリオに存在する、1つまたは複数の「重要な」モデル、設計パラメータおよび/またはチューニングパラメータに的を絞ってもよい。さらに、本明細書に提供される適応チューニング技法の説明は、単一ループMPCコントローラの文脈で提供されたが、これらの技法は、併せて、または、代わりに、多変数MPCコントローラ構成に適用可能であり、また、それに拡張されうる。
【0207】
さらに、本明細書に述べるように、適応/チューニングブロックおよびコントローラユニットの個々のコンポーネントの分割は、コントローラ実施態様および動作に責任を持つ人々の自由裁量であることを当業者は理解するであろう。これらの機能の全てが、任意の所望の方法でまたは任意の所望のデバイス(複数可)において実装されうることが理解されるであろう。さらに、本明細書に述べる適応/チューニング技法は、好ましくはソフトウェアで実装されるが、その技法またはその任意の部分は、ハードウェア、ファームウェアなどで実装されてもよく、プロセス制御システムに関連する任意の他のプロセッサによって実装されてもよい。そのため、本明細書に述べる要素は、所望に応じて、標準的な多目的CPU内で、または、特定用途向け集積回路(ASIC)または他の配線接続されたデバイスなどの特別に設計されたハードウェアまたはファームウェア上に実装されてもよい。ソフトウェアで実装されると、ソフトウェアルーチンが、磁気ディスク、レーザディスク(たとえば、CD、DVDなど)、フラッシュドライブまたは他の記憶媒体上、コンピュータまたはプロセッサのRAMまたはROM内、任意のデータベース内などのように、任意のコンピュータ読取り可能メモリ内に格納されてもよい。同様に、このソフトウェアは、たとえば、コンピュータ読取り可能ディスク、スマートカードメモリ、フラッシュドライブ、または他の搬送可能なコンピュータ記憶メカニズム上で、あるいは、電話回線、インターネットなどのような通信チャネルを通じた(搬送可能な記憶媒体を介してこうしたソフトウェアを提供することと同じであるかまたは交換可能であるとみなされる)ものを含む、任意の知られているかまたは所望の送出方法を介して、ユーザまたはプロセスプラントに送出されてもよい。
【0208】
本明細書に述べる特定のアプローチは、上述した本発明の実施形態からの単なる非実質的な逸脱を示すことも認識される。その結果、本明細書で提供される特許請求の範囲は、本発明の真の精神および範囲内に入る全ての変更、変形、および改良、ならびに、本発明の実質的な等価物を包含すると、適切に解釈される。したがって、本発明の他の実施形態は、本明細書では特に述べられないが、それでも、本発明の範囲内に包含される。
【技術分野】
【0001】
本出願は、正式に提出された出願形態であり、2008年1月31日に出願され、その全体の開示が参照により本明細書に明示的に組込まれる「Robust Adaptive Model Predictive Controller with Automatic Correction for Model Mismatch」という名称の米国仮特許出願第61/025,190号の出願日に対する優先権およびその出願日の利益を主張する。
【0002】
本出願は、たとえば産業用プロセスプラントにおいて実施されるプロセス制御に関し、より詳細には、モデル不一致の存在下でモデル予測コントローラを使用してプロセスプラントの制御を実施する改良型方法に関する。
【背景技術】
【0003】
プロセス制御のハードウェアおよびソフトウェアは、化学、製薬、および精製産業のほとんど全ての設備の主要なコンポーネントであり、何十億ドル規模の世界的なビジネスである。任意の特定の事例において考えられる最良の制御を取得することは、過去において必ずしも主要な重点事項ではなかったが、近年、産業用プロセスプラントなどの新しいプラントは、可制御性および最適性を考慮して設計されることが増えている。さらに、多くの既存のプロセスプラントは、この目的によって刷新されている。この刷新は、反応器、タンク、パイプなどの位置など、設置されるハードウェアの幾何学的配置の刷新だけでなく、プロセス制御を実施するのに使用される制御、監視、および測定要素の位置およびタイプの刷新も含む。天然資源のコストおよび排出物質に関連する実効コストの上昇に伴って、エネルギー消費もまた、プラント設計において重要な因子になってきた。
【0004】
制御性能監視は、コントローラ再チューニングまたはモデルスケジューリングと組合されて、産業用プラントの効率を激的に改善し、それにより、毎年、数百万ドルを節約しうる。近年益々一般的になってきた別の技法は、異常状況監視および防止(abnormal situation monitoring and prevention)(ASP)である。ある場合には、最新のデバイスおよび制御システム設計は、考えられる故障またはやがて起こる保守サイクルを予測することができる新規センサおよび組込み式統計的アルゴリズムを含む。これらの予測保守システムは、プラントオペレーションの稼働率を劇的に増加させ、コストがかかりかつ危険な予期しない運転停止の兆候を防止しうる。さらに、これらの技法の信頼性は、ここ10年で著しく高まり、プラント効率の向上をもたらした。
【0005】
これらの努力の一部として、一般にモデル予測制御(model predictive control)(MPC)技法と呼ばれるある種類の予測制御技法が、約25年前に初めて開発され適用されて以来、産業界でかなり認められてきた。一般的に言えば、MPCは、ある種類の制御アルゴリズムを指し、その制御アルゴリズムは、プロセスモデル(通常、本来は線形である)を利用することによって、被操作変数プロファイルを計算して、将来の計画対象期間にわたって、制約を受ける線形または二次の開ループ性能目標を最適化する。その後、この開ループの最適操作変数プロファイルの最初の移動がプロセス内に実装され、その手法が、各制御間隔またはコントローラサイクルで繰返されて、プロセス制御を実施する。プロセス測定が使用されて、進行する制御中に最適化問題が更新される。この種類の制御アルゴリズムは、後退ホライズン制御または移動ホライズン制御とも呼ばれる。
【0006】
しかし、その複雑さのために、MPCは、主に高度制御コミュニティにおいてその居場所を確保しており、したがって、MPC構成は、通常、制御の専門家によって開発されコミッショニングされる。結果として、MPC実施態様は、通常、実施態様の高いコストの見返りに大幅な利益増加を見込めるプロセスに適用される価値があったに過ぎない。この状況では、入力および出力の数の観点からのMPC適用のスケールは、通常、大きく、そのことが、MPCが、通常、単一変数ループ制御などの低レベルループ制御で使用されてこなかった1つの理由である。
【0007】
より具体的には、制御システムのコミッショニングコストはかなりのものであり、特定のプロセスプラント内の全ての制御ループの構成に対して詳細に注意を払うことは、ほとんど現実的でない。結果として、全ての制御ループの約90パーセントは、比例−積分−微分(proportional−integral−derivative)(PID)コントローラまたは比例−積分(proportional−integral)(PI)コントローラなどの従来の線形フィードバックコントローラによって制御される。さらに、MPCコントローラが使用される範囲において、これらのコントローラもまた、通常、本来は線形である。残念ながら、線形コントローラがプロセス制御産業において主に使用されるが、現実のプロセスの大部分は、非線形挙動を示す。この矛盾の結果として、モデル不一致が不可避であることになる。対処されないモデル不一致は、最適に満たない制御性能をもたらすだけでなく、制御性能および稼働率を改善するために開発された技術の利点の多くを帳消しにする。したがって、モデル不一致は、制御ハードウェアおよびソフトウェアの観点からコストがかかるだけでなく、他の関連するプラント技術のコスト節約も実際に減少させる。
【0008】
一般的に言えば、産業用コントローラの性能は、種々の方法で測定が可能であり、異なるプロセスは、著しく異なる品質および安全性要件を有する可能性がある。プラントエンジニアは、実際に、オーバシュート、(プロセスを統合する)アレスト時間、振動特性、積分誤差、および積分絶対誤差(integrated absolute error)(IAE)などの1つまたは多くの異なる性能基準を使用して、特定の制御ループの性能を評価する可能性がある。しかし、PIDコントローラの場合、所与のコントローラについての測定される制御性能は、通常、設定点トラッキングと外乱排除挙動との間のトレードオフの結果であり、設定点トラッキングにおける良好な性能は、外乱排除における劣悪な性能をもたらし、また、その逆もある。たとえば、長い時定数(すなわち、遅れが支配的なプロセスに存在する時定数など)は、設定点トラッキング性能についてチューニングされているPIDコントローラにおいて不十分な外乱排除性能をもたらすことがわかっている。PIDコントローラの開発に特有のこのトレードオフは、負荷外乱排除について理想的にチューニングされているPIDコントローラが、比較的高い積分動作(すなわち、比較的小さな積分時定数)を有しなければならないこと、また、高い積分動作が、コントローラの設定点変化性能にとって有害であることによって説明されうる。より詳細には、設定点変化中、プロセス誤差(e)は、たとえ被制御変数(y)が設定点(SP)に近づいている間でも、一定の時間大きいままである。非常に大きな積分利得を用いると、積分項は、急速にかつ必要以上に増大し、したがって、設定点オーバシュートをもたらす。その結果、設定点変化性能を対象とするPIDチューニングは、小さな積分動作および劣悪な負荷変化または外乱排除性能を有する。先に述べたように、全ての産業において依然として最も一般的なコントローラの選択肢である従来のPID制御がこの問題にさらされるため、この問題の影響を減らそうと試みる中で、PIDコントローラに対する構造的変更および設定点フィルタリングを含む多くのアプローチが提案されてきた。
【0009】
しかし、たとえこれらの変更を施したとしても、PIDコントローラのチューニングは、依然として、設定点トラッキング性能と外乱排除性能との間のトレードオフを正確に指定するという難題を呈する。異なるPIDチューニング方法は、通常、他の方法に比べて、設定点トラッキング性能または外乱排除性能の一方に有利である。さらに、多くのモデルベースのチューニング技法は、PIDコントローラの内部パラメータを、制御されるプロセスについてのモデルの内部パラメータに一致させ、この同じトレードオフをもたらす。たとえば、極キャンセルおよびラムダチューニングなどのPIDチューニング方法は、コントローラの積分時間をプロセスの支配的な時定数に一致させる。ここでは、コントローラ利得は、ある閉ループ時定数およびある設定点変化応答(たとえば、オーバシュート無し)を達成するように設定される。こうしたコントローラについての得られる積分動作は比較的小さいため、この技法は、非常に良好な設定点変化性能を示すが、不十分な外乱排除性能を示す。一方、ジグラー・ニコルス(Ziegler−Nichols)法などの経験的PIDチューニング方法は、特に外乱排除性能のために設計されている。しかし、こうしたコントローラの積分動作は、プロセス変数を設定点に非常に急速に戻すことができるほどに十分強いため、設定点変化に応答して好ましくない設定点オーバシュートをもたらす。
【0010】
ごく希に、ループの目的が、外乱排除だけ(たとえば、設定点変化が無いバッファタンクレベル)または設定点トラッキングだけ(たとえば、外乱が無いカスケード戦略における2次ループ)ということがある。こうした場合、チューニング構成を選択することが容易になる可能性があるが、上述したトレードオフは、完全に見落とされることが多く、代わりに、デフォルトのチューニング方法が通常選択され、任意の特定のプロセス状況においてチューニングを最適に満たないものにする。先に述べたように、PIDチューニングのこの制限を克服するために、設定点フィルタリングおよび2自由度構造を含む多数のチューニング方法が開発されてきたが、これらのチューニング方法は、通常、外乱排除性能に有利であり、したがって、設定点変化に対するコントローラの応答は、人工的に低下する。たとえば、設定点フィルタリングが選択される場合、オペレータによる設定点変更は、オーバシュートを防止するためにフィルタリングされ、設定点変化に対する遅い応答をもたらす。
【0011】
いずれにしても、先に説明した性能トレードオフの直接の結果は、異なるチューニング方法が、異なる制御目標について選択されなければならないということであり、そのことが、それだけ多くのチューニング方法がPIDチューニングについて提案されてきた理由の1つである。それだけ多くのPIDチューニング技法が利用可能である別の理由は、異なるチューニング規則または方法が異なる入力変数を使用し、その一部だけが任意の特定のプロセスで容易に利用可能である場合があるからである。たとえば、多くのチューニング方法は、プロセスモデルに基づいてチューニングを計算するが、他の方法は、他のプロセス特性に基づいてチューニングを計算する。この後者の方法の例として、ジグラー・ニコルスチューニング規則は、一部の機械プロセスについて確定するのが容易である可能性があるが、多くの産業用化学プロセスにおいて実際に確定することができないクリティカルな利得およびクリティカルな周波数を使用する。
【0012】
一方、MPCコントローラなどの予測コントローラは、設定点変化および負荷変化について同様に働くことができるべきである。その理由は、MPCコントローラの積分部分が、PIDコントローラについて観測されるのと同じトレードオフを受けないからである。より詳細には。誤差および移動ペナルティについての項が本来別個であるため、MPCコントローラは、一般に、設定点トラッキングと外乱排除との間の性能トレードオフを示さず、理論的には、MPCコントローラはPIDコントローラに対する望ましい置換物となる。同様に、予測コントローラでは、被制御変数またはプロセス出力(y)が設定点に近づいている間に、誤差(e)は増加しない。実際に、予測コントローラにおいて、第1の実行サイクル後に、誤差は理論的にゼロであり、それにより、PID制御に特有の積分利得問題を低減するかまたはなくす。残念ながら、MPCコントローラの性能は、プロセスモデル不一致が存在するとき、すなわち、MPCコントローラによって使用されるプロセスモデルが、実際のプロセス特性に完全に一致しないときに、急速に低下する可能性がある。
【0013】
さらに、PIDコントローラが外乱排除のために特にチューニングされるとき、産業用MPCコントローラの外乱排除性能は、PIDコントローラの性能より立ち遅れていることがわかっている。状態更新領域における最近のMPCの改善は、MPC技法で使用される観測器モデルが完全にわかっていると仮定する場合、ある程度この性能ギャップを埋めてきた。しかし、モデル不一致の存在下では、積分絶対誤差(IAE)によって測定されるPIDコントローラの制御性能は、考えられる最良のチューニングを施したMPCコントローラの性能より依然として優れている。
【0014】
それでも、MPCは、PIDコントローラの代替として使用される主要な制御技術の1つとして考えられてきた。その理由は、MPCコントローラが、予測制御性能の便益と少数の直感的なチューニングパラメータであるという便利さを組合せることができると考えられているからである。しかし、現在のところ、学会および制御システム販売業者が、近年、MPC適用の範囲を広げるために多大の努力をしてきたにもかかわらず、MPCコントローラは、一般に、PID制御が十分に働かない、あるいは、実施または維持があまりに困難な産業環境において成功しただけであった。基本的に、PID制御が、依然としてかなりの数のプロセスについてMPCより良好に働くため、また、PIDコントローラが、MPCタイプコントローラに比べて、安価でかつ速く導入できるため、MPCコントローラが実際にプロセスプラント構成内でPIDコントローラと置換えられた割合はわずかである。
【0015】
MPCコントローラが、PIDコントローラほど良好に機能しない傾向がある主要な理由の1つは、先に示したように、MPCコントローラが、PIDコントローラに比べて、プロセスモデル不一致の結果として性能劣化を受け易いことである(おそらく遅れが支配的なプロセスの場合を除く)。制御要素および送信機の線形化ならびにコントローラ利得スケジューリングの使用などの、プロセスにおける非線形性(または他の発生源)に起因するモデル不一致に対処するための実用的な方法が存在するが、モデル不一致に対処するための最も一般的な方法は、コントローラチューニングを実施することである。しかし、コントローラをチューニングするときの難しさのために、プロセスオペレータまたはエンジニアは、頻繁に、最悪の場合のシナリオ(たとえば、最も高いプロセス利得)についてコントローラをチューニングし、プロセスの他の領域について最適に満たないチューニングを受容する。そのため、産業用PIDまたはMPCのデフォルトのチューニングパラメータは、通常、保存的であるため、種々のプロセス適用について最初はうまく働く可能性がある。しかし、コントローラは、通常、無期限にそのデフォルト設定のままにされ、総合的な性能低下をもたらす。たとえ事実はそうでなくても、同定誤差またはプラントドリフトに起因するモデル不一致は、チューニングによって対処することが難しい。実際に、このタイプのモデル不一致は、モデル同定を実装するために十分なプロセス摂動が必要とされるため、検出することが難しく、そのことは、通常、プロセス制御の目標(すなわち、プロセス外乱に応答してプロセスを定常状態に保つこと)に矛盾する。さらに、プロセス摂動を非測定外乱から識別することが難しい。
【0016】
モデル不一致に応答してMPCコントローラを「チューニングする」1つの方法は、プロセス変化を考慮してプロセスモデルを再生成させ、次に、この新しいモデルをMPCコントローラ内で使用することである。残念ながら、まず第1に、モデルベースのコントローラで使用するための正確なプロセスモデルを開発することに対して多くの実際上の障害が存在する。たとえば、たとえ多くの産業用プロセスが最小フェーズであっても、大多数の閉ループは最小フェーズではない。むだ時間としても知られる時間遅延および高次遅れは、正確なプロセスモデルの開発を著しく複雑にする右手極を生成する。ほとんどの事例では、閉ループのむだ時間は、パイプ内の材料の輸送遅延およびコンピュータ制御システムでは不可避である離散的なサンプリングメカニズムによって生成され、一方、高次遅れは、通常、測定デバイスおよび制御デバイスのフィルタ時定数の結果である。産業用プラント用のプロセスモデルを定義するときにしばしば見出される他の難題は、弁およびパッキングの機械的挙動によって生成される分解能および不感帯を含む。
【0017】
これらのまた他の因子は、コントローラ用のプロセスモデルを開発するときに、産業用プラントの制御エンジニアに対して多くの難題を呈する。たとえば、あるプロセスが、ある利得と時定数を有する1次フィルタのように働くことが予想される場合でも、制御エンジニアは、管形状により、送信機からのさらなる時定数、制御要素コンピュータサンプリング、およびジッタを考慮しなければならない。特に、いずれのデジタル制御システムも、中央処理ユニット(CPU)および通信制約を有しており、そのことは、十分なオーバサンプリングが、プラント内の全てのタイプのループについて実用的でないことを意味する。たとえば、最大時定数とむだ時間を足した値の3倍またはむだ時間の5倍(いずれか大きい方)のサンプリングレートが、合理的に十分であると考えられることが多いが、このサンプリングレートは、通常、プラント内の多くの制御ループ(流量ループおよび圧力ループなど)について達成できない。結果として、エンジニアは、応答の一部について利用可能である場合がある第1の原理モデルにのみ依存することができない。さらに、プロセスモデル同定は、理想的には、統合された自動ツールによって実施される。しかし、プロセスモデルを同定するために現実のプラントで通常使用される第1の原理モデリングおよび普遍的な第3者機関の解決策は、フィールド機器に直接接続することによって、プロセスモデルを同定する。したがって、これらの解決策は、ループ性能に対するコンピュータ制御システム自体の影響を考慮しない(または、せいぜい近似するだけである)ため、統合されない。これらの因子は全て、プロセスと、プロセスを制御するために開発されるプロセスモデルとの間に著しい不一致をもたらす可能性があり、モデルベース制御およびチューニング方法を、実際の状況では好ましくないものにする。
【発明の概要】
【発明が解決しようとする課題】
【0018】
MPCコントローラのフィードバック制御能力の欠点が、特にプロセスモデル不一致の存在下での、PIDコントローラとMPCコントローラとの間の性能ギャップの1つの理由であることが特定されてきた。この事実を認識して、本明細書で述べるMPC適応およびチューニング技法は、MPCタイプコントローラにおいて今日一般に使用されている方法と比べて、フィードバック制御性能をより適切に統合し、プロセスモデル不一致の存在下で、従来のMPC技法に比べて良好に働くMPC適応/チューニング技法をもたらす。
【課題を解決するための手段】
【0019】
特に、MPCコントローラ性能は、コントローラ適応/チューニングユニットをMPCコントローラに追加することによって高められ、その適応/チューニングユニットは、オンラインプロセス制御中にMPCコントローラ内で使用するための、最良のまたは最適な組のプロセスモデル、MPC設計、および/またはチューニングパラメータを確定して、特定の量のモデル不一致またはある範囲のモデル不一致の存在下でMPCコントローラの外乱排除性能が改善される。より具体的には、適応/チューニングユニットは、以前に確定されたプロセスモデル、および、既知のまたは予想されるプロセスモデル不一致あるいは既知のまたは予想されるプロセスモデル不一致範囲のいずれかに基づいて、たとえば、MPC形態、MPCコントローラおよびカルマンフィルタなどの観測器のいずれかまたは両方についてのペナルティ因子、およびMPCコントローラで使用するためのコントローラモデルを含む、1つまたは複数のMPCコントローラチューニングおよび設計パラメータを確定する最適化ルーチンを実施する。この適応/チューニングユニットが使用されて、MPCコントローラが周期的にまたは連続して適応され、かつ/または、チューニングされ、それにより、最初のプロセスモデルを再生成する必要が全くない状態で、既知のまたは予想されるプロセスモデル不一致またはモデル不一致範囲の存在下で、最良の総合性能を有するMPCコントローラが開発される。そのため、MPCコントローラを自動的に適応させ、かつ/または、チューニングするこの方法は、モデル不一致またはモデル不一致範囲に基づいて最適チューニングパラメータを確定して、MPCコントローラが、モデル不一致の存在下で最適に動作することを可能にし、また、閉ループ適応制御を実施する際に有利に使用することができ、多くの事例においてPID制御技法と比べてMPCコントローラをよりよい選択肢にする。
【0020】
さらに、たとえばMPCコントローラユニットで使用される可能性がある方法は、制御誤差および/または予測誤差の自己相関関数を使用して、MPCコントローラで目下使用されているプロセスモデルと実際のプロセスとの間のモデル不一致の推定マグニチュードまたはモデル不一致の変化を確定する。この推定値が使用されて、MPCコントローラ設計およびチューニングパラメータを更新するための新しい適応/チューニングサイクルが始動され、それにより、新しい量のモデル不一致の存在下で良好な制御が実施される。モデル不一致を検出するこの方法は、特にプロセス状態変化がプロセスモデルの変化を伴うときに、方法がプロセス状態変化を受け易くなるように、コントローラがチューニングされるときを判定するのに使用されてもよく、したがって、目下チューニングされているMPCコントローラがうまく扱うことができない可能性があるプロセス変化が発生する前に、MPCコントローラを修正するかまたは再チューニングするのに使用されうる。
【図面の簡単な説明】
【0021】
【図1】MPCコントローラを実装する高度コントローラ機能ブロックを有する制御モジュールを含むプロセス制御システムのブロック図である。
【図2】典型的なMPCコントローラのブロック図である。
【図3】プロセスプラントを制御するために接続された、MPCコントローラおよび状態観測器を有する、典型的なMPCコントローラユニットのブロック図である。
【図4】プロセスモデルおよび1つまたは複数のプロセスモデルパラメータにおけるモデル不一致に基づいてMPC設計およびチューニングパラメータを確定するMPCコントローラユニットに結合される、適応/チューニングブロックの略図である。
【図5】プロセスモデルのプロセス利得パラメータにおけるモデル不一致の存在下で最適チューニングを確定することに関連する、最小積分絶対誤差の例示的なプロットである。
【図6】プロセスモデルの1次時定数におけるモデル不一致の存在下で最適チューニングを確定することに関連する、取得可能な最小積分絶対誤差の例示的なプロットである。
【図7】プロセスモデルの2次時定数におけるモデル不一致の存在下で最適チューニングを確定することに関連する、取得可能な最小積分絶対誤差の例示的なプロットである。
【図8】汎用カルマンフィルタ状態更新を用いた、MPCコントローラの2つのプロセスモデルパラメータにおけるモデル不一致についての、図4の適応/チューニングブロックによって計算された、考えられる最良の積分絶対誤差の3次元表面プロットである。
【図9】簡易カルマンフィルタ状態更新を用いた、MPCコントローラの2つのプロセスモデルパラメータにおけるモデル不一致についての、図4の適応/チューニングブロックによって計算された、考えられる最良の積分絶対誤差の3次元表面プロットである。
【図10】2次元部分空間内のモデル不一致の範囲の図である。
【図11】2次元モデル不一致範囲部分空間を画定するための、仮定されたプロセスモデル中心点において、図8の3次元プロット内に重ねられた図10の2次元モデルの不一致部分空間の図である。
【図12】モデル不一致範囲部分空間に関連する、新しい一組のコントローラモデルパラメータならびに新しい一組の最適MPCチューニングおよび設計パラメータを確定するために、図11の3次元プロット内の異なる位置に、図11の2次元モデル不一致範囲部分空間を移動させる方法の図である。
【図13】プロセスまたはプラントモデルおよびモデル不一致範囲に基づいてMPCコントローラを最適化する適応/チューニングブロックのブロック図である。
【図14】開ループチューニングを使用した、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図15】プロセスに結合する特性推定器ブロックを使用する閉ループチューニング構成における、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図16】MPCコントローラに結合されるイノベーション解析ブロックを使用する閉ループチューニング構成における、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【図17】本明細書で述べるMPCコントローラ適応/チューニング方法の実験的試験について使用される2成分系蒸留塔のP&IDを示す図である。
【図18】第1の蒸気レートにおける、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた3つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図19】第1の蒸気レートから第2の蒸気レートへの蒸気流量の人工的な非測定外乱の導入後の、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた3つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図20】第2の蒸気レートにおける、図17の2成分系蒸留塔内のレベルを制御するときの、異なる形でチューニングされた2つのMPCコントローラおよびPIDコントローラの性能のプロットを示す図である。
【図21】図18のプロットに関連する第1の蒸気レートで動作するときの、3つの異なるMPCチューニング設定におけるMPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図22】図20のプロットに関連する第2の蒸気レートで動作するときの、3つの異なるMPCチューニング設定のうちの2つについての、MPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図23】図19のプロットに関連する非測定外乱の排除中に動作するときの、3つの異なるMPCチューニング設定についての、MPCコントローラ内の予測誤差の自己相関のプロットを示す図である。
【図24】図18のプロットに関連する第1の蒸気レート中に動作するときの、3つの異なるMPCチューニング設定のMPCコントローラ内の(またPIDコントローラの)制御誤差の自己相関のプロットを示す図である。
【図25】第1の蒸気レートから第2の蒸気レートへ蒸気流量が変化することに関連する非測定外乱の排除中に動作するときの、3つの異なるMPCチューニング設定のMPCコントローラ内の(またPIDコントローラの)制御誤差の自己相関のプロットを示す図である。
【図26】MPCコントローラの適応チューニングを始動するためにプロセス推定およびイノベーション解析推定の一方または両方に依存する推定器を含む閉ループチューニング構成内での、MPC制御への図13の適応/チューニングブロックの適用を示すブロック図である。
【発明を実施するための形態】
【0022】
一般的に言えば、任意の所望のまたは適切なコントローラ設定において使用するための、種々の異なるタイプのモデル予測制御(MPC)コントローラに適用される可能性がある新しいコントローラ適応、設計、およびチューニング方法が、本明細書で説明される。しかし、この新しいコントローラ適応、設計、およびチューニング方法は、薬物および化学製造プラント、精製プラントなどのような産業用プロセスプラントなどのプロセスプラントにおいて使用される制御システムにおいて特に有用である。さらに、新しいMPCコントローラ適応、設計、およびチューニング技法は、本明細書では分散プロセス制御ネットワークの一部として実施されるものとして述べられるが、たとえば、集中制御システムの一部、プログラマブルロジック制御(programmable logic control)(PLC)システムの一部、独立型制御システムの一部などを含む、他のタイプの制御環境において実施されうる。
【0023】
ここで図1を参照すると、本明細書で述べるMPCコントローラ適応、設計、およびチューニング技法が実施されてもよいプロセス制御システム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)、HART(登録商標)プロトコル、WirelessHART(商標)プロトコルなどのような任意のスマート通信プロトコルに関連する任意の所望のハードウェアおよびソフトウェアを使用して、フィールドデバイス15〜22に通信可能に接続される。
【0024】
フィールドデバイス15〜22は、センサ、弁、送信機、ポジショナなどのような任意のタイプのデバイスであってよく、一方、I/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのI/Oデバイスであってよい。図1に示す実施形態では、フィールドデバイス15〜18は、アナログラインまたはアナログ/デジタルが組合わされたラインを通じてI/Oカード26と通信する標準的な4〜20mAデバイスまたはHART(登録商標)デバイスであり、一方、フィールドデバイス19〜22は、フィールドバスプロトコル通信を使用してデジタルバスを通じてI/Oカード28と通信するフィールドバスフィールドデバイスなどのスマートデバイスである。もちろん、フィールドデバイス15〜22は、現在存在する、または、将来開発される任意の規格またはプロトコルを含む、任意の他の所望の規格(複数可)またはプロトコルに適合しうる。同様に、フィールドデバイス15〜22間の通信は、所望である場合、ワイヤード技術、ワイヤレス技術、または、ワイヤードおよびワイヤレス技術の組合せを使用して、実装されうる。
【0025】
プラント10内の多くの分散コントローラのうちの1つであってよいコントローラ11は、内部に少なくとも1つのプロセッサを有し、少なくとも1つのプロセッサは、プロセッサ内に格納されるかまたはその他の方法でプロセッサに関連する、制御ループを含んでもよい1つまたは複数のプロセス制御ルーチンを実装するかまたは監督する。コントローラ11はまた、デバイス15〜22、ホストコンピュータ13、およびデータヒストリアン12と通信して、任意の所望の方法でプロセスを制御する。本明細書で述べる任意の制御ルーチンまたは要素は、所望される場合、異なるコントローラまたは他のデバイスによって実装されるかまたは実行される制御ルーチンまたは要素の一部を有してもよいことが留意されるべきである。同様に、プロセス制御システム10内に実装される本明細書で述べる制御ルーチンまたは要素は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態をとってもよい。この説明のために、プロセス制御要素は、たとえば、コンピュータデバイスのCPUなどのプロセッサによって実行可能であるように、任意のコンピュータ読取り可能媒体上に格納されたルーチン、ブロック、またはモジュールを含む、プロセス制御システムの任意の一部または部分でありうる。サブルーチン、サブルーチンの一部(コードのラインなど)などのような、制御プロシージャのモジュールまたは任意の一部であってよい制御ルーチンは、ラダーロジック、順次機能チャート、機能ブロック図、オブジェクト指向プログラミングあるいは任意の他のソフトウェアプログラミング言語または設計パラダイムなどを使用して、任意の所望のソフトウェア形式で実装されてもよい。同様に、制御ルーチンは、たとえば、1つまたは複数のEPROM、EEPROM、特定用途向け集積回路(ASIC)、あるいは任意の他のハードウェアまたはファームウェア要素内にハードコード化されてもよい。さらに、制御ルーチンは、グラフィカル設計ツール、あるいは、任意の他のタイプのソフトウェア、ハードウェア、またはファームウェアのプログラミングまたは設計ツールを含む任意の設計ツールを使用して設計されてもよい。そのため、コントローラ11は、一般に、任意の所望の方法で制御戦略または制御ルーチンを実装するよう構成されてもよい。
【0026】
一実施形態では、コントローラ11は、機能ブロックと一般に呼ばれるものを使用して制御戦略を実装し、各機能ブロックは総合制御ルーチンの一部またはそのオブジェクトであり、(リンクと呼ぶ通信を介して)他の機能ブロックと連携して動作して、プロセス制御システム10内にプロセス制御ループを実装する。機能ブロックは、通常、送信機、センサ、または他のプロセスパラメータ測定デバイスに関連するような入力機能、PID、MPC、ファジーロジックなどの制御を実施する制御ルーチンに関連するようなコンロール機能、および弁などのあるデバイスの動作を制御する出力機能のいずれか1つを実施して、プロセス制御システム10内のある物理的機能を実施する。もちろん、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ11内に格納され、コントローラ11によって実行されてもよく(これは、通常、これらの機能ブロックが標準的な4〜20mAデバイス、および、HART(登録商標)デバイスなどのあるタイプのスマートフィールドデバイスのために使用されるかまたはそれに関連するときに当てはまる)、または、フィールドデバイス自体によって格納され、実装されてもよい(これは、FOUNDATION(登録商標)フィールドバスデバイスの場合に当てはまる)。さらに、本明細書で述べるコントローラ適応およびチューニングルーチンまたは技法などのコントローラルーチンを実装する機能ブロックは、ホストワークステーションまたはコンピュータ13内でまたは任意の他のコンピュータデバイス内で全体的にまたは部分的に実装されてもよい。制御システムの説明は、オブジェクト指向プログラミングパラダイムを使用する機能ブロック制御戦略を使用して本明細書で提供されるが、制御戦略あるいは制御ループまたはモジュールはまた、他の慣行を使用して、また、任意の所望のプログラミング言語またはパラダイムを使用して実装されるかまたは設計されうる。
【0027】
図1の拡大ブロック30によって示すように、コントローラ11は、ルーチン32および34として示すいくつかの単一ループ制御ルーチンを含んでもよく、制御ループ36として示す1つまたは複数の高度制御ループを実装してもよい。こうしたループのそれぞれは、通常、制御モジュールと呼ばれる。単一ループ制御ルーチン32および34は、単一入力/単一出力ファジーロジック制御ブロックおよび単一入力/単一出力PID制御ブロックを使用して単一ループ制御を実施するものとして示され、それらのブロックは、弁などのプロセス制御デバイス、温度および圧力送信機などの測定デバイス、またはプロセス制御システム10内の任意の他のデバイスに関連してもよい、適切なアナログ入力(AI)およびアナログ出力(AO)機能ブロックにそれぞれ接続される。高度制御ループ36は、多数のAI機能ブロックに通信可能に接続される入力および多数のAO機能ブロックに通信可能に接続される出力を有する高度制御ブロック38を含むものとして示されるが、高度制御ブロック38の入力および出力は、任意の他の所望の機能ブロックまたは制御要素に通信可能に接続して、他のタイプの入力を受信し、他のタイプの制御出力を提供してもよい。さらに、高度制御ブロック38は、多変数(たとえば、複数入力/複数出力)制御を実装するものとして示されるが、単一変数(たとえば、単一入力/単一出力)制御を実装するのに使用されうる。さらに述べるように、高度制御ブロック38は、モデル予測制御(MPC)ルーチンを、MPCコントローラルーチンにコントローラ設計およびチューニングパラメータを提供するコントローラ適応/チューニングブロックと統合して、プロセスまたはプロセスのある部分の制御を実施する制御ブロックであってよい。高度制御ブロック38は、一般にモデル予測制御(MPC)ブロックを含むものとして本明細書で述べられることになるが、実際には、多くの異なるタイプのMPC技法のうちの任意の技法を実装する可能性があり、本明細書でより詳細に述べるように、ある場合には、これらの技法間での切換えさえありうる。高度制御ブロック38またはそのコンポーネントを含む、図1に示す制御モジュールまたはこれらのモジュールのサブコンポーネントは、コントローラ11によって実行されうる、または別法として、ワークステーション13の1つまたはさらにフィールドデバイス19〜22の1つなどの、任意の他の処理デバイス内に配置され、それにより実行されうることが理解されるであろう。たとえば、一実施形態では、MPCコントローラ適応/チューニングブロック42は、コンピュータ13に格納され、そこで実行されて、コントローラ11によって実行される高度制御ブロック38内に格納されたMPCコントローラチューニングパラメータ、設計パラメータ、およびプロセスモデルパラメータをMPCコントローラに提供してもよい。
【0028】
図1に示すように、ワークステーション13のうちの1つは、高度制御ブロック38を生成し、ダウンロードし、実装するのに使用される高度制御ブロック生成ルーチン44を含む。高度制御ブロック生成ルーチン44は、ワークステーション13内のメモリ内に格納され、ワークステーション13内のプロセッサによって実行されてもよいが、このルーチン(またはこのルーチンの任意の一部)は、付加的にまたは別法として、所望される場合、プロセス制御システム10内の任意の他のデバイス内に格納され、それによって実行されてもよい。さらに、ユーザインタフェースルーチン46は、プロセスオペレータ、制御エンジニアなどのようなユーザが、高度制御ブロック38に関連するチューニング、設計、または制御パラメータを指定するかまたは変更すること、設定点を変更すること、適応/チューニングブロック42によって実施される適応/チューニングプロシージャを始動させること、新しいモデルパラメータを提供すること、モデル不一致値またはモデル不一致範囲値を提供することなどを可能にしてもよい。
【0029】
背景として、MPC技法の多くの産業用実施態様は、モデルアルゴリズム制御(model algorithmic control)(MAC)技法および動的マトリクス制御(dynamic matrix control)(DMC)技法を含む。DMC技術は、プロセスの線形ステップ応答またはインパルス応答モデルを使用し、この場合、最適制御経路は、オフラインで予め計算され、大きなマトリクス内に格納される。その後、このコントローラマトリクスは、重ね合わせによる被操作変数のオンライン移動を計算するのに使用される。結果として、計算コストは、最適方程式をオンラインで解くMPC法と比較して劇的に減少する。DMC技術の別の利点は、DMC技術で使用される状態変数が、プロセスモデルから直感的に計算され、明示的な将来出力予測を示し、そのことが、制約に関連する変数などのプロセス出力の将来予測が、容易に利用可能でありまたユーザに表示されうることを意味することである。
【0030】
他のMPC実施態様は、線形目標関数を使用し、かつ制約を明示的に組込むIDCOMおよび線形動的マトリクス制御(linear dynamic matrix control)(LDMC)、2次性能関数を組込むDMCの拡張であり、かつ制約の協調が明示されている2次動的マトリクス制御(QDMC)、最初の実施態様の反復的ソリューション技法を置換えるために2次プログラミングアルゴリズムを使用するIDCOMの拡張であるIDCOM−M、および、状態空間実施態様であるシェル多変数最適化制御(Shell multivariable optimizing control)(SMOC)を含む。別の種類のMPC技法は、良好なMPC性能を提供するために状態観測器を使用する。
【0031】
図2は、多変数プロセス制御を実施するために、図1の高度制御ブロック38によって実装されてもよい(プロセス50に通信可能に結合される)多変数MPCコントローラユニット52の一実施形態の詳細ブロック図を示す。この場合、MPCコントローラ52ユニットは、DMC制御技法を実装するのに使用されてもよい。しかし、ここでの説明は、MPC制御について一般的に理解するための良好な基礎を提供するものとする。図2に示すように、高度制御ブロック38は、一組の被操作変数(MV)を生成し、一組の被操作変数(MV)は他の機能ブロックに提供され、他の機能ブロックはプロセス50の入力を制御するために接続される。図2に示すように、高度制御ブロック38は、通常、出力と同じ数の入力を有する任意の標準的なMPCルーチンまたはプロシージャを含むかまたは実装してよいMPCコントローラブロック52を含むが、その要件は必要ではない。MPCコントローラ52は、入力として、プロセス50内で測定される値のベクトルを通常構成する一組のN個の被制御変数(CV)および補助変数(AV)、将来のある時点でプロセス50に提供される既知のまたは予想される変化または外乱である一組の外乱変数(DV)、ならびに、たとえば最適化器(図示せず)、ユーザ、または任意の他の供給源から提供される一組の定常状態目標制御および補助変数(CVT)および(AVT)を受信する。MPCコントローラ52は、これらの入力を使用して、制御信号の形態で一組のM個の被操作変数(MV)信号を生成し、被操作変数信号MVを、弁作動器、バーナ、ポンプなどであってよいプロセス50の制御入力に送出する。
【0032】
さらに、MPCコントローラ52は、制御ホライズンにおいて、それぞれ、被操作変数(MV)、制御変数(CV)、および補助変数(AV)の予測値を示す、一組の予測定常状態被操作変数(MVSS)と共に一組の予測定常状態制御変数(CVSS)および補助変数(AVSS)を計算し生成する。これらの変数は、1つまたは複数のMPC最適化ルーチン(複数可)で使用されて、目標制御および補助変数CVTおよびAVTを生成し、それにより、プロセス50を最適動作状態に駆動してもよい。
【0033】
どのように生成されても、目標制御および補助変数CVTおよびAVTは、MPCコントローラ52への入力として提供され、MPCコントローラ52は、先に述べたように、これらの目標値CVTおよびAVTを使用して、(制御ホライズンにわたって)新しい組の定常状態被操作変数MVSSを確定し、新しい一組の定常状態被操作変数MVSSは、制御ホライズンの終わりに、目下の制御および被操作変数CVおよびAVを、目標値CVTおよびAVTに駆動する。もちろん、知られているように、MPCコントローラ52は、予測定常状態被操作変数MVSS用の定常状態値に達しようと試みて、被操作変数を段階的に変化させ、それにより、理論的には、プロセスが、目標制御および補助変数CVTおよびAVTを取得することになる。MPCコントローラ52は、各プロセススキャン中に上述したように動作するため、被操作変数の目標値が、スキャンごとに変わる可能性があり、その結果、MPCコントローラ52は、特にプロセス50内の雑音、予想しない外乱、変化などの存在下では、実際に、これらの組の目標被操作変数MVの任意の特定の変数に決して達しない可能性がある。
【0034】
知られているように、MPCコントローラ52は、種々の異なるMPC制御技法のうちの任意の技法で使用される任意のタイプのモデルであってよい、制御予測プロセスモデル70(「コントローラモデル」とも呼ばれる)を含む。たとえば、モデル70は、N×(M+D)ステップ応答マトリクスであってよい(ここで、Nは制御変数CVの数と補助変数AVの数を足した値であり、Mは被操作変数MVの数であり、Dは外乱変数DVの数である)。しかし、モデル70は、1次、2次、3次などの予測モデルまたは第1の原理モデル、状態空間モデル、コンボリューションプロセスモデル、または任意の他のタイプのプロセスモデルであってよい。コントローラモデル70は、多大な基本的モデリングを行う努力を必要としない時系列解析技法を使用するプロセスアップセット試験から確定されてもよく、または、一組または複数組の線形モデルまたは非線形モデルを重ね合わせる技法を含む任意の他の既知のプロセスモデリング技法を使用して確定されてもよい。いずれにしても、制御予測プロセスモデル70は、制御および補助変数CVおよびAVのそれぞれについて以前に計算された予測を規定する出力72を生成し、ベクトル加算器74は、目下の時間についてのこれらの予測値を、制御および補助変数CVおよびAVの実際の測定値から減算して、入力76上に誤差または補正ベクトルを生成する。この誤差は、通常、予測誤差と呼ばれる。
【0035】
制御予測プロセスモデル70は、その後、制御予測プロセスモデル70の他の入力に提供される外乱および被操作変数に基づいて、制御ホライズンにわたって制御変数および補助変数CVおよびMVのそれぞれについて将来制御パラメータを予測する。制御予測プロセスモデル70はまた、先に説明した制御変数および補助変数の予測定常状態値CVSSおよびAVSSを生成する。
【0036】
制御目標ブロック80は、ブロック38のために以前に確立された軌跡フィルタ82を使用して、目標変換ブロック55によって、制御目標ブロック80に提供されるN個の目標制御および補助変数CVTおよびAVTのそれぞれについて制御目標ベクトルを確定する。特に、軌跡フィルタ82は、制御および補助変数がその目標値に所定期間にわたって(over time)駆動される方法を規定する単位ベクトルを提供する。制御目標ブロック80は、この単位ベクトルならびに目標変数CVTおよびAVTを使用して、制御ホライズン時間によって規定される期間にわたって、目標変数CVTおよびAVTの変化を規定する制御および補助変数のそれぞれについて動的制御目標ベクトルを生成する。ベクトル加算器84は、その後、制御および補助変数CVおよびAVのそれぞれについての将来制御パラメータベクトルを、動的制御ベクトルから減算して、制御および補助変数CVおよびAVのそれぞれについて将来誤差ベクトルを規定する。制御および補助変数CVおよびAVのそれぞれについての将来誤差ベクトルは、その後、MPCアルゴリズム86に提供され、MPCアルゴリズム86は、制御ホライズンにわたって、たとえば最小2乗誤差または積分絶対誤差(integrated absolute error)(IAE)を最小にする被操作変数MVステップを選択するよう働く。一部の実施形態では、MPCアルゴリズム86は、MPCコントローラ52へのN個の制御および補助変数と、所望である場合、MPCコントローラ52によって出力されるM個の被操作変数との間の関係から生成されるM×Nの制御マトリクスを使用してもよい。より詳細には、MPCアルゴリズム86は、2つの主要な目標を有する。第1に、MPCアルゴリズム86は、オペレーション上の制約内で、最小のMVの移動を有するCV制御誤差を最小にしようとし、第2に、最適定常状態のMV値および最適定常状態のMV値から直接計算される目標のCV値を達成しようとする。
【0037】
典型的なモデル予測コントローラについての状態方程式は、
【0038】
【数1】
【0039】
として表現されてもよい。式中、Q、R、Sは、誤差、コントローラ移動、および増分移動についてのペナルティ重みであり、xkはモデル状態マトリクスであり、ykはプロセス出力であり、ukはコントローラ出力である。Q、R、Sのペナルティベクトルは、本来別個であるため、MPCコントローラは、一般に、設定点トラッキングと外乱排除との間の性能トレードオフを有さない。しかし、MPCコントローラは、依然として、特定の多変数プロセス制御目標についてチューニングされる必要がある。プロセスモデルは、MPCコントローラの内部構造(たとえば、状態空間MPC定式を有するプロセス状態空間)に常に一致するが、さらなるチューニングパラメータが、設定点変化と外乱排除に関する挙動を確定する。
【0040】
特に、ペナルティベクトルが使用されて、エンドユーザによって定義された特定のプロセスについての制御目標に従って1つの変数を他の変数に対して強調することができる。モデル不一致が推測される場合、ペナルティベクトルQおよびRはまた、コントローラをより頑健にする(すなわち、コントローラをデチューニングする)ために使用されうる。しかし、ファンネル制御または参照軌跡などの方法は、誤差ベクトルを有効にフィルタリングするため、より明白な影響を頑健性に及ぼす。このことは、これらの方法が、産業用プロセス適用においてエンジニアおよびオペレータがモデル予測コントローラをチューニングするための好ましい手段である理由である。モデル予測コントローラは、本来、プロセスに「一致する」ため、制御移動は、特定のプロセスモデルについて常に最適である。このことは、コントローラは(最終制御要素に関する物理的制限に従って)デチューニングされるだけであり、決して非常に急激にチューニングされないことを意味する。たとえば、弁開放速度は無限ではありえず、したがって、Rの値は、現実には決してゼロでありえない。PIDコントローラが外乱排除について特にチューニングされているとき、産業用MPCコントローラの外乱排除は、PIDコントローラの外乱排除より立ち遅れることがわかっている。状態更新の領域における最近のMPCの改善は、MPCルーチンで使用される観測器モデルが完全にわかっていると仮定する場合、その性能ギャップを埋めてきた。しかし、モデル不一致の存在下で、(たとえばIAEで測定される)PIDコントローラの制御性能は、考えられる最良のチューニングを施したMPCコントローラの性能より依然として優れている。それでも、観測器を有するMPC技法は、フィードバック制御性能を改善するために使用され、通常、この点でDMC技法よりうまく働きうる。
【0041】
観測器ベースMPCコントローラシステム88の実施例は図3に示される。ここで、MPCコントローラシステム88は、MPCコントローラ90、および、この場合においては、カルマンフィルタであると仮定される観測器92を含む。MPCコントローラ90は、制御信号uを、プロセスプラント94およびカルマンフィルタ92に提供する。さらに、MPCコントローラおよびカルマンフィルタ92は、同様にプロセスプラント94に提供されるかまたはプロセスプラント94内に存在する外乱入力dを受取り、測定された被制御変数yの形態でプラント94からフィードバックを受取る。プロセスプラント94は、モデル化された形態で図3に示され、その中で、プラント94は、制御信号uおよび外乱信号dを受取るプラント伝達関数96および種々の予測誤差源または外乱源を含む。特に、外乱および雑音モデル98(伝達関数GW)は、雑音w(たとえば白色雑音であってよい)を受取り、雑音モデル98の出力は、(純粋に理論的な加算器100において)プラント伝達関数96の出力に付加される。加算器100の出力は、別の理論的な加算器102において測定誤差または測定雑音zに付加されて、測定されたプロセス出力yを生成する。
【0042】
このモデルでは、確率的状態空間が特徴であるプロセスの状態変数xの更新は、ガウス分布プロセス雑音wkおよび測定雑音nkについて
xk+1=Axk+Buk+wk (4)
yk=Cxk+nk (5)
として表現されうる。
【0043】
図3の観測器92などの状態観測器の一般的な目標は、全ての測定可能なシステム入力および出力に基づいてシステムの内部状態の予測値を提供することである。特に、方程式(4)および(5)についての仮定の1つが、(プロセスをモデル化する)ベクトルA、B、およびCが正確にわかっていることである場合、観測器利得が計算されうる。カルマンフィルタと呼ばれる、1960年代に開発されたフィルタ定式は、雑音があるかまたは不完全な測定に基づいて内部プロセス状態を推定するための、プロセス制御における最も一般的な方法であった。方程式(1)〜(3)に示すMPC定式を使用する離散的サンプリングシステムの場合、次の状態xk+1を推定するためのカルマンフィルタ方程式は、
【0044】
【数2】
【0045】
である。式中、Jはカルマンフィルタ利得であり、
【0046】
【数3】
【0047】
はkの状態変数を有する状態ベクトルであり、ykは予測プロセス出力であり、
【0048】
【数4】
【0049】
はプロセス出力の実際の値である。
【0050】
非測定外乱および測定雑音についての共分散がわかっている場合、汎用カルマンフィルタ構造は、プラントモデルにGW(外乱および雑音モデル)を付加し、次に、(図3に示す)付加されたモデルについてMPCコントローラ利得を再計算することによって生成されうる。フィルタ利得Jは、リカッチ方程式(Riccati equation)を数値的に解くことによって確定される。このとき、QKFは、外乱wの共分散を表す半正定(positive semi−definite)マトリクスであり、RKFは、測定雑音zの共分散を表す正定(positive definite)マトリクスである。共分散がわからない場合、簡易バージョンのカルマンフィルタが使用されうる。この定式は、外乱wが独立であり、したがって、外乱wの各要素がプロセス出力yの1つ(でかつ1つだけ)の要素に影響を及ぼすことを仮定する。この仮定の結果として、QKFおよびRKF、入力および測定雑音共分散は必要とされない。代わりに、この簡易化は、フィルタ時定数τi、および、各外乱についての信号対雑音比SNRiの推定値を使用して、以下のように外乱モデルを生成する。
【0051】
【数5】
【0052】
式中、ai=e−T/τi(0<τi<∞)であり、Tはサンプリング期間である。τi→0になるにつれて、Gwi(q)は単位利得に近づき、一方、τi→∞になるにつれて、Gwiは積分器になる。Δwの要素iは、ゼロの平均値および標準偏差σwi(ここで、wi(k)=wi(k)−wi(k−1))を有する静的白色雑音信号であり、zの要素iは、ゼロの平均値および標準偏差σZiを有する静的白色雑音信号である。
【0053】
状態更新の目標は、時間の全ての場合において(すなわち、離散的コントローラの全てのスキャン期間において)目下の状態変数の考えられる最良の推定値を見出すことである。しかし、十分にチューニングされたMPCコントローラにおいて、考えられる最良の推定値を利用することは、考えられる最良の制御性能をもたらすことを必ずしも意味しない。特に、状態更新モデルの閉ループフィードバック経路の動的挙動は、観測器利得Jに依存する。しかし、観測器利得Jは雑音共分散(または、簡易カルマンフィルタ定式の場合、信号対雑音比)から導出されるため、観測器伝達関数を考慮するチューニングパラメータまたは総称変数が全く存在しない。したがって、閉ループ制御性能は、好ましくない(最適に満たない)方法で影響を受ける可能性がある。しかし、広い範囲のJについての閉ループ応答が、特定のコントローラ状況について非常に類似することが判断された。そのため、Jの値は、制御性能に非常に小さな影響を及ぼすだけであるように見える。意外にも、この観測は、完全なモデルの場合とモデル不一致の場合の両方に当てはまる。実際に、観測器内での移動ペナルティおよび誤差ペナルティのチューニングは、モデル不一致が有る場合と無い場合の両方で、制御性能に著しく大きな影響を及ぼすことが判断された。したがって、これらのチューニングパラメータは、以下で提供されるチューニングの説明で使用されることになる。
【0054】
観測器は、MPCフィードバック性能を改善するが、PIDコントローラなどの経験的にチューニングされるコントローラが持たない仮定を依然として有する。さらに、モデルベース観測器が有る場合かまたは無い場合の任意のモデルベース予測コントローラは、モデルが完全にわかっていることを仮定することになり、これは、実際のプロセスプラントではほとんど間違いなく当てはまらない。残念ながら、小さなモデル誤差であっても、不十分なコントローラ性能をもたらす大きな予測および状態更新誤差の原因となりうる。
【0055】
先に説明したように、モデル予測コントローラ用のチューニングパラメータは、一般に、特定のプラント適用に望ましい方法でコントローラ挙動を調整するために使用される。たとえば、ある所望の応答速度は、移動ペナルティRをある値にチューニングすることによって設定されてもよい。しかし、コミッショニングエンジニアによって設計される予想挙動は、モデル不一致が微々たるものである場合にのみ発生することになり、これは、産業用プラントにおいてほとんど当てはまらない。明白なモデル不一致を反映するために、実行者は、所望の挙動が観測可能になるまで反復的チューニングに頼ることが多い。このプロセスは、非常に時間がかかるためコストがかかり、運転中のプラントに関して考えられる全ての制御および制約シナリオをカバーすることが難しいため最適でない可能性がある。この方法が、所与のモデル不一致について所望のプラント挙動をもたらしても、挙動は、モデル不一致の大きさが変化する場合、変化することが予想されうる。さらに、モデル不一致およびその変動の量がわかっていても、この情報からチューニング情報を導出する方法が存在しない。
【0056】
以下で述べるMPC適応およびチューニング技法は、プロセスモデル不一致の知識を使用して、一定のまたは変化するモデル不一致の存在下で最適制御性能のためのチューニングを確定する。一般に、このMPC適応およびチューニング技法は、特定のプロセスモデル(たとえば、プラントコミッショニングにおいて確定されるプロセスまたはプラントモデル)に基づく最適化基準およびプロセスモデル不一致の指標を実装して、最適な一組のMPCコントローラ設計およびチューニングパラメータを生成し、最適な一組のMPCコントローラ設計およびチューニングパラメータは、最初のプロセスモデルと共にMPCコントローラで使用されると、良好なまたはより最適な制御を実現する。このMPCコントローラ適応およびチューニング技法は、たとえば観測器(カルマンフィルタなど)を有するMPCコントローラ、DMCコントローラ、または上述した他のMPCコントローラタイプのうちの任意のタイプを含む多くの異なるタイプのMPCコントローラと共に使用されうる。しかし、説明のために、MPCコントローラ適応およびチューニング技法は、カルマンフィルタの形態の観測器を有するMPCコントローラについて、種々の設計およびチューニング基準を確定するために適用されるものとして述べられることになる。この場合、以下で見られるように、適応およびチューニング技法は、使用するカルマンフィルタのタイプ、そのタイプのカルマンフィルタについて使用されるチューニングパラメータ、ならびに、MPCコントローラ自体内で使用されるチューニングパラメータを選択することができる。さらに、一部の実施形態では、MPCコントローラ適応およびチューニング技法は、プロセスモデルを再形成するかまたは再確定する必要なしで、最初に開発されたプラントモデルの代わりに、MPCコントローラにおいて予測モデルとして使用される新しいコントローラモデルを開発することになる。
【0057】
もちろん、2つのタイプのカルマンフィルタリング技法(汎用カルマンフィルタおよび簡易カルマンフィルタを含む)が、本明細書に記載される開示される適応/チューニング技法における代替のコントローラ形態として説明されるが、他のタイプのMPCコントローラ形態が、同様にこの技法において、または、以下で特に述べる技法の代わりとみなされうる。さらに、特定のコントローラ設計およびチューニングパラメータが、カルマンフィルタおよびMPCコントローラに使用されるように利用可能であるものとして述べられたが、他の設計およびチューニングパラメータが、他の実施形態において使用されてもよく、これらの設計およびチューニングパラメータは、チューニング技法によって考えられる特定のMPCコントローラに基づく。
【0058】
新しいMPCコントローラ適応およびチューニング技法が基礎を置く第1の一般原理は、チューニングパラメータが、MPCコントローラの挙動、したがって、閉ループ制御性能に影響を及ぼす方法が、任意の所与の時間に存在するモデル不一致の量に依存することである。ある場合には、これらの関係は、非常に重要でありうり、かつ/または、さらに非線形でありうる。モデル不一致の存在下でうまく働く、本明細書で述べる新しいMPCコントローラ適応およびチューニングシステムは、モデル不一致の存在下で最適な制御挙動を実現するMPCコントローラ形態および/または設計およびチューニング設定を確定するために、考えられる種々の異なるMPC設計およびチューニングパラメータの考えられる選択を含む。一実施形態では、以下のMPCコントローラ適応およびチューニング技法は、カルマンフィルタリングを用いるMPCコントローラの形態でここで説明される、観測器ベースMPCコントローラの異なる形態の中で選択してもよい。しかし、他のMPCコントローラ形態の中での選択が、併せてまたは代わりに使用されうる。以下で述べる特定の実施形態では、カルマンフィルタのタイプ(TKF)は、汎用的であってよく(すなわち、汎用カルマンフィルタ)、または、簡易的であってよい(すなわち、簡易カルマンフィルタ)。この場合、設計およびチューニングパラメータは、予測ホライズン(P)、制御ホライズン(M)、移動ペナルティ(O)、および誤差ペナルティ(R)の選択の形態で、両方のMPCコントローラについて確定されてもよい。同様に、チューニングパラメータは、カルマンフィルタについて確定されてもよく、カルマンフィルタは、汎用カルマンフィルタの場合、外乱wの共分散(QKF)および測定雑音の共分散(RKF)であってよく、また、簡易カルマンフィルタの場合、各外乱について、フィルタ時定数τi(T)および信号対雑音比(SNR)のベクトルであってよい。これらの設計およびチューニングパラメータは、これらのパラメータを指定するために、コンピュータ実施態様で使用されてもよいタイプのデータの指標と共に、以下で要約される。
・MPCコントローラチューニング:
・P(予測ホライズン)、整数
・M(制御ホライズン)、整数
・Q(移動ペナルティ)、浮動小数点ベクト
・R(誤差ペナルティ)、浮動小数点ベクトル
・カルマンフィルタのタイプ(TKF):汎用または簡易、ブール的
・カルマンフィルタチューニング
・汎用
・QKF(外乱wの共分散)、浮動小数点マトリクス
・RKF(測定雑音zの共分散)、浮動小数点マトリクス
・簡易
・T(フィルタ時定数τi)、浮動小数点ベクトル
・SNR(各外乱についての信号対雑音比)、浮動小数点ベクトル
【0059】
MPCの異なる実施態様は、最大移動レートまたは参照軌跡などの、追加のまたは異なるチューニングパラメータを使用してもよい。しかし、こうしたパラメータは、通常、オペレータの特定の必要性を対象としており、得られる効果は、先に同定したパラメータにオーバラップする可能性がある。そのため、MPCコントローラの動的挙動に影響を及ぼす他の手段が存在しても、所望のプロセス挙動の多くは、上述したパラメータによって対処されうる。さらに、本明細書で述べる設計/チューニングパラメータは、コントローラ形態パラメータ(すなわち、TFK)を含み、コントローラ形態パラメータは、この場合特に、MPCコントローラの形態を、2つの異なるタイプの観測器ベースMPCコントローラの一方であるものとして(すなわち、汎用カルマンフィルタ形態または簡易カルマンフィルタ形態の一方であるものとして)指定する。しかし、コントローラ形態パラメータは、観測器ベースコントローラ形態と非観測器ベースコントローラ形態との間や、DMCコントローラとMACコントローラとの間で、などのように、異なる形態のコントローラを指定しうる。
【0060】
モデル不一致およびチューニングパラメータは、閉ループ制御性能と高い相関があるため、MPCコントローラ適応およびチューニング技法は、モデル不一致の存在下で最適な一組のMPCコントローラ設計およびチューニングパラメータを確定するために解くことができる、制約付き最適化問題とみなされうる。図4は、いずれかまたは両方の設計およびチューニングパラメータを生成し、MPCコントローラに提供するために、この最適化問題を実装し解く構成を示す。特に、図4の最適化ブロック110は、MPCコントローラ114で使用されるプロセスモデルの知識およびモデル不一致の量に基づいて、カルマンフィルタ116の形態の観測器に結合するMPCコントローラ114を有するMPCコントローラユニット112で使用するための理想的なまたは最適な設計およびチューニングパラメータを確定する。ここで、MPCコントローラ114およびカルマンフィルタ116はそれぞれ、図3に関して先に説明したコントローラ90および観測器92であってよい。
【0061】
図4の最適化ブロック110は、入力として、プラントのために最初に開発され、おそらくMPCコントローラによって使用されるプロセスモデル(「プラントモデル」として示す)および存在するモデル不一致の指標を受容する。存在するモデル不一致の量は、たとえば図1のユーザ入力ルーチン46を介してユーザによって入力されてもよく、または、以下で述べる方法などの他の方法で確定されてもよい。これらの入力に基づいて、最適化ブロック110は、(考えられる利用可能なタイプから)使用する理想的なまたは最も適したMPCコントローラタイプまたは形態を確定すると共に、特定のプロセスモデルおよびモデル不一致を考慮して、確定されたMPCコントローラタイプについて使用するための特定の設計パラメータならびにコントローラおよびフィルタリングパラメータを確定する。そのため、図4の最適化ブロック110を出る一番上のラインで示すように、最適化ブロック110は、MPCコントローラユニット112で使用するためのカルマンフィルタリング技法のタイプ(TKFとして同定される)、および、このMPCコントローラタイプについて使用するためのチューニングパラメータを確定する(TKFが汎用カルマンフィルタである場合、QKFおよびRKFとして同定され、または、TKFが簡易カルマンフィルタである場合、TおよびSNRとして同定される)。ブロック110は、これらの設計およびチューニングパラメータをカルマンフィルタ116に提供する。さらに、最適化ブロック110は、最適化の一部として、MPCコントローラ114によって使用される一組の設計およびチューニングパラメータを確定する。これらのパラメータは、MおよびP(設計パラメータ)ならびにQおよびR(チューニングパラメータ)として図4で同定される。これらのパラメータは、ブロック110を出る下の2つのライン上に、最適化ブロック110によって出力されるものとして示される。一般的に言えば、最適化ブロック110によって確定される設計およびチューニングパラメータは、最適化ブロック110内に格納されるかまたは最適化ブロック110によって実行される目標関数を(目標関数に提供される制約内で)最小にするパラメータであり、プロセスまたはプラントモデルおよび存在するモデル不一致を考慮して、最良のコントローラ性能を同定する。重要なことには、図4の最適化ブロック110は、最適化ブロック110の目標関数に基づいて、MPCコントローラユニット112で使用するための一組のMPC設計およびチューニングパラメータの値を生成し、その設計およびチューニングパラメータは、プラントモデル自体を変更するかまたは再生成する必要なしで、目下のプロセスまたはプラントモデルおよびモデル不一致が与えられると、考えられる最良のまたは最も理想的な制御をもたらす。
【0062】
一実施形態では、最適化ブロック110は、セトリング時間にわたって関数f(x)(目標関数)の積分絶対誤差(IAE)を最小にするように試みる目標関数を使用する。しかし、この最適化は、MPCコントローラの制御ホライズンまたは予測ホライズンなどの移動性ホライズン、または、所望される場合、他の期間にわたって確定されうる。もちろん、任意の数の異なる目標関数が使用されることができ、これらの目標関数が実装されて、最小IAE、または、最小2乗誤差、積分誤差、変化性、標準偏差などのような他のある尺度を確定し、それにより、最適制御性能を評価しうる。さらに、任意の方法で物理的および論理的境界に対処するために、最適化アルゴリズムに制約が付加されて、最適化ブロック110が、あるプロセスまたは制御制約の違反を引起すコントローラ設計または一組のチューニングパラメータを指定することを防止してもよい。しかし、通常、制約のまさにその値は、計算の範囲だけに影響を及ぼし、総合的な結果に影響を及ぼさない。
【0063】
1つの特定の実施形態では、図4の最適化ブロック110によって実施される最適化計算は、以下の目標関数を実装してもよい。
【0064】
【数6】
【0065】
式中、Γは一組の設計およびチューニングパラメータ(この実施例では、[P、M、Q、R、TKF、QKF、RKF、T、SNR]Tであってよい)であり、
【0066】
【数7】
【0067】
はプロセスまたはプラントモデル(この実施例では、=[G、τ1、τ2]Tであってよい)であり、
【0068】
【数8】
【0069】
は、1つまたは複数のプロセスモデルパラメータにおけるプロセスモデル不一致であり、g(Γ)は、たとえば、制御アルゴリズムの計算限界、プロセス限界などを記述する計算制約を規定する。ここで、Gは、プロセスモデル利得パラメータであり、τ1およびτ2は、プロセスモデルの1次および2次時定数パラメータである。もちろん、IAEは、制御性能尺度として使用される積分絶対誤差であり、
【0070】
【数9】
【0071】
として計算されてもよい。式中、y(t)は、被制御プロセス出力変数であり、SP(t)は、その被制御出力変数についてのオペレータ設定点である。
【0072】
基本的に、図4の最適化ブロック110は、コントローラが最初のプロセスモデルを使用して設計されるが、プロセスモデル不一致の存在下で動作するときの、MPCコントローラの動作をシミュレートし、このシミュレーションを(特定のモデル不一致について)複数の異なる組のコントローラ設計/チューニングパラメータのそれぞれについて実施して、特定のモデル不一致における複数の異なる組のコントローラ設計/チューニングパラメータのそれぞれについてコントローラ性能尺度(たとえば、IAE)を確定する。1つの実施例では、最適化ブロック110は、プロセスモデルおよび予想されるかまたは観測されるモデル不一致に基づいて、考えられる異なるMPCコントローラ形態(たとえば、考えられるカルマンフィルタタイプ)について(MPCコントローラおよびカルマンフィルタの両方の)チューニングパラメータの異なる値についての、一組の考えられる種々の組合せのそれぞれを使用することから生じる(IAEの形態の)予想されるプロセス誤差を計算する。最適化ブロック110は、その後、モデル不一致を考慮して最小のIAE(すなわち、最良の性能)をもたらす特定の組の設計および/またはチューニングパラメータを確定し、それにより、コントローラ性能尺度に基づいてモデル予測コントローラで使用するためのコントローラ設計/チューニングパラメータの組みのうちの最適なパラメータを確定する。これらの設計およびチューニングパラメータは、その後、図4のMPCコントローラユニット112で使用されて、MPCコントローラ114によって使用されるコントローラモデルを変更することなく、また、プラントモデル自体を再形成するかまたは再生成する必要なしで、その量のモデル不一致の存在下で良好なまたはより最適な制御を実施してもよい。
【0073】
最適化ブロック110の動作をより詳細に示すために、図5は、プロセスモデル利得における所与の量のモデル不一致についての考えられる最良のIAE(すなわち、最小IAE)を示すプロットを提供し、そのプロットは、汎用カルマンフィルタを有するMPCコントローラと簡易カルマンフィルタを有するMPCコントローラの両方について、モデル不一致の異なる値について方程式(9)の最適化を解くことによって得られたものである。詳細な最適化結果は、以下の表1に示され、表1では、アクティブな制約に関連する、すなわち、チューニングパラメータがある制約に保持された場合のIAE値は、アスタリスクを先頭に付された形で示される。さらに、モデル不一致は、実際のプロセス利得Kとモデル化されるかまたは予想されるプロセス利得
【0074】
【数10】
【0075】
すなわち、
【0076】
【数11】
【0077】
の比として表される。この実施態様は、使用されているMPCコントローラユニット112が、多変数コントローラの代わりに、単一入力/単一出力コントローラである実施態様であるため、MPCコントローラチューニングパラメータQは1に設定され、MPCコントローラチューニングパラメータRの変更のみが許容された。単一ループMPC実施態様では、QとRの比だけがチューニングを決定するため、この数学的操作が実施されうる。
【0078】
【表1】
【0079】
表1から、最適化ブロック110は、考えられるチューニングパラメータの全てを利用して、任意の特定のモデル不一致について見出される最小IAEによって規定される最適制御性能を達成することが見てわかる。興味深いことには、最適化ブロック110は、制約が課されない限り、かなり類似する制御性能をもたらす、モデル不一致の異なる値についての異なるチューニングパラメータを確定する。制約が課されると、最適化ブロック110は、モデル不一致を補償するための自由度(すなわち、チューニングパラメータ)がなくなるため、コントローラ性能は通常不利をこうむる。同様に、表1から見てわかるように、汎用カルマンフィルタリングを用いるMPCは、プロセス利得Kの不一致が、
【0080】
【数12】
【0081】
である場合、簡易カルマンフィルタリングを用いるMPCより性能が優れる。ここで、Kは実際のプロセス利得であり、
【0082】
【数13】
【0083】
はモデル化されるかまたは予想されるプロセス利得である。しかし、簡易カルマンフィルタリングを用いるMPCは、プロセス利得の不一致が、
【0084】
【数14】
【0085】
である場合、汎用カルマンフィルタリングを用いるMPCより性能が優れる。もちろん、汎用カルマンフィルタリング定式は、状態変数を更新するために指数加重移動平均(exponentially weighted moving average)(EWMA)フィルタリングを使用する簡易カルマンフィルタリング技法の定式より厳密である。そのため、簡易カルマンフィルタリング技法は、予想より大きい利得を非常にうまく扱うようにチューニングされることができないが、予想より小さい利得に関しては優る。換言すれば、簡易カルマンフィルタリングを用いるMPCはフィルタリングに基づくが、プロセス応答が予想より小さい利得を有する場合(すなわち、
【0086】
【数15】
【0087】
である場合、汎用カルマンフィルタリングを用いるMPCより頑健である。しかし、
【0088】
【数16】
【0089】
である場合、簡易カルマンフィルタリングを用いるMPCは、汎用カルマンフィルタリングを用いるMPCに比べて、わずかに高い積分絶対誤差を生成する。
【0090】
モデル不一致が、1次時定数(τ1)に起因するかまたはそこに存在する場合、2つのカルマンフィルタリング法の間の積分絶対誤差の差は、より顕著になる。図6および以下の表2に示すように、プロセスが、予想より応答性が高い(すなわち、
【0091】
【数17】
【0092】
である。ここで、τ1は実際の1次時定数であり、
【0093】
【数18】
【0094】
は、プロセスモデルに関連する1次時定数である)場合、IAEは、振動が発生するため、非常に急峻な傾斜で上昇する。両方のカルマンフィルタリング法は、振動によって同様に影響を受け、一定のまたは変動するモデル不一致の存在下での最適制御用の自動方法は、必ず振動を回避するようにすべきである。しかし、プロセスが予想より遅く反応する、すなわち、
【0095】
【数19】
【0096】
である場合、簡易カルマンフィルタリングを用いるMPCは、かなり良好に働き、このことは、汎用カルマンフィルタリングは、安定しているが、このシナリオでは使用されるべきでないことを意味する。簡易カルマンフィルタリング定式は、チューニングパラメータの1つとしてフィルタ時定数を使用するため、最適化法は、プラントモデルと実際のプラント特性との間の時定数不一致を補償するために、このチューニングパラメータを容易に使用しうる。この補償は、表2(やはり、表2では、アクティブな制約に関連する値は、先頭にアスタリスクが付された形で示される)の値において容易に観測されうる。汎用カルマンフィルタチューニングパラメータが制約に固定され、MPCコントローラチューニングパラメータだけが、依然として移動するのを許容されるが、簡易カルマンフィルタのTパラメータは、広い範囲にわたって移動し、モデル不一致を補償し、それにより、IAEを非常に低いレベルに維持する。もちろん、先に示したように、カルマンフィルタタイプは、図4に述べる最適化法のブール的出力として特に提供され、この出力により、図4のカルマンフィルタ116に、簡易カルマンフィルタリングの使用と汎用カルマンフィルタリングの使用との間での切換えが生じる。
【0097】
【表2】
【0098】
表2および図6からもわかるように、考えられる最小IAEは、汎用カルマンフィルタの場合、
【0099】
【数20】
【0100】
(すなわち、モデル不一致比=1の場合)の(図6のプロットの)左にある。実際のプロセスの1次時定数が、MPCコントローラに比べて約半分の値に変化し、汎用カルマンフィルタが、
【0101】
【数21】
【0102】
となるように設計された場合、IAEは減少する。このことは、カルマンフィルタ利得Jについての推奨されたチューニングが、考えられる最良の制御性能をもたらさないことを意味する。この状況は、MPCコントローラ内で実施されるコントローラ最適化問題が、移動を最小にしながら、静的誤差を最小にするように設計されるために起こり、一方、適応/チューニング最適化問題は、被制御変数誤差のIAEを最小にするように設計され、それにより、制御性能を直接最大にする。
【0103】
2次時定数(τ2)のモデル不一致の影響は、図7に示され、以下の表3に提供されているが、先に示した1次時定数(τ1)のモデル不一致の影響と非常に似ている。汎用カルマンフィルタと簡易カルマンフィルタとの間の差異の規模は小さいが、傾向は、基本的に同じである。
【0104】
【表3】
【0105】
MPC制御および状態更新についての最適チューニングパラメータは、最適化を使用して、プラントモデルおよびモデル不一致に関する知識から確定されるが、モデル不一致およびこのモデル不一致を補償するのに使用される最適コントローラ設計およびチューニングの影響は、上記実施例において各モデルパラメータについて別々に解析された。現実のプラントシナリオでは、所定のモデルに対応するプロセスモデルパラメータの全て(および種々の理由でモデル化されない他のプロセスモデルパラメータ)は、同時に変わってもよく、また、おそらく同時に変わることになる。どのモデルパラメータが最も影響を受けるかは、主に、プロセスタイプおよびモデル不一致の理由(たとえば、管汚損、燃料の熱係数の変動など)に依存する。さらに、使用されるモデル同定法に応じて、たとえば進み時定数のモデル不一致は、モデルむだ時間または時定数のモデル不一致として解釈されてもよい。そのため、1つまたは2つのモデルパラメータは、モデル不一致に同時に著しく寄与することが多い。結果として、上記実施例で実施される1次元空間の代わりに、多次元空間でモデル不一致を解析して、任意の特定の場合に使用するための最良の一組のモデルパラメータを確定することが有利である。すなわち、1つのプロセスモデルパラメータにおいて、ある不一致について最適な一組の設計およびチューニングパラメータを確定する代わりに、複数のプロセスモデルパラメータ(たとえば、プロセス利得、1次時定数、および2次時定数)において同時の不一致が存在する状況について最適な一組の設計およびチューニングパラメータを確定することが有利である。
【0106】
図8は、プロセス利得Kと1次時定数τ1の両方が、モデル不一致を同時に有することを許容された2次元のプロセスモデル不一致を可能にするときの、図4の最適化法によって計算された、汎用カルマンフィルタ状態更新技法を使用するシミュレートされたMPCコントローラにおける考えられる最良のIAEの表面プロットを示す。この場合、1次時定数および2次時定数についての最適チューニングは、非常に似ており、1次時定数がより重要である。3次元可視化が4次元可視化より好ましいため、2次時定数τ2におけるモデル不一致の影響は、図8のプロットでは無視された。実際に、2次時定数τ2は、変動することを全く許容されなかったが、不一致を全く有さないと仮定された。以下の表4は、図8のプロットに示すプロセス利得Kと1次時定数τ1についての不一致値の種々の組合せの組のそれぞれにおいて最小IAEの値を提供する。表4の各ボックスに関連する、MPCコントローラおよびMPCコントローラと共に使用される汎用カルマンフィルタについての最適チューニングパラメータの値は、示されないが、上述した最適化技法を使用して計算された。ここで再び、モデル不一致は、実際のプロセスパラメータ値とモデル化されたプロセスパラメータ値の比として表現される(すなわち、
【0107】
【数22】
【0108】
および
【0109】
【数23】
である)。
【0110】
【表4】
【0111】
より容易な可視性のために、
【0112】
【数24】
=1
【0113】
および
【0114】
【数25】
=1
【0115】
(すなわち、モデル不一致が全く起こらない)の値が、図8の点線として示される。これらの線が交差する点は、プロセスモデルが完全に一致した制御性能を示す。これらの線のそれぞれに沿う断面は、図5および図6のプロットを正確に表す。先に説明したように、
【0116】
【数26】
【0117】
の方向における1次時定数のモデル不一致は、振動挙動をもたらす。しかし、
【0118】
【数27】
【0119】
であるように、プロセス利得のモデル不一致も同時に存在する場合、この振動は起こらないことが見てわかる。予想されるように、
【0120】
【数28】
【0121】
であるような利得のモデル不一致によって、問題は悪化する。本来異なるモデルパラメータにおけるモデル不一致が、制御性能に対する総合的な影響を打ち消すかまたは増幅しうることは、最適コントローラ設計およびチューニングパラメータの計算中にモデル不一致の全ての次元を評価することが有利であることを示す。図8から、考えられる最良の制御性能は、必ずしも完全なモデルによって達成されるわけではないことも明らかである。たとえば、図8のプロットでは、
【0122】
【数29】
=2
【0123】
でかつ
【0124】
【数30】
=1.5
【0125】
である場合、制御性能は、
【0126】
【数31】
=1
【0127】
でかつ
【0128】
【数32】
=1
【0129】
のIAEの代わりに、0.0545のIAEを有する。チューニングパラメータが、上述の最適化定式によって最適に計算されると仮定すると、この差は、56%の改善になる。
【0130】
もちろん、仮定されるプロセスモデルおよび正確なプロセスモデル不一致がわかっている場合、MPCコントローラおよび観測器(カルマンフィルタ)によって使用されるプロセスモデルは、さらに良好な性能を達成するために、完全なモデルと置換されうる。しかし、実際の制御状況では、モデル不一致を測定することが難しく、その結果、本明細書で述べるMPC設計およびチューニング技法は、正確なまたは完全なプロセスモデルを知ることなく、良好なまたは最適なMPCコントローラ動作を目的としている。実際に、本明細書で述べる設計およびチューニング方法は、(たとえば、図4で規定された)MPCコントローラユニットチューニングパラメータを調整し、仮定されたプラントモデルを不変のままにする(これが、プラントにおけるエンジニアの最良の推測であることになるためである)。
【0131】
図9は、簡易カルマンフィルタリングを用いるMPCについての等価な3次元最適チューニングマップ、すなわち、汎用カルマンフィルタを用いるMPCコントローラについて図8のチューニングマップと同じ方法で作成されたチューニングマップを示す。ここで再び、モデル不一致は、プロセス利得モデルパラメータKと1次プロセス時定数モデルパラメータτ1の両方で起こることを許容されたが、2次時定数モデルパラメータτ2では起こることを許容されなかった。次の表5に、図9のマップの各点を示す。
【0132】
【表5】
【0133】
(図8および9の)両方の最適チューニングマップの上左角は、不安定性の領域を示す。さらに、両方のプロットは、IAE=2でカットオフされる。いずれの場合も、この領域に、非常に急峻な傾斜で近づくことが明らかである。3次元チューニングマップを計算しプロットすることは、こうした不安定領域のサイズ、位置、および急峻度の容易な評価を可能にする。こうした領域は必ず回避されるべきであるため、ペナルティが高いスラック変数についての制約が、この領域を回避するために図4のブロック110で使用される最適化方程式に付加されうる。いずれにしても、異なるカルマンフィルタ方法を用いるMPCの最適チューニングマップを比較すると、両方のコントローラが、領域
【0134】
【数33】
【0135】
【数34】
【0136】
において不安定になることが明らかになる。しかし、汎用カルマンフィルタを用いるMPCだけが、領域
【0137】
【数35】
【0138】
【数36】
【0139】
において不安定になる。先に提案されたように、簡易カルマンフィルタにおいてだけ見出される固有のフィルタリングは、安定化メカニズムとして働く。
【0140】
いずれにしても、図4に関連して述べる最適化ベースチューニング方法は、特定のプロセスについてのプロセスモデル不一致を考慮した、最良のMPCコントローラ形態ならびに設計およびチューニングパラメータの確定を可能にする。結果として、図4の最適化ブロック110は、モデル不一致の特定の値についての最適チューニングを確定し、この最適チューニングは、そのモデル不一致の存在下で最適制御性能を保証することになる特定のMPCおよび観測器設計およびチューニングを確定するのに有用なチューニングマップとして表現されうる。MPCコントローラの業界ユーザは、通常、所望の挙動に達するように見えるまで、チューニング「ノブ」を手動で調整しなければならないため、図4に関連する技法が、有利に使用されうる。この場合、ユーザは、図5〜9および表1〜5に示すような、チューニング用可視化マップ、プロット、およびデータを閲覧して、1つまたは複数のプロセスモデルパラメータにおけるプロセスモデル不一致の所定のまたは予想される値が与えられる場合、最良のコントローラ形態およびチューニングパラメータを確定してもよい。
【0141】
そのため、所望である場合、図4の最適化ブロック110は、たとえばユーザによる、あるいは、何らかの他の半自動または自動方法によるブロック110への入力として、(1つまたは複数のプロセスモデルパラメータにおける)特定の量のモデル不一致について、最良の設計および/またはチューニングパラメータを計算してもよい。ブロック110が、(1つまたは複数のプロセスモデルパラメータにおける)これらの特定の量のプロセスモデル不一致を考慮して、MPCコントローラユニット112で使用される最良の組の設計およびチューニングパラメータを確定した後、これらの設計およびチューニングパラメータは、MPCコントローラユニット112に送出され、良好な制御を実施するために、オンライン制御中に使用されてもよい。別法としてまたは付加的に、ブロック110は、多数の組合せのプロセスモデルパラメータ不一致のそれぞれにおいて、考えられる最小IAEを示す、図8および図9のマップなどの最適IAEマップを確定し、マップ自体を考慮してユーザが所望のまたは適切なチューニング点を選択することを可能にするために、これらのマップをユーザに提供するかまたは表示してもよい。ブロック110は、その後、選択された点に基づいてオンライン制御中に使用される設計およびチューニングパラメータの値をコントローラ112に提供してもよい。ブロック110は、コントローラユニット112と独立に動作してもよいため、コントローラユニット112と同じデバイスまたは異なるデバイス内に格納されかつそこで実行されてもよい。そのため、たとえば、ブロック110は、図1のコンピュータ13のうちの1つのコンピュータ内に格納されかつそこで実行され、通信ネットワーク29を介してコントローラユニット112と通信してもよい。コントローラユニット112は、図1のコントローラ11内か、図1のフィールドデバイス15〜22の1つまたは複数のデバイス内か、または任意の他の所望にデバイス(複数可)内にあってもよい。
【0142】
もちろん、所与のモデル不一致およびプロセスモデルについての最適な組の設計およびチューニングパラメータは、モデル不一致が全く存在しないとき、または、異なる量のモデル不一致が存在するときに最適に満たないものになることが予想される。同様に、正確なモデルよりも、モデル不一致の存在を確定することの方が容易な場合があるが、任意の特定の状況における任意の特定のモデルパラメータについての特定の量のモデル不一致を確定することは依然として難しい可能性がある。同様に、モデル不一致の量を確定することは、必要とするプロセス外乱が少ないため、精密なプロセスモデルを確定することより容易である可能性があるが、モデル不一致の量は、依然として徐々に変化する可能性があり、それにより、この変化するモデル不一致を最適に反映するために、新しい設計およびチューニングパラメータの生成が必要とされる。こうした理由で、ある事例では、各プロセスモデルパラメータについてモデル不一致の特定の値を使用するよりも、適切な組の設計およびチューニングパラメータ値を生成するために、図4の最適化ブロック110において種々のプロセスモデルパラメータのそれぞれのモデル不一致範囲を指定し使用することが望ましい場合がある。
【0143】
2次元部分空間(この場合、2次時定数を無視する)におけるモデル不一致の範囲の実施例は、実際のプロセス利得Kactual=2±0.5および実際の1次時定数tactual=20s±5sとして書かれてもよい。これらの範囲は、図10の2次元部分空間で示され、利得の範囲は1に等しく(すなわち、ΔK=1)、1次時定数の範囲は10秒に等しい(すなわち、Δt=10s)。モデル不一致が、可能性のある範囲として規定されると、モデル不一致範囲は、図8および図9に関して上述したように計算された最適チューニングマップと重ねられて、MPCコントローラ適応およびチューニングのさらなる利点を提供しうる。こうしたオーバレイの例示的な図は、図11に示される。
【0144】
所望である場合、こうしたオーバレイは、ソフトウェアパッケージ内に実装されることができ、ソフトウェアパッケージは、たとえば、図8および図9のマップのうちの一方のマップなどの、最適チューニングマップ上で、このオーバレイをプロセスエンジニアに表示する。この可視化は、指定された範囲内の考えられるモデル不一致に基づいて、コントローラが望ましくない作動領域内に移動する可能性を、エンジニアが閲覧し確認することを可能にする場合がある。こうした範囲は、併せてまたは別法として、さらなるMPCコントローラ設計およびチューニグ最適化のために使用されうる。特に、こうした表示は、MPCコントローラをコミッショニングするときにエンジニアにとって非常に有用でありうる。その理由は、エンジニアが、特定のチューニングについて予想されるモデル不一致範囲の関数として、考えられる最悪および最良の制御性能を容易に視覚的に評価でき、所望に応じて手動補正を行うことができるからである。(範囲オーバレイが有る状態でまたは無い状態で)図8、図9、および図11のマップなどの最適化マップを表示するためのこの表示ソフトウェアは、ブロック110によって生成されてもよく、または、図1のユーザ表示ソフトウェア46の一部として生成されてもよい。この場合、ユーザ表示ソフトウェア46は、ブロック110と通信してもよく、または、これらのマップを生成するためにこのブロックを含んでもよい。
【0145】
いずれにしても、図11の実施例では、(利得の不一致も時定数の不一致も無い点を中心とする)モデル不一致範囲内の最悪の制御性能は、Kactual=1.5でかつtactual=25sである場合に起こる。しかし、その点でのIAEは、0.7であり、モデル不一致範囲表面積のほんのわずかな部分が、0.5を超えるIAE値とオーバラップするため、その領域内にある可能性が比較的低いことを特に考慮しても、許容可能であるとエンジニアによって考えられうる。モデル不一致に関するより多くの情報(たとえば、物理的なプロセス制限)が入手可能であった場合、図10に示す2次元モデル不一致部分空間は、発生の可能性を反映するように修正されうる。そのため、たとえば、図10のモデル不一致部分空間は、モデル不一致の可能性に関する知識に基づいて、たとえば楕円、円、または任意の他の所望の形状を含む、図示する長方形以外の他の形状をとりうる。
【0146】
図4のチューニング方法のさらなる改良として、プロセスモデルパラメータの1つまたは複数の値における考えられるかまたは予想されるモデル不一致範囲の量の関数として、所与のプラントモデルについての最も理想的なチューニング点を確定することが有利である場合がある。特に、図11を調べると、モデル不一致範囲部分空間の中心点が、仮定される「完全な」モデルに固定されるため、計算されるチューニングパラメータが、モデル不一致範囲部分空間の点のうちの任意の点において、図11のマップ内の考えられる最小のIAEを必ずしも提供しないことが見てわかる。この2次元の実施例では、表面で表されるこの部分空間が、移動することを許容された場合、図4に示すブロックの修正された最適化技法は、モデル不一致範囲表面内で最悪の(最大の)IAEについてより低い値を見出すことができ、それにより、コントローラの総合性能が向上する。言い換えると、(プロセスモデルパラメータによって規定される種々の次元のそれぞれにおいて)指定された、可能性がある、予想される、または考えられるモデル不一致範囲が与えられると、上述した技法を使用して計算される一組の最適チューニングパラメータを使用することが望ましい場合があり、その一組の最適チューニングパラメータは、一般に、最良のコントローラ動作が、これらの範囲によって規定される部分空間の中心点で、またはさらに、その部分空間内でさえ見出されなくても、また、モデル不一致範囲部分空間の中心点が、プラントのために実際に開発されたプロセスモデルに対応しなくても、その部分空間内でMPCコントローラ動作を最大にする。
【0147】
この場合、本明細書に述べるMPCコントローラ設計およびチューニング技法は、(結果が、最初の仮定したモデルと同程度に不確かである可能性があるため)モデル不一致に関する知識を用いて(図4のブロック110への入力として提供される)仮定したプロセスモデルを更新しない、または、変更しないが、この技法は、既知のまたは推測されるプロセスモデル不一致範囲を考慮してMPCコントローラを適応させチューニングして、このモデル不一致範囲を考慮して良好な総合制御を実施する。特に、図12に示すように、モデル不一致範囲部分空間の中心点は、モデル化されるチューニング領域内に再配置されるかまたはチューニング領域内を移動させられて、予想されるプロセスモデル不一致を考慮してその中で動作するチューニング空間の最良の総合部分領域を配置してもよい。この部分領域内で動作するために、(MPC制御移動を計算するためにMPCコントローラで使用される)コントローラモデルは、チューニングマップ内の新しい中心点を中心とするようになっていてもよく、その中心点およびモデル不一致部分空間は、総合チューニングマップ内の動作の最良の部分領域をもたらす。ある場合において、チューニングマップ内の総合最良部分領域は、モデル不一致部分空間が全体のチューニングマップを通して移動するため、特定の部分領域内に存在する最悪の(最大の)IAEの考えられる最小値を計算することによって確定されてもよい。もちろん、全体の不一致領域部分空間にわたる最小平均IAE、全体の不一致領域部分空間にわたる最小加重平均などのような、最良の動作部分領域を確定するための、統計ベースの尺度を含む他の尺度も使用されうる。
【0148】
所望される場合、特定の最良の不一致部分領域は、
【0149】
【数37】
【0150】
として定義される第2の最適化問題を定式化し解くことによって見出されうる。式中、Ψは、モデル不一致の任意の組合せにわたって方程式(9)を反復させることによって計算されるチューニングマップであり、gΨ(Γ)は、チューニングマップΨの次元を記述する不等式制約を定義し、iΨは、チューニングマップΨの次元を定義する。方程式(11)の特定の最適化は、チューニングマップ内でIAEの最小値を含むモデル不一致範囲部分空間を確定する。チューニングマップが、依然として、エンジニアによって最初に提供されたプロセスモデル(仮定されたプロセスモデル)に基づいて生成されるため、さらなるプロセスモデルの知識はこの操作には必要とされないことが留意されるべきである。方程式(11)の最適化の結果は、修正されたコントローラモデルおよび一組のコントローラチューニングパラメータであり、修正されたコントローラモデルおよび一組のコントローラチューニングパラメータは、その後、予想されるモデル不一致範囲を考慮して良好な性能を得るために、MPCコントローラを開発するのに使用される。しかし、新しいコントローラモデルを確定する唯一の目的が、目下のチューニングマップ内でIAEを最小にすることであるため、たとえば図11または図12のチューニングマップは、新しいプロセスモデルに基づいて再計算されない。
【0151】
この操作を図4の最適化ブロック110に付加することによって、MPCコントローラの設計およびチューニングパラメータは、(新しい中心点の)新しく確定される理想的な値に変更されて、最初の中心点におけるMPCおよび観測器チューニングによって可能である以上に、制御性能を最大にする。ある意味では、この場合、プロセスモデルパラメータは今や、MPCコントローラ内で使用される新しいコントローラモデルを確定するのに使用されるため、コントローラ設計/チューニングパラメータにもなっている。モデル不一致が存在しない場合、修正モデルを有するコントローラの制御性能は、最初のモデルを有するコントローラの制御性能より悪化することが予想されることは真実である。しかし、先に説明したように、モデル不一致が存在しないという可能性は非常に小さい。現実のプラントシナリオでは、修正されたコントローラがまさに方程式(11)の最適化計算の目標関数であるため、最初のコントローラの性能は、大多数のモデル不一致シナリオについて修正されたコントローラより悪化する可能性がある。さらに、仮定されたモデルと修正されたモデルとの間の最悪のIAE点の差は、通常、重要である。その理由は、一方の側で不安定性を、他の側で低い性能をもたらす傾斜が、通常、非常に急峻であるからである。図13は、MPCコントローラで使用するための修正されたコントローラモデルならびに一組のコントローラ設計およびチューニングパラメータを確定するため、モデル不一致範囲を使用するために、図4の最適化ブロック110がどのように修正されうるかを示す。
【0152】
図13に示すように、最適化ブロック110Aは、方程式(9)の最適化を含む方程式(11)によって示す2つの最適化を含むかまたは実施し、ブロック110Aへの入力は、(モデルパラメータの1つまたは複数について)特定のモデル不一致を指定することからモデル不一致範囲を指定することへ変更される。ここで、最適化ブロック110Aはまた、新しいコントローラモデル(すなわち、図13のブロック110Aの出力のうちの1つに示される修正されたコントローラモデル)を開発するのに使用される、モデルパラメータについての新しい一組の値を生成する。本質的に、最適化ブロック110Aによって確定されるモデル不一致部分空間の新しい中心点は、その中心点に関連するプロセスモデルパラメータについての特定の一組の値を有し、これらのモデルパラメータ値は、最初の中心点に関連するモデルパラメータ値と異なる(すなわち、最初のプラントモデルに関連するモデルパラメータ値と異なる)。これらの新しいプロセスモデルパラメータ値は、その後、(ブロック110Aへのプラントモデル入力を実際に変更することなく)新しいコントローラモデルを開発するのに使用され、このコントロ−ラモデルは、新しい中心点に関連する他の設計およびチューニングパラメータ(たとえば、Q、R、M、P)と共に、コントローラ設計パラメータとしてMPCコントローラに提供される。
【0153】
特定のモデル不一致からある範囲のモデル不一致へ最適チューニング方法を拡張することは、その有用性を劇的に増加させる。この新しい範囲ベース不一致技法は、わかっているが正確に測定することが難しい特有のプロセスパラメータ変動を有する多くの産業プロセスに適用されうる。さらに、以下で述べるように、適応/チューニング方法は、モデル不一致フィードバックを使用して、図13の提示された2重最適化方法を、変化するモデル不一致に適応させ、それにより、オンライン制御中の任意の特定の時間に使用される最適なコントローラ設計およびチューニングパラメータの自動確定またはオンライン確定を実現してもよい。
【0154】
より詳細には、適応チューニング(すなわち、適応制御)を用いた閉ループ制御を実施する上述したMPCコントローラ適応およびチューニング方法を使用することが可能である。ほとんどの適応制御方法は、一般に、プロセス値の変化、オペレータ設定点の変化などのような検出可能なイベントによってトリガーされると、連続して(たとえば、周期的に)または自発的にプロセスモデルを改良するかまたは再生成することによって働く。新しいモデルが確定された後、コントローラが移動するか、または、チューニングパラメータが、その後、モデルから計算される。しかし、これらの方法は、一般に、外乱または設定点の変化によって導入される可能性があるプロセス変動に依存し、したがって、これらの方法の効率、精度、および安定性は、プロセス変動量に比例して増加する。
【0155】
しかし、精密なプロセスモデルを確定するかまたは生成することよりも、モデル不一致の統計的な量または変動を確定することの方が一般に容易である。自己相関などの多くの方法が、閉ループプラントオペレーション中にモデル不一致量を確定するために提案されてきたが、閉ループプラントオペレーション中に良好なプロセスモデルを確定することは非常に難しい。その理由は、(プロセス出力の変動を最小にする)コントローラの目標が、(プロセスアップセットを通してプロセスを動作させて、プロセス出力の変動を最大にする)モデル同定の要件に矛盾するからである。
【0156】
以下に述べるコントローラ適応およびチューニングを自動的に実施する方法は、モデル不一致量を使用して、MPCコントローラユニットの設計およびチューニングパラメータをいつ調整するか、すなわち、図4および図13の最適化ユニット110または110Aをいつ実装するかを確定する。この適応チューニング方法は、ある量のプロセス変動に依存し、実際に、ある量のプロセス変動を必要とするが、制御性能を最大にするチューニングパラメータを導出するために、プロセス変動を最大にする必要はない。
【0157】
当技術分野でイノベーション(Ik)と呼ばれ、残差または予測誤差としても知られる概念は、
【0158】
【数38】
【0159】
として定義される。式中、ykは予測されるプロセス出力であり、
【0160】
【数39】
【0161】
は、プロセス出力の実際の値である。この項は、更新される状態変数を計算するためにカルマンフィルタ方程式(6)で使用される。研究者等が、イノベーションを解析する多くの方法を提案したが、こうした方法の適用は、通常、予測制御システムまたはソフトセンサプロジェクト(たとえば、ニューラルネットワーク)のコミッショニングフェーズまたは保守フェーズ中に起こる。たとえば自己相関は、研究者/エンジニアが、イノベーションを解析するために頻繁に使用する方法である。その理由は、自己相関が、プラントのコミッショニングフェーズにおいてモデル誤差と非測定外乱を識別しうるからである。しかし、モデル誤差がオペレータに対して現れるのと同じように、すなわち、予測されるプロセス値と実際のまたは測定されるプロセス値との差として、非測定外乱が現れるため、オンライン制御動作中にモデル誤差と非測定外乱を識別することは難しく、したがって、発生する誤差は、フィードバック制御技法を使用した場合にのみ補正されうる。
【0162】
一般的に言えば、イノベーション(Ik)の自己相関は、誤差信号のうち非ランダム的寄与によるものの量を示す指標を提供する。イノベーションの自己相関の値が高ければ高いほど、存在するプロセスモデル不一致の量が大きい。既知の平均および分散を有する長さnの離散的時系列{たとえば、y1、y2、…、yn}の場合、自己相関の推定値は、
【0163】
【数40】
【0164】
として得られうる。式中、R(k)は、範囲[−1、1]内にある自己相関であり、σ2は分散であり、
【0165】
【数41】
【0166】
は平均であり、kは時間の遅れである。最適にチューニングされたコントローラは、相関信号を除去できるだけであり、また、完全にランダムな外乱(たとえば、白色雑音)を除去できないため、相関信号に対する白色雑音の割合は、コントローラチューニングの最適性の良好な指標である。そのため、たとえば、閉ループ制御システムのプロセス出力が大きな自己相関を有する場合、そこで使用される特定のコントローラのチューニングは、最適でない。
【0167】
自己相関ベース解析方法は、手動でチューニングし再チューニングするループのプロセスで頻繁に使用される。自己相関解析が、大きな量のモデル不一致を返す場合、エンジニアは、コントローラ構成が完全でないこと、および、コントローラをコミッショニングする前にエンジニアがプロセスモデルを改良するかまたは再同定しなければならないことを、通常わかっている。プラントエンジニアは、チューニングの性能改善を検証するために第2の基準を使用することが多い。特に、プラントエンジニアは、最も可能性がある動作周波数において振幅比が許容可能であることを保証するために、振幅スペクトルを考慮してもよい。この手動コントローラ設計方法は、イノベーション解析を使用して自動で実行されるようにしてもよいが、たとえば、オンラインコントローラ動作中に連続して適用することができない。さらに、この方法は、モデル不一致を減少させる新しいプロセスモデルを開発するかまたは生成するという形態でプロセスモデル改善サイクルをトリガーすることのみを目的として、モデル不一致量を使用する。
【0168】
一方、イノベーションまたは以下で述べる他の誤差解析を使用する自動適応チューニング方法は、連続してまたはその他の方法でオンラインコントローラ動作中に実行され、モデル不一致量を使用して、プロセスモデル再生成サイクルをトリガーするのではなく、新しいプラントモデルを再生成することなく、(新しい量のモデル不一致を最適に反映するためにコントローラを再チューニングために)コントローラについて適応チューニングサイクルをトリガーしてもよい。そのため、この方法は、新しい一組のプロセスモデルパラメータなどを確定するために、新しい一組のプロセスモデルパラメータ、プロセスアップセットを必要としない。特に、モデル予測コントローラの場合、コントローラ出力計算は、プロセスモデルから直接導出され、したがって、自己相関は、モデル不一致に起因しうる。
【0169】
産業用プロセス制御で使用される目下の慣行は、非常に基本的な方法でイノベーションにおいてモデル不一致および非測定外乱の組合せを処理する。たとえばDMCコントローラは、ある割合のイノベーションが、非測定外乱を一因として発生すると仮定する。イノベーションの自己相関に基づいてカルマンフィルタ利得をチューニングしている間、この方法は、設計された信号対雑音比および実際の信号対雑音比を適応させることによって、カルマンフィルタによって見られる誤差共分散を最小にしようと試みる。この技法は、フィルタ性能を本質的に最大にするが、必ずしも閉ループ性能を最大にしない。さらに、この適応方法は、誤差共分散を計算するだけであり、また、完全なモデルが既にわかっている場合にのみ使用されうる。
【0170】
図14は、図13の最適化器ベースのチューニングブロック110Aが、既存のMPCコントローラおよび観測器(カルマンフィルタ「KF」として示す)と組合わされて、利得スケジューリングMPCコントローラを生成しうる方法を示す。知られている公知のように、利得スケジューリング方法は、プロセスパラメータ値が変化するプロセス用の産業用プラントにおいて非常に一般的である。こうした方法は、コントローラチューニングをスケジュールしてもよく、または、プロセスモデルおよびチューニンパラメータの更新をスケジュールしてもよい。プロセスパラメータが確定的に変化する限り、満足のいく結果が、こうした方法によって達成されうる。実際に、多くのフィードストックおよび機器特性が、産業用プラントにおいて絶えず変化する。例は、燃料の燃焼係数の変化および試薬の濃度の変化を含む。測定可能である場合、これらの特性変化は、変動を直接減少させるためにフィードフォワード制御戦略によって、または、モデリング誤差を相殺し、影響を間接的に打ち消すために利得スケジューリング戦略によって頻繁に使用される。
【0171】
図13のチューニングブロック110Aは、利得スケジューリングを実施するのに使用することができ、より詳細には、プロセスモデルの1つまたは複数のパラメータが変化し、また、のパラメータがわかっている場合、プロセスモデルパラメータは、(プラントモデル入力を介して)最適なMPC適応/チューニングブロック110Aにおいて更新されることが可能であり、それにより、適応/チューニングブロック110Aは、(新しいプロセスモデルおよび目下のモデル不一致範囲を考慮して)MPCコントローラおよびカルマンフィルタ用の新しい一組の設計およびチューニングパラメータを生成する。この更新は、プラントエンジニアまたはオペレータによって手動で実施されうる、または、プロセス状態変化に基づいて自動的に実施されうる。後者は、PIDコントローラのモデルベース利得スケジューリングに匹敵する。図14では、チューニングブロック110Aとコントローラユニット112との間の相互作用は点線で示され、ブロック110Aからコントローラユニット112への情報の流れは完全に一方向であることを示す。仮定されたモデル不一致範囲は、設計エンジニアによってMPC適応/チューニングブロック110Aに入力されてもよく、または、デフォルト設定のままにされてもよい。任意の利得スケジューリングコントローラの場合と同様に、状態変数は、利用可能である場合、特定のプロセス測定に配線接続されうる、または、別個の特性推定器によって評価されうる。プロセス特性がプロセス測定から推測されうるとき、ニューラルネットワークが、プロセス産業において特性推定器として頻繁に使用される。ニューラルネットワークまたはダイナミック線形推定器のような外部特性推定器はまた、重要なモデルパラメータを直接推定するのに使用されうる。
【0172】
特性推定器を使用する利得スケジューラとして構成されるMPC適応/チューニングブロック110Aの実施形態は、図15に示される。ここで、以下に述べるように、特性推定器120は、プロセス94から1つまたは複数の入力および/または出力(たとえば、測定された)変数または信号を受取るために結合され、これらの変数を使用して、1つまたは複数のプロセスモデル特性またはパラメータ(たとえば、A、B、C、D)の値を推定する。もちろん、任意の所望のまたは適切な特性推定器が、新しいプロセスモデルパラメータ値を確定するためにこの実施例で使用されてもよい。この技法は、モデルパラメータに関するループを閉じ、したがって、適応的であると考えられうる。しかし、適切に動作するために、プロセスモデルパラメータを同定するほとんどの方法は、有意の設定点変化またはプロセス外乱を必要とする。残念ながら、こうしたプロセス外乱は、オンライン制御においては望ましくなく、上述した適応/チューニング方法についての主要な仮定、すなわち、プラントモデルを正確に知ることができず、また、このプラントモデルが、適応/チューニングサイクル中に再形成されることを必要とすべきでないという仮定を維持しない。
【0173】
推定器は、制御ループによって測定されない、または、操作されない変数を含む、多くの変数に接続されうる。実際に、推定器は、カルマンフィルタ116の入力だけに結合されてもよい。図16は、適応制御を実施するために、利得スケジューリングコントローラシステムの一部として適応/チューニングブロック110Aを使用する、適応チューニングシステム125を示す。図16に示すように、(イノベーション解析または他の誤差解析を実装してもよい)推定器126は、観測器、すなわち、カルマンフィルタに結合され、カルマンフィルタ116に関連するイノベーション項を解析して、プロセスモデルパラメータの1つまたは複数について、モデル不一致の量(たとえば、範囲)の推定値を確定する。同様に、または、代わりに、コントローラ114に結合されてもよい推定器126は、プロセスモデル不一致または不一致範囲を確定するためのイノベーション解析を実装し、確定されたプロセスモデル不一致(複数可)または不一致範囲(複数可)を適応/チューニングブロック110Aに提供して、コントローラユニット112について新しい適応/チューニングサイクルを引き起こす。特に、推定器126によって実施されるイノベーション解析は、図16のシステムにおいてモデル不一致範囲(複数可)を自動的に更新するのに使用されてもよい。所望される場合、モデル不一致範囲(複数可)の全てまたは一部だけが、任意の特定の時間にこのような方法で更新されうる。同様に、不一致範囲(複数可)考えられるモデルパラメータの全てまたは一部は、モデルパラメータの数に関してイノベーション方法がどれだけ包括的であるかに応じて修正されてもよい。換言すれば、時として、イノベーション解析は、実際のプロセスモデル内のモデルパラメータの部分集合に関して結論が下されることを可能にするだけである場合がある。その場合、未知パラメータについての範囲が、全てのあるいはほとんどの、予想されるかまたは考えられるモデル不一致シナリオを含むように保存的に設定されてもよい。
【0174】
最適なMPC適応/チューニングブロック110Aの出力は、上述したオンデマンド更新適用と同じ方法で機能するが、有意の量のモデル不一致が検出されるとき、たとえば、1つまたは複数のモデルパラメータについての不一致が、ユーザによって供給された閾値などの所定のまたはプリセットされた閾値、チューニングブロック110Aで以前に使用された不一致範囲などを超えるとき、コントローラ適応およびチューニングを実施することによって、適応ループを閉じる。この適応手法のユニークさは、最初に仮定されたプロセスモデルが、適応/チューニングメカニズムによって決して修正されず、ランアウェイプロセス同定を防止し、頑健性を増加させ、利得スケジューリングを簡略化することである。所望である場合、仮定されたプロセスモデルは、適応を停止させるかまたは再設定する必要なしで、任意の時間に手動で更新することができ、これは、最新の技術水準のモデル更新方法に優る利点である。
【0175】
以下でより詳細に述べるように、手動または自動の適応/チューニングサイクルを実装するためのトリガーは、イノベーションの値から、または、確定されたモデル不一致範囲から(すなわち、推定器126によって実施されるイノベーション解析への入力またはイノベーション解析の出力から)容易に導出されうる。もちろん、こうしたトリガーは、新しい適応/チューニングサイクルが、ブロック110Aによっていつ実施されるべき時を認識するための、所定の閾値に対するイノベーション解析またはその出力の比較に依存しうる。いずれにしても、上述したイノベーション計算の自己相関の使用は、コントローラ適応を実装する既知の他の方法に対するモデル無しでかつ外乱が少ない代替法を提供することがわかっている。特に、自己相関解析は、プロセスモデルを同定するかまたは再同定する必要なしで、ループの制御性能が改善されうるか否かを判定するのに使用されうる。よリ詳細には、制御誤差(測定されたプロセス出力変数とこの変数についての設定点との差)の自己相関は、定常状態動作中に有意のモデル不一致が存在するかどうかを判定するために有用であり、一方、予測誤差(測定されたプロセス出力変数とこの変数についての以前に予測された値との差)の自己相関は、プロセスアップセット状況中に、有意のモデル不一致が存在するかどうかを判定するために、または、モデル不一致の量または範囲を確定するために有用であることがわかっている。本明細書で使用されるように、イノベーション解析は、MPCコントローラユニット112の制御誤差、予測誤差、または他の誤差の自己相関を含みうる。これらの自己相関は、たとえば自己相関解析が有意の量のモデル不一致を判定するときに、新しい適応/チューニングサイクルを実装するためのトリガーとして使用されてもよい。さらに、異なる時間における同じプロセス変数についての制御誤差または予測誤差の自己相関の比較は、モデル不一致の変化を検出するのに使用されることができ、モデル不一致の変化はまた、新しい適応/チューニングサイクルを実装するためのトリガーとして使用されうる。
【0176】
先に提示した概念を検証するために、上述した適応/チューニング方法のいくつかの方法が、実験的な2成分系蒸留塔に適用された。(カルマンフィルタにおけるイノベーションの自己相関からモデル不一致を推定するための実用的な近似を使用する)図16に関して述べた最適チューニング方法を実装するモデル予測コントローラを使用する、2成分系蒸留塔についての実験的試験運転からの結果が、以下に提供される。これらの実験で使用される特定の蒸留塔は、水とエタノールを分離するのに通常使用される平均スケールより小さいパイロットプラントであった。実験プラントについてのプロセスおよび計装図(P&ID)200が図17に示される。このP&IDは、当業者にとって容易に読取り可能であるため、説明のために必要である場合以外には本明細書で詳細には述べられないものとする。
【0177】
アキュミュレータ202から出る流れが測定されうるため、速い流れと遅い積分レベル動態を分離可能なカスケード制御戦略が選択された。レベルコンローラ204(LIC−091)と流量コントローラ206(FIC−100)との間のこの分離は、一般に頑健性を増加させる。しかし、コントローラ204および206は共に、この効果が実現されるようにかなりうまくチューニングされなければならない。塔のエネルギー入力が変動するにつれて、プロセスパラメータが変化するため、この要件は、このプラントにおいて挑戦的な課題である。純度を制御する目的で、蒸気流量が底部温度を制御するのに使用されるため、アキュミュレータ202内のレベルおよび流量制御ループのプロセスパラメータは、通常動作中に著しく変化しうる。0.55kg/分の蒸気流量でプロセスモデルを確定するために、手動段階試験が実施された。段階試験は、以下の初期プロセスモデルをもたらし、初期プロセスモデルは、モデルベースMPCコントローラについての仮定されたモデルとして使用され、0.55kg/分の蒸気流量のPIDコントローラについて初期チューニングを提供するのに使用された。
【0178】
【数42】
【0179】
【数43】
【0180】
0.4kg/分の蒸気流量において、以下のプラントモデルが確定された。
【0181】
【数44】
【0182】
実験について、通常PIDコントローラである(LIC−091)レベルコンローラ204は、よく知られているシミュレーションプログラムMATLAB(登録商標)において実行されるMPCコントローラと置換えられた。このコントローラは、PIDコントローラを手動モードの状態のままにし、MATLAB(登録商標)シミュレーションを実行するラップトップコンピュータ上のOPCクライアントからのOPC書き出しを、プラント200内で実装されるDeltaV(商標)コントローラシステム内のPIDコントローラの出力に送出することによって実装された。LIC−091コンローラ204の出力が、2次FIC−100流量コントローラ206のカスケード入力に接続されたため、LIC−091コンローラ204への書込みは、FIC−100流量コントローラ206の流量設定点を間接的に操作し、最初のプラント構成と等価なカスケード制御挙動を実装した。
【0183】
3つの異なる移動ペナルティチューニング(具体的には、Q=50、Q=100、およびQ=1000)が、MPCコントローラ204で使用され、2つの異なる動作点における(特に、0.4kg/分の蒸気流量および0.55kg/分の蒸気流量における)制御性能が解析された。図18は、0.55kg/分の蒸気流量において3つの異なるチューニング設定を有するMPCコントローラ204の3つの異なる運転を示す。このデータは、順次記録され、その後、比較のために重ねられた。PI制御を実施するために設定された最初のPIDコントローラを使用する運転であった4番目の実験は、MPC制御とPID制御との比較を可能にするために実施された。PIチューニングパラメータ(利得=1.54およびリセット=141.68秒)は、修正ジグラー・ニコルスチューニングを用いて、プロセスの最終利得、最終期間、およびむだ時間から計算された。この定常状態条件において、4つの異なるコントローラについての標準偏差は、σQ=50=0.057、σQ=100=0.066、σQ=1000=0.052、σPI=0.036であると確定された。
【0184】
図18に示すように、Q=1000を有するレベル制御の時間領域プロットは、最も定常であるように見える。Q=1000を有するMPCはまた、最小の標準偏差(σQ=1000=0.052)を達成する。現実のプラント設定では、目下の制御変数のプロットは、データを調べる主要な方法であることが多いが、リアルタイム傾向だけから引出される結論は、誤解を招く可能性がある。図19は、蒸気流量の変化であるように選択された非測定外乱に対してコントローラが反応した仕方を示す。その理由は、このタイプの外乱が、コントローラについて2つ以上の困難さを呈するからである。第1に、このタイプの外乱は、アキュミュレータ202に達するコンデンセートの量を変化させ、それにより、コントローラ204が、アキュミュレータ出力流量を変化させることが必要となる。第2に、このタイプの外乱は、リフラックス時定数を変化させ、それにより、モデル不一致の量を変化させる。蒸気流量の変化はまた、真の入力外乱であり、実際に産業用プラントでは一般的である。さらに、蒸気流量の変化はまた、非測定型なのが最も一般的でる。(この実験で使用された)人工的な蒸気流量変化と同様の影響を有する異なるプロセス産業からの例は、(1)燃料のBTU率の変化(温度および温度ループの利得に影響を及ぼす)、(2)フィードストックの濃度および/または組成の変化(塔の負荷、質量均衡、およびエネルギー供給と生成物純度との間の利得に影響を及ぼす)、(3)ボイラ内の管の汚損(プロセス利得を変化させる熱伝達係数と、同じ熱伝達についての必要とされる流量の両方を変化させ、したがって、むだ時間を変化させる)、ならびに、(4)戸外温度の変化および/または嵐の発生(温度を変化させ、同様に大気に対する熱伝達係数を変化させ、したがって、利得を変化させる)を含む。
【0185】
いずれにしても、蒸気流量設定点が0.55kg/分から0.4kg/分へ変化した、このシミュレートされた「非測定」プロセス外乱中のコントローラの性能(図19に示す)は、IAEQ=50=0.122、IAEQ=100=0.468、IAEQ=1000=∞(この場合、制御は不十分であり、プラントは、手動介入によって安定化されなければならなかった)、およびIAEPI=0.3となるような性能であった。図19に示すように、MPCQ=50およびMPCQ=100のコントローラは、未測定外乱を適度にうまく排除した(それぞれ、IAEQ=50=0.122、IAEQ=100=0.468)が、MPCQ=1000に関しては同じ実験を実施することができなかった。その理由は、大きな移動ペナルティが、このコントローラがレベル降下にタイミングよく反応することを妨げ、アキュミュレータポンプインターロックをトリップさせたからである。ポンプトリップに続いて、アキュミュレータ202が急速に充填され過ぎ、コントローラ204が反応できず、許容可能でない制御性能をもたらした。
【0186】
この実施例は、コントローラ(すなわち、Q=1000)の過度に注意深いデチューニングが、おそらく破壊的でありでかつ危険でありうることを示す。ここで、溢流(アキュミュレータのオーバフロー)が、手動のオペレータ介入なしで起こったであろう。スペクトルの他端で、MPCQ=50の性能のプロットが、安定性のエッジに近いと判定され、そのことが、さらなる実験において真であると判定された。その理由は、高速チューニングが適用される(Q<50)か、または、プラントが高い蒸気流量を有する動作領域で運転されると、これらのコントローラが不安定になるからである(図示せず)。
【0187】
プラントが0.4kg/分の蒸気で動作するときについてのプロットは、図20に示され、コントローラ性能は、σQ=50=0.053、σQ=100=0.028として測定され、Q=1000を有するコントローラはプラントを十分に制御せず、σPI=0.032であった。そのため、0.55kg/分の蒸気(図18)の場合に使用されたチューニングと同じチューニングを用いるMPCコントローラは、低い標準偏差を示した。Q=1000を有するMPCは、先に述べたように、プラントを十分に制御せず、アキュミュレータポンプインターロックを繰返しトリップさせたため、図19には示されない。
【0188】
要約すると、図17の蒸留塔の実験的運転は、50および100のMPCチューニングパラメータQ値が、所望の動作領域にまたがる(ここでは、0.4kg/分から0.55kg/分の蒸気)モデル不一致について適していたことを示す。50より小さいチューニングおよび200より大きいチューニング(試験したが示さず)は、適していなかった。最適チューニングに関して先に提案したように、モデル不一致の変動する量について理想的なフィードバック制御性能をもたらす特定の一組のチューニングパラメータが見出されうる。これは、たとえプラントモデルに関する新しい知識がなくても実験的に可能であった。モデル再同定またはモデル更新は全く実施されなかった。実際に、仮定されたプラントモデルは、モデルパラメータの値が不正確である可能性が高いだけでなく、モデル形態が、積分プロセス(すなわち、レベル制御ループ)の基礎になるプロセス特性にも一致していない点で、かなり間違っていることがわかっていても、実験を通して使用された。不正確なモデル定式(1次プラスむだ時間)は、モデル不一致が実験中に存在したことを保証するために意図的に選択された。その理由は、実験中に存在したモデル不一致の正確な量を確定することが可能でなかったからである。
【0189】
図17のプロセスについての4つの異なるプロセス状況における4つの異なるコントローラの実験的性能の要約は以下の表6に提供されており、MPCコントローラは全て、同じモデル仮定に基づいてチューニングされた。ここで、コントローラは、PIコントローラ、ならびに、50、100、および1000のQ値を有するMPCコントローラであった。表6を見てわかるように、50のQ値を有するMPCは、蒸気変化に応答してPIコントローラより低いIAEで動作し、一方、100に設定されたQを有するMPCは悪化し、1000のQ値を有するMPCは、蒸気変化状況に応答して、動作が非常に不完全であった(すなわち、試験されなかった)が、0.55kg/分の動作点の制御において最良に動作した。
【0190】
【表6】
【0191】
しかし、プラントの実際の制御では、1つの動作点でプラントを運転している間に、別の動作点へ変化させることが、あるチューニングについての性能にどのように影響を及ぼすことになるかを知ることが重要である。そのため、上記実施例の場合、0.55kg/分から0.4kg/分への蒸気流量変化の前に、Q=1000のペナルティチューニングが0.55kg/分において最良の制御を示すが、このチューニングが、大きな外乱については不十分であることになり、おそらくプラント運転の停止をもたらすことを、オペレータが知ることができることが重要である。考えられる全てのプロセス領域を手動で通過し、かつ、チューニングが、これらの領域の全てでうまく働くことを判定することは、実行可能であり、モデル同定を必要としない。しかし、この操作は、ある量の浪費されたまたは品質以下の生成物を生成し、プラントモデルが変化する場合、再び行われなければならない可能性があり、モデル不一致に影響を及ぼすパラメータ(複数可)がわかっており、また、(この実施例では蒸気として)操作されうる場合に可能であるに過ぎない。
【0192】
しかし、図16に関して先に説明した自己相関解析の使用は、動作パラメータの考えられる変化を考慮して(また、プラントモデルに対する変化を考慮して)適切なチューニング設定を確定するための、また、これらの変化を考慮して適切であるかまたは最適となる一組のチューニングパラメータを選択するためのトリガーとして使用されうる。特に、予測誤差または制御誤差の誤差解析は、MPCコントローラがプラントにどれほどよく一致しているか、また、どのタイプのモデル不一致がどの程度存在するかを確定するのに使用されてもよい。図21〜25は、この点を説明するために提供される。図21は、0.55kg/分の蒸気の定常状態動作において先に説明した例示的なプラントの3つの異なるチューニング設定のMPCコントローラにおける予測誤差の自己相関の比較を提供する。このプロットから、どのMPCコントローラが、良好なまたは劣悪な品質を示すかに関して決定的な陳述をすることができないように見える。振幅は異なるが、遅れの軸を考慮すると、3つのコントローラチューニング設定が、図19に示したようにIAEの観点からかなり異なるフィードバック性能を示しても、プロットの任意の1つが、所与の遅れ時間について自己相関性がかなり高いことは示されていない。0.4kg/分における定常状態動作についての予測誤差の自己相関のプロットは、図22に提供され、同じジレンマを示す。この事実は、最良の状態更新(最小の予測誤差)が、必ずしも最良のフィードバック制御性能をもたらさないという発見を裏付ける。ここで、Q=50を有するMPCは、最小の予測誤差であるが、最悪の積分絶対誤差を示し、Q=1000を有するMPCは、最悪の予測誤差を有する最良のIAEを示す。しかし、3つのコントローラ設定間の差は、大きな非測定外乱変化中の予測誤差の自己相関が、図23に示すように確定されるときに観測することができ、図23は、0.55kg/分から0.4kg/分への蒸気流量変化の形態の非測定外乱の排除中の、3つの異なるチューニング設定におけるMPCコントローラの予測誤差の自己相関を示す。
【0193】
ここで、制御誤差の大きな変化は、普通なら雑音によって消し去られる自己相関プロット間の顕著な差をもたらす。残念ながら、この時点でコントローラが不十分にチューニングされたことを認識しても遅過ぎる。その理由は、大きな外乱が起こる前に、その情報が必要とされるからである。いずれにしても、このプロットは、モデル不一致を判定する基準として自己相関解析を使用する従来技術の手法が、なぜ自己相関の決定的な比較を得るためにプロセス励起を使用するかを示す。一部の方法は、プロセスを乱すパルスを注入するのではなく、非測定外乱変化を待つため、「侵入的でない(non intrusive)」と考えられてもよいが、この実験の0.55kg/分の蒸気における定常動作のような定常制御中にうまく機能しないことになる。
【0194】
そのため、外乱排除の期間中に制御性能評価を実施するために予測誤差の自己相関を使用することは、プロセスモデル不一致を確定するのに役立つ可能性があるが、定常状態動作の期間中に制御性能評価を実施するために予測誤差の自己相関を使用することは、非常に有用であるわけではないことがわかる。さらに、プロセスアップセット(たとえば、非測定外乱または設定点変化)の時間中に予測誤差の自己相関を使用することは、コントローラ適応/チューニングサイクルをトリガーするのに有用でありうるが、この技法は、依然としてある程度のプロセス変化またはアップセットを必要とし、一般に望ましくない。
【0195】
しかし、定常状態動作の期間中に制御誤差の自己相関を調べることが、プロセスモデル不一致の尺度としてうまく働くこと、および、このタイプの誤差解析が、MPCコントローラの適応/再チューニングのためのトリガーとして使用されてもよいことがわかっている。たとえば、図24は、純粋な、すなわち、設定点が一定であるフィードバック制御のための制御誤差の自己相関に等価である被制御変数の自己相関を示す。同じ3つのチューニング設定を有するMPCコントローラの動作は、0.55kg/分の一定蒸気流量において、(参照比較のために付加された)その流量における最初のPIコントローラ性能の動作と共に、図24に示される。
【0196】
図24から、MPCQ=1000がかなり目立ち、固有のチューニング問題(たとえば、高い程度のプロセスモデル不一致)を有しているものと判定するのが容易であることが明らかである。特に、Q=1000を有する被制御変数の自己相関は、他のコントローラチューニング設定の全てと大幅に異なる。定常動作において、かつ、有意の非測定外乱が無い状態で、このチューニングは、遅れ時間の全ての値についてかなり高い自己相関を示すため、容易に劣悪と同定されうる。この曲線についての最も明らかな識別基準は、曲線が、横座標の一方の側だけに留まり、決してゼロを横切らないことである。
【0197】
図25は、0.55kg/分から0.4kg/分へ変化する蒸気流量に関連する、アキュミュレータレベルに対する外乱が人工的に導入されている間の、同じ誤差解析計算を示す。自己相関の差が議論されうるが、自己相関の差は、非測定外乱が無い状態で実施された自己相関(図24に示す)と同じ程度に明瞭ではない。しかし、この事実は大きな問題を呈さない。その理由は、適応/チューニングロジックが、自動的に外乱を検出し、これらの2つの異なるシナリオにおいて制御誤差の自己相関を解析することから予測誤差の自己相関を解析することへ切換えて、良好な適応/チューニング始動を実現しうるからである。たとえば、2つの異なるタイプの計算間での切換えは、制御誤差がある閾値を越えるとき(通常、非測定外乱に応答して、または、設定点の変化直後に起こる)に実施されうる。
【0198】
先に説明した自己相関解析の簡略化された定性的要約は、以下の表7に提供される。ここで、4つの異なるコントローラについての実験データは、自己相関解析の大きさの程度(すなわち、小、中、および大)の結果の総合指標として表示される。モデル不一致を識別するかまたは同定するのに使用されうる自己相関解析は、これらの解析についての異なるコントローラの自己相関解析の大きさの程度の差のために、中央の2つの列に見出される。特に、表7は、3つの異なるMPCコントローラについての異なる自己相関実験データの定性的推定値の要約を提供し、コントローラは全て同じモデル仮定に基づいてチューニングされている。この表では、RI(k)は予測誤差の自己相関であり、Ry(k)は制御誤差の自己相関である。PIコントローラ動作が、比較のために付加されている。
【0199】
【表7】
【0200】
一般に、自己相関の大きな値は、大きな量のプロセスモデル不一致であるとみなされる。要約すると、MPC設計およびチューニングパラメータの閉ループ適応制御は、被制御変数(複数可)の制御誤差または被制御変数(複数可)の予測誤差などのMPCコントローラ情報の自己相関を解析する方法を使用して引起こされうる。しかし、先に説明したように、自己相関が予測誤差から計算されるか、制御誤差から計算されるかは、大きな差を生む可能性がある。たとえば、予測誤差の自己相関は、設定点変化中、または非測定外乱の排除中に決定的である可能性があるだけであり、一方、制御誤差の自己相関は、定常状態動作中に最も有用である可能性がある。最新の技術水準の適応チューニング方法によって要求されるように、外乱が起こっている最中または起こった後ではなく、非測定外乱が起こる前にプロセス特性に対するチューニングを調整することが最も有用である(ただし、同時に最も挑戦的である)。プロセスモデルを再同定しようとする方法は、通常、プロセス変化に依存し、定常状態動作中にモデル変化を検出できない。こうした変化は、外乱または設定点変化によって引起こされる可能性があり、雑音帯域から識別可能であるように十分に大きくなければならない。そのため、先の説明に基づいて、図16の自動適応/チューニング方法は、好ましくは、上述した方法で、予測誤差の解析および制御誤差の解析を含むべきである。この解析の結果は、目下のチューニングが、どれほどうまく目下のプロセスに適するかを示す。(同じ一組の設計/チューニングパラメータについて計算された、予想されたまたは以前の自己相関関数と比較して)任意の悪化した自己相関関数は、モデル不一致の増加の結果であるはずであり、新しい適応/チューニングによって、反映または補償されうる。
【0201】
図13に関して述べた適応/チューニング技法で使用するためのモデル不一致に関する有用なフィードバック情報を生成する技法としての自己相関の使用は、各種のプロセスおよびモデルタイプにおいて有用である。遭遇する特定のタイプのモデル不一致に応じて結果が変動する可能性があるが、一般に、最適な設計/チューニング方法が、広い範囲のモデル不一致について計算する設計およびチューニングパラメータ値は、より狭い不一致範囲からもたらされる設計/チューニングパラメータに比べて保存的になる。換言すれば、先に提示した自動化された適応/チューニング方法は、大きなプロセスモデル不一致(または、プロセスモデル不一致の増加)が検出されると、振動および不安定性を防止するためにMPCコントローラをデチューニングし、必要であればいつでも、キックインする自動安全ネットのように働く。一方、自己相関解析が、プロセスモデル不一致の減少を示す場合、新しい適応/チューニングサイクルが、良好な総合制御を実現するための、コントローラ形態およびチューニングパラメータを強化するために実装されてもよい。この自動アプローチは、業界では一般的に行われる、安全であるようにコントローラを予防的にデチューニングすることに比べて明らかに望ましい。その理由は、この自動アプローチが、モデル不一致が小さくかつ遅いときにより速いチューニングを、モデル不一致が大きいときにゆっくりとしたチューニングを適用するからである。
【0202】
重要なことには、本明細書に述べる自動適応/チューニング方法は、新しいプラントモデル同定を実施することなく、コントローラモデル不一致に基づいて、モデルベースコントローラによって使用される、形態、コントローラモデル、ならびに設計およびチューニングパラメータを適応させる。したがって、この方法は非常に有用である。その理由は、プラントモデル同定、特に、閉ループプラントモデル同定が、産業用プロセス適用においてかなり侵入的であるかまたは信頼性がないことがわかっているからである。
【0203】
図26は、図16のシステムと類似しているが、チューニングブロック110Aで使用するための1つまたは複数のモデル不一致または不一致範囲を確定するために、先に説明した誤差解析およびプロセス推定の一方または両方を使用する推定器130を含む、閉ループ適応チューニングシステムのさらなる実施形態を示す。ブロック130は、それにより、コントローラのいずれかまたは両方の誤差(たとえば、イノベーション)解析およびプロセスプラント解析を使用して、コントローラモデルとプラントとの間のモデル不一致の値またはその範囲の推定値を確定するかまたは検出し、この推定値を使用して、MPCコントローラ112についてのチューニングサイクルを始動してもよい。
【0204】
こうして、理解されるように、本明細書に述べる適応チューニング技法は、以下のシナリオで、また、その種々の組合せでコントローラチューニングを適応させるのに使用されてもよい。以下のシナリオとは、(1)新しいプロセスモデルの手動入力に基づくこと、(2)プロセスプラント入力および出力から生成される自動特性推定またはモデル同定に基づくこと、(3)1つまたは複数の新しいモデル不一致またはモデル不一致範囲の手動入力に基づくこと、または(4)状態推定の誤差解析から生成されるモデル不一致(量または範囲)の自動推定に基づくことを含む。
【0205】
本発明は、本発明を教授し示すことを意図した特定の例示的な実施形態を参照して述べられたが、開示される適応/チューニングデバイスおよび方法は、これらの実施形態に限定されない。種々の変更、改良、および追加が、当業者によって実装されてもよく、こうした変更、改良、および追加は、本発明の範囲から逸脱しないであろう。
【0206】
たとえば、上述した適応/チューニングデバイスおよび方法は、1次プラスむだ時間モデルの形態のプロセスモデルの使用と共に述べられたが、これらの技法は、たとえば、状態空間プロセスモデル、ARXモデルなどの回帰モデル、有限インパルス応答モデル(finite impulse response model)(FIR)、ステップ応答モデルなどを含む他のタイプのプロセスモデルを使用しうる。同様に、本明細書に述べる適応/チューニングデバイスおよび方法は、任意の特定の場合の、モデル不一致またはモデル不一致範囲に基づいて、利用可能なMPCモデル、設計パラメータ、およびチューニングパラメータの全てまたは一部だけを使用して、MPCコントローラを適応させるように働いてもよい。特に、適応/チューニングデバイスおよび方法は、適応/チューニング手法中に、他のパラメータの1つまたは複数を適応させるかまたは変化させることなく、任意の特定の場合またはシナリオに存在する、1つまたは複数の「重要な」モデル、設計パラメータおよび/またはチューニングパラメータに的を絞ってもよい。さらに、本明細書に提供される適応チューニング技法の説明は、単一ループMPCコントローラの文脈で提供されたが、これらの技法は、併せて、または、代わりに、多変数MPCコントローラ構成に適用可能であり、また、それに拡張されうる。
【0207】
さらに、本明細書に述べるように、適応/チューニングブロックおよびコントローラユニットの個々のコンポーネントの分割は、コントローラ実施態様および動作に責任を持つ人々の自由裁量であることを当業者は理解するであろう。これらの機能の全てが、任意の所望の方法でまたは任意の所望のデバイス(複数可)において実装されうることが理解されるであろう。さらに、本明細書に述べる適応/チューニング技法は、好ましくはソフトウェアで実装されるが、その技法またはその任意の部分は、ハードウェア、ファームウェアなどで実装されてもよく、プロセス制御システムに関連する任意の他のプロセッサによって実装されてもよい。そのため、本明細書に述べる要素は、所望に応じて、標準的な多目的CPU内で、または、特定用途向け集積回路(ASIC)または他の配線接続されたデバイスなどの特別に設計されたハードウェアまたはファームウェア上に実装されてもよい。ソフトウェアで実装されると、ソフトウェアルーチンが、磁気ディスク、レーザディスク(たとえば、CD、DVDなど)、フラッシュドライブまたは他の記憶媒体上、コンピュータまたはプロセッサのRAMまたはROM内、任意のデータベース内などのように、任意のコンピュータ読取り可能メモリ内に格納されてもよい。同様に、このソフトウェアは、たとえば、コンピュータ読取り可能ディスク、スマートカードメモリ、フラッシュドライブ、または他の搬送可能なコンピュータ記憶メカニズム上で、あるいは、電話回線、インターネットなどのような通信チャネルを通じた(搬送可能な記憶媒体を介してこうしたソフトウェアを提供することと同じであるかまたは交換可能であるとみなされる)ものを含む、任意の知られているかまたは所望の送出方法を介して、ユーザまたはプロセスプラントに送出されてもよい。
【0208】
本明細書に述べる特定のアプローチは、上述した本発明の実施形態からの単なる非実質的な逸脱を示すことも認識される。その結果、本明細書で提供される特許請求の範囲は、本発明の真の精神および範囲内に入る全ての変更、変形、および改良、ならびに、本発明の実質的な等価物を包含すると、適切に解釈される。したがって、本発明の他の実施形態は、本明細書では特に述べられないが、それでも、本発明の範囲内に包含される。
【特許請求の範囲】
【請求項1】
プロセスを制御するときに使用するためのモデル予測コントローラをチューニングする方法であって、
前記プロセス用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を含む、プロセスモデルを取得すること、
前記一組のプロセスモデルパラメータの少なくとも1つのパラメータについて、プロセスモデル不一致を同定するプロセスモデル不一致指標を取得すること、および、
前記プロセスモデルおよび前記プロセスモデル不一致指標に基づいてコントローラ最適化を実施することを含み、前記コントローラ最適化を実施することは、前記プロセスモデル不一致指標に関連するある量のプロセスモデル不一致の存在下で、前記複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれおよび前記プロセスモデルを使用して動作するときに、前記モデル予測コントローラについて制御ベース性能尺度を確定すること、および、前記制御ベース性能尺度に基づいて前記モデル予測コントローラで使用するための前記組の前記コントローラ設計/チューニングパラメータ値の最適値を確定することを含む方法。
【請求項2】
前記制御ベース性能尺度は積分絶対誤差を含む請求項1に記載の方法。
【請求項3】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定するコントローラ形態パラメータを含む請求項1に記載の方法。
【請求項4】
前記コントローラ形態パラメータは、観測器ベースのモデル予測コントローラ形態または非観測器ベースのモデル予測コントローラ形態の一方を示す請求項3に記載の方法。
【請求項5】
前記コントローラ形態パラメータは、汎用カルマンフィルタ観測器ベースのモデル予測コントローラ形態または簡易カルマンフィルタ観測器ベースのモデル予測コントローラ形態の指標を含む請求項3に記載の方法。
【請求項6】
前記コントローラ設計/チューニングパラメータは、1つまたは複数の観測器ユニットチューニングパラメータを含む請求項1に記載の方法。
【請求項7】
前記1つまたは複数の観測器ユニットチューニングパラメータは、1つまたは複数のペナルティ変数を含む請求項6に記載の方法。
【請求項8】
前記1つまたは複数の観測器ユニットチューニングパラメータは、時定数か、信号対雑音比か、外乱関数の共分散か、または雑音関数の共分散を含むカルマンフィルタペナルティ変数を含む請求項6に記載の方法。
【請求項9】
前記コントローラ設計/チューニングパラメータは、1つまたは複数のモデル予測制御アルゴリズムチューニングパラメータを含む請求項1に記載の方法。
【請求項10】
前記1つまたは複数のモデル予測制御アルゴリズムチューニングパラメータは、ペナルティ変数か、制御ホライズンか、または予測ホライズンを含む請求項9に記載の方法。
【請求項11】
前記プロセスモデル不一致指標を取得することは、前記プロセスモデルパラメータのうちの1つのパラメータにおいてプロセスモデル不一致の特定の値を取得することを含む請求項1に記載の方法。
【請求項12】
前記プロセスモデル不一致指標を取得することは、前記プロセスモデルパラメータの2つ以上のパラメータにおいてプロセスモデル不一致の特定の値を取得することを含む請求項1に記載の方法。
【請求項13】
前記組のプロセスモデルパラメータは、プロセス利得またはプロセス時定数を含む請求項12に記載の方法。
【請求項14】
前記プロセスモデル不一致指標は、前記プロセスモデルパラメータの1つまたは複数のパラメータにおいてあるプロセスモデル不一致の範囲を取得することを含む請求項1に記載の方法。
【請求項15】
前記コントローラ最適化を実施することは、複数の異なる組のプロセスモデル不一致値のそれぞれにおいて、一組の点としてチューニングマップを生成するために、複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれおよび前記プロセスモデルを使用して動作するときに、前記モデル予測コントローラについて制御ベース性能尺度を確定することを含み、前記チューニングマップ内の各点は、確定される最適な制御ベース性能尺度に関連する前記組のコントローラ設計/チューニングパラメータ値を使用して、特定の一組のプロセスモデル不一致値において取得可能な前記確定される最適な制御ベース性能尺度に関連する請求項1に記載の方法。
【請求項16】
ユーザに見えるように、ディスプレイデバイス上で前記チューニングマップを表示することを含む請求項15に記載の方法。
【請求項17】
ユーザが、前記チューニングマップ内の特定の点を選択することによって、前記モデル予測コントローラをチューニングするときに使用する特定の一組のコントローラ設計/チューニングパラメータ値を選択することを可能にすることを含む請求項16に記載の方法。
【請求項18】
前記プロセスモデル不一致指標を取得することは、前記一組のプロセスモデルパラメータの1つまたは複数のパラメータについてモデル不一致範囲を取得することを含み、前記モデル不一致範囲は、前記チューニングマップの部分空間を規定し、前記チューニングマップを表示することは、前記チューニングマップ上に前記モデル不一致範囲部分空間を表示することを含む請求項16に記載の方法。
【請求項19】
ユーザが、前記チューニングマップ内で前記モデル不一致範囲部分空間を移動させて、前記モデル不一致範囲部分空間を考慮して最適な適応/チューニング点を確定することを可能にすることをさらに含む請求項18に記載の方法。
【請求項20】
前記プロセスモデル不一致指標を取得することは、前記チューニングマップの部分空間サイズを規定するモデル不一致範囲を取得することを含み、また、第2の性能尺度について最適な値を生成する前記部分空間サイズの前記チューニングマップ内で特定の部分空間を見出すために第2の最適化を実施することを含む、第2の最適化を実施することを含む請求項15に記載の方法。
【請求項21】
前記第2の性能尺度は、前記特定の部分空間内で、前記チューニングマップ内の前記点の前記制御ベース性能尺度の最悪値を確定する請求項20に記載の方法。
【請求項22】
前記モデル予測コントローラについて新しいコントローラモデルを生成するときに使用するための新しい一組のプロセスモデルパラメータ値を確定すること、および、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定することを含む請求項20に記載の方法。
【請求項23】
前記チューニングマップ内の前記点のうちの1つの点に関連する前記コントローラ設計/チューニングパラメータ値として、新しい一組のコントローラ設計/チューニングパラメータ値を確定することを含む請求項15に記載の方法。
【請求項24】
前記チューニングマップ内の前記点のうちの1つの点として、新しいコントローラ動作点を選択すること、前記プロセスを制御するときに使用するために、前記選択されたコントローラ動作点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供すること、および、前記選択されたコントローラ動作点に関連する前記プロセスモデル不一致値に基づいて、新しいコントローラモデルを前記モデル予測コントローラに提供することを含む請求項15に記載の方法。
【請求項25】
プロセスモデル不一致指標を取得することは、誤差信号に対して自己相関手法を実施することを含む請求項1に記載の方法。
【請求項26】
前記誤差信号は、前記モデル予測コントローラにおいて確定される制御誤差である請求項25に記載の方法。
【請求項27】
前記自己相関手法を実施することは、前記プロセスが定常状態条件にあるときに、ある期間中に収集されるデータに対して前記自己相関手法を実施することを含む請求項26に記載の方法。
【請求項28】
前記誤差信号は、前記モデル予測コントローラにおいて確定される予測誤差である請求項25に記載の方法。
【請求項29】
前記自己相関手法を実施することは、前記プロセスが有意の外乱またはアップセットに応答して制御される期間中に収集されるデータに対して前記自己相関手法を実施することを含む請求項28に記載の方法。
【請求項30】
プロセスプラントを制御するときに使用するための適応モデル予測コントローラであって、
コントローラモデルおよび1つまたは複数の変更可能な設計/チューニングパラメータを有するモデル予測コントローラと、
チューニングユニットとを備え、前記チューニングユニットは、
前記プロセスプラント用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を指定する、プロセスモデルを格納するモデル格納部と、
前記モデル予測コントローラに通信可能に結合する最適化ユニットとを含み、前記最適化ユニットは、複数のシミュレーション事例のそれぞれについて、前記コントローラモデルが前記プロセスモデルに基づくとき、ゼロでないプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートし、それぞれのシミュレーション事例中に、前記モデル予測コントローラは、異なる組のコントローラ設計/チューニングパラメータ値によって構成され、前記最適化ユニットは、前記シミュレーション事例のそれぞれについてコントローラ性能尺度を確定し、前記最適化ユニットは、前記コントローラ性能尺度に基づいて前記モデル予測コントローラで使用するための、前記組のコントローラ設計/チューニングパラメータ値の最適な値をさらに確定する適応モデル予測コントローラ。
【請求項31】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定する1つまたは複数のコントローラ形態パラメータか、1つまたは複数の観測器ユニットチューニングパラメータか、あるいは1つまたは複数のモデル予測コントローラアルゴリズムペナルティ変数を含む請求項30に記載の適応モデル予測コントローラ。
【請求項32】
前記コントローラ設計/チューニングパラメータは、(1)観測器ベースのモデル予測コントローラ形態または非観測器ベースのモデル予測コントローラ形態の一方、あるいは、(2)第1のタイプまたは第2のタイプの観測器ベースのモデル予測コントローラ形態の一方を指定するコントローラ形態パラメータを含む請求項30に記載の適応モデル予測コントローラ。
【請求項33】
前記最適化ユニットは、複数の異なるゼロでないプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートして、チューニングマップを生成し、前記チューニングマップは一組の点を含み、各点は、(1)前記複数のプロセスモデル不一致のうちの特定の不一致において可能である確定された最適コントローラ性能尺度および(2)前記複数のプロセスモデル不一致のうちの前記特定の不一致において前記最適コントローラ性能尺度をもたらした前記特定の組のコントローラ設計/チューニングパラメータ値に関連する請求項30に記載の適応モデル予測コントローラ。
【請求項34】
前記チューニングマップをユーザに表示するために、前記最適化ユニットに通信可能に結合するディスプレイユニットをさらに含む請求項33に記載の適応モデル予測コントローラ。
【請求項35】
前記ディスプレイユニットは、ユーザが前記チューニングマップ内の特定の点を選択することを可能にし、前記最適化ユニットは、前記選択された点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供する請求項34に記載の適応モデル予測コントローラ。
【請求項36】
前記最適化ユニットは、前記プロセスモデルパラメータの1つまたは複数についてモデル不一致範囲を格納し、前記モデル不一致範囲は、前記チューニングマップ内のモデル不一致範囲部分空間を規定し、前記ディスプレイユニットは、前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項34に記載の適応モデル予測コントローラ。
【請求項37】
前記ディスプレイユニットは、モデル不一致無しに関連する点を中心にして前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項36に記載の適応モデル予測コントローラ。
【請求項38】
前記ディスプレイユニットは、ユーザが、前記チューニングマップ内で前記モデル不一致範囲部分空間を移動させて、前記モデル不一致範囲部分空間を考慮して最適な適応/チューニング点を確定することを可能にする請求項37に記載の適応モデル予測コントローラ。
【請求項39】
前記最適化ユニットはモデル不一致範囲を格納し、前記モデル不一致範囲は前記チューニングマップ内の部分空間サイズを規定し、前記最適化ユニットは、第2の最適化を実施して、第2の性能尺度について最適な値を生成する前記部分空間サイズの前記チューニングマップ内で特定の部分空間を確定する請求項33に記載の適応モデル予測コントローラ。
【請求項40】
前記最適化ユニットは、前記モデル予測コントローラについて新しいコントローラモデルを生成するときに使用するための新しい一組のプロセスモデルパラメータ値を確定し、また、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定する請求項39に記載の適応モデル予測コントローラ。
【請求項41】
前記最適化ユニットは、前記チューニングマップ内の前記点のうちの1つの点に関連する前記コントローラ設計/チューニングパラメータ値として、新しい一組のコントローラ設計/チューニングパラメータ値を確定する請求項33に記載の適応モデル予測コントローラ。
【請求項42】
前記最適化ユニットについてチューニングサイクルを実施するために、誤差関数に対して自己相関手法を実施する推定器ユニットをさらに含む請求項33に記載の適応モデル予測コントローラ。
【請求項43】
前記推定器ユニットは、前記プロセスモデルパラメータの1つのパラメータでプロセスモデル不一致量を推定するために、前記誤差関数に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項44】
前記推定器ユニットは、前記モデル予測コントローラにおいて確定される制御誤差に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項45】
前記推定器ユニットは、前記プロセスの定常状態動作中に前記モデル予測コントローラにおいて確定される制御誤差に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項46】
コントローラモデルを使用してプロセスプラントを制御するように動作するモデル予測コントローラをチューニングするために、コンピュータプロセッサ上に実装するための適応モデル予測コントローラチューニングユニットであって、
コンピュータ読取り可能媒体と、
前記プロセスプラント用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を指定する、プロセスモデルを格納するためにプロセッサ上で実行するための、前記コンピュータ読取り可能媒体上に格納される格納ルーチンと、
前記モデル予測コントローラの前記コントローラモデルが前記プロセスモデルに基づくとき、プロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートするためにプロセッサ上で実行するための、前記コンピュータ読取り可能媒体上に格納される最適化ルーチンとを備え、前記最適化ルーチンは、前記モデル予測コントローラが、複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれによって構成されるとき、前記モデル予測コントローラをシミュレートし、前記最適化ルーチンは、前記プロセスモデル不一致の存在下で前記複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれについてコントローラ性能尺度を確定し、前記最適化ルーチンは、前記コントローラ性能尺度に基づいて前記モデル予測コントローラで使用するための、前記異なる組のコントローラ設計/チューニングパラメータ値の最適な値をさらに確定する適応モデル予測コントローラチューニングユニット。
【請求項47】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定するコントローラ形態パラメータか、1つまたは複数のモデル予測コントローラ観測器ユニットチューニングパラメータか、あるいは1つまたは複数のモデル予測コントローラアルゴリズムペナルティ変数を含む請求項46に記載の適応モデル予測コントローラチューニングユニット。
【請求項48】
前記最適化ルーチンは、複数の異なるプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートして、チューニングマップを生成するよう実行され、前記チューニングマップは一組の点を含み、各点は、(1)前記複数のプロセスモデル不一致のうちの特定の不一致において可能である確定された最適コントローラ性能尺度および(2)前記複数のプロセスモデル不一致のうちの前記特定の不一致において前記最適コントローラ性能尺度をもたらした前記特定の組のコントローラ設計/チューニングパラメータ値に関連する請求項46に記載の適応モデル予測コントローラチューニングユニット。
【請求項49】
前記チューニングマップをユーザに表示するために、前記最適化ルーチンに通信可能に結合するディスプレイルーチンをさらに含み、前記ディスプレイルーチンは、ユーザが、前記チューニングマップ内の特定の点を選択して、前記選択された点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供し、それにより、前記モデル予測コントローラをチューニングすることを可能にする請求項48に記載の適応モデル予測コントローラチューニングユニット。
【請求項50】
前記最適化ルーチンは、前記プロセスモデルパラメータの1つまたは複数についてモデル不一致範囲を含み、前記モデル不一致範囲は、前記チューニングマップ内のある部分空間を規定し、前記ディスプレイルーチンは、前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項49に記載の適応モデル予測コントローラチューニングユニット。
【請求項51】
前記最適化ルーチンは、第2の最適化を実施して、第2の性能尺度について最適な値を生成する前記チューニングマップ内の特定のモデル不一致部分空間を確定するように実行され、前記モデル不一致部分空間は、前記プロセスモデルパラメータの1つまたは複数でモデル不一致範囲を規定する請求項48に記載の適応モデル予測コントローラチューニングユニット。
【請求項52】
前記最適化ルーチンは、前記モデル予測コントローラについて新しいコントローラモデルを定義するときに使用するための新しい一組のプロセスモデルパラメータ値を確定し、また、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定するように実行される請求項51に記載の適応モデル予測コントローラチューニングユニット。
【請求項53】
プロセスプラントを制御するのに使用されるチューニング可能なモデルベースプロセスコントローラをチューニングする方法であって、
前記プロセスコントローラの動作に関連する誤差信号を取得すること、
前記誤差信号に対して自己相関手法を実施することであって、それにより、目下チューニングされている前記プロセスコントローラと前記プロセスプラントとの間のモデル不一致の存在の指標を確定する、自己相関手法を実施すること、および、
チューニングサイクルを実施することであって、それにより、前記自己相関解析の結果に基づいて前記プロセスコントローラを再チューニングする、チューニングサイクルを実施することを含む方法。
【請求項54】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、プロセス変数の測定値と前記プロセス変数についての設定点との差として、前記プロセスコントローラに関連する制御誤差信号を確定することを含む請求項53に記載の方法。
【請求項55】
前記自己相関解析を実施することは、前記プロセス変数が定常状態条件にある期間に関連する制御誤差信号に対して前記自己相関解析を実施することを含む請求項54に記載の方法。
【請求項56】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、プロセス変数の測定値と前記プロセスコントローラによって生成される前記プロセス変数についての予測値との差として、前記プロセスコントローラに関連する予測誤差信号を確定することを含む請求項53に記載の方法。
【請求項57】
前記予測誤差信号は、モデル予測コントローラの動作に関連する予測誤差を含む請求項56に記載の方法。
【請求項58】
前記自己相関解析を実施することは、前記プロセス変数が外乱または負荷アップセットに応答して制御される期間に関連する予測誤差信号に対して前記自己相関手法を実施することを含む請求項56に記載の方法。
【請求項59】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、第1の期間の間、誤差信号を取得すること、および、前記第1の期間より後の第2の期間の間、誤差信号を取得することを含み、モデル不一致の存在の指標を確定するために前記誤差信号に対して前記自己相関手法を実施することは、前記第1の期間の間、前記誤差信号に対して自己相関手法を実施すること、前記第2の期間の間、前記誤差信号に対して自己相関手法を実施すること、ならびに、前記第1および第2の期間の間の、前記自己相関解析の結果を比較することであって、それにより、前記第1の期間と前記第2の期間との間のモデル不一致の変化を確定することを含む請求項53に記載の方法。
【請求項60】
プロセスプラントを制御するときに使用するための適応コントローラであって、
前記プロセスプラントを制御するための制御信号を生成するコントローラユニットであって、1つまたは複数の変更可能なチューニングパラメータを含む、コントローラユニットと、
前記コントローラユニットで使用するための1つまたは複数のチューニングパラメータ値を確定するチューニングユニットと、
前記コントローラユニットと前記チューニングユニットとの間に結合される推定器とを備え、前記推定器は、目下チューニングされている前記コントローラユニットと前記プロセスプラントとの間のモデル不一致の指標を確定するために、前記コントローラユニットに関連する誤差信号に対して自己相関解析を実施し、前記推定器は、前記モデル不一致の指標に基づいてチューニングサイクルを実施するように前記チューニングユニットをトリガーする適応コントローラ。
【請求項61】
前記推定器は、前記コントローラユニットに関連する制御誤差信号に対して自己相関解析を実施し、前記制御誤差信号は、プロセス変数の測定値と前記プロセス変数についての設定点との差を示す請求項60に記載の適応コントローラ。
【請求項62】
前記推定器は、前記プロセス変数が定常状態条件にある期間中に収集される制御誤差データに基づいて、前記コントローラユニット関連する前記制御誤差信号に対して前記自己相関解析を実施する請求項61に記載の適応コントローラ。
【請求項63】
前記推定器は、前記コントローラユニットに関連する予測誤差信号に対して前記自己相関解析を実施し、前記予測誤差信号は、プロセス変数の測定値と前記プロセス変数についての予測値との差を示す請求項60に記載の適応コントローラ。
【請求項64】
前記推定器は、前記プロセス変数が外乱またはアップセットを経験する期間中に収集される予測誤差データに基づいて、前記コントローラユニットに関連する前記予測誤差信号に対して前記自己相関解析を実施する請求項63に記載の適応コントローラ。
【請求項65】
前記推定器は、第1の期間の間、前記誤差信号を取得し、前記第1の期間より後の第2の期間の間、前記誤差信号を取得し、前記推定器は、前記第1の期間の間、前記誤差信号に対して自己相関手法を実施し、前記第2の期間の間、前記誤差信号に対して自己相関手法を実施し、前記第1および第2の期間の間の、前記自己相関解析の結果を比較して、前記第1の期間と前記第2の期間との間のモデル不一致の変化を確定する請求項60に記載の適応コントローラ。
【請求項66】
前記コントローラユニットは、モデル予測コントローラである請求項60に記載の適応コントローラ。
【請求項67】
前記コントローラユニットは、カルマンフィルタを有するモデル予測コントローラである請求項60に記載の適応コントローラ。
【請求項68】
予測プロセスコントローラによって使用されるコントローラモデルとプロセスプラントとの間のプロセスモデル不一致を検出する方法であって、
前記プロセスプラントの制御に関連する誤差信号を確定すること、
前記誤差信号に対して自己相関解析を実施すること、および、
前記コントローラモデルと前記プロセスプラントとの間のプロセスモデル不一致を検出するために、前記自己相関解析を解析することを含む方法。
【請求項69】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、プロセス変数の測定値と前記プロセス変数についての設定点との差として、前記予測プロセスコントローラに関連する制御誤差信号を確定することを含む請求項68に記載の方法。
【請求項70】
前記誤差信号に対して前記自己相関解析を実施することは、前記プロセス変数が定常状態条件にある期間中に収集される制御誤差データに対して前記自己相関解析を実施することを含む請求項69に記載の方法。
【請求項71】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、プロセス変数の予測値と前記プロセス変数の測定値との差として、前記予測プロセスコントローラに関連する予測誤差信号を確定することを含む請求項68に記載の方法。
【請求項72】
前記誤差信号に対して前記自己相関解析を実施することは、前記プロセス変数が外乱またはアップセットに応答して制御される期間中に収集される予測誤差データに対して前記自己相関解析を実施することを含む請求項71に記載の方法。
【請求項73】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、第1の期間の間、第1の制御誤差信号を、前記第1の期間の間の、プロセス変数の測定値と前記プロセス変数についての設定点との差として取得すること、および、前記第1の期間より後の第2の期間の間、第2の制御誤差信号を、前記第2の期間の間の、前記プロセス変数の測定値と前記プロセス変数についての設定点との差として取得することを含み、前記誤差信号に対して自己相関解析を実施することは、前記第1の制御誤差信号に対して自己相関解析を実施すること、および、前記第2の制御誤差信号に対して自己相関解析を実施することを含み、プロセスモデル不一致を検出するために前記自己相関解析を解析することは、前記第1の期間と前記第2の期間との間のプロセスモデル不一致の変化を確定するため、前記第1および第2の制御誤差信号に対する前記自己相関解析の結果を比較することを含む請求項72に記載の方法。
【請求項74】
前記第1の制御誤差信号を取得すること、および、前記第2の制御誤差信号を取得することは、前記プロセス変数が定常状態条件にある前記第1および第2の期間中に前記第1および第2の制御誤差信号を取得することを含む請求項73に記載の方法。
【請求項1】
プロセスを制御するときに使用するためのモデル予測コントローラをチューニングする方法であって、
前記プロセス用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を含む、プロセスモデルを取得すること、
前記一組のプロセスモデルパラメータの少なくとも1つのパラメータについて、プロセスモデル不一致を同定するプロセスモデル不一致指標を取得すること、および、
前記プロセスモデルおよび前記プロセスモデル不一致指標に基づいてコントローラ最適化を実施することを含み、前記コントローラ最適化を実施することは、前記プロセスモデル不一致指標に関連するある量のプロセスモデル不一致の存在下で、前記複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれおよび前記プロセスモデルを使用して動作するときに、前記モデル予測コントローラについて制御ベース性能尺度を確定すること、および、前記制御ベース性能尺度に基づいて前記モデル予測コントローラで使用するための前記組の前記コントローラ設計/チューニングパラメータ値の最適値を確定することを含む方法。
【請求項2】
前記制御ベース性能尺度は積分絶対誤差を含む請求項1に記載の方法。
【請求項3】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定するコントローラ形態パラメータを含む請求項1に記載の方法。
【請求項4】
前記コントローラ形態パラメータは、観測器ベースのモデル予測コントローラ形態または非観測器ベースのモデル予測コントローラ形態の一方を示す請求項3に記載の方法。
【請求項5】
前記コントローラ形態パラメータは、汎用カルマンフィルタ観測器ベースのモデル予測コントローラ形態または簡易カルマンフィルタ観測器ベースのモデル予測コントローラ形態の指標を含む請求項3に記載の方法。
【請求項6】
前記コントローラ設計/チューニングパラメータは、1つまたは複数の観測器ユニットチューニングパラメータを含む請求項1に記載の方法。
【請求項7】
前記1つまたは複数の観測器ユニットチューニングパラメータは、1つまたは複数のペナルティ変数を含む請求項6に記載の方法。
【請求項8】
前記1つまたは複数の観測器ユニットチューニングパラメータは、時定数か、信号対雑音比か、外乱関数の共分散か、または雑音関数の共分散を含むカルマンフィルタペナルティ変数を含む請求項6に記載の方法。
【請求項9】
前記コントローラ設計/チューニングパラメータは、1つまたは複数のモデル予測制御アルゴリズムチューニングパラメータを含む請求項1に記載の方法。
【請求項10】
前記1つまたは複数のモデル予測制御アルゴリズムチューニングパラメータは、ペナルティ変数か、制御ホライズンか、または予測ホライズンを含む請求項9に記載の方法。
【請求項11】
前記プロセスモデル不一致指標を取得することは、前記プロセスモデルパラメータのうちの1つのパラメータにおいてプロセスモデル不一致の特定の値を取得することを含む請求項1に記載の方法。
【請求項12】
前記プロセスモデル不一致指標を取得することは、前記プロセスモデルパラメータの2つ以上のパラメータにおいてプロセスモデル不一致の特定の値を取得することを含む請求項1に記載の方法。
【請求項13】
前記組のプロセスモデルパラメータは、プロセス利得またはプロセス時定数を含む請求項12に記載の方法。
【請求項14】
前記プロセスモデル不一致指標は、前記プロセスモデルパラメータの1つまたは複数のパラメータにおいてあるプロセスモデル不一致の範囲を取得することを含む請求項1に記載の方法。
【請求項15】
前記コントローラ最適化を実施することは、複数の異なる組のプロセスモデル不一致値のそれぞれにおいて、一組の点としてチューニングマップを生成するために、複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれおよび前記プロセスモデルを使用して動作するときに、前記モデル予測コントローラについて制御ベース性能尺度を確定することを含み、前記チューニングマップ内の各点は、確定される最適な制御ベース性能尺度に関連する前記組のコントローラ設計/チューニングパラメータ値を使用して、特定の一組のプロセスモデル不一致値において取得可能な前記確定される最適な制御ベース性能尺度に関連する請求項1に記載の方法。
【請求項16】
ユーザに見えるように、ディスプレイデバイス上で前記チューニングマップを表示することを含む請求項15に記載の方法。
【請求項17】
ユーザが、前記チューニングマップ内の特定の点を選択することによって、前記モデル予測コントローラをチューニングするときに使用する特定の一組のコントローラ設計/チューニングパラメータ値を選択することを可能にすることを含む請求項16に記載の方法。
【請求項18】
前記プロセスモデル不一致指標を取得することは、前記一組のプロセスモデルパラメータの1つまたは複数のパラメータについてモデル不一致範囲を取得することを含み、前記モデル不一致範囲は、前記チューニングマップの部分空間を規定し、前記チューニングマップを表示することは、前記チューニングマップ上に前記モデル不一致範囲部分空間を表示することを含む請求項16に記載の方法。
【請求項19】
ユーザが、前記チューニングマップ内で前記モデル不一致範囲部分空間を移動させて、前記モデル不一致範囲部分空間を考慮して最適な適応/チューニング点を確定することを可能にすることをさらに含む請求項18に記載の方法。
【請求項20】
前記プロセスモデル不一致指標を取得することは、前記チューニングマップの部分空間サイズを規定するモデル不一致範囲を取得することを含み、また、第2の性能尺度について最適な値を生成する前記部分空間サイズの前記チューニングマップ内で特定の部分空間を見出すために第2の最適化を実施することを含む、第2の最適化を実施することを含む請求項15に記載の方法。
【請求項21】
前記第2の性能尺度は、前記特定の部分空間内で、前記チューニングマップ内の前記点の前記制御ベース性能尺度の最悪値を確定する請求項20に記載の方法。
【請求項22】
前記モデル予測コントローラについて新しいコントローラモデルを生成するときに使用するための新しい一組のプロセスモデルパラメータ値を確定すること、および、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定することを含む請求項20に記載の方法。
【請求項23】
前記チューニングマップ内の前記点のうちの1つの点に関連する前記コントローラ設計/チューニングパラメータ値として、新しい一組のコントローラ設計/チューニングパラメータ値を確定することを含む請求項15に記載の方法。
【請求項24】
前記チューニングマップ内の前記点のうちの1つの点として、新しいコントローラ動作点を選択すること、前記プロセスを制御するときに使用するために、前記選択されたコントローラ動作点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供すること、および、前記選択されたコントローラ動作点に関連する前記プロセスモデル不一致値に基づいて、新しいコントローラモデルを前記モデル予測コントローラに提供することを含む請求項15に記載の方法。
【請求項25】
プロセスモデル不一致指標を取得することは、誤差信号に対して自己相関手法を実施することを含む請求項1に記載の方法。
【請求項26】
前記誤差信号は、前記モデル予測コントローラにおいて確定される制御誤差である請求項25に記載の方法。
【請求項27】
前記自己相関手法を実施することは、前記プロセスが定常状態条件にあるときに、ある期間中に収集されるデータに対して前記自己相関手法を実施することを含む請求項26に記載の方法。
【請求項28】
前記誤差信号は、前記モデル予測コントローラにおいて確定される予測誤差である請求項25に記載の方法。
【請求項29】
前記自己相関手法を実施することは、前記プロセスが有意の外乱またはアップセットに応答して制御される期間中に収集されるデータに対して前記自己相関手法を実施することを含む請求項28に記載の方法。
【請求項30】
プロセスプラントを制御するときに使用するための適応モデル予測コントローラであって、
コントローラモデルおよび1つまたは複数の変更可能な設計/チューニングパラメータを有するモデル予測コントローラと、
チューニングユニットとを備え、前記チューニングユニットは、
前記プロセスプラント用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を指定する、プロセスモデルを格納するモデル格納部と、
前記モデル予測コントローラに通信可能に結合する最適化ユニットとを含み、前記最適化ユニットは、複数のシミュレーション事例のそれぞれについて、前記コントローラモデルが前記プロセスモデルに基づくとき、ゼロでないプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートし、それぞれのシミュレーション事例中に、前記モデル予測コントローラは、異なる組のコントローラ設計/チューニングパラメータ値によって構成され、前記最適化ユニットは、前記シミュレーション事例のそれぞれについてコントローラ性能尺度を確定し、前記最適化ユニットは、前記コントローラ性能尺度に基づいて前記モデル予測コントローラで使用するための、前記組のコントローラ設計/チューニングパラメータ値の最適な値をさらに確定する適応モデル予測コントローラ。
【請求項31】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定する1つまたは複数のコントローラ形態パラメータか、1つまたは複数の観測器ユニットチューニングパラメータか、あるいは1つまたは複数のモデル予測コントローラアルゴリズムペナルティ変数を含む請求項30に記載の適応モデル予測コントローラ。
【請求項32】
前記コントローラ設計/チューニングパラメータは、(1)観測器ベースのモデル予測コントローラ形態または非観測器ベースのモデル予測コントローラ形態の一方、あるいは、(2)第1のタイプまたは第2のタイプの観測器ベースのモデル予測コントローラ形態の一方を指定するコントローラ形態パラメータを含む請求項30に記載の適応モデル予測コントローラ。
【請求項33】
前記最適化ユニットは、複数の異なるゼロでないプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートして、チューニングマップを生成し、前記チューニングマップは一組の点を含み、各点は、(1)前記複数のプロセスモデル不一致のうちの特定の不一致において可能である確定された最適コントローラ性能尺度および(2)前記複数のプロセスモデル不一致のうちの前記特定の不一致において前記最適コントローラ性能尺度をもたらした前記特定の組のコントローラ設計/チューニングパラメータ値に関連する請求項30に記載の適応モデル予測コントローラ。
【請求項34】
前記チューニングマップをユーザに表示するために、前記最適化ユニットに通信可能に結合するディスプレイユニットをさらに含む請求項33に記載の適応モデル予測コントローラ。
【請求項35】
前記ディスプレイユニットは、ユーザが前記チューニングマップ内の特定の点を選択することを可能にし、前記最適化ユニットは、前記選択された点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供する請求項34に記載の適応モデル予測コントローラ。
【請求項36】
前記最適化ユニットは、前記プロセスモデルパラメータの1つまたは複数についてモデル不一致範囲を格納し、前記モデル不一致範囲は、前記チューニングマップ内のモデル不一致範囲部分空間を規定し、前記ディスプレイユニットは、前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項34に記載の適応モデル予測コントローラ。
【請求項37】
前記ディスプレイユニットは、モデル不一致無しに関連する点を中心にして前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項36に記載の適応モデル予測コントローラ。
【請求項38】
前記ディスプレイユニットは、ユーザが、前記チューニングマップ内で前記モデル不一致範囲部分空間を移動させて、前記モデル不一致範囲部分空間を考慮して最適な適応/チューニング点を確定することを可能にする請求項37に記載の適応モデル予測コントローラ。
【請求項39】
前記最適化ユニットはモデル不一致範囲を格納し、前記モデル不一致範囲は前記チューニングマップ内の部分空間サイズを規定し、前記最適化ユニットは、第2の最適化を実施して、第2の性能尺度について最適な値を生成する前記部分空間サイズの前記チューニングマップ内で特定の部分空間を確定する請求項33に記載の適応モデル予測コントローラ。
【請求項40】
前記最適化ユニットは、前記モデル予測コントローラについて新しいコントローラモデルを生成するときに使用するための新しい一組のプロセスモデルパラメータ値を確定し、また、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定する請求項39に記載の適応モデル予測コントローラ。
【請求項41】
前記最適化ユニットは、前記チューニングマップ内の前記点のうちの1つの点に関連する前記コントローラ設計/チューニングパラメータ値として、新しい一組のコントローラ設計/チューニングパラメータ値を確定する請求項33に記載の適応モデル予測コントローラ。
【請求項42】
前記最適化ユニットについてチューニングサイクルを実施するために、誤差関数に対して自己相関手法を実施する推定器ユニットをさらに含む請求項33に記載の適応モデル予測コントローラ。
【請求項43】
前記推定器ユニットは、前記プロセスモデルパラメータの1つのパラメータでプロセスモデル不一致量を推定するために、前記誤差関数に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項44】
前記推定器ユニットは、前記モデル予測コントローラにおいて確定される制御誤差に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項45】
前記推定器ユニットは、前記プロセスの定常状態動作中に前記モデル予測コントローラにおいて確定される制御誤差に対して自己相関手法を実施する請求項42に記載の適応モデル予測コントローラ。
【請求項46】
コントローラモデルを使用してプロセスプラントを制御するように動作するモデル予測コントローラをチューニングするために、コンピュータプロセッサ上に実装するための適応モデル予測コントローラチューニングユニットであって、
コンピュータ読取り可能媒体と、
前記プロセスプラント用のプロセスモデルであって、一組のプロセスモデルパラメータのそれぞれについてある値を指定する、プロセスモデルを格納するためにプロセッサ上で実行するための、前記コンピュータ読取り可能媒体上に格納される格納ルーチンと、
前記モデル予測コントローラの前記コントローラモデルが前記プロセスモデルに基づくとき、プロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートするためにプロセッサ上で実行するための、前記コンピュータ読取り可能媒体上に格納される最適化ルーチンとを備え、前記最適化ルーチンは、前記モデル予測コントローラが、複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれによって構成されるとき、前記モデル予測コントローラをシミュレートし、前記最適化ルーチンは、前記プロセスモデル不一致の存在下で前記複数の異なる組のコントローラ設計/チューニングパラメータ値のそれぞれについてコントローラ性能尺度を確定し、前記最適化ルーチンは、前記コントローラ性能尺度に基づいて前記モデル予測コントローラで使用するための、前記異なる組のコントローラ設計/チューニングパラメータ値の最適な値をさらに確定する適応モデル予測コントローラチューニングユニット。
【請求項47】
前記コントローラ設計/チューニングパラメータは、コントローラ形態を指定するコントローラ形態パラメータか、1つまたは複数のモデル予測コントローラ観測器ユニットチューニングパラメータか、あるいは1つまたは複数のモデル予測コントローラアルゴリズムペナルティ変数を含む請求項46に記載の適応モデル予測コントローラチューニングユニット。
【請求項48】
前記最適化ルーチンは、複数の異なるプロセスモデル不一致の存在下で前記モデル予測コントローラの動作をシミュレートして、チューニングマップを生成するよう実行され、前記チューニングマップは一組の点を含み、各点は、(1)前記複数のプロセスモデル不一致のうちの特定の不一致において可能である確定された最適コントローラ性能尺度および(2)前記複数のプロセスモデル不一致のうちの前記特定の不一致において前記最適コントローラ性能尺度をもたらした前記特定の組のコントローラ設計/チューニングパラメータ値に関連する請求項46に記載の適応モデル予測コントローラチューニングユニット。
【請求項49】
前記チューニングマップをユーザに表示するために、前記最適化ルーチンに通信可能に結合するディスプレイルーチンをさらに含み、前記ディスプレイルーチンは、ユーザが、前記チューニングマップ内の特定の点を選択して、前記選択された点に関連する前記コントローラ設計/チューニングパラメータ値を前記モデル予測コントローラに提供し、それにより、前記モデル予測コントローラをチューニングすることを可能にする請求項48に記載の適応モデル予測コントローラチューニングユニット。
【請求項50】
前記最適化ルーチンは、前記プロセスモデルパラメータの1つまたは複数についてモデル不一致範囲を含み、前記モデル不一致範囲は、前記チューニングマップ内のある部分空間を規定し、前記ディスプレイルーチンは、前記チューニングマップ上で前記モデル不一致範囲部分空間を表示する請求項49に記載の適応モデル予測コントローラチューニングユニット。
【請求項51】
前記最適化ルーチンは、第2の最適化を実施して、第2の性能尺度について最適な値を生成する前記チューニングマップ内の特定のモデル不一致部分空間を確定するように実行され、前記モデル不一致部分空間は、前記プロセスモデルパラメータの1つまたは複数でモデル不一致範囲を規定する請求項48に記載の適応モデル予測コントローラチューニングユニット。
【請求項52】
前記最適化ルーチンは、前記モデル予測コントローラについて新しいコントローラモデルを定義するときに使用するための新しい一組のプロセスモデルパラメータ値を確定し、また、前記第2の最適化に基づいて前記モデル予測コントローラで使用するための一組のコントローラ設計/チューニングパラメータ値を確定するように実行される請求項51に記載の適応モデル予測コントローラチューニングユニット。
【請求項53】
プロセスプラントを制御するのに使用されるチューニング可能なモデルベースプロセスコントローラをチューニングする方法であって、
前記プロセスコントローラの動作に関連する誤差信号を取得すること、
前記誤差信号に対して自己相関手法を実施することであって、それにより、目下チューニングされている前記プロセスコントローラと前記プロセスプラントとの間のモデル不一致の存在の指標を確定する、自己相関手法を実施すること、および、
チューニングサイクルを実施することであって、それにより、前記自己相関解析の結果に基づいて前記プロセスコントローラを再チューニングする、チューニングサイクルを実施することを含む方法。
【請求項54】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、プロセス変数の測定値と前記プロセス変数についての設定点との差として、前記プロセスコントローラに関連する制御誤差信号を確定することを含む請求項53に記載の方法。
【請求項55】
前記自己相関解析を実施することは、前記プロセス変数が定常状態条件にある期間に関連する制御誤差信号に対して前記自己相関解析を実施することを含む請求項54に記載の方法。
【請求項56】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、プロセス変数の測定値と前記プロセスコントローラによって生成される前記プロセス変数についての予測値との差として、前記プロセスコントローラに関連する予測誤差信号を確定することを含む請求項53に記載の方法。
【請求項57】
前記予測誤差信号は、モデル予測コントローラの動作に関連する予測誤差を含む請求項56に記載の方法。
【請求項58】
前記自己相関解析を実施することは、前記プロセス変数が外乱または負荷アップセットに応答して制御される期間に関連する予測誤差信号に対して前記自己相関手法を実施することを含む請求項56に記載の方法。
【請求項59】
前記プロセスコントローラの動作に関連する前記誤差信号を取得することは、第1の期間の間、誤差信号を取得すること、および、前記第1の期間より後の第2の期間の間、誤差信号を取得することを含み、モデル不一致の存在の指標を確定するために前記誤差信号に対して前記自己相関手法を実施することは、前記第1の期間の間、前記誤差信号に対して自己相関手法を実施すること、前記第2の期間の間、前記誤差信号に対して自己相関手法を実施すること、ならびに、前記第1および第2の期間の間の、前記自己相関解析の結果を比較することであって、それにより、前記第1の期間と前記第2の期間との間のモデル不一致の変化を確定することを含む請求項53に記載の方法。
【請求項60】
プロセスプラントを制御するときに使用するための適応コントローラであって、
前記プロセスプラントを制御するための制御信号を生成するコントローラユニットであって、1つまたは複数の変更可能なチューニングパラメータを含む、コントローラユニットと、
前記コントローラユニットで使用するための1つまたは複数のチューニングパラメータ値を確定するチューニングユニットと、
前記コントローラユニットと前記チューニングユニットとの間に結合される推定器とを備え、前記推定器は、目下チューニングされている前記コントローラユニットと前記プロセスプラントとの間のモデル不一致の指標を確定するために、前記コントローラユニットに関連する誤差信号に対して自己相関解析を実施し、前記推定器は、前記モデル不一致の指標に基づいてチューニングサイクルを実施するように前記チューニングユニットをトリガーする適応コントローラ。
【請求項61】
前記推定器は、前記コントローラユニットに関連する制御誤差信号に対して自己相関解析を実施し、前記制御誤差信号は、プロセス変数の測定値と前記プロセス変数についての設定点との差を示す請求項60に記載の適応コントローラ。
【請求項62】
前記推定器は、前記プロセス変数が定常状態条件にある期間中に収集される制御誤差データに基づいて、前記コントローラユニット関連する前記制御誤差信号に対して前記自己相関解析を実施する請求項61に記載の適応コントローラ。
【請求項63】
前記推定器は、前記コントローラユニットに関連する予測誤差信号に対して前記自己相関解析を実施し、前記予測誤差信号は、プロセス変数の測定値と前記プロセス変数についての予測値との差を示す請求項60に記載の適応コントローラ。
【請求項64】
前記推定器は、前記プロセス変数が外乱またはアップセットを経験する期間中に収集される予測誤差データに基づいて、前記コントローラユニットに関連する前記予測誤差信号に対して前記自己相関解析を実施する請求項63に記載の適応コントローラ。
【請求項65】
前記推定器は、第1の期間の間、前記誤差信号を取得し、前記第1の期間より後の第2の期間の間、前記誤差信号を取得し、前記推定器は、前記第1の期間の間、前記誤差信号に対して自己相関手法を実施し、前記第2の期間の間、前記誤差信号に対して自己相関手法を実施し、前記第1および第2の期間の間の、前記自己相関解析の結果を比較して、前記第1の期間と前記第2の期間との間のモデル不一致の変化を確定する請求項60に記載の適応コントローラ。
【請求項66】
前記コントローラユニットは、モデル予測コントローラである請求項60に記載の適応コントローラ。
【請求項67】
前記コントローラユニットは、カルマンフィルタを有するモデル予測コントローラである請求項60に記載の適応コントローラ。
【請求項68】
予測プロセスコントローラによって使用されるコントローラモデルとプロセスプラントとの間のプロセスモデル不一致を検出する方法であって、
前記プロセスプラントの制御に関連する誤差信号を確定すること、
前記誤差信号に対して自己相関解析を実施すること、および、
前記コントローラモデルと前記プロセスプラントとの間のプロセスモデル不一致を検出するために、前記自己相関解析を解析することを含む方法。
【請求項69】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、プロセス変数の測定値と前記プロセス変数についての設定点との差として、前記予測プロセスコントローラに関連する制御誤差信号を確定することを含む請求項68に記載の方法。
【請求項70】
前記誤差信号に対して前記自己相関解析を実施することは、前記プロセス変数が定常状態条件にある期間中に収集される制御誤差データに対して前記自己相関解析を実施することを含む請求項69に記載の方法。
【請求項71】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、プロセス変数の予測値と前記プロセス変数の測定値との差として、前記予測プロセスコントローラに関連する予測誤差信号を確定することを含む請求項68に記載の方法。
【請求項72】
前記誤差信号に対して前記自己相関解析を実施することは、前記プロセス変数が外乱またはアップセットに応答して制御される期間中に収集される予測誤差データに対して前記自己相関解析を実施することを含む請求項71に記載の方法。
【請求項73】
前記プロセスプラントの前記制御に関連する前記誤差信号を確定することは、第1の期間の間、第1の制御誤差信号を、前記第1の期間の間の、プロセス変数の測定値と前記プロセス変数についての設定点との差として取得すること、および、前記第1の期間より後の第2の期間の間、第2の制御誤差信号を、前記第2の期間の間の、前記プロセス変数の測定値と前記プロセス変数についての設定点との差として取得することを含み、前記誤差信号に対して自己相関解析を実施することは、前記第1の制御誤差信号に対して自己相関解析を実施すること、および、前記第2の制御誤差信号に対して自己相関解析を実施することを含み、プロセスモデル不一致を検出するために前記自己相関解析を解析することは、前記第1の期間と前記第2の期間との間のプロセスモデル不一致の変化を確定するため、前記第1および第2の制御誤差信号に対する前記自己相関解析の結果を比較することを含む請求項72に記載の方法。
【請求項74】
前記第1の制御誤差信号を取得すること、および、前記第2の制御誤差信号を取得することは、前記プロセス変数が定常状態条件にある前記第1および第2の期間中に前記第1および第2の制御誤差信号を取得することを含む請求項73に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2013−12249(P2013−12249A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2012−227726(P2012−227726)
【出願日】平成24年10月15日(2012.10.15)
【分割の表示】特願2010−545206(P2010−545206)の分割
【原出願日】平成21年1月30日(2009.1.30)
【出願人】(512132022)フィッシャー−ローズマウント システムズ,インコーポレイテッド (28)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成24年10月15日(2012.10.15)
【分割の表示】特願2010−545206(P2010−545206)の分割
【原出願日】平成21年1月30日(2009.1.30)
【出願人】(512132022)フィッシャー−ローズマウント システムズ,インコーポレイテッド (28)
【Fターム(参考)】
[ Back to top ]