(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0022】
さて
図1を参照すると、異常状態防止システムを実施できるプロセスプラント10の例が、1つ以上の通信ネットワークを介して支援設備とともに相互接続された複数の制御および保守システムを含んでいる。プロセス制御システム12は、PROVOXもしくはRS3システムまたは他の任意の制御システムなどの伝統的なプロセス制御システムであってよく、該システムは、コントローラ12Bおよび入力/出力(I/O)カード12Cに接続され、かつ該カード12Cが次いでアナログ・フィールド・デバイスおよびHART(登録商標)フィールドデバイス15などの種々のフィールドデバイスに接続されている、オペレータインターフェイス12Aを備える。プロセス制御システム14は、分散型のプロセス制御システムであってよく、イーサネット(登録商標)バスなどのバスを介して1つ以上の分散コントローラ14Bへと接続された1つ以上のオペレータインターフェイス14Aを備えている。コントローラ14Bは、例えばTexas州AustinのEmerson Process Managementによって販売されているDeltaV(商標)コントローラであってよく、あるいは他の任意の所望の種類のコントローラであってよい。コントローラ14Bは、I/Oデバイスを介して、例えばHART(登録商標)またはFieldbusフィールドデバイスや、他の任意のスマートまたは非スマート・フィールド・デバイス(例えば、PROFIBUS(登録商標)、WORLDFIP(登録商標)、Device-Net(登録商標)、AS-Interface、およびCANといった各種プロトコルのいずれかを使用するもの)などの、1つ以上のフィールドデバイス16へと接続されている。公知のとおり、フィールドデバイス16は、プロセス変数ならびに他のデバイス情報に関して、コントローラ14Bへとアナログまたはデジタル情報を提供することが可能である。オペレータインターフェイス14Aは、例えば制御オプティマイザ、診断エキスパート、ニューラルネットワーク、チューナ、など、プロセスの動作を制御するためにプロセス制御オペレータが利用することができるツール17、19を保存し、実行することが可能である。
【0023】
またさらに、上記AMS(商標)スイート:Intelligent Device Managerアプリケーションおよび/または後述する監視、診断、および通信アプリケーションを実行するコンピュータなどの保守システムを、保守、監視、および診断の行為を実行するために、プロセス制御システム12および14へと接続してよく、あるいはプロセス制御システム12および14の個々のデバイスへと接続してよい。例えば、保守コンピュータ18を、デバイス15と通信し、場合によってはデバイス15について設定変更あるいは他の保守活動を実行するように、任意の所望の通信回線またはネットワーク(無線または携帯デバイスネットワークを含む)によって、コントローラ12Bおよび/またはデバイス15へと接続してよい。同様に、AMS(商標)スイート:Intelligent Device Managerアプリケーションなどの保守アプリケーションを、デバイス16の動作状態に関するデータの収集など、保守および監視の機能を実行するために、分散プロセス制御システム14に組み合わせられた1つ以上のユーザインターフェイス14Aにインストールして、ユーザインターフェイス14Aによって実行してよい。
【0024】
さらに、プロセスプラント10は、タービン、モータ、などの種々の回転設備20を、何らかの恒久的または一時的な通信リンク(バス、無線通信システム、または読み取られた内容を受け取るべく設備20へと接続され、その後に取り外される携帯デバイス、など)を介して保守コンピュータ22へと接続して備えている。保守コンピュータ22は、プラント内の回転設備20および他の設備の動作状態を診断、監視、および最適化するための、例えばCSI(Emerson Process Management Company)によって提供されるアプリケーションなど、
市販のアプリケーションを含む任意の数の監視および診断アプリケーション23、さらに後述されるアプリケーション、モジュール、およびツールを、保存および実行することが可能である。保守担当者は、通常は、プラント10の回転設備20の性能を維持および監視し、回転設備20における問題を判定し、回転設備20の修理または交換の要否および時期を決定するために、アプリケーション23を使用する。いくつかの場合には、外部のコンサルタントまたはサービス組織が、回転設備20に関するデータを一時的に取得または測定してよく、このデータを使用して回転設備20についての分析を実行し、回転設備20に影響を及ぼしている問題、性能低下、または他の事象を検出することができる。これらの場合において、分析を実行するコンピュータは、通信回線を介してシステム10の他の部分へと接続されている必要はなく、あるいは一時的にのみ接続されてもよい。
【0025】
同様に、発電および配電設備25をプラント10に関連付けて有している発電および配電システム24が、例えばバスを介して、プラント10において発電および配電設備25の運転を実行および監督する別のコンピュータ26へと接続されている。コンピュータ26は、例えばLiebertおよびASCOまたは別の企業によって提供されるアプリケーションなど、発電および配電設備25の制御および保守のための公知の電力制御/診断アプリケーション27を実行してよい。やはり、多くの場合に、外部のコンサルタントまたはサービス組織は、設備25に関するデータを一時的に取得または測定し、このデータを使用して設備25についての分析を実行し、設備25に影響を及ぼしている問題、性能低下、または他の事象を検出するサービスアプリケーションを使用してよい。これらの場合において、分析を実行するコンピュータ(コンピュータ26など)は、通信回線を介してシステム10の他の部分へと接続されている必要はなく、あるいは一時的にのみ接続されてもよい。
【0026】
図1に示されているように、コンピュータシステム30が、異常状態防止システム35の少なくとも一部分を実施し、特にコンピュータシステム30が、そのいくつかの実施の形態がさらに詳しく後述されるとおり、設定アプリケーション38を保存および実行し、任意で異常動作検出システム42を保存および実行する。さらに、コンピュータシステム30は、警報/警告アプリケーション43を実行してよい。
【0027】
一般に、異常状態防止システム35は、任意でフィールドデバイス15、16、コントローラ12B、14B、回転設備20またはその支援コンピュータ22、発電設備25またはその支援コンピュータ26、ならびにプロセスプラント10内の他の任意の所望のデバイスおよび設備に配置された異常動作検出システム(
図1には不図示)と通信し、さらには/あるいはコンピュータシステム30内の異常動作検出システム42と通信して、これらの異常動作検出システムのそれぞれを設定し、それらが監視しているデバイスまたはサブシステムの動作に関する情報を受け取ってよい。異常状態防止システム35を、プラント10内のコンピュータまたはデバイスのうちの少なくともいくつかのそれぞれへと、有線バス45によって通信可能に接続してよく、あるいは例えば無線接続、OPCを使用する専用接続、例えば、携帯デバイスに頼ってデータを収集するものなどの間欠的な接続、などの他の任意の所望の通信接続によって接続してよい。同様に、異常状態防止システム35は、プロセスプラント10内のフィールドデバイスおよび設備に関するデータを、LANまたはインターネットなどの公開接続、電話接続、など(
図1では、インターネット接続46として示されている)によって得てよく、そのようなデータは、例えば第三者のサービス提供者によって集められる。さらに、異常状態防止システム35を、プラント10内のコンピュータ/デバイスへと、例えばイーサネット(登録商標)、Modbus、HTML、XML、独自仕様の技法/プロトコル、などといったさまざまな技法および/またはプロトコルによって、通信可能に接続してよい。したがって、異常状態防止システム35をプラント10内のコンピュータ/デバイスへと通信可能に接続するためにOPCを使用する特定の例が、本明細書において説明されるが、異常状態防止システム35をプラント10内のコンピュータ/デバイスへと接続する他のさまざまな方法を同様に使用できることを、当業者であれば理解できるであろう。
【0028】
図2は、
図1のプロセスプラント10の例の一部分50を、異常状態防止システム35および/または警報/警告アプリケーション43が、このプロセスプラント10例の部分50の熱交換器64と通信可能な1つの様式を説明する目的で示している。
図2は、異常状態防止システム35と熱交換器64内の1つ以上の異常動作検出システムとの間の通信を示しているが、同様の接続が、異常状態防止システム35とプロセスプラント10内の他のデバイスおよび設備(
図1に示したデバイスおよび設備のいずれか、など)との間に生じてもよいことが理解できるであろう。
【0029】
図2に示されているプロセスプラント10の部分50は、1つ以上のプロセスコントローラ60を任意の所望の通信またはコントローラプロトコルに適合する任意の所望の種類のI/Oデバイスであってよい入力/出力(I/O)カードまたはデバイス69および70を介して1つ以上の熱交換器64へと接続している分散型プロセス制御システム54を含んでいる。さらに、熱交換器64は、任意の所望の公開、独自、または他の通信またはプログラミングプロトコルに従ってよく、I/Oデバイス69および70は、熱交換器64が使用する所望のプロトコルに適合しなければならないと理解される。詳しく示されているわけではないが、熱交換器64は、これらに制限されることなくフィールドデバイス、HART(登録商標)デバイス、センサ、バルブ、トランスミッタ、ポジショナ、などといった任意の数の追加のデバイスを含んでよい。
【0030】
いずれにせよ、設定エンジニア、プロセス制御オペレータ、保守担当者、プラント管理者、監督者、などといったプラントの人員がアクセス可能な1つ以上のユーザインターフェイスまたはコンピュータ72および74(任意の種類のパーソナルコンピュータ、ワークステーション、などであってよい)が、任意の所望の有線または無線の接続構造を使用して、例えばイーサネット(登録商標)プロトコルなどの所望または適切な通信プロトコルを使用して実現してよい通信回線またはバス76を介して、プロセスコントローラ60へと接続される。さらに、データベース78を、設定情報を収集および保存し、さらにはオンラインプロセス変数データ、パラメータデータ、状態データ、ならびにプロセスプラント10内のプロセスコントローラ60および熱交換器64と他のフィールドデバイスに関する他のデータを収集および保存するデータヒストリアンとして動作するように、通信バス76へと接続してよい。したがって、データベース78は、プロセス設定モジュールならびにプロセスコントローラ60および熱交換器64のデバイスと他のフィールドデバイスへとダウンロードされてプロセスコントローラ60および熱交換器64のデバイスと他のフィールドデバイスに保存されたプロセス制御システム54の制御設定情報を含む現在の設定を保存するための設定データベースとして機能可能である。同様に、データベース78は、熱交換器64によって収集された統計的データ、熱交換器64によって収集されたプロセス変数から割り出された統計的データ(また具体的には、熱交換器64のデバイス)、および他のフィールドデバイス、ならびに後述される他の種類のデータなど、履歴異常状態防止データを保存してよい。
【0031】
プロセスコントローラ60、I/Oデバイス69および70、および熱交換器64が、典型的には、場合によっては過酷であるプラント環境の各所に分散して配置されうる一方で、ワークステーション72および74およびデータベース78は、通常は、オペレータ、保守担当者、などが容易にアクセスすることができる制御室、保守室、または他のあまり過酷でない環境に配置される。熱交換器64が1つだけ図示されているが、プロセスプラント10が、複数の熱交換器64を、
図1に示した設備などのさまざまな他の種類の設備とともに有してもよいことを、理解すべきである。本明細書に記載される異常状態に備える技法は、複数の熱交換器64のいずれにも等しく適用可能である。
【0032】
一般に、プロセスコントローラ60が、複数の異なる別個独立に実行される制御モジュールまたはブロックを使用して制御戦略を実施する1つ以上のコントローラアプリケーションを保存および実行する。それぞれの制御モジュールを、いわゆる機能ブロックで構成してよく、それぞれの機能ブロックが、全体としての制御ルーチンの一部分またはサブルーチンであって、プロセスプラント10においてプロセス制御ループを実現すべく(リンクと呼ばれる通信を介して)他の機能ブロックと連動して動作する。周知のとおり、機能ブロックは、オブジェクト指向のプログラミングプロトコルのオブジェクトであってよいが、典型的には、入力機能、制御機能、または出力機能のうちの1つを実行する。例えば、入力機能は、トランスミッタ、センサ、または他のプロセスパラメータ測定デバイスに関連してよい。制御機能は、PID、ファジー論理、別の種類の制御を実行する制御ルーチンに関係してよい。また、出力機能は、プロセスプラント10において何らかの物理的機能を実行すべく、バルブなどといった何らかの装置の動作を制御してよい。当然ながら、モデル予測コントローラ(MPC)、オプティマイザ、などといった混成および他の種類の複雑な
機能ブロックも存在する。FieldbusプロトコルおよびDeltaV(商標)システムプロトコルは、オブジェクト指向のプログラミングプロトコルで設計および実現された制御モジュールおよび機能ブロックを使用するが、制御モジュールを、例えばシーケンシャル機能ブロック、ラダー論理、などといった任意の所望の制御プログラミングの枠組みを使用して設計してよく、機能ブロックまたは他の特定のプログラミング技法を使用した設計に限定されないことを、理解すべきである。
【0033】
図2に示されているように、保守ワークステーション74は、プロセッサ74A、メモリ74B、および表示装置74Cを備えている。メモリ74Bが、
図1に関して説明した異常状態防止アプリケーション35および警報/警告アプリケーション43を、これらのアプリケーションをプロセッサ74A上で実行して、情報を表示装置74C(あるいは、プリンタなどの他の任意の表示装置)を介してユーザへと提示することができる様相で、保存している。
【0034】
熱交換器64、特には熱交換器64のデバイスは、検出装置によって検出される1つ以上のプロセス変数に関する統計的データの収集を実現するためのルーチン、および/または異常動作の検出のためのルーチンなど、後述されるルーチンを保存するためのメモリ(不図示)を含んでよい。さらに、熱交換器64のうちの1つ以上のそれぞれ、ならびに/あるいは、特には熱交換器64のうちの1つ以上のそれぞれのデバイスの一部またはすべてが、統計的データの収集を実行するためのルーチンおよび/または異常動作の検出のためのルーチンなど、ルーチンを実行するプロセッサ(不図示)を含んでよい。統計的データの収集および/または異常動作の検出は、必ずしもソフトウェアによって実行されなくてもよい。むしろ、そのようなシステムを、1つ以上のフィールドデバイスおよび/または他のデバイスにおけるソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせによって実現してよいことを、当業者であれば理解できるであろう。
【0035】
図2に示されているように、熱交換器64のデバイスおよび/または熱交換器64そのもの(おそらくは、プラント10の一部またはすべての熱交換器)が、さらに詳しく後述される1つ以上の異常動作検出ブロック80を備えている。
図2のブロック80は、熱交換器64に位置するものとして示されているが、このブロックまたは同様のブロックは、熱交換器64のうちの任意の数に位置することができ、あるいはプラント10のさまざまな他の設備およびデバイスにおいて、コントローラ60、I/Oデバイス68、70、または
図1に示されているデバイスのいずれかなど、他のデバイスに位置することができる。さらに、プラント10またはプラントの部分50が、2つ以上の熱交換器64を備える場合には、ブロック80は、例えば熱交換器の1つ以上のデバイス(例えば、温度センサ、温度トランスミッタ、など)など、熱交換器64の任意の部分集合に位置することができる。
【0036】
一般に、ブロック80またはブロック80のサブ要素は、それらが位置しているデバイスおよび/または他のデバイスから、プロセス変数データなどのデータを収集する。例えば、ブロック80は、温度センサ、温度トランスミッタ、または他のデバイスなど、熱交換器64内のデバイスから温度差変数を収集することが可能であり、あるいはデバイスからの温度測定結果から温度差変数を割り出すことが可能である。ブロック80を、熱交換器64とともに備えてよく、バルブ、センサ、トランスミッタ、または他の任意のフィールドデバイスによってデータを収集することが可能である。さらに、ブロック80およびブロックのサブ要素は、変数データを処理し、いくつかの任意の理由についてデータを分析してよい。例えば、熱交換器64に組み合わせられて示されているブロック80が、さらに後述されるとおり熱交換器64のいくつかのプロセス変数を分析する汚損検出ルーチン82を有してよい。
【0037】
ブロック80は、熱交換器64におけるプロセス変数または他のデータを収集し、収集したデータについて1つ以上の統計的演算を実行して、収集したデータの例えば平均、中央値、標準偏差、二乗平均平方根(RMS)、変化速度、範囲、最小値、最大値、などを割り出すことができ、さらに/あるいは収集したデータのドリフト、バイアス、ノイズ、スパイク、などの事象を検出することができるブロックSPM1〜SPM4などの1つ以上の統計的プロセス監視(SPM)ブロックまたはユニットの組を含んでよい。生成される具体的な統計的データ、およびそのようなデータの生成方法は、重要でない。したがって、上述した具体的種類に加え、あるいは上述した具体的種類に代えて、別の種類の統計的データを生成することができる。さらに、公知の技法を含むさまざまな技法を、そのようなデータを生成するために使用することができる。統計的プロセス監視(SPM)ブロックという用語は、本明細書において、R
totおよび/またはΔP変数などといった少なくとも1つのプロセス変数または他のプロセスパラメータについて統計的なプロセス監視を実行する機能であって、デバイス内またはデータ収集の対象であるデバイスの外部の任意の所望のソフトウェア、ファームウェア、またはハードウェアによって実行できる機能を表わすために使用される。SPMが、通常は、デバイスデータの収集対象であるデバイスに位置するためSPMが、定量的および定性的により正確なプロセス変数データを取得できることを理解できるであろう。結果として、SPMブロックは、通常は、収集されたプロセス変数データに関して、プロセス変数データの収集対象であるデバイスの外部に配置されるブロックよりも、より良好な統計的計算を決定することができる。
【0038】
図2においては、ブロック80がSPMブロックを含むものとして示されているが、SPMブロックは、ブロック80および82とは別体のスタンドアロンのブロックであってもよく、別の異常動作検出ブロックと同じ熱交換器64に位置しても、別のデバイスに位置してもよい。本明細書において論じられるSPMブロックは、公知のFOUNDATION(商標)Fieldbus SPMブロック、または公知のFOUNDATION(商標)Fieldbus SPMブロックと比べて別の能力または追加の能力を有しているSPMブロックを含んでよい。統計的プロセス監視(SPM)ブロックという用語は、本明細書において、プロセス変数データなどのデータを収集し、このデータについて何らかの統計的処理を実行して、平均、標準偏差、などといった統計的基準を決定する任意の種類のブロックまたは要素を指すために使用される。結果として、この用語は、この機能を実行するソフトウェア、ファームウェア、ハードウェア、および/または他の要素を包含するように意図されており、それら要素は、機能ブロック、または他の種類のブロック、プログラム、ルーチン、もしくは要素の形態であってよく、FOUNDATION(商標)FieldbusプロトコルまたはProfibus、HART(登録商標)、CAN、などの各種プロトコルなどの他の何らかのプロトコルに従っても、従わなくてもよい。所望であれば、ブロック80および82の基礎的動作を、少なくとも部分的に米国特許第6,017,143号に記載のように実行または実装してよく、この米国特許は、参照することにより本明細書に組み込まれる。
【0039】
図2においては、ブロック80がSPMブロックを含むものとして示されているが、SPMブロ
ックが必須ではないことをさらに理解すべきである。例えば、ブロック80の異常動作検出ルーチンを、SPMブロックによって処理されていないプロセス変数データを使用して動作させることができる。別の例として、ブロック80は、他のデバイスに位置する1つ以上のSPMブロックによってもたらされるデータについて、受信および動作を行うことができる。さらに別の例として、プロセス変数データを、多くの典型的なSPMブロックによってもたらされる様式ではない様式で処理することができる。あくまで一例として、プロセス変数データを、有限インパルス応答(FIR)によってフィルタ処理することができ、あるいは帯域通過フィルタまたは他の何らかの種類のフィルタなどの無限インパルス応答(IIR)フィルタによってフィルタ処理することができる。別の例として、プロセス変数データを、特定の範囲に残るようにトリムすることができる。当然ながら、公知のSPMブロックを、そのような別の処理能力または追加の処理能力を提供するように変更することができる。ブロック80は4つのSPMブロックを含んでいるが、ブロック80は、統計的データの収集および割り出しのために、任意の他の数のSPMブロックを内部に含むことができる。
【0040】
図3を参照すると、異常動作検出ブロック80は、汚損をチェックすべく熱交換器64を監視することが可能である。シェルおよびチューブからなる形式の熱交換器64は、シェル部70およびチューブ部74を備えてよい。シェル部70は、入り口78、出口82、および何枚かのバッフル86を備えてよい。チューブ部74は、入り口90、出口94、およびシェル部70によって囲まれたいくつかのチューブ98を備えてよい。動作時、低温の流体が、入り口78を通ってシェル部70に進入し、チューブ98を囲み、バッフル86を巡って流れて乱流102を生じ、出口82へと進む。同時に、高温の流体が、入り口90に進入し、チューブ98を通って流れ、出口94へと進むが、このときに、チューブ98において流体の熱が乱流である低温の水によって吸収される。このようにして、熱交換器64は、高温の流体の温度を低下させる。当然ながら、このプロセスを逆にして、低温の流体が入り口90に進入し、高温の流体が入り口78に進入してもよい。さらに、入り口78、90および出口82、94は、任意の数のフィールドデバイス(不図示)、コントローラ(不図示)、バルブ106、ポンプ110、または熱交換器64の動作の最中に流体の温度、流れの圧力、流量、および他の尺度を測定および制御する他のデバイスを備えてもよい。
【0041】
典型的な熱交換器の用途においては、いくつかの測定を得ることが可能である。熱交換器64の測定のいくつかの例は、低温流体の流量(F
c)、低温流体の入り口温度(T
c,in)、低温流体の出口温度(T
c,out)、低温流体の入り口圧力(P
c,in)、低温流体の出口圧力(P
c,out)、高温流体の流量(F
h)、高温流体の入り口温度(T
h,in)、高温流体の出口温度(T
h,out)、高温流体の入り口圧力(P
h,in)、および高温流体の出口圧力(P
h,out)である。一部の熱交換器64が、これらの尺度のうちのいくつかしか捕捉できない一方で、他の熱交換器64は、これらの測定を変更できる。変更された測定の一例は、入り口および出口の圧力を別個に測定する代わりに、単に差圧の測定のみを含むかもしれない。
【0042】
熱交換器64における汚損の異常状態の検出は、上述の測定のうちの一部またはすべてを含んでもよい。汚損を検出する1つの方法として、差圧の監視がある。差圧を、1)差圧(ΔP)を直接的に測定すべく熱交換器をまたぐ差圧トランスミッタによって測定でき、あるいは2)熱交換器の入り口圧力P
inおよび出口圧力P
outを測定するための絶対圧トランスミッタによって測定できる。すなわち、
【数1】
(式1)
である。差圧(ΔP)は、熱交換器を通過する流体の流量に依存する。したがって、ΔPにもとづいて汚損を検出するためのアルゴリズムは、流量の変化も含む。さらに、ΔPは、汚損検出ブロック80が熱交換器64の高温側および低温側の双方においてP
inおよびP
outの値を測定および検出することを可能にできる。
【0043】
汚損を検出する別の方法として、全体としての熱抵抗(R
tot)の監視がある。熱交換器の熱伝達率(Q)を、高温側または低温側の測定を使用して計算してよく、すなわち、
【数2】
(式2)
ここで、・m
c((式2)のエムドットシーを表す)および・m
h((式2)のエムドットエイチを表す)は、低温および高温流体の質量流量であり、C
cおよびC
hは、低温および高温流体の比熱であり、ΔT
cおよびΔT
hは、ΔT
c=T
c,out-T
c,inおよびΔT
h=T
h,in-T
h,outによる低温および高温流体の温度差である。
【0044】
また、全体としての熱伝達を、対数平均温度差(LMTD:Log-Mean-Temperature Difference)および熱交換器の特性を使用して計算してよく、
【数3】
(式3)
ここで、Uは、平均の熱伝達係数であり、Aは、熱交換器の熱伝達表面積であり、LMTDは、
【数4】
(式4)
として定められる対数平均温度差であり、
ここで、平行流または並流の熱交換器においては、
【数5】
(式5)
であり、
対向流の熱交換器においては、
【数6】
(式6)
である。
【0045】
式3のAは、製品の資料から得てもよいが、Uは、分析的に割り出すことが難しいかもしれない。しかしながら、UおよびAを、単一の変数、すなわち全体としての総熱伝達率として、まとめて理解することが可能である。UAの逆数は、総熱抵抗R
totである。
【0046】
【数7】
(式7)
Qについての2つの異なる式を組み合わせると、
【数8】
(式8)
または
【数9】
(式9)
である。
【0047】
高温側の流量については、
【数10】
(式10)
である。
【0048】
式9または式10を使用し、総熱抵抗の増加が、熱交換器の汚損を知らせることが可能である。
【0049】
所与の用途において、項C
cおよびC
hは一定でありうる。汚損検出アルゴリズムは、実際には熱抵抗の値を含まなくてもよく、値が変化したときを検出できさえすればよいため、式9および式10を、
【数11】
(式11)
へと変形することができる。
【0050】
熱抵抗にもとづいて汚損を監視するために、熱交換器64を、以下のプロセス変数の一部またはすべてについて監視すればよい。すなわち、高温または低温流体(F
cまたはF
h)の流量(Flow)、高温流体の入り口温度(T
h,in)、高温流体の出口温度(T
h,out)、低温流体の入り口温度(T
c,in)、および低温流体の出口温度(T
c,out)である。熱交換器64の異常動作を、さまざまな方法を使用して検出してよい。一実施例では、熱交換器の異常動作を、拡張可能な回帰を使用して検出してよい。さらなる実施例では、熱交換器の異常動作を、負荷追従アプリケーションにおける異常状態防止のための簡略化アルゴリズムを使用して検出してよい。
【0051】
[熱交換器の異常状態防止モジュールの概要]
熱交換器が正常な動作状態にあるとき、R
totおよびΔPの双方が、負荷変数(Flow)にもとづいて変化する可能性がある。R
totまたはΔPのいずれかまたは双方を熱交換器64を通過する流れの関数としてモデル化する回帰アルゴリズムを、異常状態を検出するために使用してよい。
【0052】
図4は、異常動作検出ブロック80において使用することができ、あるいは熱交換器の異常状態防止モジュールのための
図2の異常動作検出システム42として使用することができる異常状態防止モジュール150の例のブロック図である。異常状態防止モジュール150を、ΔPおよび/またはR
totの増加によって示される汚損状態など、熱交換器64において生じており、あるいは熱交換器64において生じつつある異常動作(本出願の全体を通じて、異常状態または異常状況とも称される)を検出するために使用してよい。以下では、異常状態防止モジュール150を、熱交換器異常状態防止モジュール150と称する。熱交換器異常状態防止モジュール150を、熱交換器64における異常動作の発生を、それらの異常状態が実際に生じる前に予測するために使用してもよく、これは予測された異常動作を熱交換器64またはプロセスプラント10において大きな損失が生じる前に防止するための措置を、例えば異常状態防止システム35と連動して動作することによってとるという目的によるものである。一例においては、熱交換器64が、対応する熱交換器異常状態防止モジュール150を有してよいが、共通の熱交換器異常状態防止モジュール150が、複数の熱交換器64のために使用されてもよいことを理解されたい。ΔPおよび/またはR
totは、Flowなどといった何らかの負荷変数の関数として正常な動作の最中に変化する可能性もあるため、熱交換器異常状態防止モジュール150は、負荷変数(Flow)の値の範囲について、正常すなわちベースラインのΔPおよび/またはR
totを学習する。
【0053】
図4を参照すると、熱交換器異常状態防止モジュール150は、上述のように、複数のプロセス変数を入力として取り込むことが可能である。例えば、熱交換器異常状態防止モジュール150の入力は、低温流体の入り口温度(T
c,in)152、低温流体の出口温度(T
c,out)154、高温流体の入り口温度(T
h,in)156、高温流体の出口温度(T
h,out)158、低温流体の流量(F
c)160、高温流体の流量(F
c)162、低温流体の差圧(ΔP
c)164、および高温流体の差圧(ΔP
h)166であってよい。さらに、熱交換器異常状態防止モジュールは、ΔPの入力を絶対圧の測定値、すなわち低温流体の入り口圧力(P
c,in)、低温流体の出口圧力(P
c,out)、高温流体の入り口圧力(P
h,in)、および高温流体の出口圧力(P
h,out)で置き換えることができる。次いで、熱交換器異常状態防止モジュール150は、絶対圧の測定値を使用してΔPの入力を計算してよい。式11に従い、熱交換器異常状態防止モジュール150は、ブロック168においてR
tot,cを計算してよく、ブロック170においてR
tot,hを計算してよい。
【0054】
負荷変数160、162が、対応する負荷変数SPMブロック172へと通過しうる一方で、被監視の変数値152、154、156、および158を負荷変数160、162とともに使用して、被監視の変数R
tot 168、170を計算してもよく、次いで変数R
tot 168、170が、被監視の変数値164、166とともにいくつかの被監視変数SPMブロック173へと通過することが可能である。SPMブロック172、173を、被監視入力ならびに流量のそれぞれの統計的特徴を計算するために使用してよい。一実施例においては、SPMブロック172において計算された平均(μ)が、回帰ブロックへの入力(xおよびyの双方)である。統計的特徴は、平均データ、中央値データ、標準偏差データ、変化速度データ、範囲データ、など、入力から計算されるさまざまな種類の統計的データのいずれかであってもよい。そのようなデータを、入力のスライドするウインドウにもとづいて計算でき、あるいは入力の重なり合わないウインドウにもとづいて計算することができる。一例として、負荷変数SPMブロック172は、最も最近の負荷変数サンプルおよび先行する負荷変数のサンプルや、統計的に有用でありうる任意の数のサンプルまたは任意の量のデータなど、ユーザ指定のサンプル・ウインドウ・サイズについて平均および標準偏差データを生成しうる。この例では、平均の負荷変数値および標準偏差の負荷変数値を、負荷変数SPMブロック172が新しい負荷変数サンプルを受け取るたびに生成することが可能である。別の例としては、負荷変数SPMブロック172が、重なり合わない時間を試用して平均および標準偏差のデータを生成してよい。この例では、5分間(または、他の何らかの適切な時間)のウインドウを使用することができ、したがって平均および/または標準偏差の負荷変数値が、5分ごとに生成される。同様の方法で、被監視変
数SPMブロック173が、被監視変数164、166、168、および170を受信し、特定のサンプルウインドウについての平均および標準偏差データなど、第2の統計的データを、負荷変数SPMブロック172と同様の方法で生成する。これらの統計的特徴を、フィールドデバイスまたはホストシステムにおいて計算してもよい。さらなる実施の形態においては、計算R
totのために、温度および流量の平均をフィールドデバイスにおいて計算し、上述の式を後に適用してもよい。熱交換器異常状態防止モジュール150は、これらの値を、SPMブロック172、173から複数の回帰ブロック176、180、184、188へと渡す。
【0055】
学習段階において、回帰ブロック176、180、184、188はそれぞれ、被監視変数(R
totおよび/またはΔP)の値を負荷変数(Flow)の関数としてモデル化する。監視段階において、回帰ブロック176、180、184、188は、被監視値の予測値を計算し、被監視変数を予測値と比較する。一実施の形態においては、回帰ブロック176が、F
cの関数としてΔP
cの値を予測し、回帰ブロック180が、F
cの関数としてR
tot,cの値を予測し、回帰ブロック184が、F
hの関数としてR
tot,hの値を予測し、回帰ブロック188が、F
hの関数としてΔP
hの値を予測する。例えば、さらに詳しく後述される学習段階において、回帰ブロック176、180、184、188は、被監視変数R
tot、ΔPから生成されるデータを負荷変数(F
h、F
c、まとめて「Flow」と称する)から生成されるデータの関数として予測するための回帰モデルを生成する。被監視変数R
tot、ΔPから生成されるデータおよび負荷変数から生成されるデータは、被監視データおよび負荷変数データ、フィルタ処理または他の方法で処理された被監視データおよび負荷変数データ、被監視データおよび負荷変数データから生成される統計的データ、などを含んでよい。さらにより詳しく後述される監視段階において、回帰モデルが、熱交換器64の動作の最中にR
totおよび/またはΔPから生成されるデータの値を予測する。回帰ブロック176、180、184、188が、R
totおよび/またはΔPから生成されるデータの予測値と、R
totおよび/またはΔPから生成されるデータの測定値との間のずれ(存在する場合)にもとづいて、該当するステータス175、179、183、187を出力する。例えば、R
totおよびΔPのいずれかまたは両方の測定値が、それらの予測値から大きく逸脱した場合、回帰ブロック176、180、184、188は、熱交換器に汚損の状態が存在している旨の通知であってよい「アップ(Up)」のステータスを出力してよい。そうでない場合、回帰ブロック176、180、184、188は、「正常(Normal)」とのステータスを出力してよい。
【0056】
回帰ブロック176、180、184、188は、独立変数の入力(x)であるSPM172からの負荷変数の入力と、少なくとも1つの従属変数の入力(y)であるSPM173からの被監視変数の入力とを含んでいる。上述のように、被監視の変数152、154、156、158、160、および162が、熱交換器64のR
totを計算するために使用される。さらに詳しく後述されるとおり、回帰ブロック176、180、184、188を、被監視変数R
totおよびΔPを負荷変数F
c 160またはF
h 162の関数としてモデル化するために、複数のデータ/セットを使用して学習させてもよい。回帰ブロック176、180、184、188は、SPM172、173からの負荷変数および被監視変数の平均、標準偏差、または他の統計的基準を、回帰モデリングのための独立および従属変数の入力(x,y)として使用してもよい。例えば、負荷変数および被監視変数の平均を、回帰モデリングにおいて(x,y)点として使用してよく、標準偏差を、負荷変数の関数としてモデル化し、監視段階における異常状態検出のしきい値を決定するために使用してよい。したがって、熱交換器異常状態防止モジュール150が、差圧および/または熱抵抗の変数を負荷変数の関数としてモデル化するとして説明されるが、熱交換器異常状態防止モジュール150が、回帰モデルへと提供される独立および従属の入力(これらに限られるわけではないが、差圧および/または熱抵抗データならびに負荷変数データ、差圧および/または熱抵抗データならびに負荷変数データから生成される統計的データ、フィルタ処理または他の方法で処理された差圧および/または熱抵抗データならびに負荷変数データ、など)にもとづいて、差圧および/または熱抵抗の変数から生成される種々のデータを負荷変数から生成される種々のデータの関数としてモデル化してもよいことを、理解すべきである。さらに、熱交換器異常状態防止モジュール150が、差圧および/または熱抵抗の変数の値を予測し、この予測値を差圧および/または熱抵抗の変数の測定値と比較するとして説明されるが、予測値および測定値は、差圧および/または熱抵抗の変数から生成される種々の予測値および測定値(予測および測定による差圧および/または熱抵抗のデータ、差圧および/または熱抵抗のデータから生成される予測および測定による統計的データ、ならびにフィルタ処理または他の方法で処理された予測および測定による差圧および/または熱抵抗のデータ、など)を含んでよい。
【0057】
さらにより詳しく後述されるように、回帰ブロック176、180、184、188は、それぞれ異なる動作領域のために用意される1つ以上の回帰モデルを含んでよい。各回帰モデルは、従属のR
totおよび/またはΔPの値を独立の負荷変数(Flow)の関数として、負荷変数の或る範囲についてモデル化するために、関数を利用することが可能である。回帰モデルは、例えば線形回帰モデルを含んでよく、あるいは他の何らかの回帰モデルを含んでよい。一般に、線形回帰モデルは、関数f(x)、g(x)、h(x)、・・・の何らかの線形な組み合わせを含んでいる。産業プロセスをモデル化するために、典型的に適切な線形回帰モデルは、Xの一次関数(例えば、Y=m*X+b)またはXの二次関数(例えば、Y=a*X
2+b*X+c)を含んでよいが、他の関数も適切であろう。
【0058】
図4に示した例では、(x,y)点が、学習段階の最中に保存される。学習段階の終わりにおいて、回帰係数が計算され、R
totおよび/またはΔPの値を負荷変数の関数として予測するための回帰モデルが生成される。回帰モデルの生成に使用された負荷変数の最大値および最小値も保存される。一例においては、回帰が、p次の多項式を、R
totおよび/またはΔPの予測値(y
p)を負荷変数(x)にもとづいて計算できるようにフィットさせる(例えば、y
Px=a
0+a
1+…+a
px
p)。通常は、多項式の次数pは、ユーザによって入力されるが、多項式の次数の決定を自動化する他のアルゴリズムを用意してもよい。当然ながら、より高次の多項式、正弦関数、対数関数、指数関数、べき関数、など、他の種類の関数も同様に利用可能である。
【0059】
熱交換器異常状態防止モジュール150の学習を行った後で、回帰モデルを、監視段階において所与の独立の負荷変数(Flow)の入力(x)にもとづいて従属のR
totおよび/またはΔP変数Yの少なくとも1つの予測値(y)を生成するために、対応する逸脱検出器190、192、194、196によって使用してもよい。逸脱検出器190、192、194、196は、さらに、回帰モデルへの測定されたR
totおよび/またはΔPの入力(y)および独立の負荷変数(Flow)の入力(x)を使用する。一般に、逸脱検出器190、192、194、196は、特定の負荷変数値についての予測値(y)を計算し、この予測値を「公称」または「ベースライン」のR
totおよび/またはΔPとして使用する。各逸脱検出器190、192、194、196は、対応するR
totおよび/またはΔPの測定値(y)を、回帰ブロック176、180、184、188によって生成されたR
totおよび/またはΔPの予測値(y
P)とそれぞれ比較し、R
totおよびΔP(y)のいずれかまたは両方が、予測値(y
P)から大きく逸脱していないかどうかを判断する(例えば、Δy=y-y
P)。測定値(y)が予測値(y
P)から大きく逸脱している場合、これは、異常状態が生じており、生じつつあり、あるいは近い将来に生じうることを示しており、したがって逸脱検出器190、192、194、196は、逸脱の指標を生成することが可能である。例えば、R
totの測定値(y)が、R
totの予測値(y
P)よりも大きく、かつ差がしきい値を超える場合、異常状態の知らせ(例えば、「アップ(Up)」)を生成してもよく、そうでない場合には、ステータスは「正常(Normal)」である。いくつかの実施例では、異常状態の指標が、警報または警告を含んでよい。
【0060】
さらなる実施の形態においては、利用できる変数が
図4に関して上述したすべての変数よりも少ない場合に、熱交換器異常状態防止モジュール150を減らすことが可能である。例えば、利用できる被測定変数が、ΔP
c164、F
c 160、T
c,in152、T
c,out 154、T
h,in156、およびT
h,out 158だけである場合には、熱交換器異常状態防止モジュール150は、低温側のR
tot 168およびΔP 164のみを使用して汚損を監視することができる。同様に、利用できる被測定変数が、ΔP
h166、F
h 162、T
c,in152、T
c,out 154、T
h,in156、およびT
h,out 158だけである場合には、熱交換器異常状態防止モジュール150は、高温側のR
tot 170およびΔP 166のみを使用して汚損を監視してよい。
【0061】
熱交換器64の異常状態の監視に加えて、逸脱検出器は、負荷変数がモデルの生成および学習の際に見られた限界の範囲内であるかどうかをチェックすることが可能である。例えば、監視段階において、逸脱検出器が、負荷変数の所与の値が、モデルの学習段階において使用された負荷変数の最小および最大値によって決定される回帰モデルの動作範囲内であるか否かを監視する。負荷変数値が限界の外側である場合、逸脱検出器は、「範囲外」のステータスを出力可能であり、あるいは負荷変数が回帰モデルの動作範囲の外である旨の他の通知を出力可能である。回帰ブロックは、新たな動作範囲について新たな回帰モデルを生成して学習するためのユーザからの入力を待つことができ、あるいは新たな動作範囲についての新たな回帰モデルを自動的に生成して学習することが可能である(例は、後述)。
【0062】
熱交換器異常状態防止モジュール150および回帰ブロック176、180、184、188を、さまざまな方法で変更できることを、当業者であれば理解できるであろう。例えば、SPMブロック172、173を省略でき、負荷変数および被監視変数の生の値を、回帰モデリングに使用される(x,y)点としてブロックへと直接供給し、監視のために逸脱検出器へと直接供給してもよい。別の例として、SPMブロック172、173に加え、あるいはSPMブロック172、173に換えて、他の種類の処理を利用することができる。例えば、プロセス変数データに、SPMブロック172、173に先立ち、あるいはSPMブロック172、173の利用に代えて、フィルタ処理、切り取り、などを加えることができる。
【0063】
さらに、回帰ブロック176、180、184、188を、ただ1つの独立の負荷変数の入力(x)、ただ1つの従属の変数(y)、およびただ1つの予測値(y
P)を有するものとして示したが、これらのブロックが、1つ以上の被監視変数を複数の負荷変数の関数としてモデル化する回帰モデルを含むことができる。例えば、ブロックが、多重線形回帰(MLR)モデル、主成分回帰(PCR)モデル、部分最終二乗(PLS)モデル、リッジ回帰(RR)モデル、可変サブセット選択(VSS)モデル、サポートベクターマシン(SVM)モデル、などを含むことができる。
【0064】
熱交換器異常状態防止モジュール150の全体または一部を、熱交換器64または熱交換器64のデバイスに実装することができる。あくまでも一例として、SPMブロック172、173を、熱交換器64の温度センサまたは温度トランスミッタに実装でき、回帰ブロック176、180、184、188および/または逸脱検出器190、192、194、196を、コントローラ62(
図2)または他の何らかのデバイスに実装することができる。一特定の実施例においては、熱交換器異常状態防止モジュール150を、Fieldbusプロトコルを実装するシステムにおいて使用される機能ブロックなど、機能ブロックとして実装することができる。そのような機能ブロックは、SPMブロック172、173を含んでも、含まなくてもよい。他の実施例においては、熱交換器異常状態防止モジュール150の少なくとも一部のそれぞれを、機能ブロックとして実装してもよい。例えば、ブロック170、172、173を、回帰機能ブロック188の機能ブロックとして実装してもよい。しかしながら、各ブロックの機能を、さまざまな方法で分散させてもよい。例えば、逸脱検出器が対応する回帰モデルを実行して被監視変数の予測(y
P)を供給するのではなく、回帰ブロック176、180、184、188が、逸脱検出器190、192、194、196へと出力(y)を供給しうる。この実施例においては、学習を終えた後の回帰ブロック176、180、184、188を、被監視のR
totおよび/またはΔPの値(y)の予測値(y
P)を、所与の独立の負荷変数(Flow)の入力(x)にもとづいて生成するために使用してもよい。ブロックの出力(y
P)が、逸脱検出器へと供給される。逸脱検出器が、回帰ブロックの出力(y
P)ならびに該当の回帰ブロックへの従属変数の入力(x)を受信する。上述のように、逸脱検出器が、測定値(y)を対応する回帰ブロックによって生成された予測値(y
P)と比較し、従属値(y)が予測値(y
P)から大きく逸脱していないかどうかを判断する。
【0065】
熱交換器異常状態防止モジュール150は、異常状態防止システム35(
図1および2)と通信することが可能である。例えば、熱交換器異常状態防止モジュール150は、ユーザが熱交換器異常状態防止モジュール150を設定できるよう、設定アプリケーション38と通信することが可能である。例えば、SPMブロック172、173、回帰ブロック176、180、184、188、および逸脱検出器190、192、194、196のうちの1つ以上が、ユーザによる設定が可能であって、設定アプリケーション38を介して変更が可能であるパラメータを有することが可能である。
【0066】
さらに、熱交換器異常状態防止モジュール150は、異常状態防止システム35および/またはプロセスプラントの他のシステムへと情報を提供してよい。例えば、逸脱検出器によって生成された逸脱指標を、異常状況をオペレータに知らせるために、異常状態防止システム35および/または警報/警告アプリケーション43へと供給することができる。別の例として、回帰ブロックの学習を終えた後に、回帰ブロックのパラメータを異常状態防止システム35および/またはプロセスプラントの他のシステムへと供給することができ、そのようにすることで、オペレータが回帰ブロックを調べることができ、さらには/あるいは回帰ブロックのパラメータをデータベースに保存することができる。さらに別の例として、熱交換器異常状態防止モジュール150は、(x)、(y)、および/または(y
P)の値を異常状態防止システム35へと供給してもよく、そのようにすることで、オペレータが、例えば逸脱が検出されたときに値を閲覧することができる。
【0067】
図5は、プロセスプラント10の熱交換器64の異常動作を検出するための典型的な方法275のフロー図である。この方法275を、上述のような典型的な熱交換器異常状態防止モジュール150を使用して実行することができる。しかしながら、この方法275を別のシステムによって実行してもよいことを、当業者であれば理解できるであろう。ブロック280において、回帰ブロック176、180、184、188によってもたらされるモデルなどのモデルが学習される。例えば、モデルを、R
totおよび/またはΔPを負荷変数(Flow)の関数としてモデル化すべく設定するために、独立の負荷変数(Flow)ならびに従属のR
totおよび/またはΔP変数Yのデータ組を使用して学習させることができる。モデルは、それぞれが負荷変数の異なる範囲についてR
totおよび/またはΔP変数を負荷変数(Flow)の関数としてモデル化する複数の回帰モデルを含むことができる。
【0068】
ブロック284において、学習済みのモデルが、受信される独立の負荷変数Flow(F
c,h)の値(x)を使用して、従属のR
totおよび/またはΔPの値の予測値(y
P)を生成する。次に、ブロック284において、R
totおよび/またはΔP変数の測定値(y)が、該当の予測値(y
P)と比較され、R
totおよび/またはΔPが予測値から大きく逸脱していないかどうかが判断される。例えば、該当するそれぞれの逸脱検出器190、192、194、196が、回帰ブロックの出力(y
P)を生成または受信し、R
totおよび/またはΔPのそれぞれの値(y)と比較する。R
totおよび/またはΔPの測定値が、予測値(y
P)から大きく逸脱したと判断される場合、ブロック292において、逸脱の指標を生成することが可能である。例えば、熱交換器異常状態防止モジュール150において、逸脱検出器が指標を生成することが可能である。指標は、例えば警報または警告であってよく、あるいは有意な逸脱が検出された旨を知らせる他の任意の種類の信号、フラグ、メッセージ、など(例えば、ステータス=「アップ(Up)」)であってよい。
【0069】
さらに詳しく後述されるとおり、ブロック280を、最初にモデルの学習が行われた後、ならびに従属のR
totおよび/またはΔP変数の予測値(y
P)を生成した後に、繰り返してよい。例えば、モデルの学習を、プロセスの設定点が変更された場合や、独立の負荷変数の値が範囲x
MIN、x
MAXの外になった場合に、やり直すことができる。
【0070】
[回帰モデルの概要]
図6が、
図4の回帰ブロック176、180、184、188によってもたらされるモデルなど、モデルの最初の学習を行うための方法300例のフロー図である。モデルの学習を、さらに後述されるように、LEARNING状態と称してもよい。ブロック304において、独立の負荷変数X(Flow)ならびに従属のR
totおよび/またはΔP変数Yについて、少なくとも適切な数のデータ組(x,y)を、モデルの学習のために受信可能である。上述のように、データ組(x,y)は、被監視変数(R
totおよび/またはΔP)ならびに負荷変数(F
c,h)のデータ、フィルタ処理または他の処理を行った被監視変数および負荷変数のデータ、被監視変数および負荷変数のデータから生成された統計的データ、などを含んでよい。
図4の熱交換器異常状態防止モジュール150においては、モデルが、SPMブロック172、173からデータ組(x,y)を受信しうる。一実施例においては、回帰モデルが、ただ1つの独立変数X(Flow)およびただ1つの従属変数Y(R
totまたはΔP)を入力として取り入れる。さらなる実施の形態においては、回帰モデルが、ただ1つのX(Flow)および複数のY(R
totおよびΔP)を入力として取り入れる。いずれの実施の形態においても、回帰ブロックは、低温側または高温側のいずれかまたは両方について異常状態防止の診断を実行することが可能である。熱交換器の片側について実行される回帰ブロックは、高温側および低温側の両方を取り入れる回帰ブロックに比べ、より少数の機能ブロックを含めばよい。ここで
図7Aを参照すると、グラフ350が、モデルが受信する複数のデータ組(x,y)の例を示しており、モデルの最初の学習が行われているときのLEARNING状態の熱交換器異常状態防止モジュール150を示している。特には、
図7Aのグラフ350は、収集されたデータ組のグループ354を含んでいる。
【0071】
再び
図6を参照すると、ブロック308において、モデルの有効範囲[x
MIN,x
MAX]を生成することが可能である。有効範囲は、モデルが有効である独立の負荷変数Xの範囲を示すことが可能である。例えば、有効範囲は、(x)がx
MIN以上でありかつx
MAX以下である負荷変数Xの値についてのみモデルが有効であることを示すことが可能である。あくまでも一例として、x
MINを、ブロック304において受信したデータ組(x,y)中の負荷変数の最小値として設定でき、x
MAXを、ブロック304において受信したデータ組(x,y)中の負荷変数の最大値として設定できる。再び
図7Aを参照すると、例えば、x
MINを、最も左側のデータ組の負荷変数の値として設定でき、x
MAXを、最も右側のデータ組の負荷変数の値として設定できる。当然ながら、有効範囲の決定は、他の方法でも同様に実行可能である。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、有効範囲を生成することができる。
【0072】
ブロック312において、範囲[x
MIN,x
MAX]についての回帰モデルを、ブロック304において受信したデータ組(x,y)にもとづいて生成することが可能である。さらに後述される例では、MONITORコマンドが発せられた後、または最大数のデータ組が収集された場合に、データ組のグループ354に対応する回帰モデルを生成することが可能である。公知の技法を含むさまざまな技法のうちの任意のいずれかを、回帰モデルを生成するために使用して、さまざまな関数のうちの任意のいずれかを、モデルとして使用してもよい。例えば、考えられるモデルとして、一次方程式、二次方程式、さらに高次の方程式、などが挙げられる。
図7Bのグラフ370は、ブロック304において受信したデータ組(x,y)に重ねられた曲線358を含んでおり、データ組(x,y)をモデル化するためのデータ組のグループ354に対応する回帰モデルを示している。曲線354に対応する回帰モデルは、範囲[x
MIN,x
MAX]において有効である。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、範囲[x
MIN,x
MAX]についての回帰モデルを生成することができる。
【0073】
[動作領域の変化を経てのモデルの利用]
モデルの最初の学習の後で、モデル化の対象のシステムが、別の、しかしながら正常である動作領域へと移動する可能性がある。例えば、設定点が変更される可能性がある。
図8が、モデルを使用して異常状態が生じつつあり、生じており、あるいは生じる可能性があるか否かを判断するための方法であって、モデル化対象のプロセスが別の動作領域へと移動する場合にモデルを更新することが可能である方法400例のフロー図である。この方法400を、
図4の熱交換器異常状態防止モジュール150などの異常状態防止によって実行してもよい。当然ながら、方法400を、別の種類のモジュールによっても実行することができる。方法400を、最初のモデルの生成後に実行してもよい。例えば、
図6の方法300を、最初のモデルを生成するために使用することができる。
【0074】
ブロック404において、データ組(x,y)が受信される。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロックが、例えばSPMブロック172、173からデータ組(x,y)を受信することができる。次いで、ブロック408において、ブロック404において受信されたデータ組(x,y)が有効範囲にあるか否かを判断することが可能である。有効範囲は、モデルが有効である範囲を示すことが可能である。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、ブロック404において受信された負荷変数の値(x)を調べて、有効範囲[x
MIN,x
MAX]の範囲内にあるか否かを判断することができる。ブロック404において受信されたデータ組(x,y)が有効範囲にあると判断される場合、フローはブロック412へと進むことが可能である。
【0075】
ブロック412において、従属の被監視変数YであるR
totおよび/またはΔPのいずれかまたは両方の予測値(y
P)を、モデルを使用して生成してもよい。特には、モデルが、ブロック404において受信された全体のFlow(F
c,h)負荷変数値(x)から、予測されるR
totおよび/またはΔPの値(y
P)を生成する。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、SPMブロック172、173から受信される負荷変数の値(x)から予測値(y
P)を生成する。
【0076】
次いで、ブロック416において、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)を、R
totおよび/またはΔPの予測値(y
P)と比較することが可能である。比較は、さまざまな方法で実行してよい。例えば、差または差の割合を生成することができる。他の種類の比較も同様に使用することができる。ここで
図9Aを参照すると、受信されたデータ組の例が、グラフ350において点358として示されており、対応する予測値(y
P)が、「x」として示されている。
図9Aのグラフ350は、監視(MONITORING)状態における熱交換器異常状態防止モジュール150の動作を示している。モデルが、曲線354によって示されている回帰モデルを使用して予測(y
P)を生成する。
図9Aに示されているように、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)とR
totおよび/またはΔPの予測値(y
P)との間の差は、-1.754%であると計算される。次に、
図9Bを参照すると、受信されたデータ組の別の例が、グラフ350において点362として示されており、対応するR
totおよび/またはΔPの予測値(y
P)が、「x」として示されている。
図9Bに示されているように、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)と予測値(y
P)との間の差は、-19.298%であると計算される。
図4の熱交換器異常状態防止モジュール150においては、R
tot,c、R
tot,h、ΔP
c、およびΔP
hのための該当の逸脱検出器190、192、194、196が、比較を実行可能である。
【0077】
再び
図8を参照すると、ブロック420において、ブロック416の比較にもとづいて、ブロック404において受信されたR
totおよび/またはΔPの値(y)がR
totおよび/またはΔPの予測値(y
P)から大きく逸脱しているか否かを判定することが可能である。ブロック420における判定は、さまざまな方法で実行可能であり、ブロック416の比較がどのように実行されたかに依存することが可能である。例えば、ブロック412においてR
totおよび/またはΔPの値が生成された場合には、この差の値が何らかのしきい値を超えるか否かを判定可能である。しきい値は、あらかじめ定められる値または設定可能な値であってよい。また、しきい値は、一定であっても、変化してもよい。例えば、しきい値を、ブロック404において受信された独立の負荷変数(Flow)値(x)の値に応じて変化させることが可能である。別の例として、ブロック412において差の割合の値が生成された場合には、この割合の値が何らかのしきい値割合(例えば、R
totおよび/またはΔPの予測値(y
P)の特定の割合)を超えるか否かを判定することが可能である。さらに別の例として、2つまたは他の何らかの数の連続する比較がしきい値を超える場合に限り、大きな逸脱と判定することが可能である。また別の例として、測定値(y)が予測による変数値(y
P)の特定の数の標準偏差を超えて予測値(y
P)を超える場合に限り、大きな逸脱と判定することが可能である。標準偏差を、負荷変数Xの関数としてモデル化して、あるいは学習データのうちの残りの変数から計算してよい。R
totおよび/またはΔPの値のそれぞれについて、共通または異なるしきい値を使用してよい。
【0078】
再び
図9Aを参照すると、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)と予測値(y
P)との間の差は、-1.754%である。例えば、10%というしきい値が逸脱が大きいか否かの判定に使用される場合、
図9Aに示されている差の絶対値は、このしきい値を下回っている。他方で、再び
図9Bを参照すると、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)とR
totおよび/またはΔPの予測値(y
P)との間の差は、-19.298%である。
図9Bに示した差の絶対値は、しきい値10%を上回っており、したがって後述されるとおり異常状況の指標を生成することができる。
図4の熱交換器異常状態防止モジュール150においては、逸脱検出器190、192、194、196が、ブロック420を実行してよい。
【0079】
一般に、R
totおよび/またはΔPの測定値(y)がR
totおよび/またはΔPの予測値(y
P)から大きく逸脱したか否かの判定は、公知の技法を含むさまざまな技法を使用して実行可能である。一実施例においては、R
totおよび/またはΔPの測定値(y)がR
totおよび/またはΔPの予測値(y
P)から大きく逸脱したか否かの判定は、(y)および(y
P)の現在の値を分析することを含んでもよい。例えば、R
totおよび/またはΔPの測定値(y)を、R
totおよび/またはΔPの予測値(y
P)から減算することができ、あるいはこの反対の減算を行うことができ、結果をしきい値と比較して、しきい値を超えるか否かを判断することが可能である。任意で、(y)および(y
P)の過去の値の分析をさらに含んでもよい。さらに、(y)または(y)と(y
P)との間の差を、1つ以上のしきい値と比較することを含んでもよい。1つ以上のしきい値のそれぞれは、固定であっても、変化してもよい。例えば、しきい値を、負荷変数Xまたは他の何らかの変数の値に応じて変化させることが可能である。異なるR
totおよび/またはΔPの値について、異なるしきい値を使用してもよい。2006年7月25日に出願され、上記参照によって援用した「Methods And Systems For Detecting Deviation Of A Process Variable From Expected Values」と題される米国特許出願第11/492,347号が、プロセス変数が期待値から大きく逸脱したか否かを検出するためのシステムおよび方法の例を記載しており、これらのシステムおよび方法の任意のいずれかを、任意で利用することが可能である。R
totおよび/またはΔPの測定値(y)が予測値(y
P)から大きく逸脱したか否かを判定する他の多数の方法を、当業者であれば理解できるであろう。さらに、ブロック416および420を結合させることが可能である。
【0080】
(y)を(y
P)と比較(ブロック416)する際に使用される基準および/または(y)が(y
P)から大きく逸脱しているか否かを判定(ブロック420)する際に使用される基準の一部またはすべては、設定アプリケーション38(
図1および2)を介してユーザによって設定可能であってよい。例えば、比較の種類(例えば、差の生成、差の絶対値の生成、差の割合の生成、など)が、設定可能であってよい。また、逸脱が大きいか否かの判定に使用されるしきい値も、オペレータまたは他のアルゴリズムによって設定可能であってよい。あるいは、そのような基準が、容易には設定可能でなくてもよい。
【0081】
再び
図8を参照すると、ブロック404において受信されたR
totおよび/またはΔPの測定値(y)が、予測値(y
P)から大きく逸脱してはいないと判定される場合、フローはブロック404へと戻り、次のデータ組(x,y)を受信することが可能である。一方で、R
totおよび/またはΔPの値(y)が、予測値(y
P)から大きく逸脱していると判定される場合には、フローはブロック424へと進むことが可能である。ブロック424において、逸脱の指標を生成することが可能である。指標は、例えば警報または警告であってよい。生成される指標は、例えばブロック404において受信された値(y)が予想よりも大きいのか、あるいは小さいのかなど、さらなる情報を含むことが可能である。
図9Aを参照すると、ブロック404において受信されたR
totおよび/またはΔPの値(y)と予測値(y
P)との間の差が-1.754%であり、しきい値10%を下回っているため、指標は生成されない。他方で、
図9Bを参照すると、ブロック404において受信された(y)と予測値(y
P)との間の差が-19.298%であり、しきい値10%を上回っている。したがって、指標が生成される。
図4の熱交換器異常状態防止モジュール150においては、大きな逸脱の変数R
tot,c、R
tot,h、ΔP
c、またはΔP
hに該当する逸脱検出器190、192、194、196が、指標を生成することが可能である。
【0082】
再び
図8のブロック408を参照すると、ブロック404において受信されたデータ組(x,y)が有効範囲にないと判断される場合、フローはブロック428へと進むことが可能である。しかしながら、熱交換器異常状態防止モジュール150によって生成されたモデルは、通常は、モデルの学習を行ったデータの範囲について有効である。負荷変数Xが、曲線354によって示されるとおりのモデルの限界の外側になると、ステータスが範囲外であり、熱交換器異常状態防止モジュール150は、異常状況を検出できないと考えられる。例えば、
図9Cにおいては、熱交換器異常状態防止モジュール150が、有効範囲にない、点370として示されるデータ組を受信している。これにより、熱交換器異常状態防止モジュール150が、範囲外(OUT OF RANGE)状態へと移行する可能性があり、その場合には、熱交換器異常状態防止モジュール150は、オペレータの指令に応答し、あるいは自動的に、再び学習(LEARNING)状態へと移行することが可能である。このように、最初の学習期間の後で、プロセスが別の動作領域へと移動する場合に、熱交換器異常状態防止モジュール150は、元の動作範囲のためのモデルを維持しつつ、新たな動作範囲のための新たなモデルを学習することが依然として可能である。
【0083】
ここで、
図10Aを参照すると、熱交換器異常状態防止モジュール150が再び学習(LEARNING)状態へと移行するときに、有効範囲にない受信データ組370をさらに示すグラフを示している。特には、
図10Aのグラフは、収集されたデータ組のグループ374を含んでいる。再び
図8を参照すると、ブロック428において、ブロック404において受信されたデータ組(x,y)を、後の時点でモデルの学習に使用してもよいデータ組の適切なグループへと加えることが可能である。
図10Aを参照すると、データ組370が、Xの値がx
MINよりも小さいデータ組に対応するデータ組のグループ374へと追加されている。例えば、ブロック404において受信された負荷変数Xの値がx
MIN未満である場合、ブロック404において受信されたデータ組(x,y)を、負荷変数Xの値がx
MIN未満である他の受信データ組に対応するデータグループへと追加することが可能である。同様に、ブロック404において受信された負荷変数値Xの値がx
MAXよりも大きい場合、ブロック404において受信されたデータ組(x,y)を、負荷変数値の値がx
MAXよりも大きい他の受信データ組に対応するデータグループへと追加することが可能である。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188のいずれかが、ブロック428を実行してよい。
【0084】
次いで、ブロック432において、ブロック428でデータ組の追加が行われたデータグループに、データ組のグループ374に対応する回帰モデルを生成するために十分なデータ組が存在するか否かが判断される。この判断は、さまざまな技法を使用して実行可能である。例えば、グループ内のデータ組の数を最少数と比較することができ、グループ内のデータ組の数が、少なくともこの最少数である場合に、回帰モデルを生成するための十分なデータ組が存在すると判断することが可能である。最少数は、当業者にとって公知の技法を含むさまざまな技法を使用して選択してよい。回帰モデルを生成するために十分なデータ組が存在すると判断される場合、
図14を参照して後述されるように、ブロック436においてモデルを更新することが可能である。一方、回帰モデルを生成するための十分なデータ組が存在しないと判断される場合には、フローはブロック404へと戻り、次のデータ組(x,y)を受信することが可能である。別の例では、オペレータが監視(MONITOR)コマンドを発して、回帰モデルの生成を生じさせてもよい。
【0085】
図11は、現在の有効範囲[x
MIN,x
MAX]の外側のデータ組のための回帰モデルを生成するために、グループ内に十分なデータ組が存在すると判断された後にモデルを更新するための方法450の例のフロー図である。ブロック454において、新たな回帰モデルの範囲[x’
MIN,x’
MAX]を決定することが可能である。この有効範囲は、この新たな回帰モデルが有効である独立の負荷変数Xの範囲を示すことが可能である。例えば、有効範囲は、(x)がx’
MIN以上でありかつx’
MAX以下である負荷変数値(x)についてのみモデルが有効であることを示すことが可能である。あくまでも一例として、x’
MINを、データ組(x,y)のグループの負荷変数Xの最小値として設定でき、x’
MAXを、データ組(x,y)のグループの負荷変数Xの最大値として設定できる。再び
図10Aを参照すると、例えば、x’
MINを、グループ374の最も左側のデータ組の負荷変数の値(x)となるように設定でき、x’
MAXを、グループ374の最も右側のデータ組の負荷変数の値(x)として設定できる。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、有効範囲を生成することができる。
【0086】
ブロック460において、範囲[x’
MIN,x’
MAX]についての回帰モデルを、グループ内のデータ組(x,y)にもとづいて生成することが可能である。公知の技法を含むさまざまな技法のうちの任意のいずれかを、回帰モデルを生成するために使用してもよく、さまざまな関数のうちの任意のいずれかを、モデルとして使用することができる。例えば、モデルは、一次方程式、二次方程式、などを含むことができる。
図10Bにおいては、グループ374に重ねられた曲線378が、グループ374のデータ組をモデル化するために生成された回帰モデルを示している。曲線378に対応する回帰モデルは、範囲[x’
MIN,x’
MAX]について有効であり、曲線354に対応する回帰モデルは、範囲[x
MIN,x
MAX]について有効である。
図4の熱交換器異常状態防止モジュール150においては、回帰ブロック176、180、184、188が、範囲[x’
MIN,x’
MAX]についての回帰モデルを生成することができる。
【0087】
説明を容易にするために、範囲[x
MIN,x
MAX]を、以下では[x
MIN_1,x
MAX_1]と称し、範囲[x’
MIN,x’
MAX]を、以下では[x
MIN_2,x
MAX_2]と称する。さらに、範囲[x
MIN_1,x
MAX_1]に対応する回帰モデルを、f
1(x)と称し、範囲[x
MIN_2,x
MAX_2]に対応する回帰モデルを、f
2(x)と称する。したがって、ここではモデルを、
【数12】
(式12)
と表わすことが可能である。
【0088】
再び
図11を参照すると、ブロック464において、曲線354および378の間の動作領域のために、範囲[x
MIN_1,x
MAX_1]および[x
MIN_2,x
MAX_2]に対応する回帰モデルの間に、補間モデルを生成することが可能である。後述される補間モデルは、線形関数を含んでいるが、他の実施例においては、二次関数などの他の種類の関数を、使用することができる。x
MAX_1がx
MIN_2よりも小さい場合には、補間モデルを
【数13】
(式13)
として計算してよい。
【0089】
同様に、x
MAX_2がx
MIN_1よりも小さい場合には、補間モデルを
【数14】
(式14)
として計算してよい。
【0090】
したがって、ここではモデルを、x
MAX_1がx
MIN_2よりも小さい場合には、
【数15】
(式15)
と表わすことが可能である。
【0091】
x
MAX_2がx
MIN_1よりも小さい場合には、モデルを、
【数16】
(式16)
と表わすことが可能である。
【0092】
式12、15、および16から分かるように、モデルは、複数の回帰モデルを含むことが可能である。特には、第1の回帰モデル(すなわち、f
1(x))を、第1の動作領域(すなわち、x
MIN_1≦x≦x
Max_1)の従属のR
totおよび/またはΔP変数Yをモデル化するために使用してよく、第2の回帰モデル(すなわち、f
2(x))を、第2の動作領域(すなわち、x
MIN_2≦x≦x
Max_2)の従属のR
totおよび/またはΔP変数Yをモデル化するために使用してよい。さらには、式15および16から分かるように、モデルは、上記の回帰モデルに対応する動作領域の間の従属のR
totおよび/またはΔP変数Yをモデル化するための補間モデルをさらに含むことが可能である。
【0093】
再び
図11を参照すると、ブロック468において、有効範囲を更新することが可能である。例えば、x
MAX_1がx
MIN_2よりも小さい場合に、x
MINをx
MIN_1に設定して、x
MAXをx
MAX_2に設定してよい。同様に、x
MAX_2がx
MIN_1よりも小さい場合には、x
MINをx
MIN_2に設定して、x
MAXをx
MAX_1に設定してよい。
図10Cが、新たな有効範囲を有する新たなモデルを示している。
図8および11を参照し、モデルを、方法450などの方法を使用して複数回更新することが可能である。
図10Cから見られるように、元のモデルが、R
totおよび/またはΔP変数Yの「正常」値を表わしているため、元のモデルが、元の動作範囲について保持されている。そうでないならば、元のモデルが絶えず更新される場合に、モデルが不具合の状態へと更新されてしまい、異常状態を検出できない可能性がある。プロセスが新たな動作領域へと移動するとき、プロセスを、新たなモデルを生成するために、依然として正常状態にあると仮定することが可能であり、新たなモデルを、新たな動作領域において生じるシステムのさらなる異常状態を検出するために使用することが可能である。このように、熱交換器64のモデルを、プロセスモデルが別の動作領域へと移動するにつれて無制限に拡張することが可能である。
【0094】
異常状態防止システム35(
図1および2)が、例えば
図7A、7B、9A、9B、9C、10A、10B、および10Cに示したグラフの一部またはすべてと同様のグラフを、表示装置上に表示させることが可能である。例えば、熱交換器異常状態防止モジュール150が、例えば異常状態防止システム35またはデータベースへとモデル基準データを提供する場合、異常状態防止システム35は、このデータを使用して、どのように回帰ブロック176、180、184、188が従属のR
totおよび/またはΔP変数Yを独立のFlow(F
c,h)負荷変数Xの関数としてモデル化しているのかを示す表示を生成することが可能である。例えば、表示は、
図7A、7B、および10Cのグラフのうちの1つ以上と同様のグラフを含むことが可能である。任意で、熱交換器異常状態防止モジュール150は、例えば異常状態防止システム35またはデータベースへと、回帰ブロック176、180、184、188を生成するために使用したデータ組の一部またはすべてを提供することも可能である。この場合、異常状態防止システム35は、このデータを使用して、
図7A、7B、10A、10Bのグラフのうちの1つ以上と同様のグラフを有する表示を生成することが可能である。任意で、さらに熱交換器異常状態防止モジュール150は、例えば異常状態防止システム35またはデータベースに、監視段階において熱交換器異常状態防止モジュール150が評価しているデータ組の一部またはすべてを提供することが可能である。さらに、熱交換器異常状態防止モジュール150は、例えば異常状態防止システム35またはデータベースへと、データ組の一部またはすべてについての比較データを提供することが可能である。この場合、あくまでも一例として、異常状態防止システム35が、このデータを使用して、
図7Aおよび7Bのグラフのうちの1つ以上に類似したグラフを有する表示を生成することができる。
【0095】
[熱交換器異常状態防止モジュールの手動制御]
図6、8、および11に関して説明した異常状態防止モジュールにおいては、モデルが、特定の動作範囲に十分なデータ組が得られたときに、自動的に自らを更新することができる。しかしながら、そのような更新が、人間のオペレータが許可するまで行われないことが望まれる場合もありうる。さらには、たとえ受信されたデータ組が有効範囲にあっても、人間のオペレータがモデルの更新を生じさせることができることが望まれる場合もありうる。
【0096】
図12は、
図4の熱交換器異常状態防止モジュール150などの異常状態防止モジュールの選択的動作に対応する状態移行
図550の例である。状態
図550に対応する動作が、人間のオペレータにとって、熱交換器異常状態防止モジュール150のより広い制御を可能にする。例えば、さらに詳しく後述されるように、オペレータが、熱交換器異常状態防止モジュール150のモデルを強制的に学習(LEARNING)状態554へと移行させたい場合に、熱交換器異常状態防止モジュール150へと学習(LEARN)コマンドを送信することが可能である。一般に、さらに詳しく後述される学習(LEARNING)状態554において、熱交換器異常状態防止モジュール150は、回帰モデルを生成するためのデータ組を取得する。同様に、オペレータは、熱交換器異常状態防止モジュール150が回帰モデルを生成して、到来するデータ組の監視を開始することを望む場合に、熱交換器異常状態防止モジュール150へと監視(MONITOR)コマンドを送信することが可能である。一般に、監視(MONITOR)コマンドに応答して、熱交換器異常状態防止モジュール150は、監視(MONITORING)状態558へと移行することが可能である。
【0097】
熱交換器異常状態防止モジュール150の初期状態は、例えば未学習(UNTRAINED)状態560であってよい。熱交換器異常状態防止モジュール150は、学習(LEARN)コマンドを受信したときに、未学習状態560から学習(LEARNING)状態554へと移行することが可能である。監視(MONITOR)コマンドが受信されたとき、熱交換器異常状態防止モジュール150は、未学習状態560にとどまることが可能である。任意で、オペレータに熱交換器異常状態防止モジュール150が未だ学習をしていない旨を知らせるための通知を、表示装置に表示してよい。
【0098】
範囲外(OUT OF RANGE)状態562においては、受信される各データ組が、有効範囲にあるか否かを判断するために分析されうる。受信したデータ組が、有効範囲にない場合、熱交換器異常状態防止モジュールは、範囲外(OUT OF RANGE)状態562にとどまることが可能である。一方、受信したデータ組が有効範囲の範囲内である場合には、熱交換器異常状態防止モジュール150は、監視(MONITORING)状態558へと移行することが可能である。さらに、学習(LEARN)コマンドが受信された場合に、熱交換器異常状態防止モジュール150は、学習(LEARNING)状態554へと移行することが可能である。
【0099】
学習(LEARNING)状態554において、熱交換器異常状態防止モジュール150は、データ組を収集することができ、収集したデータ組に対応する1つ以上の動作領域に回帰モデルを生成することが可能である。さらに、熱交換器異常状態防止モジュール150は、最大数のデータ組が受信されたか否かを任意でチェックすることが可能である。最大数は、例えば熱交換器異常状態防止モジュール150にとって利用可能な記憶装置によって支配されうる。したがって、最大数のデータ組が受信された場合、それは、例えば熱交換器異常状態防止モジュール150がデータ組の保存に利用できるメモリを欠いており、あるいは欠く危険がある旨を示すことが可能である。一般に、最大数のデータ組が受信されたと判断された場合、または監視(MONITOR)コマンドが受信された場合に、熱交換器異常状態防止モジュール150のモデルを更新することができ、熱交換器異常状態防止モジュール150が、監視(MONITORING)状態558へと移行することが可能である。
【0100】
図13は、学習(LEARNING)状態554における動作の方法600の例のフロー図である。ブロック604において、監視(MONITOR)コマンドが受信されたか否かを判定可能である。監視(MONITOR)コマンドが受信された場合、フローはブロック608へと進むことが可能である。ブロック608において、回帰モデルを生成するための最少数のデータ組が収集されたか否かを判断可能である。最少数のデータ組がまだ収集されていない場合、熱交換器異常状態防止モジュール150は、学習(LEARNING)状態554にとどまることが可能である。任意で、熱交換器異常状態防止モジュール150が最少数のデータ組が未だ収集されていないために依然として学習(LEARNING)状態にある旨をオペレータに知らせるために、通知を表示装置に表示可能である。
【0101】
他方で、最少数のデータ組が収集された場合には、フローはブロック612へと進むことが可能である。ブロック612において、熱交換器異常状態防止モジュール150のモデルを、
図14を参照してさらに詳しく説明されるとおり、更新することが可能である。次いで、ブロック616において、熱交換器異常状態防止モジュール150は、監視(MONITORING)状態558へと移行することが可能である。
【0102】
ブロック604において監視(MONITOR)コマンドが受信されていないと判断された場合には、フローはブロック620へと進むことが可能であり、ブロック620において、新たなデータ組を受信することが可能である。次に、ブロック624において、受信したデータ組を、適切な学習グループへと追加可能である。適切な学習グループを、例えばデータセットの負荷変数値にもとづいて判断可能である。説明のための例として、負荷変数の値がモデルの有効範囲のx
MINよりも小さい場合には、そのデータ組を、第1の学習グループへと追加することができる。負荷変数の値がモデルの有効範囲のx
MAXよりも大きい場合には、そのデータ組を、第2の学習グループへと追加することができる。
【0103】
ブロック628において、最大数のデータ組が受信されたか否かを判断することが可能である。最大数が受信された場合、フローはブロック612へと進むことが可能であり、熱交換器異常状態防止モジュール150は、最終的に、上述のとおり監視(MONITORING)状態558へと移行する。他方で、最大数がまだ受信されていない場合には、熱交換器異常状態防止モジュール150は、学習(LEARNING)状態554のままであろう。方法600をさまざまな様式で変更できることを、当業者であれば理解できるであろう。あくまでも一例として、ブロック628において最大数のデータ組が受信されたと判断された場合に、熱交換器異常状態防止モジュール150は、単にデータ組の学習グループへの追加を止めるだけでよい。これに加え、あるいはこれに代えて、熱交換器異常状態防止モジュール150は、モデル更新の許可を与えるようにユーザを促してもよい。この実施例では、たとえ最大数のデータ組が取得されても、ユーザが更新を許可するまでは、モデルは更新されない。
【0104】
図14は、
図13のブロック612を実現するために使用可能な方法650の例のフロー図である。ブロック654において、範囲[x’
MIN,x’
MAX]を、新たに収集されたデータ組を使用して生成される回帰モデルについて決定してよい。範囲[x’
MIN,x’
MAX]を、公知の技法を含むさまざまな技法を使用して実現してよい。ブロック658において、範囲[x’
MIN,x’
MAX]に対応する回帰モデルを、
図13に関して説明したとおりに収集されて学習グループへと追加されたデータ組の一部またはすべてを使用して生成可能である。回帰モデルは、公知の技法を含む種々の技法を使用して生成可能である。
【0105】
ブロック662において、これがモデルの最初の学習である否かを判断することが可能である。あくまでも一例として、有効範囲[x
MIN,x
MAX]が何らかの所定の範囲である場合に、モデルが未学習である旨を示していると判断することが可能である。モデルの最初の学習である場合、フローはブロック665へと進むことが可能であり、ブロック665において、有効範囲[x
MIN,x
MAX]が、ブロック654において定められた範囲へと設定される。
【0106】
ブロック662において、モデルの最初の学習ではないと判断される場合には、フローはブロック670へと進むことが可能である。ブロック670において、範囲[x’
MIN,x’
MAX]が有効範囲[x
MIN,x
MAX]に重なっているか否かを判断することが可能である。重なり合いが存在する場合、フローはブロック674へと進むことが可能であり、ブロック674において、1つ以上の他の回帰モデルまたは補間モデルの範囲を、重なり合いに照らして更新することが可能である。任意で、他の回帰モデルまたは補間モデルのうちの1つの範囲が、完全に範囲[x’
MIN,x’
MAX]の範囲内である場合、この他の回帰モデルまたは補間モデルを破棄してよい。これは、例えばメモリリソースを節約するための役に立つであろう。ブロック678において、必要であれば、有効範囲を更新してよい。例えば、x’
MINが有効範囲のx
MINよりも小さい場合、有効範囲のx
MINを、x’
MINに設定することが可能である。
【0107】
ブロック670において、範囲[x’
MIN,x’
MAX]が有効範囲[x
MIN,x
MAX]に重なっていないと判断される場合には、フローはブロック682へと進むことが可能である。ブロック682において、必要であれば、補間モデルを生成可能である。ブロック686において、有効範囲を更新することが可能である。ブロック682および686は、
図11のブロック464および468に関して説明した様式と同様の様式で、実行可能である。
【0108】
方法650をさまざまな様式で変更できることを、当業者であれば理解できるであろう。あくまでも一例として、範囲[x’
MIN,x’
MAX]が有効範囲[x
MIN,x
MAX]に重なっていると判断される場合に、範囲[x’
MIN,x’
MAX]ならびに他の回帰モデルおよび補間モデルの動作範囲のうちの1つ以上を、これらの範囲のいずれもが重なり合わないように変更することができる。
【0109】
図15は、監視(MONITORING)状態558における動作の方法700の例のフロー図である。ブロック704において、学習(LEARN)コマンドが受信されたか否かを判断することが可能である。学習(LEARN)コマンドが受信された場合、フローはブロック708へと進むことが可能である。ブロック708において、熱交換器異常状態防止モジュール150は、学習(LEARNING)状態554へと移行することが可能である。学習(LEARN)コマンドが受信されていない場合、フローはブロック712へと進むことが可能である。
【0110】
ブロック712において、上述のようにデータ組(x,y)を受信可能である。次いで、ブロック716において、受信したデータ組(x,y)が有効範囲[x
MIN,x
MAX]の範囲内であるか否かを判断することが可能である。データ組が有効範囲[x
MIN,x
MAX]の外側である場合、フローはブロック720へと進むことが可能であり、ブロック720において、熱交換器異常状態防止モジュール150は、範囲外(OUT OF RANGE)状態562へと移行することが可能である。一方、ブロック716においてデータ組が有効範囲[x
MIN,x
MAX]の範囲内であると判断される場合には、フローは、ブロック724、728、および732へと進むことが可能である。ブロック724、728、および732は、
図5に関して上述したように、それぞれブロック284、288、および292と同様に実行可能である。
【0111】
図12の状態移行
図550、
図13のフロー
図600、
図14のフロー
図650、および
図15のフロー
図700のさらなる説明を容易にするために、
図7A、7B、9A、9B、9C、10A、10B、10Cが再び参照される。
図7Aは、モデルの最初の学習時の学習(LEARNING)状態554の熱交換器異常状態防止モジュール150を説明するグラフ350を示している。特に、
図7Aのグラフ350は、収集されたデータ組のグループ354を含んでいる。オペレータが監視(MONITOR)コマンドを発したとき、または最大数のデータ組が収集された場合に、データ組のグループ354に対応する回帰モデルを生成することが可能である。
図7Bのグラフ350は、データ組のグループ354に対応する回帰モデルを表わす曲線358を含んでいる。その後に、熱交換器異常状態防止モジュール150は、監視(MONITORING)状態558へと移行することが可能である。
【0112】
図9Aのグラフ350は、監視(MONITORING)状態558における熱交換器異常状態防止モジュール150の動作を示している。特に、熱交換器異常状態防止モジュール150が、有効範囲の範囲内のデータ組358を受信している。モデルが、曲線354によって示される回帰モデルを使用して、予測y
P(
図9Aのグラフでは「x」によって示されている)を生成する。
図9Cにおいては、熱交換器異常状態防止モジュール150は、有効範囲にないデータ組370を受信している。これは、熱交換器異常状態防止モジュール150の範囲外(OUT OF RANGE)状態562への移行を生じさせるであろう。
【0113】
その後に、オペレータが学習(LEARN)コマンドを発すると、熱交換器異常状態防止モジュール150は、再び学習(LEARNING)状態554へと移行する。
図10Aのグラフ220が、再び学習(LEARNING)状態554へと戻った後の熱交換器異常状態防止モジュール150の動作を示している。特に、
図10Aのグラフは、収集されたデータ組のグループ374を含んでいる。オペレータが監視(MONITOR)コマンドを発したとき、または最大数のデータ組が収集された場合に、データ組のグループ374に対応する回帰モデルを生成することが可能である。
図10Bのグラフ350は、データ組のグループ374に対応する回帰モデルを表わす曲線378を含んでいる。次に、曲線354および378の間の動作領域について、補間モデルを生成することが可能である。
【0114】
次いで、熱交換器異常状態防止モジュール150は、再び監視(MONITORING)状態558へと移行することが可能である。
図13Cのグラフ350が、再び監視(MONITORING)状態558で動作している熱交換器異常状態防止モジュール150を示している。特に、熱交換器異常状態防止モジュール150が、有効範囲の範囲内のデータ組382を受信している。モデルが、
図10Bの曲線378によって示される回帰モデルを使用して、予測y
P(
図13Cのグラフでは「x」によって示されている)を生成する。
【0115】
オペレータが再び学習(LEARN)コマンドを発すると、熱交換器異常状態防止モジュール150は、再び学習(LEARNING)状態554へと移行し、学習(LEARNING)状態554において、さらなるデータ組のグループが収集される。オペレータが監視(MONITOR)コマンドを発したとき、または最大数のデータ組が収集された場合に、データ組のグループに対応する回帰モデルを生成することが可能である。残りの回帰モデルの範囲を更新することが可能である。例えば、曲線354および378に対応する回帰モデルの範囲を、この2者の間への回帰モデルの追加の結果として、延長または短縮してもよい。さらに、曲線354および378に対応する回帰モデルの間の動作領域についての補間モデルを、曲線354、378の間の曲線に対応する新たな回帰モデルによって上書きすることができる。したがって、所望であれば、補間モデルを、熱交換器異常状態防止モジュール150に関するメモリから削除可能である。監視(MONITORING)状態558への移行の後で、熱交換器異常状態防止モジュール150は、上述のとおりに動作することが可能である。
【0116】
[負荷追従アプリケーションにおける異常状態防止のための簡略化アルゴリズムを使用する熱交換器の異常動作の検出]
図4に関して上述した熱交換器異常状態防止モジュール150は、異常状況が時間とともにゆっくりと進行する状態に適しうる。例えば、汚損の可能性が低い流体(例えば、水)が熱交換器64において使用される場合、一方または両方の流体からの残留物質が、数日または数週間の経過につれて徐々に熱交換器の内壁に蓄積する可能性がある。残留物質の蓄積を検出するために使用しうる測定値を、例えば、1〜10秒ごとに得ることが可能である。この場合、5分間のサンプルウインドウが、30から300のサンプルを含んでよく、これらのサンプルから、負荷変数の平均μ
L、被監視変数の平均μ
M、または被監視変数の標準偏差σ
Mなどといった適切な統計的特徴が計算される。5分間というサンプルウインドウで、ちょうど72個の平均値にもとづいて回帰曲線を計算するために、6時間を要すると考えられる(72[サンプル数]×5[分/サンプル]×1[時間]/60[分]=6[時間])。回帰モデルを生成するための6時間という学習期間は、異常状態が発生に6時間よりもはるかに長い時間を要する場合、問題ではない。しかしながら、他の状況においては、異常状態がはるかに短い時間枠において生じうる。例えば、熱交換器64に使用される流体が、急速な残留物質の蓄積を特に生じやすい場合である。そのような状態においては、6時間または他の同等な長さの学習期間は、まったく適切でない可能性がある。
【0117】
学習期間がはるかに短くて済む別の熱交換器異常状態防止モジュール800が、
図16に示されている。この代案の熱交換器異常状態防止モジュール800は、本出願と同日に出願された「SIMPLIFIED ALGORITHM ABNORMAL SITUATION PREVENTION IN LOAD FOLLOWING APPLICATIONS INCLUDING PLUGGED LINE DIAGNOSTICS IN A DYNAMIC PROCESS」と題される米国特許出願第
号(代理人整理番号第30203/42625号)に詳しく記載されている。上述の特許出願は、その全体が、ここでの参照によって本明細書に組み込まれる。この代案の熱交換器異常状態防止モジュール800は、診断ブロック804、808、812、816を除き、上述の熱交換器異常状態防止モジュール150の特徴の多くを含んでいる。熱交換器異常状態防止モジュール150と同様に、この代案の熱交換器異常状態防止モジュール800においても、負荷変数160、162を負荷変数SPMブロック172へと入力することが可能である。負荷変数SPMブロック172は、特定のサンプルウインドウにおいて受信された負荷変数値について、平均μ
L、標準偏差σ
L、または他の何らかの統計的特徴を計算してもよい。複数の被監視変数152、154、156、158、160、および162を、R
tot,cおよびR
tot,hを計算するために使用してよく、R
tot,cおよびR
tot,hを、被監視変数164および166とともに、被監視変数SPMブロック173へと入力してもよい。被監視変数SPMブロック173は、前記特定のサンプルウインドウにおいて受信された被監視変数値について、平均μ
M、標準偏差σ
M、または他の何らかの統計的特徴を計算してもよい。負荷変数SPMブロック172から出力される統計的特徴の値が、独立変数xとして診断ブロック804、808、812、816へと入力されてもよい。被監視変数SPMブロック173から出力される統計的特徴の値が、従属変数yとして診断ブロック804、808、812、816へと入力される。診断ブロック804、808、812、816は、従属変数yの実際の測定値と従属変数の予測値y
Pとの間の差Δyを計算してもよい。診断ブロック804、808、812、816は、異常状態が存在するか否かを判断して、適切なステータス信号175、179、183、187を生成することができ、ステータス信号175、179、183、187を、コントローラまたは他のプロセス制御装置へと送信することが可能である。
【0118】
診断ブロック804、808、812、816の例の詳細なブロック図が、
図17に示されている。ただ1つの診断ブロック804が示されているが、以下の説明は、診断ブロック808、812、および816についても等しく当てはまる。負荷変数SPMブロック172の出力を、独立変数x 820として診断ブロック804へと入力して、第2のSPMブロック173の出力を、従属変数y 824として診断ブロック804へと入力してもよい。SPMブロック172、173は、共通のサンプルウインドウについて動作可能であり、したがって診断ブロック804は、対応する(x,y)値を実質的に同時に受信することが可能である。診断ブロック804は、学習機能828および監視機能832を実行することが可能である。さらに、診断ブロック804は、選択された(x,y)データ点のアレイ836を保持することが可能である。(x,y)値の新たな組がSPMブロック172、173から受信されたとき、判定ブロック840において、学習機能828または監視機能832を実行すべきであるか否か、判定を行うことが可能である。判定ブロック840において、新たなデータ組の独立変数xの値を、アレイ836に保存されたデータの独立変数xの値と比較することができる。新たな(x,y)データ組の独立変数xの値が、すでに受信されてアレイに保存されている独立変数の値の範囲の外側である場合、すなわちx<x
minまたはx>x
maxであり、ここで、x
minが、アレイ836に保存されている独立変数xの最小値であり、x
maxが、アレイ836に保存されている独立変数xの最大値である場合、学習機能172を実行することが可能である。新たな(x,y)データ組の独立変数xの値が、すでに受信されてアレイに保存されている独立変数xの値の範囲内である場合、すなわちx
min≦x≦x
maxである場合、監視機能832を実行することが可能である。学習機能832が実行されるとき、新たな(x,y)データ組を、アレイ836へと加えることが可能である。x<x
minである場合、新たなデータ組を、アレイ836の上部または前部へと追加することが可能であり、アレイ836に保存されている既存のデータ組のインデックス値を、1だけ増加させることが可能である。x>x
maxである場合には、新たなデータ組を、アレイ836の下部または後部へと追加することが可能であり、既存のデータ組のインデックス値は不変のままにされる。
【0119】
アレイ836が、従属変数yを受信された独立変数xの値の関数としてモデル化する関数を定めることが可能である。アレイによって定められる関数は、アレイ836に保存された(x,y)データ組によって定められるデータ点の間を延びる複数の線形セグメントを含むことが可能である。所与のxの値について、対応するyの値を、以下のように関数を使用して予測することが可能である。受信されたxの値が、アレイ836に保存されている値x
iのうちの1つに等しい場合には、従属変数の予測値y
Pは、単にアレイ836に保存されている該当の値y
iに等しい。しかしながら、独立変数の値xが、アレイ836に保存されている値x
iのうちの1つに正確に一致しない場合には、従属変数の予測値y
Pを、アレイ836の1対の(x,y)データ組(受信された独立変数xの値に最も近く、かつ受信された独立変数xの値よりも大きい独立変数xの値を有しているデータ組と、受信された独立変数xの値に最も近く、かつ受信された独立変数xの値よりも小さい独立変数xの値を有しているデータ組)の間で線形補間を実行することによって計算してもよい。具体的には、x
i<x<x
i+1である場合に、y
Pを、式
【数17】
(式17)
に従ってデータ点(x
i,y
i)および(x
i+1,y
i+1)の間の線形補間を実行することによって計算してもよい。
【0120】
ひとたび予測値y
Pが計算されると、診断ブロック804は、新たな(x,y)データ組の従属変数yの実際の値と従属変数の予測値y
Pとの間の差を、式Δy=y-y
Pによって計算することが可能である。次いで、診断ブロック804は、Δyが確立済みのしきい値を超えるか否かを判断することが可能である。Δyがしきい値を超える場合、診断ブロックは、異常状態を検出して、適切なステータス信号175、179、183、187を生成することが可能である。
【0121】
図18〜21が、
図16および17の代案の熱交換器異常状態防止モジュールに従って被監視変数のモデルを対応する負荷変数の関数として生成するプロセスを示している。
図18〜21のそれぞれは、新たなデータ組が受信されるときのアレイ836の内容を示している。アレイに保存されているデータ組も、座標系850にプロットされて示されている。横軸852が、負荷変数値(Flow)を表わし、縦軸854が、被監視変数の値(R
totおよび/またはΔP)を示している。
【0122】
最初は、アレイ836にいかなるデータ組も保存されていない。第1組の値(x
a,y
a)が、SPMブロック172、173から受信される。値x
aが、アレイ836に保存されているデータ組のF
c,h負荷変数の最大値および最小値(x
min,x
max)と比較される。最初はアレイにいかなるデータ組も保存されていないので、x
minおよびx
maxについていかなる値も確立されず、値x
aがx
min≦x
a≦x
maxという範囲に入ることはあり得ない。したがって、学習機能828が実行され、データ組(x
a,y
a)がアレイ836へと追加される。データ組(x
a,y
a)がアレイへと追加される時点において、アレイ836には他にデータ組が保存されていないため、データ組(x
a,y
a)は、アレイ内の第1の位置に追加され、インデックス値「1」が与えられる。したがって、アレイ836が座標系850へとプロットされるとき、点(x
1,y
1)856が、SPMブロック172、173から受信された第1のデータ組の値(x
a,y
a)に相当する。
【0123】
負荷変数(F
c,h)および被監視変数(R
totおよび/またはΔP)の値の第2の組(x
b,y
b)が、SPMブロック172、173から受信される。やはり、受信された負荷変数の値x
bが、アレイ836に保存されている負荷変数の値と比較される。アレイ836に保存されているデータ組はデータ組(x
a,y
a)だけであるため、受信された負荷変数の値x
bは、x
bが正確にx
aに等しい場合を除き、x
min≦x
a≦x
maxの間の範囲に入ることはあり得ない。この例では、x
b>x
aであると仮定する。学習機能828が再び実行され、データ組(x
b,y
b)が、アレイ836の末尾に追加される。データ組(x
b,y
b)は、アレイ836に保存された第2のデータ組であるため、インデックス値「2」が与えられる。アレイ836が座標系850へとプロットされるとき、点(x
2,y
2)858が、SPMブロック172、173から受信された負荷変数および被監視変数の値(x
b,y
b)に相当する。この時点で、被監視変数(R
totおよび/またはΔP)のモデルは、データ点(x
1,y
1)856および(x
2,y
2)858の間を延びて、これらのデータ点を含んでいる線形セグメント860を含んでいる。
【0124】
図19において、負荷変数(F
c,h)および被監視変数(R
totおよび/またはΔP)の値(x
c,y
c)からなる第3の組が、SPMブロック172、173から受信される。この場合に、x
c>x
bであると仮定する。この時点で、x
min=x
a(アレイ836に保存された被監視変数の最小の値)およびx
max=x
b(アレイ836に保存された被監視変数の最大の値)である。x
cは、x
bよりも大きいため、x
min≦x
c≦x
maxの範囲に入らず、やはり学習機能828が実行される。データ組(x
c,y
c)が、アレイ836へと追加される。x
c>x
max(x
b)であるため、データ組(x
c,y
c)は、アレイ836の末尾に追加され、インデックス値「3」が与えられる。アレイ836が
図19に示されるとおり座標系850へとプロットされるとき、点(x
3,y
3)862が、SPMブロック172、173から受信された負荷変数および被監視変数の値(x
c,y
c)に相当する。今や、被監視変数のモデルは、データ点(x
1,y
1)および(x
2,y
2)の間を延びて、これらのデータ点を含んでいる線形セグメント860と、データ点(x
2,y
2)および(x
3,y
3)の間を延びて、これらのデータ点を含んでいる線形セグメント864とを含んでいる。
【0125】
次に、第4のデータ組(x
d,y
d)が、SPMブロック172、173から受信される。この場合に、x
b<x
d<x
cであると仮定する。この段階において、アレイ836に保存されている被監視変数の最小値は、x
aであり、アレイ836に保存されている被監視変数の最大値は、x
cである。換言すると、x
min=x
aおよびx
max=x
cである。このとき、受信された被監視変数の値x
dは、x
min<x
d<x
maxの範囲にある。したがって、データ組(x
d,y
d)に関して、学習機能828ではなくて監視機能832が実行され、データ組(x
d,y
d)は、アレイ836へは追加されない。
【0126】
データ組(x
d,y
d)に関する監視機能832の実行において、アルゴリズムが、既存のモデルおよび受信された負荷変数の値x
dにもとづいて、被監視変数y
dの予測値を計算する。上述のように、x
dがx
bとx
cとの間であるため、受信された負荷変数の値x
dはx
b < x
d< x
cの範囲に入ると仮定され、被監視変数の予測値を、(x
2,y
2)858および(x
3,y
3)862(すなわち、(x
b,y
b)および(x
c,y
c))の間を延びて、(x
2,y
2)858および(x
3,y
3)862を含んでいる線形セグメント864によって表わされているモデル850の一部分にもとづいて計算することが可能である。式17を思い出し、被監視変数の予測値y
Pを計算するための式は、
【数18】
【0129】
別の実施の形態においては、被監視変数をモデル化する関数を、アレイ内の点の間の線形補間の実行以外の方法によって生成してもよい。例えば、アレイ内の点を滑らかな曲線で接続するためのスプラインを生成してもよい。二次または平方スプラインにおいては、隣同士の点からなる各ペアを接続するために、二次多項式を定義することが可能である。曲線を、曲線の出会う点(すなわち、アレイ内に定められている点)において曲線の一次導関数が等しいように選択することが可能である。
【0130】
三次または立方スプラインにおいては、隣同士の点からなる各ペアを接続するために、三次多項式を定義することが可能である。この場合、隣り合う曲線を、曲線同士が出会う点において同じ一次および二次導関数を有するように選択することが可能である。
【0131】
ひとたび被監視変数の予測値が割り出されると、被監視変数の予測値y
Pと受信された被監視変数の値y
dとの間の差が、しきい値と比較される。y
d-y
Pがしきい値よりも大きい場合、異常状態が検出される。y
d-y
Pがしきい値以下である場合、プロセスは容認可能な限界の内側で動作しており、被監視変数の監視が、次のデータ組の受信によって続けられる。一例においては、しきい値が、絶対値として与えられる。
【0132】
さらに
図20を参照すると、第5のデータ組(x
e,y
e)が、SPMブロック172、173から受信される。この場合に、x
e<x
aであると仮定する。データ組(x
e,y
e)が受信されたとき、アレイ836に保存されている負荷変数の最小値は、x
aであり、アレイ836に保存されている負荷変数の最大値は、x
cである。換言すると、x
min=x
aおよびx
max=x
cである。この場合に、x
e<x
aであり、受信された負荷変数の値x
eは、アレイ836にすでに保存されている負荷変数の値の範囲内にない。したがって、学習機能828が、データ組(x
e,y
e)に関して実行され、この新たなデータ組が、アレイ836へと追加される。しかしながら、このとき、x
e<x
min(x
a)であるため、新たなデータ組はアレイ836の先頭へと追加される。新たなデータ組(x
e,y
e)にインデックス値「1」が与えられ、アレイ836にすでに保存済みであるデータ組のそれぞれに与えられているインデックス値が、1だけ増やされる。その結果、アレイが座標系850へとプロットされるとき、点(x
1,y
1)866が、データ組(x
e,y
e)に相当し、点(x
2,y
2)856が、データ組(x
a,y
a)に相当し、点(x
3,y
3)858が、データ組(x
b,y
b)に相当し、点(x
4,y
4)862が、データ組(x
c,y
c)に相当する。今や、被監視変数のモデルは、データ点(x
1,y
1)866および(x
2,y
2)856の間を延びて、これらのデータ点を含んでいる線形セグメント868と、データ点(x
2,y
2)856および(x
3,y
3)858の間を延びて、これらのデータ点を含んでいる線形セグメント860と、点(x
3,y
3)858および(x
4,y
4)862の間を延びて、これらのデータ点を含んでいる線形セグメント864とを含んでいる。
【0133】
図21が、モデルへのさらに2つのデータ点の追加を示している。データ組(x
f,y
f)が、SPMブロック172、173から受信される。この場合、x
fはアレイ836に保存されている負荷変数の最小値よりも小さい(x
f < x
e)。したがって、この新たなデータ組(x
f,y
f)がアレイ836の先頭へと追加され、インデックス値「1」が与えられる。アレイに保存されている残りのすべてのデータ組のインデックス値が、1だけ増やされる。次に、データ組(x
g,y
g)が、SPMブロック172、173から受信される。この場合、x
gはアレイ836に保存されている負荷変数の最大値よりも大きい(x
g > x
c)。したがって、この新たなデータ組(x
g,y
g)がアレイ836の末尾へと追加され、次に利用可能なインデックス番号、この場合には、インデックス値「6」が与えられる。アレイ836の全体が、
図21の座標850にプロットされている。第1の点(x
1,y
1)870が、データ組(x
f,y
f)に相当し、第2の点(x
2,y
2)866が、データ組(x
e,y
e)に相当し、第3の点(x
3,y
3)856が、データ組(x
a,y
a)に相当し、第4の点(x
4,y
4)858が、データ組(x
b,y
b)に相当し、第5の点(x
5,y
5)862が、データ組(x
c,y
c)に相当し、第6の点(x
6,y
6)872が、データ組(x
g,y
g)に相当する。被監視変数のモデルは、データ点(x
1,y
1)870および(x
2,y
2)866の間を延びて、これらのデータ点を含んでいる線形セグメント874と、データ点(x
2,y
2)866および(x
3,y
3)856の間を延びて、これらのデータ点を含んでいる線形セグメント868と、データ点(x
3,y
3)856および(x
4,y
4)858の間を延びて、これらのデータ点を含んでいる線形セグメント860と、データ点(x
4,y
4)858および(x
5,y
5)862の間を延びて、これらのデータ点を含んでいる線形セグメント864と、データ点(x
5,y
5)862および(x
6,y
6)872の間を延びて、これらのデータ点を含んでいる線形セグメント876とを含んでいる。
【0134】
理論的には、
図18〜21において生成された拡張可能モデルなど、拡張可能モデルを生成するためにアレイ836へと追加することができる点の数に、制限は存在しない。しかしながら、現実には、処理上の制約が、特定のモデルに含まれてよい点の数に上限を課す可能性がある。この場合、モデルへと追加されようとする新たな点が、アレイ内の点の数についての処理の上限を超える場合に、確立済みの拡張可能モデルのどの点を、モデルの精度を過度に変化させることなく取り除くことが可能であるかという問題が生じる。例えば、
図21の拡張可能モデルを生成した異常状態防止アルゴリズムが、5点という処理限界を有する場合、データ点870、866、856、858、862、872のうちのどれを、モデルの精度への影響を最小限にしつつアレイ836から取り除くことが可能であるかを、判断することができる。
【0135】
図22を参照すると、3つの点(x
1,y
1)880、(x
2,y
2)882、および(x
3,y
3)884の並びが示されている。3つの点880、882、884が、線セグメント(x
1,y
1)-(x
2,y
2)886、(x
2,y
2)-(x
3,y
3)888、および(x
1,y
1)-(x
3,y
3)890によって定められる辺を有する三角形を定めている。線セグメント(x
1,y
1)-(x
2,y
2)886および(x
2,y
2)-(x
3,y
3)888は、範囲[x
1,x
3]にある拡張可能モデルの元々の部分を形成している。しかしながら、点(x
2,y
2)882がモデルから取り除かれる場合、線セグメント(x
1,y
1)-(x
3,y
3)890が、線形セグメント(x
1,y
1)-(x
2,y
2)886および(x
2,y
2)-(x
3,y
3)888を置き換える。3つの点(x
1,y
1)880、(x
2,y
2)882、および(x
3,y
3)884のすべてを含む元の関数と、2つの点(x
1,y
1)880および(x
3,y
3)884だけを含む簡略化された関数との間の誤差の大きさは、単純に、3つのすべての点880、882、884によって形成される三角形892の面積である。三角形892の面積は、式
【数20】
(式18)
によって計算してよい。
【0136】
図21に示した拡張可能モデルなど、拡張可能モデルから点を取り除く場合、取り除かれる点を、変更後の拡張可能モデルが元の拡張可能モデルに可能な限り近いままである点とすることができる。これを判定するための1つのやり方は、どの点が、元の拡張可能モデルから取り除かれたときに、元の拡張可能モデルと変更後の拡張可能回帰モデルとの間の誤差の量が最も少ないかを判定することである。任意の特定の点を取り除くことによって持ち込まれる誤差を、点そのものとその点の両側に位置する隣接する点とによって形成される三角形の面積を、式(18)に記載の公式を使用して計算することによって割り出してよい。このプロセスを、両端に位置する2つの点を除く元の拡張可能モデルのすべての点について、実行することができる。最小の面積を有する三角形が、元の拡張可能モデルと変更後の拡張可能モデルとの間の変化の最小量を定める。したがって、この最小の三角形を2つの隣接する仲間とともに形成する点が、処理の制約ゆえにモデルから点を取り除かなければならない場合に、処理の効率を改善するため、あるいは異常状態防止アルゴリズムを実行するハードウェア装置またはシステムの他の処理の制約に合致するため、拡張可能モデルから取り除かれるべき最良の候補である。
【0137】
図21に示した拡張可能モデルに戻ると、点(x
3,y
3)856が、2つの隣接する点(x
2,y
2)866および(x
4,y
4)858とほぼ同一直線上に位置していることが分かる。明らかに、これら3つの点によって形成される三角形の面積が、きわめて小さくなる。
図21の拡張可能モデルを
図23に示した変更後の拡張可能モデル900と比べることによって確認できるとおり、点(x
3,y
3)856を取り除いても、拡張可能モデル900の全体的な形状への影響はほとんど無視できるほどである。
図21の元の拡張可能モデルの点(x
3,y
3)856が、
図23の変更後の拡張可能モデル900から取り除かれている。たとえ点(x
3,y
3)856がなくても、
図23の変更後の拡張可能モデル900は、元の
図21の拡張可能モデルと実質的に同じ形状を有している。(
図23の変更後の拡張可能モデル900を定めている点のインデックス値が、元の
図21の拡張可能モデルからの点(x
3,y
3)856の除去を反映すべく調節されている点に、注意すべきである。しかしながら、点を特定している参照番号は、不変のままに残されている。したがって、変更後の拡張可能モデル900の点(x
1,y
1)870および(x
2,y
2)866が、元の
図21の拡張可能モデルの同じ点(x
1,y
1)870および(x
2,y
2)866に対応している。しかしながら、
図23の変更後の拡張可能モデル900の点(x
3,y
3)858は、元の
図21の拡張可能モデルの点(x
4,y
4)858に対応する。
図23の変更後の拡張可能モデル900の点(x
4,y
4)862は、元の
図21の拡張可能モデルの点(x
5,y
5)862に対応し、
図23の変更後のモデル900の点(x
5,y
5)872は、元の
図21の拡張可能モデルの点(x
6,y
6)862に対応する。)
次に、
図24に目を向けると、異常状態防止システムを実装するための方法910が示されている。この方法によれば、新たな点(x,y)がブロック912において受信される。新たな点(x,y)の独立変数xは、所定のサンプルウインドウにおける第1のプロセス変数の統計的特徴(例えば、平均、標準偏差、または他の統計的基準)を含みうる。新たな点(x,y)の従属変数yは、第2のプロセス変数の統計的特徴を含みうる。熱交換器において、前記代案の熱交換器異常状態防止モジュール800が、第1の変数(負荷F
c,h変数)の関数としての第2の変数(被監視R
totおよび/またはΔP変数)を監視することができる。異常状態防止システムは、被監視変数が負荷変数の挙動にもとづいて予測される方法で挙動しない場合に、異常状態を検出可能である。独立変数xの値が、判定ブロック914において調査される。新たな点(x,y)の独立変数xの値が、これまでに受信された点の独立変数の値と比較される。受信した点の独立変数xの値が、これまでに受信された点の独立変数xの値の範囲内である場合、すなわちx
min≦x≦x
maxであり、ここで、x
minが、受信済みのxの最小値であり、x
maxは、受信済みのxの最大値である場合、監視機能916が実行される。受信したxの値が、x
minおよびx
maxの間の範囲にない場合、学習機能918が実行される。
【0138】
新たな点のxの値が、すでに受信された値の範囲にない場合、この新たな点が、ブロック920において拡張可能モデルを定めている点のアレイへと追加される。xの値がx
minよりも小さい場合には、新たな点は、アレイの先頭へと追加され、すでにアレイに保存されている残りの点のインデックス値が、1だけ増やされる。xの値がx
maxよりも大きい場合には、新たな点は、アレイの末尾へと追加される。判定ブロック922において、アレイに保存された点の数が、アレイにすでに保存された点の数がアレイに保存されうる点の最大数に等しいか否かを判断するために、評価される。n≠n
maxである場合、異常状態防止システムはブロック924において続く。しかしながら、n=n
maxである場合には、ブロック926においてアレイから点が取り除かれる。取り除かれる点は、上述のとおり隣の点と一緒に最小の面積A
iの三角形を形成している点(x
i,y
i)であってよい。あるいは、積分二乗誤差アルゴリズムを、アレイから除去されたときに該当の拡張可能モデルへと持ち込まれる誤差の大きさが最小である点を特定するために、使用してもよい。
【0139】
判定ブロック914に戻ると、独立変数xの値がすでに受信された変数値の範囲内にある場合、監視機能916が、ブロック928において従属変数の予測値y
Pを計算することによって進行する。従属変数の予測値は、受信した独立変数xの値およびアレイに保存された点に具現化された拡張可能モデルにもとづいて計算される。ひとたび従属変数の予測値y
Pが計算されると、ブロック930において、差の値Δyが、従属変数の予測値y
Pを受信した新たなデータ点の実際のyの値から引き去ることによって計算される。次いで、値Δyが、ブロック932において、ユーザによって定められるしきい値と比較される。Δyがしきい値よりも大きい場合、ブロック934において異常状態が検出される。ブロック932においてΔyの値がしきい値以下である場合、被監視プロセスの状態は、正常であると考えられ、異常状態防止アルゴリズムは、ブロック924において続く。
【0140】
熱交換器異常状態防止モジュール150、800の一態様は、ユーザが熱交換器異常状態防止モジュールによって提供される種々の異常状態防止能力と容易にやり取りできるよう、本明細書に記載の熱交換器異常状態防止モジュールに統合されたグラフィカル・ユーザ・インターフェイス(GUI)を提供するユーザ・インターフェイス・ルーチンである。しかしながら、GUIをさらに詳しく説明する前に、GUIが任意の適切なプログラミング言語および技法を使用して実現される1つ以上のソフトウェアルーチンを含んでもよいことを、理解すべきである。さらに、GUIを形成するソフトウェアルーチンを、例えばワークステーションやコントローラなど、プラント10内のただ1つの処理ステーションまたはユニットにおいて保存および処理してもよく、あるいはGUIのソフトウェアルーチンを、熱交換器異常状態防止モジュールにおいて互いに通信可能に接続された複数の処理ユニットを使用して分散的に保存および実行することができる。
【0141】
必須ではないが好ましくは、GUIを、よく知られたグラフィカルなウィンドウベースの構造および外観(複数の互いに結び付けられたグラフィカルなビューまたはページが、ユーザが特定の種類の情報を閲覧し、さらには/あるいは取り出すために、所望の方法でページを行き来することができるようにする1つ以上のプルダウンメニューを含んでいる)を使用して実現してよい。上述の熱交換器異常状態防止モジュールの特徴および/または能力を、GUIの1つ以上の該当のページ、ビュー、または表示を通じて、描写でき、アクセスでき、呼び出すことが可能である。さらに、GUIを構成する種々の表示を、ユーザが迅速かつ直感的に表示を行き来して、特定の種類の情報を取り出し、あるいは熱交換器異常状態防止モジュールの特定の機能にアクセスし、さらには/または熱交換器異常状態防止モジュールの特定の機能を呼び出すうえで助けとなるように、論理的な方法で互いに結び付けることができる。
【0142】
一般に、本明細書に記載のGUIは、プロセス制御の領域、ユニット、ループ、デバイス、などについて、直感的かつグラフィカルな描写または表示を提供する。これらのグラフィカル表示のそれぞれは、GUIによって表示される個々のビューに関係する状態情報および通知(その一部またはすべてを、上述の熱交換器異常状態防止モジュールによって生成可能)を含むことが可能である。ユーザは、任意のビュー、ページ、または表示に示された通知を使用して、その表示に描かれた熱交換器64に問題が存在するか否かを素早く評価することができる。
【0143】
さらに、GUIは、異常状態など、熱交換器64において生じており、あるいは生じようとしている問題に関して、メッセージをユーザへと提供してよい。これらのメッセージは、問題を説明し、現在の問題を軽減するため、または潜在的な問題を回避するために実施されうるシステムの可能な変更を提案し、問題の是正または回避のためにたどることができる措置のコースを説明するグラフィックおよび/またはテキスト情報を含んでよい。
【0144】
熱交換器異常状態防止モジュール150、800は、1つ以上のオペレータ向け表示を含んでよい。
図25〜27が、プロセスプラント10の熱交換器64における異常状態の防止のために、熱交換器異常状態防止モジュール150、800において使用するためのオペレータ向け表示950の例を示している。
図25を参照すると、オペレータ向け表示950は、熱交換器952、いくつかの入り口954、チューブ956、および監視対象の実際の熱交換器952を示す他の構造を表示することが可能である。表示950は、オペレータ向け表示950が描写する物理的なシステムの正確なチューブ956の数を示すように自動的に適応できる。熱交換器952の一部分が、ボタンまたは他の選択可能なユーザインターフェイス構造を含んでよく、そのようなボタンまたはユーザインターフェイス構造は、ユーザによって選択されたときに、表示950に、当該ボタンに関係する熱交換器952の部位についての情報958を表示することが可能である。
【0145】
図26を参照すると、異常状態が検出されたときに、オペレータ向け表示950は、その状態またはその状態の位置についての視覚的通知960を生成することが可能である。一実施の形態においては、通知が、オペレータ向け表示800に表わされたプロセスの異常のユニットまたは他の被監視設備の領域に、グラフィカル表示を含めてよい。例えば、熱交換器異常状態防止モジュール150、800が、チューブ956のうちの1つにおいて生じている異常状態を検出した場合に、異常のチューブを、表示950において色または他の任意の視覚的特徴を変化させることによってオペレータへと故障の通知を伝えるように、視覚的に変化させてもよい。また、異常状態の検出が、他の任意の可視または可聴の警報を生じさせ、オペレータへと警報を伝えてもよい。
【0146】
図27を参照すると、視覚的通知960を選択することで、状態に関する熱交換器952についての情報964、または熱交換器952の動作に関する他の情報を表示することが可能であるフェイスプレート962を起動させることができる。フェイスプレート962は、モード、ステータス、現在および予測の差圧(ΔP)、現在および予測の熱抵抗(R
tot)、プロセス変数に関する任意の値、現在の回帰モデル、回帰フィットの品質、あるいはプロセスプラント10および熱交換器に関する他の任意の情報を含みうる。さらに、フェイスプレート962は、熱交換器952の任意の設定可能なパラメータを変更すべくユーザが調節できる制御部を含んでよい。例えば、フェイスプレート内の制御部によって、オペレータが、学習モードの期間、統計計算期間、回帰の次数、またはしきい値限界の任意のいずれかを設定可能である。さらに、オペレータが、検出された異常状態を軽減するための措置をとることが可能である。例えば、オペレータが、製品供給の流量を減らし、チューブの入り口または熱交換器の他の任意の部位における製品の付着をチェックし、あるいは熱交換器を清掃すべく熱交換器の迂回をオンにすることが可能である。当然ながら、オペレータは、異常状態の防止または軽減のために、熱交換器952について他にも多数の調節を行うことが可能である。フェイスプレート962によって、他の情報も表示することが可能であり、他の変数も設定することが可能である。
【0147】
以上にもとづき、プロセス制御システムの監視および診断を容易にするためのシステムおよび方法を、熱交換器64における異常状態の防止という具体的前提によって開示することが可能である。熱交換器の汚損の監視および診断が、回帰などの統計的分析手法を含むことが可能である。特には、オンラインのプロセスデータが、動作している熱交換器から収集される。プロセスデータは、プロセスがオンラインであって正常に動作しているとき、プロセスの正常動作を表わしている。この収集データにもとづいてプロセスのモデルを生成するために、統計的分析が使用される。これに代え、あるいはこれに組み合わせて、プロセスの監視を実行することができ、統計的分析を使用して生成されたプロセスのモデルを使用し、モデルのパラメータにもとづく出力を生成することができる。出力は、モデルの結果にもとづく統計的出力、および学習データにもとづく正規化されたプロセス変数を含むことが可能である。出力のそれぞれを、プロセスの監視および診断の視覚化を生成するため、ならびにプロセスにおける異常状態を検出すべく警報診断を実行するために、使用してもよい。
【0148】
本開示のこの態様においては、熱交換器異常状態防止モジュール150、800を、プロセスプラント10における熱交換器および種々のプロセス設備の汚損または異常状態に関して有用でありうるオンライン診断のために定めて、適用することが可能である。モデルを、回帰モデリングを使用して導出してもよい。いくつかの場合には、本開示の熱交換器異常状態防止モジュール150を、熱交換器の長期の汚損を観察するために使用してもよい。他の場合には、熱交換器異常状態防止モジュール800を、熱交換器における短期または瞬時の変化を観察するために使用してもよい。例えば、本開示の方法を、オンラインの長期の共同的診断または比較的短期の診断に使用してもよい。これに代え、あるいはこれに加えて、本開示の方法は、回帰分析への別の手法を提供することが可能である。
【0149】
本開示の方法を、例えば
図28に示されているように、DeltaV(商標)970およびOvation(登録商標)などといったいくつかの制御システムプラットフォーム、ならびにRosemount 3420 FF Interface Module、Foundation Fieldbus Function or Transducer Block、Field Device Interface Module、またはHandheld Communicatorなどといった種々のプロセス設備およびデバイスに関連して実行してよい。あるいは、本開示の方法およびシステムを、スタンドアロンの異常状態防止アプリケーションとして実現してよい。いずれの場合も、本開示の方法およびシステムを、警報を生成し、熱交換器の汚損のレベルの規制を他の方法で支援するように構成してよい。
【0150】
熱交換器における異常状態の防止に関する上述の例は、本開示のシステム、方法、および技法の実施が、そのような文脈に限られないという理解のうえで開示されている。むしろ、本開示のシステム、方法、および技法は、別の組織構成、構成要素の配置、あるいは監視またはデータ収集などのための選択が可能な個々の部品、ユニット、構成要素、またはアイテムの別の集まりを有している診断システム、アプリケーション、ルーチン、技法、または手順など、任意の診断システム、アプリケーション、ルーチン、技法、または手順における使用によく適している。診断において利用されるプロセスパラメータを指定する他の診断システム、アプリケーション、などが、本明細書に記載のシステム、方法、および技法から開発され、あるいは他の方法で本明細書に記載のシステム、方法、および技法から利益を受けることができる。次いで、そのようなパラメータの個々の指定を、それに関するプロセスデータの配置、監視、および保存のために利用することが可能である。さらに、本開示のシステム、方法、および技法は、特に、そのような態様が未だ開発されておらず、あるいは開発の初期段階にある場合、必ずしもプロセス制御システムの診断の態様に関してのみ利用されるのではない。むしろ、本開示のシステム、方法、および技法は、プロセス制御システム、プロセスプラント、プロセス制御ネットワーク、などの任意の要素または態様における使用によく適している。
【0151】
本明細書に記載の方法、プロセス、手順、および技法を、ハードウェア、ファームウェア、およびソフトウェアの任意の組み合わせを使用して実行してよい。したがって、本明細書に記載のシステムおよび技法を、所望に応じ、標準的な多目的のプロセッサにおいて実現し、あるいは特別に設計されたハードウェアまたはファームウェアを使用して実現してよい。ソフトウェアにて実現される場合には、ソフトウェアを、磁気ディスク、レーザディスク、または他の記憶媒体、あるいはコンピュータ、プロセッサ、I/Oデバイス、フィールドデバイス、インターフェイス装置、などのRAMまたはROMあるいはフラッシュメモリなど、コンピュータで読み出すことができる任意のメモリに保存してよい。同様に、ソフトウェアを、コンピュータで読み取ることができるディスクまたは他の運搬可能なコンピュータ記憶機構あるいは通信媒体など、任意の公知または所望の搬送方法を介してユーザまたはプロセス制御システムへと届けることが可能である。通信媒体は、典型的には、コンピュータで読み取ることができるインストラクション、データ構造、プログラムモジュール、または他のデータを、搬送波または他の搬送機構など、変調されたデータ信号に具現化する。用語「変調されたデータ信号」は、その特徴のうちの1つ以上が情報を信号へとエンコードするような方法で設定または変更されている信号を意味する。これらに限られるわけではないが、例として、通信媒体は、有線ネットワークまたは直接の有線接続などといった有線媒体、ならびに音響、高周波、赤外、および他の無線媒体などといった無線媒体を含む。したがって、ソフトウェアを、電話回線、インターネット、などの通信チャネルを介して、ユーザまたはプロセス制御システムへと届けることが可能である(そのようなソフトウェアを搬送可能な記憶媒体によって提供することと同じ、または互換であると考えることができる)。
【0152】
このように、本発明を、特定の例を参照して説明したが、それらの例は、あくまでも例示を目的とするものであって、本発明を限定するものではない。本発明の技術的思想および技術的範囲から離れることなく、本開示の実施の形態について変更、追加、または削除が可能であることは、当業者にとって明らかである。