(57)【特許請求の範囲】
【請求項１】
プロセスを制御するために使用されるプロセス制御素子であって、
コンピュータ読取り可能媒体と、前記コンピュータ読取り可能媒体に格納されるとともに前記プロセスの制御を実施するプロセッサ上で実行するように構成される制御ルーチンと、前記コンピュータ読取り可能媒体に格納されるとともに前記プロセッサ上で実行するように構成される実行速度ルーチンとを備え、
前記制御ルーチンは、
各入力部が一組の測定されたプロセスパラメータを示す信号のうち異なる一つを受信するように構成されている第一の複数の入力部と、
各出力部が前記一組の測定されたプロセスパラメータを示す信号を制御すべく、前記プロセスに通信可能に結合されている第二の複数の出力部と、
前記第一の複数の入力部が受信した前記測定されたプロセスパラメータを示す信号に応答して、前記プロセッサ上で或実行速度にて前記実行速度により定まる各実行期間中に一度だけ処理を実行し、前記第二の複数の出力部のそれぞれにおいて前記プロセスの運転の制御に使用される制御信号を生成するように機能する制御論理とを備え、
前記実行速度ルーチンは、
前記プロセスに関連する更なるプロセスパラメータの値を受け取り、前記更なるプロセスパラメータの値に基づき前記制御論理の実行速度を計算し、この新たに算出された実行速度を前記制御論理の前記実行速度として使用すべく前記制御ルーチンに供給するように構成される、
プロセス制御素子。
【請求項２】
前記実行速度ルーチンは、前記更なるプロセスパラメータから前記更なるプロセスパラメータの値を高低に振動させる要素を取り除くように、前記更なるプロセスパラメータをフィルタすべく構成されているフィルタを備える請求項１記載のプロセス制御素子。
【請求項３】
前記実行速度ルーチンは、前記フィルタされた更なるプロセスパラメータに基づいて前記制御論理の実行速度を決定する計算ブロックをさらに備える請求項２記載のプロセス制御素子。
【請求項４】
前記計算ブロックによって決定された前記実行速度を制限するように構成されるリミッタをさらに備える請求項３記載のプロセス制御素子。
【請求項５】
前記実行速度ルーチンは、前記更なるプロセスパラメータの線形関数として前記制御論理の実行速度を決定する計算ブロックを有している請求項１記載のプロセス制御素子。
【請求項６】
前記実行速度ルーチンは、前記更なるプロセスパラメータの非線形関数として前記制御論理の実行速度を決定する計算ブロックを有している請求項１記載のプロセス制御素子。
【請求項７】
前記実行速度ルーチンは、第二の更なるプロセスパラメータの値を受信し、前記更なるプロセスパラメータおよび前記第二の更なるプロセスパラメータの関数として前記制御論理の実行速度を決定するようにさらに構成されている請求項１記載のプロセス制御素子。
【請求項８】
前記更なるプロセスパラメータは、プロセススループットを表わし、前記実行速度ルーチンは、前記プロセススループットの値に基づき前記制御論理の実行速度を決定するように構成されている請求項１記載のプロセス制御素子。
【請求項９】
前記制御論理は、前記測定されたプロセスパラメータを示す信号に基づいて前記プロセスのモデル予測制御を実行するように構成されたモデル予測制御論理を含んでいる請求項１記載のプロセス制御素子。
【請求項１０】
前記制御論理は、前記測定されたプロセスパラメータを示す信号に基づいて前記プロセスのニューラルネットワーク制御を実行するように構成されたニューラルネットワーク制御論理を含んでいる請求項１記載のプロセス制御素子。
【請求項１１】
複数のフィールドデバイスを有するプロセスを制御するように構成されたプロセス制御装置であって、
プロセッサと、
メモリと、
前記メモリに格納され、前記プロセスを制御するために一または複数の制御信号を生成するように制御計算を実行すべく前記プロセッサによって実行されるように構成されるとともに、前記プロセッサ上で或実行速度にて前記実行速度により定まる各実行期間中に一度だけ処理を実行するように構成されている制御ルーチンと、
前記メモリに格納され、前記プロセスと関連する動作状況に定義づけられたプロセスパラメータの値に基づき、前記制御ルーチンの実行速度を決定するべく前記プロセッサ上で実行されるように構成される実行速度ルーチンとを備えるプロセス制御装置。
【請求項１２】
前記実行速度ルーチンは、前記プロセスパラメータから前記プロセスパラメータの値を高低に振動させる要素を取り除くように、前記プロセスと関連する前記プロセスパラメータをフィルタするように構成されるフィルタを有している請求項１１記載のプロセス制御装置。
【請求項１３】
前記実行速度ルーチンは、前記プロセスパラメータの前記フィルタされた値に基づき前記制御ルーチンの実行速度を決定する計算ブロックをさらに有している請求項１２記載のプロセス制御装置。
【請求項１４】
前記計算ブロックによって決定された前記実行速度を制限するように構成されたリミッタをさらに有している請求項１３記載のプロセス制御装置。
【請求項１５】
前記実行速度ルーチンは、前記プロセスパラメータの線形関数として前記制御ルーチンの実行速度を決定する計算ブロックを有している請求項１１記載のプロセス制御装置。
【請求項１６】
前記実行速度ルーチンは、前記プロセスパラメータの非線形関数として前記制御ルーチンの実行速度を決定する計算ブロックを有している請求項１１記載のプロセス制御装置。
【請求項１７】
前記実行速度ルーチンは、前記プロセスパラメータ、および、前記プロセスと関連する第二の動作状況に定義づけられた第二のプロセスパラメータの関数として前記制御ルーチンの前記実行速度を決定するようにさらに構成されている請求項１１記載のプロセス制御装置。
【請求項１８】
前記実行速度ルーチンは、プロセススループットに関連する値に基づき前記制御ルーチンの実行速度を決定するように構成されている請求項１１記載のプロセス制御装置。
【請求項１９】
前記制御ルーチンは、測定されたプロセスパラメータを示す信号に基づいて前記プロセスのモデル予測制御を行うモデル予測制御論理を実行するように構成されている請求項１１記載のプロセス制御装置。
【請求項２０】
前記制御ルーチンは、前記測定されたプロセスパラメータを示す信号に基づいて前記プロセスの多重入力／多重出力制御を行うように構成されている多重入力／多重出力制御ルーチンである請求項１１記載のプロセス制御装置。
【請求項２１】
前記制御ルーチンは、前記測定されたプロセスパラメータを示す信号に基づいて前記プロセスのニューラルネットワーク制御を行うように構成されているニューラルネットワーク制御論理を実行するように構成されている請求項２０記載のプロセス制御装置。
【請求項２２】
プロセス内でプロセス制御機能を実行すべく、プロセッサ上において或実行速度にて前記実行速度により定まる各実行期間中に一度だけ制御ルーチンを実行するプロセス制御システムを有するプロセスの制御を支援するために用いられるように構成されているプロセス制御素子であって、
メモリと、
該メモリ上に格納され、前記プロセスに関連する動作状況に定義づけられたプロセスパラメータの値に基づき、前記プロセスの動作中、前記制御ルーチンの実行速度を決定すべくプロセッサ上で実行されるように構成されている実行速度ルーチンとを備えるプロセス制御素子。
【請求項２３】
前記実行速度ルーチンは、前記プロセスパラメータから前記プロセスパラメータの値を高低に振動させる要素を取り除くように、前記プロセスパラメータをフィルタするように構成されたフィルタを有している請求項２２記載のプロセス制御素子。
【請求項２４】
前記実行速度ルーチンは、前記プロセスパラメータの前記フィルタされた値に基づき前記制御ルーチンの前記実行速度を決定する計算ブロックをさらに有している請求項２３記載のプロセス制御素子。
【請求項２５】
前記実行速度ルーチンは、前記計算ブロックによって決定された前記実行速度を制限するように構成されるリミッタをさらに有している請求項２４記載のプロセス制御素子。
【請求項２６】
前記実行速度ルーチンは、前記プロセスパラメータの線形関数として前記制御ブロックの実行速度を決定する計算ブロックを有している請求項２２記載のプロセス制御素子。
【請求項２７】
前記実行速度ルーチンは、前記プロセスパラメータの非線形関数として前記制御ルーチンの実行速度を決定する計算ブロックを有している請求項２２記載のプロセス制御素子。
【請求項２８】
前記実行速度ルーチンは、前記プロセスパラメータ、および、前記プロセスに関連する第二の動作状況に定義づけられた第二のプロセスパラメータの関数として前記制御ルーチンの実行速度を決定するようにさらに構成されている請求項２２記載のプロセス制御素子。
【請求項２９】
プロセスの動作状況に定義づけられたプロセスパラメータの関数であるプロセス遅延を有する前記プロセスを制御する方法であって、
プロセッサにて、
前記プロセスの動作中に、前記プロセスの動作を制御するための制御信号を生成する多重入力／多重出力制御論理を実施する制御ルーチンを、ある実行速度で実行するステップと、
前記プロセスパラメータの値を示す信号を獲得するステップと、
前記プロセスパラメータの値を示す信号の関数として前記制御ルーチンの実行速度を決定するステップとを有しているプロセス制御方法。
【請求項３０】
前記獲得するステップは、前記プロセスの動作中、前記プロセスパラメータの値を測定するステップを含んでいる請求項２９記載の方法。
【請求項３１】
前記獲得するステップは、前記プロセスパラメータの値を示す信号として前記プロセスのスループットを示す信号を決定するステップを含んでいる請求項２９記載の方法。
【請求項３２】
前記獲得するステップは、前記プロセスパラメータの値を示す信号として前記プロセスのフィード速度を示す信号を決定するステップを含んでいる請求項２９記載の方法。
【請求項３３】
前記実行するステップは、前記プロセスパラメータの値を示す信号に基づいて前記プロセスのモデル予測制御を実行するように構成されたモデル予測制御論理を実施する前記制御ルーチンを実行するステップを含んでいる請求項２９記載の方法。
【請求項３４】
前記決定するステップは、前記プロセスパラメータの値を示す信号から前記値を高低に振動させる要素を取り除くように、前記プロセスパラメータの値を示す信号をフィルタするステップを含んでいる請求項２９記載の方法。
【請求項３５】
前記決定するステップは、前記実行速度を制限するステップを含んでいる請求項３４記載の方法。
【請求項３６】
前記決定するステップは、前記プロセスパラメータの値を示す信号の線形関数として前記実行速度を決定するステップを含んでいる請求項２９記載の方法。
【請求項３７】
前記決定するステップは、前記プロセスパラメータの値を示す信号の非線形関数として前記実行速度を決定するステップを含んでいる請求項２９記載の方法。
【請求項３８】
前記プロセスに関連する第二の動作状況に定義づけられた第二のプロセスパラメータの値を示す第二の信号を獲得するステップをさらに有し、
前記決定するステップは、前記プロセスパラメータの値を示す信号および第二のプロセスパラメータの値を示す第二の信号の関数として、前記実行速度を決定するステップを含んでいる請求項２９記載の方法。
【請求項３９】
前記獲得するステップは、前記プロセスパラメータの値を示す信号として、前記プロセスに関連するむだ時間を示す信号を決定するステップを含んでいる請求項２９記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にプロセス制御システムに関し、特に、著しい変動性プロセス遅延の存在下において、モデル予測制御ブロックの如き高度制御ブロックを利用するものに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
化学プロセス、石油プロセス、または他のプロセス等で利用される分散型または拡張可能なプロセス制御システムの如きプロセス制御システムは、アナログバス、デジタルバス、またはアナログバス／デジタルバスを結合したバスを介して、相互に通信可能に結合されており、少なくとも一つのホストまたはオペレータワークステーションに通信可能に結合されており、および一または複数のフィールドデバイスに通信可能に結合されている一または複数のプロセス制御装置を備えているのが普通である。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ（例えば、温度センサ、圧力センサ、および流体速度センサ等）でありうるフィールドデバイスは、バルブの開閉およびプロセスパラメータの測定の如き機能をプロセス内で実行する。プロセス制御装置は、フィールドデバイスにより行われたプロセス測定の結果を示す信号、または／および、これらのフィールドデバイスに関する他の情報を受信し、この情報を利用して制御ルーチンを実行し、そして、制御信号を生成する。これらの制御信号は、バスを介してフィールドデバイスに送信されプロセスの動作を制御する。フィールドデバイスおよび制御装置からの情報は、プロセスの現在の状態の表示、プロセスの動作の修正等の如きプロセスに関する任意の所望の機能をオペレータにより実行されうるようにすべくオペレータワークステーションにより実行される一または複数のアプリケーションが利用できるようになっているのが一般的である。
【０００３】
テキサス州オースチンに本社のあるフィシャーローズマウントシステムズ社によって発売されているDeltaV（登録商標）システムの如きプロセス制御システムによっては、制御動作を実行すべく制御装置または異なるフィールドデバイスに設置されているモジュールと呼ばれる機能ブロックまたは機能ブロック群を利用しているものもある。この場合、制御装置または他のデバイスは、一または複数の機能ブロックまたはモジュールを備えて実行することが可能であり、そのそれぞれは、他の機能ブロックから入力を受信し、および／または、他の機能ブロック（同じデバイス内または異なるデバイス間で）へ出力を供与することが可能であり、そして比例微分積分（PID）制御ルーチンを実行するように、プロセスパラメータの測定または検出、デバイスの制御または制御動作の実行の如きプロセス動作を実行する。プロセス制御システム内の異なる機能ブロックおよびモジュールは、一または複数のプロセス制御ループを形成すべく相互に（例えばバス上で）通信するように構成されているのが普通である。
【０００４】
プロセス制御装置は、流量制御ループ、温度制御ループ、圧力制御ループ等の如きプロセスに対して定義されるかまたはプロセス内に含まれる複数の異なる各ループに、異なるアルゴリズム、サブルーチン、または制御ループ（これらは、全ての制御ルーチンである）を実行すべくプログラムされているのが普通である。一般的に言えば、このような制御ループは、それぞれ、アナログ入力（AI）機能ブロックの如き一または複数の入力ブロックと、比例積分微分（PID）制御機能ブロックまたはファジー論理制御機能ブロックの如き単一出力制御ブロックと、アナログ出力（AO）機能ブロックのような出力ブロックとを備えている。制御ブロックが、バルブ位置等の如き単一のプロセス入力を制御するのに利用する単一の出力を作成するので、これらの制御ループは、単一の入／出力制御を実行するが一般的である。
【０００５】
しかしながら、場合によっては、制御されるプロセス変数が複数の単一プロセス入力によって影響されるため、単一入力／単一出力制御ループがそれほど効果的でないことがあり、事実、各プロセス入力が多くのプロセス出力の状態に影響を与える場合がある。このような一つの例は、例えば、２つの入力ラインによって満たされ、単一の出力ラインによって空にされ、各ラインが異なるバルブにより制御されているタンクであって、該タンクの温度、圧力、およびスループットが所望の値またはそれに近い値になるように制御されているタンクを備えるプロセス内において起こる場合がある。上述したように、このようなタンクの温度、圧力、およびスループットの制御は、別のスループットの制御ループ、別の温度制御ループ、および別の圧力制御ループを利用して実行されうる。しかしながら、このような場合において、タンク内の温度を制御すべく入力バルブの一つの設定を変えるのに温度制御ループを動作すると、タンク内の圧力を上昇させる原因となり、例えば、このことにより、圧力ループがアウトレットバルブを開き圧力を減らす原因となったりする。そして、このアクションはスループット制御ループが入力バルブの一つを閉じる原因となる場合があり、それによって温度に影響を与え、温度制御ループが他のアクションをとる原因になりうる。この例でわかるように、単一の入力／単一の出力ループの使用は、プロセス出力（この場合、スループット、温度、および圧力）が、安定した状態に到達することなく発振する原因となり、望ましいことではない。
【０００６】
モデル予測制御（MPC）または他の種類の高度な制御は、この種の場面において、制御を実行すべく過去において利用されてきた。一般的に言えば、モデル予測制御は、多重入力／多重出力制御方法であり、この方法において、複数のプロセス出力のそれぞれに対する、複数のプロセス入力のそれぞれの変化の影響が測定され、そして、これらの測定された応答がプロセスのモデルを作成すべく利用される。このプロセスのモデルは数学的に反転させられ、多重入力／多重出力制御装置として、プロセス入力に与える変化に基づいて、プロセス出力を制御すべく利用される。場合によっては、プロセスモデルはプロセス入力のそれぞれに対してプロセス出力応答カーブを有するものがあり、これらのカーブは、例えば、プロセス入力のそれぞれに配信される一連の偽ランダムステップ変化に基づいて作成されうる。これらの応答カーブは、公知の方法でプロセスをモデル化するのに利用されうる。モデル予測制御は当該技術分野で公知であり、結果として、その詳細についてはここでは記述しない。しかしながら、モデル予測制御は、概要として、Qin, S. Joe and Thomas A. Badgwell により、１９９６年のAOChE 会議 において「工業モデル予測制御技術の概要」という表題で報告されている。
【０００７】
近年、プロセス制御システムによっては、モデル予測制御（MPC）を利用して多変数プロセスの制御を実現するものもあるが、少なくとも一例としては、このようなプロセス制御システムは、MPCモジュールとして本明細書で参照されている特定のMPC制御ルーチンを策定すべく利用されるプロセスモデルを決定するためにプロセスの自動化テストをサポートしている。このようなアプローチは、１９９９年１０月４日に出願され、表題が「プロセス制御システムにおける一体化した高度制御ブロック」である同時継続特許出願第０９／４１２，０７８号に記載されており、明白に、ここで参照することにより援用せしめる。この場合には、プロセス入力および出力の履歴データを利用してプロセスの動的プロセスモデルを自動的に特定すべく共通に利用可能なツールが利用される。そして、制御システムは、このように決定されたプロセスモデルに基づいてモデル予測制御モジュールによって利用される制御モデルを自動的に生成する。特に、プロセスモデルが決定された後、決定されたプロセスモデルに基づいてプロセス入力とプロセス出力の動的な関係をとらえる複数のステップまたはインパルス応答モデルを用いて、MPCモジュールのための制御モデルまたは制御論理が生成されうる。各ステップまたはインパルス応答モデルは、すべての他の入力が一定の状態での、ある経過した時間において入力ステップまたはインパルスに対する特定のプロセス出力応答を表している。通常、応答モデルは、それぞれ、一般に定常状態到達時間Tssと呼ばれる、プロセスが完全に応答するのに必要な時間にわたり離散する時間軸上の点における一連の係数として表される。係数の数は、標準的には、特定のプロセスの入力／出力相互作用を記述するすべてのステップまたはインパルス応答カーブに対して同じ値であるように選択される。例えば、個々のステップまたはインパルス応答カーブは、それぞれ、定常状態到達時間にまたがり均等に分割された時間間隔において応答を表すのに１２０の係数を有する場合がある。
【０００８】
モデル予測制御定義または論理の生成はステップまたはインパルス応答カーブに基づいているので、これらの応答カーブから生成された制御モデルまたは制御定義は、これらの応答カーブまたはプロセスモデルにおける係数の時間間隔によって表されるサンプル速度で実行されるのが習慣である。例えば、プロセスモデルが１２０の係数よりなる、定常状態到達時間が１２０分である場合、このモデルから生成される制御定義または制御論理は、１分間に一回、即ち、応答カーブの個々の係数間の間隔によって表される時間で実行されることになる。
【０００９】
MPCを実施する場合、プロセスは、線形かつ時間的に不変であると特徴付けられうると想定することが多い。この想定が正しい場合、その時には、正常な工場作業中に特定されたプロセスモデルから生成されるモデル予測制御ルーチンはよく実行されるであろう。しかしながら、プロセス力学がプロセスモデルによって獲得したものから変わった場合、制御が変化以前のプロセスモデルに基づいているため、これらの変化は制御を低下させうる。例えば、場合によっては、プロセスフィード速度は、プロセス入力における変化を反映すべくプロセス出力に対して必要なプロセス遅延時間を変化させることがある。プロセス応答におけるこのような変化は、プロセス全体に亘る搬送遅延に対してプロセスフィード速度が影響して原因になっていることが多い。この一つの例は、漂白するプロセスのおいてタワーを通ってパルプストックを移動するのに必要な時間である。これは、タワー内でプラグ流を取る完全なフィード速度の関数である。この場合、タワー以前に化学物質が添加された結果としての変化を指摘すべくタワーの下流に設置されている光度センサが必要な時間は、パルプストックの流速とともに変化する。
【００１０】
最近、プロセスモデルが変動性プロセス遅延または他の状態に起因して著しく変化する場合に、MPCアプリケーションは複数のプロセスモデル、即ち複数の制御モデルまたは制御定義を用いており、プロセス動作が予測される各領域に対して一つを利用している。ここで、MPC制御ルーチンは、プロセス制御動作状態に基づいて、異なるプロセスモデル間で、即ち異なる制御モデル間でモデルを切り換えている。効果的ではあるが、一方、このアプローチは、複数の制御ルーチンを開発するとともに、制御装置内に格納する必要があり、いうまでもなく、すべての場合において必ずしも必要ではない。
【００１１】
これらの問題がモデル予測制御装置に存在するが、同一のまたは同様な問題が、ニューラルネットワークモデルまたは制御システム、多変量ファジー論理制御装置、リアルタイム最適化装置の如き他の高度多重入力／多重出力制御ブロックまたはシステムの開発および使用において存在している。
【００１２】
【課題を解決するための手段】
高度制御アプリケーションは、大幅に変動するプロセス遅延を有するプロセスにおいて、MPC制御の如き高度の制御を実現すべく、補正ブロックまたはアルゴリズムとともに、単一のプロセスモデルに基づく単一の制御モデルを利用する。補正ブロックは、変動性プロセス遅延の原因である一つまたは複数のプロセス変数における変化を補正すべく高度制御モジュールの実行期間を変更する。この高度制御システムを使用することにより、プロセス出力における遅延がプロセスフィード速度またはスループットの如き測定可能なプロセス変数または制御変数に反映する場合において、プロセスの異なる操作領域に対して異なる高度制御モデルまたは制御定義を実装する必要性がなくなる。
【００１３】
一つの実施例において、高度制御素子は、プロセス制御システム内においてモデル予測制御、ニューラルネットワーク制御等の如き多重入力／多重出力制御を実現する。例えば、制御装置内において、コンピュータ読取り可能な媒体に格納できるとともに、プロセッサ上で実行できる高度制御素子であって、第一の複数の入力部を備え、各入力部が一組のプロセスパラメータの内異なる一つを受信するように構成されており、第二の複数の出力部を備え、各出力部が前記一組のプロセスパラメータを制御すべく、異なるプロセス入力部に通信可能に結合されているように構成されており、前記第二の複数の出力部のそれぞれにおいて制御信号を生成すべく前記第一の複数の入力部に応答する制御論理を有する制御ブロックを備えうる。また、高度制御素子は、好ましくはプロセス遅延を引き起こすパラメータの数値を受信するように構成されるとともに、前記パラメータに基づいて前記制御論理のために実行速度を計算するように構成された実行速度ブロックを備えうる。前記実行速度ブロックは、前記パラメータをフィルタするように構成されたフィルタと、前記パラメータの線形または非線形関数として前記制御論理のための実行速度を決定する計算ブロックと、前記計算ブロックによって決定された実行速度を制限するように構成されたリミッタとを備えうる。
【００１４】
【発明の実施の形態】
図１を参照すると、プロセス制御システム10は、データ履歴部12と、一もしくは複数のホストワークステーションまたはコンピュータ13（これは、どのような種類のパーソナルコンピュータ、ワークステーション等であってもよい）に接続されているプロセス制御装置11を備えており、ホストワークステーションまたはコンピュータは、それぞれ、表示スクリーン14を有している。また、制御装置11は、入力／出力（I/O）カード26および28を介してフィールドデバイス15〜22に接続されている。データ履歴部12は、データ格納のための、所望の種類の任意のメモリと、所望または周知の任意のソフトウェア、ハードウェア、またはファームウェアを有するならばどのような所望の種類のデータコレクションユニットであってもよい。データ履歴部12は、ワークステーション13の一つから分かれていてもよく（図１に例示すように）、またはこのワークステーションの一つの一部であってもかまわない。制御装置11は、一例として、フィッシャーローズマウントシステムズ社 によって販売されているDeltaV（登録商標）制御装置であってもよく、例えば、イーサネット（登録商標）接続またはその他所望の任意の通信ネットワークを介して、ホストコンピュータ13およびデータ履歴部12に通信可能に接続されている。また、制御装置11は、例えば、標準4-20 maデバイスに関連する任意の所望のハードウェアおよびソフトウェア利用して、または／および、FOUNDATION Fieldbus プロトコル、HARTプロトコル等の如き任意のスマート通信プロトコルを利用して、フィールドデバイス15〜22に通信可能に接続されている。
【００１５】
フィールドデバイス15〜22は、センサ、バルブ、トランスミッタ、ポジショナ等の如きどのような種類のデバイスであってもよく、一方、I/Oカード26および28は、どのような所望の通信および制御装置プロトコルにでも適合するどのような種類のI/Oデバイスであってもかまわない。図１に例示される実施例においては、フィールドデバイス15〜18は、I/Oカード26にアナログライン上で通信する標準4-20 maデバイスであり、一方、フィールドデバイス19〜22は、Fieldbus プロトコル通信を利用してデジタルバス上でI/Oカード28に通信するFieldbusフィールドデバイスの如きスマートデバイスである。もちろん、フィールドデバイス15〜22は、将来開発されるどのような標準またはプロトコルを含む他の所望の標準またはプロトコルにでも適合することが可能である。
【００１６】
制御装置11は、制御ループを有しうる一または複数のプロセス制御ルーチン（メモリ22に格納されている）を実行または監視する、制御装置内に格納されるまたはそうでなければ制御装置に関連付けられているプロセッサ20を備え、任意の所望の方法でプロセスを制御すべくデバイス15〜22、ホストコンピュータ13、およびデータ履歴部12と通信する。なお、本明細書で記載される制御ルーチンまたは素子のいずれでも、所望ならば、異なる制御装置または他のデバイスによって実施または実行される部分を有しうる。同様に、プロセス制御システム10内で実現される本明細書で記載される制御ルーチンまたは素子は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を取りうる。この開示の目的の場合、プロセス制御素子は、例えば、任意のコンピュータ読み取り可能媒体上に格納されるルーチン、ブロック、またはモジュールを有するプロセス制御システムの任意の一部または部分でありうる。サブルーチンやサブルーチンの一部（命令行）の如きモジュールまたは制御手順の一部でありうる制御ルーチンは、オブジェクト指向プログラミングの利用、ラダー論理、逐次機能チャート、機能ブロックダイアグラムの利用、他の任意のソフトウェアプログラム言語もしくはデザインパラダイムの利用の如き任意の所望のソフトウェア形態で実現されうる。同様に、制御ルーチンは、例えば、一つまたは複数のEPROM、EEPROM、特定用途向け集積回路（ASIC）、または他の任意のハードウェア素子もしくはファームウェア素子の中にハードコードされうる。さらに、制御ルーチンは、グラフィックデザインツールまたは他の任意の種類のソフトウェア／ハードウェア／ファームウェアプログラミングもしくはデザインツールを利用して設計されうる。このように、制御装置11は、任意の所望の方法において制御戦略または制御ルーチンを実現するように構成されうる。
【００１７】
一つの実施例において、制御装置11は、機能ブロックと一般に呼ばれるものを利用して制御戦略を実現しており、各機能ブロックは、全体の制御ルーチンの一部（例えば、サブルーチン）であり、他の機能ブロックと連結して（リンクという通信を介して）動作し、プロセス制御システム10内でプロセス制御ループを実施している。機能ブロックは、トランスミッタ、センサ、もしくは他のプロセスパラメータ測定デバイスに関連する入力機能や、PID制御やファジー論理制御などを実行する制御ルーチンに関連する制御機能や、またはバルブのようなあるデバイスの動作を制御する出力機能の一つを実行し、プロセス制御システム10内である物理的機能を実行しているのが普通である。もちろん、ハイブリッドおよび他の種類の機能ブロックもある。機能ブロックは、制御装置11に格納されこの制御装置により実行されることがあり、この場合とは、これらの機能ブロックが、通常標準4-20 maデバイスおよびHARTデバイスの如きスマートフィールドデバイスの一部の種類に利用されるかまたは関連付けられている場合である。あるいは、機能ブロックは、フィールドデバイス自体に格納されこのフィールドデバイスにより実施されることがあり、この場合とは、Fieldbusデバイスの場合である。なお、制御システムが、機能ブロック制御戦略を用いて本明細書で記載されているが、制御戦略（制御ループまたはモジュール）は、ラダー論理、逐次機能チャート等の如き他のコンベンションを利用して、または他の任意の所望のプログラム言語もしくはパラダイムを利用しても実施または設計されうる。
【００１８】
図１のブロック30の分解図によって図示されるように、制御装置11は、ルーチン32および34として例示された複数の単一ループ制御ルーチンを有しうるし、所望ならば、制御ループ36として例示された一または複数の高度制御ループを実装してもよい。このようなループは、それぞれ、制御モジュールとして言及されているのが一般的である。単一ループ制御ルーチン32および34は、適切なアナログ入力（AI）機能ブロックおよびアナログ出力（AO）機能ブロックにそれぞれ接続される単一入力／単一出力ファジー論理制御ブロックおよび単一入力／単一出力PID制御ブロックを用いて単一ループ制御を実行するように例示され、これらの機能ブロックは、バルブの如きプロセス制御デバイス、温度および圧力トランスミッタの如き測定デイバス、またはプロセス制御システム10内の他の任意のデバイスと関連付けられてもよい。高度制御ループ36は、多数のAI機能ブロックに通信可能に接続された入力部とともに多数のAO機能ブロックに通信可能に接続された出力部を備える高度制御ブロック38を有するように図示されているが、高度制御ブロック38の入力部および出力部は、他の種類の入力を受信し、他の種類の制御出力を供与すべく任意のその他所望の機能ブロックまたは制御素子に接続されてもかまわない。高度制御ブロック38は、一または複数のプロセス入力部に制御信号を与えることにより、二つまたはそれ以上のプロセス出力部を制御するように用いられる任意の種類の多重入力／多重出力制御ブロックであってもよい。高度制御ブロック38は、モデル予測制御（MPC）ブロックとして本明細書に記述されているが、高度制御ブロック38は、ニューラルネットワークモデル化または制御ブロック、多変量ファジー論理制御ブロック、リアルタイム最適化ブロック等の如き任意のその他多重入力／多重出力ブロックでもよい。なお、高度制御ブロック38を含む図１に例示される機能ブロックは、制御装置11によって実行することが可能であるが、これに代えて、ワークステーション13の一つ、フィールドデバイス19〜22の一つの如き任意のその他処理デバイス内に設置し、このデバイスによって実行されてもよい。
【００１９】
もちろん、制御装置内でMPCまたは他の高度制御ブロックを利用することは公知であり、一般的に、プロセス産業内で従来のMPC設備の主要な目的の多くは、例えば、蒸留コラムのような大きいユニットのスループットを最大化することである。動作制約下でプロセスを維持すべくMPCシステムの能力を利用すると、ほとんどの場合、このような設備のスループットの１〜３パーセントの増加を達成することが可能である。しかしながら、これらの動作状態においては、プロセスのスループットが非常に小さい範囲で変化することが予測され、その結果として、プロセス応答のスループットの影響がわずかであることが多い。このような理由で、標準的なスループットで特定されるプロセスモデルを用いて生成される制御モデルまたは制御定義を用いることで、フィード速度、即ちプロセス遅延が狭い範囲で変化するような場合には正確な制御を行うことができる。
【００２０】
しかしながら、パルプおよび紙産業における白色度制御、アンモニア産業等における紙機械MD制御、H/N比制御等の如き非従来的な設備では多くの場合、スループットの如きあるプロセス変数の大きな変化によって、プロセスむだ時間またはプロセス遅延に大きな変化を引き起こす。過去において、このような種類のプロセスがMPCを実現する限りにおいては、このようなプロセスは、本質的に、プロセスの異なる動作領域に対して定義されている異なるプロセスモデルを用いる制御スイッチングを利用して実現しなければならなかった。ここで、動作領域はプロセスのスループットによって主として定義される。この技術を利用して、プロセスモデルは複数の動作状態でそれぞれ特定され、異なるMPC制御モデルが、これらの異なるプロセスモデルに対してそれぞれ生成される。プロセス状態が変化する場合、例えば、スループットが変化する場合、MPC制御装置が現在のプロセス状態に合った制御定義またはモデルに切り換える。このように、この技術を利用して、多くの異なるMPC制御モデルが、多くの異なるプロセスフィード速度またはスループットに対して定義されるとともに格納される。この種の制御スイッチングは、非常に一般的アプローチであり、これにより、測定されるプロセス変数の関数であるならばどのような非線形でも解くことが可能になる。しかしながら、この技術を適用するには、異なる動作状態における制御モデルを生成するために、複数のプロセスモデルを特定しなければならない。複数のプロセスモデルおよび制御定義を導入すると、ひとつのMPC制御システムに依存かつ維持することの複雑さが増大する。
【００２１】
しかしながら、プロセス遅延が、スループットの如きある特別の一組のプロセス（または制御）パラメータの関数として主に変化する場合は、高度制御ブロックにおいて制御スイッチングの複雑さを避けることが可能であるのが分かってきた。事実、この場合には、プロセス遅延が非常に変化する場合でさえ、すべてまたは大部分のプロセス制御状態においてMPC（または他の高度制御）を実現するのに同じプロセスモデルが利用できると判断されてきている。特に、高度制御ルーチンまたは制御モデルを定義するためと、プロセス遅延に引き起こすプロセスパラメータまたは制御パラメータの関数として制御ルーチンの実行速度を変化させることにより、プロセス動作範囲の全体に亘って効果的なMPCまたは他の高度制御を実行するために単一プロセスモデルを利用することが可能である。図１のシステムにおいて、この実行速度補正を実現する一つの方法は、MPCブロック38の実行速度を制御する信号を与える別の実行速度修正ブロック40を備えることである。図１に示されるように、実行速度修正ブロック40は、プロセス遅延に重大な影響を及ぼすプロセスパラメータまたは制御パラメータ（ここではプロセスパラメータ）の値を示す信号を受信する。この場合、実行速度修正ブロック40に信号を与えるAIブロックが、プロセススループットまたはフィード速度を示す信号を与えてもよい。どのような場合にも、プロセスパラメータの値に基づき、実行速度修正ブロック40は実行速度信号を判定し、MPCブロック38にこのような信号を供与する。そして、MPCブロック38は実行速度信号によって特定された速度で実行してプロセス制御を行う。
【００２２】
この概念の一例として、図２（ａ）および図２（ｂ）は、二つの異なるスループット、即ち１分間につき５００ガロン（GPM）のスループットと、１０００GPMのスループットとにおけるフィード速度又はスループットの線形関数であるプロセス遅延を有するプロセスのステップ応答を示している。なお、この場合、定常状態到達時間（Tss）は、５００GPM速度（図２（ａ））での値は、１０００GPM速度（図２（ｂ））での値の２倍である。さらに、プロセスの応答は、時間スケールが１０００GPMの場合には変更、即ち減少させてあることを除き、５００GPMの場合と１０００GPMの場合とは基本的に同じである。換言すれば、このプロセスは、１０００GPMスループットでは、５００GPMスループットで到達する半分の時間で定常状態に到達する。
【００２３】
事実、図２（ａ）および図２（ｂ）の二つのステップ応答を比較すると、唯一の違いは、ステップ応答が異なる定常状態到達時間上に展開している、即ちステップ応答の係数（各場合において同数の係数があると仮定して）は同じであるが、係数間の時間差がフィード速度に逆比例しているということである。結果として、異なるプロセススループットで決定されたプロセスモデル（同じ数の係数を有して）に対して生成された制御モデルは、制御実行速度が異なることを除き（状態を安定させるためのモデル時間が時間のより長い期間におよぶという理由で）、基本的に同じである。このように、プロセス遅延が、フィード速度、スループット等の如きプロセス変数の考証可能な関数（線形または非線形）である場合、MPC制御ルーチンの制御実行速度を調整してプロセスむだ時間のばらつきを補正することが可能である。
【００２４】
MPC制御ブロックまたはルーチンの実行期間における補正は、次のような方程式によって、プロセスむだ時間がプロセススループットの線形関数である場合に数学的に決定されうる。
【００２５】
0004194396.tif 000002
この式において、
Tss＝高度制御ルーチンを生成すべく用いられるモデルの定常状態到達時間
Nc＝モデルにおいて用いられる係数の数
Fn＝データがプロセスモデルを生成すべく収集されたときのプロセススループット
Fa＝プロセスの現在のスループット
もちろん、実行速度は実行期間における実行速度である。さらに、任意の現実的な実施の際には、計算された実行期間または速度は、制御システムによって裏付けられる値に限定され且つ制限される値である必要がある。また、現在測定されたスループットの値は、プロセスノイズの影響を消去すべく厳しくフィルタされている。
【００２６】
もう一つの実施例においては、MPCブロック実行速度は、プロセスモデルを作成するのに用いられた定常状態到達時間および固定した数のモデル係数（例えば、１２０）を利用して計算されうる。そして、計算されたMPCブロック実行速度およびモジュール実行速度に基づき、MPCブロック実行マルティプライヤは、次の式に従って正しいブロック実行時間を与えるように自動的に設定される。
【００２７】
MPCブロック実行時間＝モジュール実行時間＊MPCブロック実行マルティプライヤ
この場合、プロセスむだ時間における変化は次のようにMPCブロック実行マルティプライヤを調整することによって訂正されうる。
【００２８】
MPCブロック実行マルティプライヤ＝整数（Mn＊（Fn/Fa））
この式において、
Mn＝オリジナルMPCブロック実行マルティプライヤ
Fn＝データがプロセスモデルを生成するように収集された場合のプロセスのスループット
Fa＝プロセスの現在のスループット
計算された実行マルティプライヤは、１に等しいかまたはそれより大きい値に限定され、測定された変数、例えば、スループット（Fa）は、フィルタされるとともに、標準動作に対して予測される範囲に限定される必要がある。
【００２９】
もちろん、このような同じ概念は、プロセスパラメータの他の種類に対してと同様、プロセスむだ時間と測定されたプロセスパラメータとの間の線形関係以外に対しても適用できる。事実、一般的に言えば、DT＝f（X, Y, Z...）の関係は、DTがプロセスむだ時間であり、f（X）がプロセスパラメータまたは制御パラメータX, Y, Zの線形または非線形関数である特定プロセスに対して定義できる。そして、計算されたDTに基づき、MPC機能ブロック走査期間または実行速度は、定義された関係に従って調整できる。例えば、調整された実行期間は、オリジナル実行期間に実際のむだ時間をオリジナルむだ時間で除算した比を掛けることにより決定しうる。
【００３０】
所望ならば、MPCブロックの実行速度への調整は、プロセス遅延時間またはむだ時間をもたらす一または複数のプロセス／制御変数の測定結果に基づき自動的に実行してもよい。図１に例示する一つの場合には、複合ブロックを、スループット入力または他のプロセス／制御変数の関数としてMPCブロックの実行速度を修正すべく用いることができる。一方、所望ならば、この能力を、MPCブロック（または他の高度制御ブロック）に一体化してもよい。もちろん、MPCブロックの開発の際にオペレータに示される制御パラメータおよび制限パラメータの予測をオペレータに示し、オペレータの要求に従って、オペレータがこの機能を利用するか否かを選択するようにしてもよい。
【００３１】
さらに、任意の他の方法で測定または取得された任意のプロセス変数または制御変数を用いて、実行速度を決定しうる。例えば、オペレータは、使用する変数の値を手動で決定するかまたは取得して、設定ポイント信号として実行速度ブロックにこのような値を送信してもかまわない。ある場合には、オペレータは、オペレータが利用可能な他の因子に基づいて、スループットまたはプロセス速度を定期的に決定して、実行速度ブロックにこの速度を示す信号を送信してもかまわない。しかしながら、所望ならば、その代わりに、オペレータまたは他のユーザは、プロセスむだ時間を手動で決定するかまたは測定して、決定されたむだ時間の指標を実行速度ブロックに送信してもかまわない。この場合、実行速度ブロックは、プロセスむだ時間を直接入力変数として利用し、制御論理の実行速度を変更してもよい。言うまでもなく、むだ時間は一般的に実行速度と直接関連しており（即ち、プロセスむだ時間が増加するにつれて、実行速度は増加する）、一方、プロセススループットは、実行速度に一般的に反比例する（即ち、スループットが増加するにつれて、実行速度が減少ずる）。もちろん、プロセスむだ時間およびスループット以外の他の変数を利用することが可能であり、これらの変数の値が、自動的に、手動により、直接または実験的な観察または測定などの任意の方法で求められてもよい。
【００３２】
図３は、特定のプロセス制御モデルのために開発した、入力／出力曲線のマトリックス53と制御論理54とを有する制御モデル52を備えた制御ブロック50、この場合は、高度MPC制御ブロックを例示している。MPC制御ブロック50は、多重入力／多重出力制御を実行すべく、これらの曲線および開発した論理を利用する。図３で例示されるように、MPCブロック50は、プロセス55に複数の制御出力（プロセス入力）与え、プロセス55を制御する。また、MPCブロック50は、MPCブロックおよび特に制御論理54に入力として利用される複数のプロセスパラメータまたは変数（プロセス出力）を受信するように、プロセス55に接続されている。いうまでもなく、MPCブロック50は、MPCブロックの入力（プロセス出力またはプロセス変数）を所望の値にするように決定される信号を、制御モデル52を利用しその出力部に与える。しかしながら、プロセス変数の一つ、この場合、スループットもまた実行速度ブロック58に与えられる。実行速度ブロック58は、プロセス遅延またはむだ時間に最も顕著に影響を及ぼす値であるプロセス変数の値を利用して、MPC論理ブロック54の実行速度または期間を決定する。補正ブロック58の出力はMPC論理ブロック54に与えられ、MPC論理ブロック54の実行速度を決定する。
【００３３】
所望ならば、実行速度ブロック58は、プロセス変数のノイズまたは一時的な変化に基づく、ブロック50の実行速度の変化を減少すべく、入ってくるプロセス変数（パラメータ）をフィルタするフィルタ60を有しうる。例えば、フィルタはローパスフィルタでもよいし、任意の所望のアナログまたはデジタルフィルタリング技術を利用して実現してもよい。次いで、フィルタされたプロセス変数信号は、計算ブロック62に与えられ、計算ブロックは、上述の技術に基づき、ブロック50に対する新しい実行速度をフィルタされたプロセス変数の値に基づいて計算または決定する。次いで、この新しい実行速度は、リミターに与えられ、実行速度が整数値であり、ブロック50が設置されているデバイスまたはシステムによって支持されることが可能な実行速度の範囲内であることが確認される。次いで、限定された実行速度は、制御論理54に与えられ、そのブロックの実行速度が決定される。
【００３４】
もちろん、実行速度補正ブロック58は、高度制御ブロック50の実行速度を決定すべく上述の式または関係を利用しうる。特に、補正ブロック58は、制御モデル52に基づいてMPCブロック50が動作するように設計されている実行速度を格納してもよく、そして、制御モデル52は、この制御モデル52の作成に利用されたプロセスモデルを作成すべくデータが収集されていた間のプロセスのスループットの値に基づいている。その結果、このスループットが変化する場合、補正ブロック58は、プロセス変数（この場合、スループット）とプロセス遅延との間の公知の関係を利用し、MPC論理ブロック54の新しい実行速度を計算する。もちろん、プロセス変数とプロセスむだ時間との関係は、線形または非線形でもよく、実行速度ブロック58は、プロセス遅延が複数の変数またはパラメータの関数である場合、新しい実行速度を決定すべく複数のプロセス関数を利用してもかまわない。さらに、この例においては、プロセス変数はスループットまたはフィード速度であるが、プロセス遅延に影響を及ぼすプロセス変数または制御変数ならばどのような他のものでも利用することができ、実行速度ブロック58に与えることができる。したがって、注意すべき点は、MPCブロック50の新しい実行期間または速度は、一または複数のプロセスまたは制御変数の線形または非線形関数であってもよく、一または複数のプロセス変数とプロセス遅延の間の関係に依存するであろうということである。さらに、図３の実行速度ブロック58は、制御論理ブロック54にも与えられかつプログラミング制御信号計算に利用されるプロセス変数を利用しているが、そうである必要はない。事実、制御ブロック50の残りの部分によって利用されていない別の信号やプロセス変数を、実行速度ブロック58に与えてもよい。
【００３５】
図４は、プロセス遅延がスループットの関数として大きく変化するプロセスに対して実行速度補正を有するMPC制御の効果と実行速度補正を有しないMPC制御の効果とを例示している。この例においては、プロセスモデルは決定され、制御モデルを構築するのに利用された。初期のモデルパラメータおよび特定結果は下記の表１において例示されている。
【００３６】
【表１】
0004194396.tif 000003
【００３７】
この場合、振幅５％の標準疑似ランダム信号が操作変数（MV）に加えられた。また、表２の正弦波信号、矩形波信号、およびランダム信号の重畳信号が擾乱変数（DV）に加えられた。
【００３８】
【表２】
0004194396.tif 000004
【００３９】
なお、制限変数（CV）に対する操作変数（MV）の関係は、非常に正確に特定されたが、CV-DVの関係は、プロセスとモデルとの間の著しいミスマッチを表している。このようなミスマッチは、特定する目的に対して励起振幅が不十分であるのが原因であり、擾乱依存ステップ応答が不十分に励起かつ特定される実際の状況を反映するように意図的に選択された。この例のためのプロセスモデルは、Tss＝２４０秒、係数の数が１２０、２秒のスキャン期間または実行期間で構成された。プロセスむだ時間は、プロセス状態によって変化する（スループット、速度など）と仮定された。
【００４０】
図４のポイントＡで始まる最初のテストは、通常のMPC制御パラメータを使い、プロセスモデルを作成するのに利用されたプロセススループットで実行された。図４から明らかなように、MPCブロックは、設定ポイントの変化および擾乱補正に対して適切に機能した（図４−ポイントA  からポイントBまで）。ポイントB（１０：４３）においては、プロセススループットにおけるシミューレションされた変化の結果として、シミューレションされたプロセスにおけるむだ時間は、６０秒から１２０秒に増加した。ポイントBの後、設定ポイントが変更され、設定ポイントの変化に応答してMPCブロックによる発信制御状態になったが、これは、実際の状況においてはまったく受け入れられないことである。
【００４１】
この状況を是正するために、上述の概念に従って、図４のポイントＣにおいて、MPCブロックのスキャン期間が２秒から４秒に増やされた。ポイントＣの後、制御ループは、ポイントC後の設定ポイント変更および擾乱補正を観点にいれても、適切に特定されたプロセスモデルテストの初期に達成した機能にかなり近い機能に戻った。特に、制御システムは、設定ポイントの変化に応答してポイントDおよびEで適切に応答した。結果として、MPCブロックの実行速度を適切に補正すると、プロセス状態（この場合、スループット）の変化に起因するプロセスむだ時間または遅延の変化が補正されることが，図４から理解できる。
【００４２】
もちろん、MPCまたは他の高度制御ブロックは、任意の所望の方法で作成し、制御装置または他のデバイスにダウンロードされてもよい。図１に例示するように、ワークステーション13のひとつは、本明細書でさらに詳細に記載する方法で、図１の高度制御ブロック38（および実行速度ブロック40）または図３のブロック50を作成、ダウンロード、そして実施すべく利用される高度制御ブロック生成ルーチン140を有しうる。高度制御ブロック生成ルーチン140は、ワークステーション13内のメモリに格納され、ワークステーション中のプロセッサによって実行されうるが、これに加えてまたはこれに代えて、このルーチン（またはその任意の部分）は、所望ならば、プロセス制御システム10内の任意の他のデバイス内に格納され、その任意の他のデバイスにより実行されてもよい。一般的に言えば、高度制御ブロック生成ルーチン140は、高度制御ブロックを作成するとともに、プロセス制御システム内にこの高度制御ブロックを接続する制御ブロック作成ルーチン142と、高度制御ブロックによって収集されたデータに基づきプロセスまたはその一部に対してプロセスモデルを作成するプロセスモデル化ルーチン144と、このプロセスモデルから高度制御ブロックの制御ブロックパラメータを作成するとともに、プロセス制御に利用するために高度制御ブロックにこれらの制御論理パラメータを格納またはダウンロードする制御論理パラメータ創生ルーチン146とを有する。明らかになるように、ルーチン142、144、および146は、プロセス出力を受信するように構成された制御入力を有するとともにプロセス入力に制御信号を与えるように構成された制御出力を有する高度制御素子を作成する第一のルーチンと、プロセス制御ルーチン（どのような所望のコンフィギュレーションルーチンでもよい）内の高度制御素子にユーザが通信可能に接続できる第二のルーチンと、高度制御素子を利用してプロセス入力のそれぞれに励起波形を与える第三のルーチンと、高度制御素子を利用して励起波形に各プロセス出力の応答を反映するデータを集める第四のルーチンと、収集されたデータからプロセスモデルを作成する第五のルーチンと、プロセスモデルから高度制御論理パラメータを作成する第六のルーチンと、高度制御素子がプロセスを制御することを可能にすべく高度制御素子内に高度制御論理および、必要ならば、プロセスモデルを設置する第七のルーチンと、の如き一連の異なったルーチンで構成されてもよい。
【００４３】
図５を参照すると、フローチャート150は、図１のプロセス制御システム10の如きプロセス制御システム内で、高度制御ブロックおよび、特に、実行速度補正を有するMPC制御ブロックとを作成するとともに利用するステップを例示している。図５のフローチャート150は、MPCブロックまたはモジュールの作成を例示しているが、同一のまたは同様のステップを実行して、ニューラルネットワークモデル化または制御ブロック、多変数ファジー論理制御ブロック等のような任意の多重入力／多重出力制御ブロックの如き他の任意の高度制御ブロックを作成するとともに利用してもよい。
【００４４】
まず、152のある時点において、MPC手続きを実施することによってプロセス制御システム10内で制御を向上または実施することが決定される。この決定は、プロセス制御システム10が最初にセットアップされたときか、または、例えば単一ループ制御ルーチンのような他の制御ルーチンが不適切な制御を行ったことが分かった後しばらくしてからなされてもよい。152の時点では、オペレータまたは他のユーザは、MPCブロック生成ルーチン140を実行して、プロセス制御システム内の実行速度補正を有するMPCモジュールまたは制御ループを作成するステップを開始する。このプロセスの一部として、オペレータは、MPCブロックの出力部が接続されるようにデザインされたプロセス入力部を選択し、MPCブロックの入力部が接続されるようにデザインされたプロセス出力部を選択する。MPCブロックは、どのような数の入力部および出力部でも有しうるが、通常、各MPCブロックは、設定ポイント（または設定範囲内）で維持されるプロセス変数またはパラメータである制御パラメータ入力と、例えば、プロセスに付随する物理的制限に基づき特定の制限または範囲に限定されるプロセス変数またはパラメータであるとともに、MPCブロックがその限定された範囲および制限の外に置かれてはならない限定入力と、変更すると制御パラメータを変えてしまうことが分かっているプロセス入力の如き他のプロセス変数であるプロセス擾乱パラメータ入力との３種類の入力を有している。MPCブロックは、プロセス擾乱パラメータ入力を利用し、制御パラメータ（即ち、制御プロセス出力）への変化を監視するとともに、影響が起こる前にこれらの変化の影響を制限している。また、MPC制御ブロックがこれらの素子をより効果的に制御することを可能にしている制御デバイスまたは他のプロセス素子からのフィードバックの如き他の入力をMPCブロックに与えてもよい。同様に、MPCブロックの出力部は、制御ループ入力、デバイス制御入力等を含む任意の所望のプロセス変数または他のプロセス入力を制御すべく接続されてもよい。MPCブロックを他の制御素子に接続することによって展開されるルーチンは、MPCモジュールと本明細書では呼んでいる。ユーザはMPC機能ブロックを作成しうるが、また、ユーザは、機能ブロックの履歴部の如きメモリから最初の機能ブロックを得て、プロセス制御システム内で利用すべく、この機能ブロックを用いるかまたはこの機能ブロックのインスタンスを作成してもよい。同様に、ユーザまたは他のプロバイダは、任意の他の所望の方法で機能ブロックまたは他の制御素子を実現してもよい。
【００４５】
このときに、ユーザは、一または複数のプロセスまたは制御変数とプロセスむだ時間との間の関係を判定または特定してもよい。この関係は、線形関数、複数の異なった可能な非線形関数等の如き等式としてまたは複数の公知の可能性のある関係の一つとして特定されてもよい。さらに、ユーザは、所望ならば、システムに一または複数のプロセスまたは制御パラメータと、プロセスむだ時間との間の関係を判定するように指示してもよい。
【００４６】
ステップ154で、オペレータは、実行速度補正ブロックと同様に、プロセス制御システム内で通信可能に接続された特定の入力部および出力部を有するMPCブロック（このブロックは、モデル予測制御を実行するのに必要な情報のすべてをまだ有していない）を有するMPCモジュールを作成し、MPCモジュールを実施する適切な制御装置または他のデバイスにこれらのブロックまたはモジュールをダウンロードする。このプロセスの一部として、オペレータは、MPCブロックの出力部を適切なプロセス入力部に通信可能に接続するとともに、MPCブロックの入力部を適切なプロセス出力部に通信可能に接続することによってMPCブロックを実施すべくプロセス制御システム10を設定する。
【００４７】
図６を参照すると、MPCブロック156は、プロセス158に接続されるように例示されている。MPCブロック156は、三つの入力部IN1〜IN3と三つの出力部OUT1〜OUT3とを有する３ｘ３制御ブロックと、を有しており、一方プロセス158は、入力部X1〜X5と、出力部Y1〜Y6とを有している。もちろん、MPCブロック156およびプロセス158は、他の任意の数の入力および出力を有しうる。MPCブロック156は四角形のブロック、即ち出力数と同数の入力数を有しているが、この構成は必須というわけではなく、MPCブロック156は、異なる数の入力と出力を有してもかまわない。図６に例示するように、オペレータは、プロセス出力部Y1〜Y3をMPCブロック入力部IN1〜IN3にそれぞれ通信可能に接続し、MPCブロック出力部OUT1〜OUT3をプロセス入力部X1〜X3にそれぞれ通信可能に接続している。もちろん、プロセス158の任意の入力および出力を、プロセス制御システム10に関連する他の制御ルーチン内の他の制御ループまたは他の素子に接続してもよい（図６内のプロセス入力および出力に接続される破線により示されるように）。ここで、オペレータは、プロセス遅延を引き起こす一または複数のプロセス変数を実行速度補正ブロック160に結合してもかまわない。一般的にいえば、MPCブロック156と制御入力をプロセス158に供与しうる残りのブロック（プロセス入力部X1〜X3に接続される破線により例示されるように）とは、ある種のスイッチを介して接続される。これらのスイッチは図６内のボックス162により例示されている。スイッチ162は、ハードウェアスイッチまたはソフトウェアスイッチであってもよく、所望ならば、異なる制御入力信号をFieldbus機能ブロックの如き機能ブロックの異なる入力に搬送し、そこで、MPCブロック156からの制御信号と、PID機能ブロックの如き異なる機能ブロックからの制御信号とを、これら二つの信号を受信する機能ブロックのモードに基づいて、選択することにより実現してもよい。
【００４８】
もちろん、オペレータは、任意の所望の方法でMPCブロック156をプロセス158に接続することができ、そして、一般的には、同一の制御コンフィギュレーション、またはプロセス制御システム10内の単一ループ制御ルーチンの如き他の制御ループを作成すべくオペレータが利用する設計プログラムを用いる。例えば、オペレータは、MPCブロック156と、プロセス入力および出力との間の接続を特定するために所望の任意のグラフィカルプログラムルーチンを利用しうる。この方法で、MPCブロック156は、他の制御ブロック、素子、またはルーチンと同一の方法で支援され、これにより、制御システム10内のMPCブロック156のコンフィギュレーション及び接続ならびにこのブロックの支援を前記制御システム内の残りのブロックのコンフィギュレーション、接続、および支援と違わないものにしている。一つの実施例においては、制御システム10内の残りのブロックと同様に、MPCブロック156は、Fieldbus機能ブロックと同一かまたは同様であるように設計された機能ブロックである。この実施例においては、MPCブロック156は、Fieldbusプロトコルに特定されているまたは規定されている同一のまたは同様の種類の入力、出力を有し、Fieldbusプロトコルに特定されているものと同一のまたは同様の通信リンクを利用して、例えば制御装置11により実行されることが可能である。グラフィックスを用いてプロセス制御ルーチンおよびその素子を作成する一つの方法は、「プロセス制御環境を設定するシステム」という表題の米国特許第5,838,563号においてドーブ等により記載されており、この特許は本明細書において参照することによりはっきりとここで援用する。もちろん、他の制御ループ設計戦略または制御モジュール設計戦略も同様に用いることができ、例えば、プロセス制御コンフィギュレーションパラダイム内において他の種類の機能ブロックを用いるものや、他のルーチン、サブルーチン、または制御素子を用いるものが含まれる。
【００４９】
Fieldbus機能ブロックパラダイムにより提供されるような機能ブロックの相互接続に基づく制御システムを利用する場合、MPCブロック156は、プロセス制御ルーチン内の他の機能ブロックに直接接続することができる。例えば、MPCブロック156の制御出力を被制御下のデバイスに付随する出力ブロック（例えばAOブロック）に接続することにより、バルブ等の如き制御デバイスにMPCブロック156を直接接続しうる。同様に、MPCブロック156は、他の制御ループの内の機能ブロック、例えば他の制御機能ブロックの入力部に制御信号を提供し、これらの制御ループの動作を監視または無効にしうる。
【００５０】
したがって、当然のことながら、図６においてMPC制御ブロック156の出力部が接続されているプロセス入力部IN1〜IN3は、現存する制御戦略内に規定される制御ループへの入力部またはプロセスに接続されているバルブもしくは他のデバイスへの入力部を含む所望の任意のプロセス入力部であってもよい。同様に、MPC制御ブロック156の入力部が接続されているプロセス出力部Y1〜Y3は、バルブもしくは他のセンサの出力部、AO機能ブロックもしくはAI機能ブロックの出力部、または他の制御素子もしくはルーチンを含む所望の任意のプロセス出力部であってもかまわない。
【００５１】
図５のステップ154を再び参照すると、一旦、オペレータが、それぞれ所望のプロセス出力部および入力部それぞれに接続される入力部および出力部を有し、かつ実行速度補正ブロックを有する初期のMPCブロックを含む制御モジュールを作成すると、内部に前記初期のMPCブロックを有する制御モジュールは制御装置11またはワークステーション13の如き適切なデバイスへダウンロードされ実行される。ついで、ステップ199において、オペレータは、公知の方法でプロセスを励起し、プロセスが励起されている間にプロセス入力データおよび出力データを収集するように初期のMPCブロックに指示する。
【００５２】
図６に例示されているように、初期MPCブロック156は、データ収集ルーチン200と、波形生成部201と、汎用制御論理202と、制御パラメータ203およびプロセスモデル204を格納する格納部204とを備えている。汎用制御論理202は、例えば、汎用MPCであり、ある場面において制御を実行するよう動作するには、係数または他の制御パラメータを必要とする。場合によっては、この汎用制御論理202は、制御下のプロセスが当該プロセスを制御するためのプロセスモデルも必要な場合がある。例えば制御装置11にダウンロードされた後、初期MPCブロック156は、MPC創生ルーチン142を介して、初期MPCブロック156の開発の次の段階を開始するように指示される。この段階では、プロセスモデルを作成するのに利用される各プロセス出力部のデータが収集される。特に、オペレータにそのように指示されたとき（または所望の他の任意のときに）、初期MPCブロック156の波形生成部201は、プロセス入力部X1〜X3のそれぞれに励起波形を供与するために、その出力部OUT1〜OUT3で一連の波形を生成し始める。所望ならば、これらの波形は、ユーザワークステーション13内のソフトウェアにより波形生成部201に供与されてもよいが、波形生成部201により作成されるのが好ましい。波形生成部201により生成される波形は、プロセスが正常に動作している間に予想される入力の異なる範囲に亘ってこのプロセスを動作させるように設計されていることが好ましく、これにより非常に異なるスループットを含みうる。MPC制御ルーチンのためのプロセスモデルを開発するために、波形生成部201は、一連の異なる組のパルスをプロセス入力部X1〜X3のそれぞれにもたらしうる。一連の異なる組のパルスにおいて、各組のパルス内のパルスは、同一の振幅を有してはいるが、その長さは擬似ランダムであり、異なる組のパルス内のパルスは異なる振幅を有している。このような一連の組のパルスは異なるプロセス入力部X1〜X3のそれぞれのために作成され、そしてプロセス入力部のそれぞれに一つずつ順次搬送される。この時間の間、MPCブロック156内のデータ収集ユニット200は、波形生成部201により生成された波形のそれぞれに対するプロセス出力部Y1〜Y3の応答を示すデータを収集するかそうでなければデータの収集を調整し、さらには、生成されている励起波形に属するデータを収集するかまたはそのデータの収集を調整してもよい。このデータはMPCブロック156に格納されてもよいが、データ履歴部12に送信して格納するか、および／または、データを表示スクリーン14上に表示しうるワークステーション13に送信するのが好ましい。
【００５３】
このように、ある高度な制御論理（まだ完全には開発されてはいない）を利用してプロセス158を制御しようと試みる代りに、MPCブロック156は、まず、プロセス158に一組の励起波形を供与し、これらの励起波形に対するプロセス158の応答を測定する。もちろん、波形生成部201により生成される励起波形としては、任意の高度な制御ルーチン用の制御論理パラメータを作成する際に有用なプロセスモデルを作成すべく開発されているものならば所望のいずれの波形であってもよい。この例においては、波形生成部201は、モデルが予測する制御装置のためのプロセスモデルを開発する際に有用であると知られているものならばいずれの組の波形であっても生成し、そして、これらの波形は、このような目的のために現在知られているかまたは将来開発されるいずれの形態であっても取りうる。モデルが予測する制御装置のためのプロセスモデルを開発すべくデータを収集する目的でプロセスを励起するのに用いられる波形は周知であるので、これらの波形については本明細書ではさらに記載しない。同様に、他のどのようなまたは所望のどのような種類の波形であっても、ニューラルネットワーク制御ルーチン、多変量ファジー論理制御ルーチン等の如き他の高度な制御（モデル化も含まれる）ルーチンのためプロセスモデルを開発する際に利用するために、波形生成部201により開発されうる。
【００５４】
なお、この波形生成部201は、所望の任意の形態を取ってもよく、そして、例えばハードウェア、ソフトウェア、またはそれら両方の組み合わせで実現されうる。ソフトウェアで実現される場合、波形生成部201は、所望の波形を生成するために用いることができるアルゴリズムを格納してもよく、生成される波形のデジタル記号を格納してもかまわなく、またはこのような波形を作成するために他のいずれのルーチンまたは格納データを用いてもよい。ハードウェアで実現される場合、波形生成部201は、例えば、オシレータまたは矩形波生成装置の形態を取りうる。所望であるならば、オペレータは、プロセスの近似応答時間、プロセス入力部に搬送される波形の振幅のステップサイズ等の如き、波形を設計するために必要なあるパラメータを入力するように求められてもよい。オペレータは、MPCブロック156が最初に作成される時、またはオペレータがMPCブロック156にプロセスを刺激または励起し始めてプロセスデータを収集するように指示する時、この情報を入力するように促されうる。好ましい実施例においては、データ収集ユニット200は、完全かつ正確なプロセスモデルが開発されうることを確実にすべく、オペレータにより入力される応答時間の３〜５倍の間、励起波形のそれぞれに応答してデータを収集している。しかしながら、データを他の任意の期間で収集してもよい。
【００５５】
いずれの場合にも、MPC制御ブロック156は、波形生成部201全ての必要な励起波形をプロセス入力部X1〜X3のそれぞれに完全に搬送するまで動作し、データ収集ユニット200は、プロセス出力部Y1〜Y3のためにデータを収集することが好ましい。もちろん、MPC制御ブロック156の動作は、このデータ収集プロセスの間、所望ならばまたは必要ならば中断してもかまわない。
【００５６】
次に、図５のステップ225で示されるように、オペレータは、プロセスモデル化ルーチン144を実行することにより、MPCブロックの開発の次の段階を実現することをある時期において決断しうる。このプロセスモデル化ルーチンは、データ履歴部12から収集済みデータをアクセスし、この収集済みデータからプロセスモデルを作成すべく任意の公知のプロセスモデル生成ルーチンを実行する。
【００５７】
所望ならば、プロセスモデル化ルーチン144は、収集済みデータにデータスクリーニングプロシージャを実行しうる。このデータスクリーニングプロシージャは、異常値および他の明らかな誤りデータがあるか否か収集済みデータをチェックするとともに、収集済みデータに関連する状態値および限界値の如き、収集済みデータに関連する他の値をチェックすることにより、このデータは劣悪なまたは不適切な状態を有する機能ブロックにより生成されたのか否か、このデータは限界状態のものか否か、このデータは機能ブロックまたは他の素子が不適切なモードのときに生成されたのか否か、またはこのデータは、あるほかの方法で、異常なまたは望ましくないプロセス状態下で生成されたのか否かを判定している。例えば、Fieldbus通信プロトコルにおいては、機能ブロックにより生成されるデータは、状態指標、限界指標、モード指標をも含んでおり、これらは、データ履歴部12内のデータとともに格納されることが可能であり、データをスクリーンするために用いられる。所望ならば、データスクリーニングルーチンは、収集済みデータをオペレータに例示してもよく、そして、例えば、プロセス状態のオペレータの知識に基づいて、スクリーンまたは削除するデータをハイライティングまたはそうで無ければ特定することにより、オペレータがこのデータをマークすることができるようにする。このようにして、プロセス158がオフラインであったとき、プロセス158が正常に制御されていなかったとき、プロセス158が修理中であったとき、プロセス158内のセンサまたは他のデバイスが故障または取り替えられていたとき等に、MPCブロック156により収集されたデータは、選択されるとともに、プロセスモデルを作成するために使われるデータから削除されうる。
【００５８】
このデータをスクリーンした後、プロセスモデル化ルーチン144は、選択されたデータからプロセスモデルを作成する。上述のように、プロセスモデル化ルーチン144は、収集されたデータおよびスクリーニングされたデータからプロセスモデルを展開すべく所望のまたは公知のいずれの種類のプロセスモデル化解析を実行することができ、展開されたプロセスモデルは、数学的アルゴリズム、一連の応答曲線等の如きいずれの形態であっても取りうる。
【００５９】
プロセスモデル化ルーチン144がプロセスモデルを決定するのに問題を有するならば、その問題がユーザ表示部の状況領域に示されうる。示されうる一つの問題は、プロセスモデルを特定または作成するための十分なサンプルがないということである。「定義されたコンフィギュレーションにとって、最少数XXXのサンプル数が必要である。データファイルはXXXのサンプル数しか含まない」というメッセージが生成され、この問題をオペレータに通知しうる。検出されうるもう一つの問題は、プロセス入力部で起こった励起が十分ではないということである。このような問題が起こった場合は、オペレータに対して、この影響に関するメッセージと、TagX、TagY等の如き信号タグの名前の確認と、励起量に対する最少変更の確認とが送信されうる。
【００６０】
所望ならば、ユーザは、モデルの特定が首尾よく行くのを妨げるような状態に基づいて、プロセスのモデル化を実行する時間枠を変更してもよいし、またはプロセスモデル化ルーチン44に利用されるデータが有効になるようにプロセス入力を変更してもよい。特定されたプロセスモデルは、その後の利用のためにアクセス可能な任意の所望のデータベースに自動的に保存されうる。より経験豊富なユーザは、識別されたプロセスモデルを検査または編集することを要望しうる。さらに、ユーザはプロセス遅延時間がその動作状態で著しく変化しているか否かを判定し、変化している場合は、プロセス変数または制御変数がその変化とどんな相関関係があるか決定するべく、ルーチンを実行してもよい。また、このルーチンは、変数とプロセス遅延との間の関係を規定しうるし、この関係は図６のMPCブロック156内の実行速度ブロック160に供与されうる。
【００６１】
プロセスのあるポイントにおいて、論理パラメータ創生ルーチン146が実行され、モデル予測制御を実行するために初期MPCブロック156の汎用論理部202によって必要とされるパラメータ（MPCブロック156内の変数に格納される）を作成しうる。例えば、MPC論理部のためのマトリクスもしくは他のMPC係数、波長調整パラメータ、ニューラルネットワークパラメータ（ニューラルネットワークのための）、拡大縮小の要因（多変数ファジー論理のための）、または任意のその他所望のパラメータでありうるこれらの制御パラメータは、生成されたプロセスモデルに基づいて決定されるのが普通である。論理パラメータ創生ルーチンは、プロセスモデルからパラメータを作成するために任意の所望のまたは公知の手続きを実行しうる。一般的に言えば、このプロセスは、プロセスモデルをマトリクス形態に転換することを必然的に伴う。しかしながら、他の所望のどのような論理パラメータ創生ルーチンであっても利用することができる。プロセスに対して収集されたデータからプロセスモデルを作成するとともにこのプロセスモデルからMPCまたはその他制御論理パラメータを生成する詳細に関しては、当該技術分野において公知であるので、これらのプロシージャはここではさらに記述しない。しかしながら、注意すべきことは、オペレータは、MPCブロック156に対する制御論理パラメータの作成にある入力を有しうるということである。事実、オペレータは、MPC制御装置を作成するのに通常利用される一部の変数の値を特定することを要求されるかまたは、さもなくば、その能力を与えられうる。例えば、オペレータは次のようなものを特定しうる。MPCブロックへの限定入力のそれぞれの設定ポイントおよび制限、制御変更がなされる時間枠、即ち、設定ポイント軌道フィルタおよびこのフィルタに関連する時間定数、MPC出力またはプロセス出力の最大または最小移動（速度制限）、すべての制御パラメータが整合性のある方法で応答しているか否か、MPC最適化要因、変数、または調整パラメータ、MPC制御ブロックのホライゾン、即ち、所望の状態に制御すべく実行されるフォワード計算のステップ数、MPCブロック156の入力および出力のそれぞれに対するエンジニアリングユニットの範囲、限定変数のひとつが違反する場合に操作変数ターゲットのどれを緩和するかまたは実現しないようにするか、設定されうる任意の最適化変数の値、MPCブロック入力および出力のそれぞれの記述および／または名前、MPCブロックなどのアグレッシブ性またはロバスト性に関連する変数の値などである。所望ならば、制御論理生成ルーチン146は、これらの変数または設定の一部またはすべてに対して既定値を格納し、MPC論理を作成するべくこれらの既定値を利用してもよい。しかしながら、オペレータまたは他のユーザは、ユーザ表示部14を介してこれらの設定を変更できる。さらに、オペレータは、プロセスモデルのために決定された係数に基づいて初期の走査速度または実行速度を選択し、一または複数のプロセス変数または制御変数と、ユーザによって決定されるかまたはシステムによって自動的に決定されるプロセス遅延との間の関係に基づいて制御ブロックが実行速度補正を利用するか否かを選択してもよい。
【００６２】
いずれの場合にも、MPC論理パラメータ創生ルーチン146は、この情報および、MPC係数の如きMPC（または他の）制御論理パラメータを作成するのに必要とされうる任意の他の情報を利用して実行される。
【００６３】
MPC制御論理パラメータおよび実行速度補正要因が作成された後、図５のステップ228で、MPC制御論理パラメータまたは係数は、プロセスシミューレションブロックを利用してテストされうる。このシミューレションブロックは、一般的にプロセスに対して作成されたプロセスモデルから展開され、テストする環境において、作成されたMPC制御論理がプロセスの正常動作の範囲で申し分なく動作するかどうか、実行速度ブロックが予測されるプロセス遅延時間の範囲で適切に動作するかどうかをテストするべくMPCブロックに接続されうる。このMPC論理が満足いかなければ、異なるMPC制御論理または実行速度論理を展開すべくステップ154、199、および225の一部またはすべてが繰り返されてもよい。しかしながら、MPC制御論理が申し分なければ、MPC制御論理パラメータおよびプロセスモデルが、ステップ230でMPCブロック156にダウンロードされ、MPCパラメータ格納部203と、プロセスモデル格納部204と、補正ブロック160とに格納され、プロセス158を制御すべく利用される。このように、MPCブロック156によって必要なパラメータはMPCブロック156に供与され、MPCブロック内に収納され、MPCブロック156は、MPC制御論理202に従って、プロセス内で動作するかまたは実際に制御を実行するように依頼されうる。もちろん、所望ならば、必要なパラメータとともに実際のMPC論理部202が、ワークステーション13において作成され、MPCブロック16にダウンロードされうる。
【００６４】
上述のように、MPCブロック156およびこのブロックを有する制御モジュールが、プロセス制御システム10内の他の制御ブロックと同じプログラミングパラダイムを用いるように設計されているので、MPCブロック156を内部に有するMPCモジュールまたはループは、いったん制御装置11によってダウンロードされるとともに実行された場合には、制御ルーチン内の他のブロックまたは素子と同じ方法で報告機能を実行しうる。
【００６５】
明らかになるように、本明細書で記述されたMPCまたは高度制御論理生成ルーチンおよび方法を使用することにより、ユーザは、これらのブロックがどのように作成されるかについて多くの専門的知識を有することなくMPC制御ブロック、ニューラルネットワークモデル化、または制御ブロック等の如き高度制御ブロックを作成することができ、オペレータは、高度制御を実行するのに多くのプロセスのプログラミングを実行することなく高度制御ブロックを作成して利用できるようになる。また、高度制御ブロックがシステム内の他の制御素子と同じプログラミングパラダイムを利用して作成されるので、ユーザは、プロセスの一貫性のある表示または内部に高度制御ブロックを有するプロセスのグラフィック表示を供与されうる。さらに、プロセスモデルは、例えば、MPC機能ブロックに対して作成される必要があるので、プロセス／プロセスモデルのミスマッチのテスト、訓練、および検知の如き、またはプロセス制御において利用するプロセスの仮想出力の生成の如き他の目的のためにプロセスをシミューレションするのに用いることができるシミューレション機能ブロックを作成するためにこのプロセスモデルを利用することができる。
【００６６】
高度制御ブロック、プロセスシミューレションブロック、ならびに関連する生成ルーチンおよび試験ルーチンは、Fieldbusデバイスおよび標準4-20 maデバイスと関連して利用されるように、本明細書では記述されてきたが、もちろん、これらは、他のどのようなプロセス制御通信プロトコルまたはプログラミング環境を利用して実現されてもよく、他のどのような種類のデバイス、機能ブロック、または制御装置とともに用いられてもかまわない。さらに、注意すべきことは、本明細書で「機能ブロック」という表現の使用は、FieldbusプロトコルまたはDeltaV制御装置プロトコルが機能ブロックとして特定するものに限定されることはなく、これに代わって、あるプロセス制御機能を実施するのに利用されうるどのような制御システムおよび／または通信プロトコルに関連する他のどのような種類のブロック、プログラム、ハードウェア、ファームウェアなどであっても含む。また、機能ブロックは、オブジェクト指向プログラミング環境内でオブジェクトの形態をとるのが普通であるが、そうでなければならない必要はない。
【００６７】
本明細書で記述された高度制御ブロック、実行速度補正ブロック、プロセスシミューレションブロック、ならびに関連する生成および試験ルーチンは、ソフトウェアで実現されるのが好ましいが、これらは、ハードウェア、ファームウェアなどで実現されてもよく、プロセス制御システムと関連する他のどのようなプロセッサによっても実行されてもかまわない。したがって、本明細書で記述されたルーチン140は、標準的な多重目的CPUまたは、所望ならば、例えば、ASICのような特定用途向けハードウェアもしくはファームウェアで実現されうる。ソフトウェアで実現される場合、ソフトウェアは、磁気ディスク、レーザディスク、光磁気ディスク、または他の格納媒体のようなコンピュータ読取り可能メモリ、コンピュータまたはプロセッサなどのＲＡＭまたはＲＯＭ等に格納されうる。同様に、このソフトウェアは、例えば、コンピュータ読取り可能ディスクもしくは可搬型コンピュータ格納メカニズムを含む、または電話回線、インターネットなどのような通信チャネル上で変調されること（これは、可搬型格納媒体を介してこのようなソフトウェアを供与することと同一または交換可能であると考えられる）を含むどのような公知のまたは所望の搬送方法を介してでもユーザまたはプロセス制御システムに配信されうる。
【００６８】
本発明は特定の例を参照して記載されてきたが、これは例示のみを意図するものであり、発明を限定するものではなく、本発明の精神および範囲から逸脱することなく開示された実施形態に変更、追加、または削除を行いうることは当業者にとって明らかである。
【図面の簡単な説明】
【図１】変動性プロセス遅延を補正するように構成された高度制御ブロックを有するプロセス制御システムのブロック／模式的ダイアグラムである。
【図２】異なるスループットにおけるプロセスの異なるプロセス遅延を例示するグラフである。
【図３】プロセスモデルに関連するインパルス応答のマトリックスとプロセス変数の値に基づいて高度制御ブロックの実行速度を変更する実行速度補正ブロックとを有する高度制御モジュールを例示するブロックダイアグラムである。
【図４】実行速度補正有無の両方で、大きく変動するプロセス遅延の存在下のMPCブロックの動作を例示するグラフである。
【図５】図１のプロセス制御システム内の変動性プロセス遅延に対する補正を行う高度制御ブロックの動作および作成を例示するフローダイアグラムである。
【図６】プロセスに接続される実行速度補正を有するMPCブロックのブロックダイアグラムである。
【符号の説明】
10  プロセス制御システム
11  プロセス制御装置
12  データ履歴部
13  ワークステーション
14  表示スクリーン
15〜22  フィールドデバイス
26、28  I/Oカード
32、34  単一ループ制御ルーチン
36  高度制御ループ
38  高度制御ブロック
40  実行速度修正ブロック
【図１】
0004194396.tif 000005
【図２】
0004194396.tif 000006
【図３】
0004194396.tif 000007
【図４】
0004194396.tif 000008
【図５】
0004194396.tif 000009
【図６】
0004194396.tif 000010