プロセス制御システムにおける統合されたアドバンスド制御ブロック
【課題】モデル予測制御のような多入力/多出力制御を実行するアドバンスド制御ブロックを提供する。
【解決手段】アドバンスド制御ブロック56は、汎用制御論理102を有し、プロセス出力および入力に通信可能に接続された制御入力および出力とを有する初期機能制御ブロックを作成することで形成が開始される。制御ブロック内の波形ジェネレータ101は、プロセスモデル104を作成する際に用いられるように設計された励起波形を用いて制御ブロック出力によってプロセス入力の各々を体系的にアップセットする。データ収集ルーチン100は、プロセス入力各々の波形にたいするプロセス出力各々の応答を示すデータを収集する。収集されたデータからプロセスモデルを生成し、プロセスモデルから制御論理パラメータを作成する。制御論理パラメータおよびプロセスモデルは制御ブロックにダウンロードされ、アドバンスド制御ブロックの形成を完了する。
【解決手段】アドバンスド制御ブロック56は、汎用制御論理102を有し、プロセス出力および入力に通信可能に接続された制御入力および出力とを有する初期機能制御ブロックを作成することで形成が開始される。制御ブロック内の波形ジェネレータ101は、プロセスモデル104を作成する際に用いられるように設計された励起波形を用いて制御ブロック出力によってプロセス入力の各々を体系的にアップセットする。データ収集ルーチン100は、プロセス入力各々の波形にたいするプロセス出力各々の応答を示すデータを収集する。収集されたデータからプロセスモデルを生成し、プロセスモデルから制御論理パラメータを作成する。制御論理パラメータおよびプロセスモデルは制御ブロックにダウンロードされ、アドバンスド制御ブロックの形成を完了する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般にプロセス制御システムに関し、より特定的には、プロセス制御システムにおいて、モデル予測制御ブロックおよびニューラルネットワーク制御ブロックのようなアドバンスド制御ブロックを用いることに関する。
【背景技術】
【0002】
化学プロセス、石油プロセス、または他のプロセスで用いられるシステムのように、分散プロセス制御システムまたはスケーラブルプロセス制御システムのようなプロセス制御システムは、典型的には、アナログバス、ディジタルバスまたは組み合わされたアナログ/ディジタルバスを介して、少なくともひとつのホストワークステーションまたはオペレータワークステーションとひとつ以上のフィールド装置とに互いに通信可能に結合されたひとつ以上のプロセスコントローラを含む。例えば、弁、弁ポジショナ、スイッチおよび送信器(例えば、温度センサ、圧力センサ、および流量センサ)であってよいフィールド装置は、弁の開閉およびプロセスパラメータの測定のようなプロセス内の機能を実行する。プロセスコントローラは、フィールド装置が測定を行ったプロセス測定値、および/またはフィールド装置に関する他の情報を示す信号を受信し、この情報を用いて制御ルーチンを実行し、次いで制御信号を生成し、この制御信号は、プロセスの動作を制御するべく、バスによってフィールド装置に送られる。フィールド装置およびコントローラからの情報は典型的には、オペレータワークステーションにより実行されるひとつ以上のアプリケーションに利用可能であり、これにより、オペレータは、プロセスの現状を見たり、プロセスの動作を修正したりするような、プロセスに対して所望の機能を実行することができる。
【0003】
今まで、従来のフィールド装置は、アナログバスまたはアナログ線を介して、プロセスコントローラとの間でアナログ(例えば4ミリアンペアから20ミリアンペア)信号を送受信するのに用いられていた。これらの4ミリアンペアから20ミリアンペアの信号は、装置が測定した測定値または装置の動作を制御するために必要なコントローラが生成した制御信号を示すという点で事実上制限があった。しかしながら、過去10年ぐらいで、マイクロプロセッサ およびメモリを含むスマート(賢い)フィールド装置はプロセス制御産業において普及した。プロセス内で一次的な機能を実行するだけでなく、スマートフィールド装置は、装置に関するデータを記憶し、ディジタルフォーマットでまたは組み合わされたディジタルおよびアナログフォーマットでコントローラおよび/または他の装置と通信を行い、自己較正、識別、診断などの二次的なタスクを行う。HART(登録商標)、PROFIBUS(登録商標)、WORDFIP(登録商標)、Device−Net(登録商標)、およびCANプロトコルのような多くの標準的通信プロトコルおよびオープンスマート装置通信プロトコルは、様々な製造者が製造したスマートフィールド装置を同じプロセス制御ネットワーク内で一緒に用いることが出来るように開発された。
【0004】
さらに、プロセス制御産業内では、プロセス制御機能を非集中化しようとする動きがある。例えば、ファウンデーション(商標)フィールドバス(以下フィールドバス)プロトコルとして知られているフィールドバスファウンデーションにより広められた全ディジタル、2線式バスプロトコルは、様々なフィールド装置内に位置する機能ブロックを用いて、集中化コントローラ内で前に実行された制御動作を実行する。特に、各フィールドバスフィールド装置は、ひとつ以上の機能ブロックを含み実行することが可能であり、この機能ブロックの各々は他の機能ブロック(同じ装置内でまたは異なる装置内で)との間で入出力動作を行い、プロセスパラメータを測定したり、検出したり、比例・積分・微分(PID)制御ルーチンを実行するように装置を制御したり制御動作を実行したりするような何らかのプロセス制御動作を行う。プロセス制御システム内の様々な機能ブロックは、(例えばバスによって)互いと通信を行いひとつ以上のプロセス制御ループを形成するように構成され、その個々の動作はプロセス中に広がり、従って、分散化(非集中化)される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
プロセスコントローラは典型的には、流量制御ループ、温度制御ループ、圧力制御ループなどのような、あるプロセスのために規定されるかまたはそこに含まれる多くの異なる制御ループの各々のために、異なるアルゴリズム、サブルーチンまたは制御ループ(これらは全て制御ルーチンである)を実行するようにプログラムされる。一般的に、このような各制御ループは、アナログ入力(AI)機能ブロックのようなひとつ以上の入力ブロック、比例・積分・微分(PID)機能ブロックまたはファジィ論理制御機能ブロックのような単一出力制御ブロック、およびアナログ出力(AO)機能ブロックのような単一出力ブロックを含む。これらの制御ループは典型的には、単一入力/単一出力制御を実行する。なぜなら制御ブロックは、弁位置などのような単一のプロセス入力を制御するのに用いられる単一の出力を作成するからである。しかしながら、場合によっては、多くの独立して動作する単一入力/単一出力制御ループを用いることはあまり有効ではない。なぜなら、制御されているプロセス変数は1個を上回るプロセス入力により生じさせられているからであり、事実、各プロセス入力は多くのプロセス出力をもたらしてよい。この例としては、例えば、2本の入力ラインにより充填され、単一の出力ライン(各ラインは異なる弁により制御される)により空にされるタンクを有するプロセスを挙げられるが、この場合は、タンクの温度、圧力、スループットは所望の値になるようにまたはそれに近似するように制御される。上でのべたように、タンクのスループット、温度、および圧力の制御は、別個のスループット制御ループ、別個の温度制御ループおよび別個の圧力制御ループを用いて実行されてもよい。しかしながら、この状況では、タンク内の温度を制御すべく入力弁のうちのひとつの設定を変更する際の温度制御ループの動作は、タンク内の圧力を増大させ、これにより、例えば、圧力ループに出力弁を開放させて圧力を下げるようにする。この動作は次いで、スループット制御ループに入力弁のうちのひとつを閉じさせ、これによりその温度をもたらし、温度制御ループに何らかの他の動作を行わせる。この例において理解されるように、単一入力/単一出力制御ループにより、プロセス出力(この場合、スループット、温度および圧力)は、安定した状態に達することなく発振することとなり、これは望ましくない。
【0006】
モデル予測制御または他の種類のアドバンスド制御は、従来、これらの状況において制御を行うのに用いられてきた。一般的に、モデル予測制御は多入力/多出力制御戦略であり、この戦略においては、多くのプロセス入力の各々を変更したことによる多くのプロセス出力の各々に対する影響が測定され、これらの測定された応答はついでプロセスのモデルを作成するのに用いられる。プロセスのモデルは数学的に反転され、ついで、多入力/多出力コントローラとして、プロセス入力に行われた変更に基づいてプロセス出力を制御するのに用いられる。場合によっては、プロセスモデルは、プロセス入力の各々に対するプロセス出力応答曲線を含み、これらの曲線は、プロセス入力の各々に送られる、一連の、例えば、擬似ランダムステップ変更に基づいて作成されてよい。これらの応答曲線は公知の態様でプロセスをモデル化するのに用いることができる。モデル予測制御は当該技術で公知であり、従って、ここでは具体的には述べない。モデル予測制御は、Qin, S, Joeおよび Thomas Badgwellによる1996年のAIChE Conferenceの「工業モデル予測制御技術の概要("An Overview of Industrial Model Predictive Control Technology")」に記載される。
【0007】
従来、モデル予測コントローラを作成してプロセス制御ネットワーク内にそのコントローラを配置するには、多大な時間と努力が必要であり、非常に費用がかかった。通常、ある特定のプロセスのためのモデル予測コントローラを作成するために、プロセスエキスパート(典型的には外部のコンサルタント)がプラントに来て、プラントまたはプロセス動作を観察するように雇われていた。モデル予測コントローラのための適切なプロセス入力および出力を選択した後、エキスパートは制御室に座り、オペレータに、選択されたプロセス入力の各々に対し、一連の段状の入力波形を送るように命令し、選択されたプロセス出力の各々に対するこれらの入力の各々の影響を測定するように命令した。プロセスデータを全て収集した後、エキスパートは、収集されたデータをオフラインシステムに送った。そこで、エキスパートは、第1のルーチンを実行させて、プロセスが通常に動作していなかったとか、遮断されたとか、なんらかの他のエラーが存在していてそのために収集されたデータがプロセスの通常動作を表現できなかったときに収集されたデータのような不良データを除く目的で、収集されたデータをふるいにかけた。オフラインシステムはついで、ふるいにかけられたデータを用いて第2のルーチンを実行させ、プロセスのモデルを作成する。その後、プロセスのためのモデル予測コントローラを作成するため、公知の態様でプロセスのモデルは反転されるか用いられた。いったんモデル予測コントローラが作成されると、それはプロセス制御システム内に挿入されなければならなかったが、これは、制御を行なうために、プロセスエンジニアがもうすでに制御システム内で制御ルーチンをプログラムして、モデル予測コントローラに指定されたコントローラ入力(すなわちプロセス出力)の各々を送り、モデル予測コントローラにコントローラ出力(すなわちプロセス入力)の各々を制御システム内の適切な場所に送らせなければならなかったということである。プロセス制御ルーチンまたはシステムで用いられるモデル予測コントローラ入力および出力に対して同じ名前を使用する売り手もいるが、場合によっては、プロセス制御システム内で規定される通り、モデル予測コントローラの入力および出力をプロセス出力および入力に一致させることが必要であった。いづれにせよ、プロセス制御システム内にモデル予測コントローラを組み込むステップには多大なプログラミングの努力を必要としていただろう。
【0008】
結果、当該技術で公知ではあるが、収集されたデータからプロセスモデルを作成したり、モデル予測コントローラを作成したり、このコントローラをプロセス内に組み込んだりするのは時間がかかり、エキスパートの入力が必要であり、非常に費用がかかるものである。事実、プロセスのための単一のモデル予測コントローラを作成するには数ヶ月の月日がかかり、数千万円ぐらいかかるだろう。プロセスオペレータにとって残念なことに、プロセス機器のエージング(経年変化)により生じる変化のようなプロセスの変化は、プロセスにとって、作成されたモデル予測コントローラが時代遅れであり、一致しないものであることを強いることになり、これは、別のモデル予測コントローラを作成するために再度プロセス全体を実行させなければならないことを意味する。
【0009】
さらに、モデル予測コントローラは典型的にはオフラインシステムにより作成されたので、このコントローラは一般的に、制御システムにより実行される単一のループまたは他の制御ルーチンと同じ方法でプロセス制御システム内に統合されなかった。従って、ユーザまたはオペレータがモデル予測コントローラの状態および動作を見れるように特別な図形を作成する必要があった。この理由のために、コントローラ内で制御ブロックまたは制御ループの動作と統合されるプロセス制御表示機構を有するフィッシャー・ローズマウント・システムズ(Fisher Rosemount Systems Inc)が販売しているデルタV(商標)のようなプロセス制御システム内にモデル予測コントローラを組み込むことは難しかった。事実、デルタVシステムは、ユーザに、プロセスの動作を表示するエンジニアのビュー、オペレータのビューなどのような様々なビューを与える。いったんセットアップされると、これらのビューは、例えば、プロセスコントローラ内で実行される機能ブロックの動作により自動的に更新される。しかしながら、異なるシステムによりオフラインで設計されたモデル予測コントローラのためにビューまたは他の情報スクリーンを加えるには、デルタVシステムが用いるフォーマットとは典型的には異なるフォーマットで、特別の図形表示を作成しなければならなかった。
【0010】
これらの問題はモデル予測コントローラに対して存在したが、ニューラルネットワークモデル化システムまたはニューラルネットワーク制御システム、多変数ファジィ論理コントローラ、リアルタイムオプティマイザ(optimizer)などのような、他のアドバンスド多入力/多出力制御ブロックまたはシステムの開発および使用においても、同じまたは類似の問題が存在する。
【課題を解決するための手段】
【0011】
本発明のある態様によれば、アドバンスド(advanced)制御ブロックは、フィールドバスパラダイム(paradigm) のような制御パラダイムを用いて実行される制御ブロックと統合される方法で、プロセス制御システム内で、モデル予測制御、ニューラルネットワークモデル化またはニューラルネットワーク制御などのような多入力/多出力制御を実行する。アドバンスド制御ブロックは、それぞれプロセス出力およびプロセス入力に接続されてプロセスを制御するための所望の入力および出力を有する制御ブロックを作成することにより開始されてよい。制御ブロックは、最終的には、例えば完全なモデル予測コントローラを含むものであるが、最初は、データ収集ルーチンと、それと関連する波形ジェネレータとを有する。所望であれば、制御ブロックは、チューニングされていないかまたはそうでなければ未成の制御論理を有してよい。なぜなら、この論理はミッシングチューニングパラメータであるか、実行する必要のある行列係数かまたは他の制御パラメータであるからだ。制御ブロックは、もしもアドバンスド制御ブロックがプロセスを制御するのに使用されているとしたら、規定された入力および出力が接続されるだろうというような方法で、これらの入力および出力が制御システム内で通信可能に結合された状態で、プロセス制御システム内に配置される。 テストプロシージャの間、制御ブロックは体系的に、プロセスモデルを作成する際に用いられるように特殊設計された波形ジェネレータにより生成された波形を用いて、制御ブロックを出力を介してプロセス入力の各々をアップセットする。ついで、制御ブロック入力を介して、制御ブロックは、プロセス入力の各々に送られた生成された波形の各々に対するプロセス出力の各々の応答に関するデータを収集することを調整する。このデータは、例えば、データヒストリアン(data historian)に送られて記憶されてよい。
【0012】
十分なデータが収集された後、プロセスモデル化プロシージャは実行され、プロセスモデルは、例えば、モデル予測コントローラプロセスモデル生成ルーチンを用いて、収集されたデータから生成される。その後、アドバンスド制御ブロック論理パラメータ決定ルーチンを用いて、プロセスを制御するのに用いられるべき制御論理が必要なパラメータを作成するか生じさせる。制御論理パラメータ、そして必要ならば、プロセスモデルは、次いで、アドバンスド制御論理パラメータおよびプロセスモデルを有するアドバンスド制御ブロックを用いてプロセスを制御できるように、制御ブロックにダウンロードされてアドバンスド制御ブロックの形成を完成させる。
【0013】
アドバンスド制御ブロックは、プロセス制御システム内の他の制御ブロックと同じフォーマットでまたは同じプログラミングパラダイムに従って設計することができ、従って、プロセス制御ルーチン内で他のブロック(またはエレメント)により支援される同じ図形ビューを支援することができる。このように、アドバンスド制御ブロックは、ひとり以上のユーザに表示されるべきひとつ以上の図形ビューを有してもよく、アドバンスド制御ブロックの動作の間にこれらのビューにデータを送ってもよい。
【0014】
さらに、プロセスモデル化プロシージャにより生成されたプロセスモデルは、プロセスの動作をシミュレートする、および/または、プロセスおよびアドバンスド制御ブロックの対話をシミュレートするのに用いられてよい。ある場合においては、プロセスシミュレーションブロックは、決定されたプロセスモデルから作成されてよく、このプロセスシミュレーションブロックは、アドバンスド制御ブロックを用いて実際のプロセスを制御する前に、作成されたアドバンスド制御ブロックに通信可能に結合されて、アドバンスド制御ブロックの動作をテストする。別の場合においては、プロセスシミュレーションブロックは、プロセス内のエージングまたは他の変化を反映するために、決定されたプロセスモデルの変更バージョンを用いて作成されてよい。このシミュレーションブロックは、アドバンスド制御ブロックに通信可能に接続されて、プロセスに変更がある状態でアドバンスド制御ブロックの動作をシミュレートし、これによりプロセスモデルの不一致が存在している場合において、アドバンスド制御ブロックの実行を決定する。さらに別の場合においては、プロセスモデルから作成されたシミュレーションブロックは、プロセスと関連して実行されてよく、例えば、実際のプロセス出力のうちのひとつを測定するセンサが故障したとき、アドバンスド制御ブロックのための入力として用いられるべき仮想プロセス出力を作成するのに用いられてよい。シミュレートされたプロセス出力は、実際のプロセス出力と比較されて、プロセスと、アドバンスド制御ブロックを作成するのに用いられるプロセスモデルとの間の不一致、すなわち、プロセス/プロセスモデル不一致の量を決定してよい。
【図面の簡単な説明】
【0015】
【図1】アドバンスド制御ブロックを作成して用いることのできるプロセス制御システムのブロック/概略図である。
【図2】図1のプロセス制御システム内のアドバンスド制御ブロックの動作および作成を示すフローチャートである。
【図3】プロセス制御ルーチン内で接続されてプロセスを制御するモデル予測制御ブロックのブロック図である。
【図4】Aは、プロセス制御ルーチン内の機能ブロックに接続されて既存の制御戦略を調整するモデル予測制御機能ブロックのブロック図である。
【0016】
Bは、プロセス制御ルーチン内の機能ブロックに接続されて既存の制御戦略を調整するモデル予測制御機能ブロックのブロック図である。
【図5】プロセス制御ルーチン内の機能ブロックに接続されて単一ループ制御ルーチンを調整するモデル予測制御機能ブロックのブロック図である
【図6】アドバンスド制御ブロックを作成するのに用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図7】図1のプロセス制御システムの部分のブロック/概略図であり、アドバンスド制御ブロックと関連する図形ビューを用いることを示す図である。
【図8】プロセスシミュレーションブロックに接続されたモデル予測制御ブロックのブロック図である。
【図9】アドバンスド制御ブロックを作成するかまたはプロセスシミュレーションブロックを作成するために用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図10】アドバンスド制御ブロックを作成するかまたはプロセスシミュレーションブロックを作成するために用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図11】プロセスと、プロセスの動作をシミュレートして仮想プロセス出力を生成するプロセスシミュレーションブロックとに接続されたモデル予測制御ブロックのブロック図である。
【発明を実施するための形態】
【0017】
さて図1を参照して、プロセス制御システム10は、データヒストリアン(data historian) 12と、各々がディスプレイスクリーン14を有する、ひとつ以上のホストワークステーションまたはコンピュータ13(任意の種類のパソコン、ワークステーションなどであってよい)とに接続されたプロセスコントローラ11を含む。コントローラ11は、入力/出力(I/O)カード26、28を介してフィールド装置15―22にも接続される。データヒストリアン12は、データを記憶するための所望の種類のメモリおよび所望のまたは公知のソフトウェア、ハードウェア、またはファームウェアを有する所望の種類のデータ収集ユニットであってよく、ワークステーション13のうちのひとつとは別個(図1に示されるように)であってもよく、その一部であってもよい。コントローラ11は、例えば、フィッシャー・ローズマウント・システムズ(Fisher Rosemount Systems,Inc)により販売されるDeltaV(登録商標)コントローラであるが、例えば、イーサネット(登録商標)接続または他の所望の通信ネットワークによってホストコンピュータ13とデータヒストリアン12とに通信可能に接続される。 コントローラ11は、例えば標準的な4−20ミリアンペア装置と関連する所望のハードウェアおよびソフトウェア、および/またはフィールドバスプロトコル、HARTプロトコルのようなスマート通信プロトコルと関連する所望のハードウェアおよびソフトウェアを用いてフィールド装置15−22にも通信可能に接続される。
【0018】
フィールド装置15―22は、センサ、弁、送信器、ポジショナなど、任意の種類の装置であってよく、I/Oカード26、28は、所望の通信プロトコルまたはコントローラプロトコルに従う任意の種類のI/O装置であってよい。図1に示される実施の形態においては、フィールド装置15―18は、アナログ回線によってI/Oカード26と通信する標準的な4―20ミリアンペア装置であり、フィールド装置19―22は、フィールドバスプロトコル通信を用いてディジタルバスによってI/Oカード28と通信する、フィールドバスフィールド装置のようなスマート装置である。一般的に、フィールドバスプロトコルは、フィールド装置を相互接続する2線式ループまたはバスに標準化された物理インタフェースを与える全ディジタルシリアル双方向通信プロトコルである。フィールドバスプロトコルは、事実、プロセス内のフィールド装置のためにローカルエリアネットワークを与え、これによって、プロセス設備(facility)中に分散された位置でプロセス制御機能を実行する(フィールドバスプロトコルにしたがって規定された機能ブロックを用いて)ことができ、これらプロセス制御機能の実行の前後に互いと通信して全体の制御戦略を実行することが出来る。フィールドバスプロトコルは、プロセス制御ネットワークで用いられるために開発された比較的新しい全ディジタル通信プロトコルであるが、このプロトコルは当該技術で公知であり、とりわけ、テキサス洲、オースティンに本部を置く非営利組織のフィールドバスファウンデーションにより出版され、流通され、そこから入手可能である無数の記事、パンフレットおよび仕様書に詳細に説明されていることは理解されるであろう。従って、フィールドバス通信プロトコルの詳細についてはここでは述べられない。当然、フィールド装置15―22は、将来において開発される規格またはプロトコルを含め、他の所望の規格またはプロトコルに従う。
【0019】
コントローラ11は、1個以上のプロセス制御ルーチンを実行するかまたは監督し、そこに記憶されるかまたはそれと関連する制御ループをふくんでよく、装置15―22、ホストコンピュータ13およびデータヒストリアン12と通信を行い所望の方法でプロセスを制御する。尚、本明細書で述べる制御ルーチンまたはエレメントは、所望であれば、様々なコントローラまたは他の装置により実行される一部を有してよい。同様に、プロセス制御システム10内で実行されるべき本明細書で述べる制御ルーチンまたはエレメントは、ソフトウェア、ファームウェア、ハードウェアなどを含め、任意の形をとってよい。本発明の目的のために、プロセス制御エレメントは、例えば、コンピュータ読み取り可能な媒体上に記憶されるルーチン、ブロックまたはモジュールを含め、プロセス制御システムの一部または部分であってよい。制御ルーチンは、モジュール、または、サブルーチン、サブルーチンの一部(コードのラインのような)などのような制御プロシージャの一部であってよく、はしご論理、順次機能チャート、機能ブロック図、もしくは他のソフトウェアプログラミング言語もしくは設計パラダイムを用いてのように、所望のソフトウェアフォーマットで実行されてよい。同様に、制御ルーチンは、例えば、ひとつ以上のEPROM EEPROM、専用集積回路(ASIC)、または他のハードウェアエレメントもしくはファームウェアエレメント内にハードエンコード(hard-coded)されてもよい。 さらに、制御ルーチンは、図形設計ツールまたは他の種類のソフトウェア/ハードウェア/ファームウェアプログラミングツールもしくは設計ツールを含め、何らかの設計ツールを用いて設計されてよい。このように、コントローラ11は、所望の方法で、制御戦略または制御ルーチンを実行するように構成されてよい。
【0020】
ある実施の形態においては、コントローラ11は、一般に機能ブロックと称されるものを用いてある制御戦略を実行する。この戦略においては、各機能ブロックは、全体の制御ルーチンの一部(例えばサブルーチン)であり、他の機能ブロックと(リンクと呼ばれる通信によって)関連して動作してプロセス制御システム10内のプロセス制御ループを実行する。機能ブロックは典型的には、送信器、センサまたは他のプロセスパラメータ測定装置と関連するものとしての入力機能、PID制御、ファジィ論理制御などを実行する制御ルーチンと関連するものとしての制御機能、または、弁のような装置の動作を制御する出力機能のうちのひとつを実行してプロセス制御システム10内で何らかの他の物理的な機能を実行する。当然、ハイブリッド機能ブロックおよび他の種類の機能ブロックが存在する。機能ブロックはコントローラ11内に記憶されてこれにより実行されてよいが、これは典型的には、これらの機能ブロックが標準的な4―20ミリアンペアの装置、およびHART装置のような何らかの種類のスマートフィールド装置のために用いられるかもしくはこれらと関連し、またはフィールドバス装置の場合のようにフィールド装置自体内に記憶されてこれにより実行されてもよい。制御システムについてここでは機能ブロック制御戦略を用いて説明しているが、制御戦略または制御ループもしくは制御モジュールは、はしご論理、順次機能チャートのような他の規約を用いて、または他の所望のプログラミング言語またはプログラミングパラダイムを用いて実行されるか設計されるだろう。
【0021】
図1の拡大されたブロック30に示されるように、コントローラ11は、ルーチン32、34として示される、多くの単一ループ制御ルーチンをふくんでよく、所望であれば、制御ループ36として示されるひとつ以上のアドバンスド制御ループを実行してよい。このようなループ各々は典型的には制御モジュールと称される。単一ループ制御ルーチン32、34はそれぞれ、適切なアナログ入力(AI)機能ブロックおよびアナログ出力(AO)機能ブロックに接続された単一入力/単一出力ファジィ論理制御ブロックおよび単一入力/単一出力PID制御ブロックを用いて信号ループ制御を実行するものとして示され、機能ブロックは、弁のようなプロセス制御装置と関連してもよいし、温度送信器および圧力送信器のような測定装置と関連してもよいし、プロセス制御システム10内の他の装置と関連してもよい。アドバンスド制御ループ36は、多数のAI機能ブロックに通信可能に接続された入力と多数のAO機能ブロックに通信可能に接続された出力とを有するアドバンスド制御ブロック38を含むものとして示されるが、アドバンスド制御ブロック38の入力および出力は他の所望の機能ブロックまたは制御エレメントに接続されて他の種類の入力を受け取り他の種類の制御出力を与えてもよい。アドバンスド制御ブロック38は、制御信号を2個以上のプロセス入力を与えることにより2個以上のプロセス出力を制御するのに用いられる何らかの種類の多入力/多出力制御ブロックであってよい。アドバンスド制御ブロック38はここではモデル予測制御(MPC)ブロックとして説明されているが、アドバンスド制御ブロック38は、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロック、多変数ファジィ論理制御ブロック、リアルタイムオプティマイザ(optimizer)ブロックなどのような他の多入力/多出力ブロックであってもよい。アドバンスド制御ブロック38を含む図1に示される機能ブロックはコントローラ11により実行されるか、またはワークステーション13のうちのひとつもしくはフィールド装置19―22のうちのひとつのような他の処理装置内に位置しこれにより実行可能であることを理解されたい。
【0022】
図1に示されるように、ワークステーション13のうちのひとつはアドバンスド制御ブロック生成ルーチン40を含み、このルーチンは、ここで詳細に述べる方法でアドバンスド制御ブロック38を作成し、ダウンロードし、実行するのに用いられる。アドバンスド制御ブロック生成ルーチン40はワークステーション13内のメモリ内に記憶されてプロセッサにより実行されてよいが、このルーチン(またはその一部)は、所望であれば、さらにまたは代替的に、プロセス制御システム10内の他の装置内に記憶されて実行されてよい。一般に、アドバンスド制御ブロック生成ルーチン40は、アドバンスド制御ブロックを作成してこのアドバンスド制御ブロックをプロセス制御システム内に接続する制御ブロック作成ルーチン42と、アドバンスド制御ブロックにより収集されたデータに基づいてプロセスのためのプロセスモデルまたはその一部を作成するプロセスモデル化ルーチン44と、プロセスモデルからアドバンスド制御ブロックのための制御論理パラメータを作成し、これらの制御論理パラメータを、プロセスを制御する際に用いられるためにアドバンスド制御ブロック内に記憶するかダウンロードする制御論理パラメータ作成ルーチン46とを含む。ルーチン42、44、46は、一連の異なるルーチンで構成可能であるが、この一連のルーチンとは、プロセス出力を受け取るように構成される制御入力と制御信号をプロセス入力に与えるように構成される制御出力とを有するアドバンスド制御エレメントを作成する第1のルーチンと、プロセス制御ルーチン(所望の構成ルーチンであってよい)内のアドバンスド制御エレメントをユーザが通信可能に接続できるようにする第2のルーチンと、アドバンスド制御エレメントを用いてプロセス入力の各々に対し励起波形を与える第3のルーチンと、アドバンスド制御エレメントを用いて波形に対するプロセス出力の各々の応答を反映するデータを収集する第4のルーチンと、収集されたデータからプロセスモデルを作成する第5のルーチンと、プロセスモデルからアドバンスド制御論理パラメータを生じさせる第6のルーチンと、アドバンスド制御論理、およびもし必要ならばプロセスモデルをアドバンスド制御エレメント内に配置してアドバンスド制御エレメントがプロセスを制御することができるようにする第7のルーチンとである。
【0023】
さて図2を参照して、フローチャート50は、図1のプロセス制御システム10のようなプロセス制御システム内の、アドバンスド制御ブロック、特にMPC制御ブロックを作成して用いるステップを示す。図2のフローチャート50はMPCブロックまたはモジュールの作成を示しているが、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロック、多変数ファジィ論理制御ブロックなどのように多入力/多出力制御ブロックのような他のアドバンスド制御ブロックを作成して用いるために同じステップまたは類似のステップを実行することができる。
【0024】
まず、時間52で、MPCプロシージャを実行する事によりプロセス制御システム10内の制御を向上させるかまたは与えるべく決定が行われる。この決定は、プロセス制御システム10が最初にセットアップされるときかまたは、単一ループ制御ルーチンのような他の制御ルーチンが不十分な制御を与えると発見された後になって行われる。時間52で、オペレータまたは他のユーザがMPCブロック生成ルーチン40を実行して、プロセス制御システム内でMPCモジュールまたは制御ループを作成するステップを開始する。このプロセスの一部として、オペレータは、設計されているMPCブロックの出力が接続されるべきプロセス入力を選択するとともに、設計されているMPCブロックの入力が接続されるべきプロセス出力を選択する。MPCブロックが有する入力および出力の個数は任意であるが、各MPCブロックは一般に、3種の入力を有し、これらは、あるセットポイント(または設定範囲内)で維持されるべきプロセス変数またはプロセスパラメータである制御されたパラメータ入力、プロセスと関連する例えば物理的限界に基づいたある特定の限界値または範囲に制約されるプロセス変数であり、MPCブロックがその入力を制約された範囲または限界値の範囲から外れるように強制してはならない制約された入力、および、変更される場合、制御されたパラメータに対し変更を生じさせるものとして知られているプロセス入力のような他のプロセス変数であるプロセス妨害パラメータ入力である。 MPCブロックはプロセス妨害パラメータ入力を用いて、制御されたパラメータ(すなわち制御されたプロセス出力)に対する変化を予知し、これらの変化の影響をそれらが生じる前に制限する。MPC制御ブロックがこれらのエレメントを効果的に制御することができるようにするための制御されている装置または他のプロセスエレメントからのフィードバックのような他の入力もMPCブロックに与えられてよい。同様に、MPCブロックの出力は、制御ループ入力、装置制御入力などを含む所望のプロセス変数または他のプロセス入力を制御するために接続されてよい。MPCブロックを他の制御エレメントに接続することにより生じさせられるルーチンはここではMPCモジュールと称される。ユーザはMPC機能ブロックを作成してよいが、ユーザは、機能ブロックのライブラリのようなメモリからの初期機能ブロックを得て、この機能ブロックを用いるかまたはプロセス制御システムで用いられるこの機能ブロックのインスタンスを作成してよい。同様に、ユーザまたは他のプロバイダは、他の所望の方法で機能ブロックまたは他の制御エレメントを与えてよい。
【0025】
ステップ54で、オペレータは、プロセス制御システム内で通信可能に接続された特定の入力および出力を備えたMPCブロック(モデル予測制御を与えるのに必要な情報をまだ全部有しているわけではない)を有するMPCモジュールを作成し、このブロックまたはモジュールを、MPCモジュールを実行する適切なコントローラまたは他の装置にダウンロードする。このプロセスの一部として、オペレータは、MPCブロックの出力を適切なプロセス入力に通信可能に結合するとともにMPCブロックの入力を適切なプロセス出力に通信可能に結合することにより、MPCブロックを実行するように、プロセス制御システム10を構成する。
【0026】
図3を参照して、MPCブロック56はプロセス58に接続されるものとして示される。MPCブロック56は、3個の入力IN1−IN3 と3個の出力OUT1―OUT3とを有する3x3制御ブロックであり、プロセス58は入力X1−X5と出力Y1−Y6とを含む。当然、MPCブロック56およびプロセス58が含む入力および出力の個数は任意である。MPCブロック56は一般に正方形ブロック、すなわち、同じ個数の入力および出力を有してよいが、この構成は必要でなく、MPCブロック56の有する入力および出力の数は異なっていてよい。図3に示されるように、オペレータは、プロセス出力Y1−Y3をそれぞれMPCブロック入力IN1−IN3に通信可能に接続し、MPCブロック出力OUT1―OUT3をそれぞれプロセス入力X1―X3に通信可能に接続する。当然、プロセス58の入力および出力のうちのいづれかは、プロセス制御システム10と関連する他の制御ルーチン内の他のエレメントに接続されてよい(図3のプロセス入力および出力に接続された点線により示されるように)。一般に、制御入力をプロセス58に与えている(プロセス入力X1―X3に接続された点線により示されるように)MPCブロック56および他のブロックは、なんらかのスイッチを介して接続され、これらのスイッチは図3にボックス59で示される。スイッチ59は、ハードウェアスイッチまたはソフトウェアスイッチであってよいが、所望であれば、フィールドバス機能ブロックのような機能ブロックの異なる入力に異なる制御入力信号を送ることにより与えられてよく、MPCブロック56からの制御信号とPID機能ブロックからのような異なる機能ブロックからの制御信号とを受け取る機能ブロックのモードに基づいて、これらの信号の間で選択を行うことができる。
【0027】
当然、オペレータは所望の方法で、MPCブロック56をプロセス58に接続可能であり、一般に、オペレータがプロセス制御システム10内の単一制御ルーチンのような他の制御ループを作成するのに用いるのと同じ制御構成プログラムまたは設計プログラムを用いるだろう。例えば、オペレータは、所望の図形プログラミングルーチンを用いて、MPCブロック56とプロセス入力出力との間の接続を指定してもよい。このようにして、MPCブロック56は、他の制御ブロック、エレメント、またはルーチンと同じ方法で支援されてよく、これは、MPCブロック56の構成および接続と、システム10内の他のブロックの構成、接続および支援と同じような制御システム10内のそのブロックの支援とを行う。ある実施の形態においては、制御システム10内の他のブロックと同様にMPCブロック56は、フィールドバス機能ブロックと同じであるかまたはそれと類似であるように設計された機能ブロックである。この実施の形態においては、MPCブロック56は、フィールドバスプロトコルにおいて特定されるか与えられた通り、同じまたは類似の種類の入力、出力などを有してよく、例えば、フィールドバスプロトコルにより特定されたものと同じであるかまたは類似の通信リンクを用いて、コントローラ11により実行可能である。プロセス制御ルーチンおよびそのエレメントを図形で作成する方法は、 「プロセス制御環境を構成するためのシステム"System for Configuring a Process Control Environment"」と題されたドゥーブらの米国特許第5、838、563号に記載され、この特許を本明細書において引用により援用する。 当然、他の種類の機能ブロックを用いるかまたはプロセス制御構成パラダイム内の他のルーチン、サブルーチンまたは制御エレメントを用いるものを含め、他の制御ループまたは制御モジュール設計戦略も同様に用いられてよい。
【0028】
フィールドバス機能ブロックパラダイムが与えるブロックような、機能ブロックの相互接続に基づいた制御システムを用いるとき、MPCブロック56はプロセス制御ルーチン内の他の機能ブロックに直接接続可能である。例えば、MPCブロック56は、MPCブロック56の制御出力を、制御されている装置と関連する出力ブロック(AOブロックのような)に直接接続することにより弁などの制御装置に接続されてよい。同様に、MPCブロック56は、他の制御機能ブロックの入力ような、他の制御ループ内の機能ブロックに制御信号を与えて、これらの制御ループの動作を予知するかオーバーライドしてもよい。
【0029】
図4A、4Bは、例えば、フィールドバスタイプのMPC機能ブロック60を示し、これは、プロセス制御システム内の他のフィールドバスタイプの機能ブロックに接続されて、単一ループ制御ルーチンにより実行される既存の多変数戦略を調整する。特に、MPC機能ブロック60は、操作されている弁と関連するAOブロック62のRCAS IN(リモートカスケード)入力に接続された第一の出力OUT1と、PID機能ブロック64のRCAS IN(リモートカスケード)入力に接続された第2の出力OUT2とを有する。さらに、MPCブロック60は、AI機能ブロック66から送られた第一の入力I1(制御されたパラメータ入力)と、AI機能ブロック68(図4B)から送られた第一の入力I2(制御されたパラメータ入力)と、AI機能ブロック70から送られた第3の入力I3(妨害パラメータ入力)とを有する。AI機能ブロック66、68、70は、センサのようなフィールド装置により測定され、送信器または他の装置により制御ルーチンに送信される信号と関連し、これを与えてよい。MPCブロック60は、MPCブロック60により機能ブロック62、64に送られる制御信号の影響を決定する際に用いられるAO機能ブロック62およびPID機能ブロック64のリモートカスケード出力(RCAS OUT)から、入力BKCAL IN1およびBKCAL IN2(バック較正入力)で、フィードバックを受け取る。AI機能ブロック66の出力はPID機能ブロック72の入力に与えられ、PID機能ブロック72は、AO機能ブロック62のカスケード入力(CAS IN)に制御信号を与え、PID機能ブロック72のBKCAL IN入力でAO機能ブロック62の出力OUTからのフィードバック信号を受信し、それにより、プロセスの通常の動作の間に、すなわち、MPC動作なしに、操作された値を制御する。同様に、AO機能ブロック68は、その出力(プロセス出力)をPID機能ブロック74の自動入力に送り、PID機能ブロック74は、制御信号をPID機能ブロック64のカスケード入力に与える。PID機能ブロック74は、機能ブロック74のBKCAL IN入力でPID機能ブロック64からフィードバック信号も受信する。図4A、4B(図5と同様に)の機能ブロックの入力および出力は、フィールドバスプロトコルの場合と同じように規定され、フィールドバスプロトコルにより与えられた規定および構成に従って動作する。
【0030】
理解されることであるが、機能ブロック66、72、62は、第1の単一ループ制御ルーチンを形成し、機能ブロック68、74、64は第2の単一ループ制御ルーチンを形成し、これら両方は、プロセスの通常動作または自動動作の間に動作されてよい。しかしながら、MPCブロック60は、AO機能ブロック62およびPID機能ブロック64のリモートカスケード入力に制御入力与えることにより、PID機能ブロック64と関連するループの制御だけでなく、AO機能ブロック(および関連の装置)の制御を引き受けてよく、これにより、これらの機能ブロックは(自動モードの代わりに)リモートモードで動作するようになり、従って、自動入力のかわりにリモート入力で制御入力を用いて動作する。リモートモードで動作するとき、機能ブロック62、64は、それぞれPID機能ブロック72、74の入力を無視する。このように、MPCブロック60はブロック62、64に接続されてその制御を与えてもよいが、スイッチオン・オフしてもよい。MPC機能ブロック60により制御されていないときは、ブロック62、64は、単一ループ制御戦略に従って、それぞれブロック72、74により依然として制御されている。
【0031】
同様に、図5は、プロセス制御ルーチン内で接続されて単一ループルーチンを調整するMPC機能ブロック80を示す。特に、MPC機能ブロック80は、AI機能ブロック82、84からの制御されたパラメータ入力とAI機能ブロック86からの妨害パラメータ入力とを受け取る。MPC機能ブロック80は、操作された値と関連するAO機能ブロック90に制御出力を与え、制御ループ94内のPID機能ブロック92のカスケード入力(CAS IN)にセットポイント出力を与える。AO機能ブロック90およびPID機能ブロック92は、MPC機能ブロック80のバック(back)較正入力に、バック較正出力を与える。制御ループ94は、AI機能ブロック96も含み、AI機能ブロック96は、PID機能ブロック92の自動入力に制御パラメータ入力(すなわちプロセス出力)を与え、PID機能ブロック92ついで、例えば、異なる弁または装置と関連するAO機能ブロック98に制御出力を与える。AO機能ブロック98は、PID機能ブロック92のバック較正入力にフィードバックを与える。図5の構成において、MPC機能ブロック80は、AO機能ブロック90と関連する弁を直接制御し、そのループのセットポイントを操作することによりループ94の動作を制御する。しかしながら、ループ94は、MPC機能ブロック80が動作しているときに動作し続ける。そのようなものとして、MPC機能ブロック80は、AO機能ブロック98と関連する装置を間接的に制御するが、制御ループ94を直接制御する。当然、MPCブロックは他の所望の方法でプロセス制御ルーチン内で接続されて、制御装置または他の制御エレメントを直接的にまたは間接的に制御する。さらに、図形プログラミング技術または非図形プログラミング技術を含め、なんらかの技術を用いて制御ルーチンまたはモジュールが生じさせられてよい。
【0032】
このように、理解されるだろうが、図3においてMPC制御ブロック56の出力が接続されるプロセス入力X1―X3は、既存の制御戦略内で規定された制御ループへの入力、またはプロセスに接続された弁または他の装置への入力を含め、所望のプロセス入力であってよい。同様に、MPCブロック56の入力に接続されたプロセス出力Y1-Y3は、弁または他のセンサの出力、AO機能ブロックまたはAI機能ブロックの出力、または他の制御エレメントもしくは制御ルーチンの出力を含め、所望のプロセス出力であってよい。
【0033】
図2のステップ54を再び参照して、いったん、オペレータが、それぞれ所望のプロセス出力および入力に接続された入力および出力を有する初期のMPCブロックを含む制御モジュールを作成すると、初期のMPCブロックを有する制御モジュールは、コントローラ11またはワークステーション13のうちのひとつのような適切な装置にダウンロードされて、実行される。つぎに、ステップ99で、オペレータは、初期MPCブロックに、公知の方法でプロセスを励起し始めるように命令し、プロセスが励起されている間にプロセス入力データおよびプロセス出力データを収集するように命令する。
【0034】
図3に示されるように、初期MPCブロック56は、データ収集ルーチン100と、波形ジェネレータ101と、汎用制御論理102と、制御パラメータ103およびプロセスモデル104を記憶するための記憶装置とを含む。汎用論理102は、例えば、ある特定のインスタンスにおいて動作するか制御を実行することができるように係数または他の制御パラメータを必要とする汎用MPCルーチンであってよい。場合によっては、汎用論理102は、プロセスを制御するために、制御されているそのプロセスのためのプロセスモデルを必要としていてもよい。例えば、コントローラ11にダウンロードされた後、初期のMPCブロック56は、MPC作成ルーチン42によって、MPCブロック56の作成の次のフェーズを開始するように命令され、このフェーズにおいては、データは、プロセスモデルを作成する際に用いられるプロセス出力の各々のために収集される。特に、オペレータによりそうするように命令されたとき(または他の所望の時間で)、MPCブロック56の波形ジェネレータ101は、その出力OUT1―OUT3で一連の波形を生成し始め、これにより、プロセス入力X1― X3の各々に励起波形を与える。所望であれば、これらの波形は、ユーザワークステーション13内のソフトウェアにより波形ジェネレータ101に与えられてよいが、好ましくは、波形ジェネレータ101により作成される。波形ジェネレータ101により生成された波形は好ましくは、プロセスの通常動作の間に予測される異なる範囲の入力にわたってプロセスが動作するように設計される。MPC制御ルーチンのためのプロセスモデルを作成するために、波形ジェネレータ101は、プロセス入力X1―X3の各々に、一連の異なる組のパルスを送ってよく、パルスは組ごとに同じ振幅を有するが擬似ランダム長を有し、異なる組のパルスは異なる振幅を有する。 このような一連の組のパルスは、異なるプロセス入力X1―X3の各々のために作成され、ついで、1個ずつ、順次これらの入力の各々に送られてよい。この時間において、MPCブロック56内のデータ収集ユニット100は、波形ジェネレータ101により生成された波形の各々に対するプロセス出力Y1―Y3の応答を示すデータを収集するかまたはこのデータの収集を調整し、生成されている励起波形に関するデータを収集するかまたは収集を調整してもよい。このデータは、MPCブロック56内に記憶されてよいが、このましくは、データヒストリアン12に自動的に送られて記憶され、および/またはワークステーション13に送られて、ここでこのデータは、ディスプレイスクリーン14上に表示されてよい。
【0035】
このように、なんらかのアドバンスド制御論理(まだ完全には生成されていない)を用いてプロセス58を制御しようとするかわりに、MPCブロック56はまず、プロセス58に一組の励起波形を与え、これらの励起波形に対するプロセス58の応答を測定する。当然、波形ジェネレータ101により生成された励起波形は、アドバンスド制御ルーチンのための作成制御論理パラメータにとって有用なプロセスモデルを作成するために生じさせられた所望の波形であってよい。この例においては、波形ジェネレータ101は、モデル予測コントローラのためのプロセスモデルを作成するのに有用であると知られている一組の波形を生成し、これらの波形は、この目的のために、現在知られているかまたは将来において開発されるなんらかの形をとってよい。モデル予測制御のためのプロセスモデルを作成するべくデータを収集する目的でプロセスを励起するのに用いられる波形は周知であるので、ここでは詳細に述べない。同様に、ニューラルネットワーク、多変数ファジイ論理などの制御ルーチンのような他のアドバンスド制御(モデル化を含む)ルーチンのためのプロセスモデルを作成する際に用いられる波形ジェネレータ101により、他の種類のまたは所望の種類の波形が生成されてよい。
【0036】
尚、波形ジェネレータ101は、所望の形をとってよく、例えば、ハードウェア、ソフトウェアまたはその両方の組み合わせにおいて実行されてよい。ソフトウェアで実行される場合、波形ジェネレータ101は、所望の波形を生成するのに用いられるアルゴリズムを記憶してよいし、生成されるべき波形のディジタル表現を記憶してよいし、または他のルーチンまたは記憶されたデータを用いてそのような波形を作成してもよい。ハードウェアで実行されるときは、波形ジェネレータ101は、例えば、発振器または矩形波ジェネレータの形をとってもよい。所望であれば、オペレータは、プロセスのほぼ正確な応答時間、プロセス入力に送られるべき波形の振幅のステップサイズなどのような、波形を設計するのに必要なパラメータを入力するように頼まれるかもしれない。MPCブロック56が最初に作成されるかまたはオペレータがMPCブロック56にプロセスをアップセットするか励起し、プロセスデータを収集するのを開始するように命令するときに、この情報を得るためにオペレータは促されてよい。好ましい実施の形態において、データ収集ユニット100は、確実に完全かつ正確なプロセスモデルが作成されるように、オペレータが入力する応答時間の3倍かまたは5倍の時間において励起波形の各々に応答してデータを収集する(またはデータの収集を確実にする)。しかしながら、データが集められる時間量は任意である。
【0037】
いづれにせよ、MPCブロック56は好ましくは、波形ジェネレータ101がプロセス入力X1―X3の各々に対し必要な励起波形を全て送り終えてしまうまで、そしてデータ収集ユニット100がプロセス出力Y1―Y3のためのデータを収集してしまうまで、動作する。当然、MPCブロック56の動作は、このデータ収集プロセスの間に所望であればまたは必要であれば中断されてもよい。
【0038】
図6を参照して、制御論理生成ルーチン40によりディスプレイ14のうちのひとつの上にオペレータに提示可能なスクリーンディスプレイ118により、オペレータはアドバンスド制御ブロックを生成する異なるステップを実行できる。特に、スクリーンディスプレイ118は、データディスプレイ領域120と、アドバンスド制御ブロック生成ルーチン40の様々な部分を開始するのに用いられる3個のボタン122、123、124を含む。開始テストボタン122により、オペレータは、初期のMPCブロック56にプロセス58に励起信号を送らせて、データヒストリアン12に対し送る入力データおよび出力データを収集させる。ボタン122は、例えば、励起ルーチンを実行するために残っている時間、すなわちMPC制御ブロック56が励起波形の全てを生成してこれらの波形に応答して生成されたプロセスデータを収集するのにかかる時間を示す。ボタン122を押す前に、オペレータは、プロセスが入力に応答するのにかかる典型的な時間を示す応答時間を入力して、励起波形を生成するためにMPCブロック56により用いられるステップサイズを示すか指定してよく、このデータはMPCブロック56の波形ジェネレータ101に与えられてよい。ボタン122を押した後、MPCブロック56により収集されたデータはデータディスプレイ領域120上で表示されてもよく、所望であれば、ユーザは、プロセスモデルを作成するのに用いられてはいけないデータにフラグをつけてもよい。尚、データ収集ユニット100は、確実にこのデータをデータヒストリアン12または他の記憶装置に送られ記憶されることによりデータを収集してもよい。
【0039】
次に、図2に示されるように、ステップ125で、オペレータは、あるポイントで、プロセスモデル化ルーチン44を実行することによりMPCブロックを作成する次のフェーズを実行することを決定してよく、プロセスモデル化ルーチン44は、データヒストリアン12からの収集されたデータにアクセスして、公知のプロセスモデル生成ルーチンを実行して、収集されたデータからプロセスモデルを作成する。一般的に、オペレータは、図6のスクリーンディスプレイ上の生成制御ボタン123を選択することでこのフェーズを開始してよい。
【0040】
所望であれば、プロセス制御ルーチン44は、収集されたデータに関してデータふるい分けプロシージャを実行してもよい。このデータふるい分けプロシージャは、アウトライアー(outlier)の収集データ、および他の明らかなエラーデータを検査し、収集されたデータと関連する状態値および限界値のような、収集されたデータと関連する他の値を検査して、そのデータが不良または不適当な状態を有する機能ブロックにより生成されたものかどうか、そのデータが限界値にあったかどうか、そのデータが、機能ブロックまたは他のエレメントが不適当なモードであったときに生成されたものであるかどうか、またはそのデータが、異常なプロセス状況下または望ましくないプロセス状況下でなんらかの方法で生成されたものであるかどうか決定する。例えば、フィールドバス通信プロトコルにおいては、機能ブロックにより生成されたデータは、データヒストリアン12内にデータとともに記憶可能であり、データをふるいにかけるために用いられる状態、限界値、およびモード指標も含む。所望であれば、データふるい分けルーチンは、図6のデータディスプレイエリア120上でオペレータに収集されたデータを示してもよく、このルーチンによって、例えば、プロセス状況のオペレータの知識に基づいてこのデータを強調表示するかまたは識別することにより、オペレータは、ふるい落とされるすなわち除かれるべきデータに印を付けることができる。このように、プロセス58がオフラインであったとき、プロセス58が適切に制御されていなかったとき、プロセス58が修理中であったとき、プロセス58内のセンサまたは他の装置が故障していたか取りかえ中などにMPCブロック56により収集されたデータは、選別されて、プロセスモデルを作成するために用いられるべきデータから除かれてよい。
【0041】
図6に示されるように、ディスプレイ領域120内のトレンド(trend)は、トレンドプロットとしてMPC入力および出力を含むものとして表示されてよい。プロットは、これらの入力および出力の値に基づいて自動基準化される。また、表示されるプロットの部分の時間フレームは好ましくは、指定された応答時間の2倍であるだろう。スライダバー126を用いて、時間ウインドウは、過去2日のような以前の時間にさかのぼった値を示すように変更されてもよい。プラント動作上で良好なデータを収集できるように、自動化テスト機能を用いてもよい。開始テストボタン122を選択することにより、MPCブロックにより操作されるプロセス入力、指定された応答時間にわたって、MPCブロックにより操作されるプロセス入力は、擬似ランダムシーケンスにおける指定されたステップサイズにより衝突される(bumped)。また、開始テストボタン122が選択されたとき、データディスプレイ上の開始および終了分割バーは、自動化テストの開始および終了に印をつけるように自動的に設定され、MPCブロック56は、プロセス58に、励起波形のような出力信号の擬似ランダムシーケンスを与えることにより、操作された出力の制御を引き受ける。
【0042】
エリア120内の時間バーまたはデータウインドウは、プロセスモデルを作成するために用いられるデータを選択するのに用いられてもよい。オペレータは、分割バーのうちのひとつを選択して、それを所望の開始時間および終了時間にドラッグ(drag)して、プロセスモデルを識別するために考慮される時間フレームを変更する。開始バーおよび終了バー間の時間の一部が通常のプラント動作を表していなければ、ユーザまたはオペレータは、プロセスモデル識別プロセスの間に無視されるべきデータ値を選択するために時間のこの部分を捕らえる。これに応答して、選択された領域は、より暗い背景色で示され、プロセスモデルを作成するとときに自動的に除かれる。
【0043】
データをふるいにかけた後、プロセスモデルルーチン44は、選別されたデータからプロセスモデルを作成する。上で述べたように、プロセスモデル化ルーチン44は、所望のまたは公知のタイプのプロセスモデル化解析を行って、収集されふるいにかけられたデータからプロセスモデルを作成してよく、作成されたプロセスモデルは、数学アルゴリズム、一連の応答曲線などのような任意の形をとってよい。
【0044】
プロセスモデル化ルーチン44がプロセスモデルを決定する際に問題を有しているならば、その問題の指標は、図6に示されるようなユーザディスプレイの状態領域において反映されてもよい。ひとつの問題が示されているが、これは、プロセスモデルを識別するかまたは作成するのに十分なサンプルがないということである。 規定された構成のためには最低限XXX個のサンプルが必要であるとメッセージがでている。データファイルはXXX個のサンプルだけを含むだけであるというメッセージがこの問題をオペレータに知らせるために生成されてよい。検出されるおそれのある別の問題としては、プロセス入力について十分な励起が生じなかったということである。このような問題が生じたとき、この影響に対するメッセージ、TagX、TagYなどの信号タグ名を識別するもの、および励起量に対する最小変更をオペレータに与えることが出来る。
【0045】
所望の場合、そして、成功したモデルが識別されなかった状況では、ユーザは、プロセスモデル化が行われている期間の時間フレームを変更してもよいし、または、プロセスモデル化ルーチン44で用いられているデータが有効であるようにプロセス入力を変更してもよい。識別されるプロセスモデルは、後にアクセスできるように所望のデータベース内に自動的にセーブされてよい。熟練したユーザは、識別されたプロセスモデルを調べるか編集したいと思うだろう。図6のスクリーン上のアドバンスドボタン124を選択することにより、選択されたモデルおよび現在のMPC機能ブロック構成からMPCコントローラを生成することまたはMPC制御論理を作成するのに用いられるべき新たなモデルとしての結果として生じるモデルをセーブすることの選択肢を与えられる。生成コントローラオプションが選択されると、ユーザには、編集されているMPCモジュールにおけるMPCブロックのために前にセーブされたモデルをユーザが選択し得るダイアログが提示可能である。編集オプションを選択することにより、ユーザには、問題のMPCモジュールのために作成されたモデルのリストが提示可能である。モデルを選択した後、ユーザは、プロセスステップ応答のオーバービューを表示するスクリーンまたは、後に説明する他のスクリーンを見て、プロセスステップ応答を編集して新たなまたは変更されたモジュールを作成する。
【0046】
プロセスのあるポイントにおいて、論理パラメータ作成ルーチン46は、初期MPCブロック56の汎用論理102が必要なパラメータ(MPCブロック56内の変数内に記憶されるべき)を作成するために実行され、モデル予測制御を実行してよい。これらの制御パラメータは、例えば、MPC論理のための行列または他のMPC係数、チューニングパラメータ、ニューラルネットワークパラメータ(ニューラルネットワークのための)、倍率(多変数ファジイ論理のための)または他の所望のパラメータであってよく、通常は、生成されたプロセスモデルに基づいて決定される。論理パラメータ作成ルーチン46は、プロセスモデルからパラメータを作成するための所望のプロシージャまたは公知のプロシージャを実行してもよい。一般に、このプロセスは、行列フォーマットでプロセスモデルを反転することを伴う。しかしながら、他の所望の論理パラメータ作成ルーチンも用いることができる。プロセスのために収集されたデータからプロセスモデルを作成し、そのプロセスモデルからMPCパラメータまたは他の制御論理パラメータを生成する詳細は、当該技術で公知であるので、これらのプロシージャはさらにここでは述べない。尚、しかしながら、オペレータがMPCブロック56のための制御論理パラメータの作成に関するなんらかの入力を有してもよい。事実、オペレータは、MPCコントローラを作成するのに典型的には用いられるある変数の値を指定する能力を要求されるかまたは与えられてよい。例えば、オペレータが指定してよいのは、MPCブロックへの制約された入力の各々のセットポイントおよび限界値、制御変更を行うべき期間の時間フレーム、すなわち、セットポイント軌跡(trajectory)フィルタおよびこのフィルタと関連する時定数、MPC出力またはプロセス出力の最大の動きまたは最小の動き(速度限界値)、制御されたパラメータのいづれかが統合的に応答するかどうか、MPC最適ファクタ、MPC変数またはMPCチューニングパラメータ、MPC制御ブロックの水平線(horizon)、すなわち所望の状態になるように制御するために順方向計算のステップがいくつ実行されるべきであるか、MPCブロック56の入力および出力の各々に対するエンジニアリングユニット範囲、操作された変数目標値のうちのどれが、制約条件のうちのひとつが違反されたときに緩められることを許可されているかまたは実現されないか、MPCブロック入力および出力の各々の記述および/または名前、設定可能な最適変数の値、MPCブロックの積極性または頑強性に関する変数の値などである。所望であれば、制御論理生成ルーチン46は、これらの変数またはセッティングのいくぶんかまたは全てのデフォルト値を記憶し、これらのデフォルト値を用いてMPC論理を作成する。しかしながら、オペレータまたは他のユーザは、ユーザディスプレイ14を介してこれらのセッティングを変更することができる。
【0047】
いづれにせよ、MPC論理パラメータ作成ルーチン46はこの情報、および、MPC係数のようなMPC(または他の)制御論理パラメータを作成するのに必要な他の情報を用いて実行される。スクリーンディスプレイ118上の生成制御ボタン123は、プロセスモデルおよび制御論理パラメータの作成が成功したかどうかを示してよい。
【0048】
MPC制御論理パラメータが作成された後、図2のステップ128で、MPC制御論理パラメータまたはMPC係数がプロセスシミュレーションブロックを用いてテストされてもよい。このシミュレーションブロックは一般に、プロセスのために作成されたプロセスモデルから作成されてよく、ここで説明されるようにテスト環境内でMPCブロックに接続されて、作成されたMPC制御論理がプロセスの通常動作の範囲にわたって申し分なく動作するかどうかテストする。MPC論理が満足いくものでなければ、ステップ54、99、および125のいづれかまたは全てが繰り返されて異なるMPC制御論理を作成してよい。しかしながら、もしもMPC制御論理が満足いくものであれば、ステプ130で、MPC制御論理パラメータおよびプロセスモデルは、MPCブロック56にダウンロードされてパラメータ記憶装置103およびプロセスモデル記憶装置104内に記憶され、プロセス58を制御するのに用いられる。このように、MPC制御論理が必要なパラメータは、MPCブロック56に与えられ、そこに格納され、MPCブロック56は、MPC制御論理102にしたがってプロセス内で動作するかまたは制御を実際に実行するように委託される。当然、所望であれば、必要なパラメータと共に実際のMPC論理102はワークステーション13で作成されて、MPCブロック16にダウンロード可能である。
【0049】
いったん、コントローラ11によりダウンロードされ実行されると、MPCブロック56を有するMPCモジュールまたはループは、制御ルーチン内の他のブロックまたはエレメントと同じ方法で機能を報告することを行ってよい。なぜなら、上で述べたように、MPCブロック56およびこのブロックを含む制御モジュールは、プロセス制御システム10内の他の制御ブロックと同じプログラミングパラダイムを用いて設計されるからである。ある実施の形態においては、MPCブロックまたはモジュールは、それと関連する図形ビューを有してよく、これは、例えば、ワークステーション13のうちのひとつのうちのディスプレイスクリーン14のうちのひとつによって、ユーザまたはオペレータに表示可能であり、これらのビューは、MPC制御モジュール内のブロックと関連するデータを予約し、このデータを予め規定されたまたは指定された方法で表示する。
【0050】
図7を参照して、例えば、図1のプロセス制御システム10の一部分が示され、ディスプレイ14Aおよび14Bと装置15−22とに通信リンク(具体的には示されていない)を介して結合されたコントローラ11をふくんでいる。コントローラ11内で、MPCモジュール132は、一組のAI機能ブロックから入力を受け取り、一組のAO機能ブロックに出力を与えるAPC機能ブロックを有するものとして示され、単一のループ制御ルーチン134は、AO機能ブロックを制御するために、AI機能ブロックからの入力を受け取るPIDブロックを含むものとして示される。
【0051】
オペレータのビューおよびエンジニアのビューのような、これら2個の制御モジュールの動作の異なるビューが、ディスプレイスクリーン14Aおよび14B上で図形で示される。特に、ディスプレイスクリーン14A上のエンジニアのビューは、エンジニアがこれらのループに関する情報にアクセスしてこれらのループを操作できるように作成されるループ134の図形表現だけでなくループ132の動作の図形表現も含む。同様に、ループ134の図形表現だけでなくループ132の動作の図形表現を有するオペレータのビューがディスプレイスクリーン14B上に与えられ、これにより、オペレータは、これらのループに関する情報にアクセスし、これらのループを操作できる。しかしながら、オペレータのビュー内で与えられた情報は、エンジニアのビュー内の情報とは異なっていてよく、ループ132、134と対話するようにこれらのビューにより与えられたケイパビリティは異なっていてよい。例えば、オペレータのビューは、オペレータがセットポイントを変更して、制限された機能を実行するこのとができるようにするだけであり、エンジニアのビューは、ユーザが、ユーザがループのセットアップに対し変更を加えたり、機能ブロック内のプログラミングに変更を加えることができるようにする。
【0052】
これらの異なるビューは、「プロセス制御プログラミングのための均一制御テンプレート生成システムおよび方法"Uniform Control Template Generating System and Method for Process Control Programming"」と題されたBlevinsへの米国特許第5、594、858号(本明細書において引用により援用される)で述べられるテンプレートに対して開示されたものと類似の方法で機能ブロックと関連して作成されてよい。しかしながら、これらのブロックを用いて作成されるMPCブロックおよびモジュールは、プロセス制御システム10内の他のブロック、ルーチンまたはエレメントとして同じ種類の図形支援または報告支援を与えることができ、なぜなら、これは、MPCブロックが他の制御ブロックと同じプログラミング戦略を用いてオンラインで作成されたからであるということを理解されたい。この機能により、オペレータ、技術者、エンジニアなどがMPC制御モジュールまたはMPCブロック内で起こっているものを見れるよう特別なプログラミングを与える必要がなくなる。
【0053】
所望であれば、MPCモジュール132は、予め規定されたビューまたはディスプレイによって、ユーザに所望の情報を報告してもよいし、ユーザまたはオペレータが所望の行為を行えるようにしてもよい。例えば、ユーザにはあるスクリーンが与えられ、これは、MPCモジュール132により生成されたまたはそれと関連する警報(アラーム)を示し、制御されたパラメータ、制約されたパラメータ、および妨害パラメータ(制御されたパラメータおよび制約されたパラメータの計画された値を示してよい)のプロットを与え、ユーザまたはオペレータが、例えば、モードパラメータ(MPCモジュール132が例えばフィールドバスプロトコルを用いて作成されるとき)を用いてMPCモジュール132の実行を制御できるようにし、セットポイント、制約条件、および制御された入出力または制約された入出力の値を数値的にまたはバーグラフで示し、MPCセットポイントまたはMPC目標値を変更できるようにし、例えば、入力が不良であるのか、不確実であるのかまたは制限されているかを示すためにMPC入力の状態を示し、または他の所望のデータを示すか所望の機能を行うものである。
【0054】
MPC制御モジュール内のMPCブロックにMPC制御論理をダウンロードすることに加えて、図2のステップ135で、作成された論理を有するMPC論理またはMPCブロックは、例えば、MPC制御ブロックの使用方法をユーザに訓練し、MPCブロックをテストするために、ひとつ以上のシミュレーション環境で用いるためにワークステーションに送られてもよい。このようなシミュレーション環境は、1999年5月6日に出願された「単一コンピュータ上で分散プロセス制御システム機能性を統合すること"(Integrating Distributed Process Control System Functionality on a Single Computer)"」と題された米国仮出願番号60/132,780に詳細に記載されるシステムを用いて与えられてよいが、この仮出願は、本発明の譲受人に譲渡され、その開示を本明細書において引用により援用される。さて、図8を参照して、シミュレーション構成149は、シミュレーション環境において、作成されてプロセスシミュレーションブロック152に接続されたMPCブロック150を含む。シミュレーション構成149は、図2のステップ128で、例えば、完成したMPCブロックをテストするのに用いられて、そのために作成されたプロセスを十分に制御するかどうか決定してもよいし、または、図2のステップ135で、例えば、MPCブロックを用いて訓練または他のテスト環境を与えるのに用いられてもよい。図8のMPCブロック150は3個の入力IN1−IN3と3個の出力OUT1−OUT3とを有するものとして示され、3個入力X1−X3と3個の出力Y1―Y3とを有するシミュレーションブロック152に接続され、出力Y1―Y3は、MPCブロック150の入力IN1−IN3にそれぞれ接続される。シミュレーションブロック152は、図8のブロック154により示されるように、図2のステップ125で作成されたプロセスモデルを用いてそれのためのMPCブロック150が作成されたプロセスをシミュレートしてもよい。この場合、図2のステップ125で作成されたプロセスモデルはシミュレーションブロック152内に記憶されて、そのプロセスモデルとMPCブロック150から受け取った入力とに基づいて、プロセスの応答をシミュレートするのに用いられてよい。代替的には、シミュレーションブロック152は、図8のブロック156により示されるように、ステップ152で生成されたプロセスモデルに対して変更されるプロセスモデルから作成されてもよい。この場合、ステップ125で作成されたプロセスモデルは、例えば、プロセスになされた物理的な変更、プロセス内の機器のエージングなどにより引き起こされたプロセスに対する変更をシミュレートするために変更されてよい。所望であれば、図2のブロック125で作成されたプロセスモデルは、このブロックが最初にMPCブロック150を作成するのに用いられるプロセスと一致しないプロセスを制御するのに用いられるときに、MPCブロック150の動作をテストするために様々な方法で変更されてよい。このように、所望であれば、ブロック156が与えた変更されたプロセスモデルは、シミュレーションブロック152内で用いられて、プロセスが変化したりMPC制御論理に一致しないときにMPCブロックが与える制御の範囲を決定し、これにより、ユーザは、長期間にわたって動作するかまたはプロセス変化が生じたプロセスを制御するのに良好なMPCブロックを設計することができる。
【0055】
変更されたプロセスを生成するには、ユーザまたはオペレータはルーチンを実行し、ステップ125で作成されたプロセスモデルまたは、5x5MPCブロック150のために図9のスクリーンに示されるもののような、関連するプロセス入力/出力応答曲線の組を見て、これらの応答曲線のうちの変更すべきひとつを選択する。選択された応答曲線(オーバーヘッド%C3H6対リボイラーオイル流量と示される)はさらに、図10に示されるようなさらなるスクリーンによって表示されるか操作されてよい。図10に示されるように、ユーザまたはオペレータは、応答曲線をインポート(取り入れ)するか消去し、FIR応答を加え、不動作時間およびゲインなどの応答パラメータを変更し、新たなスタートポイントまたは終了ポイントを選択し、曲線のポイントの値を変更し、曲線に対し様々な勾配をつけ、曲線をスケールして、それにより、変更された応答曲線、したがって、変更されたプロセスモデルを作成する。当然、ユーザまたはオペレータは、他の方法でプロセスモデルを部分的に変更(修正)するか変更する。ユーザは、プロセスモデル150を作成するか編集してもよく、このようなモデルからプロセスシミュレーションブロックまたはエレメント152を作成してもよく、プロセスシミュレーションブロック152をMPCブロック150に通信可能に接続してもよく、左手のプロセッサ13において、または他の所望のシミュレーション環境においてもしくはプロセス環境において、図1に示されるルーチン153のようなルーチンを用いて、接続されたループを実行してもよい。
【0056】
さて図11を参照して、実際のプロセス174に接続されたMPCブロック172を有するものとしてさらなる制御ループ170が示される。この場合、MPCブロック172の3個の出力OUT1−OUT3は、プロセス174のために作成されたプロセスモデル178に基づいたシミュレートされたプロセスブロック176の3個の入力X1SIM―X3SIMだけでなくプロセス174の3個のプロセス入力X1―X3に接続されされる。この構成においては、MPCブロック172は、実行時間においてプロセス174を制御し、シミュレートされたプロセスブロック176も制御するが、このブロック176は、例えば、図1のワークステーション13のうちのひとつにおいてまたは他のコントローラもしくは装置において実行されてよく、シミュレートされた出力Y1SIM―Y3SIMを生成する。このようなシステムにおいては、シミュレートされたプロセスブロック176の出力Y1SIM―Y3SIMと、実際のプロセス174の出力Y1―Y3とは比較され、プロセス出力Y1―Y3がシミュレートされた出力Y1SIM―Y3SIMとは非常に異なるかどうか、したがって、実際のプロセス174とMPCブロック172がそこからが作成されたプロセスモデル178とに間に不一致があるかどうか決定する。不一致がある場合、別のMPCブロック172を作成するかまたはプロセス174を制御する際にMPCブロック172が用いる論理パラメータまたはモデルを再生する必要がある。
【0057】
また、もしも何らかの理由でプロセス174の出力Y1―Y3のうちのひとつが、例えば、この出力を測定するセンサの誤動作が原因でエラーになった場合、シミュレートされたプロセスブロック176からの対応するシミュレートされた出力は、図11の点線で示されるようにMPCブロック172の適切な入力に与えられてよく、これにより、故障したセンサまたは装置が取りかえられるか修理されるまで、MPCブロック172は実際のプロセス174の良好な制御を与えることができる。このようにして、実際のプロセス出力の各々のために、仮想プロセス出力が、シミュレートされたプロセスブロック176により作成されてよいし、これらの仮想出力のうちのひとつ以上は、対応する実際のプロセス出力に欠陥があるかまたは使用できないときにMPCブロック172への入力として使用されてよい。例えば、深夜に、プロセス出力Y1―Y3のうちのひとつを測定するセンサが誤動作した場合、ユーザまたはオペレータは、修理者が故障したセンサを取りかえるか修理する次の日まで、MPCブロック172がプロセス174の十分な制御を与えることができるように、MPCブロック172の適切な入力に対応する仮想出力を単に接続すればよい。シミュレートされたプロセスブロック176は、実際のプロセス174が実行されている間中実行可能であり、シミュレートされたプロセスブロック176が現実的な仮想出力を生成することができるように全て同じ入力が設けられている。当然、他のシミュレーションシナリオが実行されて、MPCブロック150または172の作成と関連して作成されたプロセスモデルを用いることができるし、 またはMPCブロック150または172の作成と関連して作成されたプロセスモデルの変形例として作成されたプロセスモデルを用いることもできる。
【0058】
必要な制御論理パラメータおよびそのためのプロセスモデルがない場合にMPC制御ブロックを作成して、このブロックを、他の制御ブロックまたはエレメントがシステム内で接続される方法と同様の方法でプロセス制御システム内で接続し、MPC制御ブロックを実行してプロセスデータを収集し、プロセスデータからプロセスモデルを作成し、プロセスモデルからMPCブロックのための論理パラメータを作成し、論理パラメータをロードし、そして必要であれば、プロセスモデルをMPC制御ブロック内にダウンロードすることにより、オフラインになる必要もなく、MPC制御ルーチンがどのように作成されなければならないかについて多くを知る必要もなく、プロセスモデルを生成するために波形を作成するよう多大な技術的処理を行う必要もなく、制御ルーチンを再プログラムしてモデル予測制御または他のアドバンスド制御を実行する必要もなく、ユーザはプロセス制御ルーチン内でMPC制御ブロックまたはMPCモジュールを作成できる。その結果、この方法は時間および費用を節約し、プロセス制御環境内で仮想プロセス出力のシミュレーションおよび生成のためなど他の目的のために、作成されたプロセスモデルを用いる。
【0059】
理解されるだろうが、ここで述べてきたMPCルーチンまたはアドバンスド制御論理生成ルーチンおよび方法により、ユーザは、MPC制御ブロック、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロックなどのアドバンスド制御ブロックが作成される方法について多大な専門的知識を必要とせず、これらのブロックを作成することが可能であり、オペレータは、アドバンスド制御を実行するために多大なプロセス再プログラミングを実行することもなくアドバンスド制御ブロックを作成して用いることができる。アドバンスド制御ブロックは、システム内の他の制御エレメントと同じプログラミングパラダイムを用いて作成されるので、ユーザは、プロセスの一貫したビュー、またはアドバンスド制御ブロックを有するプロセスの図形表示が与えられる。さらに、プロセスモデルは、例えば、MPC機能ブロックのために作成される必要があるので、このプロセスモデルは、テスト、訓練、プロセス/プロセスモデル不一致を検出すること、またはプロセスを制御する際に用いられるプロセスの仮想出力を生成することなどの他の目的のためにプロセスをシミュレートするのに用いることが出来るシミュレーション機能ブロックを生成するのに用いることができる。
【0060】
アドバンスド制御ブロック、プロセスシミュレーションブロック、ならびに関連の生成ルーチンおよびテストルーチンは、ここではフィールドバス装置および標準の4−20ミリアンペアの装置と関連して用いられると説明したが、当然、他のプロセス制御通信プロトコルまたはプログラミング環境を用いて実行されてよく、他の種類の装置、機能ブロックまたはコントローラとともに用いられてよい。さらに、ここで「機能ブロック」という表現を用いているのは、フィールドバスプロトコルまたはデルタVコントローラプロトコルが機能ブロックとして識別するものに限定されず、なんらかのプロセス制御機能を実行するのに用いられる任意のタイプの制御システムおよび/または通信プロトコルと関連する他のタイプのブロック、プログラム、ハードウェア、ファームウェアなどを含む。また、機能ブロックは典型的には、オブジェクト志向プログラミング環境内でオブジェクトの形をとっているが、その必要がない場合もある。
【0061】
アドバンスド制御ブロック、プロセスシミュレーションブロック、ならびに関連の生成ルーチンおよびテストルーチンは、好ましくはソフトウェアで実行されるが、ハードウェア、ファームウェアなどで実行されてもよく、プロセス制御システムと関連する他のプロセッサにより実行されてよい。このように、ここで述べるルーチン40は、所望であれば、標準的な多目的CPUにおいて、または例えば、ASICのような特殊設計されたハードウェアもしくはファームウェア上で実行されてよい。ソフトウェアで実行するならば、ソフトウェアは、コンピュータまたはプロセッサなどのRAMまたはROM内で磁気ディスク、レーザディスク、光ディスク、または他の何らかの記憶媒体上のような、コンピュータ読取り可能なメモリ内に記憶されてもよい。同様に、このソフトウェアは、例えば、コンピュータ読取り可能なディスクまたは他の可搬コンピュータ記憶メカニズム上でのものを含む公知のまたは所望の送り方法によりユーザまたはプロセス制御システムに送られてもよいし、電話回線、インターネットなどのような通信チャンネル上で変調されてもよい(同じものであるとして見られるかまたは可搬の記憶媒体によりこのようなソフトウェアを与えることと交換可能である)。
【0062】
本発明は、具体例を参照して説明されたが、これらは、あくまでも例示的であり、本発明を限定するものではなく、本発明の精神および範囲を逸脱することなく、開示された実施の形態に、変更、追加、およびまたは消去を加えてよいことは当業者には明らかである。
【符号の説明】
【0063】
58 プロセス
56 アドバンスド制御ブロック
102 制御論理
101 波形ジェネレータ
104 プロセスモデル
【技術分野】
【0001】
本発明は一般にプロセス制御システムに関し、より特定的には、プロセス制御システムにおいて、モデル予測制御ブロックおよびニューラルネットワーク制御ブロックのようなアドバンスド制御ブロックを用いることに関する。
【背景技術】
【0002】
化学プロセス、石油プロセス、または他のプロセスで用いられるシステムのように、分散プロセス制御システムまたはスケーラブルプロセス制御システムのようなプロセス制御システムは、典型的には、アナログバス、ディジタルバスまたは組み合わされたアナログ/ディジタルバスを介して、少なくともひとつのホストワークステーションまたはオペレータワークステーションとひとつ以上のフィールド装置とに互いに通信可能に結合されたひとつ以上のプロセスコントローラを含む。例えば、弁、弁ポジショナ、スイッチおよび送信器(例えば、温度センサ、圧力センサ、および流量センサ)であってよいフィールド装置は、弁の開閉およびプロセスパラメータの測定のようなプロセス内の機能を実行する。プロセスコントローラは、フィールド装置が測定を行ったプロセス測定値、および/またはフィールド装置に関する他の情報を示す信号を受信し、この情報を用いて制御ルーチンを実行し、次いで制御信号を生成し、この制御信号は、プロセスの動作を制御するべく、バスによってフィールド装置に送られる。フィールド装置およびコントローラからの情報は典型的には、オペレータワークステーションにより実行されるひとつ以上のアプリケーションに利用可能であり、これにより、オペレータは、プロセスの現状を見たり、プロセスの動作を修正したりするような、プロセスに対して所望の機能を実行することができる。
【0003】
今まで、従来のフィールド装置は、アナログバスまたはアナログ線を介して、プロセスコントローラとの間でアナログ(例えば4ミリアンペアから20ミリアンペア)信号を送受信するのに用いられていた。これらの4ミリアンペアから20ミリアンペアの信号は、装置が測定した測定値または装置の動作を制御するために必要なコントローラが生成した制御信号を示すという点で事実上制限があった。しかしながら、過去10年ぐらいで、マイクロプロセッサ およびメモリを含むスマート(賢い)フィールド装置はプロセス制御産業において普及した。プロセス内で一次的な機能を実行するだけでなく、スマートフィールド装置は、装置に関するデータを記憶し、ディジタルフォーマットでまたは組み合わされたディジタルおよびアナログフォーマットでコントローラおよび/または他の装置と通信を行い、自己較正、識別、診断などの二次的なタスクを行う。HART(登録商標)、PROFIBUS(登録商標)、WORDFIP(登録商標)、Device−Net(登録商標)、およびCANプロトコルのような多くの標準的通信プロトコルおよびオープンスマート装置通信プロトコルは、様々な製造者が製造したスマートフィールド装置を同じプロセス制御ネットワーク内で一緒に用いることが出来るように開発された。
【0004】
さらに、プロセス制御産業内では、プロセス制御機能を非集中化しようとする動きがある。例えば、ファウンデーション(商標)フィールドバス(以下フィールドバス)プロトコルとして知られているフィールドバスファウンデーションにより広められた全ディジタル、2線式バスプロトコルは、様々なフィールド装置内に位置する機能ブロックを用いて、集中化コントローラ内で前に実行された制御動作を実行する。特に、各フィールドバスフィールド装置は、ひとつ以上の機能ブロックを含み実行することが可能であり、この機能ブロックの各々は他の機能ブロック(同じ装置内でまたは異なる装置内で)との間で入出力動作を行い、プロセスパラメータを測定したり、検出したり、比例・積分・微分(PID)制御ルーチンを実行するように装置を制御したり制御動作を実行したりするような何らかのプロセス制御動作を行う。プロセス制御システム内の様々な機能ブロックは、(例えばバスによって)互いと通信を行いひとつ以上のプロセス制御ループを形成するように構成され、その個々の動作はプロセス中に広がり、従って、分散化(非集中化)される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
プロセスコントローラは典型的には、流量制御ループ、温度制御ループ、圧力制御ループなどのような、あるプロセスのために規定されるかまたはそこに含まれる多くの異なる制御ループの各々のために、異なるアルゴリズム、サブルーチンまたは制御ループ(これらは全て制御ルーチンである)を実行するようにプログラムされる。一般的に、このような各制御ループは、アナログ入力(AI)機能ブロックのようなひとつ以上の入力ブロック、比例・積分・微分(PID)機能ブロックまたはファジィ論理制御機能ブロックのような単一出力制御ブロック、およびアナログ出力(AO)機能ブロックのような単一出力ブロックを含む。これらの制御ループは典型的には、単一入力/単一出力制御を実行する。なぜなら制御ブロックは、弁位置などのような単一のプロセス入力を制御するのに用いられる単一の出力を作成するからである。しかしながら、場合によっては、多くの独立して動作する単一入力/単一出力制御ループを用いることはあまり有効ではない。なぜなら、制御されているプロセス変数は1個を上回るプロセス入力により生じさせられているからであり、事実、各プロセス入力は多くのプロセス出力をもたらしてよい。この例としては、例えば、2本の入力ラインにより充填され、単一の出力ライン(各ラインは異なる弁により制御される)により空にされるタンクを有するプロセスを挙げられるが、この場合は、タンクの温度、圧力、スループットは所望の値になるようにまたはそれに近似するように制御される。上でのべたように、タンクのスループット、温度、および圧力の制御は、別個のスループット制御ループ、別個の温度制御ループおよび別個の圧力制御ループを用いて実行されてもよい。しかしながら、この状況では、タンク内の温度を制御すべく入力弁のうちのひとつの設定を変更する際の温度制御ループの動作は、タンク内の圧力を増大させ、これにより、例えば、圧力ループに出力弁を開放させて圧力を下げるようにする。この動作は次いで、スループット制御ループに入力弁のうちのひとつを閉じさせ、これによりその温度をもたらし、温度制御ループに何らかの他の動作を行わせる。この例において理解されるように、単一入力/単一出力制御ループにより、プロセス出力(この場合、スループット、温度および圧力)は、安定した状態に達することなく発振することとなり、これは望ましくない。
【0006】
モデル予測制御または他の種類のアドバンスド制御は、従来、これらの状況において制御を行うのに用いられてきた。一般的に、モデル予測制御は多入力/多出力制御戦略であり、この戦略においては、多くのプロセス入力の各々を変更したことによる多くのプロセス出力の各々に対する影響が測定され、これらの測定された応答はついでプロセスのモデルを作成するのに用いられる。プロセスのモデルは数学的に反転され、ついで、多入力/多出力コントローラとして、プロセス入力に行われた変更に基づいてプロセス出力を制御するのに用いられる。場合によっては、プロセスモデルは、プロセス入力の各々に対するプロセス出力応答曲線を含み、これらの曲線は、プロセス入力の各々に送られる、一連の、例えば、擬似ランダムステップ変更に基づいて作成されてよい。これらの応答曲線は公知の態様でプロセスをモデル化するのに用いることができる。モデル予測制御は当該技術で公知であり、従って、ここでは具体的には述べない。モデル予測制御は、Qin, S, Joeおよび Thomas Badgwellによる1996年のAIChE Conferenceの「工業モデル予測制御技術の概要("An Overview of Industrial Model Predictive Control Technology")」に記載される。
【0007】
従来、モデル予測コントローラを作成してプロセス制御ネットワーク内にそのコントローラを配置するには、多大な時間と努力が必要であり、非常に費用がかかった。通常、ある特定のプロセスのためのモデル予測コントローラを作成するために、プロセスエキスパート(典型的には外部のコンサルタント)がプラントに来て、プラントまたはプロセス動作を観察するように雇われていた。モデル予測コントローラのための適切なプロセス入力および出力を選択した後、エキスパートは制御室に座り、オペレータに、選択されたプロセス入力の各々に対し、一連の段状の入力波形を送るように命令し、選択されたプロセス出力の各々に対するこれらの入力の各々の影響を測定するように命令した。プロセスデータを全て収集した後、エキスパートは、収集されたデータをオフラインシステムに送った。そこで、エキスパートは、第1のルーチンを実行させて、プロセスが通常に動作していなかったとか、遮断されたとか、なんらかの他のエラーが存在していてそのために収集されたデータがプロセスの通常動作を表現できなかったときに収集されたデータのような不良データを除く目的で、収集されたデータをふるいにかけた。オフラインシステムはついで、ふるいにかけられたデータを用いて第2のルーチンを実行させ、プロセスのモデルを作成する。その後、プロセスのためのモデル予測コントローラを作成するため、公知の態様でプロセスのモデルは反転されるか用いられた。いったんモデル予測コントローラが作成されると、それはプロセス制御システム内に挿入されなければならなかったが、これは、制御を行なうために、プロセスエンジニアがもうすでに制御システム内で制御ルーチンをプログラムして、モデル予測コントローラに指定されたコントローラ入力(すなわちプロセス出力)の各々を送り、モデル予測コントローラにコントローラ出力(すなわちプロセス入力)の各々を制御システム内の適切な場所に送らせなければならなかったということである。プロセス制御ルーチンまたはシステムで用いられるモデル予測コントローラ入力および出力に対して同じ名前を使用する売り手もいるが、場合によっては、プロセス制御システム内で規定される通り、モデル予測コントローラの入力および出力をプロセス出力および入力に一致させることが必要であった。いづれにせよ、プロセス制御システム内にモデル予測コントローラを組み込むステップには多大なプログラミングの努力を必要としていただろう。
【0008】
結果、当該技術で公知ではあるが、収集されたデータからプロセスモデルを作成したり、モデル予測コントローラを作成したり、このコントローラをプロセス内に組み込んだりするのは時間がかかり、エキスパートの入力が必要であり、非常に費用がかかるものである。事実、プロセスのための単一のモデル予測コントローラを作成するには数ヶ月の月日がかかり、数千万円ぐらいかかるだろう。プロセスオペレータにとって残念なことに、プロセス機器のエージング(経年変化)により生じる変化のようなプロセスの変化は、プロセスにとって、作成されたモデル予測コントローラが時代遅れであり、一致しないものであることを強いることになり、これは、別のモデル予測コントローラを作成するために再度プロセス全体を実行させなければならないことを意味する。
【0009】
さらに、モデル予測コントローラは典型的にはオフラインシステムにより作成されたので、このコントローラは一般的に、制御システムにより実行される単一のループまたは他の制御ルーチンと同じ方法でプロセス制御システム内に統合されなかった。従って、ユーザまたはオペレータがモデル予測コントローラの状態および動作を見れるように特別な図形を作成する必要があった。この理由のために、コントローラ内で制御ブロックまたは制御ループの動作と統合されるプロセス制御表示機構を有するフィッシャー・ローズマウント・システムズ(Fisher Rosemount Systems Inc)が販売しているデルタV(商標)のようなプロセス制御システム内にモデル予測コントローラを組み込むことは難しかった。事実、デルタVシステムは、ユーザに、プロセスの動作を表示するエンジニアのビュー、オペレータのビューなどのような様々なビューを与える。いったんセットアップされると、これらのビューは、例えば、プロセスコントローラ内で実行される機能ブロックの動作により自動的に更新される。しかしながら、異なるシステムによりオフラインで設計されたモデル予測コントローラのためにビューまたは他の情報スクリーンを加えるには、デルタVシステムが用いるフォーマットとは典型的には異なるフォーマットで、特別の図形表示を作成しなければならなかった。
【0010】
これらの問題はモデル予測コントローラに対して存在したが、ニューラルネットワークモデル化システムまたはニューラルネットワーク制御システム、多変数ファジィ論理コントローラ、リアルタイムオプティマイザ(optimizer)などのような、他のアドバンスド多入力/多出力制御ブロックまたはシステムの開発および使用においても、同じまたは類似の問題が存在する。
【課題を解決するための手段】
【0011】
本発明のある態様によれば、アドバンスド(advanced)制御ブロックは、フィールドバスパラダイム(paradigm) のような制御パラダイムを用いて実行される制御ブロックと統合される方法で、プロセス制御システム内で、モデル予測制御、ニューラルネットワークモデル化またはニューラルネットワーク制御などのような多入力/多出力制御を実行する。アドバンスド制御ブロックは、それぞれプロセス出力およびプロセス入力に接続されてプロセスを制御するための所望の入力および出力を有する制御ブロックを作成することにより開始されてよい。制御ブロックは、最終的には、例えば完全なモデル予測コントローラを含むものであるが、最初は、データ収集ルーチンと、それと関連する波形ジェネレータとを有する。所望であれば、制御ブロックは、チューニングされていないかまたはそうでなければ未成の制御論理を有してよい。なぜなら、この論理はミッシングチューニングパラメータであるか、実行する必要のある行列係数かまたは他の制御パラメータであるからだ。制御ブロックは、もしもアドバンスド制御ブロックがプロセスを制御するのに使用されているとしたら、規定された入力および出力が接続されるだろうというような方法で、これらの入力および出力が制御システム内で通信可能に結合された状態で、プロセス制御システム内に配置される。 テストプロシージャの間、制御ブロックは体系的に、プロセスモデルを作成する際に用いられるように特殊設計された波形ジェネレータにより生成された波形を用いて、制御ブロックを出力を介してプロセス入力の各々をアップセットする。ついで、制御ブロック入力を介して、制御ブロックは、プロセス入力の各々に送られた生成された波形の各々に対するプロセス出力の各々の応答に関するデータを収集することを調整する。このデータは、例えば、データヒストリアン(data historian)に送られて記憶されてよい。
【0012】
十分なデータが収集された後、プロセスモデル化プロシージャは実行され、プロセスモデルは、例えば、モデル予測コントローラプロセスモデル生成ルーチンを用いて、収集されたデータから生成される。その後、アドバンスド制御ブロック論理パラメータ決定ルーチンを用いて、プロセスを制御するのに用いられるべき制御論理が必要なパラメータを作成するか生じさせる。制御論理パラメータ、そして必要ならば、プロセスモデルは、次いで、アドバンスド制御論理パラメータおよびプロセスモデルを有するアドバンスド制御ブロックを用いてプロセスを制御できるように、制御ブロックにダウンロードされてアドバンスド制御ブロックの形成を完成させる。
【0013】
アドバンスド制御ブロックは、プロセス制御システム内の他の制御ブロックと同じフォーマットでまたは同じプログラミングパラダイムに従って設計することができ、従って、プロセス制御ルーチン内で他のブロック(またはエレメント)により支援される同じ図形ビューを支援することができる。このように、アドバンスド制御ブロックは、ひとり以上のユーザに表示されるべきひとつ以上の図形ビューを有してもよく、アドバンスド制御ブロックの動作の間にこれらのビューにデータを送ってもよい。
【0014】
さらに、プロセスモデル化プロシージャにより生成されたプロセスモデルは、プロセスの動作をシミュレートする、および/または、プロセスおよびアドバンスド制御ブロックの対話をシミュレートするのに用いられてよい。ある場合においては、プロセスシミュレーションブロックは、決定されたプロセスモデルから作成されてよく、このプロセスシミュレーションブロックは、アドバンスド制御ブロックを用いて実際のプロセスを制御する前に、作成されたアドバンスド制御ブロックに通信可能に結合されて、アドバンスド制御ブロックの動作をテストする。別の場合においては、プロセスシミュレーションブロックは、プロセス内のエージングまたは他の変化を反映するために、決定されたプロセスモデルの変更バージョンを用いて作成されてよい。このシミュレーションブロックは、アドバンスド制御ブロックに通信可能に接続されて、プロセスに変更がある状態でアドバンスド制御ブロックの動作をシミュレートし、これによりプロセスモデルの不一致が存在している場合において、アドバンスド制御ブロックの実行を決定する。さらに別の場合においては、プロセスモデルから作成されたシミュレーションブロックは、プロセスと関連して実行されてよく、例えば、実際のプロセス出力のうちのひとつを測定するセンサが故障したとき、アドバンスド制御ブロックのための入力として用いられるべき仮想プロセス出力を作成するのに用いられてよい。シミュレートされたプロセス出力は、実際のプロセス出力と比較されて、プロセスと、アドバンスド制御ブロックを作成するのに用いられるプロセスモデルとの間の不一致、すなわち、プロセス/プロセスモデル不一致の量を決定してよい。
【図面の簡単な説明】
【0015】
【図1】アドバンスド制御ブロックを作成して用いることのできるプロセス制御システムのブロック/概略図である。
【図2】図1のプロセス制御システム内のアドバンスド制御ブロックの動作および作成を示すフローチャートである。
【図3】プロセス制御ルーチン内で接続されてプロセスを制御するモデル予測制御ブロックのブロック図である。
【図4】Aは、プロセス制御ルーチン内の機能ブロックに接続されて既存の制御戦略を調整するモデル予測制御機能ブロックのブロック図である。
【0016】
Bは、プロセス制御ルーチン内の機能ブロックに接続されて既存の制御戦略を調整するモデル予測制御機能ブロックのブロック図である。
【図5】プロセス制御ルーチン内の機能ブロックに接続されて単一ループ制御ルーチンを調整するモデル予測制御機能ブロックのブロック図である
【図6】アドバンスド制御ブロックを作成するのに用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図7】図1のプロセス制御システムの部分のブロック/概略図であり、アドバンスド制御ブロックと関連する図形ビューを用いることを示す図である。
【図8】プロセスシミュレーションブロックに接続されたモデル予測制御ブロックのブロック図である。
【図9】アドバンスド制御ブロックを作成するかまたはプロセスシミュレーションブロックを作成するために用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図10】アドバンスド制御ブロックを作成するかまたはプロセスシミュレーションブロックを作成するために用いられるプロセスモデル化ツールにより生成されたスクリーンディスプレイの例を示す図である。
【図11】プロセスと、プロセスの動作をシミュレートして仮想プロセス出力を生成するプロセスシミュレーションブロックとに接続されたモデル予測制御ブロックのブロック図である。
【発明を実施するための形態】
【0017】
さて図1を参照して、プロセス制御システム10は、データヒストリアン(data historian) 12と、各々がディスプレイスクリーン14を有する、ひとつ以上のホストワークステーションまたはコンピュータ13(任意の種類のパソコン、ワークステーションなどであってよい)とに接続されたプロセスコントローラ11を含む。コントローラ11は、入力/出力(I/O)カード26、28を介してフィールド装置15―22にも接続される。データヒストリアン12は、データを記憶するための所望の種類のメモリおよび所望のまたは公知のソフトウェア、ハードウェア、またはファームウェアを有する所望の種類のデータ収集ユニットであってよく、ワークステーション13のうちのひとつとは別個(図1に示されるように)であってもよく、その一部であってもよい。コントローラ11は、例えば、フィッシャー・ローズマウント・システムズ(Fisher Rosemount Systems,Inc)により販売されるDeltaV(登録商標)コントローラであるが、例えば、イーサネット(登録商標)接続または他の所望の通信ネットワークによってホストコンピュータ13とデータヒストリアン12とに通信可能に接続される。 コントローラ11は、例えば標準的な4−20ミリアンペア装置と関連する所望のハードウェアおよびソフトウェア、および/またはフィールドバスプロトコル、HARTプロトコルのようなスマート通信プロトコルと関連する所望のハードウェアおよびソフトウェアを用いてフィールド装置15−22にも通信可能に接続される。
【0018】
フィールド装置15―22は、センサ、弁、送信器、ポジショナなど、任意の種類の装置であってよく、I/Oカード26、28は、所望の通信プロトコルまたはコントローラプロトコルに従う任意の種類のI/O装置であってよい。図1に示される実施の形態においては、フィールド装置15―18は、アナログ回線によってI/Oカード26と通信する標準的な4―20ミリアンペア装置であり、フィールド装置19―22は、フィールドバスプロトコル通信を用いてディジタルバスによってI/Oカード28と通信する、フィールドバスフィールド装置のようなスマート装置である。一般的に、フィールドバスプロトコルは、フィールド装置を相互接続する2線式ループまたはバスに標準化された物理インタフェースを与える全ディジタルシリアル双方向通信プロトコルである。フィールドバスプロトコルは、事実、プロセス内のフィールド装置のためにローカルエリアネットワークを与え、これによって、プロセス設備(facility)中に分散された位置でプロセス制御機能を実行する(フィールドバスプロトコルにしたがって規定された機能ブロックを用いて)ことができ、これらプロセス制御機能の実行の前後に互いと通信して全体の制御戦略を実行することが出来る。フィールドバスプロトコルは、プロセス制御ネットワークで用いられるために開発された比較的新しい全ディジタル通信プロトコルであるが、このプロトコルは当該技術で公知であり、とりわけ、テキサス洲、オースティンに本部を置く非営利組織のフィールドバスファウンデーションにより出版され、流通され、そこから入手可能である無数の記事、パンフレットおよび仕様書に詳細に説明されていることは理解されるであろう。従って、フィールドバス通信プロトコルの詳細についてはここでは述べられない。当然、フィールド装置15―22は、将来において開発される規格またはプロトコルを含め、他の所望の規格またはプロトコルに従う。
【0019】
コントローラ11は、1個以上のプロセス制御ルーチンを実行するかまたは監督し、そこに記憶されるかまたはそれと関連する制御ループをふくんでよく、装置15―22、ホストコンピュータ13およびデータヒストリアン12と通信を行い所望の方法でプロセスを制御する。尚、本明細書で述べる制御ルーチンまたはエレメントは、所望であれば、様々なコントローラまたは他の装置により実行される一部を有してよい。同様に、プロセス制御システム10内で実行されるべき本明細書で述べる制御ルーチンまたはエレメントは、ソフトウェア、ファームウェア、ハードウェアなどを含め、任意の形をとってよい。本発明の目的のために、プロセス制御エレメントは、例えば、コンピュータ読み取り可能な媒体上に記憶されるルーチン、ブロックまたはモジュールを含め、プロセス制御システムの一部または部分であってよい。制御ルーチンは、モジュール、または、サブルーチン、サブルーチンの一部(コードのラインのような)などのような制御プロシージャの一部であってよく、はしご論理、順次機能チャート、機能ブロック図、もしくは他のソフトウェアプログラミング言語もしくは設計パラダイムを用いてのように、所望のソフトウェアフォーマットで実行されてよい。同様に、制御ルーチンは、例えば、ひとつ以上のEPROM EEPROM、専用集積回路(ASIC)、または他のハードウェアエレメントもしくはファームウェアエレメント内にハードエンコード(hard-coded)されてもよい。 さらに、制御ルーチンは、図形設計ツールまたは他の種類のソフトウェア/ハードウェア/ファームウェアプログラミングツールもしくは設計ツールを含め、何らかの設計ツールを用いて設計されてよい。このように、コントローラ11は、所望の方法で、制御戦略または制御ルーチンを実行するように構成されてよい。
【0020】
ある実施の形態においては、コントローラ11は、一般に機能ブロックと称されるものを用いてある制御戦略を実行する。この戦略においては、各機能ブロックは、全体の制御ルーチンの一部(例えばサブルーチン)であり、他の機能ブロックと(リンクと呼ばれる通信によって)関連して動作してプロセス制御システム10内のプロセス制御ループを実行する。機能ブロックは典型的には、送信器、センサまたは他のプロセスパラメータ測定装置と関連するものとしての入力機能、PID制御、ファジィ論理制御などを実行する制御ルーチンと関連するものとしての制御機能、または、弁のような装置の動作を制御する出力機能のうちのひとつを実行してプロセス制御システム10内で何らかの他の物理的な機能を実行する。当然、ハイブリッド機能ブロックおよび他の種類の機能ブロックが存在する。機能ブロックはコントローラ11内に記憶されてこれにより実行されてよいが、これは典型的には、これらの機能ブロックが標準的な4―20ミリアンペアの装置、およびHART装置のような何らかの種類のスマートフィールド装置のために用いられるかもしくはこれらと関連し、またはフィールドバス装置の場合のようにフィールド装置自体内に記憶されてこれにより実行されてもよい。制御システムについてここでは機能ブロック制御戦略を用いて説明しているが、制御戦略または制御ループもしくは制御モジュールは、はしご論理、順次機能チャートのような他の規約を用いて、または他の所望のプログラミング言語またはプログラミングパラダイムを用いて実行されるか設計されるだろう。
【0021】
図1の拡大されたブロック30に示されるように、コントローラ11は、ルーチン32、34として示される、多くの単一ループ制御ルーチンをふくんでよく、所望であれば、制御ループ36として示されるひとつ以上のアドバンスド制御ループを実行してよい。このようなループ各々は典型的には制御モジュールと称される。単一ループ制御ルーチン32、34はそれぞれ、適切なアナログ入力(AI)機能ブロックおよびアナログ出力(AO)機能ブロックに接続された単一入力/単一出力ファジィ論理制御ブロックおよび単一入力/単一出力PID制御ブロックを用いて信号ループ制御を実行するものとして示され、機能ブロックは、弁のようなプロセス制御装置と関連してもよいし、温度送信器および圧力送信器のような測定装置と関連してもよいし、プロセス制御システム10内の他の装置と関連してもよい。アドバンスド制御ループ36は、多数のAI機能ブロックに通信可能に接続された入力と多数のAO機能ブロックに通信可能に接続された出力とを有するアドバンスド制御ブロック38を含むものとして示されるが、アドバンスド制御ブロック38の入力および出力は他の所望の機能ブロックまたは制御エレメントに接続されて他の種類の入力を受け取り他の種類の制御出力を与えてもよい。アドバンスド制御ブロック38は、制御信号を2個以上のプロセス入力を与えることにより2個以上のプロセス出力を制御するのに用いられる何らかの種類の多入力/多出力制御ブロックであってよい。アドバンスド制御ブロック38はここではモデル予測制御(MPC)ブロックとして説明されているが、アドバンスド制御ブロック38は、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロック、多変数ファジィ論理制御ブロック、リアルタイムオプティマイザ(optimizer)ブロックなどのような他の多入力/多出力ブロックであってもよい。アドバンスド制御ブロック38を含む図1に示される機能ブロックはコントローラ11により実行されるか、またはワークステーション13のうちのひとつもしくはフィールド装置19―22のうちのひとつのような他の処理装置内に位置しこれにより実行可能であることを理解されたい。
【0022】
図1に示されるように、ワークステーション13のうちのひとつはアドバンスド制御ブロック生成ルーチン40を含み、このルーチンは、ここで詳細に述べる方法でアドバンスド制御ブロック38を作成し、ダウンロードし、実行するのに用いられる。アドバンスド制御ブロック生成ルーチン40はワークステーション13内のメモリ内に記憶されてプロセッサにより実行されてよいが、このルーチン(またはその一部)は、所望であれば、さらにまたは代替的に、プロセス制御システム10内の他の装置内に記憶されて実行されてよい。一般に、アドバンスド制御ブロック生成ルーチン40は、アドバンスド制御ブロックを作成してこのアドバンスド制御ブロックをプロセス制御システム内に接続する制御ブロック作成ルーチン42と、アドバンスド制御ブロックにより収集されたデータに基づいてプロセスのためのプロセスモデルまたはその一部を作成するプロセスモデル化ルーチン44と、プロセスモデルからアドバンスド制御ブロックのための制御論理パラメータを作成し、これらの制御論理パラメータを、プロセスを制御する際に用いられるためにアドバンスド制御ブロック内に記憶するかダウンロードする制御論理パラメータ作成ルーチン46とを含む。ルーチン42、44、46は、一連の異なるルーチンで構成可能であるが、この一連のルーチンとは、プロセス出力を受け取るように構成される制御入力と制御信号をプロセス入力に与えるように構成される制御出力とを有するアドバンスド制御エレメントを作成する第1のルーチンと、プロセス制御ルーチン(所望の構成ルーチンであってよい)内のアドバンスド制御エレメントをユーザが通信可能に接続できるようにする第2のルーチンと、アドバンスド制御エレメントを用いてプロセス入力の各々に対し励起波形を与える第3のルーチンと、アドバンスド制御エレメントを用いて波形に対するプロセス出力の各々の応答を反映するデータを収集する第4のルーチンと、収集されたデータからプロセスモデルを作成する第5のルーチンと、プロセスモデルからアドバンスド制御論理パラメータを生じさせる第6のルーチンと、アドバンスド制御論理、およびもし必要ならばプロセスモデルをアドバンスド制御エレメント内に配置してアドバンスド制御エレメントがプロセスを制御することができるようにする第7のルーチンとである。
【0023】
さて図2を参照して、フローチャート50は、図1のプロセス制御システム10のようなプロセス制御システム内の、アドバンスド制御ブロック、特にMPC制御ブロックを作成して用いるステップを示す。図2のフローチャート50はMPCブロックまたはモジュールの作成を示しているが、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロック、多変数ファジィ論理制御ブロックなどのように多入力/多出力制御ブロックのような他のアドバンスド制御ブロックを作成して用いるために同じステップまたは類似のステップを実行することができる。
【0024】
まず、時間52で、MPCプロシージャを実行する事によりプロセス制御システム10内の制御を向上させるかまたは与えるべく決定が行われる。この決定は、プロセス制御システム10が最初にセットアップされるときかまたは、単一ループ制御ルーチンのような他の制御ルーチンが不十分な制御を与えると発見された後になって行われる。時間52で、オペレータまたは他のユーザがMPCブロック生成ルーチン40を実行して、プロセス制御システム内でMPCモジュールまたは制御ループを作成するステップを開始する。このプロセスの一部として、オペレータは、設計されているMPCブロックの出力が接続されるべきプロセス入力を選択するとともに、設計されているMPCブロックの入力が接続されるべきプロセス出力を選択する。MPCブロックが有する入力および出力の個数は任意であるが、各MPCブロックは一般に、3種の入力を有し、これらは、あるセットポイント(または設定範囲内)で維持されるべきプロセス変数またはプロセスパラメータである制御されたパラメータ入力、プロセスと関連する例えば物理的限界に基づいたある特定の限界値または範囲に制約されるプロセス変数であり、MPCブロックがその入力を制約された範囲または限界値の範囲から外れるように強制してはならない制約された入力、および、変更される場合、制御されたパラメータに対し変更を生じさせるものとして知られているプロセス入力のような他のプロセス変数であるプロセス妨害パラメータ入力である。 MPCブロックはプロセス妨害パラメータ入力を用いて、制御されたパラメータ(すなわち制御されたプロセス出力)に対する変化を予知し、これらの変化の影響をそれらが生じる前に制限する。MPC制御ブロックがこれらのエレメントを効果的に制御することができるようにするための制御されている装置または他のプロセスエレメントからのフィードバックのような他の入力もMPCブロックに与えられてよい。同様に、MPCブロックの出力は、制御ループ入力、装置制御入力などを含む所望のプロセス変数または他のプロセス入力を制御するために接続されてよい。MPCブロックを他の制御エレメントに接続することにより生じさせられるルーチンはここではMPCモジュールと称される。ユーザはMPC機能ブロックを作成してよいが、ユーザは、機能ブロックのライブラリのようなメモリからの初期機能ブロックを得て、この機能ブロックを用いるかまたはプロセス制御システムで用いられるこの機能ブロックのインスタンスを作成してよい。同様に、ユーザまたは他のプロバイダは、他の所望の方法で機能ブロックまたは他の制御エレメントを与えてよい。
【0025】
ステップ54で、オペレータは、プロセス制御システム内で通信可能に接続された特定の入力および出力を備えたMPCブロック(モデル予測制御を与えるのに必要な情報をまだ全部有しているわけではない)を有するMPCモジュールを作成し、このブロックまたはモジュールを、MPCモジュールを実行する適切なコントローラまたは他の装置にダウンロードする。このプロセスの一部として、オペレータは、MPCブロックの出力を適切なプロセス入力に通信可能に結合するとともにMPCブロックの入力を適切なプロセス出力に通信可能に結合することにより、MPCブロックを実行するように、プロセス制御システム10を構成する。
【0026】
図3を参照して、MPCブロック56はプロセス58に接続されるものとして示される。MPCブロック56は、3個の入力IN1−IN3 と3個の出力OUT1―OUT3とを有する3x3制御ブロックであり、プロセス58は入力X1−X5と出力Y1−Y6とを含む。当然、MPCブロック56およびプロセス58が含む入力および出力の個数は任意である。MPCブロック56は一般に正方形ブロック、すなわち、同じ個数の入力および出力を有してよいが、この構成は必要でなく、MPCブロック56の有する入力および出力の数は異なっていてよい。図3に示されるように、オペレータは、プロセス出力Y1−Y3をそれぞれMPCブロック入力IN1−IN3に通信可能に接続し、MPCブロック出力OUT1―OUT3をそれぞれプロセス入力X1―X3に通信可能に接続する。当然、プロセス58の入力および出力のうちのいづれかは、プロセス制御システム10と関連する他の制御ルーチン内の他のエレメントに接続されてよい(図3のプロセス入力および出力に接続された点線により示されるように)。一般に、制御入力をプロセス58に与えている(プロセス入力X1―X3に接続された点線により示されるように)MPCブロック56および他のブロックは、なんらかのスイッチを介して接続され、これらのスイッチは図3にボックス59で示される。スイッチ59は、ハードウェアスイッチまたはソフトウェアスイッチであってよいが、所望であれば、フィールドバス機能ブロックのような機能ブロックの異なる入力に異なる制御入力信号を送ることにより与えられてよく、MPCブロック56からの制御信号とPID機能ブロックからのような異なる機能ブロックからの制御信号とを受け取る機能ブロックのモードに基づいて、これらの信号の間で選択を行うことができる。
【0027】
当然、オペレータは所望の方法で、MPCブロック56をプロセス58に接続可能であり、一般に、オペレータがプロセス制御システム10内の単一制御ルーチンのような他の制御ループを作成するのに用いるのと同じ制御構成プログラムまたは設計プログラムを用いるだろう。例えば、オペレータは、所望の図形プログラミングルーチンを用いて、MPCブロック56とプロセス入力出力との間の接続を指定してもよい。このようにして、MPCブロック56は、他の制御ブロック、エレメント、またはルーチンと同じ方法で支援されてよく、これは、MPCブロック56の構成および接続と、システム10内の他のブロックの構成、接続および支援と同じような制御システム10内のそのブロックの支援とを行う。ある実施の形態においては、制御システム10内の他のブロックと同様にMPCブロック56は、フィールドバス機能ブロックと同じであるかまたはそれと類似であるように設計された機能ブロックである。この実施の形態においては、MPCブロック56は、フィールドバスプロトコルにおいて特定されるか与えられた通り、同じまたは類似の種類の入力、出力などを有してよく、例えば、フィールドバスプロトコルにより特定されたものと同じであるかまたは類似の通信リンクを用いて、コントローラ11により実行可能である。プロセス制御ルーチンおよびそのエレメントを図形で作成する方法は、 「プロセス制御環境を構成するためのシステム"System for Configuring a Process Control Environment"」と題されたドゥーブらの米国特許第5、838、563号に記載され、この特許を本明細書において引用により援用する。 当然、他の種類の機能ブロックを用いるかまたはプロセス制御構成パラダイム内の他のルーチン、サブルーチンまたは制御エレメントを用いるものを含め、他の制御ループまたは制御モジュール設計戦略も同様に用いられてよい。
【0028】
フィールドバス機能ブロックパラダイムが与えるブロックような、機能ブロックの相互接続に基づいた制御システムを用いるとき、MPCブロック56はプロセス制御ルーチン内の他の機能ブロックに直接接続可能である。例えば、MPCブロック56は、MPCブロック56の制御出力を、制御されている装置と関連する出力ブロック(AOブロックのような)に直接接続することにより弁などの制御装置に接続されてよい。同様に、MPCブロック56は、他の制御機能ブロックの入力ような、他の制御ループ内の機能ブロックに制御信号を与えて、これらの制御ループの動作を予知するかオーバーライドしてもよい。
【0029】
図4A、4Bは、例えば、フィールドバスタイプのMPC機能ブロック60を示し、これは、プロセス制御システム内の他のフィールドバスタイプの機能ブロックに接続されて、単一ループ制御ルーチンにより実行される既存の多変数戦略を調整する。特に、MPC機能ブロック60は、操作されている弁と関連するAOブロック62のRCAS IN(リモートカスケード)入力に接続された第一の出力OUT1と、PID機能ブロック64のRCAS IN(リモートカスケード)入力に接続された第2の出力OUT2とを有する。さらに、MPCブロック60は、AI機能ブロック66から送られた第一の入力I1(制御されたパラメータ入力)と、AI機能ブロック68(図4B)から送られた第一の入力I2(制御されたパラメータ入力)と、AI機能ブロック70から送られた第3の入力I3(妨害パラメータ入力)とを有する。AI機能ブロック66、68、70は、センサのようなフィールド装置により測定され、送信器または他の装置により制御ルーチンに送信される信号と関連し、これを与えてよい。MPCブロック60は、MPCブロック60により機能ブロック62、64に送られる制御信号の影響を決定する際に用いられるAO機能ブロック62およびPID機能ブロック64のリモートカスケード出力(RCAS OUT)から、入力BKCAL IN1およびBKCAL IN2(バック較正入力)で、フィードバックを受け取る。AI機能ブロック66の出力はPID機能ブロック72の入力に与えられ、PID機能ブロック72は、AO機能ブロック62のカスケード入力(CAS IN)に制御信号を与え、PID機能ブロック72のBKCAL IN入力でAO機能ブロック62の出力OUTからのフィードバック信号を受信し、それにより、プロセスの通常の動作の間に、すなわち、MPC動作なしに、操作された値を制御する。同様に、AO機能ブロック68は、その出力(プロセス出力)をPID機能ブロック74の自動入力に送り、PID機能ブロック74は、制御信号をPID機能ブロック64のカスケード入力に与える。PID機能ブロック74は、機能ブロック74のBKCAL IN入力でPID機能ブロック64からフィードバック信号も受信する。図4A、4B(図5と同様に)の機能ブロックの入力および出力は、フィールドバスプロトコルの場合と同じように規定され、フィールドバスプロトコルにより与えられた規定および構成に従って動作する。
【0030】
理解されることであるが、機能ブロック66、72、62は、第1の単一ループ制御ルーチンを形成し、機能ブロック68、74、64は第2の単一ループ制御ルーチンを形成し、これら両方は、プロセスの通常動作または自動動作の間に動作されてよい。しかしながら、MPCブロック60は、AO機能ブロック62およびPID機能ブロック64のリモートカスケード入力に制御入力与えることにより、PID機能ブロック64と関連するループの制御だけでなく、AO機能ブロック(および関連の装置)の制御を引き受けてよく、これにより、これらの機能ブロックは(自動モードの代わりに)リモートモードで動作するようになり、従って、自動入力のかわりにリモート入力で制御入力を用いて動作する。リモートモードで動作するとき、機能ブロック62、64は、それぞれPID機能ブロック72、74の入力を無視する。このように、MPCブロック60はブロック62、64に接続されてその制御を与えてもよいが、スイッチオン・オフしてもよい。MPC機能ブロック60により制御されていないときは、ブロック62、64は、単一ループ制御戦略に従って、それぞれブロック72、74により依然として制御されている。
【0031】
同様に、図5は、プロセス制御ルーチン内で接続されて単一ループルーチンを調整するMPC機能ブロック80を示す。特に、MPC機能ブロック80は、AI機能ブロック82、84からの制御されたパラメータ入力とAI機能ブロック86からの妨害パラメータ入力とを受け取る。MPC機能ブロック80は、操作された値と関連するAO機能ブロック90に制御出力を与え、制御ループ94内のPID機能ブロック92のカスケード入力(CAS IN)にセットポイント出力を与える。AO機能ブロック90およびPID機能ブロック92は、MPC機能ブロック80のバック(back)較正入力に、バック較正出力を与える。制御ループ94は、AI機能ブロック96も含み、AI機能ブロック96は、PID機能ブロック92の自動入力に制御パラメータ入力(すなわちプロセス出力)を与え、PID機能ブロック92ついで、例えば、異なる弁または装置と関連するAO機能ブロック98に制御出力を与える。AO機能ブロック98は、PID機能ブロック92のバック較正入力にフィードバックを与える。図5の構成において、MPC機能ブロック80は、AO機能ブロック90と関連する弁を直接制御し、そのループのセットポイントを操作することによりループ94の動作を制御する。しかしながら、ループ94は、MPC機能ブロック80が動作しているときに動作し続ける。そのようなものとして、MPC機能ブロック80は、AO機能ブロック98と関連する装置を間接的に制御するが、制御ループ94を直接制御する。当然、MPCブロックは他の所望の方法でプロセス制御ルーチン内で接続されて、制御装置または他の制御エレメントを直接的にまたは間接的に制御する。さらに、図形プログラミング技術または非図形プログラミング技術を含め、なんらかの技術を用いて制御ルーチンまたはモジュールが生じさせられてよい。
【0032】
このように、理解されるだろうが、図3においてMPC制御ブロック56の出力が接続されるプロセス入力X1―X3は、既存の制御戦略内で規定された制御ループへの入力、またはプロセスに接続された弁または他の装置への入力を含め、所望のプロセス入力であってよい。同様に、MPCブロック56の入力に接続されたプロセス出力Y1-Y3は、弁または他のセンサの出力、AO機能ブロックまたはAI機能ブロックの出力、または他の制御エレメントもしくは制御ルーチンの出力を含め、所望のプロセス出力であってよい。
【0033】
図2のステップ54を再び参照して、いったん、オペレータが、それぞれ所望のプロセス出力および入力に接続された入力および出力を有する初期のMPCブロックを含む制御モジュールを作成すると、初期のMPCブロックを有する制御モジュールは、コントローラ11またはワークステーション13のうちのひとつのような適切な装置にダウンロードされて、実行される。つぎに、ステップ99で、オペレータは、初期MPCブロックに、公知の方法でプロセスを励起し始めるように命令し、プロセスが励起されている間にプロセス入力データおよびプロセス出力データを収集するように命令する。
【0034】
図3に示されるように、初期MPCブロック56は、データ収集ルーチン100と、波形ジェネレータ101と、汎用制御論理102と、制御パラメータ103およびプロセスモデル104を記憶するための記憶装置とを含む。汎用論理102は、例えば、ある特定のインスタンスにおいて動作するか制御を実行することができるように係数または他の制御パラメータを必要とする汎用MPCルーチンであってよい。場合によっては、汎用論理102は、プロセスを制御するために、制御されているそのプロセスのためのプロセスモデルを必要としていてもよい。例えば、コントローラ11にダウンロードされた後、初期のMPCブロック56は、MPC作成ルーチン42によって、MPCブロック56の作成の次のフェーズを開始するように命令され、このフェーズにおいては、データは、プロセスモデルを作成する際に用いられるプロセス出力の各々のために収集される。特に、オペレータによりそうするように命令されたとき(または他の所望の時間で)、MPCブロック56の波形ジェネレータ101は、その出力OUT1―OUT3で一連の波形を生成し始め、これにより、プロセス入力X1― X3の各々に励起波形を与える。所望であれば、これらの波形は、ユーザワークステーション13内のソフトウェアにより波形ジェネレータ101に与えられてよいが、好ましくは、波形ジェネレータ101により作成される。波形ジェネレータ101により生成された波形は好ましくは、プロセスの通常動作の間に予測される異なる範囲の入力にわたってプロセスが動作するように設計される。MPC制御ルーチンのためのプロセスモデルを作成するために、波形ジェネレータ101は、プロセス入力X1―X3の各々に、一連の異なる組のパルスを送ってよく、パルスは組ごとに同じ振幅を有するが擬似ランダム長を有し、異なる組のパルスは異なる振幅を有する。 このような一連の組のパルスは、異なるプロセス入力X1―X3の各々のために作成され、ついで、1個ずつ、順次これらの入力の各々に送られてよい。この時間において、MPCブロック56内のデータ収集ユニット100は、波形ジェネレータ101により生成された波形の各々に対するプロセス出力Y1―Y3の応答を示すデータを収集するかまたはこのデータの収集を調整し、生成されている励起波形に関するデータを収集するかまたは収集を調整してもよい。このデータは、MPCブロック56内に記憶されてよいが、このましくは、データヒストリアン12に自動的に送られて記憶され、および/またはワークステーション13に送られて、ここでこのデータは、ディスプレイスクリーン14上に表示されてよい。
【0035】
このように、なんらかのアドバンスド制御論理(まだ完全には生成されていない)を用いてプロセス58を制御しようとするかわりに、MPCブロック56はまず、プロセス58に一組の励起波形を与え、これらの励起波形に対するプロセス58の応答を測定する。当然、波形ジェネレータ101により生成された励起波形は、アドバンスド制御ルーチンのための作成制御論理パラメータにとって有用なプロセスモデルを作成するために生じさせられた所望の波形であってよい。この例においては、波形ジェネレータ101は、モデル予測コントローラのためのプロセスモデルを作成するのに有用であると知られている一組の波形を生成し、これらの波形は、この目的のために、現在知られているかまたは将来において開発されるなんらかの形をとってよい。モデル予測制御のためのプロセスモデルを作成するべくデータを収集する目的でプロセスを励起するのに用いられる波形は周知であるので、ここでは詳細に述べない。同様に、ニューラルネットワーク、多変数ファジイ論理などの制御ルーチンのような他のアドバンスド制御(モデル化を含む)ルーチンのためのプロセスモデルを作成する際に用いられる波形ジェネレータ101により、他の種類のまたは所望の種類の波形が生成されてよい。
【0036】
尚、波形ジェネレータ101は、所望の形をとってよく、例えば、ハードウェア、ソフトウェアまたはその両方の組み合わせにおいて実行されてよい。ソフトウェアで実行される場合、波形ジェネレータ101は、所望の波形を生成するのに用いられるアルゴリズムを記憶してよいし、生成されるべき波形のディジタル表現を記憶してよいし、または他のルーチンまたは記憶されたデータを用いてそのような波形を作成してもよい。ハードウェアで実行されるときは、波形ジェネレータ101は、例えば、発振器または矩形波ジェネレータの形をとってもよい。所望であれば、オペレータは、プロセスのほぼ正確な応答時間、プロセス入力に送られるべき波形の振幅のステップサイズなどのような、波形を設計するのに必要なパラメータを入力するように頼まれるかもしれない。MPCブロック56が最初に作成されるかまたはオペレータがMPCブロック56にプロセスをアップセットするか励起し、プロセスデータを収集するのを開始するように命令するときに、この情報を得るためにオペレータは促されてよい。好ましい実施の形態において、データ収集ユニット100は、確実に完全かつ正確なプロセスモデルが作成されるように、オペレータが入力する応答時間の3倍かまたは5倍の時間において励起波形の各々に応答してデータを収集する(またはデータの収集を確実にする)。しかしながら、データが集められる時間量は任意である。
【0037】
いづれにせよ、MPCブロック56は好ましくは、波形ジェネレータ101がプロセス入力X1―X3の各々に対し必要な励起波形を全て送り終えてしまうまで、そしてデータ収集ユニット100がプロセス出力Y1―Y3のためのデータを収集してしまうまで、動作する。当然、MPCブロック56の動作は、このデータ収集プロセスの間に所望であればまたは必要であれば中断されてもよい。
【0038】
図6を参照して、制御論理生成ルーチン40によりディスプレイ14のうちのひとつの上にオペレータに提示可能なスクリーンディスプレイ118により、オペレータはアドバンスド制御ブロックを生成する異なるステップを実行できる。特に、スクリーンディスプレイ118は、データディスプレイ領域120と、アドバンスド制御ブロック生成ルーチン40の様々な部分を開始するのに用いられる3個のボタン122、123、124を含む。開始テストボタン122により、オペレータは、初期のMPCブロック56にプロセス58に励起信号を送らせて、データヒストリアン12に対し送る入力データおよび出力データを収集させる。ボタン122は、例えば、励起ルーチンを実行するために残っている時間、すなわちMPC制御ブロック56が励起波形の全てを生成してこれらの波形に応答して生成されたプロセスデータを収集するのにかかる時間を示す。ボタン122を押す前に、オペレータは、プロセスが入力に応答するのにかかる典型的な時間を示す応答時間を入力して、励起波形を生成するためにMPCブロック56により用いられるステップサイズを示すか指定してよく、このデータはMPCブロック56の波形ジェネレータ101に与えられてよい。ボタン122を押した後、MPCブロック56により収集されたデータはデータディスプレイ領域120上で表示されてもよく、所望であれば、ユーザは、プロセスモデルを作成するのに用いられてはいけないデータにフラグをつけてもよい。尚、データ収集ユニット100は、確実にこのデータをデータヒストリアン12または他の記憶装置に送られ記憶されることによりデータを収集してもよい。
【0039】
次に、図2に示されるように、ステップ125で、オペレータは、あるポイントで、プロセスモデル化ルーチン44を実行することによりMPCブロックを作成する次のフェーズを実行することを決定してよく、プロセスモデル化ルーチン44は、データヒストリアン12からの収集されたデータにアクセスして、公知のプロセスモデル生成ルーチンを実行して、収集されたデータからプロセスモデルを作成する。一般的に、オペレータは、図6のスクリーンディスプレイ上の生成制御ボタン123を選択することでこのフェーズを開始してよい。
【0040】
所望であれば、プロセス制御ルーチン44は、収集されたデータに関してデータふるい分けプロシージャを実行してもよい。このデータふるい分けプロシージャは、アウトライアー(outlier)の収集データ、および他の明らかなエラーデータを検査し、収集されたデータと関連する状態値および限界値のような、収集されたデータと関連する他の値を検査して、そのデータが不良または不適当な状態を有する機能ブロックにより生成されたものかどうか、そのデータが限界値にあったかどうか、そのデータが、機能ブロックまたは他のエレメントが不適当なモードであったときに生成されたものであるかどうか、またはそのデータが、異常なプロセス状況下または望ましくないプロセス状況下でなんらかの方法で生成されたものであるかどうか決定する。例えば、フィールドバス通信プロトコルにおいては、機能ブロックにより生成されたデータは、データヒストリアン12内にデータとともに記憶可能であり、データをふるいにかけるために用いられる状態、限界値、およびモード指標も含む。所望であれば、データふるい分けルーチンは、図6のデータディスプレイエリア120上でオペレータに収集されたデータを示してもよく、このルーチンによって、例えば、プロセス状況のオペレータの知識に基づいてこのデータを強調表示するかまたは識別することにより、オペレータは、ふるい落とされるすなわち除かれるべきデータに印を付けることができる。このように、プロセス58がオフラインであったとき、プロセス58が適切に制御されていなかったとき、プロセス58が修理中であったとき、プロセス58内のセンサまたは他の装置が故障していたか取りかえ中などにMPCブロック56により収集されたデータは、選別されて、プロセスモデルを作成するために用いられるべきデータから除かれてよい。
【0041】
図6に示されるように、ディスプレイ領域120内のトレンド(trend)は、トレンドプロットとしてMPC入力および出力を含むものとして表示されてよい。プロットは、これらの入力および出力の値に基づいて自動基準化される。また、表示されるプロットの部分の時間フレームは好ましくは、指定された応答時間の2倍であるだろう。スライダバー126を用いて、時間ウインドウは、過去2日のような以前の時間にさかのぼった値を示すように変更されてもよい。プラント動作上で良好なデータを収集できるように、自動化テスト機能を用いてもよい。開始テストボタン122を選択することにより、MPCブロックにより操作されるプロセス入力、指定された応答時間にわたって、MPCブロックにより操作されるプロセス入力は、擬似ランダムシーケンスにおける指定されたステップサイズにより衝突される(bumped)。また、開始テストボタン122が選択されたとき、データディスプレイ上の開始および終了分割バーは、自動化テストの開始および終了に印をつけるように自動的に設定され、MPCブロック56は、プロセス58に、励起波形のような出力信号の擬似ランダムシーケンスを与えることにより、操作された出力の制御を引き受ける。
【0042】
エリア120内の時間バーまたはデータウインドウは、プロセスモデルを作成するために用いられるデータを選択するのに用いられてもよい。オペレータは、分割バーのうちのひとつを選択して、それを所望の開始時間および終了時間にドラッグ(drag)して、プロセスモデルを識別するために考慮される時間フレームを変更する。開始バーおよび終了バー間の時間の一部が通常のプラント動作を表していなければ、ユーザまたはオペレータは、プロセスモデル識別プロセスの間に無視されるべきデータ値を選択するために時間のこの部分を捕らえる。これに応答して、選択された領域は、より暗い背景色で示され、プロセスモデルを作成するとときに自動的に除かれる。
【0043】
データをふるいにかけた後、プロセスモデルルーチン44は、選別されたデータからプロセスモデルを作成する。上で述べたように、プロセスモデル化ルーチン44は、所望のまたは公知のタイプのプロセスモデル化解析を行って、収集されふるいにかけられたデータからプロセスモデルを作成してよく、作成されたプロセスモデルは、数学アルゴリズム、一連の応答曲線などのような任意の形をとってよい。
【0044】
プロセスモデル化ルーチン44がプロセスモデルを決定する際に問題を有しているならば、その問題の指標は、図6に示されるようなユーザディスプレイの状態領域において反映されてもよい。ひとつの問題が示されているが、これは、プロセスモデルを識別するかまたは作成するのに十分なサンプルがないということである。 規定された構成のためには最低限XXX個のサンプルが必要であるとメッセージがでている。データファイルはXXX個のサンプルだけを含むだけであるというメッセージがこの問題をオペレータに知らせるために生成されてよい。検出されるおそれのある別の問題としては、プロセス入力について十分な励起が生じなかったということである。このような問題が生じたとき、この影響に対するメッセージ、TagX、TagYなどの信号タグ名を識別するもの、および励起量に対する最小変更をオペレータに与えることが出来る。
【0045】
所望の場合、そして、成功したモデルが識別されなかった状況では、ユーザは、プロセスモデル化が行われている期間の時間フレームを変更してもよいし、または、プロセスモデル化ルーチン44で用いられているデータが有効であるようにプロセス入力を変更してもよい。識別されるプロセスモデルは、後にアクセスできるように所望のデータベース内に自動的にセーブされてよい。熟練したユーザは、識別されたプロセスモデルを調べるか編集したいと思うだろう。図6のスクリーン上のアドバンスドボタン124を選択することにより、選択されたモデルおよび現在のMPC機能ブロック構成からMPCコントローラを生成することまたはMPC制御論理を作成するのに用いられるべき新たなモデルとしての結果として生じるモデルをセーブすることの選択肢を与えられる。生成コントローラオプションが選択されると、ユーザには、編集されているMPCモジュールにおけるMPCブロックのために前にセーブされたモデルをユーザが選択し得るダイアログが提示可能である。編集オプションを選択することにより、ユーザには、問題のMPCモジュールのために作成されたモデルのリストが提示可能である。モデルを選択した後、ユーザは、プロセスステップ応答のオーバービューを表示するスクリーンまたは、後に説明する他のスクリーンを見て、プロセスステップ応答を編集して新たなまたは変更されたモジュールを作成する。
【0046】
プロセスのあるポイントにおいて、論理パラメータ作成ルーチン46は、初期MPCブロック56の汎用論理102が必要なパラメータ(MPCブロック56内の変数内に記憶されるべき)を作成するために実行され、モデル予測制御を実行してよい。これらの制御パラメータは、例えば、MPC論理のための行列または他のMPC係数、チューニングパラメータ、ニューラルネットワークパラメータ(ニューラルネットワークのための)、倍率(多変数ファジイ論理のための)または他の所望のパラメータであってよく、通常は、生成されたプロセスモデルに基づいて決定される。論理パラメータ作成ルーチン46は、プロセスモデルからパラメータを作成するための所望のプロシージャまたは公知のプロシージャを実行してもよい。一般に、このプロセスは、行列フォーマットでプロセスモデルを反転することを伴う。しかしながら、他の所望の論理パラメータ作成ルーチンも用いることができる。プロセスのために収集されたデータからプロセスモデルを作成し、そのプロセスモデルからMPCパラメータまたは他の制御論理パラメータを生成する詳細は、当該技術で公知であるので、これらのプロシージャはさらにここでは述べない。尚、しかしながら、オペレータがMPCブロック56のための制御論理パラメータの作成に関するなんらかの入力を有してもよい。事実、オペレータは、MPCコントローラを作成するのに典型的には用いられるある変数の値を指定する能力を要求されるかまたは与えられてよい。例えば、オペレータが指定してよいのは、MPCブロックへの制約された入力の各々のセットポイントおよび限界値、制御変更を行うべき期間の時間フレーム、すなわち、セットポイント軌跡(trajectory)フィルタおよびこのフィルタと関連する時定数、MPC出力またはプロセス出力の最大の動きまたは最小の動き(速度限界値)、制御されたパラメータのいづれかが統合的に応答するかどうか、MPC最適ファクタ、MPC変数またはMPCチューニングパラメータ、MPC制御ブロックの水平線(horizon)、すなわち所望の状態になるように制御するために順方向計算のステップがいくつ実行されるべきであるか、MPCブロック56の入力および出力の各々に対するエンジニアリングユニット範囲、操作された変数目標値のうちのどれが、制約条件のうちのひとつが違反されたときに緩められることを許可されているかまたは実現されないか、MPCブロック入力および出力の各々の記述および/または名前、設定可能な最適変数の値、MPCブロックの積極性または頑強性に関する変数の値などである。所望であれば、制御論理生成ルーチン46は、これらの変数またはセッティングのいくぶんかまたは全てのデフォルト値を記憶し、これらのデフォルト値を用いてMPC論理を作成する。しかしながら、オペレータまたは他のユーザは、ユーザディスプレイ14を介してこれらのセッティングを変更することができる。
【0047】
いづれにせよ、MPC論理パラメータ作成ルーチン46はこの情報、および、MPC係数のようなMPC(または他の)制御論理パラメータを作成するのに必要な他の情報を用いて実行される。スクリーンディスプレイ118上の生成制御ボタン123は、プロセスモデルおよび制御論理パラメータの作成が成功したかどうかを示してよい。
【0048】
MPC制御論理パラメータが作成された後、図2のステップ128で、MPC制御論理パラメータまたはMPC係数がプロセスシミュレーションブロックを用いてテストされてもよい。このシミュレーションブロックは一般に、プロセスのために作成されたプロセスモデルから作成されてよく、ここで説明されるようにテスト環境内でMPCブロックに接続されて、作成されたMPC制御論理がプロセスの通常動作の範囲にわたって申し分なく動作するかどうかテストする。MPC論理が満足いくものでなければ、ステップ54、99、および125のいづれかまたは全てが繰り返されて異なるMPC制御論理を作成してよい。しかしながら、もしもMPC制御論理が満足いくものであれば、ステプ130で、MPC制御論理パラメータおよびプロセスモデルは、MPCブロック56にダウンロードされてパラメータ記憶装置103およびプロセスモデル記憶装置104内に記憶され、プロセス58を制御するのに用いられる。このように、MPC制御論理が必要なパラメータは、MPCブロック56に与えられ、そこに格納され、MPCブロック56は、MPC制御論理102にしたがってプロセス内で動作するかまたは制御を実際に実行するように委託される。当然、所望であれば、必要なパラメータと共に実際のMPC論理102はワークステーション13で作成されて、MPCブロック16にダウンロード可能である。
【0049】
いったん、コントローラ11によりダウンロードされ実行されると、MPCブロック56を有するMPCモジュールまたはループは、制御ルーチン内の他のブロックまたはエレメントと同じ方法で機能を報告することを行ってよい。なぜなら、上で述べたように、MPCブロック56およびこのブロックを含む制御モジュールは、プロセス制御システム10内の他の制御ブロックと同じプログラミングパラダイムを用いて設計されるからである。ある実施の形態においては、MPCブロックまたはモジュールは、それと関連する図形ビューを有してよく、これは、例えば、ワークステーション13のうちのひとつのうちのディスプレイスクリーン14のうちのひとつによって、ユーザまたはオペレータに表示可能であり、これらのビューは、MPC制御モジュール内のブロックと関連するデータを予約し、このデータを予め規定されたまたは指定された方法で表示する。
【0050】
図7を参照して、例えば、図1のプロセス制御システム10の一部分が示され、ディスプレイ14Aおよび14Bと装置15−22とに通信リンク(具体的には示されていない)を介して結合されたコントローラ11をふくんでいる。コントローラ11内で、MPCモジュール132は、一組のAI機能ブロックから入力を受け取り、一組のAO機能ブロックに出力を与えるAPC機能ブロックを有するものとして示され、単一のループ制御ルーチン134は、AO機能ブロックを制御するために、AI機能ブロックからの入力を受け取るPIDブロックを含むものとして示される。
【0051】
オペレータのビューおよびエンジニアのビューのような、これら2個の制御モジュールの動作の異なるビューが、ディスプレイスクリーン14Aおよび14B上で図形で示される。特に、ディスプレイスクリーン14A上のエンジニアのビューは、エンジニアがこれらのループに関する情報にアクセスしてこれらのループを操作できるように作成されるループ134の図形表現だけでなくループ132の動作の図形表現も含む。同様に、ループ134の図形表現だけでなくループ132の動作の図形表現を有するオペレータのビューがディスプレイスクリーン14B上に与えられ、これにより、オペレータは、これらのループに関する情報にアクセスし、これらのループを操作できる。しかしながら、オペレータのビュー内で与えられた情報は、エンジニアのビュー内の情報とは異なっていてよく、ループ132、134と対話するようにこれらのビューにより与えられたケイパビリティは異なっていてよい。例えば、オペレータのビューは、オペレータがセットポイントを変更して、制限された機能を実行するこのとができるようにするだけであり、エンジニアのビューは、ユーザが、ユーザがループのセットアップに対し変更を加えたり、機能ブロック内のプログラミングに変更を加えることができるようにする。
【0052】
これらの異なるビューは、「プロセス制御プログラミングのための均一制御テンプレート生成システムおよび方法"Uniform Control Template Generating System and Method for Process Control Programming"」と題されたBlevinsへの米国特許第5、594、858号(本明細書において引用により援用される)で述べられるテンプレートに対して開示されたものと類似の方法で機能ブロックと関連して作成されてよい。しかしながら、これらのブロックを用いて作成されるMPCブロックおよびモジュールは、プロセス制御システム10内の他のブロック、ルーチンまたはエレメントとして同じ種類の図形支援または報告支援を与えることができ、なぜなら、これは、MPCブロックが他の制御ブロックと同じプログラミング戦略を用いてオンラインで作成されたからであるということを理解されたい。この機能により、オペレータ、技術者、エンジニアなどがMPC制御モジュールまたはMPCブロック内で起こっているものを見れるよう特別なプログラミングを与える必要がなくなる。
【0053】
所望であれば、MPCモジュール132は、予め規定されたビューまたはディスプレイによって、ユーザに所望の情報を報告してもよいし、ユーザまたはオペレータが所望の行為を行えるようにしてもよい。例えば、ユーザにはあるスクリーンが与えられ、これは、MPCモジュール132により生成されたまたはそれと関連する警報(アラーム)を示し、制御されたパラメータ、制約されたパラメータ、および妨害パラメータ(制御されたパラメータおよび制約されたパラメータの計画された値を示してよい)のプロットを与え、ユーザまたはオペレータが、例えば、モードパラメータ(MPCモジュール132が例えばフィールドバスプロトコルを用いて作成されるとき)を用いてMPCモジュール132の実行を制御できるようにし、セットポイント、制約条件、および制御された入出力または制約された入出力の値を数値的にまたはバーグラフで示し、MPCセットポイントまたはMPC目標値を変更できるようにし、例えば、入力が不良であるのか、不確実であるのかまたは制限されているかを示すためにMPC入力の状態を示し、または他の所望のデータを示すか所望の機能を行うものである。
【0054】
MPC制御モジュール内のMPCブロックにMPC制御論理をダウンロードすることに加えて、図2のステップ135で、作成された論理を有するMPC論理またはMPCブロックは、例えば、MPC制御ブロックの使用方法をユーザに訓練し、MPCブロックをテストするために、ひとつ以上のシミュレーション環境で用いるためにワークステーションに送られてもよい。このようなシミュレーション環境は、1999年5月6日に出願された「単一コンピュータ上で分散プロセス制御システム機能性を統合すること"(Integrating Distributed Process Control System Functionality on a Single Computer)"」と題された米国仮出願番号60/132,780に詳細に記載されるシステムを用いて与えられてよいが、この仮出願は、本発明の譲受人に譲渡され、その開示を本明細書において引用により援用される。さて、図8を参照して、シミュレーション構成149は、シミュレーション環境において、作成されてプロセスシミュレーションブロック152に接続されたMPCブロック150を含む。シミュレーション構成149は、図2のステップ128で、例えば、完成したMPCブロックをテストするのに用いられて、そのために作成されたプロセスを十分に制御するかどうか決定してもよいし、または、図2のステップ135で、例えば、MPCブロックを用いて訓練または他のテスト環境を与えるのに用いられてもよい。図8のMPCブロック150は3個の入力IN1−IN3と3個の出力OUT1−OUT3とを有するものとして示され、3個入力X1−X3と3個の出力Y1―Y3とを有するシミュレーションブロック152に接続され、出力Y1―Y3は、MPCブロック150の入力IN1−IN3にそれぞれ接続される。シミュレーションブロック152は、図8のブロック154により示されるように、図2のステップ125で作成されたプロセスモデルを用いてそれのためのMPCブロック150が作成されたプロセスをシミュレートしてもよい。この場合、図2のステップ125で作成されたプロセスモデルはシミュレーションブロック152内に記憶されて、そのプロセスモデルとMPCブロック150から受け取った入力とに基づいて、プロセスの応答をシミュレートするのに用いられてよい。代替的には、シミュレーションブロック152は、図8のブロック156により示されるように、ステップ152で生成されたプロセスモデルに対して変更されるプロセスモデルから作成されてもよい。この場合、ステップ125で作成されたプロセスモデルは、例えば、プロセスになされた物理的な変更、プロセス内の機器のエージングなどにより引き起こされたプロセスに対する変更をシミュレートするために変更されてよい。所望であれば、図2のブロック125で作成されたプロセスモデルは、このブロックが最初にMPCブロック150を作成するのに用いられるプロセスと一致しないプロセスを制御するのに用いられるときに、MPCブロック150の動作をテストするために様々な方法で変更されてよい。このように、所望であれば、ブロック156が与えた変更されたプロセスモデルは、シミュレーションブロック152内で用いられて、プロセスが変化したりMPC制御論理に一致しないときにMPCブロックが与える制御の範囲を決定し、これにより、ユーザは、長期間にわたって動作するかまたはプロセス変化が生じたプロセスを制御するのに良好なMPCブロックを設計することができる。
【0055】
変更されたプロセスを生成するには、ユーザまたはオペレータはルーチンを実行し、ステップ125で作成されたプロセスモデルまたは、5x5MPCブロック150のために図9のスクリーンに示されるもののような、関連するプロセス入力/出力応答曲線の組を見て、これらの応答曲線のうちの変更すべきひとつを選択する。選択された応答曲線(オーバーヘッド%C3H6対リボイラーオイル流量と示される)はさらに、図10に示されるようなさらなるスクリーンによって表示されるか操作されてよい。図10に示されるように、ユーザまたはオペレータは、応答曲線をインポート(取り入れ)するか消去し、FIR応答を加え、不動作時間およびゲインなどの応答パラメータを変更し、新たなスタートポイントまたは終了ポイントを選択し、曲線のポイントの値を変更し、曲線に対し様々な勾配をつけ、曲線をスケールして、それにより、変更された応答曲線、したがって、変更されたプロセスモデルを作成する。当然、ユーザまたはオペレータは、他の方法でプロセスモデルを部分的に変更(修正)するか変更する。ユーザは、プロセスモデル150を作成するか編集してもよく、このようなモデルからプロセスシミュレーションブロックまたはエレメント152を作成してもよく、プロセスシミュレーションブロック152をMPCブロック150に通信可能に接続してもよく、左手のプロセッサ13において、または他の所望のシミュレーション環境においてもしくはプロセス環境において、図1に示されるルーチン153のようなルーチンを用いて、接続されたループを実行してもよい。
【0056】
さて図11を参照して、実際のプロセス174に接続されたMPCブロック172を有するものとしてさらなる制御ループ170が示される。この場合、MPCブロック172の3個の出力OUT1−OUT3は、プロセス174のために作成されたプロセスモデル178に基づいたシミュレートされたプロセスブロック176の3個の入力X1SIM―X3SIMだけでなくプロセス174の3個のプロセス入力X1―X3に接続されされる。この構成においては、MPCブロック172は、実行時間においてプロセス174を制御し、シミュレートされたプロセスブロック176も制御するが、このブロック176は、例えば、図1のワークステーション13のうちのひとつにおいてまたは他のコントローラもしくは装置において実行されてよく、シミュレートされた出力Y1SIM―Y3SIMを生成する。このようなシステムにおいては、シミュレートされたプロセスブロック176の出力Y1SIM―Y3SIMと、実際のプロセス174の出力Y1―Y3とは比較され、プロセス出力Y1―Y3がシミュレートされた出力Y1SIM―Y3SIMとは非常に異なるかどうか、したがって、実際のプロセス174とMPCブロック172がそこからが作成されたプロセスモデル178とに間に不一致があるかどうか決定する。不一致がある場合、別のMPCブロック172を作成するかまたはプロセス174を制御する際にMPCブロック172が用いる論理パラメータまたはモデルを再生する必要がある。
【0057】
また、もしも何らかの理由でプロセス174の出力Y1―Y3のうちのひとつが、例えば、この出力を測定するセンサの誤動作が原因でエラーになった場合、シミュレートされたプロセスブロック176からの対応するシミュレートされた出力は、図11の点線で示されるようにMPCブロック172の適切な入力に与えられてよく、これにより、故障したセンサまたは装置が取りかえられるか修理されるまで、MPCブロック172は実際のプロセス174の良好な制御を与えることができる。このようにして、実際のプロセス出力の各々のために、仮想プロセス出力が、シミュレートされたプロセスブロック176により作成されてよいし、これらの仮想出力のうちのひとつ以上は、対応する実際のプロセス出力に欠陥があるかまたは使用できないときにMPCブロック172への入力として使用されてよい。例えば、深夜に、プロセス出力Y1―Y3のうちのひとつを測定するセンサが誤動作した場合、ユーザまたはオペレータは、修理者が故障したセンサを取りかえるか修理する次の日まで、MPCブロック172がプロセス174の十分な制御を与えることができるように、MPCブロック172の適切な入力に対応する仮想出力を単に接続すればよい。シミュレートされたプロセスブロック176は、実際のプロセス174が実行されている間中実行可能であり、シミュレートされたプロセスブロック176が現実的な仮想出力を生成することができるように全て同じ入力が設けられている。当然、他のシミュレーションシナリオが実行されて、MPCブロック150または172の作成と関連して作成されたプロセスモデルを用いることができるし、 またはMPCブロック150または172の作成と関連して作成されたプロセスモデルの変形例として作成されたプロセスモデルを用いることもできる。
【0058】
必要な制御論理パラメータおよびそのためのプロセスモデルがない場合にMPC制御ブロックを作成して、このブロックを、他の制御ブロックまたはエレメントがシステム内で接続される方法と同様の方法でプロセス制御システム内で接続し、MPC制御ブロックを実行してプロセスデータを収集し、プロセスデータからプロセスモデルを作成し、プロセスモデルからMPCブロックのための論理パラメータを作成し、論理パラメータをロードし、そして必要であれば、プロセスモデルをMPC制御ブロック内にダウンロードすることにより、オフラインになる必要もなく、MPC制御ルーチンがどのように作成されなければならないかについて多くを知る必要もなく、プロセスモデルを生成するために波形を作成するよう多大な技術的処理を行う必要もなく、制御ルーチンを再プログラムしてモデル予測制御または他のアドバンスド制御を実行する必要もなく、ユーザはプロセス制御ルーチン内でMPC制御ブロックまたはMPCモジュールを作成できる。その結果、この方法は時間および費用を節約し、プロセス制御環境内で仮想プロセス出力のシミュレーションおよび生成のためなど他の目的のために、作成されたプロセスモデルを用いる。
【0059】
理解されるだろうが、ここで述べてきたMPCルーチンまたはアドバンスド制御論理生成ルーチンおよび方法により、ユーザは、MPC制御ブロック、ニューラルネットワークモデル化ブロックまたはニューラルネットワーク制御ブロックなどのアドバンスド制御ブロックが作成される方法について多大な専門的知識を必要とせず、これらのブロックを作成することが可能であり、オペレータは、アドバンスド制御を実行するために多大なプロセス再プログラミングを実行することもなくアドバンスド制御ブロックを作成して用いることができる。アドバンスド制御ブロックは、システム内の他の制御エレメントと同じプログラミングパラダイムを用いて作成されるので、ユーザは、プロセスの一貫したビュー、またはアドバンスド制御ブロックを有するプロセスの図形表示が与えられる。さらに、プロセスモデルは、例えば、MPC機能ブロックのために作成される必要があるので、このプロセスモデルは、テスト、訓練、プロセス/プロセスモデル不一致を検出すること、またはプロセスを制御する際に用いられるプロセスの仮想出力を生成することなどの他の目的のためにプロセスをシミュレートするのに用いることが出来るシミュレーション機能ブロックを生成するのに用いることができる。
【0060】
アドバンスド制御ブロック、プロセスシミュレーションブロック、ならびに関連の生成ルーチンおよびテストルーチンは、ここではフィールドバス装置および標準の4−20ミリアンペアの装置と関連して用いられると説明したが、当然、他のプロセス制御通信プロトコルまたはプログラミング環境を用いて実行されてよく、他の種類の装置、機能ブロックまたはコントローラとともに用いられてよい。さらに、ここで「機能ブロック」という表現を用いているのは、フィールドバスプロトコルまたはデルタVコントローラプロトコルが機能ブロックとして識別するものに限定されず、なんらかのプロセス制御機能を実行するのに用いられる任意のタイプの制御システムおよび/または通信プロトコルと関連する他のタイプのブロック、プログラム、ハードウェア、ファームウェアなどを含む。また、機能ブロックは典型的には、オブジェクト志向プログラミング環境内でオブジェクトの形をとっているが、その必要がない場合もある。
【0061】
アドバンスド制御ブロック、プロセスシミュレーションブロック、ならびに関連の生成ルーチンおよびテストルーチンは、好ましくはソフトウェアで実行されるが、ハードウェア、ファームウェアなどで実行されてもよく、プロセス制御システムと関連する他のプロセッサにより実行されてよい。このように、ここで述べるルーチン40は、所望であれば、標準的な多目的CPUにおいて、または例えば、ASICのような特殊設計されたハードウェアもしくはファームウェア上で実行されてよい。ソフトウェアで実行するならば、ソフトウェアは、コンピュータまたはプロセッサなどのRAMまたはROM内で磁気ディスク、レーザディスク、光ディスク、または他の何らかの記憶媒体上のような、コンピュータ読取り可能なメモリ内に記憶されてもよい。同様に、このソフトウェアは、例えば、コンピュータ読取り可能なディスクまたは他の可搬コンピュータ記憶メカニズム上でのものを含む公知のまたは所望の送り方法によりユーザまたはプロセス制御システムに送られてもよいし、電話回線、インターネットなどのような通信チャンネル上で変調されてもよい(同じものであるとして見られるかまたは可搬の記憶媒体によりこのようなソフトウェアを与えることと交換可能である)。
【0062】
本発明は、具体例を参照して説明されたが、これらは、あくまでも例示的であり、本発明を限定するものではなく、本発明の精神および範囲を逸脱することなく、開示された実施の形態に、変更、追加、およびまたは消去を加えてよいことは当業者には明らかである。
【符号の説明】
【0063】
58 プロセス
56 アドバンスド制御ブロック
102 制御論理
101 波形ジェネレータ
104 プロセスモデル
【特許請求の範囲】
【請求項1】
プロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメントであって、
コンピュータ読取り可能な媒体と、
アドバンスド制御機能ブロックであって、前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサ上で実行されるよう構成されて、プロセスの多入力/多出力制御を実行するアドバンスド制御機能ブロックとを備え、前記アドバンスド制御ブロックは、
第1の複数の入力であって、その各入力が一組のプロセスパラメータの異なるひとつを受け取るように構成された第1の複数の入力と、
第2の複数の出力であって、その各出力が異なるプロセス入力に通信可能に結合されるように構成されて前記一組のプロセスパラメータを制御する第2の複数の出力と、
前記第1の複数の入力に応答して前記第2の複数の出力の各々で制御信号を生成する制御論理とを備えるプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項2】
前記アドバンスド制御機能ブロックは、前記制御論理により用いられる制御パラメータを受け入れるように構成されるパラメータ記憶装置を含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項3】
前記パラメータ記憶装置は、モデル予測制御論理係数を受け取るように構成される請求項2記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項4】
前記アドバンスド制御機能ブロックは、前記第2の複数の出力で前記制御信号を生成するように前記制御論理により用いられる、前記プロセスのためのプロセスモデルを含む請求項2記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項5】
前記制御論理はモデル予測制御論理である請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項6】
前記制御論理はニューラルネットワーク論理である請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項7】
前記制御論理は、プロセスモデルから生成される請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項8】
前記制御論理は前記プロセスのためのプロセスモデルを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項9】
前記アドバンスド制御機能ブロックは、フィールドバスプロトコルに対応するフィールドバス機能ブロックである請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部として用いられるように構成されるプロセス制御エレメント。
【請求項10】
前記アドバンスド制御機能ブロックはさらに、前記複数の出力の各々でプロセス励起波形を発生させるように構成される波形ジェネレータを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項11】
前記アドバンスド制御機能ブロックさらに、前記波形ジェネレータが前記複数の出力の各々で前記プロセス励起波形を発生させるときに前記複数の入力の各々で信号値を表現するデータの収集を調整するように構成されるデータ収集ユニットを含む請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項12】
前記波形ジェネレータは、前記励起波形の擬似ランダム長の一連のパルスを生成する請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項13】
前記波形ジェネレータは、モデル予測コントローラを生成する際に用いられる、前記プロセスのためのプロセスモデルを作成するように構成される励起波形を発生させる請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項14】
前記アドバンスド制御機能ブロックは、ユーザインタフェースによって前記アドバンスド制御機能ブロックの動作に関する情報を表示するように構成される図形ビューを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項15】
前記アドバンスド制御機能ブロックに通信可能に結合されたプロセスシミュレーション機能ブロックをさらに備える請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項16】
前記プロセスシミュレーション機能ブロックは、前記プロセスの動作をシミュレートするプロセスモデルを含む請求項15記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項17】
プロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメントであって、
コンピュータ読取り可能な媒体と、
前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサ上で実行されるアドバンスド制御ブロックとを備え、前記アドバンスド制御ブロックは、
第1の複数の入力であって、その各入力が一組のプロセスパラメータの異なるひとつを受け取るように構成された第1の複数の入力と、
第2の複数の出力であって、その各出力が異なるプロセス入力に通信可能に結合されるように構成されて前記一組のプロセスパラメータを制御する第2の複数の出力と、
前記複数の出力の各々でプロセス励起波形を発生させるように構成される波形ジェネレータと、
データ収集ユニットであって、前記波形ジェネレータが前記複数の出力の各々で前記プロセス励起波形を発生させるときに前記複数の入力の各々で信号値を表現するデータの収集を調整するように構成されるデータ収集ユニットとを備えるプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項18】
前記波形ジェネレータは、前記励起波形の擬似ランダム長の一連のパルスを生成する請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項19】
前記波形ジェネレータは、前記プロセスを励起して、モデル予測コントローラを生成する際に用いられるプロセスモデルを作成するように構成される励起波形を発生させる請求項請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項20】
前記アドバンスド制御機能ブロックは、ユーザインタフェースによって前記アドバンスド制御機能ブロックの動作に関する情報を表示するように構成される図形ビューを含む請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項21】
前記アドバンスド制御機能ブロックは、前記第1の複数の入力に応答して前記第2の複数の出力の各々で制御信号を生成する制御論理と、前記制御論理により用いられる制御パラメータを受け入れるように構成されるパラメータ記憶装置とを含む請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項22】
前記パラメータ記憶装置はモデル予測制御論理係数を受け取るように構成される請求項21記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項23】
前記アドバンスド制御機能ブロックは、前記プロセスのためのプロセスモデルを記憶するように構成されるプロセスモデル記憶装置を含み、前記制御論理は、前記パラメータ記憶装置内に記憶された前記制御パラメータと前記プロセスモデル記憶装置内に記憶された前記プロセスモデルとを用いて、前記第2の複数の出力で制御信号を生成する請求項20記載プロセッサ上で実行されてプロセスを制御するのプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項24】
プロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法であって、
前記プロセスのプロセス出力を受け取るように構成された第1の複数の制御入力と前記プロセスのプロセス入力に制御信号を与えるように構成される第2の複数の制御出力とを有するアドバンスド制御エレメントを与えるステップと、
前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続するステップと、
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップと、
前記アドバンスド制御エレメントを用いて、前記励起波形に対する前記プロセス出力の各々の応答を反映するデータを収集するステップと、
前記収集されたデータからプロセスモデルを作成するステップと、
前記プロセスモデルからアドバンスド制御論理パラメータを作成するステップと、 前記アドバンスド制御エレメントで用いられるように前記アドバンスド制御エレメント内に前記アドバンスド制御論理パラメータを配置して前記プロセスを制御するステップとを有する
プロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項25】
前記アドバンスド制御エレメントを与えるステップは、機能ブロックとして前記アドバンスド制御エレメントを与えるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項26】
前記プロセス制御ルーチン内に前記アドバンスド制御エレメントを通信可能に接続するステップは、第1の機能ブロックに前記制御入力のうちのひとつを通信可能に接続するステップと、第2の機能ブロックに前記制御出力のうちのひとつを通信可能に接続するステップとを有する請求項25記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項27】
前記第2の機能ブロックに前記制御出力のひとつを通信可能に接続するステップは、制御機能ブロックに前記制御出力のうちのひとつを通信可能に接続して前記プロセス制御ルーチン内で制御ループの制御を与えるステップを有する請求項26記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項28】
前記第2の機能ブロックに前記制御出力のうちのひとつを通信可能に接続するステップは、ある装置と関連する出力機能ブロックに前記制御出力のうちのひとつを通信可能に接続して前記装置の制御を与えるステップを有する請求項26記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項29】
前記アドバンスド制御エレメントを与えるステップは、フィールドバス機能ブロックとして前記アドバンスド制御エレメントを与えるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項30】
前記アドバンスド制御論理パラメータを生成するステップは、モデル予測制御係数を生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項31】
前記アドバンスド制御論理パラメータを生成するステップは、ニューラルネットワーク論理パラメータを生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項32】
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップは、前記励起波形として擬似ランダム長の一連のパルスを発生させるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項33】
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップは、モデル予測コントローラを生成する際に用いられる、前記プロセスのためのプロセスモデルを作成するように構成される一連の励起波形を発生させるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項34】
前記収集されたデータからプロセスモデルを作成するステップは、前記プロセスモデルとして、前記収集されたデータから一組の応答曲線を生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項35】
前記収集されたデータからプロセスモデルを作成するステップは、前記収集されたデータから生成された前記一組の応答曲線のうちのひとつ以上を変更して変更された一組の応答曲線を生成し、前記プロセスモデルとして前記変更された一組の応答曲線を用いるステップを有する請求項34記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項36】
シミュレーション環境において前記アドバンスド制御エレメントを用いるステップをさらに有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項37】
前記シミュレーション環境において前記アドバンスド制御エレメントを用いるステップは、シミュレートされたプロセスエレメントに前記アドバンスド制御エレメントを接続するステップを有する請求項36記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項38】
前記アドバンスド制御エレメントを用いるステップは、前記プロセスモデルから前記シミュレートされたプロセスエレメントを生成するステップを有する請求項37記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項39】
前記アドバンスド制御エレメントを用いるステップは、前記プロセスモデルを変更するステップと、前記変更されたプロセスモデルから前記シミュレートされたプロセスエレメントを生成するステップとを有する請求項37記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項40】
前記アドバンスド制御エレメントを与えるステップは、前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続するステップの前に前記アドバンスド制御エレメント内に制御論理を配置するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項41】
前記プロセスを制御する際に用いられる前記アドバンスド制御ブロックに前記プロセスモデルを与えるステップをさらに有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項42】
前記収集されたデータから前記プロセスモデルを作成するステップは、前記収集されたデータをふるい分けて、前記ふるい分けられたデータから前記プロセスモデルを作成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項43】
プロセス制御システム内で実行されるプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システムであって、
コンピュータ読取り可能な媒体と、
第1のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、プロセス出力を受けるように構成された第1の複数の制御入力とプロセス入力に制御信号を与えるように構成される第2の複数の制御出力とを有するアドバンスド制御エレメントを作成する第1のルーチンと、
第2のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、ユーザが前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続できるようにする第2のルーチンと、
第3のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与える第3のルーチンと、
第4のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメントを用いて前記励起波形に対する前記プロセス出力の各々の応答を反映するデータを収集する第4のルーチンと、
第5のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記収集されたデータからプロセスモデルを作成する第5のルーチンと、
第6のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記プロセスモデルからアドバンスド制御論理パラメータを生成する第6のルーチンと、
第7のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメント内に前記制御路論理パラメータを配置してこれにより前記アドバンスド制御論理エレメントが前記プロセスを生成するのを可能化する第7のルーチンとを備えるプロセス制御システム内で実行されるプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項44】
前記第1のルーチンは、機能ブロックとして前記アドバンスド制御エレメントを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項45】
前記第2のルーチンは、前記制御入力のうちのひとつを第1の機能ブロックに接続すること、前記制御出力のうちのひとつを第2の機能ブロックに接続することにより、ユーザが前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを接続できるようにする請求項44記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項46】
前記第1のルーチンは、フィールドバスプロトコルを用いるフィールドバス機能ブロックとして前記アドバンスド制御エレメントを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項47】
前記第6のルーチンは、モデル予測制御係数として前記アドバンスド制御論理パラメータを生成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項48】
前記第6のルーチンは、ニューラルネットワーク論理パラメータとして前記アドバンスド制御論理パラメータを生成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項49】
前記第3のルーチンは、前記アドバンスド制御エレメントに、前記プロセス入力の各々に送るために前記制御出力の各々で励起波形を発生させるようにする請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項50】
前記第7のルーチンは、前記アドバンスド制御エレメント内に前記プロセスモデルを配置する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項51】
前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記プロセスモデルからプロセスシミュレーションエレメントを生成する第8のルーチンをさらに備える請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項52】
前記第5のルーチンは、前記収集されたデータのふるい分けを可能化して一組のふるい分けられたデータ生成する別のルーチンを含み、前記第5のルーチンは、前記ふるい分けられたデータから前記プロセスモデルを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項53】
プロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法であって、前記アドバンスド制御エレメントは前記プロセスのために作成されたプロセスモデルを用いて生成されたものであり、前記方法は、
前記プロセスモデルからプロセスシミュレーションエレメントを生成するステップと、
前記アドバンスド制御エレメントに前記プロセスシミュレーションエレメントを通信可能に接続するステップと、
前記アドバンスド制御エレメントを用いて前記プロセスシミュレーションエレメントを制御するステップとを有するプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項54】
前記アドバンスド制御エレメントを用いて前記プロセスを制御する前に、前記プロセスシミュレーションエレメントに接続されるものとして前記アドバンスド制御エレメントをテストするステップをさらに有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項55】
訓練環境内で前期アドバンスド制御エレメントおよび前記プロセスシミュレーションエレメントを用いるステップをさらに有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項56】
プロセスシミュレーションエレメントを生成するステップは、前記プロセスモデルを変更するステップと、前記変更されたプロセスモデルを用いて前記プロセスシミュレーションエレメントを生成するステップとを有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項57】
前記プロセスシミュレーションエレメントに接続されるものとして前記アドバンスド制御エレメントをテストして、プロセス/プロセスモデル不一致がある場合に前記アドバンスド制御エレメントの動作を決定する請求項56記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項58】
前記プロセスに前記アドバンスド制御エレメントを接続するステップと、前記アドバンスド制御エレメントが前記プロセスシミュレーションエレメントを制御する間に前記アドバンスド制御エレメントを用いて前記プロセスを制御するステップとを有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項59】
前記プロセスのプロセス出力を前記プロセスシミュレーションエレメントと比較してプロセス/プロセスモデル不一致を測定するステップをさらに有する請求項58記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項60】
前記プロセスを制御する際に用いられる前記アドバンスド制御エレメントの入力に前記プロセスシミュレーションエレメントの出力を与えるステップをさらに有する請求項58記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項1】
プロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメントであって、
コンピュータ読取り可能な媒体と、
アドバンスド制御機能ブロックであって、前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサ上で実行されるよう構成されて、プロセスの多入力/多出力制御を実行するアドバンスド制御機能ブロックとを備え、前記アドバンスド制御ブロックは、
第1の複数の入力であって、その各入力が一組のプロセスパラメータの異なるひとつを受け取るように構成された第1の複数の入力と、
第2の複数の出力であって、その各出力が異なるプロセス入力に通信可能に結合されるように構成されて前記一組のプロセスパラメータを制御する第2の複数の出力と、
前記第1の複数の入力に応答して前記第2の複数の出力の各々で制御信号を生成する制御論理とを備えるプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項2】
前記アドバンスド制御機能ブロックは、前記制御論理により用いられる制御パラメータを受け入れるように構成されるパラメータ記憶装置を含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項3】
前記パラメータ記憶装置は、モデル予測制御論理係数を受け取るように構成される請求項2記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項4】
前記アドバンスド制御機能ブロックは、前記第2の複数の出力で前記制御信号を生成するように前記制御論理により用いられる、前記プロセスのためのプロセスモデルを含む請求項2記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項5】
前記制御論理はモデル予測制御論理である請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項6】
前記制御論理はニューラルネットワーク論理である請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項7】
前記制御論理は、プロセスモデルから生成される請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項8】
前記制御論理は前記プロセスのためのプロセスモデルを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項9】
前記アドバンスド制御機能ブロックは、フィールドバスプロトコルに対応するフィールドバス機能ブロックである請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部として用いられるように構成されるプロセス制御エレメント。
【請求項10】
前記アドバンスド制御機能ブロックはさらに、前記複数の出力の各々でプロセス励起波形を発生させるように構成される波形ジェネレータを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項11】
前記アドバンスド制御機能ブロックさらに、前記波形ジェネレータが前記複数の出力の各々で前記プロセス励起波形を発生させるときに前記複数の入力の各々で信号値を表現するデータの収集を調整するように構成されるデータ収集ユニットを含む請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項12】
前記波形ジェネレータは、前記励起波形の擬似ランダム長の一連のパルスを生成する請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項13】
前記波形ジェネレータは、モデル予測コントローラを生成する際に用いられる、前記プロセスのためのプロセスモデルを作成するように構成される励起波形を発生させる請求項10記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項14】
前記アドバンスド制御機能ブロックは、ユーザインタフェースによって前記アドバンスド制御機能ブロックの動作に関する情報を表示するように構成される図形ビューを含む請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項15】
前記アドバンスド制御機能ブロックに通信可能に結合されたプロセスシミュレーション機能ブロックをさらに備える請求項1記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項16】
前記プロセスシミュレーション機能ブロックは、前記プロセスの動作をシミュレートするプロセスモデルを含む請求項15記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項17】
プロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメントであって、
コンピュータ読取り可能な媒体と、
前記コンピュータ読取り可能な媒体上に記憶され、前記プロセッサ上で実行されるアドバンスド制御ブロックとを備え、前記アドバンスド制御ブロックは、
第1の複数の入力であって、その各入力が一組のプロセスパラメータの異なるひとつを受け取るように構成された第1の複数の入力と、
第2の複数の出力であって、その各出力が異なるプロセス入力に通信可能に結合されるように構成されて前記一組のプロセスパラメータを制御する第2の複数の出力と、
前記複数の出力の各々でプロセス励起波形を発生させるように構成される波形ジェネレータと、
データ収集ユニットであって、前記波形ジェネレータが前記複数の出力の各々で前記プロセス励起波形を発生させるときに前記複数の入力の各々で信号値を表現するデータの収集を調整するように構成されるデータ収集ユニットとを備えるプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項18】
前記波形ジェネレータは、前記励起波形の擬似ランダム長の一連のパルスを生成する請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項19】
前記波形ジェネレータは、前記プロセスを励起して、モデル予測コントローラを生成する際に用いられるプロセスモデルを作成するように構成される励起波形を発生させる請求項請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項20】
前記アドバンスド制御機能ブロックは、ユーザインタフェースによって前記アドバンスド制御機能ブロックの動作に関する情報を表示するように構成される図形ビューを含む請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項21】
前記アドバンスド制御機能ブロックは、前記第1の複数の入力に応答して前記第2の複数の出力の各々で制御信号を生成する制御論理と、前記制御論理により用いられる制御パラメータを受け入れるように構成されるパラメータ記憶装置とを含む請求項17記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項22】
前記パラメータ記憶装置はモデル予測制御論理係数を受け取るように構成される請求項21記載のプロセッサ上で実行されてプロセスを制御するプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項23】
前記アドバンスド制御機能ブロックは、前記プロセスのためのプロセスモデルを記憶するように構成されるプロセスモデル記憶装置を含み、前記制御論理は、前記パラメータ記憶装置内に記憶された前記制御パラメータと前記プロセスモデル記憶装置内に記憶された前記プロセスモデルとを用いて、前記第2の複数の出力で制御信号を生成する請求項20記載プロセッサ上で実行されてプロセスを制御するのプロセス制御ルーチンの一部分として用いられるように構成されるプロセス制御エレメント。
【請求項24】
プロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法であって、
前記プロセスのプロセス出力を受け取るように構成された第1の複数の制御入力と前記プロセスのプロセス入力に制御信号を与えるように構成される第2の複数の制御出力とを有するアドバンスド制御エレメントを与えるステップと、
前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続するステップと、
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップと、
前記アドバンスド制御エレメントを用いて、前記励起波形に対する前記プロセス出力の各々の応答を反映するデータを収集するステップと、
前記収集されたデータからプロセスモデルを作成するステップと、
前記プロセスモデルからアドバンスド制御論理パラメータを作成するステップと、 前記アドバンスド制御エレメントで用いられるように前記アドバンスド制御エレメント内に前記アドバンスド制御論理パラメータを配置して前記プロセスを制御するステップとを有する
プロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項25】
前記アドバンスド制御エレメントを与えるステップは、機能ブロックとして前記アドバンスド制御エレメントを与えるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項26】
前記プロセス制御ルーチン内に前記アドバンスド制御エレメントを通信可能に接続するステップは、第1の機能ブロックに前記制御入力のうちのひとつを通信可能に接続するステップと、第2の機能ブロックに前記制御出力のうちのひとつを通信可能に接続するステップとを有する請求項25記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項27】
前記第2の機能ブロックに前記制御出力のひとつを通信可能に接続するステップは、制御機能ブロックに前記制御出力のうちのひとつを通信可能に接続して前記プロセス制御ルーチン内で制御ループの制御を与えるステップを有する請求項26記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項28】
前記第2の機能ブロックに前記制御出力のうちのひとつを通信可能に接続するステップは、ある装置と関連する出力機能ブロックに前記制御出力のうちのひとつを通信可能に接続して前記装置の制御を与えるステップを有する請求項26記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項29】
前記アドバンスド制御エレメントを与えるステップは、フィールドバス機能ブロックとして前記アドバンスド制御エレメントを与えるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項30】
前記アドバンスド制御論理パラメータを生成するステップは、モデル予測制御係数を生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項31】
前記アドバンスド制御論理パラメータを生成するステップは、ニューラルネットワーク論理パラメータを生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項32】
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップは、前記励起波形として擬似ランダム長の一連のパルスを発生させるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項33】
前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与えるステップは、モデル予測コントローラを生成する際に用いられる、前記プロセスのためのプロセスモデルを作成するように構成される一連の励起波形を発生させるステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項34】
前記収集されたデータからプロセスモデルを作成するステップは、前記プロセスモデルとして、前記収集されたデータから一組の応答曲線を生成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項35】
前記収集されたデータからプロセスモデルを作成するステップは、前記収集されたデータから生成された前記一組の応答曲線のうちのひとつ以上を変更して変更された一組の応答曲線を生成し、前記プロセスモデルとして前記変更された一組の応答曲線を用いるステップを有する請求項34記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項36】
シミュレーション環境において前記アドバンスド制御エレメントを用いるステップをさらに有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項37】
前記シミュレーション環境において前記アドバンスド制御エレメントを用いるステップは、シミュレートされたプロセスエレメントに前記アドバンスド制御エレメントを接続するステップを有する請求項36記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項38】
前記アドバンスド制御エレメントを用いるステップは、前記プロセスモデルから前記シミュレートされたプロセスエレメントを生成するステップを有する請求項37記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項39】
前記アドバンスド制御エレメントを用いるステップは、前記プロセスモデルを変更するステップと、前記変更されたプロセスモデルから前記シミュレートされたプロセスエレメントを生成するステップとを有する請求項37記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項40】
前記アドバンスド制御エレメントを与えるステップは、前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続するステップの前に前記アドバンスド制御エレメント内に制御論理を配置するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項41】
前記プロセスを制御する際に用いられる前記アドバンスド制御ブロックに前記プロセスモデルを与えるステップをさらに有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項42】
前記収集されたデータから前記プロセスモデルを作成するステップは、前記収集されたデータをふるい分けて、前記ふるい分けられたデータから前記プロセスモデルを作成するステップを有する請求項24記載のプロセスを制御するプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成する方法。
【請求項43】
プロセス制御システム内で実行されるプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システムであって、
コンピュータ読取り可能な媒体と、
第1のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、プロセス出力を受けるように構成された第1の複数の制御入力とプロセス入力に制御信号を与えるように構成される第2の複数の制御出力とを有するアドバンスド制御エレメントを作成する第1のルーチンと、
第2のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、ユーザが前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを通信可能に接続できるようにする第2のルーチンと、
第3のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメントを用いて前記プロセス入力の各々に励起波形を与える第3のルーチンと、
第4のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメントを用いて前記励起波形に対する前記プロセス出力の各々の応答を反映するデータを収集する第4のルーチンと、
第5のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記収集されたデータからプロセスモデルを作成する第5のルーチンと、
第6のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記プロセスモデルからアドバンスド制御論理パラメータを生成する第6のルーチンと、
第7のルーチンであって、前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記アドバンスド制御エレメント内に前記制御路論理パラメータを配置してこれにより前記アドバンスド制御論理エレメントが前記プロセスを生成するのを可能化する第7のルーチンとを備えるプロセス制御システム内で実行されるプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項44】
前記第1のルーチンは、機能ブロックとして前記アドバンスド制御エレメントを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項45】
前記第2のルーチンは、前記制御入力のうちのひとつを第1の機能ブロックに接続すること、前記制御出力のうちのひとつを第2の機能ブロックに接続することにより、ユーザが前記プロセス制御ルーチン内で前記アドバンスド制御エレメントを接続できるようにする請求項44記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項46】
前記第1のルーチンは、フィールドバスプロトコルを用いるフィールドバス機能ブロックとして前記アドバンスド制御エレメントを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項47】
前記第6のルーチンは、モデル予測制御係数として前記アドバンスド制御論理パラメータを生成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項48】
前記第6のルーチンは、ニューラルネットワーク論理パラメータとして前記アドバンスド制御論理パラメータを生成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項49】
前記第3のルーチンは、前記アドバンスド制御エレメントに、前記プロセス入力の各々に送るために前記制御出力の各々で励起波形を発生させるようにする請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項50】
前記第7のルーチンは、前記アドバンスド制御エレメント内に前記プロセスモデルを配置する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項51】
前記コンピュータ読取り可能な媒体上に記憶され、プロセッサ上で実行されるように構成され、前記プロセスモデルからプロセスシミュレーションエレメントを生成する第8のルーチンをさらに備える請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項52】
前記第5のルーチンは、前記収集されたデータのふるい分けを可能化して一組のふるい分けられたデータ生成する別のルーチンを含み、前記第5のルーチンは、前記ふるい分けられたデータから前記プロセスモデルを作成する請求項43記載のプロセス制御ルーチンで用いられるアドバンスド制御エレメントを生成するように構成されるアドバンスド制御エレメント生成システム。
【請求項53】
プロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法であって、前記アドバンスド制御エレメントは前記プロセスのために作成されたプロセスモデルを用いて生成されたものであり、前記方法は、
前記プロセスモデルからプロセスシミュレーションエレメントを生成するステップと、
前記アドバンスド制御エレメントに前記プロセスシミュレーションエレメントを通信可能に接続するステップと、
前記アドバンスド制御エレメントを用いて前記プロセスシミュレーションエレメントを制御するステップとを有するプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項54】
前記アドバンスド制御エレメントを用いて前記プロセスを制御する前に、前記プロセスシミュレーションエレメントに接続されるものとして前記アドバンスド制御エレメントをテストするステップをさらに有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項55】
訓練環境内で前期アドバンスド制御エレメントおよび前記プロセスシミュレーションエレメントを用いるステップをさらに有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項56】
プロセスシミュレーションエレメントを生成するステップは、前記プロセスモデルを変更するステップと、前記変更されたプロセスモデルを用いて前記プロセスシミュレーションエレメントを生成するステップとを有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項57】
前記プロセスシミュレーションエレメントに接続されるものとして前記アドバンスド制御エレメントをテストして、プロセス/プロセスモデル不一致がある場合に前記アドバンスド制御エレメントの動作を決定する請求項56記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項58】
前記プロセスに前記アドバンスド制御エレメントを接続するステップと、前記アドバンスド制御エレメントが前記プロセスシミュレーションエレメントを制御する間に前記アドバンスド制御エレメントを用いて前記プロセスを制御するステップとを有する請求項53記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項59】
前記プロセスのプロセス出力を前記プロセスシミュレーションエレメントと比較してプロセス/プロセスモデル不一致を測定するステップをさらに有する請求項58記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【請求項60】
前記プロセスを制御する際に用いられる前記アドバンスド制御エレメントの入力に前記プロセスシミュレーションエレメントの出力を与えるステップをさらに有する請求項58記載のプロセスを制御することが可能な多入力/多出力アドバンスド制御エレメントを用いる方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−164341(P2012−164341A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−96684(P2012−96684)
【出願日】平成24年4月20日(2012.4.20)
【分割の表示】特願2000−344423(P2000−344423)の分割
【原出願日】平成12年10月4日(2000.10.4)
【出願人】(512132022)フィッシャー−ローズマウント システムズ,インコーポレイテッド (28)
【Fターム(参考)】
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2012−96684(P2012−96684)
【出願日】平成24年4月20日(2012.4.20)
【分割の表示】特願2000−344423(P2000−344423)の分割
【原出願日】平成12年10月4日(2000.10.4)
【出願人】(512132022)フィッシャー−ローズマウント システムズ,インコーポレイテッド (28)
【Fターム(参考)】
[ Back to top ]