(57)【要約】【課題】プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法、このような修正を可能とする動的モディファイア機能ブロック、及び機能ブロックを提供する。【解決手段】本発明の機能ブロックは、プロセス制御システムでの使用に向けて機械可読媒体に格納され、プロセス制御システムと関連したアルゴリズムを機械に実行させる基礎機能ブロックと、少なくとも一つの動的モディファイア機能ブロックを機械に削除又はインスタンス化させる該基礎機能ブロックの中にある少なくとも一つの属性を含む。【選択図】図７
2008090846.tif 000002
【特許請求の範囲】
【請求項１】
動的モディファイア機能ブロックをインスタンス化又は削除するように構成された基礎機能ブロックを含む機能ブロックの動作を修正変更する方法であって、
機械のメモリに機能ブロックを格納することと、
基礎機能ブロックに関連した修正変更可能な属性を少なくとも一つメモリに格納することからなり、
前記修正変更可能な属性を、機械に動的モディファイア機能ブロックをメモリにおいてインスタンス化させるための第１の値、又は、機械に動的モディファイア機能ブロックをメモリから削除させるための第２の値に設定することができることを特徴とする方法。
【請求項２】
前記機能ブロックが、複数の通信可能に連結された機能ブロックを使用してプロセス制御ルーチンを実行するプロセス制御システムと関連することを特徴とする請求項１に記載の方法。
【請求項３】
前記複数の通信可能に連結された機能ブロックの各々が、別の複数の通信可能に連結された機能ブロックのうちの一つ以上に対して少なくとも一つの出力信号を提供し、別の複数の通信可能に連結された機能ブロックのうちの一つ以上から少なくとも一つの入力信号を受け取ることを特徴とする、請求項２に記載の方法。
【請求項４】
前記動的モディファイア機能ブロックが、実行された時にプロセス制御システムに関連したアルゴリズムを機械に実行させる機械可読媒体に格納された一連の機械可読命令からなることを特徴とする請求項１に記載の方法。
【請求項５】
前記アルゴリズムが、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つであることを特徴とする請求項４に記載の方法。
【請求項６】
動的モディファイア機能ブロックのインスタンス化には、基礎機能ブロックと関連した一式の機械可読命令の実行前又は実行後に、動的モディファイア・ブロックと関連する一式の機械可読命令を実行するように機械をスケジュールすることが含まれることを特徴とする請求項１に記載の方法。
【請求項７】
基礎機能ブロックと関連したアルゴリズムを機械に実行させるために、前記修正変更可能な属性を第３の値に設定できることを特徴とする請求項１に記載の方法。
【請求項８】
前記機械が、フィールド装置にあるプロセッサからなることを特徴とする請求項１に記載の方法。
【請求項９】
前記機械が、修正変更可能な属性の値を識別するための書込みチェック機能を実行するためのものであることを特徴とする請求項１に記載の方法。
【請求項１０】
基礎機能ブロックがコンパイルされてメモリに格納された後に、前記修正変更可能な属性を第１の値又は第２の値に設定することができることを特徴とする、請求項１に記載の方法。
【請求項１１】
前記機械が動的モディファイア機能ブロックをメモリから削除した後、又は動的モディファイア機能ブロックをメモリにインスタンス化した後に、前記機械が修正変更可能な属性を第３の値に設定することを更に含み、
前記第３の値が、プロセス制御システムと関連したアルゴリズムを機械に実行させることを特徴とする、請求項１に記載の方法。
【請求項１２】
基礎機能ブロックがプロセス制御ルーチンを変更するためにプロセス制御ルーチン内で作動している時に、修正変更可能な属性を第１の値から第２の値に変更することを更に含む請求項１に記載の方法。
【請求項１３】
機能ブロックをメモリに格納することが、動的モディファイア機能ブロックをインスタンス化することからなることを特徴とする請求項１に記載の方法。
【請求項１４】
動的モディファイア機能ブロックのインスタンス化が、基礎機能ブロックと関連した一連の機械可読命令の前又は後に、動的モディファイア・ブロックと関連した一連の機械可読命令を実行するように機械をスケジュールすることからなることを特徴とする請求項１３に記載の方法。
【請求項１５】
実行時にプロセス制御システムと関連したアルゴリズムを機械に実行させる、機械可読媒体に格納された第１の一連の機械可読命令を有する基礎機能ブロックと、
第１の一連の機械可読命令内に置かれる少なくとも一つ属性と、からなり、
前記属性が、少なくとも一つの動的モディファイア機能ブロックの削除又はインスタンス化の少なくとも一つを機械に実行させることを特徴とする、プロセス制御システムで使用するために機械可読媒体に格納された機能ブロック。
【請求項１６】
前記動的モディファイア機能ブロックが、実行時にプロセス制御システムと関連した第２のアルゴリズムを機械に実行させる、機械可読媒体に格納された第２の一連の機械可読命令からなることを特徴とする請求項１５に記載の機能ブロック。
【請求項１７】
前記第２のアルゴリズムが、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つであることを特徴とする請求項１６に記載の機能ブロック。
【請求項１８】
前記プロセス制御システムが、複数の通信可能に相互接続された機能ブロックを使用してプロセス制御ルーチンを実行することを特徴とする請求項１５に記載の機能ブロック。
【請求項１９】
複数の通信可能に相互接続された機能ブロックの各々が、別の複数の通信可能に相互接続された機能ブロックのうちの一つ以上に、少なくとも一つの出力信号を提供し、別の複数の通信可能に相互接続された機能ブロックのうちの一つ以上から少なくとも一つの入力信号を受け取ることを特徴とする、請求項１８に記載の機能ブロック。
【請求項２０】
基礎機能ブロックおよび少なくとも一つの動的モディファイア機能ブロック間でデータの受渡しを行うためのインターフェースを更に含む請求項１５に記載の機能ブロック。
【請求項２１】
前記インターフェースが、基礎機能ブロックにデータ値を書込むための登録コールバック機能からなることを特徴とする請求項２０に記載の機能ブロック。
【請求項２２】
前記インターフェースが、少なくとも一つの動的モディファイア機能ブロックにより読込まれるデータ値からなることを特徴とする請求項２０に記載の機能ブロック。
【請求項２３】
前記インターフェースが、少なくとも一つの動的モディファイア機能ブロックにより読込まれるデータ値に関連したメモリーアドレス値を含んでいることを特徴とする請求項２０に記載の機能ブロック。
【請求項２４】
前記属性が更に、プロセス制御システムと関連したアルゴリズムを、動的モディファイア機能ブロックをインスタンス化又は削除せずに機械に実行させることを特徴とする請求項１５に記載の機能ブロック。
【請求項２５】
基礎機能ブロックがコンパイルされ、機械と関連した機械可読のメモリに格納された後、少なくとも一つの属性が修正変更可能となることを特徴とする請求項１５に記載の機能ブロック。
【請求項２６】
前記機械が、機械可読命令を格納するためのメモリを有するフィールド装置にあるプロセッサからなることを特徴とする請求項１５に記載の機能ブロック。
【請求項２７】
前記機能ブロックが、実行時に、前記少なくとも一つの属性の値を識別するために機械に書込みチェック機能を実行させる機械可読命令を含んでいることを特徴とする請求項１５に記載の機能ブロック。
【請求項２８】
前記機能ブロックが、実行時に、少なくとも一つの動的モディファイア機能ブロックを削除又はインスタンス化した後に、少なくとも一つの動的モディファイア機能ブロックの各々の属性と関連したキーを機械に修正変更させる機械可読命令を含んでいることを特徴とする、請求項１５に記載の機能ブロック。
【請求項２９】
各キーが、インデックス値又はメモリーアドレスのうちの少なくとも一つの少なくとも一部分からなることを特徴とする請求項２８に記載の機能ブロック。
【請求項３０】
前記キーが、動的モディファイア機能ブロックの各々の属性を読込む前に、プロセス制御システムと関連したクライアントによりチェックされる各々の値からなることを特徴とする、請求項２８に記載の機能ブロック。
【請求項３１】
実行時にプロセス制御ルーチン内の機能ブロックの基礎機能ブロックを機械に修正変更させる一式の機械可読命令を実行するように構成された機能ブロックの動的モディファイア機能ブロックであって、
前記動的モディファイア機能ブロックが、基礎機能ブロックの属性の少なくとも一つに基づいて、インスタンス化又は削除されることを特徴とする、動的モディファイア機能ブロック。
【請求項３２】
前記一式の機械可読命令が、制御機能、自動チューニング機能、又はインターフェース機能の少なくとも一つからなることを特徴とする請求項３１に記載の動的モディファイア機能ブロック。
【請求項３３】
前記機能ブロックが、基礎機能ブロックおよび動的モディファイア機能ブロックの間でデータの受渡しを行うためのインターフェースを更に含むことを特徴とする、請求項３１に記載の動的モディファイア機能ブロック。
【請求項３４】
前記インターフェースが、基礎機能ブロックにデータ値を書込むための登録コールバック機能からなることを特徴とする請求項３３に記載の動的モディファイア機能ブロック。
【請求項３５】
前記インターフェースが、動的モディファイア機能ブロックにより読込まれるデータ値からなることを特徴とする請求項３３に記載の動的モディファイア機能ブロック。
【請求項３６】
前記インターフェースが、動的モディファイア機能ブロックにより読込まれるデータ値に関連したメモリーアドレス値を含んでいることを特徴とする請求項３３に記載の動的モディファイア機能ブロック。
【請求項３７】
基礎機能ブロックがコンパイルされ、機械と関連した機械可読のメモリに格納された後、属性が修正変更可能となることを特徴とする請求項３１に記載の動的モディファイア機能ブロック。
【請求項３８】
前記機械が、機械可読命令を格納するためのメモリを有するフィールド装置に設けられるプロセッサからなることを特徴とする請求項３１に記載の動的モディファイア機能ブロック。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、プロセス制御システム、より具体的にはプロセス制御システムで使用される動的なモディファイア（Ｍｏｄｉｆｉｅｒ）機能ブロックに関係する。
【背景技術】
【０００２】
化学薬品の処理工程や、石油精製工程、又はその他のプロセスに使用されるようなプロセス制御システムは通常、アナログ、デジタル又はアナログ・デジタル混在バスを介して、少なくとも一つのホスト又は少なくとも一つのオペレーターワークステーションに、および一つ以上のフィールド装置に通信可能に連結される、一つ以上の集中プロセスコントローラを含んでいる。例えば、装置のコントローラ、バルブ、バルブ・ポジショナ、スイッチおよびトランスミッタ（例えば、温度、圧力および流量センサ、等）などのフィールド装置は、バルブの開閉や工程パラメータの測定など、プロセス制御システム内における機能を実行する。中央プロセスコントローラは、フィールド装置により作成されたプロセス計測情報且つ／又はフィールド装置に関するその他の情報を示す信号を受け取り、制御ルーチンを実施するためにこの情報を使用して、プロセス制御システムの動作を制御するためにフィールド装置にバス又はその他の通信回線を通して送信される制御信号を生成する。
【０００３】
最近のプロセス制御産業では、プロセス制御システムを構成するフィールド装置やコントローラおよびその他のエンティティ（実体）間でのデジタル制御および通信を使用する傾向にある。このようなデジタル制御および通信に移行する傾向の一部として、多くの標準デジタル並びにアナログ／デジタル混在オープン通信プロトコルが、フィールド装置およびコントローラの相互動作を図るために開発されている。例えば、ＨＡＲＴ（登録商標）、ＰＲＯＦＩＢＵＳ（登録商標）、ＷＯＲＬＤＦＩＰ、Ｄｅｖｉｃｅ−Ｎｅｔ、ＣＡＮ（登録商標）およびＦＯＵＮＤＡＴＩＯＮ（登録商標）  Ｆｉｅｌｄｂｕｓ（以下、「Ｆｉｅｌｄｂｕｓ」）などの通信プロトコルが、フィールド装置およびコントローラ間でのより高速、且つより情報豊富な通信を可能にするために現在幅広く使用されている。具体的に、前述の通信プロトコルは、制御パラメータおよびその他の制御関連情報またはデータに加えて、例えば、構成情報並びにその他のタイプの情報をフィールド装置間および、フィールド装置とコントローラ間で通信できるようにもできる。更に、これらの通信プロトコルと関連する標準を標準化してオープン形式（つまり、独自に開発したプロプライエタリではない形式）を使用することで、異なる製造メーカにより製造された装置を単一のプロセス制御システムの中に容易に統合できるようになるため、装置の交換が簡素化され、特定の用途を実施するためにより最適なフィールド装置の選択を行うことが可能になる。
【０００４】
前述のデジタル通信プロトコル又はアナログ／デジタル混在通信プロトコルの多くは、分散制御方式の実施を容易にする。具体的には、これらの通信プロトコルは、大抵の場合、集中型プロセスコントローラの介入を必要とせずにプロセス制御アプリケーション又は該プロセス制御アプリケーションの一部を実行するために、フィールド装置が直接お互いと相互運用できるようにする枠組み又はアーキテクチャを提供する。このような制御実行の非集中化により、プロセス制御ルーチンの設計を簡素化し、中央制御装置に関連した通信および処理にかかる間接コストを削減して、ある情報を必要とする装置により該情報が受信される速度（従って、該受信側装置が該受信した情報などに基づいてより迅速に適切な処置をとる能力）を向上させることができる。
【０００５】
分散制御を図るデジタルおよびアナログ／デジタル混在通信プロトコルのいくつかは、一般に機能ブロックと呼ばれる基本構成ブロック又はソフトウェア構成を利用する。一般に、機能ブロックは、（例えば、プロセッサを介して）実行時に、動作の一つ以上のアルゴリズム又はシーケンスを実行する、高レベルのコンピュータ言語（例えば、Ｃ、Ｃ＋＋等）を使用して生成されうる。（但し、必ずしも当該高レベルのコンピュータ言語を使用して生成される必要はない。）複数タイプの機能ブロックが存在し、一般に各タイプの機能ブロックがプロセス制御ルーチンの特定の一部又は一部分を実施する。一般に、機能ブロックは、プロセス制御システム内において入力、制御、出力、並びにその他の機能を実施するものであり、コントローラ、及びプロセス制御システムの全体にわたり分散されるフィールド装置の少なくとも一つの内部にダウンロードおよびインスタンス化することができる。例えば、アナログ入力（ＡＩ）機能ブロックは、工程パラメータ（例えば、温度、流動、など）を測定するように構成されたセンサ又はトランスミッタにインスタンス化されうる。また、比例・積分・微分（ＰＩＤ）機能ブロックは、ＡＩ機能ブロックを実行するセンサ又はトランスミッタと通信状態にありうるコントローラ内にインスタンス化されうる。更に、アナログ出力（ＡＯ）機能ブロックは、コントローラに応答し且つＡＩ機能ブロックにより測定された一つ以上のパラメータに影響を及ぼすバルブなどの別のフィールド装置内にインスタンス化されうる。このように、異なるタイプの機能ブロックを、フィールド装置やコントローラ内にインスタンス化でき、また、プロセス制御方式の制御ループ機能及びその他所望の機能の少なくともいずれかを実行できるように、データバスやネットワーク又はその他の通信媒体を通じた通信を介して相互連結することができる。
【０００６】
従来から、機能ブロックは概して静的な性質のものであり、従って、いったんコントローラ又はその他のプロセス制御装置内に構成され、インスタンス化された後は、該ブロックの挙動又は該ブロックにより実行される動作を簡単に変更することができなかった。結果として、機能ブロックの動作をアップグレード、拡張、もしくは変更する場合には、通常新しい機能ブロックを作成しなければならなかった。新しい機能ブロックをプロセス制御システム内に設置して使用する際には通常、プロセス制御システム（又は少なくともそれの一部）をオフライン状態にして再構成することが必要であった。（例えば、新しい機能ブロックをコンパイルしてからコントローラや１以上のフィールド装置などにダウンロードしなければならなかった。）更に、プロセス制御アプリケーションで必要とされない、又は頻繁に使用されない、或いは一時的にのみ必要とされるような拡張機能又は能力を機能ブロックに含むことができる場合でも、一般に、あらゆる可能な拡張機能又は能力を含んでいる機能ブロックを静的にインスタンス化することは、機能ブロックを格納且つ／又はインスタンス化して実行する装置により当該の拡張機能又は能力が実際に使用されるか否か、或いは当該の拡張機能又は能力が当該装置によってどれだけ頻繁に使用されるかに関係なく、（例えば、メモリやプロセッサ利用などのシステム資源の面で）効率的ではない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、プロセス制御システムにおいて使用する機能ブロックの動作を修正変更するための方法、このような修正を可能とする動的モディファイア機能ブロック、及びこのような修正が可能である機能ブロックを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一態様によると、複数のフィールド装置を制御しうるプロセス制御システムは、動的モディファイア（Ｍｏｄｉｆｉｅｒ）機能ブロックをインスタンス化又は削除するように構成された基礎機能ブロックなどの、実施例としての機能ブロックを含んでいる。より具体的には、機能ブロックの動作を修正変更するための実施例として挙げられる方法は、機能ブロックをメモリに格納することを含み、基礎機能ブロックに関連する少なくとも一つの修正変更可能な属性をメモリに格納することも含む。また、該実施例として挙げられる方法には、修正変更可能な属性を、動的モディファイア機能ブロックをメモリにインスタンス化する第１の値、又は、動的モディファイア機能ブロックをメモリから削除する第２の値に設定することも含まれる。加えて、該実施例として挙げられる方法には、基礎機能ブロックがコンパイルされてメモリに格納された後、修正変更可能な属性を設定することも含まれる。
【０００９】
別の態様によると、実施例としての機能ブロックは、プロセス制御システムで使用するために機械可読媒体に格納される。実施例として挙げられる機能ブロックは、プロセス制御システムに関連したアルゴリズムを機械に実行させる基礎機能ブロックと、少なくとも一つの動的モディファイア機能ブロックを機械に削除又はインスタンス化させる、基礎機能ブロック内にある少なくとも一つの属性とを含んでいる。動的モディファイア機能ブロックが、基礎機能ブロックの能力（機能）を変更、アップグレード、又は拡張するためのアルゴリズムを実行するように構成される。
【００１０】
さらに別の態様によると、実施例としての機能ブロックの動的モディファイア機能ブロックは、プロセス制御ルーチン内の機能ブロックの基礎機能ブロックを機械に修正変更させるように構成される。実施例として挙げられる動的モディファイア機能ブロックは、基礎機能ブロックの少なくとも一つの属性に基づいて、インスタンス化されるか削除される。また、機能ブロックは、基礎機能ブロックおよび動的モディファイア機能ブロック間でデータをやり取りするインターフェースをも含んでいる。
【発明を実施するための最良の形態】
【００１１】
以下の説明では、実施例として挙げられる機器およびシステムが、その他の数多く存在する構成要素の中でも特にハードウェア上で実行されるソフトウェア及びファームウェアのうちの少なくともいずれかを含んだ状態で説明されているが、このようなシステムは単に本発明の実施形態の一例に過ぎず、本発明を限定するものであると見なされるべきでない。例えば、これらのハードウェア、ソフトウェアおよびファームウェア構成要素のいずれか又は全ては、ハードウェアにおいてのみ、又はソフトウェアにおいてのみ、或いはハードウェアとソフトウェアのいかなる組み合わせにおいても具体化できるものと考慮される。従って、実施例として挙げられる機器およびシステムが以下において説明されているが、通常の技術を有する当業者であれば、ここに提供される実施例がこれらの機器およびシステムを実施する唯一の手段ではないことが容易に理解できるはずである。
【００１２】
機能ブロックの能力又は動作を修正、強化、拡張、アップグレード、もしくは変更することができる様態に更なるフレキシビリティ（柔軟性・融通性）を提供する一つのアプローチとしては、全開示内容が参照することにより本稿に援用される米国特許第６，５１０，３５１号に記載されているものがある。この特許に記載されるように、制御を一つ以上のモディファイア機能ブロックに分岐させるためのポインタを設定できるように、基礎機能ブロック内にポインタ（例えば、メモリーのアドレス）を提供することにより、基礎又は元となる機能ブロックの動作又は能力（機能）を変更することができる。場合によって、基礎機能ブロックは、単一のモディファイア機能ブロックの異なる部分（例えば、異なるアルゴリズム又はルーチン）への分枝、及び複数の異なる機能ブロックへの分枝の少なくとも一方をもたらすために、複数のポインタを含みうる。このように、基礎機能ブロックの実行は、モディファイア機能ブロックへの分岐、そのモディファイア機能ブロックと関係する動作の実行、及びその後モディファイア機能ブロックによる基礎機能ブロックへの制御の戻りにつながりうる。特定のデータ且つ／又はパラメータが基礎機能ブロックとモディファイア機能ブロック間でやり取りされ、モディファイア機能ブロックがそれの動作を実行することを可能にする、且つ／又はモディファイア機能ブロックによって基礎機能ブロックが動作又は情報を処理する方法を変更できるようにする。
【００１３】
しかしながら、機能ブロックが作成される時にモディファイア機能ブロックが作成されインスタンス化されるので前述のモディファイア機能ブロックは完全に動的ではない。故に、基礎機能ブロックおよびモディファイア機能ブロックを格納するのに必要なローカルメモリーが消費される。即ち、機能ブロックを作成するには、モディファイア機能ブロックにより提供される拡張又は変更機能が使用されるか使用されないかにかかわらず、モディファイア機能ブロックを作成することが必要とされる。また、パラメータを介するインターフェースのデータ交換は、交換できるデータ量を限定し、更にデータ受渡しの繰返し数、よってその所要時間を増加させる。更に、モディファイア機能ブロックのパラメータが基礎機能ブロックのパラメータにマップされていないので、モディファイア機能ブロックは、モディファイア機能ブロックの外部に示すことができるパラメータを提供しない。
【００１４】
ここに記載される動的モディファイア機能ブロックは、本明細書において基礎機能ブロックと呼ばれることできる別の機能ブロックの能力を変更、アップグレード、拡張するのに使用できる。また、本明細書に記載される動的モディファイア機能ブロックの場合、ユーザは、動的モディファイア機能ブロックに関連したアルゴリズムを実行し、更にローカルメモリーから動的モディファイア機能ブロックおよび動的モディファイア機能ブロックに関連するデータをインスタンス化および削除する能力を得ることができる。よって、周知のモディファイア機能ブロックとは対照的に、ここに記載される動的モディファイア機能ブロックは、実行時中（例えば、プロセス制御システムがオンライン又は稼動中）、且つ／又はダウンロード時など実行時前のいかなる時点においてもインスタンス化することができる。また、動的モディファイア機能ブロックは、実行時中に削除することもできるし、又は実行時前にインスタンス化しないようにすることもできる。
【００１５】
本明細書に記載される動的モディファイア機能ブロックを使用する場合は通常、基礎機能ブロックは、基礎機能ブロックにおいて一つ以上の属性を介して動的モディファイア機能ブロックをインスタンス化且つ／又は削除する能力をユーザに提供すること以外は不変のままである。実際には、ここに記載される動的モディファイア機能ブロックによって、ユーザは、（通常プロセス制御ルーチンの作動に必要とされ、大抵の場合はプロセス制御ルーチンが実行できるようにするためにインスタンス化された状態のままでなければならない）基礎機能ブロックの属性を変更することにより、基礎機能ブロックの能力又は動作を修正変更、拡張する、もしくは変更できるようになる。ここに記載されるような動的モディファイア機能ブロックを簡単に追加且つ／又は削除する能力は、プロセス制御システム用に高度な制御能力を開発できる速度（ｒａｔｅ）を著しく増加させるのに役立つ。更に、ユーザは、単に基礎機能ブロックに間接コスト（オーバーヘッド）を追加して、１以上の動的モディファイア機能ブロックにより提供される機能特性を使用する特定のアプリケーションをユーザが持っている場合に、ローカルの装置メモリを使用するだけでよい。即ち、ユーザ又はオペレータは、動的モディファイア機能ブロックにより提供される追加機能性が必要とされない時に、動的モディファイア機能ブロックをインスタンス化しない、又は既にインスタンス化された動的モディファイア機能ブロックを削除することによって、システムの間接コスト（オーバーヘッド）を削減することができる。
【００１６】
図１は、本明細書に記載される動的モディファイア機能ブロック機器および方法を使用する実施例として挙げられるプロセス制御システム１０のブロック図である。図１に示されるように、プロセス制御システム１０は、コントローラ１２、オペレータステーション１４、アクティブアプリケーション・ステーション１６およびスタンバイアプリケーション・ステーション１８を含んでおり、これら全ては一般にアプリケーション制御ネットワーク（ＡＣＮ）と呼ばれるバス又はローカルエリアネットワーク（ＬＡＮ）２０を介して通信可能に連結されうる。オペレータステーション１４およびアプリケーションステーション１６は、一つ以上のワークステーション又はその他の適切なコンピュータ・システム又は処理装置を使用して実施されうる。例えば、シングルプロセッサのパーソナルコンピュータ、シングル又はマルチプロセッサのワークステーションなどを使用して、アプリケーションステーション１６を実施することが可能である。また、ＬＡＮ２０は所望のあらゆる通信メディアおよびプロトコルを使用して実施されうる。例えば、ＬＡＮ２０は、ハードワイヤード（有線）又はワイヤレスＥｔｈｅｒｎｅｔ（登録商標）通信方式に基づくものでもよい。これについては周知の方式であるため、ここで更に詳しく説明しない。しかしながら、通常の技術を有する当業者には、その他の適切な通信媒体およびプロトコルを使用しうることが容易に理解できるはずである。更に、図中ＬＡＮが一つだけ設けられた状態で示されているが、一つ以上のＬＡＮとアプリケーションステーション１６内の適切な通信系ハードウェアを使用してアプリケーションステーション１６およびコントローラ１２間の冗長通信経路を提供するようにしてもよい。
【００１７】
コントローラ１２は、データバス２８および入出力（Ｉ／Ｏ）装置３０を介して、複数のスマート・フィールド装置２２、２４および２６に連結されうる。Ｉ／Ｏ装置３０は、コントローラ１２およびデータバス２８に連結されたその他の装置（例えば、スマート・フィールド装置２２〜２６、など）のインターフェースを一つ以上提供し、当該インターフェースによって送受信された信号とまとめて通信する。例えば、Ｉ／Ｏ装置３０は、外部メモリインターフェースやシリアルポート又は汎用入出力などの任意のタイプの既存する又は将来的な標準インターフェース、或いはモデムやネットワーク・インターフェースカードなどの任意のタイプの既存する又は将来的な通信装置などにより実施されうる。データバス２８は、例えば、（複式接続、ビット直列接続、並列／ビット直列混合接続、交換ハブ接続による）並列電気母線（バス）、マルチドロップ回線トポロジ、ディジーチェーン・トポロジなどの、論理的通信に機能性を提供するいかなる物理的構成でありうる。
【００１８】
スマート・フィールド装置２２〜２６は、Ｆｉｅｌｄｂｕｓ適合のバルブ、アクチュエータ、センサなどでありえ、この場合スマート・フィールド装置２２〜２６は周知のＦｉｅｌｄｂｕｓプロトコルを使用して、データバス２８を介して通信する。もちろん、その他のタイプのスマート・フィールド装置および通信プロトコルをその代りに使用してもよい。例えば、その代りに、スマート・フィールド装置２２〜２６は、周知のＰｒｏｆｉｂｕｓ（登録商標）およびＨＡＲＴ（登録商標）通信プロトコルによりデータバス２８を介して通信する、Ｐｒｏｆｉｂｕｓ（登録商標）又はＨＡＲＴ（登録商標）に適合する装置でありえる。Ｆｉｅｌｄｂｕｓ（登録商標）装置、ＨＡＲＴ装置（登録商標）などでありうるスマート・フィールド装置のグループを追加してコントローラ１２と通信することを可能にするために、Ｉ／Ｏ装置（Ｉ／Ｏ装置３０に類似するか又は同一のものである）を追加してコントローラ１２に連結しうる。
【００１９】
コントローラ１２内に設けられる集中型プロセス制御ルーチンは、実施例として挙げられるプロセス制御システム１０の任意の所望の制御を実施するために、フィールド装置２２〜２６から入力を受け取り、制御ルーチンに関連した計算およびその他の作業を実行して、Ｉ／Ｏ装置３０を介してフィールド装置２２〜２６に命令を送信する。一般に、集中型プロセス制御ルーチンは、機能ブロックを使用して、制御ルーチンに関連した計算およびその他の作業を実行する。但し、プロセス制御ネットワーク１０の非集中プロセス制御部分（つまり、図１においてバス２８に関連した部分）は、コントローラ１２により実行されている制御と共に、又はその代わりに非集中的な方法でそれ自身のプロセス制御ルーチンを実施しうる。このように、コントローラ１２が、バス２８に接続された装置２２〜２６とインターフェース接続し且つ該装置２２〜２６に対するいくつかの制御を実行しうる一方、これらの装置は分散制御を実施するためにも制御機能又は機能ブロックを格納し実行しうる。
【００２０】
本明細書に記載される動的モディファイア機能ブロックは、Ｉ／Ｏ装置３０において、図１のフィールド装置２２〜２６の任意のものにおいて、又はプロセス制御システム１０内のその他の装置において、任意の機能ブロック又はコントローラ１２に設けられるその他の機能要素の能力又は動作を修正変更、拡張、もしくは変更するために使用されうる。従って、動的モディファイア機能ブロックは、本明細書においてＦｉｅｌｄｂｕｓプロトコルで実施されるように記載されているが、その代わりに、任意のコントローラに関連した任意のもの、或いは現在使用されている又は将来開発されるであろう通信プロトコルを含むその他の制御又は通信プロトコルでも実施されることができる。
【００２１】
スマート・フィールド装置２２〜２６に加えて、一つ以上の非スマート・フィールド装置３２および３４をコントローラ１２に通信可能に連結しうる。非スマート・フィールド装置３２および３４は、例えば、各々ハードワイヤード式リンク３６および３８を介してコントローラ１２と通信するような、従来の４−２０ミリアンペア（ｍＡ）又は０−１０ボルト直流（ＶＤＣ）装置でありうる。
【００２２】
コントローラ１２は、例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ（登録商標）およびＦｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ社により販売されるＤｅｌｔａＶ（登録商標）でありうる。しかし、その他のコントローラをその代りに使用してもよい。更に、図１にはコントローラが一つだけ設けられた状態で示されているが、いかなる所望のタイプの（又はいかなる所望のタイプを組合せた）コントローラを追加してＬＡＮ２０に連結することも可能である。いかなる場合も、コントローラ１２は、プロセス制御システム１０に関連した一つ以上のプロセス制御ルーチン（システムエンジニア又はその他のシステムオペレータによりオペレータステーション１４を使用して生成され且つコントローラ１２にダウンロードされインスタンス化されたもの）を実行しうる。
【００２３】
図２は、概して、例えば、実施例として挙げられるプロセス制御システム１０を実施するために使用しうる実施例としてのシステム２００、より具体的には、図１のＩ／Ｏ装置３０、データバス２８およびフィールド装置２２〜２６と共に実施例としてのコントローラ１２により実施例としてのプロセス制御システム１０を実施するために使用しうるような、システム２００を描く図である。実施例としてのシステム２００は、制御系（サブシステム）スケジューラ２０２、制御モジュール２０４および機能ブロック２０６を含んでいる。一般に、図１の実施例として挙げられるコントローラ１２に含まれうる制御系スケジューラ２０２は、制御系スケジューラ２０２により制御されうるその他の制御モジュールとともに前もって定義された順序で制御モジュール２０４の動作又はプロセスを実行するソフトウェア・アプリケーションとして実施される。例えば、制御系スケジューラ２０２は、制御ループで制御モジュール２０４を実行しうる。別の言い方をすると、制御系スケジューラ２０２は、制御モジュール２０４に加えて複数の制御モジュール（図示せず）の動作を制御する又は統合・調整する。一般に、制御モジュールは、各々の工場内区域や設備などに関連した制御機能又は作業を実行するためにインスタンス化され実行されうる制御ルーチンを含んでいる。より具体的に、制御モジュール２０４は、一台以上台の物理的設備又は装置と関連し、当該設備又は装置（例えば、図２のフィールド装置２２〜２６）を監視且つ／又は制御するために使用されうる。
【００２４】
また、制御モジュール２０４はその他のオブジェクトおよびサブオブジェクトから成りうる。しかし、議論の目的上、以下、このようなオブジェクトおよびサブオブジェクトは、制御モジュール２０４に関連してのみ説明する。制御モジュール２０４は、制御方式内の機能を入力に基づいて実行して制御方式内のその他の機能ブロックに出力を提供するオブジェクト指向プログラミング・プロトコルにおけるオブジェクトである、通信可能に相互接続された機能ブロック２０６から構成される。制御モジュール２０４をコントローラ（例えば、図１のコントローラ１２）専用に設けるようにしてもよく、場合によっては、フィールド装置（例えば、図１のフィールド装置２２〜２６）が制御モジュール２０４又はそれの一部分を格納し実行するようにしてもよい。
【００２５】
制御モジュール２０４およびその機能ブロック２０６は、例えば、プロセス制御サブシステム内の物理的条件且つ／又は制御条件と関連する入力変数、出力変数又はそれ同等のものなどのパラメータでありうる、一つ以上の属性と関連しうる。また、機能ブロック２０６の各々は一つ以上の属性と関連しうる。機能ブロック２０６は、以下詳細にわたり説明されるように、各々がプロセス制御システム内の一つ以上の数学関数（例えば、合計演算、乗法演算、割り算演算、など）、論理関数、論理演算表現（例えば、論理和、論理積、など）、制御関数、インターフェース、同調機能（関数）、又はその他の所望の機能（関数）を含んでいる。
【００２６】
機能ブロック２０６は、指定されたアルゴリズムおよび内部制御パラメータ一式に応じて入力パラメータを処理するその他任意のタイプの論理且つ／又はソフトウェアからなる。このように、機能ブロック２０６の各々は、機能ブロック２０６に通信可能に連結される制御モジュール２０４、その他の機能ブロック、又はその他のソフトウェア、プログラマブルデバイスなどで使用できる出力パラメータを生成しうる。具体的には、機能ブロック２０６のうちの一つについての入力パラメータは、該機能ブロック２０６のうち別の一つ以上の出力パラメータ、または制御サブシステムスケジューラ２０２および制御モジュール２０４の外部にあるその他の機能ブロックの出力パラメータにリンクされうる。機能ブロック２０６に関連したパラメータは、全体のアプリケーション・プロセス（例えば、製造ＩＤ、装置のタイプ、など）に関係しうるものであり、制御機能（例えば、ＰＩＤコントローラ、アナログ入力、など）をカプセル化し、且つ／又は、例えば温度センサ、圧力センサ、流動センサなどのセンサへのインターフェースを表わしうる。
【００２７】
機能ブロック２０６の各々は、ユーザにより割り当てられることができる独自のタグにより識別される。また、各機能ブロックのパラメータは、パラメータがプロセス制御システムの全体にわたってどのように通信されるかを定義するオブジェクトの記述により表わされる。よって、システムにおける多くのパラメータは、それらのタグ（つまりパラメータに関連した機能ブロックのタグ）およびパラメータ名への参照により一意に識別される。実行時中、機能ブロックが対応する入力値を使用して実行された後、その出力（つまり出力値）は更新されてから他の機能ブロック２０６且つ／又はこれらの出力を読込む（例えば、これらの出力へのアクセスを得る、又はこれらの出力に相互関連（バインド）する）プロセス制御システムのその他の装置に一斉同時送信（ｂｒｏａｄｃａｓｔ）される。機能ブロック２０６は、同一のフィールド装置内且つ／又はプロセス制御システムの異なる装置に存在しうる。
【００２８】
一般に、周知の技術を使用して機能ブロック２０６の任意のアルゴリズムへの修正変更又は変更を行う場合、実施例として挙げられるシステム２００に対して、例えば、制御サブシステムスケジューラ２０２を停止し、これにより次いで、制御モジュール２０４および制御サブシステムスケジューラ２０２により呼び出される又は発動されるその他の制御モジュールへの呼出しが中断されることが必要となりうる。ユーザはその後、一つ以上の機能ブロック２０６のアルゴリズムを変更するために機能ブロック２０６の一つ以上を各々修正変更できるようになる。しかし、本明細書に記載される動的モディファイア機能ブロックでは、ユーザが実行時中に、一つ以上の機能ブロック２０６の能力又は動作を修正変更、拡張、もしくは変更するためにアルゴリズムを作成することができ、かつ１以上の動的モディファイア機能ブロックのアルゴリズムをインスタンス化することができる。従って、本明細書に記載される動的モディファイア機能ブロックは、制御サブシステムスケジューラ２０２を中断せずにシステム２００を更新又は修正変更することを可能にする。結果として、制御モジュール２０４、および制御サブシステムスケジューラ２０２により呼び出されるその他の制御モジュールへの呼出しを中断しなくてすむようになる。従って、実施例として挙げられるシステム２００への修正変更には従来フィールド装置且つ／又はプロセス制御システムの稼動を停止又はその他類似した方法による中途終了が必要とされたが、ここに記載される動的モディファイア機能ブロックは、そのような中断停止を必要とせずに実施例としての２００への修正変更を可能にする。従って、ここに記載される動的モディファイア機能ブロックは、プロセス制御システムの能力又は動作への修正変更、拡張機能又はその他の変更を可能にすると同時に、前記のような著しい生産コストおよび時間の消耗につながりうる稼動の停止又はその他類似した方法による中途終了を防止する。
【００２９】
図３は、実施例として挙げられる機能ブロック定義３０２、実施例として挙げられる基礎機能ブロック３０４、実施例として挙げられるモディファイア機能ブロック３０６、および実施例として挙げられる動的モディファイア機能ブロック３０８および３０９を含む、実施例として挙げられる機能ブロック３００を示す図である。実施例としての機能ブロック定義３０２は、実施例としての機能ブロック３００を作成するために定義および属性を提供し、特に、実施例としての基礎機能ブロック３０４、実施例としてのモディファイア機能ブロック３０６、および実施例としての動的モディファイア機能ブロック３０８および３０９にそのデータを割り当てる。図４を参照して以下詳細に説明されるように、実施例として挙げられる機能ブロック定義３０２は、メモリおよび索引（インデックス）オブジェクト（例えば、実施例としての基礎機能ブロック３０４、実施例としてのモディファイア機能ブロック３０６、および実施例としての動的モディファイア機能ブロック３０８および３０９）を割り当てるために、ダウンロード時（例えば、フィールド装置にダウンロードされる時）に作成される。図示される如く、実施例として挙げられる機能ブロック定義３０２は、実施例として挙げられる基礎機能ブロック３０４および実施例として挙げられるモディファイア機能ブロック３０６の実行を可能にする定義およびオブジェクト・データ（例えば、アルゴリズムおよびデータ・ブロック）をインスタンス化するために作成される。また、実施例として挙げられる機能ブロック定義３０２は、動的モディファイア機能ブロック３０８および３０９のための定義をインスタンス化するためにダウンロード時作成されるが、作成されるのは実施例として挙げられる動的モディファイア機能ブロック３０８の実行を可能にするオブジェクト・データ（例えば、アルゴリズムおよびデータ・ブロック）のみで、動的モディファイア機能ブロック３０９のためのデータ・ブロックは含まれない。
【００３０】
理解されるように、モディファイア機能ブロック３０６は、基礎機能ブロック３０４の能力を変更、アップグレード、又は拡張するのに使用されうる。基礎機能ブロック３０４は、フィールド装置やコントローラなど中に含まれるプロセッサにより実行される一組（セット）以上の名声を有するソフトウェア・ルーチン又はアルゴリズムを含んでいる。また、基礎機能ブロック３０４は、基礎機能ブロック３０４に関連したアルゴリズムに提供されたデータを入力するか、又はアルゴリズムにより生成されたデータを出力する、ローカルメモリーに格納された一つ以上のデータ・ブロックを含んでいる。更に、基礎機能ブロック３０４は、ローカルメモリーに格納された一連の命令およびデータから構成されるアルゴリズムを有するモディファイア機能ブロック３０６により提供される、拡張能力のいくつかを条件付きで実施するのに使用される分岐点３１０を含んでいる。
【００３１】
一般に、分岐点３１０は、機能ブロック３００が作成された時点で基礎機能ブロック３０４において作成され、基礎機能ブロック３０４がコンパイルされた後に更新されうる。分岐点３１０の内容は、モディファイア機能ブロック３０６上のアルゴリズムのエントリー点３１２へのポインタ、又は基礎機能ブロック３０４上のアルゴリズムの次のコード行へのポインタを含むように設定される。従って、ユーザは、モディファイア機能ブロック３０６に関連した一つ以上のアルゴリズムの実行を有効／無効に設定し、それによって基礎機能ブロック３０４の能力を変更、アップグレード、又は拡張するために、ポインタの値を変更することができる。分岐点３１０でのポインタは、メモリ内のモディファイア機能ブロック３０６のアドレス、モディファイア機能ブロック３０６のアルゴリズムの何らかの部分のアドレス、モディファイア機能ブロック３０６の名称又はその他の識別子を示すアドレスでありえ、或いは、モディファイア機能ブロック３０６へ制御を受け渡すために使用されるその他の操作ハンドル又は分枝装置でありうる。
【００３２】
制御がモディファイア機能ブロック３０６に受け渡された時点で、特定の事前定義されたデータが、モディファイア機能ブロック３０６に送信され（又は利用可能になり）、そして、モディファイア機能ブロック３０６は、そのアルゴリズム実行中にこのデータを使用又は変更する。一般に、該データは、基礎機能ブロック３０４内の制御を送り返すべきところのモディファイア機能ブロック３０６で使用するためのパラメータ且つ／又はデータ値、且つ／又は制御を行い実行して基礎機能ブロック３０４に制御を送り返すためにモディファイア機能ブロック３０６のアルゴリズムを実行するのに必要とされるその他のデータ又は情報を含んでいる、固定された又は事前に定義されたインターフェース３１４によって提供されうる。
【００３３】
インターフェース３１４は、装置内のメモリの定義された部分として実施されうるし、或いは基礎機能ブロック３０４又はモディファイア機能ブロック３０６内に提供されうるし、又はその他の様態において提供されうる。モディファイア機能ブロック３０６が、インターフェース３１４を介して提供されるデータに作用するアルゴリズムを実施した後、分岐点３１０直後の命令であるか、或いは、何らかの様態において基礎機能ブロック３０４上アルゴリズムの他の何らかの位置としてインターフェース３１４により定義されうる、戻り命令３１６が、基礎機能ブロック３０４のアルゴリズム中の所定点に制御を戻す。戻り命令３１６は、ＧＯＴＯ又はＥＮＤ  ＬＯＯＰ命令など、任意の所望のタイプの戻り命令でありえ、且つ／又はモディファイア機能ブロック３０６において使用されるコードのタイプによってその他任意の形式をとりうる。また、モディファイア機能ブロック３０６は、モディファイア機能ブロック３０６に制御且つ／又はデータを送信するのに使用されるものと同じ又は異なるインターフェースでありうるインターフェース３１４を介して特定のデータを送り返す。
【００３４】
基礎機能ブロック３０４およびモディファイア機能ブロック３０６が機能ブロック３００の作成時一緒に作成されるので、モディファイア機能ブロック３０６の機能性が使用されているか使用されていないかにかかわらず、モディファイア機能ブロック３０６を格納するのに必要なローカルメモリーが消費される。即ち、機能ブロック３００の作成には、モディファイア機能ブロック３０６の作成が必要とされる。また、パラメータの受渡しを介するインターフェース３１４を通じてのデータ交換は、交換できるデータの量を限定し、繰返し数、したがってデータを受け渡すための所要時間を増加させる。更に、モディファイア機能ブロック３０６のパラメータが、基礎機能ブロック３０４のパラメータにマップされないので、モディファイア機能ブロック３０６は、モディファイア機能ブロック３０６の外部に表わされうるパラメータを提供しない。
【００３５】
モディファイア機能ブロック３０６とは対照的に、動的モディファイア機能ブロック３０８および３０９は基礎機能ブロック３０４の能力を動的に変更、アップグレード、又は拡張するのに使用されうる。より具体的には、動的モディファイア機能ブロック３０８および３０９を採用することにより、ユーザはローカルメモリーから、動的モディファイア機能ブロックアルゴリズム（複数可）およびアルゴリズムに関連したデータ・ブロック（複数可）をインスタンス化／削除する能力（例えば、動的モディファイア機能ブロック３０８を削除して、動的モディファイア機能ブロック３０９をインスタンス化する能力）を得ることができる。モディファイア機能ブロック３０６とは対照的に、動的モディファイア機能ブロック３０９は実行時中に、且つ／又はダウンロード時など実行時前のいかなる時点においてもインスタンス化することができる。同様に、動的モディファイア機能ブロック３０８を、実行時中に削除するようにも、又は、実行時前にインスタンス化しないようにすることもできる。図中では動的モディファイア機能ブロック３０８および３０９だけが示されているが、いかなる数の動的モディファイア機能ブロックも機能ブロック３００で実施しうる。図示される如く、動的モディファイア機能ブロック３０８は、基礎機能ブロック３０４実行時以外に実行する。具体的に言うと、動的モディファイア機能ブロック３０８は、基礎機能ブロック３０４の実行前又は実行後に実行しうる。動的モディファイア機能ブロック３０８および３０９はインスタンス化されると、それぞれ基礎機能ブロック３０４の能力を変更、アップグレード、又は拡張するための一連の命令から構成されたアルゴリズムおよびデータ・ブロックをローカルメモリーに有する。動的モディファイア機能ブロック３０９もまたインスタンス化されると、基礎機能ブロック３０４且つ／又は動的モディファイア機能ブロック３０８の実行前且つ／又は実行後に実行しうる。
【００３６】
図示される如く、基礎機能ブロック３０４は、動的モディファイア機能ブロック３０８および３０９をインスタンス化且つ／又は削除するために書込みチェックされるように構成される、一つ以上の属性３１１を含んでいる。図４を参照して以下説明されるように、１以上の属性３１１は、機能ブロックの定義３０２、特に動的モディファイア機能ブロック３０８および３０９をインスタンス化且つ／又は削除すべき定義にマップされる。例えば、ユーザは、基礎機能ブロック３０４の１以上の属性３１１を変更することにより、動的モディファイア機能ブロック３０９をインスタンス化することができ、その後それは基礎機能ブロック３０４の実行中に書込みチェックされる。同様に、ユーザは、１以上の属性３１１を変更することにより動的モディファイア機能ブロック３０８を削除することができ、その後それは基礎機能ブロック３０４の実行中に書込みチェックされる。図３の実施例において、動的モディファイア機能ブロック３０８は前記１以上の属性３１１により有効にされ、これにより制御モジュール（例えば、図２の制御モジュール２０４）が動的モディファイア機能ブロック３０８の実行をスケジュールする。属性（複数可）３１１に変更がなされない場合は、基礎機能ブロック３０４の書込みチェックにより基礎機能ブロック３０４の実行を継続することが可能になる。
【００３７】
動的モディファイア機能ブロック３０８は、動的モディファイア機能ブロック３０８のインスタンス化後に機能ブロック定義３０２に格納されるエントリー点３１８を含んでいる。エントリー点３１８はポインタとして、機能ブロック定義３０２に格納される。ポインタは、メモリにおける動的モディファイア機能ブロック３０８のアドレス、動的モディファイア機能ブロック３０８のアルゴリズムの何らかの部分のアドレス、動的モディファイア機能ブロック３０８の名称又はその他の識別子を示すアドレスでありえ、或いは、制御を動的モディファイア機能ブロック３０８へ受け渡すのに使用される、その他の操作ハンドル又は分枝装置でありうる。従って、スケジューラ（例えば、図２の制御サブシステムスケジューラ２０２）は、エントリー点３１８で動的モディファイア機能ブロック３０８のアルゴリズムの実行を呼び出す。動的モディファイア機能ブロック３０８がそのアルゴリズムを実施する時、命令３２０はスケジューラに制御を戻す。命令３２０は、命令のブロックを終了させる任意の所望のタイプの命令でありえ、動的モディファイア機能ブロック３０８および３０９で使用されるコードのタイプによってその他のいかなる形式をもとりうる。このように、動的モディファイア機能ブロック３０８は、基礎機能ブロック３０４の実行時以外（実行の外側で）にスケジューラによって呼び出されるか又は発動される。
【００３８】
また図３に示されるように、機能ブロック３００は、基礎機能ブロック３０４および動的モディファイア機能ブロック３０８（且つ／又は動的モディファイア機能ブロック３０９）間でデータを交換するのに使用されうるインターフェース（複数可）３２２を含んでいる。インターフェース（複数可）３２２は、例えば基礎機能ブロック３０４にデータを書込むための書込みインターフェース、および基礎機能ブロック３０４からデータを読込むための別の読込みインターフェースなどの多重インターフェースでありうる。１以上のインターフェース３２２は、基礎機能ブロック３０４のデータ・オブジェクトに書込むべき登録コールバックとして実装されうる。例えば、動的モディファイア機能ブロック３０８は、基礎機能ブロック３０４に登録コールバックを書込ませるために、インターフェース（複数可）３２２に対して属性且つ／又はデータポインタを送り渡しうる。同様に、動的モディファイア機能ブロック３０９も、インスタンス化された場合、基礎機能ブロック３０４に書込むべき登録コールバックを呼び出すために、属性且つ／又はデータポインタをインターフェース（複数可）３２２に送り渡しうる。また、インターフェース（複数可）３２２は、基礎機能ブロック３０４のメモリにおけるデータ・オブジェクトのアドレスを示すアドレス、基礎機能ブロック３０４のメモリにおけるデータ・オブジェクトのアドレスへの索引（インデックス）を提供することができ、また、機能ブロック間でデータ・オブジェクトを読込む且つ／又は書込むための任意のその他の実施形態でありうる。
【００３９】
図中、動的モディファイア機能ブロック３０８は単一のエントリー点３１８および単一の戻り命令３２０と共に示されているが、動的モディファイア機能ブロックは、動的モディファイア機能ブロック３０８のアルゴリズムにおける複数の点で実行を開始し、且つ／又は制御を戻しうる。例えば、エントリー点３１８および戻り命令３２０は、動的モディファイア機能ブロック３０８内のアルゴリズムの異なる部分又はサブルーチンを呼び出すように設定されることができ、それによって、基礎機能ブロック３０４に関連したアルゴリズムに異なる拡張機能を提供しうる。
【００４０】
本明細書に記載される動的モディファイア機能ブロック３０８および３０９は、任意の時点において又は選択された時点において、任意の基礎機能ブロック３０４（例えば、入力、出力又は制御機能ブロック）の能力を拡張するために、任意の目的又方法で、任意の基礎機能ブロック３０４を変更、修正変更、アップグレードするために使用されうることは明らかであろう。よって、例えば動的モディファイア機能ブロック（例えば、動的モディファイア機能ブロック３０８および３０９）は、基礎機能ブロック３０４において、適応ゲイン、ゲインスケジューリング、不感時間補償などを実施するため、又は、基礎機能ブロック３０４にその他の拡張又は改造された能力を提供するために使用されうる。また、動的モディファイア機能ブロック３０８および３０９がユーザーインタフェースと通信可能に連結される場合、ユーザーインタフェースは、インスタンス化後に動的モディファイア機能ブロック３０９に関連した一つ以上の属性を自動的に表示しうる。逆に、ユーザーインタフェースは、削除後に動的モディファイア機能ブロック３０８に関連した一つ以上の属性を自動的に除去しうる。
【００４１】
同様に、又当然のことながら、これらの機能ブロックを実行するプロセッサに関連した任意の１以上のメモリの中に、又は、装置の任意の１以上のメモリに、基礎機能ブロック３０４および動的モディファイア機能ブロック３０８および３０９を格納することができる。このようなメモリには、ハードドライブ又はディスクドライブ上の、ランダムアクセス記憶装置（「ＲＡＭ」）、読み取り専用メモリ（「ＲＯＭ」）、消去可能プログラム可能読み取り専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラム可能読み取り専用メモリ（「ＥＥＰＲＯＭ」）、又はプロセッサによりアクセス可能なその他の適切なメモリが含まれうる。同様に、これらの機能ブロックは、磁気ディスク、光ディスク（例えば、コンパクトディスク又はレーザーディスク）、磁気テープ又は光学テープ又はその他のコンピュータ可読記憶媒体など、任意の所望のタイプのメモリに格納された状態で、ユーザに販売もしくは提供されうる。また、ここに記載される基礎および動的モディファイア機能ブロックは、単一ユニット（例えば、同じメモリに格納されたもの）、又は別のユニット（例えば、別のメモリに格納されたもの）として、同時又は異なる時点において、ユーザに提供されうる。
【００４２】
一般に、機能ブロックは、例えば図３の機能ブロック定義３０２をインスタンス化するのに使用される一式の規則およびプロパティ特性（例えば、名称、ＩＤ、インターフェースエントリー点、フラグ、既定（デフォルト）値、等）を形成するラッパー記述子を含んでいる。ラッパー記述子は、解釈およびユーザ構成に同じ関係を提供するために、実行時制御および基礎機能ブロックの間で共有される。具体的には、コントローラは、ダウンロードスクリプトおよびサービス制御オブジェクトをパーズ（解析）するためにこれらのラッパー記述子を使用しうる。また、機能ブロックの各属性は、一意の属性ＩＤ（例えば、整数値）で定義される。動的モディファイア機能ブロックを有する基礎機能ブロックについては、動的モディファイア機能ブロックは特定の属性（例えば、図３の属性（複数可）３１１）により制御され、従って、特定の属性ＩＤと関連付けられる。
【００４３】
図４は、例えば図２の実施例として挙げられる機能ブロック定義３０２に配置されるところの、基礎機能ブロックの属性（複数可）４０２をポインタ４０４と共に動的モディファイア機能ブロック記述子４０６へ関連付けるための、実施例として挙げられる動的モディファイア機能ブロック・マッピングテーブル４００を示す。実施例としての動的モディファイア機能ブロック・マッピングテーブル４００は、動的モディファイア機能ブロック記述子４０６の特定の動的モディファイア機能ブロック４０８の記述子へのポインタ「ＤＹＮ＿ＭＯＤ＿ＰＮＴＲ」（動的モディファイア・プリンター）と関連する属性識別子「ＭＯＤ＿ＡＤＡＰＴ」（モディファイア・アダプタ）を含んでいる。図中テキスト形式で示されているが、このようなテキスト形式の記述は、その代わりに又はそれに加えて、アドレス、コード及びその他の表記の少なくともいずれかにより実施できること、は通常の技術を有する当業者であれば容易に理解できるはずである。よって、属性「ＭＯＤ＿ＡＤＡＰＴ」への書込みチェックは、複数の動的モディファイア機能ブロックと関連する各々の動的モディファイア機能ブロック記述子４０８、４１０および４１２に個々独立してマップすることができる。例えば、第２の動的モディファイア機能ブロックに関連する別のポインタが動的モディファイア機能ブロック・マッピングテーブル４００に格納され、動的モディファイア機能ブロック記述子４１０の位置を突きとめるために属性識別子「ＭＯＤ＿ＡＤＡＰＴ」と関連付けられうる。
【００４４】
図５は、ダウンロード中に行われる、実施例としての機能ブロックの装置へのインスタンス化５００（例えば、ローカルメモリーの機能ブロックに関連したオブジェクトのインスタンス作成）を示す。ここにおいて、機能ブロック定義オブジェクト５４０（例えば、図３の機能ブロック定義３０２）および機能ブロックオブジェクト（例えば、図３の基礎機能ブロック３０４、モディファイア機能ブロック３０６、および動的モディファイア機能ブロック３０８）のインスタンス化が行われる、又はインスタンスが作成される。実施例としての機能ブロックダウンロードのインスタンス化５００において、矢印は、実施例として挙げられる機能ブロックのインスタンス化５００の構築関係を示す（つまり、矢印が定義オブジェクトを示す）。このように、図５に示される如く、基礎機能ブロック・ラッパー記述子５１２は、基礎機能ブロックに対して一式の規則およびプロパティ特性を提供し、モディファイア機能ブロック・ラッパー記述子５１４はモディファイア機能ブロックに対して一式の規則およびプロパティ特性を提供し、そして、１以上の動的モディファイア機能ブロック・ラッパー記述子５１６は１以上の動的モディファイア機能ブロック（例えば、図３のブロック３０８および３０９）に対して一式の規則およびプロパティ特性を提供する。実施例として挙げられる機能ブロックインスタンス化５００は、めいめいのラッパー記述子５１２〜５１６から属性を数え、合成体（複合）ラッパー定義５２０を作成するために属性をローカル・キャッシュに格納する。実施例として挙げられる合成体ラッパー５２０は、インスタンス化する動的モディファイア機能ブロック・ラッパー記述子（複数可）５１６と関連する動的モディファイア機能ブロックのリスト（例えば、図３の動的モディファイア機能ブロック３０８および３０９）をユーザに提供する。機能ブロック定義５３０は、合成体ラッパー５２０から構築され、機能ブロックの属性を提供する。機能ブロック定義５３０は、基礎機能ブロック・データ５５２およびモディファイア機能ブロック・データ５５４などのサブブロック・データに割り当てるメモリ容量（空間）を定義する。モディファイア機能ブロック・データ５５４のインスタンスにおいて、機能ブロック定義５３０は、モディファイア機能ブロック・データ５５４などのサブブロック・データのメモリ容量を定義する。
【００４５】
実施例として挙げられる機能ブロックのインスタンス化５００については、機能ブロック定義５３０が、ダウンロード前にユーザにより定義される値を有する属性を含んでおり、この属性により、動的モディファイア機能ブロック・データ５５６がインスタンス化されるかどうかが決定される。これにより、動的モディファイア機能ブロックのアルゴリズムにより提供される拡張機能又は変更をユーザが希望しない場合には、ダウンロード時に不要なメモリ容量が消費されないですむ。上に説明されるように、動的モディファイア機能ブロックの定義はインスタンス化されるが、動的モディファイア機能ブロック・データ５５６のためのメモリは定義されない。従って、実行時に、又はダウンロードから実行時に至るいかなる時点においても、動的モディファイア機能ブロックをインスタンス化するために、ユーザは、機能ブロック定義５３０の属性の値を変更することができる。
【００４６】
動的モディファイア機能ブロックによる機能ブロックのインスタンス化後に、機能ブロックの初期化の呼出し（複数可）により、ダウンロードスクリプトから決定されうる、且つ／又はラッパー記述子５１２〜５１６に備えられる一つ以上の属性からコピーされうる、変数が特定の開始値と共に格納される。また、コントローラ（例えば、図１のコントローラ１２）に直接に初期化を行うこともでき、この場合、別の構成データベースを必要としないで済む。機能ブロックの属性のインターフェース（例えば、図３のインターフェース（複数可）３２２）もまた始動され、ここにおいて、インターフェースは、図３を参照して上記されるように動的モディファイア機能ブロックと基礎機能ブロック間でデータを交換するために登録コールバック機能を使用しうる。
【００４７】
図６は、有効になっている動的モディファイア機能ブロックを３つ伴う、実施例として挙げられる機能ブロックの名称（名前）空間６００を示す。実施例として挙げられる名称空間６００は、インスタンス化中に有効となった属性（例えば、基礎機能ブロックおよびモディファイア機能ブロックに関連する属性）を持つ静的セクタ６１０と、第１の動的モディファイア機能ブロック６２２、第２の動的モディファイア機能ブロック６２４、および第３の動的モディファイア機能ブロック６２６のための属性を持つ動的セクタ６２０とを含む。上述されるように、ユーザは属性６２２〜６２６に関連する動的モディファイア機能ブロックのうちのいずれをもインスタンス化又は削除することができることにより、動的属性セクタ６２０を変更しうる。動的属性セクタ６２０が変更すると、動的セクタ６２０に含まれるインデックス（例えば、特定のアドレスからのインデックス）が無効になりうる。例えば、ユーザが第１および第２の動的モディファイア機能ブロックを削除したとする。この操作により、第１の動的モディファイア機能ブロックおよび第２の動的モディファイア機能ブロック６２４の属性６２２および６２４が各々取り除かれ、第３の動的モディファイア機能ブロック６２６の属性が実施例として挙げられる名称空間６００に移動する。
【００４８】
機能ブロックの名称空間が動的モディファイア機能ブロックのインスタンス化と共に変化すると、動的モディファイア機能ブロックとの機能ブロックの実行且つ／又はインスタンス化によって、クライアント（例えば、その他の機能ブロック）によりマップされうる動的モディファイア機能ブロックのあらゆる属性をマップするためにキー機構が作成される。一般に、クライアントから機能ブロックの属性にアクセスする際には、そのアクセスは名称空間のアドレスおよびインデックスによりマップされる。
【００４９】
図６を参照して上述されるように、機能ブロックの名称空間は、あらゆる動的モディファイア機能ブロックの有効又は無効設定と共に変化する。従って、属性への無効な参照を防ぐためにキー機構が提供され、このような機構は制御モジュール（例えば、図２の制御モジュール２０４）に設けられうる。該キー機構には、機能ブロックの動的セクタ（例えば、動的セクタ６２０）の属性にクライアント（複数可）が相互関連付けられた（バインドされた）ときにクライアント（複数可）に転送される、各々の動的モディファイア機能ブロック（複数可）用に一つ以上のキー（例えば、ポインタ値、インデックス値、アドレス位置、独自の値、又はそれのいかなる組み合わせ）が格納される。動的モディファイア機能ブロックがインスタンス化又は削除されると、動的モディファイア機能ブロックに関連した機能ブロックはキー機構の中のキー（複数可）を更新する。このように、あるクライアントが機能ブロックの属性、そして特に動的モディファイア機能ブロックに関連した属性にアクセスすると、該クライアントは前回のアクセスからのキーを現在のキーと表で比較する。相互関連した（バインド）キーと現在のキーが一致すると、該クライアントのアクセスが許可される。或いは、相互関連したキーと現在のキーが一致しない場合、該クライアントは再度、属性に相互関連付けられなければならない。
【００５０】
もちろん、動的モディファイア機能ブロックは、（Ｆｉｅｌｄｂｕｓプロトコルの他にも）いかなる外部プロセス制御通信プロトコルを使用しても実施することができ、また、Ｆｉｅｌｄｂｕｓプロトコルにより特にサポートされる別の機能ブロックの任意のものに類似する又はそれと同等の任意の機能ブロックを含む、任意のタイプの機能ブロックと通信するのに使用されうる。なおまた、本稿の一実施形態における動的モディファイア機能ブロックはＦｉｅｌｄｂｕｓの「機能ブロック」であるが、ここにおける「機能ブロック」という表現の使用は、Ｆｉｅｌｄｂｕｓプロトコルにより機能ブロックとして識別されるものに限定されず、むしろ、何らかのプロセス制御ルーチン機能を実施するのに使用されうる、またその他のいかなる機能ブロックに情報又はデータを提供するための事前に定義された設定又はプロトコルを有する、任意のタイプの通信プロトコル且つ／又は制御システムに関連するその他任意のタイプのブロック、プログラム、ハードウェア、ファームウェアなどを含みうる、ということに留意されたい。従って、一般に機能ブロックはオブジェクト指向プログラミング環境内のオブジェクトの形をとっているが、そうである必要はなく、むしろ、プロセス制御環境内の特定の制御機能（入出力を含む）を実行するのに使用されるその他の論理ユニットでもありうる。
【００５１】
図７は、実行時中に動的モディファイア機能ブロック（例えば、図３の動的モディファイア機能ブロック３０８および３０９等）を削除及び又はインスタンス化するための、実施例として挙げられるプロセス７００を描くフローチャートである。図７に描かれるプロセスを参照して説明される動作は、コンピュータ可読媒体に格納されそこでアクセスされうる機械可読命令、コード、ソフトウェアなどを使用して実施されうる。このようなコンピュータ可読媒体の例としては、光学的記憶装置、磁気記憶装置、不揮発性固体記憶装置および揮発性固体記憶装置が挙げられるが、これに限定されるものではない。更に、該動作のいくつか又は全てはマニュアル操作で実行することができ、該動作の順序は変更でき、該動作のいくつかは修正変更するか又は完全に削除することができる。同様に、各ブロックの動作のいくつか又は全ては反復して実行できる。図７に描かれる動作は、図１の実施例としてのコントローラ１２及びフィールド装置２２〜２６の少なくともいずれかにより実行されうる。
【００５２】
実施例としてのプロセス７００は、基礎機能ブロック（例えば、図３の基礎機能ブロック３０４）のアルゴリズムの実行により開始する（ブロック７０２）。ブロック７０２における基礎機能ブロックの実行中に、動的モディファイア機能ブロックのインスタンス化又は削除を進めるべきかどうかを判断するために、書込みチェックが基礎機能ブロックの特定の１以上の属性に対して実行される（ブロック７０４）。基礎機能ブロックの１以上の属性に変更が無い、と書込みチェックによって決定されると（ブロック７０４）、実施例としてのプロセス７００はブロック７０２に戻り、基礎機能ブロックの実行を続ける。基礎機能ブロックの１以上の属性に変更有り、と書込みチェックによって決定されると（ブロック７０４）、実施例としてのプロセス７００は、新しい動的モディファイア機能ブロックをインスタンス化するか又は既存の動的モディファイア機能ブロックを削除するかを決定する（ブロック７０６）。
【００５３】
ブロック７０６で実施例として挙げられるプロセス７００が、基礎機能ブロックの１以上の属性（複数可）に対する特定の変更（例えば、論理状態の変更を示すブール変数、フラグ値、又はその他の属性に対する特定の変更）によって、「既存の動的モディファイア機能ブロックを削除する」と判断すると、実施例として挙げられるプロセス７００は、例えば一意の属性ＩＤ及びインデックスへのポインタの少なくともいずれかを使用して削除すべき動的モディファイア機能ブロックを識別する（ブロック７０８）。削除すべき動的モディファイア機能ブロックを識別した後、実施例としてのプロセス７００は、該識別された動的モディファイア機能ブロックに関連するデータ・ブロックをメモリから削除する（ブロック７１０）。実施例としてのプロセス７００は、次のステップに進み、該削除された動的モディファイア機能ブロックに関連した属性を取り除き、該削除された動的モディファイア機能ブロックと関連していた属性（複数可）に関連したキー機構中のキーを更新することにより、動的属性空間中の属性を更新する（ブロック７１２）。それから、実施例としてのプロセス７００は、該削除された動的モディファイア機能ブロックの実行をスケジューラから取り除き（ブロック７１４）、プロセス７００の実行を終了させるか、制御を呼出し工程に戻すかのいずれかを実行する。
【００５４】
実施例としてのプロセス７００が、基礎機能ブロックの属性（複数可）に対する特定の変更（例えば、論理状態変更を示すブール変数、フラグ値又はその他の属性に対する特定の変更）により「新しい動的モディファイア機能ブロックをインスタンス化する」と判断すると（ブロック７０６）、実施例としてのプロセス７００は、例えば、一意の属性ＩＤ及びインデックスへのポインタの少なくともいずれかを使用して、インスタンス化すべき動的モディファイア機能ブロックを識別する（ブロック７１６）。ブロック７１６においてインスタンス化すべき動的モディファイア機能ブロックを識別した後、実施例としてのプロセス７００は、該識別された動的モディファイア機能ブロックに関連するデータ・ブロックをメモリに作成する（ブロック７１８）。実施例としてのプロセス７００は、次のステップに進み、該インスタント化された動的モディファイア機能ブロックに関連した属性を追加し、該インスタント化された動的モディファイア機能ブロックに関連する属性（複数可）に関連するキー機構中のキーを更新することにより、動的属性空間中の属性を更新する（ブロック７２０）。それから、実施例としてのプロセス７００は、動的モディファイア機能ブロックに関連するあらゆる変数を初期化する（ブロック７２２）。また、実施例としてのプロセス７００は、インスタンス化された動的モディファイア機能ブロックの実行をスケジューラに追加して（ブロック７２４）、プロセス７００の実行を終了させるか、制御を呼出し工程に戻すことのいずれかを実行する。
【００５５】
図８は、図１の実施例としてのコントローラ１２、フィールド装置２２〜２６、及びアプリケーションステーション１６の少なくともいずれかを実施するために使用又はプログラムされることができる、実施例としてのプロセッサ・プラットフォーム８００の概略図である。例えば、プロセッサ・プラットフォーム８００は、一つ以上の汎用シングルスレッド及びマルチスレッド・プロセッサ、コア、マイクロコントローラなどのうちの少なくともいずれかにより実施することができる。プロセッサ・プラットフォーム８００はまた、種々様々な同時実行式シングルスレッド及びマルチスレッド・プロセッサ、コア、マイクロコントローラなどの少なくともいずれかが内蔵される、一つ以上の計算装置によっても実施されうる。
【００５６】
図８の実施例のプロセッサ・プラットフォーム８００は、少なくとも一つの汎用プログラム可能プロセッサ８０５を含んでいる。プロセッサ８０５はプロセッサ８０５のメインメモリの中にある（例えば、ＲＡＭ８１５内にある）コード化命令８１０を実行する。コード化命令８１０は、図２、図３、図４および図７を参照して実施例として記載されるプロセスの動作を実施するのに使用されうる。プロセッサ８０５は、プロセッサー・コア、プロセッサ且つ／又はマイクロコントローラなど、任意のタイプの処理装置でありうる。プロセッサ８０５は、バス８２５を介してメインメモリ（ＲＯＭ８２０およびＲＡＭ８１５を含む）と通信状態にある。ＲＡＭ８１５は、動的ランダムアクセス記憶装置（「ＤＲＡＭ」）や、同期型ランダムアクセス記憶装置（「ＳＤＲＡＭ」）、及びその他任意のタイプのＲＡＭ装置のうちの少なくともいずれかにより実施されうる。また、ＲＯＭは、フラッシュメモリ且つ／又はその他所望のタイプの記憶装置により実施されうる。メモリ８１５および８２０へのアクセスはメモリ制御部（コントローラー）（図示省略）により制御されうる。メインメモリ（ＲＯＭ８２０およびＲＡＭ８１５を含む）は、実施例としてのプロセス、属性、および図２〜７に関連するその他の格納可能なデータを格納するのに使用されうる。
【００５７】
プロセッサ・プラットフォーム８００はまた、インターフェース回路８３０も含んでいる。インターフェース回路８３０は、外部メモリインターフェース、シリアルポート、汎用入出力などの任意のタイプのインターフェース標準により実施されうる。一つ以上の入力装置８３５および一つ以上の出力装置８４０が、インターフェース回路８３０に接続される。
【００５８】
上記に実施例として記載される方法及び機器（装置）の少なくともいくつかは、プロセッサ上で作動する一つ以上のソフトウェア及びファームウェアプログラムのいずれかにより実施される。しかし、例えば、特定用途向け集積回路、プログラム可能論理アレイ、およびその他のハードウェア装置等の（但しこれらに限定されない）専用ハードウェア実施形態もまた同様に、全体的又は部分的のいずれかにおいて、本明細書に実施例として記載される方法及び機器のいくつか又は全てを実施するように構成することができる。更に、その代わりとして、例えば分散処理又は構成部分／オブジェクト分散処理、並行処理、又は仮想機械処理等の（但しこれらに限定されない）ソフトウェア実施形態もまた、ここに実施例として記載される方法及び機器を実施するのに使用できる。
【００５９】
なお、本明細書に実施例として記載されるソフトウェア且つ又はファームウェア実施形態は、磁気媒体（例えば、磁気ディスクまたはテープ）、光ディスクなどの光磁気又は光学媒体、又はメモリーカードなどの固体状態媒体や、一つ以上の読み取り専用（不揮発性）メモリや、ランダムアクセスメモリー又はその他の書換え可能（揮発性）メモリを収容するその他のパッケージ、或いは、コンピュータ命令を含む信号、などの有形記憶媒体に格納されうる。また、Ｅメール又はその他の情報アーカイブ又は一式のアーカイブに添付された電子ファイルは、有形記憶媒体と同等の配布媒体と見なされる。従って、本明細書に実施例として記載されるソフトウェア及びファームウェアは、上記されるもの又は後継の記憶媒体などの有形記憶媒体又は配布媒体に格納することができる。
【００６０】
本明細書においては、特定の標準およびプロトコルを参照しながら実施例として挙げられる構成部分および機能がある程度の範囲で説明されているが、当然のことながら、この特許の適用範囲はこのような標準およびプロトコルに限定されるものではない。このような標準は周期的に、同じ一般機能を備え、より高速で、より効率的な均等物にとって変わられる。従って、同機能を有する置換られた標準およびプロトコルは、この特許に考慮されており、付随の特許請求の範囲に含まれるように意図される均等物である。
【００６１】
なお、この特許には、ハードウェア上で実行されるソフトウェア又はファームウェアを含むシステムの実施例が開示されているが、このようなシステムは単に本特許を例証するための実施形態に過ぎず、本特許を限定するものであると見なされるべきではない。例えば、これらのハードウェアおよびソフトウェア構成要素のいずれか又は全ては、ハードウェアにおいてのみ、又はソフトウェアにおいてのみ、ファームウェアにおいてのみ、又はハードウェア、ファームウェア、及びソフトウェアの少なくともいずれかの組み合わせにおいて具体化できるものと考慮されている。従って、実施例として挙げられるシステム、方法および製造品が上に説明されているが、通常の技術を有する当業者であれば、本明細書に提供される実施例がこれらのシステム、方法および製造品を実施する唯一の手段ではないことが容易に理解できるはずである。また、本稿おいて実施例として挙げられる特定の方法、機器および製造品が記載されているが、この特許の適用領域の範囲はそれに限定されるものではない。むしろ、本特許は、字義的にもしくは均等論に基づいて添付の特許請求の範囲内に公正に含まれるとされる方法、機器および製造品の全てを網羅するものである。
【図面の簡単な説明】
【００６２】
【図１】実施例として挙げられるプロセス制御システムを示すブロック図である。
【図２】本明細書に実施例として記載される機器、方法、および製造品を実施するのに使用されうる、実施例として挙げられるシステムのブロック図である。
【図３】実施例としての基礎機能ブロック、モディファイア機能ブロックおよび動的モディファイア機能ブロックを含んでいる、実施例としての機能ブロックのブロック図である。
【図４】実施例としての動的モディファイア機能ブロック・マッピングテーブルのブロック図である。
【図５】動的モディファイア機能ブロックを有する機能ブロックのインスタンス化の実施例のブロック図である。
【図６】動的モディファイア機能ブロックを有する機能ブロックの名称空間および指標の実施例のブロック図である。
【図７】本明細書に記載される動的モディファイア機能ブロックをインスタンス化及び削除の少なくともいずれかをするのに使用されうる、実施例としてのプロセスのフローチャートである。
【図８】本明細書に記載される方法および機器を実施するのに使用されうる処理システムの実施例の概略図である。
【図１】
2008090846.tif 000003
【図２】
2008090846.tif 000004
【図３】
2008090846.tif 000005
【図４】
2008090846.tif 000006
【図５】
2008090846.tif 000007
【図６】
2008090846.tif 000008
【図７】
2008090846.tif 000009
【図８】
2008090846.tif 000010