(57)【要約】  プロセスプラント用ユーザインタフェースシステムは、プロセスプラントのプロセスプラント要素を表すグラフィック表示要素を有するプロセスグラフィック表示を設定するグラフィック表示エディタを含む。プロセスグラフィック表示は、宣言型言語で記述された構成情報によって指定される。グラフィックスレンダリングエンジンは、宣言型言語で記述された構成情報から導出されたコマンドに基づいて、実行時中に、プロセスグラフィック表示の描写を生成する。プロセスグラフィック表示のための構成情報は、オブジェクトとして格納することができ、オブジェクトは、例えば各々グラフィカルパラメータを定義し、データソースを識別するための第１および第２の部分を含むことができる。グラフィカルパラメータは、プロセスプラント要素のグラフィック描写を定義することを対象とすることができ、このため、宣言型言語に準拠するフォーマットで記述することができる。データソースは、グラフィック描写によって表示されるプロセスプラント要素のオンライン動作を示すデータのロケーションまたはパスを指定することができる。
2007536647.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ可読媒体に格納された、プロセスプラント用ユーザインタフェースで使用するためのオブジェクトエンティティであって、
前記ユーザインタフェースを介して、前記プロセスプラントのプロセスプラント要素を描写するためのグラフィックスを定義する第１の部分と、
前記描写によって表示される前記プロセスプラント要素のオンライン動作を示すデータのデータソースを識別する第２の部分と、
を備え、前記第１の部分が宣言型フォーマットで記述されている、オブジェクトエンティティ。
【請求項２】
前記第１の部分が、前記描写をレンダリングする際に用いられる形状オブジェクトのインスタンスを定義する、請求項１に記載のオブジェクトエンティティ。
【請求項３】
前記第１の部分が、前記描写をレンダリングする際に用いられる複合形状オブジェクトのインスタンスを定義する、請求項１に記載のオブジェクトエンティティ。
【請求項４】
前記宣言型フォーマットが、拡張可能なマークアップ言語に準拠する、請求項１に記載のオブジェクトエンティティ。
【請求項５】
前記宣言型フォーマットが、前記グラフィックスを定義するスクリプトのためのベクトルグラフィックスフォーマットを備える、請求項１に記載のオブジェクトエンティティ。
【請求項６】
前記第１の部分がさらに、前記プロセスプラント要素のオンライン動作を示すデータのグラフィック描写を指定するデータ変換パラメータを定義する、請求項１に記載のオブジェクトエンティティ。
【請求項７】
前記プロセスプラント要素のオンライン動作をシミュレーションするために実施されるメソッドを定義する第３の部分をさらに備える、請求項１に記載のオブジェクトエンティティ。
【請求項８】
前記第３の部分が前記宣言型フォーマットで記述される、請求項７に記載のオブジェクトエンティティ。
【請求項９】
前記第２の部分が前記宣言型フォーマットで記述される、請求項１に記載のオブジェクトエンティティ。
【請求項１０】
前記グラフィックスが、前記プロセスプラント要素のオンライン動作を示すアニメーションを有するアニメーション化要素を含む、請求項１に記載のオブジェクトエンティティ。
【請求項１１】
プロセスプラント用ユーザインタフェースシステムであって、
コンピュータ可読媒体と、
前記プロセスプラントのプロセスプラント要素を表すグラフィック表示要素を有するプロセスグラフィック表示を構成するグラフィック表示エディタであって、前記グラフィック表示エディタによって生成された前記プロセスグラフィック表示のための構成情報が、宣言型言語に準拠して前記コンピュータ可読媒体に格納されている、グラフィック表示エディタと、
前記構成情報から導出されたコマンドに基づいて、実行時中に、前記プロセスグラフィック表示の描写を生成するグラフィックスレンダリングエンジンと、
を備える、ユーザインタフェースシステム。
【請求項１２】
前記宣言型言語が、前記構成情報を表すための拡張可能なフォーマットを定義する、請求項１１に記載のユーザインタフェースシステム。
【請求項１３】
前記構成情報が、前記宣言型言語に基づくオブジェクトモデルフレームワークに従って格納される、請求項１１に記載のユーザインタフェースシステム。
【請求項１４】
前記オブジェクトモデルフレームワークが、前記グラフィック表示エディタによって使用可能な基本形状オブジェクトから構成された追加的なグラフィック表示要素を含むように前記プロセスグラフィック表示を構成するための前記基本形状オブジェクトを定義する、請求項１３に記載のユーザインタフェースシステム。
【請求項１５】
前記オブジェクトモデルフレームワークが、前記グラフィック表示エディタによって使用可能な複合オブジェクトから構成された追加的なグラフィック表示要素を含むように前記プロセスグラフィック表示を構成するための前記複合オブジェクトを定義する、請求項１３に記載のユーザインタフェースシステム。
【請求項１６】
前記グラフィック表示エディタが、前記コンピュータ可読媒体に格納された、それまでに構築されたプロセスモデルオブジェクトから前記複合オブジェクトを生成するためのグラフィック編集ツールを備える、請求項１３に記載のユーザインタフェースシステム。
【請求項１７】
前記グラフィック編集ツールが、前記オブジェクトモデルフレームワークによって定義される、請求項１６に記載のユーザインタフェースシステム。
【請求項１８】
前記宣言型言語が拡張可能なマークアップ言語である、請求項１１に記載のユーザインタフェースシステム。
【請求項１９】
前記宣言型言語が、前記構成情報を記述するためのＸＭＬベースのフォーマットを定義する、請求項１１に記載のユーザインタフェースシステム。
【請求項２０】
前記構成情報のグラフィックス関連情報に基づいて、別の宣言型言語に準拠するコマンドを生成する変換エンジンをさらに備える、請求項１１に記載のユーザインタフェースシステム。
【請求項２１】
前記別の宣言型言語が、ベクトルグラフィックスフォーマットに従って、前記グラフィックス関連言語を記述する、請求項２０に記載のユーザインタフェースシステム。
【請求項２２】
前記変換エンジンがさらに、前記グラフィック表示要素のためのデータ変換ルーチンを指定する別のコマンドを生成する、請求項２０に記載のユーザインタフェースシステム。
【請求項２３】
前記変換エンジンがさらに、前記グラフィック表示要素に関連して表示されるデータのデータソースを識別するデータソース参照ファイルを、前記プロセスグラフィック表示のために、前記構成情報から生成する、請求項２０に記載のユーザインタフェースシステム。
【請求項２４】
プロセスプラント用ユーザインタフェースシステムを構成する方法であって、
複合グラフィカル要素を定義するオブジェクトを用いて、前記ユーザインタフェースを介して描写される各々のプロセスグラフィック表示に、前記オブジェクトの複数のインスタンスを生成し、
前記複合グラフィカル要素の複数のインスタンスを定義するデータを、前記ユーザインタフェースシステムのコンピュータ可読媒体に格納し、
前記オブジェクトを変更することにより、前記複合グラフィカル要素の複数のインスタンスを自動的に更新すること、
を含む、方法。
【請求項２５】
前記オブジェクトが、ＸＭＬベースのグラフィックス言語で記述された定義からなる、請求項２４に記載の方法。
【請求項２６】
コンピュータ可読媒体に格納された、プロセスプラント用ユーザインタフェースで使用するためのオブジェクトエンティティであって、
前記ユーザインタフェースを介して、前記プロセスプラントのプロセスプラント要素を描写するためのグラフィックスを定義するグラフィックス部分と、
前記グラフィックスの構成可能な様相を識別するパラメータ部分と、
前記グラフィックスに関連して表示される内容のためのデータソースを識別するナビゲーション部分と、
を備え、前記グラフィックス部分、前記パラメータ部分および前記ナビゲーション部分が、前記コンピュータ可読媒体に別個に格納されている、オブジェクトエンティティ。
【請求項２７】
前記コンピュータ可読媒体が、複数のメモリ格納デバイスを備えることにより、前記グラフィックス部分、前記パラメータ部分、および前記ナビゲーション部分が、単一のメモリ格納デバイスに格納されないようにする、請求項２６に記載のオブジェクトエンティティ。
【請求項２８】
前記グラフィックス部分が、ＸＭＬベースのグラフィックス言語での記述からなる、請求項２６に記載のオブジェクトエンティティ。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
この出願は、２００４年５月４日に提出され、それら全体を本願明細書に明確に援用する、「プロセス制御システムを表し、モニタリングし、および該システムと対話するグラフィカル・ユーザインタフェース（“Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｒｅｐｒｅｓｅｎｔｉｎｇ，Ｍｏｎｉｔｏｒｉｎｇ，ａｎｄ  Ｉｎｔｅｒａｃｔｉｎｇ  ｗｉｔｈ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ”）」と題される米国特許仮出願第６０／５６７，９８０号の正規の提出された出願であり、また、優先権主張のため、該仮出願の利益を主張する。また、この出願は、２００３年７月２１日に提出され、２００４年８月５日に米国特許公開第２００４／０１５３８０４号として公開された「プロセスプラントにおけるグラフィック表示要素、プロセスモジュールおよび制御モジュールの統合（“Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ  Ｅｌｅｍｅｎｔｓ，Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”）」と題される米国特許出願第１０／６２５，４８１号にも関連し、これは２００２年１０月２２日にファイルされ、２００４年４月２２日に米国特許公開第２００４／００７５６８９号として公開された「プロセスプラントにおけるスマートプロセスモジュールおよびオブジェクト（“Ｓｍａｒｔ  Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ａｎｄ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”）」と題される米国特許出願第１０／２７８，４６９号の一部継続出願であり、これらの明細書の開示全体を本願明細書に明確に援用する。また、この出願は、２００３年２月１８日に提出され、かつ２００４年１０月７日に米国特許公開第２００４／０１９９９２５号として公開された「プロセスプラント構成システムにおけるモジュールクラスオブジェクト（“Ｍｏｄｕｌｅ  Ｃｌａｓｓ  Ｏｂｊｅｃｔｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｙｓｔｅｍ”）」と題される米国特許出願第１０／３６８，１５１号にも関連し、該出願の開示全体を本願明細書に明確に援用する。また、この出願は、この出願と同じ日付で国際出願（ＰＣＴ）として提出されており、かつそれら出願全体を本願明細書に明確に援用する、以下の特許出願、すなわち、「プロセス環境における関連付けられたグラフィック表示（“Ａｓｓｏｃｉａｔｅｄ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」（代理人番号第０６００５／４１１１１号）、「ユーザが構成可能なアラームおよびプロセス制御システムのためのアラーム傾向（“Ｕｓｅｒ  Ｃｏｎｆｉｇｕｒａｂｌｅ  Ａｌａｒｍｓ  ａｎｄ  Ａｌａｒｍ  Ｔｒｅｎｄｉｎｇ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ”）」（代理人番号第０６００５／４１１１２号）、  「プロセスプラントにおけるプロセスモジュールおよびエキスパートシステムの統合（“Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ａｎｄ  Ｅｘｐｅｒｔ  Ｓｙｓｔｅｍｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”（代理人番号第０６００５／４１１１３号）、「統合された環境における、カスタマイズされたプロセスグラフィック表示レイヤを有するプロセスプラント・ユーザインタフェースシステム（“Ａ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｙｓｔｅｍ  Ｈａｖｉｎｇ  Ｃｕｓｔｏｍｉｚｅｄ  Ｐｒｏｃｅｓｓ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ  Ｌａｙｅｒｓ  ｉｎ  ａｎ  Ｉｎｔｅｇｒａｔｅｄ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」（０６００５／４１１１４）、「プロセス環境におけるスクリプトされたグラフィックス（“Ｓｃｒｉｐｔｅｄ  Ｇｒａｐｈｉｃｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」（代理人番号第０６００５／４１１１５号）、「プロセス構成および制御環境へのグラフィックス統合（“Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｇｒａｔｉｏｎ  ｉｎｔｏ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」（代理人番号第０６００５／４１１１６号）、「プロセス環境における複数の可視化を伴うグラフィック要素（“Ｇｒａｐｈｉｃ  Ｅｌｅｍｅｎｔｓ  ｗｉｔｈ  Ｍｕｌｔｉｐｌｅ  Ｖｉｓｕａｌｉｚａｔｉｏｎｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」（代理人番号第０６００５／４１１１７号）、「プロセスプラントにおけるグラフィック表示要素およびプロセスモジュールを構成するシステム（“Ｓｙｓｔｅｍ  ｆｏｒ  Ｃｏｎｆｉｇｕｒｉｎｇ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ Ｅｌｅｍｅｎｔｓ  ａｎｄ  Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”）」（代理人番号第０６００５／４１１１８号）、「統合されたプロセス制御システムインタフェースのためのグラフィック表示構成フレームワーク（“Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ｕｎｉｆｉｅｄ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ”）」（代理人番号第０６００５／４１１２４号）、「プロセス制御データを変更する方法および装置（“Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍｏｄｉｆｙｉｎｇ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｄａｔａ”）」（代理人番号第０６００５／５９１６２２号および同第２００４０／５９−１１６２２号）、「プロセス制御データにアクセスする方法および装置（“Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ａｃｃｅｓｓｉｎｇ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｄａｔａ”）」（代理人番号第０６００５／５９１６２３号および同第２００４０／５９−１１６２３号）、「プロセス制御システムのための統合されたグラフィック実行時インタフェース（“Ｉｎｔｅｇｒａｔｅｄ  Ｇｒａｐｈｉｃａｌ  Ｒｕｎｔｉｍｅ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ”）」（代理人番号第０６００５／５９１６２８号および同第２００４０／５９−１１６２８号）、「プロセス制御システムのためのサービス指向型アーキテクチャ（“Ｓｅｒｖｉｃｅ−Ｏｒｉｅｎｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ”）」（代理人番号第０６００５／５９１６２９号および同第２００４０／５９−１１６２９号）にも関連する。
【０００２】
本発明は、一般にプロセスプラントに関し、より具体的には、動的な統合されたプロセスグラフィックスを有するプロセスプラントのユーザインタフェースに関する。
【背景技術】
【０００３】
化学関連プロセス、石油関連または他のプロセスに用いられるような分散型プロセス制御システムは、典型的には、アナログバス、デジタルバスまたは複合型アナログ／デジタルバスを介して１つ以上のフィールドデバイスに通信可能に結合された１つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ（例えば、温度センサ、圧力センサ、レベルセンサおよび流量センサ）である可能性があるフィールドデバイスは、プロセス環境内に配置されており、バルブの開閉や、プロセスパラメータの測定等のプロセス機能を実行する。また、Fieldbusプロトコルに準拠するフィールドデバイス等の高性能の（スマート）フィールドデバイスも、制御計算、アラーム機能、およびコントローラ内に一般に実装されている他の制御機能を実行することができる。典型的にはプラント環境内にも設けられているプロセスコントローラは、フィールドデバイスにより行われたプロセス測定値および／またはフィールドデバイスに関する他の情報を示す信号を受け取り、例えば、プロセス制御判断を行い、受け取った情報に基づいて制御信号を生成し、ＨＡＲＴ（登録商標）およびFieldbusフィールドデバイス等のフィールドデバイス内で実行される制御モジュールまたはブロックと連携する異なる制御モジュールを作動させるコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信ラインを通じて制御信号をフィールドデバイスへ送り、それによって、プロセスの動作を制御する。
【０００４】
上記フィールドデバイスおよびコントローラからの情報は、通常、データハイウェイを通じて、典型的には、制御室内または過酷なプラント環境から離れた場所に配置されている、オペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポート作成プログラム、集中型データベース等の１つ以上の他のハードウェア装置で利用可能である。これらのハードウェア装置は、例えば、オペレータが、上記プロセスに関して、プロセス制御ルーチンの設定を変更すること、コントローラまたはフィールドデバイス内の制御モジュールの動作を修正すること、プロセスの現在の状態を確認すること、フィールドデバイスおよびコントローラによって生成されたアラームを確認すること、人員のトレーニングのため、またはプロセス制御ソフトウェアをテストするために、プロセスの動作をシミュレーションすること、構成（コンフィギュレーション）データベースを管理および更新すること等の機能を実行できるようにするアプリケーションを実行する。
【０００５】
一例として、エマーソンプロセスマネージメント（Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ）社より販売されているＤｅｌｔａＶ（登録商標）制御システムは、プロセスプラント内の異なる位置の異なるデバイス内に格納され、これらデバイスによって実行される多数のアプリケーションを含む。１つ以上のオペレータワークステーション内に存在する構成アプリケーションは、ユーザが、プロセス制御モジュールを生成または変更して、それらのプロセス制御モジュールを、データハイウェイを介して専用の分散型コントローラにダウンロードできるようにする。典型的には、それらの制御モジュールは、通信可能に相互接続された機能ブロックで形成されており、この機能ブロックはオブジェクト指向プログラミングプロトコルにおけるオブジェクトであり、それに対する入力に基づいて制御スキーム内の機能を実行し、制御スキーム内の他の機能ブロックに対する出力を生成する。また、構成アプリケーションは、設計者が、オペレータに対してデータを表示し、かつオペレータが、プロセス制御ルーチン内の設定点等の設定値を変更できるようにするビューイング（表示）アプリケーションによって用いられるオペレータインタフェースを生成または変更できるようにすることも可能である。各専用コントローラ、および場合によりフィールドデバイスは、コントローラに割り当てられ、かつコントローラにダウンロードされた制御モジュールを実行して実際のプロセス制御機能を実施するコントローラアプリケーションを格納し、かつ実行する。１つ以上のオペレータワークステーション上で実行することができる表示アプリケーションは、データハイウェイを介してコントローラアプリケーションからデータを受け取り、ユーザインタフェースを用いて、プロセス制御システムの設計者、オペレータまたはユーザに対してこのデータを表示し、また、オペレータビュー（表示画面）、エンジニアビュー、技術者ビュー等の、任意の多くの異なるビューを表示することができる。データヒストリアンアプリケーションは、典型的には、データハイウェイ全域で生成されたデータのうちの一部または全てを収集して格納するデータヒストリアンデバイス内に格納されており、かつデータヒストリアンデバイスによって実行され、一方、構成データベースアプリケーションは、データハイウェイに接続されたまた別のコンピュータ内で実行されて、現在のプロセス制御ルーチン構成およびそれに関連するデータを格納することができる。或いは、構成データベースは、構成アプリケーションと同じワークステーションに設けられてもよい。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
プロセス制御環境で用いられる制御およびサポートアプリケーションの数および種類が増加するのにつれて、ユーザが、それらのアプリケーションを効率的に構成して使用できるようにするさまざまなグラフィカル表示アプリケーションが提供されてきた。例えば、グラフィカル表示アプリケーションは、構成エンジニアが、プロセスプラント内の制御装置へダウンロードされる制御プログラムを図式的に（倉ふぃかリーに）生成できるようにするために、制御構成アプリケーションをサポートするために用いられてきた。加えて、グラフィカル表示アプリケーションは、制御オペレータが、プロセスプラントの現在の機能、またはプロセスプラントの領域を視ることができるように、保守管理者が、プロセスプラント内のハードウェア装置の状態を視ることができるように、プロセスプラントのシミュレーションを可能にする等のために用いられてきた。しかし、これらのグラフィカル表示アプリケーションは、これまで、関連する特定のアプリケーションの一部として、あるいは、特定のアプリケーションをサポートするために作成されてきており、そのため、一般にその実用性が形成されている特定のプロセス機能に対して限定されている。例えば、保守時、構成時またはシミュレーション機能の際に、制御オペレータをサポートするように形成されたグラフィカルプログラムを用いることは、不可能ではなくとも困難である。
【０００７】
いくつかのプロセス制御構成アプリケーションは、現在プロセスプラントのための制御計画（戦略）を生成するために用いられる、機能ブロックテンプレートオブジェクトおよび、場合によっては、制御モジュールテンプレートオブジェクト等のテンプレートオブジェクトからなるライブラリを含む。テンプレートオブジェクトは、オブジェクトに関連するデフォルトのプロパティ、設定およびメソッド（method）を有し、グラフィカル構成アプリケーションを用いるエンジニアは、それらのテンプレートオブジェクトを選択して、選択したテンプレートオブジェクトのコピーを構成スクリーン内に実質的に配置して、制御モジュールを開発することができる。テンプレートオブジェクトの選択および構成スクリーンへの配置のプロセス中に、エンジニアは、それらのオブジェクトの入力と出力とを相互接続し、それらのパラメータ、名称、タグおよび他のプロパティを変更して、プロセスプラントにおける特定用途のための特定の制御モジュールを生成する。その結果、該エンジニアは、該制御モジュールのインスタンスを生成し、それをプロセスプラントの動作中の実行のために、適切なコントローラまたはフィールドデバイスへダウンロードすることができる。
【０００８】
その後、エンジニアは、異なるグラフィカル表示生成アプリケーションを用いて、表示生成アプリケーション内の表示オブジェクトを選択してビルドすることにより、プロセスプラント内のオペレータ、保守管理者等のための１つ以上の個別の表示を生成することができる。それらの表示は、典型的には、１つ以上のワークステーションにおいてシステム広域ベースで実施され、ワークステーションは、プラント内の制御システムまたはデバイスの作動状態について、オペレータまたは保守管理者に対して、予め構成された表示を表示する。それらの表示は、一般に、プロセスプラント内のコントローラまたはデバイスにより生成されたアラームを受け取って表示するアラーム表示、プロセスプラント内のコントローラおよび他のデバイスの作動状態を示す制御表示、プロセスプラント内のデバイスの機能状態を示す保守表示の形をとる。しかし、それらの表示は、一般に、プロセスプラント内のプロセス制御モジュールまたはデバイスから受け取った情報またはデータを既知の方法で表示するように予め構成されている。ある既知のシステムにおいては、表示は物理的または論理的要素と関連付けられたグラフィックを有し、かつ物理的または論理的要素に関するデータを受け取るために、物理的または論理的要素に通信可能に結合されているオブジェクトを使用して生成される。オブジェクトは、例えば、タンクが半分満たされていることを示す、流量センサによって測定された流量を示す等のように、受け取ったデータに基づいて表示スクリーン上のグラフィックを変更することができる。しかし、構成、オペレータ制御、保守およびシミュレーション活動に用いられるそれらのグラフィック表示は、一般に、異なるグラフィカルエディタを用いて、互いに個別に生成される。
【０００９】
従って、上記制御構成アプリケーションと同様に、上記表示生成アプリケーションは、オペレータ用表示、保守用表示等を生成するために、所望の任意の構成でスクリーン上に配置することができるタンク、バルブ、センサ、スライドバー等のオペレータ制御ボタン、オン／オフスイッチ等のテンプレートグラフィック表示アイテムを有することができる。スクリーン上に配置した場合、個々のグラフィックアイテムは、プロセスプラントの内部構造に関するいくつかの情報または表示をユーザに提供するように、スクリーン上で相互に連結することができる。しかし、グラフィック表示をアニメーション化するには、表示クリエーターは、グラフィックアイテムと、プロセスプラント内の関連するデータソースとの間の通信リンクを指定することにより、グラフィックアイテムの各々を、センサによって測定されたデータ、またはバルブ位置を示すデータ等の、プロセスプラント内で生成されたデータに対して手動で結合しなければならない。このプロセスは、面倒であり、時間がかかり、またエラーを伴う可能性がある。
【００１０】
上記制御構成アプリケーション内の制御テンプレートオブジェクトおよび上記表示生成アプリケーション内の表示アイテムは複製することができ、また多くの異なる制御モジュールおよびグラフィック表示を生成する場合に用いることができるため、使い勝手がよいが、上記プロセスプラント内の異なる機器に対して、多数の同じ制御モジュールおよびグラフィック表示を生成する必要がある場合もある。例えば、中規模から大規模なプロセスプラントは、同じ基本的な汎用制御モジュールおよび表示を用いて制御し視ることができる、同じまたは同等の機器の多数のインスタンス（実体）を有する。しかし、それらの多数の制御モジュールおよび表示を生成するには、汎用制御モジュールまたは表示モジュールが生成され、この汎用制御モジュールまたは表示モジュールは、その後、それを適用可能な機器の異なる構成要素の各々に対して複製される。当然、複製された後には、新たな制御モジュールまたは表示モジュールの各々は、帰属する特定の機器を指定するために、上記構成アプリケーションにおいて手動で変更しなければならず、次いでそれらの制御モジュールおよび表示モジュールの全てはインスタンス化してプロセス制御システムにダウンロードしなければならない。
【００１１】
あいにく、上述した制御モジュールおよび表示アイテムは、典型的には、モジュール式ではない。そのため、複製した後、制御モジュールおよび表示の各々は、それらが関連付けられる上記プラント内の機器を指定するために、適当な構成アプリケーションを用いて、手動で個別に変更しなければならない。同じ種類の機器の多数の複製（すなわち、複製（レプリケート）された機器）を有するプラントにおいては、このプロセスは面倒であり、時間がかかり、またオペレータがエラーを招きやすい。さらに、一旦、プログラムされると、それらの異なる制御モジュールおよび表示は、互いを感知しない。そのため、一旦生成された制御モジュールを変更するには、エンジニアまたはオペレータは、異なる複製された機器のための異なる制御モジュールの各々に対して同じ変更を手動で行わなければならず、このこともまた時間がかかり、面倒なことである。同様の問題は、プラント内の複製された機器の異なるセットのために生成されたグラフィカルビューにも当てはまる。換言すれば、一旦、（個別に、またはテンプレートオブジェクトから複製されることにより）特定の制御モジュールまたは特定のグラフィカルビューが生成されて、その後、プラント内の機器の特定のセットに結合されると、この制御モジュールまたはグラフィカルビューは、それと同じかまたは同様の他の制御モジュールまたはグラフィック表示のいずれに対しても自動な感知をすることなく、システム内の独立したエンティティまたはオブジェクトとして存在する。その結果として、特定の種類の制御モジュールおよびグラフィック表示の全てに適用可能な変更は、それらのモジュールおよび表示上で個別に行わなければならない。この問題は、プラント内の同じ機器であるが、異なる機能的状況（コンテキスト）に対して、例えば、制御の確認（ビューイング）、保守の確認およびシミュレーション機能に対して、グラフィックビューが生成された場合により顕著である。この場合、グラフィックビューは、互いにいかなる認識や感知をもすることなく、個別に生成される。
【００１２】
従って、グラフィック表示は、プロセスプラント内で実行される異なった全般的な活動に用いられる異なるアプリケーションで提供され、異なるアプリケーションと関連付けられており、それらのグラフィック表示および関連するグラフィック表示エディタは、一般にそれらがサポートするために生成されたアプリケーションの機能レベルで付加された。その結果、グラフィカルエディタは、単にユーザが、特定のアプリケーションに要する特定の機能をサポートするグラフィックスを生成できるようにする限りで存在した。これまでのプロセスプラントは、プラント構成およびサポートに関連して実行されている様々なまたは多数の活動に関するグラフィック表示のニーズによって使用することができ、あるいはそのニーズをサポートすることができるグラフィック表示エディタを提供していなかった。そのため、例えば制御構成活動をサポートする、または可能にするために用いられるグラフィック表示エディタは、単にユーザが制御プログラムを生成できるようにし、オペレータ用表示または保守用表示のニーズまたは機能をサポートしていなかった。同様に、プラントの稼働中に、制御オペレータまたは保守技術者に対して提供されるオペレータ画面、保守画面等に用いられるグラフィック表示エディタは、構成活動、シミュレーション活動等に関連する機能をサポートしていなかった。制御構成、保守サポート、制御オペレータサポートおよびシミュレーションサポートのような、プロセスプラントの個々の機能レベルでグラフィック表示のニーズがサポートされた結果として、それらの様々なエディタによって生成された異なる個々の表示が、プラント内の同じコンポーネント（構成要素）をモデル化し描画することにだけに終わり、このことはプロセスプラントに対する、様々な異なる人員によるグラフィック表示の労力の重複を生じる。この労力の重複は、異なる用途に対して同じプロセス要素を描画する異なるグラフィック表示を生成するのに要する労力だけでなく、異なる表示アプリケーションで用いられるグラフィック要素を、関連するプロセスプラント内の実際のハードウェアまたはソフトウェアに結合するのに要する労力においても現れる。
【００１３】
様々なプロセスプラント活動に対するグラフィカルサポートは、事後に、実行されている実際の活動の一部として提供されているため、グラフィカルサポートは、共通のグラフィックスをプラントの様々な異なる機能レベルで生成し、かつ使用できるようにするようにはプラント環境内に統合されていない。グラフィックスのこの非統合は、異なる機能に対して実際に生成されるグラフィックスが、機能間またはアプリケーション間で異なるという結果をもたらし、これは、特定の種類のグラフィック表示に慣れていながら、たまにプラント内の異なる動作または機能に関連する異なる表示を視る必要がある可能性のあるユーザに、混乱を引き起こす可能性がある。同様に、上述したように、プラントの様々な異なる機能レベルでのグラフィック表示サポートの提供は、表示を生成する際、および表示内の要素を、プラント内の実際のハードウェアまたはソフトウェア要素に正しく結び付ける際における、グラフィックサポートの重複につながる。
【００１４】
さらに、エラー検出および他のプログラミングは、異なるコントローラ上で作動する制御ループおよび個別のデバイス内の問題に関連した状態、エラー、アラーム等を検出する場合に有用である。そのようなエラー検出は、従来プロセスプラントの異なる機能レベルで行われてきており、またそれらの異なる機能活動のために生成されたグラフィック表示上に表示されている。そのため、プロセスプラント内の異なる場所に配置された（分散されていることもある）デバイスからのデータを分析することにより検出しなければならないシステムレベルの状態またはエラーを認識するように、プロセス制御システムをプログラムすることは難しく、また、そのようなシステムレベルの状態情報をオペレータまたは保守管理者に指し示すようには生成されていないオペレータ表示上に、それらのタイプのエラーを示すことはさらに困難である。また、表示内の異なる要素のための情報またはデータという代替的ソースを用いて、オペレータ表示内でオブジェクトをアニメーション化することも困難である。
【課題を解決するための手段】
【００１５】
本開示の１つの態様によれば、プロセスプラントのためのユーザインタフェースシステムが開示される。該ユーザインタフェースシステムは、コンピュータ可読媒体と、プロセスプラントのプロセスプラント要素を表すグラフィック表示要素を有するプロセスグラフィック表示を構成するグラフィック表示エディタとを含む。グラフィック表示エディタによって生成されたプロセスのグラフィック表示のための構成情報は、宣言型言語によりコンピュータ可読媒体に格納される。ユーザインタフェースシステムはさらに、構成情報から生じるコマンドに基づいて、実行時中に、プロセスのグラフィック表示の描写を生成するグラフィックスレンダリング（描画）エンジンを含む。
【００１６】
宣言型言語は、上記構成情報を表す拡張可能なフォーマットを定義することができる。或いは、または追加的に、構成情報は、宣言型言語に基づくオブジェクトモデルフレームワークに従って格納されてもよい。オブジェクトモデルフレームワークは、基本の形状オブジェクトから作られた追加的なグラフィック表示要素を含むようにプロセスのグラフィック表示を構成するために、グラフィック表示エディタによって利用可能な基本の形状オブジェクトを定義することができる。オブジェクトモデルフレームワークはさらに、または代替的に、複合オブジェクトから作られた追加的なグラフィック表示要素を含むようにプロセスのグラフィック表示を構成するために、グラフィック表示エディタによって利用可能な複合オブジェクトも定義してもよい。グラフィック表示エディタは、コンピュータ可読媒体に格納された、それまでに作られたプロセスモデルオブジェクトから複合オブジェクトを生成するグラフィック編集ツールを含んでもよい。グラフィック編集ツールは、オブジェクトモデルフレームワークを介して定義されてもよい。
【００１７】
いくつかの実施形態において、宣言型言語は拡張可能なマークアップ言語である。また、宣言型言語はさらに、または代替的に、上記構成情報を記述するＸＭＬベースのフォーマットを定義してもよい。
【００１８】
また、上記ユーザインタフェースシステムは、上記構成情報のグラフィックス関連情報に基づいて、別の宣言型言語に従ってコマンドを生成する変換エンジン、プログラムまたは他のツールを含んでもよい。別の宣言型言語は、ある場合においては、ベクトルグラフィックスフォーマットに従って、グラフィックス関連言語を記述することができる。変換エンジンはさらに、または、代替的に、グラフィック表示要素のためのデータ変換ルーチンを指定する別のコマンドを生成してもよい。変換エンジンは、プロセスのグラフィック表示に対して構成情報からデータソース参照ファイルをまた別に生成してもよく、データソース参照ファイルはグラフィック表示要素と共に表示されるデータのデータソースを識別する。
【００１９】
本開示の別の態様によれば、プロセスプラント用ユーザインタフェースシステムとの使用のためのコンピュータ可読媒体に格納されたオブジェクトエンティティが開示される。オブジェクトエンティティは、第１および第２の部分を含む。第１の部分は、ユーザインタフェースを介してプロセスプラントのプロセスプラント要素を描写するためのグラフィックスを定義し、一方、第２の部分は、描画を介して表示されるプロセスプラント要素のオンライン動作を示すデータのためのデータソースを識別する。グラフィカルパラメータは、宣言型フォーマットで記述されている。
【００２０】
いくつかの実施形態において、上記第１の部分は、上記描写を描画する際に用いられる形状オブジェクトのインスタンスを定義する。或いは、または追加的に、第１の部分は、描写を描画する際に用いられる複合形状オブジェクトを定義する。いずれの場合においても、宣言型フォーマットは、拡張可能なマークアップ言語に準拠することができる。さらに、宣言型フォーマットは、グラフィックスを表すベクトルグラフィックスフォーマットを含んでもよい。
【００２１】
上記第１の部分はさらに、上記プロセスプラント要素のオンライン動作を示すデータのグラフィック描写を指定するデータ変換パラメータを定義することができる。オブジェクトエンティティは、プロセスプラント要素のオンライン動作をシミュレーションするために実施されるメソッドを定義する第３の部分を含んでもよい。オブジェクトエンティティは、プロセスプラント要素のオンライン動作をシミュレーションするために実施されるメソッドを定義する第３の部分を含んでもよい。第３の部分は、宣言型フォーマットで記述することができる。また、第２の部分も、宣言型フォーマットで記述することができる。グラフィックスは、プロセスプラント要素のオンライン動作を示すアニメーションを有するアニメーション化要素を含んでもよい。
【発明を実施するための最良の形態】
【００２２】
本願明細書に開示した上記プロセスプラントのユーザインタフェースシステムは、全般的に、一貫して使いやすい方式、および拡張可能かつ柔軟な方法で上記プロセスプラントの動作および保守を支援するユーザ情報および内容を提示するように構成および構築されている。ユーザインタフェースを介して提示された内容および情報は、その情報への幅広く、構成可能でカスタマイズ可能なアクセスを可能にする方法で生成され、構成され、格納され、かつ処理される。この目的を達成するため、およびこれまでのプロセスプラントのユーザインタフェースに関する上述した欠点および制限に対処するため、ユーザインタフェースおよびそのグラフィック構造（例えば、プロセスプラント要素、メニュー、パネル、フェースプレートおよび他のユーザインタフェース構造を表すグラフィック表示要素）は、他のドキュメントまたはデータソースに接続し、また、その他の埋め込み形状または複合形状が、柔軟かつ拡張可能なフォーマットで記述され、構成され、かつ定義される。フォーマットは、本願明細書においてＰＧＸＭＬ（Ｐｒｏｃｅｓｓ  Ｇｒａｐｈｉｃｓ  Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と呼ぶ宣言型（またはマークアップ）言語によって定義することができる。本願明細書でさらに説明するように、ＰＧＸＭＬは、業界標準のマークアップ言語であるＸＭＬに基づくことができる。また、ＰＧＸＭＬを介したユーザインタフェースの包括的（comprehensive）定義は、高度なグラフィックスのレンダリングをサポートすることもできる。この目的を達成するため、本願明細書で説明するＰＧＸＭＬスクリプトは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＸＡＭＬまたは拡大縮小可能なベクトルグラフィックス（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ；ＳＶＧ）等のベクトルグラフィックスフォーマットに変換可能である。その結果、ＰＧＸＭＬスクリプトの非グラフィックス関連コンポーネントは、ユーザインタフェースのＰＧＸＭＬ記述を介して定義された他の機能をサポートするデータ構造、コマンドまたは他の命令、およびファイルを生成および構築するために用いることができる。それに伴って、ＰＧＸＭＬスクリプトは一般に、上記ワークステーション、および表示が描写される他の表示装置にダウンロードされるプロセスグラフィックス実行時ファイルの生成をサポートするために、表示に描写されるグラフィック表示要素のグラフィックス構造および要素の他の様相の内部定義を記述する。
【００２３】
上記ユーザインタフェースの主な目的は、システムレベルでの上記プロセスプラントの仮想ビューを提供することである。この目的を達成するため、本願明細書において、オンラインおよびオフラインの両状況でプロセスプラントの仮想ビューを提供し、かつシステムレベルでの対話および制御を可能にするユーザインタフェースを形成することに対する、モジュール式、オブジェクト指向での手法について説明する。一般的に、グラフィカルオブジェクトは以下に説明するように、プロセスプラントからのプロセス値、プロセス制御システムからのプロセス値、および他のシステムまたはソースからの値およびデータ、のデータソースを指定するプロパティを含むことができる。このようなプロパティ、およびそれから生成されたファイルおよび他のデータは、従ってグラフィカルオブジェクトによって描写されたプロセスグラフィックスのためのデータ通信リンクを確立する。
【００２４】
上記プロセスプラントのユーザインタフェースソリューション（ユーザインタフェースの解決策）の様々な実施形態である以下の開示は、ユーザインタフェースが提供されることができる例示的なプロセスプラントの状況的な説明から始める。これに続くのは、グラフィック機能、シミュレーション機能および他の機能を指定して、プロセスプラントのオンライン動作およびシミュレーションされた動作の両方の描写をサポートする、スマートプロセスオブジェクト（ｓｍａｒｔ  ｐｒｏｃｅｓｓ  ｏｂｊｅｃｔ）の種類の説明である。その後、それらのスマートプロセスオブジェクトのためのオブジェクトモデルフレームワークおよび宣言型言語について説明する。
【００２５】
図１を参照すると、スマートプロセスオブジェクトが、プロセスグラフィック表示およびプロセスモジュールを形成するために用いられ、グラフィック表示およびプロセスモジュールは制御モジュールと統合されて、プラント環境内で機能強化された制御およびシミュレーションを実行できる例示的なプロセスプラント１０が詳細に示されている。具体的には、プロセスプラント１０は１つ以上のコントローラ１２を有する分散型プロセス制御システムを使用し、コントローラ１２の各々は、例えば、Fieldbusインタフェース、Profibus（登録商標）インタフェース、ＨＡＲＴ（登録商標）インタフェース、標準的な４−２０ｍＡのインタフェース等とすることができる入力／出力（Ｉ／Ｏ）デバイスまたはカード１８を介して１つ以上のフィールドデバイス１４および１６に接続されている。コントローラ１２は、例えば、イーサネット（登録商標）リンクとすることができるデータハイウェイ２４を介して、１つ以上のホストまたはオペレータワークステーション２０および２２にも結合されている。データベース２８は、データハイウェイ２４に接続されることができ、パラメータ、ステータス（状態）、およびプラント１０内のコントローラおよびフィールドデバイスに関連する他のデータを収集して蓄積するデータヒストリアンとして、および／または、コントローラ１２およびフィールドデバイス１４および１６にダウンロードされて格納される、プラント１０内のプロセス制御システムの現在の構成を格納する構成データベースとして機能する。コントローラ１２、Ｉ／Ｏカード１８およびフィールドデバイス１４および１６は、典型的には、過酷な場合もあるプラント環境にわたって分散されて配置されているが、オペレータワークステーション２０および２２およびデータベース２８は通常、制御室、または、制御担当者または保守管理者が容易にアクセス可能なより厳しくない他の環境に配置されている。
【００２６】
周知のように、一例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ社によって販売されているＤｅｌｔａＶ（登録商標）コントローラとすることができるコントローラ１２の各々は、異なる独立して実行される制御モジュールまたはブロック２９を任意の数だけ用いて制御計画を実施するコントローラアプリケーションを格納し、実行する。制御モジュール２９の各々は機能ブロックと通常呼ばれているもので形成することができ、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、（リンクと呼ばれる通信を介して）他の機能ブロックと共に機能して、プロセスプラント１０内のプロセス制御ループを実施する。周知のように、オブジェクト指向プログラミングプロトコルにおけるオブジェクトであってもよい機能ブロックは、典型的には、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスに関連する入力機能、ＰＩＤ、ファジー論理等の制御を実行する制御ルーチンに関連する制御機能、または、プロセスプラント１０内のある物理的な機能を実行するために、バルブ等のあるデバイスの動作を制御する出力機能、のうちの１つを実行する。当然、モデル予測コントローラ（ｍｏｄｅｌ  ｐｒｅｄｉｃｔｉｖｅ  ｃｏｎｔｒｏｌｌｅｒｓ；ＭＰＣｓ）、オプティマイザ等のハイブリッドタイプのおよび他の種類の複合機能ブロックも存在する。FieldbusプロトコルおよびＤｅｌｔａＶ（登録商標）システムプロトコルは、オブジェクト指向プログラミングプロトコルで設計および実施された制御モジュールおよび機能ブロックを用いるが、制御モジュールは、例えば、シーケンシャル機能ブロック、ラダー論理（ｌａｄｄｅｒ  ｌｏｇｉｃ）等を含む任意の所望の制御プログラミングスキームを用いて設計することができ、また、機能ブロックまたは他の任意の特定のプログラミング方法を用いて設計および実装されることに限定されない。
【００２７】
図１に示すプラント１０において、コントローラ１２に接続されたフィールドデバイス１４および１６は標準的な４−２０ｍＡのデバイスであってよく、プロセッサおよびメモリを含むＨＡＲＴ(登録商標)、Profibus（登録商標）、またはＦＯＵＮＤＡＴＩＯＮ(登録商標)Ｆｉｅｌｄｂｕｓフィールドデバイス等の高性能（スマート）フィールドデバイスであってもよく、あるいは、他の任意の所望の種類のデバイスとすることもできる。Fieldbusフィールドデバイス（図１で参照数字１６が付されている）等のこれらのデバイスのうちのいくつかは、コントローラ１２で実施される制御計画に関連する機能ブロック等のモジュールまたはサブモジュールを格納し、実行することができる。２つの異なるFieldbusフィールドデバイス１６内に設けられているように図１に示されている機能ブロック３０は、周知のように、プロセス制御を実施するために、コントローラ１２内の制御モジュール２９の実行と共に実行することができる。当然、フィールドデバイス１４および１６は、センサ、バルブ、トランスミッタ、ポジショナ等のいかなる種類のデバイスであってもよく、また、Ｉ／Ｏデバイス１８は、ＨＡＲＴ(登録商標)、Fieldbus、Profibus（登録商標）等の任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのＩ／Ｏデバイスとすることができる。
【００２８】
図１のプロセスプラント１０において、ワークステーション２０は、許可されたユーザ（他の種類のユーザも存在する可能性があるが、本願明細書では、構成エンジニアと呼ぶ場合があり、また、オペレータと呼ぶ場合もある）は誰でもアクセスすることができ、プロセスプラント１０内で接続されたデバイス、ユニット等に関する機能を確認し、提供できる、一式のオペレータインタフェースアプリケーションおよび他のデータ構造３２を含む。一式のオペレータインタフェースアプリケーション３２は、ワークステーション２０のメモリ３４内に格納されており、一式のアプリケーション３２内のアプリケーションまたはエンティティの各々は、ワークステーション２０に関連するプロセッサ３６上で実行されるように構成されている。一式のアプリケーション３２の全体がワークステーション２０内に格納されているように示されているが、それらのアプリケーションまたは他のエンティティの一部は、プラント１０内のまたはプラントに関連する他のワークステーションまたはコンピュータ装置内に格納され、実行されることができる。さらに、一式のアプリケーションは、ワークステーション２０に付随する表示スクリーン３７、または、ハンドヘルド（携帯）デバイス、ラップトップ、他のワークステーション、プリンタ等を含む他の任意の所望の表示スクリーンまたは表示装置に表示出力を供給することができる。同様に、一式のアプリケーション３２内のアプリケーションは、２つ以上のコンピュータまたはマシン上に分割して実行させることができ、また、互いに関連して作動するように構成してもよい。
【００２９】
一般的に、一式のアプリケーション３２は、３つの異なる種類のエンティティの生成および使用を提供または可能にし、それらの動作は一緒に統合されることにより、プロセスプラント１０内での機能強化された制御、シミュレーションおよび表示機能を実現できる。より具体的には、一式のアプリケーション３２は、プロセスグラフィック表示３５（一般にプロセスプラントの一部に関連するオペレータ表示を表示させる）、プロセスモジュール３９（一般にプロセスプラントの一部のシミュレーションを実行できる）、および、一般に、プロセスのオンライン制御を可能にしまたは実行する制御モジュール２９等のプロセス制御モジュールを生成および実施するために用いることができる。プロセス制御モジュール２９は一般に、当技術分野において公知であり、機能ブロック制御モジュール等の任意の種類の制御モジュールを含むことができる。以下に、より詳細に説明するプロセスグラフィック表示要素３５は、全般的に、オペレータ用表示、エンジニア用表示、または、オペレータ等のユーザにプロセスプラントおよびプロセスプラント内の構成要素の動作、構成または設定に関する情報を提供するその他の表示によって用いられる要素である。プロセスモジュール３９は一般に、プロセスグラフィック表示要素３５に密接に結合されており、プロセスプラントの動作のシミュレーション、または、プロセスグラフィック表示３５で描写されるように接続された、プロセスプラント内の異なる要素の一部のシミュレーションを実行するために用いることができる。プロセスグラフィック表示３５およびプロセスモジュール３９は、ワークステーション２０および２２内に格納され、かつワークステーションによって実行されるように示されているが、プロセスグラフィック表示３５およびプロセスモジュール３９は、ラップトップ、ハンドヘルドデバイス等を含む、プロセス制御プラント１０に関連する他の任意のコンピュータにダウンロードして、そこで実行することができる。
【００３０】
図２は、ワークステーション２０の一式のアプリケーション３２内のアプリケーションおよびデータ構造または他のエンティティのいくつかを示す。具体的には、一式のアプリケーション３２は、制御モジュール、プロセスモジュール（プロセスフローモジュールともいう）、および関連するグラフィック表示を生成するために構成エンジニアによって用いられる、制御モジュール構成アプリケーション、プロセスモジュール構成アプリケーション、およびグラフィック表示構成アプリケーション３８を含む。制御モジュール構成アプリケーション３８は、任意の標準的なまたは既知の制御モジュール構成アプリケーションとすることができるが、プロセスモジュール構成アプリケーションおよびグラフィック表示構成アプリケーションは、１つ以上のスマートプロセスオブジェクトを用いてプロセスモジュールおよびグラフィック表示を生成することができ、スマートプロセスオブジェクトの性質は、以下により詳細に説明する。さらに、プロセスモジュール構成アプリケーションとプロセスグラフィック構成アプリケーション３８は、別個に示されているが、１つの構成アプリケーションが、それらのタイプの要素を両方とも生成することもできる。
【００３１】
スマートプロセスオブジェクト４２のライブラリ４０は、例示的なまたはテンプレートのスマートプロセスオブジェクト４２を含み、構成アプリケーション３８がこれにアクセスして複製し、これを用いてプロセスモジュール３９およびグラフィック表示３５を生成することができる。理解されるように、構成アプリケーション３８は、１つ以上のプロセスモジュール３９を生成するために用いることができ、プロセスモジュールの各々は、１つ以上のスマートプロセスオブジェクト４２からなるか、またはそれから生成されており、プロセスモジュールメモリ４６に格納されている１つ以上のプロセスフローまたはシミュレーションアルゴリズム４５を含んでもよい。加えて、構成アプリケーション３８は１つ以上のグラフィック表示３５を生成するために用いることができ、１つ以上のグラフィック表示の各々は、１つ以上のスマートプロセスオブジェクト４２からなるか、または１つ以上のスマートプロセスオブジェクトから生成されており、互いに接続された表示要素を任意の数だけ含むことができる。１つのグラフィック表示３５ｂを、図２に拡大した形で示し、このグラフィック表示は、パイプ、導管、電源ケーブル、コンベヤ等とすることができる接続要素によって相互接続されたバルブ、タンク、センサおよびフロートランスミッタ等の一組のプロセス要素の描写を含む。
【００３２】
実行エンジン４８は、実行時中に、グラフィック表示３５およびプロセスモジュール３９の各々を作動させ、または実施して、グラフィック表示３５により定義されたオペレータのための１つ以上のプロセス表示を生成し、プロセスモジュール３９に関連するシミュレーション機能を実施する。実行エンジン４８は、プロセスモジュール３９全体、特にそれらのモジュール内の上記スマートプロセスオブジェクトで実施されるロジックを定義するルールデータベース５０を用いることができる。また、実行エンジン４８は、プロセスモジュール３９のための機能を実施するために、プラント１０内およびプロセスモジュール３９内のプロセス要素間の接続を定義する接続マトリックス５２を用いることができる。
【００３３】
図２は、１つのスマートプロセスオブジェクト４２ｅを詳細に示す。スマートプロセスオブジェクト４２ｅは、テンプレートスマートプロセスオブジェクトの１つとして示されているが、他のスマートプロセスオブジェクトが一般に、スマートプロセスオブジェクト４２ｅに関して説明したものと同じかまたは同様の要素、特徴、パラメータ等を含むこと、およびそれらの要素、特徴およびパラメータの仕様または値を、スマートプロセスオブジェクトの性質および用途によって、スマートプロセスオブジェクトごとに変更または変化させることができることは理解されよう。さらに、スマートプロセスオブジェクト４２ｅは、オブジェクト指向プログラミング環境内の１つのオブジェクトとすることができるため、これに関連するデータストア、入力および出力、及びメソッドを含むことができるが、このスマートプロセスオブジェクトは、他の任意の所望のプログラミングパラダイムまたはプロトコルによって生成および実施してもよい。
【００３４】
理解されるように、スマートプロセスオブジェクト４２ｅは、インスタンス化される前は、図１のプロセスプラント１０内の、物理的または論理的エンティティ等の特定の種類のエンティティに関連しているオブジェクトである。しかし、コピーおよびインスタンス化された後は、スマートプロセスオブジェクト４２ｅは、プロセスプラント内の特定のエンティティに結び付けられることができる。いずれにしても、スマートプロセスオブジェクト４２ｅは、スマートプロセスオブジェクト４２ｅが関連付けられている論理的エンティティから受け取ったデータ、または、該論理的エンティティに属するデータを格納するために用いられるデータストア５３を含む。データストア５３は一般に、製造者、改訂版、名前、タイプ等の、スマートプロセスオブジェクト４２ｅが属するエンティティに関する一般的または永続的な情報を格納するデータストア５３ａを含む。データ５３ｂは、パラメータデータ、ステータスデータ、入力および出力データ、コスト、または、過去に存在したことのある、または現在プロセスプラント１０内に存在するエンティティに関連するデータを含む、スマートプロセスオブジェクト４２ｅが属するエンティティに関する他のデータ等の変数または変化するデータを格納することができる。当然、スマートプロセスオブジェクト４２ｅは、任意の所望の通信リンクを介してエンティティ自体から、イーサネット（登録商標）バス２４を介してヒストリアン２８から、あるいは、他の任意の所望の方法で、定期的または非定期的に、このデータ（例えば、コストデータ）を受け取るように構成またはプログラミングすることができる。データストア５３ｃは、スマートプロセスオブジェクト４２ｅが属し、かつ図１のワークステーション２０に付随するスクリーン３７等のオペレータインタフェースを介したオペレータへの実際の表示に用いられるグラフィック表示を格納することができる。当然、グラフィック表示は、データストア５３ｂに格納されているようなエンティティに関するパラメータまたは他の可変データによって定義される情報等の、エンティティに関する情報のためのプレースホルダ（データストア５３ｃ内でアンダーラインによりマークされている）を含んでもよい。このパラメータデータは、グラフィック表現が、オペレータに対して、グラフィック表示３５のうちの１つの一部として表示装置３７に提示されたときに、プレースホルダに表示することができる。また、グラフィック表示（およびスマートプロセスオブジェクト４２ｅ）は、オペレータまたは構成エンジニアが、上流または下流のコンポーネントを、グラフィック表現によって描写されているようにプロセス要素に取付けることを可能にする予め定義された接続点（データストア５３ｃにおいて“Ｘ”によってマークされている）を含んでもよい。また当然、それらの接続点は、スマートプロセスオブジェクト４２ｅが、プロセスモジュール内に構成された場合にスマートオブジェクトに接続された要素を認識できるようにし、また、パイプ、ダクト等の使用すべき接続要素の種類、その要素に関連するストリーム等を指定してもよい。
【００３５】
また、スマートプロセスオブジェクト４２ｅは、スマートプロセスオブジェクト４２が用いられるプロセスモジュールの内又は外の他のスマートプロセスオブジェクトとの通信を可能にするために、１つ以上の入力５４および出力５６を含むこともできる。入力５４および出力５６の他のスマートプロセスオブジェクトへの接続は、単純に他のスマートプロセスオブジェクトをそれらの入力および出力に接続することにより、または、スマートプロセスオブジェクト間で行われる特定の通信を指定することにより、プロセスモジュールの構成中に、構成エンジニアによって設定されることができる。それらの入力および出力の一部は、上述したように、スマートプロセスオブジェクトのための予め定義された接続点でスマートプロセスオブジェクトに接続されるように定義することができる。また、これらの入力５４および出力５６は、ルールデータベース５０内のルールのセット、およびプラント１０内の異なるデバイスまたはエンティティ間の接続を定義する接続マトリックス５２によって決定または定義することができる。入力および出力に関連するデータストアまたはバッファを含む入力５４および出力５６は、全般的に、他のスマートプロセスオブジェクトからスマートプロセスオブジェクトへのデータの通信、あるいは、スマートプロセスオブジェクト内に格納されたデータまたはプロセスオブジェクト４２ｅによって生成されたデータの他のスマートプロセスオブジェクトへの通信を提供するために用いられる。これらの入力および出力は、スマートプロセスオブジェクト４２ｅと、コントローラ１２内の制御モジュール、フィールドデバイス１４、１６等の、上記プロセス制御システム内の他のオブジェクトとの間の通信を提供するために用いることもできる。
【００３６】
図２に示すように、スマートプロセスオブジェクト４２ｅは、スマートプロセスオブジェクト４２ｅが用いられるプロセスモジュールの実行中に、スマートプロセスオブジェクト４２ｅによって実施されるアルゴリズムとすることができるゼロ、或いは１つ以上のメソッド６０（図２に、メソッド６０ａ、６０ｂおよび６０ｃとして示している）を格納するために用いられるメソッドストレージ（格納部）５８も含む。一般に、メソッドストレージ５８内に格納されたメソッド６０は、データストレージ部５３ａおよび５３ｂ内に格納されたデータと、他のスマートプロセスオブジェクトから得られたデータ、または、入力５４および出力５６を介して構成データベースまたはヒストリアン２８等の他のソースからのデータさえも用いて、プロセスプラント１０またはプラント１０内のエンティティに関する情報を判断する。メソッド６０は例えば、スマートプロセスオブジェクト４２ｅによって定義されたエンティティに関連する不十分または悪い動作状況、該エンティティまたはプロセスプラント１０内の他のエンティティに関連するエラー等を判断することができる。メソッド６０は、スマートプロセスオブジェクトの種類またはクラスに基づいて予め設定または提供されることができ、また一般に、スマートプロセスオブジェクト４２ｅが実行時中に実行エンジン４８内で実行されるたびに実行される。スマートプロセスオブジェクト４２ｅ等のスマートプロセスオブジェクト内に提供できるいくつかの例示的なメソッド６０は、漏れ、不感帯、不動作時間、動き、変動性、状態監視、計算コスト、またはエンティティに関連する他の状態を検出することを含む。
【００３７】
また、メソッド６０は、スマートプロセスオブジェクトに関連するプロセスエンティティの動作を、プロセスエンティティを通過する材料に関してシミュレーションするのを支援することを可能にすることもできる。その結果、メソッド６０は、質量平衡、エネルギバランス、フロー、温度、成分、気相状態、およびプラント１０内の構成要素に関連する他のシステムレベルのまたはストリームレベルのパラメータを計算し、与えられた入力等に基づいて予測される出力を計算するように、要素の動作をシミュレーションするために提供されることができる。当然これらはスマートプロセスオブジェクト４２ｅ内に格納することができ、かつプロセスオブジェクトによって実行できるほんの一部のメソッドであり、他にも多くの使用できるメソッドがあり、これらメソッドは一般にそれらにより表現されるエンティティの種類、該エンティティがプロセスプラント内で接続されて用いられている方法、および他の要因により定められる。スマートプロセスオブジェクト４２ｅは、システムレベルの状態、エラー等を検出するメソッドを格納して実行できるが、これらのメソッドは、デバイス、プロセス制御モジュールおよびループ等の論理要素、および他の非システムレベルのエンティティに関する他の情報を判断するために用いることもできることに留意することが重要である。必要に応じて、メソッド６０は、Ｃ、Ｃ＋＋、Ｃ＃等のいずれかの所望のプログラミング言語でプログラムまたは形成することができ、または、実行中に、スマートプロセスオブジェクト４２ｅのために実行すべき、ルールデータベース５０内の適用可能なルールを参照、あるいは定義することができる。
【００３８】
必要に応じて、各スマートプロセスオブジェクトは、プロセスモジュール内で接続された場合に、該スマートプロセスオブジェクトのシミュレーション動作を定義するために用いることができる適用可能なアルゴリズムまたはメソッドのライブラリを含むことができる。そのようなライブラリは、図２のスマートプロセスオブジェクト４２ｅのためのプルダウンメニュー６１内に示されており、同様のメニューは、互いにスマートプロセスオブジェクトと関連付けられることができる。構成エンジニアは、スマートプロセスオブジェクトを、例えばプルダウンメニュー６１を介してシミュレーションアルゴリズムのライブラリのうちの１つ（メソッド１、メソッド２等と呼ばれる）を選択することにより、プロセスモジュール３９内に配置されているとき、このスマートプロセスオブジェクトのシミュレーション動作を定義することができる。このように、構成エンジニアは、スマートプロセスオブジェクトがモデル化するために用いられるプロセスの種類または性質により、スマートプロセスオブジェクトのための異なるシミュレーション動作を定義することができる。
【００３９】
構成エンジニアは、必要に応じて代わりに、独自に開発した、または他のユーザが提供したアルゴリズムを提供して、上記スマートプロセスブロックによって定義されるプロセス要素のシミュレーション動作を定義してもよい。そのようなユーザが定義したアルゴリズム（プルダウンメニュー６１において、“ユーザ定義”エントリとして示す）は、スマートプロセスオブジェクトがプロセスモジュール３９内に配置され、またはプロセスモジュール内で用いられた場合に、スマートプロセスオブジェクトに提供され、プロセスオブジェクト内に格納されることができる。この機能によりシミュレーション動作がユーザによってカスタマイズされることができ、それによって、良好なまたはより厳密なシミュレーションを実行できるようにする。必要に応じて、およびより詳細に後述するように、スマートプロセスオブジェクト４２または各プロセスモジュール３９は、プロセスオブジェクト内でのシミュレーションアルゴリズムの使用を無効にし、その代わりに、プロセスモジュールの動作を、ＨＹＳＹＳ（登録商標）によって提供されるもの等の高品質のシミュレーションパッケージまたはプログラムによって決定させる、オペレータが作動させることができるスイッチ（電子スイッチまたはフラグ等）を含んでもよい。この場合、スマートプロセスオブジェクトまたはプロセスモジュールは、スマートプロセスオブジェクト自体内のシミュレーションアルゴリズムを用いることとは反対に、高品質のシミュレーションからシミュレーションされたパラメータを得る。
【００４０】
実行エンジン４８によるグラフィック表示３５またはプロセスモジュール３９の実行中に、エンジン４８は、入力５４および出力５６により定義された、グラフィック表示３５またはプロセスモジュール３９内の各スマートプロセスオブジェクトへの通信を実施し、それらのオブジェクトの各々のメソッド６０を実施して、メソッド６０によって提供される機能を実行する。上述したように、メソッド６０の機能は、スマートプロセスオブジェクト内でプログラミングする際に設けるか、または、ルールによって定義された機能を実施するために、スマートプロセスオブジェクトの種類、クラス、識別、タグネーム等に基づいて、エンジン４８が実行する、ルールデータベース５０内の１組のルールによって定義することができる。
【００４１】
スマートプロセスオブジェクト４２ｅのインスタンスは、スマートプロセスオブジェクト４２ｅが関連付けられているプロセスモジュールに関連するタグまたは固有（一意の）名を有し、このタグまたは固有名は、スマートプロセスオブジェクト４２ｅへの、またはスマートプロセスオブジェクト４２ｅからの通信を実行するために用いることができ、かつ実行時中に実行エンジン４８によって参照されることができることに留意されたい。プロセスモジュールタグは、制御システム構成内で一意のものとすべきである。このタグ付け規定は、プロセスモジュール３９内の要素が、他のプロセスグラフィック表示３５内の要素、プロセスモジュール３９内の要素、さらには制御モジュール２９内の要素によっても参照されることを可能にする。さらに、スマートプロセスオブジェクト４２ｅのパラメータは、単純な値等の単純なパラメータ、構造化されたパラメータ、または、関連することが予想されるユニットおよびユニットの特性（プロパティ）を感知するスマートパラメータ等とすることができる。スマートパラメータは、全ての信号が同じ単位で送られること、または、全ての信号が正しく変換されることを確実にするように、プロセスルールエンジンまたは実行エンジン４８によって解釈されて用いられることができる。また、スマート（高性能）ルールは、スマートプロセスオブジェクト（またはプロセスモジュール）のためのアラーム群をオンオフするために用いて、オペレータのための高性能のアラーム計画および／またはインタフェースを形成することができる。さらにまた、スマートプロセスオブジェクトクラスは、プラント１０のプロセス制御計画内の機器およびモジュールクラスと関連付けられ、スマートプロセスオブジェクトと、解釈またはアクセスする必要があるプロセス変数との間の既知の関連（リンク）を生成することができる。
【００４２】
スマートプロセスオブジェクトは、プロセスグラフィック表示またはプロセスモジュールに用いられた場合には、それらのスマートオブジェクトを、実行時中に、オフ、始動、通常モード等の異なるモードにすることができるような、動作のモード、ステータスおよびアラーム動作を含んでもよく、また、現在の作動状態に基づくオブジェクトに関連付けられたステータスを生成してもよく、また、範囲外のパラメータ、臨海、高い変動等の検出された状態に基づいてアラームを生成してもよい。さらに、ステータスは、スマートプロセスオブジェクトの接続に反映させることができ、また、オブジェクトのために表示されたグラフィック表示要素のビューをアニメーション化するために依存されるか又は用いられることができる。また、ステータスは、プロセスまたは表示において、前に発生したスマートプロセスオブジェクトの状態に影響を及ぼすように、スマートプロセスオブジェクトによって溯って計算されることもできる。以下に詳述するように、スマートプロセスオブジェクトは、プロセスオブジェクトをクラスライブラリ内で分類できるようにし、複合構造で一緒に収集できるようにするクラス／サブクラス階層を有してもよい。さらにまた、スマートプロセスオブジェクトは、スマートプロセスオブジェクトが、その関連するエンティティがビジー状態である、例えば、プラント１０内のバッチ制御プロセスによって確保されている場合等を認識可能とするために、制御モジュールおよび他のオブジェクト等の他の要素からの情報を活用してもよい。
【００４３】
スマートプロセスオブジェクトは、ポンプ、タンク、バルブ等の物理的デバイス、あるいは、プロセス領域、測定値またはアクチュエータ、制御計画等の論理的エンティティ等の任意の所望のプロセスエンティティと関連付けることができる。ある場合においては、スマートプロセスオブジェクトは、配管、導管、配線、コンベヤ等のコネクタ、または、プロセス内の１つのポイントから別のポイントへ、物質、電気、ガス等を移動させる他の任意のデバイスと関連付けることができる。本願明細書において、スマートリンクまたはコネクタ要素と呼ぶ場合もあるコネクタと関連付けられているスマートプロセスオブジェクトもまたタグ付けされ（実際のデバイスまたはコネクタ自体は、タグ付けしなくてもよく、または、プロセスプラント１０内で通信ができなくてもよいが）、また一般に、プロセス内の他の要素間での物質の流れを表すのに用いられる。
【００４４】
スマートリンクは、典型的には、さまざまな物質または現象（電気等）がどのように接続部を通過するか（たとえば、蒸気、電気、水、汚水等）を定義するプロパティまたはパラメータを含む。それらのパラメータは、接続部を通過するフローの種類および性質（例えば、通常の速度、摩擦係数、乱流または非乱流等のフローの種類、電磁気等）、および接続部を通るフローの考えられる方向を示すことができる。スマートリンクは、スマートリンクが接続するソースおよび宛先オブジェクトのユニットが整合し、整合しない場合には、変換を実行できるようにするプログラミングまたはメソッドを含むことができる。スマートリンクのメソッドは、実際のコネクタを通るフローの速度および性質、物理的な接続部の長さおよびサイズ、搬送遅延等を推定するモデルまたはアルゴリズムを用いて、接続部を通るフローをモデル化することもできる。スマートプロセスオブジェクトのための格納されたパラメータ（摩擦係数等）は、これらのメソッドに用いることができる。従って、本質的に、スマートリンクまたはコネクタは、スマートプロセスオブジェクトが、他の上流および下流のオブジェクトまたはエンティティを認識できるようにする。当然、スマートリンクは、例えば、他のオブジェクト間の接続、上記システム内での液体、ガス、電気等の流体の種類、エンティティの上流側および下流側、他のどのようなエンティティがこのスマートプロセスオブジェクトのエンティティの上流および下流にあるか、物質、流体、電流等の方向等を、任意の所望のまたは簡便な方法で定義することができる。一実施形態において、プロセスフローモジュールの実行前にマトリックス５２を形成することができ、これはスマートリンク即ちプラント内の異なるデバイス間の相互接続、従ってさまざまなスマートプロセスオブジェクト間の相互接続を定義することができる。実際には、実行エンジン４８は、マトリックス５２を用いて上流および下流のエンティティを確認し、それによって、スマートプロセスオブジェクトと、該スマートプロセスオブジェクトに関連付けられたメソッドとの間の通信を定義することができる。さらにまた、１組以上のルールを、互いに情報をやり取りするために、およびスマートプロセスオブジェクト内のメソッドにとって必要な場合に、相互にデータを得るために、および出力接続部に関連するスマートオブジェクトの影響を解決するために、スマートプロセスオブジェクトによって用いられるように設けてもよい。
【００４５】
また、必要に応じて、スマートプロセスオブジェクト４２ｅは、ある種のオブジェクトに適用可能な、または、スマートプロセスオブジェクト４２ｅが関連する、デバイスのインスタンス（重要性および用途に依存する）に特有のものであってもよい重要なドキュメンテーションに対する、ＵＲＬ等のホットリンクを含んでもよい。ドキュメンテーションは、ベンダーが供給するもの、およびユーザ固有のものであってもよい。ドキュメンテーションのいくつかの実例は、構成、起動および停止手順、操作および保守用ドキュメンテーションを含む。必要に応じて、オペレータは、オペレータ表示に表示されたオブジェクトをクリックして、該オブジェクトまたは関連するデバイスのためのインスタンスの特定のおよび一般的なドキュメンテーション（存在する場合）を提示することができる。また、オペレータは、保守要求、操作上の問題の記録等のシステムソフトウェアに関係なく、ドキュメンテーションを追加／削除／変更することができる。さらに、それらのホットリンクは、オペレータインタフェース内のオブジェクトに知識リンクを追加する能力を与えるために、オブジェクトに関連する適切な情報への即時の実行できるように、および特定の顧客に対して、特定のオブジェクト種類に対して、または、オブジェクトの特定のインスタンスに対して、固有の作業命令を追加する能力を与えるために、ユーザが設定可能または変更可能であってもよい。
【００４６】
上記プロセスモジュールおよびプロセスグラフィックスは、異なるスマートプロセスオブジェクトの相互接続によって、一緒に生成されるように説明したが、それらは、個別に生成されてもよい。例えば、プロセスグラフィックは、スマートプロセスオブジェクトを用いて生成することができ、生成が完了すると、該グラフィックのためのプロセスモジュールを、グラフィック要素およびグラフィック表示における相互接続関係に基づいて生成することができる。別法として、プロセスモジュールをまずスマートプロセスオブジェクトを用いて生成し、それが一旦生成されると、プロセスモジュールのためのグラフィック表示を、該プロセスモジュールを生成するために用いられたスマートプロセスオブジェクト内のグラフィック表示要素を用いて、構成アプリケーション３８によって自動的に生成することができる。さらに、プロセスモジュールおよびグラフィック表示は個別に生成してもよく、また、それら２つのエンティティにおける個々の要素は、（例えば、グラフィック表示およびプロセスモジュール内の要素のタグプロパティを用いて）互いに参照させることにより、手動で一緒につなぐことができる。このメカニズムによって、スマートプロセスオブジェクトは、複数の表示によって参照されることができる。いずれにしても、一旦、生成されると、プロセスグラフィック表示および関連するプロセスモジュールは、無関係にまたは個別に実行することができるが、それらは、典型的には、要望どおりに、または必要に応じて、パラメータおよび情報を前後に伝達する。
【００４７】
一般的に、ユーザがプロセスプラントを反映するオペレータ表示またはグラフィック表示を構築可能とするために、１組の予め定義されたグラフィック要素を構成アプリケーション内に提供することができる。それらのグラフィック要素は、オンライン測定値、および制御システムと連動するアクチュエータを動的に示すようにデザインされる。加えて、プロセスオペレーションを反映する、測定されないパラメータは、プロセスモジュールに備えられたオンラインプロセスシミュレーションを用いて計算することができ、関連するグラフィック表示と一体化した一部分として示されることができる。
【００４８】
また、シミュレーション目的のエンジニアリングまたはトレーニングに用いられるオフライン環境では、上記プロセスモジュールによって実行されたプロセスシミュレーションは、上記グラフィック要素内のおよび上記関連する制御モジュール内のプロセス測定値の代わりに用いることができる。関連する制御モジュールによって計算されるそれらの値は、上記アクチュエータの位置または状態、ならびにプロセスグラフィックスに示された手動入力の外乱値に基づかせることができる。このように、プロセスグラフィック表示および制御モジュールは、オンラインまたは制御状況、およびオフラインまたはシミュレーション状況の両方の状況で用いることができる。また、グラフィック要素の静的部分は、多くの場合、周知のグラフィックスライブラリに含まれている３次元コンポーネントと同様に見えるが、それらのグラフィック要素のさらなる固有の特徴またはプロパティ、それらの要素を用いて表示される情報、および制御システムＩ／Ｏおよびプロセスシミュレーションモジュールへのリンクは、グラフィック要素の多くの可能な種類および実施例に関して、以下に説明する。
【００４９】
一般的に、スマートプロセスオブジェクトに関連付けられたプロセスモジュール内のグラフィック要素およびシミュレーションアルゴリズムは、ストリーム要素、プロセス接続要素、アクチュエータ要素、処理要素、測定要素および推定されるプロパティ要素を含む多数の異なる種類のプロセス要素のうちの１つに分類される。ストリーム要素は一般に、上記プロセスプラント内での物質の流れを定義し、また、その成分、密度、流量、温度、圧力、重量、および／または物質の流れを定義する他の任意のパラメータを示すために、グラフィック表示内に現してもよい。ストリーム要素は、プロセスモジュールの入力において定義することができ、また、プロセスモジュール内の要素に提供されることによって、プロセスモジュールを通過する物質のフローをモデル化して、グラフィック表示内に描写できるようにすることができる。同様に、ストリーム要素は、プロセスモジュールの出力または端部に示し、グラフィック表示内に、グラフィック表示によって描写されたプロセスプラントの部分の物質出力を示してもよい。また、ストリーム要素は、異なるグラフィック表示（および関連するプロセスモジュール）が互いにどのように接続されるかを定義することもできる。例えば、１つのプロセスモジュールにおける出力ストリームは、別のプロセスモジュールにおける入力ストリームでありえ、他のプロセスモジュールの入力ストリームで用いられる値を供給することもできる。ストリームは、次の４つの部分、すなわち、名称（例えば、ｐＨストリーム）、方向（例えば、フロー入力）、測定値（例えば、流量、圧力、温度）および成分（例えば、窒素、アンモニア等）を含んでもよい。しかし、ストリームは、所望であれば、他の部分またはパラメータを有することもできる。
【００５０】
プロセス接続要素は、固体材料、液体および気体、およびガス等の、上記プラント内の物質が、１つのデバイスから他のデバイスへ供給され、または運ばれる方法を定義する。プロセスを流れる物質のフローを明確に示すため、配管、ダクトおよびコンベヤを含む３種類の異なるプロセス接続部を用いることができる。当然、電気化学プロセスにおける電力フローに対応する電気ケーブル等の他の接続要素も同様に用いることができる。配管は一般に、プラント内の液体および高圧の蒸気またはガスを示す（およびシミュレーションする）のに用いられる。ダクトは、一般に、プラント内の低圧のガスフローを示す（およびシミュレーションする）のに用いられる。コンベヤは、一般に、処理ユニット間の固体材料の動きを示す（およびシミュレーションする）のに用いられる。その結果、各プロセス接続要素は、デバイスの入力または出力に材料を供給するために用いられるパイプ接続、ダクト接続またはコンベヤ接続等の接続の種類を定義する。
【００５１】
必要に応じて、接続によって移送される材料のプロパティは、上流の入力によって決められる。接続が完了したか否かを定義する接続ステータス変数を加えたこの情報は、グラフィック表示上の接続要素のプロパティとして利用可能にされることができる。接続要素は、処理要素出力、アクチュエータ要素出力またはストリーム要素出力を起点とすることができる。同様に、接続要素は、処理要素入力、アクチュエータ要素入力またはストリーム入力を終点とすることができる。
【００５２】
接続要素のプロパティは、グラフィック表示内の接続要素上にカーソルが置かれた場合に、自動的に表示することができる。また、接続要素に関連する特性は、接続要素上に測定または推定プロパティ要素（以下に定義する）を配置することにより、永続的表示のために公開（expose）することができる。所望に応じて接続要素は、要素出力（ストリーム出力、処理要素出力またはアクチュエータ要素出力等）上でマウスの左ボタンを押下し続け、マウスのボタンを押下したまま、カーソルを要素入力の上に配置することにより、生成することができる。接続を首尾よく確立するには、上流および下流の要素の入力および出力の種類（パイプ、ダクトまたはコンベヤ）は整合させなければならない。接続は自動的に、上流の要素のタイプをとることになる。
【００５３】
必要に応じて、配管要素は、パイプ接続として上記プロセスグラフィック表示内に示しまたは描写することができ、ダクト要素（例えば、空気またはガス）はダクトとして示すことができ、コンベヤ要素はコンベヤベルトとして示すことができる。配管、ダクトおよびコンベヤ要素接続は、処理要素間で自動的に経路を決めることができ、またフローの方向を示すために、矢印をそれらの要素の描写の外部に表示することができる。２つの接続部で上流の出力が共通な場合には、“Ｔ”字状要素をパイプ、ダクトまたはコンベヤに含めることができる。同様に、“Ｔ”字状要素は、複数の出力を結合するために用いることができる。コンベヤ要素の色または他のグラフィックプロパティは、その状態、例えば、実行中／停止、流れている／流れていない、塞がっている等の状態を表すように変更してもよい。一般的に、コンベヤに沿った材料の流れは、コンベヤに接続されたモータドライブ（駆動装置）によって決まる。そのため、モータドライブアクチュエータ（以下に詳細に説明するアクチュエータ要素である）をコンベヤに接続することができる。さらに、コンベヤの速度、または、パイプまたはダクト内の材料の流量、コンベヤ、パイプまたはダクトの上または中の材料の特性等の、パイプ、ダクトまたはコンベヤ要素に関連する測定値、例えば、湿度または重量を公開することが可能となるように、測定要素（以下に説明する）を、パイプ、ダクトおよびコンベヤ要素に接続することができる。また、公開されたプロパティ要素は、測定されない、例えば材料の組成等の、パイプ、ダクトまたはコンベヤの上または中の材料の表示特性に追加することができる。
【００５４】
必要に応じて、上記配管、ダクトおよびコンベヤ接続要素の各々は、接続の損失（例えば、色の変更により）、及び選択されたプロパティ（圧力、温度、長さ等）が制限範囲外であること（例えば、色の変更により）、をグラフィックにかつ動的に反映することができる。さらに、関連するプロセスモジュールによって計算されたパラメータも、グラフィックで公開されてもよい。例えば、上流の接続によってもたらされたプロパティ、接続状態が良いか悪いか、接続要素の１つ以上の選択されたパラメータに関する制限値等は、接続要素、または、接続要素によって移送されているストリームに関する情報をオペレータに対して表示するために、グラフィック表示で公開されることができる。
【００５５】
一般的に、アクチュエータ要素は、上記ストリームに対して、いくつかの作動機能を実行する要素であり、異なる要素の間に、または、処理要素と接続要素との間に配置することができる。アクチュエータ要素の実施例は、（アクチュエータを有する）調整バルブ、（アクチュエータを有する）開閉バルブ、（モータを有する）ポンプ、（モータを有する）強制通風ファン、（モータを有する）誘引通風ファン、（開閉バルブを有する）排出器、（駆動装置を有する）ダンパ、（可変速モータを有する）供給器、（コンベヤ要素に取付けることができる）コンベヤモータドライブ等を含む。
【００５６】
上記バルブ要素のグラフィック描写は、当該バルブを制御する関連する制御ブロックの、推定されるバルブ位置（例えば、アニメーションにより）、バルブの故障（例えば、色の変化により）、バルブの全開／全閉位置（例えば、色の変化により）、およびＡＯ、ＤＯ、ＤＣ、設定点、ＰＶ、ＯＵＴ、モード等（例えば数字列又は他の表示により）を動的に反映させることができる。バルブ要素（上記プロセスモジュールに用いられる）に関連するシミュレーション要素は、吐出圧力、質量流量、液体温度、液体成分、入口圧力および出口圧力等の、バルブアクチュエータに関連するパラメータを計算するシミュレーションアルゴリズムを有することができる。それらのシミュレーションまたは計算されたパラメータは、所望であれば、上記プロセスグラフィックで公開することができる。しかし、ユーザまたは構成エンジニアは、通常、バルブに関連する制御モジュール内のＡＯ、ＤＯまたはＤＣブロックへの参照、ならびにバルブのタイプ（例えば、リニア、急開弁、イコールパーセント、バルブサイジング等）および開から閉へのストローク時間を構成しなければならない。当然、バルブを通って流れる材料に対するバルブの動作をシミュレーションする場合に利用可能なシミュレーションアルゴリズムは、バルブの種類およびサイズ情報に依存する。
【００５７】
ポンプ要素のグラフィック描写は、モータ状態（例えば、色の変化を用いて）、関連するＤＯまたはＤＣ機能ブロックモードおよび設定点（例えば、文字列を用いて）、モータ速度（可変速ドライブが使用されている場合）、ＡＯ設定点、ＰＶ、ＯＵＴモード（可変速ドライブが使用されている場合）、および他の所望のパラメータを動的に反映させてもよい。同様に、この要素の（プロセスモジュールに用いられる）プロセスシミュレーションは、吐出圧力、液体成分、液体温度および質量流量等のパラメータを決定または計算することができ、これらのパラメータはグラフィック表示で公開することができる。ユーザは、ポンプの種類に基づいてポンプ曲線を定義する必要がある。しかし、ユーザは、ポンプの動作を定義するために、モータの起動／停止に関連するＤＯまたはＤＣブロックへの参照、可変速ドライブ（使用されている場合）のための関連するＡＯ機能ブロックへの参照、およびポンプ曲線（例えば、圧力対流量）を構成してもよい。
【００５８】
強制通風または誘引ファンアクチュエータ要素のグラフィック描写は、モータ状態、ＤＯまたはＤＣ機能ブロックモードおよび設定点、モータ速度（可変速ドライブが使用されている場合）、ＡＯ設定点、ＰＶ、ＯＵＴ、ＤＯまたはＤＣ機能ブロックモード（可変速ドライブが使用されている場合）、および他の所望のパラメータを動的に反映する描写を有することができ、それらの描写はいずれも、上記グラフィック表示で公開されることができる。この要素のための（プロセスモジュールに用いられる）上記プロセスシミュレーションは、吐出圧力、ガス組成、ガス温度およびガス質量流量等のパラメータを決定または計算することができ、これらのパラメータはグラフィック表示で公開されることができる。ユーザは、モータの起動／停止のための関連するＤＣブロックへの参照、可変速ドライブ（使用されている場合）のためのＡＯブロックへの参照、およびファンのシミュレーションされた動作を定義するためのファン曲線を設定することができる。
【００５９】
ある場合には、特定の種類のアクチュエータは、特定の種類の接続、例えば、パイプ、ダクトまたはコンベヤのみと共に使用することができる。以下の表は、典型的なアクチュエータ要素の場合のいくつかの例示的な接続制限を定義する。
【００６０】
【表１】
2007536647.tif 000003
【００６１】
処理要素は、何らかの方法でプラント内の材料またはストリームを処理するプラント機器を含む。一般的に、処理要素へのおよび処理要素からの全ての入力および出力は、接続要素を介して形成されることになる。標準的な処理要素は、タンク（縦型および横型）、ヒータ、静的ミキサー、リアクタ、ミキサー、エアヒータ、および何らかの種の単純なまたは標準的な処理活動を実行する他のあらゆる要素を含む。標準的な処理要素の場合、ユーザは、物理的機器プロパティ、例えば、サイズ、容量等と共に、要素に対する入力および出力の数を指定することができる。上記シミュレーションアルゴリズムおよびそれらの標準的な処理要素の静的表現は、ユーザによって変更はできないが、構成中には上述したように選択であるように、設定することができる。当然、所望であれば、他の典型的なより複雑なプラント機器（例えば、蒸留塔、エバポレータ、分離器、ボイラー等）を、カスタム処理要素として実装してもよい。静的表現、入力および出力の数、およびそのようなカスタムの処理要素のシミュレーションアルゴリズムは、ユーザインタフェース要求を満たすように修正することができる。一旦、カスタム処理要素が定義されると、カスタム処理要素は、他の処理要素の生成時の起点として再利用又は利用できる合成画像またはテンプレートとして保存することができる。
【００６２】
タンクの標準処理要素（縦型または横型）は、タンクへのパイプ接続に基づいて設定することができ、タンク要素は、タンク内の水位（レベル）を（例えば、動的アニメーションを用いて）動的に反映することができ、および１００％または空の水位を（例えば、色の変化を用いて）動的に反映することができる。タンクのためのプロセスモジュールシミュレーションは、グラフィック表示を介して、出口温度、出口成分、液体温度およびタンクのシミュレーションした水位等のパラメータを計算して公開することができる。しかし、タンクを上記システムに結び付けるために、ユーザまたは構成エンジニアは、入力および出力の接続数、タンクへの完全な接続、サイズ（例えば、直径や高さ）等のタンクプロパティ等を設定する必要がある可能性がある。
【００６３】
ヒータ処理要素は、グラフィック表示を介して、熱伝達率（例えば、色の変化を用いて）、出口生成物温度、入口生成物温度、出口圧力（一定の降下を仮定する）等を動的に計算して反映させてもよい。ユーザまたは構成エンジニアは、ヒータに対する完全な接続、ヒータ面積およびクリーンな場合の熱伝達率を設定する必要がある可能性がある。
【００６４】
当然、静的ミキサー、リアクタ、ミキサー、エアヒータ、熱交換器等の他の処理要素は、それらのデバイスに合わせられた表示およびシミュレーション能力を有してもよい。蒸留塔、エバポレータ、分離器、ボイラー等の非標準的な処理要素は、標準的な選択に含まれていない場合には、該容器に関連するシミュレーションをユーザが定義することができるカスタム処理要素を用いて、グラフィックで表現することができる。それらの要素における処理は、容器の各入力、各出力間に関連するステップ応答モデルとして説明または定義することができる。入力は、ガスおよび／または液体のストリームとすることができる。任意選択的にユーザは、処理要素の入出力間の関係を説明する等式を定義してもよく、それらの等式は、シミュレーションを実行するために当該要素を用いるプロセスモジュール内に格納することができる。必要に応じて、ユーザが、カスタム処理要素に関連する静止グラフィックを素早く生成する場合に役に立つように、いくつかの単純な静止グラフィック描写を提供してもよい。それらの単純なグラフィックを用いた場合、ユーザは、所望の数の入力および出力の接続、およびカスタム処理要素によってサポートされる接続の種類（例えば、パイプ、ダクトまたはコンベヤ）だけを指定すればよい。それに応じてグラフィックアイテムが表示され、直ちにオペレータグラフィックに用いることができる。ユーザが、シミュレーションアルゴリズムをステップ応答として指定するように選んだ場合には、必要に応じて、プロセス要素の各入力および出力に関連するゲインおよび任意の動力学（ダイナミクス）を指定することができる。ユーザがカスタムアルゴリズムを選択した場合には、シミュレーションアルゴリズムを定義するために、ユーザに対して式エディタを提供することができる。選択したメソッドに基づいて、カスタム処理要素出力のプロパティは、異なる方法で計算することができる。さらに、ユーザは、別個のソフトウェアアセンブリで定義した１つ以上のアルゴリズムを参照することができる。
【００６５】
加えて、いくつかの予め定義されたコンポジット（複合形状）またはテンプレートを、カスタム処理要素を生成するために設けてもよい。それらのテンプレートは、例えば、出口ガスＯ2、出口ガスＣＯ、生成された蒸気、ボイラーのドラムレベルおよびボイラー通風を計算するカスタムアルゴリズムを有するボイラーテンプレートを含んでもよい。このようなテンプレートは、単一の燃料入力に基づくことができる。しかし、テンプレートを変更することにより、複数の燃料でボイラーをシミュレーションすることが可能である。他の予め定義されたテンプレートは、専用の容器サイクロン分離器テンプレートを含んでもよく、これは噴霧乾燥機カスタム処理要素と共に使用することができ、かつセパレータの動作をモデル化するステップ応答モデルを含むことができる。同様に、カラムテンプレート、噴霧乾燥機、およびエバポレータ本体は、予想されるプロセス応答を定義するためにステップ応答モデルを用いることができる。エバポレータにおいては、エネルギ入力および入力フローの濃度に基づいて、出力の濃度および放出蒸気を計算することができる。複数のエバポレータ要素は、多重効用蒸発器を形成するために熱交換器および排出器エダクタ要素と共に接続することができる。同様に、専用の容器スタックカスタムテンプレート処理要素は、ボイラー処理要素と共に用いることができる。この場合、入口のプロパティは、所望であれば変更なしで、あるいは、スタック内で実行される放射低減を反映するように、スタック内に保持されることができる。
【００６６】
グラフィック表示およびプロセスモジュールを生成するために用いることができる他の種類の要素は、測定要素およびプロパティ要素を含む。測定要素は、物理的トランスミッタに関連する測定値にアクセスするために、グラフィック表示に用いることができるトランスミッタ要素と、スイッチ要素とを含む。一般に、トランスミッタ要素は、悪いまたは不明確な状態、制御モジュール内の関連するＡＩ機能ブロックのモード、実際のトランスミッタ（センサ）に関連する測定値および測定ユニット等、または、実際のトランスミッタに関連するその他のデータを動的に反映することができる。オフラインモード（またはシミュレーションモード）において、トランスミッタ要素は、ＡＩまたはＰＣＩブロックに関連する値ではなく、プロセスモジュールによって生成されたシミュレーション値にアクセスして表示する、または、測定値をシミュレーションされた制御ルーチンで用いられる測定値として制御モジュール内の関連するＡＩブロックに供給するために用いることができる。トランスミッタ要素は、接続要素または処理要素に付加することができ、また、そのようなトランスミッタ要素が表示に追加された場合、ユーザは一般に、測定を実行している関連するＡＩ、ＰＣＩまたはＤＩブロックをコントローラスキームで識別する必要がある。オンラインモードでは、測定の値は、この測定要素に隣接して示すことができる。オフラインモード（またはシミュレーションモード）では、測定のシミュレーション値（対応するプロセスモジュールにより作成される）は、自動的に表示することができる。オンライン動作中において、測定不良の場合には、ユーザは制御および表示をシミュレーション値に切り替えるように選択することができる。
【００６７】
スイッチ要素は、悪いまたは不明確な状態、関連するＤＩのモード（例えば、手動またはＯＳ）、およびスイッチの個々の値（オン、オフ等）を動的に反映することができる。オフラインシミュレーションモードの場合、ユーザは、スイッチ表示要素を用いて、シミュレーション値または手動値およびステータスを選択することにより、およびスイッチの値およびステータス（状態）を手動入力することにより、グラフィック表示および制御モジュール内のスイッチパラメータにアクセスして変更することができる。しかし、ユーザは一般に、制御スキームにおける関連するＤＩブロックへの参照、スイッチをトリガする要素プロパティへの参照、およびスイッチの状態の変化に関連する制限および不感帯を提供することにより、スイッチ要素を構成することができる。
【００６８】
推定プロパティ要素は、一般に上記プロセスモジュールにより決定されたシステムの推定プロパティを公開し、接続要素または処理要素に付加することにより当該要素のいずれかのプロパティを表示することができる。この要素が接続要素上、または１つの機器に配置された場合、ユーザは表示されるプロパティをブラウズして選択することができる。その結果、物理的測定によって利用可能ではないシミュレーションされたプロパティを、推定測定要素の使用によって公開することができる。このような推定プロパティ要素は、良い／悪い接続、推定プロパティ値、および関連する制限範囲または変更範囲から外れているプロパティを動的に反映することができる。ユーザは一般に、プロパティが制限値から外れている場合に表示すべきプロパティへの参照、および該要素のための制限および色変更を構成しなければならない。
【００６９】
理解されるように、トランスミッタ要素および推定プロパティ要素を、処理要素、アクチュエータ要素および接続要素に付加することにより、それらのプロセスプラント要素の入出力に関連するプロパティを、オンライン動作またはオフラインシミュレーション中に参照することができる。これらのプロパティは、上記プロセスグラフィック表示で可視化することもできる。
【００７０】
一般的に、オペレータは、構成アプリケーション３８を動作または実行して、プロセス１０の動作中で実装するための、またはシミュレーション環境内で実装するための、１つ以上のプロセスモジュール３９またはグラフィック表示を生成することができる。一実施形態において、構成アプリケーション３８は、図３に示すような構成表示を構成エンジニアに提示する。図３に見られるように、構成表示６４は、ライブラリまたはテンプレート部６５と構成部６６とを含む。テンプレート部６５は、テンプレートのスマートプロセスオブジェクト６７のセットの描写を含み、この描写は図２のスマートプロセスオブジェクト４２を含むことができ、上述した接続、測定、ストリーム、処理および推定プロパティ要素のうちの任意のものとすることができる。所望により、グラフィック定義を有するのみの非スマート要素６８を提供してもよい。本質的に、テンプレート６７および６８は、構成部６６上へドラッグ・アンド・ドロップして、プロセスモジュールまたはグラフィック表示（あるいはその両方）内のスマートプロセスオブジェクトのインスタンスを生成することができる汎用（ジェネリック）オブジェクトである。部分的に完成されたプロセスグラフィック表示３５ｃは、上述したようなスマートリンクまたはコネクタとすることができ、かつストリーム出力を生成できる流路コネクタによって相互接続された１つのバルブ、２つのタンク、２つのポンプ、１つのフロートランスミッタおよび２つのセンサを含んで示されている。グラフィック表示３５ｃが、スマートプロセスオブジェクトおよび非スマート要素の両方で形成することができることに留意されたい。
【００７１】
グラフィック表示３５ｃ（または、プロセスモジュール）等のグラフィック表示を生成するとき、構成エンジニアは、テンプレート部６５内に示されたスマートプロセスオブジェクト６７および要素６８を選択して、構成部６６上へドラッグし、該オブジェクトおよび要素を任意の所望の位置にドロップすることができる。一般に、構成エンジニアは、デバイスを描写する１つ以上のスマートプロセスオブジェクト６７ａ、または非スマート要素６８を選択して、構成部６６上へドラッグする。そして、構成エンジニアは、構成部６６内のスマートプロセスオブジェクトとスマートコネクタプロセスオブジェクト６７ｂとを相互接続し、入力および出力ストリーム６７ｃを表示内に配置することができる。また、非スマート要素を表示に追加してもよい。構成エンジニアは、このプロセス中に、ポップアッププロパティメニュー等を用いて、スマートプロセスオブジェクトの各々のプロパティを変更することができ、具体的には、それらのスマートプロセスオブジェクトに関連するメソッド、パラメータ、タグ、名称、ホットリンク、モード、クラス、入力および出力等を変更することができる。プロセスまたは構成エンジニアが、典型的には、プロセス構成、領域等を表すプロセスモジュールを各所望の要素により生成すると、構成エンジニアは、該モジュールに付随するルールまたは他の機能を定義することができる。そのようなルールは、質量平衡およびフロー計算等のシステムレベルのメソッドのパフォーマンスに関連するルール等の実行ルールとすることができる。プロセスエンジニアまたはオペレータは、プロセス表示がオンラインである場合に有用であると考えられるトレンド（動向分析）およびフェースプレートを付加するように決定することもできる。グラフィック表示３５ｃを生成した後、構成エンジニアは、その表示をメモリに保存することができ、そのときまたはその後、実行エンジン４８がグラフィック表示を生成できるような方法で表示のインスタンスを生成して、実行エンジン４８にダウンロードしてもよい。当然、構成エンジニアは、同じ方法または同様の方法でプロセスモジュールを生成するが、プロセスグラフィック表示要素とは対照的に、プロセスモジュール要素に対して、異なるグラフィックスを描画するようにしてもよい。さらに、オペレータは、プラントを作動させている間に、詳細のレベルを変えるように選択してもよい。例えば、詳細のレベルの１つは、各接続における構成を示す。
【００７２】
上述したように、プロセスグラフィックまたはプロセスモジュールは、特定のタグを備えてもよい。例えば、グラフィック表示またはプロセスモジュール内のスマートプロセスオブジェクト要素は、例えば、一部の機器、または、上記プロセス制御システム内で選択された経路等の他の要因に基づいて実行エンジン４８によって、実行時に記入または選択されることができるエイリアスを含むタグを備えてもよい。エイリアス名の使用、およびプロセス制御システムにおける間接的参照は、本発明の譲受人に譲渡され、本願明細書に明示的に援用する米国特許第６，３８５，４９６号で詳細に議論されている。それらの技術のうちのいずれかは、本願明細書で説明したスマートプロセスオブジェクトのタグにエイリアス名を提供生成して、解決するために用いることができる。エイリアス等を用いた場合、同じプロセスモジュールは、機器のセット等に対して異なるビューを含めることができ、また異なるビューをサポートするために用いることができる。
【００７３】
構成アプリケーション３８は、図３の表示６４を多層的にデザインするために用いることができ、例えば、タブ（ビュー１、ビュー２およびビュー３）は、上記プロセスモジュールまたはグラフィック表示の異なるビューにアクセス及び生成するために用いることができる。これらのタブは、この構成環境において、異なるビューにアクセス及び生成するために用いることができ、実行時中に、そのようなビューを切り替えて利用可能にしてもよく、または利用可能にしなくてもよい。いずれの場合においても、異なるビューはプロセスプラントに関連する異なったユーザをサポートするために、選択的に生成することができる。
【００７４】
一般に、上記構成エンジニアがプロセスモジュールまたはグラフィック表示を生成すると、構成アプリケーション３８は、上記スマートプロセスオブジェクトと、スマートプロセスオブジェクト間の接続とをデータベースに自動的に格納する。次いでこのデータベースは、１つ以上のスマートプロセスオブジェクトを用いて、他のプロセスモジュールおよびグラフィック表示を生成するために用いることができる。従って、別の表示を生成した場合、スマートプロセスオブジェクトは既にデータベース内に生成されて格納されているので、構成エンジニアは、スマートプロセスオブジェクトを簡単に参照することができ、スマートプロセスオブジェクトを別の表示内に配置するために該オブジェクトと共に格納されたどのメソッドでも簡単に参照することができる。このようにデータベースは、プロセス制御モジュールおよびグラフィック表示が生成されるたびに充実させることができ、またデータベースは、いつでも既にプロセスフローデータベース内に存在するスマートプロセスオブジェクトを用いて、他の表示およびモジュールを生成して実行することができる。このようなデータベースを用いることにより、データベース内の各スマートプロセスオブジェクトは、プロセスモジュールおよび多くのグラフィック表示をサポートすることができ、あるいはプロセスモジュールで用いることができ、かつ多くのグラフィック表示で参照することができる。また、理解されるように、プロセスモジュールは、それらのモジュールのための表示を構築した後、プロセスモジュールで用いられる、またはプロセスモジュールに関連するフローアルゴリズムを指定することにより構成することができる。当然、個々のプロセスモジュールは、異なるコンピュータによって、散在させて実行してもよく、また、それらのプロセスモジュールは、同じかまたは異なるコンピュータ上で互いに連動して作動するように、互いに通信可能に接続することができる。このようにすると、入力および出力ストリームは外部から参照されて、プロセスモジュール同士をつなぐことになる。
【００７５】
上述したように、上記構成エンジニアは、上記プロセスモジュールまたはグラフィック表示の生成の一部として、プロセスモジュールのシミュレーションアルゴリズムを付加する、または提供することができる。それらのシミュレーションアルゴリズムは、プロセスモジュールによって描写された、またはモデル化されたプロセスに関して、質量平衡計算、フロー計算、効率計算、コスト計算等の所定のプロセスまたはシステムレベルのプロパティを計算または決定するように、予め構成することができる。その結果、プロセスモジュール自体は、モード、ステータスおよびアラーム動作を有することができ、ワークステーションに割り当られることができ、および表示のダウンロードの一部としてダウンロードされることができる。所望であれば、シミュレーションアルゴリズムは、プロセスモジュールのスマートプロセスオブジェクト内に生成されたデータを用いて、プロセスシミュレーションに関連する質量平衡または熱平衡、フロールーティング、フロー効率、フロー最適化、経済性計算または他の所望の計算を実行するために、実行エンジン４８によって実行することができる。さらに、これらのシミュレーションアルゴリズムは、制御計画から、すなわち、上記コントローラ、フィールドデバイス等に関連する制御モジュールおよびコントローラ、フィールドデバイス等にダウンロードされた制御モジュールからパラメータにアクセスすることができ、また逆に、データまたは情報をそれらの制御モジュールへ供給することもできる。
【００７６】
実行エンジン４８は、上記プロセスアルゴリズムが、全ての表示上に構成された全てのプロセスオブジェクトおよびリンクの融合にわたって実行できるようにすることは必要とされていることが理解されよう。すなわち、（プロセスモジュール内の）シミュレーションアルゴリズムは、一般に、任意の関連するグラフィック表示がロードされているか、すなわち、呼び出されて、現在、ユーザに対して情報が表示されているか否かに関係なく、実行される。当然、シミュレーションアルゴリズムは、プロセス１０の全体にわたって、またはプロセス１０の定義されたサブセットにわたって、照合されることができる。また、任意の特定のプロセスモジュールの実行中に、実行エンジン４８は、プロセスモジュールに関連するグラフィック表示に基づいて、プロセスモジュール内の相互接続されたオブジェクトまたはエンティティを描写する、オペレータインタフェース上のオペレータ用表示を生成できることは、理解されよう。該表示のパラメータ、グラフィックス等は、プロセスモジュール内のスマート要素の構成および相互接続によって決まることになる。さらに、この表示または他の表示上に表示されるアラームおよび他の情報は、スマートプロセスオブジェクト内のメソッド、および特定のプロセスモジュールに関連するシミュレーションアルゴリズムによって定義され生成されることができる。所望であれば実行エンジン４８は、１つ以上のオペレータインタフェースに対してプロセスモジュールのための表示を生成してもよく、または、実行エンジン４８が、プロセスフローモジュールを実行することを継続し、それによってモジュールに関連するメソッド、アラーム動作、フローアルゴリズム等を実行しても、表示を生成しないように構成または設定してもよい。  図４は、上述した上記要素および構成アプリケーションを用いて生成することができる例示的なプロセスグラフィック表示１００を示す。具体的には、グラフィック表示１００は、水、酸および基本原料（base）からホワイトビネガーを生産するプロセスプラントの一部を示す。図４に示すように、プロセスグラフィック表示１００は、それへの入力に、基本原料フィード（供給）（Ｂａｓｅ  Ｆｅｅｄ）、酸フィード（Ａｃｉｄ  Ｆｅｅｄ）、水フィード（Ｗａｔｅｒ  Ｆｅｅｄ）および冷却水のストリーム（流れ）を定義する４つのストリーム要素１０２を含む。基本原料フィードストリーム１０２は、配管接続要素１０４を介して、バルブ１０６の形態のアクチュエータ要素へ送られる。バルブ１０６の出力は、配管接続要素１０４を介してミキサー１０８の第１の入力に接続されている。同様に、酸フィード１０２は、トランスミッタ要素１１０に接続され、そして、ミキサー１０８に接続されている別のバルブ１１２に接続されている。酸フィード１０２とトランスミッタ１１０、トランスミッタ１１０とバルブ１１２、およびバルブ１１２とミキサー１０８は、配管接続要素１１４を介して接続されている。
【００７７】
図を見て容易に分かるように、ミキサー１０８の出力は、配管と２つのトランスミッタ１２４および１２６を介して熱交換器１２２に接続されている。冷却水ストリーム１０２は、バルブ１２８を介して熱交換器１２２へ送られて、バルブ１３０を通って熱交換器を出て、リターン水ストリーム要素１３１を生成する。同様に、熱交換器１２２の出力は、トランスミッタ要素１３２およびバルブ１３４を介して送られて、出力の酢酸ストリーム要素１３６を生成する。その都度、具体的に言及しないが、グラフィック表示におけるこれらの要素は、全ての場合において、互いに配管接続要素を介して接続されている。
【００７８】
表示要素自体のプロパティとして生成することができる、または、トランスミッタ及び推定プロパティ要素の形態の独立した要素とすることができ、又は制御モジュール内のブロックを参照する要素とすることができる、表示ボックス１４０が、さまざまな要素に関連するプロセス変数値（ｖａｒｉａｂｌｅ  ｖａｌｕｅ；ＰＶ）、設定点（ｓｅｔｐｏｉｎｔ；ＳＰ）値、ＯＵＴ値等のパラメータを表示する、または公開するためにグラフィック表示１００に示されていることは、理解されよう。さらに、ユーザが、ある要素の上にカーソルを置くと、表示１００は、参照された要素に関連する他の値を示すことができる。例えば、カーソルをストリーム要素のうちの１つ（酢酸ストリーム出力１３６等）の上に置くと、グラフィックにプロセスにおけるこの箇所での酸の組成、圧力、温度、密度、流量等を指し示させることができる。当然、グラフィック表示１００に表示された値およびパラメータは、上記プロセス制御システム内の実際の参照トランスミッタから（例えば、制御システム内のＡＩブロックから）、または、要素の機能をシミュレーションするプロセスモジュールシミュレーション要素から送ってもよい。図４のグラフィック表示１００は、ホワイトビネガーを製造するプロセスの動作中に、ユーザに対して提供することができ、あるいは、例えば、デザインまたはオペレータトレーニング活動を行うために用いられる、当該プロセスのシミュレーションを実施するために提供することができる。
【００７９】
本願明細書で説明した上記スマートプロセスオブジェクト、上記グラフィック表示要素および上記プロセスモジュールの機能はオペレータワークステーション２０内で作動することができ、プラント１０内のコントローラ、フィールドデバイス等へダウンロードして構成される必要がなく、このことが、この機能を実装施し、確認し、変更することを容易にすることが理解されよう。さらに、この機能は、システムレベルでプロセスデバイスに属する情報が全て、典型的には概してオペレータワークステーション２０に、特に実行エンジン４８に対して利用可能であるのに対して、この情報の全ては、典型的にはプロセスプラント１０内の各コントローラおよびフィールドデバイスに対しては利用可能ではないため、プロセスデバイス、コントローラ等内よりも、より容易にシステムレベルの判断を行うことができる。しかし、そのようにすることが有利な場合には、プリミティブ等の、プロセスモジュールに関連する論理のうちのいくつかを、プロセスプラント内のデバイス、機器およびコントローラ内に組み込んでもよい。統合されたプロセス制御モジュールおよびグラフィック表示を生成するためのスマートプロセスオブジェクトの使用は、実行エンジン４８が、例えば、最低限のユーザ構成活動で、自動的に漏れを検出し、かつスマートアラームを発すること、プラント１０内のフローおよび質量平衡を計算して追跡すること、プラント１０内の損失を追跡すること、およびプラント１０に対して高レベルの診断を実行すること、およびエンジニアリングデザインおよびオペレータトレーニング中に、プラントの動作をシミュレーションすることを可能にする。
【００８０】
図５は、分散型制御計画を有するプロセスプラント内の実行エンジン４８と、上記プロセスモジュールおよびグラフィック表示との統合化に関する１つの可能性な方法を示す。図５に示すように、実行エンジン４８による実行中に、オペレータへの表示を提供するプロセスモジュールによって生成された、または該プロセスモジュールに関連する表示クラス定義２２０は、制御構成データベースと、制御計画ドキュメンテーション内の任意の所望の方法でそれらの表示クラス定義を使用及び組織化することができるエンジニアリングツール２２２とに供給される。プロセスアルゴリズム２２４は、実行時前に、それらの表示クラス定義に接続することができ、その後、表示クラス定義および定義に結合されたフローアルゴリズムは、インスタンスを生成して、グラフィック表示／プロセスモジュール実行時環境２２６（１つ以上のワークステーションで、１つ以上の実行エンジン４８の形態で実施することができる）へ供給することができる。グラフィック表示／プロセスモジュール実行時環境２２６は、実行中に、ダウンロードスクリプトパーサ２２８を用いてコードを構文解析し（すなわち、適宜、オブジェクトコード変換を実行し）、ルールベースの実行エンジン２３０を用いて、フローアルゴリズム、または表示クラスのために設けられたまたは表示クラスに結合された他のルールベースの処理手順を実行する。このプロセスの間、グラフィック表示／プロセスモジュール実行時環境２２６は、プロセスに関連するコントローラおよびフィールドデバイス内で実行されることができる制御モジュール実行時環境２３２との通信を行って、データまたは情報を制御モジュール実行時環境２３２へ与え、または制御モジュール実行時環境２３２からのデータまたは他の情報にアクセスすることができる。当然、グラフィック表示／プロセスモジュール実行時環境２２６は、図１のイーサネット（登録商標）バス２４等の任意の所望のまたは予め設定された通信ネットワークを用いて、制御モジュール実行時環境２３２と通信することができる。さらに、本願明細書で説明した上記グラフィック表示、プロセスモジュールおよび制御モジュールを標準的なプロセス制御システムに統合する他の方法も同様に用いることができる。
【００８１】
上述したように、および図４の例示的なプロセスグラフィック表示に示したように、スマートプロセスオブジェクトは、グラフィカル要素およびシミュレーション要素の両方を有しており、プラント内にあるプロセスプラント要素のオンライン動作およびシミュレーション動作の両方を示すのに用いられる。スマートプロセスオブジェクトのグラフィカル要素およびシミュレーション要素の生成をサポートするためのオブジェクトクラスモデルフレームワークおよび宣言型フォーマットを、１つ以上の実施形態と共に詳細に説明する。一般的に、各スマートプロセスオブジェクトは、物理的デバイスまたはプロセスプラント要素を表す。このため、各スマートプロセスオブジェクトは、当該要素を描写するプロセスグラフィック表示に用いることができるグラフィック表示要素を定義する。また、各スマートプロセスオブジェクトは、プロセスプラント要素のシミュレーションモデルを定義または構築することができ、該モデルは、プロセスプラント要素のオフラインシミュレーションを実行することを対象とする１つ以上のアルゴリズム、メソッドまたは他のアクションを含んでもよい。ある実施形態においては、スマートプロセスオブジェクトは、オペレータに対して表示されるグラフィック表示要素のレンダリング定義、プロセスプラント要素のオンライン動作を示すデータの場所（例えば、パス）および処理に関連するパラメータを格納するデータストア、およびグラフィック表示要素が上記ユーザインタフェースを介して表示されている間に発生するイベントの結果として実施することができるメソッド、アルゴリズムまたは他のステップを含んでもよい。スマートプロセスオブジェクトに必要とされるメソッド、アルゴリズムおよび他の処理は、上記実行エンジンによって実施することができる。この実施によって生成される内容および情報は、プロセスグラフィック表示を介して提示することができ、この提示も、実行エンジンによって、あるいは、各々、１つ以上の表示装置にプロセスグラフィック表示を描写するために設けられた１つ以上のレンダリングエンジン（例えば、ベクトルグラフィックレンダリングエンジン）によって生成することができる。
【００８２】
上記オブジェクトおよび宣言型フォーマットが、上記プロセスグラフィック表示およびグラフィック表示のグラフィック表示要素の定義および処理をサポートするメソッドを詳細に説明する前に、スマートプロセスオブジェクトおよびプロセスグラフィック表示およびこれらのプロセスモジュールとの使用に関するさらなる情報が、（i）２００２年１０月２２日にファイルされた、「プロセスプラントにおけるスマートプロセスモジュールおよびオブジェクト（“Ｓｍａｒｔ  Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ａｎｄ  Ｏｂｊｅｃｔｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”）」と題される米国特許出願第１０／２７８，４６９号明細書、（ii）２００３年７月２１日にファイルされた、「プロセスプラントにおけるグラフィック表示要素、プロセスモジュールおよび制御モジュールの統合（“Ｉｎｔｅｇｒａｔｉｏｎ  ｏｆ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ  Ｅｌｅｍｅｎｔｓ，Ｐｒｏｃｅｓｓ  Ｍｏｄｕｌｅｓ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｍｏｄｕｌｅｓ  ｉｎ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔｓ”）」と題される米国特許出願第１０／６２５，４８１号明細書、および（iii）２００４年１２月１６日にファイルされた、「スマート接続要素を用いたプロセスプラントシミュレーション（“Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｓｉｍｕｌａｔｉｏｎ  Ｕｓｉｎｇ  Ｓｍａｒｔ  Ｃｏｎｎｅｃｔｉｏｎ  Ｅｌｅｍｅｎｔｓ”）」と題される米国特許出願第１１／０１４，３０７号明細書で見つけることができることに留意すべきであり、これらの出願の開示全体を本願明細書に明確に援用する。例えば、米国特許出願第１１／０１４，３０７号明細書においては、該出願の図５〜図８および段落［００７５］から［０１０７］に記載された対応する原文内容を参照し、該出願の図５は、ネストされたプロセスグラフィック表示を示し、該出願の図６は、プロセスグラフィック表示に関連するプロセスモジュールの関連性を示し、該出願の図７Ａおよび図７Ｂは、プロセスグラフィック表示、プロセスモジュールおよび制御モジュールの間の通信相互接続およびそれらの統合を示し、該出願の図８は、高度な制御およびシミュレーション能力を可能にする、相互接続されたプロセスモジュールおよび制御モジュールを示す。例えば、構成アプリケーション３８の一部として設けることができる表示エディタを用いた、プロセスグラフィック表示の構成に関するさらなる情報は、本願と同時に提出され、本願明細書において記載し、かつ参考文献として載せた上記の米国仮出願に対して優先権を主張する、「プロセス構成および制御環境へのグラフィックスの統合（“Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｇｒａｔｉｏｎ  ｉｎｔｏ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｃｏｎｔｒｏｌ  Ｅｎｖｉｒｏｎｍｅｎｔ”）」と題される同一出願人による国際出願に見いだすことができ、該国際出願の開示全体を本願明細書に援用する。
【００８３】
次に、スマートプロセスオブジェクトが、上記開示されたプロセスプラントのユーザインタフェースソリューションの構成環境内に構成及び定義され、さらに、その実行時環境での使用のためにアセンブリ、コンパイル、または他の方法で処理される方法に関連するさらなる詳細について、宣言型またはマークアップ言語を用いて上述したスマートプロセスオブジェクトおよび関連するプロセスグラフィックスの構成、生成および動作をサポートする特定のいくつかの実施形態に関連させて説明する。一般的に、マークアップ言語によって設定されたフォーマット、およびその中に記載されたスクリプトは、上記プロセスプラント機器、プロセス制御要素、および機器および要素が属する他のシステムまたはデバイスに、データ上で結び付けられた、またはリンクされているモジュール式の動的プロセスグラフィックスを有するプロセスプラントのユーザインタフェース（およびユーザインタフェースシステム）を定義し、サポートするために用いることができる。その結果、結果として生じるユーザインタフェースは、拡張可能になり、かつ柔軟であり、それによってユーザが、プロセスプラント条件、機器、制御ルーチン等の必要性に応じてユーザインタフェースを生成または修正できるようになる。
【００８４】
以下に述べるように、マークアップ言語で記述されたスクリプトは、本願明細書で説明した上記表示および表示要素の動的グラフィックスを生成することを対象としている。プロセスグラフィックスの各々の構造をサポートすることに加えて、マークアップ言語フォーマットで記述された情報は、データ変換、イベントの取扱い、および要素に関連する上記スマートプロセスオブジェクトによってサポートされる他のアクションを含む、表示で描写される要素の機能（すなわち、動作または作用）も定義する。より一般的に、マークアップ言語で記述された情報は、プロセスグラフィック表示の任意の機能的または動作上の態様（様相）、プロセスグラフィック表示の任意のグラフィック表示要素、およびユーザインタフェース自体の任意の態様または機能を設定するスクリプトまたはコードを含んでもよい。
【００８５】
マークアップ言語は、以下に説明するオブジェクトモデル、アーキテクチャまたはフレームワークに従って、ユーザインタフェースのそれらのグラフィックおよび他の態様を定義する。例えば、ダウンロードスクリプトパーサ２２８、またはスクリプト変換または処理エンジンとして機能する他のエンティティによって行われる任意の処理ステップを含む、オブジェクトモデルおよびマークアップ言語に従って記述された情報が、例えば実行時環境に備えて処理される（例えば、変換される）方法についても説明する。
【００８６】
宣言型またはマークアップ言語の使用は、一般に、本願明細書に示しかつ記載した、構成および実行時環境の両方の間で使用するのためのプロセスプラントのユーザインタフェースの生成をサポートし、より一般的には、プロセスプラントを作動させ、かつ維持するようにサポートする。それらの様々な情況にわたる情報の提示をマークアップ言語に基づかせることは、情報を、例えばユーザが情報を用いたいと思う場合に関係なく、一貫した見やすい方法でユーザがアクセス可能な形態で提示し、かつ格納できるようにする。その結果、そのメニュー構造、他のドキュメントへのリンク、外部情報へのリンク、組み込みおよび置換可能な形状等を含むユーザインタフェースは、柔軟かつ拡張可能なフォーマットで記述される。このフォーマットを確立する、構成および実行時環境へのマークアップ言語、すなわち、ＰＧＸＭＬについて、多数の実施形態と共に以下に説明する。ＰＧＸＭＬは業界標準の拡張可能なマークアップ言語（ＸＭＬ）に基づいているが、代替的に、他の任意のマークアップ言語または宣言型言語に基づいてもよい。さらに、および以下に詳細に論じるように、ＰＧＸＭＬを用いて記述したプロセスグラフィックス情報は、その後、インスタンス化、コンパイル、ダウンロード、レンダリングまたは他の処理ステップと共に変換することができる。このような処理は、ＰＧＸＭＬで記述された特定の情報の他の宣言型フォーマットへの変換、例えば、マイクロソフト（登録商標）の、ユーザインタフェース用内部フォーマット、ＸＡＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、またはオープンソースフォーマットである拡大縮小可能なベクトルグラフィックス（ｓｃａｌａｂｌｅ  ｖｅｃｔｏｒ  ｇｒａｐｈｉｃｓ；ＳＶＧ）を含んでもよい。そのようなベクトルグラフィックフォーマット（例えば、ＸＡＭＬまたはＳＶＧ）に変換されたＰＧＸＭＬ情報は、一般にフレームワークで、および内部ＰＧＸＭＬフォーマットによって定義された動的グラフィックスおよび他のグラフィックスの全体をサポートする拡張子と共に用いることができる。以下、例示的なプロセスグラフィックスフレームワークおよび、より一般的にＰＧＸＭＬおよびＸＡＭＬスクリプトを用いて、そのようなプロセスグラフィックスを生成するプロセスグラフィックスアーキテクチャについて説明する。
【００８７】
ＸＭＬベースのプロセスグラフィックスアーキテクチャおよびフレームワークは、例えば、ＰＧＸＭＬによって表され、かつ定義される内部オブジェクトモデル、およびＸＡＭＬによって表され、かつ定義されるオブジェクトモデルを含む１つ以上のオブジェクトモデルを用いて、上記ユーザインタフェースによって用いられ、かつユーザインタフェースに提示される描画形状および他のグラフィックスを指定することができる。ＸＡＭＬフォーマットは、ベクトルグラフィックスコマンドを用いて、描画形状を指定する。さらに、Microsoft（登録商標）社のＷｉｎＦＸ（登録商標）  Ａｖａｌｏｎ実装のユーザには周知のように、スクリプトは静止データに加えて動的データ表示（すなわち、アニメーション）をサポートすることができる。そのため、この能力を用いて、上記プロセスグラフィックス要素の動的形状および属性は、リアルタイム値、ヒストリカル値、質量流量および組成等の物理的プロパティ、および可変性の他のプロセスまたはシミュレーションデータと関連付けることができる。この意味で、本願明細書で説明したＸＭＬベースのグラフィックスは、データ駆動型（data driven）である。
【００８８】
背景として、ＸＡＭＬは、Microsoft（登録商標）社のＷｉｎＦＸ（登録商標）  Ａｖａｌｏｎ実装の概略表現であり、ＷｉｎＦＸ（登録商標）  Ａｖａｌｏｎは、インディゴ・クライアントサーバ・アーキテクチャと共に、Microsoft（登録商標）社のLonghornオペレーティングシステムリリースの要素を構成する。ＸＡＭＬおよびＡｖａｌｏｎに関するオブジェクトモデルおよび他の詳細は、当業者には周知であり、また各々に関するさらなる情報は、Ａｖａｌｏｎベースのソフトウェアの開発者のためのMicrosoft（登録商標）社インターネットウェブサイト、ｍｓｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｌｏｎｇｈｏｒｎで見つけることができる。簡潔に言えば、ＸＡＭＬは、直線および曲線、イメージおよびテキストからなるベクトルグラフィック形状をサポートする。ＸＡＭＬは、矩形、円形、楕円形および多角形を含む基本的なグラフィカル形状をサポートする。以下に説明するように、プロセスプラントおよび製造に関連する追加的な基本的、プリミティブ、または他の形状を追加してもよい。また、ＸＡＭＬフォーマットを用いるユーザインタフェースは、３次元モーフィング効果を生成するような複雑なアニメーション技術を実施することもできる。そのようなアニメーションおよび他の複雑な効果は、以下に説明するようにプロセスグラフィックスに組み込むことができる。
【００８９】
ＸＡＭＬフォーマットのベクトルグラフィックスの性質は、そのような複雑なグラフィック情報を、様々なベクトルグラフィック形状を描く一連のテキストベースのコマンドで格納できるようにする。この情報は、アプリケーション特有のグラフィックスイメージを表示する様々なメソッドにより、変換することができる。ＸＡＭＬフォーマットによってもたらされる別の全般的な能力は、拡張性である。プロセスグラフィックスにおけるＸＡＭＬフォーマットの使用により、再描画命令が、ビットマップにおけるピクセル値として送られるのではなく、ＸＡＭＬベースのコマンドを実施可能なレンダリングプログラムへ送られるため、グラフィック表示要素をギザギザのエッジを伴わずにサイズ変更または縮小拡大できるようにする。上記実行時環境の実行エンジン４８は、各ターゲット環境のための１つ以上のレンダリングエンジンを備えることができ、そのうちの少なくとも１つは、本願明細書で説明したプロセスグラフィック表示の生成のために、ＸＡＭＬベースのコマンドを処理することに専用化することができる。
【００９０】
イメージはベクトルベースであるため、表示がどこにレンダリングされていることに関係なく、すなわち、スマートフォン、ハンドヘルド、ハイエンドモニタまたは他の表示上であるか否かに関係なく、同じ高品質のイメージが生成される。そのため、プロセスグラフィックスおよび、より一般的にプロセスプラントのユーザインタフェースは、表示装置の性質に関係なく、一貫した方法で生成されることができる。従って、ユーザインタフェースはワークステーションを伴う実施に限定されず、そのようなワークステーションは、サーバ、データベースまたは他の機能性に含まれてもよい。さらに、マークアップ言語の使用のため、ユーザインタフェースソリューションを実現することができ、その結果、プロセスグラフィック表示は、インターネット、またはウェブ、ブラウザ、またはマークアップ言語と互換性のある他のソフトウェアを介して確立された通信接続を介して生成することができる。このような場合、ＸＭＬベースのおよび／またはＸＡＭＬスクリプトは、（デバイス上にインストールされたユーザインタフェースアプリケーションの完全なコピーを有するのとは対照的に）単にレンダリングエンジンを有する遠隔のデバイスにダウンロードすることができる。換言すれば、プロセスグラフィック表示によって提供される実行時環境は、プロセスモジュール等と関連する、上述した統合されたシミュレーションおよび他の機能の全てを有するインターネットまたはウェブアプリケーションになる。
【００９１】
以下に、ＸＭＬベースのオブジェクトモデルおよびフレームワークから生成されたＸＡＭＬスクリプトと共に、オブジェクトモデルおよびフレームワークを用いると、プロセスグラフィック表示における全ての要素をアニメーション化することができる。Ａｖａｌｏｎのフレームワークは、高インパクトグラフィックスを生成するためのビットマップ式フィルタ効果もサポートする。これらのフィルタ効果は、一般に構成エンジニアおよび他のユーザに、様々な効果を構成環境内のグラフィック表示要素およびテキストに直接的に付加する能力を提供する。例えば、プロセスグラフィックスは、ブレンド、タイル状配列、形状回転または形状変換、モーフィング、オフセット、マージおよび特殊ライティング（照明）等の効果を含み、かつサポートしてもよい。これらのおよび他のＸＡＭＬまたはＡｖａｌｏｎベースの効果は、本願明細書の図面に示した例示的なプロセスグラフィック表示および要素と共に使用可能にすることができることを理解されたい。また、このようなフィルタ効果は、個別に、または、クトルイメージとの任意の組み合わせで適用することができ、その結果、マウスオーバー機能等の特殊な効果を、任意のＸＡＭＬグラフィックオブジェクトにも与えることができる。
【００９２】
ＰＧＸＭＬ記述がＸＡＭＬに変換される実施形態において、ベクトルグラフィックス、およびＸＡＭＬによってもたらされる他の上述した特徴、効果および能力は、プロセスグラフィック表示、およびアニメーションおよび他の動的グラフィックス機能を有するグラフィック表示要素において、実行時に用いることができる。
【００９３】
ＸＭＬおよびＸＡＭＬ等のマークアップ言語のテキストベースの性質は、構成アプリケーション、実行時アプリケーションおよび他のユーザインタフェースアプリケーション３２について、ダウンロードスクリプトを介してプロセスグラフィックスおよび他のデータを格納しかつ伝達することを簡便にする。プロセスグラフィック表示はテキストとして格納することができるため、ユーザインタフェースアプリケーション３２は、一般にイメージ内のテキストの検索をサポートする検索機能を含むことができる。
【００９４】
本願明細書に開示したＸＭＬベースのオブジェクトモデル、およびそれによって構築されたフレームワークまたはアーキテクチャは、進化したグラフィックスに加えて、多数の利点を有する。例えば、ＸＭＬベースの記述の使用は、迅速なダウンロードを可能にする小さなファイルサイズを生成する。また、オブジェクトモデルの拡張可能な性質は、それにより補完することができる予め形成されたグラフィック表示要素からなる有効なライブラリの生成を可能にする。このため、フレームワークは、グループ、コンポジット（複合形状）、クラスおよびテンプレートを有するオブジェクトモデルを含むことができ、これらのさらなる詳細は以下で説明する。また、以下に説明するように、構成エンジニアまたは他のユーザは、デバイス、機器または他のエンティティに関連する外部情報からグラフィック表示要素（例えば、形状、コンポジット、クラスおよびテンプレート）を生成してもよい。例えば、そのようなエンティティのグラフィック表示要素の情報、ならびに全体のプロセスグラフィック表示は、ＩＮｔｏｏｌｓ（登録商標）等の第三者のプロバイダから取り込んでもよい。
【００９５】
また、本願明細書で開示したＸＭＬベースのアーキテクチャは、分散型コンピュータ環境内の多数の異なるソースから得られるデータを実行時に用いて表示することをサポートする。例えば上述したように、プロセスグラフィックスを介して表示されたデータは、関連するプロセス制御システム（例えば、ＤｅｌｔａＶ（登録商標）ヒストリアン）、ＯＰＣベースのシステム、任意のＸＭＬファイル、あるいは、他の任意のソースまたはシステムに由来する。このため、プロセスグラフィックスアーキテクチャは、データとＸＡＭＬベースのグラフィックの関係を構築する抽象概念またはデータソースレイヤ（層）を含む。例えば、プロセスグラフィック表示のためのＸＡＭＬスクリプトが、画素によりデータを表すイメージ（例えば、バーを塗りつぶすこと）を表現する場合、リアルタイムデータはプロセスプラント内に配設された計装手段によって、華氏温度の単位で提供されることができる。以下にさらに説明するように、データソースが識別され、グラフィカル要素とデータとの論理的関係が、プロセスグラフィック表示のレンダリングの前に、変換、拡大縮小等に必要なコードと共に構築されて生成される。このように、結果として生じるプロセスグラフィックスユーザインタフェースは、容易に理解され、かつ誤解されないフォーマットで、データを生成する。
【００９６】
ＸＭＬベースの機能は、上述した一式のインタフェースアプリケーションおよびデータ構造３２内で形成され、実現される。具体的には、上記プロセスグラフィックスは、グラフィック表示構成アプリケーション３８を含む構成環境内で生成することができ、該アプリケーションも、グラフィック表示要素、例えば、形状、コンポジット、クラス、テンプレートおよびダイナモ（dynamo）を生成するための多数の動作モードを有することができ、それらの動作モードについては、本願明細書において以下により詳細に説明する。構成アプリケーション３８は、一般に、例えば、スクリプトを生成すること、グラフィックスをデータソースに結合することを含む多数のタスクに用いられる多数の統合ツール（例えば、ＧＵＩや他のツール）を有するグラフィックスエディタを提供することができる。そのようなツールの使用中に行われるステップについて、以下にさらに説明する。ＸＡＭＬフォーマットへの設定および変換の後、実行時環境は、上述した実行エンジン４８による、ＸＡＭＬベースのコマンドの実施を行う。より具体的には、実行時環境は、実行時ワークスペースによって定義されるフレームワーク内で、プロセスグラフィック表示およびグラフィック表示を実行およびレンダリングするためのバックエンドサポートを実行するためのインタフェースアプリケーションを含むことができる。
【００９７】
次に、同様の要素が、類似の参照数字で特定されている図６〜図１１を参照すると、プロセスグラフィック表示の構成およびグラフィック表示要素の生成が、例示的なインタフェースまたは環境３００と共に記載されており、該インタフェースは、構成アプリケーション３８によって、または、ＸＭＬベースのプロセスグラフィックスをレンダリングすることが可能な他の任意のデバイスを介して生成することができる。生成されているプロセスグラフィック表示、およびそのグラフィック表示要素の各々は、この構成プロセス中に、ＰＧＸＭＬフォーマットによって内部的に記述される。ＰＧＸＭＬフォーマットが、それらの表示および要素をサポートし、かつ定義する方法に関するさらなる詳細を以下に説明する。
【００９８】
インタフェース３００は、一般に、プラントの運転（オペレーション）、エンジニアリング、保守、マネジメント、およびプラントのために定義される他の役割のための実行時環境用のプロセスグラフィックスを生成し、かつ定義するために、構成エンジニアまたは他のユーザにグラフィックスエディタを提供する。図６〜図１１は、インタフェース３００を用いて生成されているプロセスグラフィック表示を漸次的に示し、該インタフェースは、属性、パラメータ、およびプロセスグラフィック表示およびそのグラフィック表示要素の他の態様に特化された多数の部分またはパネルを有することができる。例えば、インタフェース３００は、グラフィック表示のためのコンテキスト情報またはオーバービュー情報を表示する１つ以上の組織パネル３０２、３０４を含むことができる。パネル３０２は、プロセスグラフィック表示の名称、およびグラフィック表示のプラント内での相対的位置（例えば、他のプロセスグラフィック表示との関係）を示すことができる。また、パネル３０２は、プラントエリアによって、または、他の任意の所望の基準によって既に生成された様々なプロセスグラフィック表示を一覧にして配列することもできる。パネル３０４は、インタフェース３００のワークエリア、またはキャンバス部３０６に付加されている各グラフィック表示要素の名称を識別することができる。上述したように、各要素の一般的なバージョンは、パレット部３０８から選択して、キャンバス部３０６内にドラッグしておいてもよい。パレット部３０６は、生成されているプロセスグラフィック表示によって表される異なった機器、器具類または他のプロセスプラント要素を表すために、異なる種類の要素のための多数のサブ部分を含んでもよい。例えば、パレット部３０６は、アクチュエータサブ部（図６）、処理機器サブ部（図７）、測定装置サブ部（図８）およびスペシャル（またはカスタム）サブ部（図９）を含んでもよい。また、エディタインタフェース３００は、グラフィックスの選択、生成、編集および他の処理のための様々な編集ツールを提供する１つ以上のツールバー３１０、３１２を含む。
【００９９】
グラフィック表示要素がパレットからキャンバス部３０６内へドラッグされた後、ユーザは、それらの要素を、例えば、接続点上で左のマウスボタンを押下して、カーソルを目的のコネクタへ移動させることにより、一緒に接続することができる。そして、その結果として生じる接続は、エディタ３００により、自動ルーティング形式で、それらの２つの要素の間に自動的に描くことができる。別法として、カーソルが、所定の接続点に達する前に、マウスボタンが解除されるたびに、接続における屈曲または湾曲部を自動的に表示してもよい。さらに、接続のタイプ（例えば、配管、コンベヤまたはダクト）を、接続点の性質の定義によって、自動的に定義してもよい。図６〜図９に示す実施例において、配管３１４は、ポンプ３１６の下流の接続点に形成されている。接続が多数のタイプの接続をサポートする場合には、デフォルトの接続タイプを、例えば、ツールバーアイコン３１７を選択することにより定義してもよい。
【０１００】
キャンバス部３０６内に置かれた個々のグラフィック表示要素は、そのグラフィック表示の上かまたは近くでマウスボタン（または、他のカーソルポインティングデバイス）をクリックすることにより、選択することができる。要素を選択すると、グラフィック表示に関連する設定可能なパラメータの一覧をパラメータパネル３１８内に表示することができる。図６に示すように、ポンプ３１６の選択は、オン状態（“ＯＮ＿ＣＬＲ”）およびオフ状態（“ＯＦＦ＿ＣＬＲ”）であるポンプを描写するための色等の要素のグラフィック態様が指定されていることを明らかにする。図８は、データソースとしての１つ以上の機能ブロック参照（レファレンス）、例えば、ＡＩ＿ＲＥＦパラメータのためのＦ１５２１／Ａ１３を指定する情報を有するグラフィック表示要素によって表されたトランスミッタ３２０を示す。それらの参照パラメータのうちの１つを選択すると、ユーザが、所望のデータソース、例えば、制御モジュール／ブロック／パラメータへの経路（パス）を定義できるようにするダイアログを表示することができる。パラメータ、参照パラメータ、属性およびグラフィック表示要素の他の態様の指定に関するさらなる情報を以下に説明する。
【０１０１】
特に図７に関して、タンク、ミキサー、熱交換器等の共通の処理要素は、処理機器パレットを用いて表示に追加することができる。タンク３２２等の処理要素が表示に追加されると、タンクは表示に合ったサイズに拡大されることができる。また、タンク３２２等の要素を選択することは、パネル３１８を介して、要素のための入力および出力ストリームの数、または、接続点の数を指定する機会も与える（例えば、“Ｉｎ  Ｓｔｒｅａｍｓ”および“Ｏｕｔ  Ｓｔｒｅａｍｓ”を参照）。また、接続点の位置も、パネル３１８に示された対応するパラメータによって修正することもできる（例えば、“Ｉｎ１  Ｐｏｓｉｔｉｏｎ”および“Ｏｕｔ１  Ｐｏｓｉｔｉｏｎ”を参照）。
【０１０２】
図９に示すカスタム機器パレットは、より少ない共通の処理機器、ストリーム要素、および他のプロセスグラフィック表示に対する参照（すなわち、表示参照）を提供することができる。例えば、１つのストリームの起点および終点を特定することができる。内部ストリーム参照は、図に示すように、パネル３１８を介して、ストリームのソースに名称を付けることができるようにする。外部ストリーム参照は、別の表示で定義された関連するストリームを特定するために用いられるパラメータを含んでもよい。
【０１０３】
また、図９は、特別なグラフィック表示要素、すなわち、一般的な、またはテンプレートの表示参照３３０の別の実施例を示し、参照は、現在の表示内での参照された表示の提示のための別のプロセスグラフィック表示の特定をサポートするために、パレット部３０８内に表示され、暗に、その関連する機能および根本的なグラフィック表示要素の全てを備えている。図１０は、符号３５０で指し示された、表示参照テンプレート３３０が選択されて、プロセスグラフィック表示３５０内での配置および接続のために、キャンバス部内にドラッグされた後の、単純化したプロセスグラフィック表示の一部を示す。この場合、上記構成エンジニアは、エバポレータの表示３５２を特定するように表示参照テンプレート３３０を修正している。このため、パネル３１８内の“ＤＩＳＰＬＡＹ＿ＲＥＦ”パラメータは、名称および、場合によっては経路により、プロセスグラフィック表示を特定するように修正または指定されることができる。
【０１０４】
図１１は、プロセスグラフィック表示のカスタマイズしたコンテンツレイヤの例を提供し、特に、ユーザが例えばエンジニアリングアクセス権を有している場合に示される推定プロパティ要素３６２を有するポンプ３６０を示す。本出願と同時にファイルされ、その全体を明確に本願明細書に援用する、「統合化されたシミュレーションを有するプロセスプラントユーザインタフェースシステムのためのカスタマイズしたプロセスグラフィック表示レイヤ（“Ｃｕｓｔｏｍｉｚｅｄ  Ｐｒｏｃｅｓｓ  Ｇｒａｐｈｉｃ  Ｄｉｓｐｌａｙ  Ｌａｙｅｒｓ  Ｆｏｒ  Ａ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｙｓｔｅｍ  Ｈａｖｉｎｇ  Ｉｎｔｅｇｒａｔｅｄ  Ｓｉｍｕｌａｔｉｏｎ”）」と題される国際特許出願により詳細に記載されているように、ユーザは、ユーザのアクセス権を指定することができる、ユーザのプロファイルのプロパティにふさわしいプロセスグラフィック表示の１つ以上のコンテンツレイヤ（層）を選択することができ、または、該１つ以上のコンテンツレイヤを提供されてよい。図１１の実施例において、ユーザは、推定プロパティ要素３６２を介して、ポンプ３６０のポンプ放出圧力を計算するシミュレーション情報へのアクセス権を備えている。
【０１０５】
上述したグラフィック表示要素（およびより一般的に、スマートプロセスオブジェクト）は、構成エンジニアまたは他のユーザがいつでも、予め定義または生成することができる。構成アプリケーション３８が、それらのグラフィック表示要素の生成または定義を可能にする方法は、オブジェクトモデルフレームワークおよび各々のＰＧＸＭＬ記述を用いる。各要素は、プロセス変数、定数、または他の外部の値に対応する固有のプロパティのセットを有してもよい。要素には、動的作用、例えば、色の変化またはアニメーションを含むいくつかの視覚表現を定義することができる。上記プロセス制御システムから受け取った値の変化は、表示における要素の動的作用に、それらの視覚性（ビジュアライゼーション）を変更するように指示することができる。
【０１０６】
上記特定した、同時にファイルされた出願に記載されているように、これらのプロセスグラフィックスを構成するために、２つのツールを設けることができる。第１のツールは、プロセスグラフィック要素を構成して、それによって、カスタム要素に、上記プロセスプラントユーザインタフェースに含めることができる多数の予め定義したプロセスグラフィック要素を付加するために用いられる要素エディタとすることができる。第２のツールは、グラフィック表示要素のライブラリからプロセスグラフィック表示を形成するために用いられる表示エディタとすることができる。
【０１０７】
上述したように、上記２つのエディタ、または編集ツールの動作、およびプロパティおよび視覚性が定義され、生成されて要素に割り当てられるメソッドに関するさらなる詳細は、上記参考文献として記載した同時に提出された出願に記載されている。しかし、一実施例において、動的作用を要素に付加するために、ユーザはアニメーションを付加して、選択したアニメーションのための構成情報をダイアログボックスおよび表示エディタを介して入力するように選択することができる。このため、その表示は、要素の固有のプロパティを示すことができる。例えば、ポンプがオン状態である場合に、青から緑へのポンプの色変化を指定するには、ユーザは、どの色を使用するかを指定する際に、ポンプのＩｓＯｎプロパティを示す表現を有する色変化アニメーションを適用するであろう。
【０１０８】
プロセスグラフィック表示の生成は、ユーザが（以下にさらに説明するように）基本的なグラフィック形状を描くことができるという意味で、グラフィック表示要素の生成と同様である。また、上記構成エンジニアまたは他のユーザも、それまでに定義した複合形状（コンポジット）のライブラリから複合形状を選択することができる。このようなそれまでに定義した形状の可用性は、上述したパネル３０２、３０４に示すことができる。
【０１０９】
上記オブジェクトモデルフレームワークによれば、上記言及した基本（プリミティブ）形状および複合形状は、クラスのインスタンスを介した再利用を可能にするために、各々、形状クラスおよび複合形状クラスに基づいている。このようなオブジェクトクラスの利用は、簡便なパラメータ、または、複合形状の各インスタンスに対する他の更新、各々の形状クラスに対する変更を介して自動的に行われる更新をもたらす。また、上述した編集ツールを用いた追加的な複合形状を定義する能力は、プロセスグラフィック表示を定義することに対するこのモジュール式手法に柔軟性をもたらす。
【０１１０】
上記オブジェクトモデルのグラフィックス部のベースまたは基盤には、形状オブジェクトクラスがあり、クラスの各々は、各々の基本（プリミティブ）ベクトルグラフィックエンティティを定義する。一般的に、各スマートプロセスオブジェクトの描写、従って各グラフィック表示要素は、オブジェクトモデルフレームワーク、グラフィックス、およびＰＧＸＭＬで記述された各々のレンダリング定義で記述されているオブジェクトのための他の構成情報に従って、形状オブジェクト、または形状オブジェクトから形成された複合オブジェクトで構成されている。このように、本願明細書に記載しかつ示したプロセスグラフィック表示は、グラフィック形成ブロックとしてアレンジされた各々の形状オブジェクトによって定義された基本（プリミティブ）グラフィックから構成することができる。以下に説明するように、ＰＧＸＭＬで記述された各形状オブジェクトは、後に、レンダリングに備えて、対応するＸＡＭＬグラフィックスオブジェクト（または、ＳＶＧ等の他のグラフィックスフォーマット）に変換される。
【０１１１】
各形状クラスは、プロパティまたはパラメータからなる一定のセットを有してもよい。形状クラスのインスタンスのプロパティ値を変化させること、すなわち、形状の使用は、形状のグラフィック描写の変化をもたらす可能性がある。プロパティは、例えば、サイズ、位置、色、線幅、または透明性等の様相のための値を指定することができる。或いは、または追加的に、形状クラスのいくつかのプロパティまたはパラメータは、形状の挙動（振る舞い）を変えてもよい。例示的な挙動は、データエントリを有効または無効にすること、および形状または形状のいずれかの部分を非表示にすることを含む。パラメータまたはプロパティ値には、固定値または動的値を割り当てることができる。動的値の場合、値が例えば参照および／またはパスストリング（文字列）を定義することにより決まる一般的な方法を構築し維持するために、値フォーマットオブジェクト（以下により詳細に説明する）が生成される。その結果、形状のプロパティまたはパラメータは、他の形状挙動のプロパティから値を得ることができる。さらに形状は、そのような値に対して実行される計算または変換に関連する動的挙動を定義してもよい。
【０１１２】
また、形状クラスは、（形状クラスと共に説明した）スクリプトコマンド、または、ある場合においては、上記ユーザインタフェースのためにグローバルにされたコマンド（例えば、ユーザインタフェースメニューを表示する右クリック選択）の実行を起動するイベントを定義することもできる。イベントは、形状または他のユーザ動作の選択を含んでもよく、または別法として、プロパティ値の変更に対するプログラムされた反応を含んでもよい。
【０１１３】
グラフィックス形成ブロックとして、形状クラスは、プロセスグラフィック表示および複合形状クラスの基盤、または、グラフィック表示および形状クラスのための基本インフラストラクチャを構成する。より具体的には、形状オブジェクトは、表示または複合形状内で用いることができ、そのインスタンスは、グラフィック表示要素として生成することができる。上記オブジェクトモデルフレームワーク内で定義された形状オブジェクトは、例えば、次の基本形状、すなわち、三角形、円形、楕円形、線（単一または複数の線）、多角形およびパスを含む。別の種類の形状オブジェクトは、シンボル等のコンテナ形状を含む。シンボルは、異なるグラフィック表示要素とプロセスグラフィック表示との間の階層関係を示すのに用いることができるプロセス形状階層内のノードまたはアイコンを示すのに用いることができる。例えば、上記構成および実行時環境は、ユーザに、パネル３０２、３０４内のそのようなシンボルを用いて、階層を表示するオプションを提供することができる。そして、シンボルは、階層内のノードの性質（例えば、表示、表示要素、要素属性等）の便利な視覚的標示を生成することができる。例えば、表示のための形状アイコンは、上記プラントの小型化した描写を含んでもよく、要素の属性またはプロパティのための形状アイコンは、小さな円を含んでもよい。コンテナのための形状アイコン（例えば、グループおよびコンポジット）はフォルダとすることができ、階層内のアイテムのグループは、一組の重なった正方形として示すことができる。用いることができる他の形状アイコンは、ビットマップを示す絵筆を有する汎用な絵柄及びドキュメント等の外部の形状へのリンクを示すオーバレイリンクを有する一般的な表示を含む。また別の形状オブジェクトは、テキストおよびテキストパス（すなわち、実行時環境内のデータロケーションを示す実行時パスを理解するグラフィック要素）等のテキストシェイプの種類を含む。さらにまた、形状オブジェクトは、イメージへのリンクまたは他の参照、ＨＴＴＰまたは他のリンク、あるいは、ボタン、チェックボックス、スライダ等の多数のユーザインタフェースの形状のうちのいずれか１つとすることができる。
【０１１４】
各形状オブジェクトまたは形状オブジェクトからなるグループに対して、１つ以上の属性を割り当てることができる。例示的な属性は、ツールチップ（すなわち、マウスポインタまたは他の選択メカニズムが形状の上でさまよっている場合に、形状オブジェクトのための説明または他の情報を表示する、形状オブジェクトに関連して現れる小さなボックス）、コンテキストメニューまたは他のメニュー（例えば、ヘルプファイルをそこから立ち上げることができるドロップダウンメニュー）、ドラッグ／ドロップ挙動定義（例えば、タグの割り当てに関する詳細）、およびズームおよびスパンの定義を含む。
【０１１５】
また、形状オブジェクト、形状プロパティ、および形状オブジェクトのグループも、それらに関連する挙動を有してもよい。例えば、形状オブジェクトは、データソース（以下にさらに説明する）から受け取ったデータに応じるアクションまたはアラートに基づく挙動を有することができる。条件付挙動（例えば、ｉｆ−ｔｈｅｎ−ｅｌｓｅ、スイッチ等）および他の挙動も、カスタムスクリプトによって定義することができる。挙動は、形状オブジェクトに関連して記述されたスクリプトの形態のコードを介して定義することができ、また、Ｃ＃等の任意の所望のプログラミング言語を用いてもよい。その結果、スクリプトによって記述された命令は、実行時に実施して、形状オブジェクトまたは複合形状オブジェクトのプロパティおよびパラメータを更新し、それによってプロセスグラフィック表示の外見を変更することができる。
【０１１６】
属性または挙動を付加することに加えて、構成アプリケーション３８は、一般に、構成エンジニアまたは他のユーザに、形状オブジェクトおよび形状のグループに対して多数のアクションを実行する能力を与える。例えば、構成アプリケーション３８は、生成、コピー／ペースト、移動、置換、サイズ変更、および通常、グラフィックユーザインタフェース環境に備えられている他の機能をサポートすることができる。いかなる静止形状、または形状の分類も、基礎をなすＸＡＭＬフレームワークの能力を見込んで、動的形状に変換することができる。例えば、ユーザは、コンベヤグループを定義し、該グループを動的グループに変換し、コンベヤのアニメーションに関連するパラメータを見せるかまたは割り当て、コンベヤの動きを定義するスクリプトを追加してもよい。また、構成アプリケーション３８は、イベントを登録し、イベントの発生時にとられるアクションを指定する（例えば、ボタンの押下）リスナ（動作待ち）挙動の付加をサポートしてもよい。形状オブジェクトまたは形状のグループと共にとることができるさらなるアクションは、ＵＲＬまたはＸＡＭＬスクリプトのローディング、あるいは、プリント、およびビュー切り替え（例えば、前から後ろへの移動、１つ前または１つ後ろへの移動）等の一般的なユーザインタフェースコマンドのうちのいずれかである。
【０１１７】
形状グループオブジェクトは、構成アプリケーション３８によって実行できる選択または他のツールを用いて、生成または関連付けることができる。選択ツールは、例えば、どの形状を動的に形成すべきかを定義するために、または、より一般的に、１つ以上の形状を選択して他の機能を割り当てるのに用いることもできる。また、選択ツールは、オブジェクトを入力または出力のデータソースに結び付けることと共に、形状オブジェクトの属性を公開したり、確認したりするのに用いることもできる。データの結合（バインド）に関するさらなる情報について、以下に説明する。
【０１１８】
形状オブジェクトは、カスタムまたは構成された形状のグループ、または形状グループオブジェクトを構成するように結合することができ、また、単独での、別のプロセスグラフィック表示における後の使用のためのライブラリの一部として、または、複合形状の一部として保存することができる。このような場合、それまでに生成された形状グループまたはコンポジット（複合形状）は、上記ユーザインタフェースのパレット部（例えば、上述したライブラリまたはテンプレート部６５またはパレット部３０８）から選択して、形状または複合構造の新たなグループ等の新たなプロセスグラフィック表示またはグラフィック表示要素の生成のためのワークエリアとして機能するキャンバス部（例えば、構成部６５または部３０６）内へドラッグすることができる。
【０１１９】
上述した形状オブジェクトは、上記オブジェクトモデルフレームワークの基盤をなす形状クラスのインスタンス化である。形状オブジェクトが複合形状を形成するように結合されると、対応する複合形状クラスが定義される。例示的なユーザインタフェースシステムは、特定のプラントのモデリングをサポートする、任意の数の（例えば、１００）予め定義された複合形状クラスからなるライブラリを含むことができる。開示したユーザインタフェースシステムの柔軟なモジュール式の態様は、例えば、必要に応じて、新たな複合形状クラスを定義するために、ライブラリの変更をサポートする。ユーザインタフェースシステムのモジュール式の性質は、それらの形状クラスおよび複合形状クラスを、上記プロセスプラントを包括的に表す場合に必要となる可能性がある多数の（例えば、１０００の）表示の生成時に、適用および再利用できるようにする。構成エンジニアまたはシステムデザイナーによる複合形状の再利用により、有利には、ネスト化された構成において、より複雑な複合形状の構築または生成を含むことができ、それによって、いかなる数の表示においても、将来のインスタンス化のための別の複合形状クラスを生成することができる。本願明細書で既に述べたように、複合形状クラスのための、パラメータ、属性、挙動等に対する後の変更は、変更されたクラスのグラフィック表示要素（すなわち、インスタンス）を有する表示の全てを自動的に更新する。このため、各複合形状クラスは、そのＰＧＸＭＬ記述で、または、関連するリストを介して、テーブルまたは他の識別、すなわち、変更の自動伝播を、複合形状クラスオブジェクトの保存、格納または他の記録と共に行えるように識別されたクラスの各インスタンスを有することができる。
【０１２０】
次に、図１２について説明すると、上記ユーザインタフェースシステムによって用いられる上記オブジェクトモデルフレームワークは、上記構成および実行時環境の他の局面を対象とする多数のクラスを定義することもできる。それらのクラスは、例えば、プロセスグラフィック表示、複合形状、およびそれらの表示および要素のためのデータソースの態様を定義する際に用いることができる。具体的には、図１２は、データ変換メソッドに特化されたオブジェクトモデルフレームワークの小さな例示的な一部のみを示す。上述したように、スマートプロセスオブジェクトは、例えば、バーまたは色変化を含む多数のメソッドで、データ値を動的に表示することができる。グラフィック表示要素を、特定のインスタンスまたはテンプレートのいずれかで構成する場合、値変換属性をそれらに付加することができる。この実施例において、データは、一般的なＶａｌｕｅＣｏｎｖｅｒｔｅｒＢａｓｅクラス４００の対応するサブクラスによって指定された５つの異なる変換メソッド、すなわち、ＣｏｌｏｒＬｏｏｋｕｐクラス４０２、ＲａｎｇｅＣｏｎｖｅｒｔｅｒクラス４０４、ＦｏｒｍａｔｔｅｒＢａｓｅクラス４０６、ＣｕｓｔｏｍＣｏｎｖｅｒｔｅｒクラス４０８およびＢｏｏｌｅａｎＣｏｎｖｅｒｔｅｒ４１０のうちの１つに従って変換することができる。各々のクラスは、インスタンス化される場合に指定される任意の数のパラメータまたは属性をも有することができる（例えば、ＲａｎｇｅＣｏｎｖｅｒｔｅｒクラス４０４のＩｎＲａｎｇｅおよびＯｕｔＲａｎｇｅパラメータを参照）。ＣｏｌｏｒＬｏｏｋｕｐクラス４０２は、オブジェクトの色を、現在のデータ値に従って変更させるスマートプロセスオブジェクト挙動に対応させることができる。例えば、タンクは、流体レベルが適切である（例えば、緑色）、危険な高さ（例えば、赤色）、または不適切である（例えば、黄色）ときを示すための色によって、流体をタンク内に描写させることができる。様々な流体のレベルの指定、およびそれらの色の変化を実施する場合に必要な他の情報は、ＣｏｌｏｒＬｏｏｋｕｐクラス４０２が有するサブクラス、すなわち、ＣｏｌｏｒＬｏｏｋｕｐＥｎｔｒｙクラス４１２によって記述することができる。
【０１２１】
図１２の説明を続けると、ＦｏｒｍａｔｔｅｒＢａｓｅクラス４０６は、異なるデータ種類に提供する異なる種類の可能なデータフォーマットメソッドを指定する多数のサブクラスを有する。実施例は、ＮｕｍｂｅｒＦｏｒｍａｔｔｅｒクラス４１４、ＤａｔａＴｉｍｅＦｏｒｍａｔｔｅｒクラス４１６およびＧｅｎｅｒａｌＦｏｒｍａｔｔｅｒクラス４１８を含み、これらは、ブロック４１９に示すように、データ値を表示のためのストリング（文字列）に変換することに関連することができる。また、図１２に示すクラス図は、２つのクラスを接続する線によってクラス間の関係、例えば、ＣｕｓｔｏｍＣｏｎｖｅｒｔｅｒクラス４０８と、ＤｅｌｔａＶ（登録商標）．ＰｒｏｃｅｓｓＧｒａｐｈｉｃｓ．Ｂａｓｅ．Ｓｃｒｉｐｔ．ＳｃｒｉｐｔＢａｓｅクラス４２０との間の関係を示すこともでき、クラスはユーザに、カスタムスクリプト、または、この場合、データをフォーマットするためのカスタム命令を実施するための他のコマンドを指定する機会を与えることができる。
【０１２２】
また、図１２は、上述したクラスのインスタンス化オブジェクトの定義を、上記プロセスグラフィック表示を、上記実行時環境の実施のためのワークステーションへダウンロードすることに備えて生成された動的リンクライブラリ（ｄｙｎａｍｉｃ  ｌｉｎｋ  ｌｉｂｒａｒｙ；ＤＬＬ）のファイルに格納することができるブロック４２２も示す。ＤＬＬファイルは、フォーマット、およびプロセスグラフィック表示がレンダリングされる場合に実行すべき他のメソッドの定義を記述することができる。このため、ＤＬＬファイルは、例えば、Ｃ＃コードからコンパイルされた命令を含んでもよい。Ｃ＃または他のコードは、プロセスグラフィックス情報がＸＡＭＬスクリプトに変換された場合に生成されていてもよい。
【０１２３】
図１３は、グラフィック表示要素のために指定することができる例示的な挙動またはアクションを対象とするクラス図に対応する上記オブジェクトモデルフレームワークの別の部分を示す。各利用可能な挙動またはアクションは、スクリプト命令によって指定され、また、オブジェクトモデルは、体系化されていないインスタンス特有のコードのブロックとしてではなく、オブジェクト指向のメソッドで命令を指定するフレームワークを生成する。これにより、命令は、有用に再利用およびカスタマイズすることができる。これらのクラスのオブジェクトによって定義される１つの例示的な作用は、オン／オフトグルを有する切替選択を実行できるパネルグラフィック等のグラフィック表示要素のボタンをユーザが押すことまたは作動させることを含んでもよい。そのため、パネル要素は一般に、挙動を識別するＩＳｃｒｉｐｔクラス４３０を用いることができ、該クラスは、定義されるスクリプト命令で用いられる、各々多数の引数または属性を識別するＳｃｒｉｐｔＡｒｇクラス４３４およびＳｃｒｉｐｔＡｔｔｒｉｂｕｔｅクラス４３５を有するＳｃｒｉｐｔＢａｓｅサブクラス４３２を有している。ＳｃｒｉｐｔＢａｓｅサブクラス４３２は、多数の予め定義されたアクション（例えば、フェースプレートパネル等の表示を示すこと）を指定する多数のサブクラス４３６〜４３９と、カスタムスクリプトを指定するサブクラス４４０とを有する。予め定義されたアクションを指定する１つ以上のサブクラスは、パラメータ、または実施されるアクションの他の側面を定義する１つ以上の各々のサブクラスを有してもよい（例えば、ＧｒａｐｈｉｃＰａｒａｍｅｔｅｒサブクラス４４２参照）。
【０１２４】
図１４は、例示的なオブジェクトモデルフレームワークのまた別の部分を示す。この部分は、いくつかの実施形態において、構成環境から実行時環境への移動をサポートするために用いることができる直列化（シリアライゼーション：serialization）オブジェクトを定義することを対象としている。具体的には、上記プロセスグラフィック表示を定義する他のオブジェクトを直列化する（または、クラス図の他の部分において、デシリアライゼーション化する）ために、上記ユーザインタフェースシステムによってとられるアクションを指定するために、多数のクラスが定義される。実施した場合、これらのクラスは、上記エディタ内で生成されているグラフィック構造の表示をＰＧＸＭＬスクリプトに変換する（直列化）構成アプリケーション３８の一部、ならびに変換エンジン、プログラム、またはＰＧＸＭＬスクリプトを処理する（デシリアライゼーション）他のツールの一部を構成することができる。いずれの場合においても、例示的なフレームワークおよび図１４に示すオブジェクトは、ＰＧＸＭＬスクリプトを生成する、または他の方法で処理する１つのメカニズムまたは技術のみを表す。より具体的には、構成プロセス中に生成されたＰＧＸＭＬスクリプトは、例えば、表示の実行時生成（レンダリング）中に用いられる、または別法として、表示レンダリング中に用いられる他のファイル（例えば、コンパイルされたファイル）を生成するために用いられる１つ以上のファイルに変換される。変換プロセスおよびプロセス中に生成されるファイルに関するさらなる詳細は、本願明細書において以下に説明するが、一般的に、ＰＧＸＭＬは、多数の異なるレンダリングエンジンおよびグラフィックスオブジェクトフレームワークのうちのいずれか１つの使用をサポートするニュートラルな初期（または基本）フォーマットを提供する。
【０１２５】
直列化されるオブジェクトは、上記プロセスグラフィック表示およびそれらの構成要素であるグラフィック表示要素の態様を記述するＸＭＬベースのコンテンツを指定し、または含む。換言すれば、ＰＧＸＭＬ言語で記述されている表示および表示要素の定義は、図１４に示すクラスによって指定された処理ステップに従って構文解析される。
【０１２６】
図１４の例示的なクラス図においては、２つの異なる種類のシリアル化機能クラス、すなわち、ＰＧＬｉｂＳｅｒｉａｌｉｚｅｒクラス４５０およびＰＧＳｅｒｉａｌｉｚｅｒクラス４５２が指定されており、それらの各々は、一般に、実施される直列化動作（すなわち、直列化、デシリアライゼーション化、ＯｎＥｒｒｏｒ）の種類を識別するＳｅｒｉａｌｉｚｅｒＢａｓｅクラス４５４のサブクラスである。また、ＸＭＬスクリプトフラグメント、または、ＸＭＬスクリプトとして保存される他のスクリプトフラグメントのデシリアライゼーションを実施するオブジェクトを定義するために、ＰＧＰａｒｓｅｒクラス４５６も含まれている。
【０１２７】
ＰＧＳｅｒｉａｌｉｚｅｒクラス４５２によって行われる直列化処理ステップはさらに、ＸＭＬＢｌｏｖＨｅｌｐｅｒクラス４５８で設定された属性によって、ならびにＤｉｓｐｌａｙＳｅｒｉａｌｉｚｅｒサブクラス４６０およびＣｏｍｐｏｓｉｔｅＳｈａｐｅＳｅｒｉａｌｉｚｅｒサブクラス４６２によって指定されている。
【０１２８】
図１４で指定された上記クラスおよびサブクラスは、上記実行時環境の表示をダウンロードして実施することに備えて行うことができる処理ステップのサブセットのみを表す。また、図１４で指定したオブジェクトモデルおよび処理技術は、本質的に例示的なものであり、ＰＧＸＭＬスクリプトは、当業者には周知のＸＭＬベースの記述およびスクリプトを処理する他の方法で処理してもよい。
【０１２９】
次に、図１５について説明すると、上記構成環境で生成されたプロセスグラフィック表示５００は、上記実行時環境での実行のために変換または処理される前に、そのコンポーネントの例示的なビューを表示する。構成後、表示５００は、レンダリングすべきグラフィックスのＰＧＸＭＬ記述を含むレンダリング定義５０２を含む。ＰＧＸＭＬスクリプトのこの部分は、表示５００の機能を含まないため、レンダリング定義５０２は、構成データベース２８に知られないままとなる可能性がある表示５００の部分に対応する。プロセスグラフィック表示またはその要素を定義するデータのほとんどは、不透明（opaque）な方法で構成データベース２８に格納することができ、この場合、データが関連するグラフィック表示要素の一般的な識別が及ばないデータの性質または詳細は、構成データベース２８またはデータのインデックスには知られていない。そのようなデータは、典型的には、グラフィック表示要素のグラフィックス部分を、要素の定義の残りの部分において離散的個別に、または個別に定義することができる。
【０１３０】
表示５００の他の部分は、構成の後に、ユーザによって実施されるリネームステップを追跡することをサポートするために、一般に、構成データベース２８に格納されている。より具体的には、そのような部分は、レンダリング定義５０２内のプロパティ参照を使用プロパティまたはパラメータに結び付けるプロパティ参照テーブル５０４を含んでもよい。使用パラメータがＤＶＳＹＳ：ＬＩＣ−１０１／ＰＩＤ１／ＰＶ．ＣＶ．として識別されているプレースホルダ＃＃＃．＃＃を有する参照のための一般的な実施例を図１５に示す。参照テーブル５０４はさらに、図１５に示す動的プロパティに加えて、スクリプトおよびイベントの仕様も含むことができる。以下に詳細に説明するように、使用のプロパティおよびパラメータは、データ結合テーブルまたはリスト５０６内のデータソースにも結び付けられている。データソースは、この実施例において、上記プロセス制御システムから受け取る情報のためのデータロケーションを指定するＦＩＣ−１０９／ＰＩＤ２／ＯＵＴ．ＣＶ等のデータパスまたはロケーション情報によって指定することができる（ただし、ネットワーク１０の内部および外部の両方の他のデータソースを用いることもできる）。データ結合テーブル５０６は、表示５００のための全てのデータソース参照のリストを備えることができる。データソースは、構成アプリケーション３８によって決められるエイリアス名によって識別することができる。上述したように、表示５００はさらに、１つ以上の値フォーマッタオブジェクト（図示せず）を含んでもよく、フォーマッタオブジェクトの各々は、他のオブジェクト、および表示される内容のフォーマット化のためのプロパティ参照との関連性を含むトークン化された表現を有する。また、表示は、データベースオブジェクトへの追加的な結びつきを設定するデータソース参照、および使用されている（usage）複合形状クラスへの参照を含んでもよい。
【０１３１】
表示５００は、表示の概して多数のさまざまな要素が、専用のプロパティ参照テーブルおよびデータソース結合リストを要するという意味で単純化した表示である。表示を定義することについてモジュール式というアプローチによって対処された潜在的な複雑性の説明を始めるために、図１６は、より典型的な表示に用いることができる例示的な複合形状クラス５１０のコンポーネントを示す。当然、複合形状クラス５１０は、より複雑な複合形状クラスを生成するために用いることができ、その使用は、表示を形成する際に含めることができる。上述したように、および図１６に概略的に示すように、複合形状クラス５１０は、形状の使用（usage）、すなわち、Ｌｉｎｅ１、Ｒｅｃｔ１およびＲｅｃｔ２から生成される。複合形状クラス５１０は、各々、ラインおよび三角形状の使用のための形状クラス５１４および５１６に依存するレンダリング定義５１２を含む。一般的に、形状クラス５１４および５１６、ならびに複合形状クラス５１０は、多数のプロパティおよびエンティティを含むことができる。プロパティが動的である場合、動的グラフィックスをサポートするデータのための参照パスは、形状のプロパティとの関連性によって解決することができ、エイリアス名によって解決することができ、または、スクリプトの使用によって解決することができる。いずれの場合においても、内部使用のプロパティは、構成アプリケーションにおける表示エディタのユーザによって設定されるパラメータとして見せることができ（例えば、図６〜図９のパネル３１８参照）、その結果、プロパティは、複合形状クラスが表示または別の複合形状クラス内で用いられる場合に構成することができる。
【０１３２】
表示５００と同様に、複合形状クラス５１０は、レンダリング定義５１２と１つ以上の参照テーブル５１８〜５２０とに分けることができる。レンダリング定義５１２に記述された詳細は、構成データベース２８には知らせなくてもよいが、追跡すべきアイテムは、参照テーブル５１８〜５２０のうちの１つのエントリとなるために、複合形状クラスを定義するＰＧＸＭＬスクリプトから取り出すことができる。参照テーブル内の各エントリは、構成データベース２８内に、関連する値フォーマッタエントリを有してもよい。値フォーマッタは、プロパティまたはパラメータに対する指定（割り当て）を含んでもよく、該指示は、特定のデータソース参照を含んでもよく、または、複合形状使用が複合形状クラスから生成された場合の後の結び付けのために残してもよい。
【０１３３】
上述したように、複合形状クラスの複合形状使用時の名称は、クラスと関連付けて格納することができ、そのため、クラスに対する変更は、各使用の前に伝わり、または伝播される。同様に、グラフィックパラメータ使用は、グラフィックパラメータの定義に関連付けて格納することができる。また、上記値フォーマッタは、パラメータまたはプロパティのためのスクリプトおよびイベントを含んでもよい。これらのデータアイテムは、参照テーブルに、または、参照テーブル５１８〜５２０と同様の他のテーブルに格納することができる。
【０１３４】
複合形状クラス５１０は、例えば、複合形状の使用のプロパティから生成されたパラメータを定義するテーブル５２２も含むことができる。より具体的には、テーブル５２２は、エイリアス名を参照する全ての動的プロパティを決定するエイリアス名（すなわち、ＳＴＵＦＦ）に関連する。また、２つの他のパラメータ、すなわち、使用ＬＩＮＥ１のＢＧＣＯＬＯＲに結び付けられているＡＬＡＲＭと、使用されたＲＥＣＴ１およびＲＥＣＴ２の幅（WIDTH）プロパティに結び付けられているＦＬＯＷ＿ＲＡＴＥも、クラスのために公開されるように定義される。複合形状が表示上に配置されると、複合形状クラスの使用またはインスタンスは、図１６に示す形状クラス使用が複合形状クラス５１０と共に生成されるような同じ方法で生成される。その結果、構成エンジニアは、テーブル５２２で識別されたパラメータのための固定されたまたは動的な値を生成することができる。
【０１３５】
既に簡潔に述べたように、複合形状クラスは、他の複合形状クラスの連関したまたは組み込まれた使用を含んでもよい。そのようなネスト化された複合形状は、いくつかの形状が一緒に組み合わされて、包括的な複合形状クラスが構成される場合に有用となる。複合形状クラス使用のプロパティまたはグラフィックパラメータは、指定されたデータソースパス内の１つ以上のエイリアス名と部分的に結合されてもよい。その結果として、新たなパラメータが、各固有のエイリアス名に対して生成され、それにより、表示上に配置された場合にユーザによる最小限の構成を必要とする、専門化されているが、まだ再使用可能な複合形状クラスを生成することが可能である。このように、より複雑な複合形状クラスを、より単純な複合形状クラスから生成することができる。例証として、複合形状クラスは、リミットインジケータのために生成することができ、該インジケータは、棒グラフ上のレベルを指し示し、かつ該レベルを識別するように配置された角部を有する三角形状オブジェクトの描写を含むことができる。従って、リミットインジケータの複合形状クラスの１つ以上のインスタンスは、例えば、タンク内の様々なレベルを識別するレベルインジケータ複合形状クラスに用いることができる。
【０１３６】
複合形状クラスのネスト化は、それら各々の使用またはインスタンスの各々を自動的に更新する各オブジェクトクラスの能力がなければ、概して厄介なものとなる。すなわち、および上述したように、複合形状クラスまたは表示クラス等の、オブジェクトクラスの構成に対する任意の変更は、上記ユーザインタフェースシステム全体に自動的に伝播し、当クラスの各インスタンスに構成変更を反映させる。
【０１３７】
上記オブジェクトクラスの上記の柔軟性は、上記実行時環境によっておよび、ある場合においては、必要に応じて上記構成環境によっても提供される構成制御の態様と組み合わせることができる。特定の実施形態に関して以下にさらに説明するように、実行時環境内のユーザは、一般に複合形状クラスに対する変更を実施することを制限される。クラスに関するこの制御は、ユーザが使用パラメータの値または定義に対する変更によって、クラスの特定の使用時の外見を変更できるようにすることによりのみ実現することができる。このように、ユーザに、基礎をなすグラフィックス構造ではなく、現在示されている特定の複合形状使用またはインスタンスのために、データソースを変更することを許可することができる。
【０１３８】
図１７は、Ｄｉｓｐｌａｙ１と名付けられた例示的なプロセスグラフィック表示と、その従属オブジェクトとの関係を識別する、符号５５０で示されたデータベース機器インスタンス図の概略図であり、それら全てのためのデータは、構成データベース２８に格納することができる。初期状況として、表示自体のためのオブジェクト５５２が存在し、該オブジェクトは構成データベース２８に格納することができる。オブジェクト５５２は、表示クラスの生成をサポートすることができ、必要に応じて、より複雑な表示の生成に用いることもできる。表示は、ポンプのための複合形状クラスの要素使用またはインスタンス５５４を含み、利用する。要素使用５５４は、“Ｐｕｍｐ１”と名付けられており、要素定義５５６と、各々モータポンプおよび手動ポンプのための代替的な視覚化（ビジュアライゼーション）５５８および５６０とによってさらに定義することができる。このように、表示５５２のインスタンスは、構成エンジニアが要求した場合に、ポンプの２つの使用可能なビジュアライゼーションのうちの一方を描写することができる。ポンプ複合形状５５６は、構成すべきパラメータとして利用可能になっている２つの内部プロパティ、すなわち、ＩｓＯｎパラメータオブジェクトクラスまたは定義５６２と、Ｓｐｅｅｄパラメータオブジェクトまたは定義５６４とを有する。使用５５４は、対応するパラメータ定義５６２および５６４のインスタンスまたは使用５６６および５６８を用いて、ポンプ使用５５４の構成をサポートする。表示５５２を介したポンプ使用５５４の構成をさらにサポートするために、表示５５２は、各々ポンプパラメータ使用５６６および５６８に関連付けられている２つの属性５７０および５７２を含む。この特定の実施例において、表示５５２のこれらの属性５７０および５７２は、例えば、パネル３１８を介して構成エンジニアによって既に指定されている。具体的には、表示属性５７０は、ＩｓＯｎパラメータが、パスまたはロケーション“Ｍｏｄ１／…”を有するデータソース５７４に結び付けられていることを指定している（パスのフルネームは、便宜上切り捨てる）。同様に、表示属性５７２は、Ｓｐｅｅｄパラメータが、パスまたはロケーション“Ｍｏｄ１／…”を有するデータソースに結び付けられていることを指定している（パスのフルネームは、便宜上切り捨てる）。このように、ポンプの固有のプロパティは、実行時変数を制御するために結び付けられ、その値は、表示５５２の実行時環境の生成時に表示されることになる。
【０１３９】
上記の実施例を介して示すように、パラメータは、表示インスタンスの構成中に、または、例えば、シミュレーションを変更するようにパラメータを変えることができるオフライン状況における実行時中にも、上述したエディタのうちの１つで使用可能になっている、ユーザが指定する、表示のための構成アイテムを構成することができる。別法として、グラフィック表示要素のグラフィカルな態様および他のプロパティは、複合形状クラス等のオブジェクトクラスのプロパティとして、構成環境で指定することができ、その結果、オブジェクトは、例えば、実行時中の動的作用をサポートするための、パラメータの任意のさらなる指定を要することなく、完全に定義される。例えば、固定色を有する固定形状等の固定要素のための複合形状クラスのプロパティは、クラスの内部プロパティによって完全に設定することができる。しかし、そのようなプロパティが固定ではない場合には、グラフィック表示要素のＰＧＸＭＬ定義が、例えば、後に、エディタを介した構成中に設定されるパラメータへの参照を定義する。このように、オブジェクトクラスプロパティは、高度な動的グラフィックスをサポートしたグラフィック表示パラメータをもたらすことができる。
【０１４０】
図１８は、上記構成環境中に生成された構成情報が、上記実行時環境での実施に備えて、ある実施形態に従って処理されるメソッドの単純化した図である。一般的に、多数のアセンブリが、表示インスタンスまたは使用から生成され、その構成情報は、ＰＧＸＭＬレンダリング定義として記述される。各表示のレンダリング定義から、表示グラフィッククラスアセンブリ６００が生成される。アセンブリ６００は、一般に、グラフィックおよび非グラフィックの両方の態様を含み、かつ定義する。例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ａｖａｌｏｎのベクトルグラフィックスを用いる実施形態においては、レンダリング定義のグラフィカル態様は、ＸＡＭＬスクリプトに変換され、一方例えば、データ変換およびイベントハンドリングに関連する非グラフィカル態様は、コードビハインド（code-behind）命令（例えば、Ｃ＃コード）で記述される。その結果、これらのコンポーネントは、グラフィック表示クラスアセンブリ６００にコンパイルすることができる。他の実施形態では、ＰＧＸＭＬ定義を、ＳＶＧ等の他のグラフィックスフォーマットに変換することができる。
【０１４１】
上述したように、表示は、複合形状クラスおよび形状クラスの両クラスのインスタンスを含むことができる。それらの使用は、Ａｖａｌｏｎ制御に変換することができ、また、（以下に説明するような）それら自身のアセンブリを有するが、プロセス制御データに結び付けられている表示、形状および複合形状使用のプロパティは、独立して生成されたアセンブリ６０２で定義されたプロパティと関連付け、または結び付けることができ、該アセンブリは、データソース結合クラスと呼ぶことができる。いくつかの実施形態においては、グラフィック表示クラスアセンブリ６００とデータソース結合クラスアセンブリ６０２は、単一のアセンブリに結合される。データソース結合クラスアセンブリ６０２は、表示インスタンスに関わる全てのデータソース参照（データソース６０３として概略的に示す）に対する、ならびに表示クラスに対する全ての対応するリンクに対する、生成された結合の指定を含んでもよい。この意味において、アセンブリ６０２およびデータソース６０３は、表示、およびその構成要素の複合形状および他の形状のための全てのデータソース参照を含む。
【０１４２】
表示で用いられる複合形状の各ＰＧＸＭＬレンダリング定義は、個別のアセンブリ６０４、６０６内に処理される。いくつかの実施形態においては、リンクまたは他の方法で関連付けられている複合形状クラスのインスタンスは、アセンブリ６０４等の専用化された単一のアセンブリにグループ化することができる。同様に、生成されたアセンブリの総数は、組み込まれた複合形状クラスの全てを、アセンブリ６０６等の単一の独立したアセンブリにすることにより低減することができる。含まれる複合形状の組み込まれた性質を考慮して、表示アセンブリ６００およびアセンブリ６０６は、最適化のために結合されてもよい。
【０１４３】
表示に用いられる形状クラスは、生成された表示および複合形状クラスアセンブリから独立した、および表示およびアセンブリの外部の、形状アセンブリ６０８等の各々のアセンブリ内に処理される。形状クラスアセンブリは、形状クラスが、形状クラスを生成してダウンロードするのを避けるために予め定義されている場合には、予め作成してもよい。すなわち、形状がシステム上に予めインストールされている場合には、各々のアセンブリは、上記構成アプリケーションを有するワークステーションからロードし、または、構成データベース２８から、形状を有する表示の描写を生成するワークステーションまたは他の表示デバイスの各々へダウンロードすることができる。ある実施形態は、新たな形状クラスを追加する（すなわち、形成する）という柔軟性を提供することができるが、その結果として生じる形状アセンブリは、表示のための他のアセンブリがダウンロードされた場合に追加することができ、それによって、オペレータワークステーションまたは他の表示デバイスへの再インストールを回避することができる。形状アセンブリ６０８は、ＰＧＸＭＬで、または、別法として例えば、Ｃ＃で記述されたコード命令で記述された各々のレンダリング定義から生成することができる。
【０１４４】
図１９は、ＰＧＸＭＬ設定情報の、図１８に関して論じたアセンブリ等の制御アセンブリへの変換に伴う処理ステップ、ならびに、そのようなアセンブリの、実行時実施への展開のためのファイルへのコンパイルおよび他の処理を示す。このような処理は、一般に、要素および表示の設定が完了した後に行われ、その結果として生じるデータは、構成データベース２８に格納される。一般的に、図１９に示す処理および展開ステップは、そのような処理が可能な、ネットワーク１０内の１つ以上のコンピュータ、プロセッサまたは他のデバイスによって実施される変換エンジンまたは他のツールによって実行することができる。一実施形態において、変換エンジンまたはツールによって行われる処理ステップは、主に、Ｐｒｏ＋ワークステーションによって実行され、ワークステーションは構成アプリケーション３８のためのユーザインタフェースも備えているが、これは必ずしも必要ではない。しかし、図１９の例示的な実施形態は、含まれる２つのワークステーションの間に、１つの可能な分割を形成し、この場合、分割線６１０は、一般に、構成ワークステーション（例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  ＭａｎａｇｅｍｅｎｔからのＤｅｌｔａＶ（登録商標）のインストールに関して用いられるＰｒｏ＋ワークステーション）およびオペレータワークステーションに関連する各々のタスクおよびファイルロケーションを表す。
【０１４５】
図１９に示すプロセスグラフィックス展開計画ステップは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ａｖａｌｏｎの実装に基づいているが、他の実施形態においては、他のグラフィックスキームを用いてもよい。例えば、ＸＡＭＬの拡大縮小可能なベクトルグラフィックスの有利性を得るには、ＳＶＧフォーマットを用いることができ、この場合、これの展開ステップはＳＶＧスクリプトが処理されて実施される方法に応じて、図１９に示すものと同様であるが、同一のものにはならないであろう。
【０１４６】
上述したように、上記プロセスグラフィック表示およびそのグラフィック表示要素（すなわち、形状、複合形状および従属的表示）は、構成アプリケーション３８、およびより具体的には、１つ以上のグラフィックエディタまたは編集ツールを用いて、生成されて構成される。表示および要素は、上述したオブジェクトクラスによって記述され、その結果、各要素は、各々の定義６１２および要素使用記述６１４によって定義され、また、各表示は、各々の表示定義６１６によって定義される。各定義または記述は、ＰＧＸＭＬスクリプト（特に、定義６１２および６１６）で記述することができ、そのため、ＸＡＭＬグラフィックスフォーマットに変換されるレンダリング定義を含む。このため、各要素定義６１２は、要素クラスのために定義されたグラフィック構造をレンダリングすることを対象とするＡｖａｌｏｎ制御を記述するＸＡＭＬファイル６１８（例えば、ｃｏｎｔｒｏｌ．ｘａｍｌ）に変換される。同様に、１つ以上の制御アセンブリファイル６２０が、要素使用定義６１４から導出又は生成される。データ結合および要素使用定義６１４と共に格納された他の情報は、参照テーブルまたはリストに記載することができるが、上述したように、そのような情報も別法として、ＰＧＸＭＬ記述を用いて記述してもよい。
【０１４７】
図１９の説明を続けると、表示定義６１６のグラフィックス部分も、ＸＡＭＬスクリプト６２２に変換され、スクリプトは、独立したファイル（例えば、ｄｉｓｐｌａｙ．ｘａｍｌ）で記述することができる。表示定義６１６の他の部分は、基礎をなすデータソースおよび動的態様を生じさせるイベントを指定することを含む、表示の動的態様を実施する際に伴う命令を含む１つ以上の追加的なコードビハインドファイル６２４を生成するように処理することができる。より具体的には、コードビハインドファイル６２４は、表示に用いられる参照の各々を識別するカスタムデータソースリストを含んでもよい。参照される要素のリストは、どの制御アセンブリを表示に関してダウンロードするかを決めるのに用いることができる。
【０１４８】
次いで、Ａｖａｌｏｎ制御、および表示ファイル６２２等の他のＸＡＭＬスクリプトファイルは、上記実行時環境をサポートするためにコンパイルすることができる。この実施形態において、コンパイルは、レンダリング、および実行時時に実行すべき他のコマンドを記述する１つ以上の動的リンクライブラリ（ｄｙｎａｍｉｃ−ｌｉｎｋ  ｌｉｂｒａｒｙ；ＤＬＬ）ファイルをもたらす。第１のＤＬＬファイル６２６は、上記グラフィック表示要素のためのＸＡＭＬ制御をレンダリングするためのコマンドを記述することができるが、第２のＤＬＬファイル６２８は、表示を描写するためのコマンドを対象とすることができる。他の実施形態においては、コンパイルステップは、グラフィックス命令がレンダリングされる方法により、必要とならない可能性もある。
【０１４９】
そして、制御アセンブリおよび表示アセンブリのコンパイルされたバージョンは、上記プロセスグラフィック表示がレンダリングされる任意の数のワークステーションまたは他の表示装置にもダウンロードすることができ、または、別の方法で伝送することができる。この例示的な実施形態において、ファイル６２６および６２８は、例えば、オペレータワークステーションの一部であるか、あるいは多数のワークステーションで共有していてもよい、メモリ６３０にダウンロードされる。プロセスグラフィック表示が描写しようとする場合、プロセスグラフィック実行時アプリケーション６３２は、ＤＬＬファイル６２６および６２８の実行時インスタンス６３６および６３８の実行および他の処理を実施して、プロセスグラフィック表示をレンダリングすることができるコンピュータ可読媒体を用いて、実行時ワークスペース６３４を生成する。具体的には、実行時ワークスペース６３４は、アプリケーションの実行のためのＡｖａｌｏｎフレームワークに用いられる１つ以上の領域（ドメイン）６４０および６４２を含むことができる。そのため、ＤＬＬファイル６３６および６３８は、アプリケーション領域６４０のうちの１つへロードされて、表示を示すように構成されたユーザインタフェースウィンドウ枠が生成される。このため、表示データソースファイル６４４がアクセスされまたは作動されて、表示が、ファイル６４４で識別されたソースから集められたデータを用いてレンダリングされる。データソースファイル６４４は、Ａｖａｌｏｎグラフィックスを、上記プロセス制御システム等のバックエンドデータソースへ有効に接続するカスタムデータアダプタである。
【０１５０】
一般的に、表示または複合形状が、１つ以上のプロパティに関して動的挙動を含む場合、それらのプロパティは、上記制御システムまたはいくつかの他のソースからのデータに結び付けなければならない。このデータリンクは、本願明細書において、データ結合（バインド）と呼ぶ。データ結合は、２つの要素、すなわち、データソースの識別子と、データソース参照とを含むことができる。単純な場合において、結合された値は完全に限定され、これは、該結合値が、例えばクラスを定義するＰＧＸＭＬスクリプト内にハードコードされた特定のデータソースに対して決定（解決）されることを意味する。データソース識別は、“ＤＶＲＴ：ＬＩＣ−１０１／ＰＩＤ１／ＰＶ．ＣＶ．”等のパス名を含んでもよい。表示がレンダリングまたは実行されると、データは、結合されたパラメータに関して指定されたフォーマット化および他のグラフィックス詳細を介した表示のためのデータ結合を介して検索される。このように、値が変化すると、表示が変わることになり、それによって、表示のまたは表示要素の動的挙動を設定し、およびレンダリングされた表示とデータソースとの間の伝達（すなわち、通信リンク）の継続的な方法を実現できる。データソースの実施例は、プロセス制御システム実行時システム（例えば、ＤｅｌｔａＶ（登録商標）実行時、ＤｖＲｔ）、プロセス制御ヒストリアン、プロセス制御システムのイベントおよびアラーム、プロセス制御システム診断データ、およびＯｖａｔｉｏｎ（登録商標）、Ｐｒｏｖｏｘ（登録商標）（ＰＯＣ）、ＯＰＣおよびＡＭＳ等の他の外部システムを含む。
【０１５１】
図２０は、上述したデータソース機能をサポートする上記オブジェクトモデルフレームワークの例示的なデータソースオブジェクトモデル部分６５０の概略図である。一般的に、および上述したように、カスタムデータソースは、各プロセスグラフィック表示に対して生成される。色変化を介して反映されたＩｓＯｎパラメータを有するポンプを含む表示において、構成エンジニアまたは他のユーザは、プロセス制御システムの‘ＭＯＤ１＼．．．’で始まるパス等のデータソース内のパス上のアイテムに結び付けるために、ポンプのＩｓＯｎプロパティを構成することができる。ＸＡＭＬまたは他のプロセスグラフィックスレンダリングスクリプトが、上記実行時環境のオペレータワークステーションおよび他の表示装置へのダウンロードの前に生成される場合、ポンプのインスタンスは、中間媒介変数名を参照する結合命令文（bind statement）を含むことができる。また、カスタムデータソースパス同じ名称を有するプロパティを含むように生成（または、変更）することもできる。このため、図２０に示すように、データソースオブジェクトモデル６５０は、典型的には、いくつかの登録されたデータソースのためのデータソースマネージャオブジェクト６５２を含むことができる。この単純化した実施例においては、単一のＤｖＲｔデータソースオブジェクト６５４のみが示されており、オブジェクトは、データソースとしてのプロセス制御システムの使用を表すことができる。ＤｖＲｔデータソース６５４および他の制御システムデータソースは、ＩＤａｔａＳｏｕｒｃｅクラス６５６のサブクラスとして体系化されており、クラスはデータソースパス表現のための登録（または、メモリ機器ロケーション）情報を指定することができる。ＩＤａｔａＳｏｕｒｃｅクラス６５６の下で体系化されたアクティブなデータソースは、ＩＤａｔａＳｏｕｒｃｅＭａｎａｇｅｒクラス６５２の下で管理されるデータソースの制御システム部分を管理することに専門化されたＤｖＤａｔａＳｏｕｒｃｅマネージャ６５８の下にもある。
【０１５２】
表示のためのカスタムデータソースは、通知クラス６６２および登録クラス６６４内のオブジェクトを介して、ＤｖＲｔＤａｔａＳｏｕｒｃｅ６５４にアクセスすることができるＤａｔａＳｏｕｒｃｅＢａｓｅクラス６６０を介して得られる。ＤａｔａＳｏｕｒｃｅＢａｓｅクラス６６０のオブジェクトは、表示から抽出された参照を用いて生成することができる。ＩＢｉｎｄｉｎｇＯｂｊｅｃｔクラス６６４の結合オブジェクト６６２は、表示における各参照のためのデータソースに付加される。また、ＩＰｒｏｐｅｒｔｙＣｈａｎｇｅクラス６６６は、表示のためのカスタムデータソースの処理に用いることができる。
【０１５３】
上記カスタムデータソースを用いて、上記ＰＧＸＭＬスクリプトから得られたＡｖａｌｏｎ（または、他のグラフィックス）制御は、データソースに対してデータ結合依存性プロパティとすることができる。そのようにする場合、依存性プロパティの値は、実行時時のデータソースによって生成され、その結果、基礎をなす値に対する変更は、依存性プロパティに反映される。ユーザが新たな値を与えた場合には、これはデータソース内に自動的に割り込まれる。
【０１５４】
上記データソースから検索されるデータ値のためのパスは、本願明細書において、データソース参照と呼ぶことができる。データソース参照構文は、例えば、異なる制御システムまたは他の種類のデータソースを有するいくつかの異なる実施形態の間で異ならせることができる。ある場合においては、データソース参照は、英数字または浮動少数等のフォーマットまたは構文を指し示すプロパティを有してもよい。挿入句的に言及された市販のシステムのためのデータソース参照の実施例は、ＬＩＣ−１０１／ＰＩＤ１／ＰＶ．ＣＶ（ＤｅｌｔａＶ（登録商標））およびＰＯＩＮＴ／ＰＡＲＡＭＥＴＥＲ．ＦＩＥＬＤ（Ｐｒｏｖｏｘ（登録商標））を含む。上述したように、データソースとデータソース参照とを結合することは、上記実行時ワークスペースが、表示における動的挙動を駆動するために用いられるデータ値を得ることを可能にする。
【０１５５】
プロパティが、プロセス制御データ値“Ｖａｌｕｅ  Ｆｏｒｍａｔｔｅｒ”に結合されると、オブジェクトを、構成時に生成することができる。Ｖａｌｕｅ  Ｆｏｒｍａｔｔｅｒオブジェクトは、結合される使用およびプロパティまたはパラメータ、データソースおよびデータソース参照等の結合の詳細を指定することができる。別法として、または追加的に、Ｖａｌｕｅ  Ｆｏｒｍａｔｔｅｒは、フォーマット化、データ変換（参照テーブル、線形、レンジ、またはスクリプト機能）、エラーの取扱い、リフレッシュレートおよび最小値変化等の追加的なデータを含んでもよい。
【０１５６】
いくつかの実施形態においては、１つ以上の参照テーブルを、データ結合を支援するために、構成データベース２８に格納することができる。例えば、Ｖａｌｕｅ  Ｆｏｒｍａｔｔｅｒオブジェクトは、構成時に参照テーブルに関連付けることができる。参照テーブルは、上記ワークステーションにダウンロードすることができ、グローバル変数および参照テーブルのためのデータソース拡張を設けてもよい。そのような参照テーブルは、表示間で共有することができ、また、表示に関係なくダウンロードすることができる。
【０１５７】
本願明細書において既に述べたように、ＰＧＸＭＬ記述を介して記述されかつ定義されたパラメータおよび他の情報のデータ結合は、グラフィックスが関連する上記プロセスプラントデータに結び付けられた、または、プロセスプラントデータによって制御されるアニメーションを有する進化した動的グラフィックスを、柔軟性があり、拡張可能で設定可能な方法でサポートする。プロセスグラフィック表示をモジュール式の拡張可能な方法で形成する形状クラスおよび複合形状クラスの使用は、構成エンジニアにさらなる柔軟性をもたらす。表示におけるそのような複合形状のインスタンスを、インスタンスがそこから生成されるライブラリオブジェクト（例えば、複合形状クラス）に関連付け、またはリンクさせると、更新の自動的伝播を、ライブラリクラスに対する単一の変更によって行うことができる。これらは、ＸＭＬベースのプロセスグラフィックス記述、およびそのような記述のパラメータ化（すなわち、グラフィック構造定義とグラフィックパラメータとの分離）によってサポートされる利点のいくつかに過ぎない。
【０１５８】
本願明細書で既に述べたように、各プロセスグラフィック表示、およびグラフィック表示に含まれるグラフィック表示要素の生成は、第１の宣言型フォーマットで記述された各々のテキスト記述で記録される。各記述におけるスクリプトコマンドは、レンダリングされるグラフィックスにもかかわらず、表示を定義するための有効で、非メモリ集約的なメカニズムを可能にする。宣言型フォーマットひいてはスクリプトコマンドは、多数の異なるマークアップ言語のうちのいずれか１つに基づかせることができる。より具体的には、各表示および表示要素のためのレンダリング定義またはＸＭＬブロブ（blob）を記述するために、ＸＭＬに基づくマークアップ言語に依存させることができる。アニメーション等の高度なグラフィックスをサポートするために、マークアップ言語は、ベクトルグラフィックススキームに従って、そのようなグラフィックスを定義することもできる。
【０１５９】
さらに、本願明細書で既に述べたように、上記プロセスグラフィックスの動的性質は、プロセスプラントパラメータの現在の値を、オンラインまたはシミュレーション状態変化として反映するように設計される。このため、プロセスグラフィックスは、そのような変化を反映するデータのためのソースにリンクすることができる。各ＸＭＬベースの記述は、それに応じて、一般に、データに従って変更される各々の動的グラフィックパラメータ（例えば、タンク内部の色の変化）のためのデータソースロケーションを識別する１つ以上のデータソース参照を含んでもよい。データソースロケーションは、エディタを介した構成の間に、後の指定のためにオープンにしておくことができ、その結果、スクリプトは、エイリアス名またはプレースホルダを識別して、後に指定されるデータソースまたはパス情報を参照する。データソース情報およびプロセスグラフィック表示の他のプロパティ（例えば、イベントの取扱い等の作用）は、ＸＭＬベースの記述を介して指定されるため、ＸＭＬベースの言語は、ＰＧＸＭＬ、または、プロセスグラフィックスＸＭＬと呼ぶことができる。
【０１６０】
プロセスグラフィック表示およびその構成要素を定義することに対する構成および設計ワークを終える際、上記構成エンジニアまたは他のユーザは、プロセスグラフィックスを上記オペレータワークステーションまたは他のユーザ表示装置へダウンロードすることに備えて、ＰＧＸＭＬ記述を処理するように選ぶことができる。一般的に、プロセスグラフィック表示およびグラフィック表示要素の各ＰＧＸＭＬ記述は、（i）使用されるグラフィックスレンダリングエンジンに適合するベクトルグラフィックスフォーマットでスクリプトを生成するように、および（ii）表示のデータソース参照および他の任意の非グラフィック機能（例えば、挙動）を指定する命令を有するコードを生成するように処理される。スクリプトのベクトルグラフィックスフォーマットも、宣言型、またはＸＭＬベースの言語とすることができる。Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ａｖａｌｏｎのユーザインタフェースアーキテクチャを用いる実施形態においては、ベクトルグラフィックススクリプトは、Ｍｉｃｒｏｓｏｆｔ（登録商標）  ＸＡＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述することができる。他の実施形態は、オープンソースフォーマットのＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）等の他のフォーマットを用いてもよい。ＰＧＸＭＬ記述は、グラフィックス構造をレンダリングする際に直接用いられるフォーマットまたはオブジェクトモデル以外の別のフォーマットで記述されているため、使用可能なベクトルグラフィックスアーキテクチャのうちのいずれかを用いる能力が可能とされている。コードは、Ｃ＃または、所望に応じて他のいずれかの適当なプログラミング言語で記述することができる。
【０１６１】
いくつかの実施形態においては、上記ベクトルグラフィックススクリプトおよび関連するコードは、その後、結合されて、上記オペレータワークステーションまたは他の表示装置のための実行可能なコマンドを記述するファイルにコンパイルされる。このため、各々の動的リンクライブラリ（ＤＬＬ）ファイルを、各プロセスグラフィック表示およびグラフィック表示要素に対して生成することができる。いずれの場合も、ベクトルグラフィックススクリプトおよび関連するコードのそのようなコンパイルは、ネットワークデータ伝送要件を最小化するようにダウンロードする前に実行することができる。
【０１６２】
上記オブジェクトモデルフレームワークの上記の例示的な部分は、上記ユーザインタフェースのプロセスグラフィックスおよび他の機能をサポートするように定義された多数のクラスのうちのほんの数例を示す。
【０１６３】
実施時には、本願明細書に記載したソフトウェアのうちのいずれかを、任意のコンピュータ可読メモリに、例えば、磁気ディスク、レーザディスク、または他の記憶媒体に、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭに格納することができる。同様に、このソフトウェアは、例えば、コンピュータ可読ディスクまたは他の可搬型コンピュータ機器メカニズムを介した方法、あるいは、電話線、インターネット、ワールドワイドウェブ、他の任意のローカルエリアネットワークまたは広域ネットワーク等の通信チャネルを介した方法等を含む、周知のまたは所望の配信方法（どの配信も、そのようなソフトウェアを、可搬型機器媒体を介して提供することと同様または代替可能と考えられる）を用いて、ユーザ、プロセスプラントまたはオペレータワークステーションへ配信することができる。さらに、このソフトウェアは、変調や暗号化を要することなく直接提供することができ、または、通信チャネルを介して転送される前に、任意の適当な変調搬送波および／または暗号化技術を用いて、変調および／または暗号化することもできる。
【０１６４】
本発明を、単に例示的なものであることを意図し、かつ本発明を限定することを意図しない特定の実施例に関して説明してきたが、当業者には、本発明の趣旨および範囲を逸脱することなく、開示した実施形態に対して、変更、追加または削除が可能であることは明白であろう。
【図面の簡単な説明】
【０１６５】
【図１】スマートプロセスオブジェクトを用いてプロセスモジュールを生成し、グラフィック表示を用いてプロセスプラントの動作をシミュレーションする表示ルーチンを実装するオペレータワークステーションを含む、プロセスプラント内に配設された分散型プロセス制御ネットワークのブロック図である。
【図２】プロセスプラントにおいて強化された機能を実施するために用いることができる、図１のオペレータワークステーション内に格納されたスマートプロセスオブジェクトおよびプロセスモジュールを含む、一組のアプリケーションおよび他のエンティティの論理ブロック図である。
【図３】オブジェクトライブラリに格納されたスマートプロセスオブジェクトを用いて、プロセスグラフィック表示またはプロセスモジュールを生成するための、構成エンジニアによって使用される構成スクリーンの単純化した図である。
【図４】プロセスプラント内のストリームおよび接続要素の描写を含む例示的なプロセスグラフィック表示の詳細な図であり、前記描写、多数のスマートプロセスオブジェクトのグラフィック表示要素を相互接続することにより生成されている。
【図５】スマートプロセスオブジェクトを用いたプロセスモジュールを、現存するプロセス制御ネットワーク内に生成でき、ネットワーク内に実装できる方法の論理ブロック図である。
【図６】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図７】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図８】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図９】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図１０】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図１１】マークアップ言語ベースのオブジェクトモデルを用いて構成及び構築した複数の例示的なプロセスグラフィック表示の部分の図である。
【図１２】オブジェクトモデルフレームワークのクラス間の関係を識別するクラス図で記述されたオブジェクトモデルフレームワークの各部分の単純化した図である。
【図１３】オブジェクトモデルフレームワークのクラス間の関係を識別するクラス図で記述されたオブジェクトモデルフレームワークの各部分の単純化した図である。
【図１４】オブジェクトモデルフレームワークのクラス間の関係を識別するクラス図で記述されたオブジェクトモデルフレームワークの各部分の単純化した図である。
【図１５】宣言型言語で記述されたレンダリング定義を含む、例示的なプロセスグラフィック表示の定義コンポーネントの概略図である。
【図１６】プロセスグラフィック表示を生成および構成する際に用いることができる例示的な複合形状クラスの定義コンポーネントの概略図である。
【図１７】定義されたパラメータを有する多数の複合形状を用いて、例示的なプロセスグラフィック表示間の関係を特定するデータベース格納インスタンス図の概略図である。
【図１８】図１５および図１６に関して説明した構成環境コンポーネントから実行時プロセスグラフィック表示の生成に関連して生成されたアセンブリの概略図である。
【図１９】実行時プロセスグラフィック表示の生成と関連して生成されたアセンブリ、ファイルおよび他のアイテムの別の概略図である。
【図２０】例示的なデータソースのためのオブジェクトモデルフレームワークのデータソースオブジェクトモデル部分の概略図である。
【図１】
2007536647.tif 000004
【図２】
2007536647.tif 000005
【図３】
2007536647.tif 000006
【図４】
2007536647.tif 000007
【図５】
2007536647.tif 000008
【図６】
2007536647.tif 000009
【図７】
2007536647.tif 000010
【図８】
2007536647.tif 000011
【図９】
2007536647.tif 000012
【図１０】
2007536647.tif 000013
【図１１】
2007536647.tif 000014
【図１２】
2007536647.tif 000015
【図１３】
2007536647.tif 000016
【図１４】
2007536647.tif 000017
【図１５】
2007536647.tif 000018
【図１６】
2007536647.tif 000019
【図１７】
2007536647.tif 000020
【図１８】
2007536647.tif 000021
【図１９】
2007536647.tif 000022
【図２０】
2007536647.tif 000023
【国際調査報告】
2007536647.tif 000024
2007536647.tif 000025
2007536647.tif 000026