説明

プロセス環境におけるスクリプト化グラフィックス

【課題】プロセスプラント内のデバイスの現在の状況などのプロセス環境に関する情報を一人以上のユーザに表示するためにプロセス環境で使用されるグラフィック・エレメント及びグラフィック・ディスプレイが提供される。
【解決手段】グラフィック・エレメント及びディスプレイはプロセスプラントの構成の際にプロセスプラント内の各種論理的及び物理的エレメントと関連付けられてもよく、あるいは構成されて制御ルーチンなどの他の構成アイテムと共にプロセスプラント内のハードウェアにダウンロードされてもよい。グラフィック・エレメント及びグラフィック・ディスプレイは作成されてライブラリに格納され、プラント内の各種論理的もしくは物理的エンティティと関連付けられることにより構成されてもよい。

【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本願は米国仮出願第60/567980号、「プロセス制御システムを用いた表示・監視及び対話のためのグラフィカル・ユーザインタフェース(Graphical User Interface for Representing, Monitoring, and Interacting with Process Control Systems)」(2004年5月4日出願。当該特許出願の全開示内容を参照によって本願明細書に援用する)に関連する通常出願であり、当該仮出願について優先権を主張する。本願は、米国特許出願第10/625481号、「プロセスプラントにおけるグラフィック・ディスプレイ・エレメント、プロセス・モジュール及び制御モジュールの統合(Integration of Graphic Display Elements, Process Modules and Control Modules in Process Plants)」(2003年7月21日出願、2004年8月5日公開(特許文献1)。また、米国特許出願第10/278469号「プロセスプラントにおけるスマート・プロセス・モジュール及びオブジェクト(Smart Process Modules and Objects in Process Plants)」(2002年10月22日出願、2004年4月22日公開(特許文献2)。当該特許の全開示内容を参照によって本願明細書に援用する)の一部継続出願)の関連出願である。また、本願は米国特許出願第10/368151号「プロセスプラント構成システムにおけるモジュール・クラス・オブジェクト(Module Class Objects in Process Plant Configuration System)」(2003年2月18日出願、2004年10月7日公開(特許文献3)。当該特許の全開示内容を参照によって本願明細書に援用する)の関連出願である。また、本願は同日付で国際(PCT)出願された以下の特許出願(当該特許出願の全開示内容を参照によって本願明細書に援用する)の関連出願である。「プロセス環境における関連グラフィック・ディスプレイ(Associated Graphic Displays in a Process Environment)」(代理人事件番号第06005/41111号)、「ユーザにより構成可能なプロセス制御システムのための警報及び警報傾向(User Configurable Alarms and Alarm Trending for Process Control System)」(代理人事件番号第06005/41112号)、「プロセスプラントにおけるプロセス・モジュールとエキスパート・システムの統合(Integration of Process Modules and Expert Systems in Process Plants)」(代理人事件番号第06005/41113号)、「統合環境におけるカスタマイズド・プロセス・グラフィック・ディスプレイ層を有するプロセスプラント・ユーザインタフェース・システム(A Process Plant User Interface System Having Customized Process Graphic Display Layers in an Integrated Environment)」(第06005/41114号)、「プロセス構成及び制御環境へのグラフィック統合(Graphics Integration into a Process Configuration and Control Environment)」(代理人事件番号第06005/41116号)、「プロセス環境における複合的ビジュアライゼーションを伴うグラフィック・エレメント(Graphic Element with Multiple Visualizations in a Process Environment)」(代理人事件番号第06005/41117号)、「プロセスプラントにおけるグラフィック・ディスプレイ・エレメント及びプロセス・モジュール構成システム(System for Configuring Graphic Display Elements and Process Modules in Process Plants)」(代理人事件番号第06005/41118号)、「統合プロセス制御システム・インタフェースのためのグラフィック・ディスプレイ構成の枠組み(Graphic Display Configuration Framework for Unified Process Control System Interface)」(代理人事件番号第06005/41124号)、「プロセスプラント・ユーザインタフェースにおけるマークアップ言語ベースの動的プロセス・グラフィックス(Markup Language-Based, Dynamic Process Graphics in a Process Plant User Interface)」(代理人事件番号第06005/41127号)、「プロセス制御データ修正方法及び装置(Methods and Apparatus for Modifying Process Control Data)」(代理人事件番号第06005/591622号及び第20040/59-11622号)、「プロセス制御データへのアクセス方法及び装置(Methods and Apparatus for Accessing Process Control Data)」(代理人事件番号第06005/591623号及び第20040/59-11623号)、「プロセス制御システムのための統合グラフィカル・ランタイム・インタフェース(Integrated Graphical Runtime Interface for Process Control Systems)」(代理人事件番号第06005/591628号及び第20040/59-11628号)、「プロセス制御システムのためのサービス関連アーキテクチャ(Service-Oriented Architecture for Process Control Systems)」(代理人事件番号第06005/591629号及び第20040/59-11629号)。
【0002】
本発明はプロセスプラントに係り、詳細にはプラントの構成、制御、メンテナンス及びシミュレーションに関する各種作業において共通グラフィック・ディスプレイ・エレメントの作成・使用を可能とする、プロセス制御及びシミュレーション・システムのシステムレベルにおけるグラフィック・ディスプレイ・エディタ及びグラフィック・ディスプレイ・オブジェクトの統合とその利用に関する。
【背景技術】
【0003】
例えば化学物質や石油などの処理に利用される分散型プロセス制御システムは、通常アナログバス、デジタルバスもしくはアナログ/デジタル複合バスを介して通信することで一以上の現場装置に接続された一以上のプロセス・コントローラを備える。現場装置として例えばバルブ、バルブポジショナ、スイッチ、トランスミッタ(温度センサ、圧力センサ、レベルセンサ及び流量センサなど)が挙げられ、これらはプロセス環境に置かれ、バルブの開閉やプロセス・パラメータの測定などのプロセス機能を実行する。スマート現場装置としてFOUNDATION(登録商標)Fieldbusプロトコルなどの公知のFieldbusプロトコルに従った現場装置などが挙げられるが、これらも制御計算、警報機能、一般にコントローラ内部で実施されるその他の制御機能を実行できる。プロセス・コントローラは一般にプラント環境に置かれ、現場装置により行われるプロセス測定値を表す信号及び/又は当該現場装置に関するその他の情報を受信し、例えばプロセス制御の決定、受信情報に基づく制御信号の生成、及びHART及びFieldbus現場装置などの現場装置において実行される制御モジュール又はブロックとの協調を行う異なる制御モジュールを実行する制御アプリケーションを実行する。コントローラ内の制御モジュールは通信回線を介して現場装置に制御信号を送り、プロセス動作を制御する。
【0004】
通常、現場装置及びコントローラからの情報は、データ・ハイウェイを介して一以上の他のハードウェア・デバイスにおいて利用できる。ハードウェア・デバイスとしては、一般に厳しいプラント環境とは離れた制御室や他の場所に配置されるオペレータ・ワークステーション、パーソナルコンピュータ、データ履歴作成プログラム、レポート作成プログラム、集中データベースなどが挙げられる。これらのハードウェア・デバイスは、例えばプロセス制御ルーチンの設定を変更する、コントローラもしくは現場装置内での制御モジュールの動作を修正する、現在のプロセス状態を表示する、現場装置及びコントローラにより生成された警報を表示する、要員の育成やプロセス制御ソフトウェアのテストの目的のためにプロセス動作をシミュレーションする、構成データベースを保持・更新するなど、当該プロセスに関連する各種機能をオペレータにより実行可能とするためのアプリケーションを実行する。
【0005】
一例として、エマーソン・プロセス・マネジメント(Emerson Process Management)社より市販されるDeltaV(登録商標)制御システムは、プロセスプラント内の様々な場所に配置された異なる装置中に格納され、実行される多数のアプリケーションを含む。一以上のオペレータ・ワークステーションに配置される構成アプリケーションは、ユーザがプロセス制御モジュールを作成あるいは変更し、これらのプロセス制御モジュールをデータ・ハイウェイを介して専用の分散型コントローラにダウンロードすることを可能とする。通常、これらの制御モジュールは、入力に基づいて制御スキームにおいて機能を実行し、制御スキームの他の機能ブロックに対し出力を行うオブジェクト指向プログラミング・プロトコルのオブジェクトである、通信により相互接続された機能ブロックで構成される。また、構成アプリケーションは、表示アプリケーションがオペレータにデータを表示するために利用するオペレータ・インタフェースを設計者が作成あるいは変更し、またプロセス制御ルーチンにおいてオペレータが設定値などの設定を変更することを可能とする。各専用コントローラ、あるいは場合によっては現場装置は、実際のプロセス制御機能を実施すべく割り当てられダウンロードされた制御モジュールを実行する制御アプリケーションを格納・実行する。一以上のオペレータ・ワークステーションで実行できる表示アプリケーションは、データ・ハイウェイを介して制御アプリケーションからデータを受信し、ユーザインタフェースを利用してこのデータをプロセス制御システム設計者、オペレータ、あるいはユーザに対し表示する。また、表示アプリケーションはオペレータ用ビュー、エンジニア用ビュー、技術者用ビューなど、任意数の異なるビューを提供してもよい。通常、データ履歴作成アプリケーションはデータ・ハイウェイを介してデータの一部もしくは全部を集め、格納するデータ履歴作成装置に格納され、実行される。一方、構成データベース・アプリケーションはデータ・ハイウェイに接続された更に別のコンピュータ上で実行され、現在のプロセス制御ルーチン構成及びそれに関連するデータを格納してもよい。あるいは、構成データベースは構成アプリケーションと同じワークステーションに配置されてもよい。
【0006】
プロセス制御環境で使用される制御アプリケーション及びサポート・アプリケーションの数及びタイプが増えるにつれ、ユーザがこれらのアプリケーションを効果的に構成・利用できるように異なるグラフィカル・ディスプレイ・アプリケーションが提供されてきた。例えば、グラフィカル・ディスプレイ・アプリケーションは、構成エンジニアがプロセスプラント内の制御装置にダウンロードされる制御プログラムをグラフィックを用いて作成することを可能とするため、制御構成アプリケーションをサポートすべく利用されている。また、グラフィカル・ディスプレイ・アプリケーションは、例えば制御オペレータがプロセスプラントもしくはプロセスプラントの各エリアの現在の機能を視認する、メンテナンス担当者がプロセスプラント内のハードウェア・デバイスの状態を視認する、プロセスプラントのシミュレーションを行う、ことを可能とすべく利用されている。但し、従来これらのグラフィカル・ディスプレイ・アプリケーションは、当該グラフィカル・ディスプレイ・アプリケーションが関連付けられた特定のアプリケーションの一部として、あるいは特定のアプリケーションをサポートする目的で作成されており、こうしたグラフィカル・ディスプレイ・アプリケーションの有用性は一般にその特定の処理機能に限定されていた。制御オペレータもしくは他のオペレータをサポートすべく作成されたグラフィカル・プログラムを、例えばメンテナンス、構成もしくはシミュレーション機能において利用することは不可能ではないとしても困難である。
【0007】
特定の例として、プロセス制御構成アプリケーションの中には、現在、機能ブロック・テンプレート・オブジェクトや、場合によっては制御モジュールテンプレート・オブジェクトなどの、プロセスプラント用制御ストラテジを作成するために利用されるテンプレート・オブジェクトのライブラリを有するものがある。テンプレート・オブジェクトは、当該テンプレート・オブジェクトに関連するデフォルトプロパティ、設定及び方法を含み、グラフィカル構成アプリケーションを利用するエンジニアがこれらのテンプレート・オブジェクトを選択し、選択したテンプレート・オブジェクトのコピーを実質的に構成画面に配置して制御モジュールの開発に供することができる。テンプレート・オブジェクトを選択し構成画面に配置するプロセスにおいて、エンジニアはこれらのオブジェクトの入力及び出力を相互に接続し、これらのパラメータ、名称、タグ、及び他のプロパティを変更し、プロセスプラント内の特定の用途に合わせて特定の制御モジュールを作成する。このような制御モジュールを一以上作成すると、エンジニアは当該制御モジュールのインスタンスを生成し、プロセスプラントの動作中に実行させるべく当該インスタンスを適切なコントローラや現場装置にダウンロードすることができる。
【0008】
次いで、エンジニアは異なるグラフィカル・ディスプレイ(表示)作成アプリケーションを利用し、ディスプレイ作成アプリケーションにおいてディスプレイ・オブジェクトを選択・構築することにより、プロセスプラント内のオペレータやメンテナンス担当者に対して一以上のディスプレイを作成してもよい。通常、これらのディスプレイは、システムワイドベースで一以上のワークステーションで実施され、プラント内の制御システムもしくは各種装置の動作状態に関する事前構成ディスプレイをオペレータもしくはメンテナンス担当者に提供する。一般にこれらのディスプレイは、プロセスプラント内の各種コントローラもしくは各種デバイスにより発生される警報を受信・表示する警報ディスプレイ、プロセスプラント内の各種コントローラもしくは各種デバイスの動作状態を表示する制御ディスプレイ、及びプロセスプラント内の各種デバイスの機能状態を表示するメンテナンス・ディスプレイなどの形態をとる。但し、一般にこれらのディスプレイは、プロセスプラント内の各種プロセス制御モジュールもしくは各種装置から受信した情報もしくはデータを公知の方法にて表示すべく事前構成されている。システムによっては、ディスプレイは物理的もしくは論理的エレメントを表示し、当該物理的もしくは論理的エレメントに関するデータを受信すべく当該物理的もしくは論理的エレメントに通信によりバインディングされたグラフィック描写により作成される。ディスプレイ画面のグラフィックは、受信したデータが、例えばタンクが半分満たされていることを示したり、流量センサにより測定される流量を示したりするなどの一定のイベントに応じて変更されてもよい。しかし、構成、オペレータ制御、メンテナンス及びシミュレーション作業に利用されるグラフィック・ディスプレイは、一般に異なるグラフィカル・エディタを利用し、相互に別々に作成される。更に、これらのディスプレイの限定的なグラフィカル機能は実施が困難であり、任意のグラフィカル・オブジェクトの一部として実施されない。
【0009】
ゆえに、制御構成アプリケーションと同様に、ディスプレイ作成アプリケーションは、タンク、バルブ、センサ、並びにスライドバー、オン/オフスイッチなどのオペレータ制御ボタンなどのテンプレート・グラフィカル・ディスプレイ・アイテムを有していてもよい。これらのアイテムはオペレータ・ディスプレイ、メンテナンス・ディスプレイなどを作成するため任意の所望の構成で画面に配置されてもよい。画面に配置されると、個々のグラフィック・アイテムは、プロセスプラントの内部動作に関する何らかの情報又はディスプレイをユーザに提供する形で画面上で相互接続される。しかし、グラフィカル・ディスプレイを動画化するためには、ディスプレイ作成者は、グラフィック・アイテムとプロセスプラント内の関連するデータソースとの間の通信リンクを特定することで、各グラフィカルアイテムを、センサによる測定データやバルブ位置を示すデータなどのプロセスプラント内で発生するデータと手動でバインディングしなくてはならない。このプロセスは退屈であり、時間を浪費する上、間違いが多い。
【0010】
制御構成アプリケーション内の制御テンプレート・オブジェクト及びディスプレイ作成アプリケーション内のディスプレイ・アイテムはコピーが可能であり、多くの異なる制御モジュールやグラフィカル・ディスプレイの作成に利用できるため便利である。一方、プロセスプラント内の異なる設備について同一の制御モジュール及びグラフィカル・ディスプレイを大量に作成することが必要なことも多い。例えば、中型から大型のプロセスプラントでは、同一の基本的な汎用制御モジュール及びディスプレイを用いて制御・表示できる同一もしくは類似の設備の多数のインスタンスを有する。しかし、これらの多数の制御モジュール及びディスプレイを作成するには、汎用制御モジュールもしくはディスプレイ・モジュールを作成し、次いでこれらを適用できる設備の各異なる部分についてこの汎用制御もしくはディスプレイ・モジュールのコピーを作成する。当然ながら、コピーを作成した後、当該制御モジュールもしくはディスプレイ・モジュールが取り付けられる特定の設備を特定すべく、構成アプリケーションにおいて新たな制御モジュールもしくはディスプレイ・モジュールを各々手動で変更し、またこれらの制御モジュール及びディスプレイ・モジュールの全てについてインスタンスを生成し、プロセス制御システムにダウンロードすることが必要である。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】米国特許公開第2004/0153804号
【特許文献2】米国特許公開第2004/0075689号
【特許文献3】米国特許公開第2004/0199925号
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、上述の制御モジュール及びディスプレイ・アイテムはモジュール式ではない。ゆえに、コピーした後、当該制御モジュール及びディスプレイが関連付けられるプラント内の設備を特定するため適切な構成アプリケーションを利用して制御モジュール及びディスプレイを各々手動で個別に変更せねばならない。同一タイプの設備(重複設備)が数多く重複しているプラントでは、このプロセスは退屈であり、時間を浪費する上、オペレータによる間違いを生じやすい。更に、これらの異なる制御モジュール及びディスプレイはいったんプログラムされると相互を認識しない。従って、いったん作成された制御モジュールを変更するために、エンジニアもしくはオペレータは手動で異なる重複設備について異なる制御モジュールの各々に同一の変更を加えねばならない。この作業は時間の浪費であり、退屈である。プラント内の異なる組の重複設備について作成されるグラフィカル・ビューについても同様の問題がある。すなわち、特定の制御モジュールもしくは特定のグラフィカル・ビューが作成され(個別にもしくはテンプレート・オブジェクトからコピーされ)プラント内の特定の組の設備とバインディングされると、この制御モジュールもしくはグラフィカル・ビューは、同一もしくは類似の他の制御モジュール又はグラフィカル・ディスプレイを自動認識することなく、システム中で別々のエンティティ又はオブジェクトとして存在する。この結果、特定のタイプのあらゆる制御モジュール及びグラフィカル・ディスプレイに適用できる変更を、これらのモジュール及びディスプレイに対し個別に行わなくてはならない。この問題は、プラント内の同一設備の異なる機能コンテキスト(例えば制御ビューイング、メンテナンス・ビューイング及びシミュレーション機能)についてグラフィカル・ビューが作成される場合に更に顕著である。この場合、各グラフィカル・ビューは相互に知らされもしくは認識されることなく別々に作成される。
【0013】
従って、グラフィック・ディスプレイがプロセスプラントで実行される異なる汎用作業に利用される異なるアプリケーションに提供され、関連付けられている一方、これらのグラフィック・ディスプレイ及び関連するグラフィック・ディスプレイ・エディタは一般にこれらがサポートすべく作成されたアプリケーションの機能レベルにおいて一般に追加される。この結果、グラフィカル・エディタは、それが存在する範囲において、ユーザが特定のアプリケーションで必要とされる特定の機能をサポートするグラフィックを作成することを可能とするのみである。従前のプロセスプラントはプラント構成及びサポートに関連して実行される様々なあるいは多数の作業のグラフィカルニーズに基づいて使用されもしくはグラフィカルニーズによりサポートされるグラフィカル・ディスプレイ・エディタを提供しなかった。ゆえに、例えば、制御構成アクションをサポートし、又は制御構成アクションを可能とすべく使用されるグラフィカル・ディスプレイ・エディタはユーザによる制御プログラムの作成のみを可能とし、オペレータやメンテナンス・ディスプレイの要求や機能をサポートしていなかった。同様に、プラントの運転中に制御オペレータやメンテナンス技術者に提供されるオペレータ・ビュー、メンテナンス・ビューなどを作成するために使用されるグラフィック・ディスプレイ・エディタは、構成アクション、シミュレーション・アクションなどと関連付けられた機能をサポートしていなかった。グラフィカル・ディスプレイに関する要求が制御構成機能レベル、メンテナンス・サポート機能レベル、制御オペレータ・サポート機能レベル及びシミュレーション・サポート機能レベルなど、プロセスプラントにおける個々の機能レベルにおいてサポートされた結果、これらの各種エディタにより作成される様々なディスプレイの一つ一つはプラント内の同一構成要素のモデル化及び表示となってしまうであろう。これはプロセスプラントの様々な担当者がグラフィカル・ディスプレイに関して同じ作業を繰り返すことにつながる。このように同じ作業を繰り返すことが、異なる用途について同一のプロセス・エレメントを表示する異なるグラフィカル・ディスプレイを作成するために必要とされるのみならず、異なるディスプレイ・アプリケーションに使用されるグラフィック・エレメントをこれらが関連付けられたプロセスプラント内の実際のハードウェアもしくはソフトウェア・エレメントとバインディングする際にも必要とされる。
【0014】
プロセスプラントにおける各種作業に関するグラフィカル・サポートは事実が起こった後、及び実行中の実際の作業の一部として提供されるため、グラフィカル・サポートは、共通グラフィックスが作成されプラントの各種異なる機能レベルにおいてプラント内で使用されることを可能とする形ではプラント環境において統合されない。グラフィックスが統合されないことにより、異なる機能に関して実際に作成されるグラフィックスが機能ごと、アプリケーションごとに異なってしまう。このため、ユーザがある特定のタイプのグラフィカル・ディスプレイに精通している場合でも、プラント内の異なる作業もしくは機能と関連付けられた別のディスプレイを視認する必要が生じた場合にユーザの混乱を招くおそれがある。同様に、既述の如く、プラントの各種異なる機能レベルでグラフィック・ディスプレイ・サポートを提供することは、ディスプレイを作成する際及び当該ディスプレイ内のエレメントをプラント内の実際のハードウェア・エレメントもしくはソフトウェア・エレメントと適切に結び付ける際の両方においてグラフィック・サポートの重複を生じる。
【0015】
また、異なるコントローラ上で実行されている制御ループと関連付けられた状態、エラー、警報などの検出、及び個々の装置内の問題の検出には、エラー検出や他のプログラミングが有用である。従来、このようなエラー検出はプロセスプラントの異なる機能レベルにおいて実行され、これらの異なる機能的作業に関して作成されたグラフィカル・ディスプレイ上に表示されていた。よって、プロセスプラント内の異なる、様々に配置された装置からのデータを分析することにより検出する必要のあるシステムレベル状態もしくはエラーを認識するためのプロセス制御システムをプログラミングすることは困難であった。また、こうしたシステムレベル状態に関する情報をオペレータもしくはメンテナンス担当者に対し表示もしくは呈示する目的で作成されていないオペレータ・ディスプレイ上にこのようなタイプのエラーを表示することは更に困難であった。また、オペレータ・ディスプレイ内でディスプレイ内の異なるエレメントに関する情報もしくはデータのこれらの代替ソースを用いてオブジェクトを動画化することは困難である。
【課題を解決するための手段】
【0016】
プロセスプラント内のデバイスの現在の状況などのプロセス環境に関する情報を一人以上のユーザに表示するためにプロセス環境で使用されるグラフィック・エレメント及びグラフィック・ディスプレイが提供される。グラフィック・エレメント及びディスプレイはプロセスプラントの構成の際にプロセスプラント内の各種論理的及び物理的エレメントと関連付けられてもよく、あるいは構成されて制御ルーチンなどの他の構成アイテムと共にプロセスプラント内のハードウェアにダウンロードされてもよい。詳細には、グラフィック・エレメント及びグラフィック・ディスプレイは作成されてライブラリに格納され、プラント内の各種論理的もしくは物理的エンティティと関連付けられることにより構成されてもよい。構成プロセスの間、グラフィック・エレメント及びグラフィック・ディスプレイは、ランタイムにおいてグラフィック・ディスプレイが実行されるハードウェアを定義するほか、これらのディスプレイがディスプレイ目的でバインディングされるプロセス・エンティティを定義するため、プラント構成の別の場所に定義されたプラントの領域、装置、プロセス・モジュール、制御ルーチンもしくは制御ストラテジと関連付けられてもよく、あるいはインタフェースもしくはディスプレイデバイスと関連付けられてもよい。また、グラフィック・ディスプレイの各々はオペレータ・ビュー、メンテナンス・ビューなどの役割もしくは機能的用途とともに定義されてもよく、ランタイム環境におけるグラフィック・ディスプレイの適切なアクセス及び使用を定義するためにこれらの役割を利用してもよい。
【図面の簡単な説明】
【0017】
【図1】プロセスプラント内に配置され、ディスプレイ・ルーチン及びプロセスプラント内の各種機能と関連付けられた他のアプリケーションを実行するオペレータ・ワークステーション、並びにプラントの各種機能エリアの各々についてグラフィック・ディスプレイ・エレメント及びグラフィック・ディスプレイを作成するために利用できるシステムレベル・グラフィカル・サポートを提供するワークステーションを含む分散型プロセス制御ネットワークのブロック図である。
【図2】プロセスプラント制御、視認及びシミュレーション・システムにおけるシステムレベル・グラフィカル・サポートの統合を示す論理的ブロック図である。
【図3】グラフィック・エレメント及びディスプレイが作成される構成環境、並びにグラフィック・エレメント及びディスプレイが実行され得るランタイム環境の論理図である。
【図4】グラフィカル・エディタにより作成され、ユーザがポンプエレメントの形のグラフィック・エレメントを作成もしくは編集することを可能とする簡略ディスプレイ画面である。
【図5】リアクタの形のグラフィック・エレメントを作成しているところを示す、グラフィカル・エディタにより作成された別のディスプレイ画面である。
【図6】各種ビジュアライゼーションがグラフィック・エレメントとバインディングされもしくは関連付けられる方法を示すブロック図である。
【図7】グラフィック・エレメントと関連付けられた第一のプロパティビューを示す画面ディスプレイの一部を示す図である。
【図8】グラフィック・エレメントと関連付けられた第二のプロパティビューを示す画面ディスプレイの一部を示す図である。
【図9】グラフィック・エレメントのプロパティと関連付けられたアクションを示すディスプレイ画面のアクション/アニメーションセクションを示す図である。
【図10】ビジュアルトリガがグラフィック・エレメントのプロパティ及びビジュアライゼーションと統合され得る方法を示すブロック図である。
【図11】グラフィック・エレメントのビジュアライゼーションのための変換アニメーションを提供もしくは定義するために使用できるダイアログボックスを示す図である。
【図12】グラフィック・エレメントのビジュアライゼーションのための、カラー・アニメーションを含むプロパティ・アニメーションを提供もしくは定義するために使用できるダイアログボックスを示す図である。
【図13】決定表を通じてグラフィック・エレメントをランタイム環境とバインディングし得る方法を示す概略図である。
【図14】プロセス環境において多数の異なるデータソースとバインディングされたディスプレイ・エレメントを示すブロック図である。
【図15】多数のディスプレイ・エレメント及びコネクタからグラフィック・ディスプレイを生成しているところを示す、グラフィカル・エディタにより生成されるディスプレイ画面である。
【図16】グラフィック・ディスプレイ内に配置されたグラフィック・エレメントと関連付けられた各種ビジュアライゼーションを示すグラフィック・ディスプレイを作成するためのディスプレイ画面である。
【図17】相互接続された各種グラフィック・エレメント及びコネクタからなるグラフィック・ディスプレイと関連付けられたディスプレイ画面である。
【図18】図17のディスプレイ内のエレメントに関する制御パネル及びフェイスプレートを示す、図17のグラフィック・ディスプレイを介してアクセス可能な1組のグラフィック・ディスプレイ画面である。
【図19】各種ディスプレイ・エレメントからなる石灰窯炉を図示し、プロセスプラント内で各種他のアプリケーション及びデータソースからデータを提供するグラフィック・ディスプレイのディスプレイ画面である。
【図20A】オペレータ・ビュー、エンジニアリング・ビュー、ビジネス・ビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む、同一の外観及び雰囲気を有する石灰窯炉の異なるビューを示すグラフィック・ディスプレイ画面である。
【図20B】オペレータ・ビュー、エンジニアリング・ビュー、ビジネス・ビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む、同一の外観及び雰囲気を有する石灰窯炉の異なるビューを示すグラフィック・ディスプレイ画面である。
【図20C】オペレータ・ビュー、エンジニアリング・ビュー、ビジネス・ビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む、同一の外観及び雰囲気を有する石灰窯炉の異なるビューを示すグラフィック・ディスプレイ画面である。
【図20D】オペレータ・ビュー、エンジニアリング・ビュー、ビジネス・ビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む、同一の外観及び雰囲気を有する石灰窯炉の異なるビューを示すグラフィック・ディスプレイ画面である。
【図20E】オペレータ・ビュー、エンジニアリング・ビュー、ビジネス・ビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む、同一の外観及び雰囲気を有する石灰窯炉の異なるビューを示すグラフィック・ディスプレイ画面である。
【図21A】図20A乃至20Eに示す石灰窯炉を実行するのに利用される制御ルーチンと関連付けられたディスプレイ画面である。
【図21B】図20A乃至20Eに示す石灰窯炉を実行するのに利用される制御ルーチンと関連付けられたディスプレイ画面である。
【図22】物理的レベル及び機能レベルを含む各種レベルにおける、各種異なるグラフィック・ディスプレイ間の関連を示すブロック図である。
【図23】構成システムと関連付けられたグラフィカル構成階層を示す第一の構成画面である。
【図24】グラフィック・エレメント及びグラフィック・ディスプレイが構成システム内の他のエレメントに割り当てられ、統合される一方法を示すグラフィカル構成階層を示す第二の構成画面である。
【図25】一以上のグラフィック・ディスプレイがプロセスプラント構成システム内で割り当てられる方法の概略を示す、ユーザに提供され得るダイアログボックスを示す図である。
【発明を実施するための形態】
【0018】
図1は各種機能エリアにシステム・レベル・グラフィカル・サポートが提供された例示的プロセスプラント10を示す。一般に、プロセスプラント10は、入力/出力(I/O)デバイスもしくはカード18を介して一以上の現場装置14及び16に各々接続された一以上のコントローラ12を含む、分散型プロセス制御システムを備える。入力/出力(I/O)デバイスもしくはカード18として、例えばFieldbusインタフェース、Profibusインタフェース、HARTインタフェース、標準型4-20maインタフェースが挙げられる。コントローラ12は、例えばイーサネット(登録商標)(Ethernet(登録商標))リンクなどのデータ・ハイウェイ24を介して一以上のホスト・ワークステーションもしくはオペレータ・ワークステーション20乃至23と結合される。データベース28はデータ・ハイウェイ24と接続されてもよく、且つプラント10内の各種コントローラ及び各種現場装置と関連付けられたパラメータ、状態及び他のデータを収集し格納するデータ履歴作成プログラムとして、及び/又はコントローラ12及び現場装置14及び16にダウンロードされ格納されるとプラント10内のプロセス制御システムの現在の構成を格納する構成データベースとして動作する。また、プロセスプラント10においてグラフィカル・サポートを提供すべく、本願明細書に記載した方法にて作成されたグラフィカル・オブジェクトをデータベース28に格納してもよい。コントローラ12、I/Oカード18及び現場装置14及び16は通常はプラント環境に配置され、且つしばしば苛酷なプラント環境に分散される。一方、オペレータ・ワークステーション20乃至23及びデータベース28は通常は制御担当者やメンテナンス担当者が容易にアクセスできる制御室などのそれほど苛酷でない環境に配置される。但し、場合によってはこれらの機能の実施にあたりハンドヘルドデバイスを用いてもよい。通常ハンドヘルドデバイスはプラント内の様々な場所に携行される。
【0019】
公知のように、各コントローラ12、例えばエマーソン・プロセス・マネジメント(Emerson Process Management)社より市販されるDeltaV(登録商標)コントローラは、任意数の異なる、個別に実行される制御モジュールもしくは制御ブロック29を用いて制御ストラテジを実施するコントローラ・アプリケーションを格納し、実行する。各制御モジュール29は一般に機能ブロックと呼ばれているもので構成できる。各機能ブロックは制御ルーチン全体の一部もしくはサブルーチンであり、(リンクと呼ばれる通信により)他の機能ブロックと連動して動作し、プロセスプラント10内のプロセス制御ループを実施する。周知のように機能ブロックはオブジェクト指向プログラミング・プロトコルのオブジェクトとすることができ、且つ一般にトランスミッタ、センサもしくは他のプロセス・パラメータ測定装置、例えばPID、ファジーロジックなどの制御を実行する制御ルーチンと関連付けられた制御機能と関連付けられた入力機能、あるいはプロセスプラント10内で何らかの物理的機能を実行すべくバルブなどの何らかの装置の動作を制御する出力機能のいずれかを実行する。当然ながらモデル予測コントローラ(MPC)、オプチマイザなどのハイブリッドタイプや他のタイプの複合的機能ブロックも存在する。Fieldbusプロトコル及びDeltaVシステムプロトコルはオブジェクト指向プログラミング・プロトコルにおいて設計され実施される制御モジュール及び機能ブロックを利用する。一方、制御モジュールはシーケンシャル機能ブロック、ラダーロジックなどの任意の所望の制御プログラミングスキームを用いて設計でき、機能ブロックや任意の他の特定のプログラミング技術を利用して設計・実施されるものに限定されない。
【0020】
図1に示されたプラント10では、コントローラ12に接続された現場装置14及び16は標準型4-20ma装置、プロセッサ及びメモリを備えるHART、Profibus、もしくはFOUNDATION(登録商標)Fieldbus現場装置などのスマート現場装置、あるいは任意の他の所望のタイプの装置とすることができる。これらの装置のうち、例えばFieldbus現場装置(図1で参照番号16で示す)は、コントローラ12で実施される制御ストラテジと関連付けられた機能ブロックなどのモジュールもしくはサブモジュールを格納し、実行してもよい。公知のように、図1では2つの異なるFieldbus現場装置16に設置されている機能ブロック30は、プロセス制御を実施すべくコントローラ12内の制御モジュール29の実行と連動して実行されてもよい。当然ながら、現場装置14及び16はセンサ、バルブ、トランスミッタ、ポジショナなど任意のタイプの装置とすることができる。I/O装置18はHART、Fieldbus、Profibusなど任意の所望の通信プロトコルもしくはコントローラ・プロトコルに適合した任意のタイプのI/O装置とすることができる。
【0021】
図1のプロセスプラント10では、ワークステーション20乃至23はプラント10内の同一もしくは異なる担当者により実行される各種異なる機能のために利用される各種アプリケーションを有していてもよい。ワークステーション20乃至23はそれぞれ各種アプリケーション、プログラム、データ構造などを格納するメモリ31と、メモリ31に格納された任意のアプリケーションを実行するために使用できるプロセッサ32とを備える。図1の例では、ワークステーション20は構成ワークステーションとして示され、一以上の構成アプリケーション33を含む。構成アプリケーション33は、認可された構成エンジニアが制御モジュール29及び30などの制御ルーチンもしくは制御モジュールを作成し、プラント10の各種コントローラ12及び装置16にダウンロードするためにアクセスすることが可能な、例えば制御モジュール作成アプリケーション、オペレータインタフェースアプリケーション及び他のデータ構造を有していてもよい。ワークステーション21は制御オペレータ視認ワークステーションとして包括的に図1に示されており、プロセスプラント10の運転中に、オペレータがプロセスプラント10内もしくはプラントの各セクションで起こっていることを視認・制御することを可能とすべく制御オペレータに各種ディスプレイを提供し得る多数のディスプレイ・アプリケーション34を有する。アプリケーション34は、制御オペレータが制御機能を実行するのをアシストし得る、制御診断アプリケーション、チューニング・アプリケーション、レポート生成アプリケーション、あるいは任意の他の制御サポート・アプリケーションなどのサポート・アプリケーション34aを含んでいてもよい。同様に、ワークステーション22はメンテナンス表示ワークステーションとして図示され、様々なメンテナンス担当者がプラント10のメンテナンスに関する要求を視認し、各種装置12、14、16の動作状態及び運転状態を視認するために使用し得る多数のメンテナンス・アプリケーション35を含む。当然ながら、アプリケーション35は、メンテナンス担当者がプラント10内のメンテナンス機能を実行するのをアシストするために利用し得るメンテナンス診断アプリケーション、較正アプリケーション、振動分析アプリケーション、レポート生成アプリケーションもしくは任意の他のメンテナンスサポート・アプリケーションなどのサポート・アプリケーション35aを含んでいてもよい。また、ワークステーション23はシミュレーション・ワークステーションとして表示されており、トレーニング目的、プラントのメンテナンス及び制御をアシストするためのプラントモデル化目的など任意の目的のためにプラント10やプラント10の各種セクションの動作をシミュレートするために利用できる多数のシミュレーション・アプリケーション36を含む。一般にワークステーション20乃至23の各々はキーボードやマウスなどの他の標準的な周辺機器に加え、ディスプレイ画面37を備える。
【0022】
図1では各種構成、制御、メンテナンス及びシミュレーションの各種アプリケーション33乃至36は、これらの機能のいずれか一つについて専用のワークステーションに配置されているものとして示されているが、これらのもしくは他のプラント機能に関連付けられた各種アプリケーション33乃至36はプラント10に関する要求及び設定に応じてプラント10内の同一のもしくは異なるワークステーションあるいはコンピュータに配置されてもよいことを理解されたい。よって、例えば一以上のシミュレーション・アプリケーション36及び制御アプリケーション33が同一のワークステーション20乃至23で実行され、別の個々のシミュレーション・アプリケーション36もしくは別の個々の制御アプリケーション33が別のワークステーション20乃至23で実行されてもよい。
【0023】
従来、プラント10の異なる機能エリアで使用される異なるアプリケーションの開発は独立して行われていた。従って、構成アプリケーション33の開発はシミュレーション・アプリケーション36、メンテナンス・アプリケーション35もしくはオペレータ制御アプリケーション34と統合されていなかった。実際、多くの例において、プラントは別の会社やソフトウェア供給会社により開発され、事実上プラント10内の他のソフトウェアとは独立して実行されるべく開発された異なる機能エリアのためのアプリケーションを含んでいることがある。プラント10の各種機能エリアと関連付けられた様々なアプリケーションが各々独立して開発され、動作することの結果、一般にプラント職員はそれぞれの構成機能レベル、オペレータ制御機能レベル、メンテナンス機能レベル及びシミュレーション機能レベルにおいてプラントを別々に構成・設定することが必要であった。詳細には、一般に同じもしくは別のプラント職員がそれぞれの機能レベルにおいて新しいデータ構造及びグラフィック・ディスプレイを作成するための様々なプログラムを利用しなければならない。ゆえに、図1に関しては、各種アプリケーション33乃至36の各々について、実行された構成、制御、メンテナンス及びシミュレーション機能は一般にプラント職員がこれらの構成、オペレータ制御、メンテナンス及びシミュレーション機能を実行するのをアシストすべく異なるグラフィック・ディスプレイ・エディタ及びデータベース構造を含みもしくは利用していた。多くの例において、これらの異なるグラフィック・ディスプレイ・エディタ及びデータベースは、プラント10の同一のセクションもしくはエリア、あるいはプラント10内の同一ハードウェアを表示・モデル化するための異なるグラフィック・ディスプレイを作成すべく、並びに構成、オペレータ制御、メンテナンス又はシミュレーション作業に関連してプロセスプラント内で何が起こっているかを視認・認識することを異なるプラント職員がアシストすべく利用されていた。
【0024】
各種アプリケーション33乃至36及びプラント10内の各種機能のための関連するディスプレイは、一般に異なる人及び異なる会社によって相互に独立して開発・実施されることがあったため、プロセスプラントの異なる機能エリアで作成・使用されるグラフィック・ディスプレイはグラフィカル・ビジュアライゼーションを提供するという観点からは一貫したもしくは容易に理解できる形では統合されていなかった。この結果、プラントの異なる各種機能レベルにおいてグラフィック・ディスプレイを独立的に作成・実行すると、機能間でグラフィック・ディスプレイの外観が異なり、機能エリア全体にわたる一貫した外観や雰囲気を有するグラフィック・ディスプレイは得られなかった。また、独立的に作成することでプラントの同一セクション又はエリアの異なる機能用途のグラフィック・ディスプレイを作成するにあたり同一作業を重複することが必要となり、このようにして作成されたグラフィック・ディスプレイが、プラント10の機能レベルにおいて分離されたプラント10内のコントローラ12、現場装置14、16などの各種デバイスと結合され、これらのデバイスからのデータを受け取ることが必要となる。このことから、異なるディスプレイについて同一のハードウェア・エレメントをトラックするためデータベース構造をコピーする必要があった。ゆえに、例えば、従来メンテナンス目的でプラント10のあるセクションを図示するメンテナンス・ディスプレイを作成するために第一のアプリケーション(例えば、アプリケーション35の一つ)を使用し、プラント10のこの同じセクションを制御の目的で図示する制御オペレータ・ディスプレイを作成するために第二のアプリケーション(例えば、アプリケーション34の一つ)を使用する。異なるディスプレイ・エディタにより別々に作成されたこれらのディスプレイは外観・雰囲気が互いに大きく異なり、ユーザがメンテナンス・ディスプレイとオペレータ・ディスプレイとの間を混乱なく、各タイプのディスプレイについて訓練を受ける必要なくして行き来するのは困難であった。同様に、異なるアプリケーション34及び35において両方のディスプレイを別々に作成する際に努力が二重にされ、場合により同一であったり異なったりするデータをこれらのハードウェア・エレメントから受け取るためにメンテナンス・ディスプレイ及び制御オペレータ・ディスプレイをプラント10内の同一ハードウェア・エレメントにバインディングし、接続するためのデータベース構造を作成するために追加の作業が必要であった。
【0025】
こうした非効率を回避しプラント10内に広用途に用いることができ理解しやすいグラフィックを提供するため、プラント10の構成、オペレータ・ビューイング、メンテナンス・ビューイング、シミュレーション及びその他の機能エリアを含む、プラント10の各種機能エリアの各々のグラフィック・ディスプレイ及びデータ構造に関する要求をサポートすべく、プロセスプラント10のシステムレベルにおいてグラフィカル・サポート層が提供される。このサポートのシステムレベルを図2に示す。図2にはプラント動作レベル40,プラント機能レベル42及びシステムレベル44が図示されている。図2よりわかるように、プラント運転レベル40は制御ルーチンもしくは制御モジュール29,30を実行するコントローラ12、現場装置14、16などの他、プラント10内でプラントのランタイムにおいてプラント作業を実施すべく実行される他のソフトウェアを含む。図解ではプラント機能レベル42は構成機能ブロック46、制御機能ブロック47、メンテナンス機能ブロック48及びシミュレーションブロック49を含んでいるが、エンジニアリング機能やビジネス機能などの他の機能や異なる機能も同様に含んでいてもよい。構成機能ブロック46は、制御ストラテジもしくは制御モジュールを提供するため、プラント運転レベル40内の構成要素とインタフェースもしくは通信する構成ルーチン33を実施する。制御機能ブロック47は、オペレータが開始したプラント10内の変更を実施し、制御ディスプレイ34を介してオペレータに情報を提供し、制御アプリケーション34aに関するデータを取得するため、プラント運転レベル40内の各種物理的及び論理的構成要素と通常は直接インタフェースもしくは通信する制御ビューイング及び他のアプリケーション34及び34aを含む。メンテナンス機能ブロック48は、メンテナンス処理を実施し、メンテナンス・ディスプレイ35を介してメンテナンスデータもしくは情報をメンテナンス担当者に提供し、診断アプリケーション35aを実行するため、プラント運転レベル40内の各種物理的及び論理的構成要素と通常は直接インタフェースもしくは通信するメンテナンスルーチン及びアプリケーション35及び35aを含む。同様に、シミュレーション機能ブロック49はプラント10のシミュレーションを実行し、プラント10に関するデータを取得するためプラント運転レベル40内の構成要素と通信により接続され得るシミュレーション・ルーチン36を含む。
【0026】
図2に示すように、システムレベルサポート層44は、例えば各種機能エリア46乃至49で使用されるソフトウェア・オブジェクト、グラフィック・エレメント及びグラフィック・ディスプレイなどの共通データベース及びディスプレイ構造の作成及びメンテナンスを可能とすべく、プラント機能層42内の各機能ブロック46乃至49と結合されこれらをサポートする。具体的には、システムレベルサポート層44は、機能ブロック46乃至49の各々で実行されるグラフィカル作業を統合し、共通データベース構造及びシステムサポート層44で作成されるグラフィック・エレメントを用いて開発されることを可能とするアプリケーション、データベース及びグラフィカル・サポートエレメントを含む。このシステムレベルサポートを提供するには、システムサポート層44はグラフィカル・エディタ50及びグラフィカル・オブジェクトデータベース52を含んでいてもよい。グラフィカル・エディタ50はグラフィック・エレメント54及びグラフィック・ディスプレイ56を作成するために利用されてもよく、一方グラフィック・オブジェクトデータベース52はエレメント54及びディスプレイ56を、エディタ52及びブロック46乃至49の各種アプリケーションによりアクセス可能なメモリに格納する。データベース52は、グラフィック・エレメント54をプラント運転レベル40内の個々のハードウェア・エレメント及びソフトウェア・エレメントに接続する他のオブジェクト58及びデータ構造を更に格納してもよい。また、データベース52は、更なるグラフィック・エレメントもしくはディスプレイを作成するためにグラフィック・エレメントもしくはディスプレイ・テンプレートもしくはプリミティブを格納してもよい。図2よりわかるように、グラフィック・ディスプレイ・エレメント54、ディスプレイ56及び他のデータベース構造58はこれらの機能ブロックと関連付けられたグラフィックを作成し使用する機能ブロック46乃至49のいずれかもしくは全てにより利用されてもよい。
【0027】
一般に、システムレベルサポートブロック44は、異なる機能コンテキストの同一のプラント機能について異なるグラフィック・エレメントを繰り返し作成する必要性を軽減もしくはなくし、機能エリア46乃至49の各々においてユーザがこれらの機能エリアに関連付けられたグラフィカル・ビューに表示されている設備と関連付けられたデータに結合することを容易にすべく、図1のプロセスプラント10で利用されるグラフィックを全機能エリア46乃至49において統合する方法を提供する。当然ながら、システムレベルサポート層44は機能エリア46乃至49の各々における多数のアプリケーション、機能エリア46乃至49のうち異なるエリアの異なるアプリケーションなどのためにグラフィック及びデータベースサポートを提供するために利用されてもよい。
【0028】
再び図1を参照すると、システムレベルサポートブロック44は追加的ワークステーションもしくはユーザインタフェース60を用いて実施されてもよい。追加的ワークステーションもしくはユーザインタフェース60は他のワークステーション20乃至23の各々と接続されていてもよい。ワークステーション60は一般にグラフィックエディタ50及びデータベース52を格納してもよく、所望により他のエレメント54、56及び58を格納してもよい。また、ワークステーション60は別々のワイヤードもしくはワイヤレス通信接続(図1に点線で図示)を介してもしくは任意の他の所望の方法にて、データバス24を介してワークステーション20乃至23と通信により接続されていてもよい。図1の構成では、ワークステーション60はユーザがグラフィック・エレメントを作成し、そのエレメントを一以上のグラフィック・ディスプレイとしてグループ化するのを可能とすべくディスプレイ・エディタ50を格納し、実行する。この両方を本願明細書ではディスプレイ・モジュールと呼んでいる。次いで、これらのディスプレイ・モジュールは、図2に図示する機能ブロック46乃至49の各々によりアクセス・利用されるデータベース52に格納され、各種ワークステーション20乃至23で実施されてもよい。図示の目的で、システムレベルブロック44及び機能レベルブロック46乃至49の機能は図1の異なるもしくは別々のワークステーション20乃至23及び60で実施されるように図示しているが、これらの各種ブロックのいずれかに関連付けられた任意のもしくは全てのアプリケーションはプロセスプラント10内の同一のもしくは異なるワークステーションあるいは他のコンピュータ上で実施できることを理解されたい。ゆえに、グラフィックエディタ50は他のワークステーション20乃至23のいずれか、もしくはプラント10内の任意の他のコンピュータ上に格納され実行されることができ、スタンドアロンあるいは別々のコンピュータにある必要はない。
【0029】
上述したように、図2のシステムレベル層44は各種機能環境で用いられ得るシステム・レベル・ディスプレイ及びデータベースオブジェクトを実施し、同時により高いレベルのディスプレイ性能を提供する。一般に、図2のシステムレベル44で作成されたディスプレイ・オブジェクトは、グラフィック・エレメント及びグラフィック・ディスプレイとしてカテゴライズできる。グラフィック・エレメントはバルブ、センサ、ポンプ、コントローラなどのハードウェア・デバイスなどのプラント内の特定の物理的エンティティと関連付けられた、一般にプリミティブ(基本的)もしくは低いレベルのディスプレイ・オブジェクトである。一般にグラフィック・ディスプレイは1組の相互接続されたグラフィック・エレメントで構成され、プラント内のユニット、エリアなどのより複雑なハードウェア・セットの表示・モデル化のために利用され、異なるハードウェア間の相互接続を含む。また、グラフィック・ディスプレイは、プラントから、あるいはワークステーション20乃至23及び60で実行される診断アプリケーション及びビジネスアプリケーションなどの他のアプリケーションから提供されるグラフ、チャート及び他のデータを含んでいてもよい。
【0030】
図3は、グラフィック・エレメント及びグラフィック・ディスプレイが存在し得る2つの環境、すなわち構成環境70及びランタイム環境72におけるグラフィック・エレメント及びグラフィック・ディスプレイの開発・利用の概略を示す。一般に、グラフィック・エレメント74(別々のエレメント・オブジェクト74a、74bなどとして図示される)の形態をとるディスプレイ・オブジェクトと、グラフィック・ディスプレイ76(別々のディスプレイ・オブジェクト76a、76bなどとして図示される)は、例えば、ディスプレイ・エディタ50を用いて構成環境70で作成される。作成された後、オブジェクト74及び76はデータベース52に保存されてもよい。オブジェクト74及び76はプロセスプラント10内の特定のハードウェアもしくは論理的エレメントとバインディングされていないジェネリックオブジェクトを定義する、本願明細書でディスプレイ・モジュール・クラス・オブジェクトと呼んでいるクラス・オブジェクトとして作成されてもよい。しかしながら、クラス・オブジェクトは、クラス・オブジェクトと同一の基本プロパティを有していながらプロセスプラント10内の特定のハードウェアと結び付けられすなわちバインディングされたランタイム・グラフィカル・オブジェクトの作成に用いられてもよい。とはいえ、一般にクラス・オブジェクトはクラス・オブジェクトからインスタンスを生成されるチルドレン・オブジェクトに依然バインディングされており、このためクラス・オブジェクトに対する変更は、チルドレン・オブジェクトがランタイム環境内でインスタンスを生成された場合であっても自動的にチルドレン・オブジェクトに伝搬される。
【0031】
図3に示すように、各グラフィック・エレメント・オブジェクト74は、様々な状況でグラフィック・エレメントを有用とする多数の構成要素を含む。詳細には、各グラフィック・エレメント74は一以上のビジュアライゼーション77、任意数のパラメータもしくはプロパティ78、スクリプトもしくはトリガを用いて実施され得る任意数のアクションもしくはアニメーション79、及びバインディング80を含む。一般に、各ビジュアライゼーション77はグラフィック・エレメント74がランタイム環境72において実施される際にディスプレイ画面に実際に表示される視覚的プロパティもしくは視覚的エレメントを定義する。通常、ビジュアライゼーションは物理的・論理的装置もしくは装置のグループの表示を定義するが、ビジュアライゼーションは他のエンティティを表示することもできる。ビジュアライゼーション77はエンティティのグラフィカル表示の仕様を定義する任意の所望の表示もしくはプログラミングパラダイムを用いてランタイム環境72において実施されてもよい。ある実施形態において、ビジュアライゼーション77は、オブジェクトベースであることから標準型のWindows(登録商標)タイプのディスプレイ上でビジュアライゼーションを容易に実施できディスプレイ環境間で移植可能とする方法を提供する、Microsoft(登録商標)社により提供される公知の制御であるPGXMLもしくはAvalon制御を用いて実施されてもよい。この特徴については後述するが、同時係属中の出願(「プロセスプラントのユーザインタフェースにおけるマークアップ言語ベースのダイナミック・プロセス・グラフィック(Markup Language-Based, Dynamic Process Graphics in a Process Plant User Interface)」(代理人事件番号第06005/41127号)同出願を参照により本願明細書に援用する。)にも記載がある。
【0032】
一般に、パラメータ及びプロパティ78は、ビジュアライゼーションにより表示されているエンティティと関連した変数、あるいは静的もしくは可変の固有プロパティなどの他のプロパティを定義し、これらのプロパティはエレメント74の作成者によって定義できる。同様に、アクション及びアニメーション79は、ルーチン又はプログラム(プロパティ値などに基づいてプロセス・エンティティの状態を検出する、プロパティに対する変換を実行するスクリプトとして実施されてもよい)、ビジュアライゼーション77がディスプレイ画面に表示される際にビジュアライゼーション77上でもしくはビジュアライゼーション77によって実行されるグラフィック・ビジュアライゼーションもしくは挙動を変更するルーチンを含んでもよいアニメーション・ルーチン、あるいはユーザがプロセスへの入力に対する変更など、プロセスへの変更を行うべく、ビジュアライゼーション77を利用しもしくはビジュアライゼーション77と対話することを可能とするルーチンを定義する。これらのアクション及びアニメーションは、ビジュアライゼーション77により興味深く、理解しやすく、有用なグラフィカル・プロパティを付与し、ユーザがビジュアライゼーション77と対話できるようにする。ある場合において、これらのアクションもしくはアニメーションは、色の変更、回転、サイズ及び拡大縮小の変更、スキューイングなど、ビジュアライゼーション、色を付ける、及びアニメーションの色、サイズ(例えば、高さ及び幅、ラインサイズ、フォント)の変更の形態をとってもよい。これらのアクション及びアニメーションは、グラフィック・エレメント74にグラフィックプロパティ及びユーザ対話プロパティを付与する。バインディング80は静的バインディング、固定バインディング、もしくは別名(aliases)を使用するバインディングとしてもよく、グラフィック・エレメント74がランタイム環境72において表示の一部として実施される際に、パラメータもしくはプロパティ78がランタイム環境72においてデータ、タグ又は他のエンティティとバインディングされる方法を定義する。基本的に、各グラフィック・エレメント74のためのバインディング80は、グラフィック・エレメント74がプラント環境の別の場所に定義された一以上のエンティティ又はデータ・エレメントに結合される方法を確立し、従って実際のランタイム環境72とグラフィック・エレメント74との間のインタフェースを定義する。
【0033】
図3に示すように、各グラフィック・ディスプレイ・オブジェクトは、一以上のグラフィック・エレメント81、コネクタ・エレメント82、アクション及びアニメーション83、プロパティ84及びバインディング85への参照もしくはコピーなどの多数の構成要素を含む。一般に、グラフィック・ディスプレイ76は、パイプ、ライン、コンベヤベルトなどを表示するコネクタ・エレメント82と視覚的に結合されてもよい各種グラフィック・エレメント81の対話を表示するディスプレイであってもよい。このようなコネクタ・オブジェクトは、特許文献1に記載されている。図3の点線は、グラフィック・ディスプレイ・オブジェクト76aによる、グラフィック・エレメント74のうちの1つへの参照を示す。グラフィック・エレメント74を参照するグラフィック・ディスプレイ76は、当該グラフィック・エレメント74のプロパティ、パラメータ、アクション及びアニメーションなどの全てを含むことが理解されよう。グラフィック・エレメント74と同様に、各グラフィック・ディスプレイ76は、各グラフィック・ディスプレイ76と関連付けられると共に例えばディスプレイ上のアニメーション、ユーザインタフェースにおける対話、データ操作などを実行する一以上の付加的なアクションもしくはアニメーションを含んでいてもよい。同様に、各グラフィック・ディスプレイ76はディスプレイと関連付けられた任意数のプロパティを含んでいてもよい。通常これらのプロパティは当該ディスプレイに表示されたユニット、エリア、その他のエレメントグループのプロパティを定義する。バインディング85はグラフィック・ディスプレイ76がプラント環境の別の場所に定義された一以上のエンティティ又はデータ・エレメントに結合される方法を定義し、従って実際のランタイム環境72とグラフィック・ディスプレイ76との間のインタフェースを定義する。
【0034】
いったん作成されると、グラフィック・エレメント74及びグラフィック・ディスプレイ76は、例えば図1のワークステーション20乃至23のいずれかにおけるランタイム環境72においてバインディングされ、実行されてもよい。詳細には、グラフィック・エレメント74もしくはグラフィック・ディスプレイ76がクラス・オブジェクトとして作成され、データベース52に格納されると、当該エレメントもしくはディスプレイは実際のランタイムオブジェクトとしてインスタンスを生成され、ランタイム環境72において実行されてもよい。ブロック86で示すように、インスタンス生成プロセスは、オブジェクト74及び76で定義されるバインディングを満たす。バインディングは、プロセスプラントもしくはプロセス制御システム内で、プロセスプラント内の実際のエンティティと、プラント10内のディスプレイ装置上で実行されるグラフィック・オブジェクトとの間に特定の接続を与えるための、適切な可変名称、タグ、別名などを記載した一以上の決定表を使用して行ってもよい。バインディングプロセスの一部として、オブジェクト74及び76は決定表により定義されるプロセスプラント内のデータソースに接続し、これによりプロセスプラント10に論理的に、通信により接続されるべくプラントへのアクセス権を得る。
【0035】
ブロック87で示されるように、ディスプレイ・エレメント74もしくはグラフィック・ディスプレイ76は、例えば構成ディスプレイ、制御オペレータ・ディスプレイ、メンテナンス・ディスプレイ、シミュレーション・ディスプレイなどを含む、ランタイム環境72内の多数の異なる機能において、あるいは多数の異なる機能の一部として実行されてもよい。また、ディスプレイ・オブジェクト74及び76は、システムレベル機能、例えば予測制御もしくは予測メンテナンス機能、システムレベルエラー検出、診断などを含む、図2に示す機能レベルの様々な一つからのデータを用いるシステムレベル機能を実行する際に利用されてもよい。実際には、ディスプレイ76は、構成環境70でいったん作成され、データベース52に格納されると、様々な別の作業に利用されることができる。更に、ディスプレイ・オブジェクト74及び76はワークステーション90、ラップトップコンピュータ91、パーソナル・データ・アシスタント(PDA)や電話装置などのハンド
ヘルドデバイス92、もしくは多数の監視を有する大画面ディスプレイなどの任意の他の専門ディスプレイ93などの任意の所望のディスプレイもしくはコンピュータ・ハードウェア上で実行されてもよい。所望により、単一のグラフィック・ディスプレイ76を層状に積み重ね、構成ビュー、オペレータ・ビュー、メンテナンス・ビュー、シミュレーション・ビューなどの一以上のビューを含むものとしてもよい。あるいは、これらの各種機能のために作成されたディスプレイ全体にわたって一貫した外観と雰囲気を与えるため、同一もしくは類似のグラフィック・エレメント81を用いてこれらの別々のビューを提供すべく別々のグラフィック・ディスプレイ76を構成してもよい。
【0036】
ブロック95で示されるように、ランタイム環境72に配置されるためには、グラフィック・エレメント74もしくはグラフィック・ディスプレイ76はコピーされ、もしくはインスタンスを生成され、ランタイムマシンにロードされてもよい。一般にディスプレイ・オブジェクト74もしくは76は、呼び出された場合もしくは実際にランタイムマシンで実行される際にのみランタイム環境72にバインディングされることが望ましい。これをランタイム・バインディングと呼ぶ。ディスプレイ・オブジェクトが実際にランタイム・コンピュータ上で実行されているとき、インスタンスを生成された各オブジェクトのための決定表はランタイム環境において満たされもしくはバインディングされるのみである。この処理により、当該ディスプレイ・オブジェクトのビジュアライゼーション、制御、スクリプトなどを含むディスプレイ・オブジェクトが、当該オブジェクトのビジュアライゼーションが実際にディスプレイ画面上にレンダリングされている際にのみ実行され、処理電力を消費することが確実となる。従って、ディスプレイ・オブジェクトは、当該オブジェクトがランタイム・コンピュータ上で実行されているときにのみランタイム環境72とバインディングされていることが好ましい。これは、ディスプレイ・オブジェクト74及び76が、これらのオブジェクトにより作成されるビジュアライゼーションを視認するユーザの作業により定義される形で間欠的にランタイム環境72に接続されてもよいことを意味する。すなわち、これらのオブジェクトは、視認される必要があるときにランタイム環境72にバインディングされ、ユーザが視認していないとき、すなわちユーザがこれらのオブジェクトがビジュアライゼーションを提供している画面を最小化したりクローズしたりしたときなどにバインディングを解除すなわち解放されてもよい。
【0037】
従って、ディスプレイ・オブジェクト74及び76は、スタンドアロン環境、すなわち構成環境70で作成されてもよいが、プロセスプラント環境内で定義された他のオブジェクトもしくはデータ構造もしくはプロセスプラント環境内で実行される任意のアプリケーションとバインディングされもしくは接続されていてもよいオブジェクトである。該オブジェクトは、例えば、任意の制御、シミュレーション、メンテナンス、もしくは構成環境において定義される、オブジェクト、データ構造、アプリケーションなどを含む。更に、いったん作成されると、ディスプレイ・オブジェクト74及び76は、物理的もしくは論理的プロセス・エンティティに直接的に直接参照、変数もしくはタグを通じて定義された決定表を介して、あるいは、別名、変数及びパラメータを用いることで間接的にバインディングされてもよい。別名、変数及びパラメータはディスプレイ・オブジェクト74もしくは76がランタイム環境72内にダウンロードされもしくはインスタンスを生成される際に、あるいは、場合によってディスプレイ・オブジェクト74もしくは76が実際にランタイム環境72内で実行される際に決定されてもよい。
【0038】
図3のディスプレイ・エディタ50は、ディスプレイ・オブジェクト74及び76の使いやすさや融通性を高めるため、ディスプレイ・オブジェクト74及び76が詳細なレベルで作成できるようにしてもよい。例えば、よりプリミティブな物理的及び論理的エンティティのプロパティ及びオペレーションを定義すべくグラフィック・エレメント74を最初に作成し、次いで一以上のグラフィック・エレメント74を相互に接続することでより複雑な物理的もしくは論理的エンティティ、もしくは物理的もしくは論理的エンティティのグループを描写するより高レベルのもしくはより複雑なディスプレイを作成することでグラフィック・ディスプレイ76を作成してもよい。当然ながら、ユーザがより簡単に、より高レベルのディスプレイ・オブジェクトを作成することができるよう、グラフィカル・エレメント74及びグラフィカル・ディスプレイ76の両方を様々なカテゴリに格納し、アクセスしてもよい。
【0039】
図4はディスプレイ・エディタ50により作成できる例示的画面ディスプレイ100を示す。ポンプ(Pump)に関するグラフィック・エレメント作成プロセスにおいて描画される画面100は、主編集セクション102、エレメント階層セクション104、プロパティ定義セクション106及びビジュアライゼーション・セクション108を含む。主編集セクション102はユーザもしくは設計者が当該グラフィック・エレメントのビジュアライゼーションを定義もしくは作成し、従って当該グラフィック・エレメント(ここではビジュアライゼーション109によって図示されるポンプ)の視覚的プロパティを定義するための作業空間を提供する。一般にエレメント階層セクション104は、主編集セクション102内のビジュアライゼーション109と関連付けられた構成要素を提供する。図4の例では、階層セクション104は主編集セクション102で定義されているビジュアライゼーションが円形(Circle1と称する)及び2つの矩形(Rect1及びRect2と称する)のプリミティブもしくはサブエレメントを含むことを示す。図4には示していないが、階層セクション104はビジュアライゼーション109について定義されたスクリプト、ビジュアルトリガなどの、アニメーション、アクション及び他のディスプレイ・プロパティの表示を含んでいてもよい。
【0040】
プロパティ定義セクション106は、編集セクション102に示されたビジュアライゼーション109と関連付けられたグラフィック・エレメントについて現在定義された固有プロパティを含む、全てのプロパティを示す。図4の例示画面100にはビジュアライゼーション109と関連付けられたポンプのオン/オフを定義するIsOnプロパティ、及びビジュアライゼーション109と関連付けられたポンプの速度を定義する速度(Speed)プロパティを含む2つのプロパティが示されている。ユーザもしくは設計者は、プロパティ定義セクション106内の他の変数、プロパティなどの名称、タイプ及びバインディングを定義することにより当該グラフィック・エレメントに他のプロパティ及びパラメータを追加することができ、これによりグラフィック・エレメント他の態様を定義する。図4のセクション106に示された2つのプロパティは、ブール及び浮動小数点変数としてリストされているが、他のタイプの変数を代わりに用いたり、追加して用いたりしてもよい。従って、セクション106で定義されるプロパティは例えばアレイ、表、リストもしくは任意の他のタイプの変数もしくはデータ構造であってもよい。
【0041】
所望により、画面100内で定義されているグラフィック・エレメントは、当該グラフィック・エレメントと関連付けられた多数のビジュアライゼーションを含んでいてもよい。それぞれのビジュアライゼーションはビジュアライゼーション・セクション108において描写され、個別に選択されて主編集セクション102に配置されてもよい。例えば、図4のビジュアライゼーション・セクション108には2つのビジュアライゼーション110A及び110Bが示されているが、作成されているグラフィック・エレメントに関して任意の他の数及びタイプのビジュアライゼーションを定義してもよい。グラフィック・エレメント作成プロセスの間、各ビジュアライゼーションは、セクション108のビジュアライゼーションの表示を右クリックもしくはダブルクリックすることで、あるいはビジュアライゼーションの表示を編集セクション102にドラッグアンドドロップすることで、主編集セクション102に配置されてもよい。主編集セクション102に配置されると、ビジュアライゼーションはディスプレイ・プロパティの定義もしくは再定義を行うべく編集されてもよい。一般に、ビジュアライゼーションのうちの一つは、作成されているグラフィック・エレメントのためのデフォルト・ビジュアライゼーションとして設定もしくは定義される。デフォルト設定は、デフォルト・ビジュアライゼーションをハイライトする、図4のビジュアライゼーション110Aについて図示されているようにビジュアライゼーション108内で点線で囲む、あるいは任意の他の方法など、いくつかの方法で表示できる。
【0042】
一般に、エレメント・エディタ50により作成されたビジュアライゼーションは、定義された方法で配置されもしくはグループ化される各種形状の一以上の複合で構成されてもよい。このようなビジュアライゼーションを複合形状体と呼ぶことができる。例えば、複合形状体は円形、線形、点、多角形、正方形、矩形、三角形、あるいは他の単純なグラフィック形状を含んでいてもよい。このように定義されると、複合形状体を構成する異なる形状の各々に別々のアクションもしくはアニメーションを適用もしくは関連付けることができる。当然ながら複合形状体はエレメントのより精巧な芸術的表現を含んでいてもよい。複合形状体を定義もしくは作成するため、ユーザもしくは設計者は任意数のプリミティブ・グラフィック・エレメントを主編集セクション102に加え、これらのプリミティブを任意の所望の方法にてグループ化してもよい。いったん作成されると、複合形状体は例えばランタイムでXAMLオブジェクトとして実施される実際のオブジェクトのためのビジュアライゼーションを定義する。このビジュアライゼーションはグラフィック・エレメントがランタイム環境で使用される際にビジュアライゼーションとして画面もしくはディスプレイに表示される。複合形状体を構成する形状もしくはプリミティブは、階層セクション104の複合階層に図示されてもよい。
単一のグラフィック・エレメントについて多数のビジュアライゼーションを作成することで、異なるビジュアライゼーションが異なる状況で、もしくは異なる用途に使用されることが可能となる。これによりプラント内で異なる目的のために作成されるディスプレイが同一のグラフィカル・エレメントから作成できる(すなわち同一のグラフィカル・クラス・オブジェクトから作成される)一方で、共通エレメントの異なるビジュアライゼーションを表示できる。例えば、ビジュアライゼーション110A及び110Bなどのうち異なるビジュアライゼーションを異なる機能的状況で使用することができ、これにより、グラフィック・エレメントが制御オペレータのディスプレイの一部として使用される場合には第一のビジュアライゼーション110Aを用い、グラフィック・エレメントがメンテナンス・ディスプレイの一部として使用される場合には第二のビジュアライゼーション110Bを用い、シミュレーション・ディスプレイにおいてポンプエレメントが使用される場合は第三のビジュアライゼーション(図示せず)を用いることができる。一方、異なるタイプのディスプレイ装置においてディスプレイ目的で異なるビジュアライゼーションを用いてもよい。例えば、グラフィック・エレメントの第一のビジュアライゼーションは一般的なコンピュータもしくはワークステーションでの使用に適しており、別のビジュアライゼーションはPDAや電話装置のようなハンドヘルドデバイスで使用される際に利点を有するべく作成されてもよいし、更に別のビジュアライゼーションは大画面ディスプレイ、もしくは多数の画面監視用に作成されてもよい。当然ながら、グラフィック・エレメントのための異なるビジュアライゼーションを、当該ビジュアライゼーションが表示されるディスプレイのサイズに基づいて誂えることもできる。これにより、典型的なコンピュータ画面などの比較的大きい画面に適合すべく第一のビジュアライゼーションを作成し、PDAやワイヤレス電話装置などのハンドヘルドデバイスのディスプレイ画面などのかなり小さい画面に適合すべく第二のビジュアライゼーションを作成してもよい。従って、同一のグラフィック・エレメントのための異なるビジュアライゼーションが異なるランタイム・デバイスで使用されてもよい。
【0043】
一方、グラフィック・エレメントの開発サイクルの異なるタイミングにおいて異なるビジュアライゼーションをグラフィック・エレメントに加えてもよい。例えば、グラフィック・エレメントの最初の作成の際に、見栄えのよいビジュアライゼーションの描画もしくは生成を行うことのできない構成エンジニアがまず、予備的及び基本的な性質をもつプリミティブ・ビジュアライゼーション(棒線画図など)を作成し、このビジュアライゼーションを当該タイミングにおけるグラフィック・エレメントの一部として保存してもよい。別の日あるいは別のタイミングで、熟練した製図工もしくはアーティストがより精巧で芸術的な見栄えのよいビジュアライゼーションを作成してもよく、この第二のビジュアライゼーションを代替的ビジュアライゼーションとしてグラフィック・エレメントに追加してもよい。所望により、このとき第二のビジュアライゼーションをデフォルト・ビジュアライゼーションとして設定し、この第二のビジュアライゼーションがランタイム・ディスプレイに表示されもしくはランタイム・ディスプレイで利用できるよう、この第二のビジュアライゼーションがマスタもしくはクラス・グラフィック・エレメントからインスタンスを生成された全てのランタイムグラフィック・エレメントを通じて伝搬されてもよい。
【0044】
別の例において、ディスプレイの異なるテーマ、グラフィカル基準、規範もしくはスタイルをサポートすべく、同一のグラフィック・エレメントについて異なるビジュアライゼーションが提供されてもよい。公知のように、異なる産業ではポンプ、バルブ、センサ及び他のプロセスプラント・エンティティを表現する際に異なるグラフィック規範もしくはグラフィカル基準を用いるのが一般的である。従って、石油産業とガス産業では製薬業とは異なるグラフィカル基準を用いている。エレメント・エディタ50を用いると、石油及びガス規範及び製薬規範などの多数のグラフィカル基準もしくは規範をサポートすべく、各グラフィック・エレメントについて異なるビジュアライゼーションを提供することができる。このように、同一のグラフィック・エレメントが、例えば異なる産業で受け入れられるもしくは有用なディスプレイのような、異なるディスプレイ基準もしくは規範あるいはテーマをサポートすべく作成されたグラフィック・ディスプレイで用いられてもよい。更に、ユーザが各種芸術的タイプのディスプレイを作成することを可能とすべく、芸術的スタイルなどの異なるグラフィカルスタイルが異なるビジュアライゼーションで用いられてもよい。当然ながら、あくまでこれらは同一のグラフィック・エレメントに多数のビジュアライゼーションを提供することの利点の一例であり、これらの多数のビジュアライゼーションの他の用途も存在する。
【0045】
所望により、グラフィック・エレメントは、定義されもしくは当該グラフィック・エレメントに関連付けられた一以上のグラフィカル挙動を有してもよい。詳細には、設計者もしくは作成者は、ビジュアライゼーションが画面に表示されている際に、グラフィック・エレメントの各ビジュアライゼーションについて回転、線形変換、背景の変更、色の変更、リサイズ、色階調アニメーション、不透明アニメーション、フォント特性アニメーション、ビデオ及びスタート/ストップ機能などのビデオ機能、二次元もしくは三次元の変更などのアニメーションを定義してもよい。この動的挙動を加えるために、ユーザはグラフィック・エレメントを選択し、アニメーション(アニメーション・ルーチンとも呼ばれる)をビジュアライゼーションに加えることを選択してもよい。ここにおいて、ユーザは、選択されたアニメーションに関する構成情報を入力してもよく、あるいは、例えばダイアログボックス、表現エディタなどを利用して入力できるスクリプトを用いて所望の挙動を定義してもよい。定義されるとこれらのスクリプトは階層セクション104の階層に表れる。スクリプトは、基本的にランタイム作業の間、当該ディスプレイ・エレメントのためのビジュアライゼーションが表示されもしくは画面に提示されている際に、ディスプレイ・エレメントの一部として実行されるプログラムもしくはルーチンである。これらの挙動もしくはスクリプトは、必須ではないが、当該グラフィック・エレメントについて定義された一以上のプロパティもしくはパラメータとバインディングされ、及びそれらのプロパティもしくはパラメータ上で動作されてもよい。例えば、スクリプトは、グラフィック・エレメントのプロパティ・セクション106で定義されるプロパティのうち一つの値に基づいて、グラフィック・エレメントのビジュアライゼーションの色を変更すべくグラフィック・エレメントと関連付けられていてもよい。例えば、IsOnプロパティ(ランタイム環境とバインディングされている)が真であるとき、すなわちポンプがオンにされたとき、ポンプ・ビジュアライゼーション109の色は黄色から緑色へ変更してもよい。あるいは、スクリプトはポンプエレメントについて定義され、ポンプの速度プロパティ値を設定点と比較し、速度プロパティ値が一定のレベルを上回った場合には、ビジュアライゼーション109内のある種のグラフィック・アニメーションを発生させてもよい。このアニメーションとして、例えば、ポンプを赤色に変更させる、ポンプを回転させる、ポンプ内のモータが回転していることを表示する、ポンプ・ビジュアライゼーションを拍動もしくは振動させるなどが挙げられる。
【0046】
例えば、あるビジュアライゼーションについて、当該ビジュアライゼーションに関するアニメーションもしくは他の挙動を提供すべく定義されたスクリプトは、当該ビジュアライゼーションを構成する複合形状体の個々の形状もしくはプリミティブにおいて、あるいは複合形状体の多数の形状において作動すべく設計されてもよい。スクリプトはランタイム環境における実際の物理的エレメントとバインディングされた固有プロパティにおいて作動しもしくは固有プロパティを利用するため、これらのスクリプトは、実際のプラント運転に基づいて、もしくは当該グラフィック・エレメントと関連付けられた実際のエンティティのプロパティを反映するプロセスプラントの他のエリアからのデータに基づいて、ビジュアライゼーションを変更することを可能とする。
【0047】
異なるタイプのグラフィック・エレメントは、当該グラフィック・エレメントと共に用いるのに適した異なるグラフィックを有していてもよいことが理解されよう。従ってグラフィック・エレメントに対して提供される挙動は、本願明細書に例示したものに限定されない。例えば、機材を回転させることに関するグラフィック・エレメントは、振動に関するグラフィック、移動、色の変更などを提供するスクリプトを含んでいてもよいし、センサなどの機材に関するグラフィック・エレメントはオーバーリミット状態、アンダーリミット状態、較正が必要な状態などを描写したスクリプトを含んでいてもよい。当然ながら、グラフィック・エレメントについて任意のプロパティを利用もしくは定義でき、これらのプロパティは概ね表示されているエンティティのタイプに基づく。また、異なるビジュアライゼーションについて異なる挙動を提供するため、異なるビジュアライゼーションのそれぞれについて様々なスクリプトが提供されてもよいことが理解されよう。一方、スクリプトによってはグラフィック・エレメントと関連付けられた各ビジュアライゼーションに挙動を提供するために用いられてもよい。
【0048】
また、スクリプトもしくは他のルーチンは当該グラフィック・エレメントに関する一以上のパラメータに基づいた関連する物理的エンティティについて一定の状態を検出すべく、グラフィック・エレメントと関連付けられていてもよい。これらの状態は、当該エンティティと関連付けられた通信状態、装置状態、値状態などの状態を含む、物理的状態を含むエンティティ状態の検出を含んでもよい。検出された全ての状態は、当該スクリプトにより生成された状態もしくは値とバインディングされたアニメーションもしくは他のアクションもしくは挙動によりグラフィック上に反映されてもよい。例えば、関連付けられたポンプの過熱状態を、当該ポンプエレメントに関する一以上のパラメータ、すなわち図4のプロパティ・セクション106で定義されもしくは表示された一以上のパラメータ、に基づいて検出する、ポンプグラフィック・エレメントのためのスクリプトが提供されてもよい。他の例として、スクリプトはポンプの過振動、もしくは任意の他の状態を検出すべくグラフィック・エレメントについて提供されてもよい。過熱もしくは過振動などの状態が検出されると、当該グラフィック・エレメントと関連付けられたアニメーションもしくは他のアクションが当該状態に関して作動され、当該グラフィック・エレメントのビジュアライゼーション内もしくはビジュアライゼーション上において当該状態のグラフィカル表示が提供される。
【0049】
図5はディスプレイ・エディタ50で作成し得る他の例示的画面ディスプレイ112を図示したものである。図4の画面100と同様に、画面ディスプレイ112は主編集セクション114、パレットビュー116、階層ビュー118及びプロパティビュー120を含む。リアクタ・エレメント122の第一のビジュアライゼーションが主編集セクション114に表示されている。階層ビュー118に示されるように、エレメントのタイトルはReactor1であり、このエレメントはVisual1(デフォルト・ビジュアライゼーション)、Visual2及びVisual3と称される3つのビジュアライゼーションを含む。階層ビュー118の見出しであるVisual1の下に示すように、第一のビジュアライゼーションは矩形(Rectangle)エレメントと楕円形(Ellipse)エレメントを含むキャンバス背景から構成される。ビジュアライゼーションの現在定義されているプロパティ、ここでは名称、高さ及び幅はプロパティビュー120にリストされている。階層ビュー118においてビジュアライゼーションが選択されると、当該ビジュアライゼーションと関連付けられたチャイルドプリミティブもしくはエレメントのいずれかが編集ビュー114に表示され、現在選択されているエレメントのプロパティがプロパティビュー120に表示される。
【0050】
画面112において、パレットビュー116はビジュアライゼーションの作成に用いることのできる多数の基本エレメントを含む。例えば、パレットビュー116は、ボタン(Buttons)、テキストボックス(Text boxes)、スライダ(Sliders)、ノブなどの1組の基本UI(ユーザインタフェース)エレメント(Basic UI Elements)、1組の基本パネル(Panels)及び1組の基本形状(Basic Shapes)を含む。定義されたパネルは、キャンバスエリアに対する座標によりユーザがエレメントを明示的に位置決めできるエリアを定義するキャンバスパネル、ユーザがエレメントを相互に水平もしくは垂直に配置できるドックパネル、及び表示されたフロー方向と共にフローパネルエリア内の内容物を無効化、ラップ、及び位置決めするために用い得るフローパネルを含んでいてもよい。フロー方向は、左から右、上から下、もしくは右から左、上から下など、例えば上、右、左及び下の任意の組合せとしてもよい。更に、パレットビュー116の基本形状はISA(Instrument Society of America)シンボル、トランスミッタシンボル、バルブシンボル、PI&D図シンボルもしくは他の制御シンボルなど、あるいは任意の他の所望の形状を含むものとしてもよい。これらの形状は全てグラフィック・エレメントの作成に使用できる。
【0051】
当然ながら、例えば基本的な制御エレメント、デバイスなどの他の基本エレメントは、定義されているグラフィック・エレメントに関するビジュアライゼーションを作成するために用いるパレットビュー116のプリミティブとして提供されてもよい。また、パレットビュー116は、ユーザが他の任意の有用な形状をパレットビュー116から編集ビュー114へドラッグすることができるよう作成されてもよいユーザ定義カテゴリもしくはエレメントのリストを提供してもよい。必要に応じて、このようなユーザ定義カテゴリへのアクセスは当該カテゴリもしくはエレメントの作成者であるユーザに限定されてもよく、当該カテゴリもしくはエレメントは特定のユーザと関連付けられたユーザ選好ファイルに保存されてもよい。しかし、ビルトイン・カテゴリ及びパレットアイテムは、データベースに格納されてもよく、地球上の全てのユーザによって利用可能としてもよい。いずれの場合でも、パレットビュー116はグラフィック・エレメントを形成するために用いてもよいプリミティブ・エレメントのライブラリを表示するか、当該ライブラリへのアクセスを提供すべく利用されてもよい。これらのライブラリは例えば所望によりロックされ、作り替えられ(versioned)、特定のユーザに限定されてもよい。
【0052】
既述の如く、グラフィック・エレメントに関する任意のビジュアライゼーションは当該ビジュアライゼーションと関連付けられたアニメーション及び/又はアクションを有していてもよく、このようなアニメーションもしくはアクションは画面112のアクション/アニメーション・ビュー123に表示されてもよい。ビジュアライゼーションがアニメーションもしくはアクションを含む場合、これらのアニメーションもしくはアクションは、星形などの特殊な記号を用いて階層状に表示されてもよい。階層ビュー118において選択される場合、ビジュアライゼーションのために定義される任意のアクションもしくはアニメーションあるいはビジュアライゼーションのサブエレメントはアクション/アニメーション・ビュー123に表示される。アクションもしくはアニメーションは、ビュー123のこのようなアクションもしくはアニメーションを定義することによって、あるいはこのようなアクションもしくはアニメーションを階層ビュー118に加えることによって、作成され割り当てられることが可能である。ユーザがアクションもしくはアニメーションを作成又は編集しようとするとき、エディタ50はダイアログボックスもしくは編集ボックスを設け、この特徴を完全に特定しもしくは定義することを可能とする。当然ながら、アクションもしくはアニメーションは、スクリプト、ビジュアルトリガ又は他のプログラムを使用して定義されてもよい。
【0053】
画面112を使用している間、ユーザ又は設計者は、パレットビュー116の異なるアイテムをドラッグアンドドロップするか、あるいは選択し、これらのアイテムを編集ビュー114に配置して所望のビジュアライゼーションを作成することにより、エレメントのビジュアライゼーションを作成してもよい。一以上のツールバー124を用いて、新たなビジュアライゼーションやアニメーションを追加したり、アニメーションを削除、移動、編集したり、プリミティブもしくはエレメントを例えば後ろから前へ配置したり、コネクタ・エレメントを表示させたり、作成中のビジュアライゼーションへの接続を可能としたり、異なるプリミティブが相互に位置決めされるようグループ化したり、ラインやテキストなどの静的エレメントを追加したりするなどの標準的な編集機能を提供してもよい。
【0054】
図6に示すように、グラフィック・エレメント130は多数のビジュアライゼーション132もしくは当該グラフィック・エレメント130と関連付けられた視覚的表示を有していてもよい。当該グラフィック・エレメント130が使用される異なるタイミングもしくは異なるディスプレイにおいて異なるビジュアライゼーション132を使用できることが理解されよう。前述したように、任意のビジュアライゼーション132は、任意数のプリミティブ134並びにアニメーション及びアクション136で構成されていてもよい。また、グラフィック・エレメント130は、ビジュアライゼーション132に変更を行い、当該ビジュアライゼーション132と関連付けられたビジュアルトリガを作動するため、アクション及びアニメーション136と結合されもしくはアクション及びアニメーション136により使用されてもよい任意数のプロパティもしくはパラメータ138を含んでいてもよい。また、ビジュアライゼーション132又はビジュアライゼーション132を形成している個々のプリミティブは、マウスカーソルを移動させたりマウスクリックを行うなどの事前定義されたイベントに関して定義されたアクションを有していてもよい。これらのアクション(ルーチンとも呼ばれる)は、グラフィック・エレメント130の挙動を更にカスタマイズし、ユーザが例えばランタイム環境に変更を施すためにビジュアライゼーション132と対話することを可能とすべく、イベントハンドラが設定もしくは定義されることを可能とする。詳細には、ユーザは値もしくは他の数字、もしくは情報を入力し、ビジュアライゼーション上のスライダバーなどのエレメントを移動させ、あるいは例えばビジュアライゼーション内のプロパティを変更すべく何らかの他のアクションを起こすることによって、ビジュアライゼーション132と対話してもよい。このビジュアライゼーション・プロパティの変更は、スクリプトを介して又は直接的に、変数を変更するためにプロセスランタイム変数などのプロセス入力に結合されてもよい。詳細には、ビジュアライゼーション・プロパティは、プロセス入力とバインディングされたグラフィック・エレメントについて定義されたプロパティと接続されていてもよい。このように、ユーザは、プロセスもしくはシミュレーション環境などの他のランタイム環境を変更しもしくはプロセスもしくはシミュレーション環境などの他のランタイム環境に入力を提供すべく、アクションもしくはアニメーション・ルーチンを介してビジュアライゼーションと対話してもよい。
【0055】
必要に応じて、ビジュアライゼーション132は、ユーザにより指定されることにより、あるいはプログラムで指定されることにより、グラフィック・エレメント130に接続されてもよい。詳細には、グラフィック・エレメント130は、ビジュアライゼーションが例えばグラフィック・エレメントにより表示されている当該エレメントの製造業者、あるいは、当該グラフィック・エレメントと関連付けられた装置状態などの他のパラメータに基づいてプログラムにより変更されることを可能とする当該グラフィック・エレメント130と関連付けられた列挙プロパティを表示してもよい。
【0056】
既述の如く、図5のプロパティビュー120は、階層ビュー118において選択されたアイテムについて定義された、ゆえに主編集ビュー114に表示されたアイテムについて定義されたプロパティ及びイベントを提供しもしくは表示する。ユーザは、例えばツールバーのボタンを使用してプロパティビュー120におけるプロパティ、固有プロパティ及びイベントの間で切り換えることができる。図7は、固有プロパティが示されている、プロパティビュー120Aを示す。同ビュー120AにはここではIsOn及び速度プロパティが示されている。この場合、プロパティビュー120Aは、これらの変数のデータ形式及びこれらの変数に関する任意のデフォルト設定を示す。既述の如く、ユーザは、列挙、表構造などを含む任意の所望のデータ形式でプロパティを定義すべく、このプロパティリストに対し追加、削除もしくは編集を行うことができる。必要に応じて、プロパティビュー120は、これらのプロパティについて定義される任意のランタイム・バインディングを表示してもよい。これらのランタイム・バインディングは一定の変数又はタグであってもよいし、あるいはランタイムにおいてもしくはランタイムマシンへグラフィック・エレメントをダウンロードする際に記入される別名を使用するタグであってもよい。
【0057】
グラフィック・エレメントについて定義されるプロパティの値はアニメーション、アクション、その他のトリガ条件として使用されてもよく、これらの挙動は当該グラフィック・エレメントに関連付けられた一以上のスクリプトにより定義されてもよい。例えば、モータがOnプロパティを有し、当該Onプロパティが真である場合、作動しているモータのアニメーションはグラフィック・ディスプレイ上で起動されてもよい。また、例えば矩形形状のプリミティブフィルプロパティなどのプリミティブ・プロパティは、グラフィック・エレメント・プロパティにおける変更がプリミティブ・プロパティに影響を与えるよう、グラフィック・エレメント・プロパティとバインディングされてもよい。同様に、ビジュアライゼーションに対する変更はプロパティに結合されてもよく、これによりビジュアライゼーションに対する変更はプロパティ値に変更を生じてもよい。
【0058】
必要に応じて、エディタ50は、ユーザがグラフィック・エレメント・プロパティとアニメーションもしくはアクションとの間のより望ましい形で結合するために一以上の変換機能を特定することを可能とする。例えば、ユーザがTankLevel(タンク内の内容物の高さ(タンクレベル)を定義する)のグラフィック・エレメント・プロパティをプリミティブ・プロパティ矩形フィルにバインディングし、これによりビジュアライゼーションの一部として定義されたプリミティブについて色を付けることでタンク内の内容物の高さをグラフィック表示しようとする。但し、この場合ユーザは、タンクレベルが第一レベルと第二レベルの間にある場合に矩形のフィルを緑色に設定し、タンクレベルが第二レベルと第三レベルの間にある場合に矩形のフィルを黄色に設定し、タンクレベルが第三レベルを上回る場合に矩形のフィルを赤色に設定するよう、プロパティ(TankLevel)を列挙された設定もしくは状態に変換する変換機能を定義してもよい。この変換機能は当該グラフィック・エレメントと共に実行されるスクリプトもしくは任意の他のプログラムとして定義され、プロパティ値を長さ、フォント名、ローカライズドストリング、持続時間、回転、色階調度、不透明、ブラシパターンなどに変更するなどの任意の所望のプロパティ変換を発生すべく利用されてもよい。同様に、変換ルーチンは、ビジュアライゼーションを通じてユーザからの入力を任意の所望のプロパティ値に変換する。
【0059】
他の例として、変換機能を利用してグラフィック・エレメント・プロパティもしくはパラメータを外部参照とバインディングしてもよい。ここで、エディタ50は、ユーザが、当該グラフィック・エレメントがランタイム環境で使用される際にソース値(ランタイム変数)を目的値(グラフィカル変数)に、もしくはその逆に変換すべく自動的に適用される一以上の変換機能を特定することを可能とする。例えば、速度を数値として提供するデータソースにバインディングされていてもよい速度目的変数は、ソース変数の値に基づいて「低速」「中速」「高速」のいずれかを示すストリングなどのストリングタイプ変数に変換されてもよい。また、このような変換機能はユニットの変換もしくは他の変換を提供するために使用されてもよい。いずれの場合でもこれらの変換機能はスクリプトもしくは他のプログラムとして実施されてもよく、グラフィック・エレメントについてアクションもしくはアニメーションを提供し、もしくは当該グラフィック・エレメントに関するディスプレイ・プロパティに影響を与える目的で使用されてもよい。
【0060】
当然ながら、プロセス制御内の異なる物理的エレメントについて作成される異なるタイプのグラフィック・エレメントに任意の所望のプロパティを定義してもよい。例えば、ポンプエレメントはポンプ状態(例えば、オンもしくはオフ)、圧力入力プロパティ、圧力出力プロパティ、流量入力プロパティ及び流量出力プロパティを含んでいてもよい。同様に、アクチュエータと共に使用される調節バルブは、例えば名称プロパティ、濃度入力プロパティ、濃度出力プロパティ、流量入力プロパティ、流量出力プロパティ、圧力入力プロパティ、圧力出力プロパティ、温度入力プロパティ、温度出力プロパティ、バルブ位置プロパティ、バルブ開及びバルブ閉プロパティ(このプロパティはバルブが常に開であるか閉であるかを定義してもよい)、設定点、プロセス値、バルブタイプ(線形、クイックオープニング、イコールパーセンテージなど)などを含んでいてもよい。当然ながらこのリストは包括的であることを意図していない。更にこれらのプロパティはいずれもグラフィック・エレメントに関するアニメーションもしくはアクションと接続することができる。
【0061】
図8は、階層ビュー118(図5)中で選択されたエレメント(ここではReactor1エレメント)に関するグラフィック・エレメント・プロパティと関連するアニメーション及びバインディングを表示するために使用できる第二のプロパティビュー120Bを表す。図8のプロパティビュー120Bは、IsOnプロパティがグラフィック・エレメントのビジュアルの各種構成要素と関連する方法を示す。詳細には、表エントリ140により示されるように、ビジュアライゼーションの背景に関連し、IsOnプロパティの値に基づいて動作する1つのアニメーションが存在する。表エントリ142は、IsOnプロパティとの間のバインディングを示し、IsOnプロパティをビジュアライゼーション中の背景エレメントもしくはプリミティブと関連付けるアニメーション、スクリプト及び変換にアクセスするために用いることもできる。この場合、ユーザは、表エントリ・ボックス140及び142のボタンを選択することにより追加情報を取得できる。例えば、ユーザは表エントリ140のボタンを選択することにより、IsOnパラメータの値に基づいてビジュアライゼーションの背景色を変更するアニメーションにアクセスできる。このようなアニメーション・ボタンをクリックすると、エディタ50がアニメーションの管理及び構成を行うことを可能とするプロパティ・アニメーション・ダイアログボックスを開くようにしてもよい。また、ボックス142のバインディングボタンをクリックすることによりバインディングの実行・管理を行うことができ、これによりエディタ50がバインディングの「作成・表示及び編集を可能とするダイアログボックスを開く。当然ながら当該グラフィック・エレメントに関する他のプロパティについての同様の画面が設けられてもよく、プロパティ画面120Bに表示されるプロパティリストは階層ビュー118で現在選択されているアイテムに応じたものとなる。
【0062】
再び図5を参照する。階層ビュー118においてビジュアライゼーションが選択されると、プロパティビュー120は、名称、ビジュアライゼーションについての一意的な識別子を与えるIDを表示し、このビジュアライゼーションが当該グラフィック・エレメントについてのデフォルト・ビジュアライゼーションに設定されるか否かを表示する。階層ビュー118もしくはプロパティビュー120は、当該ビジュアライゼーションがロックされているか否か、すなわち当該ビジュアライゼーションの変更の可否を示してもよい。
【0063】
また、階層セクション118からコネクタ・エレメントが選択されると、プロパティビュー120は当該コネクタ・エレメントのプロパティを示す。コネクタ・エレメントのプロパティとして、コネクタ形状(流体ライン、電気ライン、ガスライン、円形もしくは正方形ダクト、コンベヤベルトなど)、当該接続がデバイスへの接続であるかデバイスからの接続であるか(すなわちグラフィック・エレメントにより示されているエンティティに対する材料の流れ方向)、必要なもしくは可能な最小接続数、最大接続数、接続の幅及び高さ、グラフィック・エレメントに対する接続の位置(上側、左側など)の表示が挙げられる。
【0064】
階層ビュー118でプリミティブが選択されると、プロパティビュー120は当該プリミティブのプロパティを表示する。プリミティブのプロパティとしては、ID、カテゴリの記載、プリミティブが選択可能であるか否か、プリミティブが可視的であるか否か、プリミティブのサイズ、長さもしくはその他の形状もしくは性質の定義、背景色及び当該プリミティブに関するフィルスペースが挙げられる。当然ながら、階層ビュー118中の他の任意のアイテムを選択しても当該アイテムのプロパティがプロパティビュー120に表示される。プロパティのタイプ及び性質は選択されたアイテムの性質に依存する。
【0065】
必要に応じて、階層ビュー118中で選択された階層アイテムの各々もしくは全てと関連付けられたイベントを表示するためのイベント・シートが与えられてもよい。このようなイベント・シートは、ユーザがグラフィック・エレメントに関して、クリックやマウスカーソルの移動などのアクションを行う際に発生するイベントを含むことができる。このようなイベントはユーザがグラフィック・エレメントもしくはグラフィック・エレメントの一部の上でマウスをクリックした際に発生する動作、あるいは当該グラフィック・エレメントのビジュアライゼーションもしくはビジュアライゼーションの一部の上にマウスカーソルを移動させる際に発生する動作を定義する。このイベント・シートの一部として、ユーザは、当該イベントが発生すると実行されるスクリプト(ここでは、ルーチンと呼んでいる)を定義しもしくはスクリプトにアクセスするためにスクリプトエディタへのアクセス権を与えられてもよい。
【0066】
更に、必要に応じて、グラフィック・エレメントは当該グラフィック・エレメントと関連付けられたカスタム・イベントを有していてもよい。通常、カスタム・イベントは何らかの外部のイベントの結果として定義されるイベント、あるいはグラフィック・エレメントのユーザが行ったアクションの結果として外部のアプリケーションもしくはデータソースとの通信を必要とするイベントである。基本的に、グラフィック・イベントは、グラフィック・エレメントのビジュアライゼーションに関してアクションが発生したことを信号で知らせるべくグラフィック・エレメントによって送られるメッセージである。含有アプリケーション(containing application)もしくはグラフィック・エレメントを実施するランタイム・アプリケーションは、例えばC#構文を用いて、又は任意の周知の方法にてイベント通知に登録することにより、これらのイベントを捕捉できる。ある例では、含有アプリケーションはポンプ過熱カスタム・イベントに登録してもよく、起動されるとユーザがイベントを処理することを可能とすべくスクリプトもしくは他のルーチンを実行するマイハンドラ機能を提供する。グラフィック・エレメントが制御オペレータ画面の一部として実施される場合に、これらのカスタム・イベントは特に有用である。この場合、例えばグラフィック・エレメント自体が、ポンプ熱プロパティ(外部の測定値と結び付いている)を設定点又は他の許容値と比較することでイベント状態を決定することができ、ユーザにイベントを通知し、アプリケーション、スクリプト、ダイアログなどを実施することにより、ユーザがイベント(ここではポンプの過熱)を処理することを可能とする。すなわち、このイベント処理プロセスを可能とするには、エレメント・エディタ50はユーザがイベントに関する議論(すなわちイベントとして認識されているもの及びあるイベントの発生により生じるイベント)を定義することを可能とする。
【0067】
当然ながら、必要に応じてグラフィック・エレメントはAvalon制御クラスから継承される標準的なイベントを提供してもよい。公知のように、AvalonオブジェクトもしくはAvalon制御は、ユーザインタフェース上へのベクトルグラフィックのレンダリングをサポートするMicrosoft社のLonghornオペレーティングシステムのためのAvalonユーザインタフェース・アーキテクチャに関するMicrosoft社により定義されたグラフィックである。これらの標準的なイベントは、例えばフェイスプレート表示又はデバイス詳細表示のビューをクリック又はダブルクリック(マウス)イベントと結び付けることを含んでいてもよい。例えば、グラフィック・エレメントのビジュアライゼーションの結び付きの部分がマウスクリックもしくはダブルクリックされたことを報知するイベントであるクリック又はダブルクリック・イベントにより、ビジュアライゼーションにより表示されている装置もしくはエンティティに関するフェイスプレートもしくは詳細ディスプレイのディスプレイを起動し、表示されているエンティティの状態、設計、製造などに関するより完全で詳細な情報をユーザに提示することができる。当然ながら、標準的なイベントを含む他のイベントとして、キーが押下されたか否かを報知するキーの上下イベント、マウスによる入力、マウスの空中停止、マウスの移動、マウスホイールなどのアクションを含むマウスイベント、あるいは任意のその他のユーザが開始するイベントが挙げられる。
【0068】
このように、グラフィック・エレメントイベントは、必要に応じて、グラフィック・エレメントのプロパティ中の変更に応じて、プリミティブイベントのためのイベントハンドラなどのイベントハンドラのスクリプト中で、あるいは変換機能中に起動されてもよい。また、グラフィック・エレメントのプリミティブは、例えばマウスやキーボードを介したユーザとの対話により起動され得るイベントを表示できる。これらのイベントは、形状及びプリミティブレベルでグラフィック・エレメントと対話するためのオプションをユーザに提供する。開発者は例えば、C#メソッドを用いてイベントハンドラを特定することにより、グラフィック・エレメント内のイベントを処理できる。
【0069】
再び図5を参照すると、アクション/アニメーション・ビュー123は、編集ビュー114に現在表示されているビジュアライゼーションに関して定義された変換アニメーション及びプロパティ・アニメーションのリストを提示もしくは表示してもよい。ユーザは、例えばビュー123の1列をダブルクリックしてエディタ50に例えば変換アニメーション・ダイアログボックス又はプロパティ・アニメーション・ダイアログボックスなどの、ユーザが選択したアニメーションを編集できるようにするダイアログボックスを表示させてもよい。通常は現在選択されているビジュアライゼーションのアニメーションだけが表示されるが、「全て表示(Show-All)」ボックス144を選択することにより全てのビジュアライゼーションについてアニメーション及びアクションを表示することができる。アニメーションに例えば「レバーを動画化」「モータを回転」などの意味のある名称もしくは描写を付与する場合、アクション/アニメーション・ビュー123は当該ビジュアライゼーションについて定義されるアニメーション挙動が容易に視認・アクセス可能なものとする。図9は、IsOnプロパティについて定義されるアクションを示す例示的アクション/アニメーション・ビュー123Aを示す。この場合、IsOnプロパティ(Property)が真(True)である場合、ビジュアライゼーションVisual1のプリミティブRectangle1が「赤色(Red)」のフィル値(Value)を用いてフィル(Fill)アクションを実施する。同様に、IsOnプロパティが真であり、ビジュアライゼーションVisual1のプリミティブEllipse1が偽(False)の値を用いて可視化(Visible)アクションを実施する(例えば、非可視化する)。当然ながら、アクション及びアニメーションはビジュアライゼーションの別々のプリミティブに関して別に定義されてもよいが、これらのアクション及びアニメーションはより複雑で見栄えのよいアニメーションを提示すべく、同一のイベント、トリガもしくはプロパティ変更が行われる際に同時に動作してもよい。また、アクション及びアニメーションは、サイズの拡大、色付けなど、あるいはオフにされるまでの間連続的に発生する繰り返し動作などの、単一の動作を実行することを含んでもよい。
【0070】
図10は、グラフィック・エレメント152の固有プロパティなどのプロパティに基づいてグラフィック・エレメント152のビジュアライゼーション150においてビジュアルトリガ148を実施できる方法を示す。詳細には、グラフィック・エレメント152の一以上の固有プロパティは、当該ビジュアルトリガ148について定義される一以上のプロパティトリガ154(図10では、3つ)により監視される。各プロパティトリガはスクリプトを用いて実施してもよく、点線155で示されるように一定のグラフィック・エレメント・プロパティ値に関して監視を行うことができる。次いで、各プロパティトリガは、点線156で示すように、ビジュアライゼーション150の一以上のプリミティブ・プロパティ値を設定でき、このとき監視されたグラフィック・エレメント・プロパティ値は特定の条件を満たす。ゆえに、例えばプロパティトリガ154のうちの1つは、これらのプロパティの一以上の値が特定範囲内に入ったときを決定する目的で、一以上のグラフィック・エレメント・プロパティを監視してもよい。この条件が満たされると、プロパティトリガ154の1つはアニメーション又は他の視覚的スクリプトを例えばビジュアライゼーション150のプリミティブもしくは他のエレメント上で実行させ、ビジュアルトリガ148を提示する。当然ながら、ビジュアルトリガ148の一部として多数の同時変更又はアニメーションを行うべく多数のプロパティトリガ154が同時に動作してもよいし、あるいは、例えば異なる固有プロパティ上で又は同一の固有プロパティの異なる値に基づいて異なるプロパティトリガ154が各々独立して動作し、異なるタイミングでもしくは異なるプロセス状況に応答してビジュアルトリガ148の異なる動作を提供してもよい。このように、色の変更やアニメーションなどは、グラフィック・エレメント152の固有プロパティの値に基づいて、ビジュアライゼーション150に提示されることができる。
【0071】
エディタ50は、必要に応じて現在選択されているビジュアライゼーションの全てのプロパティトリガを列挙したビジュアルトリガパネルを提供しもしくは表示してもよい。このようなパネルは図9に例示されている。図9のパネルにおいて、エレメント・プロパティ(Element Property)の列はグラフィック・エレメント・プロパティ名を列挙し、第一の値(Value)の列は現在見られているグラフィック・エレメント・プロパティ値を表し、目標(Target)の列は変更されるビジュアライゼーションもしくはプリミティブ識別を表し、パス(Path)の列は変更中のプリミティブ・プロパティであり、第二の値(Value)の列は現在見られているグラフィック・エレメント・プロパティ値が満たされると適用されるプリミティブ・プロパティである。当然ながらアニメーション及び他のビジュアライゼーションの変更はこの構造を用いて行うことができる。
【0072】
図11は、ユーザが変換アニメーションを特定することをアシストし又は可能にすべく用いられる変換アニメーション(Transform Animation)・ダイアログボックス160を示す。図示するように、変換アニメーション・ダイアログボックス160は、ユーザがアニメーション中の移動を定義する画素の方向及び距離を特定できる移動(Move)セクション162、ユーザがアニメーションの回転方向及び角度を特定できる回転(Rotate)セクション164、及びユーザがアニメーションの水平方向及び垂直方向における拡大縮小の度合いを特定でき、またアスペクト比を固定するか否かを特定できる拡大縮小(Scale)セクション166を含む。ダイアログボックス160は、ユーザが動画化の際に水平方向及び垂直方向においてスキューを特定できるスキュー(Skew)セクション168を更に含む。設定(Setting)セクション170では、ユーザがアニメーションを連続的なものとするか否かを定め、その他の移動、回転、拡大縮小、スキューの各々を行うことを可能とする。また、プレビュー(Preview)・ボックス172は、アニメーションのプレビューを示すことができる。
【0073】
当然ながら、アニメーションは一定時間にわたり値が変化するオブジェクトである。プロパティ・アニメーションは、アニメーションをプリミティブ・プロパティと関連付けることによって達成され得る。プロパティ・アニメーションは、テキストの色を変更したり、又は線などのエレメントを点滅させたりするなど、微小なものであってもよい。一方、プロパティ・アニメーションは多角形などの頂点を動画化する場合のようにより複雑であってもよい。当然ながら例外はあるものの、他のアニメーションは、プリミティブの色の追加や変更、サイズ(幅、長さ、ポイントサイズなど)の変更、プリミティブの移動、回転、スキューイング、拡大縮小を含んでもよい。更に別のアニメーションは、プリミティブレベルあるいはビジュアライゼーション全体の一部としてなど、ビジュアライゼーションの任意のレベルで提供されることができる。当然ながら、所望により多数のアニメーションが任意の特定のビジュアライゼーションもしくはビジュアライゼーションの任意の特定のプリミティブに提示されもしくは適用されることができる。また、特定のビジュアライゼーションもしくはビジュアライゼーションのプリミティブと関連付けられた多数のアニメーションが、プロパティ値の変化やマウスイベントなどのユーザが開始した起動イベントに基づいて、同時に、もしくは別々のタイミングで動作してもよい。
【0074】
図12は、ユーザがアニメーションのプロパティを定義もしくは変更することでアニメーションを定義することを可能とする、エディタ50によって作成され得るプロパティ・アニメーション(Property Animation)・ダイアログボックス180を示す。ダイアログボックス180は、境界(Bounds)定義セクション182及びタイムライン(Timeline)定義セクション184を含む。境界定義セクション182は、アニメーションの境界を設けもしくは定義する。詳細には、「〜から(From)」プロパティがアニメーションの開始値を定義し「〜まで(To)」プロパティがアニメーションの終了値を定義する。タイムライン定義セクション184は、アニメーションの持続時間、アニメーションの開始時間及び終了時間を定義する。持続時間(Duration)プロパティはアニメーションが完了するまでの時間の長さを定義し、開始時刻(Begin Time)プロパティはアニメーションの開始時刻に対する時間オフセットを定義し、終了時刻プロパティは開始時刻に対してアニメーションの終了時刻を定義する。速度(Speed)定義セクション186では、ユーザはスライドバーなどにより速度、加速、減速を特定できる。速度(Speed)プロパティはアニメーションの速度を定義し、加速(Acceleration)プロパティは時間の増加と共にアニメーションの移動速度を上げ、減速(Deceleration)プロパティは時間の増加と共にアニメーションの移動速度を下げることは明白である。反復(Repeat)定義セクション188は、ユーザが、例えば指定回数、指定カウント(Count)、一定時間(Duration)もしくはオフにされるまで連続して反復されるなど、アニメーションの反復方法を定義することを可能とする。
【0075】
ダイアログボックス180を通じてアクセスできる更なるアニメーション・ダイアログボックス190は、境界定義セクション182を使用する際に、アニメーションの境界として使用される異なる色を特定するために用いてもよい。ユーザがアニメーションのプロパティとして別の非数値を選択することを可能とする同様のダイアログボックスが用いられてもよい。図示されていないが、このダイアログボックスもしくは他のダイアログボックスを用いて他のアニメーションプロパティを選択しもしくは特定してもよい。例えば、オートリバースプロパティは、アニメーションの順方向の進行が完了した後、逆方向の進行を行うか否かを示すブール値を定義するために用いられてもよく、「by」プロパティはアニメーションがその開始値を変更する合計量を定義するために用いられてもよい。相対速度プロパティは、時間が親アニメーション(すなわちビジュアライゼーションの親エレメントと関連付けられたアニメーション)と比較して、アニメーションについて時間が経過する相対速度を定義するために用いられてもよい。例えば値1は、アニメーションが親アニメーションと同一速度で進行することを示し、値2はアニメーションが親アニメーションの2倍の速度で進行することを示してもよい。
【0076】
図示されてはいないが、アニメーションのスタイル、サイズ、フォント及びテキストの色、もしくはこれらの変更を設定するためにダイアログボックスを用いてもよい。また、エッジもしくは線の形式、又は線の太さ及び色の設定、及びこれらのプロパティの変更を行うためストロークプロパティダイアログボックスを用いてもよい。
【0077】
グラフィック・ダイアログボックスは、グラフィック・エレメントの他の機能を編集するために用いてもよい。例えば、グラフィック・エレメント・プロパティをグラフィック・エレメントに追加したり、グラフィック・エレメント・プロパティをランタイム環境にバインディングしたりすることを含む、ニュープロセス・グラフィックスを作成するためにグラフィック・ダイアログボックスを用いてもよい。このようなバインディング・ダイアログボックスは、ユーザがバインディングを行うために所望のタグ、変数、名称などの場所を確認するために制御システムもしくは他のランタイム環境内に定義された異なるタグもしくは変数をブラウズすることを可能とするブラウザを提供してもよい。同様に、ビジュアライゼーションの追加、ビジュアルトリガの追加、グラフィック・エレメント又はディスプレイのブラウジング、及びイベントの追加のために他のダイアログボックスを利用してもよい。
【0078】
従って、当然ながらグラフィカル・エディタ50はグラフィック・エレメント固有プロパティの定義に対するサポート、グラフィック・エレメントビジュアライゼーションのサポートを提供する。当該サポートは、グラフィック・プリミティブもしくは形状を作成し、操作すること、特に変換アニメーション(回転、変換、拡大縮小及びスキューイング)やプロパティ・アニメーション(長さアニメーション、色アニメーションなど)などのダイナミック挙動を追加すること、及びダイナミック挙動の実行を起動する条件を定義すること、を含む。また、グラフィカル・エディタ50は、グラフィック・エレメントを順序化してxmlブロブとするためのサポートや、グラフィック・エレメントをカテゴライズしてグラフィック・エレメント・ライブラリを作成するためのサポートなど、データベースにグラフィック・エレメントを格納し、検索するためのサポートを提供する。更に、システムは、ユーザ定義カテゴリ又は設定にグラフィック・エレメントを格納する、このようなグラフィック・エレメントを固定もしくは保護する、グラフィック・エレメントをユーザ定義もしくは他の有用なカテゴリに格納する、グラフィック・エレメントをバージョン化するなども行う。
【0079】
いずれの場合でも、いったん作成されれば、グラフィック・エレメントはプロセスプラントのランタイム環境内のプロセス変数や他のデータとはバインディングされない形でグラフィック・エレメントデータベースに格納される。この格納されたグラフィック・エレメントは、必ずしも任意のディスプレイに使用されなくてもよく、このエレメントが、現在、ランタイム環境にダウンロードされ、プロセスプラント又はプロセス制御システム中の特定の実際のもしくはシミュレートされた物理的エレメントとバインディングされることができるなどのように利用することができる。バインディングされると、プロセス変数、設定点、流速などの、グラフィック・エレメントの固有プロパティはランタイム環境中のデータ参照と結び付けられバインディングされる。
【0080】
図13は、プロセスプラントもしくはプロセスプラント内で使用されるプロセス制御システムにおいてグラフィック・エレメントが実際の物理的構成要素もしくはエレメントと結び付けられもしくはバインディングされる方法を図示する。詳細には、各グラフィック・エレメント192は、基本的にエレメントに関するビジュアライゼーションを定義するXAML194、及び関連付けられたスクリプト196、アニメーション198、トリガ200、アクション202及びイベント204を含む。グラフィック・エレメント192は、XAML194に関連した、利用可能であるかもしくは開放され、XAML194に開示された全てのレファレンスをリストしもしくは含む参照表206を含む。参照表206は、基本的にグラフィック・エレメントのプロパティ及びパラメータのほか、スクリプト196、アニメーション198、トリガ200、アクション202及びイベント204によって使用される他の任意の変数又はレファレンスから構成され、もしくはこれらを含む。参照表206中の変数もしくはエンティティは変数、表、他のプログラムの表エントリ、もしくはプロセス制御システムの他の場所に定義された任意の他の形式もしくは種類のデータを参照しもしくはこれらに結合されていてもよい。
【0081】
図13に示すように、決定表208は、レファレンスもしくは変数を実際のプロセス制御環境もしくは他のランタイム環境と結び付けるために利用される。一般に、決定表208は直接もしくは別名を用いてレファレンスを定義してもよく、グラフィック・エレメント192が実際にはランタイム環境の特定のディスプレイに使用されるべく構成されランタイムマシンにダウンロードされる場合には、決定表208は当該グラフィック・エレメント192のために提示されもしくは作成される。決定表208は、ディスプレイ中のグラフィック・エレメント192の動作前もしくは動作間に別名及び他のパラメータを決定し、決定したデータコネクションを参照表206と結び付け、参照表206内の変数とプロセス制御システムもしくは他のランタイム環境中の実際のデータソースとをバインディングする。
【0082】
ランタイムにおけるプロセス制御システム内の処理電力の浪費を防止するため、処理電力を使用するグラフィック・エレメント及びグラフィック・ディスプレイは、いずれのディスプレイ画面にも表示されておらず、もしくは使用されていない場合は、ランタイム環境とバインディングされた状態で維持される必要はない。代わりに、グラフィック・エレメント192が実行されもしくはランタイム環境において画面に表示されている場合にのみ、決定表208はグラフィック・エレメント192の参照表206とバインディングされていてもよい。
【0083】
各グラフィック・エレメントは参照表206及び決定表208を利用してプロセス制御システムもしくはランタイム環境と結び付けられるため、また、グラフィック・エレメントがシステムレベルで作成され、ランタイム環境もしくはランタイムマシンにコピーされ、ロードされた後でバインディングが行われるため、グラフィック・エレメント192は異なるタイミングで、異なる用途で、異なるデータソースにバインディングされてもよい。また、グラフィック・エレメント192は、制御活動、メンテナンス活動、モデル化活動、シミュレーション活動、構成活動などと関連付けられたデータソースなど、図2の異なる機能エリア42内のデータソースを含む、任意数の異なるソースにより発生されもしくは任意数の異なるソースを介して利用できるデータとバインディングされていてもよい。
【0084】
例えば、図14に示すように、ディスプレイ・エレメント192は、大幅にタイプが異なるデータソースから発生されもしくは当該データソースから利用可能なデータと結び付けられてもよく、また当該データを表示しもしくは処理すべく利用されてもよい。これらのデータソースは、公知のDeltaV制御システムのような制御プログラムなどの制御環境データソース210、公知のOPC接続インタフェースを介して他のシステムとの接続を提供するOPCデータソース212、公知のAMSシステムなどのメンテナンスデータソース214、公知のオベーション(Ovation)システムなどの高レベルのシステムもしくはビジネスシステム216、そして競合制御アプリケーションなどの競合システム218を利用するデータソースさえも含んでいてもよい。このように、グラフィック・エレメント192は、任意のアプリケーションからのデータが同時に動作することを意図されていない競合システムと関連付けられたアプリケーションを含む広範なタイプのアプリケーションからのデータもしくは広範なタイプのアプリケーションから発生したデータである場合であっても、データを表示し、当該システム内の任意のアプリケーションからのデータを用いてもしくは物理的エレメントのビジュアライゼーションをシステムレベルで表示するために利用できる。従って、グラフィック・エレメント及びグラフィック・エレメントから作成されるグラフィック・ディスプレイはシステムレベルで作成されるため、これらは、異なるタイプのソフトウェアがプラント内の異なるハードウェアもしくはソフトウェア構成要素にアクセスしもしくはその上で実行される場合であっても、プラント内で発生していることのビジュアライゼーションを任意の目的で提供するために使用できる。
【0085】
グラフィック・エレメントがモジュール方式であることから、公知のもしくは十分サポートされたデバイス記述言語(DDL)で書かれたデバイス記述(DD)からグラフィック・エレメントを自動的もしくは半自動的に作成することが可能である。詳細には、デバイスの製造業者は一般に製造する各デバイスについて、当該デバイスと関連付けられたパラメータ、デバイスとの通信方法、デバイスリミットなどを定義するDDをDDLで提供する。その結果、グラフィック・エレメント作成アプリケーションは、デバイスのタイプや当該デバイスと関連付けられた重要なパラメータ、リミットなどを判断すべく、当該デバイスのためのDDをDDLで読み、これらのパラメータを当該デバイスのためのグラフィック・エレメントに固有のプロパティもしくはパラメータとして定義することができる。プログラムは、基本形状からなる複合体を当該デバイスのビジュアライゼーションとして選択もしくは定義し、DDからの情報に基づいて、あるいは当該デバイスのDDにより定義されるデバイスタイプのデバイスについて格納されたテンプレートに基づいて、当該デバイスの基本的なアクション及びアニメーションを提供するために使用する一以上の一般的なスクリプトを選択してもよい。必要に応じて、この過程において、プログラムは当該デバイスに関する情報の提供、もしくは当該グラフィック・エレメントで使用するアニメーション、ビジュアライゼーション、プリミティブなどについての選択をユーザに求めてもよい。
【0086】
グラフィック・エレメントをより完全で十分に定義されたものとするため、プログラムはセンサ、バルブ、モータ、タンクなどのタイプの異なるデバイスのために各種一般的なグラフィカル・テンプレートを格納してもよい。プログラムは、当該デバイスのDDにより定義されるデバイスタイプに基づいて、使用するテンプレート・グラフィック・エレメントを決定してもよい。必要に応じて、テンプレートはグラフィック・エレメントにおいて使用できる各種選択肢もしくはオプションを提供しもしくは有していてもよく、これらの選択肢はデバイスのDD中の情報に基づいて、あるいはユーザ入力に基づいて決定されてもよい。従って、例えばテンプレートはセンサなどのデバイスの各種サブタイプと関連付けられた各種固有のパラメータを提供してもよい。また、プログラムはDD中の情報に基づいてグラフィック・エレメントのために定義される固有のパラメータを決定してもよい。
【0087】
基本的な各種スクリプトはテンプレートの一部として提供されてもよく、ビジュアライゼーションのための挙動を提供すべく用いられてもよい。また、グラフィック・エレメントにおいて使用されるスクリプトは、デバイスタイプなどのDDに基づいて、あるいは、必要に応じてユーザへの質問に基づいて自動的に選択されてもよい。これらのリミットは、例えば正常すなわち定格動作速度、定義された超過速度又は速度不足状態もしくはリミットなどであってもよい。別の例として、デバイスがセンサである場合、センサの現在の検出値、センサの破損の有無を示すグラフィックなどと関連付けられたグラフィックを提供するためにセンサの高値及び低値を用いてもよい。
【0088】
このように、デバイスのためのDD中で定義されるようなデバイスタイプ及びデバイスの公知の特徴に基づいて当該グラフィック・エレメントのための一定の基本的なスクリプト、グラフィック・アニメーション、ビジュアライゼーション及び固有のパラメータを定義することによりデバイスがプロセスプラント内に設置されもしくは認識される際に、基本的なグラフィック・エレメントが当該デバイスに関するDDから自動的に作成されてもよい。このようにグラフィック・エレメントを自動作成することは、ユーザが新たに追加されたデバイスをグラフィックスに自動的に統合する助けとなり、デバイスに関してグラフィック編集を行う場合、ユーザが実行する作業が少なく、このためデバイスは、当該デバイスのためのDDがシステムにロードされると、少なくとも基本的なレベルにおいてグラフィック・ディスプレイ中で自動的にサポートされる。すなわち、ユーザはシステムに当該デバイスのDDを提供し、DDからデバイスのためのグラフィック・エレメントを作成するためにプログラムを実行することにより、デバイスのためのDDからグラフィック・エレメントを自動的に作成できる。その後、デバイスのためのビジュアライゼーションをモデル化しもしくは提供する一以上のディスプレイにおいて、このグラフィック・エレメントを使用することが可能となり、ユーザは当該デバイスのためのグラフィック・エレメントを手動で作成することなくデバイスをモデル化したり、あるいはデバイスをグラフィック・ディスプレイ中に表示したりすることができる。
【0089】
上述したように、いったん図3のグラフィック・エレメント74が多数作成されると、図3のディスプレイ76のような一以上のディスプレイを作成するためにグラフィカル・エディタ50を用いてもよい。実際、必要に応じて、ディスプレイ・エディタ50はユーザもしくは購入者に多数の事前構成グラフィック・エレメントを提供してもよい。事前構成グラフィック・エレメントは異なる産業もしくは異なる機能的用途などのためのビジュアライゼーションなど、当該ディスプレイ・エディタ50と関連付けられたビジュアライゼーションを有してもよい。次いで、グラフィカル・エディタ50はユーザがカスタム・エレメントを作成することを可能とし、またグラフィック・ディスプレイ76を作成もしくは構築することを可能とする。
【0090】
一般に、ディスプレイ76を作成するために、ユーザは、グラフィック・エレメント74のライブラリ及び他の視覚のエレメントから選択し、選択したエレメントを配置してディスプレイを構築する。グラフィック・ディスプレイの完成後、得られたデータ構造又はオブジェクトは、単一の定義付けエンティティとして定義される各種エレメント、固有プロパティ及びビジュアライゼーションの全てを有するディスプレイ・クラス・オブジェクトとして構成データベースなどのデータベースに格納されてもよい。但し、このディスプレイ・クラス・オブジェクトはプロセス変数との結び付きを解かれ、また任意のランタイム・ディスプレイで必ずしも使用されない。必要に応じて、このクラス・オブジェクトは、全てXMLエンティティとして格納され、結び付けられたビジュアライゼーション、スクリプトなどを有するXMLブロブとしてデータベースに格納されてもよい。その後、このクラス・オブジェクトから個々のグラフィック・ディスプレイが作成され、これらの個々のグラフィック・ディスプレイはオペレータ・ワークステーションもしくは他のランタイム環境に割り当てられ、ダウンロードされてもよい。
【0091】
ディスプレイがダウンロードされる際、ディスプレイ中のグラフィック・エレメント定義はAvalon制御に変換され、編集されてアセンブリをなし、ターゲットマシンすなわちランタイムマシンに配備される。それ自体がAvalonエンティティであるディスプレイは編集された制御アセンブリを参照し、加えてAvalon制御を制御もしくはメンテナンス・ランタイム・アプリケーションなどの後部データソースと接続するデータ・アダプタとして機能するカスタムデータソースが生成される。このように、グラフィック・ディスプレイ(並びに必要に応じて個々のグラフィック・エレメント)はある言語で作成され、別の言語もしくは形式(例えばXMLブロブとして)格納され、第三の言語もしくは形式(例えば実行可能な各種言語のいずれかで書かれたスクリプトに結合されたAvalon制御として)実行されてもよい。
【0092】
ここで図15を参照すると、ユーザが一以上のディスプレイを作成できる画面220がグラフィカル・エディタ50によって作成される。一般に、グラフィック・ディスプレイは、プラント内の物理的装置を表す相互に接続されたエレメントで構成され、これらの装置と関連する追加情報を含みもしくは表示してもよい。グラフィック・ディスプレイ中の各グラフィック・エレメントは、プロセス変数、定数もしくは他の外部の値と同じである固有プロパティのセットを含む。また、上述したように各グラフィック・エレメントは例えば色の変更やアニメーションなどの動的挙動を含むいくつかの視覚的表示を含んでいてもよい。更に、グラフィック・ディスプレイは、テキストやボックスなどの静的エレメント、ユーザが何らかの方法でディスプレイと対話することを可能とするユーザ・ダイナモ(Dynamos)、プロセスもしくは他の情報をユーザに表示できる可変ボックスを含んでいてもよい。
【0093】
グラフィック・エレメントのための図5の編集画面112と同様に、図15の例示的ディスプレイ・エディタ画面220は、グラフィック・ディスプレイが構築される主編集キャンバス224と、テンプレート・グラフィック・エレメント、プリミティブもしくは他のライブラリ・エレメントを表示し、これらの各種エレメントを選択して主編集キャンバス224にドラッグアンドドロップすることができるパレットセクション226とを含む。主編集キャンバス224は、ユーザがプリミティブもしくは複合体グラフィックの作成・編集のための対話を行うためのダイアグラム・ビューを提供し、特徴を編集・表示するベクトルグラフィックを提供する。エディタ50では、ユーザは、編集キャンバス224に現在表示されているディスプレイフレームの内側もしくは外側の無限の空間のいずれかの場所に、グラフィック・エレメントなどのグラフィック・オブジェクトを配置できる。従って、主編集キャンバス224は現在作成されている一部のディスプレイのみを表示し、ユーザがビューをパンすることでディスプレイの他の部分を表示させたり、ビューの拡大レベルを変えるためにズームイン及びズームアウトを行ったり、任意のタイミングにおいてディスプレイ上で作業を行う最も便利な向きとするためにビューを回転させたりしてもよい。但し、当然ながらグラフィック・オブジェクトの全ての描画及び操作は主編集キャンバス224上で完結する。描画の際の補助として、ビューのX−Y位置をルーラー227から読み取り、ツールバー228上のドロップダウン・リストに拡大レベルを表示し且つズーム・ポップアップ上のエントリを選択することで変更できるようにしてもよい。
【0094】
更に、画面220は、主編集キャンバス224中のエレメントの階層表示もしくはリストを表示する階層セクション230、キャンバス224において作成されているディスプレイと関連する、あるいはキャンバス224中のハイライトされたエレメントと関連するプロパティもしくはパラメータの一覧を表示するプロパティ・セクション232、異なるパラメータもしくは特徴がプロセス制御システムもしくは他の任意のランタイム環境中でエレメントとバインディングされる方法を表示しもしくは方法の一覧を示すバインディング・セクション234、を含む。更に、画面220は、キャンバス224で作成中のグラフィック・ディスプレイと関連付けられた各種ビューや層の一覧を示すツールバー236を含む。詳細には、任意の特定のディスプレイは、例えばオペレータ・ディスプレイ、メンテナンス・ディスプレイ、シミュレーション・ディスプレイ、モデル化ディスプレイ、エンジニアリング・ディスプレイ、ビジネス・ディスプレイなど、異なる状況において異なる人々によって使用され得る各種層もしくはビューを有していてもよい。図15の例示的画面220において、ツールバー236は、一般的な制御オペレータの視界を提供するオペレーション・ビュー(現在主編集キャンバス102に示される)、一般的なエンジニアの視界を提供するエンジニアリング/メンテナンス・ビュー、及び、作成中のディスプレイに表示されているプロセスプラントもしくはプロセスプラントの一部をシミュレートするために用いられるシミュレーション・ビューを提供するトレーニング・ビューとして図示された3つのビューもしくはレベルを含む。図15の主編集キャンバス224ではいずれのエレメントも選択されていなため、プロパティ・セクション232には作成中のディスプレイの現在の名称、幅や高さ、作成者が提供する記述、名称、背景記述及び作成者がディスプレイについて格納することを望む任意の他の情報、などのディスプレイ特徴が表示されている。同様に、図15の主編集キャンバス224には実際のエレメントが配置されていないため、階層セクション230にはディスプレイの名称のみが表示され、バインディング・セクション234にはバインディングは表示されていない。
【0095】
ディスプレイの作成中、ユーザは、パレットセクション226中で定義されるエレメントカテゴリのセットのうちの1つを介して当該エレメントにアクセスすることによって、グラフィック/エレメントなどのエレメントを主編集キャンバス224上に配置できる。図15の例では、パレットセクション226は主編集キャンバス224に配置することが可能で、且つ相互に接続されて完全なディスプレイを形成する、アクチュエータ・エレメント、演算及び制御エレメント、処理エレメント、プロパティ及び測定値、形状、ユーザインタフェース制御及びユーザ定義エレメントなど、異なるエレメントカテゴリを表示している。当然ながら、任意の他の種類及びカテゴリもしくはサブカテゴリの事前定義されたエレメントはパレットビュー226により提供されもしくはパレットビュー226によりアクセスされてもよい。この例では、アクチュエータはバルブ及び他のアクチュエータ・エレメントを含んでいてもよく、演算及び制御エレメントは、コントローラ表示、PID制御ループや他のタイプの制御ループなどの制御ループ、機能ブロック、制御モジュールなど、任意の制御関連エレメントを含んでいてもよい。処理エレメントは、図15に示すように、タンク、リアクタ、ミキサもしくは何らかの方法で材料を処理するその他のエレメント、並びに任意の他のタイプのデバイス、ユニットなどを含んでいてもよい。プロパティ及び測定値は、プロセス変数、警報など、ランタイム環境中のプロパティ又は測定値もしくは他のデータを表示すべく設計されたボックス又はディスプレイ・エレメントを含んでいてもよい。形状は、プリミティブもしくは他の事前定義された形状であってもよく、ユーザインタフェース制御は、当該ディスプレイへの入力を行うためにユーザがディスプレイ上で操作できるボタン、スライダ、ノブ、ツールボックスなどの各種ユーザインタフェース制御エレメントを含んでいてもよい。当然ながら、ユーザ定義エレメントは、グラフィック・エレメントからなる他の任意のグラフィック・エレメントもしくはより高レベルのエレメントなどの任意の事前定義されたエレメントも含んでいてもよい。場合によっては、ユーザ定義エレメントは、プロセスユニット、プロセスプラントエリアもしくは他のより高レベルのプロセス・エンティティを含んでいてもよい。上述したように、ユーザ定義エレメントへのアクセスは、エディタ50を使用しているユーザを識別することで制限されてもよく、また世界中からアクセスできるようにしてもよい。当然ながら、任意の他エレメント、形状なども、組織化された、ユーザが容易にアクセスできる形でパレットビュー226の任意の適切な見出しの下に配置することができる。
【0096】
ユーザが混合タンクなどのエレメントを主編集キャンバス224に配置すると、このエレメントは当該エレメントのためのデフォルト・ビジュアライゼーションを使用してキャンバス224においてレンダリングされてもよい。この場合、グラフィック階層セクション230はエレメントを表示し、図5に示した方法で当該グラフィック・エレメントと関連付けられたビジュアライゼーション、アニメーション、プリミティブなどの、当該エレメントのサブエレメントの階層を提供する。また、グラフィック・エレメントがランタイム環境とバインディングされていてもよいビジュアライゼーションもしくはアニメーションを含むキャンバス224に表示される場合、バインディング指示セクション234に現在定義されているバインディングが表示される。
【0097】
必要に応じて、ユーザは任意の所望の方法でグラフィック・エレメントを選択することで、主編集キャンバス224もしくはパレットセクション226のビジュアライゼーションを選択もしくは変更できる。ユーザはマウスポインタがエレメント上にある状態で右クリックすることでアクセス可能なドロップダウン・リスト又はボックスを使用するか、又は階層セクション230内の別のビジュアライゼーションを選択するか、もしくは任意の他の所望の方法で、このビジュアライゼーションの選択機能を実行してもよい。図16は、主編集キャンバス224の一部と画面220のパレットセクション226を示す。ここでは、垂直タンク(Vertical Tank)エレメント240が、パレットセクション226から主編集キャンバス224に配置されるところが示されている。垂直タンクエレメント240は、テンプレート又はパレットセクション226に示されるクラス垂直タンクエレメント241のコピー又は生成されたインスタンスである。但し、編集キャンバス224でディスプレイを作成する際に、垂直タンク240のために使用されるビジュアライゼーションとして、マウスポインタがビジュアライゼーション240上にあるときにマウスを右クリックすることでアクセスできるサイドバー242に示されるビジュアライゼーション1乃至8(Visualizations 1-8)を含む、垂直タンク240の更なるビジュアライゼーションが選択されてもよい。パレットセクション226に表示されるように、テンプレート・タンクエレメント241の可能なビジュアライゼーションを取得しもしくは視認するため、パレットセクション226のテンプレート垂直タンクエレメント241上で右クリックすることによって、同様のタイプのサイドバー表示243を取得してもよい。サイドバー242で異なるビジュアライゼーションを選択することにより、キャンバス224で使用されるタンクエレメント240のビジュアライゼーションが変更される。サイドバー243の異なるビジュアライゼーションを選択することにより、テンプレート・タンクエレメント241のためのパレットセクション226に格納されたデフォルト設定もしくはデフォルト・ビジュアライゼーションが変更される。
【0098】
ディスプレイ作成にあたりパレットセクション226からグラフィック・エレメント及び他のエレメントを選択することにまた、ユーザは、線などの基本的な描画ツール、正方形、矩形、円形、五角形などの形状、テキストなどを取得すべく図15に示されるツールバー228からアイテムを使用もしくは選択することができ、またディスプレイ中に線を描きもしくはテキストを追加するためにこれらの単純な描画ツールもしくはエレメントを使用することができる。更に、ユーザは、ツールバー228に示されるツールバーコネクタ・エレメント245を使用してキャンバス224内のディスプレイにコネクタ・エレメントを追加してもよい。コネクタ・エレメント245は、選択されると、例えば、ドロップダウンメニュー、ダイアログボックスなどを用いて、ディスプレイ中で使用されるコネクタのリストをユーザに提供してもよい。コネクタ・エレメントとして、パイプ、コンベヤベルト、電気ライン、流体フローライン、あるいはタンク、ミキサ、ポンプなどの実際のハードウェア・エレメントをバルブ、センサなどの別のハードウェア・エレメントに接続するための他のタイプのコネクタが挙げられる。このようなコネクタ・エレメント、及びバルブ、タンク、ポンプなどの異なる物理的装置の表示間にコネクタ・エレメントを設けることに関しては、特許文献1に詳しい説明がある(当該特許出願を参照によって本願明細書に援用する)。また、コネクタ・エレメントを用いることで、ユーザは作成中の、グラフィック・エレメントのための上述した異なるエレメントについて定義されたコネクタポイントと結合されたディスプレイ内の異なるエレメント間を相互接続することができる。例えば、パイプコネクタはパイプコネクタ・ポイントを有する別のエレメントへの取り付けに用いてもよく、ダクトコネクタはダクトコネクタ・ポイントを設けられたエレメントへの取り付けに用いてもよい。必要に応じて、エディタ50は、ユーザが、バルブやタンクの接続ポイントにより定義される適切なタイプのコネクタを有するバルブやタンクなどの異なるグラフィック・エレメントを接続することのみを可能とする、接続ルールを実施してもよい。当然ながら、接続エレメントの外観は、接続エレメントを用いて作成されているディスプレイに、よりよい外観及び雰囲気を与えるべく、接続タイプに基づいて異なっていてもよい。
【0099】
当然ながら、ツールバー228は、ベクトル描画ツール、及び典型的な「ファイル(File)」オプション(新規作成、開く、上書き保存、名前を付けて保存、閉じる、終了など)、「編集(Edit)」オプション(元に戻す、繰り返し、切り取り、コピー、貼り付け、削除など)、「検索(Find)」オプションなどの標準的なコマンドもしくは機能を含んでいてもよい。更に、ツールバー228は、グラフィック・エレメント固有プロパティを追加するために用いることのできる「プロパティ追加(Add Property)」機能、グラフィック・イベントを追加するために用いることのできる「イベント追加(Add Event)」機能、ユーザがビジュアライゼーションを追加することを可能とする「ビジュアライゼーション追加(Add Visualization)」機能、ダイアログボックスを開いて、作成するトリガについての情報をユーザが入力できるようにする「ビジュアルトリガ追加(Add Visual Trigger)」などのグラフィック関連コマンドを提供するメニュー項目を含んでいてもよい。また、メニューはフォーマット(Format)機能(例えばテキスト、線及び二次元・三次元画像のための「テキスト(Text)」、「線(Line)」及び「フィル(Fill)」プロパティに関連した設定)、及びオブジェクトをグループ化もしくはグループ解除する、前から後にオブジェクトの順序を選択する、垂直方向及び水平方向にオブジェクトを位置合わせするなどの「形状(Shape)」機能を設けてもよい。更に、ツールバー・メニュー228は、ユーザがオブジェクトにアニメーションを適用することを可能とする機能を提供してもよい。このようなアニメーションは、スキューイング、回転、もしくは形状の拡大縮小を行い、エレメントの回転もしくはフリップを行うべく、例えばエレメントの幅、色、形状などを動画化することでエレメントのプリミティブに対して、あるいはオブジェクトの一以上のエレメントに対して適用されてもよい。当然ながら、ユーザは、ディスプレイ内の各エレメントと関連するアニメーション及びアクションにアクセスすることができ、適切なダイアログボックスもしくは他のプログラミングツールを用いてこれらのアニメーション及びアクションを変更できる。
【0100】
当然ながら、ユーザもしくは設計者はディスプレイ・エディタ50を使用できる。詳細には、測定値、アクチュエータ及びプロセス機器を動的に示すことができる標準的な二次元もしくは三次元グラフィック・エレメントからなるグラフィック・ディスプレイを迅速且つ容易に作成するために図15の画面220とのインタフェース接続を行うことができる。また、制御及び演算と関連付けられた静的エレメント及びユーザ・ダイナモはディスプレイ中でサポートされ、提供されてもよい。更に、ユーザは、グラフィック・ディスプレイを異なるユーザが利用する場合のインタフェースに関する要求に対処するため、例えば、表示もしくは周辺情報がわずかに異なる同一のエレメントを用いてオペレータ・ディスプレイ、メンテナンス・ディスプレイ、シミュレーション・ディスプレイを作成することにより、層を定義してもよい。
【0101】
図17は、グラフィカル・エディタ50を使用して作成できる制御オペレータ・ディスプレイの形をとる、例示的ディスプレイのディスプレイ画面300を示す。ディスプレイ画面300は、ここでは流体フローラインであるコネクタ・エレメント316によってバルブエレメント312、及びポンプエレメント314と接続されたリアクタ・エレメント310を含む。流体フローもしくはストリームエレメント318は、画面300に表示されたプラントのセクションに出入りする材料のストリームを参照することを可能とする。当然ながら、ディスプレイ画面300中のグラフィックは個々のグラフィック・エレメントに関して上述した方法で開発された高決定グラフィック、アニメーション、アクション、ビジュアルトリガなどを含んでいてもよい。当然ながら、アニメーション、アクション、ビジュアルトリガ、流体フローエレメントなどを含む追加のグラフィックは、ディスプレイ・レベルで追加されてもよい。このように、アニメーション及びユーザアクションは、ディスプレイに組み込まれてもよい。例えば、この機能を利用して、モータがオンであるかトリップ(trip)されているか、バルブの動作状態や位置などのプロセス機器の状態を示すようプロセス機器の静的グラフィック構成要素を変更してもよい。更に、(例えば充填技術を用いて)充填されているタンクのレベルを示したり、動作を表示するディスプレイ変更(アニメーション)を通じてアジテータの状態を示したりするなど、装置に関連する動的データを示すためにアニメーションを利用してもよい。同様に、ディスプレイ300の外部で作成され、且つディスプレイ300の構成要素の動作に関連するプロセス・データもしくは他のデータを表示すべく画面300に配置されてもよい。
【0102】
所望により、ディスプレイ300は更に、ユーザがディスプレイ画面300との対話を通じてランタイム環境に関する追加的情報を視認したりアクションを起こしたりすることを可能とする方法でユーザが画面300とインタフェースで接続されることを可能とするダイナモあるいはユーザインタフェース・ボタン320A及び320Bを含んでいてもよい。場合によっては、これらの対話は、グラフィック・エレメントに関して上述したようにビジュアルトリガ又はアクションにより実施されてもよい。例えば、ボタン320Aは、冷却塔(Cooling Tower)の構造に関する情報の更なる表示をユーザに提供し、ボタン320Bはリアクタ310用のフェイスプレート・ディスプレイを提供してもよい。従って、ディスプレイ300は、場合により過去においては例えばIn-Tools、Auto-Cad、及びVisioなどのWindowsメタファイル、ベクトル描画、JPEG及びビットマップ画像フォーマットを含む多数の異なるソースからインポートされたグラフィックに基づいていた三次元構成要素を用いてプロセスもしくはプロセスの一部を構成する設備の部品を表示するエレメントのセットを含むが、現在、画面300は例えば回転、定寸、拡大縮小、スキューイング、色の変更などをエレメントレベルで実行するアニメーションを含んでいてもよい。これにより、より興味を起こさせ、現実的なアニメーションを提供し、従ってよりわかりやすいディスプレイを提供する。
【0103】
更に、ノブ、ダイヤル、スライドバー及びボタンなどの基本的なユーザインタフェース構成要素は、ディスプレイ300に示されてもよく、また制御システムもしくは他のランタイム環境中の情報もしくは制御と動的にリンクされていてもよい。また、データ・ビューエレメント又はダイナモは、制御機能、警報、イベントなどの測定値と関連付けられたキーパラメータを提供しもしくは図示してもよい。例えば、ダイナモは、制御ループパラメータに関連した情報を有する更なる画面を表示するために用いられてもよく、エンジニアリングユニットがダイナモにより表示される値のコンテキストを提供すべくダイナモの隣に表示されてもよい。制御ループと関連付けられたプロセス警報の状態は、制御パラメータ値の背景色の変更などの色の変更を通じてダイナモに反映されてもよい。また、ディスプレイのクラッタを除去するため、ループが設計された通常の動作モードでないという事実が色の変更を通じて表示されてもよい。当然ながら、このようなダイナモは、任意の標準に合致すべく実行されてもよい。
【0104】
ある例では、オペレータがユーザ・インタラクティブな構成要素又はダイナモにアクセスすると、スクリプトもしくは他のプログラムはフェイスプレート・ディスプレイもしくは制御パネルディスプレイなどの更なる画面又はディスプレイを引き出してもよい。その一例を図18に示す。例えば、ユーザが画面300に示されるボタン320Bなどのユーザインタフェース・ボタンにアクセスすると、リアクタ310用のフェイスプレートがオペレータに表示され、オペレータはリアクタ310に関する詳細を変更したり視認したりするためにこのフェイスプレートを使用してもよい。図18の例では、フェイスプレート情報350は、ユーザが画面300のボタン320Aを通じてアクセスすることができるリアクタ310のための制御ループ(FIG2#28/TC2-1と称する)と関連付けられている。フェイスプレート350の部分350Aを用いると、ユーザはボタン352(ボタン352の動作はアクションルーチンにより定義される)を使用してモード(カスケードから例えばマニュアルもしくはオートに)を変更したり、スライダ・ディスプレイ354上の動作パラメータの現在値を視認したり、矢印355を用いて制御ループと関連付けられた設定点を変更したりすることができる。また、ユーザはリミット及び表示セクション350Bの制御ループのチューニング・パラメータに関する情報を得ることができ、セクション356のシミュレーション機能を利用可能とすることができる。所望により、セクション350Aのボタン358を選択することで、セクション350Aのビューからセクション350Bを得ることもできる。同様に、ユーザは、傾向データや診断データなどの制御ループに関する更なる情報にアクセスでき、あるいは他のボタン358を介してループ・チューニング・プログラムなどの診断プログラムにアクセスし、これを実行してもよい。このように、ディスプレイ300上でユーザの実行したアクションや許可されたアクションに応答して、ディスプレイ300を介して任意の他の活動、画面及びアクションにアクセスできる。
【0105】
制御システムが装置の類似した部品の定義における別名の使用をサポートする場合、動的ディスプレイ構成要素はディスプレイ画面300において選択される装置の部品に基づいて動的参照をサポートすべく設計されていてもよい。この場合、表示オブジェクトの一部として一般に定義されるオブジェクトタグ又はグラフィカル属性の代わりに事前構成された別名及び属性を用いてもよい。類似する表示オブジェクトは異なるI/O位置に接続され、異なるグラフィカル属性、外観及びセキュリティを表示してもよいことから、この別名機能は高度な柔軟性及びリユーザビリティをサポートする。こうした機能によりプラント内の重複設備の異なる部品について類似のディスプレイ・オブジェクトや類似のディスプレイを作成し直す必要がなくなる。このように、プラント内の同一構成、同一用途の異なるハードウェア・ユニットに対して同一のグラフィック・ディスプレイを利用することができる。
【0106】
当然ながら図17のディスプレイ画面300はツールバーをサポートすべく設計されていてもよい。ツールバーは、画面300上部に表示されるツールバーのほか、あるいは画面300上部に表示されるツールバーを設けず、水平(ディスプレイ下部)及び垂直(ディスプレイ右側)のツールバーとしてもよい。所望により、日時表示、警報の認知や警報の停止に必要な警報ディスプレイへ直接アクセスできる警報リストの表示、警報サマリーディスプレイもしくはメニュー、メインメニューもしくは他の標準的なメニューもしくはディスプレイ、状態ディスプレイなどへのナビゲーションなどをサポートするデフォルト・ツールバーを設けてもよい。
【0107】
図19はより高度なディスプレイ、すなわちより多くのエレメント、接続、ユーザインタフェース・アクション、ダイナモ及び他のデータ参照と関連付けられたディスプレイ画面400を示す。詳細には、画面400は、空気及び他の燃焼燃料製品がポンピングされ、もしくはポンプ412、バルブ404及び窯バレル乾燥機408の入力406に対するコネクタ・エレメントに供給される、石灰窯装置の動作を示す。同様に、タンク409内のプロセス物質は、バレル乾燥機408を介して石灰を輸送するシートコンベヤ装置410から供給される。当然ながら、画面400に表示されたこれらの各エレメント及び他の装置は、個々に作成され、上述したように画面400中に配置され得るグラフィック・エレメントであってもよい。バレル乾燥機408の入力406は、画面400を見る人に対し窯装置の運転を明確に示すため、乾燥機408の運転中に火もしくは炎415を表す動画化されたグラフィック・エレメントを含んでいてもよい。更に、乾燥機408の様々な箇所における温度をダイナモ又は温度表示ボックス416で表示し、必要に応じてこれらの様々な箇所における温度は、火を表すアニメーションの色、乾燥機408又は他の任意の方法を介して表示されてもよい。同様に、フード圧、窯速度、全空気量、メタノール、入力、一次空気入力、二次空気入力、オイル入力及びガス入力などの他のプロセス・パラメータは、図19に示すようなパラメータ・ボックスで示されてもよい。ボックス内の変数の値はプロセス制御システム内の特定の参照と結び付けられ、もしくは特定の参照から取得される。当然ながら画面400には石灰窯装置の他の物理的構成要素も示されている。
【0108】
しかし、制御システムもしくは制御システム中のデバイスからのデータを処理する他のアプリケーションなど、ランタイム環境内の他のデータソースから取得できる他の様々な情報が画面400に表示されてもよい。このようなアプリケーションとして制御アプリケーション、メンテナンス・アプリケーション、診断アプリケーション、ビジネスアプリケーションなどが挙げられる。例えば、ディスプレイ画面400の上部中央部に、システム温度(℃)対時間を示す傾向グラフ420が表示され、データ履歴作成アプリケーションもしくは傾向アプリケーションと結合されて自動的にこのデータをプロットする。同様に、画面400の左側上部に、窯の利益、エネルギー使用量、生産率などのビジネス上の側面をトラックするビジネスアプリケーションにより提供されてもよい窯412の動作概要を提供するチャート422を表示してもよい。更に、ディスプレイ画面400上部のユーザインタフェース・ボタン424を選択することにより、過去の傾向、ヘルプ情報、窯の情報、制御上の制約、窯エネルギー及び他の情報など、ユーザにとって有用なその他の情報にアクセスできるようにしてもよい。また、警報バナー430もしくは他のバナーを画面400下部に表示し、警報アプリケーションと結合してもよい。当然ながら、ディスプレイ画面400のこれらのエレメント及び機能は全て、上述したディスプレイ・エディタ50の特徴を用いてディスプレイ上に表示されプログラムされてもよい。更にこれら及び他の機能は任意の所望の方法にてグラフィック・ディスプレイに結合されてもよい。また、より有用でわかりやすい視覚的情報をユーザに表示し、関連する情報をユーザが画面400からより直接的に視認することができるよう、画面400に任意の所望のアニメーション及びグラフィック・アクションを表示してもよい。
【0109】
このように、図19に示すように、コントローラ・サブシステムによりアクセスされるプロセス・エレメント、メンテナンス・アプリケーション、制御アプリケーション、診断アプリケーション、チューニング・アプリケーション及びビジネスアプリケーションの形態のアプリケーション、データ履歴作成アプリケーションなどのデータベースもしくは任意の他のデータソースからの過去のデータもしくは傾向データ、などの各種異なるデータソースからの情報を画面400に表示してもよい。また、ユーザがディスプレイにリンクを設けることで、画面400から他の情報もしくはディスプレイに直接アクセスしてもよい。このように、画面400により示されるディスプレイは、より多くの情報をより有用な方法でユーザに提供する。
【0110】
共通セットのグラフィック・エレメント、接続エレメントなどを用いて任意のグラフィック・ディスプレイを作成するためにエディタ50を利用できることから、ディスプレイ・エディタ50は類似のもしくは関連するディスプレイを容易に作成するために利用できる。このようなディスプレイは、同一セットのプラントハードウェアと関連付けられもしくは同一セットのプラントハードウェアを表示できるが、制御オペレータ用、シミュレーション用、メンテナンス用など異なる用途のためには当該ハードウェアに関する異なる情報を表示してもよい。この場合、プラントもしくはプラントの一セクションと関連付けられたハードウェア・エレメントを表示するための共通ディスプレイもしくはベース・ディスプレイを作成し、このベース・ディスプレイを用いて、別の用途もしくは別のユーザタイプについては別の情報を用いて別のディスプレイを作成してもよい。
【0111】
図20A乃至20Eは、石灰窯装置について作成された、同一構成の同一の基本的ハードウェア・エレメントを表示し、同一のビジュアライゼーションを利用しているが、異なる機能的用途のために異なる情報を追加したディスプレイを例示している。当該ディスプレイは、オペレータ・ビュー、エンジニアビュー、マネージャビュー、シミュレーション・ビュー及びメンテナンス・ビューを含む。上記のように、図20A乃至20Eの各ディスプレイは同一の基本的グラフィック・エレメントを使用する同一のディスプレイ・エディタにより作成されたため、外観及び雰囲気が同じであり、表示された情報についての理解と、それがプラント内のハードウェアとどのように関連しているかについての理解が維持されている間はナビゲートが容易である。
【0112】
詳細には、図20Aは、石灰、及び窯乾燥機508のコールド端506にポンプ504により原料を供給する泥(mud)供給源502(ストリームエレメントであってもよい)を有する窯装置のオペレータ・ビュー500を示す。コンベヤ510は窯乾燥機508の高温端512から被処理石灰を除去し、石灰をタンク514に入れる。製造ラインもしくはストリームエレメント516は、タンク514から供給された製品(石灰)の量を示す。同様に、燃料源ストリームインジケータ520からの燃料はバルブ522を介して窯乾燥機508の高温端512に供給される。インジケータの色によりバルブの動作を視覚的に表示してもよい。送風機524は、空気をポンピングし、ダクトコネクタ・エレメント526を介して窯乾燥機508の高温端512に送り、ここで空気が燃料と混合される。窯乾燥機508の動作状態を示すため、窯乾燥機508の高温端において火又は炎528などのアニメーションを表示してもよい。同様に、誘導ファン530は追加の配管532を介して窯乾燥機508のコールド端506から空気を引き出し、スタック・ストリームエレメント534により示されるようにこの空気をスタックに送信する。更に、例えばシステムの様々な部品の温度、窯乾燥機508のバレル速度、空気及び燃料の流量などの様々なプロセス・パラメータの値を示す各種変数又はパラメータ・ボックスが表示される。このハードウェア及びこれらの変数ボックスは、図20A乃至20Eの画面全体を通じて共通であり、これらのディスプレイの外観及び雰囲気を同一とする基本エレメントを提供する。
【0113】
但し、図20A乃至20Eの各画面は、プラント中で異なる機能に応じて設けられる追加情報、ユーザインタフェース・ボタン及びアクションを含む。例えば、図20Aの画面500はオペレータ・ビューであり、ボックス540に実験室試験で測定・推定・提供された残留炭酸塩量、ボックス542に窯の総エネルギー及び比エネルギーを示し、傾向グラフ544に最適動作を達成するための重要な要素であるモデル予測制御ルーチンによって提供される温度の過去の傾向及び将来の傾向を示す。更に、画面500は、ユーザが制御ループ情報、エレメントの更なる動作情報など、関連する項目に関する追加情報を視認できる各種ユーザインタフェース・ボタンもしくはダイナモ548を提供する。
【0114】
図20Bの画面550は、図20Aのビューときわめて類似しているエンジニアリング・ビューを示す。エンジニアリング・ビュー550は、制御において重要な測定位置や、基本制御システムとモデル予測制御システムが動作を最適化すべく協働する方法を示す信号パスを点線552で表している。図20Cの画面560は、窯装置の基本動作を示すものの、システムの個々の構成要素もしくは制御ループに関する追加情報を提供するユーザインタフェース・ボタンを設けていないマネジメント・ビューを提供する。また、マネジメント・ビュー560は、前日もしくは前月の実験室測定値から総エネルギー、比エネルギー及び残留炭酸塩量(未変換供給)を示すチャート562を含む。この情報は、例えばビジネス・コンピュータ上で実行されるビジネスアプリケーションから提供されてもよい。
【0115】
また、図20Dは、シミュレートする人がシミュレーションされたシステム内でパラメータを変更したり、シミュレーション結果を視認したりすることができるシミュレーション・ビュー570を提供する。シミュレーション・ビュー570は、例えばオペレータ訓練や、動作の異なる将来のモードのテストのために利用できる。図20Dに示すように、シミュレートする人は、画面570の一以上のユーザインタフェース・ボタンによりシミュレーションオペレータに提供される一以上のダイアログボックス570を介してパラメータを変更できる。プロセスのシミュレーション・ビュー570は訓練の際はオフライン状態とし、将来の課題を検出する際に有用となり得る追加情報を提供する際はオンライン状態としてもよい。装置のタイプや装置の接続は、オペレータグラフィックスの作成においてシミュレーション機能を有すスマートオブジェクト又はグラフィック・エレメントを使用した結果としてわかるため、プロセスシミュレーションはグラフィックスから作成できる。これらのスマートオブジェクトについては特許文献1に詳しい記載がある。
【0116】
同様に、図20Eは、窯装置内の装置の状態に関する情報、及び窯装置内の装置の状態への情報を提供するメンテナンス・ビュー580を示す。ビュー580では、装置の故障は装置が正常である状態を示す表示582及び584で示されてもよい。この場合、表示582及び584(図20Eではこの全てをラベリングしてはいない)は半円形であり、色を付けることで現在監視している装置の状態を表示しもしくは特定する。ビュー580において、表示584は最適な状態ではない装置を示す。当然ながら、これらの表示582及び584は、メンテナンス・アプリケーションもしくは診断アプリケーションから提供されてもよい。また、当然ながら、プロセスの問題が検出されると、メンテナンス技術者は画面580を利用して問題を掘り下げ、問題解決のための推奨手順を見出すことができる。例えば、目の詰まった泥フィルタを洗う必要があるとする。そのためには供給を停止し、窯をアイドルモードとする。これらの動作はビュー20Aのオペレータ・ビュー500から実行されてもよい。また、動作は上流側のプロセス問題から生じ得る過剰な砂に関する供給品質をチェックすることを認識する。よって、この一例で示すように、問題の検出及び解決などのような異なる機能間の様々な対話は、同じ外観及び雰囲気を有し、ナビゲートが楽な異なるビュー間で切り替えることで単純かつ容易に行うことができる。当然ながら、図20A乃至20Eの各種画面の情報はディスプレイ上で階層化されてもよく、あるいは必要に応じて、画面のユーザに基づいてのみ表示されてもよい。また、各エレメントもしくはスマートオブジェクトについて表示される情報は、ユーザもしくはユーザを識別することにより変更されてもよい。
【0117】
更に、図20A乃至20Eのディスプレイに対し追加のディスプレイが提供されたり関連付けられたりしてもよい。追加のディスプレイは、例えば、図21A及び21Bに示すような制御構成ディスプレイをであってもよい。図21Aの制御ディスプレイ585は、各種制御信号が図20A乃至20Eに示される窯装置の各種ハードウェア・エレメントに送られ、あるいはこれらのハードウェア・エレメントからコントローラに送られる方法を表示する。また、これらの制御エレメントと関連付けられたタグもしくは可変名称も表示される。21Bの制御ディスプレイ590は、図20A乃至20Eの窯装置の制御を実施する制御ルーチンを示す、制御モジュールを表示する。特には示されていないが、図21Aの制御表示585は画面20A乃至20Eの同一エレメントを使用して(これらのエレメントと関連付けられた同一もしくは異なるビジュアライゼーションにより)作成されてもよいし、別のエレメントを使用して作成されてもよい。同様に、図21A及び21Bのディスプレイ585及び590はディスプレイ・エディタ50を使用して作成されてもよいことから、これらのディスプレイは上述したグラフィック機能もしくはアニメーション機能を備えていてもよい。また、制御ディスプレイ585及び590は、例えば図20Aのオペレータ・ビュー500を介して、オペレータ・ビュー500上のユーザインタフェース・ボタン548を通じてアクセスされてもよい。これによりオペレータはオペレータ・ビュー500から現在の制御設定に容易にアクセスできる。
【0118】
このように、上記説明よりわかるように、関連付けられた各種ディスプレイがエディタ50により作成でき、これらのディスプレイは多くの方法で階層化され得る。すなわち、ディスプレイは関連するビュー、すなわちオペレータ・ビュー、ビジネス・ビュー、シミュレーション・ビュー、メンテナンス・ビュー及びエンジニアリング・ビューを提供すべく上述のごとく階層化されてもよい。これらのビューは相互に容易にアクセスできる。更に、プラントの特定の階層的構造、論理的構造もしくは物理的構造を反映した方法にて異なるディスプレイを階層化しあるいは結び付けてもよい。従って、ディスプレイはプラントの異なる物理的エリアもしくは地理的エリアに作成されてもよい。よって、プラントの主要エリアを表示する1つのディスプレイを作成し、プラントの各エリアにおける例えば装置ベースの基本構造を示す追加的ディスプレイを作成してもよい。また、各装置について更に別のディスプレイを作成してもよい。いわばユーザはプラントのより小さいセクションと関連付けられた更なる詳細をディスプレイを通じて掘り下げることができる。別の例として、プラントの異なるセクションもしくは部分に関するディスプレイをユーザインタフェース・ボタンと結び付けることができ、これによりオペレータはプラントの物理的に結び付けられた別々のセクションもしくはプラント構成要素を論理的に視認すべく、異なるディスプレイを容易に前後にスクロールすることができる。
【0119】
このタイプの階層化は、図22の図によって更に詳細に説明される。すなわち、一般的もしくは全体的なプラント概要ディスプレイ600は、プラント全体の基本レベル構造もしくは高レベル構造を表示するディスプレイを提供してもよい。但し、プラント概要ディスプレイ600はプラントの任意の特定のセクションもしくは部分に関する更なる詳細は提供しない。ユーザはプラントのエリアAに関する一以上のディスプレイ602又はプラントのエリアBに関する一以上のディスプレイ604を引き出すべく、プラントの任意の特定のセクションもしくはプラントのエリアを選択し(ユーザインタフェース・ボタンを使用する)あるいは当該エリアまで掘り下げることが可能である。図22に示すように、エリアAはエリアAに関連付けられたn個の別々のディスプレイを有していてもよい。これらのディスプレイは全て、プラントの当該エリアを通じたプロセスフローあるいはプラントのエリアAと関連付けられた何らかの別の論理的構造を反映すべく、論理的に相互に順次接続されている、602a、602b、...602nとラベリングされたエリアAのn個のディスプレイには、ユーザがあるディスプレイから次のディスプレイへスクロールを行うことができる方法でページごとに前後に進むタイプのアクションによりアクセスすることができる。このように、ユーザは、オペレータにとっても意味をなす方法で、ディスプレイを介してエリアAのあるセクションからエリアAの他のセクションに容易にスクロールすることができる。また、図21に示すように、オペレータは、ディスプレイ602a乃至602nのうち別々のディスプレイから事前定義された情報又は他のディスプレイ情報を得ることができる。従って、オペレータは、エリアAのディスプレイを見ているとき、ディスプレイ602a中のキーパラメータの事前定義された傾向を表示する更なるディスプレイ610を見ることもできる。同様に、ディスプレイ602bを見ているとき、オペレータはスタートアップ及びシャットダウン手順に関する情報を有するドキュメント612のリストにアクセスしてもよい。当然ながら、ユーザは、ディスプレイ602a、602b、その他の間で前後にスクロールすることができる。
【0120】
同様に、m個のディスプレイ604a乃至604mを含んで示されるエリアBを見ているとき、ユーザはディスプレイ内の前進もしくは後退(次もしくは前)ボタンを用いて詳細度のレベルが等しいディスプレイ間をスクロールできる。これによりオペレータもしくは他のユーザは、当該プロセスの表示されたセクションの上流もしくは下流の情報を含むディスプレイにアクセスすることができる。更に、現在のディスプレイ内のエレメントと関連付けられた他の情報を取得するため、別のディスプレイにアクセスすることができるダイナモ又は他のユーザインタフェース・ボタンが提供されてもよい。これらのツールを用いると、ディスプレイ階層を作成することができる。ディスプレイ階層から、概要ディスプレイを用いて各プロセスエリアのキーディスプレイにアクセスできる。
【0121】
また、図20A乃至20Eに示すように、ディスプレイはプラントの同一セクションもしくは部分に関して存在し、例えばオペレータアクション、メンテナンスアクション、シミュレーション・アクション、ビジネスアクション、エンジニアリング・アクションなどの異なる機能的目的のために使用される多数のディスプレイを階層化してもよい。これらの別々の機能的ディスプレイは、図22ではディスプレイ602a、602bなどの下で階層化表示されており、所望により相互にアクセスできる。従って、オペレータもしくはユーザがビュー602aを見ているとき、ユーザはメンテナンス・ビュー、シミュレーション・ビュー、ビジネス・ビューなど、プラントの当該セクションに関する他の機能的ディスプレイとの間でビューを切り換えたり、他の機能的ディスプレイにアクセスしたりすることができる。当然ながら、同一の基本的ディスプレイ・エレメントを用いてメンテナンス・ビュー、オペレータ・ビュー、シミュレーション・ビューなどをこのように階層化することで、これらのビュー間での切り換えが容易となり、プラント内の異なる機能に対して、プラント内で起こっていることをよりよく理解できるようになる。
【0122】
この別の機能を実施するにあたり、グラフィック・ディスプレイは当該グラフィック・ディスプレイに関して意図された役割(もしくは機能)の表示を含んで作成されてもよい。このような役割として、例えばフェイスプレート・ディスプレイ、詳細ディスプレイ、一次制御ディスプレイ、概略ディスプレイ、メンテナンス・ディスプレイ、ビジネス・ディスプレイ、シミュレーション・ディスプレイあるいは任意のユーザ定義による役割が挙げられる。この役割はディスプレイの一部であり、グラフィック・ディスプレイがランタイム間に当該ディスプレイの用途及び当該ディスプレイへのアクセスを定義するため制御モジュールもしくはハードウェア・デバイスに割り当てられる際に使用されてもよい。グラフィック・ディスプレイに割り当てられた役割の表示は、あるディスプレイが構成システムもしくはプラントのどのセクションに割り当てられるかを表示するために使用されてもよい。また、この役割情報は、特定のユーザがどのディスプレイにアクセスするかをそのユーザが実行するジョブに基づいて決定するために使用されてもよい。例えば、制御オペレータは、シミュレーション・ディスプレイもしくはビジネス・ディスプレイとして定義されるグラフィック・ディスプレイを見たりアクセスしたりする可能性が少ない。
【0123】
上述のグラフィック・ディスプレイ機能は、重要な装置の状態を容易に監視できるよう、特別なディスプレイを作成するために用いることもできる。このようなディスプレイ例として、装置のシャットダウン、振動監視、バーナ管理、煤煙換気装置の動作、及び安全システム状態に関するファーストアウト表示が挙げられる。当然ながら、関連付けられたディスプレイは情報を要約すべく作成されてもよい。例えば煤煙換気装置などの作動中の装置がアニメーションを含む場合、アニメーションは事実上オペレータが当該システムの動作に迅速にアクセスするか動作を迅速に理解することを可能とすべく用いられてもよい。更に、大部分の制御システムの演算機能は作業コストや作業効率などの計算をオンラインで行うために利用することができる。このような情報はオペレータのグラフィック・ディスプレイに容易に組み込むことができ、オペレータはこの情報を用いてプロセス動作を改善することができる。また、様々な技術を用いてサブシステム情報を制御システムに統合してもよい。これにより、より高いレベルのディスプレイからサブシステム情報へのアクセスを可能とすべく標準的なグラフィックス及びダイナモを用いてオペレータ・ディスプレイを作成することができる。場合によっては、情報(例えば、シートゲージング情報)を表示するためにマトリクス値の3Dプロッティングを行ってもよい。
【0124】
また、グラフィック・エレメント及びディスプレイは、柔軟性及び速度を提供すべくMicrosoft社のAvalon制御などのベクトルグラフィックスを用いて実行されると有利である。ベクトルグラフィックスを使用すると、作成中のディスプレイを拡大・縮小したり、特定のディスプレイマシンに合わせてサイズを変更したり、拡大縮小を用いるアニメーションを提供したりすることを可能とする拡大縮小が可能なグラフィックスが利用できる。
【0125】
一般に、また「各プロセス・グラフィック・ディスプレイとそこに含まれるグラフィック・ディスプレイ・エレメントの作成(The Creation of Each Process Graphic Display, and Graphic Display Element Contained Therein)」と題された本願の同時係属出願に詳細な記載があるように、第一の宣言的フォーマットで説明される各テキスト記述に記録される。各記載のスクリプトコマンドは、レンダリングされるグラフィックスは複雑となるが、ディスプレイを定義するための効率的・非メモリ集約的機構を提供する。宣言的フォーマットならびにスクリプトコマンドは、多くの異なるマークアップ言語の任意の一つに基づいていてもよい。より詳しくは、XMLに基づくマークアップ言語は、各ディスプレイ及びディスプレイ・エレメントについてレンダリング定義(XMLブロブとも呼ばれる)を説明する際に利用できる。これらのディスプレイ及びエレメントがプロセスランタイム環境にダウンロードされる前に構成ライブラリもしくはデータベースに格納される際にXMLブロブが利用されてもよい。アニメーションなどの高度なグラフィックスをサポートするため、ベクトルグラフィックス方式に従ってマークアップ言語を用いてこのようなグラフィックスを定義してもよい。
【0126】
上記のように、また「プロセスプラント・ユーザインタフェースにおけるマークアップ言語ベースの動的プロセス・グラフィックス(Markup Language-Based, Dynamic Process Graphics in a Process Plant User Interface)」と題された本願の同時係属出願(当該出願を参照によって本願明細書に援用する)に詳細な記載があるように、プロセス・グラフィックスの動的性質は、オンラインもしくはシミュレーション条件の変更に伴ってプロセスプラント・パラメータの現在の値を反映すべく設計される。この目的のため、プロセス・グラフィックスはこのような変更を反映しているデータのデータソースとリンクされていてもよい。従って、XMLベースの各記載は、一般に当該データに応じて変更される各動的グラフィック・パラメータ(例えば、タンク内部の色の変更)についてデータソース位置を識別する一以上のデータソース参照を含んでいてもよい。また、データソース位置は、エディタを介した構成の間、後で特定されるべく開いたままとされてもよい。これによりスクリプトは後で特定されるデータソースもしくは経路情報を参照するための別名もしくはプレースホルダを識別する。プロセス・グラフィック・ディスプレイ(例えばイベント処理などの挙動)のデータソース情報及び他の特徴がXMLベースの記載により特定されるため、XMLベースの言語はPGXMLすなわちプロセス・グラフィックスXMLと呼ぶことができる。
【0127】
プロセス・グラフィック・ディスプレイ及びその構成エレメントを定義するための構成及び設計作業が完了すると、構成エンジニアもしくは他のユーザは、プロセス・グラフィックスをオペレータ・ワークステーションもしくは他のユーザディスプレイデバイスにダウンロードするための準備としてPGXML記述を選択・処理してもよい。一般に、グラフィック・ディスプレイ及びディスプレイ・エレメントの各PGXML記述は、(i)使用されるグラフィックス・レンダリングエンジンを有するベクトルグラフィック形式と互換性のあるスクリプト、(ii)ディスプレイのデータソース参照及び他の任意の非グラフィックス機能(例えば挙動)を特定する指示を有するコード、を生成すべく処理される。スクリプトのベクトルグラフィック形式は、宣言的もしくはXMLベースの言語であってもよい。Microsoft社のAvalonユーザインタフェース・アーキテクチャを利用する実施形態では、ベクトルグラフィック・スクリプトは、Microsoft社のXAMLで記述されてもよい。他の実施形態はオープンソースフォーマット、SVG(拡大縮小自在のベクトルグラフィック)を利用してもよい。コードはC#もしくは他の任意の適切なプログラム言語で記述されてもよい。
【0128】
ある実施形態では、次いでベクトルグラフィック・スクリプト及び関連するコードが結び付けられ、オペレータ・ワークステーションもしくは他のユーザディスプレイデバイスに関して実行可能コマンドを記載したファイルにコンパイルされる。この目的では、各プロセス・グラフィック・ディスプレイ及びグラフィック・ディスプレイ・エレメントについてそれぞれのダイナミックリンクライブラリ(DLL)ファイルが作成されてもよい。いずれの場合でも、ベクトルグラフィック・スクリプト及び関連するコードのこのようなコンパイル作業は、ネットワークデータ・トランスミッション要求を最小化する目的でダウンロード前に実行されてもよい。
【0129】
いったん作成されると、グラフィック・エレメント及びグラフィック・ディスプレイは汎用もしくはテンプレート・オブジェクトとして構成データベースに格納されてもよく、ランタイム環境で使用される前にクラス・ベースあるいは非クラス・ベース・オブジェクトもしくはエレメントとして格納されてもよい。一般に、本願明細書に記載されたグラフィック・エレメント及びグラフィック・ディスプレイは、特許文献3(当該特許公開を参照によって本願明細書に援用する)に記載があるように、ディスプレイ・モジュールの形式のモジュールとしてもよい。クラス・モジュール(オブジェクト)は、プロセスプラントもしくはプロセス制御システムの特定のハードウェアもしくはデバイスとバインディングされすなわち結び付けられていないクラス・モジュール(オブジェクト)であるが、このオブジェクトからプロセスプラントもしくはプロセス制御システムとバインディングされた他のオブジェクトのインスタンスを生成してもよい。一般に、プロセスプラント、及び詳細にはプロセスプラントのランタイム環境を構成するため、図1の構成ワークステーション20に示される構成アプリケーション33のうちの1つのような構成エンジンを用いて、グラフィック・オブジェクト(グラフィック・エレメント及びグラフィック・ディスプレイを含む)をプロセスプラント内の他の論理的エンティティ及び物理的エンティティと関連付けてもよい。エンティティとしては、制御モジュール、装置モジュール(例えば、ユニットモジュール)、プロセス・モジュールなどの論理的エンティティもしくはオペレータ・ワークステーションもしくは他のディスプレイデバイスなどの物理的エンティティが挙げられる。場合によっては、グラフィック・オブジェクトはクラス・オブジェクトであってもよく、装置モジュール・クラス・オブジェクト又は制御モジュール・クラス・オブジェクトなどの他のクラス・オブジェクトと関連付けられていてもよい。また。グラフィック・オブジェクトは個々のオブジェクトであってもよく、また、プロセスプラント内の装置とバインディングされ、例えばコントローラ、ワークステーションもしくはプロセスプラント内の装置の他の部品にダウンロードされたオブジェクトのようにインスタンスを生成されたオブジェクトであってもよい。
【0130】
このように、上記グラフィック・エレメント及びグラフィック・ディスプレイは、特許文献3に記載されるように、他のクラス・オブジェクトがライブラリに格納されライブラリ内で構成され、プロセス制御システムの種々のセクションもしくはサブセクションにダウンロードされる場合と同様の方法にてプロセスプラント構成システム内で構成され、プロセスプラントのランタイム環境においてハードウェアにダウンロードされてもよい。すなわち、図1のデータベース28のような構成データベースのデータに関して動作する構成エンジンは、図23及び図24に示されるような構成データベース階層(例えば図23及び24において、例示される)を利用する。これによりユーザはプロセスプラントの構成を視認し、変更することができる。図23の構成階層画面700では、制御システム702(DeltaV制御システムとしてラベリングされている)のための構成データベースがライブラリ(Library)セクション704、システム構成(System Configuration)セクション706及び結果検索(Search Results)セクション708を含む。
【0131】
ライブラリセクション704は、ランタイム環境に割り当てもしくはダウンロードされず、テンプレートもしくは汎用及びバインディングされていないオブジェクトとして格納されたクラス・オブジェクト及び他のオブジェクト定義を含む。図23に示すように、ライブラリセクション704は制御モジュール(Control Modules)セクション710、デバイス(Devices)セクション712、プロセス・モジュール(Process Modules)セクション714及びオペレータ・インタフェース(Operator Interface)セクション716、並びにバッチ(Batch)セクション及び安全指示システム(Safety Instrument Systems)セクション(参照数字により表示されていない)を含む。
【0132】
制御モジュールセクション710が拡張されていないが、構成データベースのこのセクションは一般に、プロセスプラント内の各種コントローラ及び他の制御デバイスで使用されるべくプロセスプラントのために作成された制御モジュール・テンプレートや制御モジュール・クラス・オブジェクトなどの異なる制御モジュールを含む。また、デバイスセクション712は、例えばプロセスプラント内で使用されているバルブ、センサ、コントローラ、ワークステーションなどの実際のデバイスもしくはデバイスタイプの表示、並びにプロセスプラント内の異なるデバイスもしくはハードウェアと関連付けられた論理的エレメントを定義するデバイスクラスオブジェクト、装置クラス・オブジェクトなどの表示を含む、デバイスオブジェクトの表示を含む。また、プロセス・モジュールセクション714はプロセスプラントのために作成される各種プロセス・モジュールを含む。各種プロセス・モジュールは、これらのプロセス・モジュールについて定義されるプロセスモジュール・テンプレート及びプロセスブロック定義を含む。このようなプロセス・モジュールについては特許文献3に詳しい記載があるので、本願明細書では説明を省略する。
【0133】
しかし、図23に示されるように、構成階層700のオペレータ・インタフェースセクション716には上記グラフィック・オブジェクトと関連付けられた情報が格納される。すなわち、グラフィックスセクション720はシステムのために作成される各種グラフィック・エレメント及びグラフィック・ディスプレイを定義する各種複合的プロセス・グラフィック定義、グラフィック・クラス・オブジェクト及びグラフィック・テンプレートを含む。なお、一般に複合的プロセス・グラフィック定義セクションは、システムのために作成されたグラフィック・エレメントを含み、プロセスグラフィック・クラスセクションは上述の方法で作成されたグラフィック・ディスプレイをクラス・オブジェクトとして含む。一方、プロセス・グラフィック・テンプレートは非クラス化ベースのディスプレイを含んでいてもよい。一般に、構成データベースのこのセクションに格納されるグラフィック・オブジェクトは他のオブジェクトの作成に用いることもでき、グラフィック・エレメント及びグラフィック・ディスプレイがプロセスプラント内の各種ハードウェア及びソフトウェアとバインディングされる方法を定義すべく構成プロセスの間に用いることもできる。また、オペレータ・インタフェースセクション716の下のレイアウト(Layout)セクション722はオペレータ・インタフェースに関する様々なレイアウトを定義する。役割(Roles)セクション724は、オペレータ・インタフェース上で実施され得る各種役割のほか、グラフィック・ディスプレイ及びエレメントのそれぞれによって実行される役割を定義する。
【0134】
従って、構成階層700で示すような構成データベースは、グラフィック・エレメントとグラフィック・ディスプレイを汎用テンプレート、クラス・オブジェクト、あるいは特定の又は個々のエレメントもしくはディスプレイとして格納するセクションを含んでいてもよい。特定の又は個々のエレメントもしくはディスプレイは特定のプロセス・エンティティとはバインディングされていないものの、特定のプロセス・エンティティとバインディングされるエレメントもしくはディスプレイを定義するために利用できる。一般に、構成エンジニアもしくは他のユーザは、階層700を利用して、後述する方法でグラフィック・ディスプレイ機能を有するようプロセスプラントを構成してもよい。
【0135】
図24は、システム構成の一部として、プロセスグラフィック・エレメント及びグラフィック・ディスプレイがプロセスプラントの各種論理的及び物理的エンティティと関連付けられる様子を示すべくシステム構成セクション706が拡張された階層画面730を示す。特にシステム構成セクション706の下のプロセス・グラフィックス(Process Graphics)セクション734は、一般にランタイム環境で使用されるためにプロセスプラントにダウンロードされている各種グラフィック・ディスプレイを定義する。プロセスグラフィックスセクション734にはフェイスプレート・ディスプレイ、オペレータ・ディスプレイ、詳細ディスプレイ、メンテナンス・ディスプレイ、シミュレーション・ディスプレイなどが含まれ、一般に、プロセスグラフィックスセクション734のグラフィック・ディスプレイ及びエレメントは、プロセスグラフィックスセクション734がシステム構成全体に適用されると、プロセスプラント内の各ディスプレイユニット(例えばワークステーションやその他のディスプレイデバイス)にダウンロードされる。しかし、グラフィック・エレメント及びディスプレイはダウンロードされる代わりにシステム構成の制御ストラテジ(Control Strategies)セクション736や物理的ネットワーク(Physical Network)セクション740などの特定のセクションと関連付けられてもよい。これにより、これらのグラフィック・エレメント及びディスプレイが利用できるディスプレイデバイスが制限される。
【0136】
一般に、制御ストラテジセクション736は、プロセスプラントの異なる物理的セクション及び論理的セクションに割り当てられた各種制御ルーチン、あるいはこれらのセクションに関して実施されるストラテジを定義する。各種グラフィック・ディスプレイ(ここでも、フェイスプレート・ディスプレイ、制御ディスプレイ、メンテナンス・ディスプレイなど、任意のタイプのディスプレイとしてよい)が、例えば制御モジュール(Control Module)セクション746などのエリアに割り当てられたモジュールを処理するため、またプロセス・モジュール748などのエリアに割り当てられたモジュールを処理するため、制御ストラテジセクション736の例えばエリア(例えばArea#A742及びArea#B744と称されるエリア)などの特定のサブディヴィジョンもしくはサブカテゴリに割り当てられてもよい。従って、図24に示すように、ディスプレイセクション750がArea#Aセクション742と関連付けられ、これはプラントのArea#Aについて、またArea#Aにおいて用いられる全てのディスプレイを定義する。故障していなければ、これらのディスプレイからアクセスできる様々なサブ画面と同様に、フォルダ750の下のディスプレイはArea#Aの異なるセットのハードウェアと関連付けられた、図22の異なるディスプレイ602a乃至602nのような様々なディスプレイのほか、図22のディスプレイ610及び612のような、これらのディスプレイからアクセス可能な各種サブディスプレイを含んでもよい。ディスプレイについて定義される役割は、これらのディスプレイが相互からあるいはディスプレイデバイスを使用しているオペレータにアクセスできる方法を示してもよい。従って、図22について述べたように、ユーザはプラントのArea#Aの異なる部分を見たり、高レベルのディスプレイでは詳細が表示されない高レベルのディスプレイの特定部分のより詳細なディスプレイなどの、任意の特定領域に関する詳細を見たりするためにセクション750のディスプレイをスクロールしてもよい。
【0137】
また、制御モジュールセクション746の下のディスプレイ(Display)アイコン752で示されるように、Area#Aセクション742内の特定の制御モジュールにディスプレイを割り当ててもよい。この場合、ディスプレイ752は、制御モジュール・ループ(LOOPと称される)と関連付けられ、当該特定の制御ループと関連付けられた制御オペレータ・ディスプレイであってもよい。また、ディスプレイについて定義された役割は、制御ディスプレイの一部としてオペレータステーション内でその役割を表示してもよい。また、Area#Bセクション744に関して示すように、一般にディスプレイ754はエリアと関係していてもよく、一方ディスプレイ756はエリアに割り当てられる特定のプロセス・モジュールと関連付けられていてもよい。この場合、ディスプレイアイコン756はArea#Bの装置と関連付けられるプロセス・モジュールである、PMOD2と称されるプロセス・モジュールと関連付けられる。PMOD2は、例えばユニットモジュールもしくは装置モジュール、あるいは任意の他のタイプのプロセス・モジュールであってもよい。
【0138】
このように、一般に制御ストラテジセクション736の下に示されるように、構成システム内で特定の制御定義が作成されると、ディスプレイは特定の制御ストラテジもしくは制御定義と関連付けられてもよい。図24の例に示すように、ディスプレイは例えばエリアセクション742及び744のようなエリアベース、制御モジュール750のような制御モジュールベース、あるいはディスプレイセクション756により示されるようなプロセスモジュールベースで、定義された制御定義と関連付けられていてもよい。また、必要に応じて、装置アイテムは役割と関連付けられ、これによりこれらの役割と関連付けられたディスプレイへの装置エレメントによる動的なアクセスが可能となる。このような装置役割及びディスプレイは、プロセスグラフィックスセクション734に格納されてもよい。
【0139】
また、ディスプレイはオペレータ・ワークステーションや他のディスプレイデバイスなどの、プロセスプラント内の実際のハードウェア・エレメントに割り当てられもしくは関連付けられることができる。従って、物理的ネットワークセクション740の下に示されるように、特定のディスプレイが特定のオペレータ・ワークステーションや、ディスプレイを有する他のランタイムマシンに割り当てられてもよい。図24の特定の例では、物理的ネットワークセクション740は、CTLR1と称されるコントローラ、構成ステーションとしてもよいProPlusステーション、オペレータステーション(Operator Station)762と称されるオペレータ・ワークステーションなどの、関連付けられたハードウェアを有する制御ネットワーク(Control Network)760を含む。プラント内の特定のワークステーションもしくはユーザインタフェースを定義しもしくはこれらと関連付けられたオペレータステーション762は警報及びイベント機能、オペレータ活動、連続履歴作成機能及びこれらと関連したシミュレーション活動を含む。但しメンテナンス活動、ビジネス活動などその他の活動又は機能が関連付けられていてもよく、任意の特定のユーザインタフェース上で実行されてもよい。このように、特定のユーザインタフェースがプロセスプラント内の役割に割り当てられてもよく、あるいは特定のユーザインタフェースが当該ディスプレイデバイスに格納されもしくはダウンロードされる役割に関するディスプレイを有していてもよい。
【0140】
図24に示したように、ディスプレイ764及び766は、オペレータ機能又は活動のほか、ワークステーション762で実行されるシミュレーション機能又は活動にも割り当てられる。図24には示されていないが、ディスプレイは例えばプロセスプラント内の他のノードと関連するディスプレイデバイスなど、他のディスプレイデバイスに割り当てられ、これらのディスプレイデバイス上で実施されてもよい。更に、オペレータ・ワークステーションもしくは他のランタイムディスプレイマシン内の特定の機能にディスプレイを割り当てることで、オペレータ機能、シミュレーション機能、メンテナンス機能など、これらのディスプレイがランタイム環境内で実行し得る役割もしくは機能を決定できる。当然ながら、これらの各種機能は構成システムが設定した方法で、同一のディスプレイデバイスもしくは別のディスプレイデバイス上で実行され得る。また、構成階層730ではオペレータ・ワークステーションに割り当てられたディスプレイを示しているが、ディスプレイはPDA、電話デバイス、ビジネスワークステーションなどハンドヘルド・コンピュー
タ・ディスプレイデバイスのほか、他の任意の所望のタイプのディスプレイデバイスのような、他のタイプのディスプレイデバイスに割り当てられてもよい。
【0141】
構成エンジンは、構成エンジニアなどのユーザが構成階層を利用し、プロセス・グラフィック・ディスプレイがプロセスプラント内でバインディングされダウンロードされる方法を定義し、管理することを可能とする。一般に、構成エンジニアなどのユーザは、ユーザが他のオブジェクトに対して行うことができる方法と同じ方法で、構成システム内のディスプレイ・オブジェクトの作成、削除、名前の変更、割り当て及びダウンロードを行うことができる。詳細には、構成エンジンは、ディスプレイをどこに割り当てて実行するかを定義し、ランタイム間にこれらのディスプレイがバインディングされるべきプロセスエンティティ(論理的及び物理的)を定義することにより、グラフィック・ディスプレイがプロセスプラントの構成に統合されることを可能とする。所望により、構成階層画面(例えば図23及び図24の画面)は、必要なダウンロードを示し、ディスプレイ上でバージョン管理を実施するために用いられてもよい。
【0142】
構成は、構成システム内の多数のレベルで発生することが可能である。まず、構成エンジニアがディスプレイ・クラス・オブジェクトをライブラリセクション704のモジュール・クラス・オブジェクトと関連させてもよい。これにより装置モジュール・クラス・オブジェクト、エリアモジュール・クラス・オブジェクトなどの特定のディスプレイ・クラス・オブジェクトが特定のモジュール・クラス・オブジェクトにバインディングされる。次いで、モジュール・クラス・オブジェクトがインスタンスを生成され、プロセスプラントの特定部分に割り当てられる(又は構成される)と、インスタンスを生成されたモジュール・オブジェクトと関連付けられたディスプレイ・オブジェクト(例えばグラフィック・ディスプレイ)はモジュール・オブジェクトと共に同じハードウェアにバインディングされる。これにより、プラント内の適切なハードウェアにグラフィック・ディスプレイを割り当て、このグラフィック・ディスプレイオブジェクトを適切なハードウェアにダウンロードするために更なる作業を行う必要がなくなる。代わりに、この場合、グラフィック・ディスプレイ・オブジェクトは、当該オブジェクトがバインディングされたモジュール・オブジェクトの構成に倣う。また、ディスプレイ・クラス・オブジェクトがモジュール・クラス・オブジェクトと関連付けられると、上述のごとく、モジュール・クラス・オブジェクトに対して変更がなされると、関連付けられたディスプレイ・クラス・オブジェクト内の同一エレメントにこの変更が自動的に伝搬される。次いでこれらの変更はグラフィック・ディスプレイの実際のインスタンスを生成されたバージョンに伝搬される。ある例では、グラフィック・ディスプレイがループ(Loop)と呼ばれる制御モジュールを含むミキサ(装置クラス・オブジェクト)を含み、この制御モジュールが選択され名前を変更された場合、構成システムはLoopへの参照を新しい名前に自動的に変更し、グラフィック・ディスプレイのバインディングが確実に新しい名前で更新されるようにしてもよい。但し、当該変更がランタイムシステムで行われるよう、新たに変更された実際のディスプレイがランタイムマシンにダウンロードされる必要がある。所望により、例えば青色の三角形を適切なグラフィック・ディスプレイアイコンの隣に配置するなど、構成階層内に格納される際に、ダウンロードが必要とされている旨の表示をディスプレイの隣に配置してもよい。
【0143】
一方、ディスプレイは、プロセスプラント又は構成システム内の異なる構成要素に別々にもしくは直接割り当てられてもよい。すなわち、図24に示すように、個々のディスプレイは、システム構成セクション734の下のプロセスグラフィックスセクション734に配置されてもよい。これらのディスプレイは、例えばライブラリセクション702において選択され、セクション734にドラッグアンドドロップされることによりこのセクションに配置されてもよい。当然ながら、階層730の特定のセクションにグラフィック・ディスプレイを移動させる方法として他の方法も可能である。いずれの場合も、セクション734のグラフィック・ディスプレイは、例えば、フェイスプレート・ディスプレイ又は他のクラス・ベースもしくは非クラス・ベースのディスプレイを含み、一般にプラント内の全てのワークステーション、あるいはプラントの、システム構成セクション706によりカバーされるセクションにダウンロードされることが可能である。
【0144】
但し、ユーザは、ディスプレイにアクセスするプロセス制御システム内のワークステーション(もしくは他のディスプレイデバイス)の識別を管理し、従ってこれらのディスプレイが使用され得るデバイスの識別を管理するため、プロセスグラフィックスセクション734からディスプレイを取り出し、特定のサブセクションに配置することもできる。特定のディスプレイを論理的もしくは物理的プラントセクションに割り当てるには、ユーザは、例えばグラフィック・ディスプレイを選択し、当該グラフィック・ディスプレイを構成階層730の特定のセクションにドラッグアンドドロップしてもよい。これにより当該グラフィック・ディスプレイと、当該ディスプレイが関連付けられる論理的もしくは物理的エンティティとの関連を定義できる。この構成工程が行われる際、ディスプレイがドロップされもしくは関連付けられた構成のセクションに基づいて、ディスプレイのための決定表が自動的に記入されてもよい。
【0145】
例えば、ディスプレイをランタイム環境と関連付けるため、グラフィック・ディスプレイはライブラリセクション702からドラッグされプロセスグラフィックスセクション706にドロップされてもよい。また、例えばプロセスグラフィックスセクション734のディスプレイは、例えばArea#Aディスプレイ(Displays)セクション750(このディスプレイをArea#Aエンティティ及び機能に特有の、任意のArea#Aディスプレイデバイスで一般的に利用できるディスプレイとする)、Area#Bディスプレイ(Displays)セクション754などの他のセクションに移動されてもよい。同様に、グラフィック・ディスプレイは、例えばLoop(ディスプレイフォルダ752により示される)と称される制御モジュールと関連付けられるなど、論理的エンティティのサブセクションと関連付けられてもよい。これによりこれらのディスプレイがこの論理的エンティティに特有のディスプレイとなり、この制御ループ機能を実行するマシンもしくはこの制御ループ機能と関連付けられたと定義されたマシンでのみ利用可能となる。更に、ディスプレイはオペレータステーション762内のオペレータ機能やオペレータステーション762内のシミュレーション機能770により定義されるような特定のディスプレイデバイスや、ディスプレイデバイスの機能的サブセクションに割り当てられてもよい。更に、詳細は割愛するが、グラフィック・ディスプレイがプロセスプラント内で関連付けられ使用される方法を定義するため、ユーザはグラフィック・ディスプレイをエリア、セル、ユニット、装置モジュールのほか、別の制御セクションに割り当ててもよい。
【0146】
ディスプレイがArea#A又はArea#Bのようにエリア指定により定義されて例えば制御ストラテジなどの論理的エンティティに割り当てられる場合、グラフィック・ディスプレイはこれらの論理的エンティティが割り当てられた物理的インタフェース(例えばワークステーション)に割り当てられる。同様に、ディスプレイがユニット、セルもしくは装置モジュールに割り当てられる際、ディスプレイは当該ユニット、セルもしくは装置モジュールが割り当てられたワークステーションもしくは他のインタフェースデバイスに割り当てられる。
【0147】
モジュールが多数のグラフィック・ディスプレイを含む場合、モジュールはこれらのディスプレイのための役割や各ディスプレイが果たす役割を定義してもよい。これらはディスプレイ作成の際に当該グラフィック・ディスプレイに割り当てられる役割表示により定義される。任意のディスプレイデバイス内におけるこれらのディスプレイへのアクセスは、当該ディスプレイに対して定義された役割と関連付けられてもよく、また役割により制限されてもよい。また、ディスプレイがエリア又はモジュールに割り当てられる場合、このディスプレイへの参照はこのディスプレイが所属するエリアもしくはモジュールのディスプレイフォルダにおいてグラフィック・ディスプレイとして表示されてもよい。いったんディスプレイがエリア又はモジュールに割り当てられると、ディスプレイへの参照はこのエリアもしくはモジュールが所有し、よってこのディスプレイはこのエリアもしくはモジュールへの任意の割り当てもしくは移動に従うことになる。一方、エリアもしくはモジュールがワークステーションに割り当てられる際、そのエリアもしくはモジュールに所属するディスプレイは当該ディスプレイの役割により定義されるように当該ワークステーションのオペレータサブシステムもしくは機能に自動的に割り当てられる。当然ながら、個々のグラフィック・ディスプレイは、構成階層の物理的ネットワークセクション740におけるインタフェースデバイスの特定のインタフェースデバイス又はサブシステムの中でもしくはこれらの下に直接配置されることにより、ディスプレイデバイスのオペレータサブシステムに直接割り当てられてもよい。
【0148】
このように、ディスプレイは、構成画面730内で個々のエンティティにドラッグアンドドロップされることにより、個々のノード、制御エリア、制御モジュール、プロセス・モジュールもしくは他の論理的制御エンティティのほか、これらの個々のディスプレイデバイス及びサブシステムに割り当てられてもよい。当然ながら、必要に応じて、多数のステーションに同一のディスプレイを割り当ててもよく、各ディスプレイ(ダウンロードされもしくは単に割り当てられた)の状態は、階層730内の各種フォルダにおいて各ディスプレイの名前をつけたアイコンで表示されてもよい。所望により、階層730では、グラフィック・ディスプレイがメモリにおいてロックされたタイミングや、グラフィック・ディスプレイがディスク上の仮想メモリに保持されているか否かを表示するための別のアイコンを用いてもよい。
【0149】
一般に、グラフィック・ディスプレイは、ディスプレイ・コンテント(例えばディスプレイがディスプレイ画面に視覚的に現れる方法を定義するXAMLスクリプト)、ローカル表及び参照から成っている。参照は、他のディスプレイへの参照のほか、制御パラメータなどのランタイムパラメータへの参照、ディスプレイ制御、ランタイム別名(そのいくつかはランタイムでバインディングされる)への参照、ローカル表の参照及びグローバル表への参照とすることができる。一般に、構成エンジンはグラフィック・エレメント(XAML)のグラフィック部分を参照とは別に処理する。そして、ディスプレイを取り扱い、使用することをより容易にする。すなわち、構成システムは、構成階層で実行される割り当てに基づき、動的な別名を使用しない参照に記入することにより、構成プロセスの間にディスプレイをバインディングできる。よって、例えば、ユーザがプロセスグラフィックスセクション734もしくは構成階層730のライブラリセクション704から特定エリアもしくは制御モジュールにグラフィック・ディスプレイをドラッグアンドドロップする場合、グラフィック・ディスプレイ内の参照を当該エリアもしくはモジュールと関連付けられた特定のエレメントとバインディングすべく、グラフィック内でバインディングが自動的に行われる。このように、ユーザが実行している構成に基づいてバインディングのダウンロードが自動的に行われてもよい。これによりユーザがこれらのバインディングを特定するために手動で実行しなくてはならない作業の量が減少する。
【0150】
更に、決定していないバインディングが構成ステップにある場合、構成エンジンは、当該バインディングや参照を変更するなどして、このバインディングを決定するための情報を提供するようユーザに質問してもよい。また、必要に応じて、Microsoft社のExcel(登録商標)などの表計算プログラムのような大規模編集ツールを利用して、構成プロセスにおいて構成エンジニアが決定を記入もしくは定義しあるいはパラメータをバインディングすることをアシストしてもよい。いずれの場合も、これらの構成ステップは、グラフィック・ディスプレイがランタイム環境で使用されることを可能とする、図13に関連して議論した決定表208に記入する。よって、ユーザは、一般にユーザが特許文献3に記載されているプロセス・モジュールに対する方法と概ね同じ方法でグラフィック・ディスプレイ(及びグラフィック・エレメント)のバインディング及びダウンロードを実行してもよい。
【0151】
当然ながら、ユーザもしくは構成エンジニアは、グラフィック・ディスプレイ上でクリックし、グラフィック・ディスプレイを階層730外へ移動させ、あるいは当該グラフィック・ディスプレイの作成を割り当てないようにするダイアログボックスを結合させることで、グラフィック・ディスプレイを割り当てないこともできる。また、ユーザは特定のグラフィック・ディスプレイ又はグラフィック・ディスプレイのセットが割り当てられる方法を視認することができ、このような情報は例えば図25に示されるダイアログボックス800により与えられてもよい。図25のダイアログボックス800は、2台のディスプレイ、Display1及びDisplay2の各々がプロセスプラント中で構成される方法を示す。詳細には、ダイアログボックス800は、各々のディスプレイがどこで使用されるか(例えば、Display1はArea#Aと呼ばれるプラントエリアのMod1と呼ばれる制御モジュールにおいて使用される、など)、ディスプレイが割り当てられる物理的ステーション(例えば、Display1は、Oper1と呼ばれるオペレータステーションに割り当てられる、など)、及び当該ディスプレイが果たす役割(例えば、Display1は、各用途の主要ディスプレイである、など)を示す。
【0152】
ディスプレイの役割は所望の方法で変更でき、また、役割は、グラフィック・ディスプレイが割り当てられる構成システムの一部や、グラフィック・ディスプレイを利用できる人すなわちどの機能が利用できるかを示してもよい。グラフィック・ディスプレイは、所望により多数の役割を果たすために用いられてもよい。当然ながら、上述のごとくユーザがワークステーションもしくは他のディスプレイデバイスにエリア、あるいはある種のモジュールを割り当てると、そのエリアもしくはモジュールに関連付けられた任意のディスプレイは当該ワークステーションに割り当てられる。このため当該エリアもしくは他のモジュールのためのグラフィカル・サポートがワークステーションに確実に提供される。また、グラフィック・ディスプレイがワークステーションもしくは他のディスプレイデバイスに割り当てられると、グラフィック・ディスプレイは、当該グラフィック・ディスプレイがシミュレーション・ディスプレイ、オペレータ・ディスプレイであるか否かなど、当該グラフィック・ディスプレイの役割に基づいてワークステーションのサブシステムに割り当てられてもよい。また、ユーザはグラフィック・ディスプレイをワークステーションもしくは他のディスプレイデバイスの特定のサブシステムにドラッグアンドドロップしてもよい。役割が誤って割り当てられた場合、構成システムはダイアログボックスを表示し、誤った割り当てがなされている旨をユーザに表示し、あるいはユーザが当該グラフィック・ディスプレイの役割を変更することを許可する。
【0153】
図23及び図24の構成エンジンもしくは構成階層を用いて適切なもしくは所望の割り当てを実行すると、ユーザ・オペレータはグラフィック・ディスプレイの実際のダウンロードを行ってもよい。これにより、構成システムで定義された用途及び役割のために構成階層730で定義された適切なオペレータ・ワークステーションにグラフィック・ディスプレイが実際にダウンロードされる。ダウンロードの間、エリア、ループ、制御モジュール、プロセス・モジュールなどへの割り当てのほか、オペレータ・ワークステーションもしくは他のディスプレイデバイスへの割り当てに基づいてディスプレイ中のバインディングが決定される。
【0154】
所望により、構成階層(図23参照)の結果検索セクション708は、ユーザが任意の個々のグラフィック・ディスプレイもしくはグラフィック・ディスプレイで使用されるグラフィック・エレメントをプロセスプラントもしくは構成システム全体から検索することを可能とする。すなわち、構成エンジンは、ユーザと関連付けされると、特定のグラフィック・ディスプレイもしくはグラフィック・エレメントを検索し、検索の結果を結果検索セクション708に格納してもよい。これにより任意の特定のグラフィック・エレメントもしくはグラフィック・ディスプレイの用途の完全なリストを提供できる。このような検索により、変更を行うユーザが、どのグラフィック・ディスプレイに変更が必要か、あるいはその変更を行うためにはどのダウンロードが必要か、などを視認することができる。
【0155】
実施にあたり、ここに記載したソフトウェアはいずれも磁気ディスク、レーザーディスク(登録商標)もしくは他の格納媒体などのコンピュータ可読メモリやコンピュータ又はプロセッサなどのRAMもしくはROM内に格納されてもよい。同様に、このソフトウェアは、例えば、コンピュータ可読ディスクや他の可搬型コンピュータ格納機構に格納し、あるいは電話線、インターネット、ワールドワイドウェブ(WWW)、任意の他のローカルエリア・ネットワーク、広域ネットワークなどの通信チャネルを介して転送するなどの公知又は所望の搬送方法により、ユーザ、プロセスプラント又はオペレータ・ワークステーションに搬送されてもよい(搬送することは、ソフトウェアを可搬型格納媒体を通じて提供することと同義もしくは相互変換可能であるとみなされる)。更に、このソフトウェアは変調や暗号化を経ずに直接提供されてもよいし、通信チャネル上で伝送される前に任意の変調搬送波及び/又は暗号化技術を利用して変調及び/又は暗号化されてもよい。
【0156】
本発明を特定の例を参照しながら説明したが、これらはあくまで例であり、本発明を限定する意図はない。本願明細書に開示された実施形態に、本発明の精神及び範囲を逸脱することなく変更、追加、削除を行いうることは当業者には明白である。

【特許請求の範囲】
【請求項1】
プロセスを実行すべく協働して動作する複数の物理的及び論理的プロセス・エンティティと、プロセスプラントの動作を制御するための制御ルーチンを実施すべく前記複数の物理的及び論理的プロセス・エンティティに通信により接続されたプロセスコントローラとを有する、プロセスプラントで使用される構成システムであって、前記構成システムは、
前記グラフィック・ディスプレイが実行される際にディスプレイデバイス上に表示される一以上の視覚的表示と、パラメータ値を格納すべく構成されたパラメータメモリと、前記プロセスプラント内で前記パラメータメモリを通信によりデータソースと接続するための参照を格納すべく構成されたバインディングメモリと、を含む実行可能なグラフィック・ディスプレイと、
前記物理的及び論理的プロセス・エンティティの表示及び前記実行可能なグラフィック・ディスプレイの表示を格納する構成データベースと、
ユーザが前記構成データベース内のグラフィック・ディスプレイを、構成データベース内の物理的及び論理的プロセス・エンティティの表示の一つと関連付けることにより前記グラフィック・ディスプレイの前記動作を構成することを可能とする構成エンジンと、
を含む、構成システム。
【請求項2】
前記構成エンジンは、前記グラフィック・ディスプレイが関連付けられた前記物理的及び論理的プロセス・エンティティの一つの識別に基づいて前記バインディングメモリに格納される参照を決定する、請求項1に記載の構成システム。
【請求項3】
前記構成データベースは、前記実行可能なグラフィック・ディスプレイが前記プロセスプラント内のデータソースとバインディングされていないことを表す前記実行可能なグラフィック・ディスプレイの前記表示をライブラリセクションに格納し、且つ前記構成データベースは物理的及び論理的プロセス・エンティティが前記プロセスプラント内で構成される前記方法を示す形で前記物理的及び論理的プロセス・エンティティの前記表示を格納する、請求項1に記載の構成システム。
【請求項4】
前記物理的及び論理的プロセス・エンティティの前記表示は制御ルーチンの表示を含み、前記構成エンジンは前記実行可能なグラフィック・ディスプレイが前記制御ルーチンと関連付けられることを可能とする、請求項1に記載の構成システム。
【請求項5】
前記物理的及び論理的プロセス・エンティティの前記表示はプラント領域の表示を含み、前記構成エンジンは前記実行可能なグラフィック・ディスプレイが前記プラント領域と関連付けられることを可能とする、請求項1に記載の構成システム。
【請求項6】
前記物理的及び論理的プロセス・エンティティの前記表示は装置エンティティの表示を含み、前記構成エンジンは前記実行可能なグラフィック・ディスプレイが前記装置エンティティと関連付けられることを可能とする、請求項1に記載の構成システム。
【請求項7】
前記物理的及び論理的プロセス・エンティティの前記表示はディスプレイデバイスの表示を含み、前記構成エンジンは前記実行可能なグラフィック・ディスプレイが前記ディスプレイデバイスと関連付けられることを可能とする、請求項1に記載の構成システム。
【請求項8】
前記ディスプレイデバイスは機能的サブシステムを含み、且つ前記構成エンジンは前記実行可能なグラフィック・ディスプレイが前記ディスプレイデバイスの前記機能的サブシステムと関連付けられることを可能とする、請求項7に記載の構成システム。
【請求項9】
前記実行可能なグラフィック・ディスプレイは前記実行可能なグラフィック・ディスプレイと関連付けられた役割の表示を含み、且つ前記構成エンジンは、前記グラフィック・ディスプレイと関連付けられた前記役割に応じて前記実行可能なグラフィック・ディスプレイを前記ディスプレイデバイスの前記機能的サブシステムと関連付ける、請求項8に記載の構成システム。
【請求項10】
前記ディスプレイデバイスの前記機能的サブシステムはオペレータサブシステム、メンテナンスサブシステムあるいはシミュレーションサブシステムである、請求項8に記載の構成システム。
【請求項11】
前記物理的及び論理的プロセス・エンティティの前記表示は第一の論理的エンティティの表示を含み、前記構成エンジンが前記実行可能なグラフィック・ディスプレイを前記第一の論理的エンティティと関連付ける場合、前記構成エンジンは前記実行可能なグラフィック・ディスプレイを、前記第一の論理的エンティティと関連付けられたディスプレイデバイスに割り当てる、請求項1に記載の構成システム。
【請求項12】
前記第一の論理的エンティティは制御領域もしくは制御モジュールである、請求項11に記載の構成システム。
【請求項13】
前記実行可能なグラフィック・ディスプレイは前記実行可能なグラフィック・ディスプレイと関連付けられた役割の表示を含み、且つ前記構成エンジンは、前記物理的及び論理的プロセス・エンティティの一つと関連付けられると、前記実行可能なグラフィック・ディスプレイが前記役割に応じて使用されることを可能とする、請求項1に記載の構成システム。
【請求項14】
前記構成データベースは一以上の割り当てられていない実行可能なグラフィック・ディスプレイを前記構成データベースの一つのセクションに格納し、一以上の割り当てられた実行可能なグラフィック・ディスプレイを前記構成データベースの別の一つのセクションに格納する、請求項1に記載の構成システム。
【請求項15】
前記構成エンジンは前記複数の物理的及び論理的プロセス・エンティティの前記表示及び前記実行可能なグラフィック・ディスプレイの前記表示を示す画面を生成し、ユーザが前記実行可能なグラフィック・ディスプレイの前記表示を前記複数の物理的及び論理的プロセス・エンティティの前記表示の一つにドラッグし、前記実行可能なグラフィック・ディスプレイの前記表示を前記複数の物理的及び論理的プロセス・エンティティの前記表示の一つにドロップすることにより、前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とする、請求項1に記載の構成システム。
【請求項16】
前記構成エンジンは、前記複数の物理的及び論理的プロセス・エンティティの前記表示及び前記実行可能なグラフィック・ディスプレイの前記表示を示す画面を生成し、且つ、前記実行可能なグラフィック・ディスプレイが前記物理的及び論理的プロセス・エンティティの一つと関連付けられた後で、前記実行可能なグラフィック・ディスプレイが前記プロセスプラント内のディスプレイデバイスにダウンロードされる必要がある旨の表示を生成する、請求項1に記載の構成システム。
【請求項17】
前記構成データベースは前記実行可能なグラフィック・ディスプレイについて定義された役割に応じて前記実行可能なグラフィック・ディスプレイを格納する、請求項1に記載の構成システム。
【請求項18】
前記構成データベースは、前記実行可能なグラフィック・ディスプレイの前記視覚的表示を、前記実行可能なグラフィック・ディスプレイのバインディングとは別に管理する、請求項1に記載の構成システム。
【請求項19】
プロセスプラント内の一以上のディスプレイデバイスで実行されるグラフィック・ディスプレイを含めてプロセスプラントを構成する方法であって、
前記プロセスプラント内で使用される一以上の実行可能なグラフィック・ディスプレイを定義し、
一以上の物理的及び論理的プロセス・エンティティの表示を構成データベースに格納し、
前記一以上の実行可能なグラフィック・ディスプレイの表示を前記構成データベースに格納し、
ユーザが前記構成データベース内の前記一以上の実行可能なグラフィック・ディスプレイの表示を前記構成データベース内の前記一以上の物理的及び論理的プロセス・エンティティの前記表示と関連付けることにより前記実行可能なグラフィック・ディスプレイの前記動作を構成することを可能とする、
ことを含む、方法。
【請求項20】
前記一以上の実行可能なグラフィック・ディスプレイを定義することは、一つの実行可能なグラフィック・ディスプレイが実行される際にディスプレイデバイスに表示される一以上の視覚的表示を識別し、且つ前記一つの実行可能なグラフィック・ディスプレイと関連付けられたパラメータを定義することにより、一つの実行可能なグラフィック・ディスプレイを定義することを含み、前記パラメータは前記一つの実行可能なグラフィック・ディスプレイの実行中にプロセスプラントとバインディングされる、請求項19に記載の方法。
【請求項21】
前記一以上の実行可能なグラフィック・ディスプレイを定義することは、前記プロセスプラントにバインディングされていないパラメータを有する前記一以上の実行可能なグラフィック・ディスプレイを定義することを含み、且つユーザが前記実行可能なグラフィック・ディスプレイの前記動作を構成することを可能とすることは、前記一以上の実行可能なグラフィック・ディスプレイ内の前記パラメータを前記プロセスプラント内の一以上の物理的及び論理的プロセス・エンティティとバインディングすることを含む、請求項19に記載の方法。
【請求項22】
前記実行可能なグラフィック・ディスプレイが前記プロセスプラント内のデータソースとバインディングされていないことを示す前記実行可能なグラフィック・ディスプレイの前記表示をライブラリセクションに格納し、物理的及び論理的プロセス・エンティティが前記プロセスプラント内で構成される方法を示す形で前記物理的及び論理的プロセス・エンティティの前記表示を前記構成データベースに格納することを含む、請求項21に記載の方法。
【請求項23】
前記物理的及び論理的プロセス・エンティティの前記表示は制御ルーチンの表示を含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、ユーザが前記実行可能なグラフィック・ディスプレイのうちの一つを前記制御ルーチンと関連付けることを含む、請求項19に記載の方法。
【請求項24】
前記物理的及び論理的プロセス・エンティティの前記表示はプラント領域の表示を含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、ユーザが前記実行可能なグラフィック・ディスプレイのうちの一つを前記プラント領域と関連付けることを含む、請求項19に記載の方法。
【請求項25】
前記物理的及び論理的プロセス・エンティティの前記表示は装置エンティティの表示を含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、ユーザが前記実行可能なグラフィック・ディスプレイのうちの一つを前記装置エンティティと関連付けることを含む、請求項19に記載の方法。
【請求項26】
前記物理的及び論理的プロセス・エンティティの前記表示はディスプレイデバイスの表示を含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、ユーザが前記実行可能なグラフィック・ディスプレイのうちの一つを前記ディスプレイデバイスと関連付けることを含む、請求項19に記載の方法。
【請求項27】
前記物理的及び論理的プロセス・エンティティの前記表示は一以上の機能的サブシステムを有するディスプレイデバイスの表示を含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、ユーザが前記実行可能なグラフィック・ディスプレイのうちの一つを前記ディスプレイデバイスの機能的サブシステムの一つと関連付けることを含む、請求項19に記載の方法。
【請求項28】
更に、ユーザが役割を前記実行可能なグラフィック・ディスプレイの一以上と関連付けることを可能とすることを含み、ユーザが前記実行可能なグラフィック・ディスプレイの動作を構成することを可能とすることは、前記プロセスプラント内の前記実行可能なグラフィック・ディスプレイの一つを割り当てるために前記実行可能なグラフィック・ディスプレイの一つの前記役割を利用することを含む、請求項19に記載の方法。
【請求項29】
一以上の物理的及び論理的プロセス・エンティティの表示を構成データベースに格納することは、第一の論理的エンティティの表示を前記構成データベースに格納することを含み、且つユーザが前記実行可能なグラフィック・ディスプレイの前記動作を構成することを可能とすることは、前記実行可能なグラフィック・ディスプレイの一つが前記第一の論理的エンティティと関連付けられた場合に、前記実行可能なグラフィック・ディスプレイの一つを前記第一の論理的エンティティと関連付けられたディスプレイデバイスに割り当てることを含む、請求項19に記載の方法。
【請求項30】
前記第一の論理的エンティティは制御領域もしくは制御モジュールである、請求項29に記載の方法。
【請求項31】
前記割り当てられた実行可能なグラフィック・ディスプレイが前記構成データベース内の前記一以上の物理的及び論理的プロセス・エンティティの前記表示と関連付けられる方法に基づいて、一以上の割り当てられていない実行可能なグラフィック・ディスプレイを前記構成データベースの一セクションに格納し、一以上の割り当てられた実行可能なグラフィック・ディスプレイを前記構成データベースの別のセクションに格納することを含む、請求項19に記載の方法。
【請求項32】
更に、前記複数の物理的及び論理的プロセス・エンティティの前記表示及び前記一以上の実行可能なグラフィック・ディスプレイの表示を示す構成画面を生成し、且つ、前記実行可能なグラフィック・ディスプレイの一つが前記物理的及び論理的プロセス・エンティティの一つと関連付けられた後で、前記実行可能なグラフィック・ディスプレイの一つが前記プロセスプラント内のディスプレイデバイスにダウンロードされる必要がある旨の表示を生成する、請求項19に記載の方法。
【請求項33】
更に、前記実行可能なグラフィック・ディスプレイの一つについて定義された役割に応じて前記実行可能なグラフィック・ディスプレイの一つを格納することを含む、請求項19に記載の方法。
【請求項34】
更に、前記実行可能なグラフィック・ディスプレイが実行される際にディスプレイデバイス上に表示される視覚的表示を含め、前記プロセスプラント内の一以上のデータソースへのバインディングを含め、且つ前記実行可能なグラフィック・ディスプレイの前記視覚的表示を、前記実行可能なグラフィック・ディスプレイのバインディングとは別に管理することを含めて、前記一以上の実行可能なグラフィック・ディスプレイの各々を定義することを含む、請求項19に記載の方法。
【請求項35】
更に、前記一以上の実行可能なグラフィック・ディスプレイの表示が前記構成データベース内の前記一以上の物理的及び論理的プロセス・エンティティの前記表示と関連付けられる方法に従って前記一以上の実行可能なグラフィック・ディスプレイをダウンロードすることを含む、請求項19に記載の方法。
【請求項36】
実行可能なグラフィック・ディスプレイをプロセス環境内で使用する方法であって、前記方法は、
前記プロセスプラント内のデータソースとバインディングされる一以上の視覚的表示及び一以上のパラメータを含めて一以上の実行可能なグラフィック・ディスプレイを作成し、
前記一以上の実行可能なグラフィック・ディスプレイのための役割を格納し、
前記一以上の実行可能なグラフィック・ディスプレイのために定義された役割に応じて前記一以上の実行可能なグラフィック・ディスプレイをディスプレイデバイスに割り当てる、
ことを含む、方法。
【請求項37】
更に、前記一以上の実行可能なグラフィック・ディスプレイの表示が前記ディスプレイデバイスに割り当てられる方法に応じて前記一以上の実行可能なグラフィック・ディスプレイをダウンロードすることを含む、請求項36に記載の方法。
【請求項38】
前記一以上の実行可能なグラフィック・ディスプレイの各々のための役割を格納することは、前記実行可能なグラフィック・ディスプレイの一つのためのオペレータ・インタフェースとしての役割を格納することを含む、請求項36に記載の方法。
【請求項39】
前記実行可能なグラフィック・ディスプレイの各々の役割を格納することは、前記実行可能なグラフィック・ディスプレイの一つのためのメンテナンス・インタフェースとしての役割を格納することを含む、請求項36に記載の方法。
【請求項40】
前記実行可能なグラフィック・ディスプレイの各々の役割を格納することは、前記実行可能なグラフィック・ディスプレイの一つのためのシミュレーション・インタフェースとしての役割を格納することを含む、請求項36に記載の方法。
【請求項41】
前記一以上の実行可能なグラフィック・ディスプレイをディスプレイデバイスに割り当てることは、前記一以上の実行可能なグラフィック・ディスプレイに関して格納された前記役割に応じて前記一以上の実行可能なグラフィック・ディスプレイを前記ディスプレイデバイスの一以上の機能的サブシステムに割り当てることを含む、請求項36に記載の方法。
【請求項42】
前記一以上の実行可能なグラフィック・ディスプレイをディスプレイデバイスに割り当てることは、ディスプレイと関連付けられた前記装置に応じて前記一以上の実行可能なグラフィック・ディスプレイをディスプレイデバイスに割り当てることを含む、請求項36に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20A】
image rotate

【図20B】
image rotate

【図20C】
image rotate

【図20D】
image rotate

【図20E】
image rotate

【図21A】
image rotate

【図21B】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2012−123826(P2012−123826A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2012−22789(P2012−22789)
【出願日】平成24年2月6日(2012.2.6)
【分割の表示】特願2007−511580(P2007−511580)の分割
【原出願日】平成17年5月4日(2005.5.4)
【出願人】(506266023)フィッシャー−ローズマウント・システムズ・インコーポレーテッド (37)
【氏名又は名称原語表記】Fisher−Rosemount Systems, Inc.
【Fターム(参考)】