多くの場合、プロセス工場には、類似した機能且つ又は処理を行う多くの台数且つ又は集合からなる繰り返された設備且つ又はプロセスエンティティが含まれている。繰り返された設備の全体において共通の且つ又は共有されるフェーズクラス、アルゴリズム、設定、制御且つ又は表示ルーチンなどを再利用することにより、プロセス工場の設定且つ又は稼動を効率化することが容易になる。繰り返された設備が変形且つ又は修正を含んでいても、共通の且つ又は共有されるフェーズクラス、アルゴリズム、設定、制御且つ又は表示ルーチンがなお利用可能な場合もある。例えば、二つ以上のバルブを備える第1のプロセスエンティティを、バルブの一つが意図的に不存在とされている箇所において、第2のプロセスエンティティとして繰り返して使用する(流用する)ことが可能である。しかしながら、第1および第2のプロセスエンティティは、共通の構造を共有するので、ほぼ類似したルーチンを使用して制御されうる。特に、共有のルーチンが意図的に不存在とされている設備を認識している(且つ又は識別する能力を有する)場合、該共有のルーチンは、設備が不存在であってもエラーなく実行できる。プロセスエンティティを設定、記述、且つ又は指定するための、そしてシステム設定エンジニアが不存在状態の設備を識別できるようにする、方法およびクラスオブジェクトにつき以下説明する。上述の如く、このようなクラスオブジェクトは、特定の1台の設備を示すようにインスタンスが作成された場合に、設備の一部分を「不存在状態」として表現且つ又は識別するように設定できる。従って、クラスオブジェクトの制御ルーチンがプロセス工場の稼動時に特定の設備を制御するためにコントローラにより実行されると、該コントローラは、該一部分が不存在状態かどうかを識別でき、そして不存在状態の場合は、不存在状態の部分に関連した不必要な且つ又は無意味なアラームを除外するように作動できる。
図1はある実施例におけるプロセス工場10の一例を示す概略図である。図1の実施例におけるプロセス工場10はあらゆる種々様々なプロセスコントローラを含んでいる。図1においては、該種々様々なプロセスコントローラのうち3個が、12A、12Bおよび12Cの参照番号で示されている。図1の実施例におけるプロセスコントローラ12A-Cは、様々な通信路(複数可)、バス(複数可)且つ又はネットワーク15(複数可)(例えばイーサネット(登録商標)ベースのローカルエリアネットワーク(LAN)など)などを介して、あらゆる種々様々なワークステーションに通信可能に連結される。該ワークステーションのうち三つが図1において14A、14Bおよび14Cの参照番号で示されている。
実施例のプロセス工場10の少なくとも一部分を制御するために、図1の実施例におけるコントローラ12Aは、一般に普及しているFieldbusプロトコルに従って実施、構築且つ又は運用される(例えば)通信バス18などのあらゆる種々様々な通信線またはバス18且つ又はその組み合わせを介して、実施例のプロセス工場10内のあらゆる種々様々な装置(複数可)且つ又は設備(複数可)に通信可能に連結される。図1には図示されていないが、通常の技術を有する当業者にとっては、実施例のプロセスコントローラ12Bおよび12Cは同様に、実施例のプロセス工場10の同じ、代替の、且つ又は追加された設備且つ又は装置に通信可能に連結されることが一目瞭然のはずである。
図1の実施例におけるプロセスコントローラ12A、12Bおよび12Cは、実施例のプロセス工場10の全体にわたって分散しているフィールド装置且つ又はフィールド装置内の機能ブロックなどの制御要素と通信することができ、それによってめいめいに関連したプロセス制御ルーチン19A、19Bおよび19Cの一つ又は複数を実行且つ又は遂行してプロセス工場10の所望の制御構成且つ又はプロセスを実施する。実施例のプロセス工場のいくつかにおいて、コントローラ12A-Cは、Emerson Process Management社の一つであるFisher-Rosemount Systems, Inc.社により販売されるDeltaVTMコントローラである。
図1の実施例において、プロセス制御ルーチン19A-Cは、本明細書において「機能ブロック」と呼ばれるものを含んでいる。本明細書において使用されるように、機能ブロックは、実施例のプロセス工場10内のプロセス制御ループを実施するのに使用される(場合によっては、通信リンクを介してその他の機能ブロックと共に作動する)総括制御ルーチンの全て又は何らかの一部分である。いくつかの実施例において、機能ブロックは、(a) トランスミッタ、センサ且つ又はその他の工程パラメータ計測装置に関連した入力機能、(b) PIDやファジィ論理などの制御を行う制御ルーチンに関連した制御機能、且つ又は(c) プロセス工場10内の何らかの物理的機能を行うために何らかの装置(バルブなど)の動作を制御する出力機能を行うオブジェクト指向プログラミングプロトコルのオブジェクトである。もちろん、ハイブリッド且つ又はその他のタイプの複雑な機能ブロックも、例えば、モデル予測制御素子(MPC)やオプティマイザなどとして存在する。Fieldbusプロトコル且つ又はDeltaVシステム・プロトコルがオブジェクト指向プログラミングプロトコルを介して設計且つ又は実施される機能ブロック且つ又は制御モジュール19A-Cを使用する一方、図1の実施例の制御モジュール19A-Cは、逐次機能ブロック、ラダー論理などを含む様々な制御プログラミング機構を使用して設計することができ、機能ブロック且つ又は特定のプログラミング手法且つ又は言語を使用した設計に限定されない。
実施例のプロセス制御ルーチン19A-Cを格納するために、図1の実施例におけるプロセスコントローラ12A-Cの各々は、あらゆる種々様々なデータ記憶機構20を含んでいる。プロセス制御ルーチン19A-Cの格納に加えて、図1の実施例のデータ記憶機構20を使用し、実施例のプロセス工場10のワークステーション14A-C且つ又は制御要素との通信を図るために使用される付加的且つ又は代替的な制御且つ又は通信アプリケーションのいずれかを格納しうる。実施例のデータ記憶機構20は、あらゆる種々様々な揮発性の(例えば、ランダムアクセス記憶装置(RAM))且つ又は不揮発性の(例えば、FLASH、読み取り専用メモリ(ROM)且つ又はハードディスク・ドライブ)データ記憶素子(複数可)、装置(複数可)且つ又はユニット(複数可)を含んでいる。
プロセス制御ルーチン19A-C且つ又は機能ブロックを実行且つ又は遂行するために、図1の実施例のプロセスコントローラ12A-Cの各々は、様々なプロセッサ21のいずれかを含んでいる。図1の実施例のプロセッサ21は、様々な指示の中でも特に機械にアクセス可能な指示を実行できるものであれば、プロセッサコア、プロセッサ且つ又はマイクロコントローラなどのいかなるタイプの処理装置であってもよい。
実施例のワークステーション14A-Cは、あらゆる種々様々なパーソナルコンピュータ且つ又はコンピューター・ワークステーションを含んでいる。図1の実施例のワークステーション14A-Cは、例えば、一人又は複数のシステム設定エンジニアによって、実施例のコントローラ12A-Cにより実行されることになっている実施例のプロセス制御ルーチン19A-Cを設計且つ又は設定するために使用されうる。それに加えて、又はその代わりとして、図中の実施例のワークステーション14A-Cは、ワークステーション14A-C且つ又はその他のコンピューターにより実行される表示ルーチンを設計且つ又は設定するのに使用されうる。さらに、実施例のワークステーション14A-Cは、それに加えて、又はその代わりとして、コントローラ12A-Cと通信し、プロセス制御ルーチン19A-Cをコントローラ12A-Cに対して提供且つ又はダウンロードできる。なおまた、実施例のワークステーション14A-Cは、それに加えて、又はその代わりとして、実施例のプロセス工場10に関する情報、プロセス工場10の稼動中の要素且つ又は下位要素を受信且つ又は表示する表示ルーチンを実行できる。
設定設計用アプリケーション、表示(display)且つ又は表示(viewing)用アプリケーションなどのアプリケーションを格納するために、且つ又は実施例のプロセス工場10の設定に関する設定データなどのデータを格納するために、図1の実施例のワークステーション14A-Cの各々は、あらゆる種々様々な記憶機構又はメモリ22を含んでいる。図1の実施例の記憶機構22は、あらゆる種々様々な揮発性の(例えば、RAM)且つ又は不揮発性の(例えば、FLASH、ROM、且つ又はハードディスク・ドライブ)データ記憶素子(複数可)、装置(複数可)且つ又はユニット(複数可)でありうる。
例えば、システム設定エンジニアがプロセス制御ルーチン且つ又はその他のルーチンを設計できるようにアプリケーションを実行するために、且つ又は実施例のコントローラ12A-C且つ又はその他のコンピューターにこれらのプロセス制御ルーチンをダウンロードするために、且つ又はプロセス工場10の稼動中に情報をユーザのために、収集且つ又は表示するために、図1の実施例のワークステーション14A-Cの各々が様々なプロセッサ23のいずれかを含んでいる。図1の実施例のプロセッサ23は、様々な指示の中でも特に図15且つ又は図16の実施例の方法を実施する機械にアクセス可能な指示を実行できるものであれば、プロセッサコア、プロセッサ且つ又はマイクロコントローラなどのいかなるタイプの処理装置であってもよい。
図1の実施例のワークステーション14A-Cは、プロセス制御ルーチン19A-C内の制御要素を示すあらゆる種々様々な表示画面24を介して、且つ又はこれらの制御要素がプロセス工場10の制御を提供するように設定されるような様態で、実施例のコントローラ12A-Cに関連したプロセス制御ルーチン19A-Cのグラフィック表示の描写をユーザに提供できる。図1の実施例のシステムは、プロセスコントローラ12A-C且つ又はワークステーション14A-Cにより使用される設定データを格納するために、設定データベース25を含んでいる。図1の実施例の設定データベース25は、実施例のイーサネット(登録商標)ベースのLAN 15を介して、コントローラ12A-Cおよびワークステーション14A-Cに通信可能に連結される。図1の実施例の設定データベース25はまた、後で使用できるように且つ又は再度呼び出せるようにプロセス工場10により且つ又はそれの内部で生成されたデータを収集且つ又は格納することにより、データヒストリアンとして機能する。
図1に示される実施例において、プロセスコントローラ12Aは、ここにおいて反応装置_01、反応装置_02および反応装置_03として参照される同じ構成を有する三つの反応装置(つまり繰り返された設備)に対して、実施例のバス18を介して通信可能に連結される。各反応装置への水流を制御するための主制御を提供するために、図1の実施例のプロセス工場10には、実施例の反応装置(反応装置_01、反応装置_02および反応装置_03)の各々の水道管上流に接続される共有の配水弁機構110が含まれる。
図1の実施例の反応装置_01は、あらゆる種々様々な反応器槽又はタンク100と、酸とアルカリおよび水をめいめい反応器槽100へと提供する流体流入配管を制御するために接続された三つの入力弁機構(つまり三台の設備)101、102および103と、反応器槽100から流出する流体の流れを制御するために接続された出口弁システム104とを含んでいる。(レベルセンサ、温度センサ、圧力センサなどのいかなる所望のタイプのセンサであってもよい)センサ105は、実施例の反応器槽100内に且つ又はそれの付近に配置される。図1に示される実施例において、センサ105はレベルセンサである。
同様に、図1の実施例の反応装置_02は、反応器槽200、三つの入力弁機構201、202および203、出口弁システム204およびレベルセンサ205を含んでいる。同様に、図1の実施例の反応装置_03は、反応器槽300、三つの入力弁機構301、302および303、出口弁システム304およびレベルセンサ305を含んでいる。
通常の技術を有する当業者ならば、実施例のプロセス工場10且つ又は、より具体的には実施例の反応装置(反応装置_01、反応装置_02且つ又は反応装置_03)は、あらゆる種々様々な生成物を生産且つ又は出力するのに使用されうることは容易に理解できるはずである。例えば、実施例の入力弁機構101、201および301が酸を、また実施例の入力弁機構102、202および302がアルカリを、そして実施例の入力弁機構103、203および303が該共有配水マニホルド110と協働して水を、反応器槽100、200および300に提供することにより、反応装置反応装置_01および反応装置_02且つ又は反応装置_03で塩を生産できる。出口弁システム104、204および304は、図1の反応装置(反応装置_01、反応装置_02且つ又は反応装置_03)のそれぞれの右側に向けられた流路から外へと製品を送り出すように、且つ又は、図1の底部に向けられた流路から外へと廃棄物又はその他の不用資材を排出するように、作動しうる。
図1の実施例のプロセス工場10において、実施例のコントローラ12Aは、バス18を介してセンサ105、205および305、および弁機構101、102、104、110、201、202、204、301、302および304に通信可能に連結され、実施例の反応装置(反応装置_01、反応装置_02および反応装置_03)に関する一つ又は複数の処理作業を行うためにこれらの要素の動作を制御する。このような動作は、当該産業分野において一般に「フェーズ」と呼ばれ、例えば、実施例の反応器槽100、200、300の充填、反応器槽100、200、300内における材料の加熱、反応器槽100、200、300内部の排出、反応器槽100、200、300の洗浄などを含みうる。
図1に実施例のバルブ、センサ、およびその他の設備101、102、104、105、201、202、204、205、301、302、304および305は、Fieldbus装置、標準4-20ミリアンペア装置且つ又はHART装置を含む(但しこれに限定されるものではない)あらゆる種々様々な設備でありえ、且つ、Fieldbusプロトコル、HARTプロトコル、且つ又は4-20ミリアンペアのアナログ・プロトコルを含む(がこれに限定されるものではない)様々な通信プロトコル(複数可)且つ又は技術(複数可)などを使用して実施例のコントローラ12Aと通信しうる。それに加えて、又はその代わりとして、その他のタイプの装置もまた、ここに記載される原則に従ってコントローラ12A-Cにより制御且つ又はそれに連結されうる。
一般的に、図1の実施例のプロセス工場10は、バッチプロセスを実施するのに使用されうる。該バッチプロセスにおいては、例えば、実施例のワークステーション14A-C且つ又は実施例のコントローラ12Aのうちの一つが、特定タイプの塩などの生成物を生産するために要される一連の異なるステップ且つ又は動作(つまりフェーズ)を行うために、反応装置(反応装置_01、反応装置_02、反応装置_03)の一つ又は複数並びにその他の設備の動作を指示する高レベルな制御ルーチンであるバッチ・エクゼクティブルーチンを実行する。該異なるフェーズを実施するために、バッチ・エクゼクティブルーチンは、実施すべきステップ、該ステップに関連した分量且つ又は時間、且つ又はステップの順序を指定する一般に「レシピ」と呼ばれるものを使用する。一つのレシピに含まれるステップとしては、例えば、反応器槽を適切な材料且つ又は成分で充填する段階、反応器槽内の材料を混合する段階、反応器槽内の材料を特定の時間で特定の温度まで加熱する段階、反応器槽を空にする段階、且つ又はそれに続く次のバッチ運転の準備をするために反応器槽を洗浄する段階が含まれうる。各ステップは、バッチ運転のフェーズを定義し、また、図1の実施例のコントローラ12A内のバッチ・エクゼクティブルーチンは、これらフェーズの各々について、(可能性として)異なる制御アルゴリズムを実行しうる。もちろん、特定の材料、材料の量、加熱温度、時間などは、レシピごとに異なることもあり、それゆえ、これらのパラメータもまた製造且つ又は生産されている生成物によって、且つ又は使用されているレシピによって、バッチ運転ごとに異なりうる。ここにおいて制御ルーチン且つ又は構成が図1に図示された実施例の反応装置のバッチ運転用として記載されているが、通常の技術を有する当業者であれば、代替的且つ又は付加的な所望のバッチプロセスのいかなるものを実行するためにであっても、且つ又は連続プロセス稼動を実施するためにであっても、望ましい場合は、代替的且つ又は付加的な装置のいかなるものを制御するためにも制御ルーチンを使用しうることが容易に理解できるはずである。
また当然のことながら、あるバッチプロセスの同じフェーズ且つ又はステップを、図1の異なる反応装置(反応装置_01、反応装置_02、反応装置_03)のそれぞれで、同時に、一部ずらして、且つ又は異なる時間に、実行できる。さらに、実施例の反応装置(反応装置_01、反応装置_02、反応装置_03)は一般的に同数の且つ又は同タイプの設備を含んでいるので、特定のフェーズ用の同じ標準的なフェーズ制御ルーチンは異なる反応装置のそれぞれを制御するのに使用されうる。しかしながら、異なる反応装置に関連した特定のハードウェア且つ又は設備を制御するためにこの標準的なフェーズ制御ルーチンを改造しなければならない場合がある。例えば、実施例の充填制御ルーチン19Aは、反応装置_01の充填フェーズ(実施例のタンク100を充填するフェーズ)を実施するために、入力弁機構101、102および103の一つ又は複数のバルブを、所定の時間(例えば、実施例の容器槽100が満杯になったことが実施例のレベルメータ105に検知されるまで)開くことになる。しかしながら、この同じ制御ルーチン19Aは、単に指定する入力バルブを弁機構101、102および103の代わりに弁機構201、202および203のものへと変更し、指定するレベルメータをレベルメータ105の代わりにレベルメータ205に変更することにより反応装置_02の充填フェーズを実施する際にも使用されうる。
図5を参照して下記されるように、制御ルーチン且つ又はモジュール・クラスオブジェクトは、プロセス工場内のあらゆる設備を象徴且つ又は包含するように構築且つ又は利用されうる。実施例のモジュール・クラスオブジェクトは実施例のバルブ101、102、201、202、301、302を象徴する。一方、別の実施例のモジュール・クラスオブジェクトは反応装置(反応装置_01、反応装置_02および反応装置_03)を象徴する。後述されるように、このようなオブジェクトは、その多寡を問わず同様に構成された(例えば、繰り返された)設備について制御ルーチン19A-Cの再利用を容易にする。しかしながら、いくつかの実施例において、同じ様に繰り返された設備は、該設備のなんらかの特定部分、下位要素、且つ又は装置が意図的に不存在とされうるという点で異なりうる。図8-16を参照して後述されるように、このような意図的に不存在とされている部分、下位要素、装置且つ又は設備は、例えば、システム設定エンジニアにより「不存在」として識別しうるため、その後、プロセス制御ルーチン19A-Cの実行中に実施例のプロセスコントローラ12A-Cにより無視することが可能になる。従って、プロセス制御ルーチン19A-Cは、たとえ設備の特定のインスタンスにおいて欠落している部分や下位要素且つ又は装置がある場合でも、それらの繰り返された設備(変形された設備)において再使用且つ又は利用しうる。
通常の技術を有する当業者であれば、プロセス工場内にあるどのような設備についてもプロセス工場内の装置において欠落している要素をこのように識別できることが容易に理解できるはずである。実施例において、反応装置_02は、バルブ202を意図的に不存在としているので処理ルーチン19A-Cにより無視されるという点を除いては、実施例の反応装置_01に類似しうる。図2および3を参照して後述される別の実施例において、実施例のバルブ101、102、103、201、202、203、301、302および303は、微調整バルブと粗調整バルブを含んでいる。しかしながら、実施例のプロセス工場内では、バルブ101、102、201、202、301、302且つ又は110のいくつかのインスタンスは、例えば、微調整バルブを含んでいない場合もある。プロセス工場を設定する際に、微調整バルブを「不存在」として容易に識別できるようにすれば、共通の制御機構手順19A-Cを利用して、バルブ101、102、201、202、301、302且つ又は110を(めいめいにおいて微調整バルブが存在するかどうかに関係なく)制御できる。
実施例のプロセス工場10が図1に示されている一方、図1に示されるコントローラ12A-C、ワークステーション14A-C、バス15および18、並びに制御装置などは、様々な方法によって分割、連結、再配置、除外、且つ又は実施されうる。さらに、実施例のプロセス工場10は、図1に示されるもの以外にも、あらゆる種々様々な付加的且つ又は代替的なコントローラ、ワークステーション、バス、制御装置を含みえ、且つ又は、図1に示される数よりも多い数のコントローラ、ワークステーション、バス、制御装置を含みうる。例えば、プロセス工場が含んでいるコントローラ且つ又はワークステーションの数はいくつであってもよい。
さらに、プロセス工場は、図1に図示される実施例の反応装置に加えて且つ又はそれの代わりとして種々様々なプロセスエンティティを含みうる。さらになお、プロセス工場は種々様々な処理工程を使用して、種々様々な生成物を生産しうる。従って、通常の技術を有する当業者にとっては、図1の実施例のプロセス工場10は単に本発明の一態様にすぎないことは一目瞭然のはずである。さらにまた、プロセス工場は、例えば、特定の地理的場所内の且つ又はその付近の一つ又は複数の建築物などの一つ又は複数の地理的な場所を含む且つ又は包含しうる。また、図1の実施例のプロセス工場10が設備の不存在を設定するための実施例の方法およびモジュール・クラスオブジェクトを説明するために採用されうるが、通常の技術を有する当業者ならば、ここに開示される方法およびオブジェクトは種々様々なプロセス工場において設備の不存在を設定するために使用しうることが容易に理解できるはずである。
一般に、反応装置は、一つ又は複数のプロセス・ステップを使用して、一つ又は複数の成分を組み合わせることにより、出力生成物を生成する。実施例の反応装置は、種々様々なバルブ(複数可)、タンク(複数可)且つ又はセンサ(複数可)を使用して構築且つ又は実施されうる。図2は、実施例の反応装置(図1の反応装置_01、反応装置_02、反応装置_03)を実施する実施例としての方法を示す。実施例の反応装置(反応装置_01、反応装置_02、反応装置_03)はいずれも図2により表現できるが、説明を簡易化する目的で図2の装置を反応装置_01と呼ぶ。図1を参照して上記されるように、一般に図2の実施例の反応装置_01は、実施例の反応タンク100と、タンク100に酸とアルカリと水を投入するための実施例の入力バルブ・システム101、102、103、110と、タンク100から原料を取り除くための実施例の出口弁システム104と、実施例のレベルセンサ105とを含んでいる。より詳しく説明すると、図2の実施例の入力弁機構101、102および110の各々は、ここにおいて「トータライザ」として参照される類似した設備エンティティ(つまり、繰り返された設備)を使用する。該設備エンティティは、図2に示される如く相互並列に配置された二つのバルブおよび二つのバルブの下流に設置された流量計測装置を含んでいる。
流量の粗調整制御を行なうために、実施例のトータライザ101は粗調整バルブ101Aを含んでいる。実施例の粗調整バルブ101Aはオン/オフ・タイプのバルブであればどのようなものでもよい。流量の微調整制御を行なうために、実施例のトータライザ101は微調整バルブ101Bを含んでいる。実施例の微調整バルブ101Bはオン/オフ・タイプのバルブであればどのようなものでもよい。微調整バルブ101Bを通る最大達成可能流量は、粗調整バルブ101Aを通る際の達成可能流量よりも少ない。従って、粗調整バルブ101Aおよび微調整バルブ101Bを共に使用することにより、広範囲な流量に対する流量制御を容易に行なうことができる。
実施例のトータライザ101を通じて流量を測定するために、図2の実施例のトータライザ101は、実施例のバルブ101Aおよび101Bの下流側に配置される流量計測器101Cを含んでいる。図2の実施例のトータライザ101は、それに関連付けられ、実施例の流量計測器101Cによる計測結果を用いて酸の入力を制御するために使用される一つ又は複数の制御モジュール又はルーチン(例えば、図1の実施例の制御ルーチン19A-Cの一つ)を備える。このような制御ルーチンの第1のルーチンは、粗調整バルブ101Aおよび微調整バルブ101Bを使用し、トータライザ101を通じて高速流量制御を行いうる。一方、このような制御ルーチンの第2のルーチンは、粗調整バルブ101Aおよび微調整バルブ101Bを別々に制御することにより、トータライザ101を通じて精密流量制御を行いうる。
図2からも明らかなように、アルカリ入力バルブ・トータライザ102は、粗調整バルブ102A、微調整バルブ102B、および流量計測器102Cを含み、また、共有水入力弁機構110は、粗調整バルブ110A、微調整バルブ110Bおよび流量計測器110Cを含む。図2の実施例において、実施例のトータライザ101、102および110の各々は、繰り返された設備を象徴し、よって、たとえ実施例の反応装置_01ユニットの異なる場所で使用されてもそれに応じて、共通のトータライザ・オブジェクトのインスタンスとして表示されるため、共通する一式の制御ルーチンを介して制御できる。
通常の技術を有する当業者にとっては、図2の実施例のトータライザ101、102および110の変形例が多数存在することは一目瞭然のはずである。例えば、図3に示される変形版トータライザ101Mは、図2の実施例のトータライザ101において微調整バルブ101Bを含まないこととすることにより構築できる。すなわち、図2の実施例の微調整バルブ101Bは、図3の実施例のトータライザ101Mにおいて意図的に不存在となっている。このような場合、例えば、実施例の反応装置_01により実施されるべきプロセス且つ又はプロセス・フェーズ(複数可)を適切に行うために必要でないという理由で、微調整バルブ101Bが意図的に不存在とされている。但し、通常の技術を有する当業者にとっては、変形版トータライザ101Mは、欠落している微調整バルブ101B以外については実施例のトータライザ101に類似するものであり、よって、図2の実施例のトータライザ101を制御するのに使用される制御手順と実質的に類似する制御手順を使用して制御されうることが一目瞭然のはずある。プロセス且つ又はプロセス・フェーズの要求条件によって、実施例の変形版トータライザ101Mは、図2の実施例のトータライザ101、102且つ又は110のいずれの代わりとしても使用されうる。
図2に戻って参照するに、実施例の出口弁システム104は別の繰り返された設備であり、三つのバルブを含んでいる。図4に示されるように、実施例の出口弁システム104は、図2の実施例のタンク100から排出される材料がどのようなものである場合にも開かれなければならない主要出口弁104Aと、タンク100から生成物を配送する際に主要出口弁104Aと共に開かれなければならない生成物バルブ104Bと、廃棄物や洗浄液などの物質をタンク100から排液且つ又は廃棄物システムに排出する際に主要出口弁104Aと共に開かれなければならないドレン弁104Cとを含む。もちろん、一つ又は複数の制御ルーチンは、タンク100を閉じるため、タンク100から排水するため、且つ又は生成物を取り出してタンク100を空にするためにバルブ104A、104Bおよび104Cの状態を制御する出口弁システム104に関連している。
図1に戻って参照するに、従来は実施例の反応装置(反応装置_01および反応装置_02且つ又は反応装置_03)に関連した異なる設備の制御用に制御ルーチンを生成するために、システム設定エンジニアが、まず最初に、例えば実施例のワークステーション14A-Cの一つに保存されるライブラリに格納される本質的に標準的な多数のテンプレート制御モジュールを作成していた。テンプレート制御モジュールを作成する際には、エンジニアが反応装置に関連して実行される異なる要素且つ又はループに制御ルーチンを提供するために図形を使って異なる機能ブロックを共に接続していた。いったん標準的なテンプレート制御モジュールが(通常は、バルブ且つ又は制御ループを基盤として)作成されると、これらのテンプレート制御モジュールはコピー可能となり、テンプレート制御モジュールのコピーをマニュアル操作でプロセス工場10内の特定の設備に(例えば、反応装置である反応装置_01、反応装置_02および反応装置_03の内にある特定の設備1台に)結び付けることができた。これらが(より具体的には米国特許第6,385,496号に記載されているように)直接的に且つ又は別名を使用して結合された後、該制御モジュールの結合済コピーは、実施例のコントローラ12A-Cの一つ又は複数にダウンロードされ、結合されるところの反応装置に関連するプロセス制御作業を行うために使用されていた。しかしながら、テンプレート制御モジュールから作成された結合済制御モジュールは、それらが作成された基となるテンプレート・モジュールとの関連且つ又は関係を持っていなかったため、プロセス制御システムでの使用時には実質的に独立した(スタンド・アロンの)制御モジュール又はオブジェクトとして存在していた。なお、米国特許第6,385,496号は、ここに参照することによりその全体にわたりに援用される。
またこれらのシステムにおいては、設定作業を制御モジュールレベルで行わなければならなかった。すなわち、プロセス工場内の異なる設備且つ又はループのそれぞれに対して別個の制御モジュールを作成しなければならなかった。制御モジュールレベルでは、通常、プロセス工場内のプロセスエンティティの各々に対して作成して結合しなければならない制御モジュールの異なるタイプが多数存在する。結果として、システム設定エンジニアは、個々の制御モジュールをコピーして工場内の個々の設備へと結合するためだけに多大なる時間を費やしていた。例えば、システム設定エンジニアは、工場にある反応装置にのために制御モジュールを何十個も作成しコピーした後、これらの制御モジュールの各々を該反応装置内の特定の設備に結び付けなくてはならなかった。反応装置が工場において繰り返された場合、システム設定エンジニアが繰り返された設備のそれぞれについて制御モジュールを何十個もコピーしては結合する、という多大なる時間を要し且つ多くの人為的エラーを伴う作業を行わなければならなかったので、システム設定エンジニアの仕事はさらに増して忍耐を要するものとなった。
従来においては、システム設定エンジニアによってユニットモジュールを開発することはできたものの、これらのユニットモジュールは、単に一台のユニット上で実行できるフェーズを収納する容器のようなものであり、ユニットに関連する設備の指標や該ユニット内の設備の制御基本操作に使用される制御機構を含んでいなかった。また、異なる設備を制御するのに使用される制御要素のためのテンプレートを作成することはできたものの、設備およびユニット要素(例えば、トータライザまたはリアクター)などの工場内に設置されているより高いレベルの繰り返された要素を示すのに使用できるような制御モジュールのパッケージは存在しなかった。すなわち、プロセス工場10内の異なる繰り返し要素の制御ルーチンを作成するために、システム設定エンジニアは、繰り返された設備各々について制御上の最も基礎的なレベルの制御モジュールをコピーしてから、個別の且つ又は特定の設備又はプロセス工場10内のその他のエンティティに対してこれらの制御モジュールをそれぞれ個別に完成させることが要求された。繰り返された設備を数多く備える大規模な工場の場合、この作業は多大なる時間を要し且つ多くの設定エラーを伴うものであった。さらにまた、繰り返された設備に関連した制御モジュールの変更は、異なる設備の異なる制御モジュールの各々に対してマニュアル操作で行わなければならなかったため、これもまた、忍耐と多大なる時間を要し且つエラーの発生が多い作業であった。また、オペレータ用表示画面を制御モジュールとは別に且つ又はそれから分離して作成しなければならなかった。また、制御モジュール同様に、表示も個々に作成・修正変更してプロセス工場内の設備に結び付けなければならなかった。
プロセス設定の作成且つ又は変更を容易にするために、且つ又はそれほど多くの時間を必要としないようにするために、図1の実施例のワークステーション14A-Cのうちの少なくとも一つにより実行された設定用アプリケーション50は、プロセス制御工場10を設定する際に使用される一つ又は複数のモジュール・クラスオブジェクト52の一式を利用する。図1の実施例のモジュール・クラスオブジェクト52は、意図的に不存在とされた部分(複数可)を含みうる繰り返された設備を含む複数台の繰り返された設備を多数備える工場を設定する時に特に役立つ。異なるモジュール・クラスオブジェクト52は、一般的に言って、プロセス工場10内で繰り返され且つ又は使用されるそれぞれの異なるタイプの物理的装置且つ又は設備用、プロセス工場10内で繰り返され且つ又は使用される各タイプの制御作業用、また、プロセス工場10において繰り返され且つ又は使用されるそれぞれの異なるタイプの画面表示アプリケーション用、などに作成できる。図1の実施例のモジュール・クラスオブジェクト52がいったん作成されると、様々なモジュール・クラスオブジェクト52に対応するプロセス工場10の素子を構成するのに使用されうる。
図1の実施例のモジュール・クラスオブジェクト52は、プロセスエンティティの標準的なバージョンを表し、したがって、特定の物理的なプロセスエンティティのいずれにも結び付けられていない。ここに示される実施例において、モジュール・クラスオブジェクト52は関連するより低いレベルのオブジェクト且つ又はインスタンスを備えることができ、そのうちの4個が参照番号53、54、55および56で図1に図示されている。モジュールオブジェクトがモジュール・クラスオブジェクト52から作成されると、それは、もとになったモジュール・クラスオブジェクト52と同じ構造且つ又は特性を継承する。但し、各モジュールオブジェクトは、プロセス工場10内の特定の物理的なエンティティに結び付けられる。従って、工場10内で実際に存在する特定のタイプに属する異なる反応装置の各々に対して別個にモジュールオブジェクトが存在する且つ又は作成される一方、モジュール・クラスオブジェクト52はそのタイプの反応装置について(該反応装置が工場10内にいくつ存在するかに関係なく)1個だけ作成すればよい。
モジュール・クラスオブジェクト52から作成されたモジュールオブジェクトは、モジュール・クラスオブジェクト52により専有される且つ又はそれに関連づけられる。結果として、関連するモジュール・クラスオブジェクト52への変更は、自動的に、モジュール・クラスオブジェクト52に関連したモジュールオブジェクトの各々に伝播且つ又は反映できる。従って、多数のモジュールオブジェクトが(異なるモジュールオブジェクトの各々が異なるプロセスエンティティに結び付けられた状態で)特定のモジュール・クラスオブジェクト(例えば、モジュール・クラスオブジェクト52)から作成された場合、該異なるモジュールオブジェクトの各々は、単にモジュール・クラスオブジェクト52を変更し、その後、関連するモジュールオブジェクトまでその変更を自動的に伝播させることにより変更できる。
同様に、いったんモジュールオブジェクトがモジュール・クラスオブジェクト52から作成されたならば、これらのモジュールオブジェクトはバルク編集方式を使用してプロセス工場10内の特定の設備に結合できる。特に、特定のモジュール・クラスオブジェクト52のモジュールオブジェクトは全て同じモジュール・クラスオブジェクト52により専有され且つ又は連結されるので、例えばスプレッドシート・タイプのアプリケーションを使用することにより該モジュールオブジェクトの全部を一度に設定しうる。よって、当該のモジュールオブジェクトとそれに関連付けられた工場10の特定の設備との間の特定の関係の詳細な設定がより簡単で且つ又はそれほど多くの時間を要さないものになる。スプレッドシート・タイプのアプリケーションを使用して一式のモジュールオブジェクトを設定するための実施例の方法は、米国特許第7,043,311号に記載されており、その内容はその全体にわたりここに参照することにより援用される。
図1の実施例のモジュール・クラスオブジェクト52は、当該産業分野において一般にオブジェクト指向のプログラミング環境且つ又は言語における「オブジェクト」と称されるものである。結果として、これらのモジュール・クラスオブジェクト52は、その他のオブジェクトを専有する且つ又は参照する能力を備える。一般的に言えば、モジュール・クラスオブジェクト52は、制御ルーチン、設備、且つ又はプロセスエンティティに関連したその他の要素などの個々の要素の指標且つ又は定義、並びに当該個々の要素が相互作用する様態(物理的な要素が相互に接続される方法、且つ又は論理要素が物理的な要素と協働する方法など)の定義且つ又は指標を含むことができる高レベルのオブジェクトである。すなわち、モジュール・クラスオブジェクト52は、例えば、プロセス工場10内の設備、制御要素、表示などの特定の一個又は一群を制御且つ又は表示する基盤を提供するオブジェクト指向プログラミング言語のオブジェクトでありえ、プロセス制御工場10内の異なる繰り返し設備を設定するのに使用するために当該要素のインスタンスを多数作成する際に役立ちうる。
基本的に、図1の実施例のモジュール・クラスオブジェクト52の各々は、あるプロセスエンティティの標準的な定義を、そのエンティティを制御するために実施例のコントローラ12A-Cにより使用される且つ又は当該のエンティティに関して表示作業を行うために実施例のワークステーション14A-Cにより使用される当該のエンティティに適用できるあらゆる制御用且つ又は表示用のアプリケーション且つ又はルーチンの形で含む、設定収納容器且つ又は設定テンプレートである。モジュール・クラスオブジェクト52は、ユニット、設備、制御要素、表示アプリケーションなど、あらゆる性質のプロセスエンティティを表しうる。プロセス工場10を設定する際に、モジュール・クラスオブジェクト52を使用して、モジュール・クラスオブジェクト52により提供される定義に適合する任意の数の異なるプロセスエンティティを対象にプロセスエンティティの設定インスタンスを、各設定インスタンス(モジュール・クラスオブジェクト52から作成されたモジュールオブジェクト)が異なる実際のプロセスエンティティに関連付けられている且つ又は結び付けられている状態で、作成しうる。これらの異なるモジュールオブジェクトは、(その他数あるものの中でも特に)プロセス工場10内に配置される特定のプロセスエンティティに結合された制御ルーチン且つ又は表示ルーチンを含む。この場合、プロセスエンティティでの実際の制御作業を行うためにこれらの制御ルーチンを図1のコントローラ12A-C内にダウンロードできる且つ又はそれにおいて使用できる、且つ又はプロセス工場10稼動中にエンティティに関する実際の表示作業を行うために該表示ルーチンをワークステーション14A-Cにダウンロードできる。
異なるタイプのモジュール・クラスオブジェクト52は、適用範囲の異なるプロセスエンティティを反映し、したがって、適用範囲の異なるプロセスエンティティにおいて且つ又はそれに関して作動するように設定された制御且つ又は表示ルーチンを含みうる。ユニットなど、プロセスエンティティの適用範囲が広いほど、一般的により多くの制御且つ又は表示ルーチンが当該のモジュール・クラスオブジェクトに関連するようになるので、それらのモジュール・クラスオブジェクトを使用して、プロセス工場の大きな区分且つ又は部分を設定するのが簡単になる。しかしながら、一つのモジュール・クラスオブジェクト52に関連したプロセスエンティティの適用範囲が広いほど、プロセスがその適用範囲で繰り返し設備を含む可能性が低くなるので、モジュール・クラスオブジェクト52が大規模なレベルで有用となりえる可能性も低くなる。反対に、一つのモジュール・クラスオブジェクト52に関連したプロセスエンティティの適用範囲が狭いほど、モジュール・クラスオブジェクト52が工場の様々な異なる場所で有効に利用される可能性が高まるが、当該のモジュール・クラスオブジェクト52を特定のインスタンスのいずれかに使用する場合に行われる設定の量が低減する。いずれにせよ、モジュール・クラスオブジェクト52によって、異なる繰り返された設備に対して行われる設定が、制御モジュールレベルよりも高い抽象度で可能になる。これによって、モジュール・クラスオブジェクト52(特にユニット・レベルになどの適用範囲の大きなモジュール・クラスオブジェクト52)を使用する場合に、繰り返されたユニット且つ又はその他の設備を備えるプロセス工場の設定が簡易化され、所要時間且つ又は設定エラーが削減される。
いくつかの実施例において、プロセス制御システムを設定する場合、システム設定エンジニアは、プロセス工場内で繰り返された異なる要素、例えば図2および図3の実施例のトータライザ101、102、110、101Mなど、のために1個だけモジュール・クラスオブジェクト52を作成しうる。その後、システム設定エンジニアは、プロセス工場内に物理的に存在するトータライザの各々に対してモジュール・クラスオブジェクト52のインスタンス(つまりモジュールオブジェクト)を作成しうる。このように作成されたモジュールオブジェクトはそれぞれ、トータライザを運転するためにプロセスコントローラにより使用される制御ルーチンを含んでおり、特定のトータライザに含まれる設備に対して特別に結び付けられる且つ又は結合される。その後、これらの制御ルーチンはコントローラにダウンロードされ、その後、プロセス工場10の稼動中に使用される。しかしながら、それぞれのモジュールオブジェクトは、いったん作成されても、それに関連するモジュール・クラスオブジェクト52になお結び付けられ、よって、モジュール・クラスオブジェクト52により制御されて変更されたり、そのモジュールオブジェクトへのアクセスを提供、且つ又は拒否したりできるようになる。
プロセス工場10において設定作業を行うためにプロセス工場10において作成且つ又は使用できるような、モジュール・クラスオブジェクト52のタイプとしては様々なものが考えられるが、ここに実施例として記載される特定の4タイプには、ユニットモジュール・クラスオブジェクト、設備モジュール・クラスオブジェクト、制御モジュールクラスオブジェクトおよび表示モジュール・クラスオブジェクトが含まれる。一般的に言えば、それぞれの異なるタイプのモジュール・クラスオブジェクト52は、プロセス工場10内の異なる制御範囲且つ又は使用範囲を念頭に設計されている且つ又はそれを目的としている。ユニットモジュール・クラスオブジェクト52は、プロセス工場内の広範囲にわたる設備を対象とした制御作業を表現且つ又は設定するのに使用することを目的としている。特に、ユニットモジュール・クラスオブジェクト52は、例えば、何らかの公知の様態においてお互いに協力して機能する且つ又は相互作動する個々別々の要素を有する図1の実施例の反応装置など、相互関連する一式の設備(典型的には、繰り返された設備)を構成する際にモデルとなる且つ又は使用されることを目的としている。
設備モジュール・クラスオブジェクト52は、プロセス工場10内に含まれる、適用範囲がさほど広範でない物理的な設備における制御作業を表現する且つ又は設定するのに使用されることを目的としている。設備モジュール・クラスオブジェクト52に関連した設備は、一般的に、ユニットのサブシステムを構成するバルブやフロー計測器(例えば、図2および図3の実施例のトータライザ)などの一つ又は複数の物理的なエンティティであり、設備モジュール・クラスオブジェクト52は、コマンド方式アルゴリズム(CDA)、状態駆動方式アルゴリズム(SDA)、シーケンシャルフローチャート(SFC)アルゴリズム、機能ブロックダイヤグラム(FBD)アルゴリズム、フェーズアルゴリズム)など、設備で実行される一つ又は複数の指令且つ又はアルゴリズムを含みうる。したがって、設備モジュール・クラスオブジェクト52は、当該の設備がユニット内に使用される場合の基本的な一式の機能を提供するために、ユニット内にある複数の低レベル構成要素且つ又はエンティティ(例えば、図2の実施例の粗調整バルブ101A、微調整バルブ101B、且つ又は実施例の流量計測器101C )の制御を設定することを目指している。周知の如く、コマンド方式アルゴリズム(コマンド方式制御論理)は、低レベルの構成要素がある機能を達成するために複数のステップを通じて統合・調整されなければならない場合に使用される。例えば、第2のバルブが一旦開かれてから閉まる間に、第1のバルブを一定時間だけ開いた後に閉じることが必要となりうる。図2および図3の実施例のトータライザは、このタイプのコマンド方式アルゴリズムを使用することにより、粗調整バルブ(例えば、実施例の粗調整バルブ101A)および微調整バルブ(例えば、実施例の微調整バルブ101B)をまず最初に起動させてから、流量計測器(例えば、実施例の流量計測器101C)の測定値に基づいて操作して、該トータライザを通じた全流量を所望の値とする。状態駆動方式アルゴリズム(状態で駆動される制御論理)は、一つのステップで操作可能な個々の低レベル構成要素の状態を指定しうる。このような状態駆動方式アルゴリズムは、図4の実施例の出口弁機構104を制御するのに使用されうる。該出口弁機構104の中に含まれる個々のバルブの状態は、タンク100を閉じるため、タンク100を排水するため、且つ又はタンク100から生成物を配送するためなど、出口弁機構104の所望の状態に基づいて別々に(但し一つのステップで)制御される。但し、設備モジュールクラスは適用可能な制御アルゴリズムのいかなるものを使用しても制御しうる。
制御モジュールクラスオブジェクト52は、プロセス工場10内の個々の制御要素且つ又は制御モジュールを表現する且つ又は設定するのに使用されることを目的とする。制御モジュールクラスオブジェクト52は、バルブ、計測器などの工場エンティティ、1個の設備且つ又は1個のユニットに対して実行されるべき特定のタイプの制御を提供且つ又は指定する。一般的に言えば、制御モジュール・クラスオブジェクト52は、コントローラにおいて実行され且つプロセス工場内の繰り返される制御作業を行うのに役に立つ何らかの制御モジュールを定義する、通信可能に相互に接続された一式の機能ブロックなど、特定のタイプの制御プログラミングを提供する。ほとんどの場合、制御モジュール・クラスオブジェクト52は、単一の装置且つ又は関連する一式の装置を操作するために標準的な制御方法を提供しうる。
表示モジュール・クラスオブジェクト52は、プロセス工場10の稼動中に制御オペレータなどのユーザにより視覚される表示作業を表現する且つ又は設定するのに使用されることを目的とする。従って、表示モジュール・クラスオブジェクト52は、オペレーターワークステーション(例えば、図1の実施例のワークステーション14A-Cのいずれか)の特定タイプの表示を生成するために必要なプログラミング、且つ又は工場10の稼動中に当該表示が工場から適切なデータ且つ又は情報を取得可能とするために一つ又は複数のワークステーション(並びにプロセス工場10内のその他の装置(複数可))で実行されるべきプログラミングを指定する。表示クラス・モジュールオブジェクト52のタイプには、例えば、警告表示、設定表示欄画面、動作表示欄画面、診断表示欄画面などが挙げられる。もちろん、表示モジュール・クラスオブジェクト52は、プロセス工場内のあらゆる範囲の物理的な要素且つ又はエンティティを表現する且つ又はそれに結び付けられた表示を提供しうる。例えば、表示モジュール・クラスオブジェクト52は、全区域、ユニット、1個の設備、制御要素又はプロセス工場10内におけるこれらの要素の何らかの組み合わせについての情報を表示しうる。
さらに、より詳細にわたり後述されるように、モジュール・クラスオブジェクト52は、モジュールオブジェクトの全て又はいずれかの特定の部分(例えば、図2の実施例のトータライザ101、102、110の実施例の微調整バルブ101B)が「不存在」として設定可能に識別され、それ以降の関連する制御ルーチンの実行中に無視できるように定義且つ又は設定できる。このようなトータライザ用のモジュール・クラスオブジェクト52のインスタンスが作成されてプロセス工場の特定の物理的なトータライザに関連付けられると(つまり、モジュールオブジェクトが作成されると)、不存在となっている設備(例えば、微調整バルブ101B)がシステム設定エンジニアにより不存在として識別且つ又はマーキングされ、変形版トータライザ(例えば、図3の実施例の変形版トータライザ101M)を表現することになる。このような実施例のトータライザのモジュール・クラスオブジェクト52は、(不存在となる可能性のある設備が存在するかのチェックを含むことができ、よって、例えば、不存在であってもよいとされる設備が実際に存在するか否かにかかわらず、設備不存在エラーメッセージを表示しないで、正確に実行できる)一つ又は複数の制御ルーチンを含みうる且つ又は定義しうる。このような制御手順は、図2の実施例のトータライザ101および図3の実施例の変形版トータライザ101Mの両方に適している。したがって、このような柔順なトータライザ・モジュール・クラスオブジェクト52は、トータライザの種々様々な変形のいかなるものをも表現し専有できる。
したがって、ここに示される実施例において、特定の物理的な変形版トータライザ101Mはトータライザ・モジュール・クラスオブジェクト52をインスタンス化したものでありえ、よって、モジュール・クラスオブジェクト52(例えば、更新済制御手順19A)に加えられた更新は、自動的に改良済トータライザ101Mに適用されうる。もしトータライザ・モジュール・クラスオブジェクト52が意図的に設備の不存在部分を識別できないと、変形版トータライザ101Mに対して別のモジュール・クラスオブジェクト52が必要となる。たとえ二つのモジュール・クラスオブジェクト52が類似した装置を表すものであるとしても、このような別のモジュール・クラスオブジェクト52は別々に更新且つ又は維持されなければならない。しかしながら、実施例の改良済トータライザ101Mはトータライザ・モジュール・クラスオブジェクト52をインスタンス化したものとして作成できるので、実施例のトータライザ101および変形版トータライザ101Mは、共通のトータライザ・モジュール・クラスオブジェクト52を介して設定且つ又は制御可能であり、よって共有の且つ又は共通の制御ルーチン一式を利用する。
上記不存在の設備の例は、トータライザ・モジュール・クラスオブジェクト52に関連して説明されているが、通常の技術を有する当業者ものであれば、意図的に不存在とされている設備且つ又は部分を識別する能力を有するモジュール・クラスオブジェクト52が、プロセス工場のあらゆる設備且つ又はユニットを対象として定義且つ又は作成されうることは一目瞭然のはずである。例えば、特定のトータライザを「不存在」とできる反応装置モジュール・クラスオブジェクト52を定義することが可能である。
プロセス工場は、特定のモジュール・クラスオブジェクト由来のモジュールオブジェクトをインスタンス化したものを表現する相互に接続されたモジュール・クラスオブジェクトの階層により表すことができる。このような階層図は、より小さいプロセスエンティティを二つ以上含む一式のプロセスエンティティを用いたより大きいプロセスエンティティの実施態様を表しうる。図5は、図1の設定用アプリケーション50により使用される異なるタイプのモジュール・クラスオブジェクト52間の階層的相互接続を示す。図5はまた、モジュール・クラスオブジェクト52と当該のモジュール・クラスオブジェクト52から開発されたモジュールオブジェクトとの間の相互関係を示す。図5の一番上から説明すると、モジュール・クラスオブジェクト52は、モジュール・クラスのタイプによって、ユニットモジュール・クラス・タイプ400、設備モジュール・クラス・タイプ402、制御モジュールクラス・タイプ404および表示モジュールクラス・タイプ406に分類される。もちろん、ここに示される四つのタイプは単に本発明の実施例を説明するためのものにすぎず、その他のタイプ且つ又はクラスのモジュール・クラスオブジェクト52を定義、提供、且つ又は使用しうる。例えば、種々様々な付加的且つ又は代替的なモジュール・クラスオブジェクト・タイプが一つのプロセス工場を表すのに使用されうる。(例えば、オブジェクト指向プログラミング言語などにおける、高レベル・オブジェクトなどでありうる)実施例の個々のモジュール・クラスオブジェクトは、図5において各々の異なるタイプのモジュールクラス400、402、404および406の下位に、より明確になるように二重輪郭線で示されている。
実施例の反応装置ユニットクラス・モジュールオブジェクト410は、プロセス工場内の反応装置(例えば、図 1の実施例のプロセス工場10の反応装置)の特定のタイプ且つ又は設定を表す。同様に、実施例の梱包装置ユニットモジュール・クラスオブジェクト412は、プロセス工場10内における梱包ユニットの特定のタイプ且つ又は設定を表し、実施例の乾燥器ユニット・クラス・モジュールオブジェクト414は、プロセス工場10内における乾燥器ユニットの特定のタイプ且つ又は構成を表す。もちろん、物理的な構造が異なる反応装置を表す付加的且つ又は代替的な1個以上の反応装置モジュール・クラスオブジェクトが存在しうる。なお、図5は、ユニットモジュール・クラスオブジェクト400で表現且つ又はモデル化できるようなプロセス工場内における異なるタイプのユニットを全て図示しようと試みるものではない。通常の技術を有する当業者にとっては、異なるタイプの工場にはユニットモジュール・クラスオブジェクト400でモデル化され且つ又は表現されうる様々なタイプのユニットが存在することは一目瞭然のはずである。
同様に、プロセス工場10内の種々様々な設備を表現、モデル化、且つ又は設定するのに使用される様々な設備モジュール・クラスオブジェクト402が存在しうる。図5に示される実施例は、トータライザ設備モジュール・クラスオブジェクト416および出口バルブ設備モジュール・クラスオブジェクト418を含む。同じように、図5に示されるような種々様々な制御モジュール・クラスオブジェクト404が存在しうる。例えば、オン/オフ・バルブ制御モジュール・クラスオブジェクト422、レベル検出器制御モジュール・クラスオブジェクト424および流量計測器制御モジュール・クラスオブジェクト426が挙げられる。なおまた、図5に示される実施例の表示モジュール・クラスオブジェクト406は、警告表示モジュール・クラスオブジェクト432、表示欄画面モジュール・クラスオブジェクト434および診断表示モジュール・クラスオブジェクト436を含んでいる。もちろん、その他所望のユニット、設備、制御および表示モジュール・クラスオブジェクトを、ここに記載される原則に則り、実施例の設定用アプリケーション50内で作成且つ又は使用しうる。
図5に示されるように、各モジュール・クラスオブジェクト52は、それに関連する且つ又はそれにより専有されるサブオブジェクトを含みうる且つ又は参照しうる。このようなサブオブジェクトはまた、モジュール・クラスオブジェクト52でありえ、且つ又は、図5に示されるように、それが属するモジュール・クラスオブジェクトのインスタンスとして作成されるモジュールオブジェクトでありうる。例えば、図5に示されるように、実施例の反応装置ユニットモジュール・クラスオブジェクト410は、反応装置_01、反応装置_02および反応装置_03という名称が指定されているそれに関連した三つの反応装置モジュールオブジェクトを備える。この場合、これらの反応装置モジュールオブジェクトは、実施例のめいめいの反応装置(図1の反応装置_01、反応装置_02および反応装置_03)に対応する(即ち、結合されている)。図5はまた、実施例のトータライザ設備モジュール・クラスオブジェクト416を水1、酸1、酸2、アルカリ1およびアルカリ2という名称が指定されている五つの異なるモジュールオブジェクトを備える且つ又は専有する状態で示している。同様に、図5の実施例のオン/オフ・バルブ制御モジュール・クラスオブジェクト422は、粗調整バルブ1、粗調整バルブ2、粗調整バルブ3、微調整バルブ1、微調整バルブ2および微調整バルブ3という名称が指定されているモジュールオブジェクトを含んでいる。同じように、図5の他のユニット、設備、制御および表示モジュール・クラスオブジェクトのそれぞれは、それに関連する一つ又は複数のモジュールオブジェクトを備えうる。但し、図を簡潔に保ち分り易くするために、これらのモジュールオブジェクトは図5において示されない。
図5に図示される実施例において、反応装置_01、反応装置_02および反応装置_03ユニットモジュールオブジェクト、酸1、酸2、アルカリ1、アルカリ2および水1トータライザ(設備)モジュールオブジェクト、粗調整バルブ1、粗調整バルブ2、粗調整バルブ3、微調整バルブ1、微調整バルブ2および微調整バルブ3制御モジュールオブジェクト且つ又はその他のユニット、設備、制御および表示モジュールオブジェクトの各々は、プロセス工場10内の実際のユニット、設備、制御モジュール且つ又は表示アプリケーションに結び付けられている個々のモジュールオブジェクトである。例えば、複数の物理的な酸トータライザが工場10において使用されるので、設定ルーチンで作成された複数の酸トータライザ・モジュールオブジェクトが存在する。この場合、工場10内に存在する個々の酸トータライザの各々に対して別々の酸トータライザ・モジュールオブジェクトが存在する。但し、別々のトータライザ・モジュールオブジェクトの各々は、同じトータライザ・モジュール・クラスオブジェクト416に結び付けられる且つ又はそれにより専有される。もちろん、図5の実施例には、限られた数のモジュール・クラスオブジェクトおよび関連するモジュールオブジェクトだけが示されており、通常の技術を有する当業者であれば、その他のタイプのモジュール・クラスオブジェクトが提供されうること、且つ又は、所望のあらゆる数のモジュールオブジェクトが異なるモジュール・クラスオブジェクトの各々から作成されうることが容易に理解できるはずである。
図5の各モジュール・クラスオブジェクト(よって、図5の各モジュールオブジェクト)は、モジュール定義且つ又は構成する物理的且つ又は論理的なプロセス要素の定義且つ又は指標を、また望ましい場合は、プロセス工場10内の何らかの作業を行うために当該のプロセス要素が物理的に且つ又は論理的にお互いと交信する方法を、オブジェクトの一部として含みうる。例えば、ユニットモジュール・クラスオブジェクト400は、一般に、ユニットとして定義されるプロセスエンティティ内の且つ又はそれを構成する物理的および論理的制御要素の全ての指標を含むことになる。ユニットモジュール・クラスオブジェクト400はまた、個々の部分の特定の構造、且つ又は一つのユニットとして作動するためにそれらの部分が物理的にどのように共に結び付けられているか、を定義しうる。同様に、設備モジュール・クラスオブジェクト402は一般に、1個の設備且つ又は指令として定義されるエンティティを制御するために使用される、制御ルーチン且つ又は制御モジュールを含む。これらの設備且つ又は指令は、工場10内に配置された場合に1個の設備として作動するため、当該の制御ルーチン且つ又は制御モジュールを用いて、諸部品が物理的に又は論理的に相互作用する方法を定義する。同様に、各制御モジュール・クラスオブジェクト404は、工場内で行われる制御作業を、一般的には何らかの種類の制御アルゴリズムの形で、定義することになる。また、各表示モジュール・クラスオブジェクト406は、(その他数ある中でも特に)表示画面設定且つ又は表示されるべき情報、並びに収集されるべきデータ且つ又は収集されたデータになされるべきデータ操作を、(該当するものがある場合、)指定されたタイプのユニット、設備、工場の区域、又はその他の工場10内の物理的又は論理的なエンティティに対して定義しうる。
モジュール・クラスオブジェクト52は、モジュールクラス定義の一部として、その他のモジュール・クラスオブジェクト52をそこに組み入れる且つ又は使用するために指示しうる、且つ又は定義しうる。この場合、前記されるようなモジュール・クラスオブジェクト52から作成されたモジュールオブジェクトは、そのモジュール・クラス・レベルにおいて定義される関係に則ってその他のモジュール・クラスオブジェクト52から作成されたその他のモジュールオブジェクトを組み入れる、参照する、且つ又は含むことになる。必ずしも必要とされるわけではないが、ユニットモジュール・クラスオブジェクト400には、その他のユニットモジュール・クラスオブジェクト400、設備モジュール・クラスオブジェクト402、制御モジュール・クラスオブジェクト404且つ又は表示モジュール・クラスオブジェクト406を組み入れてもよく、その一方、設備モジュール・クラスオブジェクト402には、その他の設備モジュール・クラスオブジェクト402、制御モジュール・クラスオブジェクト404、且つ又は表示モジュール・クラスオブジェクト406を組み入れてもよい。制御モジュール・クラスオブジェクト404には、その他の制御モジュール・クラスオブジェクト404および表示モジュール・クラスオブジェクト406を組み入れるようにしてもよい、且つ又は参照するようにしてもよい。但し、望ましい場合は、その他のモジュール・クラスオブジェクトの相互関係も同様に使用しうる。実施例の組み込み関係は、図5の下側に大きな矢印で示されており、また、いかなる表示モジュール・クラスオブジェクト406がいかなる制御、設備およびユニットモジュール・クラスオブジェクト404、402、400にも含まれうる又はそれにより参照されうることと、いかなる制御モジュール・クラスオブジェクト404がいかなる設備およびユニットモジュール・クラスオブジェクト402、400にも含まれうる又はそれにより参照されうることと、そして設備モジュール・クラスオブジェクト402がいかなるユニットモジュール・クラスオブジェクト400にも含まれうる又はそれにより参照されうることを示している。当然のことながら、モジュール・クラスオブジェクトは、同じタイプのその他のモジュール・クラスオブジェクトを組み入れてもよい。例えば、ユニットモジュール・クラスオブジェクト400は、その定義の一部として、別のユニットモジュール・クラスオブジェクト400を組み入れてもよい。同じように、設備モジュール・クラスオブジェクト402は別の設備モジュール・クラスオブジェクト402を含みえ、制御モジュール・クラスオブジェクト404は別の制御モジュール・クラスオブジェクト404を含みえ、また、表示モジュール・クラスオブジェクト406は別の表示モジュール・クラスオブジェクト406を含みえる。もちろん、望ましい場合は、モジュール・クラスオブジェクト52は、別のモジュール・クラスオブジェクト52を複数回使用しまたは組み入れてもよい。例えば、反応装置ユニットモジュール・クラスオブジェクト410によりモデル化される反応装置が、トータライザのインスタンスを複数含んでいるので、反応装置ユニットモジュール・クラスオブジェクト410は、トータライザ設備モジュール・クラスオブジェクト416を何度も組み入れうる且つ又は使用しうる。
また当然のことながら、第1のモジュール・クラスオブジェクト52が第2のモジュール・クラスオブジェクト52を組み入れる且つ又は使用する場合、第1のモジュール・クラスオブジェクト52から又はそのインスタンスとして作成されたモジュールオブジェクトは、いずれも、第2のモジュール・クラスオブジェクト52から又はそのインスタンスとして作成されたあらゆるモジュールオブジェクトを組み入れうる且つ又は使用しうる。よって、トータライザ設備モジュール・クラスオブジェクト416が出口バルブ設備モジュール・クラスオブジェクト418を組み入れる且つ又は含む場合、トータライザ設備モジュール・クラスオブジェクト416から作成された(例えば独自の名称としてトータライザ_1と呼ばれる)トータライザ・モジュールオブジェクトは、(例えば独自の名称として出口弁_2と呼ばれる)出口バルブ設備モジュール・クラスオブジェクト418から作成されたモジュールオブジェクトを含むことになる。このように、そのモジュール・クラスオブジェクトのレベルで定義されるようなモジュール・クラスオブジェクト52の関係は、これらのモジュール・クラスオブジェクト52から開発且つ又は作成されたモジュールオブジェクトに反映される。このモジュール・クラスオブジェクト52間での(よって、モジュールオブジェクト間での)相互接続且つ又は参照によって、設定作業中におけるオブジェクトの可変性を増大させ且つ又は転移性を向上させることが可能になる。またそれによって、制御および設備のモジュール・クラスオブジェクト404および402などの極基本的な元となるモジュール・クラスオブジェクト52の一式を作成した後は、該極基本的な元となるモジュール・クラスオブジェクト404および402を参照することにより、ユニットモジュール・クラスオブジェクト400などのより複雑なモジュール・クラスオブジェクト52を簡単に作成できるようになる。もちろん、モジュール・クラスオブジェクト52は、その他のモジュール・クラスオブジェクトを参照且つ又は使用できるが、それに加えてまた、且つ又は、その代わりとして、関連するモジュール・クラスオブジェクト52を持たないバルブ、センサなどの単純なオブジェクト且つ又はプロセスエンティティを定義且つ又は使用できる。これらの単純なオブジェクトは、モジュール・クラスオブジェクト52自体において使用される制御ルーチンという点で完全に定義されうる。
上述したように、モジュール・クラスオブジェクトは、一般に、そのモジュール・クラスオブジェクトを作る且つ又は構成するエンティティを表現且つ又は定義する。よって当然の如く、モジュールオブジェクトがモジュール・クラスオブジェクトからインスタンス化される場合、モジュール・クラスオブジェクトは、インスタンス化されたプロセスエンティティを形成する実際のプロセス用設備間での関係を定義する。図6は、ユニットモジュール・クラスオブジェクトと関連する且つ又はそれの中に存在するエンティティを説明且つ又は定義するのに使用されうる実施例の反応装置ユニットモジュール・クラスオブジェクト410を示す。図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、モジュール・クラスオブジェクトが存在しないプロセス工場10内における単純なオブジェクト且つ又は要素であるタンク500の指標を含む。タンク500に関しての入出力作業を制御且つ又は実行するために必要とされる制御且つ又は低レベルでの作業が存在しないので、実施例のタンク500は図6において点線で図示されている。結果として、実施例のタンク500は単に、図6の反応装置ユニットモジュール・クラスオブジェクト410に関連したその他のオブジェクト間の相互接続を示すために含まれているにすぎない。
図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410はまた、(図5のトータライザ設備モジュール・クラスオブジェクト416に対する三つの別個の参照である)それぞれ酸、アルカリおよび水という名称で示される三つのトータライザ501、502および510を含んでいる。図6の実施例の水用トータライザ・モジュール・クラスオブジェクト510は、反応装置ユニットモジュール・クラスオブジェクト410の一部(点線により区切られている部分であり、共有されるモジュール・クラスオブジェクトであって、よって反応装置ユニットモジュール・クラスオブジェクト410はその他のユニットモジュール・クラスオブジェクトとこのオブジェクトに対する制御を共有していることを示す)に示されている。
図6の実施例の出口オブジェクト504は、図5の出口弁設備モジュール・クラスオブジェクト418に対する参照である。同様に、実施例のレベルセンサ505は、図5のレベル検出器制御モジュール・クラスオブジェクト424に対する参照であり、実施例の給水用(WATER_IN)バルブ503は、単純なバルブ要素でありうる(よって、反応装置ユニットモジュール・クラスオブジェクト410の中に含まれることにより完全に定義される)、且つ又は、設定戦略の別のところで定義されるバルブ制御モジュール・クラスオブジェクト52に対する参照でありうる、バルブ・オブジェクトに対する参照である。反応装置ユニットモジュール・クラスオブジェクト410の異なるエンティティ且つ又は部分間の物理的な相互接続も、これらの異なる要素間の相互接続を定義するために図6に示される。上記のように、反応装置ユニットモジュール・クラスオブジェクト410且つ又はその他のあらゆるタイプのモジュール・クラスオブジェクトは、モジュール・クラスオブジェクト内において完全に定義される単純な要素(それに関連する標準的な制御ルーチンのいかなるものをも含みうる)を含むことができる、且つ又は、モジュール・クラスオブジェクト外で定義されるモジュール・クラスオブジェクトへの参照を含むことができる。
図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410はまた、図5において表示欄画面モジュール・クラスオブジェクト434および警告表示モジュール・クラスオブジェクト432をそれぞれ参照する、反応装置表示欄画面520および反応装置警告表示画面522と呼ばれる実施例の表示モジュール・クラスオブジェクト406を二つ含んでいる。これらの表示オブジェクト520および522は、反応装置ユニットモジュール・クラスオブジェクト410において定義される反応装置ユニットの設備且つ又は該部品のいずれか関連する状態(例えば、タンクの充填レベル)および警告を表示するための標準的な表示作業を定義する。
同様に、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、「投入」、「混合」、「排液」および「水洗」フェーズ・クラスオブジェクトとしてボックス524に示されるフェーズ・クラスオブジェクトなどの、その他の要素を含んでおり、その各々が反応装置ユニットモジュール・クラスオブジェクト410により定義されたユニットで作動する標準的な制御ルーチンを定義する。反応装置ユニットモジュール・クラスオブジェクト410の、フェーズ・クラスオブジェクトへの関連はあってもよいし、なくてもよい。フェーズ・クラスオブジェクト524は、別のところでも定義でき、且つ又は所望のあらゆる様態において反応装置ユニットモジュール・クラスオブジェクト410にインポートすることもできる。フェーズ・クラスオブジェクト524は、ユニットの充填、ユニットの加熱、ユニットを空にする、ユニットの清浄などの異なる機能を行うために反応装置ユニットモジュール・クラスオブジェクト410により定義されたユニットで作動しうる指令且つ又はルーチンである。
図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、設定用アプリケーション50(図1)により反応装置ユニットモジュール・クラスオブジェクト410から作成されたモジュール・クラスオブジェクトへの参照を格納するメモリ且つ又はセクション526を含んでいる。セクション526は、その本質は、反応装置ユニットモジュール・クラスオブジェクト410により専有される且つ又はそれから作成されたモジュールオブジェクトのリストである。もちろん、専有されたモジュールオブジェクトのリスト且つ又はその他の指標は、所望のあらゆる様態において、ワークステーションにおいて且つ又は設定用アプリケーション50により格納することができ、必ずしも反応装置ユニットモジュール・クラスオブジェクト410に物理的に含まれている必要はない。いかなる場合も、図6の実施例において、反応装置ユニットモジュール・クラスオブジェクト410は、各々図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410から作成されたモジュールオブジェクトである反応装置_01、反応装置_1、反応装置_02などを専有する。
図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、また、反応装置ユニットモジュール・クラスオブジェクト410によって設定作業中に且つ又は設定作業後のいずれにも実行できる一式の方法530を含んでいる。図6の実施例の方法530は、反応装置ユニットモジュール・クラスオブジェクト410により専有されるモジュールオブジェクト526の各々に対して、反応装置ユニットモジュール・クラスオブジェクト410へ加えられた変更を自動的に伝播する変更管理方法且つ又はアプリケーションを含みうる。その他の方法としては、反応装置ユニットモジュール・クラスオブジェクト410且つ又はそれによって専有されるユニットモジュールオブジェクト526のいずれかに関するセキュリティ且つ又はアクセス制御を行うセキュリティ管理方法、且つ又は、ユーザ且つ又はシステム設定エンジニアがモジュール・クラスオブジェクト且つ又はそれから作成された何らかのモジュールオブジェクトの変更パラメータ且つ又はセキュリティ・パラメータを指定することを可能にする方法、などが挙げられる。もちろん、異なる方法530は、反応装置ユニットモジュール・クラスオブジェクト410に対して又はそれに関するその他の手順も行いうる。
望ましい場合は、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、反応装置ユニットモジュール・クラスオブジェクト410になされた変更がユニットモジュールオブジェクト526に伝播される方法、並びにセキュリティ・アクセスがユニットモジュールオブジェクト526内で設定される方法を制御してもよい。この機能を提供する一つの様態としては、変更内容がユニットモジュールオブジェクト526に伝播される方法且つ又はセキュリティがユニットモジュールオブジェクト526において扱われる方法を指定するために反応装置ユニットモジュール・クラスオブジェクト410内に一つ又は複数のフラグ且つ又はパラメータを設定することが挙げられる。特に、反応装置ユニットモジュール・クラスオブジェクト410になされた変更が自動的に一つ又は複数のモジュールクラス526へと伝播されるべきかどうかを指定するように一つ又は複数の変更伝播パラメータが設定されうる。これらの変更伝播パラメータは、ユニットモジュールオブジェクト526に格納されうる、且つ又は反応装置ユニットモジュール・クラスオブジェクト410全体に(又は、下位要素ごとに)対して反応装置ユニットモジュール・クラスオブジェクト410になされた変更が該関連ユニットモジュールオブジェクトに反映されるべきかどうかを指定しうる。例えば、図6の反応装置ユニットモジュール・クラスオブジェクト410は、グローバル変更パラメータ534(図中「C」として示される)を含む。グローバル変更パラメータ534は、反応装置ユニットモジュール・クラスオブジェクト410から作成された各ユニットモジュールオブジェクトにおいて設定されうる。そして、反応装置ユニットモジュール・クラスオブジェクト410への変更をユニットモジュールオブジェクトに自動的に反映する機能を有効又は無効にする。同様に、ブロック501、505、510、520および522などの各下位要素且つ又はブロックは変更パラメータ536を含むことができる。該変更パラメータ536は、反応装置ユニットモジュール・クラスオブジェクト410中の当該ブロックになされた変更が当該ユニットモジュールオブジェクトに反映されるべきかどうかを(当該ブロックに対してのみ)指定する。もちろん、ユニットモジュールオブジェクトの異なるブロックを別々に設定して、例えば、反応装置ユニットモジュール・クラスオブジェクト410の「酸」ブロック501への変更はある特定のモジュールオブジェクト526の対応する「酸」ブロックに伝播されるが、反応装置ユニットモジュール・クラスオブジェクト410の「アルカリ」ブロック502への変更は当該特定のユニットモジュールオブジェクトの「アルカリ」ブロックに伝播されないようにしてもよい。さらに、あるユニットモジュール・クラスオブジェクトから作成された異なるユニットモジュールオブジェクトは、お互いに異なるように設定される変更パラメータを備えることとし、反応装置ユニットモジュール・クラスオブジェクト410内の「アルカリ」ブロック502への変更が、第1のユニットモジュールオブジェクト526の対応する「アルカリ」ブロックには伝播されるが、第2のユニットモジュールオブジェクト526の対応する「アルカリ」ブロックには伝播されないようにしてもよい。もちろん反応装置ユニットモジュール・クラスオブジェクト410の変更管理方法は、反応装置ユニットモジュール・クラスオブジェクト410に変更がなされた場合に当該オブジェクト内において変更を加えるためあるいは加えないようにするために、ユニットモジュールオブジェクト526の変更パラメータにアクセスしうる、且つ又はそれを使用しうる。
同じように、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、ユニットモジュールオブジェクト526の各々においてセキュリティ且つ又はアクセスが制御される様態を指定する一つ又は複数のセキュリティ・パラメータを含みうる。反応装置ユニットモジュール・クラスオブジェクト410は、反応装置ユニットモジュール・クラスオブジェクト410から作成された反応装置ユニットモジュールオブジェクト全体に所望のあらゆるレベルのセキュリティを提供しうるグローバルセキュリティ・パラメータ538(図中「S」で示される)を含みうる、且つ又は反応装置ユニットモジュール・クラスオブジェクト410の各下位要素に対して(例えば、ブロック501 505、510、520、522の各々に対して、等)当該ブロックの各々のセキュリティ・レベルをブロックごとに指定する異なるセキュリティ・パラメータ540を含みうる。グローバルセキュリティ・パラメータ538は、事前に認証を受けたセキュリティ・アクセスレベルを有する者を除く全てのユーザに対してユニットモジュール・クラスオブジェクトをロックする、ロッキングパラメータでありうる。もちろん、セキュリティ・パラメータ538および540により、多数の異なるレベルのセキュリティの中からいずれ(例えば、アクセス不可、限定アクセス、特定のタイプの又は特定の識別情報を有するユーザのみアクセス可、等)を指定してもよい。また、セキュリティ・レベルは、同じユニットモジュール・クラスオブジェクトから作成された異なるユニットモジュールオブジェクトおよび異なるブロックにおいて異なるように設定してもよい。望ましい場合は、セキュリティ対策の一部として、ユニットモジュール・クラスオブジェクトに関連した一つ又は複数の方法又はアルゴリズムの暗号化を提供することを含むようにしてもよい。
当然のことながら、反応装置ユニットモジュール・クラスオブジェクト410の変更且つ又はセキュリティ・パラメータ534、538は、既定値に設定されていてもよい。そして、反応装置ユニットモジュール・クラスオブジェクト410から作成された各ユニットモジュールオブジェクト526の当該対応する変更およびセキュリティ・パラメータは、作成時にこの既定値を採用しうる。しかしながら、変更且つ又はセキュリティ・パラメータ534、538の該規定値は、これらのユニットモジュールオブジェクトが作成された後、ユニットモジュールオブジェクト526において(適切なセキュリティ・アクセスを有するユーザにより)個々に変更しうる。該変更およびセキュリティ・パラメータ534、538などはここにおいて反応装置ユニットモジュール・クラスオブジェクトに関して説明されているが、同様の変更およびセキュリティ・パラメータが、その他のタイプのユニットモジュール・クラスオブジェクト、並びに所望のあらゆるタイプの設備モジュール・クラスオブジェクト、制御モジュール・クラスオブジェクト、表示モジュール・クラスオブジェクトなどにおいて備えられうる。
望ましい場合は、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、反応装置ユニットモジュール・クラスオブジェクト410用に格納される且つ又はそれに関連する文書(該ユニット又は該反応装置ユニットモジュール・クラスオブジェクト410に関連したユニットのあらゆる下位要素に関連した文書を含む)への参照、URL又はその他の参照、を含みうる。それらの参照は、図6において参照符号549で示されている。
図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、実施例の反応装置ユニットモジュール・クラスオブジェクト410から作成された1個の反応装置ユニットモジュールオブジェクト全体のインスタンスが「意図的な不存在」として識別されているかどうか、したがって無視されるべきかどうか、を示すグローバル「無視」プロパティ542(図6中「I」として示される)を含んでいる。同様に、(ブロック501、505、510、520、522の各々などのための)反応装置ユニットモジュール・クラスオブジェクト410の各下位要素は、下位要素から作成されたインスタンスが「不存在」として設定されうるかどうかを示す「無視」プロパティ544を含んでいる。通常の技術を有する当業者であれば、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410は、それに加えて、又はその代わりとして、関連するモジュール・クラスオブジェクト52がないバルブ、センサなどの単純なオブジェクト且つ又はプロセスエンティティを定義且つ又は使用できることが容易に理解できるはずである。このような単純なオブジェクトもまた、関連する「無視」プロパティ544を持つことができる。
ここに開示される方法において、図6の実施例の「無視」プロパティ542および544は、PERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)という名称で、且つ、TRUE(真)又はFALSE(偽)の値(例えば、論理「1」または論理「0」)をとる、ブール値のフラグとして実施しうる。モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトの特定のインスタンスが作成される元となったモジュール・クラスオブジェクトの「無視」プロパティ542および544は、システム設定エンジニアが特定のインスタンスが物理的に不存在であるか否かを指定且つ又は設定することが可能且つ又は許可されているかを判定するために使用される。例えば、特定のモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのインスタンス用のモジュール・クラスオブジェクトの「無視」プロパティ542および544がTRUE(真)の値を有する場合、対応するモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトは、システム設定エンジニアにより「不存在」として決定され設定されうる。当然のことながら、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410の実施例の「無視」プロパティ542および544は既定値(例えば、FALSE(偽))を有しうる。
一般に、特定のサブオブジェクト501、502、503、504、505、510の「無視」プロパティ544は、関連するモジュール・クラスオブジェクトの値をとる。例えば、図6の実施例の反応装置ユニットモジュール・クラスオブジェクト410が、トータライザ・モジュールオブジェクト「酸」501を含むように定義され且つ又は作成された場合、「酸」501の「無視」プロパティ544は、トータライザ・モジュール・クラスオブジェクト416のその「無視」プロパティ542に基づいて設定される。但し、初期「無視」プロパティ544を設定する際にあらゆる種々様々な規則且つ又は方式を使用しうる(例えば、モジュール・クラスオブジェクトを参照するユニットモジュール・クラスオブジェクトの「無視」プロパティ542と等しいものにそれらを設定するなど)。あらゆる種々様々なインターフェース(複数可)もまた、個々の「無視」プロパティ542および544を設定する際に使用しうる。一例として、トータライザ設備モジュール・クラスオブジェクト(例えば、図7の実施例のモジュール・クラスオブジェクト416)の微調整バルブに対する「無視」プロパティ544を設定するインターフェースを、以下図9を参照しつつ説明する。
(関連するモジュール・クラスオブジェクトの「無視」プロパティにより許可されている場合)あるモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのインスタンスが不存在としてシステム設定エンジニアにより指定且つ又は設定されると、インスタンス化されたモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのパラメータ(図示せず)は、該モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトが不存在であることを示すように設定される。実施例のパラメータは、「_IGNORE」(無視する)の名称が指定されておりTRUE(真)又はFALSE(偽)(例えば、論理「1」又は論理「0」)の値を取るブール値のフラグである。ここの説明において例証される実施例において、パラメータはFALSE(偽)の既定値を持ち、よってモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトが存在することを示す。あるいは、既定値としてパラメータを未定義のままにした場合に、FALSE(偽)の値を持つものであると仮定される。当該モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのインスタンスを指定且つ又は設定するための実施例のインターフェースを、以下、図10に関連して説明する。
図7は、設備モジュール・クラスオブジェクトに関連する且つ又はその中に存在するエンティティを説明且つ又は定義するために使用しうる実施例のトータライザ設備モジュール・クラスオブジェクト416を示す。図7の実施例のトータライザ・モジュール・クラスオブジェクト416は、図2および図3の実施例のトータライザ101、102、110、101Mのいずれか又は全てを表現することができるモジュール・クラスオブジェクトを示す。通常の技術を有する当業者にとっては、図7の実施例に示される表現の構造且つ又は様態が図6の実施例の内容且つ又は構造に類似する一方、その適用範囲が原則として異なることは一目瞭然のはずである。よって当然の如く、通常の技術を有する当業者であれば、上記提示される図6の説明に照らし合わせることにより図7の示す実施例についても容易に理解できるはずである。
より具体的に、図7の実施例のトータライザ設備モジュール・クラスオブジェクト416は、粗調整バルブ550および微調整バルブ552という名前の制御モジュール・クラスオブジェクトと、流量計測器制御モジュール・クラスオブジェクトである流量計測器554という名前の制御モジュール・クラスオブジェクトと、これら要素間の相互接続の図示とを含む。図7の実施例の粗調整バルブ550および実施例の微調整バルブ552は、オン/オフ・タイプ制御モジュール・クラスオブジェクトを表す。図7の実施例の流量計測器554は流量計測器制御モジュール・クラスオブジェクトを表す。
さらにまた、図7の実施例のトータライザ設備モジュール・クラスオブジェクト416は、トータライザ警告表示モジュール・クラスオブジェクト560をはじめとする表示モジュール・クラスオブジェクトへの、並びに実施例の設備モジュール・クラスオブジェクト416において実施されうる一つ又は複数のアルゴリズム564への、実施例の参照を含んでいる。図7の実施例のアルゴリズム564の一覧には実施例のTOTALIZE_FAST(高速合計)指令および実施例のTOTALIZE_ACCURATE(精密合計)指令を含が、その他の指令且つ又はアルゴリズムを含んでも且つ又は使用してもよい。実施例の設備モジュール・クラスオブジェクト564に関連した且つ又は含まれた図7の実施例の指令アルゴリズム564は、例えば、コマンド方式アルゴリズム(CDA)、状態駆動方式アルゴリズム(SDA)、順次式フローチャート(SFC)アルゴリズム、機能ブロックダイヤグラム(FBD)アルゴリズム、フェーズ・アルゴリズムなど、所望のあらゆる形をとりうる。但し、一般的に言えば、実施例のアルゴリズム564の全てはCDA又はSDAなどの特定のタイプになる。もちろん、アルゴリズム564は、所望のあらゆる言語且つ又はプログラミング環境(例えば、C又はC++プログラミング環境、あらゆるシーケンシャルファンクションチャート・プログラミング環境、機能ブロック・プログラミング環境、等)で書くことが可能である。
図7の実施例のトータライザ設備モジュール・クラスオブジェクト416はまた、実施例の設備モジュール・クラスオブジェクト416から作成された(酸1および酸2、アルカリ1、アルカリ2、水_HDR1という名前の)一式の専有設備モジュールオブジェクト566(且つ、必要な場合は、それへの通信路)の指標を格納するあらゆる種々様々なリスト且つ又はメモリを含む。トータライザ設備モジュール・クラスオブジェクト416は同様に、設備モジュールオブジェクト566への変更の伝播を制御するためにグローバル変更パラメータ572且つ又はオブジェクトベースの変更パラメータ574 と共に使用されうる変更管理方法を含む一式の方法570を含んでいる。トータライザ設備モジュール・クラスオブジェクト416はまた、オブジェクトベースのセキュリティ・パラメータ582並びにグローバルセキュリティ・パラメータ580も含んでいる。変更およびセキュリティ・パラメータ572、574、580および582は、実質的に、図6の反応装置ユニットモジュール・クラスオブジェクト410の実施例の変更およびセキュリティ・パラメータに関連して上記されているように作動し、指令564を含む設備モジュール・クラスオブジェクト416の要素のいかなるものにも適用しうる。ここで説明を簡潔に保つために、更なる詳細に興味のある読者は、図6に関連して上記されている変更且つ又はセキュリティ・パラメータについての説明を参照されたし。
図6の実施例同様に、図7の実施例のトータライザ設備モジュール・クラスオブジェクト416は、実施例のトータライザ設備モジュール・クラスオブジェクト416から作成されたトータライザ・モジュールオブジェクトのインスタンスが「意図的な不存在」として識別されうるため、無視されるかどうかを示す(図7中、「I」として示される)グローバル「無視」プロパティ584を含む。同様に、(ブロック550 552および560の各々などのための)ユニットモジュール・クラスオブジェクト416の各下位要素は、下位要素から作成されたインスタンスが「不存在」として設定されうるかどうかを示す「無視」プロパティ586を含む。通常の技術を有する当業者であれば、図7の実施例の設備モジュール・クラスオブジェクト416が、それに加えて、又はその代わりとして、関連するモジュール・クラスオブジェクト52を有さないバルブやセンサなどの単純なオブジェクト且つ又はプロセスエンティティを定義且つ又は使用できる、ことが容易に理解できるはずである。このような単純なオブジェクトは、関連する「無視」プロパティ586を備えることもできる。「無視」プロパティ584および586の使用、設定且つ又は適用については、図6に関連して上記説明されるものに著しく類似しているので、「無視」プロパティ584,586についての更なる詳細に興味のある場合は、図6に関連して上記される説明を参照されたし。実施例のトータライザ設備モジュール・クラスオブジェクト416の微調整バルブ552の「無視」プロパティ586を設定するための実施例のインターフェースについて、以下、図9に関連して説明する。
関連する設備モジュール・クラスオブジェクトの「無視」プロパティにより許可されている場合に、設備モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのインスタンスが不存在としてシステム設定エンジニアにより指定且つ又は設定されると、インスタンス化された設備モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのパラメータ(図示せず)は、該設備モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトが不存在であることを示すように設定される。実施例のパラメータは、「_IGNORE」(無視する)の名称が指定されておりTRUE(真)又はFALSE(偽)(例えば、論理「1」又は論理「0」)の値を取るブール値のフラグである。ここの説明において例証される実施例において、パラメータはFALSE(偽)の既定値を持ち、よってモジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトが存在することを示す。あるいは、既定値として_IGNORE(無視)パラメータを未定義のままにした場合に、FALSE(偽)の値を有すると仮定される。当該モジュールオブジェクト、サブオブジェクト且つ又は単純なオブジェクトのインスタンスを指定且つ又は設定するための実施例のインターフェースを、以下、図10に関連して説明する。
望ましい場合は、図7の実施例の設備モジュール・クラスオブジェクト416は、設備モジュール・クラスオブジェクト用に格納される且つ又はそれに関連する文書(該設備又は該設備モジュール・クラスオブジェクト416に関連した設備のあらゆる下位要素に関連した文書を含む)への参照599、URL又はその他の参照、を含みうる。同様に、実施例の設備モジュール・クラスオブジェクト416のあらゆるアルゴリズム(実施例のアルゴリズム564のいずれかなど)は、暗号化されうる、且つ又はこれらのアルゴリズム564を暗号化且つ又は復号化するそれに関連するセキュリティ・パラメータを有しうる。所望の場合、このような暗号化且つ又は復号化は方法570の一つにより行われうる。
図1に戻って参照するに、実施例のプロセス工場10を設定するために、システム設定エンジニアが必要に応じて設定用アプリケーション50に関連したライブラリ内にユニット、設備、制御および表示モジュール・クラスオブジェクトを作成する。いくつかの実施例において、システム設定エンジニアは、制御且つ又は表示モジュールクラスなどの適用範囲が下位のエンティティを作成してから、適用範囲が下位のエンティティを使用且つ又は参照する設備且つ又はユニットモジュール・クラスオブジェクトなどの適用範囲が高位のエンティティのモジュール・クラスオブジェクトを開発する。その後、システム設定エンジニアは、工場内の各プロセスエンティティに対して選択されたモジュール・クラスオブジェクトに対応する実際のモジュールオブジェクトを作成するために、必要に応じて、モジュール・クラスオブジェクトを選択且つ又は指定できるようになる。繰り返された設備の設定を行なう場合、システム設定エンジニアは同じモジュール・クラスオブジェクトから繰り返された設備の各インスタンスのモジュールオブジェクトを作成することになる。よって、システム設定エンジニアは、図1の実施例の反応装置を表す反応装置ユニットモジュール・クラスオブジェクトを作成しうる。ことによっては反応装置ユニットモジュール・クラスオブジェクトにより参照されるその他のモジュール・クラスオブジェクトの作成を(このようなその他のモジュール・クラスオブジェクトがライブラリ内にまだ存在しない場合は)含みうる。その後、システム設定エンジニアは、反応装置ユニットモジュール・クラスオブジェクトから図1の実施例の反応装置である反応装置_01、反応装置_02および反応装置_03の各々に対する反応装置ユニットモジュールオブジェクトを作成することにより、プロセスを設定しうる。
モジュール・クラスオブジェクトから一つ又は複数のモジュールオブジェクトを作成した後に、システム設定エンジニアは作成されたモジュールオブジェクト(サブオブジェクト且つ又は被参照オブジェクトを含む)を、プロセス工場10の特定の設備に結び付けてもよい。ユニットモジュールオブジェクトが単一のユニットモジュール・クラスオブジェクトに関連しているので、別名、パラメータおよび異なるユニットモジュールオブジェクトのためのその他の変数は、例えばスプレッドシートアプリケーションなどのバルク処理アプリケーションを使用して共に指定できる。もちろん、モジュールオブジェクトを特定の設備に結び付けることにより、システム設定エンジニアは、コントローラ12A-C内の制御ルーチン且つ又は制御モジュールにより使用される制御変数および通信路名を現実に指定することになる。この作業は、プロセス工場10の稼動中に制御作業を行うため、且つ又は、プロセス工場10の稼動中に例えばワークステーション14A-Cにおいて表示ルーチンにより使用される変数を表示するためになされる。いったん結合作業が完了すれば、その後、システム設定エンジニアは、実施例のコントローラ12A-Cに結合済制御ルーチンをダウンロードし、実施例のワークステーション14A-Cに結合済表示ルーチンをダウンロードしうる。
モジュール・クラスオブジェクトの作成、モジュールオブジェクト、サブオブジェクト且つ又は被参照オブジェクトのインスタンス化は、あらゆる種々様々なアプリケーション(複数可)、ユーザーインタフェース(複数可)、画面(複数可)、方法(複数可)、且つ又はプロセス(複数可)を使用して行いうる。実施例のモジュール・クラスオブジェクト、コンフィギュレーション・システム且つ又は方法は、米国特許第7,043,311号に記載されており、その内容はその全体にわたりここに参照することにより援用される。
図8、図9、図10、図11、図12および図13は、例えば、システム設定エンジニアが実施例のプロセス工場10を設定するためにモジュール・クラスオブジェクトを作成、設定且つ又は使用する過程において図1の実施例の設定用アプリケーション50によって作成されうる、画面表示、ユーザーインタフェース、ダイアログボックス且つ又はウィンドウ画面を表す。実施例の設定用画面、ユーザーインタフェース、ダイアログボックス且つ又はウィンドウ画面が図8-13に示されているが、通常の技術を有する当業者にとっては、種々様々な設定用表示欄(複数可)、画面(複数可)、インターフェース(複数可)、ダイアログボックス(複数可)、且つ又はウィンドウ画面(複数可)のあらゆるものがモジュール・クラスオブジェクト且つ又はモジュールオブジェクトを設定且つ又は描写するために提示且つ又は使用されうることが一目瞭然のはずである。よって当然の如く、図8-13の実施例は単に本発明の実施態様の説明のための一例にすぎない。
一般に、通常の技術を有する当業者ならば容易に理解できるように、図8、図11および図12の図示される実施例において、検索用(explorer)表示欄が画面の左側に含まれる、且つ又は、プロセス工場10の実施例の設定の一部分を表す組織階層ツリー構造を提供するユーザーインタフェースが含まれる。同様に、図8、図11および図12の実施例のほとんどにおいて、左側の検索用表示欄で選択された要素の一つについてのさらに詳しい情報を提供する一つ又は複数の情報表示欄が画面の右側に含まれる。ユーザに表示できる且つ又は情報表示欄においてユーザが変更できる情報は、異なるモジュール・クラスオブジェクト且つ又はそれの下位要素のそれぞれに対して設定されている、図6且つ又は図7の実施例の制御且つ又はセキュリティ・パラメータ534、536、538、540、572、574、580且つ又は582、且つ又は実施例の「無視」プロパティ542、544、584且つ又は586 により、決定且つ又は制御されうる。よって、探索用表示欄内の特定の要素は、モジュール・クラスオブジェクト(複数可)において設定され且つ探索用表示欄に描写されるモジュールオブジェクトに伝播された「無視」プロパティ、且つ又はセキュリティおよび制御パラメータに基づいて変更且つ又は表示する目的で、ユーザに表示可能且つ又は露出しうる。もちろん、上述のように、特定の情報を常に非表示に設定することも、パスワード且つ又はその他の暗証番号を入力したユーザによってだけ表示可能且つ又は変更可能にすることも、常時表示可能にするが変更はできないようにすることも、常時表示可能かつ変更可能にすることも、又は、これらの又はその他のセキュリティ・変更のパラメータ且つ又は「無視」プロパティの組合せとすることも可能である。さらにまた望ましい場合は、要素の表示可能性且つ又は変更可能性をハイライト表示、影付け、色付け、又はその他の手法を使用して探索用表示欄に示して、どの要素が更なる詳細を表示できるのか且つ又は変更できるのかをユーザに知らせるようにしてもよい。
いくつかの実施例において、グラフィカルユーザーインターフェース(GUI)は、モジュール・クラスオブジェクト且つ又はモジュールオブジェクトを使用するプロセス工場の制御構造を表す、視覚化する、且つ又は構築する際に使用しうる且つ又は有用である。このようなインターフェースは、いくつかの実施例において、システム設定エンジニアがプロセス工場の描写を構築すること且つ又はプロセス工場を設定することを可能にする探索用表示欄且つ又はウィンドウ画面を提供する。探索用表示欄を提供するために、図8の実施例の画面800は、表示800の左側に描写された部分802を含んでいる。図8の実施例の検索部分802は、モジュールクラスのリストを描写する上方部804、およびモジュールオブジェクトのリストを描写する下方部806を含んでいる。図8の実施例において、モジュールクラスおよびモジュールオブジェクトは、検索用表示欄802において階層的に描写される。例えば、実施例のトータライザ設備モジュールクラス808(例えば、図7の実施例のトータライザ設備モジュール・クラスオブジェクト416に対応する)は、設備モジュールクラスのライブラリ810に属する。示されるように、実施例のトータライザ・モジュール・クラス808は、粗調整バルブ、微調整バルブ、モニター画面などを含む多数の下位要素への指標且つ又は参照を含んでいる。実施例のトータライザ・クラスオブジェクト808が実施例の画面800で選択されているので、トータライザ・クラスオブジェクト808の要素は、画面800の右上812に、より詳細に描写される。
同様に、実施例のトータライザ・モジュールオブジェクト814、816および818は、実施例の反応装置モジュールオブジェクト820(例えば、図1の実施例の反応装置_01に相当する)により参照される。図8の実施例の酸1トータライザ・モジュールオブジェクト814 (例えば、図2の実施例のトータライザ101に相当する)が実施例の画面800で選択されているので、「酸1」トータライザ・モジュールオブジェクト814の要素は、画面800のより右下822に、より詳細に描写される。
GUIの多くは、一つ又は複数のパラメータ且つ又はオプションを設定する上で一貫した且つ又は分かり易い方法を提供するために、ダイアログボックスを採用する。例えば、ダイアログボックスは、モジュール・クラスオブジェクト且つ又はモジュールクラスのインスタンスのプロパティ且つ又はパラメータを選択且つ又は設定するのに使用されうる。図9は、モジュール・クラスオブジェクトの一つ又は複数のプロパティ(例えば、微調整バルブ制御モジュール・クラスオブジェクト用のプロパティ)を設定するための実施例のダイアログボックスを示す。このような微調整バルブ制御モジュール・クラスオブジェクトは、「トータライザ」設備モジュール・クラスオブジェクト(例えば、図5且つ又は図7の実施例のモジュール・クラスオブジェクト416)の一部として使用されうる。通常の技術を有する当業者にとっては、一つ又は複数の類似した且つ又は異なるダイアログボックスがモジュール・クラスオブジェクトのプロパティ且つ又はパラメータを設定するのに使用されうることは一目瞭然のはずである。さらに、設定ダイアログボックスには、モジュール・クラスオブジェクトのあらゆる種々様々なプロパティ且つ又はパラメータを設定するための、あらゆる数且つ又はタイプのチェックボックス(複数可)、選択リスト(複数可)、テキストボックス(複数可)などを含みうる。一般に、選択且つ又は設定されうるプロパティ且つ又はパラメータのタイプ且つ又は数、且つ又は、ダイアログボックス(複数可)、ダイアログボックス要素(複数可)のタイプ且つ又は数は、特定のモジュール・クラスオブジェクト特有のものである。
システム設定エンジニアが微調整バルブ制御モジュール・クラスオブジェクトから作成された特定のモジュールオブジェクトのインスタンスを「不存在」として識別且つ又は設定することを可能にするために、図9の実施例のダイアログボックスはチェックボックス905含んでいる。微調整バルブ制御モジュール・クラスオブジェクトの対応する「無視」プロパティを設定するために、図9の実施例のチェックボックス905の選択且つ又は選択解除が行われる。チェックボックス905が選択されると(例えば、チェックマークが表示されると)、PERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)のプロパティがTRUE(真)に設定される。それ以外の場合は、PERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)のプロパティはFALSE(偽)に設定される、且つ又は未定義のままとなる。PERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)のプロパティが未定義のままになっている場合、それは結果としてFALSE(偽)であると仮定される。
図10は、モジュールオブジェクト(例えば、特定のトータライザ・モジュールオブジェクトの微調整バルブ)の一つ又は複数のパラメータを設定するための実施例のダイアログボックスを示す。通常の技術を有する当業者にとっては、一つ又は複数の類似する且つ又は異なるダイアログボックスは、モジュールオブジェクトのプロパティ且つ又はパラメータを設定するのに使用されうることが一目瞭然のはずである。なおまた、設定ダイアログボックスは、モジュールオブジェクトの種々様々なプロパティ且つ又はパラメータのあらゆるものを設定するためのあらゆる数且つ又はタイプのチェックボックス(複数可)、選択リスト(複数可)、テキストボックス(複数可)などを含みうる。一般に、ダイアログボックス要素のタイプ且つ又は数、且つ又は選択且つ又は設定されうるプロパティ且つ又はパラメータのタイプ且つ又は数は、特定のモジュールオブジェクト特有のものである。それに加えて、又はその代わりとして、特定のオブジェクト・モジュールが不存在であるか否かは、オブジェクト・モジュールをプロセス工場の実際の設備に結合且つ又は関連づけるのに使用されるバルクの編集方法、ツール且つ又はアプリケーション(例えば、スプレッドシート)を介して設定されうる。
システム設定エンジニアが特定のオブジェクト・モジュールが不存在であるか否かを識別且つ又は設定することを可能とするために、図10の実施例のダイアログボックスにはチェックボックス1005が含まれている。図10の実施例のチェックボックス1005は、微調整バルブ制御モジュールオブジェクトの対応する_IGNORE(無視)パラメータを設定するために選択且つ又は選択解除される。チェックボックス1005が選択されている場合(例えば、チェックマークが表示されている場合)、_IGNORE(無視)パラメータがTRUE(真)に設定される。それ以外の場合は、_IGNORE(無視)パラメータがFALSE(偽)に設定される、且つ又は未定義のままとなる。_IGNORE(無視)パラメータが未定義のままの場合、それは結果としてFALSE(偽)であると仮定される。
関連するモジュール・クラスオブジェクトのPERMIT_INSTANCES_2B_ IGNORED(インスタンスの無視を許可)のプロパティがTRUE(真)に設定されている場合のみ、図10の実施例のチェックボックス1005が有効となる。関連するモジュール・クラスオブジェクトのPERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)のプロパティがFALSE(偽)である場合、且つ又は未定義の場合、チェックボックス1005は無効化され(例えば、「灰色に影付けされ」)、システム設定エンジニアが、対応する_IGNORE(無視)のパラメータを設定するためにチェックボックス1005を選択且つ又は選択解除することができなくなる。
図11は、図8の実施例の設定用画面が、「酸1」トータライザ・モジュールオブジェクト814の微調整バルブモジュールオブジェクト1105が「不存在」としてシステム設定エンジニアによりマーキング、設定且つ又は識別された状態を示す。例えば、システム設定エンジニアは、「不存在」として設定され且つ又は識別すべき「トータライザ」モジュールオブジェクトの微調整バルブをアクティブにするために、図9の実施例のダイアログボックスを使用できる。システム設定エンジニアがトータライザ・モジュールオブジェクト(例えば、図11の実施例のオブジェクト1105)の特定の微調整バルブのいずれかを「不存在」として識別することが許可されると、システム設定エンジニアはその後、例えば、図10の実施例のチェック・ボックス1005を使用して微調整バルブモジュールオブジェクト1105を「不存在」として識別できるようになる。
図11に示されるように、微調整バルブモジュールオブジェクト1105が「不存在」として識別、設定、且つ又はマーキングされたので、微調整バルブモジュールオブジェクト1105は「不存在」として表される。図示する実施例においては、モジュールオブジェクト1105の名前の左側のグラフィック1110が変更され(例えば、小さな斑点で覆われ)、「<ignored>」(無視状態)1115がその名前の前に表示される。「酸1」モジュールオブジェクト814に関係する付加的なデータ、詳細且つ又は情報を提供する画面800の部分822においても同様に、微調整バルブが図11に示されるように非結合状態として識別される。
図12は、図 11の実施例の「酸1」モジュールオブジェクト814の代替的な表示欄且つ又は描写を示す実施例の画面1200である。図12の実施例の画面1200は、例えば、実施例の「酸1」モジュールオブジェクト814のためのあらゆる種々様々なパラメータ且つ又は制御態様を設定するために使用しうる。微調整バルブモジュールオブジェクト1105が制御エンジニアにより不存在として識別且つ又は設定されたので、微調整バルブは図12において「<ignored>」(無視状態)1205として示されるように不存在として表示される。その結果、制御エンジニアは、微調整バルブを特定の物理的バルブに結び付ける、且つ又は微調整バルブのパラメータを設定することができない。
いくつかの実施例において、制御ルーチンは、テキストベースのスクリプト言語且つ又はプログラミング言語を使用して書かれる且つ又は表される。このような実施例において、制御ルーチンの作成且つ又は修正変更を援助するツールが、制御且つ又はシステム設定エンジニアにより使用されうる。図13は、例えば図7の実施例のトータライザ設備モジュール・クラスオブジェクト416の制御ルーチンの詳細且つ又は制御ルーチンのステップを表示且つ又は作成する際に使用しうる、別の実施例の画面表示1300(例えば、ポップアップ・ウィンドウ1300)を示す。ここに示される実施例において、微調整バルブモジュールオブジェクト1305の_IGNORE(無視)パラメータは、制御ルーチンの流量且つ又は実行を制御するためにテスト、且つ又は使用される。図13に図示される実施例の制御ルーチンが特定のトータライザ設備モジュールオブジェクト(例えば、図2の実施例のトータライザ101)用に実行且つ又は遂行されると、被参照_IGNORE(無視)パラメータは、制御されている特定のトータライザ設備モジュールオブジェクトの微調整バルブ用_IGNORE(無視)パラメータへと解消される。よって当然の如く、図13の実施例の制御ルーチンを、それらの関連する微調整バルブが存在するか否かに関係なく、トータライザ・モジュールオブジェクト用に利用できる。このように、トータライザ設備モジュール・クラスオブジェクト416の制御ルーチンは、不存在の設備を有するモジュールオブジェクト(つまりトータライザ・モジュールオブジェクトの変形版)を収納するように書込める、且つ又は構築できる。
図13の実施例において、パラメータFINE_VALVE/SETPOINT(微調整バルブ/設定点)1310は、微調整バルブが不存在でない(例えば、FINE_VALVE/_IGNORE(微調整バルブ/無視)の値がTRUE(真)ではない)場合にのみ設定される。よって、図13に示されるように、不存在の設備用のコードが実行されないように、_IGNORE(無視)パラメータをテストできる。その結果、図13の実施例のルーチンが実際に実行且つ又は遂行されると、不存在の設備用のコードが実行且つ又は遂行されたことにより生じる可能性のあるエラーメッセージ且つ又はフラグが抑制されうる、もしくはシステム・オペレータ且つ又はユーザに生成且つ又は提示されないようにしうる。
通常の技術を有する当業者にとっては、_IGNORE(無視)パラメータは、あらゆる種々様々なコード文、組合せにおいて、且つ又はあらゆる種々様々な付加的条件文と共に使用しうることが一目瞭然のはずである。例えば、粗調整バルブの_IGNORE(無視)パラメータもチェックすることとできる。
通常の技術を有する当業者ならば、あらゆる種々様々な類似した様態において、システム設定エンジニアがここにおいて説明された原則に従ってプロセス制御環境内のユニット、設備、制御要素および表示要素のための設定要素を作成するために、設備を不存在として設定できるようにし、特定の設備を不存在として設定し、且つ又はその他のユニットモジュール・クラスオブジェクトや設備モジュール・クラスオブジェクトおよび制御モジュール・クラスオブジェクト並びに表示モジュール・クラスオブジェクトを使用しうることが容易に理解できるはずである。また、当然のことながら、本質的にかなりの詳細情報を含みうるモジュール・クラスオブジェクトは、設定を作成する際にシステム設定エンジニアにとって非常に有利である。というのも、エンジニアは、個々の制御要素を別々に作成したり個々の制御要素を別々に制御テンプレートからコピーしたりする必要がなく、それどころか、プロセス工場10の設定で使用されるますます大きなバルク状構造体を作成するためにますます高いレベル又はますます広い適用範囲に備えられるモジュール・クラスオブジェクトを使用できるからである。さらに、特定のモジュールオブジェクト且つ又はモジュールオブジェクトの特定の一部分を意図的に「不存在」として設定できることによって、ますます多くの数、適用範囲、且つ又は種類の繰り返された設備においてモジュール・クラスオブジェクトを再利用できるので、システム設定エンジニアは更なる柔軟性且つ又は能力を得ることができる。
システム設定エンジニアはまた、ユニットモジュール・クラスオブジェクトの一つ又は複数を変更し、当該ユニットモジュール・クラスオブジェクトから作成された且つそれに関連したモジュールオブジェクトの各々に対してその変更を伝播することにより、グローバルなレベルで、異なるプロセスエンティティの設定要素に変更を加えることができる。この機能によって、設定が既に作成された後は、設定内の変更がより簡単になり、且つ又は、作成する際にさほど多くの時間がかからなくなる。なおまた、システム設定エンジニアは、モジュール・クラスオブジェクト内でセキュリティ・パラメータを設定することにより、コンフィギュレーション・システム内のモジュールオブジェクトの異なる要素又は構成素へのアクセスレベルを指定しうる。上記されるように、システム設定エンジニアは、ユニットモジュール・レベル、設備モジュール・レベル、制御モジュール・レベルおよび表示モジュール・レベルになどのあらゆるレベルにおいて、モジュールごとにセキュリティを指定しうる。このように、ユニットモジュールオブジェクトの要素の中には表示可能のものもあり、表示不可のものもありうる。さらにまた、不存在の設備を意図的に設定且つ又は識別できるという柔軟性の恩恵を受け、システム設定エンジニアはこれまでになく広範囲に設定変更を適用させることができる。例えば、システム設定エンジニアは、不存在となっている設備の複数の変形を組み入れるモジュール・クラスオブジェクトを定義できる。その結果、モジュール・クラスオブジェクトに変更を加えると、意図的に不存在として設定された設備を持つモジュールオブジェクトを含め、モジュール・クラスオブジェクトから作成された全てのモジュールオブジェクトに対してその変更を自動的に伝播且つ又は適用できる。
もちろん、いったんシステムの設定が完了してモジュールオブジェクトがプロセス工場10内の個々のプロセスエンティティに結合されると、これらのモジュールに関連した制御および表示モジュール又は要素が、図1の適切なコントローラ12A-Cおよびワークステーション14A-Cに提供されて、プロセス工場10の稼動中に実行されうる。制御且つ又は表示モジュール又は要素は、コントローラにそれらをダウンロードする手段、ダウンロードスクリプトの使用、コントローラによりそれらを読み出す手段、ダウンロードスクリプトを使用してそれらを読み出す手段、コントローラのメモリにそれらを書き込む手段などを含む(但し、これに限定されるものではない)あらゆる種々様々な手段を介して提供されうる。
いくつかの実施例のプロセス工場において、複数のプロセスエンティティに関する多数の制御ルーチン且つ又は設定データを一つ又は複数のコントローラにダウンロードすることを容易にするためにスクリプトが使用される。例えば、ダウンロードスクリプトは、どのルーチン又はデータをダウンロードすべきか、どのルーチン又はデータによりダウンロードすべきか、どのルーチン又はデータが提供且つ又は取得されるかを定義且つ又は整理できる。図14は、制御ルーチン且つ又は設定データ且つ又はパラメータを例えば図1の実施例のコントローラ12A-Cのいずれかにダウンロードするのに使用さるダウンロードスクリプトの実施例の節(例えば、行)を示す。あらゆる数の且つ又は種類のオブジェクト且つ又はモジュールオブジェクトに対するあらゆる数の節を使用して、ダウンロードスクリプトを形成しうる。実施例のダウンロードスクリプトにおいて、スクリプトの各行は、図14に示されるように構成され、各行が特定のオブジェクト且つ又はモジュールオブジェクトに対応するようになっている。
ダウンロード節が示すところのモジュールオブジェクトを識別するために、図14の実施例のダウンロードスクリプトの節は、特定のタイプのモジュールオブジェクトを識別する識別子フィールド1405を含む。図14の実施例において、識別子フィールド1405は微調整バルブを識別する。
この実施例において、被参照微調整バルブは意図的に不存在なものとして設定されているので、図14の実施例のダウンロードスクリプトの節は無視フィールド1410を含んでいる。図14の実施例の無視フィールド1410は「IGN」という標識が付けられたブール・フィールドである。識別子フィールド1405により参照されたモジュールオブジェクトは不存在であり、実施例のIGNフィールド1410はTRUE(真)に相当する「T」の値を有する。被参照モジュールオブジェクトが不存在でない場合、実施例のIGNフィールド1410はFALSE(偽)に相当する「F」の値を有するはずである。あるいは、IGNフィールド1410を省略し、設備が存在するはずだと受信コントローラ12A-Cが仮定するようにしてもよい。
図14の実施例ダウンロードスクリプトを介して制御ルーチン且つ又は設定データ且つ又はパラメータを受信するコントローラ(例えば、実施例のコントローラ12A-Cの一つ)は、不存在として設定される設備はどれかを決定するためにIGNフィールド1410の値を使用できる。よって当然の如く、コントローラは、不存在となっている設備の状態を無視することができ、それによって、結合されていない、欠品している且つ又は設定されていない設備を原因とするエラーメッセージ且つ又は警告を発しないようになっている。
図14には実施例のダウンロードスクリプトの節が示されているが、通常の技術を有する当業者にとっては、ダウンロードスクリプト且つ又はダウンロードスクリプトの節があらゆる種々様々な代替的且つ又は付加的なフィールドを使用して構築されうることが一目瞭然のはずである。なおまた、図14に示されるフィールドは、あらゆる種々様々な方法により、混合、分裂、分割、再配列しうる。
上記される実施例の(例えば、モジュールオブジェクトのパラメータを設定するための、ダウンロードスクリプトを作成するための、且つ又はダウンロードスクリプトを処理するための)方法且つ又は処理工程のいかなるものは、プロセッサ、コントローラ、コンピューター、ワークステーションなどにより実行されるプログラム、アプリケーション且つ又はユーティリィティを使用して実施できる。図15、図16および図17は、記載の順にめいめい、モジュールオブジェクトのパラメータを設定するため、ダウンロードスクリプトを作成するため、ダウンロードスクリプトを処理するために使用且つ又は遂行される実施例の方法を示すフローチャートである。図15、図16且つ又は図17の実施例の方法は、プロセッサ、コントローラ且つ又はその他の適切な処理装置により実行される機械アクセス可能指示を使用して実施されうる。例えば、図15、図16且つ又は図17の実施例の方法を実施するのに使用される機械アクセス可能指示は、プロセッサ(例えば、図1の実施例のプロセッサ23且つ又は図18に関連して後述されるプロセッサ1805)に関連したフラッシュ・メモリー、ROM且つ又はRAMなどの有形媒体に格納されたコード化指令で具体化されうる。あるいは、図15、図16且つ又は図17の実施例の方法のいくつか又は全ては、あらゆる種々様々な特定用途向け集積回路(ASIC)(複数可)、プログラム可能論理装置(PLD)(複数可)、フィールド・プログラム可能論理装置(FPLD)(複数可)、ディスクリート(単機能)論理、ハードウェア、ファームウェアなどを使用して実施されうる。また、図15、図16且つ又は図17の実施例の方法のいくつか又は全ては、マニュアル操作で、又は前述のあらゆる技術のあらゆる組み合わせ(複数可)(例えばファームウェア、ソフトウェア、ディスクリート論理且つ又はハードウェアのあらゆる組み合わせ)として、実施されうる。さらに、図15、図16且つ又は図17の実施例の方法は、図15、図16および図17のフローチャートを参照して説明されているが、通常の技術を有する当業者ならば、モジュールオブジェクトのパラメータを設定するため、ダウンロードスクリプトを作成するため、且つ又はダウンロードスクリプトを処理するために、その他の多くの方法が採用されうることが容易に理解できるはずである。例えば、ブロックの実行順序は変更されうるものであり、且つ又は、記載されているブロックのいくつかは、変更、削除、再分割、又は結合されうるものである。さらに、通常の技術を有する当業者であれば、図15、図16且つ又は図17の実施例の方法が、例えば、別の処理スレッド、プロセッサ、装置、ディスクリート論理、回路などにより、連続して遂行されうる、且つ又は平行して遂行されうるものである、ことが容易に理解できるはずである。
図15の実施例の方法はモジュールオブジェクトのパラメータを設定するために実行且つ又は遂行されうる。例えば、システム設定エンジニアが設定するべきモジュールオブジェクトを選択すると、図15の実施例の方法が開始する。モジュール・インスタンスを無視すべきことをシステム設定エンジニアにより(例えば、図9の実施例のチェックボックス905を介して)識別することが許されている場合(ブロック1505)、設定用ウィンドウ、表示画面、ダイアログボックスなどの一つ又は複数の付加的且つ又は代替的な要素(例えば、図10の実施例のチェックボックス1005)が有効になる(ブロック1510)。このような要素は、設備の不存在を識別又は設定するシステム設定エンジニアにより使用されうる。ブロック1505においては、モジュールオブジェクトが作成された元となっているモジュール・クラスオブジェクトのPERMIT_INSTANCES_2B_IGNORED(インスタンスの無視を許可)のプロパティを使用して、例えば、モジュール・インスタンスを無視する設定が許容されているか且つ又は有効になっているかどうかを判断できる。その後、制御がブロック1515に移る。
ブロック1505に戻り、システム設定エンジニアがモジュール・インスタンスを無視されるように設定できない場合(ブロック1505)、制御は、設定ウィンドウ、表示画面、ダイアログボックスなどの付加的且つ又は代替的な要素を有効にしないでブロック1515に移る。
ブロック1515において、システム設定エンジニアがモジュールオブジェクトのパラメータを設定することを可能にする設定ウィンドウ、表示画面、ダイアログボックスなどが表示される(ブロック1515)。システム設定エンジニアがモジュール・インスタンスを無視されるように設定できる場合、設定ウィンドウ、表示画面、ダイアログボックスなどの追加的な要素が、ブロック1510で設定されたとおりに有効化される。いったんシステム設定エンジニアがモジュールオブジェクトの設定し且つ又は変形版の作成を完了し、例えば、提示されている設定ウィンドウ、表示画面、ダイアログボックスなどの「OK」のボタンを押すと(ブロック1520)、例えば設備を不存在として設定するためのチェックボックスの状態が決定される(ブロック1525)。設備が不存在として設定されると(例えば、図10の実施例のチェックボックス1005が選択されると)(ブロック1525)、例えば、モジュールオブジェクトの_IGNORE(無視)パラメータをTRUE(真)に設定することにより設備が不存在状態のものとしてマーキングされる(ブロック1530)。その後、制御が、図15の実施例の方法から出る。しかしながら、設備が不存在として設定されない場合(例えば、図10の実施例のチェックボックス1005が選択されない場合)(ブロック1525)、モジュールオブジェクトの_IGNORE(無視)パラメータをFALSE(偽)に設定することにより設備が存在状態のものとしてマーキングされる(ブロック1535)。その後、制御が、図15の実施例の方法から出る。あるいは、ブロック1535で、_IGNORE(無視)パラメータを未定義のままにしておくこともできる。
図16の方法は、プロセスコントローラ(例えば、図1の実施例のコントローラ12A-Cのいずれか)のダウンロードスクリプトを作成するのに使用されうる。特定のプロセスコントローラに関連した当該のモジュールオブジェクトを対象に、基本ダウンロードスクリプトの節は作成される(ブロック1605)。当該のモジュールオブジェクトが不存在のものとして設定される場合(例えば、その_IGNORE(無視)パラメータがTRUE(真)に設定される場合)(ブロック1610)、モジュールオブジェクトを不存在として識別するフィールド(例えば、図14の実施例のIGNフィールド1410)が、基本ダウンロードスクリプトの節に追加される(ブロック1615)。処理すべきモジュールオブジェクトが残っている場合(ブロック1620)、制御は次のモジュールオブジェクトを処理するためにブロック1605に戻る。残っているモジュールオブジェクトがない場合(ブロック1620)、制御は図16の実施例の方法から出る。
ブロック1610に戻り、当該のモジュールオブジェクトが不存在のものとして設定されない場合(例えば、その_IGNORE(無視)パラメータがFALSE(偽)に設定される場合)(ブロック1610)、制御は、処理すべきモジュールオブジェクトが残っているかどうかを判断するために、ダウンロードスクリプトの節に更なるフィールドを追加しないでブロック1620に移る。
図17の方法は、プロセスコントローラ(例えば、図1の実施例のコントローラ12A-Cのいずれか)でダウンロードスクリプトを処理するのに使用されうる。ダウンロードスクリプトの節は、ダウンロードスクリプトから抽出且つ又は読み出され、節の様々なフィールドを取得するためにパーズ(解析)される(ブロック1705)。節に対応する当該のモジュールオブジェクトが不存在として設定されると、(例えば、図14の実施例のIGNフィールド1410がTRUE(真)に設定されると)(ブロック1710)、コントローラは、モジュールオブジェクトに対応する制御ルーチンエラー且つ又は設定を無視するように設定される(ブロック1715)。処理すべき節がまだ残っている場合(ブロック1720)、制御は次の節を処理するためにブロック1705に戻る。処理すべき節が存在しない場合(ブロック1720)、制御は、図17の実施例の方法から出る。ブロック1710に戻り、当該のモジュールオブジェクトが不存在のものとして設定されない場合(例えば、図14の実施例のIGNフィールド1410がFALSE(偽)に設定される場合)(ブロック1710)、処理すべきダウンロードスクリプトの節があるかどうかを判断するために、制御はブロック1720に移る。
図18は、図1の実施例のコントローラ12A-C又は実施例のワークステーション14A-Cを実施するために使用且つ又はプログラムされうる、実施例のプロセッサ・プラットフォーム1800の概略図である。例えば、プロセッサ・プラットフォーム1800は、一つ又は複数の凡用プロセッサ、コア、マイクロコントローラなどにより実施できる。
図18の実施例のプロセッサ・プラットフォーム1800は、少なくとも一つの汎用プログラム可能プロセッサ1805を含んでいる。プロセッサ1805は、プロセッサ1805のメインメモリー(例えば、RAM 1815且つ又はROM 1820内の)の中に存在するコード化された指令1810且つ又は1812を実行する。プロセッサ1805は、プロセッサコア、プロセッサ且つ又はマイクロコントローラなどあらゆるタイプの処理装置でありうる。プロセッサ1805は、(その他数ある中でも特に)図15、図16および図17の実施例の方法を、記載の順にめいめい、モジュールオブジェクトのパラメータ設定を行うため、ダウンロードスクリプトを作成するため、および、ダウンロードスクリプト処理するために、実行しうる。プロセッサ1805は、バス1825を介して、メインメモリー(ROM 1820およびRAM 1815を含む)と通信し合う。RAM 1815は、DRAM、SDRAM且つ又はその他あらゆるタイプのRAM装置により実施されうる。ROM 1820は、フラッシュ・メモリー且つ又はその他所望のタイプのメモリ装置により実施されうる。メモリ1815および1820へのアクセスはメモリ制御器(図示せず)により制御されうる。RAM 1815は、例えば、制御データ記憶機構20,22、設定データベース25、制御ルーチン19A-C、且つ又はモジュール・クラスオブジェクト52、53、54、55且つ又は56の実施例のライブラリを格納且つ又は実施するために使用されうる。
プロセッサ・プラットフォーム1800はまた、インターフェース回路1830も含んでいる。インターフェース回路1830は、外部メモリインターフェース、シリアルポート、汎用入出力などのあらゆるタイプのインターフェース標準により実施されうる。一つ又は複数の入力装置1835および一つ又は複数の出力装置1840が、インターフェース回路1830に接続される。入力装置1835且つ又は出力装置1840は、例えば、実施例のワークステーション14A-C、実施例のコントローラ12A-C、且つ又はあらゆる種々様々な制御装置を通信可能に連結するために使用されうる。
特定の実施例の方法、機器および製造品がここにおいて記載されているが、この特許の適用領域の範囲はそれに限定されるものではない。これらの実施例は、本発明の実施態様を説明する実施例として記載されているにすぎず、何ら限定をするものではない。そればかりでなく、本特許は、文言的にもしくは均等論に基づいて添付の特許請求の範囲に公正に含まれる方法、機器および製造品の全てを網羅するものである。