コンピュータプログラム、グラフィックディスプレイエディタ、及びコンピュータシステム
【課題】複合形状スケーリングの提供。
【解決手段】複合形状サブエレメント関連パラメータは複合形状のサイズ変更中にサブエレメントがどうスケーリングされるかを決定する。グラフィックディスプレイエディタはスケーリングパラメータを使用しサイズ変更中に各サブエレメントに後から適用される多様なスケーリング係数を計算する。エディタは1つ以上の軸(長さ、幅、高さ、XYZ軸等)でサイズ変更のためにスケーリングパラメータをサブエレメントに適用し特定グラフィックディスプレイのために複合形状を調整する。エディタはスケーリングパラメータを各サブエレメントに直接適用しサブエレメントの歪みも防ぐ。スケーリングパラメータは実行時にパラメータが複合形状およびサブエレメントに適用されるように複合形状に連結される。スケーリングパラメータは複合形状と関連アニメーションの両方に適用され得る。
【解決手段】複合形状サブエレメント関連パラメータは複合形状のサイズ変更中にサブエレメントがどうスケーリングされるかを決定する。グラフィックディスプレイエディタはスケーリングパラメータを使用しサイズ変更中に各サブエレメントに後から適用される多様なスケーリング係数を計算する。エディタは1つ以上の軸(長さ、幅、高さ、XYZ軸等)でサイズ変更のためにスケーリングパラメータをサブエレメントに適用し特定グラフィックディスプレイのために複合形状を調整する。エディタはスケーリングパラメータを各サブエレメントに直接適用しサブエレメントの歪みも防ぐ。スケーリングパラメータは実行時にパラメータが複合形状およびサブエレメントに適用されるように複合形状に連結される。スケーリングパラメータは複合形状と関連アニメーションの両方に適用され得る。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2009年3月13日出願の出願番号第12/403,812号、名称「Scaling Composite Shapes for a Graphical Human−Machine Interface」の一部継続出願であり、参照によりその内容全体を本明細書に明示的に組み入れる。
【0002】
本発明は、概して、プロセスプラントに関し、より具体的には、プラントの構成、制御、保守およびシミュレーションに関連するコンポーネントおよび多様な操作のグラフィック表示のためのエディタ内の複合形状のスケーリングに関する。
【0003】
関連技術の説明
【0004】
化学、石油化学または他のプロセスにおいて使用されるような分散処理制御システムは、典型的に、アナログバス、デジタルバス、またはアナログとデジタルバスの組み合わせを経由して、1つ以上のフィールドデバイスに通信可能に連結された1つ以上のプロセスコントローラを含む。フィールドデバイスは、例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ(例えば、温度、圧力、レベルや流量センサなど)であり得、これらはプロセス環境内に配置され、バルブの開閉、プロセスパラメータの測定等のプロセス機能を実施する。FOUNDATION(登録商標)Fieldbusプロトコルのような周知のFieldbus プロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスも、制御計算、警告機能、およびコントローラ内に通常実装される他の制御機能を実施することができる。プロセスコントローラは、これも典型的にはプラント環境内に配置され、フィールドデバイスにより行われたプロセス測定および/またはフィールドデバイスに関する他の情報を示す信号を受信して、例えば、プロセス制御決定を行う、受信した情報に基づいて制御信号を生成し、かつHARTおよびFieldbus フィールドデバイス等のフィールドデバイスにおいて実行される制御モジュールまたはブロックと調整する、様々な制御モジュールを稼動するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信回線を通じて制御信号をフィールドデバイスに送信することにより、プロセスの動作を制御する。
【0005】
フィールドデバイスおよびコントローラからの情報は、通常、データハイウェイを通じて、典型的に苛酷なプラント環境から遠隔の制御室または他の場所に配置された、操作者ワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等の1つ以上の他のハードウェアデバイスに提供される。これらのハードウェアデバイスは、例えば、操作者が、プロセス制御ルーチンの設定を変更する、コントローラまたはフィールドデバイス内の制御モジュールの動作を修正する、プロセスの現在の状態を表示する、フィールドデバイスおよびコントローラにより生成された警告を表示する、担当者の訓練またはプロセス制御ソフトウェアのテストの目的でプロセスの動作をシミュレーションする、構成データベースを保存および更新する等のプロセスに関する機能を実施することを可能にし得る、アプリケーションを稼動する。
【0006】
例えば、Emerson Process Managementが販売するDeltaV(登録商標)制御システムは、プロセスプラント内の多様な場所に配置された様々なデバイス内に格納され、これらにより実行される複数のアプリケーションを含む。構成アプリケーションは、1台以上の操作者ワークステーション内に常駐し、ユーザが、プロセス制御モジュールを作成または変更すること、およびデータハイウェイを経由してこれらのプロセス制御モジュールを専用分散コントローラにダウンロードすることを可能にする。典型的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックから構成され、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトで、これに対する入力に基づいて制御スキーム内で機能を実施し、制御スキーム内の他の機能ブロックに出力を提供する。また、構成アプリケーションは、設計者が、表示アプリケーションにより使用され、操作者にデータを表示する操作者インターフェースまたはヒューマンマシンインターフェース(HMI)を作成または変更すること、および操作者が、プロセス制御ルーチン内の設定ポイント等の設定を変更することも可能にし得る。各専用コントローラ、および場合によっては、フィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを稼動するコントローラアプリケーションを格納および実行して、実際のプロセス制御機能を実装する。表示アプリケーションは、1台以上の操作者ワークステーション上で稼動され得、データハイウェイを経由してコントローラアプリケーションからデータを受信し、このデータをユーザインターフェースを使用してプロセス制御システム設計者、操作者、またはユーザに表示し、操作者の表示、エンジニアの表示、技術者の表示等のいくつかの様々な表示のうちのいずれかを提供することができる。データヒストリアンアプリケーションは、典型的に、データハイウェイを通じて提供されるデータの一部または全てを収集および格納するデータヒストリアンデバイスに格納およびこれにより実行されるが、一方で、構成データベースアプリケーションは、データハイウェイに付属されたまたさらなるコンピュータ内で稼動して、現在のプロセス制御ルーチン構成およびこれに関連するデータを格納することができる。代替として、構成データベースは、構成アプリケーションと同一のワークステーションに配置されてもよい。
【0007】
プロセス制御環境において使用される制御およびサポートアプリケーションの数および種類が増加するにつれて、ユーザがこれらのアプリケーションを効果的に構成および使用することを可能にする様々なグラフィックディスプレイアプリケーションが提供されてきた。例えば、グラフィックディスプレイアプリケーションは、構成エンジニアがプロセスプラント内の制御デバイスにダウンロードされる制御プログラムをグラフィック的に作成することを可能にする制御構成アプリケーションをサポートするために使用されてきた。これに加えて、グラフィックディスプレイアプリケーションは、制御操作者がプロセスプラントの現在の機能またはプロセスプラントの領域を表示することを可能にし、保守担当者がプロセスプラント内のハードウェアデバイスの状態を表示することを可能にし、プロセスプラントのシミュレーションを可能にする、等のために使用されてきた。
【0008】
グラフィックディスプレイアプリケーションによりサポートされるプロセス制御構成アプリケーションの中には、現在、プロセスプラントの制御ストラテジを作成するために使用される、機能ブロックテンプレートオブジェクト、および一部の場合には制御モジュールテンプレートオブジェクト等、テンプレートオブジェクトのライブラリを含むものがある。テンプレートオブジェクトは、これらに関連するデフォルトのパラメータ、設定および方法を有し、グラフィック構成アプリケーションを使用するエンジニアは、これらのテンプレートオブジェクトを選択し、基本的には、選択したテンプレートオブジェクトのコピーを構成画面に配置して制御モジュールを開発することができる。テンプレートオブジェクトは、1つ以上のサブエレメントまたはテンプレートオブジェクトのプリミティブも含むことができる。例えば、炉のテンプレートオブジェクトは、サブエレメントとして、バルブ、バルブ接続金具、および多様なテキスト領域を含むことができる。テンプレートオブジェクトを選択して構成画面に配置するプロセスの間、エンジニアは、これらのオブジェクトの入力と出力を相互接続し、これらのパラメータ、名前、タグおよび他のパラメータを変更して、プロセスプラントの特定の使用のための特定の制御モジュールを作成する。このような制御モジュールを1つ以上作成した後、エンジニアは、制御モジュールをインスタンス化して、プロセスプラントの動作中に実行するために、適切なコントローラおよびフィールドデバイスにダウンロードすることができる。
【0009】
その後、エンジニアは、異なるグラフィックディスプレイ作成アプリケーションを使用して、ディスプレイ作成アプリケーションでディスプレイオブジェクトを選択および構築することにより、プロセスプラント内の操作者、保守担当者等のために1つ以上のディスプレイを作成することができる。これらのディスプレイは、典型的に、ワークステーションの1台以上にシステム全体ベースで実装され、プラント内の制御システムまたはデバイスの作動状態に関して、事前設定されたディスプレイを操作者または保守担当者に提供する。これらのディスプレイは、概して、プロセスプラント内のコントローラまたはデバイスにより生成された警告を受信および表示する警告ディスプレイ、プロセスプラント内のコントローラおよび他のデバイスの動作状態を示す制御ディスプレイ、プロセスプラント内のデバイスの機能状態を示す保守ディスプレイ等の形式を取る。しかしながら、これらのディスプレイは、概して、周知の様態で、プロセス制御モジュールまたはプロセスプラント内のデバイスから受信した情報またはデータを表示するように事前設定される。一部のシステムにおいては、ディスプレイは、物理的または論理的エレメントを表し、かつ、物理的または論理的エレメントに関するデータを受信するように物理的または論理的エレメントに通信可能に連結される、グラフィック表示により作成される。ディスプレイ画面上のグラフィックは、例えば、タンクの量が半分であるということを示す受信データ、流量センサにより測定された流量を示す等の受信データ等、一定のイベントに応答して変化することができる。
【0010】
このように、制御構成アプリケーションに類似して、ディスプレイ作成アプリケーションは、タンク、バルブ、センサ、スライドバーのような操作者制御ボタン、オン/オフスイッチ等、任意の所望の構成で画面上に配置されて、操作者ディスプレイ、保守ディスプレイ等を作成することができる、テンプレートのグラフィックディスプレイアイテムを有することができる。テンプレートのグラフィックディスプレイアイテムは、しばしば、複合形状を作成する無数のネストされたサブエレメントを含む。例えば、タンクテンプレートのグラフィックディスプレイはポンプを含み、そのポンプは、楕円、矩形、直線、または他の形状等の無数の基本形状を含むことができる。画面上に配置されると、個別のグラフィックアイテムは、プロセスプラントの内部構造の何らかの情報またはディスプレイをユーザに提供する様態で画面上で相互接続され得る。グラフィックディスプレイをアニメーション化するには、ディスプレイ作成者は、グラフィックアイテムとプロセスプラント内の関連データソースとの間の通信リンクを指定することにより、センサにより測定されたデータまたはバルブ位置の指標等、プロセスプラント内で生成されたデータにグラフィック項目の各々を手動で連結することが必要である。
【0011】
しばしば、同一の制御モジュールおよびグラフィックディスプレイの多数が、プロセスプラント内の異なる機器のために使用される。例えば、多数の中型から大型のプロセスプラントは、同一の基本的な汎用制御モジュールおよびディスプレイを使用して、制御および表示され得る同一または類似の機器の無数のインスタンスを有する。これらの無数の制御モジュールおよびディスプレイを作成するには、しかしながら、汎用の制御モジュールまたはディスプレイモジュールが作成されてから、この汎用の制御またはディスプレイモジュールが、適用可能な様々な個々の機器の各々にコピーされる。プロセス制御およびシミュレーションシステムのシステムレベルでグラフィックディスプレイエディタおよびグラフィックディスプレイエレメントを統合および使用するための一部の技術は、2006年8月22日出願の米国特許出願第10/590,574号、名称「COMPOSITE SHAPE WITH MULTIPLE VISUALIZATIONS IN A PROCESS CONTROL ENVIRONMENT」に説明され得、この開示全体を参照により本明細書に組み入れる。これらの技術は、概して、複合形状、またはプラント構成、制御、保守およびシミュレーションに関連する多様な操作における複合形状の作成および使用を可能にする。複合形状は、プロセス制御システム内のいずれかのプロセス、シミュレーションまたはタスクのために再使用可能および再構成可能である。
【0012】
グラフィックディスプレイエディタを使用してプロセス制御およびシミュレーションシステムを構成する間、設計者は、グラフィックディスプレイ内のオブジェクトをそれぞれ表示するために複合形状を作成および構成することが必要である。例えば、操作者ディスプレイの操作者画面またはウィンドウ内にいくつかのプロセス制御システムコンポーネントを適切に表すために、設計者は、複合形状がウィンドウ内に適合し、プロセスにおいて使用される実際のコンポーネントを正確に表し、操作者に視覚的に注意を促す表示であることを保証し、または、相互に相対的なサイズおよび位置にあって正確および実践的な操作者ディスプレイまたはHMIのためのシミュレーション環境を作成するように、複合形状をサイズ変更することがしばしば必要である。同様に、実行時の間、ユーザは、構成プロセスの間(または「構成時」)に作成された複合形状をサイズ変更して、操作者の好みに合わせる、または以前に作成されたディスプレイのレイアウトを編集することができる。しばしば、これらの複合形状は、いくつかの基本形状(例えば、矩形、直線等)、プリミティブ、サブエレメント、およびバルブ、パイプ接続金具、接続具等、複数のサブエレメントおよびテキスト形状から構成される他の複合形状を含む。例えば、複合形状として表されるタンク、ボイラー、キルン、または他のプロセス制御システムコンポーネントは、任意の数のサブエレメントを含む。
【0013】
しかしながら、構成時または実行時に複合形状をサイズ変更する機能を含んでいた先行のグラフィックディスプレイエディタは、しばしば、サブエレメントの視覚パラメータを歪めることがあった。例えば、一部のグラフィックディスプレイエディタは、所望の空間を埋めるために複合形状の伸長を可能にするパネルまたはコンテンツデコレータを採用していた。コンテンツデコレータの一実施例は、概して、多様な寸法(例えば、X、YおよびZ軸、高さ、幅および長さなど、単一または組み合わせ)において複合形状のサイズ変更を許容するWindows(登録商標)Presentation FoundationのViewBoxクラスである。しかしながら、標準のコンテンツデコレータを使用するサイズ変更は、望ましくない動作となる。例えば、ViewBoxデコレータを使用してサイズ変更すると、複合形状およびサブエレメントの歪み部分は、著しく、太くなる、伸長する、狭くなる、位置が乱れる、または他の望ましくない視覚的特徴となってしまう。さらに、サイズ変更中にアスペクト比が固定された場合でも、一部のサブエレメントは他に対して視覚的に適切な関係を維持する一方で、ViewBoxを使用すると、テキスト部分は、不適切に大きくまたは小さくなり、テキストまたはエレメントの境界線が望ましくないほど太くなったり、細くなったりした。
【0014】
先行の解決策は、複合形状のサイズ変更中、およびアスペクト比を固定したエレメントをサイズ変更中に、上記の歪みに具体的には対応しなかった。ユーザインターフェースウィンドウに表示された画像は、論理グループに関連付けられていた。例えば、2つ以上のグラフィックエレメントは、1つの論理グループとして一緒にグループ化されていた場合がある。ユーザが、いくつかのグラフィックエレメントからそれぞれ構成される論理グループをいくつか表示したウィンドウの第1の寸法を変更した場合(つまり、ウィンドウの高さまたは幅の何らかの組み合わせを変更する)、画像のアスペクト比は固定され、画像はユーザがウィンドウの寸法を変更した程度にまでサイズ変更され得る。例えば、ユーザがウィンドウの高さを低くすると、いくつかの論理グループ内のグラフィックエレメントの全ては、低くなり得る(例えば、ボックス内に囲まれたテキストを含むグラフィックエレメントの場合、テキストは、フォントサイズが小さくなり、テキストを囲むボックスは低くなるので、したがって、各論理グループは、これに応じて低くなり、エレメントが歪むようになる)。しかしながら、ユーザがウィンドウの第2の寸法を変更した場合、画像のサイズは変化せず、その代わりに、論理グループの数が、拡大または縮小された空間に合わせて変化する。論理グループが概してウィンドウの幅に沿って整列していた場合、ウィンドウの幅が減少しても論理グループは形状を変化しなかった(つまり、グラフィックエレメントおよび論理グループは、したがって細くならなかった)。むしろ、第2の寸法の減少の程度に応じて、表示される論理グループの数が減少した。例えば、ユーザが本来は5つの論理グループを表示していたウィンドウを、ウィンドウが4つ半の論理グループだけに適する程度までウィンドウのサイズを減少した場合、表示される論理グループの数は、グループ内のオブジェクトの一般寸法を変更しないように、整数のグループに切り捨てられた可能性がある。
【0015】
他の解決策は、複合形状の「ディープコピー」の修正が必要であった。ディープコピーは、JPEGまたは他の形式のデジタルグラフィック画像などのファイルであり得、簡単なサイズの変更とは異なり、概して永久的と考えられる。例えば、構成時の間に構成エンジニアまたは他のユーザにより作成された複合形状は、概して、ディープコピーと考えられ得る。単に複合形状のディープコピーをサイズ変更することにより、前述のように歪んだサブエレメントとなった。したがって、構成時にユーザは、複合形状ライブラリのために、所望された複合形状のサイズ変更インスタンス各々に対する、新しい、歪みのない複合形状を作成することを余儀なくされる。例えば、複合形状ライブラリに低いタンクと高いタンクの両方を含めることが所望された場合、これらのタンクの両方のバージョンはサイズが等しい入り口および出口ポートを含むが、低いタンクを作成してそれを伸長するだけでは、タンクは所望の高さではあるが、入り口および出口ポートも伸長されてしまう可能性がある。低いタンクを伸長して作成された高いタンクは、少なくとも歪んだ入り口および出口ポートを有することになる。このように、正常なタンクと高いタンクの両方が構成時に作成されなければならなくなる。同様に、実行時のユーザが異なるサイズのタンクが表示されることを所望した場合、ユーザは、複合形状内の各個別のサブエレメントを個別に修正することにより、複合形状ライブラリ内のその本来のディープコピーの形式の複合形状を編集して、適切なアスペクト比を維持することを余儀なくされる。所望のスケーリングが達成されると、構成時または実行時のユーザは、修正した複合形状を、本来の複合形状の新規または代替のディープコピーとして保存し、その修正したエレメントをディスプレイに配置することが可能であった。この例に引き続いて、ユーザがタンクの入り口および出口ポートは標準のサイズに保つが、タンクの高さを変更することを希望した場合、ユーザは、タンクの複合形状のディープコピーを開いて修正しなければならなくなる。他のグラフィックディスプレイのためのいかなるさらなる修正も、ディープコピーのさらなる修正が必要となる。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】米国特許番号第7,110、835号
【発明の概要】
【発明が解決しようとする課題】
【0017】
このように、先行のグラフィックディスプレイエディタは、複合形状のアスペクト比を固定することによりサイズ変更の歪みに対応してきたため、直線が不必要に太くなり、テキストが伸長し、表示されるサブエレメントの数を切り捨てることになって情報の量または表示されるオブジェクトの量が減少し、かつ他の望ましくない歪みが発生することになった。他の方法は、サイズ変更のたびに、共通の複合形状のディープコピーの修正が必要であった。この結果、グラフィックエディタは、これらが存在する範囲では、アスペクト比を固定することによって複合形状の全てのサブエレメントをサイズ変更し、かつ歪める、ディスプレイウィンドウ内にいくつかの論理グループを追加または排除する、または複合形状のディープコピーの修正を必要とするというような、「妥協を許さない」アプローチによってユーザが共通のグラフィックエレメントをサイズ変更することしか可能ではなかった。
【課題を解決するための手段】
【0018】
プロセスプラントにおいて実行され得る1つ以上のグラフィックディスプレイの部分またはコンポーネントとして使用されるための複合形状が提供され、プロセスプラント環境に関する情報をユーザに表示する。複合形状のサブエレメントに関連するスケーリングおよびベースラインまたはスケーリングされていないパラメータは、複合形状のサイズ変更中にサブエレメントがどのようにスケーリングされるかを決定することができる。グラフィカルディスプレイエディタは、パラメータを使用して、サイズ変更中に各複合形状のサブエレメントにその後適用される多様なスケーリング係数を計算することができる。エディタは、1つ以上の軸(例えば、長さ、幅、および高さ、またはX、YおよびZ軸等)におけるサイズ変更のためにスケーリングパラメータをサブエレメントに適用して、特定のグラフィックディスプレイおよび構成時または実行時のユーザの好みに合わせて複合形状を調整することができる。エディタは、スケーリング係数を各サブエレメントに直接適用して、これらのサブエレメントの一切の歪みを防ぐことができる。複合形状のサブエレメントのスケーリングパラメータは、構成時にディープコピーを作成する間に調整され得るか、または、実行時にユーザにより修正され得、ベースラインまたはスケーリングされていないパラメータとの関係において、複合形状全体および個別のサブエレメントに関して、スケーリング係数が有する影響(有する場合)を制御する。構成されたスケーリングパラメータは、次に、構成時および実行時の両方で、サイズ変更動作中にパラメータが複合形状およびそのサブエレメントに適用されるように、複合形状に連結され得る。複合形状がサブエレメントとしてネストされた複合形状を含む場合、パラメータは、サイズ変更動作中に再帰的に適用され得る。スケーリングパラメータは、複合形状とアニメーションの両方に適用され得る。
【0019】
プロセスプラントにおいて使用されるプロセス制御システムにおける操作者ディスプレイのための複合形状をスケーリングする一実施例は、プロセスプラント内のエンティティをグラフィックに示す複合形状を表示することを含むことができる。複合形状は、1つ以上のサブエレメントを含むことができ、各サブエレメントは1つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは1つ以上のスケーリングパラメータを含む。各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義することができる。スケーリングは、複合形状の1つ以上の寸法についてサイズ変更すること、各サイズ変更された寸法に対してスケーリング係数を計算すること、および、1つ以上のスケーリング係数をスケーリングパラメータに関連する各スケーリングされていないパラメータに適用することも含むことができる。
【0020】
グラフィックディスプレイエディタは、プロセスプラントにおいても使用され得、プロセスプラント内の動作とエンティティのうちの1つ以上を表す1つ以上の複合形状をサイズ変更する。グラフィックディスプレイエディタは、複合形状のライブラリを含むことができ、複合形状の各々は、プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含む。複合形状は、1つ以上のサブエレメントも含むことができる。エディタは、複合グラフィックオブジェクトのライブラリから1つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することにより、ユーザが実行可能なグラフィックディスプレイを定義することを可能にして、1つ以上の複合グラフィックオブジェクトのどの視覚表示が、グラフィックディスプレイの実行中にユーザに対してディスプレイデバイスに表示されるかの様態を定義する、グラフィックベースエディタキャンバスルーチンを含むことができる。さらに、グラフィックベースエディタキャンバスルーチンは、ユーザが、複合グラフィックオブジェクトのコンポーネントオブジェクトの各々のスケーリング動作を制御することを可能にし得る。別のエディタルーチンは、ユーザが、1つ以上のスケーリングパラメータを複合形状の1つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンを含むことができ、複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ得、各スケーリングパラメータは、複合形状に関連するサブエレメントのスケーリング動作を画定することができる。また、複合形状サイズ変更ルーチンは、ユーザが、エディタキャンバス内の複合形状の1つ以上の寸法を修正することを可能にし得、修正は、関連するスケーリングパラメータに従って、複合形状の1つ以上のサブエレメントに適用され得る。
【0021】
コンピュータシステムも、プロセス制御プラントにおいて使用されるための複合形状をスケーリングするために使用され得る。例えば、各複合形状が、プロセスプラント内の動作とエンティティとのうちの1つ以上を表すことができる場合、システムは、1つ以上の複合形状を備えるデータベースと、プロセスプラントの視覚表示を表示するためのグラフィックヒューマンマシンインターフェースとを含むことができる。データベース内の複合形状は、スケーリングキャンバスオブジェクト内の1つ以上のサブエレメントを含むことができ、各サブエレメントは、1つ以上のスケーリングされていないパラメータを含み、グラフィックヒューマンマシンインターフェースは、コンピュータシステムのプロセッサ上で実行される複合形状サイズ変更モジュールを含むことができる。モジュールは、構成時に、1つ以上のスケーリングパラメータを含む1つ以上の複合形状を構成するため、および、実行時に各構成された複合形状を構成されたスケーリングパラメータにバインドするための命令を含むことができる。各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義することができる。モジュールは、複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するための命令も含むことができ、サイズ変更されたスケーリングキャンバスオブジェクトは、1つ以上の変更された寸法を含むことができる。さらに、モジュールは、各変更された寸法に対してスケーリング係数を計算するための命令を含むことができ、スケーリング係数は、スケーリングキャンバスオブジェクトの1つ以上の変更された寸法と、1つ以上の対応するスケーリングされていないパラメータとの比を含むことができる。モジュール命令は、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに1つ以上のスケーリング係数を適用することもできる。
【図面の簡単な説明】
【0022】
【図1】プロセスプラント内に配置される分散処理制御ネットワークのブロック図であり、プロセスプラント内の多様な機能に関連するディスプレイルーチンおよび他のアプリケーションを実装する操作者ワークステーション、ならびに、プラントの多様な機能領域の各々に複合形状およびグラフィックディスプレイを作成およびサイズ変更するために使用され得るシステムレベルのグラフィックサポートを提供するワークステーションを含む。
【図2】プロセスプラント制御、表示、およびシミュレーションシステム内のシステムレベルのグラフィックサポートの統合を示す論理的ブロック図である。
【図3】複合形状およびディスプレイが作成される構成環境と、複合形状およびディスプレイが実行され得る実行時環境を示す論理的ブロック図である。
【図4a】スケーリングされていない複合形状の図である。
【図4b】スケーリングパラメータを適用せずにサイズ変更した後の複合形状の図である。
【図4c】1つ以上のスケーリングパラメータを使用してサイズ変更後の複合形状の図である。
【図5a】構成時の複合形状を表示する、グラフィックエディタにより作成されたディスプレイ画面である。
【図5b】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第1の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図5c】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第2の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図6a】実行時のグラフィックディスプレイを示すディスプレイ画面である。
【図6b】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第1の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図6c】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第2の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図7】複合形状が歪むことなく構成時と実行時にサイズ変更され得る1つの様態を示すブロック図である。
【発明を実施するための形態】
【0023】
図1は、例示的なプロセスプラント10を示し、ここでシステムレベルのグラフィックサポートがプラント10の多様な機能領域に提供される。典型的に、プロセスプラント10は、1つ以上のコントローラ12を有する分散処理制御システムを含み、コントローラ12の各々は、例えば、Fieldbusインターフェース、Profibusインターフェース、HARTインターフェース、標準4−20mAインターフェース等であり得る、入力/出力(I/O)デバイスまたはカード18を経由して1つ以上のフィールドデバイス14および16に接続される。コントローラ12は、例えば、イーサネット(登録商標)リンクであり得るデータハイウェイ24を経由して、1台以上のホストまたは操作者ワークステーション20〜23にも接続される。データベース28は、データハイウェイ24に接続され得、プラント10内のコントローラおよびフィールドデバイスに関連するパラメータ、ステータスおよび他のデータを収集および格納するデータヒストリアンとして、および/または、コントローラ12およびフィールドデバイス14および16にダウンロードされて格納されると、プラント10内のプロセス制御システムの現在の構成を格納する構成データベースとして作動することができる。データベース28は、これに加えて、本明細書に説明される様態で作成されるグラフィックオブジェクトを格納して、プロセスプラント10内のグラフィックサポートを提供することができる。コントローラ12、I/Oカード18ならびにフィールドデバイス14および16は、典型的に、時には過酷なプラント環境内に配置および全体に分散されるが、操作者ワークステーション20〜23およびデータベース28は、通常、制御または保守担当者により容易に評価可能な管理室または他のあまり過酷ではない環境に配置される。しかしながら、場合によっては、これらの機能を実装するためにハンドヘルドデバイスが使用され得、典型的に、これらのハンドヘルドデバイスはプラントの多様な場所に持ち運ばれる。
【0024】
周知のように、例えば、Emerson Process Managementが販売するDeltaV(登録商標)であってもよい、コントローラ12の各々は、任意の数の様々な、独立的に実行される制御モジュールまたはブロック29を使用して制御ストラテジを実装するコントローラアプリケーションを格納および実行する。制御モジュール29の各々は、一般的に機能ブロックと称されるものから成り得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、他の機能ブロックと関係して(リンクと呼ばれる通信を経由して)動作して、プロセスプラント10内のプロセス制御ループを実装する。周知のように、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトであり得、典型的に、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスと関連するような入力機能、PID、ファジーロジック等の制御を実施する制御ルーチンに関連するような制御機能、またはバルブ等の何らかのデバイスの作動を制御する出力機能のうちの1つを実施して、プロセスプラント10内の何らかの物理的機能を実施する。当然のことながら、モデル予測コントローラ(MPC)、オプティマイザ等のハイブリッドおよび他のタイプの複雑な機能ブロックが存在する。FieldbusプロトコルおよびDeltaVシステムプロトコルは、オブジェクト指向プログラミングプロトコルにおいて設計および実装される制御モジュールおよび機能ブロックを使用するが、例えば、シーケンシャル機能ブロック、ラダーロジック等を含むいずれかの所望の制御プログラミングスキームを使用する制御モジュールが設計され得、機能ブロックまたは他の任意の特定のプログラミング技法を使用して設計および実装されることに限定されない。
【0025】
図1に示されたプラント10においては、コントローラ12に接続されたフィールドデバイス14および16は、標準の4−20mAデバイスであってもよく、または、HART、Profibus、またはFOUNDATION(登録商標)Fieldbusフィールドデバイス等の、プロセッサおよびメモリを含むスマートフィールドデバイスであってもよく、または他の任意の所望のタイプのデバイスであってもよい。Fieldbusフィールドデバイス(図1の参照番号16)等のこれらのデバイスの中には、コントローラ12に実装される制御ストラテジに関連する、モジュール、または機能ブロック等のサブモジュールを格納および実行できるものがある。機能ブロック30は、図1ではFieldbusフィールドデバイス16のうちの2つの異なるデバイスに配置されると示されているが、周知のように、コントローラ12内の制御モジュール29の実行とともに実行され得、プロセス制御を実装する。当然のことながら、フィールドデバイス14および16は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであり得、I/Oデバイス18は、HART、Fieldbus、Profibus等の任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのI/Oデバイスであり得る。
【0026】
図1のプロセスプラント10において、ワークステーション20〜23は、プラント10内の同一または異なる担当者により実施される多様な異なる機能のために使用される、多様なアプリケーションを含むことができる。ワークステーション20〜23の各々は、多様なアプリケーション、プログラム、データ構造等を格納するメモリ31と、メモリ31に格納されたアプリケーションのいずれかを実行するために使用され得るプロセッサ32とを含む。図1に示された実施例において、ワークステーション20は、構成ワークステーションとして指定され、1つ以上の構成アプリケーション33を含み、構成アプリケーションは、例えば、制御モジュール作成アプリケーション、操作者インターフェースアプリケーションおよび他のデータ構造を含むことができ、これらは、いずれかの承認された構成エンジニアによってもアクセスされ得、制御モジュール29および30等の制御ルーチンまたはモジュールを作成され、プラント10の多様なコントローラ12およびデバイス16にダウンロードされる。ワークステーション21は、概して、図1には制御操作者表示ワークステーションとして示され、プロセスプラント10の動作中に多様なディスプレイを制御操作者に提供することができる、いくつかのディスプレイアプリケーション34を含み、操作者が、プロセスプラント10内またはプラントの多様なセクションで行われている内容を表示および制御することを可能にする。アプリケーション34は、制御機能を実施する際に制御操作者を支援するために使用され得る、制御診断アプリケーション、調整アプリケーション、レポート生成アプリケーションまたは他の任意の制御サポートアプリケーション等のサポートアプリケーション34aを含むことができる。同様に、ワークステーション22は、保守表示ワークステーションとして示され、プラント10の保守ニーズを表示するため、または多様なデバイス12、14、16等の動作または作業状態を表示するために、多様な保守担当者により使用され得るいくつかの保守アプリケーション35を含む。当然のことながら、アプリケーション35は、プラント10内の保守機能を実施する際に保守担当者を支援するために使用され得る、保守診断アプリケーション、較正アプリケーション、振動分析アプリケーション、レポート生成アプリケーションまたは他の任意の保守サポートアプリケーション等のサポートアプリケーション35aを含むことができる。これに加えて、ワークステーション23は、トレーニング目的のため、プラントの保守および制御を支援するプラントモデル化の目的のため等、を含むいくつかの目的のために、プラント10またはプラント10の多様なセクションの動作をシミュレーションするために使用され得る、いくつかのシミュレーションアプリケーション36を含むシミュレーションワークステーションとして示される。典型的に、ワークステーション20〜23の各々は、ディスプレイ画面37に加えて、キーボード、マウス等の他の標準の周辺機器を含む。
【0027】
当然のことながら、多様な構成、制御、保守およびシミュレーションのアプリケーション33〜36は、図1では、これらの機能のうちの1つを専用とする様々なワークステーションに配置されるように示されているが、これらの、または他のプラント機能に関連する多様なアプリケーション33〜36は、プラント10のニーズおよびセットアップに応じて、プラント10内の同一もしくは異なるワークステーションまたはコンピュータに配置および実行され得ることが理解されるであろう。このように、例えば、1つ以上のシミュレーションアプリケーション36および制御アプリケーション33は、同一のワークステーション20〜23で実行され得るが、異なる個別のシミュレーションアプリケーション36または異なる個別の制御アプリケーション33は、ワークステーション20〜23のうちの異なる1つにおいて実行され得る。
【0028】
米国特許出願第10/590、574号に説明されているように、各プラントレベルの様々なグラフィックエディタおよびパッケージの非効率を軽減するため、およびプラント10内のグラフィックの利用範囲を広範にし、理解できるようにするために、プロセスプラント10のシステムレベルにはグラフィックサポート層が提供されて、プラント10の構成、操作者表示、保守表示、シミュレーションおよび他の機能領域等を含む、プラント10の多様な機能領域の各々のグラフィックディスプレイおよびデータ構造のニーズをサポートする。このシステムレベルのサポートは、図2において模式的に表され、プラント動作レベル40、プラント機能レベル42およびシステムレベル44を示す。図2から理解されるように、プラント動作レベル40は、制御ルーチンまたはモジュール29および30、ならびにプラント10内の他のソフトウェア稼動を実行して、プラントの実行時中にプラント動作を実装する他のソフトウェアを実行する、コントローラ12、フィールドデバイス14、16等、を含む。プラント機能レベル42は、構成機能ブロック46、制御機能ブロック47、保守機能ブロック48およびシミュレーションブロック49を含むように表されているが、エンジニアリングおよびビジネス機能等の他のまたは異なる機能も提供される可能性がある。構成機能ブロック46は、プラント動作レベル40内のコンポーネントとインターフェースまたは通信する構成ルーチン33を実装して、そこに制御ストラテジまたは制御モジュールを提供する。制御機能ブロック47は、制御表示および他のアプリケーション34および34aを含み、これらは、典型的に、プラント動作レベル40内の多様な物理的および論理的コンポーネントとも直接インターフェースまたは通信して、プラント10内の操作者が行った変更を実装、制御ディスプレイ34を介して操作者に情報を提供、制御アプリケーション34aのためにデータを取得等する。保守機能ブロック48は、保守ルーチンおよびアプリケーション35および35aを含み、これらは、プラント動作レベル40内の多様な物理的および論理的コンポーネントとインターフェースまたは通信して、保守手順を実装、保守データを収集、保守ディスプレイ35を経由して保守データまたは情報を保守担当者に提供、診断アプリケーション35aを実行等する。同様に、シミュレーション機能ブロック49は、シミュレーションルーチン36を含み、これは、プラント10のシミュレーションを実装、かつプラント動作レベル40内のコンポーネントに通信可能に結合され得、プラント10に関するデータを取得する。
【0029】
図2に示されているように、システムレベルサポート層44は、プラント機能層42内の各機能ブロック46〜49に結合し、かつこれをサポートして、例えば、多様な機能領域46〜49において使用するためのソフトウェアオブジェクト、複合形状およびグラフィックディスプレイ等の共通のデータベースおよびディスプレイ構造の作成および保守を可能にする。より具体的には、システムレベルサポート層44は、システムサポート層44で作成された共通のデータベース構造および複合形状を使用して統合または開発された機能ブロック46〜49の各々において実施されるグラフィック動作を可能にする、アプリケーション、データベース、グラフィックサポートエレメントを含む。
【0030】
システムサポート層44は、グラフィックエディタ50とグラフィックオブジェクトデータベース52とを含むことができる。グラフィックエディタ50は、複合形状54およびグラフィックディスプレイ56を作成するために使用され得るが、一方で、グラフィックオブジェクトデータベース52は、エディタ52、およびブロック46〜49の多様なアプリケーションによりアクセス可能なメモリに複合形状54およびディスプレイ56を格納する。データベース52は、複合形状54のためのサブエレメント等の他のオブジェクト58と、プラント動作レベル40内の個別のハードウェアおよびソフトウェアエレメントに複合形状54を接続するデータ構造もまた格納することもできる。これに加えて、データベース52は、さらなる複合形状またはディスプレイを作成するために使用され得るテンプレート、サブエレメントおよびプリミテティブを格納することができる。図2から理解されるように、グラフィックディスプレイエレメント54、ディスプレイ56および他のデータベース構造58は、機能ブロック46〜49のうちのいずれかまたは全てにより使用され得、これらの機能ブロックに関連するグラフィックを作成および使用する。
【0031】
一般的に、システムレベルサポートブロック44は、機能領域46〜49の全てにおいて、図1のプロセスプラント10において使用されるグラフィックを統合する様態を提供し、これによって、様々な機能的状況における同一のプラント機器のために様々な複合形状を繰り返して作成する必要性を軽減または排除し、かつ、機能領域46〜49の各々においてユーザが、これらの機能領域に関連するグラフィック表示において表示される機器に関連するデータを結合しやすくする。理解されるように、システムレベルサポート層44は、機能領域46〜49の様々な領域における様々なアプリケーション等のために、機能領域46〜49の各々における複数のアプリケーションをサポートするグラフィックとデータベースを提供するために使用され得る。
【0032】
再び図1を参照すると、システムレベルサポートブロック44は、他のワークステーション20〜23の各々に接続され得る、追加のワークステーションまたはユーザインターフェース60を使用して実装され得る。ワークステーション60は、概して、グラフィックエディタ50およびデータベース52を格納することができ、所望される場合は、他のエレメント54、56および58を格納することができる。これに加えて、ワークステーション60は、データバス24を経由、別の有線または無線通信接続(図1において破線で示される)を経由、または他の任意の所望の様態において、ワークステーション20〜23と通信可能に接続され得る。図1に示された構成においては、ワークステーション60は、ディスプレイエディタ50を格納および実行して、ユーザが、サブエレメントを含む複合形状および他の複合形状を作成すること、および形状を1つ以上のグラフィックディスプレイまたはディスプレイモジュールにグループ化することを可能にする。これらのディスプレイモジュールは、次に、データベース52に格納され得、図2に示される多様な機能ブロック46〜49によりアクセスおよび使用され、かつ多様なワークステーション20〜23上に実装されるように、データベース52に格納されてもよい。説明のために、システムレベルブロック44の機能および機能レベルブロック46〜49は、図1においては異なるまたは個別のワークステーション20〜23および60上に実装されるように示されるが、これらの多様なブロックのいずれかに関連するアプリケーションのいずれかまたは全ては、プロセスプラント10内またはプロセスプラント10に関連する同一または様々なワークステーションまたは他のコンピュータ上に実装されることが可能であることが理解されるであろう。このように、グラフィックエディタ50は、プラント10に関連する他のワークステーション20〜23のいずれか、または他のいずれかのコンピュータに格納および実行され得、スタンドアロンまたは別のコンピュータにある必要はない。
【0033】
上記のように、図2のシステムレベル層44は、システムレベルディスプレイおよびデータベースオブジェクトを実装し、これらは、多様な機能環境で使用され得るとともにレベルがさらに高いディスプレイ機能を提供する。一般的に、図2のシステムレベル44で作成されたディスプレイオブジェクトは、複合形状とグラフィックディスプレイとに分類され得る。複合形状は、概して、バルブ、センサ、ポンプ、コントローラ、タンク、反応炉、バーナー、パイプ、パイプ接続金具等のハードウェアデバイスなど、プラント内の具体的な物理的エンティティに関連するディスプレイオブジェクトである。グラフィックディスプレイは、概して、一連の相互接続された複合形状から成り、ユニット、領域等のプラント内のより複雑な一連のハードウェアを表示およびモデル化するために使用され、様々なハードウェアユニット間の相互接続を含む。複合形状は、それ自体が複合形状であり得る、複数のサブエレメントから成り得る。つまり、複合形状74は、ネストされ得る。例えば、反応炉のグラフィックディスプレイ内のタンクの複合形状は、バルブ、パイプ接続金具、センサ、攪拌機等の1つ以上の複合形状を含むことができ、各々は、矩形、楕円、直線等から成る。同様に、グラフィックディスプレイも1つ以上の複合形状を含むことができる。これに加えて、グラフィックディスプレイは、プラントから、ワークステーション20〜23および60で稼動する診断およびビジネスアプリケーション等の他のアプリケーション等から提供されるグラフ、チャートおよび他のデータを含むことができる。
【0034】
図3は、概して、これらのエレメントおよびディスプレイが存在する場合がある、具体的には構成環境70および実行時環境72の、2つの環境における複合形状およびグラフィックディスプレイの開発および使用を示す。一般的には、複合形状74(別個のエレメントオブジェクト74a、74b等として示される)およびグラフィックディスプレイ76(別個のディスプレイオブジェクト76a、76b等として示される)の形態のディスプレイオブジェクトは、例えば、ディスプレイエディタ50を使用して、構成環境70において作成される。作成後、オブジェクト74および76は、データベース52に格納され得る。オブジェクト74および76は、本明細書ではディスプレイクラスオブジェクトと称されるクラスオブジェクトとして作成され得、プロセスプラント10内の特定のハードウェアまたは論理エレメントにはバインドまたは結合されない一般的なオブジェクトを定義する。しかしながら、クラスオブジェクトは、クラスオブジェクトと同一の基本的プロパティを有する実行時グラフィックオブジェクトを作成するために使用され得るが、プロセスプラント10内の特定のハードウェアに結合またはバインドされる。一般的には、しかしながら、クラスオブジェクトは、そこからインスタンス化された子オブジェクトに結合されたままであるので、クラスオブジェクトに対する変更は、これらの子オブジェクトが実行時環境内でインスタンス化される場合であっても、子オブジェクトに自動的に反映され得る。
【0035】
図3に示されるように、複合形状74の各々は、多数の異なる状況において有用な複合形状を作成するいくつかのコンポーネントを含む。具体的には、各複合形状74は、1つ以上のグラフィックエレメントまたはサブエレメント77、任意の数のパラメータまたはプロパティ78、任意の数のアクションまたはアニメーション79を含み、これらは、スクリプトまたはトリガ、およびバインディング80を使用して実装され得る。一般的に、各エレメント77、78、79、80は、複合形状74が実行時環境72に実装されると、ディスプレイ画面上に実際に表示される視覚プロパティまたはエレメントを定義する。典型的に、複合形状は、物理的または論理的デバイスまたはデバイス群のグラフィック表示を定義するが、複合形状は他のエンティティを表す可能性がある。複合形状74は、エンティティのグラフィック表示の仕様を定義する任意の所望の記述またはプログラミングパラダイムを使用して、実行時環境72に実装され得る。一実施形態において、複合形状74は、PGXML、XAML、またはMicrosoft(登録商標)により提供される周知の制御であり、オブジェクトベースであるため、標準のWindows(登録商標)タイプのディスプレイに容易に実装され、ディスプレイ環境間で移植可能である、Windows(登録商標) Presentation Foundation(WPFは旧称「Avalon」)制御を使用して実施され得る。
【0036】
複合形状74のサブエレメント77は、複合形状74の構成要素である基本的な形状を含むことができる。前述のように、サブエレメントは、矩形、楕円、曲線、直線、および他の基本形状を含むことができ、操作されて組み合わされると、タンク、バルブ、パイプ接続金具または他のオブジェクトのグラフィック表示を形成する。サブエレメント77は、それ自体、複合形状74であり得、複雑なネストされた構造を作成する。したがって、サブエレメント77は、以下に詳細を説明するように、パラメータ/プロパティ78、アクション/アニメーション79、およびバインディング80のうちの1つ以上をもまた含むこともできる。
【0037】
一般的に、パラメータおよびプロパティ78は、表示される形状またはエンティティに関連する、変数、または静的または変更可能な固有パラメータ等の他のパラメータを定義し、これらのパラメータは形状74の作成者により定義可能である。一部の実施形態において、パラメータは、スケーリング中に複合形状74の関連するサブエレメントがどのように動作するかに関連する。例えば、パラメータ78は、複合形状のサイズ変更時に、複合形状内の関連するサブエレメントが、伸長または他の望ましくない動作を見せずに、スケーリングするように、定義され得る。スケーリングパラメータの一部の実施例は、以下に詳細を説明するように、複合形状のラベルおよび複合形状の他のテキスト部分のフォントサイズ、エッジ幅、角の丸み半径、サイズスケール、および位置スケールである。パラメータは、構成時および実行時の両方でサイズ変更操作中に形状に適用することができる。複合形状74は、インターフェースも実装することができて、以下に詳細を説明するように、Scaling Canvasコンテナがサイズ変更に関連するパラメータにアクセスすることを可能にする。このように、パラメータおよびインターフェースを使用することによって、複合形状自体が独自のスケーリングロジックを提供することができる。
【0038】
各サブエレメント77は、限定された数のスケーリング係数を含むことができる。一部の実施形態においては、各サブエレメント77は、これらのスケーリングパラメータだけを含み、変更されると、形状の対応する特徴を変更する。例えば、楕円オブジェクトは、xとyの位置、幅、および高さのスケーリングに対するスケーリングパラメータだけを含むことができるが、一方で、矩形オブジェクトは、これに加えて、角のスケーリングパラメータを含むことができ、テキストオブジェクトは、フォントサイズスケーリングのパラメータを含むことができる、等である。当然のことながら、間隔、深さ(3次元形状において)、順序付け、および他の視覚特徴等、他のパラメータが、複合形状74の他のスケーリング動作を制御する場合がある。
【0039】
アクションおよびアニメーション79は、ルーチンまたはプログラム(スクリプトとして実装され得、パラメータ上で変換を実施、パラメータ値に基づいてプロセスエンティティの状態を検出する等)、複合形状または複合形状のサブエレメントまたは形状がディスプレイ画面に表示される場合に形状上でまたは形状を使用して実施される動作、を変更する何らかのルーチンを含むことができるアニメーションルーチン、またはユーザが形状74を使用または相互作用してプロセスへの入力の変更等、プロセスに変更を発生させることが可能なルーチンを定義する。これらのアクションおよびアニメーションは、より興味深い、理解可能または有用なグラフィックプロパティを複合形状74に提供し、ユーザが複合形状74と相互作用することを可能にする。一例においては、これらのアクションまたはアニメーションは、色の変更、形状の多様なコンポーネントおよびサブエレメント77のサイズ(例えば、高さおよび幅、線の太さ、フォント等)、塗りつぶす色、および色の変化、回転、サイズ変更、スケーリング変更、スキュー等のアニメーションの形を取り得る。これらのアクションおよびアニメーションは、グラフィックプロパティならびにユーザ相互作用プロパティを複合形状74に提供する。
【0040】
バインディング80は、静的または固定バインディングまたはエイリアスを使用するバインディングであり得、複合形状74が実行時環境72においてディスプレイの一部として実装されるときに、パラメータまたはプロパティ78が実行時環境72内のデータ、タグ、または他のエンティティにバインドされる様態を定義する。構成と実行時の両方でサイズ変更中に複合形状74が歪むことを防ぐために、各複合形状のバインディング80は、以下に詳細を説明するように、Scaling Canvasへの1つ以上のバインディングを含むことができる。概して、各複合形状74のバインディング80は、複合形状74が、プラント環境の他の場所で定義される1つ以上のエンティティまたはデータエレメントに結合される様態を確立し、したがって、実際の実行時環境72と複合形状74との間のインターフェースを定義する。
【0041】
図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との間のインターフェースを定義する。
【0042】
いったん作成されると、複合形状74とグラフィックディスプレイ76は、バインドされ、例えば、図1のワークステーション20〜23のうちのいずれかで、実行時環境72において実行され得る。特に、複合形状74またはグラフィックディスプレイ76がクラスオブジェクトとして作成され、データベース52に格納された後、そのエレメントまたはディスプレイは、実際の実行時オブジェクトとしてインスタンス化され得、実行時環境72において実行され得る。ブロック86により示されるように、インスタンス化プロセスは、オブジェクト74および76に定義されたバインディングに与えられるが、これは、プロセスプラントまたはプロセス制御システム内の適切な変数名、タグ、エイリアス等を備えてロードされ得る1つ以上の解決テーブルを使用して達成され得、プロセスプラント内の実際のエンティティと、プラント10内のディスプレイデバイス上で実行するグラフィックオブジェクトとの間の特定の接続を提供する。バインディングプロセスの一部として、オブジェクト74および76は、解決テーブルにより定義されるようにプロセスプラント内のデータソースに接続し、これによって、プロセスプラント10に論理的かつ通信可能に接続されるように、プラントへのアクセスを取得する。
【0043】
ブロック87により示されるように、複合形状74またはグラフィックディスプレイ76は、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイを含めて、実行時環境72内のいくつかの異なる機能内で、またはこれらの一部として実行され得る。例えば、ディスプレイのうちのいずれも、歪みなく、複合形状74のサイズ変更またはスケーリングのために使用され得る。これに加えて、ディスプレイオブジェクト74および76は、例えば、予測制御または予測保守機能、システムレベルエラー検出、診断等を含めて、図2に示される機能レベルのうちの多様なものからのデータを使用するもの等、システムレベル機能を実施するために使用され得る。実際、ディスプレイ76は、構成環境70で作成されてデータベース52に格納されると、実行時環境72におけるいくつかの様々な操作に使用され得る。またさらに、ディスプレイオブジェクト74および76は、ワークステーション90、ノート型コンピュータ91、携帯情報端末(PDA)、携帯電話等のハンドヘルドデバイス92、または複数のモニタを有する大型画面ディスプレイ等のような他の任意の特殊なディスプレイ93等、任意の所望のディスプレイまたはコンピュータハードウェア上で実行され得る。所望される場合、単一のグラフィックディスプレイ76は、構成表示、操作者表示、保守表示またはシミュレーション表示等の1つ以上の表示を含むようにレイヤー化され得る。代替として、別個のグラフィックディスプレイ76は、同一または類似の複合形状81を使用してこれらの別個の表示を提供するように構成され得、これらの多様な機能のために作成されたディスプレイを通じて一定の外観と使い勝手を提供する。
【0044】
ブロック95により示されるように、複合形状74、またはグラフィックディスプレイ76は、ランタイムマシンにコピーまたはインスタンス化、およびロードされ得、実行時環境72にポートされる。一般的に、ディスプレイオブジェクト74または76は、本明細書において実行時バインディングと称される、ランタイムマシン上で呼び出されるまたは実際に実行される場合にのみ、実行時環境72にバインドされることが望ましい。つまり、インスタンス化されたオブジェクトの各々に対する解決テーブルは、ディスプレイオブジェクトが実行時コンピュータで実際に稼動している、または実行されている場合にのみ、実行時環境に与えられる、またはバインドされる。このように、ディスプレイオブジェクトは、そのオブジェクトが実行時コンピュータ上で実際に稼動している場合に実行時環境72にだけバインドされることが好ましく、つまり、ディスプレイオブジェクト74および76は、これらのオブジェクトにより作成されたディスプレイを表示しているユーザの操作により定義された様態で、実行時環境72に間欠的に接続され得る。特に、これらのオブジェクトは、表示されることが必要な場合に実行時環境72にバインドされ得、これらのオブジェクトがディスプレイを提供している画面をユーザがアイコン化または閉じる場合等、ユーザにより表示されていない場合にはバインドを解消または解放され得る。
【0045】
ディスプレイオブジェクト74および76は、このように、スタンドアロン環境、つまり構成環境70において作成され得るオブジェクトであるが、例えば、任意の制御、シミュレーション、保守または構成の環境において定義されたオブジェクト、データ構造、アプリケーション等を含めて、プロセスプラント環境内に定義された他のオブジェクトまたはデータ構造、またはプロセスプラント環境内で稼動する任意のアプリケーションに結合または接合され得る、オブジェクトである。さらに、いったん作成されると、ディスプレイオブジェクト74および76は、解決テーブルに定義された直接参照、変数またはタグを経由して直接的に、または、エイリアス名、変数およびパラメータの使用により間接的に、物理的または論理的プロセスエンティティにバインドされ得るが、これはディスプレイオブジェクト74または76が実行時環境72内にダウンロードまたはインスタンス化される場合、または一部の場合には、ディスプレイオブジェクト74または76が実際に実行時環境72内で稼動している場合のいずれかで、解決され得る。
【0046】
図3のディスプレイエディタ50は、複合形状74およびグラフィックディスプレイ76が、構成時に多様な詳細レベルで作成されて、使いやすさおよび多様性を強化することを可能にすることができる。例えば、複合形状74は、まず、よりプリミティブな物理的および論理的エンティティのプロパティおよび動作を定義するように作成され得る。グラフィックディスプレイ76は、1つ以上の複合形状74を相互接続することにより作成され得、より複雑な物理的または論理的エンティティ、または物理的または論理的エンティティ群を表す、レベルが高い、またはより複雑なディスプレイを作成する。当然のことながら、複合形状74とグラフィックディスプレイ76の両方は、多様な異なるカテゴリに格納およびアクセスされ得、ユーザがより高いレベルのディスプレイオブジェクトを容易に作成できるようにする。
【0047】
図4aおよび4bは、構成時に典型的なディスプレイエディタ50を使用して、複合形状をサイズ変更する、または実行時にディスプレイ87の1つ以上のサイズ変更する時の一実施例を示し、図4cは、以下に詳細を説明するように、サイズ変更操作中にスケーリングパラメータ、ベースラインまたはスケーリングされていないパラメータ、およびスケーリング係数を採用しながら、複合形状をサイズ変更する一実施例を示す。図4aに示されるように、複合形状95は、基本的形状(三角形、矩形、楕円など)およびテキストエレメントを含む1つ以上のサブエレメント96を含むように、構成時に作成され、構成時および実行時に表示され得る。図2および図3に関して説明したように、サブエレメント96は、構成時にはディスプレイエディタ50内、実行時にはディスプレイ(例えば、ワークステーション、ノート型コンピュータ、ハンドヘルド、特殊ディスプレイ等)内でのサブエレメントの動作を決定する、1つ以上のパラメータ78を含むことができる。一部のパラメータ78は、構成時および実行時のうちの1つ以上でサイズ変更操作中にサブエレメント96の動作を決定することができる。例えば、構成時または実行時のユーザは、フィードタンク、ポンプ、反応炉等の複合形状のインスタンスをサイズ変更して、異なる機能または容量を示す、または、ディスプレイ内の特定の複合形状の重要性を強調することができる。図4bは、サブエレメントのサイズ変更パラメータを含まない、またはサイズ変更操作中にサブエレメントのサイズ変更パラメータを認識しない複合形状97のサイズ変更操作の結果を示す。図4bに示されているように、典型的なエディタ内の複合形状のサイズ変更操作は、複合形状がサイズ変更される程度を複合形状全体に均一に適用し、この結果、望ましくない歪みが発生する場合がある。具体的には、サイズ変更が、サブエレメントのサイズ変更パラメータを考慮せずに、複合形状97全体の全てのサブエレメントパラメータに平等に適用される場合(例えば、テキストのフォントサイズ、矩形の高さと幅等)、または、複合形状97がサイズ変更パラメータを含まない場合、サイズ変更された複合形状97では、テキストが歪んで伸長または狭く表示される場合98、エッジが太くまたは細く表示される場合99、一部の角が丸みを失うように表示される場合、または、他の歪みが表示される場合がある。しかしながら、図4cに示されるように、構成時の間に各サブエレメント96に対してスケーリングパラメータが定義され、構成時または実行時のサイズ変更操作が複合形状95のサイズ変更中のスケーリングパラメータを考慮する場合、サイズ変更され、スケーリングされた複合形状100において図4bに示される歪みは回避され得る。
【0048】
図5aは、ディスプレイエディタ50により作成され得、構成時のサイズ変更操作中に複合形状の動作を制御するために1つ以上のスケーリングパラメータを適用または変更するように使用され得るグラフィックエディタ112の例示的な画面ディスプレイを示す。エディタ112は、例えば、プロセスプラントの反応炉部分(図5bおよび5c)を表すグラフィックディスプレイにおいて最終的に使用され得るタンクの複合形状を作成するプロセスにおいて示されているが、メイン編集セクション114、パレット表示116、エレメント階層セクション118およびパラメータ定義セクション120を含む。メイン編集セクション114は、ユーザまたは設計者が、複合形状を定義または作成し、したがって、この場合には、タンクである、複合形状の視覚プロパティを定義し、さらに複合形状を反応炉(図5bおよび5c)等のグラフィックディスプレイに配列および構成するための作業スペースを提供する。一般的に、エレメントエディタ50により作成された複合形状122aは、1つ以上のサブエレメント123または、定義された様態で配置またはグループ化される多様な形状から成り得る。サブエレメントは、例えば、サブエレメントとして1つ以上の「ネストされた」複合形状を含むことができる単一の複合形状であるような、複合形状でもあり得る。例えば、複合形状は、サブエレメントとして、円、直線、点、多角形、正方形、矩形、三角形、または他のグラフィック形状を含むことができる。図5aに示される反応炉のグラフィックディスプレイのタンクの複合形状122aは、複数のサブエレメント123を含む複合形状の一実施例である。上記のように、サブエレメントの1つ以上は、例えば、「タンク」の複合形状の「攪拌機」のサブエレメントは、各々が1つ以上のスケーリングパラメータを含むいくつかのサブエレメントから成り得るが、ネストされた複合形状に対しては単一のセットのスケーリングパラメータを含んでいてもよい、複合形状であり得る。この様態で定義される場合、別のアクションまたはアニメーションは、複合形状122aを構成する異なる形状の各々にも適用または関連付けられ得る。当然のことながら、複合形状は、さらに複雑な芸術的描画のエレメントを含むことができる。複合形状を定義または構築するために、ユーザまたは設計者は、任意の数のサブエレメントまたは他の複合形状をメイン編集セクション114に追加して、任意の所望の様態でこれらをグループ化することができる。
【0049】
複合形状は、図5aに示された構成時(つまり、複合形状の作成時)の間に定義され得る、いくつかのパラメータを含むことができる。一部の実施形態においては、パラメータは、複合形状のスケーリング動作に関し得る。例えば、スケーリングパラメータは、以下に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか(影響する場合)を定義または制御することができる。いったん作成されると、複合形状は、実際のオブジェクトに対するグラフィック表示を定義するが、これは、XAMLまたはWPFオブジェクトとして実行時に実装される場合があり、複合形状が実行時環境において使用されると画面またはディスプレイ上に表示されることになる。複合形状を構成する形状またはサブエレメント123は、階層セクション118における複合形状階層に示され得る。図5aに示された構成時環境において、ユーザは、以下に説明するように、複合形状の各サブエレメントに多様なスケーリングパラメータを関連付けて定義することができる。
【0050】
エディタ112において、パレット表示116は、複合形状122aを作成するために使用され得るいくつかの基本的エレメントを含む。例えば、パレット表示116は、ボタン、テキストボックス、スライダ、ノブ等の一連の基本的なUI(ユーザインターフェース)エレメント、一連の基本的パネルおよび一連の基本形状を含む。定義されたパネルは、多様なサブエレメントにコンテナを提供することができ、1つ以上の構成または実行時動作を包含されたサブエレメントに与えることができる。例えば、多様なパネルは、キャンバスパネルの機能に加えて、そのサブエレメントを歪めずに複合形状122aをサイズ変更することが可能である追加の機能を含む、スケーリングキャンバスパネル124を含むことができる。一部の実施形態においては、Scaling Canvas124は、1つ以上のサブエレメントのためのコンテナオブジェクトであり、集合的に、複合形状122aを備える。その他の実施形態においては、Scaling Canvas124は、メイン編集セクション114、または1つ以上のサブエレメント123または複合形状122aが再構成、編集またはサイズ変更のために配置され得る複合形状122aのバックグランド等の、領域またはパネルとして、エディタ112に視覚的に表示される。Scaling Canvas124は、Windows(登録商標) Presentation Foundation(WPF)Canvasクラスの拡張でもあり得る。複合形状122aは、パレット表示116から選択され、編集セクション114にドラッグされ得る。さらにまた、パレット表示116のサブエレメントおよび複合形状は、ISA(アメリカ計測学会)のシンボル、トランスミッタシンボル、バルブシンボル、PI&D図形シンボルまたは他の制御シンボル等、または他の任意の所望の形状を含むことができ、これらの全ては複合形状を構築するために使用され得る。
【0051】
エレメント階層セクション118は、階層表示またはツリー構造を使用して、メイン編集セクション114内に形状122aに関連するコンポーネントを提供する。図5aの実施例においては、階層セクション118は、メイン編集セクション114に定義されている複合形状122aは、RectangleとEllipseのサブエレメントまたはプリミティブ123、ならびに、Agitator、およびその楕円および矩形のサブエレメントの複合形状であるサブエレメントを含むことを示す。当然のことながら、階層セクション118に示されたサブエレメントは、説明を目的とするものであって、図5aに示された形状122aは表示されているより多くのサブエレメントを含む。階層セクション118は、本明細書に説明されるように、スケーリングおよびサイズ変更機能を含む、例えば、Scaling Canvas124等の複合形状122aのコンテナのタイプの指標も提供する。図5aには表示されていないが、階層セクション118は、アニメーション、アクションおよび形状122aに定義されたスクリプト、視覚トリガ等の他のディスプレイフィーチャーの指標を含むことができる。
【0052】
パラメータ定義セクション120は、固有のパラメータを含めて、エディタ112に示された複合形状122aに現在定義されたパラメータの全てを示す。複合形状122aまたはScaling Canvas124の各サブエレメント123は、本明細書に説明されるように、複合形状122aのサイズ変更中にサブエレメント123の歪みを防ぐ多様なスケーリングパラメータ126を含むことができる。構成中、図5aのRectangleのサブエレメントが、Scaling Canvas124のコンテナを含む複合形状122aにおいて選択される場合、パラメータ定義セクション120は、フォントサイズ、エッジ幅、角の丸み半径、サイズ(幅および高さ)および位置(xおよびy座標)を含めて、選択されたサブエレメントの1つ以上のスケーリングパラメータ126を示すことができる。一実施形態において、スケーリングパラメータは、正規のスケーリングしていないパラメータから、これらを区別する命名規則を含む。例えば、スケーリングパラメータの名前は、FontSizeScaleMode、EdgeWidthScaleMode、CornerRadiusScaleMode、SizeScaleMode、PositionScaleModeを含むことができる。定義セクションは、HeightおよびWidth等、1つ以上のベースラインまたはスケーリングされていないパラメータ128を含むことができる。スケーリングパラメータ126は、形状がサイズ変更される場合、複合形状122aのScaling Canvas124コンテナ内に包含されたサブエレメントがどのようにスケーリングされるかを制御することができる。異なるサブエレメントは異なるスケーリングパラメータを有することができる。例えば、Ellipseサブエレメントは、Size(高さおよび幅)およびPosition(xおよびy座標)のスケーリングを含むことができる一方で、Textサブエレメントは、Font Sizeのスケーリングを含むことができる。
【0053】
Scaling Canvas124のコンテナまたはパネルは、定義セクション120から構成される、スケーリングパラメータ126およびベースラインまたはスケーリングされていないパラメータ128とインターフェースおよび操作することができる。構成されたスケーリングパラメータ126、ベースライン/スケーリングされていないパラメータ128、およびスケーリングキャンバスコンテナ124のロジックは、複合形状122aの歪みのないサイズ変更を構成環境(図5a、5bおよび5cに示される)および実行時環境(図6a、6bおよび6cに示される)の両方で可能にすることができる。例えば、構成時にユーザが複合形状ライブラリに格納される多様な複合形状122aを作成している場合、または、1つ以上の複合形状を含むグラフィックディスプレイを作成している場合、サイズ変更操作が、歪むことなく形状の寸法を変更してプロセス制御プラントの正確な表示を作成するように、ユーザは、1つ以上のスケーリングパラメータ126を構成することができる。また、ユーザが実行時に操作者ディスプレイを開いて使用する場合、ユーザまたは操作者は、スライダバーを移動することにより、またはディスプレイを含むウィンドウをサイズ変更して、その複合形状をサイズ変更することにより、ディスプレイをカスタマイズまたは調整することができる。
【0054】
一実施形態においては、スケーリングキャンバスコンテナ124のロジックは、ベースライン/スケーリングされていないパラメータ128およびスケーリングパラメータ126からのスケーリング係数を決定し、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータ126を含む複合形状の各サブエレメントに係数を適用する。例えば、複合形状122aが、水平方向、長さ、またはX次元においてサイズ変更される場合、ロジックは、水平方向、長さ、またはX次元のスケーリング係数を決定することができ、複合形状122aが縦方向、高さ、またはY次元においてサイズ変更される場合、ロジックは、縦方向、高さ、またはY次元のスケーリング係数を決定することができる。別の実施形態においては、Scaling Canvasは、本明細書に詳細を説明するように、構成時と実行時に添付されたプロパティとして、スケーリングパラメータを実装するロジックを含む。サイズ変更操作が構成時または実行時に行われるかどうかに関わらず、Scaling Canvasは、サイズ変更操作中にサブエレメントのサイズを直接調整して、フォント、境界線および他の特徴の一切の歪みまたは望ましくないサイズ変更を防ぐことができる。
【0055】
複合形状122aのサイズ変更は、最終的に、スケーリングされていない、またはベースラインパラメータ128の値をスケーリングされたパラメータに置換して、形状の変更されたサイズを反映することができる。Scaling Canvasは、その後、格納されたベースライン値128を参照して、サイズ変更操作がベースラインパラメータ128をどの程度変更したかを判断することができる。さらに、形状122aまたはScaling Canvasコンテナ124内のサブエレメント123が、パレット表示116から選択され、操作者ディスプレイ上に配置されてサイズ変更されると、新しい「スケーリングされていない」パラメータ(例えば、サイズ、位置、高さ、幅等)は、複合形状122a全体に適用されるような任意の今後のサイズ変更操作の開始点として格納され得る。
【0056】
図5aに示されるように構成時にベースラインパラメータ128が格納され、スケーリングパラメータ126が設定されると、構成された複合形状は、構成時に、複合形状122およびグラフィックディスプレイ144(図5bおよび5c)を構成するとき、および図6a、6bおよび6cに示されるように、実行時にグラフィックディスプレイ150内で使用されるために、複合形状ライブラリに格納され得る。例えば、図5bは、図5aにより表されるエディタ内で構成されるような複合形状「Tank1」および別の「Storage1」の複合形状を含む、「Reactor−1」グラフィックディスプレイ144の構成を示す。前述のように、Scaling Canvasコンテナ124は、スケーリング係数146を算出するロジックを含み、いったんサイズ変更操作を行うと、スケーリングパラメータ126を含む各サブエレメント123に適用され得る。スケーリング係数146は、サイズ変更された複合形状122b(図5b)の1つ以上のサイズ変更された寸法と、サブエレメントの1つ以上の対応するベースラインまたはスケーリングされていないパラメータ128との比であり得る。例えば、Scaling Canvas内に含まれる複合形状122aが200の高さにサイズ変更され、ScalingCanvasに含まれた複合形状122a内のサブエレメントの本来のベースラインの高さが100である場合、得られるスケーリング係数は(200÷100)2である。したがって、サブエレメントがスケーリングパラメータを含まない場合、またはサブエレメントが、サブエレメントがサイズ変更されることを可能にするスケーリングパラメータを含む場合、サブエレメントのベースライン/スケーリングされていない値は、2の係数により変更される。しかしながら、サブエレメントが、サブエレメントがサイズ変更されることを可能にしないスケーリングパラメータを含む場合、そのサブエレメントのベースライン/スケーリングされていない値は変化しない。サイズ変更操作は、スケーリング係数146を各サブエレメント123に適用し、本来の複合形状の歪みのない、サイズ変更された描画を作成するように、複合形状122bの子(つまり残りのサブエレメント)を通じて反復することができる。
【0057】
構成時に構成され得るスケーリングパラメータ126は、上記のサイズ変更操作中に、スケーリング係数146が構成されたサブエレメントにどのように適用されるかを制御する。例えば、
【0058】
Font Size Scale Modeパラメータは、フォントサイズが形状に応じてスケーリングするかどうかを制御することができる。Font Size Scale Modeパラメータは、テキストベースの形状(例えば、TextオブジェクトのサブエレメントまたはDeltaV(登録商標)環境のDataStamper)に適用されて、複合形状122aのサイズ変更中に不要な伸長または他の歪みを防ぐことができる。Font Size Scale Modeパラメータの値は、「scale」または「none」のうちの1つであり得る。Textオブジェクトのサブエレメントのフォントサイズは、xまたはyの小さい方のスケール係数でスケーリングして、歪みを防ぐことができる。
【0059】
Edge Width Scale Modeパラメータは、サイズ変更中に、形状74のエッジが形状74の他の部分に応じてスケーリングするかどうかを制御することができる。Edge Width Scale Modeパラメータの値は、「scale」または「none」のうちの1つであり得る。Edge Width Scale Modeパラメータは、エッジ幅がxまたはyスケールの小さい方に応じてスケーリングするかどうかを制御できる。
【0060】
Corner Radius Scale Modeパラメータは、サイズ変更中に、複合形状の角の丸み半径が形状74の残りの部分に応じて変化するか、変更されないままであるかを制御することができる。Corner Radius Scale Modeパラメータは、Rectangle、Polyline、およびPolygon等、角の丸み半径を含むサブエレメントに適用され得る。Corner Radius Scale Modeパラメータの値は、none、x、yおよびx and yであり得る。例えば、「none」の値は、サブエレメントの角の丸み半径が、xおよびyのスケーリング係数に基づいてスケーリングしなくてもよいことを示すことができる。「x」の値は、サブエレメントの角の丸み半径が、「x」スケーリング係数に比例して角の丸み半径の「x」寸法を調整できることを示すことができ、一方で、「y」の値は、サブエレメントの角の丸み半径が、「y」スケーリング係数に比例して角の丸み半径の「y」寸法を調整できることを示すことができる。「x and y」の値は、サブエレメントの角の丸み半径が、xとyのスケーリング係数に比例して角の丸み半径のxとy両方の寸法を調整できることを示すことができる。
【0061】
Size Scale Modeパラメータは、サブエレメントの幅と高さが、サイズ変更中に、複合形状122の残りの部分に比例してスケーリングするかどうかを制御することができる。例えば、このパラメータは、サブエレメントの定義された幅と高さが、Scaling CanvasコンテナのXおよびYのスケーリング係数に比例してスケーリングするかどうかを制御することができる。パラメータは、None、Width、Height、およびWidth and Heightの値を含むことができる。「None」の値は、定義された幅と高さは、xとyのスケーリング係数に基づいてスケーリングしないことを示すことができる。「Width」は、サブエレメントがxスケール係数に比例して幅を自動的に調整することを指定でき、一方で、「Height」は、サブエレメントがyスケール係数に比例して高さを自動的に調整することを指定することができる。「Width and Height」は、サブエレメントが、xとy両方のスケール係数に比例して幅と高さを自動的に調整することを示すことができる。
【0062】
Position Scale Modeパラメータは、複合形状122aのサイズ変更中に、サブエレメントの位置が固定されるかどうか、またはサブエレメントが他のサブエレメントに関連して移動するかどうかを制御することができる。例えば、サブエレメントのxおよびy座標位置は、Scaling Canvasコンテナに比例してスケーリングすることができる、または、それぞれの位置に固定され得る。パラメータは、None、X、YおよびX and Yの値を含むことができる。Noneの値は、サブエレメントのxとyの位置がxとyのスケーリング係数に基づいてスケーリングしないことを示すことができる。XまたはYの値は、サブエレメントが、xまたはyのスケール係数に比例してxまたはyの位置をそれぞれ自動的に調整することを指定することができる。X and Yの値は、サブエレメントが、xとy両方のスケール係数に比例してxとyの位置を自動的に調整することを指定することができる。
【0063】
ユーザまたは設計者は、パラメータ定義セクション120内で他の変数、パラメータ等の名前、タイプ、およびバインディングを定義することによって、複合形状と複合形状のサブエレメントに他のパラメータを追加して、これにより、複合形状122aの他の態様を定義することが可能である。スケーリングパラメータ126は、上記の選択肢のいずれかならびに他の設定の数値を含むことができる。このように、例えば、パラメータは、配列、テーブル、列挙型リストまたは他の任意の変数またはデータ構造型でもあり得る。
【0064】
サイズ変更操作後、図5bに示されるように、タンクの複合形状122bの一部は、スケーリング係数により高さは大きくなるが、他は大きくならない。例えば、タンクの複合形状122aの入り口のサブエレメント130aおよび出口のサブエレメント132a(図5a)のサイズは、図5bでは変更されないままである。また、入り口および出口のサブエレメントの全体位置は、形状122aから形状122bに変化するが、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。この実施形態においては、入り口および出口両方のサブエレメントは、少なくとも、サイズ変更時のサブエレメントの動作を決定するSizeとPositionのスケーリングパラメータを含む。例えば、Sizeスケーリングパラメータは、「None」に設定され得る一方で、Positionスケーリングパラメータは「X and Y」または「Y」に設定され得る。このように、上記の実施例では、高さ(つまりY寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。タンクの複合形状122aの多様な他のサブエレメントは、上記のように、スケーリングパラメータ126を含むことができ、Scaling Canvas124は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【0065】
当然のことながら、タンクの複合形状122aは、多様な寸法(例えば、図5cに示されるように幅、長さ、またはX寸法)において、グラフィックディスプレイ144内で構成時にサイズ変更され得る。前述のように、Scaling Canvas124は、サイズ変更されたタンクの複合形状122cのスケーリングされていない幅を定義された幅に比較して、スケーリング係数を計算することができる。Scaling Canvas124は、次に、複合形状のサブエレメントの全体を通じて反復し、幅のスケーリンパラメータを含むこれらのサブエレメントに幅のスケーリング係数を適用する。例えば、入り口および出口のサブエレメントに対して、Sizeスケーリングパラメータは、「None」に設定され得る一方で、Positionスケーリングパラメータは「X and Y」または「X」に設定され得る。この実施例においては、幅(つまりX寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント130c、132cのサイズには適用されない。タンクの複合形状122cの多様な他のサブエレメントは、上記のように、スケーリングパラメータ126を含むことができ、Scaling Canvas124は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【0066】
複合形状のいずれかは、それに関連するアニメーションおよび/またはアクションおよびイベントハンドラスクリプトも含むことができ、このようなアニメーションまたはアクションは、エディタ112のアクション/アニメーション表示134に表示され得る。複合形状がアニメーションまたはアクションを含む場合、これらのアニメーションまたはアクションは、階層118において、星等の特殊なシンボルによって示される。階層表示118において選択されると、複合形状または形状のサブエレメントに対して定義されたいずれかのアクションまたはアニメーションは、アクション/アニメーション表示134に表示される。アクションまたはアニメーションは、このようなアクションまたはアニメーションを表示134で定義することにより、またはこのようなアクションまたはアニメーションを階層表示118に追加することにより、作成および割り当てられ得る。ユーザがアクションまたはアニメーションを作成または編集することを所望する場合、エディタ50は、ダイアログまたは編集ボックスを提供し得、この機能が完全に指定または定義されることを可能にする。アクションまたはアニメーションは、Scaling Canvas124にもバインドされ得、本明細書に説明されるように、構成および実行時の両方で、歪みのないサイズ変更を可能にする。当然のことながら、アクションまたはアニメーションは、スクリプト、視覚トリガまたは他のプログラムを使用して定義され得る。一部の実施形態においては、アクション、アニメーション、およびイベントのハンドラスクリプトは、本明細書に説明されるようなスケーリング関数を考慮しない。むしろ、スケーリングは、アニメーション、アクションまたはイベントのハンドラスクリプトの実行後に、形状に適用され得、したがってユーザの体験を簡素化する。
【0067】
他の実施形態においては、スケーリングパラメータ126は、各サブエレメントの定義の一部として含まれ得、全ての複合形状に共通するフレームワークを作成する。例えば、各形状またはサブエレメントの1つ以上のベースクラスは、形状に共通するパラメータ(つまり、名前、xおよびyの位置、高さ、幅、回転等)ならびにスケーリングパラメータ126を含むことができる。この実施形態においては、Scaling Canvas124は、スケーリングパラメータ126へのアクセスおよび複合形状122aを歪めずにスケーリングするために修正する特定のパラメータの認識を含むため、Scaling Canvasは共通のフレームワークに依存する。他の実施形態においては、スケーリングパラメータ126は、Scaling Canvas124のパラメータとして含まれる。例えば、Scaling Canvas124は、1つ以上の添付されたパラメータ(例えば、X Dimension、Y Dimension、Z Dimension、Width、Height、Corner Radius X、Corner Radius Y、Corner Radius Z、Font Size、Edge、Width等)を実装することができる。この実施形態においては、サブエレメント123のネイティブパラメータ(例えば、X、Y、Width、Height等)は、Scaling Canvas124の添付されたパラメータにバインドされる。さらなる実施形態においては、サブエレメント123およびScaling Canvas124の両方は、1つ以上のスケーリングパラメータ126を含み、Scaling Canvas124は、サブエレメントパラメータにより明示的にオーバーライドされない限り、任意のスケーリングパラメータ126を含めて、その添付されたパラメータを適用する。スケーリングパラメータ126が、サブエレメント123、Scaling Canvas124、または両方に添付されるかどうかに関わらず、Scaling Canvasは、これらのパラメータを使用し得、その中に含まれる子のサブエレメント123を正しくスケーリングする。
【0068】
各スケーリングおよび定義パラメータ126、128は、複合形状122aのサイズ変更時に使用される、いくつかの値および設定も含むことができる。一部の実施形態においては、複合形状122aは、インターフェースを実装して、Scaling Canvasがスケーリングパラメータ126にアクセスすることを可能にする。この手法は、つまり、複合形状および各サブエレメントがそのスケーリングロジックを含むことを意味する。インターフェースおよびScaling Canvasを含むことにより、Scaling Canvasは、スケーリングパラメータ126のいずれも認識する必要がなくなるため、Scaling Canvasの形状に対する依存性が軽減され得る。Scaling Canvasの依存性を軽減することは、Panelにより含まれるエレメントを表示するためのロジックが必ずPanel自体において定義される、PanelのWPFパターンとは異なる。各定義パラメータ128に対して、例えば、ベースライン/スケーリングされていない高さの値130およびベースライン/スケーリングされていない幅の値132が、作成時にサブエレメントに割り当てられ得る。各スケーリングパラメータ126に対して、サイズ変更中のオブジェクトの所望の動作に応じて、1つ以上の値または設定が割り当てられ得る。
【0069】
図6a、6bおよび6cは、図5a、5bおよび5cのグラフィックエディタ112により作成され、例えば、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイ等のディスプレイ87(図3)のうちの1つ以上で実行時に使用される、例示的な画面ディスプレイを示す。一実施形態においては、図6a、6b、および6cのグラフィックディスプレイ150は、領域152の部分またはプロセス制御プラントの他の部分の1つの表示を含むことができる。例えば、グラフィックディスプレイ150は、操作者ワークステーション37(図1)のディスプレイ87内に、プロセス制御プラントの反応炉領域の実行時図を含むことができる。領域152は、反応炉領域の物理的部分を表示する、タンク154a、貯留領域156、多様な入り口158および出口160、パイプ162、バルブ、接続金具等の予め構成された図を含むことができる。前述のように、領域152内の多様な形状はネストされ得る。
【0070】
実行時の形状は、図5a、5bおよび5cを参照して本明細書に説明するように、実行時ユーザがサイズ変更操作をしたときに、形状がどのように動作するかを決定する、スケーリングパラメータを含むことができる。例えば、スケーリングパラメータは、本明細書に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか(影響する場合)を定義または制御することができる。一部の実施形態において、前述の構成されたスケーリングパラメータは、実行時に構成された複合形状にバインドされる。
【0071】
実行時、サイズ変更操作は、ユーザまたは操作者が、スライダバーを移動、またはディスプレイを含むウィンドウをサイズ変更することにより、ディスプレイをカスタマイズし、したがって、その複合形状のサイズ変更することを含むことができる。サイズ変更操作を開始すると、構成された複合形状の実行時図に含まれたスケーリングキャンバスコンテナのロジックは、ベースライン/スケーリングされていないパラメータおよび構成時に構成されたスケーリングパラメータから、スケーリング係数を決定することができる。係数は、次に、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータを含む、複合形状の各サブエレメントに適用される。例えば、ウィンドウまたはディスプレイ150が、水平方向、長さ、またはX寸法においてサイズ変更される場合、ロジックは、水平方向、長さ、またはX寸法のスケーリング係数を決定することができ、前述のように、複合形状122aが、縦方向、高さ、またはY寸法においてサイズ変更される場合、ロジックは縦方向、高さ、またはY寸法のスケーリング係数を決定することができる。Scaling Canvasコンテナは、実行時に添付されたプロパティとしてスケーリングパラメータを実装するロジックも含むことができる。サイズ変更操作は、複合形状の子(つまり、残りのサブエレメント)全体を通して反復して、スケーリング係数を各サブエレメントに適用し、本来の複合形状154aの歪みのない、サイズ変更された描画を作成することができる。
【0072】
図6bを参照すると、実行時のサイズ変更操作は、グラフィックディスプレイ150を含めて、ウィンドウの高さを大きくするステップを含むことができる。サイズ変更操作後、図6bに示されるように、ディスプレイ150の「Reactor−1」領域152内の複合形状の一部のサブエレメントは、構成時に設定されたスケーリング係数により高さが大きくなるが、他は大きくならない。例えば、貯留領域156b、入り口サブエレメント158b、および出口サブエレメント160bのサイズは、図6bに示されるように、実行時に、サイズ変更操作を実行しても変化しないままであるように構成された。また、タンクの入り口および出口のサブエレメントの全体位置は、形状154aから形状154bに変化する一方で、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。前述のように、入り口および出口両方のサブエレメントは、サイズ変更時のサブエレメントの動作を決定するSizeとPositionのスケーリングパラメータを少なくとも含むように構成された。例えば、Sizeスケーリングパラメータは、「None」に設定されていてもよいが、Positionスケーリングパラメータは「X and Y」または「Y」に設定されていてもよい。このように、上記の実施例では、高さ(つまりY寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。同様に、貯留領域156aの複合形状のスケーリングパラメータは(ある場合)、実行時のサイズ変更操作を実行時に変化がないことを反映するように設定されていてもよい。
【0073】
当然のことながら、ディスプレイ150は、多様な寸法(例えば、図6cに示されるように幅、高さ、またはX寸法)でサイズ変更され得る。前述のように、サイズ変更操作の実行時、ディスプレイ150内の各複合形状のスケーリングされていない幅は、定義幅に比較されて、スケーリングパラメータを含むように予め構成された各サブエレメントに対して、スケーリング係数を計算することができる。例えば、図5cを参照すると、幅のスケーリング係数は、幅スケーリング係数を含むこれらの複合形状のサブエレメント(例えば、タンク154cの複合形状およびサブエレメント)に反復して適用され得る。この実施例においては、幅(つまりX寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント158c、160cのサイズには適用されない。ディスプレイ150の多様な他の複合形状および関連するサブエレメントは、上記のようにスケーリングパラメータを含むことができ、スケーリング係数は、これらの複合形状およびサブエレメントにも全体的または部分的に適用され得る。
【0074】
図5a〜5c、図6a〜6c、および図7を参照すると、方法175は、構成時と実行時環境の両方で、歪みなく複合形状122aをサイズ変更するルーチンを1つ以上記述することができる。方法175は、図5a、5bおよび5cに示されるように1つ以上のグラフィックディスプレイの構成中、または、図6a、6bおよび6cに示されるように実行時環境において、採用され得る。例えば、ユーザがグラフィックエディタ112内で操作者ディスプレイを作成し多様な複合形状122aを構成する構成時、方法150は、形状を歪めずにサイズ変更して、プロセス制御プラントの正確な表示を作成することができる。また、実行時に操作者がプロセス制御プラントのワークステーションで操作者ディスプレイ150を操作する場合、操作者は、個人的なカスタマイズのために、操作者ディスプレイをサイズ変更、または、操作者ディスプレイの多様な部分をサイズ変更することができ、方法150は、実行時環境において複合形状をサイズ変更することができる。一般的に、以下に説明するルーチン156〜166は、構成時にグラフィックディスプレイに複合形状を配置している間のサイズ変更操作中、および操作者が実行時にグラフィックディスプレイを表示している間のサイズ変更操作中に行うことができる。
【0075】
ルーチン176で、方法175は、複合形状122aのサブエレメント123に対して1つ以上のスケーリングパラメータ126を構成することができる。前述のように、スケーリングパラメータ126は、対応する複合形状で実施されるサイズ変更操作中に変形され得るサブエレメントの1つ以上の特徴を定義することができる。スケーリングパラメータ126は、サイズ変更操作により変更され得る、サブエレメントまたは複合形状のいずれかの特徴を含むことができる(例えば、位置、サイズ、エッジ幅、フォントサイズ、角の丸み半径等のうちの1つ以上)。例えば、スケーリングパラメータの構成は、関連する複合形状の幅(つまり、X寸法)のサイズ変更中にサブエレメントのX寸法位置を制限するようにスケーリングパラメータを設定すること、または、テキストオブジェクトを複合形状の領域または部分に固定しながら、該オブジェクトのサブエレメントのフォントサイズを固定することを含む。当然のことながら、矩形のサイズ変更中に1つの寸法について増加または減少することを可能にしながら別の寸法のサイズ変更を制限する、三角形の角の丸み半径をx寸法でサイズ変更することを可能にするが、y寸法は変更しない等、多数の他の構成が可能である。1つ以上のスケーリングパラメータ126は、スケーリングパラメータ126が実行時にも実装されるように、1つ以上のサブエレメント123にバインドされ得る。前述のように、1つ以上のスケーリングパラメータとスケーリングロジックは、サブエレメント自体に含まれ得る(つまり、全ての形状で共通のフレームワーク)、または、Scaling Canvasに組み込まれ得る(つまり、スケーリングパラメータは、Scaling Canvasの添付されたプロパティとして含まれる)。いずれにせよ、Scaling Canvasは、各特定の形状またはサブエレメントに関連するスケーリングパラメータを認識する必要がない。
【0076】
ルーチン178で、ユーザ、アプリケーション、または他のエンティティは、複合形状を構成することができる。複合形状は、前述のように、Scaling Canvas124上に配置またはこの中に含まれ得る。例えば、複合形状が作成されると、1つ以上のサブエレメントがScaling Canvasコンテナ内に配置され得る。これらのサブエレメントは、ユーザの所望通りにScaling Canvas内でサイズ変更され配置され得る。サブエレメントのサイズ、位置および他のパラメータがScaling Canvasコンテナ内で最終決定されると、方法175は、ルーチン180でベースラインまたは「スケーリングされていない」パラメータを読み出し、かつ格納することができる。これらのスケーリングされていないパラメータは、後のサイズ変更操作中に複合形状の新しい寸法を算出するためのベースとして使用され得る。
【0077】
ルーチン182で、方法175は、複合形状の1つ以上のスケーリング係数を算出することができる。一実施形態においては、スケーリング係数は、スケーリングされていないパラメータ(ルーチン180で格納された)と複合形状の定義されたパラメータの値との比である。例えば、複合形状122aがサイズ変更されると、スケーリングキャンバスは、1つ以上の寸法における係数により変化することになる。このように、複合形状のサイズがY寸法において2倍になる場合、そのサイズ変更操作のスケーリング係数は2になる。当然のことながら、スケーリング係数は、複合形状のいずれかのサイズ変更された寸法(例えば、X寸法、Z寸法等)に対して計算され得る。
【0078】
ルーチン184で、方法175は、ルーチン182で算出されたスケーリング係数の適用に備えて、複合形状の各サブエレメントに反復することができる。一部の実施形態において、方法175は、複合形状の各サブエレメントに反復することができる。例えば、方法175は、ルーチン186で、サブエレメントがスケーリングパラメータを含むかどうかを決定することができる。他の実施形態においては、方法175は、前述のように、スケーリングパラメータを1つ以上含むサブエレメントだけに反復することができる。例えば、方法175は、サブエレメントに反復する前、または、これまでに説明した別のルーチンの前に、複合形状のサブエレメントのうちでどれがスケーリングパラメータを含むかを判断することができる。方法175が、サブエレメントが1つ以上のスケーリングパラメータを含むかどうかを判断するタイミングに関わらず、方法175は、ルーチン188で、サブエレメントをスケーリングすることができる。一部の実施形態においては、方法は、複合形状のサイズ変更寸法に対応するスケーリングされていない寸法にスケーリング係数を適用することにより、サブエレメントをスケーリングする。例えば、方法175が、X寸法においてサイズ変更するために、ルーチン182で2のスケーリング係数を算出した場合、サブエレメントは、100のスケーリングされていないX寸法と、X寸法のサイズ変更を許可したスケーリングパラメータを含んでいたので、サブエレメントのX寸法のスケーリングされた値は、200となる。しかしながら、サブエレメントが、スケーリングパラメータを含んでいなかった場合、または、X寸法のサイズ変更を許可しないスケーリングパラメータを含んでいた場合、方法175は、ルーチン190でサブエレメントをサイズ変更しない場合がある。サブエレメントがスケーリングパラメータを含まない場合、方法175は、ルーチン190に進むことができる。
【0079】
ルーチン190で、方法175は、複合形状が、スケーリングされていない1つ以上のサブエレメントを含むかどうかを判断することができる。一部の実施形態においては、方法175は、ルーチン190で1つ以上のサブエレメントがスケールされたかどうかを判断する際、スケーリングパラメータも含むサブエレメントだけを含むことができる。他の実施形態においては、方法175は、ルーチン190で判断する際に、全てのサブエレメント、または、1つ以上の他のサブエレメントのサブセットを含むことができる。スケーリングされていないサブエレメント188、またはその他、方法により確認またはサイズ変更されるために残っているサブエレメントがない場合、方法は終了する。これより多いサブエレメントが残っている場合、方法は、ルーチン184に戻って、前述のルーチンを再反復することができる。
【0080】
実装される場合、本明細書に説明されるソフトウェアのいずれかは、磁気ディスク、レーザーディスク、または他のストレージ媒体、コンピュータまたはプロセッサのRAMまたはROM等、任意のコンピュータが読み取り可能なメモリに格納され得る。同様に、このソフトウェアは、例えば、コンピュータが読み取り可能なディスクまたは他の運搬可能なコンピュータストレージ機構または、電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークまたは広域ネットワーク等の通信チャンネル(配信は、運搬可能なストレージ媒体を経由してこのようなソフトウェアを提供することと同一または同義と見なされる)を含む任意の周知または所望の配信方法を使用して、ユーザ、プロセスプラントまたは操作者ワークステーションに配信され得る。さらに、このソフトウェアは、変調または暗号化を行わずに直接提供され得るか、または、任意の適切な変調搬送波および/または暗号化技法を使用して、通信チャンネルから伝送される前に、変調および/または暗号化され得る。
【0081】
本発明は、特定の実施例を参照しながら説明されたが、これは、説明のみを目的とするものであって、本発明を制限するものではなく、当業者には、本発明の精神および範囲を逸脱することなく、開示された実施形態に変更、追加、または削除を行うことができることが明らかであろう。
【技術分野】
【0001】
関連出願
本出願は、2009年3月13日出願の出願番号第12/403,812号、名称「Scaling Composite Shapes for a Graphical Human−Machine Interface」の一部継続出願であり、参照によりその内容全体を本明細書に明示的に組み入れる。
【0002】
本発明は、概して、プロセスプラントに関し、より具体的には、プラントの構成、制御、保守およびシミュレーションに関連するコンポーネントおよび多様な操作のグラフィック表示のためのエディタ内の複合形状のスケーリングに関する。
【0003】
関連技術の説明
【0004】
化学、石油化学または他のプロセスにおいて使用されるような分散処理制御システムは、典型的に、アナログバス、デジタルバス、またはアナログとデジタルバスの組み合わせを経由して、1つ以上のフィールドデバイスに通信可能に連結された1つ以上のプロセスコントローラを含む。フィールドデバイスは、例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ(例えば、温度、圧力、レベルや流量センサなど)であり得、これらはプロセス環境内に配置され、バルブの開閉、プロセスパラメータの測定等のプロセス機能を実施する。FOUNDATION(登録商標)Fieldbusプロトコルのような周知のFieldbus プロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスも、制御計算、警告機能、およびコントローラ内に通常実装される他の制御機能を実施することができる。プロセスコントローラは、これも典型的にはプラント環境内に配置され、フィールドデバイスにより行われたプロセス測定および/またはフィールドデバイスに関する他の情報を示す信号を受信して、例えば、プロセス制御決定を行う、受信した情報に基づいて制御信号を生成し、かつHARTおよびFieldbus フィールドデバイス等のフィールドデバイスにおいて実行される制御モジュールまたはブロックと調整する、様々な制御モジュールを稼動するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信回線を通じて制御信号をフィールドデバイスに送信することにより、プロセスの動作を制御する。
【0005】
フィールドデバイスおよびコントローラからの情報は、通常、データハイウェイを通じて、典型的に苛酷なプラント環境から遠隔の制御室または他の場所に配置された、操作者ワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等の1つ以上の他のハードウェアデバイスに提供される。これらのハードウェアデバイスは、例えば、操作者が、プロセス制御ルーチンの設定を変更する、コントローラまたはフィールドデバイス内の制御モジュールの動作を修正する、プロセスの現在の状態を表示する、フィールドデバイスおよびコントローラにより生成された警告を表示する、担当者の訓練またはプロセス制御ソフトウェアのテストの目的でプロセスの動作をシミュレーションする、構成データベースを保存および更新する等のプロセスに関する機能を実施することを可能にし得る、アプリケーションを稼動する。
【0006】
例えば、Emerson Process Managementが販売するDeltaV(登録商標)制御システムは、プロセスプラント内の多様な場所に配置された様々なデバイス内に格納され、これらにより実行される複数のアプリケーションを含む。構成アプリケーションは、1台以上の操作者ワークステーション内に常駐し、ユーザが、プロセス制御モジュールを作成または変更すること、およびデータハイウェイを経由してこれらのプロセス制御モジュールを専用分散コントローラにダウンロードすることを可能にする。典型的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックから構成され、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトで、これに対する入力に基づいて制御スキーム内で機能を実施し、制御スキーム内の他の機能ブロックに出力を提供する。また、構成アプリケーションは、設計者が、表示アプリケーションにより使用され、操作者にデータを表示する操作者インターフェースまたはヒューマンマシンインターフェース(HMI)を作成または変更すること、および操作者が、プロセス制御ルーチン内の設定ポイント等の設定を変更することも可能にし得る。各専用コントローラ、および場合によっては、フィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを稼動するコントローラアプリケーションを格納および実行して、実際のプロセス制御機能を実装する。表示アプリケーションは、1台以上の操作者ワークステーション上で稼動され得、データハイウェイを経由してコントローラアプリケーションからデータを受信し、このデータをユーザインターフェースを使用してプロセス制御システム設計者、操作者、またはユーザに表示し、操作者の表示、エンジニアの表示、技術者の表示等のいくつかの様々な表示のうちのいずれかを提供することができる。データヒストリアンアプリケーションは、典型的に、データハイウェイを通じて提供されるデータの一部または全てを収集および格納するデータヒストリアンデバイスに格納およびこれにより実行されるが、一方で、構成データベースアプリケーションは、データハイウェイに付属されたまたさらなるコンピュータ内で稼動して、現在のプロセス制御ルーチン構成およびこれに関連するデータを格納することができる。代替として、構成データベースは、構成アプリケーションと同一のワークステーションに配置されてもよい。
【0007】
プロセス制御環境において使用される制御およびサポートアプリケーションの数および種類が増加するにつれて、ユーザがこれらのアプリケーションを効果的に構成および使用することを可能にする様々なグラフィックディスプレイアプリケーションが提供されてきた。例えば、グラフィックディスプレイアプリケーションは、構成エンジニアがプロセスプラント内の制御デバイスにダウンロードされる制御プログラムをグラフィック的に作成することを可能にする制御構成アプリケーションをサポートするために使用されてきた。これに加えて、グラフィックディスプレイアプリケーションは、制御操作者がプロセスプラントの現在の機能またはプロセスプラントの領域を表示することを可能にし、保守担当者がプロセスプラント内のハードウェアデバイスの状態を表示することを可能にし、プロセスプラントのシミュレーションを可能にする、等のために使用されてきた。
【0008】
グラフィックディスプレイアプリケーションによりサポートされるプロセス制御構成アプリケーションの中には、現在、プロセスプラントの制御ストラテジを作成するために使用される、機能ブロックテンプレートオブジェクト、および一部の場合には制御モジュールテンプレートオブジェクト等、テンプレートオブジェクトのライブラリを含むものがある。テンプレートオブジェクトは、これらに関連するデフォルトのパラメータ、設定および方法を有し、グラフィック構成アプリケーションを使用するエンジニアは、これらのテンプレートオブジェクトを選択し、基本的には、選択したテンプレートオブジェクトのコピーを構成画面に配置して制御モジュールを開発することができる。テンプレートオブジェクトは、1つ以上のサブエレメントまたはテンプレートオブジェクトのプリミティブも含むことができる。例えば、炉のテンプレートオブジェクトは、サブエレメントとして、バルブ、バルブ接続金具、および多様なテキスト領域を含むことができる。テンプレートオブジェクトを選択して構成画面に配置するプロセスの間、エンジニアは、これらのオブジェクトの入力と出力を相互接続し、これらのパラメータ、名前、タグおよび他のパラメータを変更して、プロセスプラントの特定の使用のための特定の制御モジュールを作成する。このような制御モジュールを1つ以上作成した後、エンジニアは、制御モジュールをインスタンス化して、プロセスプラントの動作中に実行するために、適切なコントローラおよびフィールドデバイスにダウンロードすることができる。
【0009】
その後、エンジニアは、異なるグラフィックディスプレイ作成アプリケーションを使用して、ディスプレイ作成アプリケーションでディスプレイオブジェクトを選択および構築することにより、プロセスプラント内の操作者、保守担当者等のために1つ以上のディスプレイを作成することができる。これらのディスプレイは、典型的に、ワークステーションの1台以上にシステム全体ベースで実装され、プラント内の制御システムまたはデバイスの作動状態に関して、事前設定されたディスプレイを操作者または保守担当者に提供する。これらのディスプレイは、概して、プロセスプラント内のコントローラまたはデバイスにより生成された警告を受信および表示する警告ディスプレイ、プロセスプラント内のコントローラおよび他のデバイスの動作状態を示す制御ディスプレイ、プロセスプラント内のデバイスの機能状態を示す保守ディスプレイ等の形式を取る。しかしながら、これらのディスプレイは、概して、周知の様態で、プロセス制御モジュールまたはプロセスプラント内のデバイスから受信した情報またはデータを表示するように事前設定される。一部のシステムにおいては、ディスプレイは、物理的または論理的エレメントを表し、かつ、物理的または論理的エレメントに関するデータを受信するように物理的または論理的エレメントに通信可能に連結される、グラフィック表示により作成される。ディスプレイ画面上のグラフィックは、例えば、タンクの量が半分であるということを示す受信データ、流量センサにより測定された流量を示す等の受信データ等、一定のイベントに応答して変化することができる。
【0010】
このように、制御構成アプリケーションに類似して、ディスプレイ作成アプリケーションは、タンク、バルブ、センサ、スライドバーのような操作者制御ボタン、オン/オフスイッチ等、任意の所望の構成で画面上に配置されて、操作者ディスプレイ、保守ディスプレイ等を作成することができる、テンプレートのグラフィックディスプレイアイテムを有することができる。テンプレートのグラフィックディスプレイアイテムは、しばしば、複合形状を作成する無数のネストされたサブエレメントを含む。例えば、タンクテンプレートのグラフィックディスプレイはポンプを含み、そのポンプは、楕円、矩形、直線、または他の形状等の無数の基本形状を含むことができる。画面上に配置されると、個別のグラフィックアイテムは、プロセスプラントの内部構造の何らかの情報またはディスプレイをユーザに提供する様態で画面上で相互接続され得る。グラフィックディスプレイをアニメーション化するには、ディスプレイ作成者は、グラフィックアイテムとプロセスプラント内の関連データソースとの間の通信リンクを指定することにより、センサにより測定されたデータまたはバルブ位置の指標等、プロセスプラント内で生成されたデータにグラフィック項目の各々を手動で連結することが必要である。
【0011】
しばしば、同一の制御モジュールおよびグラフィックディスプレイの多数が、プロセスプラント内の異なる機器のために使用される。例えば、多数の中型から大型のプロセスプラントは、同一の基本的な汎用制御モジュールおよびディスプレイを使用して、制御および表示され得る同一または類似の機器の無数のインスタンスを有する。これらの無数の制御モジュールおよびディスプレイを作成するには、しかしながら、汎用の制御モジュールまたはディスプレイモジュールが作成されてから、この汎用の制御またはディスプレイモジュールが、適用可能な様々な個々の機器の各々にコピーされる。プロセス制御およびシミュレーションシステムのシステムレベルでグラフィックディスプレイエディタおよびグラフィックディスプレイエレメントを統合および使用するための一部の技術は、2006年8月22日出願の米国特許出願第10/590,574号、名称「COMPOSITE SHAPE WITH MULTIPLE VISUALIZATIONS IN A PROCESS CONTROL ENVIRONMENT」に説明され得、この開示全体を参照により本明細書に組み入れる。これらの技術は、概して、複合形状、またはプラント構成、制御、保守およびシミュレーションに関連する多様な操作における複合形状の作成および使用を可能にする。複合形状は、プロセス制御システム内のいずれかのプロセス、シミュレーションまたはタスクのために再使用可能および再構成可能である。
【0012】
グラフィックディスプレイエディタを使用してプロセス制御およびシミュレーションシステムを構成する間、設計者は、グラフィックディスプレイ内のオブジェクトをそれぞれ表示するために複合形状を作成および構成することが必要である。例えば、操作者ディスプレイの操作者画面またはウィンドウ内にいくつかのプロセス制御システムコンポーネントを適切に表すために、設計者は、複合形状がウィンドウ内に適合し、プロセスにおいて使用される実際のコンポーネントを正確に表し、操作者に視覚的に注意を促す表示であることを保証し、または、相互に相対的なサイズおよび位置にあって正確および実践的な操作者ディスプレイまたはHMIのためのシミュレーション環境を作成するように、複合形状をサイズ変更することがしばしば必要である。同様に、実行時の間、ユーザは、構成プロセスの間(または「構成時」)に作成された複合形状をサイズ変更して、操作者の好みに合わせる、または以前に作成されたディスプレイのレイアウトを編集することができる。しばしば、これらの複合形状は、いくつかの基本形状(例えば、矩形、直線等)、プリミティブ、サブエレメント、およびバルブ、パイプ接続金具、接続具等、複数のサブエレメントおよびテキスト形状から構成される他の複合形状を含む。例えば、複合形状として表されるタンク、ボイラー、キルン、または他のプロセス制御システムコンポーネントは、任意の数のサブエレメントを含む。
【0013】
しかしながら、構成時または実行時に複合形状をサイズ変更する機能を含んでいた先行のグラフィックディスプレイエディタは、しばしば、サブエレメントの視覚パラメータを歪めることがあった。例えば、一部のグラフィックディスプレイエディタは、所望の空間を埋めるために複合形状の伸長を可能にするパネルまたはコンテンツデコレータを採用していた。コンテンツデコレータの一実施例は、概して、多様な寸法(例えば、X、YおよびZ軸、高さ、幅および長さなど、単一または組み合わせ)において複合形状のサイズ変更を許容するWindows(登録商標)Presentation FoundationのViewBoxクラスである。しかしながら、標準のコンテンツデコレータを使用するサイズ変更は、望ましくない動作となる。例えば、ViewBoxデコレータを使用してサイズ変更すると、複合形状およびサブエレメントの歪み部分は、著しく、太くなる、伸長する、狭くなる、位置が乱れる、または他の望ましくない視覚的特徴となってしまう。さらに、サイズ変更中にアスペクト比が固定された場合でも、一部のサブエレメントは他に対して視覚的に適切な関係を維持する一方で、ViewBoxを使用すると、テキスト部分は、不適切に大きくまたは小さくなり、テキストまたはエレメントの境界線が望ましくないほど太くなったり、細くなったりした。
【0014】
先行の解決策は、複合形状のサイズ変更中、およびアスペクト比を固定したエレメントをサイズ変更中に、上記の歪みに具体的には対応しなかった。ユーザインターフェースウィンドウに表示された画像は、論理グループに関連付けられていた。例えば、2つ以上のグラフィックエレメントは、1つの論理グループとして一緒にグループ化されていた場合がある。ユーザが、いくつかのグラフィックエレメントからそれぞれ構成される論理グループをいくつか表示したウィンドウの第1の寸法を変更した場合(つまり、ウィンドウの高さまたは幅の何らかの組み合わせを変更する)、画像のアスペクト比は固定され、画像はユーザがウィンドウの寸法を変更した程度にまでサイズ変更され得る。例えば、ユーザがウィンドウの高さを低くすると、いくつかの論理グループ内のグラフィックエレメントの全ては、低くなり得る(例えば、ボックス内に囲まれたテキストを含むグラフィックエレメントの場合、テキストは、フォントサイズが小さくなり、テキストを囲むボックスは低くなるので、したがって、各論理グループは、これに応じて低くなり、エレメントが歪むようになる)。しかしながら、ユーザがウィンドウの第2の寸法を変更した場合、画像のサイズは変化せず、その代わりに、論理グループの数が、拡大または縮小された空間に合わせて変化する。論理グループが概してウィンドウの幅に沿って整列していた場合、ウィンドウの幅が減少しても論理グループは形状を変化しなかった(つまり、グラフィックエレメントおよび論理グループは、したがって細くならなかった)。むしろ、第2の寸法の減少の程度に応じて、表示される論理グループの数が減少した。例えば、ユーザが本来は5つの論理グループを表示していたウィンドウを、ウィンドウが4つ半の論理グループだけに適する程度までウィンドウのサイズを減少した場合、表示される論理グループの数は、グループ内のオブジェクトの一般寸法を変更しないように、整数のグループに切り捨てられた可能性がある。
【0015】
他の解決策は、複合形状の「ディープコピー」の修正が必要であった。ディープコピーは、JPEGまたは他の形式のデジタルグラフィック画像などのファイルであり得、簡単なサイズの変更とは異なり、概して永久的と考えられる。例えば、構成時の間に構成エンジニアまたは他のユーザにより作成された複合形状は、概して、ディープコピーと考えられ得る。単に複合形状のディープコピーをサイズ変更することにより、前述のように歪んだサブエレメントとなった。したがって、構成時にユーザは、複合形状ライブラリのために、所望された複合形状のサイズ変更インスタンス各々に対する、新しい、歪みのない複合形状を作成することを余儀なくされる。例えば、複合形状ライブラリに低いタンクと高いタンクの両方を含めることが所望された場合、これらのタンクの両方のバージョンはサイズが等しい入り口および出口ポートを含むが、低いタンクを作成してそれを伸長するだけでは、タンクは所望の高さではあるが、入り口および出口ポートも伸長されてしまう可能性がある。低いタンクを伸長して作成された高いタンクは、少なくとも歪んだ入り口および出口ポートを有することになる。このように、正常なタンクと高いタンクの両方が構成時に作成されなければならなくなる。同様に、実行時のユーザが異なるサイズのタンクが表示されることを所望した場合、ユーザは、複合形状内の各個別のサブエレメントを個別に修正することにより、複合形状ライブラリ内のその本来のディープコピーの形式の複合形状を編集して、適切なアスペクト比を維持することを余儀なくされる。所望のスケーリングが達成されると、構成時または実行時のユーザは、修正した複合形状を、本来の複合形状の新規または代替のディープコピーとして保存し、その修正したエレメントをディスプレイに配置することが可能であった。この例に引き続いて、ユーザがタンクの入り口および出口ポートは標準のサイズに保つが、タンクの高さを変更することを希望した場合、ユーザは、タンクの複合形状のディープコピーを開いて修正しなければならなくなる。他のグラフィックディスプレイのためのいかなるさらなる修正も、ディープコピーのさらなる修正が必要となる。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】米国特許番号第7,110、835号
【発明の概要】
【発明が解決しようとする課題】
【0017】
このように、先行のグラフィックディスプレイエディタは、複合形状のアスペクト比を固定することによりサイズ変更の歪みに対応してきたため、直線が不必要に太くなり、テキストが伸長し、表示されるサブエレメントの数を切り捨てることになって情報の量または表示されるオブジェクトの量が減少し、かつ他の望ましくない歪みが発生することになった。他の方法は、サイズ変更のたびに、共通の複合形状のディープコピーの修正が必要であった。この結果、グラフィックエディタは、これらが存在する範囲では、アスペクト比を固定することによって複合形状の全てのサブエレメントをサイズ変更し、かつ歪める、ディスプレイウィンドウ内にいくつかの論理グループを追加または排除する、または複合形状のディープコピーの修正を必要とするというような、「妥協を許さない」アプローチによってユーザが共通のグラフィックエレメントをサイズ変更することしか可能ではなかった。
【課題を解決するための手段】
【0018】
プロセスプラントにおいて実行され得る1つ以上のグラフィックディスプレイの部分またはコンポーネントとして使用されるための複合形状が提供され、プロセスプラント環境に関する情報をユーザに表示する。複合形状のサブエレメントに関連するスケーリングおよびベースラインまたはスケーリングされていないパラメータは、複合形状のサイズ変更中にサブエレメントがどのようにスケーリングされるかを決定することができる。グラフィカルディスプレイエディタは、パラメータを使用して、サイズ変更中に各複合形状のサブエレメントにその後適用される多様なスケーリング係数を計算することができる。エディタは、1つ以上の軸(例えば、長さ、幅、および高さ、またはX、YおよびZ軸等)におけるサイズ変更のためにスケーリングパラメータをサブエレメントに適用して、特定のグラフィックディスプレイおよび構成時または実行時のユーザの好みに合わせて複合形状を調整することができる。エディタは、スケーリング係数を各サブエレメントに直接適用して、これらのサブエレメントの一切の歪みを防ぐことができる。複合形状のサブエレメントのスケーリングパラメータは、構成時にディープコピーを作成する間に調整され得るか、または、実行時にユーザにより修正され得、ベースラインまたはスケーリングされていないパラメータとの関係において、複合形状全体および個別のサブエレメントに関して、スケーリング係数が有する影響(有する場合)を制御する。構成されたスケーリングパラメータは、次に、構成時および実行時の両方で、サイズ変更動作中にパラメータが複合形状およびそのサブエレメントに適用されるように、複合形状に連結され得る。複合形状がサブエレメントとしてネストされた複合形状を含む場合、パラメータは、サイズ変更動作中に再帰的に適用され得る。スケーリングパラメータは、複合形状とアニメーションの両方に適用され得る。
【0019】
プロセスプラントにおいて使用されるプロセス制御システムにおける操作者ディスプレイのための複合形状をスケーリングする一実施例は、プロセスプラント内のエンティティをグラフィックに示す複合形状を表示することを含むことができる。複合形状は、1つ以上のサブエレメントを含むことができ、各サブエレメントは1つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは1つ以上のスケーリングパラメータを含む。各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義することができる。スケーリングは、複合形状の1つ以上の寸法についてサイズ変更すること、各サイズ変更された寸法に対してスケーリング係数を計算すること、および、1つ以上のスケーリング係数をスケーリングパラメータに関連する各スケーリングされていないパラメータに適用することも含むことができる。
【0020】
グラフィックディスプレイエディタは、プロセスプラントにおいても使用され得、プロセスプラント内の動作とエンティティのうちの1つ以上を表す1つ以上の複合形状をサイズ変更する。グラフィックディスプレイエディタは、複合形状のライブラリを含むことができ、複合形状の各々は、プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含む。複合形状は、1つ以上のサブエレメントも含むことができる。エディタは、複合グラフィックオブジェクトのライブラリから1つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することにより、ユーザが実行可能なグラフィックディスプレイを定義することを可能にして、1つ以上の複合グラフィックオブジェクトのどの視覚表示が、グラフィックディスプレイの実行中にユーザに対してディスプレイデバイスに表示されるかの様態を定義する、グラフィックベースエディタキャンバスルーチンを含むことができる。さらに、グラフィックベースエディタキャンバスルーチンは、ユーザが、複合グラフィックオブジェクトのコンポーネントオブジェクトの各々のスケーリング動作を制御することを可能にし得る。別のエディタルーチンは、ユーザが、1つ以上のスケーリングパラメータを複合形状の1つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンを含むことができ、複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ得、各スケーリングパラメータは、複合形状に関連するサブエレメントのスケーリング動作を画定することができる。また、複合形状サイズ変更ルーチンは、ユーザが、エディタキャンバス内の複合形状の1つ以上の寸法を修正することを可能にし得、修正は、関連するスケーリングパラメータに従って、複合形状の1つ以上のサブエレメントに適用され得る。
【0021】
コンピュータシステムも、プロセス制御プラントにおいて使用されるための複合形状をスケーリングするために使用され得る。例えば、各複合形状が、プロセスプラント内の動作とエンティティとのうちの1つ以上を表すことができる場合、システムは、1つ以上の複合形状を備えるデータベースと、プロセスプラントの視覚表示を表示するためのグラフィックヒューマンマシンインターフェースとを含むことができる。データベース内の複合形状は、スケーリングキャンバスオブジェクト内の1つ以上のサブエレメントを含むことができ、各サブエレメントは、1つ以上のスケーリングされていないパラメータを含み、グラフィックヒューマンマシンインターフェースは、コンピュータシステムのプロセッサ上で実行される複合形状サイズ変更モジュールを含むことができる。モジュールは、構成時に、1つ以上のスケーリングパラメータを含む1つ以上の複合形状を構成するため、および、実行時に各構成された複合形状を構成されたスケーリングパラメータにバインドするための命令を含むことができる。各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義することができる。モジュールは、複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するための命令も含むことができ、サイズ変更されたスケーリングキャンバスオブジェクトは、1つ以上の変更された寸法を含むことができる。さらに、モジュールは、各変更された寸法に対してスケーリング係数を計算するための命令を含むことができ、スケーリング係数は、スケーリングキャンバスオブジェクトの1つ以上の変更された寸法と、1つ以上の対応するスケーリングされていないパラメータとの比を含むことができる。モジュール命令は、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに1つ以上のスケーリング係数を適用することもできる。
【図面の簡単な説明】
【0022】
【図1】プロセスプラント内に配置される分散処理制御ネットワークのブロック図であり、プロセスプラント内の多様な機能に関連するディスプレイルーチンおよび他のアプリケーションを実装する操作者ワークステーション、ならびに、プラントの多様な機能領域の各々に複合形状およびグラフィックディスプレイを作成およびサイズ変更するために使用され得るシステムレベルのグラフィックサポートを提供するワークステーションを含む。
【図2】プロセスプラント制御、表示、およびシミュレーションシステム内のシステムレベルのグラフィックサポートの統合を示す論理的ブロック図である。
【図3】複合形状およびディスプレイが作成される構成環境と、複合形状およびディスプレイが実行され得る実行時環境を示す論理的ブロック図である。
【図4a】スケーリングされていない複合形状の図である。
【図4b】スケーリングパラメータを適用せずにサイズ変更した後の複合形状の図である。
【図4c】1つ以上のスケーリングパラメータを使用してサイズ変更後の複合形状の図である。
【図5a】構成時の複合形状を表示する、グラフィックエディタにより作成されたディスプレイ画面である。
【図5b】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第1の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図5c】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第2の寸法についてサイズ変更された、構成された複合形状を示す、グラフィックエディタにより作成されたディスプレイ画面である。
【図6a】実行時のグラフィックディスプレイを示すディスプレイ画面である。
【図6b】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第1の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図6c】Scaling Canvasコンテナ、ベースラインまたはスケーリングされていないパラメータ、および複合形状パラメータのロジックを使用して、第2の寸法について実行時にサイズ変更されたグラフィックディスプレイを示すディスプレイ画面である。
【図7】複合形状が歪むことなく構成時と実行時にサイズ変更され得る1つの様態を示すブロック図である。
【発明を実施するための形態】
【0023】
図1は、例示的なプロセスプラント10を示し、ここでシステムレベルのグラフィックサポートがプラント10の多様な機能領域に提供される。典型的に、プロセスプラント10は、1つ以上のコントローラ12を有する分散処理制御システムを含み、コントローラ12の各々は、例えば、Fieldbusインターフェース、Profibusインターフェース、HARTインターフェース、標準4−20mAインターフェース等であり得る、入力/出力(I/O)デバイスまたはカード18を経由して1つ以上のフィールドデバイス14および16に接続される。コントローラ12は、例えば、イーサネット(登録商標)リンクであり得るデータハイウェイ24を経由して、1台以上のホストまたは操作者ワークステーション20〜23にも接続される。データベース28は、データハイウェイ24に接続され得、プラント10内のコントローラおよびフィールドデバイスに関連するパラメータ、ステータスおよび他のデータを収集および格納するデータヒストリアンとして、および/または、コントローラ12およびフィールドデバイス14および16にダウンロードされて格納されると、プラント10内のプロセス制御システムの現在の構成を格納する構成データベースとして作動することができる。データベース28は、これに加えて、本明細書に説明される様態で作成されるグラフィックオブジェクトを格納して、プロセスプラント10内のグラフィックサポートを提供することができる。コントローラ12、I/Oカード18ならびにフィールドデバイス14および16は、典型的に、時には過酷なプラント環境内に配置および全体に分散されるが、操作者ワークステーション20〜23およびデータベース28は、通常、制御または保守担当者により容易に評価可能な管理室または他のあまり過酷ではない環境に配置される。しかしながら、場合によっては、これらの機能を実装するためにハンドヘルドデバイスが使用され得、典型的に、これらのハンドヘルドデバイスはプラントの多様な場所に持ち運ばれる。
【0024】
周知のように、例えば、Emerson Process Managementが販売するDeltaV(登録商標)であってもよい、コントローラ12の各々は、任意の数の様々な、独立的に実行される制御モジュールまたはブロック29を使用して制御ストラテジを実装するコントローラアプリケーションを格納および実行する。制御モジュール29の各々は、一般的に機能ブロックと称されるものから成り得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、他の機能ブロックと関係して(リンクと呼ばれる通信を経由して)動作して、プロセスプラント10内のプロセス制御ループを実装する。周知のように、機能ブロックは、オブジェクト指向プログラミングプロトコルのオブジェクトであり得、典型的に、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスと関連するような入力機能、PID、ファジーロジック等の制御を実施する制御ルーチンに関連するような制御機能、またはバルブ等の何らかのデバイスの作動を制御する出力機能のうちの1つを実施して、プロセスプラント10内の何らかの物理的機能を実施する。当然のことながら、モデル予測コントローラ(MPC)、オプティマイザ等のハイブリッドおよび他のタイプの複雑な機能ブロックが存在する。FieldbusプロトコルおよびDeltaVシステムプロトコルは、オブジェクト指向プログラミングプロトコルにおいて設計および実装される制御モジュールおよび機能ブロックを使用するが、例えば、シーケンシャル機能ブロック、ラダーロジック等を含むいずれかの所望の制御プログラミングスキームを使用する制御モジュールが設計され得、機能ブロックまたは他の任意の特定のプログラミング技法を使用して設計および実装されることに限定されない。
【0025】
図1に示されたプラント10においては、コントローラ12に接続されたフィールドデバイス14および16は、標準の4−20mAデバイスであってもよく、または、HART、Profibus、またはFOUNDATION(登録商標)Fieldbusフィールドデバイス等の、プロセッサおよびメモリを含むスマートフィールドデバイスであってもよく、または他の任意の所望のタイプのデバイスであってもよい。Fieldbusフィールドデバイス(図1の参照番号16)等のこれらのデバイスの中には、コントローラ12に実装される制御ストラテジに関連する、モジュール、または機能ブロック等のサブモジュールを格納および実行できるものがある。機能ブロック30は、図1ではFieldbusフィールドデバイス16のうちの2つの異なるデバイスに配置されると示されているが、周知のように、コントローラ12内の制御モジュール29の実行とともに実行され得、プロセス制御を実装する。当然のことながら、フィールドデバイス14および16は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであり得、I/Oデバイス18は、HART、Fieldbus、Profibus等の任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのI/Oデバイスであり得る。
【0026】
図1のプロセスプラント10において、ワークステーション20〜23は、プラント10内の同一または異なる担当者により実施される多様な異なる機能のために使用される、多様なアプリケーションを含むことができる。ワークステーション20〜23の各々は、多様なアプリケーション、プログラム、データ構造等を格納するメモリ31と、メモリ31に格納されたアプリケーションのいずれかを実行するために使用され得るプロセッサ32とを含む。図1に示された実施例において、ワークステーション20は、構成ワークステーションとして指定され、1つ以上の構成アプリケーション33を含み、構成アプリケーションは、例えば、制御モジュール作成アプリケーション、操作者インターフェースアプリケーションおよび他のデータ構造を含むことができ、これらは、いずれかの承認された構成エンジニアによってもアクセスされ得、制御モジュール29および30等の制御ルーチンまたはモジュールを作成され、プラント10の多様なコントローラ12およびデバイス16にダウンロードされる。ワークステーション21は、概して、図1には制御操作者表示ワークステーションとして示され、プロセスプラント10の動作中に多様なディスプレイを制御操作者に提供することができる、いくつかのディスプレイアプリケーション34を含み、操作者が、プロセスプラント10内またはプラントの多様なセクションで行われている内容を表示および制御することを可能にする。アプリケーション34は、制御機能を実施する際に制御操作者を支援するために使用され得る、制御診断アプリケーション、調整アプリケーション、レポート生成アプリケーションまたは他の任意の制御サポートアプリケーション等のサポートアプリケーション34aを含むことができる。同様に、ワークステーション22は、保守表示ワークステーションとして示され、プラント10の保守ニーズを表示するため、または多様なデバイス12、14、16等の動作または作業状態を表示するために、多様な保守担当者により使用され得るいくつかの保守アプリケーション35を含む。当然のことながら、アプリケーション35は、プラント10内の保守機能を実施する際に保守担当者を支援するために使用され得る、保守診断アプリケーション、較正アプリケーション、振動分析アプリケーション、レポート生成アプリケーションまたは他の任意の保守サポートアプリケーション等のサポートアプリケーション35aを含むことができる。これに加えて、ワークステーション23は、トレーニング目的のため、プラントの保守および制御を支援するプラントモデル化の目的のため等、を含むいくつかの目的のために、プラント10またはプラント10の多様なセクションの動作をシミュレーションするために使用され得る、いくつかのシミュレーションアプリケーション36を含むシミュレーションワークステーションとして示される。典型的に、ワークステーション20〜23の各々は、ディスプレイ画面37に加えて、キーボード、マウス等の他の標準の周辺機器を含む。
【0027】
当然のことながら、多様な構成、制御、保守およびシミュレーションのアプリケーション33〜36は、図1では、これらの機能のうちの1つを専用とする様々なワークステーションに配置されるように示されているが、これらの、または他のプラント機能に関連する多様なアプリケーション33〜36は、プラント10のニーズおよびセットアップに応じて、プラント10内の同一もしくは異なるワークステーションまたはコンピュータに配置および実行され得ることが理解されるであろう。このように、例えば、1つ以上のシミュレーションアプリケーション36および制御アプリケーション33は、同一のワークステーション20〜23で実行され得るが、異なる個別のシミュレーションアプリケーション36または異なる個別の制御アプリケーション33は、ワークステーション20〜23のうちの異なる1つにおいて実行され得る。
【0028】
米国特許出願第10/590、574号に説明されているように、各プラントレベルの様々なグラフィックエディタおよびパッケージの非効率を軽減するため、およびプラント10内のグラフィックの利用範囲を広範にし、理解できるようにするために、プロセスプラント10のシステムレベルにはグラフィックサポート層が提供されて、プラント10の構成、操作者表示、保守表示、シミュレーションおよび他の機能領域等を含む、プラント10の多様な機能領域の各々のグラフィックディスプレイおよびデータ構造のニーズをサポートする。このシステムレベルのサポートは、図2において模式的に表され、プラント動作レベル40、プラント機能レベル42およびシステムレベル44を示す。図2から理解されるように、プラント動作レベル40は、制御ルーチンまたはモジュール29および30、ならびにプラント10内の他のソフトウェア稼動を実行して、プラントの実行時中にプラント動作を実装する他のソフトウェアを実行する、コントローラ12、フィールドデバイス14、16等、を含む。プラント機能レベル42は、構成機能ブロック46、制御機能ブロック47、保守機能ブロック48およびシミュレーションブロック49を含むように表されているが、エンジニアリングおよびビジネス機能等の他のまたは異なる機能も提供される可能性がある。構成機能ブロック46は、プラント動作レベル40内のコンポーネントとインターフェースまたは通信する構成ルーチン33を実装して、そこに制御ストラテジまたは制御モジュールを提供する。制御機能ブロック47は、制御表示および他のアプリケーション34および34aを含み、これらは、典型的に、プラント動作レベル40内の多様な物理的および論理的コンポーネントとも直接インターフェースまたは通信して、プラント10内の操作者が行った変更を実装、制御ディスプレイ34を介して操作者に情報を提供、制御アプリケーション34aのためにデータを取得等する。保守機能ブロック48は、保守ルーチンおよびアプリケーション35および35aを含み、これらは、プラント動作レベル40内の多様な物理的および論理的コンポーネントとインターフェースまたは通信して、保守手順を実装、保守データを収集、保守ディスプレイ35を経由して保守データまたは情報を保守担当者に提供、診断アプリケーション35aを実行等する。同様に、シミュレーション機能ブロック49は、シミュレーションルーチン36を含み、これは、プラント10のシミュレーションを実装、かつプラント動作レベル40内のコンポーネントに通信可能に結合され得、プラント10に関するデータを取得する。
【0029】
図2に示されているように、システムレベルサポート層44は、プラント機能層42内の各機能ブロック46〜49に結合し、かつこれをサポートして、例えば、多様な機能領域46〜49において使用するためのソフトウェアオブジェクト、複合形状およびグラフィックディスプレイ等の共通のデータベースおよびディスプレイ構造の作成および保守を可能にする。より具体的には、システムレベルサポート層44は、システムサポート層44で作成された共通のデータベース構造および複合形状を使用して統合または開発された機能ブロック46〜49の各々において実施されるグラフィック動作を可能にする、アプリケーション、データベース、グラフィックサポートエレメントを含む。
【0030】
システムサポート層44は、グラフィックエディタ50とグラフィックオブジェクトデータベース52とを含むことができる。グラフィックエディタ50は、複合形状54およびグラフィックディスプレイ56を作成するために使用され得るが、一方で、グラフィックオブジェクトデータベース52は、エディタ52、およびブロック46〜49の多様なアプリケーションによりアクセス可能なメモリに複合形状54およびディスプレイ56を格納する。データベース52は、複合形状54のためのサブエレメント等の他のオブジェクト58と、プラント動作レベル40内の個別のハードウェアおよびソフトウェアエレメントに複合形状54を接続するデータ構造もまた格納することもできる。これに加えて、データベース52は、さらなる複合形状またはディスプレイを作成するために使用され得るテンプレート、サブエレメントおよびプリミテティブを格納することができる。図2から理解されるように、グラフィックディスプレイエレメント54、ディスプレイ56および他のデータベース構造58は、機能ブロック46〜49のうちのいずれかまたは全てにより使用され得、これらの機能ブロックに関連するグラフィックを作成および使用する。
【0031】
一般的に、システムレベルサポートブロック44は、機能領域46〜49の全てにおいて、図1のプロセスプラント10において使用されるグラフィックを統合する様態を提供し、これによって、様々な機能的状況における同一のプラント機器のために様々な複合形状を繰り返して作成する必要性を軽減または排除し、かつ、機能領域46〜49の各々においてユーザが、これらの機能領域に関連するグラフィック表示において表示される機器に関連するデータを結合しやすくする。理解されるように、システムレベルサポート層44は、機能領域46〜49の様々な領域における様々なアプリケーション等のために、機能領域46〜49の各々における複数のアプリケーションをサポートするグラフィックとデータベースを提供するために使用され得る。
【0032】
再び図1を参照すると、システムレベルサポートブロック44は、他のワークステーション20〜23の各々に接続され得る、追加のワークステーションまたはユーザインターフェース60を使用して実装され得る。ワークステーション60は、概して、グラフィックエディタ50およびデータベース52を格納することができ、所望される場合は、他のエレメント54、56および58を格納することができる。これに加えて、ワークステーション60は、データバス24を経由、別の有線または無線通信接続(図1において破線で示される)を経由、または他の任意の所望の様態において、ワークステーション20〜23と通信可能に接続され得る。図1に示された構成においては、ワークステーション60は、ディスプレイエディタ50を格納および実行して、ユーザが、サブエレメントを含む複合形状および他の複合形状を作成すること、および形状を1つ以上のグラフィックディスプレイまたはディスプレイモジュールにグループ化することを可能にする。これらのディスプレイモジュールは、次に、データベース52に格納され得、図2に示される多様な機能ブロック46〜49によりアクセスおよび使用され、かつ多様なワークステーション20〜23上に実装されるように、データベース52に格納されてもよい。説明のために、システムレベルブロック44の機能および機能レベルブロック46〜49は、図1においては異なるまたは個別のワークステーション20〜23および60上に実装されるように示されるが、これらの多様なブロックのいずれかに関連するアプリケーションのいずれかまたは全ては、プロセスプラント10内またはプロセスプラント10に関連する同一または様々なワークステーションまたは他のコンピュータ上に実装されることが可能であることが理解されるであろう。このように、グラフィックエディタ50は、プラント10に関連する他のワークステーション20〜23のいずれか、または他のいずれかのコンピュータに格納および実行され得、スタンドアロンまたは別のコンピュータにある必要はない。
【0033】
上記のように、図2のシステムレベル層44は、システムレベルディスプレイおよびデータベースオブジェクトを実装し、これらは、多様な機能環境で使用され得るとともにレベルがさらに高いディスプレイ機能を提供する。一般的に、図2のシステムレベル44で作成されたディスプレイオブジェクトは、複合形状とグラフィックディスプレイとに分類され得る。複合形状は、概して、バルブ、センサ、ポンプ、コントローラ、タンク、反応炉、バーナー、パイプ、パイプ接続金具等のハードウェアデバイスなど、プラント内の具体的な物理的エンティティに関連するディスプレイオブジェクトである。グラフィックディスプレイは、概して、一連の相互接続された複合形状から成り、ユニット、領域等のプラント内のより複雑な一連のハードウェアを表示およびモデル化するために使用され、様々なハードウェアユニット間の相互接続を含む。複合形状は、それ自体が複合形状であり得る、複数のサブエレメントから成り得る。つまり、複合形状74は、ネストされ得る。例えば、反応炉のグラフィックディスプレイ内のタンクの複合形状は、バルブ、パイプ接続金具、センサ、攪拌機等の1つ以上の複合形状を含むことができ、各々は、矩形、楕円、直線等から成る。同様に、グラフィックディスプレイも1つ以上の複合形状を含むことができる。これに加えて、グラフィックディスプレイは、プラントから、ワークステーション20〜23および60で稼動する診断およびビジネスアプリケーション等の他のアプリケーション等から提供されるグラフ、チャートおよび他のデータを含むことができる。
【0034】
図3は、概して、これらのエレメントおよびディスプレイが存在する場合がある、具体的には構成環境70および実行時環境72の、2つの環境における複合形状およびグラフィックディスプレイの開発および使用を示す。一般的には、複合形状74(別個のエレメントオブジェクト74a、74b等として示される)およびグラフィックディスプレイ76(別個のディスプレイオブジェクト76a、76b等として示される)の形態のディスプレイオブジェクトは、例えば、ディスプレイエディタ50を使用して、構成環境70において作成される。作成後、オブジェクト74および76は、データベース52に格納され得る。オブジェクト74および76は、本明細書ではディスプレイクラスオブジェクトと称されるクラスオブジェクトとして作成され得、プロセスプラント10内の特定のハードウェアまたは論理エレメントにはバインドまたは結合されない一般的なオブジェクトを定義する。しかしながら、クラスオブジェクトは、クラスオブジェクトと同一の基本的プロパティを有する実行時グラフィックオブジェクトを作成するために使用され得るが、プロセスプラント10内の特定のハードウェアに結合またはバインドされる。一般的には、しかしながら、クラスオブジェクトは、そこからインスタンス化された子オブジェクトに結合されたままであるので、クラスオブジェクトに対する変更は、これらの子オブジェクトが実行時環境内でインスタンス化される場合であっても、子オブジェクトに自動的に反映され得る。
【0035】
図3に示されるように、複合形状74の各々は、多数の異なる状況において有用な複合形状を作成するいくつかのコンポーネントを含む。具体的には、各複合形状74は、1つ以上のグラフィックエレメントまたはサブエレメント77、任意の数のパラメータまたはプロパティ78、任意の数のアクションまたはアニメーション79を含み、これらは、スクリプトまたはトリガ、およびバインディング80を使用して実装され得る。一般的に、各エレメント77、78、79、80は、複合形状74が実行時環境72に実装されると、ディスプレイ画面上に実際に表示される視覚プロパティまたはエレメントを定義する。典型的に、複合形状は、物理的または論理的デバイスまたはデバイス群のグラフィック表示を定義するが、複合形状は他のエンティティを表す可能性がある。複合形状74は、エンティティのグラフィック表示の仕様を定義する任意の所望の記述またはプログラミングパラダイムを使用して、実行時環境72に実装され得る。一実施形態において、複合形状74は、PGXML、XAML、またはMicrosoft(登録商標)により提供される周知の制御であり、オブジェクトベースであるため、標準のWindows(登録商標)タイプのディスプレイに容易に実装され、ディスプレイ環境間で移植可能である、Windows(登録商標) Presentation Foundation(WPFは旧称「Avalon」)制御を使用して実施され得る。
【0036】
複合形状74のサブエレメント77は、複合形状74の構成要素である基本的な形状を含むことができる。前述のように、サブエレメントは、矩形、楕円、曲線、直線、および他の基本形状を含むことができ、操作されて組み合わされると、タンク、バルブ、パイプ接続金具または他のオブジェクトのグラフィック表示を形成する。サブエレメント77は、それ自体、複合形状74であり得、複雑なネストされた構造を作成する。したがって、サブエレメント77は、以下に詳細を説明するように、パラメータ/プロパティ78、アクション/アニメーション79、およびバインディング80のうちの1つ以上をもまた含むこともできる。
【0037】
一般的に、パラメータおよびプロパティ78は、表示される形状またはエンティティに関連する、変数、または静的または変更可能な固有パラメータ等の他のパラメータを定義し、これらのパラメータは形状74の作成者により定義可能である。一部の実施形態において、パラメータは、スケーリング中に複合形状74の関連するサブエレメントがどのように動作するかに関連する。例えば、パラメータ78は、複合形状のサイズ変更時に、複合形状内の関連するサブエレメントが、伸長または他の望ましくない動作を見せずに、スケーリングするように、定義され得る。スケーリングパラメータの一部の実施例は、以下に詳細を説明するように、複合形状のラベルおよび複合形状の他のテキスト部分のフォントサイズ、エッジ幅、角の丸み半径、サイズスケール、および位置スケールである。パラメータは、構成時および実行時の両方でサイズ変更操作中に形状に適用することができる。複合形状74は、インターフェースも実装することができて、以下に詳細を説明するように、Scaling Canvasコンテナがサイズ変更に関連するパラメータにアクセスすることを可能にする。このように、パラメータおよびインターフェースを使用することによって、複合形状自体が独自のスケーリングロジックを提供することができる。
【0038】
各サブエレメント77は、限定された数のスケーリング係数を含むことができる。一部の実施形態においては、各サブエレメント77は、これらのスケーリングパラメータだけを含み、変更されると、形状の対応する特徴を変更する。例えば、楕円オブジェクトは、xとyの位置、幅、および高さのスケーリングに対するスケーリングパラメータだけを含むことができるが、一方で、矩形オブジェクトは、これに加えて、角のスケーリングパラメータを含むことができ、テキストオブジェクトは、フォントサイズスケーリングのパラメータを含むことができる、等である。当然のことながら、間隔、深さ(3次元形状において)、順序付け、および他の視覚特徴等、他のパラメータが、複合形状74の他のスケーリング動作を制御する場合がある。
【0039】
アクションおよびアニメーション79は、ルーチンまたはプログラム(スクリプトとして実装され得、パラメータ上で変換を実施、パラメータ値に基づいてプロセスエンティティの状態を検出する等)、複合形状または複合形状のサブエレメントまたは形状がディスプレイ画面に表示される場合に形状上でまたは形状を使用して実施される動作、を変更する何らかのルーチンを含むことができるアニメーションルーチン、またはユーザが形状74を使用または相互作用してプロセスへの入力の変更等、プロセスに変更を発生させることが可能なルーチンを定義する。これらのアクションおよびアニメーションは、より興味深い、理解可能または有用なグラフィックプロパティを複合形状74に提供し、ユーザが複合形状74と相互作用することを可能にする。一例においては、これらのアクションまたはアニメーションは、色の変更、形状の多様なコンポーネントおよびサブエレメント77のサイズ(例えば、高さおよび幅、線の太さ、フォント等)、塗りつぶす色、および色の変化、回転、サイズ変更、スケーリング変更、スキュー等のアニメーションの形を取り得る。これらのアクションおよびアニメーションは、グラフィックプロパティならびにユーザ相互作用プロパティを複合形状74に提供する。
【0040】
バインディング80は、静的または固定バインディングまたはエイリアスを使用するバインディングであり得、複合形状74が実行時環境72においてディスプレイの一部として実装されるときに、パラメータまたはプロパティ78が実行時環境72内のデータ、タグ、または他のエンティティにバインドされる様態を定義する。構成と実行時の両方でサイズ変更中に複合形状74が歪むことを防ぐために、各複合形状のバインディング80は、以下に詳細を説明するように、Scaling Canvasへの1つ以上のバインディングを含むことができる。概して、各複合形状74のバインディング80は、複合形状74が、プラント環境の他の場所で定義される1つ以上のエンティティまたはデータエレメントに結合される様態を確立し、したがって、実際の実行時環境72と複合形状74との間のインターフェースを定義する。
【0041】
図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との間のインターフェースを定義する。
【0042】
いったん作成されると、複合形状74とグラフィックディスプレイ76は、バインドされ、例えば、図1のワークステーション20〜23のうちのいずれかで、実行時環境72において実行され得る。特に、複合形状74またはグラフィックディスプレイ76がクラスオブジェクトとして作成され、データベース52に格納された後、そのエレメントまたはディスプレイは、実際の実行時オブジェクトとしてインスタンス化され得、実行時環境72において実行され得る。ブロック86により示されるように、インスタンス化プロセスは、オブジェクト74および76に定義されたバインディングに与えられるが、これは、プロセスプラントまたはプロセス制御システム内の適切な変数名、タグ、エイリアス等を備えてロードされ得る1つ以上の解決テーブルを使用して達成され得、プロセスプラント内の実際のエンティティと、プラント10内のディスプレイデバイス上で実行するグラフィックオブジェクトとの間の特定の接続を提供する。バインディングプロセスの一部として、オブジェクト74および76は、解決テーブルにより定義されるようにプロセスプラント内のデータソースに接続し、これによって、プロセスプラント10に論理的かつ通信可能に接続されるように、プラントへのアクセスを取得する。
【0043】
ブロック87により示されるように、複合形状74またはグラフィックディスプレイ76は、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイを含めて、実行時環境72内のいくつかの異なる機能内で、またはこれらの一部として実行され得る。例えば、ディスプレイのうちのいずれも、歪みなく、複合形状74のサイズ変更またはスケーリングのために使用され得る。これに加えて、ディスプレイオブジェクト74および76は、例えば、予測制御または予測保守機能、システムレベルエラー検出、診断等を含めて、図2に示される機能レベルのうちの多様なものからのデータを使用するもの等、システムレベル機能を実施するために使用され得る。実際、ディスプレイ76は、構成環境70で作成されてデータベース52に格納されると、実行時環境72におけるいくつかの様々な操作に使用され得る。またさらに、ディスプレイオブジェクト74および76は、ワークステーション90、ノート型コンピュータ91、携帯情報端末(PDA)、携帯電話等のハンドヘルドデバイス92、または複数のモニタを有する大型画面ディスプレイ等のような他の任意の特殊なディスプレイ93等、任意の所望のディスプレイまたはコンピュータハードウェア上で実行され得る。所望される場合、単一のグラフィックディスプレイ76は、構成表示、操作者表示、保守表示またはシミュレーション表示等の1つ以上の表示を含むようにレイヤー化され得る。代替として、別個のグラフィックディスプレイ76は、同一または類似の複合形状81を使用してこれらの別個の表示を提供するように構成され得、これらの多様な機能のために作成されたディスプレイを通じて一定の外観と使い勝手を提供する。
【0044】
ブロック95により示されるように、複合形状74、またはグラフィックディスプレイ76は、ランタイムマシンにコピーまたはインスタンス化、およびロードされ得、実行時環境72にポートされる。一般的に、ディスプレイオブジェクト74または76は、本明細書において実行時バインディングと称される、ランタイムマシン上で呼び出されるまたは実際に実行される場合にのみ、実行時環境72にバインドされることが望ましい。つまり、インスタンス化されたオブジェクトの各々に対する解決テーブルは、ディスプレイオブジェクトが実行時コンピュータで実際に稼動している、または実行されている場合にのみ、実行時環境に与えられる、またはバインドされる。このように、ディスプレイオブジェクトは、そのオブジェクトが実行時コンピュータ上で実際に稼動している場合に実行時環境72にだけバインドされることが好ましく、つまり、ディスプレイオブジェクト74および76は、これらのオブジェクトにより作成されたディスプレイを表示しているユーザの操作により定義された様態で、実行時環境72に間欠的に接続され得る。特に、これらのオブジェクトは、表示されることが必要な場合に実行時環境72にバインドされ得、これらのオブジェクトがディスプレイを提供している画面をユーザがアイコン化または閉じる場合等、ユーザにより表示されていない場合にはバインドを解消または解放され得る。
【0045】
ディスプレイオブジェクト74および76は、このように、スタンドアロン環境、つまり構成環境70において作成され得るオブジェクトであるが、例えば、任意の制御、シミュレーション、保守または構成の環境において定義されたオブジェクト、データ構造、アプリケーション等を含めて、プロセスプラント環境内に定義された他のオブジェクトまたはデータ構造、またはプロセスプラント環境内で稼動する任意のアプリケーションに結合または接合され得る、オブジェクトである。さらに、いったん作成されると、ディスプレイオブジェクト74および76は、解決テーブルに定義された直接参照、変数またはタグを経由して直接的に、または、エイリアス名、変数およびパラメータの使用により間接的に、物理的または論理的プロセスエンティティにバインドされ得るが、これはディスプレイオブジェクト74または76が実行時環境72内にダウンロードまたはインスタンス化される場合、または一部の場合には、ディスプレイオブジェクト74または76が実際に実行時環境72内で稼動している場合のいずれかで、解決され得る。
【0046】
図3のディスプレイエディタ50は、複合形状74およびグラフィックディスプレイ76が、構成時に多様な詳細レベルで作成されて、使いやすさおよび多様性を強化することを可能にすることができる。例えば、複合形状74は、まず、よりプリミティブな物理的および論理的エンティティのプロパティおよび動作を定義するように作成され得る。グラフィックディスプレイ76は、1つ以上の複合形状74を相互接続することにより作成され得、より複雑な物理的または論理的エンティティ、または物理的または論理的エンティティ群を表す、レベルが高い、またはより複雑なディスプレイを作成する。当然のことながら、複合形状74とグラフィックディスプレイ76の両方は、多様な異なるカテゴリに格納およびアクセスされ得、ユーザがより高いレベルのディスプレイオブジェクトを容易に作成できるようにする。
【0047】
図4aおよび4bは、構成時に典型的なディスプレイエディタ50を使用して、複合形状をサイズ変更する、または実行時にディスプレイ87の1つ以上のサイズ変更する時の一実施例を示し、図4cは、以下に詳細を説明するように、サイズ変更操作中にスケーリングパラメータ、ベースラインまたはスケーリングされていないパラメータ、およびスケーリング係数を採用しながら、複合形状をサイズ変更する一実施例を示す。図4aに示されるように、複合形状95は、基本的形状(三角形、矩形、楕円など)およびテキストエレメントを含む1つ以上のサブエレメント96を含むように、構成時に作成され、構成時および実行時に表示され得る。図2および図3に関して説明したように、サブエレメント96は、構成時にはディスプレイエディタ50内、実行時にはディスプレイ(例えば、ワークステーション、ノート型コンピュータ、ハンドヘルド、特殊ディスプレイ等)内でのサブエレメントの動作を決定する、1つ以上のパラメータ78を含むことができる。一部のパラメータ78は、構成時および実行時のうちの1つ以上でサイズ変更操作中にサブエレメント96の動作を決定することができる。例えば、構成時または実行時のユーザは、フィードタンク、ポンプ、反応炉等の複合形状のインスタンスをサイズ変更して、異なる機能または容量を示す、または、ディスプレイ内の特定の複合形状の重要性を強調することができる。図4bは、サブエレメントのサイズ変更パラメータを含まない、またはサイズ変更操作中にサブエレメントのサイズ変更パラメータを認識しない複合形状97のサイズ変更操作の結果を示す。図4bに示されているように、典型的なエディタ内の複合形状のサイズ変更操作は、複合形状がサイズ変更される程度を複合形状全体に均一に適用し、この結果、望ましくない歪みが発生する場合がある。具体的には、サイズ変更が、サブエレメントのサイズ変更パラメータを考慮せずに、複合形状97全体の全てのサブエレメントパラメータに平等に適用される場合(例えば、テキストのフォントサイズ、矩形の高さと幅等)、または、複合形状97がサイズ変更パラメータを含まない場合、サイズ変更された複合形状97では、テキストが歪んで伸長または狭く表示される場合98、エッジが太くまたは細く表示される場合99、一部の角が丸みを失うように表示される場合、または、他の歪みが表示される場合がある。しかしながら、図4cに示されるように、構成時の間に各サブエレメント96に対してスケーリングパラメータが定義され、構成時または実行時のサイズ変更操作が複合形状95のサイズ変更中のスケーリングパラメータを考慮する場合、サイズ変更され、スケーリングされた複合形状100において図4bに示される歪みは回避され得る。
【0048】
図5aは、ディスプレイエディタ50により作成され得、構成時のサイズ変更操作中に複合形状の動作を制御するために1つ以上のスケーリングパラメータを適用または変更するように使用され得るグラフィックエディタ112の例示的な画面ディスプレイを示す。エディタ112は、例えば、プロセスプラントの反応炉部分(図5bおよび5c)を表すグラフィックディスプレイにおいて最終的に使用され得るタンクの複合形状を作成するプロセスにおいて示されているが、メイン編集セクション114、パレット表示116、エレメント階層セクション118およびパラメータ定義セクション120を含む。メイン編集セクション114は、ユーザまたは設計者が、複合形状を定義または作成し、したがって、この場合には、タンクである、複合形状の視覚プロパティを定義し、さらに複合形状を反応炉(図5bおよび5c)等のグラフィックディスプレイに配列および構成するための作業スペースを提供する。一般的に、エレメントエディタ50により作成された複合形状122aは、1つ以上のサブエレメント123または、定義された様態で配置またはグループ化される多様な形状から成り得る。サブエレメントは、例えば、サブエレメントとして1つ以上の「ネストされた」複合形状を含むことができる単一の複合形状であるような、複合形状でもあり得る。例えば、複合形状は、サブエレメントとして、円、直線、点、多角形、正方形、矩形、三角形、または他のグラフィック形状を含むことができる。図5aに示される反応炉のグラフィックディスプレイのタンクの複合形状122aは、複数のサブエレメント123を含む複合形状の一実施例である。上記のように、サブエレメントの1つ以上は、例えば、「タンク」の複合形状の「攪拌機」のサブエレメントは、各々が1つ以上のスケーリングパラメータを含むいくつかのサブエレメントから成り得るが、ネストされた複合形状に対しては単一のセットのスケーリングパラメータを含んでいてもよい、複合形状であり得る。この様態で定義される場合、別のアクションまたはアニメーションは、複合形状122aを構成する異なる形状の各々にも適用または関連付けられ得る。当然のことながら、複合形状は、さらに複雑な芸術的描画のエレメントを含むことができる。複合形状を定義または構築するために、ユーザまたは設計者は、任意の数のサブエレメントまたは他の複合形状をメイン編集セクション114に追加して、任意の所望の様態でこれらをグループ化することができる。
【0049】
複合形状は、図5aに示された構成時(つまり、複合形状の作成時)の間に定義され得る、いくつかのパラメータを含むことができる。一部の実施形態においては、パラメータは、複合形状のスケーリング動作に関し得る。例えば、スケーリングパラメータは、以下に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか(影響する場合)を定義または制御することができる。いったん作成されると、複合形状は、実際のオブジェクトに対するグラフィック表示を定義するが、これは、XAMLまたはWPFオブジェクトとして実行時に実装される場合があり、複合形状が実行時環境において使用されると画面またはディスプレイ上に表示されることになる。複合形状を構成する形状またはサブエレメント123は、階層セクション118における複合形状階層に示され得る。図5aに示された構成時環境において、ユーザは、以下に説明するように、複合形状の各サブエレメントに多様なスケーリングパラメータを関連付けて定義することができる。
【0050】
エディタ112において、パレット表示116は、複合形状122aを作成するために使用され得るいくつかの基本的エレメントを含む。例えば、パレット表示116は、ボタン、テキストボックス、スライダ、ノブ等の一連の基本的なUI(ユーザインターフェース)エレメント、一連の基本的パネルおよび一連の基本形状を含む。定義されたパネルは、多様なサブエレメントにコンテナを提供することができ、1つ以上の構成または実行時動作を包含されたサブエレメントに与えることができる。例えば、多様なパネルは、キャンバスパネルの機能に加えて、そのサブエレメントを歪めずに複合形状122aをサイズ変更することが可能である追加の機能を含む、スケーリングキャンバスパネル124を含むことができる。一部の実施形態においては、Scaling Canvas124は、1つ以上のサブエレメントのためのコンテナオブジェクトであり、集合的に、複合形状122aを備える。その他の実施形態においては、Scaling Canvas124は、メイン編集セクション114、または1つ以上のサブエレメント123または複合形状122aが再構成、編集またはサイズ変更のために配置され得る複合形状122aのバックグランド等の、領域またはパネルとして、エディタ112に視覚的に表示される。Scaling Canvas124は、Windows(登録商標) Presentation Foundation(WPF)Canvasクラスの拡張でもあり得る。複合形状122aは、パレット表示116から選択され、編集セクション114にドラッグされ得る。さらにまた、パレット表示116のサブエレメントおよび複合形状は、ISA(アメリカ計測学会)のシンボル、トランスミッタシンボル、バルブシンボル、PI&D図形シンボルまたは他の制御シンボル等、または他の任意の所望の形状を含むことができ、これらの全ては複合形状を構築するために使用され得る。
【0051】
エレメント階層セクション118は、階層表示またはツリー構造を使用して、メイン編集セクション114内に形状122aに関連するコンポーネントを提供する。図5aの実施例においては、階層セクション118は、メイン編集セクション114に定義されている複合形状122aは、RectangleとEllipseのサブエレメントまたはプリミティブ123、ならびに、Agitator、およびその楕円および矩形のサブエレメントの複合形状であるサブエレメントを含むことを示す。当然のことながら、階層セクション118に示されたサブエレメントは、説明を目的とするものであって、図5aに示された形状122aは表示されているより多くのサブエレメントを含む。階層セクション118は、本明細書に説明されるように、スケーリングおよびサイズ変更機能を含む、例えば、Scaling Canvas124等の複合形状122aのコンテナのタイプの指標も提供する。図5aには表示されていないが、階層セクション118は、アニメーション、アクションおよび形状122aに定義されたスクリプト、視覚トリガ等の他のディスプレイフィーチャーの指標を含むことができる。
【0052】
パラメータ定義セクション120は、固有のパラメータを含めて、エディタ112に示された複合形状122aに現在定義されたパラメータの全てを示す。複合形状122aまたはScaling Canvas124の各サブエレメント123は、本明細書に説明されるように、複合形状122aのサイズ変更中にサブエレメント123の歪みを防ぐ多様なスケーリングパラメータ126を含むことができる。構成中、図5aのRectangleのサブエレメントが、Scaling Canvas124のコンテナを含む複合形状122aにおいて選択される場合、パラメータ定義セクション120は、フォントサイズ、エッジ幅、角の丸み半径、サイズ(幅および高さ)および位置(xおよびy座標)を含めて、選択されたサブエレメントの1つ以上のスケーリングパラメータ126を示すことができる。一実施形態において、スケーリングパラメータは、正規のスケーリングしていないパラメータから、これらを区別する命名規則を含む。例えば、スケーリングパラメータの名前は、FontSizeScaleMode、EdgeWidthScaleMode、CornerRadiusScaleMode、SizeScaleMode、PositionScaleModeを含むことができる。定義セクションは、HeightおよびWidth等、1つ以上のベースラインまたはスケーリングされていないパラメータ128を含むことができる。スケーリングパラメータ126は、形状がサイズ変更される場合、複合形状122aのScaling Canvas124コンテナ内に包含されたサブエレメントがどのようにスケーリングされるかを制御することができる。異なるサブエレメントは異なるスケーリングパラメータを有することができる。例えば、Ellipseサブエレメントは、Size(高さおよび幅)およびPosition(xおよびy座標)のスケーリングを含むことができる一方で、Textサブエレメントは、Font Sizeのスケーリングを含むことができる。
【0053】
Scaling Canvas124のコンテナまたはパネルは、定義セクション120から構成される、スケーリングパラメータ126およびベースラインまたはスケーリングされていないパラメータ128とインターフェースおよび操作することができる。構成されたスケーリングパラメータ126、ベースライン/スケーリングされていないパラメータ128、およびスケーリングキャンバスコンテナ124のロジックは、複合形状122aの歪みのないサイズ変更を構成環境(図5a、5bおよび5cに示される)および実行時環境(図6a、6bおよび6cに示される)の両方で可能にすることができる。例えば、構成時にユーザが複合形状ライブラリに格納される多様な複合形状122aを作成している場合、または、1つ以上の複合形状を含むグラフィックディスプレイを作成している場合、サイズ変更操作が、歪むことなく形状の寸法を変更してプロセス制御プラントの正確な表示を作成するように、ユーザは、1つ以上のスケーリングパラメータ126を構成することができる。また、ユーザが実行時に操作者ディスプレイを開いて使用する場合、ユーザまたは操作者は、スライダバーを移動することにより、またはディスプレイを含むウィンドウをサイズ変更して、その複合形状をサイズ変更することにより、ディスプレイをカスタマイズまたは調整することができる。
【0054】
一実施形態においては、スケーリングキャンバスコンテナ124のロジックは、ベースライン/スケーリングされていないパラメータ128およびスケーリングパラメータ126からのスケーリング係数を決定し、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータ126を含む複合形状の各サブエレメントに係数を適用する。例えば、複合形状122aが、水平方向、長さ、またはX次元においてサイズ変更される場合、ロジックは、水平方向、長さ、またはX次元のスケーリング係数を決定することができ、複合形状122aが縦方向、高さ、またはY次元においてサイズ変更される場合、ロジックは、縦方向、高さ、またはY次元のスケーリング係数を決定することができる。別の実施形態においては、Scaling Canvasは、本明細書に詳細を説明するように、構成時と実行時に添付されたプロパティとして、スケーリングパラメータを実装するロジックを含む。サイズ変更操作が構成時または実行時に行われるかどうかに関わらず、Scaling Canvasは、サイズ変更操作中にサブエレメントのサイズを直接調整して、フォント、境界線および他の特徴の一切の歪みまたは望ましくないサイズ変更を防ぐことができる。
【0055】
複合形状122aのサイズ変更は、最終的に、スケーリングされていない、またはベースラインパラメータ128の値をスケーリングされたパラメータに置換して、形状の変更されたサイズを反映することができる。Scaling Canvasは、その後、格納されたベースライン値128を参照して、サイズ変更操作がベースラインパラメータ128をどの程度変更したかを判断することができる。さらに、形状122aまたはScaling Canvasコンテナ124内のサブエレメント123が、パレット表示116から選択され、操作者ディスプレイ上に配置されてサイズ変更されると、新しい「スケーリングされていない」パラメータ(例えば、サイズ、位置、高さ、幅等)は、複合形状122a全体に適用されるような任意の今後のサイズ変更操作の開始点として格納され得る。
【0056】
図5aに示されるように構成時にベースラインパラメータ128が格納され、スケーリングパラメータ126が設定されると、構成された複合形状は、構成時に、複合形状122およびグラフィックディスプレイ144(図5bおよび5c)を構成するとき、および図6a、6bおよび6cに示されるように、実行時にグラフィックディスプレイ150内で使用されるために、複合形状ライブラリに格納され得る。例えば、図5bは、図5aにより表されるエディタ内で構成されるような複合形状「Tank1」および別の「Storage1」の複合形状を含む、「Reactor−1」グラフィックディスプレイ144の構成を示す。前述のように、Scaling Canvasコンテナ124は、スケーリング係数146を算出するロジックを含み、いったんサイズ変更操作を行うと、スケーリングパラメータ126を含む各サブエレメント123に適用され得る。スケーリング係数146は、サイズ変更された複合形状122b(図5b)の1つ以上のサイズ変更された寸法と、サブエレメントの1つ以上の対応するベースラインまたはスケーリングされていないパラメータ128との比であり得る。例えば、Scaling Canvas内に含まれる複合形状122aが200の高さにサイズ変更され、ScalingCanvasに含まれた複合形状122a内のサブエレメントの本来のベースラインの高さが100である場合、得られるスケーリング係数は(200÷100)2である。したがって、サブエレメントがスケーリングパラメータを含まない場合、またはサブエレメントが、サブエレメントがサイズ変更されることを可能にするスケーリングパラメータを含む場合、サブエレメントのベースライン/スケーリングされていない値は、2の係数により変更される。しかしながら、サブエレメントが、サブエレメントがサイズ変更されることを可能にしないスケーリングパラメータを含む場合、そのサブエレメントのベースライン/スケーリングされていない値は変化しない。サイズ変更操作は、スケーリング係数146を各サブエレメント123に適用し、本来の複合形状の歪みのない、サイズ変更された描画を作成するように、複合形状122bの子(つまり残りのサブエレメント)を通じて反復することができる。
【0057】
構成時に構成され得るスケーリングパラメータ126は、上記のサイズ変更操作中に、スケーリング係数146が構成されたサブエレメントにどのように適用されるかを制御する。例えば、
【0058】
Font Size Scale Modeパラメータは、フォントサイズが形状に応じてスケーリングするかどうかを制御することができる。Font Size Scale Modeパラメータは、テキストベースの形状(例えば、TextオブジェクトのサブエレメントまたはDeltaV(登録商標)環境のDataStamper)に適用されて、複合形状122aのサイズ変更中に不要な伸長または他の歪みを防ぐことができる。Font Size Scale Modeパラメータの値は、「scale」または「none」のうちの1つであり得る。Textオブジェクトのサブエレメントのフォントサイズは、xまたはyの小さい方のスケール係数でスケーリングして、歪みを防ぐことができる。
【0059】
Edge Width Scale Modeパラメータは、サイズ変更中に、形状74のエッジが形状74の他の部分に応じてスケーリングするかどうかを制御することができる。Edge Width Scale Modeパラメータの値は、「scale」または「none」のうちの1つであり得る。Edge Width Scale Modeパラメータは、エッジ幅がxまたはyスケールの小さい方に応じてスケーリングするかどうかを制御できる。
【0060】
Corner Radius Scale Modeパラメータは、サイズ変更中に、複合形状の角の丸み半径が形状74の残りの部分に応じて変化するか、変更されないままであるかを制御することができる。Corner Radius Scale Modeパラメータは、Rectangle、Polyline、およびPolygon等、角の丸み半径を含むサブエレメントに適用され得る。Corner Radius Scale Modeパラメータの値は、none、x、yおよびx and yであり得る。例えば、「none」の値は、サブエレメントの角の丸み半径が、xおよびyのスケーリング係数に基づいてスケーリングしなくてもよいことを示すことができる。「x」の値は、サブエレメントの角の丸み半径が、「x」スケーリング係数に比例して角の丸み半径の「x」寸法を調整できることを示すことができ、一方で、「y」の値は、サブエレメントの角の丸み半径が、「y」スケーリング係数に比例して角の丸み半径の「y」寸法を調整できることを示すことができる。「x and y」の値は、サブエレメントの角の丸み半径が、xとyのスケーリング係数に比例して角の丸み半径のxとy両方の寸法を調整できることを示すことができる。
【0061】
Size Scale Modeパラメータは、サブエレメントの幅と高さが、サイズ変更中に、複合形状122の残りの部分に比例してスケーリングするかどうかを制御することができる。例えば、このパラメータは、サブエレメントの定義された幅と高さが、Scaling CanvasコンテナのXおよびYのスケーリング係数に比例してスケーリングするかどうかを制御することができる。パラメータは、None、Width、Height、およびWidth and Heightの値を含むことができる。「None」の値は、定義された幅と高さは、xとyのスケーリング係数に基づいてスケーリングしないことを示すことができる。「Width」は、サブエレメントがxスケール係数に比例して幅を自動的に調整することを指定でき、一方で、「Height」は、サブエレメントがyスケール係数に比例して高さを自動的に調整することを指定することができる。「Width and Height」は、サブエレメントが、xとy両方のスケール係数に比例して幅と高さを自動的に調整することを示すことができる。
【0062】
Position Scale Modeパラメータは、複合形状122aのサイズ変更中に、サブエレメントの位置が固定されるかどうか、またはサブエレメントが他のサブエレメントに関連して移動するかどうかを制御することができる。例えば、サブエレメントのxおよびy座標位置は、Scaling Canvasコンテナに比例してスケーリングすることができる、または、それぞれの位置に固定され得る。パラメータは、None、X、YおよびX and Yの値を含むことができる。Noneの値は、サブエレメントのxとyの位置がxとyのスケーリング係数に基づいてスケーリングしないことを示すことができる。XまたはYの値は、サブエレメントが、xまたはyのスケール係数に比例してxまたはyの位置をそれぞれ自動的に調整することを指定することができる。X and Yの値は、サブエレメントが、xとy両方のスケール係数に比例してxとyの位置を自動的に調整することを指定することができる。
【0063】
ユーザまたは設計者は、パラメータ定義セクション120内で他の変数、パラメータ等の名前、タイプ、およびバインディングを定義することによって、複合形状と複合形状のサブエレメントに他のパラメータを追加して、これにより、複合形状122aの他の態様を定義することが可能である。スケーリングパラメータ126は、上記の選択肢のいずれかならびに他の設定の数値を含むことができる。このように、例えば、パラメータは、配列、テーブル、列挙型リストまたは他の任意の変数またはデータ構造型でもあり得る。
【0064】
サイズ変更操作後、図5bに示されるように、タンクの複合形状122bの一部は、スケーリング係数により高さは大きくなるが、他は大きくならない。例えば、タンクの複合形状122aの入り口のサブエレメント130aおよび出口のサブエレメント132a(図5a)のサイズは、図5bでは変更されないままである。また、入り口および出口のサブエレメントの全体位置は、形状122aから形状122bに変化するが、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。この実施形態においては、入り口および出口両方のサブエレメントは、少なくとも、サイズ変更時のサブエレメントの動作を決定するSizeとPositionのスケーリングパラメータを含む。例えば、Sizeスケーリングパラメータは、「None」に設定され得る一方で、Positionスケーリングパラメータは「X and Y」または「Y」に設定され得る。このように、上記の実施例では、高さ(つまりY寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。タンクの複合形状122aの多様な他のサブエレメントは、上記のように、スケーリングパラメータ126を含むことができ、Scaling Canvas124は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【0065】
当然のことながら、タンクの複合形状122aは、多様な寸法(例えば、図5cに示されるように幅、長さ、またはX寸法)において、グラフィックディスプレイ144内で構成時にサイズ変更され得る。前述のように、Scaling Canvas124は、サイズ変更されたタンクの複合形状122cのスケーリングされていない幅を定義された幅に比較して、スケーリング係数を計算することができる。Scaling Canvas124は、次に、複合形状のサブエレメントの全体を通じて反復し、幅のスケーリンパラメータを含むこれらのサブエレメントに幅のスケーリング係数を適用する。例えば、入り口および出口のサブエレメントに対して、Sizeスケーリングパラメータは、「None」に設定され得る一方で、Positionスケーリングパラメータは「X and Y」または「X」に設定され得る。この実施例においては、幅(つまりX寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント130c、132cのサイズには適用されない。タンクの複合形状122cの多様な他のサブエレメントは、上記のように、スケーリングパラメータ126を含むことができ、Scaling Canvas124は、スケーリング係数をこれらのサブエレメントにも全体的または部分的に適用することができる。
【0066】
複合形状のいずれかは、それに関連するアニメーションおよび/またはアクションおよびイベントハンドラスクリプトも含むことができ、このようなアニメーションまたはアクションは、エディタ112のアクション/アニメーション表示134に表示され得る。複合形状がアニメーションまたはアクションを含む場合、これらのアニメーションまたはアクションは、階層118において、星等の特殊なシンボルによって示される。階層表示118において選択されると、複合形状または形状のサブエレメントに対して定義されたいずれかのアクションまたはアニメーションは、アクション/アニメーション表示134に表示される。アクションまたはアニメーションは、このようなアクションまたはアニメーションを表示134で定義することにより、またはこのようなアクションまたはアニメーションを階層表示118に追加することにより、作成および割り当てられ得る。ユーザがアクションまたはアニメーションを作成または編集することを所望する場合、エディタ50は、ダイアログまたは編集ボックスを提供し得、この機能が完全に指定または定義されることを可能にする。アクションまたはアニメーションは、Scaling Canvas124にもバインドされ得、本明細書に説明されるように、構成および実行時の両方で、歪みのないサイズ変更を可能にする。当然のことながら、アクションまたはアニメーションは、スクリプト、視覚トリガまたは他のプログラムを使用して定義され得る。一部の実施形態においては、アクション、アニメーション、およびイベントのハンドラスクリプトは、本明細書に説明されるようなスケーリング関数を考慮しない。むしろ、スケーリングは、アニメーション、アクションまたはイベントのハンドラスクリプトの実行後に、形状に適用され得、したがってユーザの体験を簡素化する。
【0067】
他の実施形態においては、スケーリングパラメータ126は、各サブエレメントの定義の一部として含まれ得、全ての複合形状に共通するフレームワークを作成する。例えば、各形状またはサブエレメントの1つ以上のベースクラスは、形状に共通するパラメータ(つまり、名前、xおよびyの位置、高さ、幅、回転等)ならびにスケーリングパラメータ126を含むことができる。この実施形態においては、Scaling Canvas124は、スケーリングパラメータ126へのアクセスおよび複合形状122aを歪めずにスケーリングするために修正する特定のパラメータの認識を含むため、Scaling Canvasは共通のフレームワークに依存する。他の実施形態においては、スケーリングパラメータ126は、Scaling Canvas124のパラメータとして含まれる。例えば、Scaling Canvas124は、1つ以上の添付されたパラメータ(例えば、X Dimension、Y Dimension、Z Dimension、Width、Height、Corner Radius X、Corner Radius Y、Corner Radius Z、Font Size、Edge、Width等)を実装することができる。この実施形態においては、サブエレメント123のネイティブパラメータ(例えば、X、Y、Width、Height等)は、Scaling Canvas124の添付されたパラメータにバインドされる。さらなる実施形態においては、サブエレメント123およびScaling Canvas124の両方は、1つ以上のスケーリングパラメータ126を含み、Scaling Canvas124は、サブエレメントパラメータにより明示的にオーバーライドされない限り、任意のスケーリングパラメータ126を含めて、その添付されたパラメータを適用する。スケーリングパラメータ126が、サブエレメント123、Scaling Canvas124、または両方に添付されるかどうかに関わらず、Scaling Canvasは、これらのパラメータを使用し得、その中に含まれる子のサブエレメント123を正しくスケーリングする。
【0068】
各スケーリングおよび定義パラメータ126、128は、複合形状122aのサイズ変更時に使用される、いくつかの値および設定も含むことができる。一部の実施形態においては、複合形状122aは、インターフェースを実装して、Scaling Canvasがスケーリングパラメータ126にアクセスすることを可能にする。この手法は、つまり、複合形状および各サブエレメントがそのスケーリングロジックを含むことを意味する。インターフェースおよびScaling Canvasを含むことにより、Scaling Canvasは、スケーリングパラメータ126のいずれも認識する必要がなくなるため、Scaling Canvasの形状に対する依存性が軽減され得る。Scaling Canvasの依存性を軽減することは、Panelにより含まれるエレメントを表示するためのロジックが必ずPanel自体において定義される、PanelのWPFパターンとは異なる。各定義パラメータ128に対して、例えば、ベースライン/スケーリングされていない高さの値130およびベースライン/スケーリングされていない幅の値132が、作成時にサブエレメントに割り当てられ得る。各スケーリングパラメータ126に対して、サイズ変更中のオブジェクトの所望の動作に応じて、1つ以上の値または設定が割り当てられ得る。
【0069】
図6a、6bおよび6cは、図5a、5bおよび5cのグラフィックエディタ112により作成され、例えば、数例を挙げれば、構成ディスプレイ、制御操作者ディスプレイ、保守ディスプレイおよびシミュレーションディスプレイ等のディスプレイ87(図3)のうちの1つ以上で実行時に使用される、例示的な画面ディスプレイを示す。一実施形態においては、図6a、6b、および6cのグラフィックディスプレイ150は、領域152の部分またはプロセス制御プラントの他の部分の1つの表示を含むことができる。例えば、グラフィックディスプレイ150は、操作者ワークステーション37(図1)のディスプレイ87内に、プロセス制御プラントの反応炉領域の実行時図を含むことができる。領域152は、反応炉領域の物理的部分を表示する、タンク154a、貯留領域156、多様な入り口158および出口160、パイプ162、バルブ、接続金具等の予め構成された図を含むことができる。前述のように、領域152内の多様な形状はネストされ得る。
【0070】
実行時の形状は、図5a、5bおよび5cを参照して本明細書に説明するように、実行時ユーザがサイズ変更操作をしたときに、形状がどのように動作するかを決定する、スケーリングパラメータを含むことができる。例えば、スケーリングパラメータは、本明細書に詳細を説明するように、サイズ変更操作が複合形状のサブエレメントにどのような影響を与えるか(影響する場合)を定義または制御することができる。一部の実施形態において、前述の構成されたスケーリングパラメータは、実行時に構成された複合形状にバインドされる。
【0071】
実行時、サイズ変更操作は、ユーザまたは操作者が、スライダバーを移動、またはディスプレイを含むウィンドウをサイズ変更することにより、ディスプレイをカスタマイズし、したがって、その複合形状のサイズ変更することを含むことができる。サイズ変更操作を開始すると、構成された複合形状の実行時図に含まれたスケーリングキャンバスコンテナのロジックは、ベースライン/スケーリングされていないパラメータおよび構成時に構成されたスケーリングパラメータから、スケーリング係数を決定することができる。係数は、次に、サイズ変更操作中に変更された特徴または寸法に対応するスケーリングパラメータを含む、複合形状の各サブエレメントに適用される。例えば、ウィンドウまたはディスプレイ150が、水平方向、長さ、またはX寸法においてサイズ変更される場合、ロジックは、水平方向、長さ、またはX寸法のスケーリング係数を決定することができ、前述のように、複合形状122aが、縦方向、高さ、またはY寸法においてサイズ変更される場合、ロジックは縦方向、高さ、またはY寸法のスケーリング係数を決定することができる。Scaling Canvasコンテナは、実行時に添付されたプロパティとしてスケーリングパラメータを実装するロジックも含むことができる。サイズ変更操作は、複合形状の子(つまり、残りのサブエレメント)全体を通して反復して、スケーリング係数を各サブエレメントに適用し、本来の複合形状154aの歪みのない、サイズ変更された描画を作成することができる。
【0072】
図6bを参照すると、実行時のサイズ変更操作は、グラフィックディスプレイ150を含めて、ウィンドウの高さを大きくするステップを含むことができる。サイズ変更操作後、図6bに示されるように、ディスプレイ150の「Reactor−1」領域152内の複合形状の一部のサブエレメントは、構成時に設定されたスケーリング係数により高さが大きくなるが、他は大きくならない。例えば、貯留領域156b、入り口サブエレメント158b、および出口サブエレメント160bのサイズは、図6bに示されるように、実行時に、サイズ変更操作を実行しても変化しないままであるように構成された。また、タンクの入り口および出口のサブエレメントの全体位置は、形状154aから形状154bに変化する一方で、これらのサブエレメントの相対位置はタンク形状の中間のまま変化しない。前述のように、入り口および出口両方のサブエレメントは、サイズ変更時のサブエレメントの動作を決定するSizeとPositionのスケーリングパラメータを少なくとも含むように構成された。例えば、Sizeスケーリングパラメータは、「None」に設定されていてもよいが、Positionスケーリングパラメータは「X and Y」または「Y」に設定されていてもよい。このように、上記の実施例では、高さ(つまりY寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメントのサイズには適用されない。同様に、貯留領域156aの複合形状のスケーリングパラメータは(ある場合)、実行時のサイズ変更操作を実行時に変化がないことを反映するように設定されていてもよい。
【0073】
当然のことながら、ディスプレイ150は、多様な寸法(例えば、図6cに示されるように幅、高さ、またはX寸法)でサイズ変更され得る。前述のように、サイズ変更操作の実行時、ディスプレイ150内の各複合形状のスケーリングされていない幅は、定義幅に比較されて、スケーリングパラメータを含むように予め構成された各サブエレメントに対して、スケーリング係数を計算することができる。例えば、図5cを参照すると、幅のスケーリング係数は、幅スケーリング係数を含むこれらの複合形状のサブエレメント(例えば、タンク154cの複合形状およびサブエレメント)に反復して適用され得る。この実施例においては、幅(つまりX寸法)の変化に対する2のスケーリング係数は、位置に適用されるが、入り口および出口のサブエレメント158c、160cのサイズには適用されない。ディスプレイ150の多様な他の複合形状および関連するサブエレメントは、上記のようにスケーリングパラメータを含むことができ、スケーリング係数は、これらの複合形状およびサブエレメントにも全体的または部分的に適用され得る。
【0074】
図5a〜5c、図6a〜6c、および図7を参照すると、方法175は、構成時と実行時環境の両方で、歪みなく複合形状122aをサイズ変更するルーチンを1つ以上記述することができる。方法175は、図5a、5bおよび5cに示されるように1つ以上のグラフィックディスプレイの構成中、または、図6a、6bおよび6cに示されるように実行時環境において、採用され得る。例えば、ユーザがグラフィックエディタ112内で操作者ディスプレイを作成し多様な複合形状122aを構成する構成時、方法150は、形状を歪めずにサイズ変更して、プロセス制御プラントの正確な表示を作成することができる。また、実行時に操作者がプロセス制御プラントのワークステーションで操作者ディスプレイ150を操作する場合、操作者は、個人的なカスタマイズのために、操作者ディスプレイをサイズ変更、または、操作者ディスプレイの多様な部分をサイズ変更することができ、方法150は、実行時環境において複合形状をサイズ変更することができる。一般的に、以下に説明するルーチン156〜166は、構成時にグラフィックディスプレイに複合形状を配置している間のサイズ変更操作中、および操作者が実行時にグラフィックディスプレイを表示している間のサイズ変更操作中に行うことができる。
【0075】
ルーチン176で、方法175は、複合形状122aのサブエレメント123に対して1つ以上のスケーリングパラメータ126を構成することができる。前述のように、スケーリングパラメータ126は、対応する複合形状で実施されるサイズ変更操作中に変形され得るサブエレメントの1つ以上の特徴を定義することができる。スケーリングパラメータ126は、サイズ変更操作により変更され得る、サブエレメントまたは複合形状のいずれかの特徴を含むことができる(例えば、位置、サイズ、エッジ幅、フォントサイズ、角の丸み半径等のうちの1つ以上)。例えば、スケーリングパラメータの構成は、関連する複合形状の幅(つまり、X寸法)のサイズ変更中にサブエレメントのX寸法位置を制限するようにスケーリングパラメータを設定すること、または、テキストオブジェクトを複合形状の領域または部分に固定しながら、該オブジェクトのサブエレメントのフォントサイズを固定することを含む。当然のことながら、矩形のサイズ変更中に1つの寸法について増加または減少することを可能にしながら別の寸法のサイズ変更を制限する、三角形の角の丸み半径をx寸法でサイズ変更することを可能にするが、y寸法は変更しない等、多数の他の構成が可能である。1つ以上のスケーリングパラメータ126は、スケーリングパラメータ126が実行時にも実装されるように、1つ以上のサブエレメント123にバインドされ得る。前述のように、1つ以上のスケーリングパラメータとスケーリングロジックは、サブエレメント自体に含まれ得る(つまり、全ての形状で共通のフレームワーク)、または、Scaling Canvasに組み込まれ得る(つまり、スケーリングパラメータは、Scaling Canvasの添付されたプロパティとして含まれる)。いずれにせよ、Scaling Canvasは、各特定の形状またはサブエレメントに関連するスケーリングパラメータを認識する必要がない。
【0076】
ルーチン178で、ユーザ、アプリケーション、または他のエンティティは、複合形状を構成することができる。複合形状は、前述のように、Scaling Canvas124上に配置またはこの中に含まれ得る。例えば、複合形状が作成されると、1つ以上のサブエレメントがScaling Canvasコンテナ内に配置され得る。これらのサブエレメントは、ユーザの所望通りにScaling Canvas内でサイズ変更され配置され得る。サブエレメントのサイズ、位置および他のパラメータがScaling Canvasコンテナ内で最終決定されると、方法175は、ルーチン180でベースラインまたは「スケーリングされていない」パラメータを読み出し、かつ格納することができる。これらのスケーリングされていないパラメータは、後のサイズ変更操作中に複合形状の新しい寸法を算出するためのベースとして使用され得る。
【0077】
ルーチン182で、方法175は、複合形状の1つ以上のスケーリング係数を算出することができる。一実施形態においては、スケーリング係数は、スケーリングされていないパラメータ(ルーチン180で格納された)と複合形状の定義されたパラメータの値との比である。例えば、複合形状122aがサイズ変更されると、スケーリングキャンバスは、1つ以上の寸法における係数により変化することになる。このように、複合形状のサイズがY寸法において2倍になる場合、そのサイズ変更操作のスケーリング係数は2になる。当然のことながら、スケーリング係数は、複合形状のいずれかのサイズ変更された寸法(例えば、X寸法、Z寸法等)に対して計算され得る。
【0078】
ルーチン184で、方法175は、ルーチン182で算出されたスケーリング係数の適用に備えて、複合形状の各サブエレメントに反復することができる。一部の実施形態において、方法175は、複合形状の各サブエレメントに反復することができる。例えば、方法175は、ルーチン186で、サブエレメントがスケーリングパラメータを含むかどうかを決定することができる。他の実施形態においては、方法175は、前述のように、スケーリングパラメータを1つ以上含むサブエレメントだけに反復することができる。例えば、方法175は、サブエレメントに反復する前、または、これまでに説明した別のルーチンの前に、複合形状のサブエレメントのうちでどれがスケーリングパラメータを含むかを判断することができる。方法175が、サブエレメントが1つ以上のスケーリングパラメータを含むかどうかを判断するタイミングに関わらず、方法175は、ルーチン188で、サブエレメントをスケーリングすることができる。一部の実施形態においては、方法は、複合形状のサイズ変更寸法に対応するスケーリングされていない寸法にスケーリング係数を適用することにより、サブエレメントをスケーリングする。例えば、方法175が、X寸法においてサイズ変更するために、ルーチン182で2のスケーリング係数を算出した場合、サブエレメントは、100のスケーリングされていないX寸法と、X寸法のサイズ変更を許可したスケーリングパラメータを含んでいたので、サブエレメントのX寸法のスケーリングされた値は、200となる。しかしながら、サブエレメントが、スケーリングパラメータを含んでいなかった場合、または、X寸法のサイズ変更を許可しないスケーリングパラメータを含んでいた場合、方法175は、ルーチン190でサブエレメントをサイズ変更しない場合がある。サブエレメントがスケーリングパラメータを含まない場合、方法175は、ルーチン190に進むことができる。
【0079】
ルーチン190で、方法175は、複合形状が、スケーリングされていない1つ以上のサブエレメントを含むかどうかを判断することができる。一部の実施形態においては、方法175は、ルーチン190で1つ以上のサブエレメントがスケールされたかどうかを判断する際、スケーリングパラメータも含むサブエレメントだけを含むことができる。他の実施形態においては、方法175は、ルーチン190で判断する際に、全てのサブエレメント、または、1つ以上の他のサブエレメントのサブセットを含むことができる。スケーリングされていないサブエレメント188、またはその他、方法により確認またはサイズ変更されるために残っているサブエレメントがない場合、方法は終了する。これより多いサブエレメントが残っている場合、方法は、ルーチン184に戻って、前述のルーチンを再反復することができる。
【0080】
実装される場合、本明細書に説明されるソフトウェアのいずれかは、磁気ディスク、レーザーディスク、または他のストレージ媒体、コンピュータまたはプロセッサのRAMまたはROM等、任意のコンピュータが読み取り可能なメモリに格納され得る。同様に、このソフトウェアは、例えば、コンピュータが読み取り可能なディスクまたは他の運搬可能なコンピュータストレージ機構または、電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークまたは広域ネットワーク等の通信チャンネル(配信は、運搬可能なストレージ媒体を経由してこのようなソフトウェアを提供することと同一または同義と見なされる)を含む任意の周知または所望の配信方法を使用して、ユーザ、プロセスプラントまたは操作者ワークステーションに配信され得る。さらに、このソフトウェアは、変調または暗号化を行わずに直接提供され得るか、または、任意の適切な変調搬送波および/または暗号化技法を使用して、通信チャンネルから伝送される前に、変調および/または暗号化され得る。
【0081】
本発明は、特定の実施例を参照しながら説明されたが、これは、説明のみを目的とするものであって、本発明を制限するものではなく、当業者には、本発明の精神および範囲を逸脱することなく、開示された実施形態に変更、追加、または削除を行うことができることが明らかであろう。
【特許請求の範囲】
【請求項1】
コンピュータプログラムであって、その中に具現化されたコンピュータが読み取り可能なプログラムコードを有するコンピュータが読み取り可能な媒体を備え、前記コンピュータが読み取り可能なプログラムコードは、プロセスプラントにおいて使用するためのプロセス制御システムにおいて操作者表示部のために複合形状をスケーリングするための方法の実装を実行するように適合され、前記方法は、
前記プロセスプラント内のエンティティを図示する複合形状を表示するステップであって、前記複合形状は1つ以上のサブエレメントを含み、各サブエレメントは1つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは1つ以上のスケーリングパラメータを含み、各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義する、ステップと、
前記複合形状を1つ以上の寸法でサイズ変更するステップと、
サイズ変更した各寸法に対するスケーリング係数を計算するステップと、
1つ以上のスケーリング係数を、スケーリングパラメータに関連する各スケーリングされていないパラメータに適用するステップと、を含む、
コンピュータプログラム。
【請求項2】
前記サブエレメントは、スケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項3】
前記複合形状を表示するステップは、前記1つ以上のサブエレメントをスケーリングキャンバス内に表示するステップを含む、請求項1に記載のプログラム。
【請求項4】
前記複合形状を1つ以上の寸法についてサイズ変更するステップは、前記1つ以上のサブエレメントを包含する前記スケーリングキャンバスをサイズ変更するステップを含む、請求項3に記載のプログラム。
【請求項5】
前記スケーリングキャンバスは、Windows(登録商標) Presentation Foundationクラスの拡張を含む、請求項3に記載のプログラム。
【請求項6】
前記クラスは、Canvasクラスを含む、請求項4に記載のプログラム。
【請求項7】
各スケーリングパラメータは、対応するサブエレメントのスケーリング動作を制御する、請求項1に記載のプログラム。
【請求項8】
前記1つ以上のスケーリングされていないパラメータは、フォントサイズ、エッジ幅、角の丸み半径、幅、高さ、位置のうちの1つ以上を含む、請求項1に記載のプログラム。
【請求項9】
前記1つ以上のスケーリングされていないパラメータは、スケーリングパラメータを適用するためのベースライン値を含む、請求項1に記載のプログラム。
【請求項10】
前記スケーリング係数は、前記スケーリングキャンバスの1つ以上のサイズ変更した寸法と1つ以上の対応するスケーリングされていないパラメータとの比を含む、請求項3に記載のプログラム。
【請求項11】
前記スケーリングキャンバスは、前記1つ以上のスケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項12】
前記複合形状とサブエレメントのうちの1つ以上は前記1つ以上のスケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項13】
構成時に、各複合形状およびスケーリングパラメータを構成するステップと、実行時に、各構成された複合形状を構成されたスケーリングパラメータにバインドするステップと、をさらに含む、請求項1に記載のプログラム。
【請求項14】
前記複合形状を1つ以上の寸法についてサイズ変更するステップは、構成時と実行時のうちの1つ以上で発生する、請求項1に記載のプログラム。
【請求項15】
サイズ変更した各寸法に対する前記スケーリング係数を計算するステップは、構成時と実行時のうちの1つ以上で行われる、請求項1に記載のプログラム。
【請求項16】
1つ以上のスケーリング係数を各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの1つ以上で行われる、請求項1に記載のプログラム。
【請求項17】
プロセスプラント内の操作とエンティティのうちの1つ以上を表す1つ以上の複合形状をサイズ変更するよう前記プロセスプラントで使用するためのグラフィックディスプレイエディタであって、
複合形状のライブラリであって、前記複合形状の各々は、前記プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含み、前記複合形状は1つ以上のサブエレメントを含む、ライブラリと、
ユーザが、複合グラフィックオブジェクトの前記ライブラリから1つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することによって、実行可能なグラフィックディスプレイを定義することを可能にして、前記1つ以上の複合グラフィックオブジェクトの視覚表示が、ユーザに対して、前記グラフィックディスプレイの実行中にディスプレイ機器上に表示される様態を定義する、グラフィックベースのエディタキャンバスルーチンであって、前記ユーザは、前記複合グラフィックオブジェクトの前記コンポーネントオブジェクトの各々のスケーリング動作を制御することが可能になる、グラフィックベースのエディタキャンバスルーチンと、
前記ユーザが、1つ以上のスケーリングパラメータを複合形状の1つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンであって、前記複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ、各スケーリングパラメータは、前記複合形状に関連するサブエレメントのスケーリング動作を定義する、スケーリングキャンバスルーチンと、
前記ユーザが、前記エディタキャンバス内の前記複合形状の1つ以上の寸法を変更することを可能にする複合形状サイズ変更ルーチンであって、前記変更は、前記関連するスケーリングパラメータに従って前記複合形状の1つ以上のサブエレメントに適用される、複合形状サイズ変更ルーチンと、を備える、
グラフィックディスプレイエディタ。
【請求項18】
前記複合形状の各々は、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項19】
前記スケーリングキャンバスオブジェクトは、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項20】
前記スケーリングキャンバスオブジェクトの各サブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項21】
前記サブエレメントの各々の前記スケーリング動作は、サブエレメントの対応する寸法に適用される前記変更の程度を定義する、請求項17に記載のグラフィックディスプレイエディタ。
【請求項22】
前記1つ以上のスケーリングパラメータは、テキストフォント、サブエレメント境界線の太さ、前記複合形状内の前記サブエレメントの位置、前記サブエレメントのサイズ、および前記サブエレメントの角の丸み半径のうちの1つ以上を含む、請求項17に記載のグラフィックディスプレイエディタ。
【請求項23】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行時に、前記1つ以上のサブエレメントの歪みを排除する、請求項17に記載のグラフィックディスプレイエディタ。
【請求項24】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のテキストボックスのサブエレメントが、前記複合形状の1つ以上の他のサブエレメントに対して、一定のフォントサイズと位置とを保つことを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項25】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のサブエレメントの境界線の太さが、前記複合形状の1つ以上の他のサブエレメントに対して、一定の太さと位置とを保つことを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項26】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリングキャンバスの1つ以上のサイズ変更された寸法と1つ以上の対応するスケーリングされていないパラメータとの比を含む、スケーリング係数を計算することを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項27】
前記1つ以上の対応するスケーリングされていないパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の1つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの1つ以上を含む、前記複合形状の1つ以上の変更前パラメータを含む、請求項26に記載のグラフィックディスプレイエディタ。
【請求項28】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリング係数を前記複合形状の1つ以上のサブエレメントの1つ以上の寸法に適用することをさらに可能にし、前記1つ以上のサブエレメントの各々は、1つ以上のスケーリングパラメータをさらに含む、請求項26に記載のグラフィックディスプレイエディタ。
【請求項29】
コンピュータが実行可能な命令を格納するための記憶装置と、前記命令を実行するためのプロセッサと、プロセス制御プラントのグラフィック表示における1つ以上の複合形状を表示するための表示部とを含む、前記プロセス制御プラントにおいて使用するためのコンピュータシステムであって、各複合形状は、前記プロセスプラント内の操作とエンティティとのうちの1つ以上を表し、前記システムは、
スケーリングキャンバスオブジェクト内の1つ以上のサブエレメントを含む1つ以上の複合形状を含むデータベースであって、各サブエレメントは1つ以上のスケーリングされていないパラメータを含む、データベースと、
前記プロセスプラントのグラフィック表示を表示するためのグラフィックヒューマン・マシンインターフェースと、を備え、前記インターフェースは、
構成時に、前記1つ以上のスケーリングパラメータを含む前記1つ以上の複合形状を構成し、および、実行時に、各構成された複合形状を、構成されたスケーリングパラメータにバインドするためであって、各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義し、
前記複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するためであって、前記サイズ変更されたキャンバスオブジェクトは1つ以上の変更された寸法を含み、
各変更された寸法に対してスケーリング係数を計算するためであって、前記スケーリング係数は、前記スケーリングキャンバスオブジェクトの1つ以上の変更された寸法と、1つ以上の対応するスケーリングされていないパラメータとの比を含み、
1つ以上のスケーリング係数を、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに適用するためのコンピュータが実行可能な命令を有する複合形状サイズ変更モジュールを含む、コンピュータシステム。
【請求項30】
前記スケーリングキャンバスオブジェクトは、Windows(登録商標) Presentation Foundation Canvasクラスの拡張を含む、請求項29に記載のコンピュータシステム。
【請求項31】
前記複合形状サイズ変更モジュールは、前記複合形状の対応するサブエレメントのスケーリング動作を制御するためのコンピュータが実行可能な命令をさらに含む、請求項29に記載のコンピュータシステム。
【請求項32】
前記1つ以上のスケーリングされていないパラメータは、各サブエレメントの1つ以上の寸法に対応する1つ以上のベースライン値を含む、請求項29に記載のコンピュータシステム。
【請求項33】
前記1つ以上スケーリングパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の1つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの1つ以上を含む、請求項29に記載のコンピュータシステム。
【請求項34】
前記複合形状サイズ変更モジュールは、構成時と実行時のうちの1つ以上に前記1つ以上のスケーリング係数を適用するためのコンピュータが実行可能な命令を含む、請求項29に記載のコンピュータシステム。
【請求項35】
前記スケーリングキャンバスオブジェクトは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項36】
前記スケーリングキャンバスオブジェクトのサブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項37】
前記複合形状の前記サブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項38】
前記複合形状の前記サイズ変更されたスケーリングキャンバスオブジェクトを表示するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のコンピュータシステム。
【請求項39】
変更された各寸法に対して前記スケーリング係数を計算するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のプログラム。
【請求項40】
1つ以上のスケーリング係数を、前記スケーリングパラメータを含む、各サブエレメントの各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のコンピュータプログラム。
【請求項1】
コンピュータプログラムであって、その中に具現化されたコンピュータが読み取り可能なプログラムコードを有するコンピュータが読み取り可能な媒体を備え、前記コンピュータが読み取り可能なプログラムコードは、プロセスプラントにおいて使用するためのプロセス制御システムにおいて操作者表示部のために複合形状をスケーリングするための方法の実装を実行するように適合され、前記方法は、
前記プロセスプラント内のエンティティを図示する複合形状を表示するステップであって、前記複合形状は1つ以上のサブエレメントを含み、各サブエレメントは1つ以上のスケーリングされていないパラメータを含み、各スケーリングされていないパラメータは1つ以上のスケーリングパラメータを含み、各スケーリングパラメータは、対応するサブエレメントのサイズ変更動作を定義する、ステップと、
前記複合形状を1つ以上の寸法でサイズ変更するステップと、
サイズ変更した各寸法に対するスケーリング係数を計算するステップと、
1つ以上のスケーリング係数を、スケーリングパラメータに関連する各スケーリングされていないパラメータに適用するステップと、を含む、
コンピュータプログラム。
【請求項2】
前記サブエレメントは、スケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項3】
前記複合形状を表示するステップは、前記1つ以上のサブエレメントをスケーリングキャンバス内に表示するステップを含む、請求項1に記載のプログラム。
【請求項4】
前記複合形状を1つ以上の寸法についてサイズ変更するステップは、前記1つ以上のサブエレメントを包含する前記スケーリングキャンバスをサイズ変更するステップを含む、請求項3に記載のプログラム。
【請求項5】
前記スケーリングキャンバスは、Windows(登録商標) Presentation Foundationクラスの拡張を含む、請求項3に記載のプログラム。
【請求項6】
前記クラスは、Canvasクラスを含む、請求項4に記載のプログラム。
【請求項7】
各スケーリングパラメータは、対応するサブエレメントのスケーリング動作を制御する、請求項1に記載のプログラム。
【請求項8】
前記1つ以上のスケーリングされていないパラメータは、フォントサイズ、エッジ幅、角の丸み半径、幅、高さ、位置のうちの1つ以上を含む、請求項1に記載のプログラム。
【請求項9】
前記1つ以上のスケーリングされていないパラメータは、スケーリングパラメータを適用するためのベースライン値を含む、請求項1に記載のプログラム。
【請求項10】
前記スケーリング係数は、前記スケーリングキャンバスの1つ以上のサイズ変更した寸法と1つ以上の対応するスケーリングされていないパラメータとの比を含む、請求項3に記載のプログラム。
【請求項11】
前記スケーリングキャンバスは、前記1つ以上のスケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項12】
前記複合形状とサブエレメントのうちの1つ以上は前記1つ以上のスケーリングパラメータを含む、請求項1に記載のプログラム。
【請求項13】
構成時に、各複合形状およびスケーリングパラメータを構成するステップと、実行時に、各構成された複合形状を構成されたスケーリングパラメータにバインドするステップと、をさらに含む、請求項1に記載のプログラム。
【請求項14】
前記複合形状を1つ以上の寸法についてサイズ変更するステップは、構成時と実行時のうちの1つ以上で発生する、請求項1に記載のプログラム。
【請求項15】
サイズ変更した各寸法に対する前記スケーリング係数を計算するステップは、構成時と実行時のうちの1つ以上で行われる、請求項1に記載のプログラム。
【請求項16】
1つ以上のスケーリング係数を各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの1つ以上で行われる、請求項1に記載のプログラム。
【請求項17】
プロセスプラント内の操作とエンティティのうちの1つ以上を表す1つ以上の複合形状をサイズ変更するよう前記プロセスプラントで使用するためのグラフィックディスプレイエディタであって、
複合形状のライブラリであって、前記複合形状の各々は、前記プロセス制御プラント内の物理的または論理的エンティティの異なる視覚表示を含み、前記複合形状は1つ以上のサブエレメントを含む、ライブラリと、
ユーザが、複合グラフィックオブジェクトの前記ライブラリから1つ以上の複合グラフィックオブジェクトの指標を編集キャンバスに配置することによって、実行可能なグラフィックディスプレイを定義することを可能にして、前記1つ以上の複合グラフィックオブジェクトの視覚表示が、ユーザに対して、前記グラフィックディスプレイの実行中にディスプレイ機器上に表示される様態を定義する、グラフィックベースのエディタキャンバスルーチンであって、前記ユーザは、前記複合グラフィックオブジェクトの前記コンポーネントオブジェクトの各々のスケーリング動作を制御することが可能になる、グラフィックベースのエディタキャンバスルーチンと、
前記ユーザが、1つ以上のスケーリングパラメータを複合形状の1つ以上のサブエレメントに関連づけることを可能にするスケーリングキャンバスルーチンであって、前記複合形状の各サブエレメントは、スケーリングキャンバスオブジェクト内に含まれ、各スケーリングパラメータは、前記複合形状に関連するサブエレメントのスケーリング動作を定義する、スケーリングキャンバスルーチンと、
前記ユーザが、前記エディタキャンバス内の前記複合形状の1つ以上の寸法を変更することを可能にする複合形状サイズ変更ルーチンであって、前記変更は、前記関連するスケーリングパラメータに従って前記複合形状の1つ以上のサブエレメントに適用される、複合形状サイズ変更ルーチンと、を備える、
グラフィックディスプレイエディタ。
【請求項18】
前記複合形状の各々は、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項19】
前記スケーリングキャンバスオブジェクトは、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項20】
前記スケーリングキャンバスオブジェクトの各サブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項17に記載のグラフィックディスプレイオブジェクト。
【請求項21】
前記サブエレメントの各々の前記スケーリング動作は、サブエレメントの対応する寸法に適用される前記変更の程度を定義する、請求項17に記載のグラフィックディスプレイエディタ。
【請求項22】
前記1つ以上のスケーリングパラメータは、テキストフォント、サブエレメント境界線の太さ、前記複合形状内の前記サブエレメントの位置、前記サブエレメントのサイズ、および前記サブエレメントの角の丸み半径のうちの1つ以上を含む、請求項17に記載のグラフィックディスプレイエディタ。
【請求項23】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行時に、前記1つ以上のサブエレメントの歪みを排除する、請求項17に記載のグラフィックディスプレイエディタ。
【請求項24】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のテキストボックスのサブエレメントが、前記複合形状の1つ以上の他のサブエレメントに対して、一定のフォントサイズと位置とを保つことを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項25】
前記スケーリングパラメータは、前記複合形状サイズ変更ルーチンの実行中、前記複合形状のサブエレメントの境界線の太さが、前記複合形状の1つ以上の他のサブエレメントに対して、一定の太さと位置とを保つことを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項26】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリングキャンバスの1つ以上のサイズ変更された寸法と1つ以上の対応するスケーリングされていないパラメータとの比を含む、スケーリング係数を計算することを可能にする、請求項17に記載のグラフィックディスプレイエディタ。
【請求項27】
前記1つ以上の対応するスケーリングされていないパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の1つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの1つ以上を含む、前記複合形状の1つ以上の変更前パラメータを含む、請求項26に記載のグラフィックディスプレイエディタ。
【請求項28】
前記複合形状サイズ変更ルーチンは、前記スケーリングキャンバスオブジェクトが、前記スケーリング係数を前記複合形状の1つ以上のサブエレメントの1つ以上の寸法に適用することをさらに可能にし、前記1つ以上のサブエレメントの各々は、1つ以上のスケーリングパラメータをさらに含む、請求項26に記載のグラフィックディスプレイエディタ。
【請求項29】
コンピュータが実行可能な命令を格納するための記憶装置と、前記命令を実行するためのプロセッサと、プロセス制御プラントのグラフィック表示における1つ以上の複合形状を表示するための表示部とを含む、前記プロセス制御プラントにおいて使用するためのコンピュータシステムであって、各複合形状は、前記プロセスプラント内の操作とエンティティとのうちの1つ以上を表し、前記システムは、
スケーリングキャンバスオブジェクト内の1つ以上のサブエレメントを含む1つ以上の複合形状を含むデータベースであって、各サブエレメントは1つ以上のスケーリングされていないパラメータを含む、データベースと、
前記プロセスプラントのグラフィック表示を表示するためのグラフィックヒューマン・マシンインターフェースと、を備え、前記インターフェースは、
構成時に、前記1つ以上のスケーリングパラメータを含む前記1つ以上の複合形状を構成し、および、実行時に、各構成された複合形状を、構成されたスケーリングパラメータにバインドするためであって、各スケーリングパラメータは、複合形状の対応するサブエレメントのサイズ変更動作を定義し、
前記複合形状のサイズ変更されたスケーリングキャンバスオブジェクトを表示するためであって、前記サイズ変更されたキャンバスオブジェクトは1つ以上の変更された寸法を含み、
各変更された寸法に対してスケーリング係数を計算するためであって、前記スケーリング係数は、前記スケーリングキャンバスオブジェクトの1つ以上の変更された寸法と、1つ以上の対応するスケーリングされていないパラメータとの比を含み、
1つ以上のスケーリング係数を、スケーリングパラメータを含む各サブエレメントの各スケーリングされていないパラメータに適用するためのコンピュータが実行可能な命令を有する複合形状サイズ変更モジュールを含む、コンピュータシステム。
【請求項30】
前記スケーリングキャンバスオブジェクトは、Windows(登録商標) Presentation Foundation Canvasクラスの拡張を含む、請求項29に記載のコンピュータシステム。
【請求項31】
前記複合形状サイズ変更モジュールは、前記複合形状の対応するサブエレメントのスケーリング動作を制御するためのコンピュータが実行可能な命令をさらに含む、請求項29に記載のコンピュータシステム。
【請求項32】
前記1つ以上のスケーリングされていないパラメータは、各サブエレメントの1つ以上の寸法に対応する1つ以上のベースライン値を含む、請求項29に記載のコンピュータシステム。
【請求項33】
前記1つ以上スケーリングパラメータは、テキストオブジェクトのフォントサイズ、サブエレメントのエッジ幅、サブエレメントの角の丸み半径、サブエレメントの幅、サブエレメントの高さ、および前記複合形状の1つ以上の他のサブエレメントに相対するサブエレメントの位置のうちの1つ以上を含む、請求項29に記載のコンピュータシステム。
【請求項34】
前記複合形状サイズ変更モジュールは、構成時と実行時のうちの1つ以上に前記1つ以上のスケーリング係数を適用するためのコンピュータが実行可能な命令を含む、請求項29に記載のコンピュータシステム。
【請求項35】
前記スケーリングキャンバスオブジェクトは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項36】
前記スケーリングキャンバスオブジェクトのサブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項37】
前記複合形状の前記サブエレメントは、前記1つ以上のスケーリングパラメータを含む、請求項29に記載のコンピュータシステム。
【請求項38】
前記複合形状の前記サイズ変更されたスケーリングキャンバスオブジェクトを表示するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のコンピュータシステム。
【請求項39】
変更された各寸法に対して前記スケーリング係数を計算するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のプログラム。
【請求項40】
1つ以上のスケーリング係数を、前記スケーリングパラメータを含む、各サブエレメントの各スケーリングされていないパラメータに適用するステップは、構成時と実行時のうちの1つ以上で行われる、請求項29に記載のコンピュータプログラム。
【図1】
【図2】
【図3】
【図4a】
【図4b】
【図4c】
【図5a】
【図5b】
【図5c】
【図6a】
【図6b】
【図6c】
【図7】
【図2】
【図3】
【図4a】
【図4b】
【図4c】
【図5a】
【図5b】
【図5c】
【図6a】
【図6b】
【図6c】
【図7】
【公開番号】特開2010−218554(P2010−218554A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2010−57462(P2010−57462)
【出願日】平成22年3月15日(2010.3.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.レーザーディスク
【出願人】(594120847)フィッシャー−ローズマウント システムズ, インコーポレイテッド (231)
【Fターム(参考)】
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願日】平成22年3月15日(2010.3.15)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.レーザーディスク
【出願人】(594120847)フィッシャー−ローズマウント システムズ, インコーポレイテッド (231)
【Fターム(参考)】
[ Back to top ]