(57)【要約】      （修正有）【課題】プロセスプラントを構成するモジュールクラスの制御されたロールアウトのためのモジュールベースシステム及び方法を提供する。【解決手段】システム及び方法は、モジュールクラスの第１のバージョンに対する修正に基づいて、モジュールクラスの第２のバージョンを生成し、アップグレードされたプロセス制御要素をアップデートするためのロールアウト命令を実行する。モジュールクラスは、１つ以上のモジュールインスタンスに関連付けられ、アップグレードされたプロセス制御要素は、モジュールクラスの第２のバージョンに基づいて、新規モジュールインスタンスに関連付けられ、ロールアウト命令は、アップグレードされていないプロセス制御要素を無視またはスキップするように設計される。アップグレードされていないプロセス制御要素は、モジュールクラスの第１のバージョンに基づいて以前のモジュールインスタンスに関連付けられたままである。【選択図】図１
2019032839.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトを実装するように構成されたモジュールベースシステムであって、前記モジュールベースシステムが、１つ以上のプロセッサを備え、前記モジュールベースシステムが、
モジュールクラスの第２のバージョンを、前記モジュールクラスの第１のバージョンに対する修正に基づいて生成することであって、前記モジュールクラスが、１つ以上のモジュールインスタンスに関連付けられ、各モジュールインスタンスが、前記プロセスプラントのプロセス制御要素に関連付けられる、生成することと、
ロールアウト命令を実行することであって、前記ロールアウト命令が、アップグレードされたプロセス制御要素を更新し、前記アップグレードされたプロセス制御要素が、前記モジュールクラスの前記第２のバージョンに基づいて新規モジュールインスタンスに関連付けられ、前記ロールアウト命令が、アップグレードされていないプロセス制御要素を無視し、前記アップグレードされていないプロセス制御要素が、前記モジュールクラスの第１のバージョンに基づいて、以前のモジュールインスタンスに関連付けられたままである、実行することと、を行うように構成される、モジュールベースシステム。
【請求項２】
前記アップグレードされたプロセス制御要素と前記アップグレードされていないプロセス制御要素とを使用することによって、前記プロセスプラントの少なくとも一部を動作させるようにさらに構成される、請求項１に記載のモジュールベースシステム。
【請求項３】
選択的アップグレードルーチンによって前記ロールアウト命令を実行するようにさらに構成され、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第２のバージョンに基づいて、前記アップグレードされたプロセス制御要素を前記新規モジュールインスタンスと関連付け、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第２のバージョンに基づいて、前記アップグレードされていないプロセス制御要素を第２の新規モジュールインスタンスと関連付けしない、請求項１に記載のモジュールベースシステム。
【請求項４】
モジュール構成記録を介して、前記１つ以上のモジュールインスタンスを追跡するようにさらに構成され、前記モジュール構成記録が、前記１つ以上のモジュールインスタンスの各々に対する前記モジュールクラスのバージョンを示し、前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示す、請求項１に記載のモジュールベースシステム。
【請求項５】
前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、前記モジュールクラスの付加的なアップグレードを防止するようにさらに構成される、請求項４に記載のモジュールベースシステム。
【請求項６】
前記モジュールクラスが、導出されたモジュールクラスである、請求項１に記載のモジュールベースシステム。
【請求項７】
前記ロールアウト命令が、直ちに実行される、請求項１に記載のモジュールベースシステム。
【請求項８】
前記ロールアウト命令が、スケジュールされた時間で実行される、請求項１に記載のモジュールベースシステム。
【請求項９】
特定のプロセス制御要素が、フィールドデバイスである、請求項１に記載のモジュールベースシステム。
【請求項１０】
前記フィールドデバイスが、バルブである、請求項９に記載のモジュールベースシステム。
【請求項１１】
前記モジュールクラスの前記第２のバージョンが、前記プロセスプラントの変更されたプロセス制御要素に対応する、請求項１に記載のモジュールベースシステム。
【請求項１２】
前記モジュールクラスの前記第１のバージョンに対する前記修正が、前記モジュールクラスに１つ以上の入力を付加することを含み、前記モジュールベースシステムが、前記１つ以上の入力にアクセスして、前記アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするようにさらに構成される、請求項１に記載のモジュールベースシステム。
【請求項１３】
前記モジュールクラスへの前記１つ以上の入力が、１つ以上のフィードバック入力である、請求項１２に記載のモジュールベースシステム。
【請求項１４】
前記アップグレードされたプロセス制御要素が、アップグレードされたプロセス制御要素セットに含まれ、前記アップグレードされたプロセス制御要素セットが、前記ロールアウト命令によって実行されるとき、前記モジュールクラスの前記第２のバージョンの新規モジュールインスタンスと関連付けられるように各プロセス制御要素を定義し、前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの全プロセス制御要素のサブセットを含む、請求項１に記載のモジュールベースシステム。
【請求項１５】
１つ以上のプロセス制御要素選択を受信するように動作可能であり、前記プロセス制御要素選択が、各プロセス制御要素を前記アップグレードされたプロセス制御要素セットに含めることを示す、請求項１４に記載のモジュールベースシステム。
【請求項１６】
前記１つ以上のプロセス制御要素選択が、グラフィカルインターフェースを介して受信される、請求項１５に記載のモジュールベースシステム。
【請求項１７】
前記アップグレードされたプロセス制御要素セットが、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を含む、請求項１４に記載のモジュールベースシステム。
【請求項１８】
前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を含む、請求項１４に記載のモジュールベースシステム。
【請求項１９】
前記アップグレードされたプロセス制御要素セットが、前記プラントの物理エリアに関連付けられたプロセス制御要素を含む、請求項１４に記載のモジュールベースシステム。
【請求項２０】
付加的なロールアウト命令を実行するようにさらに構成され、前記付加的なロールアウト命令が、前記モジュールクラスの前記第２のバージョンに基づいて前記新規モジュールインスタンスに対して、及び前記モジュールクラスの前記第１のバージョンに基づいて前記以前のモジュールインスタンスに対して構成変更を適用し、前記構成変更が、モジュールクラスの前記第２のバージョン及び前記モジュールクラスの前記第１のバージョンの各々に対する付加的な修正を含む、請求項１に記載のモジュールベースシステム。
【請求項２１】
前記付加的な修正が、モジュールクラスの前記第２のバージョン及び前記モジュールクラスの前記第１のバージョンの各々に、計算機能を付加する、請求項２０に記載のモジュ
ールベースシステム。
【請求項２２】
１つ以上のプロセッサを使用してプロセスプラントを構成するための、モジュールクラスの制御されたロールアウトを実装するためのモジュールベースの方法であって、前記方法が、
モジュールクラスの第２のバージョンを、前記モジュールクラスの第１のバージョンに対する修正に基づいて生成することであって、前記モジュールクラスが、１つ以上のモジュールインスタンスに関連付けられ、各モジュールインスタンスが、前記プロセスプラントのプロセス制御要素に関連付けられる、生成することと、
ロールアウト命令を実行することであって、前記ロールアウト命令が、アップグレードされたプロセス制御要素を更新し、前記アップグレードされたプロセス制御要素が、前記モジュールクラスの前記第２のバージョンに基づいて新規モジュールインスタンスに関連付けられ、前記ロールアウト命令が、アップグレードされていないプロセス制御要素を無視し、前記アップグレードされていないプロセス制御要素が、前記モジュールクラスの前記第１のバージョンに基づいて、以前のモジュールインスタンスに関連付けられたままである、実行することと、を含む、モジュールベースの方法。
【請求項２３】
前記アップグレードされたプロセス制御要素と前記アップグレードされていないプロセス制御要素とを使用することによって、前記プロセスプラントの少なくとも一部を動作させるようにさらに構成される、請求項２２に記載のモジュールベースの方法。
【請求項２４】
選択的アップグレードルーチンによって前記ロールアウト命令を実行するようにさらに構成され、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第２のバージョンに基づいて、前記アップグレードされたプロセス制御要素を前記新規モジュールインスタンスと関連付け、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第２のバージョンに基づいて、前記アップグレードされていないプロセス制御要素を第２の新規モジュールインスタンスと関連付けしない、請求項２２に記載のモジュールベースの方法。
【請求項２５】
モジュール構成記録を介して、前記１つ以上のモジュールインスタンスを追跡するようにさらに構成され、前記モジュール構成記録が、前記１つ以上のモジュールインスタンスの各々に対する前記モジュールクラスのバージョンを示し、前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示す、請求項２２に記載のモジュールベースの方法。
【請求項２６】
前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、前記モジュールクラスの付加的なアップグレードを防止するようにさらに構成される、請求項２５に記載のモジュールベースの方法。
【請求項２７】
前記モジュールクラスが、導出されたモジュールクラスである、請求項２２に記載のモジュールベースの方法。
【請求項２８】
前記ロールアウト命令が、直ちに実行される、請求項２２に記載のモジュールベースの方法。
【請求項２９】
前記ロールアウト命令が、スケジュールされた時間で実行される、請求項２２に記載のモジュールベースの方法。
【請求項３０】
特定のプロセス制御要素が、フィールドデバイスである、請求項２２に記載のモジュールベースの方法。
【請求項３１】
前記フィールドデバイスが、バルブである、請求項３０に記載のモジュールベースの方法。
【請求項３２】
前記モジュールクラスの前記第２のバージョンが、前記プロセスプラントの変更されたプロセス制御要素に対応する、請求項２２に記載のモジュールベースの方法。
【請求項３３】
前記モジュールクラスの前記第１のバージョンに対する前記修正が、前記モジュールクラスに１つ以上の入力を付加することを含み、前記モジュールベースシステムが、前記１つ以上の入力にアクセスして、前記アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするようにさらに構成される、請求項２２に記載のモジュールベースの方法。
【請求項３４】
前記モジュールクラスへの前記１つ以上の入力が、１つ以上のフィードバック入力である、請求項３３に記載のモジュールベースの方法。
【請求項３５】
前記アップグレードされたプロセス制御要素が、アップグレードされたプロセス制御要素セットに含まれ、前記アップグレードされたプロセス制御要素セットが、前記ロールアウト命令によって実行されるとき、前記モジュールクラスの前記第２のバージョンの新規モジュールインスタンスに関連付けられるように各プロセス制御要素を定義し、前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの全プロセス制御要素のサブセットを含む、請求項２２に記載のモジュールベースの方法。
【請求項３６】
１つ以上のプロセス制御要素選択を受信するように動作可能であり、前記プロセス制御要素選択が、各プロセス制御要素を前記アップグレードされたプロセス制御要素セットに含めることを示す、請求項３５に記載のモジュールベースの方法。
【請求項３７】
前記１つ以上のプロセス制御要素選択が、グラフィカルインターフェースを介して受信される、請求項３６に記載のモジュールベースの方法。
【請求項３８】
前記アップグレードされたプロセス制御要素セットが、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を含む、請求項３５に記載のモジュールベースの方法。
【請求項３９】
前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を含む、請求項３５に記載のモジュールベースの方法。
【請求項４０】
前記アップグレードされたプロセス制御要素セットが、前記プラントの物理エリアに関連付けられたプロセス制御要素を含む、請求項３５に記載のモジュールベースの方法。
【請求項４１】
付加的なロールアウト命令を実行するようにさらに構成され、前記付加的なロールアウト命令が、前記モジュールクラスの前記第２のバージョンに基づいて前記新規モジュールインスタンスに対して、及び前記モジュールクラスの前記第１のバージョンに基づいて前記以前のモジュールインスタンスに対して構成変更を適用し、前記構成変更が、モジュールクラスの前記第２のバージョン及び前記モジュールクラスの前記第１のバージョンの各々に対する付加的な修正を含む、請求項２２に記載のモジュールベースの方法。
【請求項４２】
前記付加的な修正が、モジュールクラスの前記第２のバージョン及び前記モジュールクラスの前記第１のバージョンの各々に、計算機能を付加する、請求項４１に記載のモジュ
ールベースの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してプロセスプラントに関し、より具体的には、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトに関する。
【背景技術】
【０００２】
分散型プロセス制御システムは、典型的には発電、化学製造、石油精製、工業生産または他のタイプのプラントで使用されるものであり、典型的には、アナログ、デジタル、もしくはアナログ／デジタル一体型を介して、または無線バスを介して、複数のフィールドデバイスと通信可能に連結した１つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、送信器（例えば、温度、圧力、レベル、及び流速センサ）、バーナ、熱交換機、炉等であり得るフィールドデバイスは、プラント環境内に配置され、コントローラによって展開されて送られた制御信号に応答して、バルブの開放または閉鎖、プロセスパラメータの測定等のプロセス機能を行う。周知のＦｉｅｌｄｂｕｓプロトコルのいずれかに準拠するフィールドデバイス等のスマートフィールドデバイスは、制御計算、アラーム機能、及びプラントコントローラ内で、またはプラントコントローラによって一般に実装される他の機能も行い得る。プラントコントローラも典型的にはプラント環境内に配置され、このプラントコントローラは、フィールドデバイスによって行われるプロセス測定を示す信号及び／またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づきプロセス制御信号を生成し、ＨＡＲＴ（商標）、及びＦＯＵＮＤＡＴＩＯＮ（商標）ベースのＦｉｅｌｄｂｕｓフィールドデバイス等のフィールドデバイスで行われる制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信線またはネットワークを通じて、プロセス制御信号をフィールドデバイスに送り、それによって、プロセスのオペレーションを制御する。
【０００３】
フィールドデバイス及びコントローラからの情報は、典型的には制御室もしくはより厳しいプラント環境から離れた他の場所に配置される、オペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等の１つ以上の他のコンピュータデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのコンピュータデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールのオペレーションの修正、プロセスの現在の状態の閲覧、フィールドデバイス及びコントローラによって生成されたアラームの閲覧、構成データベースの保守及び更新等の、プロセスに関する機能を行うことを可能にし得るアプリケーションを実行し得る。
【０００４】
例として、ＥＭＥＲＳＯＮ  ＰＲＯＣＥＳＳ  ＭＡＮＡＧＥＭＥＮＴによって販売されている、ＯＶＡＴＩＯＮ（商標）制御システムは、プロセスプラント内の多様な場所に配置された異なるデバイス内に記憶され、それらの異なるデバイスによって実行される複数のアプリケーションを含む。１つ以上のオペレータワークステーション内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、及びデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づいて制御スキーム内で機能を実施し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、設計者による、オペレータにデータを表示するために閲覧アプリケーションによって使用されるオペレータインターフェースの作成または変更を可能にし、オ
ペレータによる、プロセス制御ルーチン内の設定点等の設定の変更を可能にし得る。専用コントローラの各々、及び一部の場合においては、フィールドデバイスの各々は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するコントローラアプリケーションを記憶及び実行する。閲覧アプリケーションは、１つ以上のオペレータワークステーション上で実行され得、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示する。データヒストリアンアプリケーションは、典型的には、データハイウェイをわたって提供されたデータの一部またはすべてを収集及び記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成及びそれと関連付けられたデータを記憶するために、データハイウェイに接続されたさらに離れたコンピュータで実行され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーション内に配置されてもよい。
【０００５】
現在、プロセスプラントは、モジュールクラス及びそれら各自のモジュールオブジェクト（モジュールインスタンスとしても既知である）で構成することができる。「モジュールクラス」は、特定のタイプのモジュール、例えば制御モジュールのためのテンプレートである。クラスの「モジュールインスタンス」は、事実上、その親モジュールクラスからインスタンス化され、その結果それに基づくモジュールクラスの「子」である。
【０００６】
モジュールインスタンスは、プロセス制御システム内の特定の要素に対応することができる。例えば、バルブクラスは、多数のバルブインスタンスを有し得、この場合各インスタンスは、プロセスプラント内の固有のバルブに対応する。モジュールインスタンスは、コンピュータメモリ内で活動を続け、バルブに関するデータを記憶することができ、及び／またはバルブを制御するための機能を実行することができる。既存の実装では、例えば米国特許第７，０４３，３１１号、発明の名称「Ｍｏｄｕｌｅ  Ｃｌａｓｓ  Ｏｂｊｅｃｔｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｙｓｔｅｍ」によって説明されるように、モジュールインスタンスは、それぞれ各自のモジュールクラスオブジェクトから作成することができ、この場合、モジュールオブジェクトは、モジュールクラスに関連付けられ、それによって所有されると言われる。
【０００７】
現在のシステムでは、モジュールクラスと、プロセスプラント内部で使用するためのそのモジュールクラスのインスタンスとの間の一対一マッピングが維持される。現在のシステムでは、所与のモジュールクラスに対して、モジュールインスタンスの複数のライブバージョンは存在することができない。したがって、クラスに対する修正がなされるとき、すべての子モジュールインスタンスが同様に修正されなければならず、よって、モジュールクラスに対するすべてのモジュールインスタンスが、モジュールクラスに対する変更によって直ちに影響される。結果として、モジュールクラスに対してインスタンス化されたいかなる新規モジュールインスタンス、またはモジュールクラスに対してなされたいかなる変更も、そのモジュールクラスオブジェクトに関連付けられたモジュールインスタンスの各々に自動的に反映され、かつそれらに伝播される。米国特許第７，０４３，３１１号によって説明されるように、数多くのモジュールインスタンスが特定のモジュールクラスから作成されているとき、異なるモジュールインスタンスの各々が異なるプロセス実体に結び付けられている場合、異なるモジュールインスタンスの各々が、単にモジュールクラスに対する変更を呼び出すことによって、自動的に変更される。例えば、変更は、プロセスプラント内の関連付けられたモジュールインスタンスまで自動的に伝播される。
【０００８】
しかしながら、これは、プロセスプラント内部で、特に、例えば非常に多くの様々なタイプまたは異なる構成のフィールドデバイス、プロセス制御要素、例えばＣＨＡＲＭ、ポジションスイッチ等を包含するプロセスプラントを含む、非常に多くの様々なタイプまた
は異なる構成のハードウェアを包含するプロセスプラントにおいて、問題を生じさせる可能性がある。例えば、プロセスプラントのオペレータ、例えば、エンジニアが、プロセスプラントのハードウェアをアップグレードすることを所望する場合、新規ハードウェアが新規モジュールクラスを必要とし、ひいてはそれぞれ新規のモジュールインスタンス（例えば、新規ハードウェアを制御するため）を必要とした場合には、プラント内のすべての同様なハードウェアに対する一対一マッピングを維持するために、オペレータは、すべての新規バージョンのハードウェアをすぐに更新及び設置し、古いモジュールクラスに関連付けられた古いハードウェアのすべて及びそのそれぞれのモジュールインスタンスを取り除くことを必要とする。一方で、そのような一手順は、新規モジュールインスタンスのすべてが同じバージョンであることを確実にし、かつ、したがって、新規モジュールクラスと、新規ハードウェアに対する新規モジュールインスタンスとの間の一対一マッピングを維持するであろう。しかしながら、他方で、すべてのそのようなハードウェアを一度に購入及び設置するための予算または資源が不十分である場合がある。
【０００９】
現在の実施では、この課題に対処するために、エンジニアは、新規ハードウェアのすべてではないがいくつかを設置することを余儀なくされ得る。しかしながら、そのような実施は、ハードウェアクラスとそのインスタンスとの間の一対一の関係を壊すため、望ましくない。例えば、そのような実施は、新規モジュールインスタンスが新規ハードウェアを収容することを必要とし、異なるハードウェア構成に対する異なるモジュールクラスを必要とし、この場合、エンジニアは、実際には、経時的に新規モジュールクラス及び関連するインスタンスにおいてフェーズ化するために、クラス連結を壊すことを余儀なくされる。このように、同様のハードウェアが、プラント内の同様のハードウェア、デバイス、要素等に対するバージョン制御切断を引き起こす異なるクラスを有し、それによって、プラントの全体的な構成、保守、及び保守性の効果をより低くし、潜在的に危険にする可能性がある。
【００１０】
一例として、プロセスプラントは、バルブクラスに関連付けられ得、この場合バルブクラスは、プロセスプラント内に位置するハードウェアバルブに対応する１００を超えるインスタンスを有し得る。本例では、バルブクラスの論理は、プロセスプラント内の新規の値、新規の特徴、または新規の使用ケースを適応させるために変更される必要がある場合がある。バルブクラスが１００を超えるバルブインスタンスを有しているため、インスタンスに対する変更の実施は、新規ハードウェア（例えば、関連するケーブルを含む）の経時的な設置と同期させなければならない。現在の実施によれば、バルブクラスに対する変更は、それぞれのバルブインスタンスのすべてに直ちに影響し、この場合、該変更は、新規バルブインスタンスを、既存のオンラインシステム内の所与の値のクラスに関連付けられたすべてのバルブに自動的にダウンロードさせる。しかしながら、新規バルブインスタンスを古いバルブハードウェアにダウンロードすることは、古いバルブモジュールの論理を誤って機能させ、プロセスプラント内で問題、不具合、及びことによると危険な状況を生じさせる可能性がある。
【００１１】
現在の実施では、これに対処するために、エンジニアはまず、エンジニアがクラスを変更する前に影響を受けることを望まないバルブインスタンスを稼働させる任意のハードウェアに対する、バルブクラスとそのバルブクラスインスタンスとの間のクラス連結である一対一マッピングを壊さなければならない。先に述べたように、これは、特に検証されたプラントにおいては、それらの連結されていないインスタンスはここでは自立型であり、それらの論理が任意に変更され得るため、望ましくない。これは、困難な管理、追跡になる可能性があり、最終的にはプロセスプラントに危険となる可能性のあるバージョン制御問題を引き起こす。さらに、この状況はまた、連結されていないインスタンスの追跡を維持するために、制御エンジニアに対するさらなるオーバーヘッドを引き起こし、混乱及びエラーを導入する。
【００１２】
場合によっては、エンジニアは、新規のダミーモジュールクラスを作成し、１つのインスタンスを一度に新規のダミーモジュールクラスに連結／連結解除し、所望の変更を経時的に実装することができる。しかしながら、この第２の手法は、長い時間がかかるだけでなく、管理上の負担を引き起こし、また、特に複数のエンジニアがプロセスプラントの構成及び維持を担当している場合、混乱及びエラーを導入する場合がある。
【発明の概要】
【００１３】
先述の問題を克服するために、プロセスプラントを構成するための、モジュールクラスの制御されたロールアウトのためのモジュールベースシステム及び方法が説明される。様々な実施形態では、モジュールベースシステム及び方法は、モジュールクラスの第１のバージョンの修正に基づくモジュールクラスの第２のバージョンを生成するように構成された１つ以上のプロセッサを含み得る。いくつかの実施形態では、モジュールクラスは、導出されたモジュールクラスであり得、導出されたモジュールクラスは、親モジュールクラスのプロパティまたは機能性を受け継ぐ。
【００１４】
いくつかの実施形態では、モジュールクラスは、１つ以上のモジュールインスタンスに関連付けられ得、モジュールインスタンスは、プロセスプラントのプロセス制御要素に各々関連付けられ得る。プロセス制御要素は、フィールドデバイス、または例えばバルブを含むフィールドデバイスの一部を含み得る。
【００１５】
モジュールクラスの第２のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、１つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。
【００１６】
いくつかの実施形態では、モジュールクラスの第１のバージョンに対する修正は、モジュールクラスに１つ以上の入力（例えば、フィードバック入力）を付加することを含むことができ、この場合、１つ以上の入力は、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするためにアクセスされ得る。
【００１７】
様々な実施形態では、モジュールベースシステム及び方法は、ロールアウト命令を実行するように動作可能である。ロールアウト命令は、１つ以上のアップグレードされたプロセス制御要素を更新するためのルーチンを含み得、アップグレードされたプロセス制御要素は、モジュールクラスの第２のバージョンに基づいて、新規モジュールインスタンスに各々関連付けられる。また、ロールアウト命令は、１つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラスの第１のバージョンに基づいて、以前のモジュールインスタンスに各々関連付けられたままである。例えば、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第２のバージョンに基づいて、アップグレードされたプロセス制御要素を、新規モジュールインスタンスと関連付ける。選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップするように実装することができ、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第２のバージョンに基づいて、いかなる第２の新規モジュールインスタンスにも関連付けられない。
【００１８】
いくつかの実施形態では、ロールアウト命令は、直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。
【００１９】
付加的な実施形態では、いったんロールアウト命令が実行されると、アップグレードさ
れたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々をともに使用して、プロセスプラントの少なくとも一部を制御し得る。そのような実施形態では、プロセスプラントは、異なるバージョン、例えば、同時を含む同じモジュールクラスの第１のバージョン及び第２のバージョンによって少なくとも部分的に制御される。
【００２０】
モジュールベースシステム及び方法は、モジュール構成記録を介して、１つ以上のモジュールインスタンスを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、１つ以上のモジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。
【００２１】
いくつかの実施形態では、モジュールベースシステム及び方法は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。
【００２２】
他の実施形態では、アップグレードされたプロセス制御要素は、モジュールクラスの第２のバージョンの新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれ得る。アップグレードされたプロセス制御要素セットは、ロールアウト命令が実行されるときに作成することができる。一定の実施形態では、アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得る。
【００２３】
いくつかの実施形態では、アップグレードされたプロセス制御要素セットに含むためのプロセス制御要素の選択は、モジュールベースシステム及び方法によって受信され得、このシステム及び方法は、例えばオペレータがどのプロセス制御要素をアップグレードされたプロセス制御要素セットに含めるかを選択することができるグラフィカルインターフェースを介することを含む。
【００２４】
例えば、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を選択することを含み得る。他の実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。またさらなる実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【００２５】
様々な実施形態では、付加的なロールアウト命令を実行し得、付加的なロールアウト命令は、モジュールクラスの第２のバージョンに基づいて新規モジュールインスタンスに対して、及びモジュールクラスの第１のバージョンに基づいて以前のモジュールインスタンスに対して構成変更を適用する。構成変更は、例えば、モジュールクラスに全体としてパッチまたは簡易補修を適用するために、モジュールクラスの第２のバージョン及びモジュールクラスの第１のバージョンの各々に対して適用される付加的な修正を含むことができる。例えば、一実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラスの機能性を向上させるために、モジュールクラスの第２のバージョン及びモジュールクラスの第１のバージョンの各々に、計算機能を付加することができる。
【００２６】
当業者には、例解を目的として図示及び説明されている以下の好ましい実施形態の説明から、利点がより明らかとなろう。理解されるように、本実施形態は、他の異なる実施形態が可能であり得、それらの詳細は、様々な点において修正が可能である。したがって、図面及び説明は、基本的に例解としてみなされるものであり、限定的であると見なされる
ものではない。
【図面の簡単な説明】
【００２７】
以下に説明される図面は、本明細書に開示された本システム及び方法の様々な態様を図示する。各図面は、開示されたシステム及び方法の特定の態様の実施形態を図示し、図面の各々が、その可能な実施形態と一致することが意図されていることが理解されるべきである。さらに、可能な限り、以下の説明は、以下の図面に含まれる参照番号に言及し、それらにおいて、複数の図面に図示された特徴は、一貫した参照番号で示される。
【００２８】
図中には、目下述べられている構成が示されるが、しかしながら、目下の実施形態は、示された精密な構成及び手法に限定されないことが理解される。
【００２９】
【図１】プロセスプラント内部に位置する分散型プロセス制御ネットワークの一実施形態のブロック図であり、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトのための構成アプリケーションを実装するオペレータワークステーションを含む。
【図２】本明細書の様々な実施形態によるモジュールクラスの第１のバージョンを修正するために使用され得る第１の構成画面の一実施形態を図示する。
【図３】図２からのモジュールクラスの第２のバージョンを示す、図２の構成画面の実施形態の図示である。
【図４】図３からのモジュールクラスの第２のバージョンの新規モジュールインスタンスに関連付けられるように選択されたプロセス制御要素を示す、図３の構成画面の一実施形態の図示である。
【図５】特定の導出されたクラスに基づいて選択されたプロセス制御要素を示す、図３の構成画面の一実施形態の図示であり、選択されたプロセス制御要素は、図３からのモジュールクラスの第２のバージョンの新規モジュールインスタンスに関連付けられている。
【図６】プロセスプラント内のプロセス制御要素に対してロールアウトされた、図３からのモジュールクラスの第２のバージョンの新規モジュールインスタンスを示す、図３の構成画面の一実施形態の図示である。
【図７】モジュールクラスの第２のバージョンに基づいて新規モジュールインスタンスに対して、及びモジュールクラスの第１のバージョンに基づいて以前のモジュールインスタンスに対して、構成変更を適用する付加的なロールアウト命令を示す、図３の構成画面の一実施形態の図示である。
【図８】付加的なロールアウト命令を実行するためのロールアウト確認画面を示す、図７の構成画面の一実施形態の図示である。
【図９】プロセスプラントの特定のタイプのプロセス制御要素に関連付けられたモジュールインスタンスを示す構成画面の一実施形態の図示である。
【図１０】図１のプロセスプラントを構成するためのモジュールクラスの制御されたロールアウトの一実施形態を例解する。
【００３０】
図面は、例解のみを目的として、好ましい実施形態を図示する。本明細書で例解されたシステム及び方法の代替の実施形態を、本明細書で説明された本発明の原理から逸脱することなく、用いてもよい。
【発明を実施するための形態】
【００３１】
好ましい実施形態の説明
図１は、プロセスプラント内部に位置する分散型プロセス制御ネットワークの一実施形態のブロック図であり、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトのための構成アプリケーションを実装するオペレータワークステーション
を含む。図１の実施形態では、プロセスプラント１０は、例えばイーサネット（Ｅｔｈｅｒｎｅｔ）接続またはバス１５を介して多数のワークステーション１４に連結された１つ以上のプロセスコントローラ１２を含む。また、コントローラ１２は、通信線またはバス１８のセットを介してプロセスプラント１０内部のデバイスまたは機器に連結され、図１には、コントローラ１２ａに接続された通信線１８のセットのみが図示されている。コントローラ１２は、Ｆｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって販売されているＯＶＡＴＩＯＮ（商標）コントローラを使用して、あくまで一例として実装され得るが、プロセスプラント１０全体に分散されたフィールドデバイス及びフィールドデバイス内の機能ブロック等の制御要素と通信することができることで、１つ以上のプロセス制御ルーチン１９を実行し、これによってプロセスプラント１０の所望の制御を実装する。ワークステーション１４（これは、例えばパーソナルコンピュータであってもよい）を１人以上の構成エンジニアによって使用して、コントローラ１２によって実行されるプロセス制御ルーチン１９及びワークステーション１４または他のコンピュータによって実行される表示ルーチンを設計し、コントローラ１２と通信して、そのようなプロセス制御ルーチン１９をコントローラ１２及び１２ａにダウンロードし得る。さらに、ワークステーション１４は、プロセスプラント１０の動作中に、プロセスプラント１０またはその要素に属する情報を受信及び表示する表示ルーチンを実行し得る。
【００３２】
ワークステーション１４の各々は、構成設計アプリケーション、及び表示アプリケーションまたは閲覧アプリケーション等のアプリケーションを記憶するための、ならびにプロセスプラント１０の構成に属する構成データ等のデータを記憶するためのメモリ２０を含む。また、ワークステーション１４の各々は、構成エンジニアが、プロセス制御ルーチン及び他のルーチンを設計し、これらのプロセス制御ルーチンをコントローラ１２に、もしくは他のコンピュータにダウンロードするか、または情報を収集してそれをプロセスプラント１０の動作中にユーザに表示することを可能にするためのアプリケーションを実行するプロセッサ２１を含む。
【００３３】
またさらに、コントローラ１２の各々は、制御アプリケーション及び通信アプリケーションを記憶するメモリ２２、ならびに任意の既知の様式で制御アプリケーション及び通信アプリケーションを実行するプロセッサ２４を含む。１つの場合において、コントローラ１２の各々は、複数の異なる、独立して実行される制御モジュールまたはブロック１９を使用して制御方策を実装するコントローラアプリケーションを記憶及び実行する。制御モジュール１９は、機能ブロックと一般に称されるものから各々なり得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、プロセスプラント１０内のプロセス制御ループを実装するように他の機能ブロックと併せて動作する（リンクと呼ばれる通信を介して）。
【００３４】
周知のように、機能ブロックは、オブジェクト指向プログラミングプロトコル内のオブジェクトであり得るが、送信機、センサ、または他のプロセスパラメータ測定デバイス等と関連付けられるような入力機能か、ＰＩＤ、ファジー論理等の制御を実行する制御ルーチンと関連付けられるような制御機能か、またはプロセスプラント１０内の一部の物理的機能を実行するために、バルブ等の一部のデバイスの動作を制御する出力機能のうちの１つを典型的に実行する。当然のことながら、ハイブリッド及び他のタイプの複合型機能ブロック、例えばモデル予測コントローラ（ＭＰＣ）、オプティマイザ等が存在する。Ｆｉｅｌｄｂｕｓプロトコル及びＯＶＡＴＩＯＮ（商標）システムプロトコルは、オブジェクト指向プログラミングプロトコルで設計され実施される制御モジュール及び機能ブロックを使用するが、制御モジュールは、例えば逐次機能ブロック、ラダー論理等を含む任意の所望の制御プログラミング方式を使用して設計することができ、機能ブロックまたは任意の他の特定のプログラミング技法またはプログラミング言語を使用して設計することに限定されない。
【００３５】
ワークステーション１４は、プロセス制御ルーチン１９内のプロセス制御要素と、これらのプロセス制御要素が、プロセスプラント１０の制御を提供するように構成される様式とを例解する表示画面を介して、コントローラ１２内のプロセス制御ルーチン１９の図形描写をユーザに提供し得る。図１のシステムでは、構成データベース２５は、イーサネットバス１５に接続され、コントローラ１２及びワークステーション１４によって使用される構成データを記憶し得るとともに、将来の使用のために、プロセスプラント１０で生成されたデータを収集及び記憶することによって、データヒストリアンとして機能し得る。
【００３６】
図１に図示されたプロセスプラント１０では、コントローラ１２ａは、バス１８を介して、本明細書において反応装置＿０１、反応装置＿０２、及び反応装置＿０３と称される、同様に構成された３セットの反応装置（これらは、プロセスプラント１０内部の複製された機器である）に通信可能に接続される。反応装置＿０１は、反応装置容器またはタンク１００、反応装置容器１００内に酸、アルカリ、及び水をそれぞれ提供する流体入口ラインを制御するために接続された３つの入力バルブシステム（これらは、設備実体としてのプロセス制御要素である）１０１、１０２、及び１０３、ならびに反応装置容器１００の流体流出を制御するために接続された出口バルブシステム１０４を含む。センサ１０５は、レベルセンサ、温度センサ、圧力センサ等の任意の所望のタイプのセンサであり得るが、反応装置容器１００内またはその近傍に配設される。さらに、共有ヘッダバルブシステム１１０は、反応装置の各々、反応装置＿０１、反応装置＿０２、及び反応装置＿０３の上流の水ライン上に接続されて、これらの反応装置の各々への水の流れを制御するためのマスター制御を提供する。
【００３７】
同様に、反応装置＿０２は、反応装置容器２００、３つの入力バルブシステム２０１、２０２、及び２０３、出口バルブシステム２０４、ならびにレベルセンサ２０５を含み、一方で反応装置＿０３は、反応装置容器３００、３つの入力バルブシステム３０１、３０２、及び３０３、出口バルブシステム３０４、ならびにレベルセンサ３０５を含む。図１の例では、反応装置＿０１、反応装置＿０２、及び反応装置＿０３の反応装置は、酸を提供する入力バルブシステム１０１、２０１、及び３０１、アルカリを提供する入力バルブシステム１０２、２０２、及び３０２、ならびに共有水ヘッダ１１０と協働して反応装置容器１００に水を提供する入力バルブシステム１０３、２０３、及び３０３によって、塩を生成し得る。出口バルブシステム１０４、２０４、及び３０４は、生成物を、図１において右に向けられた流れ線の外に送り、廃棄物または他の不要物質を、図１において底に向けられた流れ線の外に排出するように動作し得る。
【００３８】
コントローラ１２ａは、反応装置ユニット、反応装置＿０１、反応装置＿０２、及び反応装置＿０３に関する１つ以上の動作を実行するためにこれらのプロセス制御要素の動作を制御するように、バス１８を介して、バルブシステム１０１〜１０４、１１０、２０１〜２０４、及び３０１〜３０４、ならびにセンサ１０５、２０５、及び３０５に通信可能に連結される。このような動作は、概してフェーズと呼ばれるが、例えば、反応装置容器１００、２００、３００を充填すること、反応装置容器１００、２００、３００内の物質を加熱すること、反応装置容器１００、２００、３００の廃棄物を放出すること、反応装置容器１００、２００、３００を洗浄すること等を含み得る。
【００３９】
図１に図示されたバルブ、センサ、及び他の機器は、例えばＦｉｅｌｄｂｕｓデバイス、標準的４−２０Ｍａデバイス、ＨＡＲＴデバイス等を含む任意の所望の種類またはタイプのプロセス制御要素であってもよく、例えばＦｉｅｌｄｂｕｓプロトコル、ＨＡＲＴプロトコル、４−２０Ｍａアナログプロトコル等の任意の既知または所望の通信プロトコルを使用して、コントローラ１２と通信し得る。またさらには、他のタイプのデバイスが、本明細書で説明された原理に従って、コントローラ１２に接続されそれによって制御され
得る。また、他の数及びタイプのコントローラが、プロセスプラント１０に関連付けられた他のデバイスまたはエリアを制御するためにプラント１０内部に接続されてもよく、そのような付加的なコントローラの動作は、図１に図示されたコントローラ１２ａの動作と任意の所望の方法で連係させてもよい。
【００４０】
一般に、図１のプロセスプラント１０を使用して、例えば、ワークステーション１４のうちの１つまたはコントローラ１２ａが、生成物、例えば特定のタイプの塩を生成するために必要である一連の異なるステップ（一般的にフェーズと称される）を行うように反応装置ユニットのうちの１つ以上（ならびに他のプロセス制御要素または他の機器）の動作を指示する高レベルの制御ルーチンであるバッチ実行ルーチンを実行するバッチプロセスを実施し得る。異なるフェーズを実装するために、バッチ実行ルーチンは、実行されることになるステップ、ステップと関連付けられた量及び時間、ならびにステップの順序を特定する、レシピと一般に称されるものを使用する。１つのレシピに対するステップは、例えば、適切な物質または成分で反応装置容器を充填すること、反応装置容器内で物質を混合すること、一定時間、一定温度に反応装置容器内の物質を加熱すること、反応装置容器を空にすること、及び次いで、次のバッチ運転に備えて準備するために反応装置容器を洗浄することを含み得る。ステップの各々は、バッチ運転のフェーズを定義し、コントローラ１２ａ内のバッチ実行ルーチンは、これらのフェーズの各々１つに対して異なる制御アルゴリズムを実行する。当然のことながら、特定の材料、材料の量、加熱温度、時間等は、異なるレシピについて異なり得、結果的に、これらのパラメータは、製造または生成されている製品及び使用されているレシピに応じて、バッチ運転ごとに変化し得る。当業者には、制御ルーチン及び構成は、本明細書では図１に図示された反応装置内でのバッチ実行のために説明されているが、制御ルーチンは、他の所望のデバイスを制御して、任意の他の所望のバッチプロセス実行を行うか、または所望であれば、継続的なプロセス実行を行うために使用され得ることが理解されよう。
【００４１】
また、理解されるように、バッチプロセスの同じフェーズまたはステップを、図１の異なる反応装置ユニットの各々で、同じまたは異なる時点で実施することができる。さらに、図１の反応装置ユニットは、概して同じ数及びタイプの機器を含むため、特定のフェーズのための同じ汎用フェーズ制御ルーチンを、異なる反応装置ユニットの各々を制御するために使用し得るが、この汎用フェーズ制御ルーチンが、異なる反応装置ユニットに関連付けられた異なるハードウェア、機器、またはさもなければプロセス制御要素を制御するように修正される必要がある場合を除く。例えば、反応装置＿０１に対する充填フェーズ（反応装置ユニットが充填される）を実装するために、充填制御ルーチンは、一定時間、例えば、容器１００が充填されたことをレベルメータ１０５が検知するまで、入力バルブシステム１０１、１０２、及び１０３と関連付けられた、プロセス制御要素である１つ以上のバルブを開く。しかしながら、この同一制御ルーチンは、バルブシステム１０１、１０２、及び１０３の代わりに、バルブシステム２０１、２０２、及び２０３と関連付けられたものとなる入力バルブ（複数可）の指定を単に変更することによって、かつレベルメータ１０５の代わりにレベルメータ２０５になるようにレベルメータの指定を変更することによって、反応装置＿０２に対する充填フェーズを実装するために使用され得る。
【００４２】
プロセス構成をより容易に、かつより時間がかからないように作成及び変更するために、開発されている１つのモジュール制御技術は、図１のワークステーション１４のうちの１つに記憶された、プロセス制御プラント１０の構成に使用されるモジュールクラスオブジェクト５２（すなわち、モジュールクラス）のセットを含む構成アプリケーション５０を含む。この技術の一例は、米国特許第７，０４３，３１１号、発明の名称「Ｍｏｄｕｌｅ  Ｃｌａｓｓ  Ｏｂｊｅｃｔｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｐｌａｎｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｓｙｓｔｅｍ」に記載され、その開示全体が、参照によりここで明確に本明細書に組み入れられる。特に、米国特許第７，０４３，３１１号は、モジュールク
ラスオブジェクトが、大量の複製機器のセットを有するプラントを構成するときに使用されることを説明している。一般に、異なるモジュールクラスオブジェクト５２は、プロセスプラント１０内部で複製または使用される異なるタイプの物理ユニットまたは機器の各々に対して、プロセスプラント１０内部で複製または使用される制御活動のタイプの各々に対して、プロセスプラント１０内で複製または使用される異なるタイプの表示アプリケーションの各々等に対して作成することができる。いったん作成されると、モジュールクラスオブジェクト５２を使用して、モジュールクラスオブジェクトに対応するプロセスプラント１０のプロセス制御要素を構成することができる。
【００４３】
モジュールクラスオブジェクト５２（本明細書ではモジュールクラスオブジェクトまたはモジュールクラスと称される）は、本質的に包括的バージョンのプロセス実体であり、かつ任意の特定プロセス実体に紐付けられていないが、それらと関連付けられたより低位のオブジェクトまたはインスタンス５３、５４、５５、及び５６（本明細書ではモジュールオブジェクト、モジュールブロック、またはモジュールインスタンスと称される）を有することができる。各モジュールインスタンスは、モジュールクラスから作成されかつそれに基づき、作成元のモジュールクラスと同一構造及び同一性質を受け継ぐ。各モジュールオブジェクトは、プロセスプラント１０内の特定の実体に紐付けられ得る。したがって、単一モジュールクラス５２は、特定タイプの反応装置ユニットを表すように作成され得るが（それらの反応装置ユニットがプラント１０内に存在する数にかかわらず）、一方で異なるモジュールインスタンス５３は、プラント１０内に実際に存在するそのタイプの異なる反応装置ユニットの各々に対して存在し得るか、または作成され得る。
【００４４】
既存の実装では、例えば米国特許第７，０４３，３１１号によって説明されるように、モジュールクラスから作成されたモジュールオブジェクトは、モジュールクラスに関連付けられ、それによって所有される。結果として、モジュールクラスになされたいかなる変更も、そのモジュールクラスと関連付けられたモジュールインスタンスの各々内で自動的に反映されるか、またはそれらに伝播される。したがって、数多くのモジュールインスタンスが特定のモジュールクラスから作成され、異なるモジュールインスタンスの各々が異なるプロセス実体に紐付けられている場合、異なるモジュールインスタンスの各々が変更され、単に関連するモジュールクラスを変更し、変更は、関連付けられたモジュールインスタンスまで自動的に伝搬され得る。
【００４５】
基本的に、各モジュールクラスは、その実体を制御するためにコントローラ１２によって、もしくはその実体に関する表示活動を実行するためにワークステーション１４によって使用されることになるその実体に適用可能である、異なる制御及び／もしくは表示アプリケーションまたはルーチンのすべての形態のプロセス実体の包括的定義を含む構成コンテナである。モジュールクラスは、任意の性質のプロセス実体、例えばユニット、機器、制御実体、表示アプリケーション等を表し得る。プロセスプラント１０の構成中、モジュールクラスを使用して、任意の数の異なるプロセス実体に対して、モジュールクラスオブジェクトによって提供された定義に適合するプロセス実体の構成インスタンスを作成してもよく、各構成インスタンス（モジュールクラスオブジェクトから作成されたモジュールオブジェクト）は、異なる実際のプロセス実体に関連付けられるかまたは紐付けられる。これらの異なるモジュールインスタンスは、他のルーチンの中でも、プロセスプラント１０内部に配設されたような特定のプロセス実体に結び付けられた制御ルーチン及び／または表示ルーチンを含み、これらの制御ルーチンは、図１のコントローラ１２にダウンロードされその内部で使用されて、プロセス実体上で実際の制御活動を行うことが可能であり、表示ルーチンは、ワークステーション１４においてダウンロードされて、プロセスプラント１０の動作中、実体に対して実際の表示活動を行うことが可能である。
【００４６】
本明細書で説明されたように、異なるタイプのモジュールクラスオブジェクトが、異な
る範囲のプロセス実体を反映し、それによって、異なる範囲のプロセス実体上で動作するかまたはそれを基準として構成された制御及び／または表示ルーチンを包含し得る。プロセス実体、例えばユニットの範囲が大きいほど、典型的には、制御及び／または表示ルーチンは、モジュールクラスにさらに関連付けられ、それらのモジュールクラスを使用してプラントのセクションを構成することがより容易になる。しかしながら、モジュールクラスに関連付けられたプロセス実体の範囲が大きいほど、プロセスがその範囲において複製された機器を含む見込みが低くなり、そのため、モジュールクラスが大規模に有用となる見込みが低くなる。逆に、モジュールクラスに関連付けられたプロセス実体の範囲が低いほど、モジュールクラスがプラントの様々な異なる場所で使用されることが可能になる見込みがより高くなるが、任意の特定のインスタンス内のそのモジュールクラスを使用するときに行われる構成の量がより少なくなる。
【００４７】
図２は、モジュールクラスの第１のバージョンを修正するために使用され得る第１の構成画面の一実施形態を図示する。構成画面は、構成アプリケーション、例えば図１のワークステーション１４のうちの１つ上で実行される構成アプリケーション５０の一部であってもよい。例えば、図２によって例解されるように、構成画面２５０は、制御スタジオ構成アプリケーションの一部である。制御スタジオ構成アプリケーションの一般的な詳細は、米国特許第７，０４３，３１１号に説明されている。
【００４８】
図２の構成画面２５０は、特定のフィールドデバイスモジュールクラス、例えば２ステートバルブウィンドウ２５２に図示されたような２ステートバルブモジュールクラス２５６の構成を例解する。具体的には、構成画面２５０は、２ステートバルブモジュールクラス２５６のグラフィカル表現を図示する。２ステートバルブモジュールクラス２５６は、ＤＣ１デバイス制御２５８を備える制御部を含む。ＤＣ１制御２５８は、プロセスプラント１０内部で動作する物理的な２ステートバルブデバイスを制御するための論理、ルーチン、または機能を含み得る。２ステートバルブモジュールクラス２５６の論理、ルーチン、または機能は、例えばＣ、Ｃ＋＋、Ｊａｖａ、もしくはドライバ、ＢＩＯＳソフトウェア、または２ステートバルブモジュールクラス２５６に関連付けられた２ステートバルブデバイスを制御するための他のソフトウェアを実装するための任意の他のコンピュータ言語を含む、多様な異なるコンピュータ言語で実施され得る。いくつかの実施形態では、論理、ルーチン、または機能は、例えば図１のコントローラ１２または１２ａのうちのいずれかを含む、２ステートバルブを制御するデバイス上で実行され得る。
【００４９】
モジュールクラスは、１つ以上の出力２６０を有し得、ここで、モジュールクラスのインスタンスによって演算されるか、あるいはそこに記憶された情報が、プロセスプラント１０の構成か、さもなければ制御に使用するために、判定され及び／またはインスタンスから出力され得る。図３の実施形態では、例えば、２ステートバルブモジュールクラス２５６のＤＣ１デバイス制御２５８は、バルブ位置出力２６２を含み、これは、バルブ動作時の現在または所望の開閉位置を示す出力番号または他の値を含むことができる。
【００５０】
２ステートバルブモジュールクラス２５６のための情報は、制御構成ウィンドウ２５４内部に表示される。例えば、制御構成ウィンドウ２５４は、２ステートバルブモジュールクラス２５６のタイトル、説明、及びプロセスタイプを定義するための入力フィールドを含む、２ステートバルブモジュールクラス２５６のための情報を含む。例えば、クラスのタイトルは、以前の構成セッションにおいて「２ステートバルブ」と定められている可能性がある。加えて、制御構成ウィンドウ２５４は、実行ランタイムが特定されることを可能にし、現在の例示の実施形態に対しては、２ステートバルブモジュールクラス２５６のインスタンスは、２秒ごとに稼働するように設定される。
【００５１】
また、制御構成ウィンドウ２５４は、ライブラリ情報を含み、これは、それぞれ各自の
モジュールクラスとともに示された２ステートバルブモジュールインスタンスのファミリツリーを含む。例えば、現在の実施形態では、２５個の２ステートバルブモジュールインスタンス２５６ａが、２ステートバルブモジュールクラス２５６に関連付けられ、それに基づいている。２５個の２ステートバルブモジュールインスタンス２５６ａは、関連する２ステートバルブモジュールクラス２５６からインスタンス化され、その結果それに基づく、コンピュータメモリ内で実行しているライブインスタンスである。また、制御構成ウィンドウ２５４のファミリツリーは、２ステートバルブＩＬモジュールクラス２５７を示し、これは、２ステートバルブモジュールクラス２５６の導出されたクラスである。例えば、導出されたクラス２ステートバルブＩＬモジュールクラス２５７は、その親の２ステートバルブモジュールクラス２５６と比較すると、付加的な性質または機能性を有し得る。図２の現在の実施形態に示されるように、２５個の２ステートバルブＩＬモジュールインスタンス２５７ａもまた、導出された２ステートバルブＩＬモジュールクラス２５７に関連付けられる。したがって、構成ウィンドウ２５４は、２５個のインスタンスを有する２ステートバルブモジュールクラス２５６を描写し、これは、別の２５個のインスタンスを有する導出されたクラス（すなわち、２ステートバルブＩＬ）を有し、この場合、２ステートバルブモジュールクラス２５６及び２ステートバルブＩＬモジュールクラス２５７は同じファミリ内であると言われる。
【００５２】
図２の実施形態では、モジュールクラス２５６、２５６ａ、２５７、及び２５７ａの各々は、現状では単一の、または第１のバージョンのみを含むが、さらに本明細書で説明されたように、付加的なさらなるバージョンが生成されてもよい。
【００５３】
図３は、図２からの２ステートバルブモジュールクラス２５６の第２の新規バージョンを示す、図２の構成画面の実施形態の図示である。本明細書の様々な実施形態に開示されるように、１つ以上のプロセッサ、例えば図１のワークステーション１４のうちの１つ上で実行する構成アプリケーション５０は、モジュールクラスの第１のバージョンの修正に基づくモジュールクラスの第２のバージョンを生成するように構成され得る。図３の実施形態では、図２からの２ステートバルブモジュールクラス２５６の第２のバージョンは、２ステートバルブモジュールクラス２５６のオリジナルの、または第１のバージョンに対する修正に基づいて生成される。例えば、制御構成ウィンドウ２５４は、図２からの２ステートバルブモジュールクラス２５６の第２のバージョンを含む。また、第２のバージョンは、ファミリツリーの下に含まれ、新規の２ステートバルブモジュールクラス３５６として示される。
【００５４】
２ステートバルブモジュールクラス３５６の第２のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、１つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。一実施形態では、例えば、エンジニアは、第１のバージョンのモジュールクラス（例えば、２ステートバルブモジュールクラス２５６）を新規モジュールクラス（例えば、２ステートバルブモジュールクラス３５６）で更新し、変更されたハードウェアに対応させることができる。次いで、エンジニアは、本明細書で説明されたように、更新された２ステートバルブモジュールクラス３５６を新規ハードウェア（例えば、バルブ）にロールアウトすることができ、これは、新規バルブを試験することを含み得る。エンジニアが変更に納得した後、エンジニアは、残余の同様のバルブが更新されたモジュールクラス２ステートバルブモジュールクラス３５６を受信することになることを示すことができる。
【００５５】
いくつかの実施形態では、例えば、モジュールクラスの第１のバージョンに対する修正は、モジュールクラスの第１のバージョンに、１つ以上の入力（例えば、フィードバック入力）を付加することを含むことができ、この場合、１つ以上の入力は、例えば図１のワークステーション１４のうちの１つ上で実行する構成アプリケーション５０によってアク
セスされ、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にし得る。例えば、図３の構成画面２５０は、新規の２ステートバルブモジュールクラス３５６を生成するために、２ステートバルブモジュールクラス２５６に２つの入力を付加することを例解する。構成画面２５０を使用して、１つ以上の入力３５０が、２ステートバルブウィンドウ２５２を介して付加され得る。具体的には、図３の実施形態では、２ステートバルブモジュールクラス２５６は、開位置フィードバック入力３５２及び閉位置フィードバック入力３５４を付加し、２ステートバルブモジュールクラス３５６を生成するように修正される。
【００５６】
いくつかの実施形態では、ＤＣ１デバイス制御２５８の論理または機能性もまた、新規に付加された開位置フィードバック入力３５２及び閉位置フィードバック入力３５４の入力値を使用するために変更され得る。例えば、少なくとも一実施形態では、開位置フィードバック入力３５２及び閉位置フィードバック入力３５４の値は、２ステートバルブが２ステートバルブモジュールクラス３５６に基づいてインスタンスを稼働させる動作中、ＤＣ１デバイス制御２５８の論理または機能内に供給され、この場合、入力３５２及び３５４を使用して、バルブ位置出力値２６２に対するより精密な制御を改良または実装するプロセスプラント１０内部で動作する物理的な２ステートバルブデバイスの動作を向上または最適化させる。
【００５７】
図４は、図３からのモジュールクラスの第２のバージョンの２ステートバルブモジュールクラス３５６に関連付けられるように選択されたプロセス制御要素を示す、図３の構成画面の一実施形態の図示である。図４の実施形態では、プロセス制御要素の選択は、アップグレードされたプロセス制御要素セットに含まれるように選択されたプロセス制御要素を含む。図４に図示されるように、アップグレードされたプロセス制御要素セット内への包含のために選択されたプロセス要素は、グラフィカルインターフェースを介して受信され得、この場合、オペレータ、例えば、エンジニアは、いずれのプロセス制御要素がそれらのプロセス制御要素を、第２のバージョンの２ステートバルブモジュールクラス３５６に基づく新規インスタンスでアップグレードすることを目的として、アップグレードされたプロセス制御要素セットを含むかを選択することができる。
【００５８】
例えば、図４に示されるように、アップグレードされたプロセス制御要素セットダイアログボックス４０２は、オペレータに対して、プロセス制御要素セット内部に含むための選択を受信するように表示される。図４の実施形態では、アップグレードされるプロセス制御要素は、モジュールクラスの第２のバージョン（例えば、２ステートバルブモジュールクラス３５６）の新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれる。
【００５９】
いくつかの実施形態では、選択もまた、プロセスプラント１０の特定のエリアに関連し得る。例えば、図４では、選択は、プロセスプラント１０の「原料エリア」に関連する。オペレータは、原料エリア内で現在実行している様々な２ステートバルブインスタンスを選択し得、原料ユニット１（例えば、２ステートバルブデバイスに対応するモデルインスタンス、名称「ＸＶ−１０１」及び「ＸＶ−１０２」）、原料ユニット２（例えば、２ステートバルブデバイスに対応するモデルインスタンス、名称「ＸＶ−２０１」及び「ＸＶ−２０２」）、及び原料ユニット３（例えば、２ステートバルブデバイスに対応するモデルインスタンス、名称「ＸＶ−３０１」及び「ＸＶ−３０２」）内で稼働しているインスタンスを含む。現在の実施形態では、原料ユニット１エリア、原料ユニット２エリア、及び原料ユニット３エリアの各々は、プラントの異なるサブエリアまたは論理エリアを表し得、それによって、原料ユニット１〜３のサブエリアまたは論理エリアが、より大きな原料エリアに対するヒエラルキーを形成し、この場合、原料ユニット１〜３が原料エリア内部に存在し、特定のインスタンス（例えば、２ステートバルブＸＶ−１０１、ＸＶー１０
２、ＸＶ−２０１等に対応する）は、原料ユニット１〜３のサブエリアまたは論理エリア内に存在する。したがって、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【００６０】
図４では、原料ユニット１〜３のサブエリアまたは論理エリアの各々に関連付けられた２ステートバルブインスタンスのすべてが選択されて示され、本実施形態では、２ステートバルブインスタンスの各々が、第２のバージョンの２ステートバルブモジュールクラス３５６の新規モジュールインスタンスに関連付けられるように選択される。したがって、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。
【００６１】
様々な実施形態では、プロセス制御要素セットに含まれる選択されたプロセス制御要素の新規モジュールインスタンスは、ロールアウト命令が実行されるときにインスタンス化することができる。アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得、この場合、例えば、プロセスプラントのプロセス制御要素のすべてではないがいくつかが、修正のためにプロセス制御要素セットに含まれる。
【００６２】
図５は、特定の導出されたクラスに基づいて選択されたプロセス制御要素を示す、図３の構成画面の一実施形態の図示である。図５の実施形態では、選択されたプロセス制御要素は、第２のバージョンの２ステートバルブモジュールクラス３５６に基づいて新規インスタンスに関連付けられる図５に図示されるように、オペレータは、フィルタ画面５０２から２ステートバルブＩＬモジュールクラス２５７を選択することができ、これは、２ステートバルブモジュールクラス２５６から導出された、特定の導出されたクラスである。いくつかの実施形態では、プロセス制御要素の選択は、本明細書において図４に対して説明されたように、プロセス制御要素がプロセス制御要素セットに含まれるようにされ得る。そのような実施形態では、プロセス制御要素セットは、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を含み、この場合、ロールアウト命令を実行して、２ステートバルブＩＬモジュールクラス２５７、例えば、すべての２５個のモジュールインスタンス２５７ａに基づいて、それらのインスタンスを更新する。
【００６３】
図６は、プロセスプラント１０内のプロセス制御要素に対してロールアウトされた、２ステートバルブモジュールクラス３５６の新規モジュールインスタンスを示す、図３の構成画面の一実施形態の図示である。図６の実施形態では、ロールアウトを介して更新されたプロセス制御要素は、本明細書で説明されたような２ステートバルブモジュールクラス３５６によって提供される新規の向上または最適化された機能を含む新規機能性を受信する。したがって、ロールアウトの実行後、２ステートバルブモジュールクラス３５６は、２ステートバルブモジュールクラス３５６に基づく１つ以上の新規モジュールインスタンスに関連付けられ得る。新規モジュールインスタンスの各々は、プロセスプラントのプロセス制御要素、例えばフィールドデバイス、または例えばバルブ、もしくは具体的には本実施形態では２ステートバルブデバイスを含むフィールドデバイスの一部に関連付けられ得る。
【００６４】
本明細書で説明されたようなロールアウト機能を使用することの利益は、モジュールクラス、例えば２ステートバルブモジュールクラス２５６に対する修正が、その関連するインスタンスに自動的には伝播しないことを含む。代わりに、制御エンジニアは、モジュールクラス、例えば２ステートバルブモジュールクラス２５６を、新規の２ステートバルブモジュールクラス３５６を生成するように修正し得る。重要なことに、バルブのセットが
更新の準備ができたときのみ、例えば、エンジニアまたは何らかの他のプロセス、例えば自動化プロセスによって特定されると、ロールアウトは、更新用に指定されたそれらのバルブを変更するように実行することができる。このことは、プロセスプラント１０が段階的にアップグレードされることを可能にし、これは、プロセスプラント１０の動作の構成、管理、及び／または制御のためのより経済的でより資源の少ない手法を提供し得る。また、このことは、エンジニアが、新規モジュールクラス及びその関連するインスタンスを、指定されていないインスタンスが影響を受けるかまたは意図せず更新されるといういかなる懸念も伴わずに、繰り返し試験することを可能にする。
【００６５】
図６の制御構成ウィンドウ２５４は、ロールアウトの実行の結果として生成された、新規の２ステートバルブモジュールクラス３５６に基づく新規のモジュールインスタンスを示す。具体的には、２ステートバルブモジュールクラス３５６は、２ステートバルブモジュールクラス３５６に基づく３つの新規モジュールインスタンス３５６ａを有する。３つの新規モジュールインスタンス３５６ａは、新規の２ステートバルブモジュールクラス３５６によって定義された向上した機能性を受信するプロセスプラント内部で動作する３つのデバイスバルブに対応し得る。加えて、導出されたモジュールクラス（すなわち、２ステートバルブＩＬモジュールクラス３５７）もまた図示され、ここで、２ステートバルブＩＬモジュールクラス３５７は、２ステートバルブモジュールクラス３５６から導出された付加的なモジュールクラスであり、それは、２ステートバルブＩＬモジュールクラス３５７に基づいてモジュールインスタンス、例えば２つのモジュールインスタンス３５７ａを実行するバルブに関する付加的な機能性または情報を含み得る。付加的な機能性または情報は、例えばプロセスプラント内部のバルブの位置、バルブがプロセスプラント内部で動作に供された日付、またはバルブに関連する他の情報もしくは機能性を含むことができる。したがって、図６の実施形態に示されるように、ロールアウトの実行後、プロセスプラントは、少なくとも２つのモジュールクラスのバージョン（例えば、２ステートバルブモジュールクラス２５６及び２ステートバルブモジュールクラス３５６）と、本明細書で説明されたように、プロセスプラント１０の構成及び制御を目的としてプロセスプラント１０内で稼働する関連するインスタンスとを有する。
【００６６】
様々な実施形態では、新規モジュールインスタンス、例えばモジュールインスタンス３５６ａ及び３５７ａは、例えば、図１のワークステーション１４のプロセッサのうちの１つ以上を実行する構成アプリケーション５０を含む、プロセスプラントの１つ以上のプロセッサによって実行されるロールアウト命令を介して、ロールアウトされ得る。ロールアウト命令は、１つ以上のアップグレードされたプロセス制御要素を更新するためのルーチンを含み得、アップグレードされたプロセス制御要素は、モジュールクラスの第２のバージョン、例えば２ステートバルブモジュールクラス３５６または２ステートバルブＩＬモジュールクラス３５７に基づいて、新規モジュールインスタンスに各々関連付けられる。
【００６７】
また、ロールアウト命令は、１つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラスの第１のバージョン、例えば、２ステートバルブモジュールクラス２５６または２ステートバルブＩＬモジュールクラス２５７に基づいて、以前のモジュールインスタンスに各々関連付けられたままである。
【００６８】
一実施形態では、エンジニアは、本明細書で説明されたように、２ステートバルブモジュールクラス３５６に対する更新を含むように２ステートバルブモジュールクラス２５６を修正し、その後構成アプリケーション５０で更新を保存し得る。次いで、エンジニアは、システムに、どのようにして更新をロールアウトするかを命令し得る。例えば、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第２のバージョンに基づいて、アップグレードされた
プロセス制御要素を、新規モジュールインスタンスと関連付ける。ルーチンは、構成画面２５０、例えばロールアウト変更選択６００から選択され得、これは、構成アプリケーション５０に、特定されたアップグレードされたプロセス制御要素を更新するためのロールアウト命令を実行させ得る。
【００６９】
いくつかの実施形態では、選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップするように実装することができ、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第２のバージョン、例えば２ステートバルブモジュールクラス３５６または２ステートバルブＩＬモジュールクラス３５７に基づいて、いかなる第２の新規モジュールインスタンスにも関連付けられない。
【００７０】
いくつかの実施形態では、ロールアウト命令は、選択されると直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。例えば、エンジニアは、バルブの１つのセットに対して第１の時点で次のロールアウトをスケジュールし、他のバルブのサブセットに対して別の時点で（例えば、モジュールクラスの変更の便宜的なロールアウトを介して）スケジュールし得る。他の使用ケースは、オペレータの訓練及び／または稼働性に基づいて、例えばオペレータのシフトまたは作業スケジュールに基づいて、フェーズ化されたロールアウトとして、ロールアウトをスケジューリングすることを実施し得る。
【００７１】
いくつかの実施形態では、いったんロールアウト命令が実行されると、アップグレードされたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々が、コントローラ１２または１２ａにダウンロードされ、プロセスプラントの少なくとも一部を制御するためにともに使用され得る。そのような実施形態では、プロセスプラントは、異なるバージョン、例えば、同時を含む同じモジュールクラス（例えば、２ステートバルブモジュールクラス２５６及び２ステートバルブモジュールクラス３５６）の第１のバージョン及び第２のバージョンによって制御される。
【００７２】
またさらなる実施形態では、モジュール構成記録は、例えば構成アプリケーション５０を介して、モジュールインスタンス、例えばプロセスプラント内で現在稼働しているモジュールインスタンス２５６ａ、２５７ａ、３５６ａ及び／または３５７ａを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、モジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。例えば、システムの観点から、いくつかの実施形態では、エンジニアがモジュールクラスに対する更新を保存するとき、更新されたモジュールクラスのロールアウトは、自動ステップの代わりに手動ステップになる。そのような実施形態では、ロールアウトされるモジュールクラスは、フェーズ化されたロールアウトステージにあるとしてフラグを立てられ、同じモジュールクラスの２つのライブバージョン、例えば以前の２ステートバルブモジュールクラス２５６に基づくモジュールインスタンスのバージョンと、新規の２ステートバルブモジュールクラス３５６に基づくモジュールインスタンスのバージョンとを有する。
【００７３】
図７は、モジュールクラスの第２のバージョンに基づく新規モジュールインスタンス（例えば、２ステートバルブモジュールクラス２５６）及びモジュールクラスの第１のバージョンに基づく以前のモジュールインスタンス（例えば、２ステートバルブモジュールクラス３５６）に対する構成変更を適用する付加的なロールアウト命令を示す、図３の構成画面の一実施形態の図示である。例えば、図７の実施形態を使用して、モジュールクラスの複数のバージョンにわたって（例えば、２ステートバルブモジュールクラスの両方のバ
ージョンにわたって）簡易補修を行い得、この場合、モジュールクラスの各バージョンは、簡易補修を実施する構成変更を受信する。
【００７４】
具体的には、様々な実施形態では、付加的なロールアウト命令は、１つ以上のプロセッサ、例えば図１のワークステーション１４のプロセッサのうちの１つ以上によって実行され得る。付加的なロールアウト命令は、モジュールクラスの第２のバージョンに基づく新規モジュールインスタンス（例えば、モジュールインスタンス３５６ａ及び／または３５７ａ）及びモジュールクラスの第１のバージョンに基づく以前のモジュールインスタンス（例えば、モジュールインスタンス２５６ａ及び／または２５７ａ）各々に対して構成変更を適用し得る。構成変更は、モジュールクラスの第２のバージョン（例えば、２ステートバルブモジュールクラス３５６）及びモジュールクラスの第１のバージョン（例えば、２ステートバルブモジュールクラス２５６）の各々に対して適用される、例えば全体としてモジュールクラスに対するパッチまたは簡易補修を適用するための付加的な修正を含むことができる。例えば、一実施形態では、補修は、稼働しているインスタンスに適用されてもよい。他の実施形態では、モジュールクラスは、既存のモジュールインスタンス、例えばモジュールインスタンス３５６ａならびに／もしくは３５７ａ、及び／またはモジュールインスタンス２５６ａならびに／もしくは２５７ａにとって代わるインスタンス化された更新済みの新規のインスタンスであってもよい。
【００７５】
図７の実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラス、及びそれらの関連するインスタンス、ひいてはバルブの機能性を向上させるために、モジュールクラスの第２のバージョン（２ステートバルブモジュールクラス３５６）及びモジュールクラスの第１のバージョン（２ステートバルブモジュールクラス２５６）の両方に対し、計算機能７００を付加することを含む。
【００７６】
図８は、付加的なロールアウト命令を実行するためのロールアウト確認画面８００を示す、図７の構成画面の一実施形態の図示である。例えば、ロールアウト確認画面８００は、エンジニアがロールアウト変更選択６００を選択した後に開始され得、ここで、ロールアウト確認画面８００は、図７に対して説明されたように、エンジニアがモジュールインスタンスに対する簡易補修変更をロールアウトすることを望むかどうかを確認する。
【００７７】
図９は、プロセスプラント１０の特定のタイプのプロセス制御要素に関連付けられたモジュールインスタンスを示す構成画面の一実施形態の図示である。図９の実施形態では、特定のタイプのプロセス制御要素は、ＸＣ−２２４フィールドデバイスであり、これは１つのタイプのバルブである。図９は、ＸＣ−２２４デバイスの観点からの、フェーズ化されたロールアウトのステートを図示する。フェーズ化されたロールアウトは、ＸＣ−２２４デバイス表示ビュー上で、ＸＣ−２２４デバイスウィンドウ９５２の右手下側及びウィンドウヘディング９７２の中に示される。
【００７８】
ＸＣ−２２４デバイスは、制御構成ウィンドウ９５４内に特定される。また、ＸＣ−２２４デバイスは、制御エクスプローラウィンドウ９５３内に、階層状に特定される。具体的には、制御エクスプローラウィンドウ９５３は、ＸＣ−２２４デバイスを含む様々なプロセス制御要素を、プロセスプラント内部でのプロセス制御要素の物理的な場所またはエリアに従って階層状に配置する。例えば、制御エクスプローラウィンドウ９５３によって示されるように、ＸＣ−２２４デバイスは、原料ヒータ要素の底タワーに位置し、ここで、原料ヒータ要素は、原料ユニット１の場所、エリアまたは論理エリアに位置するかまたはその一部であり、さらに原料ユニット１は、プロセスプラント１０内部のＫｒｏｎｏｓと名付けられた現場に位置するより大きな原料エリアの一部である。
【００７９】
構成ウィンドウ９５４は、ＸＣ−２２４デバイスに対する制御情報及びオプションを表
示し、タイトル、説明、プロセスタイプ、コントローラ割り当て、及びＸＣ−２２４デバイスのランタイムを修正するためのオプションを含む。
【００８０】
また、構成ウィンドウ９５４は、関連するＸＣ−２２４モジュールクラスに基づいてインスタンス化されたモジュールインスタンスを表示する。図９の実施形態では、２つのバージョンのＸＣ−２２４モジュールクラス（モジュールクラス９５６及び９５７）があり、これらは、本明細書で説明されたような２つのバージョンの２ステートバルブモジュールクラス（すなわち、２ステートバルブモジュールクラス２５６及び２ステートバルブモジュールクラス３５６）と同様である。したがって、２ステートバルブモジュールクラスに関する開示は、本明細書においては、ＸＣ−２２４モジュールクラスに関しても等しく適用される。例えば、構成画面９５０は、本明細書で説明された構成画面２５０に対応し、構成画面９５０は、具体的にはＸＣ−２２４モジュールクラスに関連する。付加的な例として、ＸＣ−２２４デバイスウィンドウ９５２によって図示されるように、ＸＣ−２２４モジュールクラスは、本明細書で説明された２ステートバルブモジュールクラス２５６及び２ステートバルブモジュールクラス３５６のＤＣ１デバイス制御２５８に対応するＤＣ１デバイス制御９５８を含む。さらには、ＸＣ−２２４モジュールクラスは、本明細書で説明された２ステートバルブモジュールクラス２５６及び２ステートバルブモジュールクラス３５６のバルブ位置出力２６２に対応するバルブ位置出力９６２を含む。同様に、ＸＣ−２２４モジュールクラスは、本明細書で説明された２ステートバルブモジュールクラス３５６のための計算機能７００に対応する計算機能９５９を含む。
【００８１】
ＸＣ−２２４モジュールクラス９５６は、ＸＣ−２２４モジュールクラスのより容易な第１のバージョンを表現する。ＸＣ−２２４モジュールクラス９５６は、プロセスプラント内で現在稼働しているＸＣ−２２４デバイスに対応する１つ以上のモジュールインスタンス９５６ａに関連付けられる。同様に、ＸＣ−２２４モジュールクラス９５７は、ＸＣ−２２４モジュールクラスの修正された第２のバージョンである。ＸＣ−２２４モジュールクラス９５７は、３つのモジュールインスタンス９５７ａに関連付けられ、これらは各々、プロセスプラント１０内で現在稼働している、新規に設置されたＸＣ−２２４デバイスに対応し得る。
【００８２】
いくつかの実施形態では、構成アプリケーション５０及び／またはコントローラ１２は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。例えば、構成記録は、「フェーズ化されたロールアウトが進行中（Ｐｈａｓｅｄ  Ｒｏｌｌｏｕｔ  Ｉｓ  Ｉｎ  Ｐｒｏｇｒｅｓｓ）」によって更新が現在は許可されていないことを示すように、ウィンドウヘディング９７２によって図示された情報を含んでもよい。いくつかの実施形態では、モジュールクラスの更新を防止するための選択肢は、選択可能なオプションであってもよく、例えばこの場合、図９に示されるように、エンジニアは、インスタンスがモジュール構造を変更することを防止するための選択可能なオプション９７０を選択することができる。したがって、選択可能オプション９７０を使用して、モジュールクラスがフェーズ化されたロールアウトの中間地点にあるとき、インスタンスがモジュール構造を変更することを防止し、クラスに対する変更のタイミング及び／または制限を制御することができる。
【００８３】
図１０は、プロセスプラント１０を構成するためのモジュールクラスの制御されたロールアウトのための方法１０００の一実施形態を例解する。方法１０００は、ブロック１００４において開始し（１００２）、ここで、１つ以上のプロセッサ（例えば、図１のワークステーション１４のうちの１つ以上で実行する１つ以上のプロセッサ）は、モジュールクラス（例えば、２ステートバルブモジュールクラス２５６）の第１のバージョンに基づいて、モジュールクラス（例えば、２ステートバルブモジュールクラス３５６）の第２の
バージョンを生成する。いくつかの実施形態では、モジュールクラスは、本明細書で説明された導出されたモジュールクラス（例えば、２ステートバルブＩＬモジュールクラス２５７または２ステートバルブＩＬモジュールクラス３５７）であり得る。モジュールクラスは、１つ以上のモジュールインスタンスに関連付けられ得、モジュールインスタンスは、本明細書で説明されたように、例えばバルブ等のフィールドデバイスを含む、プロセスプラントのプロセス制御要素に各々関連付けられ得る。モジュールクラスの第２のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、１つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。いくつかの実施形態では、モジュールクラスの第１のバージョンに対する修正は、モジュールクラスに１つ以上の入力（例えば、フィードバック入力）を付加することを含むことができ、この場合、１つ以上の入力は、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするためにアクセスされ得る。
【００８４】
ブロック１００６において、ロールアウト命令が１つ以上のプロセッサによって実行され、１つ以上のアップグレードされたプロセス制御要素を更新する。ロールアウト命令は、アップグレードされたプロセス制御要素の各々を、モジュールクラス（例えば、２ステートバルブモジュールクラス３５６）の第２のバージョンに基づいて新規モジュールインスタンスに関連付けさせる。また、ロールアウト命令は、１つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラス（例えば、２ステートバルブモジュールクラス２５６）の第１のバージョンに基づいて、以前のモジュールインスタンスに各々関連付けられたままである。
【００８５】
いくつかの実施形態では、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第２のバージョンに基づいて、アップグレードされたプロセス制御要素を、新規モジュールインスタンスと関連付ける。選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップし、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第２のバージョンに基づいて、いかなる第２の新規モジュールインスタンスにも関連付けられない。
【００８６】
本明細書で説明されたように、いくつかの実施形態では、ロールアウト命令は、直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。
【００８７】
ブロック１００８では、いったんロールアウト命令が実行されると、アップグレードされたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々をともに使用して、プロセスプラント１０の少なくとも一部を制御し得る。そのような実施形態では、プロセスプラント１０は、同じモジュールクラスの異なるバージョン、例えば第１のバージョン及び第２のバージョンによって制御される。
【００８８】
モジュールベースシステム及び方法は、モジュール構成記録を介して、１つ以上のモジュールインスタンスを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、１つ以上のモジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。
【００８９】
いくつかの実施形態では、モジュールベースシステム及び方法は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。
【００９０】
またさらなる実施形態では、アップグレードされたプロセス制御要素は、モジュールクラスの第２のバージョン（例えば、２ステートバルブモジュールクラス３５６）の新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれ得る。アップグレードされたプロセス制御要素セットは、ロールアウト命令が実行されるときに作成することができる。いくつかの実施形態では、アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得る。
【００９１】
アップグレードされたプロセス制御要素セットに含むためのプロセス制御要素の選択は、モジュールベースシステム及び方法によって受信され得、このシステム及び方法は、例えばオペレータがいずれのプロセス制御要素をアップグレードされたプロセス制御要素セットに含むかを選択することができるグラフィカルインターフェースを介することを含む。
【００９２】
例えば、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を選択することを含み得る。他の実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。またさらなる実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【００９３】
様々な実施形態では、モジュールクラスの第２のバージョンに基づく新規モジュールインスタンス（例えば、２ステートバルブモジュールクラス３５６）及びモジュールクラスの第１のバージョンに基づく以前のモジュールインスタンス（例えば、２ステートバルブモジュールクラス２５６）の各々に対する構成変更を適用する付加的なロールアウト命令を実行し得る。構成変更は、モジュールクラスの第２のバージョン及びモジュールクラスの第１のバージョンの各々に対して適用される付加的な修正を含むことができる。例えば、一実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラスの機能性を向上させるために、モジュールクラスの第２のバージョン及びモジュールクラスの前記第１のバージョンの各々に、計算機能を付加することができる。
【００９４】
付加的な考察
実装されるとき、本明細書で説明されたソフトウェアのいずれかは、例えば磁気ディスク、レーザディスク、または他の記憶媒体上の任意のコンピュータ可読メモリに、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭ等に記憶され得る。同様に、このソフトウェアは、ユーザ、プロセスプラントまたはオペレータワークステーションに、例えばコンピュータ可読ディスクもしくは他の可搬式コンピュータ記憶機構を含む任意の既知または所望の配信方法を使用して、または、例えば電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークもしくは広域ネットワーク等の通信チャネルを経由して配信され得る（この配信は、可搬式記憶媒体を介してそのようなソフトウェアを提供することと同じかまたは互換性があると見なされる）。さらに、このソフトウェアは、変調または暗号化なしに直接提供されてもよく、または通信チャネルを経由して送信される前に、任意の好適な変調搬送波及び／または暗号化技術を使用して変調及び／または暗号化されてもよい。
【００９５】
本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨及び範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らか
であろう。
【００９６】
本出願の最後の特許請求の範囲は、従来のミーンズプラスファンクションの言い回しが明らかに列記されていない限り、例えば、請求項中に「のための手段（ｍｅａｎｓ  ｆｏｒ）」または「のためのステップ（ｓｔｅｐ  ｆｏｒ）」等の言い回しが明らかに列記されていない限り、３５Ｕ．Ｓ．Ｃ．§１１２（ｆ）のもとに解釈されることは意図されていない。本明細書で説明されたシステム及び方法は、コンピュータの機能性の改善に向けられ、従来のコンピュータの機能を改善する。
【図１】
2019032839.tif 000003
【図２】
2019032839.tif 000004
【図３】
2019032839.tif 000005
【図４】
2019032839.tif 000006
【図５】
2019032839.tif 000007
【図６】
2019032839.tif 000008
【図７】
2019032839.tif 000009
【図８】
2019032839.tif 000010
【図９】
2019032839.tif 000011
【図１０】
2019032839.tif 000012
【外国語明細書】
2019032839000001.pdf