プロセスプラントまたはプロセス制御システム内に配置された例示的な分散型プロセス制御ネットワークのブロック図であり、プロセスプラントまたはプロセス制御システムに対する制御及び表示活動を構成するために、モジュールクラスオブジェクトを使用する構成アプリケーションを実装するワークステーションを含んでいる。
図1の反応装置ユニットの図である。
図2の反応装置ユニットで使用される集計器設備実体の図である。
図2の反応装置ユニットで使用される出口バルブシステムの図である。
モジュールクラスオブジェクトと、ユニット、設備、制御、及び表示タイプのモジュールクラスオブジェクトに対する関連するモジュールオブジェクトとの間の相互関係を例解する例示的な論理図である。
反応装置ユニットモジュールクラスオブジェクトの例示的な論理図であり、これは図1のプラント内部の反応装置に対する構成活動を行うために使用されることができる。
構成オペレータによって、モジュールクラスオブジェクトを使用してプロセスプラントを構成するために使用され得る構成画面の一例の説明である。
構成オペレータによって、図形要素を構成するためのユーザインターフェースを構成するために使用され得る構成画面の第2の例の説明である。
構成オペレータによって、図7Aの構成されたユーザインターフェースを使用して図形要素を構成するために使用され得る構成画面の第3の例の説明である。
ユーザが、図1のプロセス制御システムのライブラリに記憶されたモジュールオブジェクトを修正する一例のシナリオのブロック図である。
ユーザが、図1のプロセス制御システムのライブラリに記憶されたモジュールオブジェクトを修正する第2の例のシナリオのブロック図である。
付加的なアクションを含む、図9の第2の例のシナリオのブロック図である。
ユーザが、図1のプロセス制御システムのシステム構成データ記憶エリアに記憶されたモジュールオブジェクトを修正する第3の例のシナリオのブロック図である。
例示のバルブグラフィカル要素の3つの可能なビューを図示する。
例示の形状使用パターンの図を図示する。
例示のネストされた形状使用パターンのクラス図を図示する。
抽出された、ネストされた形状使用の一例を図示する。
例示の派生パターンの図を図示する。
ネストされた派生パターンの一例の図を図示する。
定義に基づいて作成された形状使用の一例を図示する。
使用パターンに適用されたフィールド値上書き微調整の一例を図示する。
派生パターンに適用されたフィールド値上書き微調整の一例を図示する。
多数のレベルでのオブジェクトに対する多数の修正または微調整の一例を図示する。
実施形態の説明
ここで図1を参照すると、プロセスプラント10は、例えば、イーサーネット接続またはバス15を介して大量のワークステーション14に連結された1つ以上のプロセスコントローラ12を含む。コントローラ12はまた、複数の組の通信線またはバス18を介してプロセスプラント10内のデバイスまたは設備に連結され、コントローラ12aに接続された一組の通信線18のみが、図1には例解されている。通信線またはバス18は、例えば、有線接続、無線接続、または有線接続及び無線接続の組み合わせであり得る。コントローラ12は、Fisher−Rosemount Systems,Inc.によって販売されているDeltaV(商標)コントローラを使用して、あくまで一例として実装され得るが、プロセスプラント10全体に分散されたフィールドデバイス及びフィールドデバイス内の機能ブロック等の制御要素と通信することができることで、1つ以上のプロセス制御ルーチン19を実行し、これによってプロセスプラント10またはプロセスプラント10内で動作する1つ以上のプロセスの所望の制御を実装する。ワークステーション14(これは、例えばパーソナルコンピュータであってもよい)を1人以上の構成エンジニアによって使用して、コントローラ12によって実行されるようにプロセス制御ルーチン19を、かつワークステーション14または他のコンピュータによって実行されるよ
うに表示ルーチンを設計し、コントローラ12と通信して、そのようなプロセス制御ルーチン19をコントローラ12にダウンロードし得る。さらに、ワークステーション14は、プロセスプラント10の動作中にプロセスプラント10またはその要素に属する情報を受信及び表示する表示ルーチンを実行し得る。
ワークステーション14の各々は、構成設計アプリケーション、及び表示アプリケーションまたは閲覧アプリケーション等のアプリケーションを記憶するための、ならびにプロセスプラント10の構成に属する構成データ等のデータを記憶するためのメモリ20を含む。また、ワークステーション14の各々は、構成エンジニアが、プロセス制御ルーチン及び他のルーチンを設計し、これらのプロセス制御ルーチンをコントローラ12に、もしくは他のコンピュータにダウンロードするか、または情報を収集してそれをプロセスプラント10の動作中にユーザに表示することを可能にするためのアプリケーションを実行するプロセッサ21を含む。いくつかの実施形態において、遠隔コンピューティングデバイスは、構成エンジニアがワークステーション14から遠隔でアプリケーションを実行し得るように、ワークステーション14と通信可能に接続している(例えば、ネットワークまたはウェブ基盤インターフェースを介して)。
またさらに、コントローラ12の各々は、制御アプリケーション及び通信アプリケーションを記憶するメモリ22、ならびに任意の既知の様式で制御及び通信アプリケーションを実行するプロセッサ24を含む。1つの場合において、コントローラ12の各々は、複数の異なる、独立して実行される制御モジュールまたはブロック19を使用して制御方策を実装するコントローラアプリケーションを記憶及び実行する。制御モジュール19は、機能ブロックと一般に称されるものから各々構成され得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、例えば、プロセスプラント10によって実行される1つ以上のプロセスの動作を制御するために、プロセスプラント10内のプロセス制御ループを実装するように他の機能ブロックと併せて動作する(リンクと呼ばれる通信を介して)。
公知のように、機能ブロックは、オブジェクト指向プログラミングプロトコル内のオブジェクトであり得るが、送信機、センサ、または他のプロセスパラメータ測定デバイス等のフィールドデバイスと関連付けられるような入力機能か、PID、ファジー論理等の制御を実行する制御ルーチンと関連付けられるような制御機能か、またはプロセスプラント10内の一部の物理的機能を実行するために、バルブまたは他のフィールドデバイス等の一部のデバイスの動作を制御する出力機能のうちの1つを典型的に実行する。当然のことながら、ハイブリッド及び他のタイプの複合型機能ブロック、例えばモデル予測コントローラ(MPC)、オプティマイザ等が存在する。Fieldbusプロトコル及びDeltaVシステムプロトコルは、オブジェクト指向プログラミングプロトコルで設計及び実施される制御モジュール及び機能ブロックを使用するが、制御モジュールは、例えば逐次機能チャート、ラダー論理等を含む任意の所望の制御プログラミング方式を使用して設計することができ、機能ブロックまたは任意の他の特定のプログラミング技法を使用して設計することに限定されない。
ワークステーション14は、プロセス制御ルーチン19内の制御要素を例解する表示画面及びこれらの制御要素が、プロセスプラント10の制御を提供するように構成される様式を介して、コントローラ12内のプロセス制御ルーチン19の図形描写をユーザに提供し得る。図1のシステムにおいて、構成データベース25は、コントローラ12及びワークステーション14によって使用される構成データを記憶するように、かつ一部の場合において、将来の使用のためにプロセスプラント10内で生成されたデータを収集及び記憶することによってデータヒストリアンとして働くように、イーサーネットバス15に接続される。一実施形態において、構成データベース25は、ライブラリアイテム(例えば、
テンプレート及びクラスモジュール)及び構成データに対応するシステム構成アイテム(例えば、ライブラリアイテムから作成されたオブジェクト)を含み得る。このように、構成データベース25は、ライブラリデータ記憶エリアとシステム構成記憶エリアとに論理的及び/または物理的に仕切られ得る。
図1に例解されるプロセスプラント10において、コントローラ12aは、バス18を介して、本明細書では反応装置_01、反応装置_02、及び反応装置_03と称される3組の類似構成の反応装置(プラント10内の複製設備である)に通信可能に接続される。反応装置_01は、反応装置容器または反応装置タンク100、反応装置容器100内に酸、アルカリ、及び水をそれぞれ提供する流体入口ラインを制御するために接続された3つの入力バルブシステム(設備実体である)101、102及び103、ならびに反応装置容器100の流体流出を制御するために接続された出口バルブシステム104を含む。センサ105は、レベルセンサ、温度センサ、圧力センサ等の任意の所望のタイプのセンサであり得るが、反応装置容器100内またはその近傍に配設される。この考察の目的に対して、センサ105は、レベルセンサであると仮定される。さらに、共有ヘッダバルブシステム110は、反応装置の各々、反応装置_01、反応装置_02、及び反応装置_03の上流の水ライン上に接続されて、これらの反応装置の各々への水の流れを制御するためのマスタ制御を提供する。
同様に、反応装置_02は、反応装置容器200、3つの入力バルブシステム201、202及び203、出口バルブシステム204、ならびにレベルセンサ205を含み、一方で反応装置_03は、反応装置容器300、3つの入力バルブシステム301、302及び303、出口バルブシステム304ならびにレベルセンサ305を含む。図1の例において、反応装置である、反応装置_01、反応装置_02、及び反応装置_03は、入力バルブシステム101、201、及び301が酸を提供すること、入力バルブシステム102、202、及び302がアルカリを提供すること、ならびに入力バルブシステム103、203、及び303が、共有水ヘッダ110と併せて、水を反応装置容器100に提供することによって、塩を生成し得る。出口バルブシステム104、204、及び304は、図1の右に導かれる流れラインの外に生成物を送り、図1の下に導かれる流れラインの外に廃棄物または他の望まれない物質を排出するように動作され得る。
コントローラ12aは、反応装置ユニット、反応装置−01、反応装置_02、及び反応装置_03に関する1つ以上の動作を実行するためにこれらの要素の動作を制御するように、バス18を介してバルブシステム101〜104、110、201〜204及び301〜304、ならびにセンサ105、205及び305に通信可能に連結される。このような動作は、概してフェーズと呼ばれるが、例えば、反応装置容器100、200、300を充填すること、反応装置容器100、200、300内の物質を加熱すること、反応装置容器100、200、300の廃棄物を放出すること、反応装置容器100、200、300を洗浄すること等を含み得る。
図1に図示されたバルブ、センサ、及び他の機器は、例えばFieldbusデバイス、標準的4−20maデバイス、HARTデバイス、無線HARTデバイス等を含む任意の所望の種類またはタイプの機器であってもよく、任意の既知または所望の通信プロトコル、例えばFieldbusプロトコル、HARTプロトコル、無線HARTプロトコルまたは他の無線プロトコル、4−20maアナログプロトコル等を使用して、コントローラ12(例えば、コントローラ12または12aのいずれか)と通信し得る。概して、プロセス環境内部に位置し、プロセスの制御に直接影響する機能(例えば、バルブの開閉等の物理的機能、制御アルゴリズムまたはループで使用される測定機能、及び/または他の機能)を行うデバイスは、本明細書では「フィールドデバイス」と称される。
またさらに、他のタイプのデバイスは、本明細書で考察される原理によって、コントローラ12に接続され、それによって制御され得る。例えば、コントローラ12は、1つ以上の入力/出力(I/O)デバイス(図示せず)に接続され得、これは次に、1つ以上のフィールドデバイスに接続され得る。I/Oデバイスは、典型的には、1つ以上のフィールドデバイス、コントローラ12、及び/またはプロセス制御システム間の通信を可能にするように、コントローラ12によって使用される。このように、I/Oデバイスはまた、プロセスを制御するために制御アルゴリズムまたはループの直接的な実行の参加者であり得る。 したがって、コントローラ、I/Oデバイス、及びフィールドデバイスは、本明細書において、概して及び分類上、「プロセス制御デバイス(process control device)」と称される。当然のことながら、「プロセス制御デバイス」という用語は、コントローラ、I/Oデバイス、及びフィールドデバイスのみに限定されず、プロセスプラントまたはプロセス制御システム内でプロセスを制御するために実行されることになる制御アルゴリズム、及び/またはループに参加するか、もしくはそれらに対して要求される他のデバイスも含み得る。
加えて、他の数及びタイプのコントローラが、プロセスプラント10と関連付けられた他のデバイスまたはエリアを制御するためにプラント10内で接続され得、このような追加のコントローラの動作は、任意の所望の様式で図1に例解されたコントローラ12aの動作と調整され得る。いくつかの実施形態において、図1のプロセスプラント10は、プラント10内または外等のアクセスポイント、プラント10内の無線ネットワーク及び有線ネットワーク間のゲートウェイ、他のネットワークへのゲートウェイ、中継器、ルータ等のような、プロセスプラント10内の無線通信(図示せず)のための1つ以上のノードを含む。無線通信のためのこれらのノードは、コントローラ12、ワークステーション14、構成データベース25、フィールドデバイス、他の無線有効ノード、及び他のデータベースまたはデータ記憶デバイスに通信可能に連結され得る(有線プロトコル、無線プロトコル、またはそれらの組み合わせを使用して)。
一般的に述べると、図1のプロセスプラント10は、例えば、ワークステーション14またはコントローラ12aのうちの一方がバッチ実行ルーチンを実行するバッチプロセスを実装するように使用され得、バッチ実行ルーチンは、特定タイプの塩等の生成物を生成するために必要とされる一連の異なるステップ(一般にフェーズと称される)を実行するために1つ以上の反応装置ユニット(及び他の設備)の動作を指図する高位制御ルーチンである。異なるフェーズを実装するために、バッチ実行ルーチンは、実行されることになるステップ、ステップと関連付けられた量及び時間、ならびにステップの順序を特定する、レシピと一般に称されるものを使用する。1つのレシピに対するステップは、例えば、適切な物質または成分で反応装置容器を充填すること、反応装置容器内で物質を混合すること、一定時間、一定温度に反応装置容器内の物質を加熱すること、反応装置容器を空にすること、及び次いで、次のバッチ運転に備えて準備するために反応装置容器を洗浄することを含み得る。ステップの各々は、バッチ運転のフェーズを定義し、コントローラ12a内のバッチ実行ルーチンは、これらのフェーズの各々1つに対して異なる制御アルゴリズムを実行する。当然のことながら、特定の物質、物質の量、加熱温度、時間等は、異なるレシピについて異なり得、結果的に、これらのパラメータは、製造または生成されている生成物及び使用されているレシピに応じて、バッチ運転ごとに変化し得る。当業者には、制御ルーチン及び構成は、本明細書では図1に図示された反応装置内でのバッチ実行のために説明されているが、制御ルーチンは、他の所望のデバイスを制御して、任意の他の所望のバッチプロセス実行を行うか、または所望であれば、継続的なプロセス実行を行うために使用され得ることが理解されよう。
また理解されるように、バッチプロセスの同じフェーズまたはステップが、同じ時間または異なる時間に図1の異なる反応装置ユニットの各々に実装され得る。さらに、図1の
反応装置ユニットが同じ数及びタイプの設備を概して含むので、特定フェーズのための同じ包括的フェーズ制御ルーチンは、この包括的フェーズ制御ルーチンが、異なる反応装置ユニットと関連付けられた異なるハードウェアまたは設備を制御するために修正される必要があることを除いて、異なる反応装置ユニットの各々を制御するために使用され得る。例えば、反応装置_01に対する充填フェーズ(反応装置ユニットが充填される)を実装するために、充填制御ルーチンが、一定時間、例えば、容器100が充填されたことをレベルメータ105が検知するまで、入力バルブシステム101、102及び103と関連付けられた1つ以上のバルブを開くことになる。しかしながら、この同一制御ルーチンは、バルブシステム101、102及び103の代わりにバルブシステム201、202及び203と関連付けられたものとなる入力バルブの指定を単に変更することによって、かつレベルメータ105の代わりにレベルメータ205になるようにレベルメータの指定を変更することによって、反応装置_02に対する充填フェーズを実装するために使用され得る。
図2は、図1の反応装置のうちの1つ、特に反応装置_01をより詳細に図示する。図1に同様に図示されるように、図2の反応装置_01は、反応装置タンク100と、タンク100内への酸、アルカリ、及び水の入力のための入力バルブシステム101、102、103及び110と、タンク100及びレベルセンサ105から物質を除去するための出口バルブシステム104とを含む。図2にさらに図示されるように、入力バルブシステム101、102、及び110の各々は、集計器と称される同様の設備実体を使用し、これは、互いに対して平行に配設された2つのバルブと、2つのバルブの下流に配設された流量測定装置とを含む。入力バルブシステム101の集計器は、図3にさらに詳細に図示され、粗バルブ101aという名称のオンオフ型バルブと、精密バルブ101bという名称のオンオフ型バルブと、バルブ101a及び101bの下流に配設された流量計101cとを含む。集計器101は、流量計101cによってなされた測定値を使用して酸の入力を制御するために使用される、集計器と関連付けられた1つ以上の制御モジュールまたはルーチンを有する。第1のそのような制御ルーチンは、粗バルブ101a及び精密バルブ101bを使用して、集計器101を通して高速な流れ制御を行い得、一方で第2のそのような制御ルーチンは、粗バルブ101a及び精密バルブ101bを使用して、集計器101を通して正確な流れ制御を行い得る。
図2から理解されるように、アルカリ入力バルブシステム102は、粗バルブ102a、精密バルブ102b、流量計102cを有する集計器を含み、共有の水入力バルブシステム110は、粗バルブ110a、精密バルブ110b、及び流量計110cを含む。集計器101、102、及び110の各々は、それらの内部に同じタイプの複製設備を有するが、それらは、同じユニット、すなわち反応装置_01ユニット上の異なる場所で使用される。同じように、反応装置_02及び反応装置_03もまた、入力バルブシステム201、202、301及び302での集計を含む。
同様に、出口バルブシステム104は、3つのバルブを含む別の複製設備である。図4に最もよく図示されるように、出口バルブシステム104は、タンク100から放出されるあらゆる物質に対して開放されることになっている主出口バルブ104aと、タンク100から生成物を送り出すために主出口バルブ104aとともに開放されることになっている生成物バルブ104bと、タンク100から排出または保護システム内に物質、例えば廃棄物、洗浄液等を排出するために、主出口バルブ104aとともに開放されることになっている排出バルブ104cとを含む。当然ながら、1つ以上の制御ルーチンは、出口バルブシステム104に関連付けられ、タンク100を閉じるか、タンク100を排出するか、またはタンク100から生成物を空けるように、バルブ104a、104b及び104cのステートを制御する。
プロセス構成を作成し変更するために、図1のワークステーション14のうちの1つに記憶された構成アプリケーション50は、プロセス制御プラント10の構成に使用されるモジュールクラスオブジェクト52のセットを含む。モジュールクラスオブジェクトは、大量の複製設備組を有するプラントを構成するときに特に有用である。一般的に述べると、異なるモジュールクラスオブジェクト52は、プロセスプラント10内部で複製または使用される異なるタイプの物理ユニットまたは機器の各々に対して、プロセスプラント10内部で複製または使用される制御活動のタイプの各々に対して、プロセスプラント10内部で複製または使用される異なるタイプの表示アプリケーションの各々等に対して作成することができる。いったん作成されると、モジュールクラスオブジェクト52を使用して、モジュールクラスオブジェクトに対応するプロセスプラント10の要素を構成することができる。
モジュールクラスオブジェクト52は、本質的に包括的バージョンのプロセス実体であり、かつ任意の特定プロセス実体に紐付けられていないが、それらと関連付けられたより低位のオブジェクトまたはインスタンス53、54、55及び56(本明細書ではモジュールオブジェクトまたはモジュールブロックと称される)を有し得る。本明細書で使用される「プロセス実体(process entity)」という用語は、一体的に識別、分類、またはグループ化され得るプロセスプラント10または環境のサブセットを概して指す。例えば、プロセス実体は、プラントの物理的エリア、設備のタイプ、制御機能のタイプ、関連する表示グループ、または他の分類であり得る。プロセス実体は、他のプロセス実体を含み得る。例えば、「バルブ(valve)」に対応するプロセス実体は、「ガスバルブ(gas valve)」または「水バルブ(water valve)」等のより低位のプロセス実体を含み得、より低位のプロセス実体「水バルブ」は、「単一方向水バルブ(unidirectional water valve)」及び「両方向水バルブ(bidirectional water valve)」等のさらに低位のプロセス実体を含み得る。
上で言及されるように、本明細書で使用される際、モジュールクラスオブジェクトは、概して、プロセス実体の包括的または分類上の指標である。モジュールオブジェクト53、54、55、56は、モジュールクラスオブジェクトから作成または派生され得、したがって作成元または派生元のモジュールクラスオブジェクトと同じ構造及びプロパティを受け継ぎ得る。しかしながら、各モジュールオブジェクトは、プロセスプラント10内の特定の実体に紐付けられる。したがって、単一モジュールクラスオブジェクト52は、特定タイプの反応装置ユニットを表すように作成され得るが(それらの反応装置ユニットがプラント10内に存在する数にかかわらず)、一方で異なるモジュールオブジェクト53は、プラント10内に実際に存在するそのタイプの異なる反応装置ユニットの各々に対して存在し得るか、または作成され得る。
モジュールクラスオブジェクトから作成または派生されたモジュールオブジェクトは、モジュールクラスオブジェクトと関連付けられ、かつモジュールクラスオブジェクトによって所有される。結果として、モジュールクラスオブジェクトになされた変更は、そのモジュールクラスオブジェクトと関連付けられたモジュールオブジェクトの各々内で反映され得るか、またはそれらに伝播され得る。それゆえに、多数のモジュールオブジェクトが特定のモジュールクラスオブジェクトから作成されているとともに、異なるモジュールオブジェクトの各々が異なるプロセス実体に紐付けられているとき、異なるモジュールオブジェクトの各々は、モジュールクラスオブジェクトを単純に変更し、かつ変更を関連するモジュールオブジェクトに下位に伝播させることによって変更され得る。考察されるように、伝播は、モジュールクラスオブジェクトが変更されたときに自動的に生じ得るか、または伝播の時間は選択され得る。
図1のモジュールクラスオブジェクト52は、オブジェクト指向プログラミング環境またはオブジェクト指向プログラミング言語でオブジェクトと一般に称されるものであり得る。結果として、これらのオブジェクトは、他のオブジェクトを所有するか、またはそれらを参照する能力を有する。一般的に述べると、モジュールクラスオブジェクト52は、制御ルーチン、設備、またはプロセス実体と関連付けられた他の要素等の個々の要素の指標または定義とともに、これらの個々の要素が互いに相互作用する様式、例えば、物理的要素が相互接続される方式、または論理的要素が物理的要素と併せて動作する方式の定義または指標を含み得る、高位のオブジェクトである。言い換えると、モジュールクラスオブジェクトは、例えば、オブジェクト指向プログラミング言語内のオブジェクトであり得、これは、プロセスプラント10内の設備、制御要素、ディスプレイ等の特定の1つまたはグループの制御及び閲覧のための基礎を提供し、プロセス制御プラント10内の異なる複製設備を構成するために使用されることになるその要素の多くのインスタンスを作成するために有用であり得る。
基本的に、各モジュールクラスオブジェクトは、異なる制御アプリケーション及び/または表示アプリケーションのすべての形式のプロセス実体の包括的定義、またはその実体を制御するためにコントローラ12によって、もしくはその実体に関する表示活動を実行するためにワークステーション14によって使用されることになるその実体に適用可能なルーチンを含む構成コンテナである。モジュールクラスオブジェクトは、任意の性質のプロセス実体、例えばユニット、機器、制御実体、表示アプリケーション等を表し得る。プロセスプラント10の構成中、モジュールクラスオブジェクトを使用して、任意の数の異なるプロセス実体に対して、モジュールクラスオブジェクトによって提供された定義に適合するプロセス実体の構成インスタンスを作成してもよく、各構成インスタンス(モジュールクラスオブジェクトから作成されたモジュールオブジェクト)は、異なる実際のプロセス実体に関連付けられるかまたは紐付けられる。これらの異なるモジュールオブジェクトは、他のルーチンの中でも、プロセスプラント10内部に配設されたような特定のプロセス実体に結び付けられた制御ルーチン及び/または表示ルーチンを含み、これらの制御ルーチンは、図1のコントローラ12にダウンロードされその内部で使用されて、プロセス実体上で実際の制御活動を行うことが可能であり、表示ルーチンは、ワークステーション14においてダウンロードされて、プロセスプラント10の動作中、実体に対して実際の表示活動を行うことが可能である。
異なるタイプのモジュールクラスオブジェクトは、異なる範囲のプロセス実体を反映し得、それゆえに、異なる範囲のプロセス実体上またはそれに関して動作するように構成された制御ルーチン及び/または表示ルーチンを含有する。ユニット等のプロセス実体の範囲がより広くなればなるほど、より多くの制御ルーチン及び/または表示ルーチンがモジュールクラスオブジェクトと典型的に関連付けられることになり、それらのモジュールクラスオブジェクトを使用してプラントの区分を構成することがより簡単になる。しかしながら、モジュールクラスオブジェクトと関連付けられたプロセス実体の範囲が広くなればなるほど、プロセスがその範囲で複製設備を含むことになる見込みが低下し、したがって、モジュールクラスオブジェクトが大規模に有用である見込みが低下する。逆に、モジュールクラスオブジェクトと関連付けられたプロセス実体の範囲が狭くなればなるほど、モジュールクラスオブジェクトがプラントの様々な異なる位置で使用され得る見込みが増加するが、任意の特定インスタンス内でそのモジュールクラスオブジェクトを使用するときに実行される構成の量が低下する。いずれにしても、モジュールクラスオブジェクトは、構成が制御モジュールレベルよりも高位の抽象概念で異なる複製設備に対して実行されることを可能にし、これは、特に、ユニットレベル等の広い範囲のモジュールクラスオブジェクトを使用するときに、複製ユニット及び他の設備を含むプロセスプラントを構成することをより簡単かつより短時間で行う。
その結果、複数レベルのオブジェクトが可能である。例えば、モジュールクラスオブジェクト52から作成されたインスタンス53、54、55、56に対応するオブジェクト(例えば、「インスタンスオブジェクト(instance object)」)は、それ自体が一組の1つ以上のインスタンス子オブジェクト(図示せず)に対する親オブジェクトであり得る。インスタンス子オブジェクトの1つ以上は、さらに別のレベルの子オブジェクトに対する親オブジェクト等であり得る。本明細書で使用される際、「プロセス要素オブジェクト(process element object)」は、概して、バルブ、センサ、図形形状、またはコントローラ等の構成がダウンロードされる要素のプロセス実体に対応する最低位のオブジェクトを指す。したがって、プロセス要素オブジェクトは、子オブジェクトを有しないインスタンスオブジェクトであり得る。
一例において、プロセス制御システムを構成するとき、構成エンジニアは、図1の異なる反応装置用等の、プロセスプラント内で複製された異なる要素に対する単一モジュールクラスオブジェクトを作成し得る。その後、構成エンジニアは、図1の実際の反応装置の各々に対するモジュールクラスオブジェクト(モジュールオブジェクト)のインスタンスを作成し得る。各々このように作成されたモジュールオブジェクトは、図1の反応装置のうちの1つを動作させるようにコントローラ12aによって使用される制御ルーチンを含むことになり、図1の反応装置のうちの1つ内の設備に具体的に紐付けられるか、または結び付けられる。これらの制御ルーチンは、その後、コントローラ12aにダウンロードされ、プロセスプラント10の動作中に使用することができる。しかしながら、一度作成されると、モジュールオブジェクトの各々は、モジュールクラスオブジェクトに依然として紐付けられ、モジュールオブジェクト等へのアクセスを提供または拒絶するために、変更されることになるモジュールクラスオブジェクトによって制御され得る。
プロセスプラント内で構成活動を実行するためにプロセスプラント内で作成または使用され得る、多くの異なる可能なタイプのモジュールクラスオブジェクトが存在するが、例として本明細書で考察される4つの具体的なタイプは、ユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトが挙げられる。一般的に述べると、各々異なるタイプのモジュールクラスオブジェクトは、プロセスプラント10内の異なる範囲の制御または使用に対して設計または意図される。ユニットモジュールクラスオブジェクトは、プロセスプラント内の設備の幅広い範囲に対する制御活動を表すために(及び構成するために)使用されることが意図される。特に、ユニットモジュールクラスオブジェクトは、例えば、図1の反応装置等の、一部の既知の様式で互いに共同して機能する個々の要素を有する相互関係のある一組の設備(典型的に複製設備)をモデル化すること、またはそれらを構成するために使用されることが意図される。
設備モジュールクラスオブジェクトは、プロセスプラント内のより狭い範囲の物理的設備に対する制御活動を表すために(及び構成するために)使用されることが意図される。設備モジュールクラスオブジェクトと関連付けられた設備は、概して、ユニットのサブシステムを作成するバルブ、流量計等のような、1つ以上の物理的実体であり、設備モジュールクラスオブジェクトは、設備の部品上で実行されることになる、コマンド駆動型アルゴリズム(CDA)、状態駆動型アルゴリズム(SDA)、シーケンシャルファンクションチャート(SFC)アルゴリズム、機能ブロック図(FBD)アルゴリズム、フェーズアルゴリズム等であり得る、1つ以上のコマンドまたはアルゴリズムを含み得る。したがって、設備モジュールクラスオブジェクトは、ユニット内で使用されるその設備上で基礎的な一組の機能を提供するためにユニット内の複数低位構成要素または実体の制御を構成することを目的とする。既知のように、コマンド駆動型アルゴリズム(コマンド駆動型制御論理)は、低位構成要素が機能を実現するために複数のステップを通して調整されなければならないときに使用される。例えば、バルブは、別のバルブが開かれて、その後、閉
じられる間に、特定時間開かれた後に、閉じられる必要があり得る。図3の集計器101は、このタイプのコマンド駆動型アルゴリズムを使用し、まず粗バルブ及び精密バルブを起動させ、その後流量計の読み取り値に基づいて操作し、集計器を通した所望の総流量を提供する。ステート駆動型アルゴリズム(ステート駆動型制御論理)は、単一のステップで操作されることができる異なる低位構成要素のステートを特定し得る。そのようなコマンド駆動型アルゴリズムは、図4の出口バルブシステム104で使用され得、その内部の異なるバルブのステートは、出口バルブシステム104の所望のステートに基づいて、タンク100を閉じるか、タンク100を排出するか、またはタンク100から生成物を送り出すように異なって(しかし単一のステップで)制御される。
制御モジュールクラスオブジェクトは、プロセスプラント内の個々の制御要素または制御モジュールを表すために(及び構成するために)使用されることが意図される。制御モジュールクラスオブジェクトは、バルブ、メータ等のようなプラント実体上、設備の部品上またはさらにユニット上で実行されることになる特定のタイプの制御を提供または指定する。一般的に述べると、制御モジュールクラスオブジェクトは、コントローラ内で実行されることになる一部の制御モジュールを定義する一組の通信可能に相互接続された機能ブロック等の、プロセスプラント内の複製された制御活動を実行するために有用な特定タイプの制御プログラミングを提供する。ほとんどの場合において、制御モジュールクラスオブジェクトは、単一デバイスまたは関連する一組のデバイスを操作するために包括的制御方策を提供し得る。
表示モジュールクラスオブジェクトは、プロセスプラント10の動作中に、制御オペレータ等のユーザによって閲覧されることになる表示活動を表すために(及び構成するために)使用されることが意図される。したがって、表示モジュールクラスオブジェクトは、図1のオペレータワークステーション14内の一定タイプの表示を生成するために必要とされるプログラミングと、その表示がプラント10の動作中にプラントから適切な情報を取得することを可能にするためにワークステーション14(及びプロセスプラント10内の任意の他のデバイス)のうちの1つ以上内で動かされることを必要とされるプログラミングと、を特定し得る。表示クラスモジュールのタイプは、例えば、警報表示、構成閲覧表示、動作閲覧表示、診断表示等を含む。当然のことながら、表示モジュールクラスオブジェクトは、プロセスプラント内の物理的要素もしくは実体の任意の所望の範囲を表す表示か、またはそれに紐付けられた表示を提供し得る。例えば、表示モジュールクラスオブジェクトは、エリア全体、ユニット、設備の部品、制御要素、またはプロセスプラント10内のこれらの要素の任意の組み合わせに関する情報を表示し得る。
図5を参照すると、階層グラフは、図1の構成アプリケーション50内で使用される異なるタイプのモジュールクラスオブジェクト間の相互接続、及びモジュールクラスオブジェクトとこれらのモジュールクラスオブジェクトから展開されたモジュールオブジェクトとの間の相互関係を例解する。図5のグラフの最上位で始まる、モジュールクラスオブジェクト(または本明細書では同義的に「クラスオブジェクト(class object)」と称される)は、モジュールクラスタイプによって、ユニットモジュールクラスタイプ400、設備モジュールクラスタイプ402、制御モジュールクラスタイプ404、及び表示モジュールクラスタイプ406のうちの1つに分離される。当然のことながら、他のタイプのモジュールクラスオブジェクトが、単に例示的なモジュールクラスタイプである本明細書で例解された4つのタイプを伴って、同様に提供または使用されてもよい。個々のモジュールクラスオブジェクト(これは、例えば、オブジェクト指向プログラミング言語の高位オブジェクトであり得、明瞭化のために二重輪郭線によって図5に表される)は、異なるタイプのモジュールクラス400、402、404、及び406の各々に属する。特に、プロセスプラント10内の異なるユニットまたはユニットタイプに対する大量の異なるユニットモジュールクラスオブジェクトが存在し得る。例えば、反応装置ユニッ
トクラスモジュールオブジェクト410は、プロセスプラント10内の反応装置の特定のタイプまたは構成を表し得る。同様に、パッケージャユニットモジュールクラスオブジェクト412は、プロセスプラント10内のパッケージユニットの特定のタイプまたは構成を表し得、乾燥機ユニットクラスモジュールオブジェクト414は、プロセスプラント10内の乾燥機ユニットの特定のタイプまたは構成を表し得る。当然のことながら、物理的構成において互いとは異なる反応装置を表すように、1つよりも多い反応装置ユニットモジュールクラスオブジェクトが存在してもよい。さらに、ユニットモジュールオブジェクトによって表され得るか、またはモデル化され得るプラント内の異なるタイプのユニットのすべてをリスト化するように試みることはなく、当業者は、ユニットモジュールクラスオブジェクトによってモデル化され得るか、または表され得る異なるタイプのプラント内の多くの異なるタイプのユニットが存在することを認識するであろう。
同様に、プロセスプラント10内の異なるタイプの設備を表す、モデル化及び構成するために使用される多くの異なる設備モジュールクラスオブジェクトが存在し得る。図5に例解される例は、集計器設備モジュールクラスオブジェクト416及び出口バルブ設備モジュールクラスオブジェクト418を含み、この各々は、プロセスプラント10内の異なるタイプの設備(及び好ましくは複製設備)と関連付けられる。同様に、オン/オフバルブ制御モジュールクラスオブジェクト422、レベルセンサ制御モジュールクラスオブジェクト424、及び流量計制御モジュールクラスオブジェクト426として図5に例解された、多くの異なるタイプの制御モジュールクラスオブジェクトが存在し得る。さらに、表示モジュールクラスオブジェクトは、警報表示モジュールクラスオブジェクト432、閲覧表示モジュールクラスオブジェクト434、及び診断表示モジュールクラスオブジェクト436として図5に例解される。当然のことながら、任意の他の所望のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトが、本明細書で説明される原理によって、プロセスプラント10の構成アプリケーション50内で作成及び使用されてもよい。
各モジュールクラスオブジェクトは、それらと関連付けられるか、またはそれらによって所有されるサブオブジェクトを有し得る。これらのサブオブジェクトは、それら自体内のモジュールクラスオブジェクトであり得るか、または図5に例解されるように、それらが属するモジュールクラスオブジェクトのインスタンスとして作成されるモジュールオブジェクトであり得る。このようなインスタンスは、本明細書では、それらの基になるか、またはそれらが作成される、モジュールクラスオブジェクトの「モジュールオブジェクト(module object)」、「インスタンス」、「インスタンスオブジェクト」、もしくは「モジュールインスタンスオブジェクト(module instance object)」と同義的に称される。図5は、反応装置ユニットモジュールクラスオブジェクト410が、反応装置_01(符号440a)、反応装置_02(符号440b)、及び反応装置_03(符号440c)と名付けられた3つの反応装置モジュールオブジェクトを有し、これらの反応装置モジュールオブジェクトが、図1のそれぞれの反応装置クラスオブジェクト410に対応する(つまり結び付けられる)ことを例解する。図5はまた、水1、酸1、酸2、アルカリ1、及びアルカリ2(符号440d〜440h)と名付けられた5つの異なる子モジュールオブジェクトを有するか、または所有するとして、集計器設備モジュールクラスオブジェクト416を例解する。同様に、オン/オフバルブ制御モジュールクラスオブジェクト422は、粗大_バルブ1、粗大_バルブ2、粗大_バルブ3、精密_バルブ1、精密_バルブ2、及び精密_バルブ3(符号440i〜440n)と名付けられた子モジュールオブジェクトを含むとして例解される。加えて、図5は、警報表示モジュールオブジェクト432に基づく警報_A図形要素オブジェクト440o、閲覧表示モジュールオブジェクト434に基づく温度_センサ_B図形要素440p及び制御_モジュール_C図形要素440q、ならびに診断表示モジュールオブジェク
ト436に基づくテスト_モジュール_D図形要素440r及びポンプ_E図形要素440sを例解する。同様に、図5の他のユニット、設備、制御、及び表示モジュールクラスオブジェクトの各々は、それらと関連付けられた1つ以上のモジュールオブジェクトを有し得る。しかしながら、簡素化のため、これらのモジュールオブジェクトは、図5に例解されていない。
図5のグラフにおいて、反応装置_01、反応装置_02、及び反応装置_03ユニットモジュールオブジェクト、酸1、酸2、アルカリ1、アルカリ2、及び水1集計器(設備)モジュールオブジェクト(符号440a〜h)、粗大_バルブ1、粗大_バルブ2、粗大_バルブ3、精密_バルブ1、精密_バルブ2、及び精密_バルブ3制御モジュールオブジェクト(符号440i〜440n)、警報_A、温度_センサ_B、制御_モジュール_C、テスト_モジュール_D、ポンプ_E図形要素オブジェクト(符号440o〜440s)、ならびに他のユニット、設備、制御、及び表示モジュールオブジェクトの各々は、プロセスプラント10内のユニット、設備、制御モジュール、表示アプリケーション、及び図形または図形表示要素等の、プロセスプラント10内の実際のプロセス要素に紐付けられた個々のオブジェクトである。このように、オブジェクト440a〜440sは、「プロセス要素オブジェクト(process element object)」、「プロセス要素モジュールオブジェクト(process element module object)」、または「要素オブジェクト(element object)」として本明細書では同義的に言及される。同様に、オブジェクト440a〜440sの各々は、そのそれぞれの「親(parent)」または「親オブジェクト(parent
object)」410〜436の「子(child)」または「子オブジェクト(child object)」である。例えば、プラント10内で使用される複数の物理的酸集計器が存在するので、構成ルーチン内で作成された複数の酸集計器プロセス要素モジュールオブジェクトが存在することになり、別個の子酸集計器プロセス要素モジュールオブジェクトが、プラント10内に存在する個々の酸集計器の各々に対して存在する。しかしながら、子である別個の集計器プロセス要素モジュールオブジェクトの各々は、同一の親集計器モジュールクラスオブジェクト416に紐付けられるか、または所有される。当然のことながら、図5のグラフは、限定された数のモジュールクラスオブジェクト、モジュールオブジェクト、インスタンスオブジェクト、及びそれらと関連付けられたプロセス要素オブジェクトのみを例解するが、他のタイプのモジュールクラスオブジェクトが提供されてもよく、任意の所望の数のモジュールオブジェクト、インスタンスオブジェクト、及びプロセス要素オブジェクトが、異なるモジュールクラスオブジェクトの各々から作成されてもよいことが理解されるであろう。
さらに、親オブジェクトの子であるオブジェクトは、それ自体が子オブジェクトを有し得る。例えば、クラスオブジェクト流量計制御モジュール426は、2つの子インスタンスオブジェクト、例えば、「水_流量計モジュール(Water_Flow_Meter
module)」及び「溶媒_流量計モジュール(Solvent_Flow_Meter module)」(例解せず)を含み得る。水_流量計モジュールは、「水_流量計_1(Water_Flow_Meter_1)」及び「水_流量計_2(Water_Flow_Meter_2)」等の、プロセスプラント10内のそれぞれの実際の流量計要素に対応するそれぞれの子プロセス要素モジュールオブジェクトを含み得る。このように、プロセス要素オブジェクト「水_流量計_1」及び「水_流量計_2」は、流量計制御モジュール426に基づいた「水_流量計モジュール」に基づく。
図5のモジュールクラスオブジェクトの各々(及びそれゆえに図5のモジュールオブジェクトの各々)は、オブジェクトの一部として、モジュールを定義または構成する物理的または論理的プロセス要素の定義または指標を含み得、所望される場合、これらのプロセス要素が、プロセスプラント10内の一部の活動を実行するために物理的または論理的の
いずれかにおいて互いに相互作用する様式を含み得る。例えば、ユニットモジュールクラスオブジェクトは、ユニットとして定義されているプロセス実体内のまたはそれを構成する物理的かつ制御要素のすべての指標を典型的に含むことになる。ユニットモジュールクラスオブジェクトはまた、個々の一部の特定の構成及びそれらの一部がユニットとして動作するようにどのように物理的にともに紐付けられるかを定義し得る。同様に、設備モジュールクラスオブジェクトは、設備の部品及びコマンドとして定義された実体を制御するために使用されることになる制御ルーチンまたは制御モジュールを典型的に含むことになり、これは、一部が、プラント10内に配設されたときに設備の部品として動作するように、物理的または論理的のいずれかにおいて相互作用する様式を定義するために制御ルーチンまたは制御モジュールを使用する。同様に、各制御モジュールクラスオブジェクトは、プラント内で実行されることになる、典型的に何らかの種類の制御アルゴリズムの形態で、制御活動を定義することになる。また、各表示モジュールクラスオブジェクトは、とりわけ、表示画面構成、表示されることになる情報、及びプロセスプラント10の様々な要素を表して表示画面上に提示されることになる図形または図形要素、ならびに、もしあれば、指定されたタイプのユニット、設備、プラントのエリア、またはプラント10内の任意の他の物理的もしくは論理的実体について、収集されることになるデータ、及び収集されたデータ上で実行されることになるデータ操作を定義し得る。
モジュールクラス定義の一部として、モジュールクラスオブジェクトは、それらの中で組み込まれるか、または使用されることになる他のモジュールクラスオブジェクトを指し得るか、もしくは定義し得る。この場合、そのモジュールクラスオブジェクトから作成されたモジュールオブジェクトは、モジュールクラスレベルで定義された関係に従って他のモジュールクラスオブジェクトから作成された他のモジュールオブジェクトを組み込むか、参照するか、または含むことになる。厳密に必要ではないが、ユニットモジュールクラスオブジェクトは、他のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトを組み込み得るが、一方で設備モジュールクラスオブジェクトは、他の設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトを組み込み得る。制御モジュールクラスオブジェクトは、他の制御モジュールクラスオブジェクト及び表示モジュールクラスオブジェクトを組み込むか、または参照し得る。しかしながら、所望される場合、他のモジュールクラスオブジェクト相互関係が同様に使用されてもよい。これらの組み込み関係は、図5のグラフの下部で大きい矢印によって例解され、表示モジュールクラスオブジェクトのうちのいずれかが、制御モジュールクラスオブジェクト、設備モジュールクラスオブジェクト、及びユニットモジュールクラスオブジェクトのうちのいずれかに含まれ得るか、またはそれらによって参照され得ることと、制御モジュールクラスオブジェクトのうちのいずれかが、設備モジュールクラスオブジェクト及びユニットモジュールクラスオブジェクトのうちのいずれかに含まれ得るか、またはそれらによって参照され得ることと、設備モジュールクラスオブジェクトのうちのいずれかが、ユニットモジュールクラスオブジェクトのうちのいずれかに含まれ得るか、またはそれらによって参照され得ることと、を示す。モジュールクラスオブジェクトが同一タイプの他のモジュールクラスオブジェクトを組み込み得ることが理解されるであろう。例えば、ユニットモジュールクラスオブジェクトは、その定義の一部として、別のユニットモジュールクラスオブジェクトを組み込み得る。同様に、設備モジュールクラスオブジェクトは、別の設備モジュールクラスオブジェクトを含み得、制御モジュールクラスオブジェクトは、別の制御モジュールクラスオブジェクトを含み得、表示モジュールクラスオブジェクトは、別の表示モジュールクラスオブジェクトを含み得る。当然のことながら、所望される場合、モジュールクラスオブジェクトは、複数回、別のモジュールクラスオブジェクトを使用または組み込み得る。例えば、反応装置ユニットモジュールクラスオブジェクトは、反応装置ユニットモジュールクラスオブジェクトによってモデル化されている反応装置が集計器の複数のインスタンスを含むので、集計器設備モジュールクラス
オブジェクトを多数回、組み込むか、または使用し得る。
第1のモジュールクラスオブジェクトが第2のモジュールクラスオブジェクトを組み込むか、または使用するとき、第1のモジュールクラスオブジェクトから作成されたか、またはそのインスタンスとしての任意のモジュールオブジェクトが、第2のモジュールクラスオブジェクトから作成されたか、またはそのインスタンスとしてのモジュールオブジェクトを組み込むか、または使用することになることがまた理解されるであろう。したがって、反応装置ユニットモジュールクラスオブジェクト410は、その要素または一部として集計器モジュールクラスオブジェクト416を使用し、反応装置_01モジュールオブジェクトは、その要素または一部として、酸1モジュールオブジェクト440e等の集計器モジュールオブジェクトのうちの1つを使用するか、または含むことになる。同様に、集計器設備モジュールクラスオブジェクトが出口バルブ設備モジュールクラスオブジェクトを組み込むか、または含む場合、集計器設備モジュールクラスオブジェクトから作成されたモジュールオブジェクトは、例えば、集計器_1のように一意的に命名されることになるが、出口バルブ設備モジュールクラスオブジェクトから作成され、かつ、例えば、出口_バルブ_2として一意的に命名されたモジュールオブジェクトを含むことになる。このように、モジュールクラスオブジェクトレベルで定義されるモジュールクラスオブジェクト間の関係は、これらのモジュールクラスオブジェクトから展開または作成されたモジュールオブジェクト内で反映される。モジュールクラスオブジェクト(及びそれゆえにモジュールオブジェクト)間のこの相互関係または参照は、構成活動中のオブジェクトの優れた可変性及び高い移動可能性を可能にし、そのため、制御モジュールクラスオブジェクト及び設備モジュールクラスオブジェクト等の初期モジュールクラスオブジェクトが作成された後、ユニットモジュールクラスオブジェクト等のより複雑なモジュールクラスオブジェクトが、初期モジュールクラスオブジェクトを参照することによって、容易に作成され得る。当然のことながら、モジュールクラスオブジェクトが他のモジュールクラスオブジェクトを参照または使用し得るが、それらはさらにまたは代わりに、関連するモジュールクラスオブジェクトを有しない、バルブ、センサ等の単なるオブジェクトまたはプロセス要素オブジェクトを定義または使用することができる。これらの単なるオブジェクトまたはプロセス要素オブジェクトは、モジュールクラスオブジェクト自体の中で、それらのために使用される制御ルーチンに関して完全に定義されることになる。
例示の反応装置ユニットモジュールクラスオブジェクト410が図6に図示され、ユニットモジュールクラスオブジェクトに関連付けられるかまたはその内部に存在する実体を記述または定義する1つの方法を示す。図6に図示されるように、反応装置ユニットモジュールクラスオブジェクト410は、モジュールクラスオブジェクトが存在しないプロセスプラント10内部の簡易なオブジェクトまたはプロセス要素オブジェクトであるタンク500の指標を含む。タンク500は、点線で図示されているが、これは、制御またはタンクに対する入出力活動を行う必要がある制御または低レベルの活動がないためである。結果として、タンク500は、反応装置ユニットモジュールクラスオブジェクト410と関連付けられた他のオブジェクト間の相互関係を例解するためのみに含まれる。また、反応装置ユニットモジュールクラスオブジェクト410は、それぞれ酸、アルカリ及び水と名付けられた3つの集計器501、502及び510を含み、これらは、図5の集計器設備モジュールクラスオブジェクト416に対する3つの異なる基準である。水集計器モジュールクラスオブジェクト510は、点線によって分離されたユニットモジュールクラスオブジェクト410のセクションに図示され、共有されたモジュールクラスオブジェクトであり、ゆえに、ユニットモジュールクラスオブジェクト410は、このオブジェクトに対して、他のユニットモジュールクラスオブジェクトと共有された制御を有することを示す。図6の出口オブジェクト504は、図5の出口バルブ設備モジュールクラスオブジェクト418に対する参照であり、レベルセンサ505は、図5のレベルセンサ制御モジュールクラスオブジェクト424に対する参照であり、水_inバルブ503は、簡易なバ
ルブ要素であり得る(かつ、ユニットモジュールクラスオブジェクト410内部に完全に画定され得る)か、または構成方策においてどこかに定義されたバルブ制御モジュールクラスオブジェクトの基準であり得るバルブオブジェクトに対する参照である。また、反応装置ユニットモジュールクラスオブジェクト410の異なる実体またはパーツ間の物理的相互接続が、これらの異なる要素間の相互接続を確定する目的のために図示されている。上記で言及されたように、任意のタイプのユニットモジュールクラスオブジェクト410または他のモジュールクラスオブジェクトは、モジュールクラスオブジェクト(それと関連付けられた任意の汎用制御ルーチンを含む)内部に完全に定義された簡易な要素を含むことができ、及び/またはモジュールクラスオブジェクトの外部に定義されたモジュールクラスオブジェクトに対する参照を含むことができる。
ユニットモジュールクラスオブジェクト410は、反応装置閲覧表示520及び反応装置警報表示522と呼ばれる2つの例示的な表示モジュールクラスオブジェクトを含み、これらは、図5の閲覧表示モジュールクラスオブジェクト434及び警報表示モジュールクラスオブジェクト432に対する参照である。これらのオブジェクトは、ステート(例えば、タンクの充填レベル)及び反応装置ユニットモジュールクラスオブジェクト410内に定義された反応装置ユニットの設備またはパーツのうちのいずれかに関連付けられた警報を表示するための汎用表示活動を定義する。同様に、ユニットモジュールクラスオブジェクト410は、他の要素、例えばボックス524において供与、混合、排出及びフラッシュフェーズクラスオブジェクトとして図示されたフェーズクラスオブジェクトを含み得、これらの各々が、ユニットモジュールクラスオブジェクト410によって定義されたユニット上で動作する汎用制御ルーチンを定義する。ユニットモジュールクラスオブジェクトは、フェーズクラスオブジェクトに対するゼロ以上の関連付けを有することができる。フェーズクラスオブジェクト524は、任意の所望の方法でユニットモジュールクラスオブジェクト410のどこかに定義され、その中にインポートされることができる。ある意味、フェーズクラス524は、ユニットモジュールクラスオブジェクト410によって定義されたユニット上で、異なる機能、例えばユニットを充填すること、ユニットを加熱すること、ユニットを空にすること、ユニットを洗浄すること等を行うように動作し得るコマンドまたはルーチンである。
また、ユニットモジュールクラスオブジェクト410は、このユニットモジュールクラスオブジェクト410から構成アプリケーション50(図1)によって作成されたモジュールクラスオブジェクトに対する参照を記憶するメモリまたはセクション526を含み得る。セクション526は、基本的には、ユニットモジュールクラスオブジェクト410から作成され、それによって所有されるモジュールオブジェクトのリストである。(当然ながら、このリストまたは所有されたモジュールオブジェクトの他の表示は、任意の所望の方法でワークステーション内に、または構成アプリケーション50によって記憶されることができ、ユニットモジュールクラスオブジェクト410に物理的に収容されなくてもよい。)いずれにしても、図6の例では、ユニットモジュールクラスオブジェクト410は、モジュールクラスオブジェクト反応装置_01 440a、反応装置_02 440b、反応装置_03 440c等を所有し、それらの各々が、反応装置ユニットモジュールクラスオブジェクト410から作成されている。
また、ユニットモジュールクラスオブジェクト410は、構成活動中またはその後のいずれかにおいて、ユニットモジュールクラスオブジェクト410によって実行されることができる方法530のセットを含む。方法530は、ユニットモジュールクラスオブジェクト410に対してなされた変更を、ユニットモジュールクラスオブジェクト410によって所有されたモジュールオブジェクト526の各々に自動的に伝播する変更管理方法またはアプリケーションを含み得る。他の方法は、ユニットモジュールクラスオブジェクト410に対し、及び/またはそれによって所有されたユニットモジュールオブジェクト5
26に対しセキュリティまたはアクセス制御を行うセキュリティ制御方法、またはユーザもしくは構成エンジニアが、モジュールクラスオブジェクトまたはそこから作り出された任意のモジュールオブジェクトに対する変更パラメータ及び/またはセキュリティパラメータを特定することを可能にする方法を含み得る。当然ながら、異なる方法530は、ユニットモジュールクラスオブジェクト410での、またはそれに対する任意の他の手順を行ってもよい。
所望であれば、ユニットモジュールクラスオブジェクト410は、モジュールクラスオブジェクト410に対してなされた変更がユニットモジュールオブジェクト526に伝播される方法に加えて、セキュリティアクセスがユニットモジュールオブジェクト526においてセットアップされる方法で制御し得る。この機能性を提供するための1つの方法は、ユニットモジュールクラスオブジェクト410内部で1つ以上のフラグまたはパラメータを設定し、変更がユニットモジュールオブジェクト526に伝播され、セキュリティがユニットモジュールオブジェクト526で取り扱われる方法を特定することである。特に、1つ以上の変更伝播パラメータは、ユニットモジュールクラスオブジェクト410に対してなされた変更が、モジュールクラスオブジェクト526のうちの1つ以上に自動的に伝播されるか否かを特定するように設定され得る。これらの変更伝播パラメータは、ユニットモジュールオブジェクト526に記憶され得、ユニットモジュールクラスオブジェクトに対してなされた変更がユニットモジュールオブジェクトに反映されるかを、ユニットモジュールオブジェクト全体に対して、またはサブ要素についてサブ要素ごとに特定し得る。例えば、ユニットモジュールクラスオブジェクト410は、ユニットモジュールクラスオブジェクト410から作成された各ユニットモジュールオブジェクトにおいて設定され、ユニットモジュールクラスオブジェクト410に対してなされた変更がユニットモジュールオブジェクトで自動的に反映されることを可能または不可能にし得るグローバル変更パラメータ534(「C」で標示)を含み得る。同じように、各サブ要素またはブロック、例えばブロック501〜505、510、520及び522は、そのブロックのみに対して、ユニットモジュールクラスオブジェクト410内のそのブロックに対してなされた変更がユニットモジュールオブジェクトに反映されるかを特定する変更パラメータ536を含み得る。当然ながら、ユニットモジュールオブジェクトの異なるブロックが、異なって設定されてもよく、それによって、例えば、ユニットモジュールクラスオブジェクト410の酸ブロック501に対してなされた変更が、モジュールオブジェクト526のうちの特定の1つの対応する酸ブロックに伝播されるが、ユニットモジュールクラスオブジェクト410のアルカリブロック502に対してなされた変更が、ユニットモジュールオブジェクトのうちの特定の1つのアルカリブロックに伝播されないようにされる。さらに、ユニットモジュールクラスオブジェクトから作成された異なるユニットモジュールオブジェクトが、互いに異なって設定された変更パラメータを有してもよく、それによって、ユニットモジュールクラスオブジェクト410内部のアルカリブロック502に対してなされた変更がユニットモジュールオブジェクト526の第1の1つの対応するアルカリブロックに伝播されるが、ユニットモジュールオブジェクト526の第2の1つの対応するアルカリブロックに伝播されないようにされる。当然ながら、ユニットモジュールクラスオブジェクト410の変更管理方法は、ユニットモジュールオブジェクト526の変更パラメータにアクセスしてそれを使用し、ユニットモジュールクラスオブジェクト410において変更がなされたときに、それらのオブジェクト内部で変更を行い得るまたは行い得ない。
同様に、ユニットモジュールクラスオブジェクト410は、ユニットモジュールオブジェクト526の各々においてセキュリティまたはアクセスが制御される方法を特定する1つ以上のセキュリティパラメータを含み得る。ユニットモジュールクラスオブジェクト410は、反応装置ユニットモジュールクラスオブジェクト410から作成された反応装置ユニットモジュールオブジェクト全体に対して任意の所望のレベルのセキュリティを提供
し得、及び/またはユニットモジュールクラスオブジェクト410の各サブ要素に対して、例えばブロック501〜505、510、520、522等の各々に対して、異なるセキュリティパラメータ540を含み得るグローバルセキュリティパラメータ538(「S」で標示)を含み得、例えば、ブロック上のそれらのブロックの各々に対してブロックごとにセキュリティのレベルを特定する。グローバルセキュリティパラメータ538は、事前認可されたセキュリティアクセスレベルを有するものを除き、ユニットモジュールクラスオブジェクトをすべてのユーザにロックするロッキングパラメータであり得る。当然ながら、セキュリティパラメータ538及び540は、多数の異なるレベルのセキュリティのうちの1つ、例えばアクセス不可、制限されたアクセス、特定のタイプまたは識別子のユーザに対するアクセス等を特定し得、セキュリティレベルは、同じユニットモジュールクラスオブジェクトから作成された異なるブロックにおいて、及び異なるユニットモジュールオブジェクトにおいて異なるように設定され得る。所望であれば、セキュリティ対策の一部が、ユニットモジュールクラスオブジェクトに関連付けられた1つ以上の方法またはアルゴリズム上での暗号化を提供することを含んでもよい。
ユニットモジュールクラスオブジェクト410の変更及びセキュリティパラメータが、デフォルト値に設定されてもよく、ユニットモジュールクラスオブジェクト410から作成された各ユニットモジュールオブジェクト526の対応する変更及びセキュリティパラメータが、作成されたときにこのデフォルト値をとってもよいことが理解されよう。しかしながら、デフォルト変更及びセキュリティパラメータもまた、これらのユニットモジュールオブジェクトが作成された後、ユニットモジュールオブジェクト526において(正しいセキュリティアクセスを有するユーザによって)個々に変更されてもよい。本明細書において、変更及びセキュリティパラメータが、反応装置ユニットモジュールクラスオブジェクトに関して述べられているが、同様の変更及びセキュリティパラメータが、他のタイプのユニットモジュールクラスオブジェクトに加えて、任意の所望のタイプの設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、表示モジュールクラスオブジェクト等に提供されてもよい。
所望であれば、ユニットモジュールクラスオブジェクト410は、ユニットまたはユニットモジュールクラスオブジェクト410に関連付けられたユニットまたはユニットの任意のサブ要素に関連付けられた文書化を含む、ユニットクラスモジュールオブジェクトに記憶されるかまたはそれに関連付けられた文書化に対する参照、例えばURLまたは他の参照を含んでもよい。そのような参照が、図6に参照549として図示される。
図6に示された実施形態は、変更パラメータ及びセキュリティパラメータが、ユニットモジュールクラスオブジェクト410に関連付けられているとして、及びモジュールクラスオブジェクト410の子または派生されたオブジェクトに適用されたときに変更伝播及びセキュリティガイドラインを示すとして描画されている。いくつかの実施形態では、変更パラメータ及び/またはセキュリティパラメータは、付加的または代替的には、モジュールクラスオブジェクト410のそれぞれの子オブジェクトまたはそれぞれの派生されたオブジェクトに(例えば、反応装置オブジェクト440aに)関連付けられ得、それぞれの子または派生されたオブジェクトが変更を受信するかまたは1つ以上の親オブジェクトからセキュリティ制限を組み込むか否かに関するガイドラインを示し得る。
図7は、構成エンジニアがモジュールクラスオブジェクトを作成及び使用してプロセスプラント10を構成するプロセス中に、図1の構成アプリケーション50によって作成され得る画面表示を描画する。概して、画面表示は、画面の左手側のエクスプローラビューを含み、これは、プロセスプラント10の構成を描画する組織的ツリー構造を提供する。同じように、画面表示は、概してその右手側に1つ以上の情報ビューを含む。これらの情報ビューは、エクスプローラビュー内の要素のうちの選択された1つに関するさらなる情
報を提供する。情報ビュー内でユーザに表示されるかまたはユーザによって変更されることが可能である情報は、異なるモジュールクラスオブジェクトまたはそのサブ要素の各々に対して設定された図6の制御及びセキュリティパラメータによって判定されるかまたは制御され得る。このように、エクスプローラビュー内部の特定の要素は、モジュールクラスオブジェクトにおいて設定されたセキュリティ及び制御パラメータに基づいて、閲覧及び/または変更のためユーザに対して表示可能であるかまたは露出され得、エクスプローラビューに描画されたモジュールオブジェトに伝播され得る。当然ながら、既に説明されたように、情報は、常時隠されていてもよく、ユーザによってパスワードまたは他のセキュリティコードを入力することによってのみ表示可能または変更可能であってもよく、常時表示可能であるが変更可能でなくてもよく、常時表示可能かつ変更可能であってもよく、またはこれらまたは他のセキュリティ及び変更パラメータの任意の他の組み合わせであってもよい。またさらには、所望であれば、要素の表示可能性、視認性、または変更可能性は、エクスプローラビュー内に、強調表示、グレー表示、色、または要素がより詳細に表示されるかまたは変更されることができるユーザに知らせるための任意の他の技法を使用して示され得る。
図7では、画面表示600は、表示の左手側に描画されたエクスプローラ構成ビュー602の一部を含む。エクスプローラビュー602の一部は、ユニットモジュールクラスオブジェクト604、設備モジュールクラスオブジェクト606及び制御モジュールクラスオブジェクト608を含む数多くのモジュールクラスオブジェクトを記憶するライブラリを図示する。反応装置ユニットモジュールクラスオブジェクト610(図6の反応装置ユニットモジュールクラスオブジェクト410に対応し得る)は、ユニットモジュールクラスライブラリ604内部に記憶され、供与、混合、排出及びフラッシュフェーズクラスオブジェクト、酸、アルカリ、水、及び出口設備モジュールクラスオブジェクト、水_in及びレベル_メータ制御モジュールクラスオブジェクト及び他のオブジェクトを所望のように含む数多くのサブ要素の指標を含む。このように、ユニットモジュールクラスライブラリ604内で定義された場合、反応装置ユニットモジュールクラスオブジェクト610は、フェーズクラスの指標に加えて、設備モジュールクラスオブジェクト及び制御モジュールクラスオブジェクトの指標を含む。反応装置ユニットモジュールクラスオブジェクト610は、画面600内で選択されるため、その要素は、画面600の右手側612により詳細に描画される。
またさらには、設備モジュールクラスライブラリ606は、集計器設備モジュールクラスオブジェクト614(図7の集計器設備モジュールクラスオブジェクト416に対応し得る)と、反応装置_出口設備モジュールクラスオブジェクト616とを含む。集計器設備モジュールクラスオブジェクト614は、アルゴリズム(例えば、図7のアルゴリズム564のうちの1つ)の、コマンド_00001、コマンド_00002及びコマンド_00003と呼ばれる3つの異なる部分を含む。また、モジュールクラスオブジェクト614は、粗_バルブ及び精密_バルブ(オンオフ型制御モジュールクラスオブジェクトである)及び流量_メータ(流量計タイプの制御モジュールクラスオブジェクトである)と呼ばれる制御モジュールオブジェクトに対する参照も含む。またさらには、反応装置_出口設備モジュールクラスオブジェクト616は、ステート_00001、ステート_00002及びステート_00003と呼ばれる異なるステートを有するステート駆動型制御アルゴリズム、対象、駆動、監視及びリードバックモジュール及び出口、排出及び生成物バルブ制御モジュールオブジェクト(これらは、出口、排出及び生成物と名付けられたオンオフ制御モジュールクラスオブジェクトタイプのモジュールブロックの指標またはそれらに対する参照であり得るか、または簡易なオブジェクトであり得る)を含む。集計器及び反応装置_出口モジュールクラスオブジェクト614及び616に関連付けられたコマンド及びコマンド駆動型アルゴリズムは、任意の所望のルーチンであってもよく、それらのコマンドとともに使用される設備モジュールクラスオブジェクト内部のモジュールオブ
ジェクトを参照してもよい。特に、設備モジュールクラスオブジェクトのCDAまたはSDAコマンドアルゴリズムは、それらのモジュールの名称を組み入れ、アルゴリズムを行うときにいずれの設備が操作されるかを示すことによって、制御モジュール(または他の設備モジュール)に言及する式またはアクションを含み得る。アルゴリズム内部の制御モジュール(または別の設備モジュール)の名称の使用は、アルゴリズムが位置する設備モジュールオブジェクトによって参照されるかまたはそれに関連付けられた制御モジュールオブジェクトを特定し、設備モジュールオブジェクトが設備モジュールクラスオブジェクトから作成されると、特定の名称が結び付けられるかまたはインスタンス化される。
当然ながら、所望であれば、図7に図示された画面及び同様の画面が、構成エンジニアによって使用され、供与または他のフェーズクラス内部の、または他のモジュール、例えばユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトのうちのいずれかに対する制御アルゴリズムを作成及び特定し、それによって任意の所望のモジュールクラスオブジェクトを作成し得る。上述のように1つ以上のモジュールクラスオブジェクトを作成した後、構成エンジニアはその後、これらのモジュールクラスオブジェクトを使用して、プロセスプラント10内部に要素を構成し得る。
設備または制御モジュールのうちのいずれもが、ユニットモジュールクラスオブジェクト内部で、共有または非共有モジュールオブジェクトとして指定されることができる。非共有モジュールオブジェクトは、非共有モジュールオブジェクトが作成されるより高レベルのモジュールオブジェクトによって完全に所有される。共有モジュールオブジェクトは、1つを超えるより高レベルのモジュールオブジェクトに所有されるかまたはそれに関連付けられる。モジュールオブジェクトの共有または非共有の性質は、エクスプローラビュー内のモジュールオブジェクトの記述に影響を及ぼす。特に、非共有モジュールオブジェクトの指定は、結果として、モジュールオブジェクトが制御方策内部のより高レベルのオブジェクトの下でのみ描画されることになり、一方で共有モジュールオブジェクトの指定は、結果として、共有モジュールブロックまたはモジュールオブジェクトが、その要素に加えて、エクスプローラヒエラルキー内のスタンドアローンのモジュールオブジェクトを共有するより高レベルのモジュールオブジェクトの各々の下で描画されることになる。
同じような方法で、構成エンジニアは、任意の他のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト及び制御モジュールクラスオブジェクトに加えて、表示モジュールクラスオブジェクトを使用し、そこで説明された原理に従って、プロセス制御環境内部の構成要素ユニット、設備、制御要素及び表示要素を作成し得ることが理解されよう。さらに、構成エンジニアは、ユニットモジュールクラスオブジェクトのうちの1つ以上を変更し、それらの変更をそれらのユニットモジュールクラスオブジェクトに関連付けられたモジュールオブジェクトの各々に伝播しておくことによって、異なるプロセス実体の構成に対する変更をグローバルベースでなし得る。この特徴により、構成が既に作成された後に、構成内部での変更がより簡単かつより時間をかけずに行われる。また、構成エンジニアは、モジュールクラスオブジェクト内部にセキュリティパラメータを設定することによって、構成システム内部のモジュールオブジェクトの異なる要素またはコンポーネントに対するアクセスレベルを特定し得る。上記で言及されたように、構成エンジニアは、任意のレベルで、例えばユニットモジュールレベル、設備モジュールレベル、制御モジュールレベル及び表示モジュールレベルで、モジュールごとにセキュリティを特定し得る。このように、ユニットモジュールオブジェクトのいくつかの要素は、視認可能であってもよく、一方で他のものは、視認可能でなくてもよい。
図7Aは、構成エンジニアまたはオペレータが簡略化された構成ユーザインターフェース(UI)を作成及び使用し、それによってプロセスプラント10を構成するためのグラ
フィカルオブジェクトを作成し使用するプロセス中に、図1の構成アプリケーション50によって作成され得る画面表示を描画する。いったん構成されると、簡略化された構成UIは、構成要素オブジェクトとして記憶され得、これは、インスタンス化されると、次に構成表示オブジェクトをインスタンス化し、結果として、簡略化された構成UIの構成中に定義されたプロパティのセットを使用してグラフィカルオブジェクトを構成するための構成表示ビューをもたらす。図7の画面表示と同様に、画面表示は、画面の左手側にエクスプローラビューを含み、これは、図形要素を構成するための構成UIに含まれるプロパティ及び/またはプロパティグループを含む、構成UIの構成を描画する組織的構造を提供する。同じように、画面表示は、概してその右手側に1つ以上の情報ビューを含む。図7Aでは、情報ビューは、エクスプローラビュー内の要素のうちの選択された1つに関するさらなる情報を提供する。図7の画面表示と同様に、情報ビュー内でユーザに表示されるかまたはユーザによって変更されることが可能である情報は、異なるプロパティグループまたはそのプロパティの各々に対して設定された図6の制御及びセキュリティパラメータによって判定されるかまたは制御され得る。
図7Aでは、画面表示700は、表示700の左手側に描画されたエクスプローラ構成ビュー702の一部を含む。エクスプローラビュー702の一部は、プロパティモジュールクラスオブジェクト704を含む数多くのモジュールクラスオブジェクトを記憶するライブラリを図示する。プロパティモジュールクラスオブジェクト704は、図形要素の個々のプロパティまたはプロパティグループであってもよい。例えば、以下の図12を参照すると、バルブの図形要素モジュールまたはGEMは、モジュール名(すなわち「DATADATA」)及び形状を定義する数個のオブジェクトを含み、ここで、形状は、2つの三角形、半円、及び三角形と半円との間の2つの接続線で構成される。ひいては、バルブGEMに対する形状は、線幅及び充填色等のプロパティを有し得、名称は、フォントスタイル、フォントサイズ及びフォント色等のプロパティを有し得る。付加的なプロパティは、動的挙動、動的挙動オプション、フォント等を含み得るがこれらに限定されず、各々が、GEMの構成における値によって定義され得る。バルブGEMに対するプロパティは、エクスプローラビュー702において、「クイック編集」として、グループを作り上げる個々のプロパティ(「モジュールプロパティ」)とともに示されるプロパティモジュールクラスオブジェクト704にプロパティグループとしてセーブされ得る。代替的に、またはプロパティグループとともに、プロパティは、エクスプローラビュー702内に個々に提示され得る。このように、簡略化された構成UIが作成されかつ構成されると、構成エンジニアまたはオペレータは、簡略化された構成UIに含まれる個々のプロパティまたはプロパティグループを定義するライブラリアイテムのうちの1つ以上を選択し得る。
図7Aのツールメニューに見られるように、プロパティグループが加えられ得るか706、個々のプロパティが加えられ得るか708、またはエクスプローラビュー702から選択されたプロパティ及びプロパティグループが削除され得る710。例えば、バルブに対する簡略化されたユーザインターフェースが構成されている場合、エクスプローラビュー702は、バルブに対するすべてのプロパティグループを提示し得る。そして、構成エンジニアまたはオペレータは、プロパティグループを加えるか、付加的なプロパティグループを作成するか、または簡略化された構成UIを構成するための既存のプロパティグループを修正し得る。
プロパティグループ「クイック編集」の選択は、結果として、情報ビュー712内にプロパティを表示させる。情報ビュー712では、構成エンジニアまたはオペレータは、本明細書では「プレビュー」とも称される第2の情報ビュー714内に示される簡略化された構成UIを構成する。この例では、簡略化された構成UIは、プレビュー714内で簡略化された構成UIが構成されているとして示される。例えば、情報ビュー712に見られるように、簡略化された構成UIのタイトルは、「クイック構成」であり、これはプレ
ビュー内に示される。一例では、簡略化された構成UIは、基本プロパティのデフォルト構成、例えばサイズ及び位置である。プレビュー714は、簡略化された構成UIが図形要素に対する適正なプロパティを有するかを確かめるために図形要素の使用をなすあらゆる必要性を取り除く。
概して言えば、図形要素に対するプロパティの数は、数千に達し得る。例えば、各図形要素は、形状を有し得、ここで、形状はクラスキャンバス内部に記憶され、数は数千に達し得る。さらには、各形状は、数多くのプロパティ、例えば色及び線幅を有する。このことは、結果として、大部分のプロパティに対して使用し得なかったとしても、選定される構成エンジニアに対するプロパティ数を多くする。簡略化された構成UIは、図形オブジェクトの構成エンジニアまたはオペレータに対し、図形オブジェクトの属性(例えば、形状)を構成するために使用する可能性が最も高いプロパティのセットを許可する。このように、簡略化された構成UIは、図形オブジェクトに対して構成される一般的に使用されるプロパティを露出し、プロパティをユーザフレンドリな名称で、論理的順序またはグルーピングで露出する。図7Aの表示画面700は、簡略化された構成UIが、図形オブジェクトの構成のために一般的に使用されるプロパティを含むように構成され、異なる簡略化された構成UIが異なる図形オブジェクト(例えば、反応装置、バルブ等)に対して構成されることを可能にする。
図形オブジェクトにリンクされているかまたは結び付けられた構成要素オブジェクト、例えばGEMは、図形オブジェクトのプロパティに対する定義/値を提供するために図形オブジェクトがインスタンス化されるときに要求される。例えば、バルブGEMがインスタンス化されると、構成要素オブジェクトがインスタンス化され得、バルブGEM属性のプロパティに対する値が表示ビューに送信され表示される。
図7Bは、簡略化された構成UI(「バルブタイプ」)の画面表示800を描画し、これは、図7Aを参照して上述されたように、図1の構成アプリケーション50を使用して作成され得る。画面表示800は、表示800の左手側に描画されたエクスプローラ構成ビュー802の一部と、表示800の右手側の情報ビュー804とを含む。エクスプローラビュー802の一部は、数多くの簡略化された構成UI(「GEM構成ペイン」)を記憶し得るライブラリを図示する、これは、タイプごとに(例えば、「バルブタイプ」)記憶され得る。簡略化された構成UIの選択は、結果として、情報ビュー804内に簡略化された構成UIを表示させる。情報ビュー804では、バルブタイプの構成中に定義されたような、バルブに対するプロパティのセットが表示され、それによって、構成エンジニアまたはオペレータは、ひいてはバルブGEMを構成するためにバルブGEMの様々なプロパティに対する値を定義することができるようにされる。いくつかのケースでは、値は、直接入力(例えば、テキストボックス)によって、またはドロップダウンメニューからのオプションの選択によって定義され得る。一例では、デフォルト値、例えば図形要素の形状に対するデフォルト線幅及び色、及び図形要素の表示された名称のためのデフォルトフォント及びフォントサイズは、図形要素のプロパティのいくつかまたはすべてに対して提供され得る。
バルブGEMのプレビュー806は、それが構成されているとき、かつ図形要素の使用を作成する前に表示され得る。概して、簡略化された構成UIは、図形要素オブジェクトを構成するための構成標示を提供し、ここで、図形要素オブジェクトは、プロセス制御表示ビュー上で後にインスタンス化され、プロセスプラント内部のプロセス実体に対応する。簡略化された構成UIは、プロパティのセットを簡略化された構成UIの構成に定義されたとして提示し、該セット内の各プロパティは、図形要素オブジェクトの属性に対する値を特定するように選択可能かつ定義可能である。例えば、バルブタイプは、バルブのプロパティに対する3つの選択可能なオプション804−故障閉鎖、故障開放及びホールド
を提供するように構成された。この例では、故障閉鎖のオプションが選択され、バルブのプレビュー802(すなわち「FC」)に反映されている。
上記で触れたように、簡略化された構成UIは、図形要素の属性に対する様々なプロパティのデフォルト値とともに生成され得る。図7Bを一例として使用して、バルブGEMのデフォルト動的挙動は、「ホールド」(すなわち、バルブがその位置(例えば、開または閉)に維持される)として定義され得る。一方、図形要素は、再構成のための画面800内にロードされ得る。すなわち、図形要素は、既にその属性に対するプロパティの基準構成を有している。簡略化された構成UIにおけるデフォルト値に対する図形要素のプロパティの再構成ではなく、図形要素の基本構成の値が、図形要素からキャプチャされ810(例えば、読み取られ)、情報ビュー804を生成するために使用されてもよい。このように、構成エンジニアまたはオペレータが図形要素の1つまたはすべてより少ない値を変更することのみが必要である場合、彼/彼女は、すべてのプロパティ値を再定義しなければならないことを免れる。例えば、バルブ806の動的挙動のみが「ホールド」から「故障閉鎖」に変更された場合(すなわち、故障の場合、バルブが閉じる)、ユーザは、バルブGEMの基本構成をキャプチャ810し、バルブに対する動的挙動のリストから「故障閉鎖」を選択し、「故障閉鎖」プロパティをキャプチャ812し、バルブGEMの動的挙動プロパティを更新し得る。バルブGEMの更新は、更新されたプロパティをバルブGEMの図形要素オブジェクトにリンクし結び付け、プロパティ構成を構成要素オブジェクトとして記憶し得、それによって、バルブGEMがインスタンス化されるときはいつも、図形要素オブジェクトが構成要素オブジェクトからプロパティを読み取り、表示オブジェクトが構成されたプロパティを有する図形要素オブジェクトをロードするようにされる。
当然ながら、いったん構成システムが完了し、モジュールオブジェクトがプロセスプラント10内部の個々のプロセス実体に結び付けられると、これらのモジュールに関連付けられた制御及び表示モジュールまたは要素が、プロセスプラント10の動作中の実行のために、図1の正しいコントローラ12、デバイス、及びワークステーション14にダウンロードされ得る。
本明細書で説明された技法、システム及び方法は、フレキシブルなクラスオブジェクト、インスタンスオブジェクト及びプロセス要素オブジェクトを使用した、プロセスプラント及びプロセス制御システムの構成を考慮している。一例では、親オブジェクトに対する変更または修正の伝播は、1つ以上のそれぞれの子オブジェクトに対してフェーズ化されるかまたは遅延され、それによって、構成更新のタイミングが、プロセスプラント内で制御され得るようにされる。フェージング及び/または遅延は、一実施形態では、ユーザによって示され、異なる子オブジェクトに対しては異なってもよい。別の例では、親オブジェクトに対してなされた変更は、選択された子オブジェクトに対して適用されるが、親の子オブジェクトのすべてには適用されない。ユーザは、変更が適用される所望の子オブジェクトの選択を示し得る。また別の例では、子オブジェクトに対してなされた変更は、その親オブジェクトに対して、及び/または1つ以上の子オブジェクトに対して、選択的に適用される。変更が適用されることになる所望の親及び/または子オブジェクトの選択は、ユーザによって示され得る。加えて、または代替的に、ユーザは、変更の自動分散及び/またはインスタンス化(例えば、実行可能なファイルの作成)なしに、様々なオブジェクトに対するドラフト変更または修正をなし得る。異なるドラフト変更のセットは、様々なオブジェクトの異なるバージョンとして保存され得、プロセスプラントのランタイムまたはリアルタイム動作のライブ動作に影響することなく、オフラインで試験され得る。
さらに、本明細書で説明された技術、システム、及び方法は、プロセス制御システムまたはプラント10のライブラリ(例えば、テンプレート及び/もしくはユーザ作成ライブラリオブジェクト)内に記憶されたアイテムまたはオブジェクトに適用する。代替的また
は追加的に、本技術、システム、及び方法は、プロセス制御システムまたはプラント10の構成データベース25内に記憶されたアイテムまたはオブジェクトに適用し、これは、一部の場合において、ライブラリアイテムもしくはオブジェクトから少なくとも部分的に作成されるか、または派生される。
またさらに、本明細書で説明されたフレキシブル構成技術及びオブジェクトのうちの1つ以上は、図1のプロセスプラント10等のプロセスプラント内、または他の好適なプロセスプラントもしくはプロセス制御システム内で使用され得る。一例において、本明細書で説明された技術のうちの1つ以上は、図1の1つ以上のワークステーション14上で実行される構成アプリケーション50によって実行される。別の例において、本明細書で説明された技術のうちの1つ以上は、アプリケーションにアクセスする遠隔アプリケーション(例えば、ウェブクライアントまたは他の遠隔アクセス手段)によって少なくとも部分的に実行される。いくつかの実施形態において、フレキシブル構成技術のうちの1つ以上は、本明細書で説明されたもの以外の他の構成技術との組み合わせで使用される。
さらに、本明細書で説明されたフレキシブル構成技術及びオブジェクトは、図5に説明されたもの等のモジュールクラスを使用して実装される。しかしながら、本明細書で説明されたフレキシブル構成技術は、他の好適なモジュールクラス、ソフトウェアアーキテクチャ、及び/またはプログラミング技術を使用して実装され得る。
アイテムまたはオブジェクトドラフト:
先で考察されたように、本明細書で説明されたフレキシブル構成技術、システム、及び方法の実施形態は、ランタイムプロセスプラントまたはランタイムプロセス制御システムに不利に影響を及ぼし得るダウンロードを必要とすることなく、ユーザがライブラリ及びシステム構成アイテムまたはオブジェクトに対する変更を行うことを可能にする。ライブラリアイテムまたはライブラリオブジェクトは、概して、集中的にアクセス可能な位置またはライブラリ(例えば、ワークステーション14に対して、ならびに他のインターフェース及びコンピューティングデバイスに対してアクセス可能である、構成データベース25または他の記憶デバイス)内に記憶されたテンプレートオブジェクトである。システム構成アイテムまたはシステム構成オブジェクト(及び一部のライブラリアイテムまたはライブラリオブジェクト)は、概して、1つ以上のライブラリアイテムに基づくか、またはそれらから派生される。一部のアイテム及びオブジェクトについて、少なくとも一部の態様は、ユーザによってカスタマイズされる。
本明細書で使用される「アイテム(アイテム)」という用語は、クラスオブジェクト、インスタンスオブジェクト、またはプロセス要素オブジェクト等のオブジェクトを概して指す。アイテムは、ライブラリ内に記憶され得るか(例えば、「ライブラリアイテム(library item)」もしくは「ライブラリオブジェクト(library object)」)、またはアイテムは、システム構成データ記憶エリア内に記憶され得る(例えば、「構成アイテム(configuration item)」もしくは「構成オブジェクト(configuration object)」)。加えて、本明細書で使用される「アイテム」という用語はまた、オブジェクト、例えば、オブジェクトのコンテンツの少なくとも一部に対する内部であり、かつそれによって定義されるアイテムを概して意味する。オブジェクトの考えられる内部アイテムは、例えば方法、アクション、データフィールドまたは他の属性、入力、出力、I/Oのタイプ(例えば、コントローラ、例えば図1のコントローラ12または12aがそれを通してシステムと通信する入出力カードまたはデバイスのタイプ)、機能または使用、定義、パラメータ値、親オブジェクトに対する参照、子オブジェクトに対する参照、親オブジェクトでも子オブジェクトでもない別のオブジェクトに対する参照、及び他の内部アイテムを含む。内部アイテムは、絶対的に定義され得るか(例えば、データフィールドが定数値もしくは定数式を記憶する)、ま
たは内部アイテムは、絶対値、絶対式、別のオブジェクト、もしくは別の参照を参照することによる等、相対的に定義され得る。例えば、図形表示要素オブジェクトによって定義された内部アイテムは、親オブジェクトに対する参照、1つ以上のフィールド、トリガ、機能、ビュー定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、テーブル等を含み得る。別の例では、制御モジュール要素オブジェクトによって定義された内部アイテムは、親オブジェクトに対する参照、1つ以上の入力、出力、パラメータ、機能ブロック、相互接続、フィールド式、外部参照、アクション、アルゴリズム、遷移等を含み得る。
用語「リンクされた」アイテムは、概して本明細書で使用される場合、その構造及び初期値が親オブジェクトまたはアイテムから派生されるかまたは作成され、及び/またはその構造または初期値が子オブジェクトまたはアイテムに提供されるオブジェクトまたはアイテムを指す。このように、リンクされたアイテムは、親アイテムであってもよい。加えて、または代替的には、リンクされたアイテムは、子アイテムであってもよい。したがって、「リンクされていない」アイテムは、概して本明細書で使用される場合、親オブジェクトを有しておらず、いずれの子オブジェクトも有していないアイテムまたはオブジェクトを指す。リンクすること(例えば、親/子オブジェクト関係の指標を維持すること)は、ユーザが親アイテムまたはオブジェクトの構造及び初期値を定義し、その後同じ構造及び初期値を、インスタンスまたは子オブジェクトと共有することを可能にする。例えば、ユーザがクラスオブジェクトのすべてのインスタンスに影響する修正または変更を行うことを望む場合、ユーザは、クラスオブジェクトを単に修正し、変更は、クラスオブジェクトのリンクされたインスタンスに分散されるかまたは伝播される。
本明細書で使用される「現在のアイテム(current item)」または「現在のオブジェクト(current object)」という用語は、インスタンス化され(及び一部の場合においてダウンロードされ)、かつプロセスプラント10内の対応するプロセス要素のランタイム中に実行され得るアイテムまたはオブジェクトを指す。例えば、現在のプロセス要素制御オブジェクトがインスタンス化されると、現在のプロセス要素制御オブジェクトに対応する実行可能な構成コードが、プロセス要素、例えば図1のコントローラ12または12aにダウンロードされ、コントローラ12または12aは、ランタイム中、インスタンス化された現在のプロセス要素制御オブジェクトによって定義されたような機能、入力、出力、及び他の条件に従って動作するように構成される。別の例において、現在の図形表示ビューオブジェクトは、現在の図形表示ビューオブジェクト内に含まれた定義に対応するビューがユーザインターフェース上で構築及び提示されたとき、ユーザインターフェースでインスタンス化される。典型的には、オブジェクトによって定義された特定の内部アイテムになされた変更は、オブジェクトによって定義された他の内部アイテムに典型的に影響を及ぼさない。
「修正(modification)」及び「微調整(tweak)」という用語は、その親オブジェクトへのリンクを維持しつつ、オブジェクトのコンテンツに対する1つ以上の変更を指すために、本明細書において同義的に使用される。現在のアイテムまたはオブジェクトに対する修正または変更の一例は、現在のアイテムまたはオブジェクトに対する、新しいパラメータまたは動作の追加等の新しい内部アイテムの追加である。追加的または代替的に、修正は、現在のプロセス要素オブジェクトの既存アイテムを削除することを含み得、及び/またはオブジェクトによる定義済みのアイテムの値、式、もしくは参照を変更することを含み得る。一部のシナリオにおいて、修正は、特定のアイテムの無効化を含み、これにより特定のアイテムは、インスタンス化中に無視される。例えば、特定のインスタンスオブジェクトにおいて、ユーザは、親クラスオブジェクト内で定義されるアイテムを無効化し得る。このような能力は、ユーザが、クラスの残りのものよりも低機能を有するが、依然としてコアクラス機能を含むインスタンスを定義することを可能にする
。いずれの無効化されたコンテンツも、視覚的に弱められるか、不可視化されるか、またはそうでなければ描画されず、ランタイム中に使用されない。無効化されたコンテンツは、いつでもユーザによって再び有効化され得る。概して、修正は、親オブジェクト内の参照がそれぞれの子オブジェクト内の定数値に対して解決されるとき等の、定数値または定数式に対する参照を解決することを含み得る。
いずれの修正、変更、及びそれらの組み合わせも、クラスアイテムもしくはクラスオブジェクト、インスタンスアイテムもしくはインスタンスオブジェクト、プロセス要素アイテムもしくはプロセス要素オブジェクト、または内部アイテムに対して行われ得る。インスタンスオブジェクト及び他の子オブジェクトの場合において、子オブジェクトに対する変更または修正は、一実施形態において、その親から除去されている子オブジェクト内では結果として生じない。例えば、インスタンスオブジェクトに対する修正は、インスタンスオブジェクトをそのクラスから除去せず、さらに、ユーザによってそのように指定されない限り、同一クラスの他のインスタンスに影響を与えない。一実施形態では、子オブジェクトによって定義されたアイテムに対する変更または修正は、子オブジェクト内部のフラグまたは他の指示によって示され、クラスレベルにおいてアイテムと干渉しないように、そのようにラベル付けされ得る。このように、この柔軟性は、親オブジェクトの拡散を低減し、その子アイテムまたはオブジェクト間でのさらなる変動を可能にすることによって、多種多様なアプリケーションに適用可能な単一の親アイテムまたはオブジェクトを作成し得る。
加えて、ユーザは、アイテムまたはオブジェクトに対する修正の設定をドラフトとして保存することも可能である。概して、ドラフトオブジェクトは、ランタイムプロセスプラントまたはシステム、例えばプロセスプラントのリアルタイム動作環境に影響を及ぼすことなく、試験を行うことが可能である。(ドラフトオブジェクトの「試験」は、本明細書で使用される場合、概してドラフトオブジェクト自体への初期チェックを行って、変更または修正が正確であるかを判定するための能力を指すが、典型的には、ドラフトオブジェクトが他のドラフトとともにある環境内で稼働することを必要とするであろう完全な工場受け入れ試験を含意しない。)
一実施形態では、特定のオブジェクトに対するただ1つのドラフトが、同時に存在し得る。一実施形態では、多数の異なるドラフトが、特定のオブジェクトに対して存在し得る。ユーザは、ドラフトオブジェクトを加えるか、削除するか、または修正することが可能であり得る。いくつかの実施形態では、ドラフトオブジェクトのバージョン制御が利用可能である。ドラフトオブジェクトは、フラグ、フィールド、またはオブジェクトに含まれるかまたはそれに関連付けられた他の表示によって、ドラフトとして特定され得る。一実施形態では、ドラフトオブジェクトは、現在インスタンス化されたオブジェクトの子オブジェクトとして、現在のオブジェクトの親オブジェクトの子オブジェクトとして、または現在のオブジェクトの派生元のライブラリオブジェクトの子オブジェクトとして記憶される。いくつかのシナリオでは、ドラフトオブジェクトに対応する他の情報(例えば、著者、記憶時間等)もまた、記憶され得る。
現在のオブジェクトに対する異なる修正を包含する異なるドラフトが、(例えば、同時に)作成及び記憶され得る。異なるドラフトが、本質的に連続し得る。例えば、第1のドラフトは、レガシープロセスデバイスを構成することに対応し得、第2のドラフトは、より新しいモデルのプロセスデバイスを構成することに対応し得る。異なるドラフトは、内容が異なり得る。例えば、第1のドラフトは、製造者Aによって作られた、特定の機能を行うためのバルブを構成することに対応し得、第2のドラフトは、製造者Bによって作られた、同様の機能を行うためのバルブを構成することに対応し得る。もちろん、連続及び/または内容変更の任意の組み合わせが、ドラフトのセットにわたって、例えばユーザに
よって所望されるように明示されてもよい。
ドラフトは、概してインスタンス化されるかまたはダウンロードされることが許可されていないが、それらが分散及びダウンロードされることを可能にするエディションに発行される前に、それらが正しく稼働することを保証するために試験されることが許可されている。このように、ユーザは、現在のアイテムまたはオブジェクトに対する修正を行い、修正をドラフトとして記憶することが可能である。ユーザはドラフトが許容可能であると見なすと、ユーザは、ドラフトを発行し、アイテムまたはオブジェクトの新しいエディション、例えば「発行された」または「承認された」アイテムまたはオブジェクトを生成し得る。アイテムまたはオブジェクトの新しいエディションは、記憶され、プロセスプラントまたはシステム内へのインスタンス化またはダウンロードのために利用可能である。
エディション
このように、エディションは、ユーザがプロセス要素に対する変更を追跡及び制御することを助ける。特に、アイテムまたはオブジェクトは、その寿命の一部として変更を経験し得る。最初に、オブジェクトが作成され、オブジェクトに対する各々の後続の変更(機能ブロックの追加/削除等の構造的なものか、あるいはパラメータ値の変更のいずれか)は、典型的にはその子オブジェクトに分散または伝播される。しかし、ライブプロセスプラント動作の間、親アイテムまたはオブジェクトに対する変更(及び、特に不完全で承認されていないかまたは試験されていない変更)は、制御されていない方法で、ランタイムシステムに入ることが防止されるべきである。したがって、本明細書で説明されたフレキシブルな構成技法及びオブジェクトは、ユーザが変更の分散及び伝播を制御することを可能にするための「エディション」を含む。本明細書で使用される場合、「エディション」は概して、承認または発行されており、ランタイム環境内へのインスタンス化のために利用可能である、現在のオブジェクトに対するドラフト修正を指す。エディションまたは発行は、プロセスプラントまたはプロセス制御システム内にインスタンス化されることが可能であり、一方で、ドラフトは、インスタンス化されることが許可されていない。
一実施形態では、ドラフトは、ユーザがそのように示した場合(例えば、ユーザがドラフトを承認した後にのみ)エディション内に発行される。したがって、オブジェクトのプロセス要素アイテムに対するドラフト修正が承認されると、プロセス要素アイテムまたはオブジェクトのステートは、インスタンス化が防止されるかまたは許可されていない第1のステート(例えば、「ドラフト」ステート)から、インスタンス化が許可されている第2のステート(例えば、「発行済」ステート)に変更し得る。一実施形態では、好適なセキュリティ許容度を有する認可されたユーザのみが、ドラフトをエディション内に発行すること(例えば、ドラフト修正を承認して、発行された修正またはエディションを生成すること)を許可される。多数のドラフトが利用可能である場合、ユーザは、多数のドラフトのうちのどれがエディションに発行されるかを選択し得る。
オブジェクトのエディションは、フラグ、フィールド、またはオブジェクトに含まれるかまたはそれに関連付けられた他の表示によって、特定され得る。一実施形態では、エディションまたは発行された修正済みオブジェクトは、その親として、修正されたオブジェクトのドラフト、現在のオブジェクト、別のエディション、別のオブジェクト、またはライブラリオブジェクトを示すかまたはそれにリンクする別個のオブジェクトとして記憶される。いくつかのシナリオでは、オブジェクトのエディションに対応する他の情報(例えば、著者、発行時間等)もまた、記憶され得る。一実施形態では、子アイテムまたはオブジェクトは、親オブジェクトのエディション及び親オブジェクト自体の両方にリンクされ得る。
オブジェクトの多数のエディションが利用可能であるとき、ユーザは、一実施形態では
、多数のエディションのうちのどれがインスタンス化されるべきかを示すかまたは選択し得る。例えば、ユーザは、オブジェクトの異なるエディションが、プロセスプラント内部の異なるプロセス要素でインスタンス化されることを示し得る。代替的にまたは加えて、ユーザは、エディションに対する、または異なるエディションに対する異なる時点のインスタンス化を示し得る。また、ユーザは、いくつかのケースでは、エディションを削除するか、使用不能にするか、または編集し得る。
いくつかの実施形態では、ただ1つのドラフト(及び、多数のドラフトではない)が、記憶されることが許可される。そのような実施形態では、現在のオブジェクトの現在のエディションのみが、ユーザによって編集されることを許可される。このように、編集後、ユーザは、ドラフト修正済みオブジェクトを保存し、ユーザが指示すると、ドラフト修正済みオブジェクトは、オブジェクトの新しい現在のエディションとして発行される。一実施形態では、先の現在のエディションは、それにリンクされた任意の子オブジェクトを有していない場合、及び唯一のエディションではない場合、例えばライブラリアイテムまたはオブジェクトのケースでは、自動的に削除され得る。このように、現在のエディションが任意の子オブジェクトを有していない場合、現在のエディションに対する修正の後続の発行は、現在のエディションを単に置き換えるかまたは上書きし得る(例えば、付加的な現在のエディションは作成されない)。一実施形態では、1つ以上の先の現在のエディションは、ユーザから隠され得るかまたはユーザに対してアクセス不可能にされ得る。
一実施形態では、少なくとも1つの子オブジェクトを有する親アイテムまたはオブジェクトを発行することは、子オブジェクトの新しい現在のエディションを自動的に発生させる。一実施形態では、オブジェクトを名称変更することは、オブジェクトの新しいエディションを作成しないが、オブジェクトによって定義された内部アイテムを名称変更することは、名称変更された内部アイテムをドラフトとして保存し、名称変更された内部アイテムドラフトを内部アイテムの新しいエディションとして発行することを必要とする。
一実施形態では、発行されたアイテムまたはオブジェクトが、別の発行されたアイテムまたはオブジェクトに参照されるかまたはそれに組み入れられると(かつ任意には、多数のレベルのオブジェクトにそのようにネストされると)、最内部のアイテムまたはオブジェクトの新しいエディションを作成することによって、ネスティングのすべてのレベルにおいて、包含されたアイテムまたはオブジェクトの各々の新しいエディションが自動的に作成され得る。
変更及び修正の分散または伝播
用語「分散」及び「伝播」は、本明細書においては同義的に使用され、概して親オブジェクトから子オブジェクトへの、及び/または子オブジェクトからその親オブジェクトへの構造(例えば、制御オブジェクトに対する機能ブロック使用、ダイナモ使用、形状、パラメータタイプ、ワイヤ等、及び例えば、図形要素オブジェクトに対するアニメーション、ビュー定義、形状、コネクタ等)及びパラメータ値の転送を指す。典型的には、エディションまたは発行されたオブジェクトにおける修正または変更は、伝播される。一実施形態では、オブジェクトの発行されたエディションに含まれる変更されたアイテムのみが伝播される。一実施形態では、オブジェクトのエディション全体が伝播される。
ポリシー設定は、オブジェクトごとに、またはアイテムごとに分散または伝播プロセスを制御し得る。一実施形態では、ポリシー設定は、ユーザ、例えば構成設計者またはシステムアドミニストレータによって変更可能である。変更しているポリシー設定へのアクセスは、いくつかの構成システムにおいて確実に制御される。分散または伝播ポリシー設定は、少なくとも2つの可能な値、すなわち自動及びユーザ操作を含む。一例では、ポリシーが、ライブラリで定義された設備アイテムに対して自動に設定された場合、新しいエデ
ィションにおいて発行されたライブラリに記憶された設備アイテムに対する変更または修正はその後、設備アイテムの任意のリンクされたアイテムに自動的かつ速やかに伝播され、結果として、リンクされたアイテムの新しいエディションが発行される。
しかし、オブジェクトのポリシーがユーザ操作に設定された場合、新しく発行された変更は、リンクされたアイテムに自動的かつ速やかには伝播されない。代わりに、ユーザは、手動で伝播を開始し(または、スクリプトを作成するかもしくは伝播を開始することに類似する)リンクされたアイテムを選択された時点で選択する。上記のライブラリに記憶された設備アイテムの例では、そのポリシーがユーザ操作に設定された場合、ユーザは、特定の子システム構成アイテムを選択し、発行された変更を特定された時点で受信し得る。さらに、ライブラリに記憶された設備アイテムの多数の記憶されたエディションがある場合、ユーザは、多数のエディションのうちのどれが、どの時点で伝播されるかを示し得る。
したがって、本明細書で説明されたフレキシブルな構成技法及びオブジェクトは、ユーザが親オブジェクト(例えば、クラスオブジェクト)に変更を加え、変更が分散されるかまたは伝播される子オブジェクト(例えば、インスタンスオブジェクト)を特定し、伝播が生じるときを特定することを可能にする。このように、発行後、親オブジェクトに対してなされた変更は、変更を必要とする子オブジェクトに対してのみ速やかに伝播され得るが、一方で他の子オブジェクトは、後で変更とともに更新され得る。変更または修正の受信側の選択は、プロセス実体または要素ごとに実行され得るか、またはグループごとに(例えば、プラントのエリア、ある製造者のすべてのデバイス、リリースXを作動させるすべてのデバイス、一定の試験生産ライン内のすべてのメータ等)実行され得る。そのような分散及び伝播における選択性は、ランタイム中のプラント性能を増大させ得るが、これは、すべての子オブジェクトが一度に更新されないためである。さらに、変更及び修正は、最適化されかつ制御された方法で、プロセスプラント内にフェーズ化され得る。
一実施形態では、少なくとも1つの子オブジェクト、そしてまた多数の既存のエディションを有する親アイテムに対しては、分散または伝播ポリシー設定を変更することは、親オブジェクトの任意の発行された現在のインスタンス化されたエディションに影響しない。しかしながら、親アイテムまたはオブジェクトのコンテンツが続いて変更された場合、コンテンツ変更は、その子アイテムまたはオブジェクトのすべてに伝播され、それによって、子は、結果として得られる親オブジェクトの現在のエディションを使用し、先のエディションは削除されるかまたは使用不能にされる。
一実施形態では、親オブジェクトからのパラメータ値の伝播または分散は、値が子オブジェクトにおいてオーバーライドされていない場合にのみ生じる。
親オブジェクトと同様に、子オブジェクト(例えば、インスタンスオブジェクトまたはプロセス要素オブジェクト)に対してなされた変更または修正もまた、それぞれの親オブジェクト(例えば、クラスオブジェクトまたはインスタンスオブジェクト)に選択的に伝播されるかまたは分散され得る。伝播のタイミング及び/またはコンテンツは、一実施形態では、ユーザによって選択される。このように、子オブジェクトにおける変更は、親オブジェクトに対して伝播され得、これはひいては、他の子オブジェクトに対する変更を伝播し得る。
一実施形態では、ユーザは、子オブジェクトによって定義された特定のアイテムが、親オブジェクトから隠される(例えば、使用不能にされる)ことを示し得る。例えば、子オブジェクトに特定のパラメータ値が加えられるが、概して親オブジェクト及び親オブジェクトの他の子には適用可能ではない場合、親オブジェクトに対する伝播中は、特定のパラ
メータ値は、フラグを付けられるか、さもなければ隠されるかもしくは使用不能にされ得る。
インスタンス化:
エディションは、一実施形態において、ユーザによってインスタンス化のために選択され得る。選択されたエディションのインスタンス化は、選択されたエディションによって定義された内部アイテムに従って、ランタイム中に実行する対応するプロセス要素を結果としてもたらす。例えば、制御オブジェクトの場合では、ユーザは、制御オブジェクトの特定の発行されたエディションが、ランタイムシステム内の対応するデバイスにダウンロードされることを所望する。ユーザは、ダウンロードエディションを選択されたエディションから生成し、かつダウンロードエディションをランタイムシステム内のプロセス要素に送信するようにシステムに命令する。このように、ランタイム中に、プロセス要素は、制御オブジェクトの既存のエディションを実行し、ここで、エディションに含まれる修正を包含する構成を含む。別の例において、ユーザは、表示ビュー上に含まれる発行された図形表示要素オブジェクトをインスタンス化するように構成システムに命令する。構成システムは、図形表示要素オブジェクトの実行エディションを作成する。対応する表示ビューがランタイムで構築されるとき、図形表示オブジェクトの実行エディションが実行され、それぞれの図形要素が表示ビュー上に含まれることを結果としてもたらす。複数のエディションが利用可能であるとき、ユーザは、複数のエディションのうちのどれがインスタンス化されるべきかを選択し得る。
インスタンス化の上記の例では、インスタンス化は、ユーザによって特定されるかもしくは示された時点で、またはユーザによって特定されるかもしくは示されたイベント後、行われる。いくつかの実施形態では、ユーザは、オブジェクトのエディションが、発行後速やかにインスタンス化されることを示し得る。例えば、ユーザは、エディションに対応する子オブジェクトの第1のセットのインスタンス化が、発行後速やかに実行され、エディションに対応する子オブジェクトの第2のセットのインスタンス化が、特定量の時間にわたって遅延され、エディションに対応する子オブジェクトの第3のセットのインスタンス化が、ユーザがインスタンス化を明確に要求するまで遅延されることを示し得る。このように、本明細書で説明されたフレキシブルな構成システム技法及びオブジェクトによって、ユーザは、いつ、そしていずれの修正が様々なプロセス制御要素においてインスタンス化されるかを制御することが可能である。
もちろん、本明細書で説明された技法及びオブジェクトは、ユーザに、オブジェクトまたはアイテムのコンテンツをよりフレキシブルに修正し、プロセスプラントまたはプロセス制御システム内部での分散及び修正のタイミングをよりフレキシブルに管理するための機能性及び能力を提供する。例えば、ユーザは、オブジェクトのインスタンス及び使用を作成し、オブジェクトのコピーを作成し、オブジェクトから派生されたアイテムを作成し、内部アイテム(例えば、使用及びインスタンス)を修正して付加的な構造を加え、オブジェクトに、及び使用及びインスタンスに含まれる内部アイテム(例えば、パラメータ及びプロパティ値)を修正し、選択された内部アイテム、リンク及び非リンクオブジェクトを隠すかまたは使用不能にし、及び/またはアイテムまたはオブジェクトに対する変更の伝播及び分散を制御することが可能であり得る。
例示的なシナリオ
次に、プロセスプラントまたはプロセス制御システム内のフレキシブルな構成の特徴、性能及び動作を例解するために、数個の例示のシナリオが提供される。これらの例示のシナリオは、図1〜7のいずれかによって、またはそれらの組み合わせによって例解される技法の任意の1つ以上の部分によって実施され得る。これらの例示のシナリオは、限定することは意図されておらず、本明細書においては、本明細書で説明された技法、システム
及び方法の概念、利点及び使用のうちのいくつかを例解するために提供される。加えて、これらのシナリオは、可能なシナリオの網羅的なセットではない。さらに、これらの例示のシナリオは、概してライブラリアイテムまたはオブジェクトに言及するが、シナリオは、プロセスプラントまたはプロセス制御システム内部の他のアイテム及びオブジェクト、例えばシステム構成オブジェクト、図形及び表示オブジェクト、インスタンスオブジェクト、プロセス要素オブジェクト、クラスオブジェクト等に容易に適用され得る。
図8に図示された第1の例示のシナリオでは、ユーザは、ライブラリアイテムまたはオブジェクト1000を作成、変更または修正するためのタスクを行うかまたは1つ以上のコマンドを実行する。一実施形態では、コマンドは、例えばワークステーション14または他のユーザインターフェースを介して、構成システムで受信される。ユーザがライブラリアイテムまたはオブジェクト1000を作成及び編集し、それを保存すると、アイテムのドラフト1002が記憶される。ユーザは、ドラフト1002に対し付加的な編集を行い得る。ある時点で、ユーザは、アイテムの変更及び発行1005を承認する。発行1005は、この第1の例示のシナリオにおけるライブラリアイテム1000がいかなる子も有していない場合、結果として、ライブラリアイテム1000の新しいエディション1008をもたらす。新しいエディション1008は、プロセスプラントまたはプロセス制御環境のランタイム環境内へのインスタンス化に利用可能である。
図9に図示された第2の例示のシナリオでは、ライブラリアイテム1010は、子アイテムまたはオブジェクト1012を有し得、例えば、ライブラリアイテム1010は、別のライブラリアイテムに、またはシステム構成アイテム1012にリンクされる。この第2のシナリオでは、ユーザは、ライブラリアイテム1010に対する変更を行い、それをドラフト修正ライブラリアイテム1013として記憶する。ある時点で、ドラフト1013に対する変更が承認され、ユーザは、ドラフト1013を発行し、変更を含むライブラリエディション1014の現在のエディションを生成する。ユーザは、例えばプロセスプラントの動作フェーズ、職員、手順の問題、及び/または他の懸念を考慮して、どのようにしてライブラリアイテム1010に対する変更がその子1012に分散されるかまたは伝播されるかを制御することを希望する。ユーザ操作による分散は、変更または修正が最適な時点で(例えば、正規のサポートチームがバルブをブロックするために適所にある等)分散されることが可能であるときに、プロセスプラントでの(例えば、精油所での)動作を改善し得る。
ライブラリアイテム1010の現在のエディション1014の制御された伝播または分散を達成するために、ユーザは、ライブラリアイテム1010に対する分散プロセスを制御するポリシー設定を設定する。一実施形態では、ポリシー設定は、ライブラリアイテム1010に対応し得る。一実施形態では、ポリシー設定は、ライブラリアイテム1010の使用または子1012に対応し得る。一実施形態では、ポリシー設定は、2つのオプション、自動1018及びユーザ操作1015を含み得る。ポリシーが自動1018に設定されると、ライブラリアイテム1010の発行された現在のエディション1014(または、発行されたエディション1014に含まれる変更)は、ライブラリアイテム1010から子アイテム1012に自動的に分散1018される。ポリシー設定がユーザ操作1015である場合、ユーザは、現在のエディション1014のドラフト1022を作成し得る。ドラフト1022は、今度は、子アイテム1012の新しい現在のエディション1025として発行され得る。
図10に示されるように、システム構成アイテム1012の新しい現在のエディション1025がインスタンス化され得る。例えば、システム構成アイテム1012が制御または機能ブロックに対応する場合、現在のエディション1025は、ダウンロードエディション1028に変換され得、これは、実行のエディション1032として、対応するラン
タイムアイテム1030内に(例えば、自動的にまたはユーザ表示によって)ダウンロードされ得る。別の例では、システム構成アイテム1012が図形要素に対応する場合、図形要素の現在のエディションは、グラフィカルアイテムを含む表示ビューが構築されるとランタイムでインスタンス化される。
一方、図9に戻って参照すると、分散ポリシー設定がユーザ操作1018を示すと、ユーザは、ライブラリアイテム1010になされた変更を、その子アイテム1012の各々に所望のように手動で伝播するかまたは分散し得る。基本的には、ライブラリアイテム1010の現在のエディション1014は、ユーザコマンド1018(これは、ユーザによって明確に入力されるかスクリプトに含まれてもよい)によって子アイテム1012に対するライブラリから「引き出され」る。一例では、ユーザは、対象の子アイテム(例えば、システム構成アイテム1012)を選択し、ライブラリアイテム1010の現在のエディション1014(または、その内部での修正)が対象の子アイテム1012に伝播されることを要求する1018。伝播されると、システム構成アイテム1012のドラフト1022が作成及び記憶される。ユーザは、ドラフトシステム構成アイテム1022に対する付加的な編集をしてもよく、またはしなくてもよい。いくつかの所望の時点において、ユーザは、ドラフトシステム構成アイテム1022を発行し、結果として、インスタンス化されることができるシステム構成アイテム1012の新しいエディション1025をもたらす。
先のシナリオは、ライブラリアイテム1000及び1010に対する修正を説明する。しかしながら、ライブラリアイテム1010のみが修正可能ではない。図11は、ユーザがライブラリテンプレートではないシステム構成アイテム1040に直接変更を行うシナリオを図示する。ユーザは、構成アイテム1040に対する変更をドラフト1042として保存し、ドラフト1042が承認された後、ユーザは、ドラフト1042をアイテム1040の現在のエディション1045に発行する。図11に示された例では、ユーザは、ダウンロードエディション1048が(例えば、実行可能に)生成されることを要求し、その後続いて、アイテム1040のダウンロードエディション1048がランタイムアイテム1050に伝送されることを要求し、それによって、実行しているエディション1052が、対応するランタイムアイテム1050に含まれ、それによって実行されるようにされる。
本明細書で説明されたフレキシブルな技法及びオブジェクトを例解する他の可能なシナリオは、以下を含む。
1.ユーザは、多数のエディションを有するライブラリアイテムをコピーする。
このシナリオでは、分散ポリシー設定は、ユーザ操作に設定される。多数のエディションを有するライブラリアイテムが、ライブラリ内に存在する。
ユーザは、ライブラリアイテムをコピーして、異なる名称を有する新しいライブラリアイテムを作る。結果として得られたライブラリアイテムのコピーは、元のライブラリアイテムの現在のエディションに一致する単一のエディションを有する。しかしながら、新しいライブラリアイテムは、単なるコピーであり、元のライブラリアイテムに対する後続の変更によって影響されない。
2.ユーザは、別のライブラリアイテムからライブラリアイテムを派生させる。
アイテム(例えば、表示またはフェースプレート)は、ライブラリ内に存在する。アイテムは、例えば、1つの送信機及び2つのバルブを示す単一のタンクを有する。
ユーザは、第1のライブラリアイテムから派生された新しいライブラリアイテムのドラ
フトを作成するためのコマンドを選択する。そして、ユーザは、第2の送信機を加えるようにドラフトを修正し、ドラフトを保存し、ドラフトを派生されたライブラリアイテムの第1のエディションとして発行する。
続いて、ユーザは、第3のバルブを加えるように元のライブラリアイテムを修正し、元のライブラリアイテムのドラフトを保存し、ドラフトをエディション内に発行する。そして、ユーザは、修正された元のライブラリアイテムのエディションを分散する。分散の結果として、派生されたライブラリアイテムは、ここで3つのバルブを包含する。
3.ユーザが多数のエディションを有するライブラリアイテムのインスタンスを作成する。
分散設定は、ユーザ操作に設定され、このシナリオでは、ただ1つの現在のエディションが、いつでも利用可能である。ユーザは、ライブラリアイテムを作成し、ライブラリアイテムの第1のインスタンスを作成する。そして、ユーザは、元のライブラリアイテムを修正し、修正をドラフトとして保存し、修正された元のライブラリアイテムを発行する。発行は、結果として元のライブラリアイテムの新しいエディションをもたらす。
次に、ユーザは、ライブラリアイテムの第2のインスタンスを作成する。第2のインスタンスは、ライブラリアイテムの現在のエディション(例えば、修正された元のライブラリアイテム)に基づくが、第1のインスタンスは影響を受けない。すなわち、第1のインスタンスは、修正なしに元のライブラリアイテムに基づいたままである。
一実施形態では、新しいインスタンスまたは使用が、多数のエディションを有するライブラリアイテムから作成されると、新しいインスタンスまたは使用は、ライブラリアイテムの現在の利用可能なエディションを参照する。
4.ユーザは、多数のエディションを有するライブラリアイテムの使用を作成する。
このシナリオは、先のシナリオに類似しているが、インスタンスに代えて、ライブラリアイテムの使用を伴う。このシナリオでは、ただ1つの現在のエディションが、一度に利用可能である。新しい使用が、多数のエディションを有するアイテムから作成されると、新しい使用は、ライブラリアイテムの現在の利用可能なエディションに基づく。
5.ユーザは、使用を有するライブラリアイテムを修正する。
このシナリオでは、システム構成アイテムは、ライブラリアイテムに基づく。システム構成アイテムは、ライブラリアイテムの使用(例えば、モジュール内部の複合機能ブロック使用)を含む。変更の分散は、ユーザ操作に設定される。
ユーザは、システム構成アイテムが基礎とするライブラリアイテムを変更し、ライブラリアイテムが多数のライブラリアイテムのエディションがあることを示すための視覚的指標(例えば、スタックされたアイコン)をここで有することを確認する。ユーザは、ライブラリアイテム上の参照ビューを開き、例えばシステム構成アイテムに含まれるような、ライブラリアイテムの新しい(今現在の)エディションを使用していない使用(モジュール内の複合機能ブロック使用)があることを目視する。
6.ユーザは、別のライブラリアイテムにおける使用を有するライブラリアイテムを修正する。
このシナリオは、先のシナリオに類似しているが、使用が、システム構成アイテムではなく、別のライブラリアイテムに含まれる。このシナリオでは、分散ポリシーのみが、システム構成アイテムに対する分散を制御し、ユーザ操作に設定したまま維持される。ライブラリアイテムに対する変更は、ポリシー設定に関係なく、他のライブラリアイテム内部
の使用に自動的に分散される。すなわち、ライブラリアイテムに対する分散は、「自動」にデフォルト設定され、修正されることが可能ではない。分散は、影響を受けたライブラリアイテムが他のライブラリアイテムによって使用されるそれら自体である場合、繰り返し使用され、新しいエディションは、別のライブラリアイテムに対する変更によって影響を受けなかったすべてのライブラリアイテムに対して作成される。
いくつかの実施形態では、修正可能なポリシー設定は、ライブラリアイテムに利用可能であり、異なる修正可能なポリシー設定は、構成アイテム等の非ライブラリアイテムに利用可能である。
7.ユーザは、インスタンスを有するライブラリアイテムを修正する。
このシナリオでは、ライブラリアイテムのインスタンス(例えば、モジュールインスタンス)は、システム構成アイテムとして記憶される。分散は、ユーザ操作に設定される。
ユーザは、ライブラリアイテムを変更し、ライブラリアイテムが多数のエディションがあることを示すための視覚的指標(例えば、スタックされたアイコン)をここで有することを確認する。ユーザは、ライブラリアイテム上の参照ビューを開き、ライブラリアイテムの新しい(今現在の)エディションを使用していないシステム構成インスタンスがあることを目視する。
8.ユーザは、派生されたライブラリアイテムを有するライブラリアイテムを修正する。
このシナリオでは、親ライブラリアイテムは、システム構成アイテムによって次に使用される派生されたライブラリアイテムによって使用される。システム構成アイテムに対する分散は、ユーザ操作に設定され、ライブラリアイテム対する分散は、修正可能ではなく、自動にデフォルト設定される。
ユーザは、親ライブラリアイテムを修正する。ライブラリアイテム分散設定が自動である場合、派生されたライブラリアイテムは、自動的に更新される。しかしながら、派生されたライブラリに基づくシステム構成アイテムは、構成アイテムに対する分散設定がユーザ操作に設定されていると更新されない。このように、システム構成アイテムは、派生されたライブラリアイテムの先のエディションを使用し続ける。ユーザは、親ライブラリアイテム上の参照ビューを開き、派生されたライブラリアイテムが親ライブラリアイテムの現在のエディションを使用しているが、システム構成アイテムはそうではないことを確認することによってこれを目視することができる。
9.ユーザは、ライブラリアイテムのコンテクストにおける使用を更新する。
先のシナリオに基づいて、ユーザは、ライブラリアイテムのすべてのインスタンスが更新されてはいないことを示す、ライブラリアイテムに対応するスタックされたアイコンを目視する。システム構成アイテムに対する分散は、ユーザ操作に設定される。
ユーザは、ライブラリアイテム上の参照ビューを開き、各々がライブラリアイテムを使用する、2つの表示に対応する2つの列を目視する。そして、ユーザは、ライブラリアイテムの現在の更新されたエディションを使用するように、表示のうちの1つを変更する。ユーザは表示を開くと、ユーザは、ライブラリアイテムの現在の更新されたエディション、例えば、表示及び任意のライブラリアイテム使用の両方が、それらが現在の更新されたエディションを使用していることを示すことを目視する。
その後、ユーザは、第2の表示上の参照ビューを開き、ライブラリアイテムの現在の更新されたエディションを使用するための使用を変更する。ユーザは、第2の表示を保存し、使用のアピアランスは、ライブラリアイテムの現在の更新されたエディションを使用す
ることを示す。
ユーザ変更の結果として、ライブラリアイテムの第1のエディションにリンクされたアイテムは、システム内には存在せず、そして、第1のエディションは、システムによって自動的に削除される。他の実施形態では、第1のエディションは、使用不能または非活動に設定され得る。
ユーザは、現在のものでない使用を複数選択し、それらを現在のエディションに更新するように選ぶことができる。ライブラリアイテム上のインジケータは、すべてのインスタンスが最新のエディションを使用しているときには消え得る。使用またはインスタンスが複数選択操作中に更新されることができないイベントでは、使用またはインスタンスがスキップされ、更新は次のアイテムに進む。更新の終わりには、ユーザには、アイテムが首尾よく更新されなかったことが示される。
10.ユーザは、ライブラリアイテムのコンテクストにおけるライブラリアイテム使用を更新する。
一実施形態では、ライブラリアイテムに対する変更は、システム構成分散ポリシー設定に関係なく、他のライブラリアイテム内部の使用に自動的に分散される。いくつかの実施形態では、異なるライブラリ分散ポリシー設定は、そのように行うための許可を有するユーザによって利用可能であり得るかまたは修正可能であり得る。
11.ユーザは、ライブラリアイテムのコンテクストにおけるインスタンスを更新する。
このシナリオは、従来のクラスベースのモジュール挙動を拡張する。ライブラリアイテムが存在し、ライブラリアイテムのインスタンスは、システム構成アイテムとして記憶される。しかし、インスタンスは、ライブラリアイテムの現在のエディションを使用していない。システム構成オブジェクトに対する分散は、ユーザ操作に設定される。
ユーザは、ライブラリアイテムを選択し、参照ビューを開く。ユーザは、システム構成インスタンスがライブラリアイテムの現在のエディションを使用していないことを目視し、そして、ユーザは、インスタンスを選択し、「最新にする」コマンドを実行する。このコマンドは、結果として、ライブラリアイテムの現在のエディションを使用するインスタンスのドラフトを新しくする。そして、ユーザは、システム構成インスタンスのドラフトを編集及び/または発行するためのステップを取り得る。
12.ユーザは、ライブラリアイテムのコンテクストにおいて派生されたアイテムを更新する。
ユーザは、他のライブラリアイテムに基づかないライブラリアイテムを作成することが許可されている。例えば、ユーザは、あらゆる連結なしに親ライブラリモジュールを作成し得、そして、連結を付加することにより、親ライブラリモジュールのすべての能力を有する派生されたライブラリモジュールを作成し得る。親ライブラリモジュールのアルゴリズムに対する変更は、派生されたライブラリモジュールまで流れることができ、それによって、ユーザは、1つの場所で定義されたアルゴリズムを有することによって、利益を得る。
13.ユーザは、使用のコンテクストにおける使用を更新する。
このシナリオでは、ユーザは、現在のエディションを使用するために使用を更新することを所望している。例えば、制御モジュールオブジェクトは、システム構成オブジェクトとして記憶され、単一の入力コネクタを有する単一のエディション複合ブロックの機能ブロック使用を含む。単一のエディション複合ブロックは、ライブラリアイテムであり、システム構成オブジェクトに対する分散は、ユーザ操作に設定される。ユーザは、ライブラ
リ内の複合ブロックを修正して、別の入力コネクタを加え、複合ブロックに対する新しい現在のエディションを作成する。ユーザは、ライブラリ複合ブロックが多数のエディションを有することを示す図形を目視することができる。
次に、ユーザは、特定の制御モジュール上の機能ブロック使用を選択し、「最新にする」コマンドを選択する。特定の制御モジュールの使用は、現在のエディションを使用するように更新し、そして、付加的な入力コネクタを示す。先のライブラリ複合ブロックエディションがシステムで使用されていない場合、図形は、ライブラリ複合ブロックがもはや多数のエディションを有していないことを示すように変更される。
14.ユーザは、ライブラリアイテム使用のコンテクストにおけるライブラリアイテム使用を更新する。
派生されたアイテムのように、他のライブラリアイテム内のライブラリアイテム使用(例えば、機能ブロック)は、構成アイテムに対する分散ポリシー設定に関係なく、自動更新にデフォルト設定され得る。しかしながら、いくらかの干渉に起因して、変更が別のライブラリアイテムに自動的に分散されることができない場合、ユーザは、ライブラリアイテム使用を手動で補正し得る。
15.ユーザは、インスタンスのコンテクストにおけるインスタンスを更新する。
このシナリオでは、ライブラリモジュールは単一のエディションを有し、ライブラリモジュールのインスタンスはシステム構成アイテムとして記憶される。システム構成アイテムに対する分散は、ユーザ操作に設定される。ユーザは、ライブラリモジュールを修正し、変更を発行する。ライブラリモジュールに関連付けられた表示の図形は、ライブラリ複合ブロックが多数のエディションを有することを示す。
ユーザは、モジュールインスタンスを選択し、「最新にする」コマンドを選択する。ライブラリモジュールの現在の修正されたエディションを使用するインスタンスのドラフトが作成される。そして、ユーザは、モジュールインスタンスの新しい現在のエディションを作成するようにドラフトを作成することができる。先のライブラリモジュールエディションがもはやシステムのどこでも使用されていない場合、ライブラリに関連付けられた多数のエディションインジケータは、表示から取り除かれる。
16.ユーザは、設備アイテムに包含されたすべてのインスタンスを更新する。
このシナリオは、先のシナリオに類似しているが、更新が設備アイテムのコンテクスト、例えばエリア、セル、またはユニットにおいて行われることを除く。単一のエディションを有するライブラリモジュールが存在し、モジュールの2つのインスタンスが、一エリア下のシステム構成内に存在する。システム構成に対する分散は、ユーザ操作に設定される。ユーザは、ライブラリモジュールを修正し、ライブラリ複合ブロックが多数のエディションを有することを示す図形が提供される。
コンテクスト(例えば、エリア)に対応する表示上では、エリアもまた、最新ではないインスタンスを有するとしてマークされる。エリアビューを拡大すると、2つのモジュールインスタンスが、最新ではないとしてマークされる。ユーザは、エリアを選択し、「最新にする」コマンドを選択する。ライブラリモジュールの最新のエディションを使用するインスタンスのドラフトが作成される。ユーザは、モジュールインスタンスの新しい現在のエディションを作成するようにドラフトを発行し得、これによって、表示から「最新ではない」マーキングが消される。先のライブラリモジュールエディションがもはやシステムのどこでも使用されていない場合、ライブラリモジュールに対応する多数のエディションインジケータもまた、表示から取り除かれ得る。
17.ユーザは、派生されたアイテムのコンテクストにおいて派生されたアイテムを更新する。
ライブラリは、2つのアイテム、ライブラリ表示DISP1と、DISP1から派生されたライブラリ表示DISP2とを記憶する。ユーザは、DISP1を変更して、テキストフィールドを加え、DISP1を発行し、DISP1を分散する。したがって、DISP2は、テキストフィールドとともに自動的に更新される。
同様に、ライブラリは、それに関連付けられたフェースプレートを有し得るライブラリデバイスタイプVALVEを記憶する。また、ライブラリは、VALVEから派生され、VALVEによって使用されるフェースプレートに対する付加的な情報を含むライブラリデバイスタイプDVCを記憶する。加えて、ライブラリは、特定用途向けライブラリデバイスタイプMfctrDVCを記憶し、これがひいては、DVCに対するフェースプレートにまたさらなる情報を加える。ユーザがVALVEに対するパラメータ値を変更すると、パラメータ値は、DVC及びMfctrDVCがパラメータ値をオーバーライドしないときには、DVC及びMfctrDVCの両方において自動的に更新される。
上記に対する追加として、ユーザは、MfctrDVCデバイスタイプからこのデバイスタイプを派生させることによって、特定用途向けデバイスタイプMfctrDVC−重要サービスを作成する。その際に、ユーザは、パラメータのうちの1つをオーバーライドする。この追加シナリオでは、ユーザがVALVEの同じパラメータの値を変更すると、パラメータ値は、DVC及びMfctrDVCにおいて自動的に更新されるが、これは、DVC及びMfctrDVCがパラメータ値をオーバーライドしないためである。しかしながら、パラメータ値は、ユーザがパラメータ値をオーバーライドしているため、MfctrDVC−重要サービスにおいては変更されない。
このように、一実施形態では、他のアイテムから派生されたライブラリアイテムは、システム構成アイテムに対する分散ポリシー設定にかかわらず、親ライブラリアイテムが変更されると常に更新される。しかしながら、干渉に起因して、親ライブラリアイテムの現在のエディションは、構造的変更を有する派生されたライブラリアイテムへは、自動的には伝播され得ない。ユーザが問題を補正した後、ユーザは、派生されたライブラリアイテムを手動で更新し得る。
18.ユーザは、結果として規則違反となる使用を更新する。
このシナリオでは、システム構成オブジェクトに対する分散は、自動に設定される。しかしながら、ライブラリアイテムに対してなされた変更を分散することは、規則(例えば、データベース規則)が違反された場合、子システム構成インスタンスのいくつかまたはすべてを更新することが可能ではない場合がある。この不具合は、分散が発行の後のステップに紐づけられているときにライブラリアイテムを保存すると、ユーザに対して明らかにはならない場合がある。実際、新しいエディションは、不具合が発見される前に、他のリンクされたアイテムによって既に使用中である場合がある。この状況では、ユーザは、ライブラリアイテムを編集して不具合を補正し得、それによって、すべてのインスタンスが規則違反なしに使用可能であるライブラリアイテムの新しい現在のエディションを生成する。
例解するために、新しい使用を有する新しいエディションへの更新は、インスタンスに加えられた使用の名称と干渉する。例えば、ライブラリは、USAGE1と名付けられた使用とともにライブラリモジュールLMを記憶する。ライブラリモジュールLMのシステム構成インスタンスMA及びMBは、エリアAreaAに存在する。そして、ユーザは、使用USAGE2をインスタンスMAに加える。
ユーザは、使用USAGE2をライブラリモジュールLMに加え、ライブラリモジュールLMを発行し、それを分散する。インスタンスMAは既に使用USAGE2を有しているため、インスタンスMAは、最新ではないままにされ、「最新ではない」インジケータは、インスタンスMAに対応する。しかしながら、インスタンスMBは、そのような使用を有しておらず、首尾よく更新される。
19.ユーザは、ユーザ操作から自動システム構成分散に切り替えた後、ライブラリアイテムを保存する。
このシナリオでは、ライブラリアイテムは、多数の表示によって使用される。1つの表示は、現在のエディションを使用しており、一方で他の表示は、先のエディションを使用している。ユーザは、ユーザ操作から自動分散に切り替える。分散をユーザ操作から自動分散に変更することは、表示に影響しない。
システム構成分散設定が自動に設定されている間、ユーザは、ライブラリアイテムを修正する。結果的に、ライブラリアイテムのすべてのインスタンスが、現在の修正されたエディションを使用するように更新される。システム構成インスタンスのすべてが更新されるため、ライブラリアイテムのより古いエディションはもはや参照されず、自動的に削除され得る。ライブラリアイテムに対するアイコンが変更されて、1つのエディションのみが存在することを示す。
20.ユーザは、ライブラリアイテムの現在のエディションを使用していないインスタンスをダウンロードする。
ユーザは、プロセス要素に、ライブラリアイテムの現在のエディションを使用していないシステム構成インスタンスをダウンロードし得る。ダウンロード要求は、結果としてダウンロード警告を表示させ得る。
21.ユーザは、ライブラリアイテムの現在のエディションを使用していない使用を有するオブジェクトをダウンロードする。
ユーザは、プロセス要素に、ライブラリアイテムの現在のエディションを含んでいないシステム構成インスタンスをダウンロードし得る。ダウンロード要求は、結果としてダウンロード警告を表示させ得る。
22.ユーザは、ライブラリアイテムを包含するファイルをインポートする。
このシナリオでは、ユーザは、ファイルをインポートし、ファイル内のアイテムのリストは、ユーザに提示される。ユーザは、各アイテムに対するインポート挙動(例えば、スキップ、上書き等)から選択され得る。
上記の例示のシナリオが例解するように、ユーザは、本明細書で説明されたフレキシブルな構成技法、システム及び方法を使用して、少なくとも以下のアクションまたはコマンドを行うことが可能であり得る。
編集−アイテムまたはオブジェクトを開き、場合によっては修正。ユーザは、ドラフトまたはエディションを開き得る。
ドラフトとして保存−開かれた(かつ、場合によっては修正された)アイテムをドラフトとして保存。
試験−ドラフトオブジェクトをダウンロードまたはインスタンス化することなく、ドラフトオブジェクトを稼働。
承認−発行に対するドラフトを承認。
発行−ドラフトを取り、それを現在のエディションにする。典型的には、発行は、ドラフトが承認された後に実行される。
生成−発行されるかまたは現在のエディションからダウンロードまたはランタイムエディションを生成。
伝送−エディションをランタイムに伝送。
ダウンロード−ダウンロードエディションをランタイムに送信する伝送コマンドの一実施形態。典型的には、ダウンロードは、システム構成アイテムのコンテクスト内で実行される。
分散/伝播/更新−特定のオブジェクトエディションに対してなされた修正で更新。特定のオブジェクトに対する修正の更新、分散または伝播は、結果として多数の他のリンクされたオブジェクト、例えば、子オブジェクト及び/または親オブジェクトを更新し得る。
ライブラリから更新−ライブラリオブジェクトから派生された子オブジェクトに対するライブラリオブジェクトエディションに対する修正を更新(例えば、分散または伝播)。ライブラリオブジェクトの更新または伝播は、結果として多数のレベルのリンクされた子を更新し得る。このように、ユーザは、例えば、ライブラリアイテムの現在のエディションから、インスタンスまたは派生されたアイテム使用を生成し得る。
削除−記憶部からオブジェクトまたはアイテムを削除。
検証−アイテムまたはオブジェクトのエラーについて点検。ドラフト及びエディションの両方が、検証されることができる。
差異−オブジェクトまたはアイテムの様々なエディション間の差異を判定。
参照−アイテムまたはオブジェクトに関連付けられた参照を判定。
いくつかの実施形態では、上記のアクションまたはコマンドのうちの1つ以上が、隠されるか、またはエンドユーザに利用可能でなくてもよい。例えば、生成及び伝送コマンドを組み合わせて、ダウンロードコマンドにしてもよく、またはユーザは、ユーザが正規の許可を有していない限り、アイテムを削除することが許されていない場合がある。
一実施形態では、ユーザは、フレキシブルな構成システムに、アイテムまたはオブジェクトに対するドラフト、現在の発行されたエディション、及びダウンロードエディション間の任意の差異を示すことを要求することが可能である。例えば、ユーザは、ドラフトと現在の発行されたエディション、ドラフトとバージョン制御における任意のエディション、ドラフトとダウンロードエディション、2つの異なるドラフト、2つの異なる現在のエディション、現在のエディション及びダウンロードエディション、及び他の組み合わせの間の差異を目視することを要求し得る。
一実施形態では、ユーザは、直接リンクされた子オブジェクトが特定のオブジェクトの現在のエディションを使用しているか否かにかかわらず、構成システムに、特定のオブジェクトのすべての直接リンクされた子を表示することを要求することが可能である。反対
に、一実施形態では、ユーザもまた、子オブジェクトがその親オブジェクトの現在のエディションを使用しているかを判定するためのビューを要求することが可能である。
パッケージ
いくつかの実施形態では、上述されたドラフト、発行及びインスタンス化の技法は、オブジェクトのグループに適用され得る。グループまたは複数のオブジェクトは、本明細書では概して「パッケージ」と称される。一実施形態では、パッケージのメンバは、ユーザによって選択される。パッケージのメンバのうちの少なくともいくつかは、いくつかのケースでは、製造者または供給者によってボックス外(OOB)に提供される。
例えば、OOBパッケージは、「スターター」ライブラリアイテムのセット(例えば、モジュール、複合、表示、デバイス等)を含み得る。ユーザは、アイテムのスターターコレクションから様々なアイテムを選択し、プロセスソリューション、例えば制御ループまたはプロセスモデルを作成し得る。ユーザが、カスタマイズされたオブジェクトをOOBパッケージに加える場合、ユーザは、補強されたOOBパッケージを、スターターパッケージとは異なるパッケージとして指定し得る。
別の例示のパッケージは、特定のプロセス、例えば、ボイラパッケージまたは反応装置パッケージの問題に適合された構成実装を含み得る。そのようなパッケージは、典型的には、プロセス制御問題に対する完全なソリューションとして使用され、それ自体が、本明細書では「ソリューションパッケージ」と称される。一実施形態では、ソリューションパッケージは、パッケージのインスタンスを行ったときに適用されるオプションのインスタンス化規則を含む。例えば、ボイラパッケージがインスタンス化されると、規則は、どのようにしてパッケージ内のすべてのアイテムが、ネーミング規則に従って、文字列置換を使用して、名付けられるかを提示することができる。
アイテムまたはオブジェクトと同様に、現在のパッケージに対して、1つ以上のドラフトを作成または編集してもよい。ドラフトパッケージは、エディションに発行され得、エディションは、インスタンス化のために選択され得る。一実施形態では、ユーザがパッケージの新しいエディションを保存することを欲する場合、新しいエディションが先のエディションにとって代わり得るか、または新しいエディションは、先のエディションと並行して保存され得る。
これらのパッケージドラフト、パッケージ発行、及びパッケージインスタンス化の技法は、ユーザに、また別のレベルの柔軟性を提供する。一例示の(しかし、非限定的な)シナリオでは、ライブラリパッケージは、パッケージの第1のドラフトとして作成され記憶される。例えば、ライブラリパッケージは、ボイラの、または反応装置のテンプレート構成に対応する。パッケージの第1のドラフトは、第1のエディションとして発行されて記憶され、そしてプロセスプラントまたはシステム内部にインスタンス化される。続いて第1のエディションが修正され(例えば、問題を補正するため、及び/またはボイラに、または反応装置に機能性を加えるため)、続いてパッケージの第2のエディションとして発行される。パッケージの第2のエディションをインスタンス化するためのユーザ表示を受信すると、パッケージの第1のバージョンから更新されたパッケージの第2のエディションに含まれるアイテムのみが、インスタンス化される。さらに、ユーザは、論理、性能、帯域幅、及び/または他の制約によって必要とされると、様々な更新されたアイテムのインスタンス化のタイミングを示し得る。第2のエディションの使用が何らかの理由で終了されることを要する場合、第1のエディションは、プロセスプラントまたはシステム内部に再インスタンス化され得る。
グラフィカルまたは表示アイテムまたはオブジェクト
ここでフレキシブルなグラフィカルまたは表示アイテムまたはオブジェクトを考察すると、「表示」は、概して、本明細書で参照される場合、ランタイム時にオペレータによって個々に開かれて目視されることができるグラフィカル実体(例えば、最も粒度の細かい実体)である。典型的には、フレキシブルなグラフィカルまたは表示アイテムまたはオブジェクトは、他のグラフィカルオブジェクトから構成され、オブジェクトライブラリに、またはシステム構成データ記憶実体に記憶され得る。表示は、プロセス要素のランタイム中、実行に対して発行されたエディションをダウンロードすることによってインスタンス化され得るか、またはリアルタイムで、もしくはランタイム時に、例えばオペレータが特定の表示ビューが構築されることを要求したときにインスタンス化され得る。フレキシブルなグラフィカルアイテムまたはオブジェクトによって定義され得る表示のタイプは、例えば以下を含む。
1)動作表示:動作表示は、概して、プロセスプラント内で実行する間、プロセス内部へのウィンドウまたはプロセスの表現を提供する。典型的には、表示ビューは、GEM及び他のライブラリ及び/またはシステム構成オブジェクトから構成され、ローカルまたはリモートユーザインターフェース上でインスタンス化され得る。
2)ダッシュボード表示:ダッシュボード表示は、オペレータ及びプラント作業員に主要な数値指標を提供する。ダッシュボード表示は、ライブラリ及び/またはシステム構成オブジェクトから構成され、ローカルまたはリモートユーザインターフェース上でインスタンス化され得る。いくつかの実施形態では、ダッシュボード表示上に含まれる限定された能力、特徴、または図形は、ランタイム時にオペレータによって構成及びインスタンス化され得る。ダッシュボード上に含まれる能力、特徴、及び図形要素ならびに形状は、本明細書では概して「ガジェット」と称される。概して言えば、ガジェットは、ランタイム時に利用可能であるとしてマークされ、ダッシュボード表示上に位置することができるGEMである。このように、本明細書で使用される場合、用語「GEM」は、概して、ガジェットであるGEM及びガジェットではないGEMの両方を指す。ダッシュボード及びガジェットの例は、2012年10月8日出願の同時継続中の米国仮特許出願第61/711,105号、発明の名称「Configurable User Displays in a Process Control System」に提供され、その内容全体は、参照により本明細書に組み入れられる。
3)レイアウト表示:レイアウト表示は、ユーザインターフェース上の領域またはエリアを提供し、ユーザがその上に他の表示を組織化することを可能にする。レイアウト表示によって、ユーザは、単一の監視画面上に、または数個の監視画面にわたって、表示の配置を作成することが可能である。
4)フォーム表示:フォーム表示は、構成またはランタイム中のデータエントリのためのユーザインターフェースを提供する。ユーザは、フォーム表示を利用してオブジェクトを作成または修正し、構成またはランタイムデータを入力し、値を入力し、概して表示アイテム及びオブジェクトを操作し得る。
表示は、典型的には1つ以上のビューを包含し、それら各々が表示の異なる視覚表現である。表示の各々のビューは、形状(例えば、矩形、楕円形、及び他の形状)及び/または制御(例えば、ラベルまたはテキストボックス)を包含し得、かつオブジェクトライブラリに記憶されるか、またはシステム構成データ記憶実体のように、対応するオブジェクトを有し得る。いくつかの形状、例えば矩形のテキストボックスまたはスタックペインは、構成システムに組み込まれかつその中に記憶され得る(例えば、システムとともにコンパイルされて登録される)。ユーザによって他の形状を作成してもよく、対応する形状オブジェクトがオブジェクトライブラリに、またはシステム構成GEMまたはガジェットと
して記憶されてもよい。
先に述べたように、GEMまたはガジェットは、1つ以上の形状と挙動とを組み合わせた再利用可能な形状である。GEMs及びガジェットは、ユーザによって作成され、エディション内に発行され、構成システム内にオブジェクトとして、例えばライブラリ内に、またはシステム構成内に記憶され得る。GEMは、他のオブジェクトにリンクされてもよく、GEMオブジェクトに対する後続の変更が、他のGEM及び表示において、例えば先に説明されたような方法で、GEMのすべての使用に伝播されてもよい。一実施形態では、ボックス外(OOB)形状、GEM、ガジェット及び表示(いくつかのケースでは、カスタマの特定の産業に対応する)は、構成システムのライブラリに、例えばプリミティブオブジェクトのセットまたはオブジェクトの「スターターセット」として設けられる。
表示と同じように、GEMは、1つ以上の視覚表現またはビューを包含し得る。GEMビューの各々は、1つ以上の組み込まれた、及び/または作成された形状を含む。図12は、例示のバルブGEMの3つの可能なビュー、すなわち垂直ビュー1060a、水平ビュー1060b、及び交互水平ビュー1060cを図示する。GEMのビューを使用して、異なるレベルの詳細、形状の配置を提示することができるか、またはGEMに関する異なる焦点の情報を提示することができる。
比較的静的な形状及びビューに加えて、表示、GEMまたはガジェットは、オペレータがプロセスデータを目視するか、プロセスデータを通してナビゲートするか、またはプロセスデータを変更することを可能にする動的挙動を包含してもよい。動的挙動は、例えばアニメーション及びイベント処理を含み得、それらの両方が以下に述べられる。
アニメーションは、プロセスプラント内部の情報ソースからのプロセスデータを、表示上の様々な形状にマッピングし、プロセスデータをテキストで、またはグラフィカルな方法で示す。アニメーションの結果は、形状のフィールドに(例えば、テキストフィールドに、または視認フィールドに)適用され得、それによって、情報ソースのフィールド値を変更すると、アニメーションが変更されるようにされる。このように、アニメーションは、プロセスデータが機能(例えば、数学的機能)によって操作され、生プロセスデータを意味のある視覚表現に変換することを可能にする。例えば、アニメーションは、矩形形状に適用されて、タンクレベルに対する矩形の充填パーセンテージを示してもよく、またはアニメーションは、テキスト形状に適用され、パーセンテージ値テキストで表示してもよい。
イベントハンドラは、例えばマウスクリック、キーボード操作、及びアクセラレータの主要な動き等のイベントへ定義された応答を行うように構成される。定義された応答は、例えば別の表示のナビゲート、警報の通知、プロセス設定点の変更、データ入力、及び他のそのようなアクションであってもよい。
GEMは、多数の視覚表現またはビューに含まれ得るため、GEMに関連付けられたアニメーション及びイベントハンドラは、いったん作成され、そして様々なビューで再使用され、異なる指向または表現のデータを提供することができる。このように、GEMを作成し、GEM使用をその様々なビューの各々に対して修正するために必要であるカスタムコードの量が低減され得る。
GEMを多くのオブジェクト及び情報ソースにわたって再使用可能にするために、一実施形態では、アニメーション及びイベントハンドラパスは、プレースホルダによって部分的または完全にトークン化される。プレースホルダ値の値は、GEMの特定の使用を構成するときに提供されてもよく、またはプレースホルダ値は、ランタイム時にプログラムさ
れて設定されてもよい。アニメーション及びイベントハンドラは、プレースホルダを参照し得、それによって、プレースホルダの値が、ランタイム時に参照に代入され、特定のオブジェクトに対するパスを決定するようにされる。加えて、GEMと同様に、表示もまた、表示が再使用可能であり得るように、プレースホルダにサポートされ得る。表示インスタンスは、様々なプレースホルダに対する値を提供することによって、構成の一部として作成されるか、またはランタイム時に動的に作成されることができる。
いくつかの実施形態では、情報の再使用及び共有は、グローバルセットを使用することによって生じさせる。グローバルセットは、構成設計者が、多くの無関係な表示及びGEMにわたって、例えば、クライアントヒューマンマシンインターフェース(HMI)セッションの寿命にわたって、ステート及び挙動を構成することを可能にする。グローバルセット内のアイテムは、あらゆる表示またはGEMによって参照されてもよく、かつ使用されてもよく、その結果、多くのアイテム間での再使用及び共有が可能になる。一実施形態では、グローバルセット内の各アイテムは、グローバルセットに対応するオブジェクトにリンクされたオブジェクトに記憶される。
いくつかの実施形態では、情報の再使用及び共有は、スタイル及び/またはスタイルセットを使用することによって生じさせる。スタイルは、フィールド名及び値の対の集合であり、スタイルセットは、スタイルの集合である。一実施形態では、すべての形状は、スタイルをサポートする。形状がユーザによって表示またはGEMのビューに加えられると、スタイルフィールドは、スタイルセットの所望のスタイルに設定されることができる。結果として、加えられた形状は、各フィールドに対するスタイルにおいて定義された値を使用する。スタイル及びスタイルセットは、それぞれのオブジェクトによって、構成システムにおいて表現され得る。
いくつかの実施形態では、名称付き定数は、ユーザの、名称−値の対の作成における柔軟性を可能にする。例えば、図形要素オブジェクト内部のフィールドは、名称付き定数を、タイトルフォントまたはタンク本体色等の値として割り当られる。名称定数は、プロジェクト規定が作成され、フィールド値に割り当てられることを可能にする。プロジェクト規定が変更された場合、名称付き定数値は、1つの中央箇所で更新されることができる。名称付き定数は、例えば、名称、タイトル、記述、及びデータタイプを含み得る。形状使用、アニメーション、コンバータ、テーブル、グローバルセット及びスタイル上のフィールド等の任意のフィールド値が、値に、または名称付き定数に設定されてもよい。
パターン
表示オブジェクトは、1つ以上のパターン、例えば使用パターンまたは派生パターンによって、互いに、また他のオブジェクトと関連し得る。加えて、または代替的には、構成オブジェクトは、1つ以上のパターンによって、互いに、また他のオブジェクトと関連し得る。異なるタイプのパターンの使用は、相互に排他的である必要はない。例えば、様々な態様の数個のパターンを組み合わせてもよい。
使用パターンは、概して定義に基づくオブジェクトのコンテインメントまたはグルーピングである。図13は、形状使用設計パターンの一例の図を図示する。使用パターンでは、グラフィカルオブジェクト1062aの定義は、1つ以上の他のグラフィカルアイテム1062cの1つ以上の使用1062bを含む。インスタンス化されると、これらの使用1062bは、表示の1つのビュー上に提示されたグラフィカルオブジェクト1062aによって定義されたグラフィカル形状を表現する。各使用1062bは、フィールド、イベント、及び挙動等の内部アイテムに対するデフォルトを含む定義を有し得る。一実施形態では、そのような内部アイテムが構成され得る。
形状使用パターンは、所望であれば、多数のレベルをネストされてもよい。図14は、例示のネストされた形状使用設計パターンのクラス図を図示する。例えば、表示は、GEMを包含することができ、これは、別のGEMまたは形状を包含することができる。
図15は、抽出された、ネストされた形状使用の一例を図示する。図15では、使用C1(参照1065a)は、使用B1(参照1065b)の定義に基づく。 ユーザは、別の使用からの1つ以上の内部アイテムを修正(例えば、オーバーライドまたは微調整)し得る。例えば、図15では、使用C1(参照1065c)の変更は、微調整である。
オブジェクトが関連し得る別のパターンは、派生パターンである。例示の派生パターンの図を、図16に図示する。派生パターンは、集約を使用することなく定義が拡張される(上述の形状使用パターンのケースのように)ことを可能にする。特に、派生パターンは、ヒエラルキ内の別のレベルを作成することなく、新しい定義1068aの作成を可能にする。このように、「根拠」定義1068aにおけるすべての内部アイテムは、派生された定義1068bに含まれる。
派生パターンは、ネストされた多数のレベルであってもよく、例えば、派生された定義は、別の派生された定義に基づいてもよく、これは、最終的には派生されていない定義の根拠となり得る。任意の所望の数のネストされたレベルが可能であり得る。図17は、ネストされた派生パターンの一例を図示し、新しい定義1070aが第1の派生された定義1070bから作成され、第1の派生された定義は第2の派生された定義1070cから作成され、第2の派生された定義は、派生されていない定義(図示せず)から作成されている。
フレキシブルなアイテム及びオブジェクト
先に述べたように、オブジェクトは、フレキシブルに定義され、構成システムで使用され得る。フレキシブルなオブジェクトは、1つ以上の内部アイテムを含み、これはひいては、一実施形態では別のオブジェクトによって定義され得る。構成システムに含まれ得るフレキシブルなアイテム、オブジェクト、及び内部アイテムの説明は、以下の通りである。これらの説明は、グラフィカルまたは表示オブジェクトのコンテクストで提示されているが、本明細書で述べられた概念及び属性は、構成オブジェクトにも適用される。
フィールドは、所与のオブジェクトのステートまたは属性を表現する内部アイテムである。例えば、矩形サイズは、幅フィールド及び高さフィールドに記憶される。各フィールドは、名称及び値を有し得る。一実施形態では、フィールドに関連付けられた付加的なメタデータは、フィールドの他の属性、例えば、フィールドがアニメーション化されることができるか否か、フィールドが読み取り専用であるか否か、及びフィールドのデータタイプを示す。メタデータは、例えば所与のオブジェクトの構成に使用され得る。フィールドの値は、文字列等の簡易なデータタイプであってもよく、または別のオブジェクトに対する参照、例えば、ライブラリオブジェクト、形状オブジェクト、またはプロセス要素オブジェクトであってもよい。フィールドの値は、一実施形態では、ユーザによって修正されるかまたはオーバーライドされてもよい。
プレースホルダは、定義されたアイテムが多数の他のオブジェクトにわたって使用されることを可能にする一般化された内部アイテムである。例えば、表示オブジェクトに対しては、プレースホルダは、アニメーション及びイベントハンドラが、様々な図形または表示オブジェクト及び情報ソースパスにわたって一般化され再使用されることを可能にする図形アイテムであり得る。このように、プレースホルダは、間接処置のレベルを提供し、ランタイム時に値によって解決される。いくつかの実施形態では、プレースホルダは、ネストされ得る。
パラメータは、フィールドのステートまたは属性を表現する内部アイテムである。例えば、表示及びグラフィカルオブジェクトに対しては、パラメータは、値及びステータスを有する図形アイテムであり得る。パラメータは、GEM、ガジェット、表示及びダッシュボード、レイアウト及びフォーム、グローバルセット等の図形アイテムに加えられ得る。パラメータは、典型的にはランタイム中は可視ではない。しかしながら、パラメータは、値を参照する式を作成することによって、ランタイム中のオブジェクトの可視態様に影響し得る(例えば、アニメーション)。ユーザは、パラメータをオブジェクトに加え得るが、いくつかの実施形態では、ユーザは、パラメータを特定のライブラリアイテムまたはプリミティブオブジェクトに加えることが可能ではない場合がある。
機能は、特定のオブジェクトに対する挙動を提供する内部アイテムである。例えば、表示及びグラフィカルオブジェクトでは、機能は、グループまたはグローバルセットから提供された図形アイテムまたは一般的挙動であり得る。例えば、一グループの視覚アイテムは、付加形状()機能を提供し得るか、またはグローバルセットは、オープン表示()機能を提供し得る。 いくつかの機能は、ユーザによって組み込まれ得、そのため修正可能ではない場合がある。他の機能が、ユーザによって作成されてもよい。機能は、一実施形態では、プログラミングAPIまたはスクリプトを介してランタイム中に実行され得る。加えて、機能は、1つ以上の引数、例えば、定数、フィールドの値、別のオブジェクトに対する参照、またはパラメータに対する参照を取り得る。いくつかのインスタンスでは、機能は、値、例えば、定数、フィールドの値、別のオブジェクトに対する参照、またはパラメータに対する参照を返し得る。
アニメーションは、情報ソースまたはオブジェクトから内部アイテムのフィールドにデータをマッピングする内部アイテムである。例えば、表示または図形オブジェクトに対しては、アニメーションは、矩形の充填パーセントフィールドに、またはラベルのテキストプロパティにデータをマッピングし得る。アニメーションは、式の参照された値が変更されると再評価され、及び/または再計算される式を含む。加えて、アニメーションは、対象フィールド、例えば、再計算された式の結果で更新されることになる親オブジェクト上のフィールドに関連付けられる。このように、ランタイム時に、アニメーションの計算値が変更されると、対象フィールドは、再計算された値で更新され、それによって画面描画を変更させる。一実施形態では、アニメーションは、更新頻度を含み、数式結果を変換するためのコンバータを含み得る。
コンバータは、アニメーションの数式結果を最終的なアニメーション結果に変換する内部アイテムである。例えば、変換は、数式の再計算された値(結果)、結果のデータタイプまたはフォーマット、結果及びデータタイプの両方を変換し得るか、または変換は、数式の結果にいくつかの他のタイプの変換を行い得る。各コンバータタイプは、ユーザによって構成されることができる特定のフィールドを含み得る。
イベントは、アクション及び応答を定義するオブジェクトの内部アイテムである。イベントの定義は、典型的にはイベントトリガ、例えばユーザクリック、マウスの動き、マウスのホバリング、またはデータ変更を含む。任意には、イベントはまた、トリガを作動させると1つ以上の応答機能または挙動を実行するイベントハンドラによって定義される。イベントハンドラは、ユーザによって構成され得るか、予め構成された定義へのOOB挙動として提供され得るか、または特定の形状への組み込まれた挙動として提供され得る。特定のイベントに対するイベントハンドラを加えることは、カスタマが、特定のトリガに基づく挙動を作成することを可能にする。
各イベントトリガは、1つ以上の特定の引数をサポートし得る。概して、イベントトリ
ガは、イベントトリガを作動させるオブジェクトを示す送信側引数を含む。加えて、イベントトリガは、イベントのタイプに適切であるオプションの引数、例えば作動時に送信される情報を含み得る。例えば、マウスクリックトリガは、送信側引数のみを有し得、一方でマウス移動トリガは、送信側引数と、マウス移動トリガが作動されると送信されるマウス位置座標(例えば、X、Y)とを有し得る。いくつかのケースでは、イベントは、ユーザアクションに基づいて作動されないが、オブジェクトのフィールド値またはシステムステートが、例えば初期状態から定常ステートに変更されると作動される。
いくつかの実施形態では、イベントハンドラは、イベントトリガに対して構成される。これらの実施形態では、イベントハンドラは、イベントトリガが作動されると呼び出され、トリガ作動に応答して1つ以上の機能を実行する。一実施形態では、ユーザは、利用可能な機能(例えば、表示、ウィンドウ、またはグローバルセットに利用可能な機能)とともに実行されるカスタム挙動または論理を含むように、イベントハンドラを定義する。
テーブルは、入力値及び出力結果を有する1つ以上のデータ構造を含む内部アイテムである。テーブルは、一実施形態では、テーブルコンバータとともに使用され、入力値を1つのデータタイプから別に変換し得る。例えば、図形オブジェクトに対しては、テーブル使用は、プロセス値を色にコンバートするか、またはプロセス値を文字列にコンバートすることを含み得る。このように、テーブルは、入力値の範囲に対する結果を構成するための非プログラミング的方法を提供する。テーブルは、入力値の完全一致で、または入力値の範囲で動作し得る。
形状オブジェクトは、複雑かつ特化された視覚アイテムの視覚表現、例えばGEM及び表示を作成するためにともに組み合わせられた、基本的な一般化された視覚的構築ブロックである。いくつかの形状オブジェクトは、組み込みであってもよく(例えば、構成システムで実行可能にインストールされたOOBを有していてもよく)、本明細書ではプリミティブ形状と称される。プリミティブ形状は、数個のカテゴリ、例えば寸法形状(例えば、矩形、線、楕円)、他の形状が配置されることができるコンテナ(例えば、グループ、パネル、グリッド)、または制御(例えば、テキストボックス、ドロップダウンコンボボックスまたはバッチリスト制御、トレンド)のうちの1つに属し得る。
各形状は(プリミティブであってもなくても)定義を有する。定義は、例えば1つ以上のフィールド、アニメーション、イベントトリガを有するイベント、ハンドラ、及び/または接続点を含み得る。一実施形態では、形状は、スタイルフィールドをサポートし得る。典型的には、ほとんどの形状は、構成可能かつ修正可能である。例えば、矩形は、構成システムの組み込みとして設けられ、ユーザは、フィールド値を設定し、イベントまたはアニメーションを矩形使用に加えることによって、矩形オブジェクトを修正し得る。ユーザは、修正された矩形形状を新しいオブジェクトとして保存し得、それを承認後発行し得る。
図18は、矩形の定義1078に基づいて作成された形状使用Rect1(参照1075)の一例を図示する。ユーザは、幅1080a及び高さ1080bフィールドの値を、矩形定義のデフォルト値から変更している。加えて、ユーザは、幅フィールドを対象とするアニメーション1082aを加えており、値を適切にスケール変更するために範囲コンバータ1082bを加えている。また、ユーザは、クリックイベント1085bに対して、使用1075上にイベントハンドラ1085aを加えており、イベントハンドラは、オープン表示()機能を呼び出すように構成されている。一実施形態では、特にオーバーライドされたフィールド(例えば、1080a、1080b)のみが残されている。すなわち、形状使用1075は、定義1078にリンクバックし、値がオーバーライドされていない任意のフィールドは、定義1078(または、いくつかのケースではスタイル)から
生じる。例えば、矩形定義1078のフォアグラウンドブラシが青からグレーに変更された場合、フォアグラウンドブラシをオーバーライドしていない任意の使用(例えば、使用Rect1 1075)は、変更が矩形定義1078エディションから伝播された後、青のフォアグラウンドブラシを有する。
幾何学的形状定義に関し、グループ形状は、数個の形状が、視認性、サイズ変更、割付/指向、及びイベント等のアクションに対する1つの形状として扱われることを可能にする。このように、グループ形状は、各自それぞれの(X,Y)座標方位を相対的に維持する多数の形状のコピーである。グループのフィールド及びイベントの挙動及びどのようにしてこれらがグループ内部に包含された形状のフィールド及びイベントに影響するかは、構成可能であってもよい。例えば、ダイナモは、グループ形状の1つのタイプである。
パネル形状は、グループ形状と同様であってもよいが、包含された形状のレンダリングの(例えば、サイズ、位置、配置等における)より特定的な制御を可能にし得る。パネル内部のアイテムは、概してパネルの特定のエリアに対し命令されるかまたはドッキングされ、グループと異なり、相対的座標設置を有していない。パネルは、正確なアイテム数がわかっていない場合に、ユーザにアイテムを制御するための能力とパネルまたは包含されたウィンドウがサイズ変更されるときに、アイテムごとに個々に移動させる必要なく、アイテムを視覚的に配置するための能力とを与える。また、パネルは、ブランクスペースを除去し重複を避けるために他のアイテムの位置を調整することによって、アイテムがパネル内部で加えられるか、除去されるか、または隠されたときの挙動を提供する。
コネクタ使用は、プロセスプラント内の物理的にリンクしている要素、例えばワイヤ、管、ダクト、またはコンベヤを表現する。構成中、接続点は、形状使用への接続使用の接続の指標を意味する。コネクタ使用は、構成中に形状使用が移動したときに、コネクタを追跡、経路変更及びサイズ変更することを可能にする。特に、コネクタは、その定義されたアルゴリズム及び設定に従って、追従及び経路設定される。このように、コネクタは、表示上に他の表示オブジェクトとともにリンクし、それぞれのプロパティ及び挙動によって定義された形状である。表示上に位置し、接続されると、コネクタは、異なる形状使用の周囲に経路設定されることが可能である。構成ユーザは、コネクタの割付または経路設定を修正し、デフォルト視覚要素を定義し、及び/またはコネクタ使用の接続点を修正することができる。
レイヤは、現在のタスクと干渉し得るか、または形状使用の不注意による修正を防止し得る、形状を隠してロックすることによって、構成時にユーザの編集経験を組織化し改善するために使用されることができる別のタイプの表示オブジェクトである。レイヤは、表示定義及び/またはGEMビュー定義の構成を支援するように、形状使用を組織化するための方法を提供する。また、レイヤは、例えばヘルプ、メンテナンスまたは診断レイヤ等の詳細を示したり隠したりすることによって、ランタイム特徴を提供するような組織化された形状を提供するためにも使用することができる。
特に、ビューは、1つ以上のレイヤを有し得る。ビュー内部の形状は、特定のレイヤに関連付けられ得る(例えば、形状オブジェクト及びレイヤオブジェクトがリンクされ得る)。特定のレイヤが構成のみとして、または構成及びランタイムの両方として指定されることができる。レイヤは、可視であるかまたは隠されることができる。レイヤは、不注意による選択または修正を防止するようにロック及びロック解除されることができる。レイヤの視認性が変更されると、値は、包含されたGEM使用に名称で一致するすべてのレイヤに再帰的に伝播し得る。例えば、「ヘルプ」レイヤの視認性は、ヘルプレイヤに関連付けられたあらゆるGEM使用に適用される。
ユーザ作成アイテム及びオブジェクト
上述のフレキシブルなオブジェクトのうちの少なくともいくつかは、ユーザによって作成され得る。
表示−ランタイム時にユーザによって開かれることができる視覚アイテム等。表示は、典型的には、動作しているプロセスのビューを表現するか、またはプロセスの特定のエリアに関する詳細を提供する。
GEM及びガジェット−プロセス内部のプロセス要素または他の実体を表現し、表示または他のGEM上に含まれ得る(例えば、位置し得る)構成された形状等。例えば、デバイス、制御モジュール、ダイナモ、表示ビューまたは他のプロセス要素は、GEMによって表現され得る。GEMは、プラントまたはプロセス内部のプロセスの同じタイプの設備またはパーツの異なるインスタンスを表現するように、再使用可能であるように構成され得る。このように、GEMは、構成されて一度試験されるが、他のGEM及び表示で多数回使用され得る。典型的には、GEMは、名称、タイトル、記述、選択されたビュー及び他のフィールド、例えばテーブル、イベント、パラメータ及び機能を含む。GEMは、例えば他のGEMにおいて、または表示内部でネストされることができる。典型的には、GEMは、GEMの1つ以上の対応する視覚表現を提供する1つ以上のビュー定義を有する。デフォルトビューは、GEMに設けられ得、いくつかの実施形態では、ユーザは、デフォルトビューを変更することが可能であり得る。もちろん、ユーザは、GEMによって定義されたフィールドのうちのいずれも変更することが可能であり得る。
ガジェットは、一実施形態では、ランタイム時に利用可能であり、ダッシュボード表示上に位置することができるGEMである。オペレータは、例えば、ランタイム中にガジェットを作成及び修正することが可能であり得る。
GEM定義は、別のGEM定義から派生され得る。GEMが別のGEMから派生されると、派生されたGEMは、元となるGEMからのすべてのビューを含む。ユーザは、派生されたGEMのこれらのビューを修正し得るか、または派生されたGMEに付加的なビューを加え得る。付加的なビューは、独立していてもよく、現在のGEM定義に定義された既存のビューから派生されてもよく、または元となるGEM定義から作成されてもよい。
GEMが表示のビューまたは別のGEMのビュー内に位置すると、一実施形態では、位置されたGEMは、形状使用になる(例えば矩形またはグループ等の組み込み式形状使用を加えることに類似する)。しかしながら、位置されたGEMは、それぞれ各自の定義にリンクバックされたままにされ、使用に対する変更は、伝播設定及び方策に基づいて伝播される。
GEM使用(例えば、サイズ変更)を修正することは、一実施形態では、グループ使用を修正することに類似する。加えて、GEMまたはガジェットは、構成設計者に提示される標準化されるかまたは部分的に標準化されたフォームを使用して構成され得る。
ビュー−表示またはGEM内部の視覚表現等。各表示またはGEMは1つ以上の定義されたビューを有し得る。視覚的またはグラフィカルなアイテム(例えば、形状及び他のGEM)が、ビュー定義に加えられ得る。ビューは、独立していてもよく、同じ親定義またはベースの親定義の内部の別のビューから派生されてもよい。
独立したビュー定義は、典型的には、それら全体のコンテンツ及び情報、例えば形状、静的に構成されたフィールド値、アニメーション、及びイベントハンドラを定義する。このように、独立したビュー定義は、包含されている表示またはGEM定義内部の任意の他
のビュー定義に基づいていない。しかしながら、表示またはGEM定義は、独立し、共通のビューから派生されない多数のビューを有し得る。
一方、派生されたビュー定義は、典型的には同じコンテナ定義内部の別のビュー定義に基づく。コンテナ定義が派生されると、ビュー定義は、コンテナ定義の元となる定義のビューから派生されることができる。例えば、表示AがビューA及びビューBを定義する場合。表示Bが表示Aから派生されると、その後表示Bは、デフォルトでビューA及びビューBを有するが、ビューCをビューBから派生されたとして定義し得る。
ビュー定義は、ユーザが構成し得るかまたはユーザがこれらのフィールドを対象にするアニメーションを加え得る既知のフィールドのセットを含み得る。また、ビュー定義は、ユーザがイベントハンドラを加え得る、既知のトリガを有する1つ以上のイベントを含み得る。加えて、特定のビュー定義は、形状使用、例えば、元となるビューからのすべての使用に加えて、特定のビュー定義に加えられた任意の形状使用を含む。ビューは、名称スペースを設けてもよく、それによって、ビュー定義内部のアイテムがユニークに名付けられるようにされる。
グローバルセット−リリースされていない表示、ガジェット及びGEMから参照されることができるステート(例えば、値)及び挙動(例えば、機能)を保持する構成されたアイテム等。概して、グローバルセットは、いかなる視覚表現もランタイム時に有していないが、ランタイム時に利用可能である。グローバルセットは、単一のものとしてマークされ得るか、またはグローバルセットは、オブジェクトのインスタンスまたはグループに対応し得る。このように、グローバルセットは、多くのオブジェクト間で情報を共有し再使用するための方法を提供する。
スタイル及びスタイルセット−1つの場所で変更され、一貫性を維持するために形状使用または他の視覚アイテムのセット全体にわたって適用され得るフィールド名称及び値(例えば、フィールド/値の対)の集合等。スタイルセットは、スタイルの集合であり、典型的には名称、タイトル、記述、及び場合によっては他のフィールドを含む。一実施形態では、形状がスタイルセットを有していると、スタイル内のフィールドに対する値は、フィールドがオーバーライドされておらず、アニメーション化されていない場合、形状に適用される。スタイルセットは、編集可能かつ版付け可能であり得る。
このように、上述されたように、構成システムは、視覚的または図形アイテムのロバストなセットをサポートし、それらの各々がそれぞれのオブジェクトによって定義される。視覚的または図形アイテムのセットは、例えば、1つ以上の表示定義、ダッシュボード、レイアウト、GEM定義、ガジェット定義、グローバルセット、組み込み式形状定義、グループ定義、ビュー定義、形状使用、グループ使用、ダイナモ、GEM使用、ガジェット使用、クローム使用、領域使用、パネル使用、接続点、コネクタ、アニメーション、コンバータ、イベントトリガ、イベントハンドラ、プレースホルダ、パラメータ、機能、テーブル、名称セット、スタイル、及び/またはスタイルセットを含み得る。視覚的または図形アイテムのセットの少なくとも一部が、ユーザによって作成または修正され得る。
さらに、各視覚的または図形アイテムを定義するオブジェクトは、例えば、1つ以上の内部アイテム、例えばフィールド、イベントトリガ、機能、ビュー定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、テーブル、名称セット、コンバータ、組み込み式形状の使用、GEMの使用、ガジェットの使用、クローム使用、領域使用、グループ使用、ダイナモ、パネル使用、接続点、コネクタ、グローバルセット、スタイルセット、及び/またはスタイルを含み得る。視覚的または図形アイテムのオブジェクトにおいて定義された内部アイテムの各々は、構成システムに組み込まれるか、ユーザによっ
て加えられるか、定義によって構成されるか、または別のアイテムに参照され得る。
変更、修正、及び微調整
先に述べたように、ユーザは、オブジェクト定義のコンテンツを変更、修正、または微調整し得る。すなわち、ユーザは、オブジェクトの1つ以上の内部アイテムを変更し、一方でそれぞれの元となるその定義へのリンクを維持し得る。これらの変更、修正または微調整は、例えばオブジェクトのコンテンツ(例えば、フィールドまたは他の内部アイテム)に対する付加、削除、及び/または修正を含み得る。さらに、これらの変更は、エディション内に発行されると、概してオブジェクトの元となる定義よりも優先度が高く、新しいエディションが伝播されたときに修正された定義からの変更が適用されることをさらに可能にし得る。例えば、定義に包含されたアイテム(例えば、GEM)が修正され、使用または派生されたビューにおいて微調整された場合、微調整は優先度が高い。しかしながら、アイテムが元となる定義外に削除されると、使用または派生された定義に対する微調整は失われる。例えば、元となる定義に包含されたアイテム(例えば、GEM)が削除されるが、それは使用または派生された定義において先に微調整されていた。この例では、微調整が失われる。さらに、元となる定義に包含されたアイテム(例えば、GEM)が修正されたが、使用または派生された定義において削除されている場合、元となる定義に対する変更は、使用または派生された定義に伝播されない。
一実施形態では、特定の子オブジェクトまたは使用への微調整は、一実施形態では、元となる定義に押し戻され得る。一例では、元となる定義は、子に対してなされた微調整を含む新しいエディションに更新され、微調整は、子から除去される。
図19〜21は、様々な視覚アイテム及びオブジェクトに対してなされ得る修正または微調整の例を図示する。特に、図19は、使用パターンに適用されたフィールド値上書き微調整の一例を図示する。図19では、幅フィールド値1090a及び高さフィールド値1090bは、オーバーライドされている。
図20は、派生パターンに適用されたフィールド値上書き微調整の一例を図示する。図20では、幅フィールド値1092a及び高さフィールド値1092bは、オーバーライドされている。
図21は、多数のレベルでのオブジェクトに対する多数の修正または微調整の一例を図示する。特に、図21は、どのようにしてより低い定義に適用された微調整が次のレベルに対するデフォルト値になるか(例えば、参照1095a〜1095c)、どのようにして値が多数のレベルでオーバーライドされ得るか(例えば、参照1098a、1098b)、及びどのようにして最も外側の定義に対するオーバーライドが高い優先度を有するか(例えば、参照1100)を図示する。
図19〜21に図示されるように、微調整することは、一実施形態では、使用パターン及び派生パターンで実行され得る。さらに、微調整または修正は、構成アイテムまたはオブジェクトに対して、及び/または視覚的または図形アイテムまたはオブジェクトに対してなされ得る。例えば、視覚的または図形アイテムのセットは、例えば、1つ以上の表示定義、ダッシュボード、レイアウト、GEM定義、ガジェット定義、グローバルセット、組み込み式形状定義、グループ定義、ビュー定義、形状使用、グループ使用、ダイナモ、GEM使用、ガジェット使用、クローム使用、領域使用、パネル使用、接続点、コネクタ、アニメーション、コンバータ、イベントトリガ、イベントハンドラ、プレースホルダ、パラメータ、機能、テーブル、名称セット、スタイル、及び/またはスタイルセットを含み得る。さらに、微調整は、他のオブジェクト定義に含まれる1つ以上のオブジェクト、例えばフィールド、イベントトリガ、機能、ビュー定義、イベントハンドラ、アニメーシ
ョン、プレースホルダ、パラメータ、テーブル、名称セット、コンバータ、組み込み式形状の使用、GEMの使用、ガジェットの使用、クローム使用、領域使用、グループ使用、ダイナモ、パネル使用、接続点、コネクタ、グローバルセット、スタイルセット、及び/またはスタイル上で実行され得る。
実装される場合、本明細書で説明された方法及び技法のいずれかまたはそれらの一部は、1つ以上の非一時的有形コンピュータ可読記憶媒体またはメモリ、例えばコンピュータもしくはプロセッサのRAMもしくはROM等における磁気ディスク、レーザディスク、光ディスク、半導体メモリ、他のメモリデバイス、または他の記憶媒体等に記憶された既存のソフトウェアによって実行され得る。
先述のテキストは、数多くの異なる実施形態の詳細な説明を述べているが、本特許の範囲は、本特許の終わりに述べられた特許請求の範囲の文言及びその等価物によって定義されることが理解されるべきである。詳細な説明は、単に例示的なものとして解釈されるべきであり、すべての可能な実施形態を説明することは、不可能ではない場合でも非現実的であるので、すべての可能な実施形態を説明するものではない。数多くの代替の実施形態は、現在の技術または本特許の出願日以降に開発された技術のいずれかを用いて実施されることができ、これらは依然として特許請求の範囲及びそのすべての等価物内に含まれる。例示を目的とし、かつ限定を目的とせず、本明細書における開示は、少なくとも以下の態様を意図する。
1.プロセスプラント内に含まれるプロセス実体に対応するプロセス制御表示ビュー上にインスタンス化される図形要素オブジェクトを構成するための構成表示ビュー上に提示された構成要素であって、構成要素が、プロセスプラントの構成環境内で、図形要素オブジェクトの属性に対するプロパティのセットに対応する構成要素オブジェクトのインスタンス化の実行を含み、構成要素オブジェクトが、構成可能であり、構成要素オブジェクトが、構成表示ビューがインスタンス化される構成表示オブジェクトへのリンクを含み、構成要素オブジェクトのインスタンス化の実行が、図形要素オブジェクトの属性に対するプロパティのセットの視覚表現と、プロパティのセットからの、構成要素において構成されたプロパティに対応するデータを送信するための図形要素オブジェクトへのリンクであって、構成されたプロパティが、図形要素の少なくとも1つの構成された属性に対応する、リンクとを含む、構成要素。
2.構成要素オブジェクトが、プロセスプラントの構成環境内で構成可能である、態様1に記載の構成要素。
3.構成表示オブジェクトが、プロパティのセットが構成要素オブジェクトに対応するように選択される図形要素オブジェクトの属性に対する複数のプロパティに対応する、態様1または2のいずれか1つに記載の構成要素。
4.複数のプロパティが、プロパティのセットが構成要素オブジェクトに対応するように選択された1つ以上のプロパティのセットを含む、態様1〜3のいずれか1つに記載の構成要素。
5.1つ以上のプロパティのセットが、プロセスプラントの構成環境内で構成可能である、態様1〜4のいずれか1つに記載の構成要素。
6.1つ以上のプロパティのセットが、複数のプロパティからプロパティを追加し、及び/またはプロパティのセットからプロパティを削除するように構成可能である、態様1〜5のいずれか1つに記載の構成要素。
7.1つ以上の複数のプロパティが、複数のプロパティのうちの選択されたものを含むプロパティのセットを作成するように構成可能である、態様1〜6のいずれか1つに記載の構成要素。
8.構成表示ビューのインスタンス化が、構成要素オブジェクトが構成されるときの構成要素オブジェクトのインスタンス化のプレビューを含む、態様1〜7のいずれか1つに記載の構成要素。
9.構成要素オブジェクトのインスタンス化の構成を記憶することをさらに含み、構成が、プロパティのセットからの、構成要素において構成されたプロパティの値を含む、態様1〜9のいずれか1つに記載の構成要素。
10.構成要素オブジェクトのインスタンス化の構成を記憶することが、図形要素オブジェクトの属性のプロパティの値を読み取ることと、プロパティの値を、構成要素オブジェクトのインスタンス化の構成の少なくとも一部として記憶することと、を含む、態様1〜9のいずれか1つに記載の構成要素。
11.構成要素オブジェクトのインスタンス化の構成を記憶することが、構成要素オブジェクト内のプロパティの選択された値を読み取ることと、プロパティの値を、構成要素オブジェクトのインスタンス化の構成の少なくとも一部として記憶することと、を含む、態様1〜10のいずれか1つに記載の構成要素。
12.構成表示オブジェクトのインスタンスが、図形要素オブジェクトに対する1つ以上の属性の視覚表現を含む、態様1〜11のいずれか1つに記載の構成要素。
13.図形要素オブジェクトに対する1つ以上の属性が、形状を含み、プロパティのセットが、形状の多数の視覚表現を含む、態様1〜12のいずれか1つに記載の構成要素。
14.プロパティのセットが、形状の線幅、形状の色、及び形状に対するラベルのフォントのうちの1つ以上に対するオプションを含む、態様1〜13のいずれか1つに記載の構成要素。
15.図形要素オブジェクトに対する1つ以上の属性が、動的なグラフィカル挙動を含み、プロパティのセットが、動的なグラフィカル挙動の多数の視覚表現を含む、態様1〜14のいずれか1つに記載の構成要素。
16.プロパティのセットが、動的なグラフィカル挙動のアニメーション、及び動的なグラフィカル挙動の提示のうちの1つ以上に対するオプションを含む、態様1〜15のいずれか1つに記載の構成要素。
17.プロパティのセットからの構成要素において構成されたプロパティが、図形要素オブジェクトに対する形状のプロパティを含み、図形要素オブジェクトに対する形状が、構成表示ビューのインスタンス化において構成される、態様1〜16のいずれか1つに記載の構成要素。
18.方法であって、プロセスプラントの構成環境内の構成要素オブジェクトインスタンスにおいて、構成環境内の図形要素オブジェクトの少なくとも一部の構成の指標を受信することであって、構成要素オブジェクトインスタンスが、(i)プロセスプラントの構成環境において、構成要素オブジェクトから構成され、かつ図形要素オブジェクトに対す
るプロパティのセットを定義し、(ii)構成要素オブジェクトから構成環境にインスタンス化され、(iii)構成環境内で、構成表示オブジェクトのインスタンスにおいて実行され、構成表示オブジェクトインスタンスが、図形要素オブジェクトを構成するための複数のプロパティを定義する、受信することと、構成の定義を生成し、定義された構成を図形要素オブジェクトにリンクし、それによって、構成定義を、図形要素オブジェクトのインスタンス化で使用させることと、ランタイム環境内で、構成定義を図形要素オブジェクトインスタンスの少なくとも一部に適用し、それによって、構成された図形要素オブジェクトインスタンスを生成することと、ランタイム環境内で、表示オブジェクトインスタンス内の構成された図形要素オブジェクトインスタンスを実行することであって、表示オブジェクトインスタンスが、(i)構成環境において、表示オブジェクトから構成され、(ii)表示オブジェクトからランタイム環境にインスタンス化され、(iii)ランタイム環境内で実行され、それによって、それぞれのプロセス要素にリンクされる、実行することと、を含む、方法。
19.構成表示オブジェクトが、図形要素オブジェクトに対する複数のプロパティに対応し、図形要素オブジェクトに対するプロパティのセットが、構成要素オブジェクトに対応するように、複数のプロパティから選択される、態様18に記載の方法。
20.複数のプロパティが、1つ以上のプロパティのセットを含み、図形要素オブジェクトに対するプロパティのセットが、構成要素オブジェクトに対応するように、1つ以上のプロパティのセットから選択される、態様18または19のいずれか1つに記載の方法。
21.構成表示オブジェクトが、構成要素オブジェクトが構成されるときの構成要素オブジェクトのインスタンス化のプレビューを含む、態様18〜20のいずれか1つに記載の方法。
22.図形要素オブジェクトの少なくとも一部の構成の指標を受信することが、構成要素オブジェクトのインスタンス化の記憶された構成を受信することを含み、記憶された構成が、図形要素オブジェクトに対して、プロパティのセットから構成要素オブジェクトにおいて構成された図形要素オブジェクトに対するプロパティの値を含む、態様18〜21のいずれか1つに記載の方法。
23.構成の定義を記憶することをさらに含み、構成の定義が、図形要素オブジェクトに対して、プロパティのセットからの構成要素において構成されたプロパティの値を含む、態様18〜22のいずれか1つに記載の方法。
24.構成の定義を記憶することが、図形要素オブジェクトのプロパティの値を読み取ることと、プロパティの値を、構成要素オブジェクトのインスタンス化の構成の少なくとも一部として記憶することと、を含む、態様18〜23のいずれか1つに記載の方法。
25.構成の定義を記憶することが、構成要素オブジェクト内のプロパティの選択された値を読み取ることと、プロパティの値を、構成要素オブジェクトのインスタンス化の構成の少なくとも一部として記憶することと、を含む、態様18〜24のいずれか1つに記載の方法。
26.構成の定義を生成することが、図形要素オブジェクトのプロパティの値を生成することを含む、態様18〜25のいずれか1つに記載の方法。
27.構成表示オブジェクトインスタンスが、図形要素オブジェクトに対する1つ以上
の属性の視覚表現を含む、態様18〜26のいずれか1つに記載の方法。
28.図形要素オブジェクトに対する1つ以上の属性が、形状を含み、プロパティのセットが、形状の多数の視覚表現を含む、態様18〜27のいずれか1つに記載の方法。
29.プロパティのセットが、形状の線幅、形状の色、及び形状に対するラベルのフォントのうちの1つ以上に対するオプションを含む、態様18〜28のいずれか1つに記載の方法。
30.図形要素オブジェクトに対する1つ以上の属性が、動的なグラフィカル挙動を含み、プロパティのセットが、動的なグラフィカル挙動の多数の視覚表現を含む、態様18〜29のいずれか1つに記載の方法。
31.プロパティのセットが、動的なグラフィカル挙動のアニメーション、及び動的なグラフィカル挙動の提示のうちの1つ以上に対するオプションを含む、態様18〜30のいずれか1つに記載の方法。
前述の方法のいずれか、または前述の方法の任意の組み合わせを行うように構成された装置。