(57)【要約】【課題】複合形状スケーリングの提供。【解決手段】複合形状サブエレメント関連パラメータは複合形状のサイズ変更中にサブエレメントがどうスケーリングされるかを決定する。グラフィックディスプレイエディタはスケーリングパラメータを使用しサイズ変更中に各サブエレメントに後から適用される多様なスケーリング係数を計算する。エディタは１つ以上の軸（長さ、幅、高さ、ＸＹＺ軸等）でサイズ変更のためにスケーリングパラメータをサブエレメントに適用し特定グラフィックディスプレイのために複合形状を調整する。エディタはスケーリングパラメータを各サブエレメントに直接適用しサブエレメントの歪みも防ぐ。スケーリングパラメータは実行時にパラメータが複合形状およびサブエレメントに適用されるように複合形状に連結される。スケーリングパラメータは複合形状と関連アニメーションの両方に適用され得る。【選択図】図７
2010218554.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータプログラムであって、その中に具現化されたコンピュータが読み取り可能なプログラムコードを有するコンピュータが読み取り可能な媒体を備え、前記コンピュータが読み取り可能なプログラムコードは、プロセスプラントにおいて使用するためのプロセス制御システムにおいて操作者表示部のために複合形状をスケーリングするための方法の実装を実行するように適合され、前記方法は、
前記プロセスプラント内のエンティティを図示する複合形状を表示するステップであって、前記複合形状は１つ以上のサブエレメントを含み、各サブエレメントは１つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは１つ以上のスケーリングパラメータを含み、各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義する、ステップと、
前記複合形状を１つ以上の寸法でサイズ変更するステップと、
サイズ変更した各寸法に対するスケーリング係数を計算するステップと、
１つ以上のスケーリング係数を、スケーリングパラメータに関連する各スケーリングされていないパラメータに適用するステップと、を含む、
コンピュータプログラム。
【請求項２】
前記サブエレメントは、スケーリングパラメータを含む、請求項１に記載のプログラム。
【請求項３】
前記複合形状を表示するステップは、前記１つ以上のサブエレメントをスケーリングキャンバス内に表示するステップを含む、請求項１に記載のプログラム。
【請求項４】
前記複合形状を１つ以上の寸法についてサイズ変更するステップは、前記１つ以上のサブエレメントを包含する前記スケーリングキャンバスをサイズ変更するステップを含む、請求項３に記載のプログラム。
【請求項５】
前記スケーリングキャンバスは、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎクラスの拡張を含む、請求項３に記載のプログラム。
【請求項６】
前記クラスは、Ｃａｎｖａｓクラスを含む、請求項４に記載のプログラム。
【請求項７】
各スケーリングパラメータは、対応するサブエレメントのスケーリング動作を制御する、請求項１に記載のプログラム。
【請求項８】
前記１つ以上のスケーリングされていないパラメータは、フォントサイズ、エッジ幅、角の丸み半径、幅、高さ、位置のうちの１つ以上を含む、請求項１に記載のプログラム。
【請求項９】
前記１つ以上のスケーリングされていないパラメータは、スケーリングパラメータを適用するためのベースライン値を含む、請求項１に記載のプログラム。
【請求項１０】
前記スケーリング係数は、前記スケーリングキャンバスの１つ以上のサイズ変更した寸法と１つ以上の対応するスケーリングされていないパラメータとの比を含む、請求項３に記載のプログラム。
【請求項１１】
前記スケーリングキャンバスは、前記１つ以上のスケーリングパラメータを含む、請求項１に記載のプログラム。
【請求項１２】
前記複合形状とサブエレメントのうちの１つ以上は前記１つ以上のスケーリングパラメータを含む、請求項１に記載のプログラム。
【請求項１３】
構成時に、各複合形状およびスケーリングパラメータを構成するステップと、実行時に、各構成された複合形状を構成されたスケーリングパラメータにバインドするステップと、をさらに含む、請求項１に記載のプログラム。
【請求項１４】
前記複合形状を１つ以上の寸法についてサイズ変更するステップは、構成時と実行時のうちの１つ以上で発生する、請求項１に記載のプログラム。
【請求項１５】
サイズ変更した各寸法に対する前記スケーリング係数を計算するステップは、構成時と実行時のうちの１つ以上で行われる、請求項１に記載のプログラム。
【請求項１６】
１つ以上のスケーリング係数を各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの１つ以上で行われる、請求項１に記載のプログラム。
【請求項１７】
プロセスプラント内の操作とエンティティのうちの１つ以上を表す１つ以上の複合形状をサイズ変更するよう前記プロセスプラントで使用するためのグラフィックディスプレイエディタであって、
複合形状のライブラリであって、前記複合形状の各々は、前記プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含み、前記複合形状は１つ以上のサブエレメントを含む、ライブラリと、
ユーザが、複合グラフィックオブジェクトの前記ライブラリから１つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することによって、実行可能なグラフィックディスプレイを定義することを可能にして、前記１つ以上の複合グラフィックオブジェクトの視覚表示が、ユーザに対して、前記グラフィックディスプレイの実行中にディスプレイ機器上に表示される様態を定義する、グラフィックベースのエディタキャンバスルーチンであって、前記ユーザは、前記複合グラフィックオブジェクトの前記コンポーネントオブジェクトの各々のスケーリング動作を制御することが可能になる、グラフィックベースのエディタキャンバスルーチンと、
前記ユーザが、１つ以上のスケーリングパラメータを複合形状の１つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンであって、前記複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ、各スケーリングパラメータは、前記複合形状に関連するサブエレメントのスケーリング動作を定義する、スケーリングキャンバスルーチンと、
前記ユーザが、前記エディタキャンバス内の前記複合形状の１つ以上の寸法を変更することを可能にする複合形状サイズ変更ルーチンであって、前記変更は、前記関連するスケーリングパラメータに従って前記複合形状の１つ以上のサブエレメントに適用される、複合形状サイズ変更ルーチンと、を備える、
グラフィックディスプレイエディタ。
【請求項１８】
前記複合形状の各々は、前記１つ以上のスケーリングパラメータを含む、請求項１７に記載のグラフィックディスプレイオブジェクト。
【請求項１９】
前記スケーリングキャンバスオブジェクトは、前記1つ以上のスケーリングパラメータを含む、請求項１７に記載のグラフィックディスプレイオブジェクト。
【請求項２０】
前記スケーリングキャンバスオブジェクトの各サブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項１７に記載のグラフィックディスプレイオブジェクト。
【請求項２１】
前記サブエレメントの各々の前記スケーリング動作は、サブエレメントの対応する寸法に適用される前記変更の程度を定義する、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２２】
前記１つ以上のスケーリングパラメータは、テキストフォント、サブエレメント境界線の太さ、前記複合形状内の前記サブエレメントの位置、前記サブエレメントのサイズ、および前記サブエレメントの角の丸み半径のうちの１つ以上を含む、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２３】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行時に、前記１つ以上のサブエレメントの歪みを排除する、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２４】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のテキストボックスのサブエレメントが、前記複合形状の１つ以上の他のサブエレメントに対して、一定のフォントサイズと位置とを保つことを可能にする、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２５】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のサブエレメントの境界線の太さが、前記複合形状の１つ以上の他のサブエレメントに対して、一定の太さと位置とを保つことを可能にする、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２６】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリングキャンバスの１つ以上のサイズ変更された寸法と１つ以上の対応するスケーリングされていないパラメータとの比を含む、スケーリング係数を計算することを可能にする、請求項１７に記載のグラフィックディスプレイエディタ。
【請求項２７】
前記１つ以上の対応するスケーリングされていないパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の１つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの１つ以上を含む、前記複合形状の１つ以上の変更前パラメータを含む、請求項２６に記載のグラフィックディスプレイエディタ。
【請求項２８】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリング係数を前記複合形状の１つ以上のサブエレメントの１つ以上の寸法に適用することをさらに可能にし、前記１つ以上のサブエレメントの各々は、１つ以上のスケーリングパラメータをさらに含む、請求項２６に記載のグラフィックディスプレイエディタ。
【請求項２９】
コンピュータが実行可能な命令を格納するための記憶装置と、前記命令を実行するためのプロセッサと、プロセス制御プラントのグラフィック表示における１つ以上の複合形状を表示するための表示部とを含む、前記プロセス制御プラントにおいて使用するためのコンピュータシステムであって、各複合形状は、前記プロセスプラント内の操作とエンティティとのうちの１つ以上を表し、前記システムは、
スケーリングキャンバスオブジェクト内の１つ以上のサブエレメントを含む１つ以上の複合形状を含むデータベースであって、各サブエレメントは１つ以上のスケーリングされていないパラメータを含む、データベースと、
前記プロセスプラントのグラフィック表示を表示するためのグラフィックヒューマン・マシンインターフェースと、を備え、前記インターフェースは、
構成時に、前記１つ以上のスケーリングパラメータを含む前記１つ以上の複合形状を構成し、および、実行時に、各構成された複合形状を、構成されたスケーリングパラメータにバインドするためであって、各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義し、
前記複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するためであって、前記サイズ変更されたキャンバスオブジェクトは１つ以上の変更された寸法を含み、
各変更された寸法に対してスケーリング係数を計算するためであって、前記スケーリング係数は、前記スケーリングキャンバスオブジェクトの１つ以上の変更された寸法と、１つ以上の対応するスケーリングされていないパラメータとの比を含み、
１つ以上のスケーリング係数を、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに適用するためのコンピュータが実行可能な命令を有する複合形状サイズ変更モジュールを含む、コンピュータシステム。
【請求項３０】
前記スケーリングキャンバスオブジェクトは、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ  Ｃａｎｖａｓクラスの拡張を含む、請求項２９に記載のコンピュータシステム。
【請求項３１】
前記複合形状サイズ変更モジュールは、前記複合形状の対応するサブエレメントのスケーリング動作を制御するためのコンピュータが実行可能な命令をさらに含む、請求項２９に記載のコンピュータシステム。
【請求項３２】
前記１つ以上のスケーリングされていないパラメータは、各サブエレメントの１つ以上の寸法に対応する１つ以上のベースライン値を含む、請求項２９に記載のコンピュータシステム。
【請求項３３】
前記１つ以上スケーリングパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の１つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの１つ以上を含む、請求項２９に記載のコンピュータシステム。
【請求項３４】
前記複合形状サイズ変更モジュールは、構成時と実行時のうちの１つ以上に前記１つ以上のスケーリング係数を適用するためのコンピュータが実行可能な命令を含む、請求項２９に記載のコンピュータシステム。
【請求項３５】
前記スケーリングキャンバスオブジェクトは、前記１つ以上のスケーリングパラメータを含む、請求項２９に記載のコンピュータシステム。
【請求項３６】
前記スケーリングキャンバスオブジェクトのサブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項２９に記載のコンピュータシステム。
【請求項３７】
前記複合形状の前記サブエレメントは、前記１つ以上のスケーリングパラメータを含む、請求項２９に記載のコンピュータシステム。
【請求項３８】
前記複合形状の前記サイズ変更されたスケーリングキャンバスオブジェクトを表示するステップは、構成時と実行時のうちの１つ以上で行われる、請求項２９に記載のコンピュータシステム。
【請求項３９】
変更された各寸法に対して前記スケーリング係数を計算するステップは、構成時と実行時のうちの１つ以上で行われる、請求項２９に記載のプログラム。
【請求項４０】
１つ以上のスケーリング係数を、前記スケーリングパラメータを含む、各サブエレメントの各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの１つ以上で行われる、請求項２９に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２００９年３月１３日出願の出願番号第１２／４０３，８１２号、名称「Ｓｃａｌｉｎｇ  Ｃｏｍｐｏｓｉｔｅ  Ｓｈａｐｅｓ  ｆｏｒ  ａ  Ｇｒａｐｈｉｃａｌ  Ｈｕｍａｎ−Ｍａｃｈｉｎｅ  Ｉｎｔｅｒｆａｃｅ」の一部継続出願であり、参照によりその内容全体を本明細書に明示的に組み入れる。
【０００２】
本発明は、概して、プロセスプラントに関し、より具体的には、プラントの構成、制御、保守およびシミュレーションに関連するコンポーネントおよび多様な操作のグラフィック表示のためのエディタ内の複合形状のスケーリングに関する。
【０００３】
関連技術の説明
【０００４】
化学、石油化学または他のプロセスにおいて使用されるような分散処理制御システムは、典型的に、アナログバス、デジタルバス、またはアナログとデジタルバスの組み合わせを経由して、１つ以上のフィールドデバイスに通信可能に連結された１つ以上のプロセスコントローラを含む。フィールドデバイスは、例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ（例えば、温度、圧力、レベルや流量センサなど）であり得、これらはプロセス環境内に配置され、バルブの開閉、プロセスパラメータの測定等のプロセス機能を実施する。ＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓプロトコルのような周知のＦｉｅｌｄｂｕｓ プロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスも、制御計算、警告機能、およびコントローラ内に通常実装される他の制御機能を実施することができる。プロセスコントローラは、これも典型的にはプラント環境内に配置され、フィールドデバイスにより行われたプロセス測定および／またはフィールドデバイスに関する他の情報を示す信号を受信して、例えば、プロセス制御決定を行う、受信した情報に基づいて制御信号を生成し、かつＨＡＲＴおよびＦｉｅｌｄｂｕｓ フィールドデバイス等のフィールドデバイスにおいて実行される制御モジュールまたはブロックと調整する、様々な制御モジュールを稼動するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信回線を通じて制御信号をフィールドデバイスに送信することにより、プロセスの動作を制御する。
【０００５】
フィールドデバイスおよびコントローラからの情報は、通常、データハイウェイを通じて、典型的に苛酷なプラント環境から遠隔の制御室または他の場所に配置された、操作者ワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等の１つ以上の他のハードウェアデバイスに提供される。これらのハードウェアデバイスは、例えば、操作者が、プロセス制御ルーチンの設定を変更する、コントローラまたはフィールドデバイス内の制御モジュールの動作を修正する、プロセスの現在の状態を表示する、フィールドデバイスおよびコントローラにより生成された警告を表示する、担当者の訓練またはプロセス制御ソフトウェアのテストの目的でプロセスの動作をシミュレーションする、構成データベースを保存および更新する等のプロセスに関する機能を実施することを可能にし得る、アプリケーションを稼動する。
【０００６】
例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔが販売するＤｅｌｔａＶ（登録商標）制御システムは、プロセスプラント内の多様な場所に配置された様々なデバイス内に格納され、これらにより実行される複数のアプリケーションを含む。構成アプリケーションは、１台以上の操作者ワークステーション内に常駐し、ユーザが、プロセス制御モジュールを作成または変更すること、およびデータハイウェイを経由してこれらのプロセス制御モジュールを専用分散コントローラにダウンロードすることを可能にする。典型的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックから構成され、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトで、これに対する入力に基づいて制御スキーム内で機能を実施し、制御スキーム内の他の機能ブロックに出力を提供する。また、構成アプリケーションは、設計者が、表示アプリケーションにより使用され、操作者にデータを表示する操作者インターフェースまたはヒューマンマシンインターフェース（ＨＭＩ）を作成または変更すること、および操作者が、プロセス制御ルーチン内の設定ポイント等の設定を変更することも可能にし得る。各専用コントローラ、および場合によっては、フィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを稼動するコントローラアプリケーションを格納および実行して、実際のプロセス制御機能を実装する。表示アプリケーションは、１台以上の操作者ワークステーション上で稼動され得、データハイウェイを経由してコントローラアプリケーションからデータを受信し、このデータをユーザインターフェースを使用してプロセス制御システム設計者、操作者、またはユーザに表示し、操作者の表示、エンジニアの表示、技術者の表示等のいくつかの様々な表示のうちのいずれかを提供することができる。データヒストリアンアプリケーションは、典型的に、データハイウェイを通じて提供されるデータの一部または全てを収集および格納するデータヒストリアンデバイスに格納およびこれにより実行されるが、一方で、構成データベースアプリケーションは、データハイウェイに付属されたまたさらなるコンピュータ内で稼動して、現在のプロセス制御ルーチン構成およびこれに関連するデータを格納することができる。代替として、構成データベースは、構成アプリケーションと同一のワークステーションに配置されてもよい。
【０００７】
プロセス制御環境において使用される制御およびサポートアプリケーションの数および種類が増加するにつれて、ユーザがこれらのアプリケーションを効果的に構成および使用することを可能にする様々なグラフィックディスプレイアプリケーションが提供されてきた。例えば、グラフィックディスプレイアプリケーションは、構成エンジニアがプロセスプラント内の制御デバイスにダウンロードされる制御プログラムをグラフィック的に作成することを可能にする制御構成アプリケーションをサポートするために使用されてきた。これに加えて、グラフィックディスプレイアプリケーションは、制御操作者がプロセスプラントの現在の機能またはプロセスプラントの領域を表示することを可能にし、保守担当者がプロセスプラント内のハードウェアデバイスの状態を表示することを可能にし、プロセスプラントのシミュレーションを可能にする、等のために使用されてきた。
【０００８】
グラフィックディスプレイアプリケーションによりサポートされるプロセス制御構成アプリケーションの中には、現在、プロセスプラントの制御ストラテジを作成するために使用される、機能ブロックテンプレートオブジェクト、および一部の場合には制御モジュールテンプレートオブジェクト等、テンプレートオブジェクトのライブラリを含むものがある。テンプレートオブジェクトは、これらに関連するデフォルトのパラメータ、設定および方法を有し、グラフィック構成アプリケーションを使用するエンジニアは、これらのテンプレートオブジェクトを選択し、基本的には、選択したテンプレートオブジェクトのコピーを構成画面に配置して制御モジュールを開発することができる。テンプレートオブジェクトは、１つ以上のサブエレメントまたはテンプレートオブジェクトのプリミティブも含むことができる。例えば、炉のテンプレートオブジェクトは、サブエレメントとして、バルブ、バルブ接続金具、および多様なテキスト領域を含むことができる。テンプレートオブジェクトを選択して構成画面に配置するプロセスの間、エンジニアは、これらのオブジェクトの入力と出力を相互接続し、これらのパラメータ、名前、タグおよび他のパラメータを変更して、プロセスプラントの特定の使用のための特定の制御モジュールを作成する。このような制御モジュールを１つ以上作成した後、エンジニアは、制御モジュールをインスタンス化して、プロセスプラントの動作中に実行するために、適切なコントローラおよびフィールドデバイスにダウンロードすることができる。
【０００９】
その後、エンジニアは、異なるグラフィックディスプレイ作成アプリケーションを使用して、ディスプレイ作成アプリケーションでディスプレイオブジェクトを選択および構築することにより、プロセスプラント内の操作者、保守担当者等のために１つ以上のディスプレイを作成することができる。これらのディスプレイは、典型的に、ワークステーションの１台以上にシステム全体ベースで実装され、プラント内の制御システムまたはデバイスの作動状態に関して、事前設定されたディスプレイを操作者または保守担当者に提供する。これらのディスプレイは、概して、プロセスプラント内のコントローラまたはデバイスにより生成された警告を受信および表示する警告ディスプレイ、プロセスプラント内のコントローラおよび他のデバイスの動作状態を示す制御ディスプレイ、プロセスプラント内のデバイスの機能状態を示す保守ディスプレイ等の形式を取る。しかしながら、これらのディスプレイは、概して、周知の様態で、プロセス制御モジュールまたはプロセスプラント内のデバイスから受信した情報またはデータを表示するように事前設定される。一部のシステムにおいては、ディスプレイは、物理的または論理的エレメントを表し、かつ、物理的または論理的エレメントに関するデータを受信するように物理的または論理的エレメントに通信可能に連結される、グラフィック表示により作成される。ディスプレイ画面上のグラフィックは、例えば、タンクの量が半分であるということを示す受信データ、流量センサにより測定された流量を示す等の受信データ等、一定のイベントに応答して変化することができる。
【００１０】
このように、制御構成アプリケーションに類似して、ディスプレイ作成アプリケーションは、タンク、バルブ、センサ、スライドバーのような操作者制御ボタン、オン／オフスイッチ等、任意の所望の構成で画面上に配置されて、操作者ディスプレイ、保守ディスプレイ等を作成することができる、テンプレートのグラフィックディスプレイアイテムを有することができる。テンプレートのグラフィックディスプレイアイテムは、しばしば、複合形状を作成する無数のネストされたサブエレメントを含む。例えば、タンクテンプレートのグラフィックディスプレイはポンプを含み、そのポンプは、楕円、矩形、直線、または他の形状等の無数の基本形状を含むことができる。画面上に配置されると、個別のグラフィックアイテムは、プロセスプラントの内部構造の何らかの情報またはディスプレイをユーザに提供する様態で画面上で相互接続され得る。グラフィックディスプレイをアニメーション化するには、ディスプレイ作成者は、グラフィックアイテムとプロセスプラント内の関連データソースとの間の通信リンクを指定することにより、センサにより測定されたデータまたはバルブ位置の指標等、プロセスプラント内で生成されたデータにグラフィック項目の各々を手動で連結することが必要である。
【００１１】
しばしば、同一の制御モジュールおよびグラフィックディスプレイの多数が、プロセスプラント内の異なる機器のために使用される。例えば、多数の中型から大型のプロセスプラントは、同一の基本的な汎用制御モジュールおよびディスプレイを使用して、制御および表示され得る同一または類似の機器の無数のインスタンスを有する。これらの無数の制御モジュールおよびディスプレイを作成するには、しかしながら、汎用の制御モジュールまたはディスプレイモジュールが作成されてから、この汎用の制御またはディスプレイモジュールが、適用可能な様々な個々の機器の各々にコピーされる。プロセス制御およびシミュレーションシステムのシステムレベルでグラフィックディスプレイエディタおよびグラフィックディスプレイエレメントを統合および使用するための一部の技術は、２００６年８月２２日出願の米国特許出願第１０／５９０，５７４号、名称「ＣＯＭＰＯＳＩＴＥ  ＳＨＡＰＥ  ＷＩＴＨ  ＭＵＬＴＩＰＬＥ  ＶＩＳＵＡＬＩＺＡＴＩＯＮＳ  ＩＮ  Ａ  ＰＲＯＣＥＳＳ  ＣＯＮＴＲＯＬ  ＥＮＶＩＲＯＮＭＥＮＴ」に説明され得、この開示全体を参照により本明細書に組み入れる。これらの技術は、概して、複合形状、またはプラント構成、制御、保守およびシミュレーションに関連する多様な操作における複合形状の作成および使用を可能にする。複合形状は、プロセス制御システム内のいずれかのプロセス、シミュレーションまたはタスクのために再使用可能および再構成可能である。
【００１２】
グラフィックディスプレイエディタを使用してプロセス制御およびシミュレーションシステムを構成する間、設計者は、グラフィックディスプレイ内のオブジェクトをそれぞれ表示するために複合形状を作成および構成することが必要である。例えば、操作者ディスプレイの操作者画面またはウィンドウ内にいくつかのプロセス制御システムコンポーネントを適切に表すために、設計者は、複合形状がウィンドウ内に適合し、プロセスにおいて使用される実際のコンポーネントを正確に表し、操作者に視覚的に注意を促す表示であることを保証し、または、相互に相対的なサイズおよび位置にあって正確および実践的な操作者ディスプレイまたはＨＭＩのためのシミュレーション環境を作成するように、複合形状をサイズ変更することがしばしば必要である。同様に、実行時の間、ユーザは、構成プロセスの間（または「構成時」）に作成された複合形状をサイズ変更して、操作者の好みに合わせる、または以前に作成されたディスプレイのレイアウトを編集することができる。しばしば、これらの複合形状は、いくつかの基本形状（例えば、矩形、直線等）、プリミティブ、サブエレメント、およびバルブ、パイプ接続金具、接続具等、複数のサブエレメントおよびテキスト形状から構成される他の複合形状を含む。例えば、複合形状として表されるタンク、ボイラー、キルン、または他のプロセス制御システムコンポーネントは、任意の数のサブエレメントを含む。
【００１３】
しかしながら、構成時または実行時に複合形状をサイズ変更する機能を含んでいた先行のグラフィックディスプレイエディタは、しばしば、サブエレメントの視覚パラメータを歪めることがあった。例えば、一部のグラフィックディスプレイエディタは、所望の空間を埋めるために複合形状の伸長を可能にするパネルまたはコンテンツデコレータを採用していた。コンテンツデコレータの一実施例は、概して、多様な寸法（例えば、Ｘ、ＹおよびＺ軸、高さ、幅および長さなど、単一または組み合わせ）において複合形状のサイズ変更を許容するＷｉｎｄｏｗｓ（登録商標）Ｐｒｅｓｅｎｔａｔｉｏｎ  ＦｏｕｎｄａｔｉｏｎのＶｉｅｗＢｏｘクラスである。しかしながら、標準のコンテンツデコレータを使用するサイズ変更は、望ましくない動作となる。例えば、ＶｉｅｗＢｏｘデコレータを使用してサイズ変更すると、複合形状およびサブエレメントの歪み部分は、著しく、太くなる、伸長する、狭くなる、位置が乱れる、または他の望ましくない視覚的特徴となってしまう。さらに、サイズ変更中にアスペクト比が固定された場合でも、一部のサブエレメントは他に対して視覚的に適切な関係を維持する一方で、ＶｉｅｗＢｏｘを使用すると、テキスト部分は、不適切に大きくまたは小さくなり、テキストまたはエレメントの境界線が望ましくないほど太くなったり、細くなったりした。
【００１４】
先行の解決策は、複合形状のサイズ変更中、およびアスペクト比を固定したエレメントをサイズ変更中に、上記の歪みに具体的には対応しなかった。ユーザインターフェースウィンドウに表示された画像は、論理グループに関連付けられていた。例えば、２つ以上のグラフィックエレメントは、１つの論理グループとして一緒にグループ化されていた場合がある。ユーザが、いくつかのグラフィックエレメントからそれぞれ構成される論理グループをいくつか表示したウィンドウの第１の寸法を変更した場合（つまり、ウィンドウの高さまたは幅の何らかの組み合わせを変更する）、画像のアスペクト比は固定され、画像はユーザがウィンドウの寸法を変更した程度にまでサイズ変更され得る。例えば、ユーザがウィンドウの高さを低くすると、いくつかの論理グループ内のグラフィックエレメントの全ては、低くなり得る（例えば、ボックス内に囲まれたテキストを含むグラフィックエレメントの場合、テキストは、フォントサイズが小さくなり、テキストを囲むボックスは低くなるので、したがって、各論理グループは、これに応じて低くなり、エレメントが歪むようになる）。しかしながら、ユーザがウィンドウの第２の寸法を変更した場合、画像のサイズは変化せず、その代わりに、論理グループの数が、拡大または縮小された空間に合わせて変化する。論理グループが概してウィンドウの幅に沿って整列していた場合、ウィンドウの幅が減少しても論理グループは形状を変化しなかった（つまり、グラフィックエレメントおよび論理グループは、したがって細くならなかった）。むしろ、第２の寸法の減少の程度に応じて、表示される論理グループの数が減少した。例えば、ユーザが本来は５つの論理グループを表示していたウィンドウを、ウィンドウが４つ半の論理グループだけに適する程度までウィンドウのサイズを減少した場合、表示される論理グループの数は、グループ内のオブジェクトの一般寸法を変更しないように、整数のグループに切り捨てられた可能性がある。
【００１５】
他の解決策は、複合形状の「ディープコピー」の修正が必要であった。ディープコピーは、ＪＰＥＧまたは他の形式のデジタルグラフィック画像などのファイルであり得、簡単なサイズの変更とは異なり、概して永久的と考えられる。例えば、構成時の間に構成エンジニアまたは他のユーザにより作成された複合形状は、概して、ディープコピーと考えられ得る。単に複合形状のディープコピーをサイズ変更することにより、前述のように歪んだサブエレメントとなった。したがって、構成時にユーザは、複合形状ライブラリのために、所望された複合形状のサイズ変更インスタンス各々に対する、新しい、歪みのない複合形状を作成することを余儀なくされる。例えば、複合形状ライブラリに低いタンクと高いタンクの両方を含めることが所望された場合、これらのタンクの両方のバージョンはサイズが等しい入り口および出口ポートを含むが、低いタンクを作成してそれを伸長するだけでは、タンクは所望の高さではあるが、入り口および出口ポートも伸長されてしまう可能性がある。低いタンクを伸長して作成された高いタンクは、少なくとも歪んだ入り口および出口ポートを有することになる。このように、正常なタンクと高いタンクの両方が構成時に作成されなければならなくなる。同様に、実行時のユーザが異なるサイズのタンクが表示されることを所望した場合、ユーザは、複合形状内の各個別のサブエレメントを個別に修正することにより、複合形状ライブラリ内のその本来のディープコピーの形式の複合形状を編集して、適切なアスペクト比を維持することを余儀なくされる。所望のスケーリングが達成されると、構成時または実行時のユーザは、修正した複合形状を、本来の複合形状の新規または代替のディープコピーとして保存し、その修正したエレメントをディスプレイに配置することが可能であった。この例に引き続いて、ユーザがタンクの入り口および出口ポートは標準のサイズに保つが、タンクの高さを変更することを希望した場合、ユーザは、タンクの複合形状のディープコピーを開いて修正しなければならなくなる。他のグラフィックディスプレイのためのいかなるさらなる修正も、ディープコピーのさらなる修正が必要となる。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】米国特許番号第７，１１０、８３５号
【発明の概要】
【発明が解決しようとする課題】
【００１７】
このように、先行のグラフィックディスプレイエディタは、複合形状のアスペクト比を固定することによりサイズ変更の歪みに対応してきたため、直線が不必要に太くなり、テキストが伸長し、表示されるサブエレメントの数を切り捨てることになって情報の量または表示されるオブジェクトの量が減少し、かつ他の望ましくない歪みが発生することになった。他の方法は、サイズ変更のたびに、共通の複合形状のディープコピーの修正が必要であった。この結果、グラフィックエディタは、これらが存在する範囲では、アスペクト比を固定することによって複合形状の全てのサブエレメントをサイズ変更し、かつ歪める、ディスプレイウィンドウ内にいくつかの論理グループを追加または排除する、または複合形状のディープコピーの修正を必要とするというような、「妥協を許さない」アプローチによってユーザが共通のグラフィックエレメントをサイズ変更することしか可能ではなかった。
【課題を解決するための手段】
【００１８】
プロセスプラントにおいて実行され得る１つ以上のグラフィックディスプレイの部分またはコンポーネントとして使用されるための複合形状が提供され、プロセスプラント環境に関する情報をユーザに表示する。複合形状のサブエレメントに関連するスケーリングおよびベースラインまたはスケーリングされていないパラメータは、複合形状のサイズ変更中にサブエレメントがどのようにスケーリングされるかを決定することができる。グラフィカルディスプレイエディタは、パラメータを使用して、サイズ変更中に各複合形状のサブエレメントにその後適用される多様なスケーリング係数を計算することができる。エディタは、１つ以上の軸（例えば、長さ、幅、および高さ、またはＸ、ＹおよびＺ軸等）におけるサイズ変更のためにスケーリングパラメータをサブエレメントに適用して、特定のグラフィックディスプレイおよび構成時または実行時のユーザの好みに合わせて複合形状を調整することができる。エディタは、スケーリング係数を各サブエレメントに直接適用して、これらのサブエレメントの一切の歪みを防ぐことができる。複合形状のサブエレメントのスケーリングパラメータは、構成時にディープコピーを作成する間に調整され得るか、または、実行時にユーザにより修正され得、ベースラインまたはスケーリングされていないパラメータとの関係において、複合形状全体および個別のサブエレメントに関して、スケーリング係数が有する影響（有する場合）を制御する。構成されたスケーリングパラメータは、次に、構成時および実行時の両方で、サイズ変更動作中にパラメータが複合形状およびそのサブエレメントに適用されるように、複合形状に連結され得る。複合形状がサブエレメントとしてネストされた複合形状を含む場合、パラメータは、サイズ変更動作中に再帰的に適用され得る。スケーリングパラメータは、複合形状とアニメーションの両方に適用され得る。
【００１９】
プロセスプラントにおいて使用されるプロセス制御システムにおける操作者ディスプレイのための複合形状をスケーリングする一実施例は、プロセスプラント内のエンティティをグラフィックに示す複合形状を表示することを含むことができる。複合形状は、１つ以上のサブエレメントを含むことができ、各サブエレメントは１つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは１つ以上のスケーリングパラメータを含む。各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義することができる。スケーリングは、複合形状の１つ以上の寸法についてサイズ変更すること、各サイズ変更された寸法に対してスケーリング係数を計算すること、および、１つ以上のスケーリング係数をスケーリングパラメータに関連する各スケーリングされていないパラメータに適用することも含むことができる。
【００２０】
グラフィックディスプレイエディタは、プロセスプラントにおいても使用され得、プロセスプラント内の動作とエンティティのうちの１つ以上を表す１つ以上の複合形状をサイズ変更する。グラフィックディスプレイエディタは、複合形状のライブラリを含むことができ、複合形状の各々は、プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含む。複合形状は、１つ以上のサブエレメントも含むことができる。エディタは、複合グラフィックオブジェクトのライブラリから１つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することにより、ユーザが実行可能なグラフィックディスプレイを定義することを可能にして、１つ以上の複合グラフィックオブジェクトのどの視覚表示が、グラフィックディスプレイの実行中にユーザに対してディスプレイデバイスに表示されるかの様態を定義する、グラフィックベースエディタキャンバスルーチンを含むことができる。さらに、グラフィックベースエディタキャンバスルーチンは、ユーザが、複合グラフィックオブジェクトのコンポーネントオブジェクトの各々のスケーリング動作を制御することを可能にし得る。別のエディタルーチンは、ユーザが、１つ以上のスケーリングパラメータを複合形状の１つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンを含むことができ、複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ得、各スケーリングパラメータは、複合形状に関連するサブエレメントのスケーリング動作を画定することができる。また、複合形状サイズ変更ルーチンは、ユーザが、エディタキャンバス内の複合形状の１つ以上の寸法を修正することを可能にし得、修正は、関連するスケーリングパラメータに従って、複合形状の１つ以上のサブエレメントに適用され得る。
【００２１】
コンピュータシステムも、プロセス制御プラントにおいて使用されるための複合形状をスケーリングするために使用され得る。例えば、各複合形状が、プロセスプラント内の動作とエンティティとのうちの１つ以上を表すことができる場合、システムは、１つ以上の複合形状を備えるデータベースと、プロセスプラントの視覚表示を表示するためのグラフィックヒューマンマシンインターフェースとを含むことができる。データベース内の複合形状は、スケーリングキャンバスオブジェクト内の１つ以上のサブエレメントを含むことができ、各サブエレメントは、１つ以上のスケーリングされていないパラメータを含み、グラフィックヒューマンマシンインターフェースは、コンピュータシステムのプロセッサ上で実行される複合形状サイズ変更モジュールを含むことができる。モジュールは、構成時に、１つ以上のスケーリングパラメータを含む１つ以上の複合形状を構成するため、および、実行時に各構成された複合形状を構成されたスケーリングパラメータにバインドするための命令を含むことができる。各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義することができる。モジュールは、複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するための命令も含むことができ、サイズ変更されたスケーリングキャンバスオブジェクトは、１つ以上の変更された寸法を含むことができる。さらに、モジュールは、各変更された寸法に対してスケーリング係数を計算するための命令を含むことができ、スケーリング係数は、スケーリングキャンバスオブジェクトの１つ以上の変更された寸法と、１つ以上の対応するスケーリングされていないパラメータとの比を含むことができる。モジュール命令は、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに１つ以上のスケーリング係数を適用することもできる。
【図面の簡単な説明】
【００２２】
【図１】プロセスプラント内に配置される分散処理制御ネットワークのブロック図であり、プロセスプラント内の多様な機能に関連するディスプレイルーチンおよび他のアプリケーションを実装する操作者ワークステーション、ならびに、プラントの多様な機能領域の各々に複合形状およびグラフィックディスプレイを作成およびサイズ変更するために使用され得るシステムレベルのグラフィックサポートを提供するワークステーションを含む。
【図２】プロセスプラント制御、表示、およびシミュレーションシステム内のシステムレベルのグラフィックサポートの統合を示す論理的ブロック図である。
【図３】複合形状およびディスプレイが作成される構成環境と、複合形状およびディスプレイが実行され得る実行時環境を示す論理的ブロック図である。
【図４ａ】スケーリングされていない複合形状の図である。
【図４ｂ】スケーリングパラメータを適用せずにサイズ変更した後の複合形状の図である。
【図４ｃ】１つ以上のスケーリングパラメータを使用してサイズ変更後の複合形状の図である。
【図５ａ】構成時の複合形状を表示する、グラフィックエディタにより作成されたディスプレイ画面である。
【図５ｂ】Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第１の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図５ｃ】Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第２の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図６ａ】実行時のグラフィックディスプレイを示すディスプレイ画面である。
【図６ｂ】Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第１の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図６ｃ】Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第２の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図７】複合形状が歪むことなく構成時と実行時にサイズ変更され得る１つの様態を示すブロック図である。
【発明を実施するための形態】
【００２３】
図１は、例示的なプロセスプラント１０を示し、ここでシステムレベルのグラフィックサポートがプラント１０の多様な機能領域に提供される。典型的に、プロセスプラント１０は、１つ以上のコントローラ１２を有する分散処理制御システムを含み、コントローラ１２の各々は、例えば、Ｆｉｅｌｄｂｕｓインターフェース、Ｐｒｏｆｉｂｕｓインターフェース、ＨＡＲＴインターフェース、標準４−２０ｍＡインターフェース等であり得る、入力／出力（Ｉ／Ｏ）デバイスまたはカード１８を経由して１つ以上のフィールドデバイス１４および１６に接続される。コントローラ１２は、例えば、イーサネット（登録商標）リンクであり得るデータハイウェイ２４を経由して、１台以上のホストまたは操作者ワークステーション２０〜２３にも接続される。データベース２８は、データハイウェイ２４に接続され得、プラント１０内のコントローラおよびフィールドデバイスに関連するパラメータ、ステータスおよび他のデータを収集および格納するデータヒストリアンとして、および／または、コントローラ１２およびフィールドデバイス１４および１６にダウンロードされて格納されると、プラント１０内のプロセス制御システムの現在の構成を格納する構成データベースとして作動することができる。データベース２８は、これに加えて、本明細書に説明される様態で作成されるグラフィックオブジェクトを格納して、プロセスプラント１０内のグラフィックサポートを提供することができる。コントローラ１２、Ｉ／Ｏカード１８ならびにフィールドデバイス１４および１６は、典型的に、時には過酷なプラント環境内に配置および全体に分散されるが、操作者ワークステーション２０〜２３およびデータベース２８は、通常、制御または保守担当者により容易に評価可能な管理室または他のあまり過酷ではない環境に配置される。しかしながら、場合によっては、これらの機能を実装するためにハンドヘルドデバイスが使用され得、典型的に、これらのハンドヘルドデバイスはプラントの多様な場所に持ち運ばれる。
【００２４】
周知のように、例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔが販売するＤｅｌｔａＶ（登録商標）であってもよい、コントローラ１２の各々は、任意の数の様々な、独立的に実行される制御モジュールまたはブロック２９を使用して制御ストラテジを実装するコントローラアプリケーションを格納および実行する。制御モジュール２９の各々は、一般的に機能ブロックと称されるものから成り得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、他の機能ブロックと関係して（リンクと呼ばれる通信を経由して）動作して、プロセスプラント１０内のプロセス制御ループを実装する。周知のように、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトであり得、典型的に、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスと関連するような入力機能、ＰＩＤ、ファジーロジック等の制御を実施する制御ルーチンに関連するような制御機能、またはバルブ等の何らかのデバイスの作動を制御する出力機能のうちの１つを実施して、プロセスプラント１０内の何らかの物理的機能を実施する。当然のことながら、モデル予測コントローラ（ＭＰＣ）、オプティマイザ等のハイブリッドおよび他のタイプの複雑な機能ブロックが存在する。ＦｉｅｌｄｂｕｓプロトコルおよびＤｅｌｔａＶシステムプロトコルは、オブジェクト指向プログラミングプロトコルにおいて設計および実装される制御モジュールおよび機能ブロックを使用するが、例えば、シーケンシャル機能ブロック、ラダーロジック等を含むいずれかの所望の制御プログラミングスキームを使用する制御モジュールが設計され得、機能ブロックまたは他の任意の特定のプログラミング技法を使用して設計および実装されることに限定されない。
【００２５】
図１に示されたプラント１０においては、コントローラ１２に接続されたフィールドデバイス１４および１６は、標準の４−２０ｍＡデバイスであってもよく、または、ＨＡＲＴ、Ｐｒｏｆｉｂｕｓ、またはＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等の、プロセッサおよびメモリを含むスマートフィールドデバイスであってもよく、または他の任意の所望のタイプのデバイスであってもよい。Ｆｉｅｌｄｂｕｓフィールドデバイス（図１の参照番号１６）等のこれらのデバイスの中には、コントローラ１２に実装される制御ストラテジに関連する、モジュール、または機能ブロック等のサブモジュールを格納および実行できるものがある。機能ブロック３０は、図１ではＦｉｅｌｄｂｕｓフィールドデバイス１６のうちの２つの異なるデバイスに配置されると示されているが、周知のように、コントローラ１２内の制御モジュール２９の実行とともに実行され得、プロセス制御を実装する。当然のことながら、フィールドデバイス１４および１６は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであり得、Ｉ／Ｏデバイス１８は、ＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、Ｐｒｏｆｉｂｕｓ等の任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのＩ／Ｏデバイスであり得る。
【００２６】
図１のプロセスプラント１０において、ワークステーション２０〜２３は、プラント１０内の同一または異なる担当者により実施される多様な異なる機能のために使用される、多様なアプリケーションを含むことができる。ワークステーション２０〜２３の各々は、多様なアプリケーション、プログラム、データ構造等を格納するメモリ３１と、メモリ３１に格納されたアプリケーションのいずれかを実行するために使用され得るプロセッサ３２とを含む。図１に示された実施例において、ワークステーション２０は、構成ワークステーションとして指定され、１つ以上の構成アプリケーション３３を含み、構成アプリケーションは、例えば、制御モジュール作成アプリケーション、操作者インターフェースアプリケーションおよび他のデータ構造を含むことができ、これらは、いずれかの承認された構成エンジニアによってもアクセスされ得、制御モジュール２９および３０等の制御ルーチンまたはモジュールを作成され、プラント１０の多様なコントローラ１２およびデバイス１６にダウンロードされる。ワークステーション２１は、概して、図１には制御操作者表示ワークステーションとして示され、プロセスプラント１０の動作中に多様なディスプレイを制御操作者に提供することができる、いくつかのディスプレイアプリケーション３４を含み、操作者が、プロセスプラント１０内またはプラントの多様なセクションで行われている内容を表示および制御することを可能にする。アプリケーション３４は、制御機能を実施する際に制御操作者を支援するために使用され得る、制御診断アプリケーション、調整アプリケーション、レポート生成アプリケーションまたは他の任意の制御サポートアプリケーション等のサポートアプリケーション３４ａを含むことができる。同様に、ワークステーション２２は、保守表示ワークステーションとして示され、プラント１０の保守ニーズを表示するため、または多様なデバイス１２、１４、１６等の動作または作業状態を表示するために、多様な保守担当者により使用され得るいくつかの保守アプリケーション３５を含む。当然のことながら、アプリケーション３５は、プラント１０内の保守機能を実施する際に保守担当者を支援するために使用され得る、保守診断アプリケーション、較正アプリケーション、振動分析アプリケーション、レポート生成アプリケーションまたは他の任意の保守サポートアプリケーション等のサポートアプリケーション３５ａを含むことができる。これに加えて、ワークステーション２３は、トレーニング目的のため、プラントの保守および制御を支援するプラントモデル化の目的のため等、を含むいくつかの目的のために、プラント１０またはプラント１０の多様なセクションの動作をシミュレーションするために使用され得る、いくつかのシミュレーションアプリケーション３６を含むシミュレーションワークステーションとして示される。典型的に、ワークステーション２０〜２３の各々は、ディスプレイ画面３７に加えて、キーボード、マウス等の他の標準の周辺機器を含む。
【００２７】
当然のことながら、多様な構成、制御、保守およびシミュレーションのアプリケーション３３〜３６は、図１では、これらの機能のうちの１つを専用とする様々なワークステーションに配置されるように示されているが、これらの、または他のプラント機能に関連する多様なアプリケーション３３〜３６は、プラント１０のニーズおよびセットアップに応じて、プラント１０内の同一もしくは異なるワークステーションまたはコンピュータに配置および実行され得ることが理解されるであろう。このように、例えば、１つ以上のシミュレーションアプリケーション３６および制御アプリケーション３３は、同一のワークステーション２０〜２３で実行され得るが、異なる個別のシミュレーションアプリケーション３６または異なる個別の制御アプリケーション３３は、ワークステーション２０〜２３のうちの異なる１つにおいて実行され得る。
【００２８】
米国特許出願第１０／５９０、５７４号に説明されているように、各プラントレベルの様々なグラフィックエディタおよびパッケージの非効率を軽減するため、およびプラント１０内のグラフィックの利用範囲を広範にし、理解できるようにするために、プロセスプラント１０のシステムレベルにはグラフィックサポート層が提供されて、プラント１０の構成、操作者表示、保守表示、シミュレーションおよび他の機能領域等を含む、プラント１０の多様な機能領域の各々のグラフィックディスプレイおよびデータ構造のニーズをサポートする。このシステムレベルのサポートは、図２において模式的に表され、プラント動作レベル４０、プラント機能レベル４２およびシステムレベル４４を示す。図２から理解されるように、プラント動作レベル４０は、制御ルーチンまたはモジュール２９および３０、ならびにプラント１０内の他のソフトウェア稼動を実行して、プラントの実行時中にプラント動作を実装する他のソフトウェアを実行する、コントローラ１２、フィールドデバイス１４、１６等、を含む。プラント機能レベル４２は、構成機能ブロック４６、制御機能ブロック４７、保守機能ブロック４８およびシミュレーションブロック４９を含むように表されているが、エンジニアリングおよびビジネス機能等の他のまたは異なる機能も提供される可能性がある。構成機能ブロック４６は、プラント動作レベル４０内のコンポーネントとインターフェースまたは通信する構成ルーチン３３を実装して、そこに制御ストラテジまたは制御モジュールを提供する。制御機能ブロック４７は、制御表示および他のアプリケーション３４および３４ａを含み、これらは、典型的に、プラント動作レベル４０内の多様な物理的および論理的コンポーネントとも直接インターフェースまたは通信して、プラント１０内の操作者が行った変更を実装、制御ディスプレイ３４を介して操作者に情報を提供、制御アプリケーション３４ａのためにデータを取得等する。保守機能ブロック４８は、保守ルーチンおよびアプリケーション３５および３５ａを含み、これらは、プラント動作レベル４０内の多様な物理的および論理的コンポーネントとインターフェースまたは通信して、保守手順を実装、保守データを収集、保守ディスプレイ３５を経由して保守データまたは情報を保守担当者に提供、診断アプリケーション３５ａを実行等する。同様に、シミュレーション機能ブロック４９は、シミュレーションルーチン３６を含み、これは、プラント１０のシミュレーションを実装、かつプラント動作レベル４０内のコンポーネントに通信可能に結合され得、プラント１０に関するデータを取得する。
【００２９】
図２に示されているように、システムレベルサポート層４４は、プラント機能層４２内の各機能ブロック４６〜４９に結合し、かつこれをサポートして、例えば、多様な機能領域４６〜４９において使用するためのソフトウェアオブジェクト、複合形状およびグラフィックディスプレイ等の共通のデータベースおよびディスプレイ構造の作成および保守を可能にする。より具体的には、システムレベルサポート層４４は、システムサポート層４４で作成された共通のデータベース構造および複合形状を使用して統合または開発された機能ブロック４６〜４９の各々において実施されるグラフィック動作を可能にする、アプリケーション、データベース、グラフィックサポートエレメントを含む。
【００３０】
システムサポート層４４は、グラフィックエディタ５０とグラフィックオブジェクトデータベース５２とを含むことができる。グラフィックエディタ５０は、複合形状５４およびグラフィックディスプレイ５６を作成するために使用され得るが、一方で、グラフィックオブジェクトデータベース５２は、エディタ５２、およびブロック４６〜４９の多様なアプリケーションによりアクセス可能なメモリに複合形状５４およびディスプレイ５６を格納する。データベース５２は、複合形状５４のためのサブエレメント等の他のオブジェクト５８と、プラント動作レベル４０内の個別のハードウェアおよびソフトウェアエレメントに複合形状５４を接続するデータ構造もまた格納することもできる。これに加えて、データベース５２は、さらなる複合形状またはディスプレイを作成するために使用され得るテンプレート、サブエレメントおよびプリミテティブを格納することができる。図２から理解されるように、グラフィックディスプレイエレメント５４、ディスプレイ５６および他のデータベース構造５８は、機能ブロック４６〜４９のうちのいずれかまたは全てにより使用され得、これらの機能ブロックに関連するグラフィックを作成および使用する。
【００３１】
一般的に、システムレベルサポートブロック４４は、機能領域４６〜４９の全てにおいて、図１のプロセスプラント１０において使用されるグラフィックを統合する様態を提供し、これによって、様々な機能的状況における同一のプラント機器のために様々な複合形状を繰り返して作成する必要性を軽減または排除し、かつ、機能領域４６〜４９の各々においてユーザが、これらの機能領域に関連するグラフィック表示において表示される機器に関連するデータを結合しやすくする。理解されるように、システムレベルサポート層４４は、機能領域４６〜４９の様々な領域における様々なアプリケーション等のために、機能領域４６〜４９の各々における複数のアプリケーションをサポートするグラフィックとデータベースを提供するために使用され得る。
【００３２】
再び図１を参照すると、システムレベルサポートブロック４４は、他のワークステーション２０〜２３の各々に接続され得る、追加のワークステーションまたはユーザインターフェース６０を使用して実装され得る。ワークステーション６０は、概して、グラフィックエディタ５０およびデータベース５２を格納することができ、所望される場合は、他のエレメント５４、５６および５８を格納することができる。これに加えて、ワークステーション６０は、データバス２４を経由、別の有線または無線通信接続（図１において破線で示される）を経由、または他の任意の所望の様態において、ワークステーション２０〜２３と通信可能に接続され得る。図１に示された構成においては、ワークステーション６０は、ディスプレイエディタ５０を格納および実行して、ユーザが、サブエレメントを含む複合形状および他の複合形状を作成すること、および形状を１つ以上のグラフィックディスプレイまたはディスプレイモジュールにグループ化することを可能にする。これらのディスプレイモジュールは、次に、データベース５２に格納され得、図２に示される多様な機能ブロック４６〜４９によりアクセスおよび使用され、かつ多様なワークステーション２０〜２３上に実装されるように、データベース５２に格納されてもよい。説明のために、システムレベルブロック４４の機能および機能レベルブロック４６〜４９は、図１においては異なるまたは個別のワークステーション２０〜２３および６０上に実装されるように示されるが、これらの多様なブロックのいずれかに関連するアプリケーションのいずれかまたは全ては、プロセスプラント１０内またはプロセスプラント１０に関連する同一または様々なワークステーションまたは他のコンピュータ上に実装されることが可能であることが理解されるであろう。このように、グラフィックエディタ５０は、プラント１０に関連する他のワークステーション２０〜２３のいずれか、または他のいずれかのコンピュータに格納および実行され得、スタンドアロンまたは別のコンピュータにある必要はない。
【００３３】
上記のように、図２のシステムレベル層４４は、システムレベルディスプレイおよびデータベースオブジェクトを実装し、これらは、多様な機能環境で使用され得るとともにレベルがさらに高いディスプレイ機能を提供する。一般的に、図２のシステムレベル４４で作成されたディスプレイオブジェクトは、複合形状とグラフィックディスプレイとに分類され得る。複合形状は、概して、バルブ、センサ、ポンプ、コントローラ、タンク、反応炉、バーナー、パイプ、パイプ接続金具等のハードウェアデバイスなど、プラント内の具体的な物理的エンティティに関連するディスプレイオブジェクトである。グラフィックディスプレイは、概して、一連の相互接続された複合形状から成り、ユニット、領域等のプラント内のより複雑な一連のハードウェアを表示およびモデル化するために使用され、様々なハードウェアユニット間の相互接続を含む。複合形状は、それ自体が複合形状であり得る、複数のサブエレメントから成り得る。つまり、複合形状７４は、ネストされ得る。例えば、反応炉のグラフィックディスプレイ内のタンクの複合形状は、バルブ、パイプ接続金具、センサ、攪拌機等の１つ以上の複合形状を含むことができ、各々は、矩形、楕円、直線等から成る。同様に、グラフィックディスプレイも１つ以上の複合形状を含むことができる。これに加えて、グラフィックディスプレイは、プラントから、ワークステーション２０〜２３および６０で稼動する診断およびビジネスアプリケーション等の他のアプリケーション等から提供されるグラフ、チャートおよび他のデータを含むことができる。
【００３４】
図３は、概して、これらのエレメントおよびディスプレイが存在する場合がある、具体的には構成環境７０および実行時環境７２の、２つの環境における複合形状およびグラフィックディスプレイの開発および使用を示す。一般的には、複合形状７４（別個のエレメントオブジェクト７４ａ、７４ｂ等として示される）およびグラフィックディスプレイ７６（別個のディスプレイオブジェクト７６ａ、７６ｂ等として示される）の形態のディスプレイオブジェクトは、例えば、ディスプレイエディタ５０を使用して、構成環境７０において作成される。作成後、オブジェクト７４および７６は、データベース５２に格納され得る。オブジェクト７４および７６は、本明細書ではディスプレイクラスオブジェクトと称されるクラスオブジェクトとして作成され得、プロセスプラント１０内の特定のハードウェアまたは論理エレメントにはバインドまたは結合されない一般的なオブジェクトを定義する。しかしながら、クラスオブジェクトは、クラスオブジェクトと同一の基本的プロパティを有する実行時グラフィックオブジェクトを作成するために使用され得るが、プロセスプラント１０内の特定のハードウェアに結合またはバインドされる。一般的には、しかしながら、クラスオブジェクトは、そこからインスタンス化された子オブジェクトに結合されたままであるので、クラスオブジェクトに対する変更は、これらの子オブジェクトが実行時環境内でインスタンス化される場合であっても、子オブジェクトに自動的に反映され得る。
【００３５】
図３に示されるように、複合形状７４の各々は、多数の異なる状況において有用な複合形状を作成するいくつかのコンポーネントを含む。具体的には、各複合形状７４は、１つ以上のグラフィックエレメントまたはサブエレメント７７、任意の数のパラメータまたはプロパティ７８、任意の数のアクションまたはアニメーション７９を含み、これらは、スクリプトまたはトリガ、およびバインディング８０を使用して実装され得る。一般的に、各エレメント７７、７８、７９、８０は、複合形状７４が実行時環境７２に実装されると、ディスプレイ画面上に実際に表示される視覚プロパティまたはエレメントを定義する。典型的に、複合形状は、物理的または論理的デバイスまたはデバイス群のグラフィック表示を定義するが、複合形状は他のエンティティを表す可能性がある。複合形状７４は、エンティティのグラフィック表示の仕様を定義する任意の所望の記述またはプログラミングパラダイムを使用して、実行時環境７２に実装され得る。一実施形態において、複合形状７４は、ＰＧＸＭＬ、ＸＡＭＬ、またはＭｉｃｒｏｓｏｆｔ（登録商標）により提供される周知の制御であり、オブジェクトベースであるため、標準のＷｉｎｄｏｗｓ（登録商標）タイプのディスプレイに容易に実装され、ディスプレイ環境間で移植可能である、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ（ＷＰＦは旧称「Ａｖａｌｏｎ」）制御を使用して実施され得る。
【００３６】
複合形状７４のサブエレメント７７は、複合形状７４の構成要素である基本的な形状を含むことができる。前述のように、サブエレメントは、矩形、楕円、曲線、直線、および他の基本形状を含むことができ、操作されて組み合わされると、タンク、バルブ、パイプ接続金具または他のオブジェクトのグラフィック表示を形成する。サブエレメント７７は、それ自体、複合形状７４であり得、複雑なネストされた構造を作成する。したがって、サブエレメント７７は、以下に詳細を説明するように、パラメータ／プロパティ７８、アクション／アニメーション７９、およびバインディング８０のうちの１つ以上をもまた含むこともできる。
【００３７】
一般的に、パラメータおよびプロパティ７８は、表示される形状またはエンティティに関連する、変数、または静的または変更可能な固有パラメータ等の他のパラメータを定義し、これらのパラメータは形状７４の作成者により定義可能である。一部の実施形態において、パラメータは、スケーリング中に複合形状７４の関連するサブエレメントがどのように動作するかに関連する。例えば、パラメータ７８は、複合形状のサイズ変更時に、複合形状内の関連するサブエレメントが、伸長または他の望ましくない動作を見せずに、スケーリングするように、定義され得る。スケーリングパラメータの一部の実施例は、以下に詳細を説明するように、複合形状のラベルおよび複合形状の他のテキスト部分のフォントサイズ、エッジ幅、角の丸み半径、サイズスケール、および位置スケールである。パラメータは、構成時および実行時の両方でサイズ変更操作中に形状に適用することができる。複合形状７４は、インターフェースも実装することができて、以下に詳細を説明するように、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナがサイズ変更に関連するパラメータにアクセスすることを可能にする。このように、パラメータおよびインターフェースを使用することによって、複合形状自体が独自のスケーリングロジックを提供することができる。
【００３８】
各サブエレメント７７は、限定された数のスケーリング係数を含むことができる。一部の実施形態においては、各サブエレメント７７は、これらのスケーリングパラメータだけを含み、変更されると、形状の対応する特徴を変更する。例えば、楕円オブジェクトは、ｘとｙの位置、幅、および高さのスケーリングに対するスケーリングパラメータだけを含むことができるが、一方で、矩形オブジェクトは、これに加えて、角のスケーリングパラメータを含むことができ、テキストオブジェクトは、フォントサイズスケーリングのパラメータを含むことができる、等である。当然のことながら、間隔、深さ（３次元形状において）、順序付け、および他の視覚特徴等、他のパラメータが、複合形状７４の他のスケーリング動作を制御する場合がある。
【００３９】
アクションおよびアニメーション７９は、ルーチンまたはプログラム（スクリプトとして実装され得、パラメータ上で変換を実施、パラメータ値に基づいてプロセスエンティティの状態を検出する等）、複合形状または複合形状のサブエレメントまたは形状がディスプレイ画面に表示される場合に形状上でまたは形状を使用して実施される動作、を変更する何らかのルーチンを含むことができるアニメーションルーチン、またはユーザが形状７４を使用または相互作用してプロセスへの入力の変更等、プロセスに変更を発生させることが可能なルーチンを定義する。これらのアクションおよびアニメーションは、より興味深い、理解可能または有用なグラフィックプロパティを複合形状７４に提供し、ユーザが複合形状７４と相互作用することを可能にする。一例においては、これらのアクションまたはアニメーションは、色の変更、形状の多様なコンポーネントおよびサブエレメント７７のサイズ（例えば、高さおよび幅、線の太さ、フォント等）、塗りつぶす色、および色の変化、回転、サイズ変更、スケーリング変更、スキュー等のアニメーションの形を取り得る。これらのアクションおよびアニメーションは、グラフィックプロパティならびにユーザ相互作用プロパティを複合形状７４に提供する。
【００４０】
バインディング８０は、静的または固定バインディングまたはエイリアスを使用するバインディングであり得、複合形状７４が実行時環境７２においてディスプレイの一部として実装されるときに、パラメータまたはプロパティ７８が実行時環境７２内のデータ、タグ、または他のエンティティにバインドされる様態を定義する。構成と実行時の両方でサイズ変更中に複合形状７４が歪むことを防ぐために、各複合形状のバインディング８０は、以下に詳細を説明するように、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓへの１つ以上のバインディングを含むことができる。概して、各複合形状７４のバインディング８０は、複合形状７４が、プラント環境の他の場所で定義される１つ以上のエンティティまたはデータエレメントに結合される様態を確立し、したがって、実際の実行時環境７２と複合形状７４との間のインターフェースを定義する。
【００４１】
図３に示されるように、グラフィックディスプレイオブジェクト７６の各々は、１つ以上の複合形状８１、コネクタエレメント８２、アクションおよびアニメーション８３、プロパティ８４およびバインディング８５への参照またはコピー等、無数のコンポーネントを含む。一般的に、グラフィックディスプレイ７６は、パイプ、ライン、コンベアベルト等を表すコネクタエレメント８２により視覚的に接続され得る、多様な複合形状８１の相互作用を表すディスプレイであり得る。このようなコネクタオブジェクトは、米国特許番号第７，１１０、８３５号に説明される。図３の破線は、グラフィックディスプレイオブジェクト７６ａによる複合形状７４のうちの１つへの参照を示す。複合形状７４を参照するグラフィックディスプレイ７６は、複合形状７４のプロパティ、パラメータ、アクションおよびアニメーション等の全てを含むことが理解される。複合形状７４に類似して、各グラフィックディスプレイ７６は、例えば、ディスプレイ上のアニメーション、ユーザインターフェース相互作用、データ操作等を実施する、それに関連する１つ以上の追加のアクションまたはアニメーションを含むことができる。同様に、各グラフィックディスプレイ７６は、ディスプレイに関連する任意の数のプロパティを含むことができ、典型的に、これらのプロパティは、ディスプレイ内に表されるユニット、領域または他のエレメント群のプロパティを定義する。当然のことながら、バインディング８５は、グラフィックディスプレイ７６が、プラント環境の他の場所で定義された１つ以上のエンティティまたはデータエレメントに結合される様態を定義し、したがって、実際の実行時環境７２とグラフィックディスプレイ７６との間のインターフェースを定義する。
【００４２】
いったん作成されると、複合形状７４とグラフィックディスプレイ７６は、バインドされ、例えば、図１のワークステーション２０〜２３のうちのいずれかで、実行時環境７２において実行され得る。特に、複合形状７４またはグラフィックディスプレイ７６がクラスオブジェクトとして作成され、データベース５２に格納された後、そのエレメントまたはディスプレイは、実際の実行時オブジェクトとしてインスタンス化され得、実行時環境７２において実行され得る。ブロック８６により示されるように、インスタンス化プロセスは、オブジェクト７４および７６に定義されたバインディングに与えられるが、これは、プロセスプラントまたはプロセス制御システム内の適切な変数名、タグ、エイリアス等を備えてロードされ得る１つ以上の解決テーブルを使用して達成され得、プロセスプラント内の実際のエンティティと、プラント１０内のディスプレイデバイス上で実行するグラフィックオブジェクトとの間の特定の接続を提供する。バインディングプロセスの一部として、オブジェクト７４および７６は、解決テーブルにより定義されるようにプロセスプラント内のデータソースに接続し、これによって、プロセスプラント１０に論理的かつ通信可能に接続されるように、プラントへのアクセスを取得する。
【００４３】
ブロック８７により示されるように、複合形状７４またはグラフィックディスプレイ７６は、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイを含めて、実行時環境７２内のいくつかの異なる機能内で、またはこれらの一部として実行され得る。例えば、ディスプレイのうちのいずれも、歪みなく、複合形状７４のサイズ変更またはスケーリングのために使用され得る。これに加えて、ディスプレイオブジェクト７４および７６は、例えば、予測制御または予測保守機能、システムレベルエラー検出、診断等を含めて、図２に示される機能レベルのうちの多様なものからのデータを使用するもの等、システムレベル機能を実施するために使用され得る。実際、ディスプレイ７６は、構成環境７０で作成されてデータベース５２に格納されると、実行時環境７２におけるいくつかの様々な操作に使用され得る。またさらに、ディスプレイオブジェクト７４および７６は、ワークステーション９０、ノート型コンピュータ９１、携帯情報端末（ＰＤＡ）、携帯電話等のハンドヘルドデバイス９２、または複数のモニタを有する大型画面ディスプレイ等のような他の任意の特殊なディスプレイ９３等、任意の所望のディスプレイまたはコンピュータハードウェア上で実行され得る。所望される場合、単一のグラフィックディスプレイ７６は、構成表示、操作者表示、保守表示またはシミュレーション表示等の１つ以上の表示を含むようにレイヤー化され得る。代替として、別個のグラフィックディスプレイ７６は、同一または類似の複合形状８１を使用してこれらの別個の表示を提供するように構成され得、これらの多様な機能のために作成されたディスプレイを通じて一定の外観と使い勝手を提供する。
【００４４】
ブロック９５により示されるように、複合形状７４、またはグラフィックディスプレイ７６は、ランタイムマシンにコピーまたはインスタンス化、およびロードされ得、実行時環境７２にポートされる。一般的に、ディスプレイオブジェクト７４または７６は、本明細書において実行時バインディングと称される、ランタイムマシン上で呼び出されるまたは実際に実行される場合にのみ、実行時環境７２にバインドされることが望ましい。つまり、インスタンス化されたオブジェクトの各々に対する解決テーブルは、ディスプレイオブジェクトが実行時コンピュータで実際に稼動している、または実行されている場合にのみ、実行時環境に与えられる、またはバインドされる。このように、ディスプレイオブジェクトは、そのオブジェクトが実行時コンピュータ上で実際に稼動している場合に実行時環境７２にだけバインドされることが好ましく、つまり、ディスプレイオブジェクト７４および７６は、これらのオブジェクトにより作成されたディスプレイを表示しているユーザの操作により定義された様態で、実行時環境７２に間欠的に接続され得る。特に、これらのオブジェクトは、表示されることが必要な場合に実行時環境７２にバインドされ得、これらのオブジェクトがディスプレイを提供している画面をユーザがアイコン化または閉じる場合等、ユーザにより表示されていない場合にはバインドを解消または解放され得る。
【００４５】
ディスプレイオブジェクト７４および７６は、このように、スタンドアロン環境、つまり構成環境７０において作成され得るオブジェクトであるが、例えば、任意の制御、シミュレーション、保守または構成の環境において定義されたオブジェクト、データ構造、アプリケーション等を含めて、プロセスプラント環境内に定義された他のオブジェクトまたはデータ構造、またはプロセスプラント環境内で稼動する任意のアプリケーションに結合または接合され得る、オブジェクトである。さらに、いったん作成されると、ディスプレイオブジェクト７４および７６は、解決テーブルに定義された直接参照、変数またはタグを経由して直接的に、または、エイリアス名、変数およびパラメータの使用により間接的に、物理的または論理的プロセスエンティティにバインドされ得るが、これはディスプレイオブジェクト７４または７６が実行時環境７２内にダウンロードまたはインスタンス化される場合、または一部の場合には、ディスプレイオブジェクト７４または７６が実際に実行時環境７２内で稼動している場合のいずれかで、解決され得る。
【００４６】
図３のディスプレイエディタ５０は、複合形状７４およびグラフィックディスプレイ７６が、構成時に多様な詳細レベルで作成されて、使いやすさおよび多様性を強化することを可能にすることができる。例えば、複合形状７４は、まず、よりプリミティブな物理的および論理的エンティティのプロパティおよび動作を定義するように作成され得る。グラフィックディスプレイ７６は、１つ以上の複合形状７４を相互接続することにより作成され得、より複雑な物理的または論理的エンティティ、または物理的または論理的エンティティ群を表す、レベルが高い、またはより複雑なディスプレイを作成する。当然のことながら、複合形状７４とグラフィックディスプレイ７６の両方は、多様な異なるカテゴリに格納およびアクセスされ得、ユーザがより高いレベルのディスプレイオブジェクトを容易に作成できるようにする。
【００４７】
図４ａおよび４ｂは、構成時に典型的なディスプレイエディタ５０を使用して、複合形状をサイズ変更する、または実行時にディスプレイ８７の１つ以上のサイズ変更する時の一実施例を示し、図４ｃは、以下に詳細を説明するように、サイズ変更操作中にスケーリングパラメータ、ベースラインまたはスケーリングされていないパラメータ、およびスケーリング係数を採用しながら、複合形状をサイズ変更する一実施例を示す。図４ａに示されるように、複合形状９５は、基本的形状（三角形、矩形、楕円など）およびテキストエレメントを含む１つ以上のサブエレメント９６を含むように、構成時に作成され、構成時および実行時に表示され得る。図２および図３に関して説明したように、サブエレメント９６は、構成時にはディスプレイエディタ５０内、実行時にはディスプレイ（例えば、ワークステーション、ノート型コンピュータ、ハンドヘルド、特殊ディスプレイ等）内でのサブエレメントの動作を決定する、１つ以上のパラメータ７８を含むことができる。一部のパラメータ７８は、構成時および実行時のうちの１つ以上でサイズ変更操作中にサブエレメント９６の動作を決定することができる。例えば、構成時または実行時のユーザは、フィードタンク、ポンプ、反応炉等の複合形状のインスタンスをサイズ変更して、異なる機能または容量を示す、または、ディスプレイ内の特定の複合形状の重要性を強調することができる。図４ｂは、サブエレメントのサイズ変更パラメータを含まない、またはサイズ変更操作中にサブエレメントのサイズ変更パラメータを認識しない複合形状９７のサイズ変更操作の結果を示す。図４ｂに示されているように、典型的なエディタ内の複合形状のサイズ変更操作は、複合形状がサイズ変更される程度を複合形状全体に均一に適用し、この結果、望ましくない歪みが発生する場合がある。具体的には、サイズ変更が、サブエレメントのサイズ変更パラメータを考慮せずに、複合形状９７全体の全てのサブエレメントパラメータに平等に適用される場合（例えば、テキストのフォントサイズ、矩形の高さと幅等）、または、複合形状９７がサイズ変更パラメータを含まない場合、サイズ変更された複合形状９７では、テキストが歪んで伸長または狭く表示される場合９８、エッジが太くまたは細く表示される場合９９、一部の角が丸みを失うように表示される場合、または、他の歪みが表示される場合がある。しかしながら、図４ｃに示されるように、構成時の間に各サブエレメント９６に対してスケーリングパラメータが定義され、構成時または実行時のサイズ変更操作が複合形状９５のサイズ変更中のスケーリングパラメータを考慮する場合、サイズ変更され、スケーリングされた複合形状１００において図４ｂに示される歪みは回避され得る。
【００４８】
図５ａは、ディスプレイエディタ５０により作成され得、構成時のサイズ変更操作中に複合形状の動作を制御するために１つ以上のスケーリングパラメータを適用または変更するように使用され得るグラフィックエディタ１１２の例示的な画面ディスプレイを示す。エディタ１１２は、例えば、プロセスプラントの反応炉部分（図５ｂおよび５ｃ）を表すグラフィックディスプレイにおいて最終的に使用され得るタンクの複合形状を作成するプロセスにおいて示されているが、メイン編集セクション１１４、パレット表示１１６、エレメント階層セクション１１８およびパラメータ定義セクション１２０を含む。メイン編集セクション１１４は、ユーザまたは設計者が、複合形状を定義または作成し、したがって、この場合には、タンクである、複合形状の視覚プロパティを定義し、さらに複合形状を反応炉（図５ｂおよび５ｃ）等のグラフィックディスプレイに配列および構成するための作業スペースを提供する。一般的に、エレメントエディタ５０により作成された複合形状１２２ａは、１つ以上のサブエレメント１２３または、定義された様態で配置またはグループ化される多様な形状から成り得る。サブエレメントは、例えば、サブエレメントとして１つ以上の「ネストされた」複合形状を含むことができる単一の複合形状であるような、複合形状でもあり得る。例えば、複合形状は、サブエレメントとして、円、直線、点、多角形、正方形、矩形、三角形、または他のグラフィック形状を含むことができる。図５ａに示される反応炉のグラフィックディスプレイのタンクの複合形状１２２ａは、複数のサブエレメント１２３を含む複合形状の一実施例である。上記のように、サブエレメントの１つ以上は、例えば、「タンク」の複合形状の「攪拌機」のサブエレメントは、各々が１つ以上のスケーリングパラメータを含むいくつかのサブエレメントから成り得るが、ネストされた複合形状に対しては単一のセットのスケーリングパラメータを含んでいてもよい、複合形状であり得る。この様態で定義される場合、別のアクションまたはアニメーションは、複合形状１２２ａを構成する異なる形状の各々にも適用または関連付けられ得る。当然のことながら、複合形状は、さらに複雑な芸術的描画のエレメントを含むことができる。複合形状を定義または構築するために、ユーザまたは設計者は、任意の数のサブエレメントまたは他の複合形状をメイン編集セクション１１４に追加して、任意の所望の様態でこれらをグループ化することができる。
【００４９】
複合形状は、図５ａに示された構成時（つまり、複合形状の作成時）の間に定義され得る、いくつかのパラメータを含むことができる。一部の実施形態においては、パラメータは、複合形状のスケーリング動作に関し得る。例えば、スケーリングパラメータは、以下に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか（影響する場合）を定義または制御することができる。いったん作成されると、複合形状は、実際のオブジェクトに対するグラフィック表示を定義するが、これは、ＸＡＭＬまたはＷＰＦオブジェクトとして実行時に実装される場合があり、複合形状が実行時環境において使用されると画面またはディスプレイ上に表示されることになる。複合形状を構成する形状またはサブエレメント１２３は、階層セクション１１８における複合形状階層に示され得る。図５ａに示された構成時環境において、ユーザは、以下に説明するように、複合形状の各サブエレメントに多様なスケーリングパラメータを関連付けて定義することができる。
【００５０】
エディタ１１２において、パレット表示１１６は、複合形状１２２ａを作成するために使用され得るいくつかの基本的エレメントを含む。例えば、パレット表示１１６は、ボタン、テキストボックス、スライダ、ノブ等の一連の基本的なＵＩ（ユーザインターフェース）エレメント、一連の基本的パネルおよび一連の基本形状を含む。定義されたパネルは、多様なサブエレメントにコンテナを提供することができ、１つ以上の構成または実行時動作を包含されたサブエレメントに与えることができる。例えば、多様なパネルは、キャンバスパネルの機能に加えて、そのサブエレメントを歪めずに複合形状１２２ａをサイズ変更することが可能である追加の機能を含む、スケーリングキャンバスパネル１２４を含むことができる。一部の実施形態においては、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、１つ以上のサブエレメントのためのコンテナオブジェクトであり、集合的に、複合形状１２２ａを備える。その他の実施形態においては、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、メイン編集セクション１１４、または１つ以上のサブエレメント１２３または複合形状１２２ａが再構成、編集またはサイズ変更のために配置され得る複合形状１２２ａのバックグランド等の、領域またはパネルとして、エディタ１１２に視覚的に表示される。Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、Ｗｉｎｄｏｗｓ（登録商標）  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ（ＷＰＦ）Ｃａｎｖａｓクラスの拡張でもあり得る。複合形状１２２ａは、パレット表示１１６から選択され、編集セクション１１４にドラッグされ得る。さらにまた、パレット表示１１６のサブエレメントおよび複合形状は、ＩＳＡ（アメリカ計測学会）のシンボル、トランスミッタシンボル、バルブシンボル、ＰＩ＆Ｄ図形シンボルまたは他の制御シンボル等、または他の任意の所望の形状を含むことができ、これらの全ては複合形状を構築するために使用され得る。
【００５１】
エレメント階層セクション１１８は、階層表示またはツリー構造を使用して、メイン編集セクション１１４内に形状１２２ａに関連するコンポーネントを提供する。図５ａの実施例においては、階層セクション１１８は、メイン編集セクション１１４に定義されている複合形状１２２ａは、ＲｅｃｔａｎｇｌｅとＥｌｌｉｐｓｅのサブエレメントまたはプリミティブ１２３、ならびに、Ａｇｉｔａｔｏｒ、およびその楕円および矩形のサブエレメントの複合形状であるサブエレメントを含むことを示す。当然のことながら、階層セクション１１８に示されたサブエレメントは、説明を目的とするものであって、図５ａに示された形状１２２ａは表示されているより多くのサブエレメントを含む。階層セクション１１８は、本明細書に説明されるように、スケーリングおよびサイズ変更機能を含む、例えば、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４等の複合形状１２２ａのコンテナのタイプの指標も提供する。図５ａには表示されていないが、階層セクション１１８は、アニメーション、アクションおよび形状１２２ａに定義されたスクリプト、視覚トリガ等の他のディスプレイフィーチャーの指標を含むことができる。
【００５２】
パラメータ定義セクション１２０は、固有のパラメータを含めて、エディタ１１２に示された複合形状１２２ａに現在定義されたパラメータの全てを示す。複合形状１２２ａまたはＳｃａｌｉｎｇ  Ｃａｎｖａｓ１２４の各サブエレメント１２３は、本明細書に説明されるように、複合形状１２２ａのサイズ変更中にサブエレメント１２３の歪みを防ぐ多様なスケーリングパラメータ１２６を含むことができる。構成中、図５ａのＲｅｃｔａｎｇｌｅのサブエレメントが、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４のコンテナを含む複合形状１２２ａにおいて選択される場合、パラメータ定義セクション１２０は、フォントサイズ、エッジ幅、角の丸み半径、サイズ（幅および高さ）および位置（ｘおよびｙ座標）を含めて、選択されたサブエレメントの１つ以上のスケーリングパラメータ１２６を示すことができる。一実施形態において、スケーリングパラメータは、正規のスケーリングしていないパラメータから、これらを区別する命名規則を含む。例えば、スケーリングパラメータの名前は、ＦｏｎｔＳｉｚｅＳｃａｌｅＭｏｄｅ、ＥｄｇｅＷｉｄｔｈＳｃａｌｅＭｏｄｅ、ＣｏｒｎｅｒＲａｄｉｕｓＳｃａｌｅＭｏｄｅ、ＳｉｚｅＳｃａｌｅＭｏｄｅ、ＰｏｓｉｔｉｏｎＳｃａｌｅＭｏｄｅを含むことができる。定義セクションは、ＨｅｉｇｈｔおよびＷｉｄｔｈ等、１つ以上のベースラインまたはスケーリングされていないパラメータ１２８を含むことができる。スケーリングパラメータ１２６は、形状がサイズ変更される場合、複合形状１２２ａのＳｃａｌｉｎｇ  Ｃａｎｖａｓ１２４コンテナ内に包含されたサブエレメントがどのようにスケーリングされるかを制御することができる。異なるサブエレメントは異なるスケーリングパラメータを有することができる。例えば、Ｅｌｌｉｐｓｅサブエレメントは、Ｓｉｚｅ（高さおよび幅）およびＰｏｓｉｔｉｏｎ（ｘおよびｙ座標）のスケーリングを含むことができる一方で、Ｔｅｘｔサブエレメントは、Ｆｏｎｔ  Ｓｉｚｅのスケーリングを含むことができる。
【００５３】
Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４のコンテナまたはパネルは、定義セクション１２０から構成される、スケーリングパラメータ１２６およびベースラインまたはスケーリングされていないパラメータ１２８とインターフェースおよび操作することができる。構成されたスケーリングパラメータ１２６、ベースライン／スケーリングされていないパラメータ１２８、およびスケーリングキャンバスコンテナ１２４のロジックは、複合形状１２２ａの歪みのないサイズ変更を構成環境（図５ａ、５ｂおよび５ｃに示される）および実行時環境（図６ａ、６ｂおよび６ｃに示される）の両方で可能にすることができる。例えば、構成時にユーザが複合形状ライブラリに格納される多様な複合形状１２２ａを作成している場合、または、１つ以上の複合形状を含むグラフィックディスプレイを作成している場合、サイズ変更操作が、歪むことなく形状の寸法を変更してプロセス制御プラントの正確な表示を作成するように、ユーザは、１つ以上のスケーリングパラメータ１２６を構成することができる。また、ユーザが実行時に操作者ディスプレイを開いて使用する場合、ユーザまたは操作者は、スライダバーを移動することにより、またはディスプレイを含むウィンドウをサイズ変更して、その複合形状をサイズ変更することにより、ディスプレイをカスタマイズまたは調整することができる。
【００５４】
一実施形態においては、スケーリングキャンバスコンテナ１２４のロジックは、ベースライン／スケーリングされていないパラメータ１２８およびスケーリングパラメータ１２６からのスケーリング係数を決定し、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータ１２６を含む複合形状の各サブエレメントに係数を適用する。例えば、複合形状１２２ａが、水平方向、長さ、またはＸ次元においてサイズ変更される場合、ロジックは、水平方向、長さ、またはＸ次元のスケーリング係数を決定することができ、複合形状１２２ａが縦方向、高さ、またはＹ次元においてサイズ変更される場合、ロジックは、縦方向、高さ、またはＹ次元のスケーリング係数を決定することができる。別の実施形態においては、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、本明細書に詳細を説明するように、構成時と実行時に添付されたプロパティとして、スケーリングパラメータを実装するロジックを含む。サイズ変更操作が構成時または実行時に行われるかどうかに関わらず、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、サイズ変更操作中にサブエレメントのサイズを直接調整して、フォント、境界線および他の特徴の一切の歪みまたは望ましくないサイズ変更を防ぐことができる。
【００５５】
複合形状１２２ａのサイズ変更は、最終的に、スケーリングされていない、またはベースラインパラメータ１２８の値をスケーリングされたパラメータに置換して、形状の変更されたサイズを反映することができる。Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、その後、格納されたベースライン値１２８を参照して、サイズ変更操作がベースラインパラメータ１２８をどの程度変更したかを判断することができる。さらに、形状１２２ａまたはＳｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ１２４内のサブエレメント１２３が、パレット表示１１６から選択され、操作者ディスプレイ上に配置されてサイズ変更されると、新しい「スケーリングされていない」パラメータ（例えば、サイズ、位置、高さ、幅等）は、複合形状１２２ａ全体に適用されるような任意の今後のサイズ変更操作の開始点として格納され得る。
【００５６】
図５ａに示されるように構成時にベースラインパラメータ１２８が格納され、スケーリングパラメータ１２６が設定されると、構成された複合形状は、構成時に、複合形状１２２およびグラフィックディスプレイ１４４（図５ｂおよび５ｃ）を構成するとき、および図６ａ、６ｂおよび６ｃに示されるように、実行時にグラフィックディスプレイ１５０内で使用されるために、複合形状ライブラリに格納され得る。例えば、図５ｂは、図５ａにより表されるエディタ内で構成されるような複合形状「Ｔａｎｋ１」および別の「Ｓｔｏｒａｇｅ１」の複合形状を含む、「Ｒｅａｃｔｏｒ−１」グラフィックディスプレイ１４４の構成を示す。前述のように、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ１２４は、スケーリング係数１４６を算出するロジックを含み、いったんサイズ変更操作を行うと、スケーリングパラメータ１２６を含む各サブエレメント１２３に適用され得る。スケーリング係数１４６は、サイズ変更された複合形状１２２ｂ（図５ｂ）の１つ以上のサイズ変更された寸法と、サブエレメントの１つ以上の対応するベースラインまたはスケーリングされていないパラメータ１２８との比であり得る。例えば、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ内に含まれる複合形状１２２ａが２００の高さにサイズ変更され、ＳｃａｌｉｎｇＣａｎｖａｓに含まれた複合形状１２２ａ内のサブエレメントの本来のベースラインの高さが１００である場合、得られるスケーリング係数は（２００÷１００）２である。したがって、サブエレメントがスケーリングパラメータを含まない場合、またはサブエレメントが、サブエレメントがサイズ変更されることを可能にするスケーリングパラメータを含む場合、サブエレメントのベースライン／スケーリングされていない値は、２の係数により変更される。しかしながら、サブエレメントが、サブエレメントがサイズ変更されることを可能にしないスケーリングパラメータを含む場合、そのサブエレメントのベースライン／スケーリングされていない値は変化しない。サイズ変更操作は、スケーリング係数１４６を各サブエレメント１２３に適用し、本来の複合形状の歪みのない、サイズ変更された描画を作成するように、複合形状１２２ｂの子（つまり残りのサブエレメント）を通じて反復することができる。
【００５７】
構成時に構成され得るスケーリングパラメータ１２６は、上記のサイズ変更操作中に、スケーリング係数１４６が構成されたサブエレメントにどのように適用されるかを制御する。例えば、
【００５８】
Ｆｏｎｔ  Ｓｉｚｅ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、フォントサイズが形状に応じてスケーリングするかどうかを制御することができる。Ｆｏｎｔ  Ｓｉｚｅ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、テキストベースの形状（例えば、ＴｅｘｔオブジェクトのサブエレメントまたはＤｅｌｔａＶ（登録商標）環境のＤａｔａＳｔａｍｐｅｒ）に適用されて、複合形状１２２ａのサイズ変更中に不要な伸長または他の歪みを防ぐことができる。Ｆｏｎｔ  Ｓｉｚｅ  Ｓｃａｌｅ  Ｍｏｄｅパラメータの値は、「ｓｃａｌｅ」または「ｎｏｎｅ」のうちの１つであり得る。Ｔｅｘｔオブジェクトのサブエレメントのフォントサイズは、ｘまたはｙの小さい方のスケール係数でスケーリングして、歪みを防ぐことができる。
【００５９】
Ｅｄｇｅ  Ｗｉｄｔｈ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、サイズ変更中に、形状７４のエッジが形状７４の他の部分に応じてスケーリングするかどうかを制御することができる。Ｅｄｇｅ  Ｗｉｄｔｈ  Ｓｃａｌｅ  Ｍｏｄｅパラメータの値は、「ｓｃａｌｅ」または「ｎｏｎｅ」のうちの１つであり得る。Ｅｄｇｅ  Ｗｉｄｔｈ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、エッジ幅がｘまたはｙスケールの小さい方に応じてスケーリングするかどうかを制御できる。
【００６０】
Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、サイズ変更中に、複合形状の角の丸み半径が形状７４の残りの部分に応じて変化するか、変更されないままであるかを制御することができる。Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、Ｒｅｃｔａｎｇｌｅ、Ｐｏｌｙｌｉｎｅ、およびＰｏｌｙｇｏｎ等、角の丸み半径を含むサブエレメントに適用され得る。Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｓｃａｌｅ  Ｍｏｄｅパラメータの値は、ｎｏｎｅ、ｘ、ｙおよびｘ  ａｎｄ  ｙであり得る。例えば、「ｎｏｎｅ」の値は、サブエレメントの角の丸み半径が、ｘおよびｙのスケーリング係数に基づいてスケーリングしなくてもよいことを示すことができる。「ｘ」の値は、サブエレメントの角の丸み半径が、「ｘ」スケーリング係数に比例して角の丸み半径の「ｘ」寸法を調整できることを示すことができ、一方で、「ｙ」の値は、サブエレメントの角の丸み半径が、「ｙ」スケーリング係数に比例して角の丸み半径の「ｙ」寸法を調整できることを示すことができる。「ｘ  ａｎｄ  ｙ」の値は、サブエレメントの角の丸み半径が、ｘとｙのスケーリング係数に比例して角の丸み半径のｘとｙ両方の寸法を調整できることを示すことができる。
【００６１】
Ｓｉｚｅ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、サブエレメントの幅と高さが、サイズ変更中に、複合形状１２２の残りの部分に比例してスケーリングするかどうかを制御することができる。例えば、このパラメータは、サブエレメントの定義された幅と高さが、Ｓｃａｌｉｎｇ  ＣａｎｖａｓコンテナのＸおよびＹのスケーリング係数に比例してスケーリングするかどうかを制御することができる。パラメータは、Ｎｏｎｅ、Ｗｉｄｔｈ、Ｈｅｉｇｈｔ、およびＷｉｄｔｈ  ａｎｄ  Ｈｅｉｇｈｔの値を含むことができる。「Ｎｏｎｅ」の値は、定義された幅と高さは、ｘとｙのスケーリング係数に基づいてスケーリングしないことを示すことができる。「Ｗｉｄｔｈ」は、サブエレメントがｘスケール係数に比例して幅を自動的に調整することを指定でき、一方で、「Ｈｅｉｇｈｔ」は、サブエレメントがｙスケール係数に比例して高さを自動的に調整することを指定することができる。「Ｗｉｄｔｈ  ａｎｄ  Ｈｅｉｇｈｔ」は、サブエレメントが、ｘとｙ両方のスケール係数に比例して幅と高さを自動的に調整することを示すことができる。
【００６２】
Ｐｏｓｉｔｉｏｎ  Ｓｃａｌｅ  Ｍｏｄｅパラメータは、複合形状１２２ａのサイズ変更中に、サブエレメントの位置が固定されるかどうか、またはサブエレメントが他のサブエレメントに関連して移動するかどうかを制御することができる。例えば、サブエレメントのｘおよびｙ座標位置は、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナに比例してスケーリングすることができる、または、それぞれの位置に固定され得る。パラメータは、Ｎｏｎｅ、Ｘ、ＹおよびＸ  ａｎｄ  Ｙの値を含むことができる。Ｎｏｎｅの値は、サブエレメントのｘとｙの位置がｘとｙのスケーリング係数に基づいてスケーリングしないことを示すことができる。ＸまたはＹの値は、サブエレメントが、ｘまたはｙのスケール係数に比例してｘまたはｙの位置をそれぞれ自動的に調整することを指定することができる。Ｘ  ａｎｄ  Ｙの値は、サブエレメントが、ｘとｙ両方のスケール係数に比例してｘとｙの位置を自動的に調整することを指定することができる。
【００６３】
ユーザまたは設計者は、パラメータ定義セクション１２０内で他の変数、パラメータ等の名前、タイプ、およびバインディングを定義することによって、複合形状と複合形状のサブエレメントに他のパラメータを追加して、これにより、複合形状１２２ａの他の態様を定義することが可能である。スケーリングパラメータ１２６は、上記の選択肢のいずれかならびに他の設定の数値を含むことができる。このように、例えば、パラメータは、配列、テーブル、列挙型リストまたは他の任意の変数またはデータ構造型でもあり得る。
【００６４】
サイズ変更操作後、図５ｂに示されるように、タンクの複合形状１２２ｂの一部は、スケーリング係数により高さは大きくなるが、他は大きくならない。例えば、タンクの複合形状１２２ａの入り口のサブエレメント１３０ａおよび出口のサブエレメント１３２ａ（図５ａ）のサイズは、図５ｂでは変更されないままである。また、入り口および出口のサブエレメントの全体位置は、形状１２２ａから形状１２２ｂに変化するが、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。この実施形態においては、入り口および出口両方のサブエレメントは、少なくとも、サイズ変更時のサブエレメントの動作を決定するＳｉｚｅとＰｏｓｉｔｉｏｎのスケーリングパラメータを含む。例えば、Ｓｉｚｅスケーリングパラメータは、「Ｎｏｎｅ」に設定され得る一方で、Ｐｏｓｉｔｉｏｎスケーリングパラメータは「Ｘ  ａｎｄ  Ｙ」または「Ｙ」に設定され得る。このように、上記の実施例では、高さ（つまりＹ寸法）の変化に対する２のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。タンクの複合形状１２２ａの多様な他のサブエレメントは、上記のように、スケーリングパラメータ１２６を含むことができ、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【００６５】
当然のことながら、タンクの複合形状１２２ａは、多様な寸法（例えば、図５ｃに示されるように幅、長さ、またはＸ寸法）において、グラフィックディスプレイ１４４内で構成時にサイズ変更され得る。前述のように、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、サイズ変更されたタンクの複合形状１２２ｃのスケーリングされていない幅を定義された幅に比較して、スケーリング係数を計算することができる。Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、次に、複合形状のサブエレメントの全体を通じて反復し、幅のスケーリンパラメータを含むこれらのサブエレメントに幅のスケーリング係数を適用する。例えば、入り口および出口のサブエレメントに対して、Ｓｉｚｅスケーリングパラメータは、「Ｎｏｎｅ」に設定され得る一方で、Ｐｏｓｉｔｉｏｎスケーリングパラメータは「Ｘ  ａｎｄ  Ｙ」または「Ｘ」に設定され得る。この実施例においては、幅（つまりＸ寸法）の変化に対する２のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント１３０ｃ、１３２ｃのサイズには適用されない。タンクの複合形状１２２ｃの多様な他のサブエレメントは、上記のように、スケーリングパラメータ１２６を含むことができ、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【００６６】
複合形状のいずれかは、それに関連するアニメーションおよび／またはアクションおよびイベントハンドラスクリプトも含むことができ、このようなアニメーションまたはアクションは、エディタ１１２のアクション／アニメーション表示１３４に表示され得る。複合形状がアニメーションまたはアクションを含む場合、これらのアニメーションまたはアクションは、階層１１８において、星等の特殊なシンボルによって示される。階層表示１１８において選択されると、複合形状または形状のサブエレメントに対して定義されたいずれかのアクションまたはアニメーションは、アクション／アニメーション表示１３４に表示される。アクションまたはアニメーションは、このようなアクションまたはアニメーションを表示１３４で定義することにより、またはこのようなアクションまたはアニメーションを階層表示１１８に追加することにより、作成および割り当てられ得る。ユーザがアクションまたはアニメーションを作成または編集することを所望する場合、エディタ５０は、ダイアログまたは編集ボックスを提供し得、この機能が完全に指定または定義されることを可能にする。アクションまたはアニメーションは、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４にもバインドされ得、本明細書に説明されるように、構成および実行時の両方で、歪みのないサイズ変更を可能にする。当然のことながら、アクションまたはアニメーションは、スクリプト、視覚トリガまたは他のプログラムを使用して定義され得る。一部の実施形態においては、アクション、アニメーション、およびイベントのハンドラスクリプトは、本明細書に説明されるようなスケーリング関数を考慮しない。むしろ、スケーリングは、アニメーション、アクションまたはイベントのハンドラスクリプトの実行後に、形状に適用され得、したがってユーザの体験を簡素化する。
【００６７】
他の実施形態においては、スケーリングパラメータ１２６は、各サブエレメントの定義の一部として含まれ得、全ての複合形状に共通するフレームワークを作成する。例えば、各形状またはサブエレメントの１つ以上のベースクラスは、形状に共通するパラメータ（つまり、名前、ｘおよびｙの位置、高さ、幅、回転等）ならびにスケーリングパラメータ１２６を含むことができる。この実施形態においては、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、スケーリングパラメータ１２６へのアクセスおよび複合形状１２２ａを歪めずにスケーリングするために修正する特定のパラメータの認識を含むため、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは共通のフレームワークに依存する。他の実施形態においては、スケーリングパラメータ１２６は、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４のパラメータとして含まれる。例えば、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、１つ以上の添付されたパラメータ（例えば、Ｘ  Ｄｉｍｅｎｓｉｏｎ、Ｙ  Ｄｉｍｅｎｓｉｏｎ、Ｚ  Ｄｉｍｅｎｓｉｏｎ、Ｗｉｄｔｈ、Ｈｅｉｇｈｔ、Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｘ、Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｙ、Ｃｏｒｎｅｒ  Ｒａｄｉｕｓ  Ｚ、Ｆｏｎｔ  Ｓｉｚｅ、Ｅｄｇｅ、Ｗｉｄｔｈ等）を実装することができる。この実施形態においては、サブエレメント１２３のネイティブパラメータ（例えば、Ｘ、Ｙ、Ｗｉｄｔｈ、Ｈｅｉｇｈｔ等）は、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４の添付されたパラメータにバインドされる。さらなる実施形態においては、サブエレメント１２３およびＳｃａｌｉｎｇ  Ｃａｎｖａｓ１２４の両方は、１つ以上のスケーリングパラメータ１２６を含み、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４は、サブエレメントパラメータにより明示的にオーバーライドされない限り、任意のスケーリングパラメータ１２６を含めて、その添付されたパラメータを適用する。スケーリングパラメータ１２６が、サブエレメント１２３、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４、または両方に添付されるかどうかに関わらず、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、これらのパラメータを使用し得、その中に含まれる子のサブエレメント１２３を正しくスケーリングする。
【００６８】
各スケーリングおよび定義パラメータ１２６、１２８は、複合形状１２２ａのサイズ変更時に使用される、いくつかの値および設定も含むことができる。一部の実施形態においては、複合形状１２２ａは、インターフェースを実装して、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓがスケーリングパラメータ１２６にアクセスすることを可能にする。この手法は、つまり、複合形状および各サブエレメントがそのスケーリングロジックを含むことを意味する。インターフェースおよびＳｃａｌｉｎｇ  Ｃａｎｖａｓを含むことにより、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、スケーリングパラメータ１２６のいずれも認識する必要がなくなるため、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓの形状に対する依存性が軽減され得る。Ｓｃａｌｉｎｇ  Ｃａｎｖａｓの依存性を軽減することは、Ｐａｎｅｌにより含まれるエレメントを表示するためのロジックが必ずＰａｎｅｌ自体において定義される、ＰａｎｅｌのＷＰＦパターンとは異なる。各定義パラメータ１２８に対して、例えば、ベースライン／スケーリングされていない高さの値１３０およびベースライン／スケーリングされていない幅の値１３２が、作成時にサブエレメントに割り当てられ得る。各スケーリングパラメータ１２６に対して、サイズ変更中のオブジェクトの所望の動作に応じて、１つ以上の値または設定が割り当てられ得る。
【００６９】
図６ａ、６ｂおよび６ｃは、図５ａ、５ｂおよび５ｃのグラフィックエディタ１１２により作成され、例えば、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイ等のディスプレイ８７（図３）のうちの１つ以上で実行時に使用される、例示的な画面ディスプレイを示す。一実施形態においては、図６ａ、６ｂ、および６ｃのグラフィックディスプレイ１５０は、領域１５２の部分またはプロセス制御プラントの他の部分の１つの表示を含むことができる。例えば、グラフィックディスプレイ１５０は、操作者ワークステーション３７（図１）のディスプレイ８７内に、プロセス制御プラントの反応炉領域の実行時図を含むことができる。領域１５２は、反応炉領域の物理的部分を表示する、タンク１５４ａ、貯留領域１５６、多様な入り口１５８および出口１６０、パイプ１６２、バルブ、接続金具等の予め構成された図を含むことができる。前述のように、領域１５２内の多様な形状はネストされ得る。
【００７０】
実行時の形状は、図５ａ、５ｂおよび５ｃを参照して本明細書に説明するように、実行時ユーザがサイズ変更操作をしたときに、形状がどのように動作するかを決定する、スケーリングパラメータを含むことができる。例えば、スケーリングパラメータは、本明細書に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか（影響する場合）を定義または制御することができる。一部の実施形態において、前述の構成されたスケーリングパラメータは、実行時に構成された複合形状にバインドされる。
【００７１】
実行時、サイズ変更操作は、ユーザまたは操作者が、スライダバーを移動、またはディスプレイを含むウィンドウをサイズ変更することにより、ディスプレイをカスタマイズし、したがって、その複合形状のサイズ変更することを含むことができる。サイズ変更操作を開始すると、構成された複合形状の実行時図に含まれたスケーリングキャンバスコンテナのロジックは、ベースライン／スケーリングされていないパラメータおよび構成時に構成されたスケーリングパラメータから、スケーリング係数を決定することができる。係数は、次に、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータを含む、複合形状の各サブエレメントに適用される。例えば、ウィンドウまたはディスプレイ１５０が、水平方向、長さ、またはＸ寸法においてサイズ変更される場合、ロジックは、水平方向、長さ、またはＸ寸法のスケーリング係数を決定することができ、前述のように、複合形状１２２ａが、縦方向、高さ、またはＹ寸法においてサイズ変更される場合、ロジックは縦方向、高さ、またはＹ寸法のスケーリング係数を決定することができる。Ｓｃａｌｉｎｇ  Ｃａｎｖａｓコンテナは、実行時に添付されたプロパティとしてスケーリングパラメータを実装するロジックも含むことができる。サイズ変更操作は、複合形状の子（つまり、残りのサブエレメント）全体を通して反復して、スケーリング係数を各サブエレメントに適用し、本来の複合形状１５４ａの歪みのない、サイズ変更された描画を作成することができる。
【００７２】
図６ｂを参照すると、実行時のサイズ変更操作は、グラフィックディスプレイ１５０を含めて、ウィンドウの高さを大きくするステップを含むことができる。サイズ変更操作後、図６ｂに示されるように、ディスプレイ１５０の「Ｒｅａｃｔｏｒ−１」領域１５２内の複合形状の一部のサブエレメントは、構成時に設定されたスケーリング係数により高さが大きくなるが、他は大きくならない。例えば、貯留領域１５６ｂ、入り口サブエレメント１５８ｂ、および出口サブエレメント１６０ｂのサイズは、図６ｂに示されるように、実行時に、サイズ変更操作を実行しても変化しないままであるように構成された。また、タンクの入り口および出口のサブエレメントの全体位置は、形状１５４ａから形状１５４ｂに変化する一方で、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。前述のように、入り口および出口両方のサブエレメントは、サイズ変更時のサブエレメントの動作を決定するＳｉｚｅとＰｏｓｉｔｉｏｎのスケーリングパラメータを少なくとも含むように構成された。例えば、Ｓｉｚｅスケーリングパラメータは、「Ｎｏｎｅ」に設定されていてもよいが、Ｐｏｓｉｔｉｏｎスケーリングパラメータは「Ｘ  ａｎｄ  Ｙ」または「Ｙ」に設定されていてもよい。このように、上記の実施例では、高さ（つまりＹ寸法）の変化に対する２のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。同様に、貯留領域１５６ａの複合形状のスケーリングパラメータは（ある場合）、実行時のサイズ変更操作を実行時に変化がないことを反映するように設定されていてもよい。
【００７３】
当然のことながら、ディスプレイ１５０は、多様な寸法（例えば、図６ｃに示されるように幅、高さ、またはＸ寸法）でサイズ変更され得る。前述のように、サイズ変更操作の実行時、ディスプレイ１５０内の各複合形状のスケーリングされていない幅は、定義幅に比較されて、スケーリングパラメータを含むように予め構成された各サブエレメントに対して、スケーリング係数を計算することができる。例えば、図５ｃを参照すると、幅のスケーリング係数は、幅スケーリング係数を含むこれらの複合形状のサブエレメント（例えば、タンク１５４ｃの複合形状およびサブエレメント）に反復して適用され得る。この実施例においては、幅（つまりＸ寸法）の変化に対する２のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント１５８ｃ、１６０ｃのサイズには適用されない。ディスプレイ１５０の多様な他の複合形状および関連するサブエレメントは、上記のようにスケーリングパラメータを含むことができ、スケーリング係数は、これらの複合形状およびサブエレメントにも全体的または部分的に適用され得る。
【００７４】
図５ａ〜５ｃ、図６ａ〜６ｃ、および図７を参照すると、方法１７５は、構成時と実行時環境の両方で、歪みなく複合形状１２２ａをサイズ変更するルーチンを１つ以上記述することができる。方法１７５は、図５ａ、５ｂおよび５ｃに示されるように１つ以上のグラフィックディスプレイの構成中、または、図６ａ、６ｂおよび６ｃに示されるように実行時環境において、採用され得る。例えば、ユーザがグラフィックエディタ１１２内で操作者ディスプレイを作成し多様な複合形状１２２ａを構成する構成時、方法１５０は、形状を歪めずにサイズ変更して、プロセス制御プラントの正確な表示を作成することができる。また、実行時に操作者がプロセス制御プラントのワークステーションで操作者ディスプレイ１５０を操作する場合、操作者は、個人的なカスタマイズのために、操作者ディスプレイをサイズ変更、または、操作者ディスプレイの多様な部分をサイズ変更することができ、方法１５０は、実行時環境において複合形状をサイズ変更することができる。一般的に、以下に説明するルーチン１５６〜１６６は、構成時にグラフィックディスプレイに複合形状を配置している間のサイズ変更操作中、および操作者が実行時にグラフィックディスプレイを表示している間のサイズ変更操作中に行うことができる。
【００７５】
ルーチン１７６で、方法１７５は、複合形状１２２ａのサブエレメント１２３に対して１つ以上のスケーリングパラメータ１２６を構成することができる。前述のように、スケーリングパラメータ１２６は、対応する複合形状で実施されるサイズ変更操作中に変形され得るサブエレメントの１つ以上の特徴を定義することができる。スケーリングパラメータ１２６は、サイズ変更操作により変更され得る、サブエレメントまたは複合形状のいずれかの特徴を含むことができる（例えば、位置、サイズ、エッジ幅、フォントサイズ、角の丸み半径等のうちの１つ以上）。例えば、スケーリングパラメータの構成は、関連する複合形状の幅（つまり、Ｘ寸法）のサイズ変更中にサブエレメントのＸ寸法位置を制限するようにスケーリングパラメータを設定すること、または、テキストオブジェクトを複合形状の領域または部分に固定しながら、該オブジェクトのサブエレメントのフォントサイズを固定することを含む。当然のことながら、矩形のサイズ変更中に１つの寸法について増加または減少することを可能にしながら別の寸法のサイズ変更を制限する、三角形の角の丸み半径をｘ寸法でサイズ変更することを可能にするが、ｙ寸法は変更しない等、多数の他の構成が可能である。１つ以上のスケーリングパラメータ１２６は、スケーリングパラメータ１２６が実行時にも実装されるように、１つ以上のサブエレメント１２３にバインドされ得る。前述のように、１つ以上のスケーリングパラメータとスケーリングロジックは、サブエレメント自体に含まれ得る（つまり、全ての形状で共通のフレームワーク）、または、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓに組み込まれ得る（つまり、スケーリングパラメータは、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓの添付されたプロパティとして含まれる）。いずれにせよ、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓは、各特定の形状またはサブエレメントに関連するスケーリングパラメータを認識する必要がない。
【００７６】
ルーチン１７８で、ユーザ、アプリケーション、または他のエンティティは、複合形状を構成することができる。複合形状は、前述のように、Ｓｃａｌｉｎｇ  Ｃａｎｖａｓ１２４上に配置またはこの中に含まれ得る。例えば、複合形状が作成されると、１つ以上のサブエレメントがＳｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ内に配置され得る。これらのサブエレメントは、ユーザの所望通りにＳｃａｌｉｎｇ  Ｃａｎｖａｓ内でサイズ変更され配置され得る。サブエレメントのサイズ、位置および他のパラメータがＳｃａｌｉｎｇ  Ｃａｎｖａｓコンテナ内で最終決定されると、方法１７５は、ルーチン１８０でベースラインまたは「スケーリングされていない」パラメータを読み出し、かつ格納することができる。これらのスケーリングされていないパラメータは、後のサイズ変更操作中に複合形状の新しい寸法を算出するためのベースとして使用され得る。
【００７７】
ルーチン１８２で、方法１７５は、複合形状の１つ以上のスケーリング係数を算出することができる。一実施形態においては、スケーリング係数は、スケーリングされていないパラメータ（ルーチン１８０で格納された）と複合形状の定義されたパラメータの値との比である。例えば、複合形状１２２ａがサイズ変更されると、スケーリングキャンバスは、１つ以上の寸法における係数により変化することになる。このように、複合形状のサイズがＹ寸法において２倍になる場合、そのサイズ変更操作のスケーリング係数は２になる。当然のことながら、スケーリング係数は、複合形状のいずれかのサイズ変更された寸法（例えば、Ｘ寸法、Ｚ寸法等）に対して計算され得る。
【００７８】
ルーチン１８４で、方法１７５は、ルーチン１８２で算出されたスケーリング係数の適用に備えて、複合形状の各サブエレメントに反復することができる。一部の実施形態において、方法１７５は、複合形状の各サブエレメントに反復することができる。例えば、方法１７５は、ルーチン１８６で、サブエレメントがスケーリングパラメータを含むかどうかを決定することができる。他の実施形態においては、方法１７５は、前述のように、スケーリングパラメータを１つ以上含むサブエレメントだけに反復することができる。例えば、方法１７５は、サブエレメントに反復する前、または、これまでに説明した別のルーチンの前に、複合形状のサブエレメントのうちでどれがスケーリングパラメータを含むかを判断することができる。方法１７５が、サブエレメントが１つ以上のスケーリングパラメータを含むかどうかを判断するタイミングに関わらず、方法１７５は、ルーチン１８８で、サブエレメントをスケーリングすることができる。一部の実施形態においては、方法は、複合形状のサイズ変更寸法に対応するスケーリングされていない寸法にスケーリング係数を適用することにより、サブエレメントをスケーリングする。例えば、方法１７５が、Ｘ寸法においてサイズ変更するために、ルーチン１８２で２のスケーリング係数を算出した場合、サブエレメントは、１００のスケーリングされていないＸ寸法と、Ｘ寸法のサイズ変更を許可したスケーリングパラメータを含んでいたので、サブエレメントのＸ寸法のスケーリングされた値は、２００となる。しかしながら、サブエレメントが、スケーリングパラメータを含んでいなかった場合、または、Ｘ寸法のサイズ変更を許可しないスケーリングパラメータを含んでいた場合、方法１７５は、ルーチン１９０でサブエレメントをサイズ変更しない場合がある。サブエレメントがスケーリングパラメータを含まない場合、方法１７５は、ルーチン１９０に進むことができる。
【００７９】
ルーチン１９０で、方法１７５は、複合形状が、スケーリングされていない１つ以上のサブエレメントを含むかどうかを判断することができる。一部の実施形態においては、方法１７５は、ルーチン１９０で１つ以上のサブエレメントがスケールされたかどうかを判断する際、スケーリングパラメータも含むサブエレメントだけを含むことができる。他の実施形態においては、方法１７５は、ルーチン１９０で判断する際に、全てのサブエレメント、または、１つ以上の他のサブエレメントのサブセットを含むことができる。スケーリングされていないサブエレメント１８８、またはその他、方法により確認またはサイズ変更されるために残っているサブエレメントがない場合、方法は終了する。これより多いサブエレメントが残っている場合、方法は、ルーチン１８４に戻って、前述のルーチンを再反復することができる。
【００８０】
実装される場合、本明細書に説明されるソフトウェアのいずれかは、磁気ディスク、レーザーディスク、または他のストレージ媒体、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭ等、任意のコンピュータが読み取り可能なメモリに格納され得る。同様に、このソフトウェアは、例えば、コンピュータが読み取り可能なディスクまたは他の運搬可能なコンピュータストレージ機構または、電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークまたは広域ネットワーク等の通信チャンネル（配信は、運搬可能なストレージ媒体を経由してこのようなソフトウェアを提供することと同一または同義と見なされる）を含む任意の周知または所望の配信方法を使用して、ユーザ、プロセスプラントまたは操作者ワークステーションに配信され得る。さらに、このソフトウェアは、変調または暗号化を行わずに直接提供され得るか、または、任意の適切な変調搬送波および／または暗号化技法を使用して、通信チャンネルから伝送される前に、変調および／または暗号化され得る。
【００８１】
本発明は、特定の実施例を参照しながら説明されたが、これは、説明のみを目的とするものであって、本発明を制限するものではなく、当業者には、本発明の精神および範囲を逸脱することなく、開示された実施形態に変更、追加、または削除を行うことができることが明らかであろう。
【図１】
2010218554.tif 000003
【図２】
2010218554.tif 000004
【図３】
2010218554.tif 000005
【図４ａ】
2010218554.tif 000006
【図４ｂ】
2010218554.tif 000007
【図４ｃ】
2010218554.tif 000008
【図５ａ】
2010218554.tif 000009
【図５ｂ】
2010218554.tif 000010
【図５ｃ】
2010218554.tif 000011
【図６ａ】
2010218554.tif 000012
【図６ｂ】
2010218554.tif 000013
【図６ｃ】
2010218554.tif 000014
【図７】
2010218554.tif 000015