(57)【要約】      （修正有）【解決手段】プロセスプラント内の構成変更を同期させるための技術は、オブジェクト及び関連する依存オブジェクトに対する知的かつ効率的な更新を可能にする。加えて、プロセスプラント内の軽微な構成変更を同期させるための技術は、ランタイム中にオブジェクトに対するリアルタイム更新を可能にする。【効果】プロセスプラントのオンライン動作に対するダウンタイム量を低減し、プロセス制御ネットワーク上で送信される情報量を低減する。各オブジェクトは、プロセス実体に対応し得、依存オブジェクトは、オブジェクトによって参照され得るか、またはオブジェクトを参照し得る。エンジニアは、その後、修正されたオブジェクトと同期させるべき依存オブジェクトを選択し、依存オブジェクト及び修正されたオブジェクトは、ランタイムシステム内の対応するデバイスによって同期及び実行される。【選択図】図１０
2019003652.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラント内で依存オブジェクトを同期させるためのコンピューティングデバイスであって、前記コンピューティングデバイスは、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに連結された非一時的コンピュータ可読媒体であって、そこに構成アプリケーションを記憶し、前記構成アプリケーションが、前記１つ以上のプロセッサによって実行されたとき、前記コンピューティングデバイスに、
第１のプロセス実体に対応する第１のオブジェクトに対する修正を受信することと、
ランタイムでの動作のために前記修正された第１のオブジェクトをインスタンス化する要求を受信することと、
少なくとも１つの未確定の修正を有する、前記修正された第１のオブジェクトに関する１つ以上の第２の依存オブジェクトを識別することであって、前記１つ以上の第２の依存オブジェクトが、それぞれの第２のプロセスプラント実体に各々対応する、識別することと、
前記修正された第１のオブジェクトのインスタンス化、及び生成されることになる前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つのインスタンス化を引き起こすことと、
前記第１のプロセス実体及び前記第２のプロセス実体が、それぞれ、前記修正された第１のオブジェクトの前記インスタンス化、及び前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化に従ってランタイムで動作するように、前記修正された第１のオブジェクトの前記インスタンス化、及び実行されることになる前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化を引き起こすことと、を行わせる、非一時的コンピュータ可読媒体と、を備える、コンピューティングデバイス。
【請求項２】
前記構成アプリケーションは、前記コンピューティングデバイスに、
前記１つ以上の第２の依存オブジェクトの指標をユーザに提示することと、
前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つの選択を前記ユーザから受信することと、
生成されることになる前記少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、をさらに行わせる、請求項１に記載のコンピューティングデバイス。
【請求項３】
前記１つ以上の第２の依存オブジェクトの指標を前記ユーザに提示するために、前記構成アプリケーションは、前記コンピューティングデバイスに、
前記修正された第１のオブジェクトによって直接参照されるか、または前記修正された第１のオブジェクトを直接参照する、前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つの指標を提示することを行わせる、請求項２に記載のコンピューティングデバイス。
【請求項４】
前記構成アプリケーションは、前記コンピューティングデバイスに、
前記ユーザによる、前記少なくとも１つの第２の依存オブジェクトに関する第３の依存オブジェクトを提示する要求を受信することと、
前記少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトの指標を提示することと、をさらに行わせる、請求項３に記載のコンピューティングデバイス。
【請求項５】
前記構成アプリケーションは、前記コンピューティングデバイスに、
前記少なくとも１つの第２の依存オブジェクトに関する前記１つ以上の第３の依存オブジェクトを識別することと、
前記少なくとも１つの第２の依存オブジェクトに関する前記１つ以上の第３の依存オブジェクトのうちの少なくとも１つの指標が既に提示されていると判定することと、
既に提示されている前記少なくとも１つの第３の依存オブジェクトの前記指標を提示しないことと、をさらに行わせる、請求項４に記載のコンピューティングデバイス。
【請求項６】
前記第１のオブジェクトに対する前記修正は、前記第１のオブジェクト内のパラメータ値に対する変更を含み、前記構成アプリケーションは、前記コンピューティングデバイスに、
生成及び実行されることになる前記修正された第１のオブジェクトの前記インスタンス化を引き起こす前に、ランタイム中に現在実行されている前記第１のオブジェクト内の前記変更されたパラメータ値を更新することをさらに行わせる、請求項１に記載のコンピューティングデバイス。
【請求項７】
前記構成アプリケーションは、前記コンピューティングデバイスに、
前記第１のオブジェクトに関する複数の第３の依存オブジェクト内の前記変更されたパラメータ値を更新することをさらに行わせる、請求項６に記載のコンピューティングデバイス。
【請求項８】
前記修正された第１のオブジェクトの前記インスタンス化、及び前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化は、同時に生成される、請求項１に記載のコンピューティングデバイス。
【請求項９】
プロセスプラント内で依存オブジェクトを同期させる方法であって、前記方法は、
構成アプリケーションを実行する１つ以上のプロセッサによって、第１のプロセス実体に対応する第１のオブジェクトに対する修正を受信することと、
前記１つ以上のプロセッサによって、ランタイムでの動作のための前記修正された第１のオブジェクトをインスタンス化する要求を受信することと、
前記１つ以上のプロセッサによって、少なくとも１つの未確定の修正を有する、前記修正された第１のオブジェクトに関する１つ以上の第２の依存オブジェクトを識別することであって、前記１つ以上の第２の依存オブジェクトが、それぞれの第２のプロセスプラント実体に各々対応する、識別することと、
前記１つ以上のプロセッサによって、前記修正された第１のオブジェクトのインスタンス化、及び生成されることになる前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つのインスタンス化を引き起こすことと、
前記１つ以上のプロセッサによって、前記第１のプロセス実体及び前記第２のプロセス実体が、それぞれ、前記修正された第１のオブジェクトの前記インスタンス化、及び前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化に従ってランタイムで動作するように、前記修正された第１のオブジェクトの前記インスタンス化、及び実行されることになる前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化を引き起こすことと、を含む、方法。
【請求項１０】
前記１つ以上のプロセッサによって、前記１つ以上の第２の依存オブジェクトの指標をユーザに提示することと、
前記１つ以上のプロセッサによって、前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つの選択を前記ユーザから受信することと、
前記１つ以上のプロセッサによって、生成されることになる前記少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、をさらに含む、請求項９に記載の方法。
【請求項１１】
前記１つ以上の第２の依存オブジェクトの指標を前記ユーザに提示することは、
前記１つ以上のプロセッサによって、前記修正された第１のオブジェクトによって直接参照されるか、または前記修正された第１のオブジェクトを直接参照する、前記１つ以上の第２の依存オブジェクトのうちの少なくとも１つの指標を提示することを含む、請求項１０に記載の方法。
【請求項１２】
前記１つ以上のプロセッサによって、前記ユーザによる、前記少なくとも１つの第２の依存オブジェクトに関する第３の依存オブジェクトを提示する要求を受信することと、
前記１つ以上のプロセッサによって、前記少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトの指標を提示することと、をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記１つ以上のプロセッサによって、前記少なくとも１つの第２の依存オブジェクトに関する前記１つ以上の第３の依存オブジェクトを識別することと、
前記１つ以上のプロセッサによって、前記少なくとも１つの第２の依存オブジェクトに関する前記１つ以上の第３の依存オブジェクトのうちの少なくとも１つの指標が既に提示されていると判定することと、
既に提示されている前記少なくとも１つの第３の依存オブジェクトの前記指標を提示しないことと、をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１のオブジェクトに対する前記修正は、前記第１のオブジェクト内のパラメータ値に対する変更を含み、
前記１つ以上のプロセッサによって、生成及び実行されることになる前記修正された第１のオブジェクトの前記インスタンス化を引き起こす前に、ランタイム中に現在実行されている前記第１のオブジェクト内の前記変更されたパラメータ値を更新することをさらに含む、請求項９に記載の方法。
【請求項１５】
前記１つ以上のプロセッサによって、前記第１のオブジェクトに関する複数の第３の依存オブジェクト内の前記変更されたパラメータ値を更新することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記修正された第１のオブジェクトの前記インスタンス化、及び生成されることになる前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化を引き起こすことは、前記修正された第１のオブジェクトの前記インスタンス化、及び生成されることになる前記少なくとも１つの第２の依存オブジェクトの前記インスタンス化を、同時に引き起こすことを含む、請求項８に記載の方法。
【請求項１７】
プロセスプラント内でオブジェクトに対するパラメータ値変更を同期させる方法であって、前記方法は、
ランタイム中にプロセス実体に対応するオブジェクトを実行することと、
前記オブジェクト内のパラメータに対する変更された値の指標を受信することと、
前記オブジェクトのランタイム実行を中断させることなく、前記オブジェクトの実行中に、前記変更された値によって前記オブジェクト内の前記パラメータを更新することと、を含む、方法。
【請求項１８】
前記パラメータを更新することは、前記変更された値によって前記パラメータに対する現在値を上書きすることを含む、請求項１７に記載の方法。
【請求項１９】
ランタイム中にプロセス実体に対応するオブジェクトを実行することは、コントローラによって、ランタイム中に前記プロセス実体に対応する前記オブジェクトを実行することを含む、請求項１７に記載の方法。
【請求項２０】
前記変更された値によって前記オブジェクト内の前記パラメータを更新することは、
前記パラメータに対する前記変更された値を前記コントローラに提供することであって、前記コントローラが、前記変更された値によって前記パラメータに対する現在値を上書きする、提供することを含む、請求項１９に記載の方法。
【請求項２１】
実行中に前記変更された値によって前記パラメータを更新するか、または前記パラメータに対する前記変更された値を含む前記オブジェクトの修正されたバージョンをインスタンス化するか否かを自動的に判定することをさらに含み、前記オブジェクトの前記修正されたバージョンは、後続のランタイムサイクル中に実行される、請求項１７に記載の方法。
【請求項２２】
前記オブジェクトに関する複数の依存オブジェクト内の前記パラメータを、前記オブジェクト及び前記複数の依存オブジェクトの実行中に、前記変更された値によって更新することをさらに含む、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、プロセスプラント、より具体的には、プロセスプラントまたはプロセス制御システムのランタイム中の実行のために関連するオブジェクトを同時に同期させることに関する。
【背景技術】
【０００２】
化学プラント、石油プラント、または他のプロセスプラント内で使用されるもののような、分散型プロセス制御システムは、アナログバス、デジタルバス、または混合アナログ／デジタルバスを介して１つ以上のフィールドデバイスに通信可能に連結された１つ以上のプロセスコントローラを典型的に含む。フィールドデバイスは、例えば、バルブ、バルブポジショナ、スイッチ、及び送信機（例えば、温度センサ、圧力センサ、レベルセンサ、及び流量センサ）であり得るが、プロセス環境内に配置され、バルブを開くことまたは閉じること、プロセスパラメータを測定すること等のようなプロセス機能を実行する。公知のＦｉｅｌｄｂｕｓプロトコルに従うフィールドデバイス等のスマートフィールドデバイスもまた、コントローラ内に共通して実装された制御計算、警報機能、及び他の制御機能を実行し得る。プロセスコントローラは、これもまた典型的にはプラント環境内に配置されるが、フィールドデバイスによって行われるプロセス測定を示す信号、及び／またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御決定を行い、受信した情報に基づき制御信号を生成し、ＨＡＲＴ及びＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等のフィールドデバイスで実行されている制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、制御信号を通信線上でフィールドデバイスに送信し、これによってプロセスプラントの動作を制御する。
【０００３】
フィールドデバイス及びコントローラからの情報は、制御室またはより過酷なプラント環境から離れた他の位置内に典型的に配置されたオペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等のような１つ以上の他のハードウェアデバイスに通信ネットワーク上で通常、利用可能とされる。これらのハードウェアデバイスは、アプリケーションを実行させ、これは、例えば、オペレータまたはエンジニアが、プロセス制御ルーチンの設定変更、コントローラまたはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の閲覧、フィールドデバイス及びコントローラによって生成された警報の閲覧、従業員の訓練またはプロセス制御ソフトウェアのテストの目的のためのプロセスの動作の模擬、構成データベースの維持及び更新等のような、プロセスに関する機能を実行することを可能にする。
【０００４】
例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な場所に配置された異なる装置内に記憶され、それらの異なる装置によって実行される複数のアプリケーションを含む。１つ以上のオペレータワークステーション内に備わる、構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、及びデータハイウェイを介した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実行し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつプロセス制御ルーチン内の設定点等の設定のオペレータによる変更を可能にするために表示アプリケーションが使用するオ
ペレータインターフェイスを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、及び一部の場合においては、１つ以上のフィールド装置は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶及び実行する。閲覧アプリケーションは、１つ以上のオペレータワークステーション上（またはオペレータワークステーション及びデータハイウェイと通信接続状態にある１つ以上の遠隔コンピューティングデバイス上）で実行され得るが、データハイウェイを介してコントローラアプリケーションからデータを受信し、ユーザインターフェースを使用してこのデータをプロセスコントローラシステム設計者、オペレータ、またはユーザに表示し、オペレータのビュー、エンジニアのビュー、技術者のビュー等のような、任意の数の異なるビューを提供し得る。データヒストリアンアプリケーションは、データヒストリアンデバイス内に典型的に記憶され、かつそれによって実行され、データヒストリアンデバイスは、データハイウェイにわたって提供されたデータの一部または全部を収集及び記憶するが、一方で設定データベースアプリケーションは、現在のプロセス制御ルーチン構成及びそれらと関連付けられたデータを記憶するためにデータハイウェイに属するまたさらなるコンピュータ内で実行し得る。あるいは、構成データベースは、構成アプリケーションと同じワークステーション内に配置されてもよい。
【０００５】
現在、構成アプリケーションは、機能ブロックテンプレートオブジェクト、及び一部の場合において制御モジュールテンプレートオブジェクト等の、テンプレートオブジェクトまたはテンプレートアイテムのライブラリを典型的に含む。これらの構成アプリケーションは、プロセスプラントのための制御方策を構成するために、及びプロセスプラントのユーザインターフェースで表示ビューを提供するために使用される。テンプレートオブジェクトは全て、デフォルトパラメータ、設定、及びそれらと関連付けられた方法を有する。構成アプリケーションを使用するエンジニアは、これらのテンプレートオブジェクトを選択し、モジュール、例えば、制御モジュールを展開するために、選択したテンプレートオブジェクトのコピーを構成画面内に本質的に配置することができる。テンプレートオブジェクトを選択して構成画面内に配置するプロセス中に、エンジニアは、これらのオブジェクトの入力及び出力を相互接続させ、プロセスプラント内の特定用途のための特定制御モジュールを作成するためにそれらのパラメータ、名称、タグ、及び他のプロパティを変更する。１つ以上のこのような制御モジュールを作成した後、エンジニアは、作成されたモジュールをライブラリ内または構成データ記憶エリア内に記憶し得る。エンジニアは、その後、制御モジュールをインスタンス化し（例えば、作成される制御モジュールに対応する実行可能ファイルを生じさせる）、それを適切な１つまたは複数のコントローラ、フィールドデバイス、及びプロセスプラントの動作中の実行のための他のプロセス要素にダウンロードする。
【０００６】
その後、エンジニアは、表示作成アプリケーション内で表示オブジェクトを選択及び構築することによってプロセスプラント内でオペレータ、保守従業員等に対する１つ以上の表示を概して作成する。これらの表示は、ワークステーションのうちの１つ以上内でシステム基盤全体に典型的に実装され、プラント内の制御システムまたはデバイスの動作状態に関してオペレータまたは保守従業員に予め構成された表示を提供する。典型的に、これらの表示は、プロセスプラント内のコントローラまたはデバイスによって生成された警報を受信及び表示する警報表示、コントローラ及びプロセスプラント内で制御される他のデバイスの動作状態を示す制御表示、プロセスプラント内のデバイスの機能状態を示す保守表示等の形式をとる。これらの表示は、既知の様式で、プロセス制御モジュール、デバイス、またはプロセスプラント内の他のプロセス要素から受信した情報またはデータを表示するように概して予め構成される。一部の既知のシステムにおいて、表示は、物理的要素または論理的要素と関連付けられた図形を各々有し、かつ物理的要素または論理的要素に関するデータを受信するために物理的要素または論理的要素に各々通信可能に紐付けられ
るオブジェクトの使用を通して作成される。オブジェクトは、例えば、タンクが半分満たされていることを例解する、流量センサによって測定された流量を例解する等のために、受信したデータに基づいて表示画面上で図形を変更し得る。
【０００７】
制御構成アプリケーションと同様、表示作成アプリケーションは、タンク、バルブ、センサ、スライドバーのようなオペレータ制御ボタン、オン／オフスイッチ等のようなテンプレート図形表示アイテムを有し得、これらは、オペレータ表示、保守表示等を作成するために任意の所望の構成で画面上に配置され得る。テンプレート図形表示アイテムは、構成オブジェクトと共にテンプレートライブラリ内に記憶され得るか、または異なるテンプレートライブラリ内に記憶され得る。画面上に配置されるとき、個々の図形アイテムは、プロセスプラントの内部作業の一部の情報または表示を異なるユーザに提供する様式で画面上に相互接続され得る。しかしながら、図形表示をアニメーション化するために、表示作成者は、図形アイテムとプロセスプラント内の関連するデータソースとの間の通信リンクを特定することによって、センサによって測定されたデータまたはバルブ位置の指標等のようなプロセスプラント内で生成されたデータに図形アイテムの各々を手動で結び付けなければならない。さらに、表示が一度作成されると、それは、その構成及びレイアウト内で静止する。
【０００８】
制御構成アプリケーション内の制御テンプレートオブジェクト及び表示作成アプリケーション内の表示アイテムは、それらが多くの異なる制御モジュール及び図形表示を作成するためにコピー及び使用されることができるので、便利であるが、プロセスプラント内の異なる設備及びディスプレイのための大量の同一制御モジュール及び図形表示を作成する必要性がしばしば存在する。例えば、大規模プロセスプラントに対する多くの媒体は、同一の基本汎用制御モジュール及びディスプレイを使用して制御及び閲覧され得る同一または類似設備の大量のインスタンスを有する。
【０００９】
この問題に対処するために、米国特許第７，０４３，３１１号（この開示の全体は、本明細書の参照によって本明細書に明白に組み込まれる）は、ユーザが大量の制御モジュール、ユニットもしくは設備モジュール、または表示モジュールを共通モジュールクラスオブジェクトから作成することを可能にするように、モジュールクラスオブジェクトとも呼ばれるクラスオブジェクト（また本明細書ではクラスオブジェクトまたはクラスと概して称される）を使用するプロセスプラント構成システムを開示する。これらの制御モジュール、設備モジュール、または表示モジュールは、モジュールクラスオブジェクトまたはクラスオブジェクトのインスタンスとして作成され、モジュールクラスオブジェクトの特徴及びプロパティの全てを含み、これによって単一または共通クラスモジュールオブジェクトから複数の類似制御オブジェクト、設備オブジェクト、または表示オブジェクトを作成することを容易にする。インスタンスは、次に、それら自体の子オブジェクトを有し得、このためオブジェクトは、複数世代関係または複数レベル関係を有し得る。
【００１０】
現在、エンジニアがオブジェクトのうちの１つの構成に変更を行うとき（例えば、エンジニアがデフォルトパラメータ、設定、またはそれと関連付けられた方法のうちの１つを変更する、パラメータを追加するか、または削除する等）、エンジニアは、オブジェクトの更新された構成を保存し、ランタイム中に更新された構成を実行するために、更新された構成を表示アプリケーションまたはコントローラにダウンロードする。複数オブジェクトが互いに依存するとき（例えば、第２のオブジェクトが第１のオブジェクトを参照するか、または第２のオブジェクトが第１のオブジェクトによって参照されるとき）、エンジニアは、依存オブジェクトを識別し、次のランタイムサイクル中にオブジェクトを実行する前に両方のオブジェクトが適宜、更新されるために生じるように依存オブジェクトの各々に対するダウンロードを調整する。例えば、プロセスプラント内の２つのデバイスに対応する第１のオブジェクト及び第２のオブジェクトが互いに独立であり、かつオブジェク
トのうちの１つの構成が更新されるとき、エンジニアは、他のオブジェクトの構成を識別及び更新し、その後、２つのオブジェクトを同時にまたは互いと併せてダウンロードする。その後、エンジニアは、デバイスに対応するモジュールを識別し、モジュールに対応するオブジェクトをダウンロードする。またさらに、エンジニアは、デバイス及びモジュールに対応する表示ビューを識別し得、表示ビューに対応するオブジェクトをダウンロードし得る。このプロセスは、冗長であり、時間がかかり、エラーを伴い得る。
【００１１】
さらに、エンジニアが、パラメータを追加しないもしくは削除しない、またはランタイム論理に影響を与えないオブジェクト内のパラメータ値に対する変更等の、オブジェクトのうちの１つに対する軽微な変更を行うとき、エンジニアは、ランタイム中に更新された構成を実行するために、表示アプリケーションまたはコントローラにオブジェクトの更新された構成全体を保存及びダウンロードしなければならない。これは、オブジェクトのランタイム論理の実行を中断させ得、更新された構成全体をダウンロードするときに通信ネットワーク上で貴重な帯域幅を奪う。例えば、軽微な変更を行うために、オンライン動作が、修正されたオブジェクトがダウンロードされる前に停止され、その後、オンライン動作が再開される必要があり得る。
【発明の概要】
【００１２】
プロセスプラント内のエンジニアがオブジェクト（例えば、モジュールクラスオブジェクト）を修正するとき、エンジニアは、修正されたオブジェクトを表示アプリケーション、コントローラ、フィールドデバイス、またはランタイム中の実行のための他のプロセス要素に同期させることを要求し得る。プロセスプラント内の同期システムは、その後、未確定の修正または構成変更をまた有する、修正されたオブジェクトに関する依存オブジェクトを識別する。本明細書で使用される「依存オブジェクト（ｄｅｐｅｎｄｅｎｔ  ｏｂｊｅｃｔ）」は、別のオブジェクトを参照するか、または別のオブジェクトによって参照されるオブジェクトを意味し得る。加えて、「ダウンロード（ｄｏｗｎｌｏａｄ）」という用語は、ランタイム中の実行のためのオンラインシステムへの修正されたオブジェクトのインスタンス化を意味するように本明細書で使用される。「同期させる（ｓｙｎｃ）」という用語は、単一動作を使用する両方向性更新を意味するように本明細書で使用される。これは、修正されたオブジェクトの構成またはインスタンス化、及びオンラインシステムによる修正されたオブジェクトのランタイム実行を含む。両方向性更新は、オンライン動作を中断させることなくオンラインシステム内で局所的になされた構成変更を更新するために、ダウンロード及びアップロードが別個に実行される代替アプローチよりも有利である。
【００１３】
依存オブジェクトを識別するに際し、同期システムは、同時に、または修正されたオブジェクトと併せて同期させるように依存オブジェクトのサブセットを選択するためにエンジニアに依存オブジェクトを提示する。その後、同期システムは、オブジェクト及び選択された依存オブジェクトのサブセットの修正された構成が実行中に含まれ得るために、修正されたオブジェクト及び選択された依存オブジェクトのサブセットを同期させる。このように、同期は、知的かつ効率的に実行される。
【００１４】
加えて、エンジニアが、オブジェクト内のパラメータ値に対する変更等の、軽微な変更を行うとき、同期システムは、軽微な変更を表示アプリケーション、コントローラ、フィールドデバイス、またはランタイム中にオブジェクトを実行する他の要素に提供する。オブジェクトを実行する要素は、その後、現在のパラメータ値を上書きし、次回、要素が、対応するパラメータにアクセスし、更新されたパラメータ値が、使用のために利用可能になり得る。このように、軽微な変更は、ランタイム中に更新され得、それによりオンライン動作は、軽微な変更が実行中に同期され含まれる前に中断されない。一部のシナリオにおいて、エンジニアは、オンライン動作が途切れずに続くようにオブジェクトに対する軽
微な変更のための同期を実行するために、「軽微同期（ｓｙｎｃ−ｌｉｔｅ）」選択肢を選択し得る。他のシナリオにおいて、同期システムは、エンジニアが軽微な変更を行った後にオブジェクトを同期させることを要求するとき、軽微同期手順を自動的に識別及び実行する。
【図面の簡単な説明】
【００１５】
【図１】プロセスプラントまたはプロセス制御システム内に配置された例示的な分散型プロセス制御ネットワークのブロック図であり、プロセスプラントまたはプロセス制御システムに対する制御活動及び表示活動を構成するためにモジュールクラスオブジェクトを使用する構成アプリケーション、ならびにモジュールクラスオブジェクトを表示及び実行する表示アプリケーションを実装するワークステーションを含んでいる。
【図２】モジュールクラスオブジェクトとユニット、設備、制御、及び表示タイプのモジュールクラスオブジェクトに対する関連するモジュールオブジェクトとの相互関係を例解する例示的な論理図である。
【図３】モジュールオブジェクトの指標及びモジュールオブジェクトを同期させるためのユーザ制御を含む構成アプリケーションによって提示された例示的な画面表示である。
【図４】モジュールオブジェクトと同期させるために依存オブジェクトを選択するためのユーザ制御を有する構成アプリケーションによって提示された例示的なオブジェクト選択表示である。
【図５】モジュールオブジェクトと同期させるために依存オブジェクトを選択するためのユーザ制御を有する構成アプリケーションによって提示された別の例示的なオブジェクト選択表示である。
【図６】依存オブジェクトに関するさらなる依存オブジェクトを表示するためのユーザ制御を有する構成アプリケーションによって提示されたさらに別の例示的なオブジェクト選択画面である。
【図７】モジュールオブジェクトと同期させるために依存オブジェクトを選択するためのユーザ制御を有する構成アプリケーションによって提示された別の例示的なオブジェクト選択表示である。
【図８】モジュールオブジェクトと同期させるために間接依存オブジェクト及び直接依存オブジェクトを選択するためのユーザ制御を有する構成アプリケーションによって提示されたさらに別の例示的なオブジェクト選択表示である。
【図９】軽微同期手順を実行することに対してモジュールオブジェクト及びユーザ制御に対する軽微な変更を行うための構成アプリケーションによって提示された例示的な画面表示である。
【図１０】プロセスプラント内の関連するオブジェクトを同期させるための例示的な方法のフロー図である。
【発明を実施するための形態】
【００１６】
ここで図１を参照すると、プロセスプラント１０は、例えば、イーサーネット接続またはバス１５を介して大量のワークステーション１４に連結された１つ以上のプロセスコントローラ１２を含む。コントローラ１２はまた、複数の組の通信線またはバス１８を介してプロセスプラント１０内のデバイスまたは設備に連結されるが、図１に例解されているコントローラ１２ａに接続された一組の通信線１８のみを伴う。通信線またはバス１８は、例えば、有線接続、無線接続、または有線接続及び無線接続の組み合わせであり得る。コントローラ１２は、Ｆｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって販売されているＤｅｌｔａＶ（商標）コントローラのみを使用する例によって実装され得るが、プロセスプラント１０全体に分散されたフィールドデバイス及びフィールドデバイス内の機能ブロック等の制御要素と通信することができることで、１つ以上のプロセス制御ルーチン１９を実行し、これによってプロセスプラント１０またはプロセスプラ
ント１０内の１つ以上のプロセス動作の所望の制御を実装する。ワークステーション１４（例えば、パーソナルコンピュータであり得る）は、コントローラ１２によって実行されることになるプロセス制御ルーチン１９、及びワークステーション１４または他のコンピュータによって実行されることになる表示ルーチンを設計し、かつこのようなプロセス制御ルーチン１９をコントローラ１２で同期させるためにコントローラ１２と通信するために１人以上の構成エンジニアによって使用され得る。さらに、ワークステーション１４は、プロセスプラント１０の動作中にプロセスプラント１０またはその要素に属する情報を受信及び表示する表示ルーチンを実行し得る。
【００１７】
ワークステーション１４の各々は、構成設計アプリケーション、及び表示アプリケーションまたは閲覧アプリケーション等のアプリケーションを記憶するための、ならびにプロセスプラント１０の構成に属する構成データ等のデータを記憶するためのメモリ２０を含む。ワークステーション１４の各々はまた、構成エンジニアがプロセス制御ルーチン及び他のルーチンを設計することを可能にし、かつこれらのプロセス制御ルーチンをコントローラ１２でもしくは他のコンピュータに同期させるか、またはプロセスプラント１０の動作中にユーザに対して情報を収集及び表示するようにアプリケーションを実行するプロセッサ２１を含む。いくつかの実施形態において、遠隔コンピューティングデバイスは、構成エンジニアがワークステーション１４から遠隔でアプリケーションを実行し得るように、ワークステーション１４と通信可能に接続している（例えば、ネットワークまたはウェブ基盤インターフェースを介して）。
【００１８】
またさらに、コントローラ１２の各々は、制御アプリケーション及び通信アプリケーションを記憶するメモリ２２、ならびに任意の既知の様式で制御アプリケーション及び通信アプリケーションを実行するプロセッサ２４を含む。１つの場合において、コントローラ１２の各々は、複数の異なる、独立して実行される制御モジュールまたはブロック１９を使用して制御方策を実装するコントローラアプリケーションを記憶及び実行する。制御モジュール１９は、機能ブロックとして一般に称されるものから各々なり得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、例えば、プロセスプラント１０によって実行される１つ以上のプロセスの動作を制御するために、プロセスプラント１０内のプロセス制御ループを実装するように他の機能ブロックと併せて動作する（リンクと呼ばれる通信を介して）。
【００１９】
公知のように、機能ブロックは、オブジェクト指向プログラミングプロトコル内のオブジェクトであり得るが、送信機、センサ、または他のプロセスパラメータ測定デバイス等のフィールドデバイスと関連付けられるような入力機能か、ＰＩＤ、ファジー論理等の制御を実行する制御ルーチンと関連付けられるような制御機能か、またはプロセスプラント１０内の一部の物理的機能を実行するために、バルブまたは他のフィールドデバイス等の一部のデバイスの動作を制御する出力機能のうちの１つを典型的に実行する。当然のことながら、モデル予測コントローラ（ＭＰＣ）、オプティマイザ等の複合タイプ及び他のタイプの複雑な機能ブロックも存在する。Ｆｉｅｌｄｂｕｓプロトコル及びＤｅｌｔａＶシステムプロトコルは、オブジェクト指向プログラミングプロトコル内で設計及び実装された制御モジュール及び機能ブロックを使用するが、制御モジュールは、例えば、シーケンシャルファンクションチャート、ラダーロジック等を含む任意の所望の制御プログラミングスキームを使用して設計されてもよく、機能ブロックまたは任意の他の特定プログラミング技術を使用して設計されることに限定されない。
【００２０】
ワークステーション１４は、プロセス制御ルーチン１９内の制御要素を例解する表示画面及びこれらの制御要素が、プロセスプラント１０の制御を提供するように構成される様式を介して、コントローラ１２内のプロセス制御ルーチン１９の図形描写をユーザに提供し得る。図１のシステムにおいて、構成データベース２５は、コントローラ１２及びワー
クステーション１４によって使用される構成データを記憶し、かつ一部の場合において将来の使用のためにプロセスプラント１０内で生成されたデータを収集及び記憶することによってデータヒストリアンとして働くように、イーサーネットバス１５に接続される。実施形態において、構成データベース２５は、ライブラリアイテム（例えば、テンプレート及びクラスモジュール）及び構成データに対応するシステム構成アイテム（例えば、ライブラリアイテムから作成されたオブジェクト）を含み得る。このように、構成データベース２５は、ライブラリデータ記憶エリアとシステム構成記憶エリアとに論理的及び／または物理的に仕切られ得る。
【００２１】
図１に例解されるプロセスプラント１０において、コントローラ１２ａは、バス１８を介して、ここでは３つの反応装置＿０１、反応装置＿０２、及び反応装置＿０３と称される３組の類似構成の反応装置（プラント１０内の複製設備である）に通信可能に接続される。反応装置＿０１は、反応装置容器または反応装置タンク１００、反応装置容器１００内に酸、アルカリ、及び水をそれぞれ提供する流体入口ラインを制御するために接続された３つの入力バルブシステム（設備実体である）１０１、１０２及び１０３、ならびに反応装置容器１００の流体流出を制御するために接続された出口バルブシステム１０４を含む。センサ１０５は、レベルセンサ、温度センサ、圧力センサ等の任意の所望のタイプのセンサであり得るが、反応装置容器１００内またはその近傍に配設される。この考察の目的に対して、センサ１０５は、レベルセンサであると仮定される。さらに、共有ヘッダバルブシステム１１０は、反応装置の各々、反応装置＿０１、反応装置＿０２、及び反応装置＿０３の上流の水ライン上に接続されることで、これらの反応装置の各々への水の流れを制御するためのマスター制御を提供する。
【００２２】
同様に、反応装置＿０２は、反応装置容器２００、３つの入力バルブシステム２０１、２０２及び２０３、出口バルブシステム２０４、ならびにレベルセンサ２０５を含み、一方で反応装置＿０３は、反応装置容器３００、３つの入力バルブシステム３０１、３０２及び３０３、出口バルブシステム３０４ならびにレベルセンサ３０５を含む。図１の例において、反応装置である、反応装置＿０１、反応装置＿０２、及び反応装置＿０３は、入力バルブシステム１０１、２０１及び３０１が酸を提供すること、入力バルブシステム１０２、２０２及び３０２がアルカリを提供すること、ならびに入力バルブシステム１０３、２０３及び３０３が、共有水ヘッダ１１０と併せて、水を反応装置容器１００に提供することによって、塩を生産し得る。出口バルブシステム１０４、２０４及び３０４は、図１の右に導かれる流れラインの外に生成物を送り、図１の下に導かれる流れラインの外に廃棄物または望まれない物質を排出するように動作され得る。
【００２３】
コントローラ１２ａは、反応装置ユニット、反応装置−０１、反応装置＿０２、及び反応装置＿０３に関する１つ以上の動作を実行するためにこれらの要素の動作を制御するように、バス１８を介してバルブシステム１０１〜１０４、１１０、２０１〜２０４及び３０１〜３０４、ならびにセンサ１０５、２０５及び３０５に通信可能に連結される。このような動作は、概してフェーズと呼ばれるが、例えば、反応装置容器１００、２００、３００を充填すること、反応装置容器１００、２００、３００内の物質を加熱すること、反応装置容器１００、２００、３００の廃棄物を放出すること、反応装置容器１００、２００、３００を洗浄すること等を含み得る。
【００２４】
図１に例解されたバルブ、センサ、及び他の設備は、例えば、Ｆｉｅｌｄｂｕｓデバイス、標準４〜２０ｍａデバイス、ＨＡＲＴデバイス、無線ＨＡＲＴデバイス等を含む任意の所望の種類またはタイプの設備であり得、Ｆｉｅｌｄｂｕｓプロトコル、ＨＡＲＴプロトコル、無線ＨＡＲＴプロトコルまたは他の無線プロトコル、４〜２０ｍａアナログプロトコル等のような、任意の既知または所望の通信プロトコルを使用するコントローラ１２（例えば、コントローラ１２または１２ａのいずれか）と通信し得る。概して、プロセス
環境内に配置され、かつプロセスの制御に直接影響を与える機能（例えば、開閉バルブ、制御アルゴリズムもしくはループ内で使用されることになる測定機能、及び／または他の機能）を実行するデバイスは、本明細書で「フィールドデバイス（ｆｉｅｌｄ  ｄｅｖｉｃｅ）」と称される。
【００２５】
またさらに、他のタイプのデバイスは、本明細書で考察される原理によって、コントローラ１２に接続され、それによって制御され得る。例えば、コントローラ１２は、１つ以上の入力／出力（Ｉ／Ｏ）デバイス（図示せず）に接続され得、次に、１つ以上のフィールドデバイスに接続され得る。Ｉ／Ｏデバイスは、典型的には、１つ以上のフィールドデバイス、コントローラ１２、及び／またはプロセス制御システム間の通信を可能にするようにコントローラ１２によって使用される。このように、Ｉ／Ｏデバイスはまた、プロセスを制御するために制御アルゴリズムまたはループの直接的な実行の参加者であり得る。したがって、コントローラ、Ｉ／Ｏデバイス、及びフィールドデバイスは、本明細書で「プロセス制御デバイス（ｐｒｏｃｅｓｓ  ｃｏｎｔｒｏｌ  ｄｅｖｉｃｅ）」として概して及び分類上、称される。当然のことながら、「プロセス制御デバイス」という用語は、コントローラ、Ｉ／Ｏデバイス、及びフィールドデバイスのみに限定されず、プロセスプラントまたはプロセス制御システム内でプロセスを制御するために実行されることになる制御アルゴリズム、及び／またはループに参加するか、もしくはそれらに対して要求される他のデバイスも含み得る。
【００２６】
加えて、他の数及びタイプのコントローラが、プロセスプラント１０と関連付けられた他のデバイスまたはエリアを制御するためにプラント１０内で接続され得、このような追加のコントローラの動作は、任意の所望の様式で図１に例解されたコントローラ１２ａの動作と調整され得る。いくつかの実施形態において、図１のプロセスプラント１０は、アクセスポイント、プラント１０内の無線ネットワーク及び有線ネットワーク間のゲートウェイ、他のネットワークへのゲートウェイ、中継器、ルータ等のような、プロセスプラント１０内の無線通信（図示せず）のためのプラント１０内または外等の１つ以上のノードを含む。無線通信のためのこれらのノードは、コントローラ１２、ワークステーション１４、構成データベース２５、フィールドデバイス、他の無線有効ノード、及び他のデータベースまたはデータ記憶デバイスに通信可能に連結され得る（有線プロトコル、無線プロトコル、またはそれらの組み合わせを使用して）。
【００２７】
概して言うと、図１のプロセスプラント１０は、例えば、ワークステーション１４またはコントローラ１２ａの一方がバッチ実行ルーチンを実行するバッチプロセスを実装するように使用され得、バッチ実行ルーチンは、特定タイプの塩等の製品を生産するために必要とされる一連の異なるステップ（一般にフェーズと称される）を実行するために反応装置ユニット（及び他の設備）の１つ以上の動作を指図する高位制御ルーチンである。異なるフェーズを実装するために、バッチ実行ルーチンは、実行されることになるステップ、ステップと関連付けられた量及び時間、ならびにステップの順序を特定する、レシピと一般に称されるものを使用する。１つのレシピに対するステップは、例えば、適切な物質または成分で反応装置容器を充填すること、反応装置容器内で物質を混合すること、一定時間、一定温度に反応装置容器内の物質を加熱すること、反応装置容器を空にすること、及びその後、次のバッチ運転のための調製のために反応装置容器を洗浄することを含み得る。ステップの各々は、バッチ運転のフェーズを定義し、コントローラ１２ａ内のバッチ実行ルーチンは、これらのフェーズの各々１つに対して異なる制御アルゴリズムを実行することになる。当然のことながら、特定の物質、物質の量、加熱温度、時間等は、異なるレシピに対して異なり得、その結果、これらのパラメータは、製造または生産される製品及び使用されるレシピに応じてバッチ運転ごとに変更され得る。当業者は、制御ルーチン及び構成が、図１に例解された反応装置内のバッチ運転について本明細書で説明されるが、制御ルーチンが、所望される場合に、任意の所望のバッチプロセス運転を実行するために
、または連続プロセス運転を実行するために、他の所望のデバイスを制御するために使用され得ることを理解するであろう。
【００２８】
また理解されるように、バッチプロセスの同一フェーズまたは同一ステップが、同一時間または異なる時間に図１の異なる反応装置ユニットの各々に実装され得る。さらに、図１の反応装置ユニットが同数及び同一タイプの設備を概して含むので、特定フェーズのための同一の包括的フェーズ制御ルーチンは、この包括的フェーズ制御ルーチンが、異なる反応装置ユニットと関連付けられた異なるハードウェアまたは設備を制御するために修正される必要があることを除いて、異なる反応装置ユニットの各々を制御するために使用され得る。例えば、反応装置＿０１に対する充填フェーズ（反応装置ユニットが充填される）を実装するために、充填制御ルーチンが、一定時間、例えば、容器１００が充填されたことをレベルメータ１０５が検知するまで、入力バルブシステム１０１、１０２及び１０３と関連付けられた１つ以上のバルブを開くことになる。しかしながら、この同一制御ルーチンは、バルブシステム１０１、１０２及び１０３の代わりにバルブシステム２０１、２０２及び２０３と関連付けられたものとなる入力バルブの指定を単に変更することによって、かつレベルメータ１０５の代わりにレベルメータ２０５になるようにレベルメータの指定を変更することによって、反応装置＿０２に対する充填フェーズを実装するために使用され得る。
【００２９】
プロセス構成を作成及び変更するために、図１のワークステーション１４のうちの１つ内に記憶された構成アプリケーション５０は、プロセス制御プラント１０を構成することに使用するための一式のモジュールクラスオブジェクト５２を含む。モジュールクラスオブジェクトは、大量の複製設備組を有するプラントを構成するときに特に有用である。概して言うと、異なるモジュールクラスオブジェクト５２は、プロセスプラント１０内で複製または使用される各々異なるタイプの物理的ユニットまたは設備、プロセスプラント１０内で複製または使用される各タイプの制御活動、プロセスプラント１０内で複製または使用される各々異なるタイプの表示アプリケーション等に対して作成され得る。一度作成されると、モジュールクラスオブジェクト５２は、モジュールクラスオブジェクトに対応するプロセスプラント１０の要素を構成するために使用され得る。
【００３０】
モジュールクラスオブジェクト５２は、本質的に包括的バージョンのプロセス実体であり、かつ任意の特定プロセス実体に紐付けられていないが、それらと関連付けられたより低位のオブジェクトまたはインスタンス５３、５４、５５及び５６（本明細書ではモジュールオブジェクトまたはモジュールブロックと称される）を有し得る。本明細書で使用される「プロセス実体（ｐｒｏｃｅｓｓ  ｅｎｔｉｔｙ）」という用語は、一体的に識別、分類またはグループ化され得るプロセスプラント１０または環境のサブセットを概して意味する。例えば、プロセス実体は、プラントの物理的エリア、設備のタイプ、制御機能のタイプ、関連する表示グループ、または他の分類であり得る。プロセス実体は、他のプロセス実体を含み得る。例えば、「バルブ（ｖａｌｖｅ）」に対応するプロセス実体は、「ガスバルブ（ｇａｓ  ｖａｌｖｅ）」または「水バルブ（ｗａｔｅｒ  ｖａｌｖｅ）」等のより低位のプロセス実体を含み得、より低位のプロセス実体「水バルブ」は、「単一方向水バルブ（ｕｎｉｄｉｒｅｃｔｉｏｎａｌ  ｗａｔｅｒ  ｖａｌｖｅ）」及び「両方向水バルブ（ｂｉｄｉｒｅｃｔｉｏｎａｌ  ｗａｔｅｒ  ｖａｌｖｅ）」等のさらに低位のプロセス実体を含み得る。
【００３１】
上記のように、本明細書で使用される、モジュールクラスオブジェクトは、概して、プロセス実体の包括的または分類上の指標である。モジュールオブジェクト５３、５４、５５、５６は、モジュールクラスオブジェクトから作成または派生され得、したがって作成元または派生元のモジュールクラスオブジェクトと同一構造及び同一プロパティを受け継ぎ得る。しかしながら、各モジュールオブジェクトは、プロセスプラント１０内の特定の
実体に紐付けられる。したがって、単一モジュールクラスオブジェクト５２は、特定タイプの反応装置ユニットを表すように作成され得るが（それらの反応装置ユニットがプラント１０内に存在する数にかかわらず）、一方で異なるモジュールオブジェクト５３が、そのタイプがプラント１０内に実際に存在する異なる反応装置ユニットの各々に対して存在し得るか、または作成され得る。
【００３２】
モジュールクラスオブジェクトから作成または派生されたモジュールオブジェクトは、モジュールクラスオブジェクトと関連付けられ、かつモジュールクラスオブジェクトによって所有される。結果として、モジュールクラスオブジェクトになされた変更は、そのモジュールクラスオブジェクトと関連付けられたモジュールオブジェクトの各々内で反映され得るか、またはそれらに伝播され得る。それゆえに、多数のモジュールオブジェクトが特定モジュールクラスオブジェクトから作成されていると共に、異なるプロセス実体に紐付けられた異なるモジュールオブジェクトの各々を伴うとき、異なるモジュールオブジェクトの各々は、モジュールクラスオブジェクトを単純に変更し、かつ関連するモジュールオブジェクトに下位に伝播される変更を有することによって変更され得る。考察されるように、伝播は、モジュールクラスオブジェクトが変更されたときに自動的に生じ得るか、または伝播の時間は選択され得る。
【００３３】
図１のモジュールクラスオブジェクト５２は、オブジェクト指向プログラミング環境またはオブジェクト指向プログラミング言語でオブジェクトと一般に称されるものであり得る。結果として、これらのオブジェクトは、他のオブジェクトを所有するか、またはそれらを参照する能力を有する。概して言うと、モジュールクラスオブジェクト５２は、制御ルーチン、設備またはプロセス実体と関連付けられた他の要素等の個々の要素の指標または定義と共に、これらの個々の要素が、物理的要素が相互接続される方式または論理的要素が物理的要素と併せて動作する方式等の、互いに相互作用する様式の定義または指標を含み得る高位のオブジェクトである。言い換えると、モジュールクラスオブジェクトは、例えば、オブジェクト指向プログラミング言語内のオブジェクトであり得、これは、プロセスプラント１０内の設備、制御要素、ディスプレイ等の特定の１つまたはグループの制御及び閲覧のための基盤を提供し、プロセス制御プラント１０内の異なる複製設備を構成するために使用されることになるその要素の多くのインスタンスを作成するために有用であり得る。
【００３４】
基本的に、各モジュールクラスオブジェクトは、異なる制御アプリケーション及び／または表示アプリケーションの全ての形式のプロセス実体の包括的定義、またはその実体を制御するためにコントローラ１２によって、もしくはその実体に関する表示活動を実行するためにワークステーション１４によって使用されることになるその実体に適用可能なルーチンを含む構成コンテナである。モジュールクラスオブジェクトは、ユニット、設備の部品、制御実体、表示アプリケーション等のような、任意の性質のプロセス実体を表し得る。プロセスプラント１０の構成中、モジュールクラスオブジェクトは、モジュールクラスオブジェクトによって提供された定義に順応する任意の数の異なるプロセス実体の構成インスタンスを作成するために使用され得、各構成インスタンス（モジュールクラスオブジェクトから作成されたモジュールオブジェクト）が、異なる実際のプロセス実体と関連付けられているか、またはそれに紐付けられていることを伴う。これらの異なるモジュールオブジェクトは、とりわけ、プロセスプラント１０内に配設されるときに特定プロセス実体に結び付けられた制御ルーチン及び／または表示ルーチンを含み、これらの制御ルーチンが、プロセス実体上で実際の制御活動を実行するために図１のコントローラ１２内で同期及び使用されることができ、表示ルーチンが、プロセスプラント１０の動作中に実体に関する実際の表示活動を実行するためにワークステーション１４で同期され得ることを伴う。
【００３５】
異なるタイプのモジュールクラスオブジェクトは、異なる範囲のプロセス実体を反映し得、それゆえに、異なる範囲のプロセス実体上またはそれに関して動作するように構成された制御ルーチン及び／または表示ルーチンを含有する。ユニット等のプロセス実体の範囲がより広くなればなるほど、より多くの制御ルーチン及び／または表示ルーチンがモジュールクラスオブジェクトと典型的に関連付けられることになり、それらのモジュールクラスオブジェクトを使用してプラントの区分を構成することがより簡単になる。しかしながら、モジュールクラスオブジェクトと関連付けられたプロセス実体の範囲が広くなればなるほど、プロセスがその範囲で複製設備を含むことになる見込みが低下し、したがって、モジュールクラスオブジェクトが大規模に有用である見込みが低下する。逆に言えば、モジュールクラスオブジェクトと関連付けられたプロセス実体の範囲が狭くなればなるほど、モジュールクラスオブジェクトがプラントの様々な異なる位置で使用され得る見込みが増加するが、任意の特定インスタンス内でそのモジュールクラスオブジェクトを使用するときに実行される構成数が低下する。任意の事象において、モジュールクラスオブジェクトは、構成が制御モジュールレベルよりも高位の抽象概念で異なる複製設備に対して実行されることを可能にし、これは、特に、ユニットレベル等の広い範囲のモジュールクラスオブジェクトを使用するときに複製ユニット及び他の設備を含むプロセスプラントを構成することをより簡単かつより短時間で行う。
【００３６】
その結果、複数レベルのオブジェクトが可能である。例えば、モジュールクラスオブジェクト５２から作成されたインスタンス５３、５４、５５、５６に対応するオブジェクト（例えば、「インスタンスオブジェクト（ｉｎｓｔａｎｃｅ  ｏｂｊｅｃｔ）」）は、それ自体が一組の１つ以上の子オブジェクト（図示せず）に対する親オブジェクトであり得る。インスタンス子オブジェクトの１つ以上は、さらに別のレベルの子オブジェクトに対する親オブジェクト等であり得る。本明細書で使用される、「プロセス要素オブジェクト（ｐｒｏｃｅｓｓ  ｅｌｅｍｅｎｔ  ｏｂｊｅｃｔ）」は、バルブ、センサ、図形形状、またはコントローラ等の構成が同期される要素のプロセス実体に対応する最低位のオブジェクトを意味する。したがって、プロセス要素オブジェクトは、子オブジェクトを有しないインスタンスオブジェクトであり得る。
【００３７】
一例において、プロセス制御システムを構成するとき、構成エンジニアは、図１の異なる反応装置用等の、プロセスプラント内で複製された異なる要素に対する単一モジュールクラスオブジェクトを作成し得る。その後、構成エンジニアは、図１の実際の反応装置の各々に対するモジュールクラスオブジェクト（モジュールオブジェクト）のインスタンスを作成し得る。各々このように作成されたモジュールオブジェクトは、図１の反応装置のうちの１つを動作させるようにコントローラ１２ａによって使用される制御ルーチンを含むことになり、図１の反応装置のうちの１つ内の設備に具体的に紐付けられるか、または結び付けられる。これらの制御ルーチンは、その後、コントローラ１２ａで同期され、プロセスプラント１０の動作中に使用され得る。しかしながら、一度作成されると、モジュールオブジェクトの各々は、モジュールクラスオブジェクトに依然として紐付けられ、モジュールオブジェクト等へのアクセスを提供または拒絶するために、変更されることになるモジュールクラスオブジェクトによって制御され得る。
【００３８】
加えて、制御ルーチンがコントローラ１２ａで同期され得るが、制御ルーチン及び表示ルーチンはまた、図１のワークステーション１４のうちの１つ内に記憶された表示アプリケーション４８で同期され得る。表示アプリケーション４８は、１つ以上のプロセス表示を作成するためにランタイム中に表示ルーチンを動作または実装し、そしてフィールドデバイスを制御するためのコントローラ１２ａに対する命令を提供するために、かつコントローラ１２ａから通信を受信するためにランタイム中に制御ルーチンを動作または実装し得る。例えば、表示アプリケーション４８は、プロセスプラントの一部分内のプロセス実体の図形描写及びプロセス実体に対応するパラメータに対するパラメータ値を表示するた
めに表示ルーチンを動作させ得る。表示アプリケーション４８はまた、図示されたプロセス実体を制御するための、及び図示されたプロセス実体からオンラインプロセス制御システム内のパラメータ値を受信するためのコントローラ１２ａに対する命令を提供するように制御ルーチンを動作させ得る。表示アプリケーション４８は、その後、表示ルーチンを介してオンラインプロセス制御システムから受信したパラメータ値を表示し得る。他の実施形態において、制御ルーチン、表示ルーチン、及び／または任意の他の適切なプロセスルーチンは、コントローラ１２ａ、表示アプリケーション４８、フィールドデバイス、またはランタイム中にプロセスルーチンを実行する任意の他のプロセス要素の組み合わせにおいて同期され得る。
【００３９】
プロセスプラント内で構成活動を実行するためにプロセスプラント内で作成または使用され得る、多くの異なる可能なタイプのモジュールクラスオブジェクトが存在するが、例として本明細書で考察される４つの具体的なタイプは、ユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトを含む。概して言うと、各々異なるタイプのモジュールクラスオブジェクトは、プロセスプラント１０内の異なる範囲の制御または使用に対して設計または意図される。ユニットモジュールクラスオブジェクトは、プロセスプラント内の設備の幅広い範囲に対する制御活動を表すために（及び構成するために）使用されることが意図される。特に、ユニットモジュールクラスオブジェクトは、例えば、図１の反応装置等の、一部の既知の様式で互いに共同して機能する個々の要素を有する相互関係のある一組の設備をモデル化すること、またはそれらを構成するために使用されることが意図される。
【００４０】
設備モジュールクラスオブジェクトは、プロセスプラント内のより狭い範囲の物理的設備に対する制御活動を表すために（及び構成するために）使用されることが意図される。設備モジュールクラスオブジェクトと関連付けられた設備は、概して、ユニットのサブシステムを作成するバルブ、流量計等のような、１つ以上の物理的実体であり、設備モジュールクラスオブジェクトは、設備の部品上で実行されることになる、コマンド駆動型アルゴリズム（ＣＤＡ）、状態駆動型アルゴリズム（ＳＤＡ）、シーケンシャルファンクションチャート（ＳＦＣ）アルゴリズム、機能ブロック図（ＦＢＤ）アルゴリズム、フェーズアルゴリズム等であり得る、１つ以上のコマンドまたはアルゴリズムを含み得る。したがって、設備モジュールクラスオブジェクトは、ユニット内で使用されるその設備上で基礎的な一組の機能を提供するためにユニット内の複数低位構成要素または実体の制御を構成することを目的とする。既知のように、コマンド駆動型アルゴリズム（コマンド駆動型制御論理）は、低位構成要素が機能を実現するために複数ステップを通して調整されなければならないときに使用される。例えば、バルブは、別のバルブが開かれて、その後、閉じられる間に、特定時間開かれた後に、閉じられる必要があり得る。
【００４１】
制御モジュールクラスオブジェクトは、プロセスプラント内の個々の制御要素または制御モジュールを表すために（及び構成するために）使用されることが意図される。制御モジュールクラスオブジェクトは、バルブ、メータ等のようなプラント実体上、設備の部品上またはさらにユニット上で実行されることになる特定タイプの制御を提供または特定する。概して言うと、制御モジュールクラスオブジェクトは、コントローラ内で実行されることになる一部の制御モジュールを定義する一組の通信可能に相互接続された機能ブロック等の、プロセスプラント内の反復制御活動を実行するために有用な特定タイプの制御プログラミングを提供する。ほとんどの場合において、制御モジュールクラスオブジェクトは、単一デバイスまたは関連する一組のデバイスを操作するために包括的制御方策を提供し得る。
【００４２】
表示モジュールクラスオブジェクトは、プロセスプラント１０の動作中に、制御オペレ
ータ等のユーザによって閲覧されることになる表示活動を表すために（及び構成するために）使用されることが意図される。したがって、表示モジュールクラスオブジェクトは、図１のオペレータワークステーション１４内の一定タイプの表示を生成するために必要とされるプログラミング及びその表示がプラント１０の動作中にプラントから適切な情報を取得することを可能にするためにワークステーション１４（及びプロセスプラント１０内の任意の他のデバイス）のうちの１つ以上内で動かされることを必要とされるプログラミングを特定し得る。表示クラスモジュールのタイプは、例えば、警報表示、構成閲覧表示、動作閲覧表示、診断表示等を含む。当然のことながら、表示モジュールクラスオブジェクトは、プロセスプラント内の物理的要素もしくは実体の任意の所望の範囲を表す表示か、またはそれに紐付けられた表示を提供し得る。例えば、表示モジュールクラスオブジェクトは、エリア全体、ユニット、設備の部品、制御要素、またはプロセスプラント１０内のこれらの要素の任意の組み合わせに関する情報を表示し得る。
【００４３】
図２を参照すると、階層図式は、構成アプリケーション５０内で使用され、かつ図１の表示アプリケーション４８によって実行される異なるタイプのモジュールクラスオブジェクト間の相互接続、及びモジュールクラスオブジェクトとこれらのモジュールクラスオブジェクトから展開されたモジュールオブジェクトとの間の相互関係を例解する。図２の図式の最上位で始まる、モジュールクラスオブジェクト（または本明細書では互換的に言及される「クラスオブジェクト（ｃｌａｓｓ  ｏｂｊｅｃｔ）」）は、モジュールクラスタイプによってユニットモジュールクラスタイプ４００、設備モジュールクラスタイプ４０２、制御モジュールクラスタイプ４０４、及び表示モジュールクラスタイプ４０６のうちの１つに分割される。当然のことながら、他のタイプのモジュールクラスオブジェクトが、単に例示的なモジュールクラスタイプである本明細書で例解された４つのタイプを伴って、同様に提供または使用されてもよい。個々のモジュールクラスオブジェクト（これは、例えば、オブジェクト指向プログラミング言語の高位オブジェクトであり得、明瞭化のために二重輪郭線によって図２に表される）は、異なるタイプのモジュールクラス４００、４０２、４０４及び４０６の各々に属する。特に、プロセスプラント１０内の異なるユニットまたはユニットタイプに対する大量の異なるユニットモジュールクラスオブジェクトが存在し得る。例えば、反応装置ユニットクラスモジュールオブジェクト４１０は、プロセスプラント１０内の反応装置の特定のタイプまたは構成を表し得る。同様に、パッケージャユニットモジュールクラスオブジェクト４１２は、プロセスプラント１０内のパッケージユニットの特定のタイプまたは構成を表し得、乾燥機ユニットクラスモジュールオブジェクト４１４は、プロセスプラント１０内の乾燥機ユニットの特定のタイプまたは構成を表し得る。当然のことながら、物理的構成において互いとは異なる反応装置を表すように１つよりも多い反応装置ユニットモジュールクラスオブジェクトが存在してもよい。さらに、ユニットモジュールオブジェクトによって表され得るか、またはモデル化され得るプラント内の異なるタイプのユニットの全てをリスト化するように試みるものではなく、当業者は、ユニットモジュールクラスオブジェクトによってモデル化され得るか、または表され得る異なるタイプのプラント内の多くの異なるタイプのユニットが存在することを認識するであろう。
【００４４】
同様に、プロセスプラント１０内の異なるタイプの設備を表す、モデル化及び構成するために使用される多くの異なる設備モジュールクラスオブジェクトが存在し得る。図２に例解される例は、集計器設備モジュールクラスオブジェクト４１６及び出口バルブ設備モジュールクラスオブジェクト４１８を含み、この各々は、プロセスプラント１０内の異なるタイプの設備（及び好ましくは複製設備）と関連付けられる。同じように、オン／オフバルブ制御モジュールクラスオブジェクト４２２、レベルセンサ制御モジュールクラスオブジェクト４２４、及び流量計制御モジュールクラスオブジェクト４２６として図２に例解された、多くの異なるタイプの制御モジュールクラスオブジェクトが存在し得る。そのうえ、表示クラスモジュールは、警報表示モジュールクラスオブジェクト４３２、閲覧表
示モジュールクラスオブジェクト４３４、及び診断表示モジュールクラスオブジェクト４３６として図２に例解される。当然のことながら、任意の他の所望のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトが、本明細書で説明される原理によって、プロセスプラント１０の構成アプリケーション５０内で作成及び使用されてもよい。
【００４５】
各モジュールクラスオブジェクトは、それらと関連付けられるか、またはそれらによって所有されるサブオブジェクトを有し得る。これらのサブオブジェクトは、それら自身内のモジュールクラスオブジェクトであり得るか、または図２に例解されるように、それらが属するモジュールクラスオブジェクトのインスタンスとして作成されるモジュールオブジェクトであり得る。このようなインスタンスは、それらの基になるか、またはそれらが作成される、モジュールクラスオブジェクトの「モジュールオブジェクト（ｍｏｄｕｌｅ
ｏｂｊｅｃｔ）」、「インスタンス（ｉｎｓｔａｎｃｅ）」、「インスタンスオブジェクト（ｉｎｓｔａｎｃｅ  ｏｂｊｅｃｔ）」もしくは「モジュールインスタンスオブジェクト（ｍｏｄｕｌｅ  ｉｎｓｔａｎｃｅ  ｏｂｊｅｃｔ）」として本明細書では互換的に言及される。図２は、反応装置ユニットモジュールクラスオブジェクト４１０が、３つの反応装置モジュールオブジェクトである、それらと関連付けられて名付けられた反応装置＿０１（符号４４０ａ）、反応装置＿０２（符号４４０ｂ）、及び反応装置＿０３（符号４４０ｃ）を有することを例解し、これらの反応装置モジュールオブジェクトが、それぞれの反応装置クラスオブジェクト４１０に対応する（つまり結び付けられる）ことを伴う。図２はまた、水１、酸１、酸２、アルカリ１、及びアルカリ２（符号４４０ｄ〜４４０ｈ）と名付けられた５つの異なる子モジュールオブジェクトを有するか、または所有するとして、集計器設備モジュールクラスオブジェクト４１６を例解する。同様に、オン／オフバルブ制御モジュールクラスオブジェクト４２２は、粗大＿バルブ１、粗大＿バルブ２、粗大＿バルブ３、精密＿バルブ１、精密＿バルブ２、及び精密＿バルブ３（符号４４０ｉ〜４４０ｎ）と名付けられた子モジュールオブジェクトを含むとして例解される。加えて、図２は、警報表示モジュールオブジェクト４３２に基づく警報＿Ａ図形要素オブジェクト４４０ｏ、閲覧表示モジュールオブジェクト４３４に基づく温度＿センサ＿Ｂ図形要素４４０ｐ及び制御＿モジュール＿Ｃ図形要素４４０ｑ、ならびに診断表示モジュールオブジェクト４３６に基づくテスト＿モジュール＿Ｄ図形要素４４０ｒ及びポンプ＿Ｅ図形要素４４０ｓを例解する。同様に、図２の他のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトの各々は、それらと関連付けられた１つ以上のモジュールオブジェクトを有し得る。しかしながら、簡素化のため、これらのモジュールオブジェクトは、図２に例解されない。
【００４６】
図２の図式において、反応装置＿０１ユニットモジュールオブジェクト、反応装置＿０２ユニットモジュールオブジェクト、及び反応装置＿０３ユニットモジュールオブジェクト、酸１集計器（設備）モジュールオブジェクト、酸２集計器（設備）モジュールオブジェクト、アルカリ１集計器（設備）モジュールオブジェクト、アルカリ２集計器（設備）モジュールオブジェクト及び水１集計器（設備）モジュールオブジェクト（符号４４０ａ〜ｈ）、粗大＿バルブ１制御モジュールオブジェクト、粗大＿バルブ２制御モジュールオブジェクト、粗大＿バルブ３制御モジュールオブジェクト、精密＿バルブ１制御モジュールオブジェクト、精密＿バルブ２制御モジュールオブジェクト及び精密＿バルブ３制御モジュールオブジェクト（符号４４０ｉ〜４４０ｎ）、警報＿Ａ図形要素オブジェクト、温度＿センサ＿Ｂ図形要素オブジェクト、制御＿モジュール＿Ｃ図形要素オブジェクト、テスト＿モジュール＿Ｄ図形要素オブジェクト、ポンプ＿Ｅ図形要素オブジェクト（符号４４０ｏ〜４４０ｓ）、ならびに他のユニットモジュールオブジェクト、設備モジュールオブジェクト、制御モジュールオブジェクト、及び表示モジュールオブジェクトの各々は、プロセスプラント１０内のユニット、設備、制御モジュール、表示アプリケーション、及
び図形または図形表示要素等の、プロセスプラント１０内の実際のプロセス要素に紐付けられた個々のオブジェクトである。このように、オブジェクト４４０ａ〜４４０ｓは、「プロセス要素オブジェクト（ｐｒｏｃｅｓｓ  ｅｌｅｍｅｎｔ  ｏｂｊｅｃｔ）」、「プロセス要素モジュールオブジェクト（ｐｒｏｃｅｓｓ  ｅｌｅｍｅｎｔ  ｍｏｄｕｌｅ  ｏｂｊｅｃｔ）」、または「要素オブジェクト（ｅｌｅｍｅｎｔ  ｏｂｊｅｃｔ）」として本明細書では互換的に言及される。同様に、オブジェクト４４０ａ〜４４０ｓは、そのそれぞれの「親（ｐａｒｅｎｔ）」または「親オブジェクトｐａｒｅｎｔ  ｏｂｊｅｃｔ」４１０〜４３６の「子（ｃｈｉｌｄ）」または「子オブジェクト（ｃｈｉｌｄ  ｏｂｊｅｃｔ）」である。例えば、プラント１０内で使用される複数物理的酸集計器が存在するので、構成ルーチン内で作成された複数酸集計器プロセス要素モジュールオブジェクトが存在することになり、プラント１０内に存在する個々の酸集計器の各々に対して存在する別個の子酸集計器プロセス要素モジュールオブジェクトを伴う。しかしながら、子である別個の集計器プロセス要素モジュールオブジェクトの各々は、同一の親集計器モジュールクラスオブジェクト４１６に紐付けられるか、または所有される。当然のことながら、図２の図式は、限定された数のモジュールクラスオブジェクト、モジュールオブジェクト、インスタンスオブジェクト、及びそれらと関連付けられたプロセス要素オブジェクトのみを例解するが、他のタイプのモジュールクラスオブジェクトが提供されてもよく、任意の所望の数のモジュールオブジェクト、インスタンスオブジェクト、及びプロセス要素オブジェクトが異なるモジュールクラスオブジェクトの各々から作成されてもよいことが理解されるであろう。
【００４７】
さらに、親オブジェクトの子であるオブジェクトは、それ自体が子オブジェクトを有し得る。例えば、クラスオブジェクト流量計制御モジュール４２６は、２つの子インスタンスオブジェクト、例えば、「水＿流量計モジュール（Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ
ｍｏｄｕｌｅ）」及び「溶媒＿流量計モジュール（Ｓｏｌｖｅｎｔ＿Ｆｌｏｗ＿Ｍｅｔｅｒ  ｍｏｄｕｌｅ）」（例解せず）を含み得る。水＿流量計モジュールは、「水＿流量計＿１（Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿１）」及び「水＿流量計＿２（Ｗａｔｅｒ＿Ｆｌｏｗ＿Ｍｅｔｅｒ＿２）」等の、プロセスプラント１０内のそれぞれの実際の流量計要素に対応するそれぞれの子プロセス要素モジュールオブジェクトを含み得る。このように、プロセス要素オブジェクト「水＿流量計＿１」及び「水＿流量計＿２」は、流量計制御モジュール４２６に基づいた「水＿流量計モジュール」に基づく。
【００４８】
図２のモジュールクラスオブジェクトの各々（及びそれゆえに図２のモジュールオブジェクトの各々）は、オブジェクトの一部として、モジュールを定義または構成する物理的または論理的プロセス要素の定義または指標を含み得、所望される場合、これらのプロセス要素が、プロセスプラント１０内の一部の活動を実行するために物理的または論理的のいずれかにおいて互いに相互作用する様式を含み得る。例えば、ユニットモジュールクラスオブジェクトは、ユニットとして定義されているプロセス実体内のまたはそれを構成する物理的かつ制御要素の全ての指標を典型的に含むことになる。ユニットモジュールクラスオブジェクトはまた、個々の一部の特定の構成及びそれらの一部がユニットとして動作するようにどのように物理的に共に紐付けられるかを定義し得る。同様に、設備モジュールクラスオブジェクトは、設備の部品及び命令として定義された実体を制御するために使用されることになる制御ルーチンまたは制御モジュールを典型的に含むことになり、これは、一部が、プラント１０内に配設されたときに設備の部品として動作するように、物理的または論理的のいずれかにおいて相互作用する様式を定義するために制御ルーチンまたは制御モジュールを使用する。同様に、各制御モジュールクラスオブジェクトは、プラント内で実行されることになる、典型的に何らかの制御アルゴリズムの形式で、制御活動を定義することになる。また、各表示モジュールクラスオブジェクトは、とりわけ、表示画面構成、表示されることになる情報、及びプロセスプラント１０の様々な要素を表して表示画面上に提示されることになる図形または図形要素、ならびに、もしあれば、特定タイ
プのユニット、設備、プラントのエリア、またはプラント１０内の任意の他の物理的もしくは論理的実体について、収集されることになるデータ、及び収集されたデータ上で実行されることになるデータ操作を定義し得る。
【００４９】
モジュールクラス定義の一部として、モジュールクラスオブジェクトは、それらの中で組み込まれるか、または使用されることになる他のモジュールクラスオブジェクトを指定もしくは定義し得る。この場合、そのモジュールクラスオブジェクトから作成されたモジュールオブジェクトは、モジュールクラスレベルで定義された関係に従って他のモジュールクラスオブジェクトから作成された他のモジュールオブジェクトを組み込むか、参照するか、または含むことになる。別のモジュールオブジェクトもしくはモジュールクラスオブジェクトを参照するか、またはそれらによって参照されるモジュールオブジェクトは、本明細書では、モジュールオブジェクトを参照するか、またはそれによって参照されるモジュールオブジェクトもしくはモジュールクラスオブジェクトに関する「依存オブジェクト（ｄｅｐｅｎｄｅｎｔ  ｏｂｊｅｃｔ）」もしくは「依存モジュールオブジェクト（ｄｅｐｅｎｄｅｎｔ  ｍｏｄｕｌｅ  ｏｂｊｅｃｔ）」と称される。加えて、別のモジュールクラスオブジェクトもしくはモジュールオブジェクトを参照するか、またはそれらによって参照されるモジュールクラスオブジェクトは、本明細書では、モジュールクラスオブジェクトを参照するか、またはそれによって参照されるモジュールクラスオブジェクトもしくはモジュールオブジェクトに関する「依存オブジェクト」もしくは「依存モジュールオブジェクト」と称される。
【００５０】
厳密に必要ではないが、ユニットモジュールクラスオブジェクトは、他のユニットモジュールクラスオブジェクト、設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトを組み込み得るが、一方で設備モジュールクラスオブジェクトは、他の設備モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、及び表示モジュールクラスオブジェクトを組み込み得る。制御モジュールクラスオブジェクトは、他の制御モジュールクラスオブジェクト及び表示モジュールクラスオブジェクトを組み込むか、または参照し得る。しかしながら、所望される場合、他のモジュールクラスオブジェクト相互関係が同様に使用されてもよい。これらの組み込み関係は、図２の図式の下部で大きい矢印によって例解され、表示モジュールクラスオブジェクトのいずれかが、制御モジュールクラスオブジェクト、設備モジュールクラスオブジェクト、及びユニットモジュールクラスオブジェクトのいずれかに含まれ得るか、またはそれらによって参照され得ること、制御モジュールクラスオブジェクトのいずれかが、設備モジュールクラスオブジェクト及びユニットモジュールクラスオブジェクトのいずれかに含まれ得るか、またはそれらによって参照され得ること、ならびに設備モジュールクラスオブジェクトのいずれかが、ユニットモジュールクラスオブジェクトのいずれかに含まれ得るか、またはそれらによって参照され得ることを示す。モジュールクラスオブジェクトが同一タイプの他のモジュールクラスオブジェクトを組み込み得ることが理解されるであろう。例えば、ユニットモジュールクラスオブジェクトは、その定義の一部として、別のユニットモジュールクラスオブジェクトを組み込み得る。同様に、設備モジュールクラスオブジェクトは、別の設備モジュールクラスオブジェクトを含み得、制御モジュールクラスオブジェクトは、別の制御モジュールクラスオブジェクトを含み得、そして表示モジュールクラスオブジェクトは、別の表示モジュールクラスオブジェクトを含み得る。当然のことながら、所望される場合、モジュールクラスオブジェクトは、複数回、別のモジュールクラスオブジェクトを使用または組み込み得る。例えば、反応装置ユニットモジュールクラスオブジェクトは、反応装置ユニットモジュールクラスオブジェクトによってモデル化されている反応装置が集計器の複数インスタンスを含むので、集計器設備モジュールクラスオブジェクトを多数回、組み込むか、または使用し得る。
【００５１】
第１のモジュールクラスオブジェクトが第２のモジュールクラスオブジェクトを組み込
むか、または使用するとき、第１のモジュールクラスオブジェクトから作成されたか、またはそのインスタンスとしての任意のモジュールオブジェクトが、第２のモジュールクラスオブジェクトから作成されたか、またはそのインスタンスとしてのモジュールオブジェクトを組み込むか、または使用することになることがまた理解されるであろう。したがって、反応装置ユニットモジュールクラスオブジェクト４１０は、その要素または一部として集計器モジュールクラスオブジェクト４１６を使用し、反応装置＿０１モジュールオブジェクトは、その要素または一部として、酸１モジュールオブジェクト４４０ｅ等の集計器モジュールオブジェクトのうちの１つを使用するか、または含むことになる。同様に、集計器設備モジュールクラスオブジェクトが出口バルブ設備モジュールクラスオブジェクトを組み込むか、または含む場合、集計器設備モジュールクラスオブジェクトから作成されたモジュールオブジェクトは、例えば、集計器＿１のように一意的に命名されることになるが、出口バルブ設備モジュールクラスオブジェクトから作成され、かつ、例えば、出口＿バルブ＿２として一意的に命名されたモジュールオブジェクトを含むことになる。このように、モジュールクラスオブジェクトレベルで定義されるモジュールクラスオブジェクト間の関係は、これらのモジュールクラスオブジェクトから展開または作成されたモジュールオブジェクト内で反映される。モジュールクラスオブジェクト（及びそれゆえにモジュールオブジェクト）間のこの相互関係または参照は、構成活動中のオブジェクトの優れた可変性及び高い移動可能性を可能にし、そのため、制御モジュールクラスオブジェクト及び設備モジュールクラスオブジェクト等の初期モジュールクラスオブジェクトが作成された後、ユニットモジュールクラスオブジェクト等のより複雑なモジュールクラスオブジェクトが、初期モジュールクラスオブジェクトを参照することによって、容易に作成され得る。当然のことながら、モジュールクラスオブジェクトが他のモジュールクラスオブジェクトを参照または使用し得るが、それらはさらにまたは代わりに、関連するモジュールクラスオブジェクトを有しない、バルブ、センサ等の単なるオブジェクトまたはプロセス要素オブジェクトを定義または使用することができる。これらの単なるオブジェクトまたはプロセス要素オブジェクトは、モジュールクラスオブジェクト自体の中で、それらのために使用される制御ルーチンに関して完全に定義されることになる。
【００５２】
エンジニアが、図１の構成アプリケーション５０を介して、モジュールクラスオブジェクト、モジュールオブジェクト等のオブジェクトの構成を変更または修正するとき、エンジニアは、構成アプリケーション５０を介して変更を保存し得る。エンジニアは、その後、ランタイム中の実行及び動作のために修正されたオブジェクトを同期させるように図３に示されるユーザ制御を提示され得る。エンジニアがユーザ制御を選択するとき、構成アプリケーション５０は、修正されたオブジェクトをインスタンス化する要求を受信する。
【００５３】
図３は、構成アプリケーション５０によって提示された例示的な画面表示５００を例解する。例示的な画面表示５００は、モジュールオブジェクトＦＴ−１０１２５（符号５０４）、ＬＩＣ−１０１２５（符号５０６）、及びＦＶ−１０１２５（符号５０８）を参照する制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）を提示する。したがって、モジュールオブジェクトＦＴ−１０１２５（符号５０４）、ＬＩＣ−１０１２５（符号５０６）、及びＦＶ−１０１２５（符号５０８）は、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に関する依存オブジェクトである。エンジニアは、パラメータを追加または削除すること、パラメータ値を変更すること、モジュールオブジェクトＦＴ−１０１２５（符号５０４）、ＬＩＣ−１０１２５（符号５０６）、及びＦＶ−１０１２５（符号５０８）のうちの１つ等の別のオブジェクトに対する参照を追加または削除すること、モジュールオブジェクトＦＴ−１０１２５（符号５０４）、ＬＩＣ−１０１２５（符号５０６）、及びＦＶ−１０１２５（符号５０８）間の接続またはリンクを変更すること等によって制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）の構成を修正し得る。その後、ユーザは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）の修正された構成を保存するようにユーザ制御を選択し得る。
【００５４】
例示的な表示画面５００はまた、修正された制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）を同期させるためのユーザ制御５１０を含み得る。エンジニアが同期ユーザ制御５１０を選択するとき、構成アプリケーション５０は、修正された制御モジュールオブジェクトＦＩＣ１０１２５（符号５０２）をインスタンス化する。より具体的には、構成アプリケーション５０は、修正された制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）をコントローラ１２ａ、表示アプリケーション４８、またはランタイム中にプロセスルーチンを実行する他のプロセス要素で同期させる。
【００５５】
加えて、ユーザ制御５１０の選択を受信することに際して、構成アプリケーション５０は、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）を参照するか、またはそれによって参照され、かつ未確定の修正を有するモジュールクラスオブジェクト及びモジュールオブジェクト等のオブジェクトを識別する。依存するオブジェクトに対する未確定の修正は、依存オブジェクトが依存するオブジェクト（例えば、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２））に対する修正の結果であり得るか、または制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に対する修正から独立したものであり得る。
【００５６】
例えば、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に対する修正は、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）の先の構成内に含まれなかった別のモジュールオブジェクトに対する参照の追加であり得る。パラメータがモジュールオブジェクトＦＴ−１０１２５（符号５０４）内に追加されるとき、これは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に対する修正から独立している依存オブジェクト（モジュールオブジェクトＦＴ−１０１２５（符号５０４））に対する修正の例であり得る。別の例において、原油＿ユニット１に対するユニットモジュールオブジェクトは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）を参照し得る。制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に対する修正が存在するとき、原油＿ユニット１に対するユニットモジュールオブジェクトは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に対する修正の結果として未確定の修正を有する制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に関する依存オブジェクトであり得る。
【００５７】
本明細書で使用される未確定の修正は、ランタイム中の実行のためのインスタンス化がまだ行われていないオブジェクトに対する修正を意味し得る。例えば、エンジニアがオブジェクトに対する修正を行う、及び／または修正されたオブジェクトを保存するが、修正されたオブジェクトを同期させるためのユーザ制御５１０を選択していないとき、その後、オブジェクトに対する修正が未確定のままになる。
【００５８】
任意の事象において、構成アプリケーション５０は、オブジェクトに関する依存オブジェクトの各々を識別し、未確定の修正を有しないそれらの依存オブジェクトを除去し得る。構成アプリケーション５０は、その後、未確定の修正を有する依存オブジェクトの指標を伴って、例示的な画面表示５００の上に重ねられたオブジェクト選択表示を生成及び提示し得る。オブジェクト選択表示はまた、選択されたオブジェクト（例えば、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２））の指標を含み得る。いくつかの実施形態において、オブジェクト選択表示は、明白な参照によって選択されたオブジェクトに直接依存するか、または選択されたオブジェクト（直接依存オブジェクト）によって参照されているそれらの依存オブジェクトを含む。例えば、モジュールオブジェクトＦＴ−１０１２５（符号５０４）は、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に関する直接依存オブジェクトである。別の依存オブジェクト（間接依存オブジェクト）によって選択されたオブジェクトに依存する依存オブジェクトは、含まれない場合
がある。例えば、依存モジュールオブジェクトＦＴ−１０１２５（符号５０４）に依存するモジュールオブジェクトは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５０２）に関する間接依存オブジェクトであり得る。他の実施形態において、オブジェクト選択表示は、選択されたオブジェクトに直接的にまたは間接的に依存する全ての依存オブジェクトを含む。
【００５９】
例示的なオブジェクト選択画面５２０が図４に例解される。オブジェクト選択表示５２０は、ユーザが同期ユーザ制御５１０を選択するとき、図３に示されるように画面表示５００の上に重ねられ得る。オブジェクト選択表示５２０は、同期させるためにエンジニアに対するオブジェクト５２２ａ〜５２８ａの指標を含む。オブジェクト５２２ａ〜５２８ａの指標の各々は、それぞれの選択制御５２２ｂ〜５２８ｂを有し得、これは、それぞれの選択制御５２２ｂ〜５２８ｂに対応するオブジェクトを同期させるために選択され得る。指標５２２ａ〜５２８ａは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５２２ａ）、ならびにモジュールオブジェクトＬＩＣ−１０１２５（符号５２４ａ）、ＦＴ−１０１２５（符号５２６ａ）、及びＦＶ−１０１２５（符号５２８ａ）を含む制御モジュールオブジェクトＦＩＣ−１０１２５の直接依存オブジェクトを含み得る。オブジェクト選択表示５２０はまた、選択されたときに、依存オブジェクトＬＩＣ−１０１２５、ＦＴ−１０１２５、及びＦＶ−１０１２５に依存する制御モジュールオブジェクトＦＩＣ−１０１２５に対する間接依存オブジェクトを表示するユーザ制御５３０を含み得る。オブジェクト選択表示５２０に示されるように、選択制御５２２ｂのみが制御モジュールオブジェクトＦＩＣ−１０１２５（符号５２２ａ）に対応して選択される。他の選択制御５２４ｂ〜５２８ｂは、選択されず、したがって、直接依存オブジェクト５２４ａ〜５２８ａは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５２２ａ）と同期させるために選択されない。
【００６０】
選択制御５２２ｂ〜５２８ｂを介して同期させるオブジェクトを選択することに際して、エンジニアは、ランタイム中にプロセスルーチンを実行するプロセス要素で生成されることになる修正されたオブジェクトのインスタンス化を行わせるために、「同期開始（Ｓｔａｒｔ  Ｓｙｎｃ）」ボタン５３２を選択し得る。修正されたオブジェクトは、その後、システムが修正された構成を含むようにオブジェクトを更新し得るとき、ランタイム中または後続のランタイムサイクル中に実行され得る。「同期開始」ボタン５３２は、同期させるように選択されたオブジェクトの数の指標５３２ａを含み得る。例示的なオブジェクト選択表示５２０において、エンジニアは、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５２２ａ）を同期させ、したがって、指標５３２ａが、同期させる１つのオブジェクトが存在することを示す。
【００６１】
図５は、オブジェクト選択表示５２０に類似する別の例示的なオブジェクト選択表示５４０を例解する。この例示的なオブジェクト選択表示５４０において、エンジニアは、選択制御５２２ｂ〜５２８ｂを介して同期させる全４つのオブジェクトを選択する。したがって、「同期開始」ボタン５３２内の指標５３２ａは、同期させる４つのオブジェクトが存在することを示す。
【００６２】
上記の例で別のモジュールオブジェクト（例えば、制御モジュールオブジェクトＦＩＣ−１０１２５）によって参照されるか、またはそれを参照するモジュールオブジェクトである依存オブジェクトを説明するが、依存オブジェクトはまた、モジュールクラスオブジェクトを含み得る。
【００６３】
図６〜８は、制御モジュールオブジェクトＦＩＣ−１０１２５に対する間接依存オブジェクトを表示するためにエンジニアがユーザ制御５３０を選択する例示的なシナリオを例解する。図６の例示的なオブジェクト選択表示５５０に示されるように、エンジニアは、
マウスクリックまたはタッチ選択を介してユーザ制御５３０を選択する。ユーザ制御５３０の選択を受信することに応答して、構成アプリケーション５０は、依存オブジェクトＬＩＣ−１０１２５、ＦＴ−１０１２５、及びＦＶ−１０１２５によって参照されるか、またはそれらを参照し、かつ未確定の修正を有するオブジェクトの各々を識別する。図７は、それぞれ、図４〜６に示されるオブジェクト選択表示５２０、５４０、５５０に類似するさらに別の例示的なオブジェクト選択表示５６０を例解する。オブジェクト選択表示５６０は、エンジニアがユーザ制御５３０を選択することに応答して提示され得、構成アプリケーション５０が依存オブジェクトＬＩＣ−１０１２５、ＦＴ−１０１２５、及びＦＶ−１０１２５の直接依存オブジェクトを読み込んでいることの指標５６２を含み得る。これらの直接依存オブジェクトは、制御モジュールオブジェクトＦＩＣ−１０１２５に関する間接依存オブジェクトであり得る。
【００６４】
図８は、それぞれ、図４〜６に示されるオブジェクト選択表示５２０、５４０、５５０に類似し、かつ間接依存オブジェクトの指標を含む、別の例示的なオブジェクト選択表示５７０を例解する。例えば、制御モジュールオブジェクトＦＩＣ−１０１２５（符号５２２ａ）、ならびにモジュールオブジェクトＬＩＣ−１０１２５（符号５２４ａ）、ＦＴ−１０１２５（符号５２６ａ）、及びＦＶ−１０１２５（符号５２８ａ）を含む制御モジュールオブジェクトＦＩＣ−１０１２５の直接依存オブジェクトの指標を表示することに加えて、例示的なオブジェクト選択表示５７０は、直接依存オブジェクトＬＩＣ−１０１２５（符号５２４ａ）に依存する間接依存オブジェクトＬＴ−１０１２５（符号５７２ａ）の指標を含む。オブジェクト選択表示５７０はまた、他の選択されたオブジェクトと同期させるために間接依存オブジェクトＬＴ−１０１２５（符号５７２ａ）を選択するための選択制御５７２ｂを含む。加えて、オブジェクト選択表示５７０は、直接依存オブジェクトＦＴ−１０１２５、及びＦＶ−１０１２５（図示せず）に依存する間接依存オブジェクトの指標を含み得る。オブジェクト選択表示５７０は、選択されたときに、間接依存オブジェクトＬＴ−１０１２５に依存する制御モジュールオブジェクトＦＩＣ−１０１２５に対する間接依存オブジェクトを表示するユーザ制御５８０をさらに含む。追加のユーザ制御（図示せず）がまた、含まれてもよく、これは、選択されたときにオブジェクト選択表示５７０内で提示された他の間接依存オブジェクトに依存する間接依存オブジェクトを表示する。
【００６５】
いくつかの実施形態において、構成アプリケーション５０は、オブジェクト選択表示５２０〜５７０内に既に含まれていた依存オブジェクトに関する直接依存オブジェクトを提示しない。例えば、ＬＩＣ−１０１２５直接依存ヘッダの下で、制御モジュールオブジェクトＦＩＣ−１０１２５の指標は、符号５２２ａとして上記に含まれるので、含まれない。しかしながら、制御モジュールオブジェクトＦＩＣ−１０１２５は、制御モジュールオブジェクトオブジェクトＦＩＣ−１０１２５がモジュールオブジェクトＬＩＣ−１０１２５を参照するので、モジュールオブジェクトＬＩＣ−１０１２５の直接依存オブジェクトである。このように、同一オブジェクトの指標は、循環依存を回避するために、オブジェクト選択表示５７０全体を通して繰り返されない。
【００６６】
任意の事象において、エンジニアは、「同期開始」ボタン５３２を選択することによって互いに同時にまたは互いに併せて同期させるために、オブジェクト、直接依存オブジェクト、及び間接依存オブジェクトを含む任意の適切な数のオブジェクトを選択し得る。その後、構成アプリケーション５０は、ランタイム中にプロセスルーチンを実行するプロセス要素で生成されることになる修正されたオブジェクトのインスタンス化を生じさせ得る。例えば、構成アプリケーション５０は、修正されたオブジェクトを表示アプリケーション４８またはコントローラ１２ａで同期させ得る。修正されたオブジェクトは、その後、システムが修正された構成を含むようにオブジェクトを更新し得るとき、ランタイム中または後続のランタイムサイクル中に表示アプリケーション４８またはコントローラ１２ａ
によって実行され得る。
【００６７】
より具体的には、一部のシナリオにおいて、ランタイム中にプロセスルーチンを実行するプロセス要素は、システムのオンライン動作に影響を及ぼすオブジェクトの現在のバージョンの実行を一時停止することなく修正されたオブジェクトをインスタンス化、及び実行することができない。したがって、プロセス要素は、修正されたオブジェクトをインスタンス化、及び実行するためにオブジェクトの現在のバージョンのランタイム実行を停止し得る。一部の実施形態において、プロセス要素は、所定時間、例えば、プロセスプラント１０の動作の低速期間中またはオブジェクトに対応する制御モジュール、プロセス実体等が利用されていない期間中、オブジェクトの現在のバージョンのランタイム実行を停止する。他の実施形態において、エンジニアは、オブジェクトの現在のバージョンのランタイム実行を停止するときを選択する。任意の事象において、プロセス要素は、その後、実行を再開すること、及び次のランタイムサイクル内で修正されたオブジェクトを実行する前に、同時または同一インスタンス化サイクル内でエンジニアによって選択された修正されたオブジェクトの各々をインスタンス化する。
【００６８】
一部のシナリオにおいて、特にオブジェクトに対する修正が軽微であるとき、ランタイム中に修正されたオブジェクトの実行を一時停止または停止しないことに利点があり得る。オブジェクトに対する軽微な修正は、オブジェクトのパラメータを追加または削除しない、オブジェクト内のパラメータについての単一パラメータ値（または閾値未満の数のパラメータ値）に対する変更を含み得る。例えば、図２に示される警報＿Ａ図形要素オブジェクト４４０ｏに対して、警報限界パラメータに対する警報限界を変更することは、軽微な修正であり得る。軽微な修正はまた、修正されているオブジェクトのランタイム論理に影響を与えない任意の他の適切な修正を含み得る。
【００６９】
エンジニアが軽微な修正をモジュールクラスオブジェクトまたはモジュールオブジェクト等のオブジェクトに保存し、かつ軽微な修正を同期させることを要求するとき（例えば、図３に示されるユーザ制御５１０を介して）、構成アプリケーション５０は、オブジェクトに対する修正を軽微な修正として識別し得る。修正されたオブジェクト全体を表示アプリケーション４８またはコントローラ１２ａに同期させるのではなく、かつ修正されたオブジェクトを実行する前にランタイム中のオブジェクトの現在のバージョンの実行を一時停止または停止するのではなく、構成アプリケーション５０は、オブジェクトを実行するプロセス要素に軽微な修正を提供する。オブジェクトを実行するプロセス要素は、その後、例えば、更新されたパラメータ値によってオブジェクトに対して現行パラメータ値を上書きし得る。その後、次回、プロセス要素は、対応するパラメータにアクセスし、更新されたパラメータ値は、使用のために利用可能となり得る。このように、軽微な変更は、ランタイム中に更新され得、それによりオンライン動作は、軽微な変更が実行中に同期され含まれる前に中断されない。これは、ランタイムシステム内のダウンタイム時間、及びプロセス制御ネットワーク上で送信される情報量を低減し、これによってネットワーク帯域幅要求を減少させる。オブジェクトの現在のバージョンのランタイム実行を中断することなく、オブジェクトを実行するプロセス要素にオブジェクトに対する軽微な修正を提供するプロセスは、本明細書では「軽微同期手順（ｓｙｎｃ−ｌｉｔｅ  ｐｒｏｃｅｄｕｒｅ）」と称され得る。一部の実施形態において、構成アプリケーション５０は、オブジェクトに対する軽微な修正を自動的に識別し、修正されたオブジェクト全体がインスタンス化されない軽微同期手順を開始する。他の実施形態において、エンジニアは、軽微同期手順を開始するために軽微同期制御を選択し得る。
【００７０】
図９は、図２に示される警報＿Ａ図形要素オブジェクト４４０ｏ等のオブジェクトに軽微な修正を行うための構成アプリケーション５０によって提示された例示的な画面表示６００を例解する。画面表示６００は、警報パラメータ値を調節するためのユーザ制御６０
２〜６０６を含む警報＿Ａ等の警報用のフェースプレートの図形表現であり得る。例えば、警報パラメータ値は、警報限界６０２、警報優先レベル６０４、及びヒステリシス量６０６を含み得る。エンジニアは、対応するユーザ制御６０２〜６０６を介してこれらのパラメータ値の各々を調節し得、修正を警報＿Ａ図形要素オブジェクト４４０ｏに同期させるために「同期オンライン（Ｓｙｎｃ  Ｏｎｌｉｎｅ）」ボタン６１０を選択し得る。
【００７１】
一部の実施形態において、構成アプリケーション５０は、修正が軽微であるか否かを判定するために警報＿Ａ図形要素オブジェクト４４０ｏに対する修正を分析する。例えば、構成アプリケーション５０は、修正され得るパラメータ値の最大閾値の数（例えば、３）等の、オブジェクトに対する修正が軽微であるか否か、パラメータが追加もしくは削除されたか否か、別のオブジェクトに対する参照が追加もしくは削除されたか否か、オブジェクトによって参照されるオブジェクト間の相互接続が修正されたか否か、これらの任意の適切な組み合わせを判定するための一組の規則、または修正が軽微であるか否かを判定するための追加の規則を記憶し得る。構成アプリケーション５０が、修正が軽微であると判定したとき、構成アプリケーション５０は、上記の軽微同期手順を開始する。より具体的には、修正された警報限界６０２、修正された警報優先レベル６０４、及び／または修正されたヒステリシス量６０６が、コントローラ１２ａ、表示アプリケーション４８、または警報＿Ａ図形要素オブジェクト４４０ｏを実行する他のプロセス要素に提供される。コントローラ１２ａ、表示アプリケーション４８、または他のプロセス要素は、その後、警報＿Ａ図形要素オブジェクト４４０ｏのランタイム実行中に現在の警報限界を修正された警報限界６０２によって、現在の警報優先レベルを修正された警報優先レベル６０４によって、及び／または現在のヒステリシス量を修正されたヒステリシス量６０６によって上書きする。その後、次回、警報限界が実行されたか否かをプロセス要素が検出するとき、プロセス要素は、修正された警報限界６０２を使用する。
【００７２】
一方で、構成アプリケーション５０が、修正が著しいか、または軽微ではないと判定したとき、構成アプリケーション５０は、完全同期手順を開始する。これは、コントローラ１２ａ、表示アプリケーション４８、またはランタイム中もしくは後続のランタイムサイクル中の実行のための他のプロセス要素において、プロセス要素が修正を含めるように警報＿Ａ図形要素オブジェクト４４０ｏを更新することができるときに、修正された警報＿Ａ図形要素オブジェクト４４０ｏ全体を同期させることを含む。
【００７３】
他の実施形態において、エンジニアは、構成アプリケーション５０が完全同期手順または軽微同期手順を実行することになるか否かを判定する。例えば、画面表示６００は、「完全同期（Ｆｕｌｌ  Ｓｙｎｃ）」ボタン及び「軽微同期」ボタン（図示せず）等の完全同期及び軽微同期に対する別個のユーザ制御を含み得る。エンジニアは、その後、オブジェクトに対する修正が、パラメータ値に対する変更等の軽微であるとき、「軽微同期」ボタンを選択し得る。
【００７４】
いくつかの実施形態において、構成アプリケーション５０は、修正されたオブジェクトを参照する依存オブジェクトに含む修正されたオブジェクトの数個のインスタンスに対して１つまたは数個のパラメータ値を上書きする。例えば、表示モジュールオブジェクトは、警報＿Ａ図形要素オブジェクト４４０ｏを参照し得る。警報限界が警報Ａ＿図形要素オブジェクト４４０ｏに対して修正されるとき、構成アプリケーション５０は、警報＿Ａ図形要素オブジェクト４４０ｏに対する依存オブジェクトの各々を識別し（上記と類似様式で）、警報＿Ａ図形要素オブジェクト４４０ｏを参照する依存オブジェクト内の１つまたは数個のパラメータ値を上書きする。
【００７５】
一部の実施形態において、構成アプリケーション５０及び／またはランタイム中にオブジェクトを実行するプロセス要素は、エンジニアに対して完全同期手順または軽微同期手
順の状態の指標を提供する。例えば、状態は、パラメータが上書きされたか、または修正されたオブジェクトがランタイム中にインスタンス化及び実行されたとき、「同期成功（Ｓｙｎｃ  Ｓｕｃｃｅｓｓｆｕｌ）」となり得る。状態は、パラメータが上書きされる前または修正されたオブジェクトがインスタンス化される前、「未確定（Ｐｅｎｄｉｎｇ）」となり得る。
【００７６】
また一部の実施形態において、軽微同期手順は、エンジニアまたは構成アプリケーション５０によって特定の時間にスケジュールされる。軽微同期手順を実行するための特定の時間は、プロセス制御ネットワークの現在の帯域幅、コントローラ１２ａの動作状態、表示アプリケーション４８、またはオブジェクトを実行する他のプロセス要素等に基づいて判定され得る。例えば、軽微同期手順は、プロセス制御ネットワークが利用可能なネットワーク帯域幅の最小閾値の量を超えるとき、スケジュールされ得る。その後、構成アプリケーション５０は、特定の時間で１つまたは数個のパラメータ値を上書きするように、コントローラ１２、表示アプリケーション４８、または他のプロセス要素に対する命令を提供する。
【００７７】
図１０は、プロセスプラント内で関連するオブジェクトを同期させるための例示的な方法１０００のフロー図を図示する。方法１０００は、オペレータワークステーション１４、サーバ、または任意の他の適切なコンピューティングデバイス上で実行され得る。一部の実施形態において、方法１０００は、非一時的コンピュータ可読メモリ上に記憶された構成アプリケーション５０内に実装され得、オペレータワークステーション１４の１つ以上のプロセッサ、サーバ、または任意の他の適切なコンピューティングデバイス上で実行可能であり得る。
【００７８】
ブロック１００２において、構成アプリケーション５０は、プロセスプラント内のプロセス実体に対応するオブジェクト（第１のオブジェクト）に対するエンジニアによる修正を受信する。修正は、パラメータを追加及び削除すること、パラメータ値を変更すること、別のオブジェクトに対する参照を追加または除去すること、オブジェクト間の接続またはリンクを変更すること等を含み得る。構成アプリケーション５０はまた、修正された第１のオブジェクトをインスタンス化する要求を受信し得る（ブロック１００４）。例えば、エンジニアは、修正された第１のオブジェクトを同期させるために、図３の画面表示５００内に示されるユーザ制御５１０に類似するユーザ制御を選択し得る。
【００７９】
一部の実施形態において、構成アプリケーション５０は、その後、第１のオブジェクトに対する修正が軽微または著しいものであるか否かを判定し得る（ブロック１００６）。オブジェクトに対する軽微な修正は、オブジェクトのパラメータを追加または削除しない、オブジェクト内のパラメータについての単一パラメータ値（または閾値未満の数のパラメータ値）に対する変更を含み得る。より一般的に、軽微な修正は、修正されるオブジェクトのランタイム論理に影響を与えない任意の適切な修正を含み得る。他の実施形態において、構成アプリケーション５０は、軽微な修正用及び著しい修正用の別個のユーザ制御を提供し得、それによりエンジニアは、修正が軽微であるか否かを指定し得る。例えば、エンジニアは、修正が軽微であるときに「軽微同期」ボタンを選択し得、修正が著しいか、または軽微ではないときに「完全同期」を選択し得る。その後、構成アプリケーション５０は、どちらのユーザ制御が選択されたかに基づいて修正が軽微であるか否かを判定する。
【００８０】
修正が軽微であるとき、構成アプリケーション５０は、第１のオブジェクトを実行しているプロセス要素に軽微な修正を提供し得る（ブロック１０１４）。第１のオブジェクトを実行しているプロセス要素は、その後、例えば、更新されたパラメータ値によって第１のオブジェクトに対する現在のパラメータ値を上書きし得る。その後、次回、プロセス要
素は、対応するパラメータにアクセスし、更新されたパラメータ値は、使用のために利用可能となり得る。このように、軽微な変更は、ランタイム中に更新され得、それによりオンライン動作は、軽微な変更が実行中に同期され含まれる前に中断されない。
【００８１】
一方で修正が軽微ではないとき、構成アプリケーション５０は、修正されたオブジェクトを参照するか、またはそれによって参照され、かつ未確定の修正を有するオブジェクト（第２の依存オブジェクト）を識別する（ブロック１００８）。第２の依存オブジェクトに対する未確定の修正は、第２の依存オブジェクトが依存する第１のオブジェクトに対する修正の結果であり得るか、または第１のオブジェクトに対する修正から独立したものであり得る。
【００８２】
一部の実施形態において、構成アプリケーション５０は、未確定の修正を有する依存オブジェクトの指標を含むオブジェクト選択表示を生成及び提示し得る。オブジェクト選択表示は、修正された第１のオブジェクトと同期させるように、対応する第２の依存（直接または間接）オブジェクトを選択するために、修正されたオブジェクト、直接依存オブジェクト、間接依存オブジェクト、及びエンジニア用の選択制御を含み得る。選択制御を介して同期させるオブジェクトを選択することに際して、エンジニアは、ランタイム中にプロセスルーチンを実行するプロセス要素で生成されることになる修正された第１のオブジェクト及び選択された第２の依存オブジェクトのインスタンス化を要求するために、「同期開始」ボタンを選択し得る。
【００８３】
その後、ブロック１０１０において、構成アプリケーション５０は、ランタイム中にプロセスルーチンを実行するプロセス要素で生成されることになる修正された第１のオブジェクト及び第２の依存オブジェクトのインスタンス化を生じさせ得る。構成アプリケーション５０はまた、インスタンス化された第１のオブジェクト及び第２の依存オブジェクトがプロセス要素でランタイム中に実行されることを生じさせ得る。例えば、構成アプリケーション５０は、修正された第１のオブジェクト及び第２の依存オブジェクトをプロセス要素で同期させ得、プロセス要素は、修正された第１のオブジェクト及び第２の依存オブジェクトをランタイム中に実行する（ブロック１０１２）。
【００８４】
一部のシナリオにおいて、ランタイム中にプロセスルーチンを実行するプロセス要素は、システムのオンライン動作に影響を及ぼす現在のバージョンのオブジェクトの実行を一時停止することなく、修正されたオブジェクトをインスタンス化及び実行することができない。したがって、プロセス要素は、修正されたオブジェクトをインスタンス化及び実行するためにオブジェクトの現在のバージョンのランタイム実行を停止し得る。一部の実施形態において、プロセス要素は、所定時間、例えば、プロセスプラント１０の動作の低速期間中またはオブジェクトに対応する制御モジュール、プロセス実体等が利用されていない期間中、オブジェクトの現在のバージョンのランタイム実行を停止する。他の実施形態において、エンジニアは、オブジェクトの現在のバージョンのランタイム実行を停止するときを選択する。任意の事象において、プロセス要素は、その後、実行を再開すること及び次のランタイムサイクル内で修正されたオブジェクトを実行する前に、同時または同一インスタンス化サイクル内でエンジニアによって選択された修正されたオブジェクトの各々をインスタンス化する。
【００８５】
さらに、本明細書で説明された技術、システム、及び方法は、プロセス制御システムまたはプラント１０のライブラリ（例えば、テンプレート及び／もしくはユーザ作成ライブラリオブジェクト）内に記憶されたアイテムまたはオブジェクトに適用する。代替的または追加的に、本技術、システム、及び方法は、プロセス制御システムまたはプラント１０の構成データベース２５内に記憶されたアイテムまたはオブジェクトに適用し、これは、一部の場合において、ライブラリアイテムもしくはオブジェクトから少なくとも部分的に
作成されるか、または派生される。
【００８６】
またさらに、本明細書で説明された同期技術及びオブジェクトのうちの１つ以上は、図１のプロセスプラント１０等のプロセスプラント内、または他の適切なプロセスプラントもしくはプロセス制御システム内で使用され得る。一例において、本明細書で説明された技術のうちの１つ以上は、図１の１つ以上のワークステーション１４上で実行される構成アプリケーション５０によって実行される。別の例において、本明細書で説明された技術のうちの１つ以上は、アプリケーションにアクセスする遠隔アプリケーション（例えば、ウェブクライアントまたは他の遠隔アクセス手段）によって少なくとも部分的に実行される。一部の実施形態において、同期技術のうちの１つ以上は、本明細書で説明されたもの以外の他の同期技術との組み合わせで使用される。
【００８７】
さらに、本明細書で説明された同期技術及びオブジェクトは、図２に説明されたもの等のモジュールクラスを使用して実装される。本明細書で説明された同期技術は、しかしながら、他の適切なモジュールクラス、ソフトウェアアーキテクチャ、及び／またはプログラミング技術を使用して実装され得る。
【００８８】
アイテムまたはオブジェクト：
【００８９】
先で考察されるように、本明細書で説明された同期技術、システム、及び方法の実施形態は、ランタイムプロセスプラントまたはランタイムプロセス制御システムに不利に影響を及ぼし得るダウンロードを必要とすることなく、ユーザがライブラリ構成アイテムまたはライブラリ構成オブジェクト、及びシステム構成アイテムまたはシステム構成オブジェクトに対する変更を行うことを可能にする。ライブラリアイテムまたはライブラリオブジェクトは、概して、集中的にアクセス可能な位置またはライブラリ（例えば、ワークステーション１４に対して、ならびに他のインターフェース及びコンピューティングデバイスに対してアクセス可能である、構成データベース２５または他の記憶デバイス）内に記憶されたテンプレートオブジェクトである。システム構成アイテムまたはシステム構成オブジェクト（及び一部のライブラリアイテムまたはライブラリオブジェクト）は、概して、１つ以上のライブラリアイテムに基づくか、またはそれらから派生される。一部のアイテム及びオブジェクトについて、少なくとも一部の態様は、ユーザによってカスタマイズされる。
【００９０】
本明細書で使用される「アイテム（ｉｔｅｍ）」という用語は、クラスオブジェクト、インスタンスオブジェクト、またはプロセス要素オブジェクト等のオブジェクトを概して意味する。アイテムは、ライブラリ内に記憶され得るか（例えば、「ライブラリアイテム（ｌｉｂｒａｒｙ  ｉｔｅｍ）」または「ライブラリオブジェクト（ｌｉｂｒａｒｙ  ｏｂｊｅｃｔ）」）、もしくはアイテムは、システム構成データ記憶エリア内に記憶され得る（例えば、「構成アイテム（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｉｔｅｍ）」または「構成オブジェクト（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｏｂｊｅｃｔ）」）。加えて、本明細書で使用される「アイテム」という用語はまた、オブジェクト、例えば、オブジェクトのコンテンツの少なくとも一部に対する内部であり、かつそれによって定義されるアイテムを概して意味する。オブジェクトの可能な内部アイテムは、例えば、方法、動作、データフィールドまたは他の属性、入力、出力、Ｉ／Ｏのタイプ（例えば、コントローラ、例えば、図１のコントローラ１２または１２ａがシステムと通信するための入力／出力カードまたは入力／出力デバイスのタイプ）、機能または用途、定義、パラメータ値、親オブジェクトに対する参照、子オブジェクトに対する参照、親オブジェクトでも子オブジェクトでもない別のオブジェクトに対する参照、及び他の内部アイテムを含む。内部アイテムは、絶対的に定義され得るか（例えば、データフィールドが定数値もしくは定数式を記憶する）、または内部アイテムは、絶対値、絶対式、別のオブジェクト、もしくは別の参照を参照
することによる等、相対的に定義され得る。例えば、図形表示要素オブジェクトによって定義された内部アイテムは、親オブジェクト、１つ以上のフィールド、トリガー、機能、ビュー定義、イベントハンドラ、アニメーション、プレースホルダ、パラメータ、表等に対する参照を含み得る。別の例において、制御モジュール要素オブジェクトによって定義された内部アイテムは、親オブジェクト、１つ以上の入力、出力、パラメータ、機能ブロック、相互接続、フィールド式、外部参照、動作、アルゴリズム、遷移等を含み得る。
【００９１】
本明細書で使用される「現在のアイテム（ｃｕｒｒｅｎｔ  ｉｔｅｍ）」または「現在のオブジェクト（ｃｕｒｒｅｎｔ  ｏｂｊｅｃｔ）」という用語は、インスタンス化され（及び一部の場合において同期された）、かつプロセスプラント１０内の対応するプロセス要素のランタイム中に実行され得るアイテムまたはオブジェクトを指す。例えば、現在のプロセス要素制御オブジェクトがインスタンス化されたとき、現在のプロセス要素制御オブジェクトに対応する実行可能な構成は、図１のコントローラ１２または１２ａ等のプロセス要素で同期され、コントローラ１２または１２ａは、ランタイム中に、インスタンス化された現在のプロセス要素制御オブジェクトによって定義される、機能、入力、出力、及び他の条件に従って動作するように構成される。別の例において、現在の図形表示ビューオブジェクトは、現在の図形表示ビューオブジェクト内に含まれた定義に対応するビューがユーザインターフェース上で構築及び提示されたとき、ユーザインターフェースでインスタンス化される。典型的には、オブジェクトによって定義された特定の内部アイテムになされた変更は、オブジェクトによって定義された他の内部アイテムに典型的に影響を及ぼさない。
【００９２】
「修正（ｍｏｄｉｆｉｃａｔｉｏｎ）」という用語は、本明細書では、オブジェクトのコンテンツに対する、その親オブジェクトへのリンクを維持しつつ行われる、１つ以上の変更を指すために使用される。現在のアイテムまたはオブジェクトに対する修正または変更の一例は、現在のアイテムまたはオブジェクトに対する、新しいパラメータまたは動作の追加等の新しい内部アイテムの追加である。追加的または代替的に、修正は、現在のプロセス要素オブジェクトの既存アイテムを削除することを含み得る、及び／またはオブジェクトによる定義済みのアイテムの値、式、もしくは参照を変更することを含み得る。一部のシナリオにおいて、修正は、特定アイテムの無効化を含み、これにより特定アイテムは、インスタンス化中に無視される。例えば、特定インスタンスオブジェクトにおいて、ユーザは、親クラスオブジェクト内で定義されるアイテムを無効化し得る。このような能力は、ユーザが、クラスの残りのものよりも低機能を有するが、依然としてコアクラス機能を含むインスタンスを定義することを可能にする。任意の無効化されたコンテンツが、視覚的に弱められるか、不可視化されるか、またはそうでなければ描画されず、ランタイム中に使用されない。無効化されたコンテンツは、任意の時間にユーザによって再び有効化され得る。概して、修正は、親オブジェクト内の参照がそれぞれの子オブジェクト内の定数値に対して解決されるとき等の、定数値または定数式に対する参照を解決することを含み得る。
【００９３】
任意の修正、変更、及びそれらの組み合わせが、クラスアイテムもしくはクラスオブジェクト、インスタンスアイテムもしくはインスタンスオブジェクト、プロセス要素アイテムもしくはプロセス要素オブジェクト、または内部アイテムに対して行われ得る。インスタンスオブジェクト及び他の子オブジェクトの場合において、子オブジェクトに対する変更または修正は、一実施形態において、その親から除去されている子オブジェクト内では結果として生じない。例えば、インスタンスオブジェクトに対する修正は、インスタンスオブジェクトをそのクラスから除去せず、さらに、ユーザによってそのように指定されない限り、同一クラスの他のインスタンスに影響を与えない。
【００９４】
インスタンス化：
【００９５】
オブジェクトは、一実施形態において、ユーザによってインスタンス化のために選択され得る。選択されたオブジェクトのインスタンス化は、選択されたオブジェクトによって定義された内部アイテムに従って、ランタイム中に実行する対応するプロセス要素を結果としてもたらす。例えば、制御オブジェクトの場合において、ユーザは、ランタイムシステム内の対応するデバイスで同期されるべき制御オブジェクトの特定の修正された構成を望む。ユーザは、更新された構成を選択された構成から生成し、かつ更新された構成をランタイムシステム内のプロセス要素に送信するようにシステムに命令する。このように、ランタイム中に、プロセス要素は、制御オブジェクトの実行構成を実行し、ここで、実行構成は、制御オブジェクトに対する修正を含む。別の例において、ユーザは、表示ビュー上に含まれる図形表示要素オブジェクトをインスタンス化するように構成システムに命令する。構成システムは、図形表示要素オブジェクトの実行構成を作成する。対応する表示ビューがランタイムで構築されるとき、図形表示オブジェクトの実行構成が実行され、表示ビュー上に含まれているそれぞれの図形要素を結果としてもたらす。複数構成が利用可能であるとき、ユーザは、複数構成のうちのインスタンス化されるべきものを選択し得る。
【００９６】
本開示に説明された技術の実施形態は、以下の態様の任意の番号を、単独または組み合わせのいずれかにおいて含み得る。
【００９７】
１．プロセスプラント内で依存オブジェクトを同期させるためのコンピューティングデバイスであって、コンピューティングデバイスは、１つ以上のプロセッサと、１つ以上のプロセッサに連結された非一時的コンピュータ可読媒体であって、そこに構成アプリケーションを記憶し、構成アプリケーションが、１つ以上のプロセッサによって実行されたとき、コンピューティングデバイスに、第１のプロセス実体に対応する第１のオブジェクトに対する修正を受信することと、ランタイムでの動作のために修正された第１のオブジェクトをインスタンス化する要求を受信することと、少なくとも１つの未確定の修正を有する、修正された第１のオブジェクトに関する１つ以上の第２の依存オブジェクトを識別することであって、１つ以上の第２の依存オブジェクトが、それぞれの第２のプロセスプラント実体に各々対応する、識別することと、修正された第１のオブジェクトのインスタンス化、及び生成されることになる１つ以上の第２の依存オブジェクトのうちの少なくとも１つのインスタンス化を引き起こすことと、第１のプロセス実体及び第２のプロセス実体が、それぞれ、修正された第１のオブジェクトのインスタンス化、及び少なくとも１つの第２の依存オブジェクトのインスタンス化に従ってランタイムで動作するように、修正された第１のオブジェクトのインスタンス化、及び実行されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、を行わせる、非一時的コンピュータ可読媒体と、を備える、コンピューティングデバイス。
【００９８】
２．構成アプリケーションは、コンピューティングデバイスに、１つ以上の第２の依存オブジェクトの指標をユーザに提示することと、１つ以上の第２の依存オブジェクトのうちの少なくとも１つの選択をユーザから受信することと、生成されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、をさらに行わせる、態様１に記載のコンピューティングデバイス。
【００９９】
３．１つ以上の第２の依存オブジェクトの指標をユーザに提示するために、構成アプリケーションは、コンピューティングデバイスに、修正された第１のオブジェクトによって直接参照されるか、または修正された第１のオブジェクトを直接参照する、１つ以上の第２の依存オブジェクトのうちの少なくとも１つの指標を提示することを行わせる、態様１または態様２に記載のコンピューティングデバイス。
【０１００】
４．構成アプリケーションは、コンピューティングデバイスに、ユーザによる、少なくとも１つの第２の依存オブジェクトに関する第３の依存オブジェクトを提示する要求を受信することと、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトの指標を提示することと、をさらに行わせる、態様１〜３のいずれか１つに記載のコンピューティングデバイス。
【０１０１】
５．構成アプリケーションは、コンピューティングデバイスに、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトを識別することと、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトのうちの少なくとも１つの指標が既に提示されていると判定することと、既に提示されている少なくとも１つの第３の依存オブジェクトの指標を提示しないことと、をさらに行わせる、態様１〜４のいずれか１つに記載のコンピューティングデバイス。
【０１０２】
６．第１のオブジェクトに対する修正は、第１のオブジェクト内のパラメータ値に対する変更を含み、構成アプリケーションは、コンピューティングデバイスに、生成及び実行されることになる修正された第１のオブジェクトのインスタンス化を引き起こす前に、ランタイム中に現在実行されている第１のオブジェクト内の変更されたパラメータ値を更新することをさらに行わせる、態様１〜５のいずれか１つに記載のコンピューティングデバイス。
【０１０３】
７．構成アプリケーションは、コンピューティングデバイスに、第１のオブジェクトに関する複数の第３の依存オブジェクト内の変更されたパラメータ値を更新することをさらに行わせる、態様１〜６のいずれか１つに記載のコンピューティングデバイス。
【０１０４】
８．修正された第１のオブジェクトのインスタンス化、及び少なくとも１つの第２の依存オブジェクトのインスタンス化は、同時に生成される、態様１〜７のいずれか１つに記載のコンピューティングデバイス。
【０１０５】
９．プロセスプラント内で依存オブジェクトを同期させる方法であって、方法は、構成アプリケーションを実行する１つ以上のプロセッサによって、第１のプロセス実体に対応する第１のオブジェクトに対する修正を受信することと、１つ以上のプロセッサによって、ランタイムでの動作のための修正された第１のオブジェクトをインスタンス化する要求を受信することと、１つ以上のプロセッサによって、少なくとも１つの未確定の修正を有する、修正された第１のオブジェクトに関する１つ以上の第２の依存オブジェクトを識別することであって、１つ以上の第２の依存オブジェクトが、それぞれの第２のプロセスプラント実体に各々対応する、識別することと、１つ以上のプロセッサによって、修正された第１のオブジェクトのインスタンス化、及び生成されることになる１つ以上の第２の依存オブジェクトのうちの少なくとも１つのインスタンス化を引き起こすことと、１つ以上のプロセッサによって、第１のプロセス実体及び第２のプロセス実体が、それぞれ、修正された第１のオブジェクトのインスタンス化、及び少なくとも１つの第２の依存オブジェクトのインスタンス化に従ってランタイムで動作するように、修正された第１のオブジェクトのインスタンス化、及び実行されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、を含む、方法。
【０１０６】
１０．１つ以上のプロセッサによって、１つ以上の第２の依存オブジェクトの指標をユーザに提示することと、１つ以上のプロセッサによって、１つ以上の第２の依存オブジェクトのうちの少なくとも１つの選択をユーザから受信することと、１つ以上のプロセッサによって、生成されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことと、をさらに含む、態様９に記載の方法。
【０１０７】
１１．１つ以上の第２の依存オブジェクトの指標をユーザに提示することは、１つ以上のプロセッサによって、修正された第１のオブジェクトによって直接参照されるか、または修正された第１のオブジェクトを直接参照する、１つ以上の第２の依存オブジェクトのうちの少なくとも１つの指標を提示することを含む、態様９または態様１０に記載の方法。
【０１０８】
１２．１つ以上のプロセッサによって、ユーザによる、少なくとも１つの第２の依存オブジェクトに関する第３の依存オブジェクトを提示する要求を受信することと、１つ以上のプロセッサによって、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトの指標を提示することと、をさらに含む、態様９〜１１のいずれか１つに記載の方法。
【０１０９】
１３．１つ以上のプロセッサによって、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトを識別することと、１つ以上のプロセッサによって、少なくとも１つの第２の依存オブジェクトに関する１つ以上の第３の依存オブジェクトのうちの少なくとも１つの指標が既に提示されていると判定することと、既に提示されている少なくとも１つの第３の依存オブジェクトの指標を提示しないことと、をさらに含む、態様９〜１２のいずれか１つに記載の方法。
【０１１０】
１４．第１のオブジェクトに対する修正は、第１のオブジェクト内のパラメータ値に対する変更を含み、１つ以上のプロセッサによって、生成及び実行されることになる修正された第１のオブジェクトのインスタンス化を引き起こす前に、ランタイム中に現在実行されている第１のオブジェクト内の変更されたパラメータ値を更新することをさらに含む、態様９〜１３のいずれか１つに記載の方法。
【０１１１】
１５．１つ以上のプロセッサによって、第１のオブジェクトに関する複数の第３の依存オブジェクト内の変更されたパラメータ値を更新することをさらに含む、態様９〜１４のいずれか１つに記載の方法。
【０１１２】
１６．修正された第１のオブジェクトのインスタンス化、及び生成されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を引き起こすことは、修正された第１のオブジェクトのインスタンス化、及び生成されることになる少なくとも１つの第２の依存オブジェクトのインスタンス化を、同時に引き起こすことを含む、態様９〜１５のいずれか１つに記載の方法。
【０１１３】
１７．プロセスプラント内でオブジェクトに対するパラメータ値変更を同期させる方法であって、方法は、ランタイム中にプロセス実体に対応するオブジェクトを実行することと、オブジェクト内のパラメータに対する変更された値の指標を受信することと、オブジェクトのランタイム実行を中断させることなく、オブジェクトの実行中に、変更された値によってオブジェクト内のパラメータを更新することと、を含む、方法。
【０１１４】
１８．パラメータを更新することは、変更された値によってパラメータに対する現在値を上書きすることを含む、態様１７に記載の方法。
【０１１５】
１９．ランタイム中にプロセス実体に対応するオブジェクトを実行することは、コントローラによって、ランタイム中にプロセス実体に対応するオブジェクトを実行することを含む、態様１７または態様１８に記載の方法。
【０１１６】
２０．変更された値によってオブジェクト内のパラメータを更新することは、パラメータに対する変更された値をコントローラに提供することであって、コントローラが、変更
された値によってパラメータに対する現在値を上書きする、提供することを含む、態様１７〜１９のいずれか１つに記載の方法。
【０１１７】
２１．実行中に変更された値によってパラメータを更新するか、またはパラメータに対する変更された値を含むオブジェクトの修正されたバージョンをインスタンス化するか否かを自動的に判定することをさらに含み、オブジェクトの修正されたバージョンは、後続のランタイムサイクル中に実行される、態様１７〜２０のいずれか１つに記載の方法。
【０１１８】
２２．オブジェクトに関する複数の依存オブジェクト内のパラメータを、オブジェクト及び複数の依存オブジェクトの実行中に、変更された値によって更新することをさらに含む、態様１７〜２１のいずれか１つに記載の方法。
【０１１９】
加えて、本開示の先の態様は、単に例示的なものであり、本開示の範囲を限定することを意図しない。
【０１２０】
以下の追加の検討が上記の考察に適用される。本明細書全体を通して、任意のデバイスまたはルーチンによって実行されるものとして説明される動作は、機械可読命令に従ってデータを操作または変換するプロセッサの動作またはプロセスを概して意味する。機械可読命令は、プロセッサに通信可能に連結されたメモリデバイス上に記憶され、それから取得され得る。つまり、本明細書で説明された方法は、図１に例解されるような、コンピュータ可読媒体上（つまり、メモリデバイス上）に記憶された一組の機械可読命令によって具現化され得る。命令は、対応するデバイス（例えば、サーバ、オペレータワークステーション等）の１つ以上のプロセッサによって実行されたとき、プロセッサに方法を実行させる。命令、ルーチン、モジュール、プロセッサ、サービス、プログラム、及び／またはアプリケーションが本明細書ではコンピュータ可読メモリ上またはコンピュータ可読媒体上に記憶または保存されるとして言及されるが、「記憶（ｓｔｏｒｅｄ）」及び「保存（ｓａｖｅｄ）」という語は、一時的信号を除外することが意図される。
【０１２１】
さらに、「オペレータ（ｏｐｅｒａｔｏｒ）」、「従業員（ｐｅｒｓｏｎｎｅｌ）」、「人物（ｐｅｒｓｏｎ）」、「ユーザ（ｕｓｅｒ）」、「技術者（ｔｅｃｈｎｉｃｉａｎ）」、「エンジニア（ｅｎｇｉｎｅｅｒ）」という用語、及び同様の他の用語が本明細書で説明されたシステム、装置、及び方法を使用またはそれらと対話し得るプロセスプラント環境内の人物を説明するために使用されるが、これらの用語は、限定を意図するものではない。特定の用語が説明で使用されるところで、用語は、一部において、プラント従業員が従事する従来の活動に起因して使用されるが、特定の活動に従事し得る従業員を限定することを意図しない。
【０１２２】
加えて、本明細書全体を通して、複数のインスタンスが単一インスタンスとして説明された構成要素、動作、または構造を実装し得る。１つ以上の方法の個々の動作が別個の動作として例解及び説明されたが、個々の動作のうちの１つ以上が同時に実行されてもよく、例解された順序で動作が実行される必要はない。例示的な構成内で別個の構成要素として提示された構造及び機能は、組み合わせられた構造または構成要素として実装されてもよい。同様に、単一構成要素として提示された構造及び機能は、別個の構成要素として実装されてもよい。これらの及び他の変形、修正、追加、及び改善は、本明細書の主題の範囲内に収まる。
【０１２３】
別途特に記載されない限り、「処理すること（ｐｒｏｃｅｓｓｉｎｇ）」、「コンピューティングすること（ｃｏｍｐｕｔｉｎｇ）」、「計算すること（ｃａｌｃｕｌａｔｉｎｇ）」、「判定すること（ｄｅｔｅｒｍｉｎｉｎｇ）」、「識別すること（ｉｄｅｎｔｉｆｙｉｎｇ）」、「提示すること（ｐｒｅｓｅｎｔｉｎｇ）」、「提示させること（ｃａ
ｕｓｉｎｇ  ｔｏ  ｂｅ  ｐｒｅｓｅｎｔｅｄ）」、「表示させること（ｃａｕｓｉｎｇ
ｔｏ  ｂｅ  ｄｉｓｐｌａｙｅｄ）」、「表示すること（ｄｉｓｐｌａｙｉｎｇ）」等のような語を使用する本明細書の考察は、１つ以上のメモリ（例えば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組み合わせ）、レジスタ、または情報を受信、記憶、送信、もしくは表示する他の機械構成要素内の物理（例えば、電気、磁気、生体、もしくは光）量として表されたデータを操作または変換する機械（例えば、コンピュータ）の動作またはプロセスを意味し得る。
【０１２４】
ソフトウェア内に実装されるとき、本明細書で説明されたアプリケーション、サービス、及びエンジンのいずれかは、コンピュータもしくはプロセッサのＲＡＭもしくはＲＯＭ内の磁気ディスク、レーザディスク、ソリッドステートメモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体等の任意の有形の非一時的コンピュータ可読メモリ内に記憶され得る。本明細書で開示される例示的なシステムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェア及び／またはファームウェアを含むとして開示されるが、このようなシステムは単に例解的であることが留意されるべきであり、限定として考慮されるべきではない。例えば、これらのハードウェア、ソフトウェア、及びファームウェア構成要素は、ハードウェア内で排他的に、ソフトウェア内で排他的に、またはハードウェア及びソフトウェアの任意の組み合わせ内で具現化され得ることが考えられる。したがって、当業者は、提供された例がこのようなシステムを実装する唯一の方式ではないことを容易に理解するであろう。
【０１２５】
このように、本発明が特定の例を参照して説明されてきたが、これは、単に例解的であることを意図するものであり、本発明を限定することを意図するものではなく、当業者にとって、変更、追加、または削除が、本発明の概念及び範囲から逸脱することなく、開示された実施形態になされ得ることが明らかであろう。
【０１２６】
用語が、本特許において「本明細書で使用される、「＿＿＿＿＿＿」という用語は、．．．を意味するようにこれによって定義される」という文、または類似の文を使用して明白に定義されない限り、明示的に、または示唆によるいずれかにおいて、その平易または通常の意味を超えて、その用語の意味を限定する意図は存在せず、このような用語は、本特許の任意の文節内でなされた任意の記述（請求項の文言以外）に基づいた範囲において限定されるように解釈されるべきではないということも理解されるべきである。本特許の最後で請求項内に記載された任意の用語が単一の意味と矛盾しない様式で本特許内において参照されるという点で、それは、読み手を混乱させないために単に明瞭化のためになされ、このような請求項の用語が、示唆またはその他の点で、その単一の意味に限定されることを意図するものではない。最後に、請求項の要素が「手段（ｍｅａｎｓ）」という語及び任意の構造の詳述を有しない機能を記載することによって定義されない限り、任意の請求項の要素の範囲が米国特許法第１１２条（ｆ）及び／または旧米国特許法第１１２条の第６段落の適用に基づいて解釈されることを意図するものではない。
【０１２７】
さらに、上記の文章は多くの異なる実施形態の詳細な説明を明らかにしたが、本特許の範囲が本特許の最後に明らかにされる請求項の語によって定義されることが理解されるべきである。詳細な説明は、単に例示的なものとして解釈されるべきであり、全ての可能な実施形態を説明することは、不可能ではない場合でも非現実的であるので、全ての可能な実施形態を説明するものではない。多くの代替的実施形態が、現在の技術または本特許の出願日の後に開発された技術のいずれかを使用して実装され得るが、これらは、依然として請求項の範囲内に収まるであろう。
【図１】
2019003652.tif 000003
【図２】
2019003652.tif 000004
【図３】
2019003652.tif 000005
【図４】
2019003652.tif 000006
【図５】
2019003652.tif 000007
【図６】
2019003652.tif 000008
【図７】
2019003652.tif 000009
【図８】
2019003652.tif 000010
【図９】
2019003652.tif 000011
【図１０】
2019003652.tif 000012
【外国語明細書】
2019003652000001.pdf