(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-12
(45)【発行日】2024-09-24
(54)【発明の名称】モジュールクラスの制御されたロールアウト
(51)【国際特許分類】
G05B 23/02 20060101AFI20240913BHJP
【FI】
G05B23/02 Z
【外国語出願】
(21)【出願番号】P 2018147646
(22)【出願日】2018-08-06
【審査請求日】2021-07-29
【審判番号】
【審判請求日】2023-06-30
(32)【優先日】2017-08-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】ジュリアン ケー. ナイドー
(72)【発明者】
【氏名】ダニエル アール.ストリンデン
(72)【発明者】
【氏名】クリストファー イアン サルミエント ウイ
(72)【発明者】
【氏名】プラシャント ジョシ
【合議体】
【審判長】刈間 宏信
【審判官】鈴木 貴雄
【審判官】菊地 牧子
(56)【参考文献】
【文献】米国特許出願公開第2007/0226685(US,A1)
【文献】米国特許出願公開第2002/0100017(US,A1)
【文献】特開2011-198236(JP,A)
【文献】特開2004-186445(JP,A)
【文献】特表2002-544429(JP,A)
【文献】特開平7-306710(JP,A)
【文献】特開2012-171386(JP,A)
【文献】特開平8-249163(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 - 23/02
(57)【特許請求の範囲】
【請求項1】
プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトを実装するためのモジュールベースシステムであって、前記モジュールベースシステムが、
前記プロセスプラントの1つ以上のプロセスコントローラと通信可能に連結したプロセッサであって、前記プロセッサは前記1つ以上のプロセスコントローラと通信して前記プロセスプラントの複数のプロセス制御要素を制御するように構成されており、前記複数のプロセス制御要素は少なくとも1つのアップグレードされたプロセス制御要素および1つのアップグレードされていないプロセス制御要素を備える、プロセッサと、
前記プロセッサと通信可能に連結したメモリであって、前記メモリは前記プロセスプラントの前記複数のプロセス制御要素の分散されたネットワークベースの構成のための複数のモジュールクラスを記憶するように構成される、メモリと、を備え、
前記プロセッサは、
モジュールクラスの第2のバージョンを生成することであって、前記モジュールクラスは前記複数のモジュールクラスから選択され、前記第2のバージョンは前記モジュールクラスの第1のバージョンに対する修正に基づいて生成され、前記モジュールクラスが、1つ以上のモジュールインスタンスに関連付けられ、各モジュールインスタンスが、前記プロセスプラントの1つ以上のプロセス制御要素のうちのプロセス制御要素に関連付けられる、生成することと、
ロールアウト命令を実行することであって、前記ロールアウト命令が、前記アップグレードされたプロセス制御要素を更新し、前記アップグレードされたプロセス制御要素が、前記モジュールクラスの前記第2のバージョンに基づいて新規モジュールインスタンスに関連付けられ、前記ロールアウト命令が、前記アップグレードされていないプロセス制御要素を無視し、前記アップグレードされていないプロセス制御要素が、前記モジュールクラスの第1のバージョンに基づいて、以前のモジュールインスタンスに関連付けられたままである、実行することと、
モジュール構成記録を介して前記1つ以上のモジュールインスタンスを追跡することであって、前記モジュール構成記録が、前記1つ以上のモジュールインスタンスの各々に対する前記モジュールクラスのバージョンを示し、前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示す、追跡すること
であって、
前記フェーズ化されたロールアウトステートは、前記モジュールクラスのロールアウトが進行中であり、現在は前記モジュールクラスの更新が許可されていないことを示す、追跡することと、
を行うように構成される、モジュールベースシステム。
【請求項2】
前記アップグレードされたプロセス制御要素と前記アップグレードされていないプロセス制御要素とを使用することによって、前記プロセスプラントの少なくとも一部を動作させるようにさらに構成される、請求項1に記載のモジュールベースシステム。
【請求項3】
選択的アップグレードルーチンによって前記ロールアウト命令を実行するようにさらに構成され、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第2のバージョンに基づいて、前記アップグレードされたプロセス制御要素を前記新規モジュールインスタンスと関連付け、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第2のバージョンに基づいて、前記アップグレードされていないプロセス制御要素を第2の新規モジュールインスタンスと関連付けしない、請求項1または2に記載のモジュールベースシステム。
【請求項4】
前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、前記モジュールクラスの付加的な更新を防止するようにさらに構成される、請求項1から3のいずれか1項に記載のモジュールベースシステム。
【請求項5】
前記モジュールクラスが、導出されたモジュールクラスである、請求項1から4のいずれか1項に記載のモジュールベースシステム。
【請求項6】
前記ロールアウト命令が、(a)直ちに、または、(b)スケジュールされた時間で実行される、請求項1から5のいずれか1項に記載のモジュールベースシステム。
【請求項7】
特定のプロセス制御要素が、フィールドデバイスである、請求項1から6のいずれか1項に記載のモジュールベースシステム。
【請求項8】
前記モジュールクラスの前記第2のバージョンが、前記プロセスプラントの変更されたプロセス制御要素に対応する、請求項1から7のいずれか1項に記載のモジュールベースシステム。
【請求項9】
前記モジュールクラスの前記第1のバージョンに対する前記修正が、前記モジュールクラスに1つ以上の入力を付加することを含み、前記モジュールベースシステムが、前記1つ以上の入力にアクセスして、前記アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするようにさらに構成される、請求項1から8のいずれか1項に記載のモジュールベースシステム。
【請求項10】
前記モジュールクラスへの前記1つ以上の入力が、1つ以上のフィードバック入力である、請求項9に記載のモジュールベースシステム。
【請求項11】
前記アップグレードされたプロセス制御要素が、アップグレードされたプロセス制御要素セットに含まれ、前記アップグレードされたプロセス制御要素セットが、前記ロールアウト命令によって実行されるとき、前記モジュールクラスの前記第2のバージョンの新規モジュールインスタンスと関連付けられるように各プロセス制御要素を定義し、前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの全プロセス制御要素のサブセットを含む、請求項1から10のいずれか1項に記載のモジュールベースシステム。
【請求項12】
1つ以上のプロセス制御要素選択を受信するように動作可能であり、前記プロセス制御要素選択が、各プロセス制御要素を前記アップグレードされたプロセス制御要素セットに含めることを示す、請求項11に記載のモジュールベースシステム。
【請求項13】
前記アップグレードされたプロセス制御要素セットが、特定の導出されたモジュールクラス、前記プロセスプラントの特定のヒエラルキー、および、前記プラントの物理エリア、のうち少なくとも1つに関連付けられたプロセス制御要素を含む、請求項11に記載のモジュールベースシステム。
【請求項14】
付加的なロールアウト命令を実行するようにさらに構成され、前記付加的なロールアウト命令が、前記モジュールクラスの前記第2のバージョンに基づいて前記新規モジュールインスタンスに対して、及び前記モジュールクラスの前記第1のバージョンに基づいて前記以前のモジュールインスタンスに対して構成変更を適用し、前記構成変更が、モジュールクラスの前記第2のバージョン及び前記モジュールクラスの前記第1のバージョンの各々に対する付加的な修正を含む、請求項1から13のいずれか1項に記載のモジュールベースシステム。
【請求項15】
前記付加的な修正が、モジュールクラスの前記第2のバージョン及び前記モジュールクラスの前記第1のバージョンの各々に、計算機能を付加する
ものであり、
前記計算機能は前記モジュールクラスの機能を向上させるために付加される、請求項14に記載のモジュールベースシステム。
【請求項16】
1つ以上のプロセッサを使用してプロセスプラントを構成するための、モジュールクラスの制御されたロールアウトを実装するためのモジュールベースの方法であって、前記方法が、
生成することであって、前記プロセスプラントの1つ以上のプロセスコントローラと通信可能に連結し、かつ、前記1つ以上のプロセスコントローラと通信して前記プロセスプラントの複数のプロセス制御要素を制御するプロセッサによって行われ、前記複数のプロセス制御要素は少なくとも1つのアップグレードされたプロセス制御要素および1つのアップグレードされていないプロセス制御要素を備えており、モジュールクラスの第2のバージョンは、複数のモジュールクラスから選択された前記モジュールクラスの第1のバージョンに対する修正に基づいて生成され、前記モジュールクラスが、1つ以上のモジュールインスタンスに関連付けられ、各モジュールインスタンスが、前記プロセスプラントのプロセス制御要素に関連付けられる、生成することと、
前記プロセッサがロールアウト命令を実行することであって、前記ロールアウト命令が、前記アップグレードされたプロセス制御要素を更新し、前記アップグレードされたプロセス制御要素が、前記モジュールクラスの前記第2のバージョンに基づいて新規モジュールインスタンスに関連付けられ、前記ロールアウト命令が、前記アップグレードされていないプロセス制御要素を無視し、前記アップグレードされていないプロセス制御要素が、前記モジュールクラスの前記第1のバージョンに基づいて、以前のモジュールインスタンスに関連付けられたままである、実行することと、
モジュール構成記録を介して前記1つ以上のモジュールインスタンスを追跡することであって、前記モジュール構成記録が、前記1つ以上のモジュールインスタンスの各々に対する前記モジュールクラスのバージョンを示し、前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示す、追跡すること
であって、
前記フェーズ化されたロールアウトステートは、前記モジュールクラスのロールアウトが進行中であり、現在は前記モジュールクラスの更新が許可されていないことを示す、追跡することと、
を含む、モジュールベースの方法。
【請求項17】
前記アップグレードされたプロセス制御要素と前記アップグレードされていないプロセス制御要素とを使用することによって、前記プロセスプラントの少なくとも一部を動作させるようにさらに構成される、請求項16に記載のモジュールベースの方法。
【請求項18】
選択的アップグレードルーチンによって前記ロールアウト命令を実行するようにさらに構成され、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第2のバージョンに基づいて、前記アップグレードされたプロセス制御要素を前記新規モジュールインスタンスと関連付け、前記選択的アップグレードルーチンが、前記モジュールクラスの前記第2のバージョンに基づいて、前記アップグレードされていないプロセス制御要素を第2の新規モジュールインスタンスと関連付けしない、請求項16または17に記載のモジュールベースの方法。
【請求項19】
前記モジュール構成記録が、前記モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、前記モジュールクラスの付加的な更新を防止するようにさらに構成される、請求項16から18のいずれか1項に記載のモジュールベースの方法。
【請求項20】
前記モジュールクラスが、導出されたモジュールクラスである、請求項16から19のいずれか1項に記載のモジュールベースの方法。
【請求項21】
前記ロールアウト命令が、(a)直ちに、または、(b)スケジュールされた時間で実行される、請求項16から20のいずれか1項に記載のモジュールベースの方法。
【請求項22】
特定のプロセス制御要素が、フィールドデバイスである、請求項16から19のいずれか1項に記載のモジュールベースの方法。
【請求項23】
前記モジュールクラスの前記第2のバージョンが、前記プロセスプラントの変更されたプロセス制御要素に対応する、請求項16から22のいずれか1項に記載のモジュールベースの方法。
【請求項24】
前記モジュールクラスの前記第1のバージョンに対する前記修正が、前記モジュールクラスに1つ以上の入力を付加することを含み、前記モジュールベースの方法が、前記1つ以上の入力にアクセスして、前記アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするようにさらに構成される、請求項16から23のいずれか1項に記載のモジュールベースの方法。
【請求項25】
前記モジュールクラスへの前記1つ以上の入力が、1つ以上のフィードバック入力である、請求項24に記載のモジュールベースの方法。
【請求項26】
前記アップグレードされたプロセス制御要素が、アップグレードされたプロセス制御要素セットに含まれ、前記アップグレードされたプロセス制御要素セットが、前記ロールアウト命令によって実行されるとき、前記モジュールクラスの前記第2のバージョンの新規モジュールインスタンスに関連付けられるように各プロセス制御要素を定義し、前記アップグレードされたプロセス制御要素セットが、前記プロセスプラントの全プロセス制御要素のサブセットを含む、請求項16から25のいずれか1項に記載のモジュールベースの方法。
【請求項27】
1つ以上のプロセス制御要素選択を受信するように動作可能であり、前記プロセス制御要素選択が、各プロセス制御要素を前記アップグレードされたプロセス制御要素セットに
含めることを示す、請求項26に記載のモジュールベースの方法。
【請求項28】
前記アップグレードされたプロセス制御要素セットが、特定の導出されたモジュールクラス、前記プロセスプラントの特定のヒエラルキー、および、前記プラントの物理エリア、のうち少なくとも1つに関連付けられたプロセス制御要素を含む、請求項26に記載のモジュールベースの方法。
【請求項29】
付加的なロールアウト命令を実行するようにさらに構成され、前記付加的なロールアウト命令が、前記モジュールクラスの前記第2のバージョンに基づいて前記新規モジュールインスタンスに対して、及び前記モジュールクラスの前記第1のバージョンに基づいて前記以前のモジュールインスタンスに対して構成変更を適用し、前記構成変更が、モジュールクラスの前記第2のバージョン及び前記モジュールクラスの前記第1のバージョンの各々に対する付加的な修正を含む、請求項16から28のいずれか1項に記載のモジュールベースの方法。
【請求項30】
前記付加的な修正が、モジュールクラスの前記第2のバージョン及び前記モジュールクラスの前記第1のバージョンの各々に、計算機能を付加する
ものであり、
前記計算機能は前記モジュールクラスの機能を向上させるために付加される、請求項29に記載のモジュールベースの方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概してプロセスプラントに関し、より具体的には、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトに関する。
【背景技術】
【0002】
分散型プロセス制御システムは、典型的には発電、化学製造、石油精製、工業生産または他のタイプのプラントで使用されるものであり、典型的には、アナログ、デジタル、もしくはアナログ/デジタル一体型を介して、または無線バスを介して、複数のフィールドデバイスと通信可能に連結した1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、送信器(例えば、温度、圧力、レベル、及び流速センサ)、バーナ、熱交換機、炉等であり得るフィールドデバイスは、プラント環境内に配置され、コントローラによって展開されて送られた制御信号に応答して、バルブの開放または閉鎖、プロセスパラメータの測定等のプロセス機能を行う。周知のFieldbusプロトコルのいずれかに準拠するフィールドデバイス等のスマートフィールドデバイスは、制御計算、アラーム機能、及びプラントコントローラ内で、またはプラントコントローラによって一般に実装される他の機能も行い得る。プラントコントローラも典型的にはプラント環境内に配置され、このプラントコントローラは、フィールドデバイスによって行われるプロセス測定を示す信号及び/またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づきプロセス制御信号を生成し、HART(商標)、及びFOUNDATION(商標)ベースのFieldbusフィールドデバイス等のフィールドデバイスで行われる制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信線またはネットワークを通じて、プロセス制御信号をフィールドデバイスに送り、それによって、プロセスのオペレーションを制御する。
【0003】
フィールドデバイス及びコントローラからの情報は、典型的には制御室もしくはより厳しいプラント環境から離れた他の場所に配置される、オペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポートジェネレータ、集中データベース等の1つ以上の他のコンピュータデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのコンピュータデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールのオペレーションの修正、プロセスの現在の状態の閲覧、フィールドデバイス及びコントローラによって生成されたアラームの閲覧、構成データベースの保守及び更新等の、プロセスに関する機能を行うことを可能にし得るアプリケーションを実行し得る。
【0004】
例として、EMERSON PROCESS MANAGEMENTによって販売されている、OVATION(商標)制御システムは、プロセスプラント内の多様な場所に配置された異なるデバイス内に記憶され、それらの異なるデバイスによって実行される複数のアプリケーションを含む。1つ以上のオペレータワークステーション内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、及びデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づいて制御スキーム内で機能を実施し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、設計者による、オペレータにデータを表示するために閲覧アプリケーションによって使用されるオペレータインターフェースの作成または変更を可能にし、オ
ペレータによる、プロセス制御ルーチン内の設定点等の設定の変更を可能にし得る。専用コントローラの各々、及び一部の場合においては、フィールドデバイスの各々は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するコントローラアプリケーションを記憶及び実行する。閲覧アプリケーションは、1つ以上のオペレータワークステーション上で実行され得、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示する。データヒストリアンアプリケーションは、典型的には、データハイウェイをわたって提供されたデータの一部またはすべてを収集及び記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成及びそれと関連付けられたデータを記憶するために、データハイウェイに接続されたさらに離れたコンピュータで実行され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーション内に配置されてもよい。
【0005】
現在、プロセスプラントは、モジュールクラス及びそれら各自のモジュールオブジェクト(モジュールインスタンスとしても既知である)で構成することができる。「モジュールクラス」は、特定のタイプのモジュール、例えば制御モジュールのためのテンプレートである。クラスの「モジュールインスタンス」は、事実上、その親モジュールクラスからインスタンス化され、その結果それに基づくモジュールクラスの「子」である。
【0006】
モジュールインスタンスは、プロセス制御システム内の特定の要素に対応することができる。例えば、バルブクラスは、多数のバルブインスタンスを有し得、この場合各インスタンスは、プロセスプラント内の固有のバルブに対応する。モジュールインスタンスは、コンピュータメモリ内で活動を続け、バルブに関するデータを記憶することができ、及び/またはバルブを制御するための機能を実行することができる。既存の実装では、例えば米国特許第7,043,311号、発明の名称「Module Class Objects in a Process Plant Configuration System」によって説明されるように、モジュールインスタンスは、それぞれ各自のモジュールクラスオブジェクトから作成することができ、この場合、モジュールオブジェクトは、モジュールクラスに関連付けられ、それによって所有されると言われる。
【0007】
現在のシステムでは、モジュールクラスと、プロセスプラント内部で使用するためのそのモジュールクラスのインスタンスとの間の一対一マッピングが維持される。現在のシステムでは、所与のモジュールクラスに対して、モジュールインスタンスの複数のライブバージョンは存在することができない。したがって、クラスに対する修正がなされるとき、すべての子モジュールインスタンスが同様に修正されなければならず、よって、モジュールクラスに対するすべてのモジュールインスタンスが、モジュールクラスに対する変更によって直ちに影響される。結果として、モジュールクラスに対してインスタンス化されたいかなる新規モジュールインスタンス、またはモジュールクラスに対してなされたいかなる変更も、そのモジュールクラスオブジェクトに関連付けられたモジュールインスタンスの各々に自動的に反映され、かつそれらに伝播される。米国特許第7,043,311号によって説明されるように、数多くのモジュールインスタンスが特定のモジュールクラスから作成されているとき、異なるモジュールインスタンスの各々が異なるプロセス実体に結び付けられている場合、異なるモジュールインスタンスの各々が、単にモジュールクラスに対する変更を呼び出すことによって、自動的に変更される。例えば、変更は、プロセスプラント内の関連付けられたモジュールインスタンスまで自動的に伝播される。
【0008】
しかしながら、これは、プロセスプラント内部で、特に、例えば非常に多くの様々なタイプまたは異なる構成のフィールドデバイス、プロセス制御要素、例えばCHARM、ポジションスイッチ等を包含するプロセスプラントを含む、非常に多くの様々なタイプまた
は異なる構成のハードウェアを包含するプロセスプラントにおいて、問題を生じさせる可能性がある。例えば、プロセスプラントのオペレータ、例えば、エンジニアが、プロセスプラントのハードウェアをアップグレードすることを所望する場合、新規ハードウェアが新規モジュールクラスを必要とし、ひいてはそれぞれ新規のモジュールインスタンス(例えば、新規ハードウェアを制御するため)を必要とした場合には、プラント内のすべての同様なハードウェアに対する一対一マッピングを維持するために、オペレータは、すべての新規バージョンのハードウェアをすぐに更新及び設置し、古いモジュールクラスに関連付けられた古いハードウェアのすべて及びそのそれぞれのモジュールインスタンスを取り除くことを必要とする。一方で、そのような一手順は、新規モジュールインスタンスのすべてが同じバージョンであることを確実にし、かつ、したがって、新規モジュールクラスと、新規ハードウェアに対する新規モジュールインスタンスとの間の一対一マッピングを維持するであろう。しかしながら、他方で、すべてのそのようなハードウェアを一度に購入及び設置するための予算または資源が不十分である場合がある。
【0009】
現在の実施では、この課題に対処するために、エンジニアは、新規ハードウェアのすべてではないがいくつかを設置することを余儀なくされ得る。しかしながら、そのような実施は、ハードウェアクラスとそのインスタンスとの間の一対一の関係を壊すため、望ましくない。例えば、そのような実施は、新規モジュールインスタンスが新規ハードウェアを収容することを必要とし、異なるハードウェア構成に対する異なるモジュールクラスを必要とし、この場合、エンジニアは、実際には、経時的に新規モジュールクラス及び関連するインスタンスにおいてフェーズ化するために、クラス連結を壊すことを余儀なくされる。このように、同様のハードウェアが、プラント内の同様のハードウェア、デバイス、要素等に対するバージョン制御切断を引き起こす異なるクラスを有し、それによって、プラントの全体的な構成、保守、及び保守性の効果をより低くし、潜在的に危険にする可能性がある。
【0010】
一例として、プロセスプラントは、バルブクラスに関連付けられ得、この場合バルブクラスは、プロセスプラント内に位置するハードウェアバルブに対応する100を超えるインスタンスを有し得る。本例では、バルブクラスの論理は、プロセスプラント内の新規の値、新規の特徴、または新規の使用ケースを適応させるために変更される必要がある場合がある。バルブクラスが100を超えるバルブインスタンスを有しているため、インスタンスに対する変更の実施は、新規ハードウェア(例えば、関連するケーブルを含む)の経時的な設置と同期させなければならない。現在の実施によれば、バルブクラスに対する変更は、それぞれのバルブインスタンスのすべてに直ちに影響し、この場合、該変更は、新規バルブインスタンスを、既存のオンラインシステム内の所与の値のクラスに関連付けられたすべてのバルブに自動的にダウンロードさせる。しかしながら、新規バルブインスタンスを古いバルブハードウェアにダウンロードすることは、古いバルブモジュールの論理を誤って機能させ、プロセスプラント内で問題、不具合、及びことによると危険な状況を生じさせる可能性がある。
【0011】
現在の実施では、これに対処するために、エンジニアはまず、エンジニアがクラスを変更する前に影響を受けることを望まないバルブインスタンスを稼働させる任意のハードウェアに対する、バルブクラスとそのバルブクラスインスタンスとの間のクラス連結である一対一マッピングを壊さなければならない。先に述べたように、これは、特に検証されたプラントにおいては、それらの連結されていないインスタンスはここでは自立型であり、それらの論理が任意に変更され得るため、望ましくない。これは、困難な管理、追跡になる可能性があり、最終的にはプロセスプラントに危険となる可能性のあるバージョン制御問題を引き起こす。さらに、この状況はまた、連結されていないインスタンスの追跡を維持するために、制御エンジニアに対するさらなるオーバーヘッドを引き起こし、混乱及びエラーを導入する。
【0012】
場合によっては、エンジニアは、新規のダミーモジュールクラスを作成し、1つのインスタンスを一度に新規のダミーモジュールクラスに連結/連結解除し、所望の変更を経時的に実装することができる。しかしながら、この第2の手法は、長い時間がかかるだけでなく、管理上の負担を引き起こし、また、特に複数のエンジニアがプロセスプラントの構成及び維持を担当している場合、混乱及びエラーを導入する場合がある。
【発明の概要】
【0013】
先述の問題を克服するために、プロセスプラントを構成するための、モジュールクラスの制御されたロールアウトのためのモジュールベースシステム及び方法が説明される。様々な実施形態では、モジュールベースシステム及び方法は、モジュールクラスの第1のバージョンの修正に基づくモジュールクラスの第2のバージョンを生成するように構成された1つ以上のプロセッサを含み得る。いくつかの実施形態では、モジュールクラスは、導出されたモジュールクラスであり得、導出されたモジュールクラスは、親モジュールクラスのプロパティまたは機能性を受け継ぐ。
【0014】
いくつかの実施形態では、モジュールクラスは、1つ以上のモジュールインスタンスに関連付けられ得、モジュールインスタンスは、プロセスプラントのプロセス制御要素に各々関連付けられ得る。プロセス制御要素は、フィールドデバイス、または例えばバルブを含むフィールドデバイスの一部を含み得る。
【0015】
モジュールクラスの第2のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、1つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。
【0016】
いくつかの実施形態では、モジュールクラスの第1のバージョンに対する修正は、モジュールクラスに1つ以上の入力(例えば、フィードバック入力)を付加することを含むことができ、この場合、1つ以上の入力は、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするためにアクセスされ得る。
【0017】
様々な実施形態では、モジュールベースシステム及び方法は、ロールアウト命令を実行するように動作可能である。ロールアウト命令は、1つ以上のアップグレードされたプロセス制御要素を更新するためのルーチンを含み得、アップグレードされたプロセス制御要素は、モジュールクラスの第2のバージョンに基づいて、新規モジュールインスタンスに各々関連付けられる。また、ロールアウト命令は、1つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラスの第1のバージョンに基づいて、以前のモジュールインスタンスに各々関連付けられたままである。例えば、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第2のバージョンに基づいて、アップグレードされたプロセス制御要素を、新規モジュールインスタンスと関連付ける。選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップするように実装することができ、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第2のバージョンに基づいて、いかなる第2の新規モジュールインスタンスにも関連付けられない。
【0018】
いくつかの実施形態では、ロールアウト命令は、直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。
【0019】
付加的な実施形態では、いったんロールアウト命令が実行されると、アップグレードさ
れたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々をともに使用して、プロセスプラントの少なくとも一部を制御し得る。そのような実施形態では、プロセスプラントは、異なるバージョン、例えば、同時を含む同じモジュールクラスの第1のバージョン及び第2のバージョンによって少なくとも部分的に制御される。
【0020】
モジュールベースシステム及び方法は、モジュール構成記録を介して、1つ以上のモジュールインスタンスを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、1つ以上のモジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。
【0021】
いくつかの実施形態では、モジュールベースシステム及び方法は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。
【0022】
他の実施形態では、アップグレードされたプロセス制御要素は、モジュールクラスの第2のバージョンの新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれ得る。アップグレードされたプロセス制御要素セットは、ロールアウト命令が実行されるときに作成することができる。一定の実施形態では、アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得る。
【0023】
いくつかの実施形態では、アップグレードされたプロセス制御要素セットに含むためのプロセス制御要素の選択は、モジュールベースシステム及び方法によって受信され得、このシステム及び方法は、例えばオペレータがどのプロセス制御要素をアップグレードされたプロセス制御要素セットに含めるかを選択することができるグラフィカルインターフェースを介することを含む。
【0024】
例えば、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を選択することを含み得る。他の実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。またさらなる実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【0025】
様々な実施形態では、付加的なロールアウト命令を実行し得、付加的なロールアウト命令は、モジュールクラスの第2のバージョンに基づいて新規モジュールインスタンスに対して、及びモジュールクラスの第1のバージョンに基づいて以前のモジュールインスタンスに対して構成変更を適用する。構成変更は、例えば、モジュールクラスに全体としてパッチまたは簡易補修を適用するために、モジュールクラスの第2のバージョン及びモジュールクラスの第1のバージョンの各々に対して適用される付加的な修正を含むことができる。例えば、一実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラスの機能性を向上させるために、モジュールクラスの第2のバージョン及びモジュールクラスの第1のバージョンの各々に、計算機能を付加することができる。
【0026】
当業者には、例解を目的として図示及び説明されている以下の好ましい実施形態の説明から、利点がより明らかとなろう。理解されるように、本実施形態は、他の異なる実施形態が可能であり得、それらの詳細は、様々な点において修正が可能である。したがって、図面及び説明は、基本的に例解としてみなされるものであり、限定的であると見なされる
ものではない。
【図面の簡単な説明】
【0027】
以下に説明される図面は、本明細書に開示された本システム及び方法の様々な態様を図示する。各図面は、開示されたシステム及び方法の特定の態様の実施形態を図示し、図面の各々が、その可能な実施形態と一致することが意図されていることが理解されるべきである。さらに、可能な限り、以下の説明は、以下の図面に含まれる参照番号に言及し、それらにおいて、複数の図面に図示された特徴は、一貫した参照番号で示される。
【0028】
図中には、目下述べられている構成が示されるが、しかしながら、目下の実施形態は、示された精密な構成及び手法に限定されないことが理解される。
【0029】
【
図1】プロセスプラント内部に位置する分散型プロセス制御ネットワークの一実施形態のブロック図であり、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトのための構成アプリケーションを実装するオペレータワークステーションを含む。
【
図2】本明細書の様々な実施形態によるモジュールクラスの第1のバージョンを修正するために使用され得る第1の構成画面の一実施形態を図示する。
【
図3】
図2からのモジュールクラスの第2のバージョンを示す、
図2の構成画面の実施形態の図示である。
【
図4】
図3からのモジュールクラスの第2のバージョンの新規モジュールインスタンスに関連付けられるように選択されたプロセス制御要素を示す、
図3の構成画面の一実施形態の図示である。
【
図5】特定の導出されたクラスに基づいて選択されたプロセス制御要素を示す、
図3の構成画面の一実施形態の図示であり、選択されたプロセス制御要素は、
図3からのモジュールクラスの第2のバージョンの新規モジュールインスタンスに関連付けられている。
【
図6】プロセスプラント内のプロセス制御要素に対してロールアウトされた、
図3からのモジュールクラスの第2のバージョンの新規モジュールインスタンスを示す、
図3の構成画面の一実施形態の図示である。
【
図7】モジュールクラスの第2のバージョンに基づいて新規モジュールインスタンスに対して、及びモジュールクラスの第1のバージョンに基づいて以前のモジュールインスタンスに対して、構成変更を適用する付加的なロールアウト命令を示す、
図3の構成画面の一実施形態の図示である。
【
図8】付加的なロールアウト命令を実行するためのロールアウト確認画面を示す、
図7の構成画面の一実施形態の図示である。
【
図9】プロセスプラントの特定のタイプのプロセス制御要素に関連付けられたモジュールインスタンスを示す構成画面の一実施形態の図示である。
【
図10】
図1のプロセスプラントを構成するためのモジュールクラスの制御されたロールアウトの一実施形態を例解する。
【0030】
図面は、例解のみを目的として、好ましい実施形態を図示する。本明細書で例解されたシステム及び方法の代替の実施形態を、本明細書で説明された本発明の原理から逸脱することなく、用いてもよい。
【発明を実施するための形態】
【0031】
好ましい実施形態の説明
図1は、プロセスプラント内部に位置する分散型プロセス制御ネットワークの一実施形態のブロック図であり、プロセスプラントを構成するためのモジュールクラスの制御されたロールアウトのための構成アプリケーションを実装するオペレータワークステーション
を含む。
図1の実施形態では、プロセスプラント10は、例えばイーサネット(Ethernet)接続またはバス15を介して多数のワークステーション14に連結された1つ以上のプロセスコントローラ12を含む。また、コントローラ12は、通信線またはバス18のセットを介してプロセスプラント10内部のデバイスまたは機器に連結され、
図1には、コントローラ12aに接続された通信線18のセットのみが図示されている。コントローラ12は、Fisher-Rosemount Systems,Inc.によって販売されているOVATION(商標)コントローラを使用して、あくまで一例として実装され得るが、プロセスプラント10全体に分散されたフィールドデバイス及びフィールドデバイス内の機能ブロック等の制御要素と通信することができることで、1つ以上のプロセス制御ルーチン19を実行し、これによってプロセスプラント10の所望の制御を実装する。ワークステーション14(これは、例えばパーソナルコンピュータであってもよい)を1人以上の構成エンジニアによって使用して、コントローラ12によって実行されるプロセス制御ルーチン19及びワークステーション14または他のコンピュータによって実行される表示ルーチンを設計し、コントローラ12と通信して、そのようなプロセス制御ルーチン19をコントローラ12及び12aにダウンロードし得る。さらに、ワークステーション14は、プロセスプラント10の動作中に、プロセスプラント10またはその要素に属する情報を受信及び表示する表示ルーチンを実行し得る。
【0032】
ワークステーション14の各々は、構成設計アプリケーション、及び表示アプリケーションまたは閲覧アプリケーション等のアプリケーションを記憶するための、ならびにプロセスプラント10の構成に属する構成データ等のデータを記憶するためのメモリ20を含む。また、ワークステーション14の各々は、構成エンジニアが、プロセス制御ルーチン及び他のルーチンを設計し、これらのプロセス制御ルーチンをコントローラ12に、もしくは他のコンピュータにダウンロードするか、または情報を収集してそれをプロセスプラント10の動作中にユーザに表示することを可能にするためのアプリケーションを実行するプロセッサ21を含む。
【0033】
またさらに、コントローラ12の各々は、制御アプリケーション及び通信アプリケーションを記憶するメモリ22、ならびに任意の既知の様式で制御アプリケーション及び通信アプリケーションを実行するプロセッサ24を含む。1つの場合において、コントローラ12の各々は、複数の異なる、独立して実行される制御モジュールまたはブロック19を使用して制御方策を実装するコントローラアプリケーションを記憶及び実行する。制御モジュール19は、機能ブロックと一般に称されるものから各々なり得、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、プロセスプラント10内のプロセス制御ループを実装するように他の機能ブロックと併せて動作する(リンクと呼ばれる通信を介して)。
【0034】
周知のように、機能ブロックは、オブジェクト指向プログラミングプロトコル内のオブジェクトであり得るが、送信機、センサ、または他のプロセスパラメータ測定デバイス等と関連付けられるような入力機能か、PID、ファジー論理等の制御を実行する制御ルーチンと関連付けられるような制御機能か、またはプロセスプラント10内の一部の物理的機能を実行するために、バルブ等の一部のデバイスの動作を制御する出力機能のうちの1つを典型的に実行する。当然のことながら、ハイブリッド及び他のタイプの複合型機能ブロック、例えばモデル予測コントローラ(MPC)、オプティマイザ等が存在する。Fieldbusプロトコル及びOVATION(商標)システムプロトコルは、オブジェクト指向プログラミングプロトコルで設計され実施される制御モジュール及び機能ブロックを使用するが、制御モジュールは、例えば逐次機能ブロック、ラダー論理等を含む任意の所望の制御プログラミング方式を使用して設計することができ、機能ブロックまたは任意の他の特定のプログラミング技法またはプログラミング言語を使用して設計することに限定されない。
【0035】
ワークステーション14は、プロセス制御ルーチン19内のプロセス制御要素と、これらのプロセス制御要素が、プロセスプラント10の制御を提供するように構成される様式とを例解する表示画面を介して、コントローラ12内のプロセス制御ルーチン19の図形描写をユーザに提供し得る。
図1のシステムでは、構成データベース25は、イーサネットバス15に接続され、コントローラ12及びワークステーション14によって使用される構成データを記憶し得るとともに、将来の使用のために、プロセスプラント10で生成されたデータを収集及び記憶することによって、データヒストリアンとして機能し得る。
【0036】
図1に図示されたプロセスプラント10では、コントローラ12aは、バス18を介して、本明細書において反応装置_01、反応装置_02、及び反応装置_03と称される、同様に構成された3セットの反応装置(これらは、プロセスプラント10内部の複製された機器である)に通信可能に接続される。反応装置_01は、反応装置容器またはタンク100、反応装置容器100内に酸、アルカリ、及び水をそれぞれ提供する流体入口ラインを制御するために接続された3つの入力バルブシステム(これらは、設備実体としてのプロセス制御要素である)101、102、及び103、ならびに反応装置容器100の流体流出を制御するために接続された出口バルブシステム104を含む。センサ105は、レベルセンサ、温度センサ、圧力センサ等の任意の所望のタイプのセンサであり得るが、反応装置容器100内またはその近傍に配設される。さらに、共有ヘッダバルブシステム110は、反応装置の各々、反応装置_01、反応装置_02、及び反応装置_03の上流の水ライン上に接続されて、これらの反応装置の各々への水の流れを制御するためのマスター制御を提供する。
【0037】
同様に、反応装置_02は、反応装置容器200、3つの入力バルブシステム201、202、及び203、出口バルブシステム204、ならびにレベルセンサ205を含み、一方で反応装置_03は、反応装置容器300、3つの入力バルブシステム301、302、及び303、出口バルブシステム304、ならびにレベルセンサ305を含む。
図1の例では、反応装置_01、反応装置_02、及び反応装置_03の反応装置は、酸を提供する入力バルブシステム101、201、及び301、アルカリを提供する入力バルブシステム102、202、及び302、ならびに共有水ヘッダ110と協働して反応装置容器100に水を提供する入力バルブシステム103、203、及び303によって、塩を生成し得る。出口バルブシステム104、204、及び304は、生成物を、
図1において右に向けられた流れ線の外に送り、廃棄物または他の不要物質を、
図1において底に向けられた流れ線の外に排出するように動作し得る。
【0038】
コントローラ12aは、反応装置ユニット、反応装置_01、反応装置_02、及び反応装置_03に関する1つ以上の動作を実行するためにこれらのプロセス制御要素の動作を制御するように、バス18を介して、バルブシステム101~104、110、201~204、及び301~304、ならびにセンサ105、205、及び305に通信可能に連結される。このような動作は、概してフェーズと呼ばれるが、例えば、反応装置容器100、200、300を充填すること、反応装置容器100、200、300内の物質を加熱すること、反応装置容器100、200、300の廃棄物を放出すること、反応装置容器100、200、300を洗浄すること等を含み得る。
【0039】
図1に図示されたバルブ、センサ、及び他の機器は、例えばFieldbusデバイス、標準的4-20Maデバイス、HARTデバイス等を含む任意の所望の種類またはタイプのプロセス制御要素であってもよく、例えばFieldbusプロトコル、HARTプロトコル、4-20Maアナログプロトコル等の任意の既知または所望の通信プロトコルを使用して、コントローラ12と通信し得る。またさらには、他のタイプのデバイスが、本明細書で説明された原理に従って、コントローラ12に接続されそれによって制御され
得る。また、他の数及びタイプのコントローラが、プロセスプラント10に関連付けられた他のデバイスまたはエリアを制御するためにプラント10内部に接続されてもよく、そのような付加的なコントローラの動作は、
図1に図示されたコントローラ12aの動作と任意の所望の方法で連係させてもよい。
【0040】
一般に、
図1のプロセスプラント10を使用して、例えば、ワークステーション14のうちの1つまたはコントローラ12aが、生成物、例えば特定のタイプの塩を生成するために必要である一連の異なるステップ(一般的にフェーズと称される)を行うように反応装置ユニットのうちの1つ以上(ならびに他のプロセス制御要素または他の機器)の動作を指示する高レベルの制御ルーチンであるバッチ実行ルーチンを実行するバッチプロセスを実施し得る。異なるフェーズを実装するために、バッチ実行ルーチンは、実行されることになるステップ、ステップと関連付けられた量及び時間、ならびにステップの順序を特定する、レシピと一般に称されるものを使用する。1つのレシピに対するステップは、例えば、適切な物質または成分で反応装置容器を充填すること、反応装置容器内で物質を混合すること、一定時間、一定温度に反応装置容器内の物質を加熱すること、反応装置容器を空にすること、及び次いで、次のバッチ運転に備えて準備するために反応装置容器を洗浄することを含み得る。ステップの各々は、バッチ運転のフェーズを定義し、コントローラ12a内のバッチ実行ルーチンは、これらのフェーズの各々1つに対して異なる制御アルゴリズムを実行する。当然のことながら、特定の材料、材料の量、加熱温度、時間等は、異なるレシピについて異なり得、結果的に、これらのパラメータは、製造または生成されている製品及び使用されているレシピに応じて、バッチ運転ごとに変化し得る。当業者には、制御ルーチン及び構成は、本明細書では
図1に図示された反応装置内でのバッチ実行のために説明されているが、制御ルーチンは、他の所望のデバイスを制御して、任意の他の所望のバッチプロセス実行を行うか、または所望であれば、継続的なプロセス実行を行うために使用され得ることが理解されよう。
【0041】
また、理解されるように、バッチプロセスの同じフェーズまたはステップを、
図1の異なる反応装置ユニットの各々で、同じまたは異なる時点で実施することができる。さらに、
図1の反応装置ユニットは、概して同じ数及びタイプの機器を含むため、特定のフェーズのための同じ汎用フェーズ制御ルーチンを、異なる反応装置ユニットの各々を制御するために使用し得るが、この汎用フェーズ制御ルーチンが、異なる反応装置ユニットに関連付けられた異なるハードウェア、機器、またはさもなければプロセス制御要素を制御するように修正される必要がある場合を除く。例えば、反応装置_01に対する充填フェーズ(反応装置ユニットが充填される)を実装するために、充填制御ルーチンは、一定時間、例えば、容器100が充填されたことをレベルメータ105が検知するまで、入力バルブシステム101、102、及び103と関連付けられた、プロセス制御要素である1つ以上のバルブを開く。しかしながら、この同一制御ルーチンは、バルブシステム101、102、及び103の代わりに、バルブシステム201、202、及び203と関連付けられたものとなる入力バルブ(複数可)の指定を単に変更することによって、かつレベルメータ105の代わりにレベルメータ205になるようにレベルメータの指定を変更することによって、反応装置_02に対する充填フェーズを実装するために使用され得る。
【0042】
プロセス構成をより容易に、かつより時間がかからないように作成及び変更するために、開発されている1つのモジュール制御技術は、
図1のワークステーション14のうちの1つに記憶された、プロセス制御プラント10の構成に使用されるモジュールクラスオブジェクト52(すなわち、モジュールクラス)のセットを含む構成アプリケーション50を含む。この技術の一例は、米国特許第7,043,311号、発明の名称「Module Class Objects in a Process Plant Configuration System」に記載され、その開示全体が、参照によりここで明確に本明細書に組み入れられる。特に、米国特許第7,043,311号は、モジュールク
ラスオブジェクトが、大量の複製機器のセットを有するプラントを構成するときに使用されることを説明している。一般に、異なるモジュールクラスオブジェクト52は、プロセスプラント10内部で複製または使用される異なるタイプの物理ユニットまたは機器の各々に対して、プロセスプラント10内部で複製または使用される制御活動のタイプの各々に対して、プロセスプラント10内で複製または使用される異なるタイプの表示アプリケーションの各々等に対して作成することができる。いったん作成されると、モジュールクラスオブジェクト52を使用して、モジュールクラスオブジェクトに対応するプロセスプラント10のプロセス制御要素を構成することができる。
【0043】
モジュールクラスオブジェクト52(本明細書ではモジュールクラスオブジェクトまたはモジュールクラスと称される)は、本質的に包括的バージョンのプロセス実体であり、かつ任意の特定プロセス実体に紐付けられていないが、それらと関連付けられたより低位のオブジェクトまたはインスタンス53、54、55、及び56(本明細書ではモジュールオブジェクト、モジュールブロック、またはモジュールインスタンスと称される)を有することができる。各モジュールインスタンスは、モジュールクラスから作成されかつそれに基づき、作成元のモジュールクラスと同一構造及び同一性質を受け継ぐ。各モジュールオブジェクトは、プロセスプラント10内の特定の実体に紐付けられ得る。したがって、単一モジュールクラス52は、特定タイプの反応装置ユニットを表すように作成され得るが(それらの反応装置ユニットがプラント10内に存在する数にかかわらず)、一方で異なるモジュールインスタンス53は、プラント10内に実際に存在するそのタイプの異なる反応装置ユニットの各々に対して存在し得るか、または作成され得る。
【0044】
既存の実装では、例えば米国特許第7,043,311号によって説明されるように、モジュールクラスから作成されたモジュールオブジェクトは、モジュールクラスに関連付けられ、それによって所有される。結果として、モジュールクラスになされたいかなる変更も、そのモジュールクラスと関連付けられたモジュールインスタンスの各々内で自動的に反映されるか、またはそれらに伝播される。したがって、数多くのモジュールインスタンスが特定のモジュールクラスから作成され、異なるモジュールインスタンスの各々が異なるプロセス実体に紐付けられている場合、異なるモジュールインスタンスの各々が変更され、単に関連するモジュールクラスを変更し、変更は、関連付けられたモジュールインスタンスまで自動的に伝搬され得る。
【0045】
基本的に、各モジュールクラスは、その実体を制御するためにコントローラ12によって、もしくはその実体に関する表示活動を実行するためにワークステーション14によって使用されることになるその実体に適用可能である、異なる制御及び/もしくは表示アプリケーションまたはルーチンのすべての形態のプロセス実体の包括的定義を含む構成コンテナである。モジュールクラスは、任意の性質のプロセス実体、例えばユニット、機器、制御実体、表示アプリケーション等を表し得る。プロセスプラント10の構成中、モジュールクラスを使用して、任意の数の異なるプロセス実体に対して、モジュールクラスオブジェクトによって提供された定義に適合するプロセス実体の構成インスタンスを作成してもよく、各構成インスタンス(モジュールクラスオブジェクトから作成されたモジュールオブジェクト)は、異なる実際のプロセス実体に関連付けられるかまたは紐付けられる。これらの異なるモジュールインスタンスは、他のルーチンの中でも、プロセスプラント10内部に配設されたような特定のプロセス実体に結び付けられた制御ルーチン及び/または表示ルーチンを含み、これらの制御ルーチンは、
図1のコントローラ12にダウンロードされその内部で使用されて、プロセス実体上で実際の制御活動を行うことが可能であり、表示ルーチンは、ワークステーション14においてダウンロードされて、プロセスプラント10の動作中、実体に対して実際の表示活動を行うことが可能である。
【0046】
本明細書で説明されたように、異なるタイプのモジュールクラスオブジェクトが、異な
る範囲のプロセス実体を反映し、それによって、異なる範囲のプロセス実体上で動作するかまたはそれを基準として構成された制御及び/または表示ルーチンを包含し得る。プロセス実体、例えばユニットの範囲が大きいほど、典型的には、制御及び/または表示ルーチンは、モジュールクラスにさらに関連付けられ、それらのモジュールクラスを使用してプラントのセクションを構成することがより容易になる。しかしながら、モジュールクラスに関連付けられたプロセス実体の範囲が大きいほど、プロセスがその範囲において複製された機器を含む見込みが低くなり、そのため、モジュールクラスが大規模に有用となる見込みが低くなる。逆に、モジュールクラスに関連付けられたプロセス実体の範囲が低いほど、モジュールクラスがプラントの様々な異なる場所で使用されることが可能になる見込みがより高くなるが、任意の特定のインスタンス内のそのモジュールクラスを使用するときに行われる構成の量がより少なくなる。
【0047】
図2は、モジュールクラスの第1のバージョンを修正するために使用され得る第1の構成画面の一実施形態を図示する。構成画面は、構成アプリケーション、例えば
図1のワークステーション14のうちの1つ上で実行される構成アプリケーション50の一部であってもよい。例えば、
図2によって例解されるように、構成画面250は、制御スタジオ構成アプリケーションの一部である。制御スタジオ構成アプリケーションの一般的な詳細は、米国特許第7,043,311号に説明されている。
【0048】
図2の構成画面250は、特定のフィールドデバイスモジュールクラス、例えば2ステートバルブウィンドウ252に図示されたような2ステートバルブモジュールクラス256の構成を例解する。具体的には、構成画面250は、2ステートバルブモジュールクラス256のグラフィカル表現を図示する。2ステートバルブモジュールクラス256は、DC1デバイス制御258を備える制御部を含む。DC1制御258は、プロセスプラント10内部で動作する物理的な2ステートバルブデバイスを制御するための論理、ルーチン、または機能を含み得る。2ステートバルブモジュールクラス256の論理、ルーチン、または機能は、例えばC、C++、Java、もしくはドライバ、BIOSソフトウェア、または2ステートバルブモジュールクラス256に関連付けられた2ステートバルブデバイスを制御するための他のソフトウェアを実装するための任意の他のコンピュータ言語を含む、多様な異なるコンピュータ言語で実施され得る。いくつかの実施形態では、論理、ルーチン、または機能は、例えば
図1のコントローラ12または12aのうちのいずれかを含む、2ステートバルブを制御するデバイス上で実行され得る。
【0049】
モジュールクラスは、1つ以上の出力260を有し得、ここで、モジュールクラスのインスタンスによって演算されるか、あるいはそこに記憶された情報が、プロセスプラント10の構成か、さもなければ制御に使用するために、判定され及び/またはインスタンスから出力され得る。
図3の実施形態では、例えば、2ステートバルブモジュールクラス256のDC1デバイス制御258は、バルブ位置出力262を含み、これは、バルブ動作時の現在または所望の開閉位置を示す出力番号または他の値を含むことができる。
【0050】
2ステートバルブモジュールクラス256のための情報は、制御構成ウィンドウ254内部に表示される。例えば、制御構成ウィンドウ254は、2ステートバルブモジュールクラス256のタイトル、説明、及びプロセスタイプを定義するための入力フィールドを含む、2ステートバルブモジュールクラス256のための情報を含む。例えば、クラスのタイトルは、以前の構成セッションにおいて「2ステートバルブ」と定められている可能性がある。加えて、制御構成ウィンドウ254は、実行ランタイムが特定されることを可能にし、現在の例示の実施形態に対しては、2ステートバルブモジュールクラス256のインスタンスは、2秒ごとに稼働するように設定される。
【0051】
また、制御構成ウィンドウ254は、ライブラリ情報を含み、これは、それぞれ各自の
モジュールクラスとともに示された2ステートバルブモジュールインスタンスのファミリツリーを含む。例えば、現在の実施形態では、25個の2ステートバルブモジュールインスタンス256aが、2ステートバルブモジュールクラス256に関連付けられ、それに基づいている。25個の2ステートバルブモジュールインスタンス256aは、関連する2ステートバルブモジュールクラス256からインスタンス化され、その結果それに基づく、コンピュータメモリ内で実行しているライブインスタンスである。また、制御構成ウィンドウ254のファミリツリーは、2ステートバルブILモジュールクラス257を示し、これは、2ステートバルブモジュールクラス256の導出されたクラスである。例えば、導出されたクラス2ステートバルブILモジュールクラス257は、その親の2ステートバルブモジュールクラス256と比較すると、付加的な性質または機能性を有し得る。
図2の現在の実施形態に示されるように、25個の2ステートバルブILモジュールインスタンス257aもまた、導出された2ステートバルブILモジュールクラス257に関連付けられる。したがって、構成ウィンドウ254は、25個のインスタンスを有する2ステートバルブモジュールクラス256を描写し、これは、別の25個のインスタンスを有する導出されたクラス(すなわち、2ステートバルブIL)を有し、この場合、2ステートバルブモジュールクラス256及び2ステートバルブILモジュールクラス257は同じファミリ内であると言われる。
【0052】
図2の実施形態では、モジュールクラス256、256a、257、及び257aの各々は、現状では単一の、または第1のバージョンのみを含むが、さらに本明細書で説明されたように、付加的なさらなるバージョンが生成されてもよい。
【0053】
図3は、
図2からの2ステートバルブモジュールクラス256の第2の新規バージョンを示す、
図2の構成画面の実施形態の図示である。本明細書の様々な実施形態に開示されるように、1つ以上のプロセッサ、例えば
図1のワークステーション14のうちの1つ上で実行する構成アプリケーション50は、モジュールクラスの第1のバージョンの修正に基づくモジュールクラスの第2のバージョンを生成するように構成され得る。
図3の実施形態では、
図2からの2ステートバルブモジュールクラス256の第2のバージョンは、2ステートバルブモジュールクラス256のオリジナルの、または第1のバージョンに対する修正に基づいて生成される。例えば、制御構成ウィンドウ254は、
図2からの2ステートバルブモジュールクラス256の第2のバージョンを含む。また、第2のバージョンは、ファミリツリーの下に含まれ、新規の2ステートバルブモジュールクラス356として示される。
【0054】
2ステートバルブモジュールクラス356の第2のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、1つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。一実施形態では、例えば、エンジニアは、第1のバージョンのモジュールクラス(例えば、2ステートバルブモジュールクラス256)を新規モジュールクラス(例えば、2ステートバルブモジュールクラス356)で更新し、変更されたハードウェアに対応させることができる。次いで、エンジニアは、本明細書で説明されたように、更新された2ステートバルブモジュールクラス356を新規ハードウェア(例えば、バルブ)にロールアウトすることができ、これは、新規バルブを試験することを含み得る。エンジニアが変更に納得した後、エンジニアは、残余の同様のバルブが更新されたモジュールクラス2ステートバルブモジュールクラス356を受信することになることを示すことができる。
【0055】
いくつかの実施形態では、例えば、モジュールクラスの第1のバージョンに対する修正は、モジュールクラスの第1のバージョンに、1つ以上の入力(例えば、フィードバック入力)を付加することを含むことができ、この場合、1つ以上の入力は、例えば
図1のワークステーション14のうちの1つ上で実行する構成アプリケーション50によってアク
セスされ、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にし得る。例えば、
図3の構成画面250は、新規の2ステートバルブモジュールクラス356を生成するために、2ステートバルブモジュールクラス256に2つの入力を付加することを例解する。構成画面250を使用して、1つ以上の入力350が、2ステートバルブウィンドウ252を介して付加され得る。具体的には、
図3の実施形態では、2ステートバルブモジュールクラス256は、開位置フィードバック入力352及び閉位置フィードバック入力354を付加し、2ステートバルブモジュールクラス356を生成するように修正される。
【0056】
いくつかの実施形態では、DC1デバイス制御258の論理または機能性もまた、新規に付加された開位置フィードバック入力352及び閉位置フィードバック入力354の入力値を使用するために変更され得る。例えば、少なくとも一実施形態では、開位置フィードバック入力352及び閉位置フィードバック入力354の値は、2ステートバルブが2ステートバルブモジュールクラス356に基づいてインスタンスを稼働させる動作中、DC1デバイス制御258の論理または機能内に供給され、この場合、入力352及び354を使用して、バルブ位置出力値262に対するより精密な制御を改良または実装するプロセスプラント10内部で動作する物理的な2ステートバルブデバイスの動作を向上または最適化させる。
【0057】
図4は、
図3からのモジュールクラスの第2のバージョンの2ステートバルブモジュールクラス356に関連付けられるように選択されたプロセス制御要素を示す、
図3の構成画面の一実施形態の図示である。
図4の実施形態では、プロセス制御要素の選択は、アップグレードされたプロセス制御要素セットに含まれるように選択されたプロセス制御要素を含む。
図4に図示されるように、アップグレードされたプロセス制御要素セット内への包含のために選択されたプロセス要素は、グラフィカルインターフェースを介して受信され得、この場合、オペレータ、例えば、エンジニアは、いずれのプロセス制御要素がそれらのプロセス制御要素を、第2のバージョンの2ステートバルブモジュールクラス356に基づく新規インスタンスでアップグレードすることを目的として、アップグレードされたプロセス制御要素セットを含むかを選択することができる。
【0058】
例えば、
図4に示されるように、アップグレードされたプロセス制御要素セットダイアログボックス402は、オペレータに対して、プロセス制御要素セット内部に含むための選択を受信するように表示される。
図4の実施形態では、アップグレードされるプロセス制御要素は、モジュールクラスの第2のバージョン(例えば、2ステートバルブモジュールクラス356)の新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれる。
【0059】
いくつかの実施形態では、選択もまた、プロセスプラント10の特定のエリアに関連し得る。例えば、
図4では、選択は、プロセスプラント10の「原料エリア」に関連する。オペレータは、原料エリア内で現在実行している様々な2ステートバルブインスタンスを選択し得、原料ユニット1(例えば、2ステートバルブデバイスに対応するモデルインスタンス、名称「XV-101」及び「XV-102」)、原料ユニット2(例えば、2ステートバルブデバイスに対応するモデルインスタンス、名称「XV-201」及び「XV-202」)、及び原料ユニット3(例えば、2ステートバルブデバイスに対応するモデルインスタンス、名称「XV-301」及び「XV-302」)内で稼働しているインスタンスを含む。現在の実施形態では、原料ユニット1エリア、原料ユニット2エリア、及び原料ユニット3エリアの各々は、プラントの異なるサブエリアまたは論理エリアを表し得、それによって、原料ユニット1~3のサブエリアまたは論理エリアが、より大きな原料エリアに対するヒエラルキーを形成し、この場合、原料ユニット1~3が原料エリア内部に存在し、特定のインスタンス(例えば、2ステートバルブXV-101、XVー10
2、XV-201等に対応する)は、原料ユニット1~3のサブエリアまたは論理エリア内に存在する。したがって、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【0060】
図4では、原料ユニット1~3のサブエリアまたは論理エリアの各々に関連付けられた2ステートバルブインスタンスのすべてが選択されて示され、本実施形態では、2ステートバルブインスタンスの各々が、第2のバージョンの2ステートバルブモジュールクラス356の新規モジュールインスタンスに関連付けられるように選択される。したがって、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。
【0061】
様々な実施形態では、プロセス制御要素セットに含まれる選択されたプロセス制御要素の新規モジュールインスタンスは、ロールアウト命令が実行されるときにインスタンス化することができる。アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得、この場合、例えば、プロセスプラントのプロセス制御要素のすべてではないがいくつかが、修正のためにプロセス制御要素セットに含まれる。
【0062】
図5は、特定の導出されたクラスに基づいて選択されたプロセス制御要素を示す、
図3の構成画面の一実施形態の図示である。
図5の実施形態では、選択されたプロセス制御要素は、第2のバージョンの2ステートバルブモジュールクラス356に基づいて新規インスタンスに関連付けられる
図5に図示されるように、オペレータは、フィルタ画面502から2ステートバルブILモジュールクラス257を選択することができ、これは、2ステートバルブモジュールクラス256から導出された、特定の導出されたクラスである。いくつかの実施形態では、プロセス制御要素の選択は、本明細書において
図4に対して説明されたように、プロセス制御要素がプロセス制御要素セットに含まれるようにされ得る。そのような実施形態では、プロセス制御要素セットは、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を含み、この場合、ロールアウト命令を実行して、2ステートバルブILモジュールクラス257、例えば、すべての25個のモジュールインスタンス257aに基づいて、それらのインスタンスを更新する。
【0063】
図6は、プロセスプラント10内のプロセス制御要素に対してロールアウトされた、2ステートバルブモジュールクラス356の新規モジュールインスタンスを示す、
図3の構成画面の一実施形態の図示である。
図6の実施形態では、ロールアウトを介して更新されたプロセス制御要素は、本明細書で説明されたような2ステートバルブモジュールクラス356によって提供される新規の向上または最適化された機能を含む新規機能性を受信する。したがって、ロールアウトの実行後、2ステートバルブモジュールクラス356は、2ステートバルブモジュールクラス356に基づく1つ以上の新規モジュールインスタンスに関連付けられ得る。新規モジュールインスタンスの各々は、プロセスプラントのプロセス制御要素、例えばフィールドデバイス、または例えばバルブ、もしくは具体的には本実施形態では2ステートバルブデバイスを含むフィールドデバイスの一部に関連付けられ得る。
【0064】
本明細書で説明されたようなロールアウト機能を使用することの利益は、モジュールクラス、例えば2ステートバルブモジュールクラス256に対する修正が、その関連するインスタンスに自動的には伝播しないことを含む。代わりに、制御エンジニアは、モジュールクラス、例えば2ステートバルブモジュールクラス256を、新規の2ステートバルブモジュールクラス356を生成するように修正し得る。重要なことに、バルブのセットが
更新の準備ができたときのみ、例えば、エンジニアまたは何らかの他のプロセス、例えば自動化プロセスによって特定されると、ロールアウトは、更新用に指定されたそれらのバルブを変更するように実行することができる。このことは、プロセスプラント10が段階的にアップグレードされることを可能にし、これは、プロセスプラント10の動作の構成、管理、及び/または制御のためのより経済的でより資源の少ない手法を提供し得る。また、このことは、エンジニアが、新規モジュールクラス及びその関連するインスタンスを、指定されていないインスタンスが影響を受けるかまたは意図せず更新されるといういかなる懸念も伴わずに、繰り返し試験することを可能にする。
【0065】
図6の制御構成ウィンドウ254は、ロールアウトの実行の結果として生成された、新規の2ステートバルブモジュールクラス356に基づく新規のモジュールインスタンスを示す。具体的には、2ステートバルブモジュールクラス356は、2ステートバルブモジュールクラス356に基づく3つの新規モジュールインスタンス356aを有する。3つの新規モジュールインスタンス356aは、新規の2ステートバルブモジュールクラス356によって定義された向上した機能性を受信するプロセスプラント内部で動作する3つのデバイスバルブに対応し得る。加えて、導出されたモジュールクラス(すなわち、2ステートバルブILモジュールクラス357)もまた図示され、ここで、2ステートバルブILモジュールクラス357は、2ステートバルブモジュールクラス356から導出された付加的なモジュールクラスであり、それは、2ステートバルブILモジュールクラス357に基づいてモジュールインスタンス、例えば2つのモジュールインスタンス357aを実行するバルブに関する付加的な機能性または情報を含み得る。付加的な機能性または情報は、例えばプロセスプラント内部のバルブの位置、バルブがプロセスプラント内部で動作に供された日付、またはバルブに関連する他の情報もしくは機能性を含むことができる。したがって、
図6の実施形態に示されるように、ロールアウトの実行後、プロセスプラントは、少なくとも2つのモジュールクラスのバージョン(例えば、2ステートバルブモジュールクラス256及び2ステートバルブモジュールクラス356)と、本明細書で説明されたように、プロセスプラント10の構成及び制御を目的としてプロセスプラント10内で稼働する関連するインスタンスとを有する。
【0066】
様々な実施形態では、新規モジュールインスタンス、例えばモジュールインスタンス356a及び357aは、例えば、
図1のワークステーション14のプロセッサのうちの1つ以上を実行する構成アプリケーション50を含む、プロセスプラントの1つ以上のプロセッサによって実行されるロールアウト命令を介して、ロールアウトされ得る。ロールアウト命令は、1つ以上のアップグレードされたプロセス制御要素を更新するためのルーチンを含み得、アップグレードされたプロセス制御要素は、モジュールクラスの第2のバージョン、例えば2ステートバルブモジュールクラス356または2ステートバルブILモジュールクラス357に基づいて、新規モジュールインスタンスに各々関連付けられる。
【0067】
また、ロールアウト命令は、1つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラスの第1のバージョン、例えば、2ステートバルブモジュールクラス256または2ステートバルブILモジュールクラス257に基づいて、以前のモジュールインスタンスに各々関連付けられたままである。
【0068】
一実施形態では、エンジニアは、本明細書で説明されたように、2ステートバルブモジュールクラス356に対する更新を含むように2ステートバルブモジュールクラス256を修正し、その後構成アプリケーション50で更新を保存し得る。次いで、エンジニアは、システムに、どのようにして更新をロールアウトするかを命令し得る。例えば、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第2のバージョンに基づいて、アップグレードされた
プロセス制御要素を、新規モジュールインスタンスと関連付ける。ルーチンは、構成画面250、例えばロールアウト変更選択600から選択され得、これは、構成アプリケーション50に、特定されたアップグレードされたプロセス制御要素を更新するためのロールアウト命令を実行させ得る。
【0069】
いくつかの実施形態では、選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップするように実装することができ、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第2のバージョン、例えば2ステートバルブモジュールクラス356または2ステートバルブILモジュールクラス357に基づいて、いかなる第2の新規モジュールインスタンスにも関連付けられない。
【0070】
いくつかの実施形態では、ロールアウト命令は、選択されると直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。例えば、エンジニアは、バルブの1つのセットに対して第1の時点で次のロールアウトをスケジュールし、他のバルブのサブセットに対して別の時点で(例えば、モジュールクラスの変更の便宜的なロールアウトを介して)スケジュールし得る。他の使用ケースは、オペレータの訓練及び/または稼働性に基づいて、例えばオペレータのシフトまたは作業スケジュールに基づいて、フェーズ化されたロールアウトとして、ロールアウトをスケジューリングすることを実施し得る。
【0071】
いくつかの実施形態では、いったんロールアウト命令が実行されると、アップグレードされたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々が、コントローラ12または12aにダウンロードされ、プロセスプラントの少なくとも一部を制御するためにともに使用され得る。そのような実施形態では、プロセスプラントは、異なるバージョン、例えば、同時を含む同じモジュールクラス(例えば、2ステートバルブモジュールクラス256及び2ステートバルブモジュールクラス356)の第1のバージョン及び第2のバージョンによって制御される。
【0072】
またさらなる実施形態では、モジュール構成記録は、例えば構成アプリケーション50を介して、モジュールインスタンス、例えばプロセスプラント内で現在稼働しているモジュールインスタンス256a、257a、356a及び/または357aを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、モジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。例えば、システムの観点から、いくつかの実施形態では、エンジニアがモジュールクラスに対する更新を保存するとき、更新されたモジュールクラスのロールアウトは、自動ステップの代わりに手動ステップになる。そのような実施形態では、ロールアウトされるモジュールクラスは、フェーズ化されたロールアウトステージにあるとしてフラグを立てられ、同じモジュールクラスの2つのライブバージョン、例えば以前の2ステートバルブモジュールクラス256に基づくモジュールインスタンスのバージョンと、新規の2ステートバルブモジュールクラス356に基づくモジュールインスタンスのバージョンとを有する。
【0073】
図7は、モジュールクラスの第2のバージョンに基づく新規モジュールインスタンス(例えば、2ステートバルブモジュールクラス256)及びモジュールクラスの第1のバージョンに基づく以前のモジュールインスタンス(例えば、2ステートバルブモジュールクラス356)に対する構成変更を適用する付加的なロールアウト命令を示す、
図3の構成画面の一実施形態の図示である。例えば、
図7の実施形態を使用して、モジュールクラスの複数のバージョンにわたって(例えば、2ステートバルブモジュールクラスの両方のバ
ージョンにわたって)簡易補修を行い得、この場合、モジュールクラスの各バージョンは、簡易補修を実施する構成変更を受信する。
【0074】
具体的には、様々な実施形態では、付加的なロールアウト命令は、1つ以上のプロセッサ、例えば
図1のワークステーション14のプロセッサのうちの1つ以上によって実行され得る。付加的なロールアウト命令は、モジュールクラスの第2のバージョンに基づく新規モジュールインスタンス(例えば、モジュールインスタンス356a及び/または357a)及びモジュールクラスの第1のバージョンに基づく以前のモジュールインスタンス(例えば、モジュールインスタンス256a及び/または257a)各々に対して構成変更を適用し得る。構成変更は、モジュールクラスの第2のバージョン(例えば、2ステートバルブモジュールクラス356)及びモジュールクラスの第1のバージョン(例えば、2ステートバルブモジュールクラス256)の各々に対して適用される、例えば全体としてモジュールクラスに対するパッチまたは簡易補修を適用するための付加的な修正を含むことができる。例えば、一実施形態では、補修は、稼働しているインスタンスに適用されてもよい。他の実施形態では、モジュールクラスは、既存のモジュールインスタンス、例えばモジュールインスタンス356aならびに/もしくは357a、及び/またはモジュールインスタンス256aならびに/もしくは257aにとって代わるインスタンス化された更新済みの新規のインスタンスであってもよい。
【0075】
図7の実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラス、及びそれらの関連するインスタンス、ひいてはバルブの機能性を向上させるために、モジュールクラスの第2のバージョン(2ステートバルブモジュールクラス356)及びモジュールクラスの第1のバージョン(2ステートバルブモジュールクラス256)の両方に対し、計算機能700を付加することを含む。
【0076】
図8は、付加的なロールアウト命令を実行するためのロールアウト確認画面800を示す、
図7の構成画面の一実施形態の図示である。例えば、ロールアウト確認画面800は、エンジニアがロールアウト変更選択600を選択した後に開始され得、ここで、ロールアウト確認画面800は、
図7に対して説明されたように、エンジニアがモジュールインスタンスに対する簡易補修変更をロールアウトすることを望むかどうかを確認する。
【0077】
図9は、プロセスプラント10の特定のタイプのプロセス制御要素に関連付けられたモジュールインスタンスを示す構成画面の一実施形態の図示である。
図9の実施形態では、特定のタイプのプロセス制御要素は、XC-224フィールドデバイスであり、これは1つのタイプのバルブである。
図9は、XC-224デバイスの観点からの、フェーズ化されたロールアウトのステートを図示する。フェーズ化されたロールアウトは、XC-224デバイス表示ビュー上で、XC-224デバイスウィンドウ952の右手下側及びウィンドウヘディング972の中に示される。
【0078】
XC-224デバイスは、制御構成ウィンドウ954内に特定される。また、XC-224デバイスは、制御エクスプローラウィンドウ953内に、階層状に特定される。具体的には、制御エクスプローラウィンドウ953は、XC-224デバイスを含む様々なプロセス制御要素を、プロセスプラント内部でのプロセス制御要素の物理的な場所またはエリアに従って階層状に配置する。例えば、制御エクスプローラウィンドウ953によって示されるように、XC-224デバイスは、原料ヒータ要素の底タワーに位置し、ここで、原料ヒータ要素は、原料ユニット1の場所、エリアまたは論理エリアに位置するかまたはその一部であり、さらに原料ユニット1は、プロセスプラント10内部のKronosと名付けられた現場に位置するより大きな原料エリアの一部である。
【0079】
構成ウィンドウ954は、XC-224デバイスに対する制御情報及びオプションを表
示し、タイトル、説明、プロセスタイプ、コントローラ割り当て、及びXC-224デバイスのランタイムを修正するためのオプションを含む。
【0080】
また、構成ウィンドウ954は、関連するXC-224モジュールクラスに基づいてインスタンス化されたモジュールインスタンスを表示する。
図9の実施形態では、2つのバージョンのXC-224モジュールクラス(モジュールクラス956及び957)があり、これらは、本明細書で説明されたような2つのバージョンの2ステートバルブモジュールクラス(すなわち、2ステートバルブモジュールクラス256及び2ステートバルブモジュールクラス356)と同様である。したがって、2ステートバルブモジュールクラスに関する開示は、本明細書においては、XC-224モジュールクラスに関しても等しく適用される。例えば、構成画面950は、本明細書で説明された構成画面250に対応し、構成画面950は、具体的にはXC-224モジュールクラスに関連する。付加的な例として、XC-224デバイスウィンドウ952によって図示されるように、XC-224モジュールクラスは、本明細書で説明された2ステートバルブモジュールクラス256及び2ステートバルブモジュールクラス356のDC1デバイス制御258に対応するDC1デバイス制御958を含む。さらには、XC-224モジュールクラスは、本明細書で説明された2ステートバルブモジュールクラス256及び2ステートバルブモジュールクラス356のバルブ位置出力262に対応するバルブ位置出力962を含む。同様に、XC-224モジュールクラスは、本明細書で説明された2ステートバルブモジュールクラス356のための計算機能700に対応する計算機能959を含む。
【0081】
XC-224モジュールクラス956は、XC-224モジュールクラスのより容易な第1のバージョンを表現する。XC-224モジュールクラス956は、プロセスプラント内で現在稼働しているXC-224デバイスに対応する1つ以上のモジュールインスタンス956aに関連付けられる。同様に、XC-224モジュールクラス957は、XC-224モジュールクラスの修正された第2のバージョンである。XC-224モジュールクラス957は、3つのモジュールインスタンス957aに関連付けられ、これらは各々、プロセスプラント10内で現在稼働している、新規に設置されたXC-224デバイスに対応し得る。
【0082】
いくつかの実施形態では、構成アプリケーション50及び/またはコントローラ12は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。例えば、構成記録は、「フェーズ化されたロールアウトが進行中(Phased Rollout Is In Progress)」によって更新が現在は許可されていないことを示すように、ウィンドウヘディング972によって図示された情報を含んでもよい。いくつかの実施形態では、モジュールクラスの更新を防止するための選択肢は、選択可能なオプションであってもよく、例えばこの場合、
図9に示されるように、エンジニアは、インスタンスがモジュール構造を変更することを防止するための選択可能なオプション970を選択することができる。したがって、選択可能オプション970を使用して、モジュールクラスがフェーズ化されたロールアウトの中間地点にあるとき、インスタンスがモジュール構造を変更することを防止し、クラスに対する変更のタイミング及び/または制限を制御することができる。
【0083】
図10は、プロセスプラント10を構成するためのモジュールクラスの制御されたロールアウトのための方法1000の一実施形態を例解する。方法1000は、ブロック1004において開始し(1002)、ここで、1つ以上のプロセッサ(例えば、
図1のワークステーション14のうちの1つ以上で実行する1つ以上のプロセッサ)は、モジュールクラス(例えば、2ステートバルブモジュールクラス256)の第1のバージョンに基づいて、モジュールクラス(例えば、2ステートバルブモジュールクラス356)の第2の
バージョンを生成する。いくつかの実施形態では、モジュールクラスは、本明細書で説明された導出されたモジュールクラス(例えば、2ステートバルブILモジュールクラス257または2ステートバルブILモジュールクラス357)であり得る。モジュールクラスは、1つ以上のモジュールインスタンスに関連付けられ得、モジュールインスタンスは、本明細書で説明されたように、例えばバルブ等のフィールドデバイスを含む、プロセスプラントのプロセス制御要素に各々関連付けられ得る。モジュールクラスの第2のバージョンは、プロセスプラントの変更されたプロセス制御要素に対応し得、例えば、1つのプロセス制御要素が別のプロセス制御要素と置き換えられるハードウェア変更を含む。いくつかの実施形態では、モジュールクラスの第1のバージョンに対する修正は、モジュールクラスに1つ以上の入力(例えば、フィードバック入力)を付加することを含むことができ、この場合、1つ以上の入力は、アップグレードされたプロセス制御要素の少なくとも部分的な制御を容易にするためにアクセスされ得る。
【0084】
ブロック1006において、ロールアウト命令が1つ以上のプロセッサによって実行され、1つ以上のアップグレードされたプロセス制御要素を更新する。ロールアウト命令は、アップグレードされたプロセス制御要素の各々を、モジュールクラス(例えば、2ステートバルブモジュールクラス356)の第2のバージョンに基づいて新規モジュールインスタンスに関連付けさせる。また、ロールアウト命令は、1つ以上のアップグレードされていないプロセス制御要素を無視するように、例えばスキップするように実装され得、アップグレードされていないプロセス制御要素は、モジュールクラス(例えば、2ステートバルブモジュールクラス256)の第1のバージョンに基づいて、以前のモジュールインスタンスに各々関連付けられたままである。
【0085】
いくつかの実施形態では、ロールアウト命令は、選択的アップグレードルーチンを介して実装され得、選択的アップグレードルーチンは、モジュールクラスの第2のバージョンに基づいて、アップグレードされたプロセス制御要素を、新規モジュールインスタンスと関連付ける。選択的アップグレードルーチンは、アップグレードされていないプロセス制御要素を単に無視またはスキップし、それによって、アップグレードされていないプロセス制御要素は、モジュールクラスの第2のバージョンに基づいて、いかなる第2の新規モジュールインスタンスにも関連付けられない。
【0086】
本明細書で説明されたように、いくつかの実施形態では、ロールアウト命令は、直ちに実行され得る。他の実施形態では、ロールアウト命令は、スケジュールされた時間で実行され得る。
【0087】
ブロック1008では、いったんロールアウト命令が実行されると、アップグレードされたプロセス制御要素及びアップグレードされていないプロセス制御要素の各々をともに使用して、プロセスプラント10の少なくとも一部を制御し得る。そのような実施形態では、プロセスプラント10は、同じモジュールクラスの異なるバージョン、例えば第1のバージョン及び第2のバージョンによって制御される。
【0088】
モジュールベースシステム及び方法は、モジュール構成記録を介して、1つ以上のモジュールインスタンスを追跡するように構成され得る。いくつかの実施形態では、モジュール構成記録は、1つ以上のモジュールインスタンスの各々に対するモジュールクラスのバージョンを示すことができる。また、モジュール構成記録は、モジュールクラスがフェーズ化されたロールアウトステートを有することを示し得る。
【0089】
いくつかの実施形態では、モジュールベースシステム及び方法は、モジュール構成記録が、モジュールクラスがフェーズ化されたロールアウトステートを有することを示すとき、モジュールクラスの付加的なアップグレードを防止するようにさらに構成され得る。
【0090】
またさらなる実施形態では、アップグレードされたプロセス制御要素は、モジュールクラスの第2のバージョン(例えば、2ステートバルブモジュールクラス356)の新規モジュールインスタンスに関連付けられる各プロセス制御要素を定義する、アップグレードされたプロセス制御要素セットに含まれ得る。アップグレードされたプロセス制御要素セットは、ロールアウト命令が実行されるときに作成することができる。いくつかの実施形態では、アップグレードされたプロセス制御要素セットは、プロセスプラントのすべてのプロセス制御要素のサブセットであり得る。
【0091】
アップグレードされたプロセス制御要素セットに含むためのプロセス制御要素の選択は、モジュールベースシステム及び方法によって受信され得、このシステム及び方法は、例えばオペレータがいずれのプロセス制御要素をアップグレードされたプロセス制御要素セットに含むかを選択することができるグラフィカルインターフェースを介することを含む。
【0092】
例えば、いくつかの実施形態では、アップグレードされたプロセス制御要素セットの選択は、特定の導出されたモジュールクラスに関連付けられたプロセス制御要素を選択することを含み得る。他の実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの特定のヒエラルキーに関連付けられたプロセス制御要素を選択することを含み得る。またさらなる実施形態では、アップグレードされたプロセス制御要素セットの選択は、プロセスプラントの物理エリアに関連付けられたプロセス制御要素を選択することを含み得る。
【0093】
様々な実施形態では、モジュールクラスの第2のバージョンに基づく新規モジュールインスタンス(例えば、2ステートバルブモジュールクラス356)及びモジュールクラスの第1のバージョンに基づく以前のモジュールインスタンス(例えば、2ステートバルブモジュールクラス256)の各々に対する構成変更を適用する付加的なロールアウト命令を実行し得る。構成変更は、モジュールクラスの第2のバージョン及びモジュールクラスの第1のバージョンの各々に対して適用される付加的な修正を含むことができる。例えば、一実施形態では、付加的な修正は、両方のバージョンにわたってモジュールクラスの機能性を向上させるために、モジュールクラスの第2のバージョン及びモジュールクラスの前記第1のバージョンの各々に、計算機能を付加することができる。
【0094】
付加的な考察
実装されるとき、本明細書で説明されたソフトウェアのいずれかは、例えば磁気ディスク、レーザディスク、または他の記憶媒体上の任意のコンピュータ可読メモリに、コンピュータまたはプロセッサのRAMまたはROM等に記憶され得る。同様に、このソフトウェアは、ユーザ、プロセスプラントまたはオペレータワークステーションに、例えばコンピュータ可読ディスクもしくは他の可搬式コンピュータ記憶機構を含む任意の既知または所望の配信方法を使用して、または、例えば電話線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークもしくは広域ネットワーク等の通信チャネルを経由して配信され得る(この配信は、可搬式記憶媒体を介してそのようなソフトウェアを提供することと同じかまたは互換性があると見なされる)。さらに、このソフトウェアは、変調または暗号化なしに直接提供されてもよく、または通信チャネルを経由して送信される前に、任意の好適な変調搬送波及び/または暗号化技術を使用して変調及び/または暗号化されてもよい。
【0095】
本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨及び範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らか
であろう。
【0096】
本出願の最後の特許請求の範囲は、従来のミーンズプラスファンクションの言い回しが明らかに列記されていない限り、例えば、請求項中に「のための手段(means for)」または「のためのステップ(step for)」等の言い回しが明らかに列記されていない限り、35U.S.C.§112(f)のもとに解釈されることは意図されていない。本明細書で説明されたシステム及び方法は、コンピュータの機能性の改善に向けられ、従来のコンピュータの機能を改善する。