(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0034】
開示されるシステム及び方法は種々の形態の可能な実施形態であるが、本開示が例証となることを意図され且つ本発明を本明細書で説明され及び例証される具体的な実施形態に限定することを意図されないという理解のもとで、本発明の具体的な実施形態が図面で例証されている(及び以下で説明する)。
【0035】
図1は、プロセスの非常に正確な制御を依然として提供しながら、間欠的な、遅い、又は非周期的なプロセス変数計測値の受取りに基づいて、予測器に基づく制御を用いて制御ルーチンを実施するのに用いられ得るプロセス制御システム10を描いている。一般的に言えば、
図1のプロセス制御システム10は、データヒストリアン12に、及びそれぞれがディスプレイ画面14を有する1つ又は複数のホストワークステーション又はコンピュータ13(いかなるタイプのパーソナルコンピュータ、ワークステーションなどであってもよい)に接続されるプロセスコントローラ11を含む。コントローラ11はまた、入力/出力(I/O)カード26及び28を介してフィールドデバイス15〜22にハードワイヤード通信接続を通じて接続される。データヒストリアン12は、データを記憶するためのあらゆる所望のタイプのメモリ及びあらゆる所望の又は公知のソフトウェア、ハードウェア、又はファームウェアを有するあらゆる所望のタイプのデータコレクションユニットであってもよく、別個のデバイスとして例証されているが、代わりに又は加えてワークステーション13又はサーバのような別のコンピュータデバイスのうちの1つの一部であってもよい。単なる例として、Emerson Process Managementによって販売されるDeltaV(商標)コントローラであってもよいコントローラ11は、例えばイーサネット接続であってもよい通信ネットワーク29を介してホストコンピュータ13に及びデータヒストリアン12に通信可能に接続される。
【0036】
コントローラ11は、例えば、標準4〜20mA通信、及び/又はFOUNDATION(登録商標)Fieldbus通信プロトコル、HART(登録商標)通信プロトコルなどのようなあらゆるスマート通信プロトコルを用いるあらゆる通信を含むハードワイヤード通信を実施するためにあらゆる所望のハードウェア、ソフトウェア及び/又はファームウェアの使用を含む可能性があるハードワイヤード通信方式を用いてフィールドデバイス15〜22に通信可能に接続されるものとして例証される。フィールドデバイス15〜22は、センサ、バルブ、送信器、ポジショナなどのようなあらゆるタイプのデバイスであってもよく、一方、I/Oカード26及び28は、あらゆる所望の通信プロトコル又はコントローラプロトコルに準拠するあらゆるタイプのI/Oデバイスであってもよい。
図1で例証される実施形態では、フィールドデバイス15〜18は、アナログライン上でI/Oカード26と通信する標準4〜20mAデバイスであり、一方、フィールドデバイス19〜22は、Fieldbusプロトコル通信を用いてデジタルバス上でI/Oカード28と通信するFieldbusフィールドデバイスのようなスマートデバイスである。もちろん、フィールドデバイス15〜22は、将来開発されるあらゆる規格又はプロトコルを含むあらゆる他の所望の規格(単数又は複数)又はプロトコルに準拠していてもよい。
【0037】
加えて、プロセス制御システム10は、制御されるべきプラントに配置される多数の無線フィールドデバイス60〜64及び71を含む。フィールドデバイス60〜64は、
図1では送信器(例えば、プロセス変数センサ)として描かれており、一方、フィールドデバイス71は、バルブとして描かれている。しかしながら、これらのフィールドデバイスは、物理的制御挙動を実施するために又はプロセス内の物理的パラメータを計測するためにプロセス内に配置されるあらゆる他の所望のタイプのデバイスであってもよい。現在公知の又は後で開発されるハードウェア、ソフトウェア、ファームウェア、又はそのあらゆる組み合わせを含むあらゆる所望の無線通信機器を用いてコントローラ11とフィールドデバイス60〜64及び71との間の無線通信が確立されてもよい。
図1で例証される事例では、アンテナ65は、送信器60に結合され及びその無線通信を行うことに特化され、一方、無線ルータ又はアンテナ67を有する他のモジュール66は、送信器61〜64の無線通信を一括に取り扱うために結合される。同様に、アンテナ72は、バルブ71の無線通信を行うためにバルブ71に結合される。フィールドデバイス又は関連するハードウェア60〜64、66、及び71は、コントローラ11と送信器60〜64とバルブ71との間の無線通信を実施するためにアンテナ65、67、及び72を介して無線信号を受信する、デコードする、ルーティングする、エンコードする、及び送信するのに適切な無線通信プロトコルによって用いられるプロトコルスタック動作を実施してもよい。
【0038】
所望の場合、送信器60〜64は、種々のプロセスセンサ(送信器)とコントローラ11との間に唯一のリンクを構成してもよく、したがって製品品質及び流れが損なわれないことを保障するためにコントローラ11に正確な信号を送信することを担う。送信器60〜64は、しばしばプロセス変数送信器(process variable transmitter:PVT)と呼ばれ、したがってプラントの制御における大きな役割を果たす可能性がある。加えて、バルブ又は他のフィールドデバイス71は、コントローラ11に、バルブ71内のセンサによって作成される計測値を提供してもよく、若しくはバルブ71内で実行される機能ブロックFB1及びFB2によって収集され、計算され、又は他の方法で生成されるデータを含むバルブ71によって生成される又は計算される他のデータをバルブ71の動作の一部として提供してもよい。もちろん、バルブ71はまた、物理的パラメータ、例えば、プラント内の流れをもたらすためにコントローラ11から制御信号を受信してもよい。
【0039】
コントローラ11は、それぞれがそれぞれのアンテナ75及び76に接続される1つ又は複数のI/Oデバイス73及び74に結合され、これらのI/Oデバイスとアンテナ73〜76は、1つ又は複数の無線通信ネットワークを介して無線フィールドデバイス61〜64及び71と無線通信を行うために送信器/受信器として動作する。フィールドデバイス(例えば、送信器60〜64及びバルブ71)間の無線通信は、WirelessHART(登録商標)プロトコル、Emberプロトコル、WiFiプロトコル、IEEE無線規格などのような1つ又は複数の公知の無線通信プロトコルを用いて行われてもよい。さらにまた、I/Oデバイス73及び74は、コントローラ11と送信器60〜64とバルブ71との間の無線通信を実施するためにアンテナ75及び76を介して無線信号を受信する、デコードする、ルーティングする、エンコードする、及び送信するのにこれらの通信プロトコルによって用いられるプロトコルスタック動作を実施してもよい。
【0040】
図1で例証されるように、コントローラ11は、メモリ78に格納される1つ又は複数のプロセス制御ルーチン(又はあらゆるモジュール、ブロック、又はそのサブルーチン)を実装する又は監督するプロセッサ77を含む。メモリ78に格納されるプロセス制御ルーチンは、プロセスプラント内に実装される制御ループを含んでいてもよく又はこれと関連付けられてもよい。一般的に言えば、コントローラ11は、1つ又は複数の制御ルーチンを実行し、プロセスをあらゆる所望の様態(単数又は複数)で制御するためにフィールドデバイス15〜22、60〜64、及び71、ホストコンピュータ13、及びデータヒストリアン12と通信する。しかしながら、本明細書に記載のあらゆる制御ルーチン又はモジュールは、その一部が複数のデバイスにわたって分散された状態で実装され又は実行されてもよいことに留意されたい。結果として、制御ルーチン又はモジュールは、そのように望まれる場合には、異なるコントローラ、フィールドデバイス(例えば、スマートフィールドデバイス)、若しくは他のデバイス又は他の制御要素によって実装される部分を有していてもよい。
【0041】
同様に、プロセス制御システム10内に実装されるべき本明細書に記載の制御ルーチン又はモジュールは、ソフトウェア、ファームウェア、ハードウェアなどを含むあらゆる形態をとる可能性がある。こうした機能性を提供することに関係するあらゆるデバイス又は要素は、ソフトウェア、ファームウェア、又はそれに関連するハードウェアがコントローラ、フィールドデバイス、又はプロセス制御システム10内のどの他のデバイス(又はデバイスの集合体)に配置されるかに関係なく、本明細書では概して「制御要素」と呼ばれる場合がある。もちろん、制御モジュールは、例えば、あらゆるコンピュータ可読媒体上に格納されるルーチン、ブロック、又はそのあらゆる要素を含むプロセス制御システムのあらゆる一部又は部分であってもよい。こうした制御モジュール、制御ルーチン、又はそのあらゆる一部は、本明細書で概して制御要素と呼ばれるプロセス制御システム10のあらゆる要素又はデバイスによって実装され又は実行されてもよい。さらに、モジュール、又はサブルーチン、サブルーチンの一部(例えばコードのライン)などのような制御手順のあらゆる部分であり得る制御ルーチンが、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図のようなあらゆる所望のソフトウェアフォーマットで、又はあらゆる他のソフトウェアプログラミング言語又は設計パラダイムを用いて実装されてもよい。同様に、制御ルーチンは、例えば、1つ又は複数のEPROM、EEPROM、特定用途向け集積回路(ASIC)、若しくはあらゆる他のハードウェア要素又はファームウェア要素にハードコード化されてもよい。さらにまた、制御ルーチンは、グラフィカル設計ツールを含むあらゆる設計ツール、又はあらゆる他のタイプのソフトウェア/ハードウェア/ファームウェアプログラミング又は設計ツールを用いて設計されてもよい。結果として、コントローラ11は、制御ストラテジ又は制御ルーチンをあらゆる所望の様態で実装するように構成されてもよい。
【0042】
いくつかの実施形態では、コントローラ11は、通称、機能ブロックと呼ばれるものを用いて制御ストラテジ又は方式を実施し、この場合、各機能ブロックは、プロセス制御システム10内でプロセス制御ループを実施するために他の機能ブロック(リンクと呼ばれる通信を介して)と併せて動作する制御ルーチン全体のオブジェクト又は他の部分(例えば、サブルーチン)である。機能ブロックは、典型的に、送信器、センサ、又は他のプロセスパラメータ計測デバイスに関連する入力機能のような入力機能、PID、ファジー論理などの制御を行う制御ルーチンに関連する制御機能のような制御機能、又はプロセス制御システム10内のいくつかの物理的機能を果たすためにバルブのようないくつかのデバイスの動作を制御する出力機能のうちの1つを行う。もちろん、ハイブリッド及び他のタイプの機能ブロックが存在し、本明細書で用いられる場合がある。機能ブロックは、コントローラ11に格納され及びこれによって実行されてもよく、これは機能ブロックが標準4〜20mAデバイス及びHART(登録商標)デバイスのようないくつかのタイプのスマートフィールドデバイスのために用いられ又はこれと関連するときに典型的に当てはまる。代替的に又は加えて、機能ブロックは、フィールドデバイス自体、I/Oデバイス、又はプロセス制御システム10の他の制御要素に格納され又はこれによって実施されてもよく、これは、Fieldbusデバイスを用いるシステムに当てはまる可能性がある。制御システム10の説明は、機能ブロック制御ストラテジを用いて本明細書で概して提供されるが、開示された技術及びシステムはまた、他の慣習又はプログラミングパラダイムを用いて実装され又は設計されてもよい。
【0043】
いずれにしても、
図1の分解されたブロック80によって例証されるように、コントローラ11は、多数の制御モジュール(モジュール82、84、及び86として例証される)を含んでいてもよく、各制御モジュールは、1つ又は複数のプロセス制御ループを実装する。この場合、制御モジュール82は、観測器に基づく制御方式又はルーチン(本明細書では1つのタイプの予測器に基づく制御方式と呼ばれる)を実装し、制御モジュール84は、予測器に基づく制御方式を実施する。例として、観測器及び/又は予測器に基づく制御方式は、カルマンフィルタに基づいていてもよい。モジュール82及び84は、バルブのようなプロセス制御デバイス、温度送信器及び圧力送信器のような計測デバイス、又はプロセス制御システム10内のあらゆる他のデバイスと関連付けられ得る適切なアナログ入力(AI)及びアナログ出力(AO)機能ブロックに接続される観測器(OBS)又は予測器(PRD)及び単一入力/単一出力に基づくPID制御ブロック(PID)を用いて単一ループ制御を行うものとして例証される。複数の入力/複数の出力制御ループ86はまた、1つ又は複数のAI機能ブロックに通信可能に接続される入力及び1つ又は複数のAO機能ブロックに通信可能に接続される出力を有する進歩した制御ブロック88を含むものとして例証されるが、進歩した制御ブロック88の入力及び出力は、他のタイプの入力を受信する及び他のタイプの制御出力を提供するためにあらゆる他の所望の機能ブロック又は制御要素に接続されてもよい。進歩した制御ブロック88は、観測器又は予測器に基づく制御を含むあらゆるタイプの複数の入力、複数の出力制御方式を実装してもよく、モデル予測制御(MPC)ブロック、ニューラルネットワークモデリング又は制御ブロック、多変数ファジー論理制御ブロック、リアルタイム−オプティマイザブロックなどを構成し又は含んでいてもよい。
図1で例証される機能ブロックは、コントローラ11によって実行されることが可能であり、又は代替的に、例えばワークステーション13のうちの1つ若しくはフィールドデバイス19〜22又は60〜64又は71のうちの1つ又は複数における、プロセス制御システムのあらゆる他の処理デバイス又は制御要素に位置する及びこれによって実行されることが可能であることが理解されるであろう。
【0044】
図1の観測器/予測器に基づく制御モジュール82、84、及び86は、これまで、一般に、制御ルーチンの複数の繰返しによる周期的実行のために構成されてきた。従来の事例では、各繰返しは、例えば、送信器又は他のフィールドデバイスによって提供される更新されたプロセス計測値によってサポートされる。コントローラの各実行サイクル中の最新のプロセス計測を保証するために周期的実行の各繰返し間でなされる典型的に複数のプロセス計測が存在する。実際には、計測値を制御と同期させるという制約を回避するために、多くの過去のコントローラ(又は制御ループ)は、計測値を2〜10倍オーバーサンプリングするように設計されていた。こうしたオーバーサンプリングは、プロセス計測値が制御方式で用いられるその時のものであったことを保障する一助となった。また、制御変動を最小にするために、従来の設計は、フィードバック制御がプロセス応答時間よりも4〜10倍速く実行されるべきであることを規定した。これらの従来の設計要件を満たすために、計測値は、制御実行レートよりもかなり速くサンプリングされる必要があり、これはプロセス応答時間よりもかなり速い又は高いものであった。
【0045】
一般的に言えば、
図1の観測器/予測器に基づく制御モジュール(本明細書でより詳細に説明されることになる)は、例えば、間欠的なプロセス変数フィードバック通信だけが存在するプロセスでの制御が可能となるように、又は例えば、プロセス変数計測を行う無線センサ又は送信器(例えば、送信器60〜64のうちの1つ)に電力を与える電力供給からの電力の消費を減らすために、かなり遅いレート、間欠的なレート、又は非周期的なレートでのプロセス変数計測値(計算された値又はシミュレートされた値のような他の値を含む)の伝送を可能にする。この後者の事例では、計測と制御実行が同期される場合であっても、多くのFieldbus制御方式と同様に、制御の繰返しをプロセス応答よりも4〜10倍速くスケジューリングする従来の手法は、依然として結果的にデータ伝送中に過度の電力消費をもたらす可能性がある。加えて、観測器/予測器制御ルーチンは、観測器に基づく制御ルーチンの観測器への入力として用いられる計測されたプロセス変数内の非ゼロ平均プロセスノイズ又は計測ノイズの存在下で観測器に基づく制御を行ってもよい。
【0046】
より詳細に後述するように、本明細書に記載の予測器に基づく制御技術は、プロセス制御システム10において、特にコントローラ11において、並びに制御システム10の伝送デバイス及び他のフィールドデバイスにおいて、これらのデバイスが新しい計測値又は他の値を非周期的に又は間欠的に伝送する又は受信するときに、例えば或る条件が満たされるときに特に有用である。例えば、新しい計測値は、プロセス変数が所定の閾値(例えば、有意と判定される量)を超えて変化したかどうかに基づいて伝送されてもよい。例えば、新しい計測値と最後に通信された計測値との差異の大きさが指定された分解能よりも大きい場合、計測値が更新され又は送信されることになるようにトリガが生成されてもよい。離散計測(例えば、オン/オフ計測、デジタルビット、若しくは状態又は離散値の所定の組のうちの1つが期待される又は計測される他の状態計測)を取り扱うときに、1つの状態から別の状態への変化は、一般に閾値又は分解能の大きさを超過すると考えられる。
【0047】
他の場合には、差異が指定された分解能(前述の場合と同様)を超過するときに、並びに最後の通信からの時間が所定のリフレッシュ時間を超過するときに、新しい計測値が伝送されてもよい。ここで、プロセス変数の変化又はデフォルト時間の経過のいずれかが、結果的に計測値の伝送をもたらし得る。計測値の伝送に関するリフレッシュ時間又はデフォルト時間は、プロセスが遅く動いているか又は迅速に応答するか(例えばプロセス時定数によって示される場合の)に応じてより頻繁な又はあまり頻繁でない更新が適切な場合があるので、制御ループ間で変化する可能性がある。いくつかの場合、時定数に基づいて制御ループの調整中に判定がなされ、その後、所望に応じて調節されてもよい。例えば、信号の計測又は送信間の時間は、変数又は値の計測される状態に依存する可能性があり、この場合、計測周期は、監視されているデバイス、機器、又はプロセスの状態を反映するように調節することができる。いずれの場合にも、デフォルト時間又はリフレッシュ時間は、計測値更新のない時間周期後に完全性チェック又はオーバーライドとして作用する。こうしたチェックは、例えば、目標へのプロセス変数の最終駆動を容易にするのに有用な場合がある。
【0048】
一方では、計測値を得ることを担当する送信器、センサ、又は他のフィールドデバイスは、計測値を従来の4〜10倍のプロセス応答時間のようなあらゆる所望のレートで依然として周期的にサンプリングする可能性がある。通信技術は、次いで、サンプリングされた値がコントローラ11に伝送されるかどうかを判定する。
【0049】
しかしながら、標準制御設計(例えば、z変換、差分方程式などを用いる)及び比例−積分−微分(PID)制御のような制御ルーチンのデジタル実装における基礎をなす仮定は、制御アルゴリズムが周期的に実行されるということである。各実行サイクル中に計測値が更新されない場合、ルーチンの積分(又はリセット)部分又は寄与のようなステップは適切でない場合がある。例えば、制御アルゴリズムが最後の古い計測値を用いて実行を続行する場合、出力は、リセット調整及び最後の計測値とセットポイントとの間の誤差に基づいて動き続けるであろう。一方、新しい計測値が通信されるときにだけ制御ルーチンが実行される場合、セットポイント変化への制御応答及び計測される外乱に対するフィードフォワードアクションを遅延することができる可能性がある。制御ルーチンはまた、最後の繰返しから経過した時間に基づく計算を含んでいてもよい。しかしながら、非周期的な及び/又はあまり頻繁でない計測値の伝送により、制御実行周期(すなわち、最後の繰返しからの時間)に基づいてリセット寄与を計算することは、結果的に増加したプロセス変動性をもたらす可能性がある。
【0050】
上記の課題に鑑みて、プロセス変数計測値が周期的に更新されないときに正確且つ応答性に優れた制御を提供するために、プロセス変数の更新が利用可能であるかどうかに基づいてプロセス制御ルーチンを概して修正する制御技術が用いられてもよい。いくつかの場合、予測器に基づく制御ルーチンは、最後の計測値更新からの期待されるプロセス応答に基づいて本明細書に記載の技術に従って再構築されてもよい。
【0051】
後述の制御技術は、特に、無線通信ネットワークを介して通信を実施する制御ルーチンに有用であり及び適用可能であるが、これらの技術は、ハードワイヤード接続を介して実施される通信にも同様に適用可能であることに留意されたい。例えば、ハードワイヤードデバイス15〜22のうちの1つ又は複数はまた、制限された電力供給に依拠する可能性があり、又は他の方法で低減されたデータ伝送レートから恩恵を受ける。加えて、プロセス制御システム10は、ハードワイヤード通信ネットワークを介して間欠的に又は制御実行レートよりも遅いレートで計測データを提供するように設計されるサンプル化分析器(sampled analyzer)又は他のサンプリングシステムを含んでいてもよい。
【0052】
さらに、後述の制御技術は、非ゼロ平均値をもつプロセスノイズの存在によって生じるプロセス変数計測値とプロセス変数推定値との間のいかなるオフセットもなくすように適合される。この非ゼロ平均値ノイズの補償は、制御技術が配線式通信ネットワーク又は無線通信ネットワークのいずれを介して実装されるかに関係なく行われてもよい。
【0053】
例証するために、
図2は、プロセス102に接続されるコントローラ101を有し、且つコントローラ101とプロセス102との間に接続される予測器104を含む、典型的な従来技術の予測器に基づく制御システム100を描いている。
図2で例証されるように、例えば、PIDコントローラ(P、PI、PD、ID、及びPID型コントローラのいずれかを含む)であり得るコントローラ101は、制御されるプロセス状態変数X
jの値に影響を及ぼす又は変化させるためにプロセス102内のバルブのようないくつかのデバイスの動作を制御する制御信号U
jを生成する。さらに、送信器106は、プロセス出力値Z
jを生成するために制御動作によってもたらされるプロセス変数を計測する又はサンプリングする。この場合、プロセス出力値Z
jはプロセス状態変数X
jの計測値であってもよく、若しくはプロセス状態変数X
jとのいくつかの公知の関係性と関連付けられる又はこれにおいて変化するいくつかの他のプロセス変数の計測値であってもよい。送信器106は、計測出力値Z
jを、例として観測器であってもよい予測器104に提供する。この場合、送信器106は、配線式送信器として例証され、そのため配線式通信ネットワークを介して計測されたプロセス出力値Z
jを予測器104に通信する。また、上記のように、送信器106は、典型的にコントローラ101の実行レートよりも4〜10倍速いレートで新しいプロセス出力値Z
jを計測し及び送信する。
【0054】
図2で例証されるように、例えばカルマンフィルタであってもよい予測器104は、受信した計測されたプロセス出力値Z
jをコントローラ101によって生成される制御信号U
jと併せて用いて、プロセス状態変数の推定
【数1】
を生じ、これは次に、プロセス102を制御する、特にプロセス状態変数値X
jを制御するのに用いられるコントローラ101に入力として提供される。予測器104の使用は、コントローラ101がプロセス102のより良好な又はより正確な制御を行うことを可能にするために計測遅延、計測誤差、プロセスノイズなどのような事象をプロセス制御システム10が考慮に入れることを可能にする。予測器104は、典型的には、コントローラ101の各実行サイクルでのコントローラ101の入力部でプロセス状態変数推定
【数2】
の新しい値が利用可能であるようにコントローラ101と同じ又はより速い実行サイクルで動作することに留意されたい。したがって、新しいプロセス計測出力値Z
jを予測器104の実行レートに等しい又はより高い(例えば、4〜10倍高い)レートで予測器104の入力部に提供することが典型的である。
【0055】
一般的に言えば、
図2の予測器104のような予測器は、プロセスのモデルを用いてプロセス変数推定を提供することによってプロセス制御を支援する。例えば、多くの工業プロセスユニットは、1つの操作された入力U(t)及び1つの計測されたプロセス出力Z(t)によって特徴付けられる。1つの操作された入力及び1つの計測されたプロセス出力を伴う線形プロセスのモデルは、以下のような状態変数フォーマットで表わされる場合がある。
X
j=aX
j−1+bU
j
Z
j=hX
j
式中、
X
j=時刻jでのプロセス状態、
U
j=時刻jでのプロセス入力、
Z
j=時刻jでのプロセス出力計測値、
a及びb=プロセスゲイン及び動的応答を定義する定数、及び
h=プロセス出力ゲイン/単位換算ゲイン。
例えば、一次プロセスの状態変数表現は、以下のフォーマットで表わされる場合がある。
【数3】
式中、
k=プロセスゲイン、
τ=プロセス時定数、
ΔT=プロセスモデルの実行周期、
j=現在の時間インスタンス。
積分プロセスでは、一次プロセスの状態変数表現は、以下のフォーマットで表わされる場合がある。
a=1、及び、
b=ΔT
*k
I
【0056】
説明を助けるために、
図2に描かれるプロセス102は、ほとんどのプロセスに内在する種々の誤差の発生源及び他の動作を例証するために及び予測器104のより良好な理解を可能にするために上記の数式で例証される。特に、プロセス102は、プロセスゲインブロック120、加算器122、変換ブロック124、加算器126、並びに遅延ユニット132及びゲインユニット134を含むフィードバックループ130によってモデル化される。プロセス102の数学的演算を表すために、ゲインユニット120は、コントローラ101によって生成される制御信号U
jにプロセスゲインbを乗算し、この値は、(加算器122において)プロセスノイズW
j、及びプロセス状態変数X
jを生成するためにフィードバックループ130によって推定される又はモデル化される動的応答に加算される。プロセスノイズW
jは、例えば、入力と相関のない共分散Qを伴うガウスホワイトノイズ又はゼロ平均ホワイトノイズとみなされてもよいが、代わりに他のタイプのノイズモデルが用いられてもよい。したがって、プロセス状態変数X
jは、プロセスゲインブロック120の出力とプロセスノイズW
jと動的ゲイン応答との和として数学的にモデル化される。この場合、加算器122の入力部での動的ゲイン応答は、フィードバックループ130によって生成され又はモデル化され、フィードバックループ130では、プロセス状態変数X
jが遅延ユニット132における1つのサンプリング又はコントローラ実行時間だけ遅延され、且つプロセス状態変数の遅延されたバージョンX
j−1にプロセス動的応答ゲインaが乗算される。理解されるように、プロセスゲインbと動的プロセス応答ゲインaは、典型的に、定数としてモデル化されるが、プロセス102の実際の動作に基づいて(周期的に又は他の方法で)更新されてもよい。
【0057】
プロセス102内で、プロセス状態変数X
jは、プロセス状態変数X
jの単位と計測されたプロセス出力値Z
jの単位との間の単位換算を提供する又はモデル化する値hを乗算することによって変換ユニット124において変換されるものとして例証される。加算器126は、次いで、ブロック124によって生成される変換されたプロセス状態変数値にプロセス計測ノイズ(例えば、計測誤差又は不正確さに起因してプロセス変数値に付加されるノイズ)を表す値V
jを合算する。所望の場合、計測ノイズV
jは、ゼロ平均、及び入力又はプロセスノイズW
jと相関のない共分散Rを伴うホワイトノイズである場合がある。加算器126の出力は、プロセスノイズ、プロセスダイナミックス、プロセスゲイン、及び計測ノイズに起因する誤差を含有する影響を含むプロセス状態変数X
jの値の推定であるプロセス出力値Z
jを表す。もちろん、
図2で例証されるように、送信器106は、「ノイズのある」プロセス出力値Z
jを生成し又は計測し、この値を予測器104に提供する。
【0058】
上記のように、送信器106は、典型的に、予測器104が送信器106によってそれに提供されるプロセス出力計測値Z
jに基づいて実際のプロセス状態変数X
jの有効且つ最新の推定
【数4】
を生成できるように、コントローラ101の動作サイクルにつき及び/又は予測器104の動作サイクルにつきプロセス計測出力値Z
jを複数回生成するであろう。
【0059】
図3は、プロセス202を制御するプロセスコントローラ201(
図2のプロセスコントローラ101と同じであってもよい)を含む新しいプロセス制御システム200を例証する。
図3で例証されるように、プロセスコントローラ201は、プロセス202を制御する又は駆動するために制御信号U
jを生成するPIDコントローラアルゴリズム230のようなコントローラアルゴリズムを含む。この場合、しかしながら、制御システム200は、コントローラ201に及び送信器206に接続される修正された予測器204を含む。修正された予測器204は、この場合、修正された予測器204に無線通信ネットワークを介して無線で提供される送信器206の出力を受信する(
図3に点線で示される)。修正された予測器204は、制御信号U
j及び送信器206によって計測される場合の計測されたプロセス出力値Z
jに基づいてプロセス状態変数の推定(予測又は観測)値
【数5】
を生成し、制御信号U
jを生成するのに用いられるPIDコントローラアルゴリズム230の入力部に推定されたプロセス状態変数
【数6】
を提供するように動作する。
【0060】
ここで、無線送信器206の出力(すなわち、プロセス計測出力信号Z
j)が、無線通信ネットワークを経由して修正された予測器204に無線で提供され、したがって、非周期的に、間欠的に、若しくはコントローラ201の実行サイクルレート又は予測器204の実行サイクルレートよりも遅いレートで提供されてもよい。結果として、この場合、計測されたプロセス出力Z
jの新しい値は、予測器204の各新しい実行サイクルの開始時に予測器204の入力部で利用可能ではない場合があり、一般に利用可能ではない。それにもかかわらず、修正された予測器204は、各コントローラ実行サイクル中にコントローラ201又は制御ルーチン230の入力部への新しいプロセス状態変数推定
【数7】
を生成するために後述の様態で依然として動作する。
【0061】
上記のように、これまでは、PIDアルゴリズムのような観測器/予測器に基づくコントローラアルゴリズムは、カルマンフィルタのような予測器に結び付けられ、プロセス変数計測値が各コントローラ実行サイクルの開始時に最新であった、実際には正確であったとみなされていた。これらのアルゴリズムはまた、計測されたプロセス変数(カルマンフィルタによって推定される同じ変数)は非ゼロ平均ノイズのみを含むと仮定したものであった。結果として、プロセス変数計測値を典型的な観測器/予測器に遅く又は間欠的に提供する無線送信器他の機構の使用は、問題を引き起こす及び乏しい制御性能につながる可能性がある。修正された予測器204は、しかしながら、コントローラ又は観測器/予測器入力部での間欠的な又は遅いプロセスフィードバック信号の受取りに関連する問題を最小にする又は軽減させるために後述の様態で動作する。
【0062】
図3の修正された予測器204の詳細を説明する前に、予測ユニットの動作中にモデル不正確さを補正する一般に予測器であるカルマンフィルタの形態の1つの公知のタイプの予測器の典型的な動作を説明することが役立つであろう。
図4は、配線式送信器406からプロセスフィードバック信号を周期的に受信するカルマンフィルタ404を用いるプロセス402に結合されるコントローラ401を有する典型的な予測器に基づく制御システム400を例証する。この説明のために、プロセス402は、
図2のプロセス102に関して説明されたのと同じ様態で動作するとみなされ、したがって、
図4のプロセス402で例証されるブロックは、
図2のプロセス102の対応するブロックと同じ番号が付される。
【0063】
一般的に言えば、カルマンフィルタを、制御アプリケーションに対するプロセスノイズ又は計測ノイズの影響を低減させるのに用いることができるので、カルマンフィルタは、典型的に、プロセスが多大なプロセスノイズ又は計測ノイズによって特徴付けられるときのプロセスを制御するのに用いられる。特に、カルマンフィルタは、一般に、以下でより詳細に説明するように、制御に関する推定されたプロセス出力を生成する。
【数8】
=プロセス状態の事前推定(最初のプロセス状態変数推定)、
【数9】
=プロセス状態の推定、
【数10】
=出力の推定。
【0064】
一般的な意味で、カルマンフィルタは、推定されたプロセス出力値を生成するためにプロセスノイズ又は計測ノイズを伴わないプロセスのモデルを含む及び用いる。カルマンフィルタはまた、推定されたプロセス出力と計測されたプロセス出力との差を残差として求める補正ユニットを含み、これはまた当該技術分野ではイノベーションとして公知である。カルマンフィルタの補正ユニットはまた、プロセスモデル変数a、b、又はhにおける不正確さを補償するため及びプロセスノイズ又は計測ノイズを考慮に入れるためにカルマンフィルタモデルにおいて残差のどんな部分が用いられるかを判定するように設定されるカルマンゲインK
jを含む。
【0065】
したがって、
図4で例証されるように、典型的なカルマンフィルタ404は、ハードワイヤード又は規則的にスケジュールされた通信を介して、配線式送信器又はセンサ406によって計測される場合の計測されたプロセス出力Z
jを受信し、プロセス状態変数の推定
【数11】
を出力として生成し、これは次に、コントローラ401にプロセス変数入力として提供される(
図4でコントローラ401によって実装されるPIDコントローラアルゴリズム430として例証される)。カルマンフィルタ404は、ゲインブロック410、加算器412及び414、変換ブロック416、さらなる加算器418、加算器418と加算器414との間に結合されたカルマンゲインブロック422、並びに遅延ユニット424及びゲインブロック426を含む動的フィードバックループ423を含む。本質的に、ブロック410、412、424、及び426は、最初のプロセス状態変数推定
【数12】
を生成するプロセスモデルを形成し、ブロック416、418、及び422は、ゲインブロック422の出力で補正信号を生成する補正ユニットを形成し、ブロック414は、プロセス状態変数推定
【数13】
を生成するために最初のプロセス状態変数推定
【数14】
を補正信号と組み合わせるコンバイナを形成する。結果として、カルマンフィルタ404は、プロセスゲインb、動的応答ゲインa、及びカルマンフィルタゲインK
j、並びに制御信号U
j及び計測されたプロセス出力信号Z
jの現在値に基づいてプロセス状態変数に関する推定されるノイズのない値(プロセス402内のプロセス状態変数X
jの推定である)
【数15】
を生成するように構成される。
【0066】
特に、ゲインユニット410は、制御信号U
j(コントローラ401からの)にプロセスゲインbの推定を乗算し、この値が、変数として示されるプロセス状態変数の事前推定値
【数16】
を成するために加算器412において動的応答(フィードバックループ423によって生成される)に加算される。加算器412の入力部で提供される動的ゲイン応答は、推定されたプロセス状態変数
【数17】
が遅延ユニット424における1つのサンプリング又はコントローラ実行時間だけ遅延され、プロセス状態変数の遅延されたバージョン
【数18】
に動的プロセス応答ゲインaが乗算されるフィードバックループ423によって生成される。理解されるように、プロセスゲインbと動的プロセス応答ゲインaは、典型的に、定数としてモデル化されるが、プロセス402の実際の動作に基づいて(周期的に又は他の方法で)更新されてもよい。いずれにしても、事前プロセス状態変数推定
【数19】
は、次いで、加算器414に提供され、これは、プロセス状態変数推定(観測されたプロセス状態変数値とも呼ばれる)
【数20】
を生成するために、この変数値をノイズ及びプロセスモデルにおけるモデル不正確さを補正する補正信号と合算する。この場合、ブロック416、418、及び422は補正信号を生成する。
【0067】
加算器414の入力部で補正信号を生成するために、事前推定されたプロセス状態変数
【数21】
は、推定された出力値
【数22】
の形態の最初のプロセス状態変数推定となるように依然として考えられるものを生成するために、プロセス状態変数
【数23】
の単位と計測されたプロセス出力Z
jの単位との間の単位換算を提供する又はモデル化する値hを乗算することによって変換ユニット416において変換される。加算器418は、次いで、ライン440上に残差を生成するためにプロセス出力の実際に計測された値Z
jから計測されたプロセス出力の最初の推定される値
【数24】
を差し引く(差を計算する)。次いで、ブロック422において、プロセスにおけるノイズ(例えば、プロセス計測ノイズ及びプロセスノイズ)を補正するのに補正信号を生成するために、並びにゲインa、b、及びhにおける不正確さのようなモデル不正確さを補正するために、残差にカルマンフィルタゲインK
jが乗算される。最終的に、推定されたプロセス状態変数
【数25】
が、プロセス402を制御するのに用いられるコントローラ401への入力として提供される。カルマンゲインK
j及びカルマンフィルタ404の他の変数は、典型的に、一回生成され、又は適正な制御を判定するために及び観測器404がより正確となるように微調整するために各実行サイクル中に再生成される。
【0068】
より具体的には、カルマンゲインK
jは、プロセスがノイズを含まず、且つa、b、及びhの値が正確に分かっている場合に、一定とみなされてもよい。しかしながら、公知のように、カルマンフィルタの各実行サイクル中にカルマンゲインK
jを再帰的様態で動的に計算することによって最適な線形推定量が以下の様態で達成されてもよい。第1に、以前の値の最初の推測又は推定が以下のように確立されてもよい。
【数26】
=事後状態推定
P
j−1=事後状態共分散
【0069】
次いで、予測器ステップにおいて、プロセス状態変数の事前推定の現在値
【数27】
及びプロセスノイズ共分散の事前推定の現在値
【数28】
を求めるために以下の計算がなされてもよい。
【数29】
【0070】
次いで、推定ステップにおいて、カルマンゲイン、プロセス状態変数推定
【数30】
、状態共分散P
j、及び推定される計測されたプロセス出力値Z
jに関する新しい値を求めるために以下の計算が行われてもよい。
【数31】
式中、
K
jは、カルマンゲインであり、
Rは、計測ノイズ(V
j)の共分散であり
Qは、プロセスノイズ(W
j)の共分散である。
最初の実行後に、例えば各実行サイクル中にカルマンゲインが再計算されるたびに予測器ステップ及び推定器ステップを繰り返すことができる。
【0071】
したがって、理解されるように、
図4のカルマンフィルタ404は、例えば送信器又はセンサ406によって付加されるプロセスノイズ及び計測ノイズを考慮に入れるプロセス状態変数X
jの実際の値を推定することを試み、このプロセス状態変数の推定
【数32】
を入力としてコントローラ401に提供する。最終的に、カルマンフィルタ404の使用は、送信器406によって計測される場合のプロセス出力Z
jの計測された又は感知された値を用いることとは対照的に、プロセス402を制御するのに用いられるコントローラ入力部での実際のプロセス状態変数X
jのより良好な又はより正しい推定を提供する。
【0072】
図4のカルマンフィルタは、プロセスノイズがゼロ平均値を有するとみなされるときに良好に働く。しかしながら、プロセスノイズの平均値がゼロ(0)ではないとき、1/hよりも小さいカルマンゲインK
jの値に関して、状態の計測と推定との間にオフセットが存在するであろう。したがって、カルマンフィルタの多くの実用化に関して、非ゼロ平均値ノイズを考慮に入れるためにカルマンフィルタにおいて修正が必要とされる。
【0073】
図5は、プロセス502を制御するのに用いられるコントローラ501と、非ゼロ平均値をもつプロセスノイズを考慮に入れるように修正されるカルマンフィルタ504とを有するカルマンフィルタに基づく制御システム500を例証する。
図5のカルマンフィルタ504は、ゲインブロック522、フィルタブロック524、及び加算器526が追加されていること以外は、
図4のものと本質的に同じである(そのため同様の要素に同じ番号が付される)。ブロック522及び524は、フィルタブロック524の出力で補償信号を生成する補償ユニットを形成し、ブロック526は、補償されたプロセス状態変数推定
【数33】
を生じるためにプロセス状態変数推定
【数34】
を補償信号と組み合わせるコンバイナを形成する。結果として、カルマンフィルタ504は、プロセス状態変数のオフセットのない推定されるノイズのない値を生成するために非ゼロ平均値をもつプロセスノイズによって生じるオフセットをなくすように構成される。
【0074】
加算器526の入力部で補償信号を生成するために、加算器418から計算される残差は、最初にゲインブロック522において1−カルマンゲインK
jが乗算され、次いで、フィルタブロック524に送られる。フィルタブロック524は、例えば、プロセス応答時間(例えば、プロセス時定数+あらゆるプロセスむだ時間)にほぼ等しい時定数をもつローパスフィルタのようないかなるタイプの一次フィルタであってもよい。フィルタブロック524は、プロセスノイズの非ゼロ平均値を推定し、非ゼロ平均値ノイズによって生じるオフセットをなくすために必要な補償信号を出力として提供する。生成された補償信号は、次いで、非ゼロ平均値ノイズの影響を含む計測されたプロセス出力Z
jに基づいて計算された
【数35】
値に内在するノイズオフセットを除去するために、推定されたプロセス状態変数
【数36】
と組み合わされる。このように、
図5のカルマンフィルタ504は、コントローラ501に、より正確なプロセス状態変数推定を提供するために、プロセス502内の非ゼロ平均値を有するあらゆるプロセスノイズを考慮に入れている。もちろん、プロセス502におけるプロセスノイズがゼロ平均値を有する場合、フィルタブロック524の出力での補償信号はゼロ又はほぼゼロとなるであろう。
【0075】
さらにまた、
図4のカルマンフィルタ404及び
図5の504は、カルマンフィルタ404又は504が新しいプロセス変数推定
【数37】
を求め、各制御実行サイクルの開始時に、これをコントローラ401に、又は補償されたプロセス状態推定
【数38】
をコントローラ501に提供することを可能にするために、カルマンフィルタ404のすべての実行サイクル中に、新しい計測された出力値Z
jが利用可能であり、且つ送信器406によって提供されるとみなす。しかしながら、計測される信号がコントローラ401又は501の実行レートと同じ又はこれよりも高いレートでカルマンフィルタに送信されない無線送信器又は他のシステムを用いるときに、新しいサンプル値が各実行サイクルで利用可能ではないことから、
図4及び
図5で例証されるカルマンフィルタを使用することができない。
【0076】
図6は、プロセスコントローラ601が
図4のプロセス402と同じであり得るプロセス602を制御する概して
図3で例証されるような修正された予測器に基づくプロセス制御システム600を例証する。この場合、
図3の修正された予測器204は、
図6で修正されたカルマンフィルタ604として例証される。カルマンフィルタ604は、プロセス602において作成される間欠的な、遅い、又は非周期的なプロセス計測値、若しくは他の状態でカルマンフィルタ604又はコントローラ601の実行サイクルレートよりも実質的に遅い又は低いレートで到着するプロセス計測値の受取りに対処するように適合されること以外は、
図4のカルマンフィルタ404と類似している。この場合、
図6のカルマンフィルタ604は、
図4(同じ要素が同じ参照番号を含む)で例証される基本要素を含み、したがって、一般に、多大なプロセスむだ時間又はプロセス応答遅延が存在しないプロセスに用いられるように適合される。
【0077】
図6に示されるように、しかしながら、修正されたカルマンフィルタ604は、無線送信器606(
図3の無線送信器206と同じであり得る)によって送信されるプロセス計測出力信号Z
jを受け取る又は受信する入力インターフェース660を含む。カルマンフィルタ604での制御信号の受取りは、このインターフェースを介して達成されてもよい。ここでは、無線送信器606がプロセス計測信号をカルマンフィルタ604に間欠的に、非周期的に及び/又は実行レートよりも遅いレートで送信するとみなされる。送信器606は、例えば、プロセス計測信号が最後に送信されたプロセス計測信号から予め設定された量だけ変化するときにのみプロセス計測信号を送信できる可能性があり、若しくはカルマンフィルタ604又はコントローラ601の実行レートよりも低い周期的レートで、あるいは例えばあらゆる他の間欠的なレート又はスケジュールに従ってプロセス計測信号を送信できる可能性がある。一般的に言えば、この場合、カルマンフィルタ604及びPIDコントローラ601は、送信器606からカルマンフィルタ604によって計測値の更新が受信されるレートよりも速い又はかなり速いレートで周期的に実行する。この状況に対応するために、修正されたカルマンフィルタ604は、加算器418から生成された残差信号を受信し、該信号をカルマンゲインブロック622に提供する、スイッチユニット662を含む。特に、プロセス計測出力信号の新しい値がインターフェース660で利用可能である実行サイクル中、及びプロセス計測出力信号の新しい値が利用可能である実行サイクル後の所定数の実行サイクル中に、スイッチユニット662は、新しい残差値をカルマンゲインブロック622に提供するように動作する。新しい残差値は、コンバイナ418において、事前プロセス状態変数推定
【数39】
、及びプロセス計測出力信号のインターフェース660で受信した値に基づいて求められる。したがって、プロセス計測出力信号の新しい値が利用可能である実行サイクル中に、プロセス計測出力信号の受信した値は、プロセス計測出力信号の新たに受信した値に対応する。一方、プロセス計測出力信号の新しい値がインターフェース660で利用可能である実行サイクル後の所定数の実行サイクル後の実行サイクル中に、スイッチユニット662は、格納された残差値をカルマンゲインブロック622に提供するように動作する。一般的に言えば、格納された残差値は、コンバイナ418において所定数の実行サイクルの最後の実行サイクル中に求められ、スイッチユニット662に格納されてもよい。所定数の実行サイクルを用いる目的は、プロセス状態変数
【数40】
が新たに受信したプロセス計測出力信号に対して十分に更新され、これにより格納される残差のより正確な値を求めることができるようにすることである。したがって、プロセス計測出力信号の新しい値が利用可能である所定数の実行サイクル後の実行サイクル中に、カルマンフィルタ604は、スイッチユニット662において、コントローラ601に送信されるべきプロセス変数推定
【数41】
を生成するのに用いられる補正信号を生成するために、格納された残差値を用いる。
【0078】
さらにまた、新しいプロセス計測出力値Z
jがインターフェース660に伝送される、インターフェース660で受信される、又は他の状態でインターフェース660で利用可能である実行サイクル中、及び新しいプロセス計測出力値Z
jが利用可能である実行サイクル後の所定数の実行サイクル中に、カルマンゲインブロック622は、カルマンゲインブロック622で用いられるカルマンゲインK
jに関する新しい値を計算するように構成される。しかしながら、新しいプロセス計測出力値Z
jが利用可能である実行サイクル後の所定数の実行サイクル後の実行サイクル中に、カルマンゲインブロック622は、カルマンゲインK
jの格納された値を用いるように構成され、この場合、カルマンゲインK
jの格納された値は、所定数の実行サイクルの最後の実行サイクル中に計算される。加えて、カルマンゲイン値の計算に用いられる共分散値Rは、伝送されている計測値を用いてのみ計算されるので、コントローラ601のPID制御アルゴリズム630は、依然としてプロセス変数計測値の新たな予測値を用いて働く。
【0079】
より具体的には、動作中に、インターフェース660は、送信器606によって感知され及び送信される場合の感知した又は計測したプロセス出力信号Z
jの新たに受信した値を格納するように動作する。インターフェース660は、この新たに受信した値及び格納されたプロセス出力信号Z
jを、ライン440上に残差を生成するのに用いるために、加算器又はコンバイナ418の入力部に提供する。その後、スイッチユニット662は、残差をゲインブロック622に提供するように動作する。同時に、インターフェース660は、インターフェース660が送信器606から新しい値を受信するときにはいつでも新しい値フラグを設定し、この新しい値フラグをスイッチユニット662とゲインブロック622との両方に提供する。新しい値フラグが設定されるときに、スイッチユニット662は、あらゆる以前に格納された残差値を消去する。スイッチユニット662は、次いで、新しいプロセス出力信号Z
jがインターフェース660で受信されるときに、例えば加算器418によって求められる場合の新たに求められた残差値をカルマンゲインブロック622に提供するように動作する。スイッチユニット662は、所定数の実行サイクル中に新しい残差値をカルマンゲインブロック622に提供し続ける。所定数の実行サイクルの最後の実行サイクルで、スイッチユニット662は、この最後の実行サイクル中に計算された残差を格納することに進む。したがって、所定数の実行サイクル後の実行サイクル中に、スイッチユニット662は、格納された残差値をカルマンゲインブロック622に提供するように動作する。同様に、新しい値フラグが設定されるときに、カルマンゲインブロック622は、あらゆる以前に格納されたカルマンゲイン値を消去する。したがって、プロセス出力信号Z
jの新しい値がインターフェース660で受信されている実行サイクル中に、及びその後の所定数の実行サイクルに関して、カルマンゲインブロック622は、ゲインブロック622で用いられる新しいカルマンゲインK
jを計算することに進む。カルマンゲインブロック622は、所定数の実行サイクル中にゲインブロック622で用いられる新しいカルマンゲイン値を計算し続ける。しかしながら、所定数の実行サイクルの最後の実行サイクルで、カルマンゲインブロック622は、この最後の実行サイクル中に計算されるカルマンゲインK
jを格納することに進む。したがって、所定数の実行サイクル後の実行サイクル中に、カルマンゲインブロック622は、格納されたカルマンゲインK
jを用いるように動作する。その結果、スイッチユニット662及びカルマンゲインブロック622は、カルマンフィルタ604の各実行サイクル中にノイズの推定を生じるように動作し、これは次に、加算器414に提供され、推定されたプロセス状態変数値
【数42】
を生成するのに用いられる。このように、カルマンフィルタ604は、新しいプロセス変数計測値がカルマンフィルタ604で受信される間又は間中に正確なプロセス変数推定を提供する。所望の場合、所定数の実行サイクルは、少なくとも1つであり、おそらく1つ以上、例えば2つ、3つなどであろう。理解されるように、新しいプロセス変数計測値の受取り後の1つ又は複数の所定の実行サイクル後に又はその終了時に計算されている残差を格納する及び用いる目的は、これが、以前に受信したプロセス変数計測値に基づく推定ではなく、最新の受信したプロセス変数計測値と最新の受信したプロセス変数自体を用いて作成された計測値の推定との間の差に基づくことになるため、格納される残差がより正確となることを可能にすることである。特に、これは、新しいプロセス変数計測値を用いて求められた残差から計算されたプロセス変数推定
【数43】
を用いてフィードバックパス423を介して計算されるべきプロセス状態変数
【数44】
に関するカルマンフィルタの1つ又は複数の実行サイクルをとるであろう。
【0080】
非ゼロ平均値を有するプロセスノイズがプロセス602に存在する場合、カルマンフィルタ604内のプロセスモデルは、このノイズを考慮に入れるために修正される必要がある。特に、
図7は、非ゼロ平均値をもつプロセスノイズを含むプロセス702に結合されるコントローラ701(コントローラ601、501、401、301、及び201と類似している又は同一である場合があり、且つコントローラアルゴリズム730を有する)を含むプロセス制御システム700を例証する。制御システム700は、非周期的な、間欠的な、又は遅い様態で提供される無線プロセス変数計測値を受信するために、
図6に関して前述したように修正されたカルマンフィルタ704を含む。分かるように、カルマンフィルタ704は、カルマンフィルタ704が
図5のゲインブロック522、フィルタブロック524、及び加算器526と類似している、同じ目的で動作するゲインブロック722、フィルタブロック724、及び加算器726を含むこと以外は、
図6(同様の要素に同じ番号が付される)のカルマンフィルタ604と同じである。したがって、この場合、カルマンフィルタ704は、非ゼロ平均値をもつプロセスノイズによって生じるいかなるオフセットも含まない補償されたプロセス状態変数推定
【数45】
を計算する。もちろん、この場合、フィルタ722は、フィルタ622によって用いられるのと同じ残差、すなわち、新たに計算された残差(新しいプロセス計測値が受信される実行サイクル及びその後の所定数の実行サイクル中)、又は格納される残差(その後新しいプロセス変数計測値が受信される所定数の実行サイクル後の実行サイクル中)のいずれかを用いる。
【0081】
理解されるように、
図6及び
図7の修正されたカルマンフィルタ604及び704は、例えば無線伝送ネットワークを介してプロセスから提供される、間欠的に、非周期的に、又は遅く提供されるプロセス変数計測値の使用を可能にする。結果として、カルマンフィルタ604及び704は、プロセス変数値が非周期的な又は間欠的な様態で、又はカルマンフィルタ及びコントローラの実行レートよりも遅い又は低いレートで計測される又は制御システムに送信されるプロセスの状況でのカルマンフィルタに基づく制御を可能にする。
【0082】
図6及び
図7のようなカルマンフィルタを用いるときに、前述のパラメータa、b、及びhのようなモデルパラメータを構成することが望ましい又は時には必要である。例えば、自己調整プロセスでは、モデルパラメータは、プロセスゲイン、プロセス時定数、及びプロセスむだ時間の知識に基づいて設定されてもよい。積分プロセスでは、モデルパラメータは、ゲインとプロセスむだ時間を積分するプロセスの知識に基づいて設定されてもよい。ユーザがこれらのパラメータを設定する必要性を最小にするために、カルマンフィルタに用いられるモデルは、コントローラ調整パラメータ及び調整に関するいくつかの仮定に基づいて自動的に構成できる可能性がある。例えば、制御アルゴリズムがPIDアルゴリズムである場合、カルマンフィルタモデルパラメータは、PIDコントローラゲイン、リセット、及びレートに基づいて設定できる可能性がある。
【0083】
カルマンフィルタが無線制御に用いられるとき、カルマンゲインに関連する計算は、ノイズレベルが一定である又は有意でない場合に簡素化されてもよい。例えば、計測ノイズに関連するノイズ共分散Rがゼロ(0)とみなされる場合、カルマンゲインは一定であり、以下のように計算され又は求められてもよい。
R=0とみなすとき、
【数46】
【0084】
図8は、配線式又は周期的計測値を受信する伝統的なPIDに基づく制御システムと比較して、間欠的プロセス変数計測値を受信する、前述の修正されたカルマンフィルタを用いる制御システムの性能を例証するために提供される。特に、
図8は、周期的プロセス変数計測値が制御システムの実行レートよりも高い又はこれに等しいレートでPIDコントローラの入力部に提供されるPID制御と比較して、
図6及び
図7(プロセス変数計測値が制御システムの実行レートよりも低いレートでカルマンフィルタの入力部に提供される)に関して説明されたように動作するPIDコントローラ及び修正されたカルマンフィルタを有する
図7のような制御システムのコンピュータシミュレートされた動作を例証するチャート800を描いている。
図8では、ライン801は、コントローラに提供されるセットポイント値を示し、一方、ライン802は、制御されているプロセスにおける計測されない外乱の値を示す。理解されるように、これらの変数のそれぞれは、プロセス動作中のこれらの2つのタイプの変化のそれぞれへの両方のタイプの制御システムの応答及び動作を例証するために異なる時点で変化される。
【0085】
図8のライン810及び811は、それぞれ典型的な制御システム(周期的計測値フィードバックを伴うPIDコントローラ)及び修正された制御システム(非周期的な、例えば、無線の計測値フィードバックを受信し、及び非ゼロ平均値ノイズを補償する修正されたカルマンフィルタを伴うPIDコントローラ)によって制御されているプロセス変数(PV)のシミュレートされた値を例証する。同様に、ライン820及び821は、それぞれ、典型的な制御システムによるPIDコントローラ(周期的計測値フィードバックを伴うPIDコントローラ)による制御信号出力及び修正された制御システムのPIDコントローラ(非周期的な、例えば、無線の計測値フィードバックを受信し、及び非ゼロ平均値ノイズを補償する修正されたカルマンフィルタを伴うPIDコントローラ)による制御信号出力のシミュレートされた値を例証する。これらのラインは、配線式送信器を伴うPIDコントローラと比較して、修正されたカルマンフィルタが無線計測値を用いる閉ループ制御を提供するためにPIDコントローラと共にどのように用いられ得るかを実証する。
【0086】
このシミュレートされたテストでは、比較のために用いられるプロセスは、以下の特徴をもつ一次+むだ時間プロセスであった。
プロセスゲイン=1
プロセス時定数=6秒
プロセスむだ時間=2秒
PIDコントローラは、すべての場合においてラムダ係数1に対して調整された。
ゲイン=1/プロセスゲイン
リセット=プロセス時定数+プロセスむだ時間
プロセス入力及び出力は、グラフとの比較を簡単にするために0〜100%にスケール変更された。したがって、h(単位換算係数)の値は、これらの例では1に等しかった。修正されたカルマンフィルタでは、ノイズレベルは最小であり、したがって、カルマンフィルタゲインは1/h=1の一定の値に設定された。シミュレートされた無線送信器は、ウィンドウ通信を用いる1パーセント変化及び10秒のデフォルト周期に関して構成された。モジュール(コントローラ)実行レートは0.5秒に設定された。
【0087】
ライン810及び811並びにライン820及び821のクローズ(close)検査から分かるように、カルマンフィルタを用いる修正された制御システムは、周期的プロセス変数計測値が制御システムの実行レートよりも高い又はこれに等しいレートでコントローラに提供されるPID制御システムと非常に類似して作動した。実際には、
図8のチャートで例証されるように、制御性能は、両方のセットポイント変化に関する及び大きい計測されないプロセス外乱に関するPIDコントローラ及び配線式計測値と比較できるものであった。テストモジュールの一部として、無線での制御の積分絶対誤差(integrated absolute error:IAE)及び配線式計測値での制御に関するIAEがそれぞれ361及び336として計算され、したがってこの計測でのほぼ同一の又は非常に比較できる制御性能が立証された。
【0088】
図9は、
図1の制御システムのような制御システム1000内に修正された予測器及びコントローラを実装する1つの様態を例証する。
図9で例証されるように、コントローラ1001は、プロセス1002を制御するために接続され、修正された予測器1004は、コントローラ1001と無線送信器1006との間に通信可能に結合され、プロセス1002内の1つ又は複数のプロセス変数を計測する。修正された予測器1004は、前述の修正された予測器、又は本明細書で開示される技術に基づいて構築された修正された予測器のいずれであってもよい。
図9で例証されるように、修正された予測器1004は、制御システム1000に関連する別個の機能ブロック又は別個の制御モジュールのような別個の及び独立したブロックとして構成され、作動され又は実行される。例えば、コントローラ1001が機能ブロック又は制御モジュールとして実装される場合、修正された予測器1004は、
図9で例証されるようにコントローラ機能ブロック又はモジュールに通信可能に結合される別個の機能ブロック又は別個の制御モジュールとして実装できる可能性がある。この場合、コントローラ1001の制御ブロック1030は、予測器1004から別個のデバイス内に格納され及び実行されてもよく(この場合、予測器1004とコントローラ1001の制御ブロック1030との間の通信に関するデバイス間の通信が起こる)、又は予測器1004と同じデバイス内に格納され及び実行されてもよい(この場合、予測器1004とコントローラ1001の制御ブロック1030との間の通信に関するデバイス内通信が起こる可能性がある)。いずれの場合にも、これらの2つのブロックは、通信ライン、パス、又はネットワークを介して互いに通信可能に結合される。
【0089】
この例では、修正された予測器ブロック1004は、ブロック1004が更新されたプロセス変数推定をコントローラ1001の実行サイクルにつき少なくとも1回コントローラブロック1030に提供するような様態で制御ブロック1030に通信可能に接続することができる。いずれにしても、修正された予測器ブロック1004は、
図1のコントローラ、フィールドデバイス、I/Oデバイスなどのうちの種々の異なる1つに位置することができる可能性があり、一方、コントローラ1001は、同じ又は他のこうしたデバイスに位置することができる。
【0090】
図10は、コントローラブロック1101がプロセス1102を制御するのに用いられ、修正された予測器ブロック1104が無線送信器1106から無線伝送信号を受信するプロセス制御システム1100を描いている。ここで、しかしながら、修正された予測器ブロック1104は、コントローラアルゴリズムブロック1130と同じ複合ブロックであるが別個のモジュールに位置する。したがって、この例では、コントローラアルゴリズムブロック1130と修正された予測器1104は、同じ複合モジュール(複合ブロック1140として示される)に一体化され、したがって、
図1のプロセス制御ネットワーク10のようなプロセス制御ネットワークにおける同じデバイスで実行する。典型的に、このモジュールは、コントローラ11のうちの1つにおいて実行される可能性があるが、配線式又は無線フィールドデバイス、I/Oデバイスなどを含む
図1の他のデバイスのいずれかとすることができる可能性がある。この場合、コントローラブロック1101に関して提供されるユーザ・インターフェースは、コントローラブロック1101へのプロセス変数PV計測値入力として予測器1104によって生成される予測された計測値を示してもよい。ほとんどの場合、しかしながら、プラントオペレータは、制御動作にアクセスする又はこれを見るときに最後の通信された計測値を見ることにより関心をもつであろう。計測値がオペレータに制御パラメータとして示されることを可能にするために、例えば
図11で例証されるようにコントローラを含むコントローラブロックと修正された予測器ブロックを作成できる可能性がある。
【0091】
特に、
図11は、それぞれ、予測器ブロック1204(
図11に修正されたカルマンフィルタとなるように示される)がコントローラアルゴリズムブロック1230と同じブロックに一体化される制御ブロック1201の例を示す。したがって、この場合、制御ブロック又はモジュール1201は、コントローラアルゴリズム機能ブロック1230と修正されたカルマンフィルタブロック1204との両方を含む。この場合、修正されたカルマンフィルタブロック1204は、制御モジュール1201自体の一部として取り扱われ、したがって制御ブロック1201の一部として見ることができる(アクセス可能なそのパラメータを有する)。したがって、この状況では、プロセス計測値出力Zは、オペレータにはコントローラ1201へのフィードバックプロセス変数(PV)入力となるように見えるであろう。
【0092】
本明細書で提供される説明は、異なる説明された実施形態のそれぞれに関して、修正された予測器に結合されるコントローラがPID制御ルーチンを実施することを前提としていたが、この説明は、単に一貫性のために提供される。伝統的なPID制御アルゴリズム(P、PI、PD、PIDなどのようなあらゆる形態のPIDを含む)以外の他のタイプの制御アルゴリズムが本明細書に記載の修正された予測器を用いる制御方式でコントローラとして用いられてもよいことが理解されるであろう。もちろん、本明細書に記載の修正された予測器を実装する多くの他の方法が存在し、理解されるように、修正された予測器は、それに修正された予測器が接続されるコントローラ又は制御ブロック又は制御要素と一緒に(例えば、同じモジュール又はデバイスにおいて)用いられてもよいし、又は別々に(例えば、異なるモジュール又はデバイスにおいて)用いられてもよい。同様に、本明細書に記載のコントローラ及び修正された予測器は、ハードウェア、汎用コンピュータ上で実行されるソフトウェアルーチン、若しくは特殊用途コンピュータ又はプロセッサデバイス上で実行されるソフトウェア又はファームウェアルーチンで実装されてもよい。
【0093】
開示される実施形態のいずれかでは、修正された予測器又はデバイス、修正された予測器は、入ってくるプロセス変数計測信号を処理する通信スタックと、入ってくる信号が計測値更新を提供したときを検出するモジュール又はルーチンを含んでいてもよい。検出ルーチンは、次いで、通信スタックを介して提供されているデータが新しい計測値又は他のタイプの値又は更新を含むことを示すフラグ又は他の信号を生じてもよい。新しいデータ及び更新フラグが、次いで、観測器及び制御ルーチンの動作と組み合わせて前述のように実施される場合に前述のように予測器の1つ又は複数の要素に提供されてもよい。代替的に又は加えて、新しいデータ及び更新フラグは、例えば
図1のコントローラ11で又は制御システムの中のどこかで実行される1つ又は複数の監視モジュール又はアプリケーションに提供されてもよい。更新検出機能が、同様に機能ブロックレベルで実装されてもよく、制御及び/又は観測器モジュールに関連する1つ又は複数の機能ブロックによって提供されてもよい。フィールドデバイス71のような他の無線デバイスは、例えば、そこに常駐する機能ブロック(例えば、FB1及びFB2)のうちの1つ又は複数によってこうした信号の受取及び処理をサポートする類似のコンポーネント及び機能性を含んでいてもよい。
【0094】
いくつかの場合、通信スタック及び更新検出モジュールは、
図1のI/Oデバイス26、28、73、及び74のうちの1つ又は複数によって実装されてもよい。さらに、更新検出モジュールがその判定を行う様態は、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせに関係する可能性があり、プロセス変数の値を比較するためのあらゆる適切なルーチンに関係する可能性がある。
【0095】
本明細書に記載のプロセス制御システムは、例外による報告(report−by−exception basis)でなされるプロセス制御データ伝送に関係する無線通信のような通信方式と組み合わせて用いられてもよい。無線通信コンテクストでのプロセス制御データの例外報告は多数の利点を呈する可能性がある。例えば、送信器又は他のフィールドデバイスによるフィールドでの電力消費率が下がる可能性があり、これにより、バッテリ電力又は他の制限された電力供給を節約する。過去の例外報告とは異なり、しかしながら、開示される技術は、周期的に実行されるプロセス制御ルーチンで用いられるデータの伝送をサポートする。イベントトリガベースで提供されるデータを用いる過去の思わしくないプロセス制御ルーチンの実行の忠告にもかかわらず、開示される技術の実施は、性能の有害な犠牲を伴わないプロセス制御ルーチンの周期的実行に適応する。開示される技術はさらに、同様に性能の有害な犠牲を伴わずにデータをシステム監視アプリケーションにイベントトリガベースで提供することをサポートする。
【0096】
開示される技術の実施は、無線通信方式と組み合わせるのに大変都合がよく、本明細書では無線通信方式と組み合わせて時折説明されるが、いかなる特定の通信方式、コンテクスト、又はプロトコル、若しくはいかなるプロセス制御ネットワーク、アーキテクチャ、コントローラ、又はシステム、或いはいかなる監視アプリケーションにも限定されない。代わりに、開示される技術は、あらゆる所望の理由でプロセス制御データが制御ルーチン実行周期又は監視サイクルよりも低頻度に伝送されるあらゆる数の又は様々なコンテクストに適用されてもよい。こうしたコンテクストは、通信を信頼できない又は間欠的なものにする望ましくない条件又は悪条件を呈する可能性がある。したがって、上記の説明は、開示される技術の実施が特に本明細書で説明される低電力又は他の無線通信方式に限定されないという理解のもとで記載される。
【0097】
理解されるように、
図1、
図3、
図6、
図7、及び
図9〜
図11の無線(又は他の)送信器に関して前述した通信技術は、フィールドからコントローラ11への計測値の通信が、周期的な様態で報告し、次に制御ルーチン(単数又は複数)の周期的実行をサポートするように伝統的に構造化されているときに、一般に、結果的に非周期的な、不規則な、又は他の状態であまり頻繁でないデータ伝送をもたらす。言い換えれば、制御ルーチンは、一般に、計測値の周期的更新のために設計され、これに依拠する。非周期的な又は他の状態で利用可能でない計測値更新(及び他の利用可能でない通信伝送)に適応するために、予測器、制御及び監視ルーチン(単数又は複数)は、プロセス制御システム10が制御実行周期又はいくつかの他の標準周期よりも低頻度に起こる非周期的な又は他の間欠的な更新に依拠することを可能にするように前述のように再構造化され又は修正されてもよい。このように、開示される技術は、いくつかの場合、一般に、プロセス制御ルーチンの周期的実行にかかわらずプロセス変数計測値に関する例外報告の形態をサポートしてもよい。開示される技術はまた、制御ルーチンと制御ルーチンの下流のデバイスとの間の伝送に関係する例外報告の形態に対処し及びサポートしてもよく、例えば、アクチュエータ及び他のデバイス又は要素は、制御ルーチンによって生じる制御信号に応答する。
【0098】
もちろん、いくつかの場合、デバイスは、複数の異なる計測値(すなわち、異なる信号の計測値)を収集し及び監視してもよく、これらの1つ又は複数の計測値のそれぞれに関して本明細書に記載の同じ伝送技術を用いることができる可能性があることが理解されるであろう。さらにまた、いくつかの場合、計測値を収集するデバイスは、データの進歩した解析(例えば、エラー検出解析、調整解析など)又は計測を行うことができ、本明細書に記載の同じ通信技術を、フル解析、単一のステータスを送信するか否かを判定する、又は信号を伝送することを次のサンプルインターバルまで待つために適用できる可能性がある。
【0099】
本開示のいくつかの態様によれば、本明細書に記載の技術は、コントローラとフィールドデバイス(単数又は複数)又はプロセス制御システムの他の要素との間の多数の異なる無線(又は他の)通信が不所望に遅延される又は失われるコンテクストに適用されてもよい。したがって、コントローラと送信器との間及びコントローラとアクチュエータとの間の通信問題に関する上記の例は、それらが本質的に例示的であるという理解のもとで記載されている。さらに、通信に関係するパラメータは、制御ルーチンによって制御されているプロセス変数に限定されない。それと反対に、開示される技術は、制御ルーチン又は監視ルーチンによって用いられる計測されている又はフィードバックされている若しくは他の方法で通信されているあらゆるパラメータに関係する通信と組み合わせて適用されてもよい。結果として、前述の応答指示(すなわち、プロセス変数計測値及びアクチュエータ位置)は、それらが本質的に例示的であるという理解のもとで記載される。制御信号への応答を示す他のデータに関係する通信問題はまた、開示される技術によって対処されてもよい。結果として、制御ルーチンの下流の要素(例えば、フィールドデバイス、別のプロセス制御ルーチンなど)からのデータのあらゆる通信が関係する可能性がある。
【0100】
開示された方法、システム、及び技術の実施は、いかなる1つの特定の無線アーキテクチャ又は通信プロトコルにも限定されない。実際には、制御ルーチンへの開示された修正は、制御ルーチンが周期的な様態で実施されるが各制御の繰返しに関するプロセス変数計測値更新を伴わないあらゆるコンテクストに大変都合がよい。他の例示的なコンテクストは、例えば分析器によって又は実験サンプルを介してサンプリングされた値が不規則に又はよりまれに提供される場合を含む。
【0101】
さらに、開示された技術の実施は、単一入力、単一出力PI又はPID制御ルーチンとの使用に限定されず、むしろ、予測器を用いる多数の異なる複数の入力及び/又は複数の出力制御方式及びカスケードされた制御方式に適用されてもよい。より一般には、開示された技術はまた、1つ又は複数のプロセス変数、1つ又は複数のプロセス入力、又はモデル予測制御(MPC)のような他の制御信号に関係するあらゆる閉ループモデルベースの制御ルーチンとの関連で適用されてもよい。
【0102】
「フィールドデバイス」という用語は、本明細書では、多数のデバイス又はデバイスの組み合わせ(すなわち、送信器とアクチュエータとのハイブリッドのような複数の機能を提供するデバイス)、並びに制御システムにおける機能を果たすあらゆる他のデバイス(単数又は複数)を含むように広義に用いられる。いずれにしても、フィールドデバイスは、例えば、入力デバイス(例えば、温度、圧力、流量などのようなプロセス制御パラメータを示すステータス、計測値、又は他の信号を提供するセンサ及び機器のようなデバイス)、並びにコントローラ及び/又は他のフィールドデバイスから受信したコマンドに応答してアクションを行う制御オペレータ又はアクチュエータを含んでいてもよい。
【0103】
実装されるときに、本明細書に記載のユニット、ブロック、モジュール、スイッチ、コンバイナ、加算器、ゲインブロックなどのいずれかは、磁気ディスク、レーザディスク、又は他の記憶媒体上、コンピュータ又はプロセッサのRAM又はROMの中などのようなあらゆるコンピュータ可読メモリに格納されるソフトウェア又はファームウェアとして実行されてもよい。したがって、特定のハードウェアのような本明細書に記載の実施形態は、本明細書に記載の技術を用いてコンピュータプロセッサ上のソフトウェアにおいて実装することができる。同様に、このソフトウェアは、例えば、コンピュータ可読ディスク又は他の可搬型コンピュータ記憶機構上で、若しくは電話線、インターネット、ワールドワイドウェブ、あらゆる他のローカルエリアネットワーク又はワイドエリアネットワークなどのような通信チャネルを経由して、あらゆる公知の又は所望の送達方法を用いて、ユーザ、プロセスプラント、又はオペレータワークステーションに配信されてもよい。
【0104】
本発明は、単なる例示となることを意図され且つ本発明を限定することを意図されない具体例を参照して説明されているが、本発明の精神及び範囲から逸脱することなく、開示される実施形態への変化、追加、又は削除がなされてもよいことが当該技術分野の当業者には明らかであろう。