(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
化学プロセス、石油プロセス、または他のプロセスで使用されるシステムのような分散プロセス制御システムは、通常アナログバス、デジタルバスまたはアナログ・デジタル混在バスを介して1台または複数のフィールドデバイスに通信可能に接続されている、1台または複数のプロセス・コントローラを含む。たとえば、バルブ、バルブポジショナ、スイッチおよび送信機(たとえば、温度センサ、圧力センサ、レベルセンサ、および流量センサ)である場合があるフィールドデバイスは、プロセス環境の中に配置され、バルブの開閉、プロセス・パラメータの測定等のプロセス機能を実行する。FOUNDATION(登録商標) Fieldbusプロトコルのような周知のFieldbusプロトコルに準拠するフィールドデバイス等の小型フィールドデバイスも、制御計算、警報機能、およびコントローラ内で共通に実施される他の制御機能を実行できる。一般的に、やはりプラント環境内に配置されるプロセス・コントローラは、フィールドデバイスによって行われるプロセス測定および/またはフィールドデバイスに関する他の情報を示す信号を受け取り、たとえばさまざまな制御モジュールを実行するコントローラ・アプリケーションを実行する。これらのさまざまな制御モジュールは、プロセス制御決定を下し、受け取った情報に基づき制御信号を生成し、HARTフィールドデバイスおよびFieldbusフィールドデバイス等のフィールドデバイスで実行されている制御モジュールまたは制御ブロックと調整を行う。コントローラ内の制御モジュールは、通信回線上でフィールドデバイスに制御信号を送信し、それによってプロセスの動作を制御する。
【0003】
フィールドデバイスおよびコントローラからの情報は、通常データハイウェイ上で、より厳しいプラント環境から離れた制御室または他の場所に通常は設置されるオペレータ・ワークステーション、パーソナルコンピュータ、データヒストリアン、レポート作成プログラム、集中データベース等の1台または複数の他のハードウェア・デバイスにとって利用可能になる。これらのハードウェア・デバイスは、たとえばオペレータが、プロセス制御ルーチンの設定値の変更、コントローラまたはフィールドデバイス内での制御モジュールの動作の修正、プロセスの現状の閲覧、フィールドデバイスおよびコントローラによって生成される警報の閲覧、人員の訓練またはプロセス制御ソフトウェアの試験を目的とするプロセスの動作のシミュレーション、構成データベースの維持および更新等の、プロセスに関して機能を実行できるようにするアプリケーションを実行する。
【0004】
一例として、Emerson Process Managementにより販売されているDeltaV(登録商標)制御システムは、プロセスプラント内のさまざまな場所に位置するさまざまなデバイスの中に格納され、それらによって実行される複数のアプリケーションを含む。1台または複数のオペレータ・ワークステーション内にある構成アプリケーションは、ユーザが、プロセス制御モジュールを作成または変更し、これらのプロセス制御モジュールを専用の分散制御器にデータハイウェイを介してダウンロードできるようにする。一般的に、これらの制御モジュールは、オブジェクト指向プログラミング・プロトコル内のオブジェクトである、通信可能に相互接続される機能ブロックから構成される。このオブジェクトは、それに対する入力に基づく制御方式の中で機能を実行し、その制御方式の中の他の機能ブロックに出力を提供する。また、構成アプリケーションは、設計者が、オペレータにデータを閲覧し、そのオペレータがプロセス制御ルーチン内の設定点等の設定値を変更できるようにするために閲覧アプリケーションによって使用されるオペレータ・インタフェースを作成または変更できるようにする。各専用コントローラおよび場合によってはフィールドデバイスは、コントローラ・アプリケーションに割り当てられ、ダウンロードされる制御モジュールを実行し、実際のプロセス制御機能を実施するコントローラ・アプリケーションを格納し、実行する。一台または複数台のオペレータ・ワークステーションで実行されることのある閲覧アプリケーションは、データハイウェイを介してコントローラ・アプリケーションからデータを受け取り、このデータを、ユーザ・インタフェースを使用するプロセス制御システムの設計者、オペレータ、またはユーザに表示し、オペレータのビュー、エンジニアのビュー、技術者のビュー等、任意の多数の異なるビューを提供することができる。データヒストリアン・アプリケーションは、一般的に、データハイウェイにわたって提供されるデータのいくらかまたはすべてを収集、格納するデータヒストリアン・デバイスの中に格納され、それによって実行される。一方、構成データベース・アプリケーションはさらにデータハイウェイに接続されるコンピュータ内で実行し、現在のプロセス制御ルーチンの構成およびそれに関連するデータを格納できる。あるいは、構成データベースは、構成アプリケーションと同じワークステーション内に設置されてもよい。
【0005】
プロセス制御環境で使用される制御アプリケーションおよびサポート・アプリケーションの数および種類が増えるに従い、ユーザがこれらのアプリケーションを効果的に構成し、使用できるようにするために、さまざまなグラフィックディスプレイ・アプリケーションが提供されてきた。たとえば、グラフィックディスプレイ・アプリケーションは、構成エンジニアが、プロセスプラント内の制御装置にダウンロードするための制御プログラムを、図表を用いて作成できるようにする制御構成アプリケーションをサポートするために使用されてきた。さらに、グラフィックディスプレイ・アプリケーションは、制御オペレータがプロセスプラントの現在の機能またはプロセスプラントの領域を閲覧できるようにするために、保守人員がプロセスプラント内のハードウェア・デバイスの状態を閲覧できるようにするために、プロセスプラントのシミュレーションを可能にするために等に使用されてきた。しかしながら、これらのグラフィックディスプレイアプリケーションは、従来、それらが関連付けられている特定のアプリケーションの一部として、またはその特定のアプリケーションをサポートするために作成されてきたため、概して、実用性において、それらが作成された目的となった特定のプロセス機能に制限される。たとえば、保守、構成、またはシミュレーションの機能で制御オペレータまたは他のオペレータを支援するために作成されたグラフィック・プログラムを使用することは、不可能でない場合も、困難である。
【0006】
具体的な例として、いくつかのプロセス制御構成アプリケーションは、現在、機能ブロック・テンプレート・オブジェクト、および場合によっては、プロセスプラント向けの制御戦略を作成するために使用される制御モジュール・テンプレート・オブジェクト等のテンプレート・オブジェクトのライブラリを含む。テンプレート・オブジェクトはデフォルト特性、設定値、およびそれに関連付けられた方法を有し、グラフィック構成アプリケーションを使用するエンジニアは、これらのテンプレート・オブジェクトを選択し、基本的に、選択したテンプレート・オブジェクトのコピーを構成画面の中に入れ、制御モジュールを作成することができる。テンプレート・オブジェクトを選択し、構成画面の中に入れる過程で、エンジニアはこれらのオブジェクトの入力と出力を相互接続し、それらのパラメータ、名称、タグおよび他の特性を変更し、プロセスプラントでの特定用途のための特定制御モジュールを作成する。1つまたは複数のそのようなモジュールを作成後、エンジニアは、次いで制御モジュールをインスタンス化し、プロセスプラントの運転中に実行するために、制御モジュールを1台または複数の適切なコントローラおよびフィールドデバイスにダウンロードできる。
【0007】
その後、エンジニアは、表示作成アプリケーションの中で表示オブジェクトを選択、構築することによって、プロセスプラント内のオペレータ、保守人員等用に1つまたは複数の表示を作成するために、異なるグラフィックディスプレイ作成アプリケーションを使用してもよい。これらの表示は、一般的に、ワークステーションの1台または複数台においてシステム全体を基本に実施され、オペレータまたは保守要員に、プラント内の制御システムまたはデバイスの運転状態に関して、事前構成した表示を提供する。一般的に、これらの表示は、プロセスプラント内でコントローラまたはデバイスによって生成される警報を受け取り、表示する警報表示、プロセスプラント内のコントローラおよび他のデバイスの運転状態を示す制御表示、プロセスプラント内のデバイスの機能状態を示す保守表示等の形をとる。これらの表示は、一般的には、既知の方法で、プロセスプラント内のプロセス制御モジュールまたはデバイスから受け取られる情報またはデータを表示するように事前構成される。いくつかのシステムでは、表示は、物理的な要素または論理的な要素を表し、物理的または論理的な要素についてデータを受け取るために物理的または論理的な要素に通信可能に結び付けられるグラフィック描写によって作成される。表示画面上の図形は、たとえばタンクが半分いっぱいになっていることを示すため、流量センサによって測定された流量を示すため等の受信したデータを含むいくつかのイベントに対応して変化してもよい。しかし、構成活動、オペレータ制御活動、保守活動、およびシミュレーション活動のために使用されるグラフィックディスプレイは、一般的には、異なるグラフィックディスプレイ・エディタを使用して互いに別個に作成される。さらに、これらの表示の制限されたグラフィック機能は、任意のグラフィックオブジェクトの一部としては実施するのが困難であり、かつそのように行われない。
【0008】
したがって、制御構成アプリケーションと同様に、表示作成アプリケーションは、オペレータ表示、保守表示等を作成するために、任意の所望される構成で画面上に置くことができるタンク、バルブ、センサ、スライドバーおよびオン/オフ・スイッチ等のようなオペレータ制御ボタンを含むテンプレート・グラフィックディスプレイ項目を有してもよい。個々のグラフィック項目は、画面上に置かれると、ユーザにプロセスプラントの内部の働きに関する何らかの情報または表示を提供するように、画面上で相互接続できる。しかしながら、グラフィックディスプレイを動画化するためには、表示作成者は、グラフィック項目とプロセスプラント内の関連するデータソースの間の通信リンクを指定することによって、グラフィック項目のそれぞれを、センサによって測定されたデータまたはバルブ位置を示すデータ等のプロセスプラント内で生成されたデータに手作業で結び付けなければならない。このプロセスは退屈で、時間を要し、間違いだらけの場合がある。
【0009】
制御構成アプリケーション内の制御テンプレート・オブジェクトおよび表示作成アプリケーション内の表示項目は、多くの異なる制御モジュールおよびグラフィックディスプレイを作成するためにコピーすることができ、かつ使用できるため便利である一方、多くの場合、プロセスプラント内の異なる装置に多数の同じ制御モジュールおよびグラフィックディスプレイを作成する必要がある。たとえば、多くの中型から大型のプロセスプラントは、同じ基本的な汎用制御モジュールおよびディスプレイを使用して制御、および閲覧できる同じまたは類似した装置の多数のインスタンスを有する。しかしながら、これらの多数の制御モジュールおよびディスプレイを作成するために汎用制御モジュールまたはディスプレイ・モジュールが作成され、次いで、この汎用制御モジュールまたはディスプレイ・モジュールが、それが適用可能な装置の異なる部分のそれぞれのためにコピーされる。言うまでもなく、コピー後に、この新しい制御モジュールまたはディスプレイ・モジュールのそれぞれは、その接続先の特定の装置を指定するために構成アプリケーション内で手作業で改変しなければならず、次いで、これらの制御モジュールおよびディスプレイ・モジュールのすべてはインスタンス化し、プロセス制御システムにダウンロードしなければならない。
【0010】
しかしながら、これらの多数の制御モジュールおよびディスプレイを作成するために汎用制御モジュールまたはディスプレイ・モジュールが作成され、次いで、この汎用制御モジュールまたはディスプレイ・モジュールが、それが適用可能な装置の異なる部分のそれぞれのためにコピーされる。プロセス制御およびシミュレーション・システムのシステム・レベルで、グラフィックディスプレイ・エディタおよびグラフィックディスプレイ要素を統合および使用するためのいくつかの技法は、参照によりその全体的な開示を本明細書に組み込む、2006年8月22日に出願された、「GRAPHIC SHAPE WITH MULTIPLE VISUALIZATIONS IN A PROCESS CONTROL ENVIRONMENT」と題する米国特許出願番号第10/590,574号に説明される場合がある。これらの技法は、一般に、複合形状またはプラントの構成、制御、保守およびシミュレーションに関わる多様な活動における複合形状の作成および使用を可能にする。複合形状は、プロセス制御システム内の任意のプロセス、シミュレーションまたはタスクに再利用可能であり、再構成可能である。たとえば、米国特許出願番号第10/590,574号は、1つまたは複数のグラフィックディスプレイの部分または構成要素として使用するために提供され、プロセスプラント内のデバイスの現状等のプロセスプラント環境についてユーザに情報を表示するためにプロセスプラントで実行されることがあるスマート・グラフィックエレメントを説明する。グラフィックエレメントのそれぞれは、フィールドデバイスのような関連するプロセス・エンティティに連結できるプロパティまたは変数を含み、複数の視覚化を含む実行可能オブジェクトである。それぞれの視覚化は、そのグラフィックエレメントがグラフィックディスプレイの一部として実行されるときに、ユーザ・インタフェース上で関連するプロセス・エンティティを、図表を用いて描写するために使用できる。いずれのグラフィックエレメント視覚化も任意の特定のグラフィックディスプレイで使用でき、同じグラフィックディスプレイがその時々において視覚化のうちの異なる視覚化を使用できる。あるグラフィックエレメントに関連するさまざまな視覚化は、異なるグラフィック様式または基準を使用して同じグラフィックエレメントをさまざまな表示で使用できるようにするため、そのグラフィックエレメントの用途をさらに広くする。また、これらの視覚化は、同じグラフィックエレメントを、大型表示画面を備えた表示装置、標準的なコンピュータ画面、およびPDAおよび電話の表示画面等の非常に小型の表示画面を含む異なるタイプの表示装置向けに設計されたディスプレイで使用できるようにする。
【発明を実施するための形態】
【0016】
図1は、システム・レベルのグラフィック・サポートがプラント10の多様な機能領域に提供される例示的なプロセスプラント10を示す。典型的であるように、プロセスプラント10は、1台または複数台のコントローラ12を有する分散プロセス制御システムを含み、各コントローラは、たとえばFieldbusインタフェース、Profibusインタフェース、HARTインタフェース、標準4〜20 mAインタフェース等であってもよい入出力(I/O)装置または入出力カード18を介して1台または複数台のフィールドデバイス14および16に接続される。コントローラ12は、たとえばイーサネット(登録商標)・リンクであってもよいデータハイウェイ24を介して1台または複数のホストまたはオペレータ・ワークステーション20〜23にも結合される。データベース28は、データハイウェイ24に接続され、プラント10の中のコントローラおよびフィールドデバイスと関連するパラメータ、ステータスおよび他のデータを収集、格納するためのデータヒストリアンとして、および/またはコントローラ12ならびにフィールドデバイス14および16にダウンロードされ、その中に格納されるような、プラント10内のプロセス制御システムの現在の構成を格納する構成データベースとして動作してもよい。データベース28は、さらにプロセスプラント10内でグラフィック・サポートを提供するために、本明細書に説明するような方法で作成されるグラフィックオブジェクトを格納してもよい。コントローラ12、入出力カード18ならびにフィールドデバイス14および16は一般的には、しばしば厳しいプラント環境の中に設置され、しばしば厳しいプラント環境全体にわたって分散されるが、オペレータ・ワークステーション20〜23およびデータベース28は、通常制御人員または保守人員が容易に評価できる制御室またはその他のあまり厳しくない環境に位置する。ただし、場合によってはこれらの機能を実施するために携帯装置を使用してもよく、一般的には、これらの携帯装置はプラント内の多様な場所に運ばれる。
【0017】
既知であるように、一例として、Emerson Process Managementによって販売されているDeltaV(登録商標)であってもよいコントローラ12のそれぞれは、任意の数の異なる、単独で実行される制御モジュールまたは制御ブロック29を使用して制御戦略を実施するコントローラ・アプリケーションを格納し、実行する。制御モジュール29のそれぞれは、一般的に機能ブロックと呼ばれるものから構成される場合があり、各機能ブロックは、全体的な制御ルーチンの一部またはサブルーチンであり、プロセスプラント10の中でプロセス制御ループを実施するために、(リンクと呼ばれる通信を介して)他の機能ブロックと連動して動作する。周知であるように、オブジェクト指向プログラミング・プロトコル内のオブジェクトであってもよい機能ブロックは、一般に、送信機、センサまたは他のプロセス・パラメータ測定装置と関連する機能等の入力機能、PID、ファジー・ロジック等制御を実行する制御ルーチンと関連する機能等の制御機能、またはプロセスプラント10の中でなんらかの物理的な機能を実行するためにバルブ等のなんらかの装置の動作を制御する出力機能のうちの1つを実行する。言うまでもなく、モデル予測制御装置(MPC)、オプティマイザ等のハイブリッド・タイプまたは他のタイプの複雑な機能ブロックが存在する。FieldbusプロトコルおよびDeltaVシステム・プロトコルはオブジェクト指向プログラミング・プロトコル内で設計、実施される制御モジュールおよび機能ブロックを使用するが、制御モジュールは、たとえば順次機能ブロック、ラダー・ロジック等を含む任意の所望される制御プログラミング方式を使用して設計することができ、機能ブロックまたは任意の他の特定のプログラミング技法を使用して設計、実施されることに制限されていない。
【0018】
図1に示されているプラント10では、コントローラ12に接続されているフィールドデバイス14および16は、標準4〜20 mAデバイスであってもよく、プロセッサおよびメモリを含むHART、ProfibusまたはFOUNDATION(登録商標)Fieldbusフィールドデバイス等のスマート・フィールドデバイスであってもよく、または任意の他の所望されるタイプのデバイスであってもよい。(
図1で参照番号16が付けられている)Fieldbusフィールドデバイス等のこれらのデバイスのいくつかは、コントローラ12で実施される制御戦略に関連する、機能ブロック等のモジュールまたはサブモジュールを格納し、実行してもよい。Fieldbusフィールドデバイス16の内の2つの異なるデバイス内に配置されているとして
図1に示されている機能ブロック30は、周知であるように、プロセス制御を実施するために、コントローラ12内部での制御モジュール29の実行と連動して実行できる。言うまでもなく、フィールドデバイス14および16は、センサ、バルブ、送信機、ポジショナ等の任意の種類のデバイスであってよく、入出力装置18は、HART,Fieldbus、Profitbus等の任意の所望される通信プロトコルまたはコントローラ・プロトコルに準拠する任意のタイプの入出力装置であってもよい。
【0019】
図1のプロセスプラントでは、ワークステーション20〜23は、プラント10内で同じ人員または異なる人員が実行する多様な異なる機能のために使用される多様なアプリケーションを含んでもよい。各ワークステーション20〜23は、多様なアプリケーション、プログラム、データ構造等を格納するメモリ31、およびメモリ31に格納されているアプリケーションの内のどれかを実行するために使用できるプロセッサ32を含む。
図1に示されている例では、ワークステーション20は構成ワークステーションとして表され、1つまたは複数の構成アプリケーション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を含む。
【0020】
言うまでもなく、多様な構成アプリケーション、制御アプリケーション、保守アプリケーション及びシミュレーション・アプリケーション33〜36が、それらの機能の内の1つに専用のさまざまなワークステーション内に位置するとして
図1に示されている一方、これらのプラント機能または他のプラント機能に関連する多様なアプリケーション33〜36は、プラント10のニーズおよび設定に依存してプラント10の中の同じまたは別のワークステーションまたはコンピュータ内に位置し、そこで実行できる。したがって、たとえば、1つまたは複数のシミュレーション・アプリケーション36および制御アプリケーション33は、同じワークステーション20〜23で実行できる。一方、異なる個々のシミュレーション・アプリケーション36または異なる個々の制御アプリケーション33がワークステーション20〜23のうちの異なるワークステーションで実行できる。
【0021】
米国特許出願番号第10/590,574号に説明されるように、異なるグラフィック・エディタ及びパッケージの効率の悪さを各プラント・レベルで緩和するため、およびプラント10内でさらに幅広く使用可能且つ理解可能なグラフィックを提供するために、グラフィック・サポート層が、プロセスプラント10のシステム・レベルで提供され、構成、オペレータ閲覧、保守閲覧、シミュレーション、およびプラント10の他の機能領域を含む、プラント10の多様な機能領域のそれぞれのグラフィックディスプレイのニーズおよびデータ構造のニーズをサポートする。このシステム・レベルのサポートは、プラント運用レベル40、プラント機能レベル42、およびシステム・レベル44を示す
図2に図示されている。
図2から理解されるように、プラント運用レベル40はコントローラ12、制御ルーチンまたはモジュール29および30を実行するフィールドデバイス14、16等、ならびにプラントの実行時中にプラント動作を実施するためにプラント10内で実行する他のソフトウェアを含む。プラント機能レベル42は、エンジニアリング機能およびビジネス機能等の他のまたは異なる機能も提供できるが、構成機能ブロック46、制御機能ブロック47、保守機能ブロック48、およびシミュレーション・ブロック49を含むとして示されている。構成機能ブロック46は、プラント運用レベル40内の構成要素とインタフェースするまたは通信する構成ルーチン33を実施し、プラント運用レベルに制御戦略または制御モジュールを提供する。制御機能ブロック47は、制御表示アプリケーションおよび他のアプリケーション34および34aを含み、これらのアプリケーションも、プラント10内でオペレータが開始した変更を実施するため、制御ディスプレイ34を介してオペレータに情報を提供するため、制御アプリケーション34aのためのデータを取得するために等、プラント運用レベル40内の多様な物理構成要素および論理構成要素と、一般的に直接インタフェース、または通信する。保守機能ブロック48は保守ルーチンおよびアプリケーション35および35aを含み、これらのアプリケーションは、保守手順を実施するため、保守データを収集するため、保守ディスプレイ35を介して保守データまたは情報を保守人員に提供するため、診断アプリケーション35aを実行するため等のために、プラント運用レベル40内の多様な物理構成要素および論理構成要素とインタフェース、または通信する。同様に、シミュレーション機能ブロック49は、プラント10のシミュレーションを実施し、プラント10に関するデータを入手するためにプラント運用レベル40内の構成要素に通信可能に接続できるシミュレーション・ルーチン36を含む。
【0022】
図2に示すように、システム・レベル・サポート層44は、プラント機能層42の中の機能ブロック46〜49のそれぞれに結び付き、それぞれをサポートし、たとえば、多様な機能領域46から49で使用するためのソフトウェア・オブジェクト、複合形状およびグラフィックディスプレイ等の共通のデータベース構造および表示構造の作成および保守を可能にする。より具体的には、システム・レベル・サポート層44は、機能ブロック46〜49のそれぞれで実行されるグラフィック活動をいっしょに統合できるようにする、またはシステム・サポート層44で作成された共通のデータベース構造および複合形状を使用して作成できるようにする、アプリケーション、データベースおよびグラフィック・サポート・エレメントを含む。
【0023】
システム・サポート層44は、ディスプレイ・エディタ50およびグラフィック・オブジェクト・データベース52を含んでもよい。ディスプレイ・エディタ50は複合形状54およびグラフィックディスプレイ56を作成するために使用してもよい。一方、グラフィックオブジェクト・データベース52は、エディタ52が、およびブロック46〜49の多様なアプリケーションによってアクセス可能なメモリの中に複合形状54および表示56を格納する。また、データベース52は、複合形状54のサブエレメント等の他のオブジェクト58、および複合形状54をプラント運用レベル40内の個々のハードウェア・エレメントおよびソフトウェア・エレメントに接続するデータ構造も格納できる。さらに、データベース52は、追加の複合形状、または表示を作成するために使用され得るテンプレート、サブエレメント、およびプリミティブを格納できる。
図2から理解されるように、グラフィックディスプレイ・エレメント54、表示56および他のデータベース構造58は、ありとあらゆる機能ブロック46〜49によって、それらの機能ブロックに関連するグラフィックスを作成、および使用するために使用できる。
【0024】
一般的に言えば、システム・レベル・サポート・ブロック44は、機能ブロック46〜49のすべてにおいて
図1のプロセスプラント10で使用されるグラフィックを統合し、それによって異なる複合形状を異なる機能コンテキストの中の同じプラント装置のために繰り返し作成する必要性を低減または排除し、機能領域46〜49のそれぞれにおけるユーザが、それらの機能領域と関連する図表表示に表示されている装置と関連するデータに結び付くのを容易にする方法を提供する。理解されるように、システム・レベル・サポート層44は、機能領域46〜49等のうちの異なる機能領域内での異なるアプリケーションのために、機能領域46〜49のそれぞれに複数のアプリケーションに対するグラフィック・サポートおよびデータベース・サポートを提供するために使用できる。
【0025】
再び
図1を参照すると、システム・レベル・サポート・ブロック44は、他のワークステーション20から23のそれぞれに接続できる追加のワークステーションまたはユーザ・インタフェース60を使用して実施できる。ワークステーション60は、一般的には、ディスプレイ・エディタ50およびデータベース52を格納し、そのように所望される場合は、他のエレメント54、56、および58も格納できる。さらに、ワークステーション60は、データバス24を介して、(
図1の点線により示される)別の有線通信接続または無線通信接続を介して、または他の所望される方法でワークステーション20〜23に通信可能に接続できる。
図1に示す構成では、ワークステーション60は、ディスプレイ・エディタ50を格納し、実行し、ユーザがサブエレメントおよび他の複合形状を含む複合形状を作成し、その形状を1つまたは複数のグラフィックディスプレイまたはディスプレイ・モジュールに分類できるようにする。これらのディスプレイ・モジュールは、次いで、
図2に示されている多様な機能ブロック46〜49によってアクセスされ、使用され、多様なワークステーション20〜23上で実施されるデータベース52の中に格納できる。説明のために、システム・レベル・ブロック44および機能レベル・ブロック46〜49の機能性は、
図1の異なるまたは別個のワークステーション20〜23および60上で実施されるとして示される一方、これらの多様なブロックのどれかと関連するアプリケーションのどれかまたはすべてがプロセスプラント10の中の、またはプロセスプラント10に関連する同じまたは異なるワークステーション上で実施できることが理解される。したがって、ディスプレイ・エディタ50は、他のワークステーション20から23のどれか、またはプラント10に関連する任意の他のコンピュータに格納され、かつそれらに実施され、スタンドアロン・コンピュータまたは別個のコンピュータに格納され、かつ実施される必要はない。
【0026】
前述したように、
図2のシステム・レベル層44は、さらに高いレベルの表示機能を提供するためだけではなく、多岐に渡る機能環境で使用できるシステム・レベルの表示オブジェクトおよびデータベース・オブジェクトを実施する。一般的に言えば、
図2のシステム・レベル44で作成される表示オブジェクトは、複合形状およびグラフィックディスプレイとして分類できる。複合形状は、一般的には、バルブ、センサ、ポンプ、コントローラ、タンク、リアクタ、バーナ、パイプ、パイプ継手等のようなハードウェア・デバイス等のプラント内の特定の物理エンティティに関連する表示オブジェクトである。グラフィックディスプレイは、一般的には1組の相互接続された複合形状から構成され、ユニット、領域等のプラント内のさらに複雑な組のハードウェアを表し、モデル化するために使用され、異なるハードウェア・ユニットの間の相互接続を含む。複合形状は、それら自体が複合形状である場合がある複数のサブエレメントから構成されることがある。言い換えると、複合形状74は入れ子になっていてもよい。たとえば、リアクタ・グラフィックディスプレイの中のタンク複合形状は、それぞれが矩形、楕円、線等から構成されるバルブ、パイプ継手、センサ、撹拌器等の1つまたは複数の複合形状を含んでもよい。同様に、グラフィックディスプレイも、1つまたは複数の複合形状を含んでもよい。さらに、グラフィックディスプレイは、プラントから、ワークステーション20〜23および60等で実行中の診断アプリケーションおよびビジネス・アプリケーション等の他のアプリケーションから提供されるグラフ、チャート、および他のデータを含んでもよい。
【0027】
図3は、一般的に、複合形状およびグラフィックディスプレイが存在し得る2つの環境、特に構成環境70および実行時環境72におけるこれらの要素および表示の開発および使用を示す。一般的に言えば、(別々のエレメント・オブジェクト74a、74b等として示される)複合形状74および(別々の表示オブジェクト76a、76b等として示される)グラフィックディスプレイ76の形をとるディスプレイオブジェクトは、たとえばディスプレイ・エディタ50を使用して構成環境70で作成される。作成後、複合形状74およびグラフィックディスプレイ76はデータベース52に格納され得る。複合形状74およびグラフィックディスプレイ76は、本明細書では表示クラス・オブジェクトと呼ばれる、プロセスプラント10内の特定のハードウェア・エレメントまたは論理エレメントに連結されない、または結び付けられない、一般的なオブジェクトを定義するクラス・オブジェクトとして作成できる。しかし、クラス・オブジェクトは、そのクラス・オブジェクトと同じ基本特性を有する実行時グラフィックオブジェクトを作成するために使用できるが、プロセスプラント10内の特定のハードウェアに結び付けられる、または連結される。ただし、一般的に言えば、クラス・オブジェクトは、そこからインスタンス化された子オブジェクトに結び付けられたままであり、その結果、クラス・オブジェクトに対する変更は、子オブジェクトが実行時環境の中でインスタンス化されても、子オブジェクトに自動的に伝播できる。
【0028】
図3に示すように、各複合形状74は、複合形状を多くの異なる状況で有用にする多数の構成要素を含む。特に、各複合形状74は、1つまたは複数のグラフィックエレメントまたはサブエレメント77、任意の数のパラメータまたはプロパティ78、スクリプトまたはトリガを使用して実施できる任意の数のアクションまたはアニメーション79、およびバインディング80を含む。一般的に言えば、各エレメント77、78、79、80は、複合形状74が実行時環境72で実現されると、表示画面上に実際に表示される視覚特性またはエレメントを定義する。一般的に、複合形状は他のエンティティを表すことができるが、複合形状は、物理デバイスまたは論理デバイスもしくはデバイスのグループのグラフィック表現を定義する。複合形状74は、エンティティのグラフィック描写の詳細を定義する、任意の所望される説明またはプログラミング・パラダイムを使用して実行時環境72で実施できる。一実施形態では、複合形状74は、Microsoft(登録商標)によって提供されている周知の制御であり、それらはオブジェクト・ベースであるため、標準Windows(登録商標)タイプのディスプレイで容易に実施され、ディスプレイ環境間で携帯可能である、PGXML制御、XAML制御またはWindows(登録商標) Presentation Foundation (WPF、以前は「Avalon」と名付けられていた)制御を使用して実施できる。
【0029】
複合形状74のサブエレメント77は、複合形状74の基礎単位である基本形状を含んでもよい。前述したように、サブエレメントは、矩形、楕円、曲線、線、および操作され、結合されるときに、タンク、バルブ、パイプ継手または他のオブジェクトのグラフィック表現を形成する他の基本的な形状を含んでもよい。サブエレメント77は、それ自体、複雑な入れ子構造を作成するための複合形状74であってよい。したがって、サブエレメント77は、以下に詳しく述べるように、パラメータ/プロパティ78、アクション/アニメーション79、およびバインディング80の1つ又は複数をも含んでもよい。
【0030】
一般的に言えば、パラメータおよびプロパティ78は、描写されている形状またはエンティティに関連する、変数または静的な固有パラメータまたは変更可能な固有パラメータ等の他のパラメータを定義する。これらのパラメータは、形状74の作成者によって定義可能である。いくつかの実施形態では、パラメータは、複合形状74の関連するサブエレメントが実行時中にどのように動作するのかに関係する。同様に、アクションおよびアニメーション79は、プロパティに対する変換を実行し、プロパティ値に基づいてプロセス・エンティティの状態を検出するルーチン、プログラムまたはスクリプトを定義する。アニメーション・ルーチンは、視覚化77が表示画面に描写されるときに視覚化77上で実行されるまたは視覚化77を使用して実行されるグラフィック視覚化または挙動を変更するあらゆるルーチンを含んでもよい。同様に、アニメーション・ルーチンは、ユーザが視覚化77を使用するまたは視覚化77と対話することを可能にし、プロセスへの入力に対する変更等のプロセス内で変更を引き起こす。これらのアクションおよびアニメーションは、視覚化70に、より興味深く、理解できるあるいは役立つグラフィック・プロパティを与え、ユーザが視覚化77と対話できるようにする。1つの場合では、これらのアクションまたはアニメーションは、視覚化の多様な構成要素の色、大きさ(例えば、高さおよび幅、線のサイズ、フォント等)、色塗り、および色の変化、回転、大きさと縮尺、スキューイング等の変化などのアニメーションの変化という形をとってもよい。これらのアクションおよびアニメーションは、グラフィック・プロパティならびにユーザ対話特性を複合形状74に提供する。静的つまり固定されたバインディング、またはエイリアスを使用するバインディングであってよいバインディング80は、複合形状74が実行時環境72における表示の一部として実施されるときに、パラメータまたはプロパティ78をデータ、タグまたは実行時環境内の他のエンティティまたはプラント環境の他の場所に定義されるデータ・エレメントに連結する方法を定義する。基本的には、バインディング80は複合形状74ごとに、複合形状74が、プラント環境内のどこかで定義された1つまたは複数のエンティティまたはデータ・エレメントに結び付けられる方法を確立し、したがって実際の実行時環境72と複合形状74の間のインタフェースを定義する。
【0031】
図3に示されるように、グラフィックディスプレイ・オブジェクト76のそれぞれは、1つまたは複数のグラフィックエレメント81、コネクタ・エレメント82、アクションおよびアニメーション83、プロパティ84およびバインディング85に対する参照またはそれらのコピー等の多数の構成要素を含む。一般的に言えば、グラフィックディスプレイ76は、パイプ、ライン、コンベヤベルト等を表すコネクタ・エレメント82によって視覚的に接続されていてもよい、多様なグラフィックエレメント81の相互作用を描く表示であってもよい。このようなコネクタ・オブジェクトは米国特許番号第7,110,835号に説明されている。
図3の点線は、グラフィックディスプレイ・オブジェクト76aによる複合形状74のうちの1つに対する参照を示している。複合形状74を参照するグラフィックディスプレイ76は、その複合形状74のプロパティ、パラメータ、アクションおよびアニメーション等のすべてを含むことが理解される。複合形状74と同様に、各グラフィックディスプレイ76は、それと関連する、たとえばディスプレイ上のアニメーション、ユーザ・インタフェース対話、データ操作等を実行する1つまたは複数の追加のアクションまたはアニメーションを含んでもよい。同様に、各グラフィックディスプレイ76はその表示と関連する任意の数のプロパティを含んでよく、一般的に、これらのプロパティが表示の中のエレメントのユニット、領域または他のグループのプロパティを定義する。言うまでもなく、バインディング85は、グラフィックディスプレイ76が、プラント環境内の他の場所で定義される1つまたは複数のエンティティまたはデータ・エレメントに結び付けられる方法を定義し、したがって実際の実行時環境72とグラフィックディスプレイ76の間のインタフェースを定義する。
【0032】
複数形状74およびグラフィックディスプレイ76は、いったん作成されると、たとえば、
図1のワークステーション20〜23のどれかでの実行時間環境72に連結され、そこで実行されてよい。特に、複合形状74またはグラフィックディスプレイ76が、クラス・オブジェクトとして作成され、データベース52に格納された後、そのエレメントまたはディスプレイは実際の実行時オブジェクトとしてインスタンス化され、実行時環境72で実行されてもよい。ブロック86によって示されるように、インスタンス化プロセスは、オブジェクト74および76に画定されるバインディングを充填し、これは1つまたは複数の解決テーブルを使用して達成され得る。この解決テーブルには、プロセスプラントまたはプロセス制御システム内の適切な変数名、タブ、エイリアス等がロードされ、プロセスプラント内の実際のエンティティとプラント10内の表示装置上で実行するグラフィックオブジェクトの間に特定の接続を提供する。バインディング・プロセスの一部として、オブジェクト74および76は、解決テーブルによって定められるようにプロセスプラント内のデータソースに接続し、それによりプロセスプラント10に論理的かつ通信可能に接続されるようにプラントにアクセスを得る。
【0033】
ブロック87によって示されるように、ディスプレイ・エレメント74またはグラフィックディスプレイ76は、2〜3例を挙げると、構成表示、制御オペレータ表示、保守表示、およびシミュレーション表示を含む実行時環境72内の多数の異なる機能で、またはその機能の一部として実行できる。さらに、表示オブジェクト74および76は、たとえば予測制御機能または予測保守機能、システム・レベル・エラー検出、診断等を含む、
図2に示される機能レベルのうちの多様なレベルからデータを使用する機能等、システム・レベル機能を実行する際に使用され得る。実際に、いったん構成環境70で作成され、データベース52で格納された表示76は、多数の異なる活動に使用できる。さらに、表示オブジェクト74および76は、ワークステーション90、ラップトップコンピュータ91、携帯情報端末(PDA)、電話装置等のような携帯装置92または複数のモニタを備える大型画面ディスプレイ等の他の特殊ディスプレイ93を含む任意の所望されるディスプレイまたはコンピュータ・ハードウェアで実行できる。所望される場合、単一のグラフィックディスプレイ76は、構成ビュー、オペレータビュー、保守ビュー、およびシミュレーション・ビュー等の1つまたは複数のビューを含むように層状にできる。代わりに、別個のグラフィックディスプレイ76は、同じまたは類似したグラフィックエレメント81を使用して、これらの様々な機能に対して作成された表示全体にわたって一定した外観および感触を提供するために、これらの別々のビューを提供するように構成できる。
【0034】
ブロック95によって示されるように、実行時環境72に移植されるためには、複合形状74またはグラフィックディスプレイ76はコピーされ、またはインスタンス化され、実行時機械の中にロードされてもよい。一般的に言えば、表示オブジェクト74または76は、実行時機械上で呼び出されるまたは実際に実行されるときだけ実行時環境72に連結されることが望ましい。本明細書ではこれを実行時バインディングと呼ぶ。すなわち、インスタンス化された各オブジェクトの解決テーブルは、表示オブジェクトが実際に実行時コンピュータで動作するまたは実行されるときにだけ実行時環境内に充填される、または実行時環境に連結される。この手順は、その視覚化、制御、スクリプト等を含む表示オブジェクトが実行するのみで、それによりオブジェクトの(1つまたは複数の)視覚化が実際に表示画面上でレンダリングされているときに処理能力を使用することを保証する。したがって、表示オブジェクトは、好ましくは、そのオブジェクトが実際に実行時コンピュータ上で実行しているときにだけ実行時環境72に連結される。つまり、表示オブジェクト74および76は、これらのオブジェクトによって作成される視覚化を閲覧するユーザの活動によって定められるように、間欠的に実行時環境72に接続され得る。特に、これらのオブジェクトは、それらが表示される必要がある時点で実行時環境72に連結され、これらのオブジェクトが視覚化を提供している画面をユーザが最小化するまたは閉じるとき等、ユーザによって表示されていないときには解放またはリリースされてよい。
【0035】
したがって、表示オブジェクト74および76は、スタンドアロン環境、つまり構成環境70で作成でき得るが、たとえば任意の制御環境、シミュレーション環境、保守環境または構成環境内で定義されるオブジェクト、データ構造、アプリケーション等を含む、プロセスプラント環境内で定義される他のオブジェクトまたはデータ構造またはプロセスプラント環境内で実行する任意のアプリケーションと結び付けられるまたは接続できるオブジェクトである。さらに、表示オブジェクト74および76は、いったん作成されると、表示オブジェクト74または76が実行時環境72の中でダウンロードされるか、インスタンス化されるとき、または場合によっては、表示オブジェクト74または76が実行時環境72内で実際に実行中であるときに解決できる、解決テーブルを定義する直接的な参照、変数またはタグを介して、またはエイリアス名、変数およびパラメータの使用を間接的に通して、物理的なプロセス・エンティティまたは論理的なプロセス・エンティティに直接的に連結されてもよい。
【0036】
図3のディスプレイ・エディタ50は、表示オブジェクト74および76を多様な詳細レベルで作成できるようにし、表示オブジェクト74および76の使いやすさおよび多用途性を高める。たとえば、複合形状74は、最初によりプリミティブな物理エンティティおよび論理エンティティのプロパティおよび動作を定義するために作成されてもよく、次いでグラフィックディスプレイ76は、より複雑な物理エンティティまたは論理エンティティあるいは物理エンティティまたは論理エンティティのグループを描写するより高レベルの、またはより複雑な表示を作成するために1つまたは複数の複合形状74を相互接続することによって作成されてもよい。言うまでもなく、グラフィックエレメント74およびグラフィックディスプレイ76の両方とも、多様な異なるカテゴリで格納、およびアクセスされ、より高レベルの表示オブジェクトの作成をユーザにとってさらに簡単にすることができる。
【0037】
図4は、ディスプレイ・エディタ50によって生成される例の画面表示400を示す。画面表示400は、メイン編集セクション405、パレット・ビュー410、階層ビュー415、およびプロパティ・ビュー420を含む。フェースプレート形状425の第1の視覚化は、メイン編集セクション405に描かれる。階層ビューに示されるように、エレメントのタイトルはフェースプレートであり、このエレメントはVisual1(デフォルト視覚化)、Visual2、およびVisual3と名前が付けられた3つの視覚化を含む。階層ビュー415のVisual1見出しの下に示されるように、第1の視覚化はセレクタ形状エレメントおよび矩形を含むキャンバス・バックグラウンドから構成されている。現在定義されているプロパティ、つまりこの場合では、視覚化の名称、高さおよび幅は、プロパティ・ビュー420に一覧表示されている。階層ビュー420で任意の項目が選択されると、選択された項目に関連する子プリミティブまたはサブエレメントが編集ビュー405に表示され、現在選択されているエレメントのプロパティが、プロパティ・ビュー420に表示される。
【0038】
画面400では、パレット・ビュー410は、視覚化を作成するために使用できる多数の基本的なエレメントを含む。たとえば、パレット・ビュー410は、ボタン、テキストボックス、スライダ、ノブ等の一連の基本UI(ユーザ・インタフェース)エレメント、一連の基本パネル、および一連の基本形状を含む。画定されたパネルは、実行時にセレクタ形状内で表示するために、リンクされた多様な複合形状の間で選択を行うためのプレースホルダーの役割を果たすセレクタ形状を含んでもよい。ユーザがキャンバス領域に対する座標によってエレメントを明示的に配置できる領域を画定するキャンバス・パネル、ユーザが互いに対して水平にまたは垂直にエレメントを配置する領域を画定するドック・パネル、およびフロー・パネル領域内のそのコンテンツを分断する、包み込む、および示されているフロー方向と方向を合わるために使用できるフロー・パネル等の多様な他のパネルが、パレット410内に含まれてもよい。パレット・ビュー410内の基本的な形状は、ISA(アメリカ計測学会)記号、送信機記号、バルブ記号、プロセス及び計装図記号または他の制御記号等、または任意の他の所望される形状を含んでよく、そのすべてはグラフィックエレメントを構築するために使用できる。基本制御エレメント、デバイス等の他の基本的なエレメントが、画定されているグラフィックエレメント用の視覚化を作成するために使用される、パレット・ビュー410内でプリミティブとして提供されてよいことは言うまでもない。
【0039】
図5に示されるように、セレクタ形状500は複数の一意のサブエレメント505またはそれに関連する表現を有してもよく、さまざまなサブエレメント505は、セレクタ形状500が使用される様々なときに、またはさまざまな表示で使用されてもよいことが理解される。任意のサブエレメント505は、任意の数のプリミティブ510ならびにアニメーションおよびアクション515から構成されてよい。さらに、セレクタ形状500は、サブエレメント505に対する変更を実行するため、およびサブエレメント505と関連する視覚的なトリガを動作するために、アクションおよびアニメーション515の中に結び付けられる、またはアクションおよびアニメーション515によって使用されてよい、任意の数のプロパティまたはパラメータ520を含んでよい。なおさらに、そのサブエレメント505またはサブエレメント505を構成する個々のプリミティブは、たとえば、マウスオーバーイベント、マウスクリックイベント等の予め定められたイベントについて定義されたアクションを有することがある。(ルーチンとも呼ばれる)これらのアクションは、複合形状の挙動をさらにカスタマイズするため、およびユーザがサブエレメント505と対話し、たとえば実行時環境内で変更を引き起こすことができるようにするために、イベント・ハンドラを設定または定めることを可能にする。特に、ユーザは、値または他の数または情報をその中に入力し、エレメントを、スライダ・バー等のサブエレメント上で移動させることによって、または例えばサブエレメント505内のプロパティを変更するために何らかの他の処置を講じることによって、サブエレメント505と対話し得る。このプロパティ変化は、スクリプトを介してまたは直接的に、プロセス実行時変数等のプロセス入力に結び付けられ、その変数を変更させる。特に、そのプロパティは、代わりにプロセス入力に連結されてよいグラフィックエレメントについて定義されたプロパティに接続されてもよい。このようにして、ユーザはアクションまたはアニメーション・ルーチンを介してサブエレメント505と対話し、変更を引き起こす、またはプロセスまたはシミュレーション環境等の他の実行時環境に対する入力を提供できる。
【0040】
上に述べたように、
図4のプロパティ・ビュー420は、階層ビュー415、したがって、メイン編集ビュー405で示されたアイテムの中の選択された項目について画定されたプロパティおよびイベントを提供する、または示す。ユーザは、たとえばツールバー・ボタンを使用して、プロパティ・ビュー420内のプロパティ、固有特性およびイベントの間でトグルできる。
図6Aは、その中に固有特性が示され、この場合は、ItemSelector、LookupTable、FixedAspectRatio、FixedWidth、FixedHeight、SizeおよびScaleプロパティを含むセレクタ形状のためのプロパティ・ビュー420Aを示す。プロパティ・ビュー420Aは、これらの変数のデータ型およびこれらの変数の任意のデフォルト設定値を示す。上に述べたように、ユーザは、一覧表、テーブル構造等を含む任意の所望されるデータ型でプロパティを定義するために、このプロパティ・リストに追加する、このプロパティ・リストから削除する、またはこのプロパティ・リストを編集することができる。所望される場合、プロパティ・ビュー420は、これらのプロパティについて定義された任意の実行時バインディングも示してもよく、これらの実行時バインディングは、固定変数またはタグであってもよく、実行時に、またはグラフィックエレメントを実行時機械へダウンロードするときに記入されるエイリアスを使用するタグであってもよい。
【0041】
セレクタ形状を含む複合形状を作成および構成するために、ユーザは、プロパティ・ビュー420Aに示される多様なプロパティを選択し、編集してもよい。たとえば、ItemSelectorプロパティの選択時、ItemSelectorビュー420B(
図6B)がディスプレイ・エディタ50内に表示され、ユーザがそのItemSelectorプロパティを定義できるようにする。一実施形態では、ItemSelectorプロパティは、評価時に、どのグラフィックオブジェクトがセレクタ形状の中に、またはセレクタ形状の代わりに表示されるのかを決定するコンテキスト式である。たとえば、コンテキスト式425は、セレクタ形状の中に表示される、またはセレクタ形状を置換するサブエレメント505を識別する1つまたは複数のユーザが設定可能なパラメータを含んでもよい。式425は、サブエレメント505が、セレクタ形状の中にまたはセレクタ形状の代わりにどのようにして表示されるのかを決定する追加のデフォルト・パラメータまたはユーザが設定可能なパラメータも含んでよい。これらの追加パラメータのいくつかは、サブエレメント505内等での表示のために、サブエレメント・カラー、テキスト・フォーマット、プロセス・パラメータおよびフィールドデバイス・データへのバインディングまたはリンクを含んでもよい。
【0042】
LookupTableプロパティの選択時、LookupTableビュー420Cがグラフィック・エディタ内に表示され、ユーザがLookupTableプロパティを定義できるようにする。いくつかの実施形態では、LookupTableプロパティは、式425(
図6B)の結果をデータ構造内の名称または他の項目に一致させることによって配列索引操作を実行するために使用され、セレクタ形状の中でまたはセレクタ形状の代わりに表示されるサブエレメント505を識別できる、配列または連想配列等のデータ構造である。LookupTableプロパティは、データ構造内の有効な(または無効な)項目のリストに照合することによって式の値のどれかを確証するために使用することもでき、一致する入力式結果を処理するためにポインタ機能(またはラベルに対するオフセット)を含むこともある。
図6Cによって示されるように、LookupTableの中の1つまたは複数のエントリは式の結果430および複合名435を含んでよい。式の結果のエントリは、前述したように式425を評価した結果に相当し、複合名は、前述したようにセレクタ形状の中でまたはセレクタ形状の代わりに表示されるサブエレメント505複合形状の識別(たとえば、名称、経路、リンク、バインディング等)に相当することがある。LookupTableプロパティは、「NotListed」および「ExpressionError」等のデフォルトのエントリを含み、表420Cの中に存在しない式の結果から生じるエラー、式の評価の間に発生するエラー、または検出されないか、不正確であるか、またはそれ以外の場合は間違っているサブエレメント505に対応する式の結果を管理できる。このようなエラー結果は、一般的なデフォルト・サブエレメント505、エラー・サブエレメント505、または式425が評価され、式の結果がLookupTableプロパティに比較されるとエラーの存在を伝達できる任意の他の標準サブエレメント505の複合名435に相当する場合がある。
【0043】
LookupTable420Cを構成するために、ユーザは、LookupTableビュー420Cの式の結果430欄に、たとえば「AI_FP」等の値を入力してもよい。ユーザは、次いで複合形状クラスを選択し、式の結果430欄に入力された値にそれをリンクしてよい。いくつかの実施形態では、ユーザは複合形状または複合形状のクラスを、パレット・ビュー410(
図4)から選択し、「ドラッグ・アンド・ドロップ」方法を使用して、LookupTableビュー420Cの中に選択した項目を格納する。選択した項目を式の結果430欄のエントリの近くにドロップすると、対応するCompositeName 435エントリに自動的に、画像、テキスト、または名称、バインディング、経路または選択した項目の他の識別特徴の他の表現が入力される。加えてまたは代わりに、ユーザは、入力された式の結果430に対応するフィールドの中に複合名435を手で入力してもよい。ユーザは、複合形状の中の各セレクタ形状、およびあらゆる入れ子になったセレクタ形状にも同じプロセスを繰り返すことができる。
【0044】
図7は、構成時にディスプレイ・エディタ50を使用して作成できる、実行時の制御オペレータ・ディスプレイの形をとる例示的なグラフィックディスプレイの表示画面700を示す。表示画面700は、バルブ・エレメント712および1つまたは複数のポンプ・エレメント714に、この場合は流体管路であるコネクタ・エレメント716を介して接続されるリアクタ・エレメント710を含む。流体流エレメント、すなわち流れエレメント718は、画面700によって描かれるプラントのセクションに流入し、そのセクションを離れる材料の流れを参照する。表示画面700内のグラフィックは、多様なグラフィックエレメントを共に選択し、相互接続することによって作成することができ、したがって表示画面700は、個々のグラフィックエレメントに関して、高解像度グラフィック、アニメーション、アクション、視覚トリガを含んでもよい。このようにして、アニメーションおよびユーザ・アクションをグラフィックディスプレイの中に組み込むことができる。たとえば、この機能を使用すると、装置のステータス(たとえば、モータがオンであるまたはトリップした場合、バルブの動作状態または位置等)を示すために、プロセス装置用の静的なグラフィック構成要素を修正し、アニメーションは装置に関連する動的データ(たとえば、充填技法を使用して充填されているタンクの水位)、または運動を示す表示変更(アニメーション)を通した撹拌器のステータスを表すために使用できる。さらに、前述したように、前述されたような1つまたは複数のセレクタ形状を含む複合形状は、グラフィック構成要素、アニメーションおよびその他のエレメントの実行時ディスプレイの計算負荷を削減するために使用できる。上述の置換可能な機能を含む各複合形状は、その形状の特定のグラフィック表現の実行時選択を可能にできる。この実行時選択は、前述したようにディスプレイの中のすべての考えられる形状を「積み上げる」典型的な方法のために、実行時のグラフィックディスプレイ内に存在するオブジェクトが著しく削減される。特に、置換可能な機能は、非常に類似したライブラリ・オブジェクトは完全に全体的に新しいオブジェクトである必要があるのではなく、基本的な組の形状でのばらつきである場合があるため、ライブラリ・オブジェクトを少なくすることができる。
【0045】
前述のセレクタ形状を使用するこの置換可能な機能は、1つまたは複数の置換可能部分を含む任意の複合形状の中で実施できるが、セレクタ形状の考えられる1つの使用および表示により、ユーザは、表示画面700との対話を介して追加の情報を閲覧する、または実行時環境に関して処置を講じることができる方法により、表示画面700とインタフェースできるようにする。いくつかの場合には、これらの対話は、マウスオーバーおよびグラフィックエレメントに関する他のアクションで実施され得る。たとえば、ボタン720Aは、ユーザに冷却塔の補給についての情報の追加ビューを提供できる。一方、ボタン720Bは、リアクタ710用のフェースプレート表示を提供できる。このようにして、表示画面700は、たとえば、Visio、ベクトル図面、JPEGフォーマットおよびビットマップ画像フォーマット等のIn−Tools、Auto−Cad、Windows(登録商標)メタファイルを含む多数の異なるソースからインポートされたグラフィックに基づいてもよい、三次元構成要素を使用してプロセスまたはプロセスの一部を構成する装置の部分を示すエレメントのセットを含むが、画面700は、エレメント・レベルで、たとえば、回転、サイジング、スケーリング、スキューイング、色変化等を実行するためにアニメーションも含んでもよく、さらに興味深くリアリスティックなアニメーションを、したがってより理解しやすい表示を実現する。
【0046】
セレクタ形状の使用の一例は、オペレータが表示画面700からユーザ対話構成要素にアクセスしたときに発生する場合がある。スクリプトまたは他のプログラムは、フェースプレート表示または制御パネル表示等の追加の画面または表示をプルアップしてよく、その例は
図8に示されている。例示的に、かつ以下に
図9〜
図11を参照してさらに説明するように、画面700に示されるボタン720B等のユーザ・インタフェース・ボタンにアクセスするとき、オペレータにリアクタ710のためのフェースプレートが提示され、オペレータは、次いでこのフェースプレートを使用してリアクタ710についての詳細を修正または閲覧できる。各フェースプレートは、セレクタ形状または上述したように設定可能な式を定義する他のオブジェクトを含んでよい。ボタン720B等のユーザ・インタフェース・ボタンの選択時、式は、セレクタ形状の中でまたはセレクタ形状の代わりにどの一意の情報を表示するのかを決定するために評価される。
【0047】
図8の例では、フェースプレート情報800は、ユーザが画面700のボタン720Aを介してアクセスできるリアクタ710の(FIG2_28/TC2−1と名前が付けられた)制御ループと関連する。フェースプレート800の部分800Aを使用して、スライド形状820上で動作パラメータの現在値を閲覧し、矢印830を使用して制御ループと関連する設定値を変更してもよい。さらに、ユーザは表示セクション800Bで制御ループの制限および同調パラメータに関する情報の提供を受け、セクション840でのシミュレーション機能を可能にできる。所望される場合、セクション800Bは、セクション800A上のボタン850のうち1つを選択することによってセクション800Aのビューから取得してもよい。同様に、ユーザは傾向データ、診断データ等の制御ループについてのさらなる追加情報にアクセスしてもよく、またはもう一方のボタン850を介してループ同調プログラム等の制御プログラムおよび診断プログラムにアクセスし、かつ実施してもよい。したがって、任意の他の活動、画面、およびアクションは、画面700上で講じられるまたは許可されるユーザ・アクションに応えて表示画面700を介してアクセスしてもよい。
【0048】
制御システムが、装置の類似部分の定義でエイリアスの使用をサポートする場合、動的表示構成要素は、表示画面400で選択される装置の部分に基づいた動的参照をサポートするように設計されてもよい。このような場合、事前に構成されたエイリアスおよび属性は、通常は表示オブジェクトの一部として定義されるオブジェクト・タグまたはグラフィック属性の代わりに使用できる。このエイリアス化機能は、類似する表示オブジェクトがさまざまな入出力点に接続し、異なるグラフィック属性、外観およびセキュリティを表すため、高度の柔軟性および再利用性をサポートする。このような機能は、プラント内で複製された装置の異なる部分に類似した表示オブジェクトまたは類似した表示を再構築する必要性を排除できる。このようにして、同じグラフィックディスプレイが、プラント内での構造および使用が同じであるさまざまなハードウェア装置を閲覧するために使用できる。
【0049】
図9を参照すると、上述した置換可能な機能を含む複合形状の一例は、フェースプレート・オブジェクト900である。実行時に、およびオブジェクト900の構成(たとえば、セレクタ形状の式)に応じて、構成時に、オブジェクト900は、オブジェクト900のセレクタ形状サブエレメントの中でまたはセレクタ形状サブエレメントの代わりに、オブジェクト900(たとえば、複合形状900Aまたは複合形状900Bのどちらか)の異なる複合形状またはサブエレメントを表示できる。したがって、グラフィックディスプレイ700(
図7)内で実際に可視であるか、別のオブジェクト(
図9のフェースプレート・オブジェクト900)の選択時に可視である可能性がある、必要とされるサブエレメント・オブジェクト900A、900B等だけが、より大きなグラフィックディスプレイでインスタンス化され得る。必要とされる複合形状およびサブエレメントだけをインスタンス化することにより、実行時のグラフィックディスプレイの計算負荷を大幅に削減できる。
【0050】
一実施形態で、かつ
図10を参照すると、交換可能機能を含む各複合形状1000が、それぞれ(上述のコンテキスト式425に類似する)1つまたは複数のコンテキスト式1010および(上述のLookupTableビュー420Cに類似する)ルックアップテーブル1020を含む1つまたは複数のセレクタ形状1005を含んでもよい。実行時、各コンテキスト式1010は式の結果1020を決定するために評価される。式の結果1025は、次いで、たとえば複合形状名1030等の別の複合形状に対応する識別子に一致されてもよい。たとえば、コンテキスト式1010の評価は、第1の複合名1030Aに一致する第1の式の結果1025Aが生じるか、または式1010は第2の複合名1030Bに対応する第2の式の結果1025Bに対して評価してもよい。識別子または複合名1030A、1030Bのそれぞれは、いったんコンテキスト式が評価されると、複合形状1000のセレクタ形状1005の中でまたはセレクタ形状の代わりに表示される、それぞれ一意のサブエレメント1035Aおよび1035Bに対応してもよい。言うまでもなく、各一意のサブエレメント1035A、1035Bも、コンテキスト式1010のような1つまたは複数のコンテキスト式を含むセレクタ形状1005に類似するセレクタ形状を含んでもよい。このコンテキスト式は、順次、それぞれ一意のサブエレメント1035Aおよび1035Bのような一意のサブエレメントを表示するために評価されてもよい(つまり、セレクタ形状は入れ子にされてもよい)。
【0051】
図7〜
図11を参照すると、方法1100が、複合形状を選択し、複合形状の中の「積み上げる」不必要なサブエレメントを排除することによって実行時計算負荷を低減するために、構成されたグラフィックディスプレイ700(
図7)およびセレクタ形状を使用して実行時に実行されてもよい。方法1100は、コンピュータ可読メモリに格納され、計算装置のプロセッサを使用して実行時に実行されるコンピュータ実行可能命令の形をとる1つまたは複数のルーチンを含んでもよい。たとえば、ルーチン1105は、セレクタ形状を含む構成されたグラフィックディスプレイ700から複合形状を選択してもよい。一実施形態では、ボタン720Bを選択すると、セレクタ形状1005を含む、リアクタ710用のフェースプレート表示を提供できる。ルーチン1110で、セレクタ形状式1010は、式の結果1025を決定するために評価されてもよい。たとえば、セレクタ形状式1010は、AI_FP(1025A)に対して評価してもよい。ルーチン1115で、方法1100は、評価されたセレクタ形状式1010からの式の結果1025が、ルックアップテーブル1020のいずれかの式の結果1025と一致するかどうかを判断してもよい。方法1100は、ブロック1110での評価を不可能にする式1010自体のエラーのために、式の結果1025がルックアップテーブルに存在しなかったと判断してもよい。ルーチン1120で、式の結果がエラーである場合、式1100は、ルーチン1125でセレクタ形状の中でまたはセレクタ形状の代わりにError複合形状を表示してもよい。Error形状は、ルーチン1110の式の評価がエラーを生じさせたことを示すためにテキストまたは他の何らかの識別する特性を含んでもよい。代わりに、ルーチン1110の式評価がエラーを生じさせないが、式の結果をルックアップテーブルで検出できない場合、方法1100は次いで、式の結果に一致する複合形状がないことを示すために、ルーチン1130で、セレクタ形状の中でまたはセレクタ形状の代わりにNot Listed複合形状を表示してもよい。ルーチン1125のError複合形状のように、Not Listed複合形状は、式評価ルーチン1110からの式の結果が任意の他の複合形状に一致しない旨のテキストまたは他の表示を含んでもよい。ルーチン1115に戻ると、ルーチン1110の式評価がルックアップテーブル720で検出され、複合名730に一致すると、次いで、その式の結果および複合名に一致する複合形状が、セレクタ形状の中でまたはセレクタ形状の代わりに表示されてもよい。たとえば、セレクタ形状式1010は、ルックアップテーブル1020に従って、名前NewAI_CD(1030A)およびサブエレメント複合形状1035Aをもつ複合形状に一致する、AI_FP(1025A)に対して評価を行ってもよい。サブエレメント複合形状1035Aは、次いでセレクタ形状1005の中でまたはセレクタ形状1005の代わりに表示される。ルーチン1140で、いったん複合形状1000がサブエレメント複合形状(1035Aまたは1035B等)を表示すると、実行時にセレクタ形状1005を通して可視ではなかったサブエレメントを含んでいた複合形状1000の以前の定義、ならびにそれらの余分な形状を表示するために必要とされるすべてのデータは、削除のために記されてもよい。いくつかの実施形態では、セレクタ形状1005および式1010によって指定されない形状およびデータは、グラフィックディスプレイ700ディスプレイ・エディタ50または他のシステムを使用してコンピュータシステムのキャッシュ・システムによって削除されてもよい。ルーチン1145で、グラフィックディスプレイ700の形状の中にさらに多くのセレクタ形状および式が存在する場合、方法1100は次いで、上述のルーチンを繰り返すためにルーチン1105に戻ってもよい。ディスプレイ700にこれ以上セレクタ形状が存在しない場合には、方法1100は終了してもよい。
【0052】
実施時、本明細書に説明するソフトウェアおよびルーチンのいずれかは、磁気ディスク、レーザディスク、または他の格納媒体上、コンピュータまたはプロセッサ等のRAMまたはROM内等の任意のコンピュータ可読メモリ内に格納されるコンピュータ実行可能命令であってもよい。同様に、このソフトウェアは、たとえばコンピュータ可読ディスク上でまたは他の可搬コンピュータ格納機構上で、または電話回線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークまたはワイドエリアネットワーク等の通信チャネル上でを含む、既知のまたは所望される受渡し方法を使用して、ユーザ、プロセスプラントまたはオペレータ・ワークステーションに送達してもよい(その送達は、可搬格納媒体を介してこのようなソフトウェアを提供することと同じである、また置き換え可能である)。さらに、このソフトウェアは、通信チャネル上を伝送される前に、変調または暗号化を行わず直接的に提供されてもよく、または任意の適切な変調搬送波および/または暗号化技法を使用して変調および/または暗号化されてもよい。
【0053】
本発明は、一例に過ぎないことが意図され、本発明の制限とならないことが意図される、特定の例を参照して説明されてきたが、本発明の精神および範囲から逸脱することなく開示されている実施形態に変更、追加または削除を加え得ることは当業者にとって明らである。