(58)【調査した分野】(Int.Cl.,DB名)
前記プラグインモジュールは、前記制御データおよび動作状態データから前記プロセス制御ループの前記動作状態に関連する状態変数を計算するために、前記データ収集モジュールを含み、
前記プラグインモジュールは、前記計算された状態変数に基づいて、前記プロセスの複数のモデルから前記プロセスの前記モデルを選択するために、前記モデルおよびチューニング制御ルーチンを含む、
請求項1に記載の適応プロセス制御ループ制御装置。
前記推定エラー計算は、前記シミュレーション出力と前記収集された動作状態データの収集時間に関して前記収集された動作状態データとの間の自乗エラーの積分を含む、請求項1に記載の適応プロセス制御ループ制御装置。
前記プラグインモジュールは、前記検出された変化に応じて、前記プロセスを生じさせるように前記制御装置出力における前記検出された変化を導入するために、前記プロセスモデル同定制御ルーチンを含む請求項1に記載の適応プロセス制御ループ制御装置。
前記プラグインモジュールは、前記プロセスの前記複数の動作領域にわたって前記適応プロセス制御装置をチューニングするために、前記プロセスの前記モデルを利用し、各動作領域は、上限および下限を含む請求項12に記載のプロセス制御システム。
前記モデル同定エンジンは、前記プロセスの前記複数のシミュレーション、各シミュレーションに関する前記推定エラー計算および複数のモデルパラメータのそれぞれに関してモデルパラメータ値の前記モデルパラメータ計算を実行するように構成される請求項14に記載のプロセス制御システム。
【発明を実施するための最良の形態】
【0012】
本開示のさらに完全な理解のために、以下の詳細な説明および添付図面を参照すべきである。類似の参照符号は、図面を通じて類似の要素を識別する。
【0013】
開示されたシステムおよび方法は、種々の形態の実施形態を受け入れる余地があるが、この開示が説明のために意図されており、本願明細書に記載し、図示した特定の実施形態に本発明を限定することを意図していないという了解の下で、図面において本発明の特定の実施形態を図示する(以下に記載される)。
【0014】
プロセス制御システムにおいて適応プロセス制御ループに関してプロセスモデルを自動的かつ独立に識別(例えば、生成)し、プロセス制御システムの知的制御のためにそれらのプロセスモデルを用いるための技術を実装するプロセス制御システムアーキテクチャおよび方法が、本願明細書に開示されている。制御装置ブロックおよびモデル同定サービスに対する機能ブロックプラグインとして、機能ブロックレベルで、動作状態データが収集され、プロセスモデルが作成される。モデルが、制御装置における適応多領域チューニングに対して、表示、解析、承認および使用されてもよい場合には、システムアーキテクチャは、モデルがワークステーションによって制御装置/モデル同定サービスから取り出し可能である。ユーザは、制御問題を診断して修復するために、ワークステーションを介して監視およびチューニングのために他の制御アプリケーションと統合するアプリケーションを提供してもよい。
【0015】
ここで、
図1を参照すると、プロセス制御システム10は、データヒストリアン12および1つまたは複数のホストワークステーションまたはコンピュータ(パーソナルコンピュータ、ワークステーションなどの任意のタイプであってもよい)13に接続されたプロセス制御装置11を含み、それぞれは、ディスプレイスクリーン146を有する。制御装置11はまた、入力/出力(I/O)カード26および28を介して、フィールドデバイス15〜22に接続される。データヒストリアン12は、データを格納するために、メモリの任意の所望のタイプおよび任意の所望または周知のソフトウェア、ハードウェアまたはファームウェアを有するデータ収集ユニットの任意の所望のタイプであってもよい。データヒストリアン12は、ワークステーション13から分離されていてもよく(
図1に示されている)、またはワークステーション13の一部であってもよい。制御装置11は、一例として、Fisher Rosemound Systems, Inc.によって販売されているDeltaV制御装置であってもよく、例えば、イーサネット(登録商標)接続または任意の他の所望の通信ネットワークを介して、ホストコンピュータ13およびデータヒストリアン12に通信可能に接続される。制御装置11はまた、例えば、標準的な4〜20mAデバイスおよび/または任意のスマート通信プロトコル、例えば、FOUNDATIONフィールドバスプロトコル、HARTプロトコルなどに関連する任意の所望のハードウェアまたはソフトウェアを用いて、フィールドデバイス15〜22に通信可能に接続される。
【0016】
フィールドデバイス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は、将来開発される任意の標準またはプロトコルを含め、任意の他の所望の標準またはプロトコルに適合することが可能である。
【0017】
制御装置11は、(メモリ24に格納された)1つまたは複数のプロセス制御ルーチンを実装または監督するプロセッサ23を含み、その中に制御ループが格納されるか、または他の方法で関連付けられた制御ループを含んでもよく、デバイス15〜22、ホストコンピュータ13およびデータヒストリアン12と通信し、任意の所望の態様でプロセスを制御する。本願明細書に記載された任意の制御ルーチンまたはモジュールは、所望に応じて、異なる制御装置または他のデバイスによって実装または実行されるその一部を有してもよいことを留意すべきである。同様に、プロセス制御システム10の中に実装することになっている本願明細書に記載された制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアをはじめとする任意の形態をとってもよい。本開示の目的のために、プロセス制御モジュールは、任意のコンピュータ読み出し可能媒体上に格納される、例えば、ルーチン、ブロックまたはその任意の要素をはじめとするプロセス制御システムの任意の一部または部分であってもよい。制御ルーチンは、モジュールまたはサブルーチンなどの制御手順の任意の一部、サブルーチンの一部(コードのラインなど)などであってもよく、任意の所望のソフトウェアフォーマットで、例えば、オブジェクト指向プログラミング、ラダー論理、シーケンシャルファンクションチャート、機能ブロック図または任意の他のソフトウェアプログラミング言語または設計パラダイムを用いて、実装されてもよい。同様に、制御ルーチンは、例えば、1つまたは複数のEPROM、EEPROM、特定用途向け集積回路(ASIC)または任意の他のハードウェア要素またはファームウェア要素にハードコード化されてもよい。さらに、制御ルーチンは、任意の設計ツール、例えば、グラフィカル設計ツールまたは任意の他のタイプのソフトウェア/ハードウェア/ファームウエアプログラミングまたは設計ツールなどを用いて設計されてもよい。したがって、制御装置11は、任意の所望の態様で制御戦略または制御ルーチンを実装するように構成されてもよい。
【0018】
一部の実施形態において、制御装置11は、機能ブロックと一般に呼ばれるものを用いて制御戦略を実装し、各機能ブロックは、オブジェクトまたは全体の制御ルーチンの他の部分(例えば、サブルーチン)であり、プロセス制御システム10の中でプロセス制御ループを実装するために、(リンクと呼ばれる通信を介して)他の機能ブロックと連動して動作する。機能ブロックは通常、トランスミッタ、センサまたは他のプロセス制御システムパラメータ測定デバイスに関連するような入力機能、PID、ファジー論理などの制御を行う制御ルーチンに関連するような制御機能またはバルブなどの一部のデバイスの動作を制御する出力機能の1つを実行して、プロセス制御システム10内の一部の物理的機能を実行する。当然のことながら、ハイブリッドおよび他のタイプの機能ブロックが、存在する。機能ブロックは、制御装置11に格納され、制御装置11によって実行されてもよく、このことは、これらの機能ブロックが、標準的な4〜20mAおよびHARTデバイスなどのスマートフィールドデバイスの一部のタイプのために用いられるか、または関連付けられる場合に通常、当てはまる。または、機能ブロックは、フィールドデバイス自体に格納され、フィールドデバイス自体によって実装されてもよく、これは、Fieldbusデバイスを用いる場合に当てはまる。制御システムの説明は、本願明細書では、機能ブロック制御戦略を用いて提供されているが、開示された技術およびシステムはまた、ラダー論理、シーケンシャルファンクションチャートなどの他の慣例または任意の他の設計プログラミング言語またはパラダイムを用いて、実装または設計されてもよい。
【0019】
図1の展開されたブロック30によって示されているように、制御装置11は、ルーチン32および34として示されている多数の単独ループ制御ルーチンを含み、所望に応じて、制御ループ36として示されている1つまたは複数の高度な制御ループを実装してもよい。それぞれのそのようなループは通常、制御モジュールと呼ばれる。単独ループ制御ルーチン32および34は、バルブなどのプロセス制御デバイス、温度トランスミッタおよび圧力トランスミッタなどの測定デバイス、またはプロセス制御システム10内の任意の他のデバイスに関連付けられてもよい適切なアナログ入力(AI)機能ブロックおよびアナログ出力(AO)機能ブロックにそれぞれ接続された単独入力/単独出力ファジー論理制御ブロックおよび単独入力/単独出力PID制御ブロックを用いて、単独のループ制御を実行するものとして示されている。高度制御ブロック36は、1つまたは複数のAI機能ブロックに通信可能に接続される入力および1つまたは複数のAO機能ブロックに通信可能に接続される出力を有する高度制御ブロック38を含むものとして示されているが、高度制御ブロック38の入力および出力は、任意の他の所望の機能ブロックまたは制御要素に接続されて、他のタイプの入力を受信し、他のタイプの制御出力を提供してもよい。高度制御ブロック38は、任意の他のモデル予測制御(MPC)ブロック、ニューラルネットワークモデル化または制御ブロック、多変数ファジー論理制御ブロック、実時間最適化ブロックなどであってもよい。高度制御ブロック38をはじめとする
図1に示されている機能ブロックは、制御装置11によって実行されることができ、またはあるいは、例えば、ワークステーション13の1つまたはフィールドデバイス19〜22の1つであってもよい任意の他の処理デバイスに位置して実行されることができる。
【0020】
一般的な問題として、ワークステーション13は、(個別に、分散方式または任意の他の方式のいずれであれ)、プロセスプラント10内に接続されたデバイス、ユニットなどに関して機能性を表示して提供するために、任意の権限の付与されたユーザ(例えば、構成エンジニア、オペレータなど)によってアクセスされてもよいオペレータインターフェイスアプリケーションおよび他のデータ構造140のスイートを含む。オペレータインターフェイスアプリケーション140のスイートは、ワークステーション13のメモリ142に格納され、アプリケーション140のスイートの中のアプリケーションまたはエンティティのそれぞれは、各ワークステーション13に関連付けられるそれぞれのプロセッサ144で実行されるように適合される。アプリケーション140の全体的なスイートは、ワークステーション13に格納されているものとして図示されているが、これらのアプリケーションまたは他のエンティティの一部は、システム10内またはシステム10に関連付けられるか、またはシステム10と通信中の他のワークステーションまたはコンピュータデバイスに格納されて、実行されてもよい。さらに、アプリケーション140のスイートは、ワークステーション13に関連付けられるディスプレイスクリーン146または任意の他の所望のスクリーンまたはディスプレイデバイス、例えば、ハンドヘルドデバイス、ラップトップコンピュータ、他のワークステーション、プリンタなどへのディスプレイ出力を提供してもよい。同様に、アプリケーション140のスイート内のアプリケーションは、2台またはそれ以上のコンピュータまたはマシンに分散されて実行されてもよく、互いに連動して動作するように構成されてもよい。
【0021】
ここで
図2を参照すると、プロセス制御システムアーキテクチャは一般に、制御装置11およびワークステーション13を含むが、任意の数のワークステーション13および制御装置11が、開示されたプロセス制御システムアーキテクチャを用いて実装されてもよいことを理解すべきである。制御装置11は、オンラインプロセスを制御するために、対応するプロセス制御ルーチンを定義して実装する任意の数の制御モジュール50、52および54を有してもよい。したがって、制御モジュール50、52および54は、モジュール56によって制御され、一般にプロセスの正常なスケジュール化された制御に関連付けられる動作環境またはモードに関連して実装されてもよい。上述したように、各制御モジュール50、52および54は、制御機能ブロック58(モジュール52および54には示されていない)をはじめとする任意の数の機能ブロックを有してもよく、その一部またはすべては、開示された技術に関連して用いるための適応制御機能ブロックであってもよい。以下にさらに開示されるように、適応制御機能ブロックは、1つまたは複数のメモリまたは他の格納機構を備え、所定の数のプロセスモデルを保存または格納してもよい。
【0022】
さらに、制御モジュールのうちの1つまたは複数(制御モジュール50、52に関して示される)は、制御機能ブロック58にアドオンされるインターフェイス68を介して、それぞれの制御機能ブロック58とインターフェイスをとる機能ブロックプラグイン64を有してもよい。開示された技術の一部の実施形態によれば、機能ブロックプラグイン64は、データ収集のほか、制御機能ブロック58およびプロセスモデル同定制御論理に関するチューニング変数を計算し、モデル同定に関して十分なプロセスの変化を示すトリガ事象に関するデータおよび状態を監視する。機能ブロックプラグイン64の実施例については、以下にさらに詳細に記載されるが、一般的な意味で、機能ブロックプラグイン64は、組み込まれる制御機能ブロックおよびモジュールの非階層型統合された拡張を提供する。機能ブロックプラグイン64は、プロセス制御システムの上部にさらなるアプリケーション層を追加することなく、データ収集およびモデル同定機能をネイティブ制御システムに追加するために、制御機能ブロック58とインターフェイスをとる。機能ブロックプラグイン64は、既存の適応制御装置11に設けられてもよいが、機能ブロックプラグイン64は、その中に含まれるアルゴリズム、ルーチンおよび機能性は、制御装置11に対して自己学習特性を提供するという点で、それ自体が適応型である。したがって、機能ブロックプラグイン64は、制御機能ブロックを有する任意の制御装置11(適応型または非適応型)の中に含まれ、制御装置11に対して適応チューニング機能性を提供してもよい。
【0023】
制御装置11はさらに、制御装置11に関してプロセスモデルを識別して実装するモデル同定ルーチンまたはモジュール72を含んでもよい。一般に、モデル同定モジュール72は、制御モジュール50、52および54から分離するサブシステムとして実装され、プロセスにおける変化が検出される場合には、プロセスのモデルを識別(例えば、生成または作成)するために、機能ブロックプラグイン64によって収集されるデータを用いる。モデル化同定モジュール72は、モデル同定エンジンまたはルーチン74を含み、機能ブロックプラグイン64によって収集されるデータに基づき、新たなモデルに関するパラメータを計算する。機能ブロックプラグイン64からのデータの収拾および伝送は、プロセスにおいて検出された変化によって起動されてもよい。トリガ事象に関連付けられるデータ収集に続く或る時点で、モデル同定エンジン74は、以下にさらに記載されるモデル同定アルゴリズムまたは計算ルーチンを実装し、モデルキャッシュ76に新たに作成されたモデルまたはそのパラメータを格納してもよい。
【0024】
モデル同定モジュール72は、制御装置11に実装されるため、制御装置11は、プロセスにおける各変化、例えば、プロセス状態パラメータまたは他の事象トリガ閾値における変化などによって更新されるモデルを提供することができる。このように、モデルは、このタイプの制御装置11を利用するプロセスプラントにおけるプロセスの各部分に関して利用され、それによって、制御装置によって制御される各デバイスおよび/またはループに関してモデルを確立してもよい。さらに、モデルは、これらに限定されるわけではないが、ユニット、エリアおよびプロセスプラント自体を含むより大きなプロセスのモデルを形成するために、組み合わせられるか、または統合されてもよく、制御装置レベルで更新を行ってもよい。
【0025】
一部の実施形態において、モデル同定モジュール72の機能性は、機能ブロックプラグイン64の機能性に比べて、別個の低優先度実行スレッドにおいて提供される。例えば、機能ブロックプラグイン64は、実時間データ収集およびチューニングに関する高い実時間優先度実行スレッドとして提供されてもよいのに対して、モデル同定機能性は一般に、プロセッサにより集約的であり、計算量が多く、時間がかかる。実行スレッドは、制御装置のメモリおよびプロセッサのユーザによって決定されるか、または(例えば、制御装置11またはワークステーション13によって)動的に決定されるリソース管理を用いて実装されてもよい。モジュール56および72に関する実行スレッドの分離、さらに詳細には、モデル同定エンジン74および機能ブロックプラグイン64の分離は、モジュール56、制御モジュール50、52および54およびその任意の制御機能ブロックに対する計算要件をより少なくする。低い優先度のサービスの別の実施例としては、解析サーバが挙げられ、「プロセス管理ネットワークにおける集積解析サーバ(Analytical Server Integrated in a Process Control Network)」という名称の特許文献4に記載され、これにより、その全体の開示内容は、本願明細書に参照によって援用されるものとする。しかし、機能ブロックレベルで制御装置11における両方のモジュール56、72の統合は、ワークステーションレベルにおけるユーザのインタラクションまたは介入なしに、完全に自動的かつ独立なモデル同定およびチューニングを可能にする。
【0026】
モジュール56および72の分離はまた、一部の実施形態が、モデル同定モジュール72、したがってモデル同定エンジン74を無効にするためのオプションを提供することを可能にする。モデル同定の機能性の無効化は、例えば、制御装置11が計算および他の処理のために有するメモリまたは時間が不十分であると決定される場合に、有用である可能性があり、それによって、ネイティブ制御装置に自動的なシステムリソース管理を提供する。関連した話では、適応制御を提供するために同定されたモデルの使用もまた、ループ、エリア、システムまたは制御装置ベースで有効または無効であってもよい。
【0027】
別個のモデル同定機能性はまた、プロセス入力変更の調整を支援する。そのような調整は、制御装置の中でのモデル同定が1つのプロセスにおいて中心に集められているために可能となる。例えば、設定点変更が行われない場合には、機能ブロックプラグイン64(または他の要素またはルーチン)は、制御装置出力において変更を自動的に導入してもよい。これらの変更は、プロセス動作に及ぼす影響を最小限に抑えるように、調整されてもよい。したがって、これらの変更は、時間に関して分散されてもよい。
【0028】
別個のモデル同定機能性はまた、モデル同定に関するデータの処理が、制御装置11に関する自由時間中に、または制御装置11によって適切だと思われる任意の他の時間で実行されてもよいことを意味するが、モジュール56、72に関する別個の実行スレッドの提供は、それぞれの機能の同時実行を提供する。結果として、モデル同定処理の実装は、例えば、モジュール56によって提供されるスケジュール化された制御機能性に悪影響を及ぼすことを回避する。結果として、一部の実施形態において、モデル同定サービス72は、バックグラウンドにおいて制御装置11によって低優先度実行スレッドとして実装されてもよく、プロセスは、オンラインで、制御装置11の他のモジュールまたは構成要素によって行われるスケジュール化された制御および他の活動中に戦略的に有利な時間に行われる。
【0029】
別の実施形態において、上述の機能性(その一部については、以下にさらに詳細に記載する)は、プロセスモデルが同定されている制御システム用の仮想制御装置に統合されてもよい。仮想制御装置は、ワークステーション13のメモリ内部に実装され、ワークステーション13のプロセッサによって実行されてもよい。仮想制御装置は、例えば、そのそれぞれのパラメータの表示と共に、各制御ループの現在の構成を反映するモジュールを含み、格納してもよい。すなわち、開示された技術によって生成されたモデルおよび診断情報は、そのノードのために自動的に作成されたモジュールに保存される。このように、仮想制御装置は、制御装置11に実装されたループに関連して行われる態様と全く同一の態様で、チューニング、診断などによって情報を提供するために利用されてもよい。
【0030】
制御装置11は、1つまたは複数のワークステーション13と通信してもよく、制御モジュール50、52、54はそれぞれ、ワークステーション13と通信する。一部の実施形態において、機能ブロックプラグイン64を有する各制御モジュール50、52は、構成データベース80との通信を維持し、制御装置11との通信および/または情報の交換を行う。特に、構成データベース80は、どのパラメータが制御装置11から収集される必要があるかを決定する構成リストモジュール(図示せず)を実装してもよい。そのために、構成データベース80は、リストデータ用のメモリまたは他の格納機構を含んでもよい。モデルが生成されることになっている制御ブロックまたはモジュールのリストまたは他の同定が、同定されたパラメータと共に格納される。通信リンクは、当業者によって理解されているように、暗号化およびセキュリティ技術を利用して、安全かつ確実なメッセージおよび通信を提供してもよい。
【0031】
再び
図1を参照すると、一般的な問題として、ワークステーション13は、(個別に、分散方式または任意の他の方式のいずれであれ)、プロセスプラント10内に接続されたデバイス、ユニットなどに関して機能性を表示して提供するために、任意の権限の付与されたユーザ(例えば、構成エンジニア、オペレータなど)によってアクセスされてもよいオペレータインターフェイスアプリケーションおよび他のデータ構造140のスイートを含む。オペレータインターフェイスアプリケーション140のスイートは、ワークステーション13のメモリ142に格納され、アプリケーション140のスイートの中のアプリケーションまたはエンティティのそれぞれは、各ワークステーション13に関連付けられるそれぞれのプロセッサ144で実行されるように適合される。アプリケーション140の全体的なスイートは、ワークステーション13に格納されているものとして図示されているが、これらのアプリケーションまたは他のエンティティの一部は、システム10内またはシステム10に関連付けられるか、またはシステム10と通信中の他のワークステーションまたはコンピュータデバイスに格納されて、実行されてもよい。さらに、アプリケーション140のスイートは、ワークステーション13に関連付けられるディスプレイスクリーン146または任意の他の所望のディスプレイスクリーンまたはディスプレイデバイス、例えば、ハンドヘルドデバイス、ラップトップコンピュータ、他のワークステーション、プリンタなどへのディスプレイ出力を提供してもよい。同様に、アプリケーション140のスイート内のアプリケーションは、2台またはそれ以上のコンピュータまたはマシンに分散されて実行されてもよく、互いに連動して動作するように構成されてもよい。
【0032】
図2に戻って参照すると、各制御モジュール50、52、54は、オペレータインターフェイス82と通信および/または読み出し/書き込み動作を実行してもよく、オペレータインターフェイス82は、今度は、各制御装置11に埋め込まれる知能および機能性の結果および勧告に対する洞察を提供する特定のアプリケーションまたは機能性84と動作可能に連結されてもよい。ディスプレイインターフェイスは、制御装置11との通信を支援するように向けられたオペレータインターフェイス82によって提供されてもよい。そのような通信は、制御装置11において実行中の適応制御ルーチンの構成および保守点検を必要とするか、または含んでもよい。オペレータインターフェイス82は、第三者またはレガシーのプロセス制御システムとの通信リンクを支援して維持するために設けられる第三者インターフェイスアプリケーションであってもよい。そのために、オペレータインターフェイス82は、多数のディスプレイインターフェイスを生成し、通信リンクの構成を容易にし、仮想制御装置を維持して利用し、インターフェイスを他の方法で支援してもよい。
【0033】
さらなるディスプレイインターフェイスは、制御装置11との通信を支援することに向けられたアプリケーション84によって提供されてもよい。そのような通信は、制御装置11において実行される適応制御ルーチンの構成および保守点検を必要とするか、または含んでもよい。アプリケーションスイート全体に当てはまるように、ディスプレイインターフェイスは、ダイナモ、フェースプレート、詳細ディスプレイ、ダイアログ・ボックスおよびウィンドウなど無制限に含む任意の形態をとってもよく、異なるディスプレイタイプでの表示のために構成されてもよい。一部の場合において、アプリケーション84は、オペレータインターフェイス82という枠の中で(またはオペレータインターフェイス82から)起動される。別法またはさらに、制御モジュール50、52、54は、アプリケーション84と直接的に情報を交換してもよく、アプリケーション84は、オペレータインターフェイス82とは独立に、起動またはアクセスされてもよい。
【0034】
オペレータインターフェイス82および/またはアプリケーション84との通信は、機能ブロックプラグイン64によって利用されるモデルの通信を必要としてもよく、遠隔態様で、および/またはOPC(オープンプロセス制御:Open Process Control)または他のクライアントインターフェイスを介して、プロセス制御システムの中で階層化されるシステムによって実装されてもよい。開示された技術の広汎なアプリケーションを支援するために、ワークステーション13は、ループの動的パラメータにアクセスするように構成されたOPCまたは他のクライアントインターフェイス132を含んでもよい。一般に、ワークステーション13と制御モジュール50、52および54との間の通信リンクは、OPCサーバを同定することによって確立されてもよく、場合によっては、モデル同定プロセスにおいて必要とされる1つまたは複数の制御装置11の同定などの他の通信設定を同定することによって確立されてもよい。多くの(例えば、不必要な)通信ポートを開放することを回避するために、そのようなOPC接続は、トンネラソフトウェアを用いて行われてもよい。
【0035】
制御モジュール50、52および54とワークステーション13との間の通信に加えて、モデル同定モジュール72はまた、それぞれの通信サービス86、88を介して、ワークステーション13と通信してもよい。通信サービス86、88のそれぞれは、遠隔通信制御装置(ROC)サービスとして提供されてもよい。通信のワークステーション側で、サーバ90は、モデルおよび制御装置11からの収集データを格納し、アプリケーション84がモデルおよび収集データにアクセスすることができ、その結果、ユーザが、モデルを表示、解析、編集および承認し、プロセスを監視するために、モデルを利用してもよい。
【0036】
このために、サーバ90は、モデルデータベース92およびモデルサーバ94として設けられてもよく、モデルサーバ94は、制御装置11のモデル同定モジュール72と通信して、モデル同定モジュール72によって同定されたモデルまたはモデルパラメータを受信して格納する。特に、メッセージが、モデル同定モジュール72からモデルサーバ94に通信され、モデル同定サービスによって作成された新たなモデルまたはモデルパラメータをモデルサーバ94に通知してもよい。モデルサーバ94は、モデル同定サーバ72からモデルまたはモデルパラメータを取り出し、そのモデルまたはモデルパラメータをモデルデータベース92に格納してもよい。一般に、モデル化同定モジュール72によって作成されたモデルは、制御装置11をチューニングするために、機能ブロックプラグイン64によって用いられるモデルと同一であってもよい。
【0037】
サーバ90はまた、監視データベース96および監視サーバ98として設けられてもよく、監視サーバ98は、制御装置11のモデル同定モジュール72と通信して、制御装置11によって収集された動作状態を受信して格納する。上記のモデルの場合と同様に、メッセージが、モデル同定モジュール72から監視サーバ98に通信され、モデルを同定するために用いられるデータを含むプロセスに関する新たな属性を監視サーバ98に通知してもよい。監視サーバ98は次に、モデル同定サーバ72から収集されたデータを取り出し、データを監視データベース96に格納してもよい。したがって、モデルサーバ94および監視サーバ98は、制御装置11によって利用される既存のモデルまたはモデルパラメータ、それらのモデルまたはモデルパラメータを同定するために用いられる収集データを更新または通知してもよい。
【0038】
オペレータインターフェイス82およびアプリケーション84は、アプリケーション140のスイートの1つとして設けられてもよい。特許文献3に記載されているように、制御システム10のモデルに基づく監視および管理の実装に向けた多数のアプリケーション、ルーチン、モジュールおよび他の手順要素を含んでもよい。アプリケーション、ルーチン、モジュールおよび要素は、ソフトウェア、ファームウェアおよびハードウェアの任意の組み合わせによって実装されてもよく、特許文献3に開示された例示の構成に限定されるわけではない。例えば、1つまたは複数のアプリケーションは、任意の所望の範囲まで統合されてもよい。
【0039】
一般に、アプリケーション84は、機能ブロックプラグイン64によって収集されたデータの送出および保管のほか、モデル同定エンジン74によって同定され、機能ブロックプラグイン64に格納されたモデルの送出および保管を提供する。さらに、アプリケーション84は、このデータおよびモデルを利用して、モデルにおける品質検査を行い、異なる制御装置11からのモデルを統合して、より大きなプロセスモデルを作成し、同定されたモデルの使用に関連付けられる他の機能性を提供してもよい。
【0040】
上記の制御装置11およびワークステーション13のアーキテクチャを用いて、プロセスの性能は、性能の劣るループ、チューニング制御装置および/またはループ、実行試験、監視性能を同定することによって改善されてもよい。例えば、制御装置11、特に機能ブロックプラグイン64およびモデル同定モジュール72は、学習アルゴリズムを利用して、制御データ(例えば、プロセス入力データ)および動作状態(例えば、プロセス出力データ)を収集するように制御装置11を起動し、新たなモデルまたはモデルパラメータを計算するプロセスの変化(自動、手動または誘発されたもののいずれであれ)に基づいて、新たなモデルを自動的に同定する。モデルまたはモデルパラメータは、ワークステーション13および特にアプリケーション84のユーザによって利用されてもよく、性能を評価し、プロセスにおける実際または潜在的な非線形性および劣化を同定し、性能の劣るプロセスおよび異常なプロセス状態を同定し、チューニング調整(例えば、チューニングパラメータ)を勧告してもよい。仮想制御装置を用いて、チューニング調整を試験して、プロセス性能を予測し、チューニング調整を実装する前に予測を解析してもよい。
【0041】
モデルまたはモデルパラメータはまた、制御装置11自体によって監視する適応チューニングおよび知的性能のために、制御装置11によって利用されてもよい。この機能性、制御装置11におけるモデル同定機能性およびデータ収集機能性を埋め込むことによって、プロセス通信が、低減され、それによって、制御装置11とワークステーション13(例えば、OPC)との間の通信などプロセス通信にかかる作業負荷をより少なくする。
【0042】
ここで
図3を参照すると、制御装置11、さらに詳細には制御機能ブロック58、機能ブロックプラグイン64およびモデル同定モジュール72の間の対話が、さらに詳細に示されている。上述したように、機能ブロックプラグイン64は、データ収集102のほか、制御機能ブロック58に関するチューニング変数を計算するためのモデルおよびチューニング制御104をはじめとする種々の機能を実行してもよい。例えば、パラメータ値および他の動作状態データは、トリガ事象に応じて、制御機能ブロック58から機能ブロックプラグイン64に送り込まれる。一般的に言えば、パラメータ値および他の動作状態データは、制御モジュールおよびその機能ブロックの実行中に、利用可能である(または他の方法で通信される)。そのような実行は、スケジュール化されたプロセス制御行為中、ある程度連続的であってもよく、パラメータ値および他の動作状態データの通信もまた、連続的であってもよい。
【0043】
開示された技術の一部の実施形態によれば、パラメータ値および他の動作状態データは、制御モジュール50、52および54から機能ブロックプラグイン64のデータ収集機能102に送り込まれる。機能ブロックと同様に、データ収集機能104は、オブジェクト指向方式でオブジェクト(またはオブジェクトエンティティ)として実装されてもよいが、必要ではない。その構造にもかかわらず、機能ブロックプラグイン64のデータ収集機能102は、任意のデータ処理手順をはじめとするデータ収集102において実装されることになっている手順を定義する1つまたは複数のルーチンを含んでもよい。さらに一般に、データ収集機能102は、パラメータおよび他の動作状態データの自動収集、収集、受信または他の処理を支援するために、1つまたは複数のルーチンを含んでもよい。したがって、機能ブロックプラグイン64のルーチンが、例えば、1つまたは複数のレジスタまたは他のメモリ106において収集データの格納の調整、支援または実装を行ってもよい。データ収集機能によって実行される手順は、以下に記載されるように、プラグイン64を有する制御モジュール50、52からデータを収集するときを決定することを含んでもよい。
【0044】
さらに一般に、データ収集機能102は、パラメータおよび他の動作状態データの自動収集、収集、受信または他の処理を支援するために、1つまたは複数のルーチンを含んでもよい。パラメータおよびデータの自動収集または他の処理が、データ収集機能102によって実装される限りにおいて、要件が、モジュール72またはワークステーション13またはその任意要素との通信において置かれる。
【0045】
一部の実施形態において、パラメータおよび他のデータ112(例えば、動作設定点(SP_WRK)、制御装置入力(PV‐プロセス変数)、制御装置または機能制御ブロック出力(OUT)、フィードフォーワード(FF)など)は、制御機能ブロック58が実行される場合は常に、制御機能ブロック58からデータ収集機能102に自動的に送り込まれてもよい。この意味で、データ収集モジュール102は、プロセスの動作後の任意の時点でデータ収集手順を支援するために、連続的に実装されてもよい。制御が実行のためにスケジュール化されていない時間中には、データ収集機能102は次に、プロセスモデルが生成(例えば、作成または同定)されるべきかどうかを決定するために、収集データを調べてもよい。別の実施形態において、制御装置11は、定期的にまたは何か別のスケジュール化された態様で収集データを調べるか、または他の方法で処理してもよい。
【0046】
データ収集102によって収集されたデータは一般に、プロセス入力および出力または制御装置11(またはさらに一般に、プロセス制御システム10)によって実装される具体的な制御ループに関する動作設定点に関する値を含んでもよい。これらのパラメータのそれぞれに関して、値は、トリガ事象の前に始まり、安定状態に達して終わる時間期間にわたって収集され、格納される。一部の場合において、トリガ事象は、例えば、データ収集機能102によるプロセス入力または設定点における変更の検出を必要とする可能性がある。
【0047】
事象トリガ、制御データ収集、制御モデル同定およびプロセスモデル同定の結果を検出するか、または生じるために、機能ブロックプラグイン64は、プロセスモデル同定制御論理110を含む。このプロセスモデル同定制御論理110は、機能ブロックプラグイン64のメモリに格納されるルーチンとして提供されてもよい。一般に、プロセスモデル同定制御論理110は、新たなプロセスモデルを同定するのに十分なプロセスの変化を表すトリガ事象のために、プロセスにおける動作状態データの監視および状態の監視を提供する。一部の場合において、トリガ事象を構成するものは、制御ループの動作モードに左右される可能性がある。一般に、正常なプラント動作中に生じるプロセスの変化の2つの大きな指標、すなわち、オペレータ行為またはマスタループ制御の結果としての設定点の変化と、制御装置出力のオペレータ行為またはブロックのオーバライドの結果としての制御装置出力変化(または逆算信号における変化、BKCAL_IN)がある。これらの事象は一般に、変化しつつあるプロセスまたはちょうど変化し始めたプロセスを表し、トリガ事象に応答するプロセスを含むプロセスの動作状態データの収集を起動する。
【0048】
制御ループが動作の「自動」モードにある場合には、オペレータが指定した設定点におけるプロセス出力(すなわち、ループの制御されたパラメータ)を維持するために、ループは、制御装置の出力(すなわち、操作されたプロセス入力)を連続的に調整中である。したがって、自動モードにおいて、設定点における変更は、プロセス入力および出力における変更を解析し、したがって、モデルを開発するために、トリガを構成する。オペレータまたはマスタ制御ループが、設定点を決して(またはめったに)変更せず、ループが依然として自動モードのままである場合には、モデルを作成するためのトリガであるように、プロセスを励起するために、小さな変更112(例えば、パルス導入(OUT_BIAS))が、制御装置の出力に導入されてもよい。一実施形態において、導入された変更は、状態を安定させるまでの時間(TSS)の分数として表現される構成期間後に、実装されてもよい。
【0049】
3つの上述のトリガ事象は、フィードバックモデルの開発のために用いられてもよい。フィードフォーワードモデル同定のためには、トリガ事象は、フィードフォーワード入力値における変更であってもよく、プロセスモデル同定制御論理110は、プロセスにおける測定された外乱における変化を検出してもよい。この機能性は、著しいフィードフォーワード変化が生じる場合には、フィードバックパス同定を回避するために、プロセスモデル同定制御論理110において維持される。
【0050】
図4は、プロセスモデル同定制御論理110に基づく機能ブロックプラグイン64によって実行される例示のルーチンのフローチャートである。一般に、適切な状態および変化が検出されると、プロセスモデル同定制御論理110は、制御装置チューニングに基づいて、またはプロセス状態パラメータ入力に関連付けられる値に基づいて、初期のプロセスモデル同定パラメータを設定する。プロセスモデル同定制御論理110は次に、データ収集およびモデル同定を呼び出してもよい。モデル同定結果の受信時に、プロセスモデル同定制御論理110は、プロセスが自己調整プロセスである場合には、ゲイン、時間定数および不動作時間に関して許容可能な範囲の結果を解析してもよく、またはプロセスが統合プロセスである場合には、ゲインおよび不動作時間の統合に関して許容可能な範囲の結果を解析してもよく、許容可能な範囲は、ユーザによって構成可能であってもよい。その後、制御機能ブロック58のチューニング114は、同定されたモデルおよび選択されたチューニング規則に基づいて、モデルおよびチューニング制御論理106によって設定されてもよい。
【0051】
特に、
図4を参照すると、プロセスモデル同定制御論理110は最初に、ブロック202でプロセスモデルが未決定状態であるかどうかを決定する。すなわち、プロセスモデル同定制御論理110は、モデル同定が、例えば、前に検出されたトリガ事象に基づいて開始され、モデル同定モジュール72からの結果を待っているのかどうかを決定する。以下にさらに記載するように、モデル同定モジュール72は、トリガ事象に応じて、機能ブロックプラグイン64によって収集されたデータに基づいて、モデルまたはモデルパラメータを同定する。
【0052】
ブロック202で決定されたように、モデル同定が既に未決定である場合には、プロセスモデル同定制御論理110は、ブロック204でモデルの結果が準備されているかどうかを決定してもよい。このことは、モデル同定モジュール72からのモデルまたはモデルパラメータの受信によって、またはモデル結果がモデルキャッシュ76から取り出されるために利用可能であるかどうかを表すモデル同定モジュール72からの信号の受信によって表されてもよい。ブロック204で決定されるように、一旦、モデル結果が準備されると、プロセスモデル同定制御論理110は、ブロック206でモデル同定結果を処理してもよい。例えば、プロセスモデル同定制御論理110は、モデル結果が利用されるべきかどうかを決定するために状態を安定させるための時間を(再)計算するために初期化を行ってもよい。例えば、状態を安定させるための時間における変化が、状態を安定させるための前の時間に比べて、所定の閾値(例えば、30%)より多い場合には、新たなモデルが用いられる。状態を安定させるための時間における変化はさらに、データ収集サンプリングおよび診断フィルタの制約などの状態を安定させるための時間に左右されるすべての変数を再計算するための手順を初期化してもよい。
【0053】
ブロック202に戻って参照すると、モデル結果が未決定でない場合には、プロセスモデル同定制御論理110は、ブロック208でトリガ事象を待機してもよい。上述したように、設定点の変化、制御装置出力の変化またはパルス導入112を含む異なるトリガ事象であってもよい。パルス導入制御は、機能制御ブロック58が自動モードにあり、タイマがユーザによって構成可能であってもよい所定の時間に達する場合には、初期化されるオプションの特徴として設けられてもよい。タイマは、任意のアクティブトリガがあるか、または同定結果が未決定であるたびに、リセットされてもよい。
【0054】
構成されたパルス振幅はまた、パルス導入112を初期化するための前提条件であってもよい。例えば、パルス導入112は、次に同定プロセスモデルゲインによって乗算されるパルス振幅が、能力の標準変化の5倍以上である場合には、初期化されるだけであってもよい。制御機能ブロック58に関するパルス導入パラメータ112は、予め定義された定数(例えば、0.1)だけ乗算された状態を安定させるための時間の持続時間に関して、ユーザが構成した値に設定してもよい。一実施形態において、パルス導入パラメータ112のパラメータは、ユーザにとって明白でない可能性があり、特殊な書き込みインターフェイスによって書き込まれてもよい。収集すべきサンプルの数は、状態を安定させるための時間に設定されてもよく、この時点からプロセスモデル同定制御論理は、任意の他のトリガの場合と同様に実行されてもよい。
【0055】
新たなモデル同定サイクルを開始するために、プロセスモデル同定制御論理110が、ブロック208でトリガ事象を検出してもよく、プロセスモデル同定制御論理110は、未決定であるモデル結果がないことを必要とする上に、ブロック210で、一定の前提条件を実装してもよい。前提条件としては、例えば、無効なモデル同定入力を偽に設定すること、バッファ106をデータ収集からの妥当なデータで満たすこと、トリガ事象のオプションが、具体的な制御機能ブロックモード(例えば、自動または手動)に関して選択されることを確認すること、パルス導入(パルス導入が利用される場合)に応じて、十分な変化が検出されなければならないことと、前のトリガ事象が生じた場合にすべてのデータが収集されたことと、を必要とすることが挙げられてもよい。さらに、前提条件は、機能ブロックプラグイン64が、制御装置11にインストールまたはダウンロードされると、トリガ事象に基づいてモデルを同定する前に、制御装置11およびプロセスがある程度の時間を決定させるために、同定固定タイマが開始されることを必要とする可能性がある。トリガ事象が、設定点の変化、パルス導入などではなく、機能ブロックプラグイン64を含むことに応じて検出される場合に、これは、偽陽性を回避するのを助ける。同定固定タイマは、ユーザが最も近い値でバッファ106を初期化するために要求を書き込まない限り終了し(プロセスが安定状態にあるかのごとく)、すべての値を有効にする。
【0056】
ブロック208で決定されるように、トリガ事象が既に検出されていないのであれば、これらの前提条件は、ブロック210で確立されて検証されてもよい。しかし、前提条件が満たされる場合には、トリガ事象を検出するプロセスが、続行されてもよい。データバッファ106は、状態を安定させるための時間に関して、最小および最大の動作状態値を求めるために、プロセスモデル同定制御論理110によって走査される。複数のバッファ106が設けられる場合、またはバッファ106が複数の部分に分割される場合には、バッファまたはバッファ部分の選択は、複数のバッファまたは分割されたバッファの場合における制御機能ブロックモードおよび/またはトリガ事象タイプ(例えば、自動モード、手動モード、作動設定点、機能ブロック出力など)に基づいてもよい。例えば、自動モードにおいて、変化の作動設定点(SP_WRK)レベルは、能力の標準偏差の5倍より大きい必要があってもよい。状態を安定させるための時間と記録される時間との間の差が、モデル同定モジュール72に収集データを送信する前に、どれほど多くのサンプルが用いられるかを決定してもよい。自動モードの場合には、作動設定点バッファが探索されてもよく、手動モード(または逆算)の場合には、機能ブロック出力バッファが探索されてもよい。探索は、最も古いデータから始まり、最も近いサンプルに向かって進められてもよい。十分な変化(ユーザによって構成可能であってもよい)が検出される場合には、最後に試験が行われたサンプル時間が、記録される。
【0057】
ブロック208で、一旦、トリガ事象が検出されると、プロセスモデル同定制御論理110およびデータ収集モジュール102は、任意の所望の態様で、データ収集を支援するために通信する。さらに詳細には、制御モジュールによって実装される制御ループは、データへのアクセスまたは他の方法でデータを利用可能にすることを連続的に行ってもよい。結果として、トリガ事象の前にしばらくの期間で収集されたデータはまた、解析されて、プロセスモデルを決定してもよい。例えば、データが収集されるPID制御ループは、ブロック実行において用いられるプロセス変数(例えば、PV)、ブロック出力値(例えば、OUT)、フィードフォーワード制御入力値(例えば、FF_VAL)、設定点および動作のループモードを示す任意の1つまたは複数のパラメータに関する現在のデータ値にアクセスしてもよい。一部の場合において、データ収集機能102は、パラメータ値または他のデータ値の選択を促進してもよい。あるいはまたはさらに、プロセスモデル同定制御論理110は、どのパラメータが構成データベース80またはワークステーション13からリストデータを収集または検索するために必要とされるかを決定する構成リストブロックを含んでもよい。
【0058】
ブロック212で決定されるように、トリガ事象に対するプロセスの応答を判断して、モデルを同定するために、十分な動作状態データおよび制御データが、収集されると、収集データは、ブロック214でモデル同定モジュール72に送信されてもよい。
【0059】
図5は、データ収集機能102に基づいて、機能ブロックプラグイン64によって実行される例示のルーチンのフローチャートである。一般に、データ収集機能102が、制御装置入力(PV‐プロセス変数)からデータを読み出して、プロセスの動作を制御するために用いられる制御データを収集する。データ収集機能はまた、制御装置出力(OUTまたはBKCAL_IN)からデータを読み出して、トリガ事象に関連付けられる変化に応じて、プロセスの状態に関連する動作状態データを収集する。制御データおよび動作状態データは、バッファ106に格納される。一実施形態において、バッファ106は、円形バッファであってもよい。円形バッファ106は、1つのクラスにすべての必要な信号を含んでもよく、実行およびメモリの使用において節約してもよい(例えば、すべての値が、一度で同一のバッファポインタ、サイズ、妥当なサンプルによって加えられてもよい)。実装保全性の観点からすれば、バッファ106は、各信号に関して別個にインスタンス作成されてもよく、したがって、別のバッファが利用される場合には、バッファ機能における変化はない。
【0060】
機能ブロックプラグイン64のインスタンス作成で、一定の最大バッファサイズが、保存されてもよい。バッファサイズは、状態安定までの最小時間および制御機能ブロックの実行時間(例えば、TSS/exec_period)によって固定される現在のモデルに基づいて、状態を安定させるための時間によって定義されてもよい。計算されたサイズがバッファ限界を超える場合には、データ収集期間は、例えば、走査速度を低下させることによって拡大してもよい。そのような場合には、新たな収集期間およびバッファサイズが、計算され、その値が、同定およびチューニングの計算に関して格納される。新たなモデルが同定された後、(例えば、状態計算を安定させるための新たな時間に基づいて)バッファサイズにおける変更が必要とされる場合には、現在のデータ(すべてのバッファ)が無効化されてもよい。一部の実施形態において、データの無効化を考慮しない異なるアルゴリズムを利用してもよい。
【0061】
図5を参照すると、ブロック252から始まり、データ収集機能は、プロセスモデル同定制御論理110によって検出されたトリガ事象に基づいて、制御データおよび動作状態データの別のサンプルを収集するかどうかを決定してもよい。例えば、制御装置入力および出力のデータの新たなサンプルを収集し始めるために、トリガ事象の検出時に、プロセスモデル同定制御論理110は、信号を発信してもよく、またはデータ収集機能102に他の方法で向けてもよい。データ収集機能102がデータを収集することに向けられる場合には、再サンプリングカウンタは、ブロック254で減分されてもよい。
【0062】
データの新たなサンプルを収集することに向けられているとき、ルーチンは、ブロック252でデータを収集し、ブロック256で収集データに関する品質検査を行ってもよい。例えば、ブロック256における品質検査は、以下のもの、すなわち、プロセスにおける実際の情報を示す制限機能ブロックプロセス変数、不良のプロセス変数状態および予め定義された距離による制御装置出力接近限界のうちの1つまたは複数に関して検査されてもよい。ブロック256で決定されるように、これらの事象のうちの1つまたは複数が生じる場合には、カウンタが増分されてもよく、このカウンタの値は、ブロック258で検査されてもよい。カウンタは、収集データの中で不良なデータ値の数を表してもよく、ブロック258でカウンタが所定の閾値に達する(または所定の閾値からゼロまで減分される)場合には、ブロック260で、収集データサンプルの全体が、無効化されてもよい。カウンタが閾値に達していない場合には、ルーチンは、モデル同定に関して収集データの最後の値を用いてもよい。
【0063】
再びブロック256を参照すると、データが、品質検査に送られる場合には、収集データは、バッファ106に格納される。上記に部分的に示しているように、制御装置作動設定点バッファおよびフィードフォーワードバッファの入力および出力が、作成されてもよい。設定点バッファは、トリガ事象のために用いられてもよい。フィードフォーワードバッファは、偽の同定を回避するために用いられてもよく、一例において、プロセスモデル同定に関しても用いられてもよいフィードフォーワードパス同定要件が含まれてもよい。
【0064】
ユーザがプロセスにおける非線形性の同定および多領域適応制御の支援を可能にするために、状態入力データもまた、処理されてもよい。一例において、状態入力の4つのタイプ、すなわち出力、PV、作動設定点およびユーザ定義がある。データ収集機能102はまた、ブロック266で状態入力信号の状態を安定させるための時間に関する実行平均(状態変数パラメータ)を計算してもよい。この平均は、プロセスモデル同定サービスに送信される収集データに関して保存されてもよい。以下の式は、平均計算の実施例を示している。
【数1】
【0065】
状態変数パラメータの実行平均を計算した後、再サンプリングカウンタが、ブロック268でリセットされる。
【0066】
トリガ事象に関連付けられるデータ収集後のある時点で、モデル同定モジュール72は、モデル同定アルゴリズムまたは計算ルーチンを実装してもよい。これについて、ここで記載する。一般に、トリガ事象の検出および十分な量のデータの収集後に、バッファ106のコンテンツおよび他のパラメータが、モデル同定モジュール72、特にモデル同定エンジン74に対するクラスポインタとして送り込まれる。待ち行列に入れられたデータが、機能ブロックプラグイン64からの収集データの複製である場合には、収集データは、モデル同定を待機するために待ち行列に入れられてもよい。これにより、少数のトリガ事象を有するプロセスおよび/または状態を安定させるためにきわめて長い時間を有するプロセスに関して重要なデータ収集を続行することができる。
【0067】
モデル同定モジュール72は、すべてのデータを含むクラスのメンバ機能であってもよい生成機能を呼び出す。生成機能は、プロセスモデル同定アルゴリズムを含み、モデルに関する新たなパラメータを識別するために、モデル同定エンジン74によって用いられる。一般に、モデルが同定された後、モデル結果は、機能ブロックに送られ、次にROCサービス86、88を介してサーバ90に送り込まれる。モデル同定モジュール72がその能力(タスクの待ち行列において自由なスロットはない)を達成した場合には、プロセスモデル同定制御論理110からモデル同定のための要求は、却下されてもよい。
【0068】
機能ブロックプラグイン64は一般に、ユーザから最小の構成を利用するか、またはユーザからの構成を全く利用しない。したがって、パラメータの大部分は、初期のチューニング(例えば、ゲイン、速度およびリセット)に基づいて計算されてもよい。制御機能ブロック58または機能ブロックプラグイン64が、最初にダウンロードされた後、または他の方法で初期化されない場合には、完全な初期化が行われてもよい。例えば、制御機能ブロック58または機能ブロックプラグイン64が、最初のパラメータをアップロードすることなく、再ダウンロードされる場合には、完全な初期化が行なわれてもよい。ユーザはまた、ワークステーション13を介して正規のブロック動作中に完全な初期化を呼び出してもよい。
【0069】
初期モデル値、限界、状態を安定させるための時間(TSS)およびTSS_MINを設定するための出発点として、制御装置チューニングおよびブロック走査速度を用いてもよい。TSS_MINに関するデフォルト値は、0であってもよく、その結果、制御機能ブロック58または機能ブロックプラグイン64がダウンロードされ、TSS_MINが0に等しい場合には、完全な初期化を利用してもよい。他の場合には、一部の初期値は、TSS_MINに基づいていてもよい。
【0070】
動作領域は、モデルパラメータ値および対応する上限および下限に関して初期化される。これらのモデルパラメータ値の同定については、以下にさらに記載される。各動作領域は、状態ビットを有してもよく、状態ビットの1つは、領域に関するモデルが同定されたかどうかを表している。これ以前に同定されたモデルがない場合には、初期化手順は、すべての動作領域に対して計算された初期値を適用する。動作領域の1つまたは複数のモデルが同定された場合には、初期値は、同定されていなかった領域に伝搬されてもよい。
【0071】
状態を安定させるための時間は、2つの方式で、すなわち(1)初期化されたモデルからまたは(2)既に同定されたモデルから初期化される可能性がある。TSSおよびTSS_MINに関する構成デフォルトは、0に設定されてもよい。それらの属性の1つが、0でない場合には、属性は、ユーザによって設定されてもよく、または先にアップロードされていてもよく、したがって、初期化を必要としない。領域のいずれかに関するモデルが同定されなかった場合には、以前に示された規則が、領域に格納されたモデルの代わりに、初期化されたモデルの値を用いて適用されるべきである。
【0072】
図6は、機能ブロックプラグイン64からの収集データに基づき、モデルパラメータ(およびしたがってモデル)を同定するために、モデル同定アルゴリズムによって利用されるとき、モデル同定アルゴリズムまたは計算ルーチンの例示の記述のブロック図である。
図6のモデル同定アルゴリズムまたは計算ルーチンは、マルチモデルスイッチングおよびパラメータ補間アルゴリズムによって実装されてもよく、機能ブロックは、その時点で1つのモデルパラメータを同定するアルゴリズムの修正バージョンを利用してもよい。プロセスモデルは、本願明細書に開示された技術に基づいて同定し、動作領域(例えば、領域1、領域2など)に関連付けられてもよいが、必要ではない。プロセスモデルはまた、機能ブロックの制御スキームによれば、対で同定されてもよい。この例示の事例において、各領域は、フィードフォーワード処理およびフィードフォーワード処理の両方を支援する1対のプロセスモデルを決定するものである。領域の選択時に、フィードバックモデルおよびフィードフォーワードモデルの対は、フィードバックチューニングパラメータおよびフィードフォーワードチューニングパラメータをそれぞれ計算するために利用されてもよい。
【0073】
一般に、入力パラメータに基づいて、アルゴリズムは、収集データに関して多数の同定サイクルを実行する。同定サイクルは、同定される各モデルパラメータに関して実行されてもよい。各同定サイクルは、ループであり、各ループは、プロセスの複数のシミュレーション(モデル1、モデル2、モデル3)を必要とする。各シミュレーションは、種々のシミュレーションパラメータに関して異なる値を有する。シミュレーションパラメータは、プロセスが自己調整プロセスである場合には、各ループに関してゲイン、時間定数および不動作時間の設定を含んでもよく、またはプロセスが統合プロセスである場合には、各ループに関する統合ゲインおよび不動作時間を含んでもよい。各ループは、プロセスのシミュレートした値と収集された動作状態データ(例えば、実際のプロセス出力)との間の出力エラーを計算する。エラーに基づき、新たな一時的モデル値が、同定される。各モデルシミュレーション出力は、以下の式によって定義されてもよい。
【数2】
式中、Δy
mは、プロセスモデルシミュレーション出力における変化であり、ΔUは、プロセスモデルシミュレーション入力における変化であり、hは、サンプリング期間であり、nは、サンプルにおける不動作時間である。不動作時間遅延は、所定の数のサンプルによってプロセス入力をバッファに格納することによって実装される。モデルシミュレーションルーチンにおいて(例えば、ゲインまたは時間定数に関して)モデル値を用いる前に、モデル値は、以下の式を用いてパラメータaおよびbに対して再計算されてもよい。
【数3】
【数4】
式中、τは、モデル時間定数であり、K
mは、モデルゲインである。統合プロセスの場合には、aは、1に設定されてもよく、bは、データ収集サンプリング期間によって除算される統合ゲインに設定されてもよい。
【0074】
図6を参照すると、収集データ302は、トリガ事象(プロセス出力)に応じて、プロセスの制御データ304(プロセス入力および動作状態データ306の両方を含む。プロセスを制御するために、制御機能ブロック58によって用いられるプロセス入力は、複数のシミュレーション308、310、312のそれぞれに対する入力(モデル1、モデル2、モデル3)である。各シミュレーションは、プロセスのモデルであり、プロセスが自己調整型である場合には、プロセスモデルゲイン、プロセスモデル時間定数およびプロセスモデル不動作時間に関する異なる値、プロセスが統合プロセスである場合には、プロセスモデル統合ゲインおよびプロセスモデル不動作時間に関する異なる値などの異なるシミュレーションパラメータ値を有する。同一のモデル同定エンジン74が両方のプロセスタイプに関して用いられてもよく、プロセスタイプ(例えば、自己調整型または統合型)は、ワークステーション13および/またはユーザによって制御機能ブロックにおいて選択されてもよいが、提供された実施例の多くは、自己調整プロセスに関係があり、統合プロセスのインスタンスもまた提供されていることを理解すべきである。したがって、具体的なシミュレーションパラメータは、シミュレートされることになっている具体的なプロセスに左右されてもよく、ゲイン、時間定数および不動作時間は、例としてのみ提供される。
【0075】
各シミュレーション308、310、312の出力は、プロセスのシミュレートされた出力に対応する。すなわち、各シミュレーション308、310、312の出力は、シミュレートされるプロセスの動作状態データをシミュレートする。各シミュレーション出力は、実際のプロセス出力(例えば、プロセスの収集された動作状態データ)と比較され、それによって、推定エラー314が、各シミュレーション出力に関して計算される。推定エラーは、シミュレーション出力と収集されたデータの時間に関するプロセス出力との間の自乗エラーの積分であってもよい。
【0076】
推定エラーを用いて、モデルに関する変数が、同定(例えば、計算)されてもよい(316)。例えば、モデルパラメータは、以下の式を用いて計算されてもよい。
【数5】
式中、E
AおよびE
Bは、2つの最小の積分エラーであり、P
AおよびP
Bは、2つの最小の積分エラーに対応するシミュレーションにおいて用いられるパラメータである。P
AおよびP
Bはまた、計算されるモデルパラメータP
newに対応する。例えば、P
newが不動作時間である場合には、P
AおよびP
Bは、最小の積分エラーE
AおよびE
Bをそれぞれ有するシミュレートしたプロセス出力を生成したシミュレーションにおいて用いられる不動作時間値に対応する。したがって、不動作時間は、各シミュレーション308、310、312に関して異なるシミュレーションパラメータの少なくとも1つであった。上述の計算は、モデルパラメータを計算する際に特に有益であるが、上述の計算が、所望に応じて、モデルパラメータを計算する場合に、多数の異なるシミュレーションパラメータ、エラーなどのいずれかに適合するように修正されてもよいことは当業者によって理解されるべきである。
【0077】
一部の実施形態において、同定されることになっているモデルパラメータに対応しないシミュレーションパラメータは、各シミュレーション308、310、312に関して同一である。言い換えれば、各シミュレーションに関して異なるシミュレーションパラメータは、具体的な同定サイクルに関して計算されることになっているモデルパラメータに対応してもよい。したがって、異なる同定サイクルは、同定されることになっている各モデルパラメータに関して計算されてもよく、同定されることになっているモデルパラメータに対応するシミュレーションパラメータは、各シミュレーション308、310、312に関して異なっており、残るシミュレーションパラメータは、各シミュレーションに関して同一のままである。したがって、不動作時間に関するモデルパラメータが同定されることになっている場合には、不動作時間に関するシミュレーションパラメータは、各シミュレーション308、310、312に関して異なっている。ゲインが、同定されることになっているモデルパラメータである場合には、ゲインは、各シミュレーション308、310、312に関して異なっているシミュレーションパラメータである。時間定数または同定されることになっている任意の他のモデルパラメータに関しても、同様である。
【0078】
上述したように、各同定サイクルは、順序付けされたループであり、したがって、サイクルは、繰り返され、サイクルの前の反復から同定されたモデルパラメータを用いて反復的に実行されるようになっている。したがって、モデルパラメータが、上記のように計算される場合には、サイクルの次の反復において、シミュレーションの1つを初期化するために、モデルパラメータは、シミュレーションパラメータとして用いられてもよい。第1の反復に関して、モデルは、同定されることになっている動作領域のモデルパラメータ値によって初期化される。しかし、すべてのシミュレーションが、前の反復から計算されたモデルパラメータに関して初期化されるわけではない。代わりに、前の対話からモデルパラメータを用いて初期化されるシミュレーションは、中間シミュレーションと呼んでもよく、さらなるシミュレーションは、プロセスの上限および下限に対応するエッジシミュレーションと呼んでもよい。エッジシミュレーションを初期化するために用いられるモデルパラメータは、範囲修正子(range modifier)によって乗算される同定されたモデルパラメータであってもよい。範囲修正子は、プロセスに関するモデルパラメータの上限および下限に対応する。範囲修正子は、以下に基づいて計算されてもよい。
region_modifier
1=
Range_Squeeze_Const
region_modifier
i=
region_modifier
i-1*
n
throot(Range_Squeeze_Const,
nof_id_cycles)
式中、
Range_Squeeze_Const=0.2
i=1,...,nof_id_cycles
nof_id_cycles=同定サイクルの数
である。Range_Squeeze_Constに関する値は、一例としてのみ提供され、必要に応じて調整されてもよい。
【0079】
各パラメータは、予め定義された数の反復(例えば、10)に関するシミュレーションによって実行されてもよい。各反復後、各シミュレートされたモデル間の間隔は、範囲修正子における減少に起因して減少されてもよい。中間モデルパラメータが構成限界から出てしまう場合には、その限界に設定されてもよい。下限もまた無視される場合には、エッジモデルパラメータが、以下のように再計算されてもよい。より小さなモデルパラメータが、その下限の値の2分の1に設定され、より大きいモデルパラメータは、範囲修正子によって乗算される前に計算された初期の中間モデル値を加えた下限に設定される。
【0080】
各モデルパラメータに関する各同定サイクルは、同定されることになっているモデルパラメータに基づいて、具体的な順序で実行されてもよい。例えば、自己調整プロセスにおいて、同定サイクルが、実行され、以下の順序、すなわち(1)時間定数、(2)不動作時間および(3)ゲインの順序でモデルパラメータを同定してもよい。統合プロセスにおいて、同定サイクルは、以下の順序、すなわち(1)不動作時間および(2)統合ゲインの順序でモデルパラメータを同定してもよい。
【0081】
(各モデルパラメータに関する)各同定サイクルは、連続的に実行されてもよく、1つの同定サイクルからモデルパラメータを同定した後、モデルパラメータの値は、別のモデルパラメータを同定するために用いられる別の同定サイクルのシミュレーションに関するシミュレーションパラメータとして適用される。例えば、自己調整プロセスに関して上述の順序を用いることは、一旦、その対応する同定サイクルによって時間定数が同定されると、不動作時間を同定するために用いられる同定サイクルのシミュレーションにおいて、同定された時間定数が用いられてもよい。次に、一旦、不動作時間が同定されると、ゲインを同定する場合に、時間定数および不動作時間の両方が、シミュレーションパラメータとして用いられてもよい。すべてのモデルパラメータが同定されると、サイクルは、予め定義された数の時間(例えば、5)に関して再び開始する。
【0082】
上述したモデル同定機能性からのモデルパラメータ結果は、限界によって固定されてもよく、モデル品質係数が、計算されてもよい。限界が固定し、モデル品質検査が、モデル同定エンジン74またはモデル同定モジュール72の別のモジュール、ルーチンまたは機能によって、行われてもよい。モデル品質係数は、経験則およびプロセスモデルの各パラメータに関する最後の3つのエラーの合成物であってもよい。一部の実施形態において、各パラメータに関する品質係数は、複数のステップで決定されてもよい。最初に、3つのエラーの最小値(min3error)および最大値(max3error)が、決定される。上記の計算に基づき、中間のエラー(error_middle)が最小のエラーであるかどうかが決定される。最大対最小のエラー比(error_min_max)が、自己調整プロセスの場合には1.75より高いかどうか、または統合プロセスの場合には1.25より高いかどうかがさらに決定される。モデルパラメータに関するモデル品質係数が、次に、以下のように計算されてもよい。
【数6】
式中、quality_biasおよびquality_modifierは、以下の単独のモデルパラメータ品質係数計算定数の表に基づいて、計算されてもよい。
【表1】
error_min_max、quality_biasおよびquality_modifierに関して上記で提供された値は、一例に過ぎず、必要に応じて調整されてもよいことは、当業者によって理解されるべきである。
【0083】
全体としてモデル同定に関する最終的な品質係数は、上述したモデル同定技術から同定された各モデルパラメータに関する品質係数の合成物である。一例として、自己調整プロセスおよび統合プロセスに関する品質係数の合成物はそれぞれ、以下のように決定されてもよい。
【数7】
【数8】
式中、gain_qfは、自己調整プロセスに関するゲイン品質係数であり、int_gain_qfは、統合プロセスに関するゲイン品質係数であり、tc_qfは、時間定数品質係数であり、dt_qfは、不動作時間品質係数である。定数a、bおよびcは、以下の表における品質係数計算定数によって定義されてもよい。
【表2】
この場合も、定数a、bおよびcに関する値は、一例に過ぎず、必要に応じて調整されてもよいことは、当業者によって理解されるべきである。
【0084】
最終モデル結果は、同定された動作領域において前に同定されたモデルと新たに同定されたモデルの混合として提供されてもよい。例えば、モデル同定結果は、下限と上限との間の範囲によって乗算された構成値(例えば、0.1,...,0.5)によって限定(固定)される割合であってもよい。さらに、新たなモデルは、プロセスのタイプ(自己調整型または統合型)に応じて、上記の式(7)または(8)による最終的な品質係数によって重み付けされてもよい。例えば、新たなモデルは、以下のように重み付けされてもよい。
【数9】
新たなモデルは、モデル同定が実行された領域において格納されてもよい。
【0085】
一般に、モデル品質は、最後に同定されたモデルの信頼性の指標であり、各動作領域に関するモデルの履歴に基づいてもよい。例えば、品質係数および時間に関するモデルの偏差を考慮してもよい。一実施例において、5つのモデルゲインの履歴および品質係数の実行平均は、各動作領域に関して格納されてもよい。上述の技術によって同定されたモデルの品質を更新するために、品質係数の実行平均は、以下の式を用いて更新されてもよい。
【数10】
最後の5つのモデルゲインの平均、最小値および最大値は、平均比に対する偏差と同様に、計算されてもよい。一例において、平均比に対する偏差は、
【数11】
として計算されてもよく、0.0と1.0との間に制限されてもよい。最終的なモデル品質は、次に、
【数12】
として計算されてもよい。上記で提供された実際の値のそれぞれは、一例に過ぎず、必要に応じて調整されてもよい。
【0086】
一実施形態において、機能ブロックプラグイン64によって取り出された後のすべてのモデル結果(例えば、新たなモデル、品質係数およびモデル品質)は、ROCサービス86、88によって、ワークステーション13に位置しているモデルデータベース92に送信されてもよい。機能ブロックプラグイン64において、モデルおよびチューニング制御104は、制御機能ブロック58に関するチューニング変数を計算するためにモデル結果を利用する。特に、モデルおよびチューニング制御104は、2つのタスクを実行してもよい。すなわち、(1)選択された状態変数(式(1)からの平均状態変数であってもよい)に基づいて、現在の承認されたモデルを選択し、(2)(完全または部分適応において)新たな制御装置チューニングを計算して適用してもよい。現在の承認されたモデルは、選択された状態変数、領域境界および構成されたヒステリシスに基づいて、メモリ116に格納された承認モデル表から選択されてもよい。新たな現在承認されたモデルが変更される場合は常に、新たなチューニングが、選択されたチューニング規則、プロセスタイプおよび主要ブロックタイプ(PID、FCLまたは他の制御機能ブロック)に基づいて計算される。モデル同定が部分的であるか、または完全であるかに関係なく、新たに計算されたチューニングは、各インスタンスにおいて制御装置に適用されてもよい。一部の実施形態において、内部モデル制御(IMC:Internal Model Control)およびラムダチューニングが、支援されてもよい。
【0087】
開示された技術の実装を制御し管理するために、(レガシーまたは標準的な統合された意味のいずれにおいても)ワークステーション13によって提供されるアプリケーションに関するさらなる詳細が、ここで提供される。アプリケーションは一般に、上述したように、制御装置11によって同定されるプロセスモデルの利用を支援し、同定されたモデルの使用に関連付けられる機能性も提供する。上述したように、プロセスモデルは、適応制御スキームに関連して使用するためだけに生成される必要はない。開示された技術によるプロセスモデルの同定は、制御ルーチンが適応制御ルーチンであるかどうかに関係なく、実装される。適応型であれ非適応型であれ、制御ループのすべてに関してプロセスモデルを同定することは一般に、プロセス、プロセス制御システムおよびその特定の要素の多数の異なる解析を行う能力を提供する。とはいえ、一部の場合において、開示されたシステムは、ノードごと(またはループごと)に基づいて、モデル同定を無効にするために、ダイアログ・ボックス、ウィンドウ、フェースプレートまたは他のディスプレイインターフェイスを介してオプションを提供してもよい。ディスプレイインターフェイスは、ワークステーション13上で実行中のアプリケーションの実装によって生成された多数のディスプレイインターフェイスのうちの1つであってもよい。そのようなディスプレイインターフェイスの実施例は、
図8〜
図15において提供されている。
【0088】
再び
図1を参照すると、一般的な問題として、ワークステーション13は、(個別に、分散方式または任意の他の方式のいずれであれ)、プロセスプラント10内に接続されたデバイス、ユニットなどに関して機能性を表示して提供するために、任意の権限の付与されたユーザ(例えば、構成エンジニア、オペレータなど)によってアクセスされてもよいオペレータインターフェイスアプリケーションおよび他のデータ構造140のスイートを含む。オペレータインターフェイスアプリケーション140のスイートは、ワークステーション13のメモリ142に格納され、アプリケーション140のスイートの中のアプリケーションまたはエンティティのそれぞれは、各ワークステーション13に関連付けられるそれぞれのプロセッサ144で実行されるように適合される。アプリケーション140の全体的なスイートは、ワークステーション13に格納されているものとして図示されているが、これらのアプリケーションまたは他のエンティティの一部は、システム10内またはシステム10に関連付けられるか、またはシステム10と通信中の他のワークステーションまたはコンピュータデバイスに格納されて、実行されてもよい。さらに、アプリケーション140のスイートは、ワークステーション13に関連付けられるディスプレイスクリーン146または任意の他の所望のスクリーンまたはディスプレイデバイス、例えば、ハンドヘルドデバイス、ラップトップコンピュータ、他のワークステーション、プリンタなどへのディスプレイ出力を提供してもよい。同様に、アプリケーション140のスイート内のアプリケーションは、2台またはそれ以上のコンピュータまたはマシンに分散されて実行されてもよく、互いに連動して動作するように構成されてもよい。
【0089】
図7は、開示されたシステム、方法およびモデル同定技術の実装に関連してさらに詳細に例示のワークステーション13を示している。特に、アプリケーション140のスイートは、本願明細書に記載されたように、制御システム10のモデルに基づく監視および管理の実装に向けた多数のアプリケーション、ルーチン、モジュールおよび他の手順要素を含んでもよい。アプリケーション、ルーチン、モジュールおよび要素は、ソフトウェア、ファームウェアおよびハードウェアの任意の組み合わせによって実装されてもよく、
図7に示された例示の構成に限定されるわけではない。例えば、1つまたは複数のアプリケーションは、任意の所望の範囲まで統合されてもよい。
【0090】
アプリケーションスイートは、モデルが上述の技術によって同定されるとき、プロセスモデルデータ(例えば、パラメータ)の記録の支援を専用とするヒストリアンアプリケーション448を含んでもよい。このために、ヒストリアンアプリケーション448は、ヒストリアンデータベース12または任意の他のメモリまたは格納機構と通信してもよい。上述したように、プロセスモデルデータは、プロセスモデルの同定(またはそれをもたらすデータの収集)を年代順に記録するデータに関して、またはそのようなデータに関連付けて格納されてもよい。ヒストリアンアプリケーション448はまた、選択されたモデルパラメータに関する合計値、平均値および他の値の計算などの解析的な機能性を提供してもよい。ヒストリアンアプリケーション448は、1つまたは複数のディスプレイインターフェイスによって、そのような計算値のほか、基本的な格納データの表示を容易にしてもよい。
【0091】
第三者インターフェイスアプリケーション450は、
図2(オペレータインターフェイス82)および
図7に関連して記載したように、第三者またはレガシーのプロセス制御システムとの通信リンクを支援して維持するために設けられてもよい。そのために、アプリケーション450は、多数のディスプレイインターフェイスを生成して、通信リンクの構成を容易にし、仮想制御装置428を維持して利用し、インターフェイスを他の方法で支援してもよい。
【0092】
さらなるディスプレイインターフェイスは、制御装置11との通信を支援することに向けられたアプリケーション452によって提供されてもよく、このアプリケーションは、上述のアプリケーション84であってもよい。そのような通信は、制御装置11において実行中の適応制御ルーチンの構成および保守点検を必要とするか、または含んでもよい。アプリケーションスイート全体に当てはまるように、ディスプレイインターフェイスは、ダイナモ、フェースプレート、詳細ディスプレイ、ダイアログ・ボックスおよびウィンドウなど無制限に含む任意の形態をとってもよく、異なるディスプレイタイプでの表示のために構成されてもよい。
【0093】
アプリケーションスイートは、チューニングに関連してプロセスモデル情報の使用を専用とするアプリケーション454を含んでもよい。上述のモデル同定技術の結果として、チューニングアプリケーション454は、プラントにおける正常な日常的変化またはオンデマンドチューニングテストから自動的にチューニングパラメータを計算することによって、プロセス制御性能を改善することに向けられる。チューニングの結果は、「開ループ」チューニング勧告および「閉ループ」適応制御の両方のために用いられてもよい。
【0094】
さらに詳細には、チューニングアプリケーション454は、開ループ動作または閉ループ動作のいずれであれ、すべての制御ループに関して連続的なチューニング計算の性能を支援するために、多数のディスプレイインターフェイスを生成してもよい。チューニング計算は、PID制御装置、ファジー論理制御装置およびMPC制御装置において標準的な制御および適応制御の両方を支援し、したがって、フィードバック制御およびフィードフォーワード制御の両方に関するチューニング勧告を提供する。チューニングアプリケーション454はまた、上述したように、リレー発振または他の手順のいずれかを用いて、オンデマンドチューニングを提供してもよい。
【0095】
チューニングアプリケーション454は、ヒストリアンデータベース12(または所望に応じて他の場所)に格納されたプロセスモデル履歴データにアクセスし、したがって、履歴プロセスモデルデータを用いて最適なチューニングを計算してもよい。そのために、ディスプレイインターフェイスは、そのようなチューニング計算に適したデータの位置を特定し、そのようなデータを選択するために、履歴を容易に詳細に調べるために、ツールを提供するか、または含んでもよい。チューニングアプリケーション454によって生成されたディスプレイインターフェイスのこの態様は一般に、ユーザが、モデルパラメータ(例えば、状態を安定化させるための時間、事象トリガ閾値)を変更し、モデルを再同定するか、または自動モデル同定ではこれまで可能でなかったループに関するモデルを同定することを可能にする。
【0096】
チューニングアプリケーションはまた、チューニング計算結果の履歴の解析を支援するために、インターフェイスを提供してもよい。この能力は、適応制御の機会の解析および適応制御構成の改善を容易にする可能性がある。
【0097】
上述したように、チューニングアプリケーション454は、プロセスに対する手動変更がほとんどない(すなわち、制御装置出力における自動導入である)場合、制御装置のチューニングを同定するのに役立つ制御「摂動(perturbations)」の導入を支援するために、インターフェイスを提供してもよい。一旦、良好なチューニングが計算されると、摂動を無効にするために、インターフェイスによってオプションが提供されてもよい。複数の制御ループが摂動状態にある場合には、プロセスの外乱を分散して最小限に抑えるために、動きが同期化されてもよい。
【0098】
チューニングアプリケーション454は、プロセス状態および他の状態表示に応答してもよく、その結果、任意の計算結果が、それに応じて同定される。このように、開示されたシステムは、最悪の状態においてまたは不良なプロセスデータによって計算された情報の使用を回避する。そのために、モデルに関連する計算は、適切である場合には、説明と共に、結果が、良好か、不良かまたは利用可能でないかを表してもよい。
【0099】
チューニングアプリケーション454はまた、特に、チューニング勧告情報およびユーザログを伝達して、チューニング変更および任意の適応制御チューニング解析を文書化するために、概要報告を生成してもよい。
【0100】
(単独でまたは他のアプリケーションと連動してのいずれであれ)チューニングアプリケーション454によって生成されるディスプレイインターフェイスに関するさらなる詳細は、
図11〜
図15に関連して提供される。これらの図は、上述した機能性を容易にするために、ユーザに提供されるプロセスモデルおよび制御ループの図を一般的に示している。
【0101】
図7を続けて参照すると、アプリケーション456は一般に、開示された技術によって同定されたプロセスモデルを利用する性能監視を自動的に制御することに向けられる。アプリケーション456はさらに詳細には、(i)性能改善のための機会の同定、(ii)制御問題の原因の解析および診断および(iii)動作、制御および保守点検を行う人材に関する重要な実績報告の生成を促進するか、または自動的に実装することによって、プロセス制御性能を改善することに向けられる。このために、アプリケーション456は、プロセスモデルに基づく制御性能指数を生成してもよい。この「モデルに基づく」指数は、再チューニングを必要とする制御ループを同定するためのよりよいベンチマークを提供する。新たな指数は、プロセス妥当性、同定されたプロセスモデル、既存の制御装置チューニングなどの要因に基づいて、性能を改善する機会を判定する。そのような性能監視は、適用可能である場合には、ユニットの状態を考慮し、ループが不適切なユニット状態である場合、または他の状態表示(例えば、Fieldbus状態)またはI/O通信が良好でない場合には、性能計算を除外してもよい。バルブの静摩擦、緩みおよび他のバルブの診断指数もまた、すべてのバルブに関して提供されてもよい。
【0102】
前述の特徴および以下に記載される特徴は一般に、開示された技術によって自動的に作製されるプロセスモデルを利用することによって行われる制御性能の比較によって提供される。プロセスモデルの使用を通じて、チューニングの芳しくない制御ループおよび制御性能に影響を及ぼすプロセスにおける変化が、同定されてもよい。履歴の値からのプロセスモデルにおける偏差は、潜在的なプロセス問題として制御ループにフラグを立てるために用いられてもよい。
【0103】
また、プロセスモデルを用いて、発振中であるループを同定するために、発振指数もまた、アプリケーション456によって生成されてもよい。さらに詳細には、発振解析ツールは、同一の発振期間を有し、主要ループと相互に作用する可能性がある他のループを同定してもよい。この情報は次に、プロセスの相互作用および可能な設計勧告を同定するために用いられてもよい。
【0104】
アプリケーション456によって提供された診断情報は、不良な制御性能の予想される原因の表示を付随してもよい。例えば、診断は、不良な制御性能が命令エラー、バルブの静摩擦または緩み、プロセスの相互作用または制御装置のチューニングによって生じているかどうかを表してもよい。
【0105】
一般的に言えば、制御性能監視情報は、多数のカスタマイズされたディスプレイインターフェイスおよび報告を含む任意の所望の形態で提供されてもよい。履歴性能報告は、制御ループがユーザの指定した時間期間にわたってどのように実行されたかを示すために提供されてもよい。そのような報告に関するデフォルトの時間期間は、最後の時間、最後のシフト(8時間)、最後の日、最後の週、最後の月を含む。ユーザは、詳細なループ情報にアクセスするために、概要報告から「掘り下げる」ために、オプションを提供してもよい。インターフェイスの報告は、例えば、プラントの広さおよび個別のプロセスユニット、前の期間と現在の期間を比較する傾向および/または表、対応する性能尺度を有する上位優先度のループのリストに関して全体に重み付けされた性能指数によって、管理概要に関してカスタマイズされてもよい。保守点検報告は、制御ループ性能指数を提示し、プラント動作に対する関連する重要性に基づいて、作業品目に優先順位を付けてもよい。他の報告は、制御性能指数、標準偏差、発振指数、プロセスモデル(利用可能である場合)、自動相互相関、ヒストグラム、パワースペクトルなどに関するデータを含む統計を提供してもよい。
【0106】
アプリケーション456によって提供される情報に関するさらなる詳細は、
図8〜
図11に示される例示のディスプレイインターフェイスによって提供される。
【0107】
アプリケーションスイートはまた、別個の制御ループ解析アプリケーション458を含んでもよい。一部の実施形態において、アプリケーション458は、アプリケーション456によって生成されたディスプレイインターフェイスを介して利用可能である。いずれにしても、アプリケーション458は、上述したモデル同定技術に関して収集されるヒストリアンまたは実時間データの解析を支援する。データは、未測定の外乱および測定雑音から制御における変動の調査を容易にするインターフェイスを介して提示されてもよい。例えば、アプリケーション454および456を介して同定された問題は、診断のための解析アプリケーション458を用いてさらに調査されてもよい。そのために、それによって生成されたディスプレイインターフェイスは、パワースペクトラム、自動相関およびヒストグラムのデータを計算するためのオプションを提供してもよい。
【0108】
アドバイザアプリケーション460は一般に、チューニングまたはアルゴリズムの修正によって、制御スキームを改善するために、異常状態または機会を検出するために、診断に関連して同定されたモデルを利用する機能性を提供してもよい。アドバイザアプリケーション460によって提供される情報は、システム10と通信状態にあるワークステーション13、制御装置11または任意の他の要素によって生成されるフェースプレートを含む任意のタイプのディスプレイインターフェイスに提供されてもよい。1つの特定の実施例において、ディスプレイインターフェイスは、「チューニングを確認してください」などの新たな助言メッセージの表示を示すためのフラグを有してもよい。
【0109】
さらに一般的には、アドバイザアプリケーション460は、スイートにおけるアプリケーションの任意の1つによって行われる解析または診断の結果として生成される勧告を提供してもよい。さらに、勧告は、アドバイザアプリケーションによって生成されるディスプレイインターフェイスによって提供される必要はなく、スイートにおけるアプリケーションのうちの任意の1つまたは複数に表示を送信してもよい。したがって、勧告およびメッセージ、例えば、「新たなチューニングが利用可能です」「プロセスを調べてください。プロセスにおいて著しい変更が検出されました」「バルブを確認してください。不感帯/ヒステリシス大です」「チューニングを確認してください。ループが不安定です」および「制御は、MPC/適応を用いて改善可能です」などが一般に、プロセス制御システム10と通信中のワークステーション13または他のデバイスによって提供されてもよい。メッセージまたは勧告の表示に加えて、基本的な状態に関する詳細が、制御ループに関する履歴または他のパラメータとして格納されてもよい。制御ループに関して格納されたデータの次のアクセスまたは使用は、次に、スイートにおけるアドバイザアプリケーションまたは他のアプリケーションのユーザに対して詳細または関連メッセージを表示させてもよい。
【0110】
開示された技術の実装も支援する他のアプリケーションは、プロセス制御システム10内のナビゲーションを容易にするための制御スタジオアプリケーション462と、上述の報告の生成のための報告生成アプリケーション464と、を含む。最後に、1つまたは複数のメモリまたはデータベース466は、アプリケーションスイートの一部として提供されてもよい。
【0111】
図8は、プロセスモデル検査解析から生じる概要情報を提示するために、性能監視アプリケーション456(または、あるいは他のアプリケーションのうちの任意の1つまたは複数)によって生成されてもよい例示のディスプレイインターフェイス468を示している。この特定の実施例において、ディスプレイインターフェイス468は、全体的なプロセス制御システム10において、制御ルーチンまたはモジュールの状態を表す情報および階層木パネル470を介して選択されたその任意のエリアを提示する。制御性能は、「不正確なモード」「制限された制御」「不確かな入力」および「大きな変動」を含むカテゴリによってチャートパネル472に指定され、概要を示している。制御モジュール、機能ブロックまたはルーチンのこれらのカテゴリの1つへの割り当てまたは分類は一般に、開示された技術によって同定されたプロセスモデルによって可能であり、この同定されたプロセスモデルを用いて自動的に実装されてもよい。ディスプレイインターフェイス468はまた、機能不全と思われるか、すぐに保守点検を必要とするか、助言警告があるか、または通信障害を被っている種々の資産に関して統計情報を提示するために、資産警告チャートパネル474も含む。
【0112】
図9は、これも性能監視アプリケーション456によって生成されてもよい例示のディスプレイインターフェイス476を示している。ディスプレイインターフェイス476はまた、一般に、制御性能情報を提示するが、さらに詳細なレベルである。この実施例において、性能情報は、階層木パネルにおいて選択されたエリアにおいて、各制御ループまたはモジュールに関して提示される。具体的な制御ループに関して検出された各異常状態は、異常モード、制限された制御、入力状態、高い変動または機能していない関連デバイスに関する問題の間で識別する表に記載されてもよい。異常状態を記載した報告が生成されたかどうかに関する表示と共に、優先順位もまた、表示されてもよい。
【0113】
図10は、これも性能監視アプリケーション456によって生成されてもよい例示のディスプレイインターフェイス478を示している。ディスプレイインターフェイス478は、
図9のインターフェイス476と類似であり、性能情報が提示される制御レベルにおいて異なる。この場合には、モジュールまたはループは、パネル470によって選択され、性能情報は、その各機能ブロックに関して提示される。具体的なブロックに関する診断情報は次に、表に表示されたブロック名で選択(例えば、右クリック)することによってアクセスされてもよい。
【0114】
図11は、チューニングアプリケーション454および性能監視アプリケーション456を含むアプリケーションのうちの1つまたは複数によって生成されてもよい例示のディスプレイインターフェイス480を示している。一般的に言えば、ディスプレイインターフェイス480は、選択された制御要素(例えば、PID1)に関する診断計算の結果の調査を促進する。計算によって導出された統計量に関する制限値もまた、所望に応じて、比較およびユーザによる修正のために表示される。制限を超えると、アラームが関連情報を表示してもよい。さらに一般的には、ディスプレイインターフェイス480および基本的な計算において提示された情報は、制御ループの安定性が、本願明細書に開示されたプロセスモデル同定技術の結果としてどのように連続的に監視されているかを表している。
【0115】
図12は、自動プロセスモデル同定のほか、オンデマンドモデル同定に関する制御ループの設定を容易にする例示のディスプレイインターフェイス482を示している。トリガ事象タイプ、トリガ事象レベル、パラメータ変更最大値などを指定するために、多数のパネルが、インターフェイス482によって提供される。このように、ディスプレイインターフェイス482は、ノードごとまたはループごとに、プロセスモデル同定手順をユーザにカスタマイズすることが可能である。
【0116】
図13は一般に、ユーザが、特に、どれほど多くの領域が必要とされるかを決定するために、保存されたプロセスモデルを可視化してもよい方法を示している。さらに詳細には、ディスプレイインターフェイス484は、プロセスモデル履歴情報を列挙するパネル486と、それぞれの水平線によって、承認されたモデル値を示し、ドットによって、履歴データベースにおいて同定および格納されたプロセスモデルのパラメータを示すモデルグラフパネル488と、を示している。上述したように、それぞれのモデルは、多数(例えば、5つ)の領域に関して承認されてもよく、モデルパラメータの分散は、領域の同定を容易にしてもよく、チューニング勧告によって他の方法で助けてもよい。
【0117】
図14および
図15は、それぞれファジー論理制御ブロックおよびMPCブロックに関して最近同定されたモデルに関するプロセスモデル情報を示している。そのために、ディスプレイインターフェイス490および492は、試験、チューニング計算、制御装置パラメータ設定、チューニングシミュレーションおよびチューニング選択を支援するために、多数のパネル492、494、496および498と共に、プロセスモデルのそれぞれのグラフィカル表示を提供する。
【0118】
上記の開示の焦点は、機能ブロックに合わせられているが、この技術は、現代のプロセス制御システムにおける多様な制御設計および戦略に適用可能であることを理解すべきである。上記の技術に基づいて、この技術の特徴としては、ユーザが介入することなくオンライン制御装置においてプロセス学習のためのフレームワークの自動的な作成、ユーザが介入することなくタスクに優先順を付けることによって、制御装置メモリおよび処理要件の動的調整、動作データおよび状態に基づくプロセスに関する自動的学習およびプロセス状態における任意の変化に対する作用などが挙げられてもよい。学習は、他のアプリケーションに関係なく、オンライン制御装置で局所的に実行されてもよく、他のアプリケーションに関係なくワークステーションの仮想制御装置において実行されてもよく、中央サーバ処理履歴データとして実行されてもよい。さらに、この技術は、自動的に通信し、埋め込まれた学習アルゴリズムの結果を格納し、性能監視、プロセスおよびデバイス診断、プロセスモデル化、チューニング勧告および制御戦略などが挙げられるが、限定されるわけではない結果および勧告に視覚的かつグラフィカルな洞察を自動的に提供することを可能にする。さらに、制御装置構成における変化の自動監視および応答が、利用されてもよい。このような技術は、多様なプロセス(例えば、SISO、MIMOなど)に関して利用されてもよく、多様な制御戦略(例えば、フィードバック、フィードフォーワード、PID、ファジー論理、多変数MPCなど)に関して用いられることができ、多様なプロセスモデル化(例えば、モデルパラメータ補間、ステップ応答パラメータ、ステップ応答非パラメータ、ニューラルネットワークなどの非線形ノンパラメトリックなど)に関して用いられることができ、多様なタイプのプロセス情報(例えば、モデル、性能およびチューニング指数、プロセスおよび制御戦略、エキスパートシステムなど)に関して用いられることができる。
【0119】
「同定する」「同定」なる語およびその任意の派生語は、プロセスモデルの使用に関して広義で本願明細書において用いられ、全体的なプロセスモデル、それを定義するための1つまたは複数のパラメータまたはその任意の他の定義特性のいずれかで達成するプロセスモデルの作製、生成および他の処理を含む。
【0120】
上述のアプリケーションのいずれかは、1つまたは複数の統合アプリケーションのルーチン、モジュールまたは他の構成要素として実装されてもよい。アプリケーション機能性の開示された構成は、説明において容易にするためだけに提供され、機能性がオペレータまたは他のユーザに適用してもよい広範囲の態様を表しているわけではない。さらに、上述のアプリケーションは、所望に応じて、ユーザプロファイル、内容および他のパラメータに基づいて種々の形態で提供されてもよい。例えば、1つのユーザタイプ(例えば、エンジニアリング)に関して生成されたディスプレイインターフェイスビューは、異なるユーザタイプ(例えば、保守点検)に関して生成されたビューとは、内容および他の点で異なっていてもよい。
【0121】
実装される場合には、本願明細書に記載されたソフトウェアのいずれが、コンピュータまたはプロセッサなどのRAMまたはROMにおいて、磁気ディスク、レーザディスクまたは他の格納媒体などの上の任意のコンピュータ読み出し可能メモリに格納されてもよい。同様に、このソフトウェアは、ユーザ、プロセスプラントまたは任意のオペレータワークステーションに、例えば、コンピュータ読み出し可能ディスクまたは他の輸送可能なコンピュータ格納機構または電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークまたはワイドエリアネットワーク(供給は、輸送可能な記憶媒体を介してそのようなソフトウェアを提供することと同一であるか、または互換性があるものと見なす)などの通信チャネルにわたって、任意の周知または所望の供給方法を用いて供給されてもよい。さらに、このソフトウェアは、変調または暗号化を行うことなく、直接的に提供されてもよく、または通信チャネルにわたって伝送される前に、任意の適切な変調搬送波および/または暗号技術を用いて変調および/または暗号化されてもよい。
【0122】
「関連出願」
これは、2007年9月28日に提出された「プロセス制御システムにおけるインテリジェント制御・監視の方法および装置(Method And Apparatus For Intelligent Control And Monitoring In A Process Control System)」という名称の米国特許仮出願第60/976,379号に基づき、その優先権を主張する正規に提出された出願であり、これにより、その全体の開示内容は、本願明細書に参照によって援用されるものとする。本出願はさらに、2005年10月4日に提出された「プロセス制御システムにおけるプロセスモデル同定(Process Model Identification in a Process Control System)」という名称の米国特許出願第11/243,862号に対して一部継続出願の優先権を主張し、その全体の開示内容は、本願明細書に参照によって援用されるものとする。