(57)【要約】      （修正有）【課題】プロセス制御システム内のプロセスコントローラのための、チューニングパラメータの決定方法を提供する。【解決手段】まず、プロセス制御ループの応答をシミュレートし、オーバーシュート、振動、応答時間等を表示(ステップ１２０)し、ロバスト特性を示す特性図としてのロバスト性マップを生成（ステップ１３０）し、プロット（ステップ１３２）する。ロバスト性マップがユーザに安定領域を示すために表示されるので、ユーザはロバスト性マップ上の安定領域内の点を選択する。このようにして、選択されたロバスト特性を有する制御ループを生成する新たなチューニングパラメータのセットが決定される（ステップ１３６）。さらに、これらの新たなチューニングパラメータを使用して制御ループをシミュレート（ステップ１３８）し、結果として得られる性能特性をユーザが見ることを可能とする。【選択図】図８
2012164342.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御ループで使用されるコントローラのチューニングに使用するためのチューニングパラメータを決定するための方法であって、該方法が、
チューニングパラメータの複数のセット及び前記チューニングパラメータのセットのそれぞれに対する前記プロセス制御ループのローバスト性特性に対する値を決定するステップを含む、前記プロセス制御ループのローバスト性特性をプロットするローバスト性マップを生成するステップと、
ユーザが前記ローバスト性マップ内の点を選択することを可能とするステップと、
前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用して、前記コントローラをチューニングするのに使用したときに前記プロセス制御ループが前記選択された点に関連するローバスト性特性の大凡の値を有するようにする更なるチューニングパラメータのセットを生成するステップと
を包含している方法。
【請求項２】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ローバスト性マップを生成するステップが、２つ又はそれ以上のローバスト性特性をプロットするステップを包含し、前記決定するステップは、前記ローバスト性特性の一つを範囲に亘って変化させるステップと、前記範囲内のローバスト性特性の一つの選択された多くの値のそれぞれについてのチューニングパラメータのセットと前記ローバスト性特性のもう一つとを決定するステップとを包含している方法。
【請求項３】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ローバスト性マップを生成するステップが、２つ又はそれ以上のローバスト性特性をプロットするステップを包含し、前記決定するステップは、前記チューニングパラメータの一つに対するチューニングパラメータの範囲を確立するステップと、前記ローバスト性特性の一つをローバスト性特性の範囲に亘って変化させるステップと、前記ローバスト性特性の範囲内の選択された第１の数の点のそれぞれに於いて前記チューニングパラメータの一つを前記チューニングパラメータの範囲に亘って変化させるステップと、前記ローバスト性特性の範囲内の前記第１の数の選択された点のそれぞれに対する前記チューニングパラメータの範囲内の第２の数の点のそれぞれに対する第２のチューニングパラメータとローバスト性特性の他の一つとを決定するステップとを包含している方法。
【請求項４】
請求項３記載のチューニングパラメータを決定するための方法であって、前記第２のチューニングパラメータを決定するステップが、前記第２のチューニングパラメータを最大フォーワードパス利得として決定するステップを包含している方法。
【請求項５】
請求項３記載のチューニングパラメータを決定するための方法であって、前記チューニングパラメータの一つを変化させるステップが、積分重み付けファクター又は微分重み付けファクターを前記チューニングパラメータの範囲に亘って変化させるステップを包含している方法。
【請求項６】
請求項１記載のチューニングパラメータを決定するための方法であって、前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用するステップが、前記決定されたチューニングパラメータの複数のセットの少なくとも２つの間を補完するステップを包含している方法。
【請求項７】
請求項１記載のチューニングパラメータを決定するための方法であって、前記更なるチューニングパラメータに従ってチューニングされたコントローラを使用するときに、前記プロセス制御ループをシュミレートするステップを更に包含している方法。
【請求項８】
請求項１記載のチューニングパラメータを決定するための方法であって、前記決定するステップが、前記ローバスト性マップ内の安定領域を定義するために、チューニングパラメータの複数のセットを定義するステップを含み、前記チューニングパラメータの第１の一つに対する第１の範囲を選択するステップと、前記チューニングパラメータの第２の一つに対する第２の範囲を選択するステップと、前記第１及び第２のチューニングパラメータを前記第１及び第２の範囲に亘って反復的に変化させて第１及び第２のチューニングパラメータの複数のセットを生成するステップと、前記第１及び第２のチューニングパラメータの複数のセットのそれぞれに対するローバスト性特性のための値を決定するステップとを包含している方法。
【請求項９】
請求項１記載のチューニングパラメータを決定するための方法であって、前記更なるチューニングパラメータのセットに関連する動的マージンを決定するステップを更に包含している方法。
【請求項１０】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ローバスト性マップを生成するステップが、フェーズマージン及び利得マージンをプロットするローバスト性マップを生成するステップを更に包含している方法。
【請求項１１】
プロセス制御ループで使用されるように適合したコントローラのチューニングに使用するためのチューニングパラメータのセットを決定するための方法であって、該方法が、
チューニングコントローラ内で使用するためのチューニングパラメータの複数のセットと、該チューニングパラメータの複数のセットのそれぞれに対する関連するローバスト性特性とを決定するステップであって、前記チューニングパラメータの複数のセットと関連するローバスト性特性とがローバスト性マップ内の安定領域を定義する、ステップと、
前記安定領域のローバスト性特性を示すために前記ローバスト性マップの安定領域をプロットするステップと、
ユーザが前記ローバスト性マップ内の点を選択することを可能とするステップと、
更なるチューニングパラメータのセットを定義するために前記チューニングパラメータの複数のセットの少なくとも２つを使用するステップであって、前記更なるチューニングパラメータのセットが前記ローバスト性マップ内の選択された点に関連し、前記更なるチューニングパラメータのセットに従ってチューニングされたときに、前記コントローラが前記プロセス制御ループに選択された点の大凡のローバスト性特性を持たせるようにする、ステップとを包含している方法。
【請求項１２】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記更なるチューニングパラメータのセットに従ってチューニングされたコントローラを使用するときに、前記プロセス制御ループをシュミレートするステップを更に包含している方法。
【請求項１３】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記ローバスト性マップの前記安定領域をプロットするステップが、利得マージンに対してフェーズマージンをプロットするステップを包含している方法。
【請求項１４】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記ユーザを可能とするステップが、ユーザが前記ローバスト性マップ内の点上をカーソルを移動させて該カーソルを前記点の選択に使用するのを可能とするステップを更に包含している方法。
【請求項１５】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記チューニングパラメータの複数のセットの少なくとも２つを使用するステップが、前記更なるチューニングパラメータのセットを決定するために、前記チューニングパラメータの複数のセットの少なくとも２つの間を補完するステップ包含している方法。
【請求項１６】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記チューニングパラメータの複数のセットを決定するステップが、前記チューニングパラメータの第１の一つに対して第１の範囲を選択するステップと、前記チューニングパラメータの第２の一つに対して第２の範囲を選択するステップと、前記第１及び第２のチューニングパラメータを前記第１及び第２の範囲の間を反復的に変化させて第１及び第２のチューニングパラメータの複数のセットを生成するステップと、前記第１及び第２のチューニングパラメータの複数のセットのそれぞれに対して前記ローバスト性特性を決定するステップとを包含している方法。
【請求項１７】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記更なるチューニングパラメータのセットに関連する動的マージンを決定するステップを更に包含している方法。
【請求項１８】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記ローバスト性特性が第１のローバスト性特性であり、前記チューニングパラメータの複数のセットを決定するステップが、前記第１のローバスト性特性を範囲に亘って変化させるステップと、前記範囲内の選択された多くの値のそれぞれに対してチューニングパラメータと第２のローバスト性特性とを決定するステップとを包含している方法。
【請求項１９】
請求項１１記載のチューニングパラメータのセットを決定するための方法であって、前記ローバスト性特性が第１のローバスト性特性であり、前記チューニングパラメータの複数のセットを決定するステップは、前記チューニングパラメータの一つに対するチューニングパラメータの範囲を確立するステップと、前記第１のローバスト性特性をローバスト性特性の範囲に亘って変化させるステップと、前記ローバスト性特性の範囲内の選択された第１の数の点のそれぞれに於いて前記チューニングパラメータの一つを前記チューニングパラメータの範囲に亘って変化させるステップと、前記ローバスト性特性の範囲内の前記第１の数の選択された点のそれぞれに対する前記チューニングパラメータの範囲内の第２の数の点のそれぞれに対する第２のチューニングパラメータと第２のローバスト性特性とを決定するステップとを包含している方法。
【請求項２０】
チューニングファクターのセットに従ってチューニングされ得るコントローラを有するプロセス制御ループをチューニングするためにプロセッサにより使用されるように適合したチューニングシステムであって、
コンピュータ読み取り可能な媒体と、
前記コンピュータ読み取り可能な媒体に格納され、前記コントローラのチューニングに於いて使用するためのチューニングパラメータの複数のセットと、該チューニングパラメータの複数のセットのそれぞれに対する関連するローバスト性特性とを決定することによりローバスト性マップを生成するために、前記プロセッサ上で実行されるように適合した第１のルーチンであって、前記チューニングパラメータの複数のセットと関連するローバスト性特性とが前記ローバスト性マップ内の連続する領域を定義する、第１のルーチンと、
前記コンピュータ読み取り可能な媒体に格納され、ユーザがローバスト性マップ内の点を選択することを可能とするために、前記プロセッサ上で実行されるように適合した第２のルーチンと、
前記コンピュータ読み取り可能な媒体に格納され、前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用してチューニングパラメータの更なるセットを生成するために、前記プロセッサ上で実行されるように適合した第３のルーチンであって、前記コントローラをチューニングするときに、前記プロセス制御ループに前記選択された点に関連する大凡のローバスト性特性を持たせるようにした、第３のルーチンとを備えたチューニングシステム。
【請求項２１】
請求項２０記載のチューニングシステムであって、前記第１のルーチンは、前記チューニングパラメータのセットのそれぞれに対する第１及び第２のローバスト性特性を決定するように適合したチューニングシステム。
【請求項２２】
請求項２１記載のチューニングシステムであって、前記第１のローバスト性特性は利得マージンであり、前記第２のローバスト性特性はフェーズマージンであるチューニングシステム。
【請求項２３】
請求項２１記載のチューニングシステムであって、前記コントローラは、比例−積分−微分タイプのコントローラであり、前記決定されたチューニングパラメータの複数のセットのそれぞれは、比例重み付けファクターの表示と、積分重み付けファクターの表示と、微分重み付けファクターの表示とを含んでいるチューニングシステム。
【請求項２４】
請求項２３記載のチューニングシステムであって、前記比例重み付けファクターの表示は、最大フォーワードパス利得であるチューニングシステム。
【請求項２５】
請求項２１記載のチューニングシステムであって、前記第１のルーチンは、前記ローバスト性特性の一つを範囲に亘って変化させて、該範囲内の多くの選択された値のそれぞれに対してチューニングパラメータの一つとローバスト性特性の他の一つとを決定するように適合しているチューニングシステム。
【請求項２６】
請求項２１記載のチューニングシステムであって、前記第１のルーチンは、前記チューニングパラメータの一つに対するチューニングパラメータの範囲を確立し、前記ローバスト性特性の一つをローバスト性特性の範囲に亘って変化させ、前記ローバスト性特性の範囲内の第１の数の選択された点のそれぞれに於いて前記チューニングパラメータの範囲に亘って前記チューニングパラメータの一つを変化させ、及び前記ローバスト性特性の範囲内の第１の数の選択された点のそれぞれに対する前記チューニングパラメータの範囲内の第２の数の点のそれぞれに対して、第２のチューニングパラメータと前記ローバスト性特性の他の一つとを決定するように適合しているチューニングシステム。
【請求項２７】
請求項２６記載のチューニングシステムであって、前記第１のルーチンは、前記第２のチューニングパラメータを、最大フォーワードパス利得として決定するように適合しているチューニングシステム。
【請求項２８】
請求項２６記載のチューニングシステムであって、前記第１のルーチンは、積分重み付けファクターに対する又は微分重み付けファクターに対する値を選択することにより、チューニングパラメータの一つを決定するように適合しているチューニングシステム。
【請求項２９】
請求項２１記載のチューニングシステムであって、前記第３のルーチンは、前記決定されたチューニングパラメータの複数のセットの少なくとも２つの間を補完するように適合しているチューニングシステム。
【請求項３０】
請求項２１記載のチューニングシステムであって、前記更なるチューニングパラメータのセットに従ってチューニングされたコントローラを使用するときに、プロセス制御ループをシュミレートするように適合している第４のルーチンを更に有しているチューニングシステム。
【請求項３１】
請求項２１記載のチューニングシステムであって、前記チューニングパラメータの更なるセットに関連する動的マージンを決定するように適合している第４のルーチンを更に有しているチューニングシステム。
【請求項３２】
チューニングファクターのセットによりチューニングされ得るコントローラを有するプロセス制御ループのチューニングに使用されるチューナであって、
前記チューニングコントローラで使用するためのチューニングパラメータの複数のセットと、前記チューニングパラメータの複数のセットのそれぞれに対する２つ又はそれ以上の関連するローバスト性特性とを決定することにより、ローバスト性マップを生成する第１の要素であって、前記チューニングパラメータの複数のセットと関連するローバスト性特性が前記ローバスト性マップ内の連続する領域を定義する、第１の要素と、
ユーザが前記ローバスト性マップ内の点を選択することを可能とする第２の要素と、
前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用して、前記コントローラで使用されたときに前記プロセス制御ループに前記選択された点に関連する大凡のローバスト性特性を持たせるチューニングパラメータの更なるセットを生成する第３の要素とを備えているチューナ。
【請求項３３】
請求項３２記載のチューナであって、前記第１のローバスト性特性は利得マージンであり、前記第２のローバスト性特性はフェーズマージンであるチューナ。
【請求項３４】
請求項３２記載のチューナであって、前記第１の要素は、前記ローバスト性特性の一つを範囲に亘って変化させ、該範囲内の選択された多くの値のそれぞれに対して、前記チューニングパラメータの一つと前記ローバスト性特性の他の一つとを決定するチューナ。
【請求項３５】
請求項３４記載のチューナであって、前記第１の要素は、前記チューニングパラメータの一つを、最大フォーワードパス利得として決定するチューナ。
【請求項３６】
請求項３２記載のチューナであって、前記第３の要素は、前記決定されたチューニングパラメータの複数のセットの少なくとも２つの間を補完するチューナ。
【請求項３７】
請求項３２記載のチューナであって、前記更なるチューニングパラメータのセットに従ってチューニングされたコントローラを使用したときに前記プロセス制御ループをシュミレートするシミュレータ要素を更に備えたチューナ。
【請求項３８】
請求項３２記載のチューナであって、前記更なるチューニングパラメータのセットに関連する動的マージンを決定する第４の要素を更に備えたチューナ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、概略的にはプロセス制御ネットワークに関し、更に詳しくは、ローバスト性マップに基づいたプロセス制御システム内のプロセスコントローラのためのチューニングパラメータの決定方法に関するものである。
【背景技術】
【０００２】
化学、石油又は他のプロセスに一般的に使用されているようなプロセス制御ネットワークは、例えば、バルブポジショナ、スイッチ、センサ（例えば温度、圧力及び流速センサ等）等の一又はそれ以上フィールドデバイスに通信可能に接続されている集中化されたプロセスコントローラを一般的に含んでいる。これらのフィールドデバイスは、プロセス内の物理的制御機能（例えば、バルブの開閉）を果たし、プロセスの動作の制御に使用するためのプロセス内の測定を行い、又はプロセス内の他の所望の機能を果たし得る。プロセスコントローラは、歴史的には、フィールドデバイスから及びフィールドデバイスに、例えば４−２０ｍＡ（ミリアンペア）の信号を伝送する一又はそれ以上のアナログ信号ライン又はバスを介して、フィールドデバイスに接続されている。一般的に言えば、プロセスコントローラは、一又はそれ以上のフィールドデバイスによって作り出される測定値を表す信号及び／又はフィールドデバイスに関する情報を受領し、この情報を典型的に複雑な制御ルーチンを実行するのに使用し、次に、フィールドデバイスにアナログ信号バスを介して送られる制御信号を生成して、これによりプロセスの動作を制御する。
【０００３】
近年、プロセス制御産業内では、フィールドに基づいたプロセス制御環境内のデジタル通信を実装する動きがある。例えば、プロセス制御産業は、ＨＡＲＴ（登録商標）、ＰＲＯＦＩＢＵＳ（登録商標）、ＷＯＲＬＤＦＩＰ（登録商標）、Ｄｅｖｉｃｅ−Ｎｅｔ（登録商標）及びＣＡＮプロトコル等の多くの標準的で開放されたデジタル又は結合されたデジタル及びアナログ通信プロトコルを発展させてきた。これらのデジタル通信プロトコルは、一般的には、特定のバスにより多くのフィールドデバイスが接続されるのを可能とし、フィールドデバイスとコントローラとの間のより多くのそしてより速い通信をサポートし、及び／又はフィールドデバイスが、より多くのそしてフィールドデバイス自身の状態や配置に関するプロセスコントローラへの情報など、異なるタイプの情報を送るのを可能としている。更に、これらの標準的なデジタルプロトコルは、異なる製造業者によって製造されるフィールドデバイスが、互いに同じプロセス制御ネットワーク内で使用されるのを可能としている。
【０００４】
また、プロセス制御産業内では、プロセス制御を脱集中化する動きがあり、これによってプロセスコントローラが簡略化される。脱集中化された制御は、バルブポジショナ、トランスミッタ等のプロセス制御デバイスを取り付けたフィールドに、典型的には機能ブロック又は制御ブロックとして言及されるものを使用して一又はそれ以上のプロセス制御機能を実行させることにより、そして、次に、他の制御機能を実行している他のプロセス制御デバイス（又は機能ブロック）による使用のためのバス構造を横切るデータを通信することにより、得られる。これらの制御機能を実行するために、各プロセス制御デバイスは、典型的には、標準的で開放された通信プロトコルを使用して他のプロセス制御デバイスと通信する能力と同様に、一又はそれ以上の機能ブロックを実装する能力を有するマイクロプロセッサを含んでいる。このように、フィールドデバイスは、互いに通信するために、そして集中化されたプロセスコントローラの介在なしに制御ループを形成して一又はそれ以上のプロセス制御機能を実行するために、プロセス制御ネットワーク内で相互接続され得る。現在フィールドバス財団（Fieldbus Foundation）によって普及されており、FOUNDATIONＴＭ Fieldbus（以下「Ｆｉｅｌｄｂｕｓ」と称する。）プロトコルとして知られている全てデジタルの二線式のバスプロトコルは、異なる製造業者によって製造されるデバイスが共同利用でき、プロセス内の脱集中化された制御をもたらすように標準バスを介して互いに通信するのを可能とする。
【０００５】
一又はそれ以上の集中化されたコントローラ内に位置する全体に亘るプロセス制御ルーチン（例えば、制御ルーチンの全ての機能ブロック）又はその部分を有する従来技術のシステムに於ける制御ブロック又は制御ループのチューニングは、かなり単純である。なぜなら、チューニングルーチンの全体は、集中化されたコントローラに格納されることも可能であるからである。このような集中化された制御ルーチンの制御ループのチューニングが望まれているとき、集中化されたコントローラ内の別々のチューニングルーチンが、比例−積分（ＰＩ）又は比例−積分−微分（ＰＩＤ）制御ブロック等の適当な制御ブロックに、誘導振動などのチューニング処理を介して、プロセス又はループの予め定義された特性を決定するように強制する。チューニング処理のこの動的なデータ捕捉相の間、チューニングルーチンは、ループによって生成される、通常の動作によって集中化されたコントローラに配送されているデータを収集し、そして、このデータから、プロセスの最終利得、時定数等の一又はそれ以上の特性を決定する。一度所望のプロセス特性が計算されると、チューニングルーチンは、計算されたプロセス特性を使用して、規則又は他のアルゴリズムのセットを適用して、制御ブロック又は制御ループに対する新たなチューニングパラメータを決定する。このステップは、チューニング処理の規則アプリケーション相と通常称されている。その後、チューニングルーチンは、新たなチューニングパラメータを制御ブロック（又は制御ループ）に配送し、チューニング処理を完了する。集中化されたプロセス制御システムでは、制御機能の全てがコントローラ内に位置し、チューニングに必要なデータの全てがプロセスの通常の動作の間にコントローラに提供されているので、チューニングルーチンは制御ブロック及びそのチューニングルーチンを実行するために必要なデータへの直接のアクセを有している。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
制御ブロック又はＰＩ、ＰＩＤ、ファジー論理等の制御エレメント、制御ブロックがプロセス制御ネットワーク全体に亘って分散方式で位置している脱集中化通信プロトコルについては、制御ブロック（又はこれらのブロックが動作している制御ループ）をチューニングすることは、制御ブロックがチューニングルーチンが典型的に格納されている集中化されたコントローラ（又は他のデバイス）から離れて位置するので、困難である。分散プロセス制御環境に於いてチューニングを組み込むのに使用される一つの公知の従来技術システムでは、全体に亘るチューニング処理は、集中化されたプロセスコントローラ内に留まっている。しかしながら、このシステムは、速いチューニングを行うことができない。なぜなら、それがチューニングルーチンの間に発現するデータを受領するために（プロセス内で他の通信を提供する）バスネットワーク上で通信しなければならず、そして、不運なことに、データの量（又はチューニングルーチンがこのデータを受領することができる速度）はバスのスループットの制約によって制限されるからである。更に、バス通信は別のバスコントローラによって制御され、チューニングルーチンによっては制御されないので、チューニングルーチンは、チューニング制御信号がスタート、ストップ及びチューニング処理の異なるセグメントを実行するために制御ブロックに伝送される正確な時間を厳密に制御することができない。従って、このことは、チューニング制御ルーチンがチューニング処理のタイミングを厳密に制御せず、このことは、不正確な結果をもたらす。
【０００７】
分散したプロセス制御環境内のチューニングを提供するもう一つの公知の従来技術システムでは、全体のチューニングルーチンは、（ＰＩＤ機能ブロック等の）チューニングされるべき制御ブロックと同様のデバイス内に置かれ、現実に、制御ブロックの機能性の中に実際に含まれている。一方、このシステムがチューニング処理のタイミングを正確に制御することができ、そして、所望の速度で（なぜなら、チューニングルーチンはバスを介して制御ブロックと通信していない）データを収集することができる間、チューニングルーチンは制御ブロックに沿って制御ブロックと同時にコンパイルされなければならず、このことは、たとえ自動チューニングルーチンが制御ループの通常の動作の間に比較的まれに使用されるとしても、プロセスの通常の動作の間に制御ブロックの使用に関連するオーバーヘッド（例えば、タイミング、処理、メモリ等の要求）を増大させる。更に、完全な自動チューニングルーチンは、各制御ブロックの自動チューニングを可能とするために、制御ブロックが配置される異なるそれぞれのデバイス内に置かれなければならず、このことは、プロセス制御システムに不必要な冗長を加え、プロセス制御システムのコストを増大させる。
【０００８】
更に、幾つかの公知の自動チューナ（集中化された制御システム又は分散制御システムに使用されるかどうかに拘わらず）は、ＰＩＤ（比例−積分−微分）コントローラのような特定のタイプのコントローラに対するチューニングパラメータのセットを、決定されたプロセスの特性のセットに基づいて生成し、次に、コントローラがチューニングパラメータを使用するときに、コントローラへのプロセスの応答をシュミレートするシミュレーションルーチンを実行する。このシミュレーションルーチンは、例えば、ステップ応答、インパルス応答等を使用して、オペレータが、チューニングパラメータの決定されたセットを有するコントローラに関連する利得、応答時間、オーバーシュート、振動等を見ることを可能にする。また、これらの従来技術のシステムは、コントローラで使用されているようなチューニングパラメータのセットが不安定な制御ループに導くであろうかどうかについて決定する。一つの公知のシステムでは、結果として得られるコントローラのローバスト性が、例えば、制御ループの利得マージン対フェーズマージンを表すローバスト性マップ上の点としてプロットされ得る。しかしながら、もし、ユーザが結果として得られるコントローラのローバスト性を好まないなら、ユーザは、所望のローバスト性を有するコントローラをもたらすか若しくはもたらさない他のチューニングパラメータを手動で選択するか、又は、ユーザは、新たなチューニングパラメータのセットを得るために、最初に使用されるべきコントローラのタイプなどのチューニングパラメータのセットを決定するのに使用される変数の幾つかを変更しなければならない。どちらの場合に於いても、ユーザは、コントローラの特定のタイプに対するチューニングパラメータのセットを、制御ループの所望のローバスト性を特定することによっても、まだ選択することはできず、このことは、ユーザが提供された自動チューニング法を使用して決定されたチューニングパラメータに関連するローバスト性に固執していること、又はユーザが、制御ループに特定のローバスト性を持たせるコントローラを生成するチューニングパラメータのセットを決定するのに複雑な手動による試行錯誤を通過しなければならないことを意味している。
【課題を解決するための手段】
【０００９】
シュミレーション処理は、チューニングされたコントローラの例えばオーバーシュート、振動、応答時間等を例示するために、計算されたチューニングパラメータのセット（例えば、自動チューニング処理によって決定される）の応答をシュミレートする。シュミレーション処理の一部分として、フェーズマージン対利得マージンを示すプロット又は他のローバスト性の特性を示すプロットのようなローバスト性マップが生成され、そして、シュミレートされている制御ループのローバスト性がローバスト性マップ上の点としてプロットされ得る。ローバスト性マップの生成の間に、プロセス制御ループが安定している領域についてのチューニングパラメータの異なるセットが決定されそして格納され、これらのチューニングパラメータに従ってチューニングされたコントローラを有するループの対応するローバスト性特性もまた決定され格納される。このローバスト性マップは、次に、安定な領域を示してユーザに表示される。その後、ユーザはローバスト性マップ上の安定な領域内の何れかの点を選択し、そうするに際して、選択したローバスト性特性を用いて制御ループを生成するのに使用されるチューニングパラメータのセットが次に先に計算されたチューニングパラメータのセット及びローバスト性特性から決定されるであろう。シュミレーションルーチンは、次に、ユーザが結果として生ずる制御ループの性能特性を見るのを可能とするために、これらの新たなチューニングパラメータに従ってチューニングされた制御ループをシュミレートする。望むなら、ローバスト性マップ上の点が、これらの点に関連するチューニングパラメータを使用している制御ループが安定又は不安定であるかどうかを示すような方法でプロットされ得る。
【００１０】
本発明の一実施形態に従えば、プロセス制御ループで使用されているチューニングコントローラで使用するためのチューニングパラメータを決定する方法は、プロセス制御ループのローバスト性特性（例えば利得マージン）をプロットするローバスト性マップを生成する。ローバスト性マップを生成するために、その方法は、チューニングパラメータの複数のセットと、チューニングパラメータのセットのそれぞれについてのプロセス制御ループのローバスト性特性に対する値とを決定する。次に、この方法は、ユーザがローバスト性マップ内の点を選択し、決定されたチューニングパラメータの複数のセットの少なくとも２つを使用して更なるチューニングパラメータのセットを生成することを可能とし、この更なるチューニングパラメータは、コントローラをチューニングするのに使用されたときに、選択された点に関連するローバスト性特性の大凡の値をプロセス制御ループが持つようにする。
【００１１】
望むなら、ローバスト性マップの生成ステップは、２つ又はそれ以上のローバスト性特性をプロットするステップを含み得、そして、決定ステップは、ローバスト性特性の一つを全範囲に亘って変化させ、及びチューニングパラメータのセット（例えばパス利得に向かう最大値を含む）とその範囲内の選択された多くの値のそれぞれに対するローバスト性特性の他の一つとを決定するステップを含み得る。所望なら、その方法は、チューニングパラメータの更なるセットを決定するために、決定されたチューニングパラメータの複数のセットの少なくとも２つを補完し得る。
【００１２】
一実施形態では、この方法はまた、チューニングパラメータの更なるセットに従ってチューニングされたコントローラを使用するときにプロセス制御ループをシュミレートし、チューニングパラメータの更なるセットに関連する動的マージンを決定し得る。
【００１３】
本発明のもう一つの実施形態に従えば、プロセス制御ループで使用されるように採用されているチューニングコントローラでの使用のためのチューニングパラメータのセットを決定する方法が、そのコントローラのチューニングに於いて使用するためのチューニングパラメータの複数のセットと、チューニングパラメータの複数のセットのそれぞれについての関連するローバスト性特性を決定し、そこではチューニングパラメータの複数のセットと関連するローバスト性特性は、ローバスト性マップ内の安定な領域を定義する。その方法は、次に、安定な領域のローバスト性マップを示すためにローバスト性マップの安定な領域をプロットし、ローバスト性マップ内の点をユーザが選択することを可能とする。その方法は、次に、チューニングパラメータの更なるセットを決定するために、チューニングパラメータの複数のパラメータの少なくとも２つを使用し、そこでは前記チューニングパラメータの更なるセットは、コントローラがチューニングパラメータの更なるセットに従ってチューニングされたときにプロセス制御ループが選択された点の大凡のローバスト性特性を持つように、ローバスト性マップ内の選択された点に関連している。
【００１４】
本発明の更なる他の実施形態に従えば、チューニングパラメータのセットに従ってチューニングされ得るコントローラを有するプロセス制御ループをチューニングするためにプロセッサとともに使用されるように適合したチューニングシステムは、コンピュータ読み取り可能な媒体を含み、そして、コンピュータ読み取り可能な媒体上に格納されプロセッサ上で実行されるように適合した第１、第２及び第３のルーチンを含んでいる。第１のルーチンは、チューニングコントローラで使用するためのチューニングパラメータの複数のセットと、チューニングパラメータのセットのそれぞれに対する関連するローバスト性特性とを決定することによって、ローバスト性マップを生成するように適合され、そこでは、チューニングパラメータの複数のセットと関連するローバスト性特性とが、ローバスト性マップ内に連続する領域を定義する。第２のルーチンは、ローバスト性マップ内の点をユーザが選択することを可能とするように適合され、第３のルーチンは、チューニングパラメータの複数のセットを定義して、コントローラのチューニングに使用されたときにプロセス制御ループが選択された点に関連する大凡のローバスト性特性を持つようにチューニングパラメータの更なるセットを生成する。
【図面の簡単な説明】
【００１５】
【図１】自動チューナを使用する分散制御要素を有するプロセス制御ネットワークの概略ブロック図である。
【図２】分散プロセス制御環境内の制御ループで使用される自動チューナの実施形態の概略ブロック図である。
【図３】分散化及び集中化された制御要素の両方を有するプロセス制御環境内の制御ループで使用される自動チューナの更なる実施形態の概略ブロック図である。
【図４】集中化された制御要素を有するプロセス制御環境内の制御ループで使用される自動チューナの更なる実施形態の概略ブロック図である。
【図５】プロセス制御環境内の修飾機能ブロックとして実装される自動チューニング機能ブロックの概略ブロック図である。
【図６】定義されたチューニングパラメータのセットを使用して、プロセス内のコントローラの動作に関連するシュミレーショングラフの例示を表示するユーザインターフェイスを有するプロセス制御システムのブロック図である。
【図７】所望のローバスト性特性を有する制御ループを提供するために、コントローラのためのチューニングパラメータのセットを選択するために使用され得るローバスト性マップを有するシュミレーションスクリーンディスプレイの例示である。
【図８】図７のローバスト性マップのようなローバスト性マップを決定する方法を示すフローチャートである。
【図９】図７のローバスト性マップの決定に於けるステップを示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１を参照すれば、プロセス制御ネットワーク１０がブロック図の形式で示されている。プロセス制御ネットワーク１０は、一又はそれ以上の、その中に格納されたプロセス制御ルーチンを実行することができ及び／又は機能ブロック等のプロセス制御ネットワーク１０の全体に分散しているフィールドデバイス内に位置している制御要素と通信することができる集中化されたプロセスコントローラ１２（図１では一つだけ示されている）を含んでいる。コントローラ１２は、実施例に限っては、FisherRosemountSystems Inc.によって販売されているＤｅｌｔａＶ（商標）であり得、ハブ１６及びイーサネット（登録商標）接続１８を介してパーソナルコンピュータ（ＰＣ）１４等の多くのワークステーションに接続され得る。この配置では、ＰＣ１４は、一又はそれ以上のオペレータ又はユーザがプロセスコントローラ１２又はフィールドデバイスと通信するために使用され、それによってプロセス制御ネットワーク１０の要素に関連する情報を得、プロセス制御ネットワーク１０内の要素の状態を再考し又は変更し、プロセス制御ネットワーク１０内の個々のフィールドデバイスに関連する情報を得る。もし、プロセスコントローラ１２がＤｅｌｔａＶであるなら、プロセス制御ルーチン内の機能ブロック又は他の制御要素と、プロセスの制御を提供するために機能ブロックが互いにリンクされている方法とを示して、ＰＣ１４の一つを介してユーザにコントローラ１２内のプロセス制御ルーチンの図式的な描写を提供する。更に、望むなら、ユーザ又はオペレータは、一又はそれ以上の機能ブロック又はＰＣ１４の一つからの制御ループのチューニングを開始することができる。
【００１７】
図１に示すように、集中化されたコントローラ１２は、プロセス（参照番号１９で概略的に示されている）の全体に亘って配置されている多くのフィールドデバイスに接続されている。集中化されたコントローラ１２は、標準的なタイプのＩ／Ｏカード２０及び２２を介して、コントローラ１２からの集中化された制御の下にある典型的なフィールドデバイス２６，２８，３０，３２，３４及び３６と通信し得る。Ｉ／Ｏカード２０は、例えば、コントローラ１２を４〜２０ｍＡのバス３８上で通信するアナログフィールドデバイス２６及び２８に接続するアナログＩ／Ｏカードであり得る。同様にＩ／Ｏカード２２は、デジタル又はデジタル及びアナログの混合のフィールドデバイスと、例えば４〜２０ｍＡのアナログ形式若しくは他の所望の形式を使用して通信を行う、デジタル若しくはデジタル・アナログ結合のＩ／Ｏカードであり得る。もちろん、フィールドデバイス２６，２８，３０，３２，３４及び３６は、トランスミッタ、センサ、バルブポジショナ、バルブコントローラ等を含むフィールドデバイスのタイプであり得る。図１に例示されている例示のプロセス制御ネットワーク１０について分かるように、フィールドデバイス２６−３６は、コントローラ１２内に格納されている制御ルーチンによって集中化されて制御されているプロセス１９の一部分に関連している。
【００１８】
また、コントローラ１２は、インターフェイスカード４０に通信可能に接続され、これは次に、分散された方式でプロセス制御が実行されるプロセス制御ネットワーク（又はその一部）に接続されている。図１に示した例では、プロセス１９の脱集中化されたプロセス制御部分は、インターフェイスカード４０、バス４２並びにバス４２に接続された多くのフィールドデバイス４３，４４，４６，４８及び５０を含んでいる。実施例では、デバイス４３は幾つかのプロセス変数を測定するトランスミッタであり得、一方、デバイス４４はそのプロセス内の流体の流れを制御するポジショナ／バルブデバイスであり得る。図１の分散されたプロセス制御ネットワークは、例えば、Ｆｉｅｌｄｂｕｓ通信プロトコルを使用するＦｉｅｌｄｂｕｓネットワークであり得、インターフェイスカード４０はＦｉｅｌｄｂｕｓ通信プロトコルに関連するリンクアクティブスケジューラであり得る。
【００１９】
コントローラ１２内に位置する集中化されたプロセス制御ルーチンは、フィールドデバイス２６−３６及び可能性として４３−５０からの入力を受領し、その制御ルーチンに関連する計算と他のアクティビティとを実行し、そして次に、Ｉ／Ｏカード２０及び２２並びにインターフェイスカード４０を介してフィールドデバイスにコマンドを送って、プロセス１９の所望の制御を実行する。しかしながら、プロセス制御ネットワーク１０の脱集中化されたプロセス制御部分（即ち、図１のバス４２に関連する部分）は、コントローラ１２によって実行されている制御と結合した（又はそれに代わって）脱集中化された方法で自身のプロセス制御ルーチンを実行し得ることに注意すべきである。このように、コントローラ１２がバス４２に接続されているデバイス４３−５０上の幾つかの制御にインターフェイスし実行している間、これらのデバイスはまた、コントローラ１２によって実行されている制御に関連せずその代わりにバス４２に接続されているデバイスの全体に亘って分散している制御機能又は機能ブロックを実行する。どの場合にも、ここに記載されている自動チューナは、図１のフィールドデバイス２６−３６及び４３−５０又はコントローラ１２の何れかに位置している（機能ブロックのような）制御エレメントをチューニングするのに使用される。
【００２０】
一方、好ましい実施形態では、プロセス制御ネットワーク１０の記述されている部分は、Ｆｉｅｌｄｂｕｓ通信及び制御プロトコルを使用し、その上、それは、将来開発されるであろうプロトコルをも含めて他の公知又は所望のプロトコルを使用することができる。一般的に言えば、Ｆｉｅｌｄｂｕｓプロトコルは、例えば工場又はプラントの計測器若しくはプロセス制御環境に配置されているセンサ、アクチュエータ、デバイスコントローラ、バルブ等の「フィールド」装置を相互接続する二線ループ若しくはバスへの標準化された物理インターフェイスを提供する全てデジタルでシリアルの双方向通信プロトコルである。Ｆｉｅｌｄｂｕｓプロトコルは、要するにプロセス内のフィールド装置（フィールドデバイス）のためのローカルエリアネットワークを提供し、これは、これらのフィールドデバイスがプロセスの設備の全体に亘って分散している位置で制御機能を果たし、全体に亘る制御計画を実行するためにこれらの制御機能の実行の前後で互いに通信するのを可能とする。Ｆｉｅｌｄｂｕｓプロトコルは、制御機能がプロセス制御ネットワークの全体に分散するのを可能とするので、それは、集中化されたプロセスコントローラ１２の負荷を減少させ、又はプロセスのこれらのフィールドデバイス又は領域についての集中化されたプロセッサ１２の必要性を無くする。
【００２１】
Ｆｉｅｌｄｂｕｓプロトコルはプロセス制御ネットワークで使用するために開発された比較的新しい全てデジタルの通信プロトコルであるけれども、このプロトコルはこの技術分野で公知であり、多くの論文、パンフレット及び発行され配布され、とりわけテキサス州オースチンに本部を有する非営利団体のフィールドバス財団から入手可能な仕様書に詳細に記載されていることが理解されるであろう。その結果、Ｆｉｅｌｄｂｕｓ通信プロトコルの詳細は、ここでは詳細には述べない。
【００２２】
図２は、例えばＦｉｅｌｄｂｕｓネットワーク又は他の分散制御環境内で実行され得る制御ループを作り上げている相互接続されている機能ブロックの概略ブロック図の描写であり、そこでは制御ループ内の機能ブロックは、バスのような通信ネットワークによって相互接続された異なるデバイスに位置している。図２に示されている制御ループは、アナログ入力（ＡＩ）機能ブロック６０（これは、例えば図１のトランスミッタ４３内に配されている）、ＰＩＤ機能ブロック６２及びアナログ出力（ＡＯ）機能ブロック６４を含んでいる。図２の例示のループについては、ＰＩＤ機能ブロック６２及びＡＯ機能ブロック６４は、図１のポジショナ／バルブ４４に位置している。機能ブロック６０，６２及び６４間の通信接続は、プロセスとこれらの機能ブロックの制御入出力に付け加えた線によって図２に示されている。このように、プロセス変数測定又はプロセスパラメータ信号を有し得るＡＩ機能ブロック６０の出力は、Ｆｉｅｌｄｂｕｓワイヤ４２を介してＰＩＤ機能ブロック６２の入力に通信可能に接続され、これは次に、ＡＯ機能ブロック６４の入力に通信可能に接続された制御信号を有する出力を有している。例えばバルブ４４の位置を示すフィードバック信号を有するＡＯ機能ブロック６４の出力は、ＰＩＤ機能ブロック６２の制御入力に接続されている。ＰＩＤ機能ブロック６２は、ＡＩ機能ブロック６０からのプロセス測定信号（及びもしかすると他の信号又はセットポイント）に沿ってこのフィードバック信号を使用して、ＡＯ機能ブロック６４のどのような所望の制御も実行し、これによってＡＩ機能ブロック６０によって測定されたプロセス変数を制御する。図２の制御ループの図の線によって示されている接続は、ＡＯ及びＰＩＤ機能ブロック６４及び６２の場合と同様に、機能ブロックが同じフィールドデバイス内にあるときに、フィールドデバイス内で内部的に実行され得る。
【００２３】
制御要素６２のチューニングに使用するための自動チューナは、ポジショナ／バルブ４４内に位置する自動チューニング機能ブロック６６を含んでいる。自動チューニング機能ブロック６６は、チューニング処理の動的データ捕捉相の動作の間にＰＩＤ機能ブロック６２に接続され、その入力へ信号を送ること、出力を変更すること等により、ＰＩＤ機能ブロック６２を制御する。特に、チューニング処理の動的データ捕捉相の間、制御要素コントローラ６７（これは、例えば、ハードウエア又はソフトウエアの何れかにより実行される信号発生器であり得る）は、機能ブロック６０，６２及び６４を有する制御ループを駆動して、制御された誘起振動処理に導く（又は他の所望のチューニング処理を実行する制御ループを駆動する）。データ収集ユニット６８は、この処理の間、生成した又はＰＩＤ機能ブロック６２（又はループの他の部分）に伝送されたデータを収集し、そして、好ましくは、デバイス４４内のメモリにこのデータを格納する。プロセス特性決定ユニット６９は、次に、プロセス、ループ又はデバイスの特性であり得る所望のプロセス特性を、公知又は所望の処理を用いて収集されたデータから決定する。その後、通信ユニット７０は計算されたプロセス特性（又はこのような特性を決定するのに必要なデータ）をチューニングコントローラ７１に提供し、これは、自動チューニング機能ブロック６６が位置しているデバイス４４から離れた、集中化されたコントローラ１２等を除いたオペレータワークステーション又はＰＣ１４の一つに位置しているのが好ましい。
【００２４】
チューニング処理の間、自動チューニング機能ブロック６６は、プロセス又は制御ループの一又はそれ以上のプロセス特性を決定するために、プロセスループに強制的に特定の変化を与え、そしてプロセス制御ループ内に存在する種々の量又は信号を検知する。これらのプロセス特性（又はチューニング処理の間に捕捉されたデータ）は、異なるデバイス内に位置するチューニングコントローラ７１に、ユーザインターフェイスサポート及び制御又はチューニングパラメータの一又はそれ以上のセットの発現に於いて使用するために送られる。ＰＩＤ機能ブロック６２の使用は単なる例示であり、自動チューニング機能ブロック６６は他のどのような制御ループに於けるどのようなタイプの機能ブロックとともにでも使用され得ることが理解されるであろう。更に、チューニングコントローラ７１は、例えば、ユーザ若しくはオペレータインターフェイスデバイス（例えば何れかのワークステーション）、何れかのコントローラ、又は何れかのフィールドデバイスをも含むどのような他のデバイスにも配置され得る。
【００２５】
自動チューニング機能ブロック６６の個々の要素はどのような所望の方法によっても実装され得ることが理解されるであろう。例えば、好ましい実施形態では、これらの要素のそれぞれは、自動チューニング機能ブロック６６が格納されているデバイスに関連するプロセッサ上で実行されるソフトウエアで実装される。この場合には、制御要素コントローラ６７は、チューニングされているＰＩＤ機能ブロック６２又は他の機能ブロックとの通信及びそれらへの入力若しくはそれらの出力の制御に於いて使用される一連の命令であり得る。同様に、データ収集ユニット６８は、例えばＰＩＤ機能ブロック６２に関連する特定の所望の信号をモニタし、そして、これらの信号を表すデータをデバイス４４のメモリに格納する。プロセス特性決定ユニット６９は、格納され又は収集されたデータから一又はそれ以上のプロセス特性を計算し又はさもなければ決定するために、ソフトウエアで実装され得、通信ユニット７０は、通信プロトコル又はデバイス４４のセットアップを使用して、チューニングコントローラ７１と通信を行う。例えば、Ｆｉｅｌｄｂｕｓデバイスに於いては、通信ユニット７０は、デバイス４４内に既に提供されている通信システムに、Ｆｉｅｌｄｂｕｓのバス４２上をチューニングコントローラ７１にプロセス特性を通知させる。Ｆｉｅｌｄｂｕｓの環境に於いては、個々のユニット６７，６８，６９及び７０は、独立のＦｉｅｌｄｂｕｓ機能ブロックとしてパッケージされ又はＰＩＤ機能ブロック６２内に提供され得る。その代わりに、ユニット６７，６８，６９及び７０の何れか又は全ては、他の何れのプロセス制御環境に於けるソフトウエア、ハードウエア又はファームウエアでも実装され得る。
【００２６】
自動チューニング機能ブロック６６、より詳細には制御要素コントローラ６７は、チューニング処理の間、開ループ又は閉ループ技術のような所望のどのようなチューニング処理も使用することができる。同様に、自動チューニング機能ブロック６７は、所望のプロセス又はループ特性を決定するために、例えば、ＡＯ機能ブロック６４の出力、ＰＩＤ機能ブロック６２のセットポイント、ＡＩ機能ブロック６０の出力等を含む所望の変数を測定し得る。好ましい実施形態では、自動チューニング機能ブロック６６は、所望のプロセス特性を決定するために、制御された誘起振動処理を使用するように構成される。このような構成では、自動チューニング機能ブロック６６のコントローラ６７は、ＰＩＤ機能ブロック６２の制御入力に、誘起振動が開始される前にＰＩＤ機能ブロック６２に送られる制御信号の値を中心とする２ｄのピーク間の選択可能な値を有する矩形波信号を適用する。このような矩形波信号に応答して、図２の制御ループは誘起振動を受け、ＡＩ機能ブロック６０の出力（即ち、プロセス変数）はピーク間振幅２ａ及び周期Ｔｕを有して振動する。プロセス変数の振幅と矩形波信号の振幅から、プロセスの最終の利得Ｋｕが次の式によって誘導され得る。
【００２７】
Ｋｕ＝４ｄ／ｎａ              （１）  
プロセスの最終の利得Ｋｕは、プロセス変数の振動の周期に等しいとして計算され得る。自動チューニング機能ブロック６６は、もちろん他のデータを測定し得、そして、例えば、遅延時間Ｔｄ及びプロセスの支配的な時定数を含む他の所望のプロセス特性を決定し得る。
【００２８】
このようなプロセス特性の計算の後、自動チューニング機能ブロック６６はこれらの特性をチューニングコントローラ７１に提供し、これはＫｕとＴｕの量から、例えばＰＩＤ制御機能ブロック６２の比例の利得Ｋｐ（又はＫｐ）、積分時定数Ｔｉ（又はＴｉ）及び微分時定数Ｔｄ（又はＴｄ）を含む制御又はチューニングパラメータの予備のセットを決定する。しかしながら、所望なら、自動チューニング機能ブロック６６は必要なデータを捕捉し、そのデータを格納し及びその格納されたデータをチューニングコントローラ７１にバスを介して非実時間で提供し得、この場合には、チューニングコントローラ７１は所望の方法で所望のプロセス又はループ特性を計算し得る。
【００２９】
上述の議論にもかかわらず、自動チューニング機能ブロック６６は、ＰＩ、ＰＩＤ、ファジー論理又はその中の他のタイプの制御要素を有する制御ループとして知られている種々のルーチンの何れかを含む所望の動的データ捕捉ルーチンを実装し得ることが理解されるであろう。例えば、自動チューニング機能ブロック６６は、ここに参照によって組み込まれる米国特許第４，５４９，１２３号に記載されているHaegglund-Astroemリレーチューニング処理のような制御された誘起振動処理を実行し得る。リレータイプのチューニング方法では、自動チューニング機能ブロック６６は、（機能ブロック６０，６２及び６４で構成される）プロセスループを、例えば非線型フィードバック機能を使用して自己振動の状態にし、最終利得及び最終周期のような所望のプロセス特性を決定するために、プロセスループの応答を測定する。
【００３０】
これに代えて、自動チューニング機能ブロック６６は、「自動チューニングを有するファジー論理制御のための方法及び装置」と題された１９９３年８月１１日に出願された同時係属する米国特許出願第０８／１０５，８９９号に記載されているチューナの何れか一つの設計を組み込み得、その開示は参照によってここに組み込まれる。例えば、自動チューニング機能ブロック６６（特に、プロセス特性計算機６９）は、格納されている複数の数学的モデルからプロセス又はループを最も正確に特徴付けるモデルを選択するために特徴分析がプロセス変数上で実行されるモデルマッチングチューニング処理を実行し得る。次に、プロセスループのプロセス特性が、選択されたモデルから決定される。
【００３１】
更にまた、自動チューニング機能ブロック６６は、米国特許第４，６０２，３２６号に開示されているようなプロセス特徴づけのパターン認識法を使用して、そのループのプロセス特性を決定し、その開示は参照によってここに組み込まれる。チューニングのパターン認識法に於いては、プロセス又はループの特性は、プロセスの混乱状態に応答するのにプロセス変数を観察することにより決定される。プロセスの混乱状態の結果として生成されるプロセス変数のパターンは、次に、プロセス又はループの所望の特性を決定するために分析される。
【００３２】
更にまた、自動チューニング機能ブロック６６は、例えば米国特許第５，２８３，７２９号及び同時係属する１９９３年５月２８日に出願された米国特許出願第０８／０７０，０９０号に開示されているような、「自動チューニングプロセスコントローラのためにシステム及び方法」と題された、プロセス（例えば、ループ）の特性を決定する信号注入法が使用され得、その開示は参照によってここに組み込まれる。しかしながら、他のどのような手法も、望みどおりに使用され得、自動チューニング機能ブロック６６は、ここに記載され又は参照された特定のチューニング手法の使用に限定されるものではない。
【００３３】
同様に、チューニングコントローラ７１は、自動チューニング機能ブロック６６によって計算され又は収集されたプロセス又はループの特性（又は生のデータ）からチューニングパラメータを決定するどのような方法も使用し得る。例えば、チューニングコントローラ７１は、２〜３例を挙げると、内部モデル制御（ＩＭＣ）チューニング、Ｃｏｈｅｎ及びＣｏｏｎチューニング、Ｚｉｅｇｌｅｒ−Ｎｉｃｈｏｌｓチューニング、改良Ｚｉｅｇｌｅｒ−Ｎｉｃｈｏｌｓチューニングを含む、参照によってここに明確に組み込まれる米国特許第５，７４８，４６７号に開示され又は参照されているチューニングパラメータ計算方法の何れかを使用し得る。
【００３４】
一般的には、チューニングコントローラ７１は、一又はそれ以上の規則のセット（例えば、ファジー論理規則のセット、神経ネットワーク配置若しくは規則のセット、又は線型若しくは非線型アルゴリズムのようなもの）を格納し、これは、チューニングされている機能ブロックのタイプに応じて、利得、時定数等のチューニングパラメータを決定するために使用する。更にまた、チューニングコントローラ７１（これは、異なるデバイス内の異なる多くの自動チューニング機能ブロックの何れとも通信可能）は、異なるタイプの制御ブロック又はループのためのチューニングパラメータ計算規則の異なるセットを格納し得、従って、プロセス制御システム内のＰＩＤ、ＰＩ、ファジー論理又は他の制御要素の何れか又は全てをチューニングするのに使用され得る。チューニングコントローラ７１は制御要素の異なるタイプとともに使用されるべき多くの異なる規則のセットを格納することができ、そして自動チューニング機能ブロック６６によって決定された動的プロセス特性に基づいて新たなチューニングパラメータを計算するときに適当な規則はどのようなものでも適用することができるので、単一のチューニングコントローラ７１のみがどのようなプロセス制御ネットワークにも配置される必要がある。
【００３５】
チューニングコントローラ７１が新たなチューニングパラメータを決定した後、それはこれらのパラメータを、バス４２を介して図２のＰＩＤ機能ブロック６２のような適当な制御要素に提供する。もし望むなら、チューニングコントローラ７１は自動チューニング機能ブロック６６にそのチューニングパラメータを提供し、これは次に、これらのパラメータをＰＩＤ機能ブロック６２に提供する。
【００３６】
チューニングの動的データ捕捉相の間に実行される機能がチューニングの規則適用相の間に実行される機能から分離している別々の機能セットアップを使用して、自動チューナはチューニング処理の動的データ捕捉相のタイミングを制御することができる。更にまた、データ通信はバス上にリアルタイムで発生しないので、この自動チューナは、チューニングされている制御ループのプロセス特性を正確に決定するために必要なだけのデータを検出し格納することができる。また、プロセス又はループ特性（これは非常に複雑であり得る）に基づく新たなチューニングパラメータの決定に関連した機能を適用する規則は、デバイス内で又はループを制御するのに使用される機能ブロックによっては実行されないので、これらの機能はオペレーティングループにコードされる必要がない。このことは、言い換えれば、全体に亘るチューニングルーチンがチューニングされている制御ブロック内に配置されているシステムに比較して、ループのオーバーヘッドを減少させる。
【００３７】
図３を参照すれば、集中化された又は脱集中化された方法の両方で実行される制御ブロック又は制御機能を有する環境で使用するための更なる自動チューナが示されている。この実施例では、ＡＩ機能ブロック６０は、図１の集中化されたコントローラ１２内にあり、コントローラ１２によって実行され、これはトランスミッタデバイス及びバルブ／ポジショナデバイス（これらは図１のデバイス２６，２８，３０，３２，３４及び３６の何れであってもよい）と通信して、これらの機能ブロックの入力及び出力を得る。しかしながら、ＰＩＤ機能ブロック６２は、図１の脱集中化されたＦｉｅｌｄｂｕｓネットワークのバルブ／ポジショナデバイス４４に格納されこれによって実行され、Ｆｉｅｌｄｂｕｓリンク４２及びインターフェイスカード４０を介して図１の集中化されたコントローラ１２と通信する。
【００３８】
この実施例では、集中化されたコントローラ１２は、シャドーＰＩＤ機能ブロック７２（波線ブロックで示されている）を有し、これは、入力及び出力並びにＰＩＤ機能ブロック６２に関連する他のデータをミラーリングし、あたかもＰＩＤ機能ブロック６２が集中化されたコントローラ１２内に格納されこれによって実行されているかのように、ＡＩ及びＡＯ機能ブロック６０及び６４と通信する。より詳細には、シャドーＰＩＤ機能ブロック７２がＡＩ及びＡＯ機能ブロック６０及び６４からリンクを介して入力を受け取ったとき、それはすぐさまこれらの入力をバルブ／ポジショナデバイス４４内の実際のＰＩＤ機能ブロック６２及び６４に送る。シャドーＰＩＤ機能ブロック７２と実際のＰＩＤ機能ブロック６２との間の通信は、Ｆｉｅｌｄｂｕｓプロトコルの場合には、図３の波線によって示され、フィールドデバイス４４に関連する通信プロトコルを使用して実行される。実際のＰＩＤ機能ブロック６２は、次に、あたかもＡＩ及びＡＯ機能ブロック６０及び６４がＦｉｅｌｄｂｕｓネットワーク内のＦｉｅｌｄｂｕｓ機能ブロックであるかのように、標準的な方法で受け取った入力に基づいてその制御機能を実行する。
【００３９】
同様に、シャドーＰＩＤ機能ブロック７２は、出力と実際のＰＩＤ機能ブロック６２の状態を表す他のデータとの定期的なアップデートを受領し、コントローラ１２内のリンクを介してＡＩ及びＡＯ機能ブロック６０及び６４に適当なときにこのようなデータの通信を行うように構成されている。このような方法では、ＡＩ及びＡＯ機能ブロック６０及び６４には、ＰＩＤ制御機能が集中化されたコントローラ１２内に提供されるように見える。これらのブロックは、これらのブロックが集中化されたコントローラ１２によって実行されるどのような他の機能ブロックとも通信を行うのと同様の方法で、シャドーＰＩＤ機能ブロック７２と通信を行うことができる。シャドー機能ブロックの実行に関する詳細は、本発明の主題ではないが、「プロセス制御ネットワークで使用するためのシャドー機能ブロックインターフェイス」と題された１９９８年９月１０日に出願された米国特許出願第０９／１５１，０８４号に詳細に記述されており、その開示は参照によってここに明確に組み込まれる。
【００４０】
図３の実施形態に於いては、自動チューニング機能ブロック６６は、図２に関連して記述されたように、ポジショナ／バルブ４４に配置され、実際のＰＩＤ機能ブロック６２と通信しこれを制御して、チューニング処理を実行する。ＰＩＤ機能ブロック６２と同様に、自動チューニング機能ブロック６６は、コントローラ１２内に配されたシャドー自動チューニング機能ブロック７６を有している。実際の自動チューニング機能ブロック６６は、シャドー自動チューニング機能ブロック７６と通信を行い、（計算されたプロセス又はループ特性のような）データをシャドー自動チューニング機能ブロック７６に送り、シャドー自動チューニング機能ブロック７６からコマンド又は他のデータを受け取る。図２の実施形態と同様に、自動チューナのチューニングコントローラ７１は、ワークステーション又はＰＣ１４内に格納されこれらによて実行されるが、その代わりにコントローラ１２又は他の所望のどのようなデバイス内にあってもよい。チューニングコントローラ７１は、シャドー自動チューニング機能ブロック７６と通信を行い、例えば、チューニング処理を開始し、自動チューニング機能ブロック６６によって発現されたプロセス若しくはループ特性を受け取り、又は自動チューニング機能ブロック６６によって集められ若しくはその状態を表すデータを受け取る。
【００４１】
チューニングが図３の実施形態で望まれているとき、チューニングコントローラ７１は、（例えば、ユーザ又はプロセス制御ネットワーク内の更なるコントローラから）チューニングを開始するコマンドを受け取る。チューニングコントローラ７１は、次に、シャドー自動チューニング機能ブロック７６に開始コマンドを送り、シャドー自動チューニング機能ブロック７６はこのコマンドを実際の自動チューニング機能ブロック６６に送る。このコマンドに応答して、実際の自動チューニング機能ブロック６６は、図２に関連して記述した何れかのようなチューニング処理を開始し、チューニング処理の間にループによって生成されるデータを収集し、及び次に一又はそれ以上の所望のプロセス特性を計算しさもなければ決定する。実際の自動チューニング機能ブロック６６は、次に、これらの特性（又は収集されたデータ）をシャドー自動チューニング機能ブロック７６に提供し、これはチューニングコントローラ７１にこの情報の通信を行う。
【００４２】
他の方法として、シャドー自動チューニング機能ブロック７６又はチューニングコントローラ７１は、実際のＰＩＤ機能ブロック６２に実際の自動チューニング機能ブロック６６を呼び出し又はこれと通信することを強制して、ＰＩＤ機能ブロック７２（これは実際のＰＩＤ機能ブロック６２の状態を変更する）の状態を変更し、これによってチューニング処理を実行する。この場合には、シャドー自動チューニング機能ブロック７６はＰＩＤ機能ブロック６２も状態の変化に応じて自動的に開始され又はインストールされる。
【００４３】
何れの場合も、チューニングコントローラ７１は、（計算されたループ又はプロセス特性のような）受領したデータに基づいて、所望のチューニングパラメータ計算方法を使用して、新たなチューニングパラメータを決定する。チューニングコントローラ７１は、次に、このようなチューニングパラメータをシャドーＰＩＤ機能ブロック７２（又は必要な他のどのような機能ブロック）に送り、シャドーＰＩＤ機能ブロック７２はこれらの新たなチューニングパラメータを実際の実際のＰＩＤ機能ブロック６２に送り、ここではそれらはＰＩＤ機能ブロック６２によってループの通常の動作の間に使用される。
【００４４】
望ましいなら、シャドー自動チューニング機能ブロック７６は必ずしも必要ではなく、代わりにチューニングコントローラ７１が自動チューニング機能ブロック６６と直接通信してチューニング処理を実行することもできる。更に、図２及び図３の実施形態は、自動チューニング機能ブロック６６をＰＩＤ機能ブロック６２から独立した機能ブロックとして示しているが、独立した機能ブロックの代わりに、自動チューニング機能ブロック６６の機能は、ＰＩＤ（又は他の制御）機能ブロック６２に組み込まれていてもよい。
【００４５】
シャドー自動チューニング機能ブロック７６は、Ｆｉｅｌｄｂｕｓデバイスの自動チューニング機能ブロック６６の属性と同じ属性を有しているのが好ましい。しかしながら、一実施形態では、ＳＴＲＡＴＥＧＹ，ＡＬＥＲＴ  ＫＥＹ，  ＭＯＤＥＢＬＫ及びＢＬＯＣＫＥＲＲの標準的なＦｉｅｌｄｂｕｓ属性は、実際の自動チューニング機能ブロック６６に提供されているけれども、シャドー自動チューニング機能ブロック７６に提供されている必要はない。また、シャドー自動チューニング機能ブロック７６は、チューニング処理の同定相（即ち、動的捕捉相）の間に於いてのみチューニングコントローラ７１によって使用され、チューニングコントローラ７１と自動チューニング機能ブロック６６との間の通信を提供するので、ユーザに直接見えている必要はない。それでもなお、シャドー自動チューニング機能ブロック７６のパラメータは、チューニングコントローラ７１にとって有用であり、これによって使用され、ユーザインターフェイスアプリケーションのチューニングに使用され、所望ならユーザアプリケーションによって得られることができる。更にまた、ＦｉｅｌｄｂｕｓＰＩＤ機能ブロック６２は、自動チューニング機能ブロック６６の開始インデックスを含むように改変されることが好ましく、このインデックスはまた、シャドー自動チューニング機能ブロック７６によって使用されるのに有用である。このことは、ＰＩＤ機能ブロック６２が自動チューニング機能ブロック６６によって制御されることを可能とする。プロセス特性情報は、例えばシャドー自動チューニング機能ブロック７６と同様に、Ｆｉｅｌｄｂｕｓ自動チューニング機能ブロック６６に、Ｆｉｅｌｄｂｕｓ機能ブロックの他のどのようなタイプにも関連する他の属性と同様の属性として含まれ得る。当業者には、シャドー自動チューニング機能ブロック７６と同様に、使用されているチューニングの異なるタイプと自動チューナが位置するシステムの異なる局面とに依存して、異なる属性が自動チューニング機能ブロック６６に提供され得ることは公知である。自動チューニング機能ブロックによって提供され得る幾つかの例示的なプロセス特性又は情報は、以下のようである。
【００４６】
Ｔ＿ＩＰＧＡＩＮ−プロセス利得の積分−入力に於けるユニットステップ変化  Ｔ＿ＵＧＡＩＮ−最終の利得−ループが欄外で安定、即ち、安定と不安定との間のボーダーラインにある、比例のみのコントローラ利得の値、
Ｔ＿ＵＰＥＲＩＯＤ−最終の周期−そのコントローラ利得がプロセスの最終の利得に設定されたときのループの振動の周期、
Ｔ＿ＰＳＧＡＩＮ−プロセスの静的な利得−プロセス入力変化に対するプロセス出力変化の比率、
Ｔ＿ＰＴＩＭＥＣ−プロセス時定数−システムがステップ入力に応答した時と、その最終地の６３％に到達した時との間の時間期間、
Ｔ＿ＰＤＴＩＭＥ−プロセス遅延時間−制御アクションがとられた時と、プロセスがこのアクションに対する応答を開始した時との間の時間の長さ、である。
【００４７】
これらの属性は、チューニングテストが完了したときに、自動チューニング機能ブロック６６で計算され、次に、例えばワークステーション１４のチューニングコントローラ７１に提出し、これは、これらのプロセス特性情報又は属性の一又はそれ以上を、例えばＰＩ、ＰＩＤ又はファジー論理コントローラに対する利得、積分時間（リセットの反転）、及び微分時間（速度）等のチューニングパラメータを決定するために使用する。一実施形態では、上記にリストされている属性は、浮動小数点データであり、不揮発性のメモリ上にスタティックデータとして格納され、読み取り専用データのようにアクセスされ得る。また、上記にリストされている属性のそれぞれは、Ｆｉｅｌｄｂｕｓ又はＤｅｌｔａＶプロトコルのビュー（view）１及び３で入手され得る。Ｆｉｅｌｄｂｕｓ又はＤｅｌｔａＶプロトコルのビューリストは、機能ブロックからの情報に対する単一要求（即ち、一つのビュー）によって与えられるであろうパラメータを定義することが理解されるであろう。このように、ビューの要求を使用して、自動チューニング機能ブロック６６は、自動チューニング機能ブロック６６からの利用可能な非常に多くの属性に対する最も新しい値を得る。
【００４８】
更に、上記でリストした属性又はプロセス特性は、自動チューナの一つの可能な実行に関連していることと、他の方法で動作し得るように構成された他の自動チューナによって提供される他の属性又は情報があることとが理解されるであろう。このような他のプロセス特性情報には、他の所望の時間と同様に、所望のタイプの利得、最終の周期、デッドタイム及び微分時間等の時間、並びにプロセスに関連するどのような時定数も含まれ得る。
【００４９】
実行された自動チューニングの正確なタイプは重要ではなく、上記に提供されているリストは、チューニングコントローラ７１が一又はそれ以上のチューニングパラメータを決定するのを可能とするためにチューニングコントローラ７１に利用可能となるプロセス特性情報の幾つかのタイプの単なる例示であることが理解されるであろう。所望なら、チューニングコントローラ７１は、どのようなタイプのＰＩＤ、ファジー論理、神経ネットワーク等のプロセスも、最終の利得、最終の周期及びデッドタイム等の入力から、コントローラ利得、リセット、速度等のチューニングパラメータを決定するために使用し得る。
【００５０】
一実施形態では、自動チューニングアプリケーション（即ち、チューニングコントローラ７１）は、自動チューニングがＦｉｅｌｄｂｕｓデバイス（即ち、実際のＰＩＤ機能ブロック６２）内の関連する機能ブロック上で自動チューニングが実行されていることを示すために、シャドーＰＩＤ機能ブロック７２のＴＵＮＳＫＩ属性に書き込みを行う。この属性の変更に応答して、シャドー自動チューニング機能ブロック７６のインスタンスが集中化されたコントローラ１２内に生成される。（付随的に、チューニングコントローラ７１もまた、自動チューニングが完了したことを示すためにＴＵＮＳＫＩ属性に書き込みを行い、これにより、シャドー自動チューニング機能ブロック７６が処分される。）シャドー自動チューニング機能ブロック７６が生成された後、Ｆｉｅｌｄｂｕｓデバイスの関連する自動チューニング機能ブロック６６の状態が読み取られる。もし、自動チューニング機能ブロック６６の状態がクリアされていれば（Ｔ＿Ｒｅｑｕｅｓｔ＝０）、次に、チューニングが行われる。しかしながら、Ｔ＿Ｒｅｑｕｅｓｔ属性が０でないなら、次に、チューニングはＦｉｅｌｄｂｕｓデバイス内でアクティブとなる。この場合には、チューニングの要求は好ましいことではなく、シャドー自動チューニング機能ブロック７６のインスタンスは削除され、これによって自動チューニングは停止する。
【００５１】
シャドー自動チューニング機能ブロック７６のインスタンスが生成されたとき、その静的及び動的属性は自動チューニング機能ブロック６６のそれを反映する。これらの値は、自動チューニングアプリケーション（即ち、チューニングコントローラ７１）によって、あたかも集中化されたコントローラ１２のＰＩＤ機能ブロックがチューニングされているようにアクセスされるであろう。このように、もし、自動チューニングアプリケーション７１がシャドー自動チューニング機能ブロック７６の属性に新たな値を書き込んだら、シャドー自動チューニング機能ブロック７６は、関連する自動チューニング機能ブロック６６へのこの属性値の書き込みを開始する。同様に、自動チューニング機能ブロック６６がＦｉｅｌｄｂｕｓデバイス内で活動的に働いているとき、シャドー自動チューニング機能ブロック７６は自動チューニング機能ブロック６６の動的属性値（Ｆｉｅｌｄｂｕｓプロトコルのビュー３）を周期的に得る。自動チューニング機能ブロック６６は機能ブロックとして定義されているので、このビューは他のブロックに於けると同様にアクセスされるであろう。ビューの要求に応答して提供される動的属性値は、次に、シャドーブロック７６でその動的属性値をアップデートするのに使用される。（図１の）Ｆｉｅｌｄｂｕｓインターフェイスカード４０が静的属性値に於ける変化を見出したとき、それは自動チューニング機能ブロック６６からの静的属性（ビュー４）の全てを要求する。この要求に応答して受け取られた静的な値は、次に、シャドーブロック７６の属性をアップデートするのに使用される。
【００５２】
更に、集中化されたコントローラ１２に関連するデバイスライブラリ内のデバイスがＰＩＤ機能ブロックを含んでいるとき、このテンプレート情報は、図３のポジショナ／バルブ４４のようなデバイス内のそれに関連する自動チューニング機能ブロックの開始のためのオブジェクト辞書のインデックスを定義するＰＩＤ機能ブロックに関連する一つの静的な属性を含み得る。一般的に言えば、ただ一つの自動チューニング機能ブロックが、一又はそれ以上のＰＩＤ（及び／又は他の制御）ブロックを含むデバイス内に存在する必要がある。しかしながら、自動チューニング機能ブロック６６は、好ましくはデバイステンプレート内でブロックとして定義されないであろうし、従って、ライブラリ内には表示されないであろう。それでもなお、シャドー自動チューニング機能ブロック７６が集中化されたコントローラ１２によって生成されたときは、自動チューニング機能ブロック６６のインデックスはシャドー自動チューニング機能ブロック７６によって使用されるであろう。このインデックスに基づいて、プロキシが自動チューニング機能ブロック６６のためのＦｉｅｌｄｂｕｓインターフェイスカード４０内に確立されるであろう。このように、遠隔の（例えばＦｉｅｌｄｂｕｓ）デバイスに於ける自動チューニング属性は、自動チューナアプリケーションが活性化され、関連するＰＩＤ機能ブロック６２がチューニングのために選択されたときに、単に関連づけられる。もし、ＰＩＤ機能ブロック６２が遠隔のデバイスで実行されているなら、そのときは、そのデバイス内の自動チューニング機能ブロックへのＰＩＤ機能ブロックの参照が知られるであろう。もし、ＰＩＤ機能ブロックが集中化されたコントローラ１２内で実行されているなら、そのときは、自動チューニングブロックが自動チューニングの開始時にＰＩＤブロックによってインスタンス化されるであろう。
【００５３】
図４の参照すれば、もう一つの実施形態が実際の自動チューニング機能ブロック６６がコントローラ１２内に配置され、これもまたコントローラ１２内に配置されているＰＩＤ機能ブロック６２をチューニングするのに使用される場合を示している。この構成は、例えば、高性能でないデバイス又はその動作が集中化されたコントローラ１２によって実行されている制御機能ブロックによって制御される他のデバイスを制御することが制御ブロックに望まれているときに使用され得る。チューニングコントローラ７１は、チューニングコントローラ７１が何れもコントローラ１２内に格納されている自動チューニング機能ブロック６６と次の実際のＰＩＤ機能ブロック６２と直接通信するすることを除いて、図３の実施形態に於けると同様に動作することが理解されるであろう。
【００５４】
もちろん、望むなら、自動チューニング機能ブロックは、プロセス制御ループの自動チューニングを実行するために、ユーザインターフェイス又はワークステーション１４にどのような標準若しくは公知の方法で提供され得る。
【００５５】
一実施形態では、自動チューニング機能ブロック６６が、遠隔の（例えばＦｉｅｌｄｂｕｓ）デバイス内又はコントローラ１２内の修飾因子機能ブロックとして提供される。一般的に言えば、修飾因子機能ブロックは、オリジナル又はベースの機能ブロック（例えばＰＩＤ機能ブロック６２）のアルゴリズムを、オリジナル又はベースの機能ブロックの一部とすることなしに修飾する機能ブロックである。
【００５６】
修飾因子機能ブロックの概念は、ベース又はオリジナルの機能ブロック７８を示す図５に関して詳細に記述され、この実施形態では、機能ブロック７８は図２，３及び４のＰＩＤ機能ブロック６２であり得る。理解されるように、ベース又はオリジナルの機能ブロック７８は、プロセッサによって実行されるコード又は他のタイプの行を有するアルゴリズム８０をその中に含んでいる。図５のポイント８２及び８４で示されているコード内の一又は複数のポイントで、アルゴリズム８０内にブレークポイント又は分岐ポイントが設定される。これらのポイント８２及び８４の一又は両方が、アルゴリズム８０内の高められた能力を提供し、このような高められた能力は、その中にアルゴリズム９４を有する修飾因子機能ブロック９０によって提供されている。
【００５７】
一般的に言えば、分岐ポイント８２及び８４は、他の分岐ポイントとともに、生成されたときにベース機能ブロック７８に於いてセットアップされる。しかしながら、分岐ポイントの内容は、ベース機能ブロック７８のコンパイル後に修飾因子機能ブロック９０への又はベースアルゴリズム８０内のコードの行へのポインタを含むように変更され得る。最初は、ブレークポイント８２でのポインタは、アルゴリズム８０にアルゴリズム８０内のコードの次の行を指し示し又は続けるように設定され、従って、高められた能力なしに動作する。しかしながら、同様に高められた能力又は機能性がベース機能ブロック７８に付加されるように望まれるとき、一又はそれ以上の分岐ポイント（例えばポイント８２）でのポインタは、アルゴリズム８０がその分岐ポイントに到達したときに修飾因子機能ブロック９０内のアルゴリズム９４を呼び出すかさもなければこれに制御を移すように設定されている。望むなら、ポイント８２は、修飾因子機能ブロック９０のアドレスを示すアドレスを格納し得、又は修飾因子機能ブロック９０へ制御を渡す他の分岐デバイス又は方法であり得る。制御が修飾因子機能ブロック９０に渡されたとき、特定の予め決められたデータが修飾因子機能ブロック９０に送られ又はこれに利用可能にされ、これは、アルゴリズム９４の動作の間に修飾因子機能ブロック９０が使用し又は変更する。このデータは、図５にインターフェイス９６として示されている固定され又は予め決められたインターフェイスを介して提供される。インターフェイス９６は、修飾因子機能ブロック９０（又は、アドレスのようなそれへのポインタ）による使用のために必要なパラメータ又は値の何れかを典型的に含み、そこではベース機能ブロック７８内の制御及び／又は修飾因子機能ブロック９０によって、制御し、実行し及び制御をベース機能ブロック７８に戻すことが必要とされている他のデータ若しくは情報内の制御を戻す。制御を受け取ると、修飾因子機能ブロック９０は、インターフェイス９６を介して提供されるデータ上に作用するそのアルゴリズム９４を実行し、そして、完了すると、制御が開放されたブレーク又は分岐ポイントを即座に（実行という意味で）進めるベース機能ブロックのアルゴリズム８０のポイントに制御を戻す。修飾因子機能ブロック９０は、インターフェイス９６（これは、修飾因子機能ブロック９０に制御を送るのに使用されるものと同様又は異なる）を介して特定のデータを返し、ベース機能ブロック７８に於けるアルゴリズム８０によってそのデータが使用される。
【００５８】
２つの分岐ポイント８２及び８４は図５に示され、１つ、３つ又は他の数の文ポイントが、アルゴリズム８０内の一又はそれ以上のポイントで高められた能力を提供するために、オリジナルの機能ブロック８０に置かれる得る。更に、ベース機能ブロック７８内の分岐ポイントは、修飾因子機能ブロック９０内のアルゴリズム９４の異なる部分又はサブルーチンを呼び出すように設定され得、これにより、ベース機能ブロック８０の異なる部分で異なる高められた機能を提供する。この機能は、チューニングのような全く新しい機能をベース機能ブロック７８内で実行するのに必要とされ、ベースアルゴリズム８０内の異なるポイントで加えられる異なる能力を有することが必要とされる。もちろん、ベースアルゴリズム８０内の異なる分岐ポイントは、単一の修飾因子機能ブロックの同じ若しくは異なる部分を呼び出すようにセットアップされ、又は異なる修飾因子機能ブロックを呼び出すようにセットアップされ得る。
【００５９】
最初に販売されたときは、ベース機能ブロック７８には、（他の所望の分岐ポイントと同様に）単に分岐ポイント８２及び８４が備えられ、これは、後日、ユーザに提供されるべき修飾因子機能ブロックの高められた能力を許容する。ユーザが修飾因子機能ブロックに関連する機能の実装を必要としないか又は望まないとき、ユーザは、ベースアルゴリズム８０内の分岐ポイントで、修飾因子機能ブロックを呼び出すことなくアルゴリズム８０を継続することを示すヌル値又は他の指示を格納することのみが必要である。修飾因子機能ブロックの能力が加えられるべきとき、ベースアルゴリズム８０内の一又はそれ以上の分岐ポイントでの値又はポインタは、分岐ポイントに到達したときにベースアルゴリズム８０が適当な修飾因子機能ブロックを呼び出すように変更される。典型的には、これはベース機能ブロック７８の再コンパイルすることなく行われる。その後、修飾因子機能ブロック９０は、ベースアルゴリズム８０が分岐ポイントに到達したときに呼び出される。飛び出されたとき、修飾因子機能ブロック９０は、ベース機能ブロック７８内のアルゴリズム８０の機能を高め又は変更するために、アルゴリズム９４を実行する。しかしながら、チューニング処理の最後のように、高めること又は新たな機能がもはや望まれないときは、ベース機能ブロック７８が修飾因子機能ブロック９０を呼び出すのを妨げるために、分岐ポイントがリセットされる。
【００６０】
このように、ベース機能ブロック７８は、アップグレードされた能力なしに最初に販売され得、このことは、その機能ブロックに関連する文書とオーバーヘッドを低減させる。しかしながら、ベース機能ブロック７８は、適当な修飾因子機能ブロック９０をベース機能ブロック７８が格納されているデバイスに単に加えて、ベース機能ブロック７８のアルゴリズム８０内のポインタを変更することにより、アップグレードされ得る。このことは、ベース機能ブロックが新しいベース機能ブロックの全てを実行することなく、そして、ベース機能ブロック７８を再コンパイルすることなく、後日高められ又は変更されることを可能とし、ベース機能ブロック７８のアップグレードをより容易にする。更に、異なる修飾因子機能ブロックが、システムのアップグレードという点からの更なる選択をユーザに与える同じベース機能ブロックに対して発展させ得る。このことはまた、機能ブロックの提供者が、修飾因子機能ブロックの異なるバージョン又はアップグレードを比較的容易に提供することを可能とする。更に、ベース機能ブロック７８のアルゴリズム８０は、ブロックが修飾因子機能ブロックへの標準的なインターフェイスをサポートするように設計される付加的な能力を提供するように修飾されている必要はない。同様に、付加的な機能のサポートは、構成の間のブロック属性のセットにより、又はここに記載されているチューニングアプリケーションのようなカスタムアプリケーションを介して示されているようにしてのみ、呼び出される。このことは、修飾因子機能ブロックによって提供される特徴がプロセスの通常の動作の間に要求されないときに、メモリとＣＰＵへの要求を減少させる。理解されるであろうように、修飾因子機能ブロックを使用するときは、ベース機能ブロックは、修飾因子機能ブロックを呼び出す能力、即ち、一又はそれ以上のリセット可能な分岐ポイントをその中に有していなければならないという事実を除いて、同じままである。
【００６１】
Ｆｉｅｌｄｂｕｓ環境に於いて使用されるとき、修飾因子機能ブロック９０（この場合には自動チューニング機能ブロック６６）は、ベース機能ブロック（例えば、ＰＩＤ機能ブロック６２）と同様の実行時間フレームで実行されるであろう。更に、修飾因子機能ブロック９０は、システム内の機能ブロックとしてユーザに見える必要はない。なぜなら、それはベース機能ブロック７８のアルゴリズム８０を単に修飾するのみだからである。しかしながら、望むなら、自動チューナアプリケーションユーザインターフェイスは、修飾因子機能ブロック９０からよく知られたＯＰＣプロトコルを使用して情報を得ることができる。更にまた、それはベース機能ブロック７８のコードを単に修飾因子機能ブロック９０のコードを変更するのみによって変更することがより容易であり、それはベース機能ブロック７８より容易に、システムに加えられ及びシステムから削除される。このことは、進んだ制御能力の発現を大きくスピードアップさせ、顧客がこれらの特徴を使用する特定のアプリケーションを有しているとき、顧客はベースの機能ブロックにオーバーヘッドを単に加えなければならないであろうことを意味している。即ち、顧客は、修飾因子機能ブロックによって提供される付加された機能を必要としていないとき、修飾因子機能ブロックを使用せずコンパイルしないことによって、システムのオーバーヘッドを減少させ得ることができる。
【００６２】
ここでの記述は、単一の自動チューニング機能ブロック６６及び単一のチューニングコントローラ７１を有する自動チューナの実行と使用とに向けられているが、異なるデバイスに位置する自動チューナは単一又は複数のチューニングコントローラ７１及び／又は複数の自動チューニング機能ブロック６６を含み得ることが理解されるであろう。更に、単一の自動チューニング機能ブロック６６が、同じデバイス及び２つ又はそれ以上の単一の自動チューニング機能ブロックのみを未だに有していることが必要とされる制御ブロックを有するようなデバイス内の異なる複数の機能ブロックの動的データ捕捉相を実行するのに使用され得ることが理解されるであろう。同様に、同じタイプの自動チューニング機能ブロックが異なるタイプの制御ブロック（ＰＩ、ＰＩＤ及びファジー論理制御ブロックのような）に使用され得る。なぜなら、同様の動的データ捕捉技術がこれらの異なるタイプの制御要素のそれぞれを有するループに使用され得るからである。また、自動チューニング機能ブロックは、外部のプロセス制御通信プロトコル（とりわけＦｉｅｌｄｂｕｓプロトコル）を使用して実行されることができ、Ｆｉｅｌｄｂｕｓプロトコルによって特異的に識別され及びサポートされている異なる機能ブロックの何れかと類似又は同様の何れの機能ブロックをも含む何れのタイプの機能ブロックとも通信するのに使用され得る。更に、ここでは自動チューニング機能ブロックはＦｉｅｌｄｂｕｓ「機能ブロック」として記載されているが、ここでの「機能ブロック」という表現の使用は、Ｆｉｅｌｄｂｕｓプロトコルが機能ブロックとして識別するものに限定されものではなく、どのような他のブロック、プログラム、ハードウエア、ファームウエア等の、制御システム及び／又は通信プロトコル及び幾分かの制御機能を実行するのに使用され得るものをも含んでいる。このように、機能ブロックは典型的にはオブジェクト指向環境内のオブジェクトの形式をとるが、このことは問題ではなく、それに代えて、プロセス制御環境内の特定の制御（入力及び出力を含む）機能を果たすのに使用される他の論理ユニットであってもよい。
【００６３】
一般的に言えば、上記の何れも、又はどのような他のチューニング方法も、プロセス制御システム内のコントローラのためのチューニングパラメータのセットを生成するのに使用し得る。しかしながら、例えばもしそれらが所望のローバスト性特性を有するプロセス制御ループをもたらさないなら、チューニングパラメータの生成したセットは、満足できるものではない。幾つかの公知のチューニング処理は、結果として得られる制御ループに対するフェーズマージンと利得マージンのようなローバスト性特性を計算し、このループをローバスト性マップ内の点としてプロットするが、ユーザはローバスト性特性の所望のセットを特定し、所望のローバスト性特性を有する制御ループをもたらす決定されたチューニングパラメータのセットを自動的に有することができない。
【００６４】
図６を参照すれば、プロセシングデバイス１０２（これは、図１のホスト又はワークステーション１４の一つであり得る）に格納され得るルーチン１００は、そのコントローラのためのチューニングパラメータの決定されたセットを有するプロセス制御ループをシュミレートし、その制御ループのためのローバスト性マップを生成し、及びユーザがそのローバスト性マップ内の点を選択することによりその制御ループのためのチューニングパラメータの更なるセットを生成することを可能としている。図６に示されているプロセス制御システムはプロセッサ１０２（関連するメモリを有している）と、次にフィールドデバイス４３，４４及び４５（図１）に接続されるコントローラ１２に接続されているユーザインターフェイス１０３とを含んでいるが、ルーチン１００は、分散された又は集中された制御機能を有する他のどのようなプロセス制御システムに於いても使用され得る。更に、ルーチン１００は、チューニングコントローラ７１及び関連する自動チューニングブロック（図示せず）のようなチューニングコントローラと共に使用され得、又はチューニングルーチンとは別に及び離れて使用され得る。
【００６５】
上述のように、ルーチン１００は自動チューニング処理に於ける更なる制御を提供し、特に、ユーザが制御ループに対して所望のローバスト性特性を選択し、少なくとも大凡、自動的に決定される所望のローバスト性特性を有するループを結果として生ずるチューニングパラメータを有することを可能とする。もし、自動チューニングとともに使用されたなら、ルーチン１００は、自動チューニング処理によって決定されたプロセス制御システムに対するチューニングパラメータのセットの応答をユーザがシュミレートするのを可能とし、次に、所望のローバスト性特性に基づいてこれらのチューニングパラメータを変更するのを可能とする。
【００６６】
特に、ルーチン１００は、プロセス特性化ルーチン（例えば、図２〜４のブロック６６）により、又はプロセスをシュミレートするための他のプロセス特性化ルーチンにより決定されたプロセスパラメータを使用し得、そして、自動チューニングコントローラ７１によって例えばセットポイントの変更のようなステップ状又はインパルス入力に応答してコントローラによってプロセスの応答をシュミレートするために決定されたチューニングパラメータを有する、そのタイプの又はユーザによって選択されたコントローラ（例えば、ＰＩＤ、ＰＩ、ファジー論理等）を使用し得る。ルーチン１００は、次に、図６のプロセス変数出力ＰＶ、セットポイントＳＰ及びコントローラ出力ＯＵＴが時間に対してプロットされ、図６の右側に示されているように、例えばそのループのオーバーシュート、振動、応答時間等が示されている。図６のシミュレーションプロットは、外乱に対するプロセス制御ループの応答を示しているが、その代わりに、（図７の表示に於いて実行されているような）セットポイントに於ける変化に対する、又は他の所望の変化に対する応答を示すこともできる。図６に示すように、プロット又は表示はまた、シミュレーションプロットが生成されているコントローラのための（利得、リセット、速度等のような）チューニングパラメータも示し得る。
【００６７】
また、ルーチン１００は、図７に示されているローバスト性マップ１０７のようなローバスト性マップ又はプロットを表示し得る。図７は、図７の表示がセットポイントに於ける変化に対するシュミレーションを示していることと、プロセス制御ループに対するフェーズマージン（ｙ軸）対利得マージン（ｘ軸）をプロットするローバスト性マップ１０６を含んでいることとを除いて、図６と同様である。
【００６８】
安定領域１０７（即ち、制御ループが安定している領域）が、クロスハッチングによりローバスト性マップ１０６に示されているが、安定領域（又はユーザが関心を持つ領域）を示す他の所望の方法をこれに代えて使用することもできる。例えば、ローバスト性マップ１０６は、異なる色、濃淡等を使用して、安定及び不安定な様々な領域を示すことができる。また、図７のローバスト性マップ１０６は、シュミレートされている制御ループ（これは、表示されているチューニングパラメータを有する）のローバスト性特性を、ローバスト性マップの点として示す。このような点は、図７に三角形で１９４として示されている。
【００６９】
本発明によれば、ルーチン１００は、選択されたコントローラのチューニングで使用するためのパラメータの複数のセットと、ローバスト性マップ１０６内の安定領域１０７を生成し確認するためにこれらのチューニングパラメータを使用してチューニングされているコントローラを有する制御ループの対応するローバスト性特性とを決定する。その後、ルーチン１００は、ユーザが、ローバスト性マップ１０６上で点を選択し、その選択された点とローバスト性マップ１０６の他の点に対する格納されたチューニングパラメータとから、選択された点に関連するローバスト性特性を有する制御ループをもたらす選択されたタイプのコントローラを生成するであろうチューニングパラメータの更なるセットを決定することを可能とする。ルーチン１００は、次に、ユーザがこの新たなコントローラの特性を見ることができるように、チューニングパラメータの新たなセットを使用するシュミレーションを実行する。このようなシュミレーションは、図６及び図７の表示のシュミレートされた応答の選択のセクション内に示されている。ユーザは、次に、チューニングパラメータの新たなセットを決定するためのローバスト性マップ１０６内の点を選択することと、新たに決定されたチューニングパラメータを使用してチューニングされたコントローラ（又は制御ループ）のシュミレートを見ることとのステップを、ユーザがローバスト性及び応答特性の最良の混合を有する制御ループを提供するチューニングパラメータのセットを得るまで、繰り返す。このような方法で、ユーザは、ユーザの要望に最適のチューニングパラメータのセットを、多くの試行錯誤を行うことなく、使用するチューニングパラメータのセットと推測されるチューニングパラメータのセットを素早く容易に選択し得る。
【００７０】
図８は、プロセス制御ループのためのチューニングパラメータのセットを選択するために、ローバスト性マップを生成し及び使用するのに用いられるステップの一般的なフローチャート１１０を示している。第１のステップ１２０では、ユーザは、図１〜５の自動チューナに関連して上記で議論した処理の何れかのようなプロセス特性化処理を実行する。もちろん、ホストデバイス、コントローラ又はフィールドデバイスによって全てのアクティビティが実行される集中化され又は標準化された制御システムと同様に、ここに記載したように、分散された制御システムで使用され得るルーチン１００が使用されることが注目されるであろう。これらの場合の何れに於いても、ルーチン１００は、例えば自動チューニング又は他の処理のプロセス特性化フェーズの間に決定されるプロセスパラメータにアクセスすることのみを必要とする。ステップ１２２では、ユーザは、プロセスを制御するのに使用されるべきコントローラ又は制御ルーチンの構造を選択する。ステップ１２２は、このセクションがローバスト性マップの生成に先立って何れの時に於いても起こり得ることを示すために波線のレリーフで示されており、従って、プロセス特性が決定される前に実行され得る。一実施形態では、ルーチン１００は、プロセス特性が決定される自動チューニング処理内でシステムによって使用されているコントローラの構造を使用しない。ここに記載の実施形態では、ここに記載した技術は他のタイプのプロセス及び／又はコントローラにを使用するときにも適用し得るけれども、一次プラスデッドタイムプロセス（a first order plus deadtime process）を制御するために、ＰＩＤタイプのコントローラが使用されるであろうことが推測されるであろう。もちろん、ＰＩＤコントローラは、比例（Ｐ）、積分（Ｉ）若しくは微分（Ｄ）、又はこれらの組合せ、ＰＩ、ＰＤ、ＩＤ若しくはＰＩＤコントローラのような、多くの異なる構造の何れの他のタイプの一つをも対象とし得る。これらのコントローラの何れかは、所望の又は公知の形式の何れでもあり得る。しかしながら、よく知られているように、微分のみの（Ｄ）コントローラの使用は、プロセス制御システムでは珍しい。
【００７１】
一般的に言えば、ＰＩＤ制御アルゴリズムは、プロセス変数を制御するためのプロセス変数ｐｖ及びセットポイントｓｐ上で動作する、比例、積分及び微分動作の重み付けられた組合せを使用するフィードバック制御アルゴリズムである。比例、積分及び微分動作のそれぞれは、チューニング可能な重み付けファクターを有している。ＰＩＤ制御アルゴリズムの一般的な形式は、数学的に以下のように記述される：
Ｏｕｔ(ｔ)＝Ｋｐ・ｐ(ｔ)＋(１／Ｔｉ)・∫ｅ(ｔ)ｄｔ＋Ｔｄ・ｄ'(ｔ)
ここで、Ｏｕｔ(ｔ)は、制御アルゴリズムの出力、
Ｋｐは、比例動作の重み付けファクター、
ｐ(ｔ)は、比例動作が適用される変数、
ｅ(ｔ)は、ｅ(ｔ)＝ｓｐ(ｔ)−ｐｖ(ｔ)として計算される誤差、
Ｔｉは、積分動作の重み付けファクターの逆数、
ｄ(ｔ)は、微分動作が適用される変数、
ｄ'(ｔ)は、ｄ(ｔ)の時間に関する微分、及び
Ｔｄは、微分動作の重み付けファクター
である。
【００７２】
ｐ(t)は以下のようにして計算される：
ｐ(t)＝ｂ・ｓｐ(ｔ)−ｐｖ(ｔ)
ここで、ｓｐ(ｔ)は、制御アルゴリズムのセットポイント又はターゲット動作ポイント、
ｐｖ(ｔ)は、プロセス変数又は測定された変数、及び
ｂは、セットポイントに適用される比例動作を決定する重み付けファクター（通常はゼロと１との間に束縛される）
である。
【００７３】
同様に、ｄ(ｔ)は以下のようにして計算される：
ｄ(ｔ)＝ｇ・ｓｐ(ｔ)−ｐｖ(ｔ)
ここで、ｇは、セットポイントに適用されるであろう微分動作を決定する重み付けファクター（通常はゼロと１との間に束縛される）である。
【００７４】
もちろん、ＰＩＤ制御アルゴリズムは、異なる形式を使用して実行され得、そして、ローバスト性特性に基づくＰＩＤ制御アルゴリズムに対するチューニングファクターの決定は、比例、積分又は微分動作のどのような組合せをも採用する何れのＰＩＤ又はＰＩＤ制御アルゴリズムのサブセットを使用しても、適用し得る。異なる形式のＰＩＤ制御アルゴリズムの例は：
Ｏｕｔ(ｔ)＝Ｋｐ・（ｐ(ｔ)＋(１／Ｔｉ)・∫ｅ(ｔ)ｄｔ＋Ｔｄ・ｄ'(ｔ)）
である。この場合には、比例重み付けファクターＫｐは、ＰＩＤコントローラの全ての項に適用される。同様に、ＰＩＤアルゴリズムは、どの項が採用されるかを特異的に決定するように構成又は実行され、ＰＩＤコントローラのサブセットを効率的に生成する。このようなＰＩＤのサブセット又は構造の例は：
Ｐ＋Ｄ  −比例及び微分の項のみが採用される、
Ｐ＋Ｉ  −比例及び積分の項のみが採用される、
Ｉ＋Ｄ  −積分及び微分の項のみが採用される、
Ｐ      −比例の項のみが採用される、
Ｉ      −積分の項のみが採用される、及び
である。使用されるべきＰＩＤ構造の選択は、重み付けファクターｂ及びｇの設定を決定する。もちろん、ＰＩＤ入力ｓｐ(ｔ)及びｐｖ(ｔ)はまた、種々の数学的な方法を使用してフィルタをかけることができ、ＰＩＤ動作が適用される変数の修飾をもたらす。
【００７５】
図８を再び参照すれば、ＰＩＤ（又は他のコントローラ）の形式と構造とが決定された後、ブロック１２４は、ＰＩＤ又は他の制御アルゴリズムのチューニングに於いて使用するためのチューニングパラメータのセットを決定する。もちろん、これらのチューニングパラメータは、ここに記載したチューニングコントローラ７１を用いるなどのどのような所望の方法によっても決定され得る。これらのチューニングパラメータは、図６に示されているようなユーザインターフェイス１０３上にユーザに提示され、ここには、利得（Ｋｐ）、リセット（Ｔｉ）及び速度（Ｔｄ）が示されている。このときに、ブロック１２６は、決定されたチューニングパラメータのセットに対するシュミレートアクティビティを選択するのを可能とする。例えば、シュミレートボタンがユーザインターフェイス上に表示され、ユーザはシュミレートされ決定されたチューニングパラメータを有するコントローラを使用して制御ループの動作を行うようにそのボタンを選択する。もちろん、ユーザは、シュミレートアクティビティをどのような方法によっても入力することができる。
【００７６】
シュミレートアクティビティが選択されたとき、ブロック１２８は、ステップ１２０で決定されたプロセス特性と、ステップ１２２で選択されたコントローラの形式及び構造と、ステップ１２４で決定されたチューニングパラメータとにより特性化されたプロセスを有するプロセス制御ループをシュミレートするシュミレートルーチンを実行する。シュミレートルーチン又はブロック１２８は、例えば、ステップ変化、インパルス変化又はコントローラ若しくはプロセス変数の一つに於けるセットポイントのような他の所望の変化に応答するプロセス制御ループをシュミレート所望の又は公知の式又は方法を使用し得る。ブロック１２８は、制御又はプロセス変数に於ける変化に応答して制御ループの動作を示すために図６及び７に記載されているようなプロットを生成し、又は他の所望の方法で制御ループの動作をシュミレートする。プロセス特性及びコントローラの形式及び構造は周知であり、ここで更に記載する必要はない。しかしながら、そこでチューニングされているコントローラを用いて制御ループをシュミレートする一つの好ましい方法は、そのプロセスと、決定されたチューニングパラメータのセットに従ってチューニングされているコントローラとに対して、改良されたＺ変形を使用して実行され得る。改良されたＺ変形の使用はこの技術分野で周知であり、例えば、Kuo著，”Ｄｉｇｉｔａｌ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ，”第２版（Saunders College Publishing (1992)）に開示されている。しかしながら、プロセス及びコントローラ（これは、使用されているコントローラ及びプロセスのタイプに依存する）についての離散（又は微分）方程式は、周知のように、制御ループをシュミレートするのに使用され得る。
【００７７】
次に、ユーザは、ブロック１２０で特性化されたプロセスを制御するために、決定されたチューニングパラメータに従ってチューニングされたコントローラを使用して生成された制御ループのローバスト性を選択し又は見ることができる。（もちろん、コントローラをチューニングするのに使用されるそのパラメータが、決定され及び格納されたチューニングパラメータから直接計算される限り、決定されたチューニングパラメータは、コントローラのチューニングに実際に使用されるパラメータとは異なっている）。ブロック１３０は、以後に記載する方法で、図７のマップ１０６のようなローバスト性マップ又はプロットを生成する。ローバスト性マップは、フェーズマージン対利得マージンを示すプロットの形式を採り得るが、デッドタイムマージン、動的マージン（以後に述べる）、又は安定性のどのような測定等の他のローバスト性特性又は測定も、同様に使用され得る。また、ローバスト性マップは、所望なら、たった一つのローバスト性特性又は３つ若しくはそれ以上のローバスト性特性をプロットし得る。公知のように、フェーズマージンは、制御ループが不安定になる前にプロセス又はコントローラに加えられ得るデッドタイム又はフェーズの量であり、一方、利得マージンは、制御ループが不安定になる前に使用され得る最大利得の、制御ループ（これは、プロセス利得と同様にコントローラ利得を含んでいる）の現在の利得に対する比率である。一般的に言えば、ブロック１３０は、ローバスト性特性の重要な範囲（これはライン又は領域であり得る）を決定し、これは、ローバスト性マップで表示するための安定な制御ループに導き、次に、ローバスト性マップの安定領域内の離れた点で、（ユーザによって選択されたコントローラ構造及び形式に対する）チューニングパラメータの多くのセットを反復的に計算する。決定されたチューニングパラメータは、次に、後に使用される制御ループのローバスト性特性に関連して格納され得る。所望なら、ローバスト性点（及びこれらの点に関連するチューニングパラメータ）は、安定領域（即ち、ローバスト性マップ上に表示されているライン又は領域）内でのチューニングパラメータの挙動を記述する閉じた形式の方程式を生成するのに使用され得る。これに代えて、ローバスト性マップの点は、ローバスト性マップの安定領域の全体に亘って離れた位置で選択され得、これらの点に対するチューニングパラメータが決定され得る。選択されたローバスト性特性の点（又はチューニングパラメータの点）は、規則正しく若しくは不規則に間隔が置かれ、又は他の所望のパターンで間隔が置かれる。
【００７８】
ブロック１３２で、制御ループのローバスト性特性が決定され、そして、制御ループのローバスト性がローバスト性マップ上に点としてプロットされる。決定されたチューニングパラメータのセットでチューニングされたコントローラを有する制御ループの（フェーズマージン及び利得マージンのような）ローバスト性特性の計算は、この技術分野で周知であり、従ってここでは記載しない。次に、ブロック１３４は、（例えば、マウス、キーボード、ライトペン、タッチスクリーン等を使用して）所望のローバスト性点を例えば指し及びクリックしさもなければ他の選択点を選択することにより、ローバスト性マップ上の新たな点を、ユーザが選択することを可能とする。ブロック１３４は、次に、選択された点でのローバスト性特性（例えば、選択された点でのフェーズマージン及び利得マージン）を決定する。
【００７９】
次に、ブロック１３６で、例えば、大凡選択されたローバスト性を有する制御ループを生成するであろうチューニングパラメータを決定するために、チューニングパラメータがブロック１３０で計算した最も近いローバスト性の点の間を補完する所望の方法の何れかを使用することによって、選択された点のチューニングパラメータを計算する。もし補完が実行されなら、直線補完、面積補完等の所望の補完方法の何れかが使用される。これらの補完方法は、この技術分野で周知であり、従って、ここではこれ以上記載されない。しかしながら、一般的に言えば、補完は、ステップ１３０でチューニングパラメータが決定され及び格納されたローバスト性マップに於いて、２つ、４つ等の最も近い点を決定し、これらの点のそれぞれに対して決定された実際のチューニングパラメータにアクセスし、及び選択されたローバスト性点とチューニングパラメータが決定された最も近いローバスト性点との間の距離（面積等）に基づいてチューニングパラメータの間を補完することにより実行される。補完は、もしローバスト性マップに対する閉じた形式の方程式が決定されるなら、必ずしも必要ではなく、この場合には、閉じた形式の方程式は、選択されたローバスト性特性を有するループをもたらすチューニングパラメータのセットを計算するのに使用される。
【００８０】
ローバスト性マップに於ける選択された点に対する新たなチューニングパラメータのセットが決定された後、ブロック１３８は、ブロック１２８が制御ループをシュミレートしたのと同様の方法で、これらの新たなチューニングパラメータを使用して、制御ループ又はコントローラをシュミレートし得る。次に、制御はブロック１３２に与えられ、そして、新たなチューニングパラメータを使用して制御ループの実際のローバスト性が決定され、ローバスト性マップ上にプロットされる。その後、ブロック１３４で、ユーザは新たなローバスト性の点を選択し、もし望むなら、ユーザがローバスト性特性の最良のセットとシュミレーションルーチンによって決定されたようなプロセス制御特性を与えるチューニングパラメータのセットを見出すまで、ステップ１３６，１３８及び１３２を繰り返す。この処理は、ユーザが、所望のローバスト性特性に基づいて選択された構造及び形式に対するどのような数のチューニングパラメータも素早く及び容易に決定し、並びにチューニングパラメータのセットのそれぞれを使用して生成されたコントローラの制御特性を見ることを可能とする。もちろん、もし選択されたチューニングパラメータの幾つかが不安定な又は安定性の限界の制御ループを生成するなら、これは、異なる色、プロット特性、点滅するライト、アラーム等を使用して、ローバスト性マップ上に表示される。
【００８１】
図８は、ユーザが、図式的なローバスト性マップを使用して所望のローバスト性特性を選択することができるように記載されているが、キーボードを介して所望のローバスト性特性を入力するような、他のどのようなローバスト性特性の選択方法をも使用することができる。
【００８２】
図９を参照すれば、ルーチンあるいはフローチャート１５０が、図７のマップ１０６と同様のローバスト性マップを、図８のブロック１３０で生成するために実行され得るステップを示している。一般的に言えば、ルーチン１５０は、（関連するＰＩＤ入力フィルタリングパラメータを含む）ＰＩＤコントローラの形式及び構造と、確認されたプロセスパラメータ及びそのプロセスが積分プロセスであるか否か（これはユーザによって最初のローバスト性初期化が実行される前の何れかの時に特定されることができる）と、ローバスト性の初期化に先立って自動チューナ又はそれに続いてユーザによって入力されたＰＩＤチューニングパラメータと、ローバスト性マップを生成するためにユーザによって特定されたチューニング方法とを使用する。もちろん、ルーチン１５０は、ユーザインターフェイス、コントローラ又は他のプロセッサ及びメモリを有する所望のデバイスの何れかに関連するプロセッサ１０２に格納され及び実行され得る。ルーチン１５０は、例えば、自動チューニング処理、プロセス特性化処理又はここに記載したシュミレーション処理を実行するデバイスと同様のデバイス、又は異なるデバイスによって実行され得る。
【００８３】
ルーチン１５０のブロック１５２は、好ましくは、制御ループの複数のサンプルインターバルではないデッドタイムが正確に処理され得るように、確認されたプロセスパラメータを改良されたＺ変形の表現に変換する。タイムドメインからの改良されたＺ変形への変換（又はラプラス変換式）は、周知の技術を用いて行われ得、ここでは記載しない。しかしながら、もし望むなら、タイムドメイン又は周波数ドメイン方程式がその代わりに使用され得る。
【００８４】
ブロック１５４は、次に、例えば、ローバスト性マップを使用してプロットされるであろう積分及び微分の重み付けファクターの範囲を決定し、そして、これにより、ローバスト性マップ（即ち、安定な領域が、立体、面、ラインなど）の特性形式を決定する。もし、ローバスト性マップが立体なら、ある場合には、ｎ次元の立体であり得、ここで、ｎは３より大きい数字であり得る。一般的に言えば、ＰＩＤコントローラの構造は、ローバスト性マップの安定な領域の性質を決定する。例えばもし、コントローラの構造がＰ＋Ｄ又はＩ＋Ｄ又はＩなら、ローバスト性プロットに於ける安定な領域は、一般的にはラインとなるであろう。もし、コントローラの構造がＰ＋Ｉなら、ローバスト性プロットに於ける安定な領域は、一般的には面となるであろう。もし、コントローラの構造がＰ＋Ｉ＋Ｄなら、ローバスト性プロットに於ける安定な領域は、一般的には立体となるであろう。Ｐ＋Ｉ＋Ｄコントローラの構造の場合には、立体のスライスがルーチン１５０によって決定され、このスライスは、ローバスト性マップの理解と使用の容易化のために２次元プロットでプロットされ得る。しかしながら、もし望むなら、全体に亘る領域が、例えば、３次元プロット、多くの２次元プロット又は他の所望の技術を使用して、３次元でローバスト性マップに表示され得る。
【００８５】
ローバスト性マップで使用されるべき積分及び微分の重み付けファクターの範囲は、所望のどのような方法によっても決定され得る。例えば、これらの範囲は、ＰＩＤコントローラの構造及びプロセス特性に基づいて、設定若しくは予め決められ、ユーザによって入力され、又は計算され得る。一つのポール（pole）を有するデッドタイムプロセスについての、又はデッドタイムを有する積分プロセスについての積分及び微分の重み付けファクターを計算する一つの方法は、以下に与えられている。公知のように、プロセスに対するポール及びゼロは、その時間依存性が複素数（実数及び虚数成分を有する値）で一般的に表されなければならない伝達関数に言及している。この例は、（ラプラス表記では）ｎ次の多項式ａ０＋ａ１・ｓ１＋．．．．＋ａｎ・ｓｎの一般解である。このような多項式を分子又は分母の何れかに含む伝達関数は、複素数の又は実数のポール及びゼロを有し得る。直列形式のＰＩＤ（これは、上記で与えられる一般形式に常に変換され得る）については、以下の方法が使用でき、そこでは、ブロック１５４は、プロセスが積分プロセスであるか非積分プロセスであるかについての知識を使用する。
【００８６】
（１）もし、プロセスが積分プロセスであり、コントローラの構造がＰ＋Ｄであるなら、
積分重み付けファクター（１／Ｔｉ）をゼロに設定する
Ｔｄ＝ａ・ＤＴ
ここで、ＤＴは、プロセスのデッドタイム
ａは、チューニング可能な定数（好ましくは、約０．５の値を有している）
ここで、微分重み付けファクターは定数に設定され、一般的な意味では、比例重み付けファクターは、ローバスト性マップが発現したときに変更することが許容される。この場合には、結果として得られるローバスト性マップの安定領域は、ラインである。しかしながら、もし望むなら、微分重み付けファクターは、結果として得られる面であるローバスト性マップ内の安定領域の２つの値の間の変化を許容し得る。しかしながら、Ｐ＋Ｄコントローラに於いては、微分成分は小さな又は大して重要でない役割しか果たしていないので、微分ファクターを定数（又はゼロ）に設定することは、数学的に又は計算的により容易である。
【００８７】
（２）もし、プロセスが積分プロセスであり、コントローラの構造がＰ＋Ｉ又はＰ＋Ｉ＋Ｄであるなら、
Ｔｄ＝ａ・ＤＴ（Ｐ＋Ｉコントローラについては、ａはゼロ）、
ＲＶ１Ｔｉ＝ｂ／積分利得、
ここで、ｂは、典型的には１０近傍の値を有するチューニング可能な定数、
Ｔｉは、Ｋｉの逆数、及び
ＲＶ１Ｔｉは、Ｔｉの範囲値１、
ＲＶ２Ｔｉ＝ｃ／積分利得、
ここで、ｃは、典型的には５近傍の値を有するチューニング可能な定数、及び
ＲＶ２Ｔｉは、Ｔｉの範囲値２、である  
理解されるように、積分利得は、プロセス特性化ルーチンによって決定されるプロセス特性の一つである。ここで、Ｔｉの値は、これらのコントローラのそれぞれについての２つの範囲値ＲＶ１Ｔｉ及びＲＶ２Ｔｉの間で変化する。従って、これらの場合のそれぞれについて、ローバスト性マップの決定時に積分重み付けファクター及び比例付けファクターの両方とも変更することが許容されるので、ローバスト性プロットの安定領域は面である。微分重み付けファクターは、ＰＩＤコントローラ内で変更することが許容され、このことは、立体の安定領域をもたらす。しかしながら、２次元領域としての安定領域を表すために、そして、微分成分は通常、Ｐ＋Ｉ＋Ｄコントローラに対するチューニングパラメータの選択に於けるより小さな役割の故に、この実施形態では、微分重み付けファクターは定数値に設定されている。
【００８８】
一般的に言えば、積分だけ（Ｉ）のコントローラ又は微分だけ（Ｄ）のコントローラ又はＩ＋Ｄコントローラを積分プロセスに使用することは、意味のない又は不安定な制御を提供する。結果として、ユーザに積分プロセスに於けるコントローラ構造のこの選択は避けるべきであるということを告げるようにチェックが実行される。同様に、純粋な比例（Ｐ）コントローラは、微分及び積分重み付けファクターがゼロに設定されている場合に使用されることができ、比例重み付けファクターは、ローバスト性特性に於ける変化を伴って変化するのが許容され、これは、ローバスト性マップ上にラインの安定領域をもたらす。
【００８９】
（３）もし、プロセスが非積分プロセスであり、コントローラ構造がＰ＋Ｄなら、
積分重み付けファクター（１／Ｔｉ）をゼロに設定する
Ｔｄ＝０
である。再びここで、微分重み付けファクターはゼロ（又は別の定数）に設定され、一般的な意味に於いて、比例重み付けファクターは、ローバスト性マップが決定されたときに変更することが許容される。この場合には、結果として得られるローバスト性マップの安定領域は、ラインである。しかしながら、望むなら、微分重み付けファクターは、面であるローバスト性マップ内の安定領域を結果としてもたらす２つの値の間を変化することが許容される。しかしながら、微分成分は、殆どのＰ＋Ｄコントローラ内でほんの小さな役割しか演じていないので、微分重み付けファクターは定数に設定することは、数学的に又は計算的により容易である。
【００９０】
（４）もし、プロセスが非積分プロセスであり、コントローラ構造がＩ＋Ｄ又はＩであるなら、
Ｔｄ＝０
である。ここで、Ｔｄはゼロ（又は別の定数）であり、安定領域はラインである。しかしながら、積分重み付けファクター（１／Ｔｉ）は変化することが許容され、そのマップについて選択されたローバスト性特性の値に基づいて決定されるであろう。換言すれば、この場合のローバスト性マップ内の安定領域はラインなので、そして、比例重み付けファクターがゼロに設定されているので、例えば利得マージン又はフェーズマージンのようなローバスト性特性の特定の値に対してただ一つの値が存在するであろうし、従って、Ｔｉはローバスト性特性に於いて実行された変化に完全に依存するので、Ｔｉの変化に対する範囲を定義する必要がない。
【００９１】
（５）もし、プロセスが非積分プロセスであり、構造がＰ＋Ｉ又はＰ＋Ｉ＋Ｄであるなら、
ＲＶ１Ｔｉ＝Ｍａｘ（０．５・ＤＴ，τ）
ＲＶ２Ｔｉ＝ｆ１（ＤＴ，τ，ＲＶ１Ｔｉ）
ＲＶ１Ｔｄ＝Ｍｉｎ（０．５・ＤＴ，τ）
ＲＶ２Ｔｄ＝ｆ２（ＤＴ，ＲＶ１Ｔｄ）
ここで、τは、プロセスの単一ポールの時定数表現である。
【００９２】
ｆ１及びｆ２関数は、デッドタイム、τのような一又はそれ以上のプロセス特性及び他の範囲値の関数として、オフラインで決定され得る。好ましい実施形態では、多くのシュミレーションが、ＤＴとτとの間の関係を決定するのに実行され、τは、（絶対誤差法の積分を用いて）最良の障害応答拒絶を生成するＴｉ及びＴｄの値を与える。この場合には、ｆ１（）及びｆ２（）項は、高い利得マージンについて、一次プラスデッドタイムの最小値又はその近傍での積分された絶対誤差を得るラインとして発見的に決定され、これらの値は、以下のように設定される：
ｆ１（）＝(0.1754+0.1・DT/(RV1Ti+DT))・(RV1Ti+DT)
ｆ２（）＝0.85・(RV1Td)
しかしながら、Ｔｉ及びＴｄファクターの範囲値は、プロセス制御ループがローバスト性マップの生成に使用されるのに安定である通常の領域を提供する他のどのような方法によっても、決定されることができる。
【００９３】
理解されるように、これらの式から、コントローラ構造及びプロセスに基づいて、比例及び積分重み付けファクターのそれぞれの値の単一の値又は範囲が決定される。しかしながら、上記の式のＴｉ及びＴｄの範囲を決定するために提供される基本的な方法及び関数は特には関係しないことが理解されるであろう。その代わりに、究極的に有用（例えば安定な）結果をもたらすＴｉ及びＴｄの組合せに対するローバスト性マップの幾つかの領域を決定することは重要である。
【００９４】
ブロック５４が微分及び積分重み付けファクターに対する範囲を決定した後、ブロック１５６はローバスト性マップのためのデータを生成する。ブロック１５６は、（利得マージンのような）ローバスト性特性の一つを変更し、及び他のローバスト性特性（例えばフェーズマージン）と、選択された利得マージンのそれぞれに於ける（比例重み付けファクターＫｐ若しくは最大フォーワードパス利得のような）チューニングパラメータを、必要ならばブロック１５４でそのために確立された範囲の間のＴｉ及びＴｄ値のそれぞれのセットに対して決定する反復的処理を実行し得る。このように、Ｔｉ及びＴｄ値は、選択された利得マージン間隔のそれぞれでローバスト性の多くの点を生成するために、選択された利得マージンのそれぞれに対して確立された範囲値の間で反復的に変化し得る。もちろん、Ｔｉ及びＴｄの何れかに対してただ一つの値が決定され、次に、この値は、特定の利得マージンに対してそれぞれの反復計算に使用されるであろう。もし、この範囲がＴｉ及びＴｄ値の両方に対して提供されたなら、第１のそれは定数に保持され、２番目のものはその変数に対する２つの範囲の間をステップ状に変化する。その後、第１のそれはステップ状に変化し、第２のそれは再びその関連する範囲でステップ状に変化し、そして、第１の変数がその全範囲に亘って変化するまで続けられる。このプロセスは、利得マージン（又はフェーズマージン）の各選択された値に対して繰り返され得る。
【００９５】
このように、一実施形態では、利得マージンの範囲が選択され、この範囲が、１０，１００，１０００等の多くのステップに分割される。選択された利得マージンのそれぞれ、即ち、利得マージンの範囲内のステップのそれぞれについて、Ｔｉ及びＴｄ重み付けファクターのセットがこれらのファクターに対して選択された範囲の間で変化し、Ｔｉ、Ｔｄ及び利得マージンの各セットで、フェーズマージン及び比例利得重み付けファクターＫｐ（又は、それに代えて、Ｋｐファクターがその目的のために決定され得るチューニングパラメータである最大フォーワードパス利得）が計算され、格納される。Ｔｉ及びＴｄ重み付けファクターのうちの一方のみが２つの値の間を変化し、そして、他方がゼロ又は定数に設定されるとき、反復的な計算は、選択された利得マージン値のそれぞれで多くの点を有するローバスト性マップ内の面を生成する。しかし、もし、Ｔｉ及びＴｄ重み付けファクターの両方が２つの値の間を変化したら、もしこれらのファクターが異なる利得マージン値のそれぞれに対する２つの範囲の間を変化したら、立体が生成されるであろう。２次元のプロットを生成し、計算を節約するために、この立体のスライスが、Ｔｉ及びＴｄ重み付けファクターの一つを一定に保持するか、その代わりにＴｉ及びＴｄ値を互いに変化させることにより、ローバスト性マップ上に表示され得る。例えば、Ｔｉ及びＴｄ値の第１のセットは、Ｔｉ及びＴｄの範囲のそれぞれの最小値であり得る。しかしながら、Ｔｉ値を最初値に保持しＴｄ値をその最小値と最大値との間で変化させる代わりに、Ｔｉ及びＴｄ値の次にセット（同じ利得マージンについて）は、Ｔｉの最小値プラスＴｉの範囲の１０パーセント（又は他の所望のパーセント値）及びＴｄの最小値プラスＴｄの範囲の１０パーセント（又は他の所望のパーセント値）である。このような方法で、Ｔｉ及びＴｄ値が互いにそれらの範囲を交差して変化し、このことが、ローバスト性マップについて決定された点の数を減少させ、立体に代えてローバスト性マップの面内のローバスト性の点を計算する。
【００９６】
この技術分野の用語として知られているフェーズマージン及び最大フォーワードパス利得は、各反復の間に、以下のようにして計算され得る。Ｔｉ及びＴｄ値に対して同じか又は異なる（そして、これらの値に対して個別に又は互いに調整された）ステップサイズを使用して、上記（範囲値を含む）で計算された範囲値の間のＴｉ及びＴｄのそれぞれの組合せに対して、最大フォーワードパス利得が見出される。最大フォーワードパス利得を見出すために、ブロック１５６は最初に、Ｋｐ＝１でプロセスの静的利得＝１、ＰＩＤコントローラとプロセスの結合されたフェーズシフトが１８０度の、フェーズクロスオーバー周波数と呼ばれる周波数を見出す。この計算は、プロセス及びＰＩＤコントローラの周波数領域表現への改良されたＺ変形表現への変換と、ＰＩＤコントローラと確認されたプロセスとの結合されたフェーズシフトが１８０度となるまでその周波数の反復的な調整により実行され得る。この周波数では、制御ループが不安定になるであろう最大フォーワードパス利得は、以下のように計算され得る：
最大フォーワードパス利得＝１／(｜ＰＩＤ(ω１８０)｜・｜プロセス(ω１８０)｜)
ここで、
｜ＰＩＤ(ω１８０)｜は、フェーズクロスオーバー周波数に於けるＰＩＤコントローラの動的利得、
｜プロセス(ω１８０)｜は、フェーズクロスオーバー周波数に於けるプロセスの動的利得である
プロセスの動的利得の計算は周知であり、ここではこれ以上述べない。
【００９７】
次に、最小利得マージンと最大利得マージンとの間の利得マージンのそれぞれについて、最小及び最大利得マージンを含めて、任意に又はユーザの責任で最小及び最大利得マージンの間の値を選択するのに使用されるステップサイズで、ブロック１５６はフェーズマージンを計算する。どのような利得マージン値で（そして現在使用されているＴｉ及びＴｄの値で）フェーズマージンを決定するために、ブロック１５６は、ＰＩＤコントローラとプロセスとの結合された利得が１である、利得クロスオーバー周波数と呼ばれる周波数を最初に見出す。利得クロスオーバー周波数は、先に言及した周波数領域表現を使用することにより、そして、結合された利得が１になるまで周波数を調整することにより、決定され得る。この場合には結合された利得は、最大フォーワードパス利得／利得マージンを含んでいる。結合された利得が１である周波数では、フェーズマージンは以下のようにして計算され得る：
フェーズマージン＝∠ＰＩＤ(ω１)＋∠プロセス(ω１)＋１８０
ここで、
∠ＰＩＤ(ω１)は、度で表した、利得クロスオーバー周波数でのＰＩＤコントローラのフェーズシフト
∠プロセス(ω１)は、度で表した、利得クロスオーバー周波数でのプロセスのフェーズシフト
である。典型的にいえば、∠ＰＩＤ(ω１)＋∠プロセス(ω１)の項は負の角度を与え、従って、フェーズマージンの計算は１８０度からこれらの角度を減算する。しかしながら、１８０度の適切な減算は、∠ＰＩＤ(ω１)＋∠プロセス(ω１)の項の一方又は両方が正である状態で実行されることを保証するように注意が払われなければならない。
【００９８】
一度、Ｔｉ、Ｔｄ及び利得マージンに対する最大フォーワードパス利得が見出されると、ローバスト性マップが描かれ得る。即ち、選択された利得マージン値のそれぞれについてＴｉ及びＴｄ値をそれらのそれぞれの範囲で変化させ、それぞれのＴｉ、Ｔｄ及び利得マージンの結合のそれぞれでフェーズマージン及び最大フォーワードパス利得を決定した後、ローバスト性マップのためのデータが決定され、ローバスト性マップが表示される。ローバスト性マップのそれぞれの点について格納された情報（即ち、Ｔｉ、Ｔｄ及び利得マージン）は、最大フォーワードパス利得及びフェーズマージンである。しかしながら、もし望むなら、比例利得（これは最大フォーワードパス利得値から直接計算することができる）が、最大フォーワードパス利得に加えて又はその代わりに格納され得る。
【００９９】
ローバスト性プロットが面なら、利得マージンのそれぞれの値に対する最大及び最小フェーズマージンが、例えば、利得マージンの値を有する格納された点のそれぞれの上の単純な最小／最大サーチ機能を使用して見つけられる。ローバスト性マップの垂直軸はフェーズマージンであり、種々の利得マージンでの最大フェーズマージンの最大値と、種々の利得マージンでの最小フェーズマージンの最小値とを含んでいるのが好ましい。種々の利得マージンでの最小フェーズマージンのセットは、例えば図７のライン１９０によって規定されるより安定性の低い境界であるラインを規定し、種々の利得マージンに対する最大のフェーズマージンのセットは、例えば図７のライン１９２によって規定されるより安定性の高い境界であるラインを規定する。これらのラインの間の面は、ＰＩＤコントローラのチューニングパラメータ（Ｔｉ、Ｔｄ及び最大フォーワードパス利得）が決定される点を含んでいる安定領域である。
【０１００】
最初に計算された又は現在活性なチューニングパラメータをローバスト性プロット上に置くために、これらのチューニングパラメータを有するコントローラを有するループに関連するフェーズマージン及び利得マージンは、どのような公知の技術を用いても決定される。計算されたフェーズマージン及び利得マージンは、ローバスト性プロット上のこれらのチューニングパラメータを表す記号を置くための座標である。このような点は、図７に△で１９４として示されている。
【０１０１】
もし望むなら、ルーチン１５０は、チューニングパラメータの最初のセット又はチューニングパラメータの選択されたセットに対するデッドタイムマージン及び動的マージンを計算してもよい。公知のように、デッドタイムマージンは、もし確認されたプロセスデッドタイムに適用されたなら制御ループが不安定（例えば、セグメントループが安定になる前に制御ループに加えられる付加的なデッドタイム）になるであろう乗数である。デッドタイムマージンは、フェーズマージン及び利得クロスオーバー周波数から直接計算され、この計算は、この技術分野で周知である。
【０１０２】
動的マージンは、ここで新しく作り出した概念であり、確認されたプロセス制御ループ（時定数及びデッドタイム、即ち、事実上のプロセスのポールとゼロプラスデッドタイム）の動的要素の全てに適用されるとき、動的要素のそれらの値に対してプロセス制御ループが不安定になる原因となる乗数である。チューニングパラメータの選択されたセットに対する動的マージンは、チューニングパラメータの選択されたセットに対する利得マージンとフェーズマージンとを見出すことにより、そして、次に利得クロスオーバー周波数でフェーズシフトが１８０度に達するまで、又は利得マージンが利得クロスオーバー周波数で１より小さくなるまで、動的要素に適用される乗数を反復的に調整することにより、計算される。これらの条件の何れか現れたときの乗数の値が、動的マージンである。ある場合には、特定のプロセス制御ループに関連する一又はそれ以上の動的マージンが存在し得る。
【０１０３】
もちろん、上記のように、ルーチン１００は、初期のチューニングパラメータの実行を何れかの公知の又は所望の技術を用いてシュミレートし得る。一度、ローバスト性マップが初期化され及び生成されると、確認されたプロセスパラメータ又はコントローラ構造が変更されない限り、ローバスト性マップは、そのループのために再び描かれる必要はない。
【０１０４】
シュミレーション処理の間、ユーザはローバスト性マップを使用してチューニングパラメータを選択し得る。例えば、ユーザは、テーブル領域（即ち、これに対してチューニングパラメータが決められる）内の点をクリックすることにより、ローバスト性マップからＰＩＤチューニングパラメータを選択し得る。もし、ローバスト性マップがラインなら、チューニングパラメータが存在する領域は、単にそのライン上である。ユーザがローバスト性マップ上をクリックしたとき、ルーチン１００は選択された点に関連するフェーズマージン及び利得マージンの座標を提供する。フェーズマージン及び利得マージンの座標は、上記のようにして格納されたチューニングパラメータからＰＩＤチューニングパラメータを計算する補完ルーチン１３６（図８）への入力として使用される。もちろん、補完法は、格納されている情報の量と、ローバスト性マップがラインであるか面であるかに依存して変化し得る。例えば、もし、ローバスト性マップがラインなら、補完技術は２点法であり、一方、ローバスト性マップが面なら、補完技術は４点法であり得る。もちろん、補完法は、線型又は非線型補完技術を使用し得る。補完の実行後、計算されたＰＩＤチューニングパラメータはユーザに表示され得る。上記したように、新たに選択されたチューニングパラメータと確認されたプロセスパラメータを使用するシュミレーションが次に実行され、ｐｖ（ｔ）、ｏｕｔ（ｔ）及びｓｐ（ｔ）の応答が、図６及び７に示されているように、これらの値対時間の傾向としてプロットされる。同様に、デッドタイムマージン及び動的マージンは、選択されたチューニングパラメータに対して計算されユーザに提供され得る。
【０１０５】
理解されるであろうように、シュミレーションの間、ルーチン１００は、ユーザによって選択されたＰＩＤコントローラ構造とプロセスの改良されたＺ変形の数学的に正確な表現を使用する。ユーザは、シュミレーションがトリガされたとき、その応答のタイプが必要なシュミレーション変数を変化させることによりシュミレーションされるように、ユーザ自身がシュミレートしようとするタイプの応答（セットポイント、外乱応答など）を選択する。シュミレーションの数学的出力は、制御ループのサンプリング間隔でのｓｐ（ｔ）、ｏｕｔ（ｔ）及びｐｖ（ｔ）である。これらの出力は、次に、シュミレートされた時間に対してプロットされ、図６及び７のような傾向プロットを提供する。シュミレートのトリガは、ローバスト性マップ内の点の選択により行われ得、これは、ユーザがシュミレートするコントローラを選択するために安定性特性を使用するのを可能とし、これにより、ユーザが、安定性（又はローバスト性）特性に基づいてチューニングパラメータを選択し、及び即座に選択されたチューニングパラメータに関連する制御応答を見ることを可能とする。ローバスト性マップとシュミレート可能性とを使用して、ユーザ自身が望む応答及び安定性特性をユーザが得るまで、ユーザは新たなチューニング点を選択し得る。
【０１０６】
ローバスト性マップがチューニングパラメータ（Ｔｄ及びＴｉ）の２つに対する範囲を決定することにより、そして、結果として得られるフェーズマージン及び最大フォーワードパス利得を計算するために利得マージンを変化させることにより生成されているとして記述されているが、フェーズマージン（又は他のローバスト性特性）は変化し得、そして、利得マージンが計算され得る。同様に、チューニングパラメータの異なるそれに対する範囲は、Ｔｉ及びＴｄに代えて確立され得、そして、ローバスト性特性の一つに於ける変化が一又はそれ以上のチューニングパラメータ及び他のローバスト性特性を計算するのに使用される限り、また使用され得る。
【０１０７】
ここに記載したローバスト性プロット発生装置とシュミレーターは、例えばコントローラ、ユーザインターフェイス、又は他のプロセス制御装置内に格納されたソフトウエアで実装されるのが好ましいが、これらは、それに代えて又はそれに加えて、所望のハードウエア、ファームウエア等で実装される。もし、ソフトウエアで実装されるなら、本発明のローバスト性プロット発生装置とシュミレーターは、磁気ディスク、レーザディスク、光ディスク若しくは他の記録媒体、コンピュータ、コントローラ、フィールドデバイス等のＲＡＭ、ＲＯＭ等のコンピュータ読み取り可能なメモリに格納され得る。同様に、このソフトウエアは、例えば、電話回線、インターネット等の通信チャネル上を含む公知の又は所望の配送方法を介して、ユーザ又はデバイスに配送される。
【０１０８】
また、本発明のローバスト性プロット発生装置及びシュミレーターは、Ｆｉｅｌｄｂｕｓデバイスのセットを使用する脱集中化又は分散された方法でプロセス制御機能を実装するプロセス制御ネットワークに関連して詳細に記述されているが、本発明のローバスト性プロット発生装置及びシュミレーターは、２線式のバス及びアナログ及び／又はデジタル通信をサポートするプロトコル以外に依存するプロトコルを含む、フィールドデバイス及び通信プロトコルの他のタイプを使用して制御機能を実行するプロセス制御ネットワークにも使用され得ることが理解されるであろう。例えば、これらのデバイスは、ＨＡＲＴ、ＰＲＯＦＩＢＵＳ等の通信プロトコル又は他の現存し若しくは将来開発され得るどのような通信プロトコルにも従うデバイスを使用するどのようなプロセス制御ネットワークに於いても使用され得る。
【０１０９】
本発明は、例示のみを意図し本発明を限定するものではない特定の実施形態に基づいて記載されているが、本発明の精神及び範囲を逸脱することなく、変更、付加又は削除が、開示されている実施形態に対して行われ得ることが当業者に理解されるであろう。
【符号の説明】
【０１１０】
１２  プロセスコントローラ
１４  ワークステーション
１６  ハブ
１８  イーサネット（登録商標）接続
１９  プロセス
２０，２２  Ｉ／Ｏカード
２６，２８  アナログフィールドデバイス
３０，３２，３４，３６  フィールドデバイス
３８  バス
４５，４６，４８，５０  フィールドデバイス
４２  バス
４０  インターフェイスカード
４２  Ｆｉｅｌｄｂｕｓワイヤ
４３  トランスミッタ
４４  ポジショナ／バルブ
６２，６４  ＰＩＤ機能ブロック
６７  制御要素コントローラ
６８  データ収集ユニット
６９  プロセス特性決定ユニット
７０  通信ユニット
７１  自動チューニングコントローラ
８０  ベースアルゴリズム
８２，８４  分岐ポイント
９４  アルゴリズム
９６  インターフェイス
１０２  プロセッサ
１０３  ユーザインターフェイス
１０６，１０７  ローバスト性マップ
１３６  補完ルーチン
１５０  フローチャート
１９０，１９２  ライン
【図１】
2012164342.tif 000003
【図２】
2012164342.tif 000004
【図３】
2012164342.tif 000005
【図４】
2012164342.tif 000006
【図５】
2012164342.tif 000007
【図６】
2012164342.tif 000008
【図７】
2012164342.tif 000009
【図８】
2012164342.tif 000010
【図９】
2012164342.tif 000011
【手続補正書】
【提出日】平成24年4月23日(2012.4.23)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】  この発明は、概略的にはプロセス制御ネットワークに関し、更に詳しくは、ロバスト性マップに基づいたプロセス制御システム内のプロセスコントローラのためのチューニングパラメータの決定方法に関するものである。
【背景技術】
【０００２】  化学、石油又は他のプロセスに一般的に使用されているようなプロセス制御ネットワークは、例えば、バルブポジショナ、スイッチ、センサ（例えば温度、圧力及び流速センサ等）等の一又はそれ以上フィールドデバイスに通信可能に接続されている集中化されたプロセスコントローラを一般的に含んでいる。これらのフィールドデバイスは、プロセス内の物理的制御機能（例えば、バルブの開閉）を果たし、プロセスの動作の制御に使用するためのプロセス内の測定を行い、又はプロセス内の他の所望の機能を果たし得る。プロセスコントローラは、歴史的には、フィールドデバイスから及びフィールドデバイスに、例えば４−２０ｍＡ（ミリアンペア）の信号を伝送する一又はそれ以上のアナログ信号ライン又はバスを介して、フィールドデバイスに接続されている。一般的に言えば、プロセスコントローラは、一又はそれ以上のフィールドデバイスによって作り出される測定値を表す信号及び／又はフィールドデバイスに関する情報を受領し、この情報を典型的に複雑な制御ルーチンを実行するのに使用し、次に、フィールドデバイスにアナログ信号バスを介して送られる制御信号を生成して、これによりプロセスの動作を制御する。【０００３】  近年、プロセス制御産業内では、フィールドに基づいたプロセス制御環境内のデジタル通信を実装する動きがある。例えば、プロセス制御産業は、ＨＡＲＴ（登録商標）、ＰＲＯＦＩＢＵＳ（登録商標）、ＷＯＲＬＤＦＩＰ（登録商標）、Ｄｅｖｉｃｅ−Ｎｅｔ（登録商標）及びＣＡＮプロトコル等の多くの標準的で開放されたデジタル又は結合されたデジタル及びアナログ通信プロトコルを発展させてきた。これらのデジタル通信プロトコルは、一般的には、特定のバスにより多くのフィールドデバイスが接続されるのを可能とし、フィールドデバイスとコントローラとの間のより多くのそしてより速い通信をサポートし、及び／又はフィールドデバイスが、より多くのそしてフィールドデバイス自身の状態や配置に関するプロセスコントローラへの情報など、異なるタイプの情報を送るのを可能としている。更に、これらの標準的なデジタルプロトコルは、異なる製造業者によって製造されるフィールドデバイスが、互いに同じプロセス制御ネットワーク内で使用されるのを可能としている。【０００４】  また、プロセス制御産業内では、プロセス制御を脱集中化する動きがあり、これによってプロセスコントローラが簡略化される。脱集中化された制御は、バルブポジショナ、トランスミッタ等のプロセス制御デバイスを取り付けたフィールドに、典型的には機能ブロック又は制御ブロックとして言及されるものを使用して一又はそれ以上のプロセス制御機能を実行させることにより、そして、次に、他の制御機能を実行している他のプロセス制御デバイス（又は機能ブロック）による使用のためのバス構造を横切るデータを通信することにより、得られる。これらの制御機能を実行するために、各プロセス制御デバイスは、典型的には、標準的で開放された通信プロトコルを使用して他のプロセス制御デバイスと通信する能力と同様に、一又はそれ以上の機能ブロックを実装する能力を有するマイクロプロセッサを含んでいる。このように、フィールドデバイスは、互いに通信するために、そして集中化されたプロセスコントローラの介在なしに制御ループを形成して一又はそれ以上のプロセス制御機能を実行するために、プロセス制御ネットワーク内で相互接続され得る。現在フィールドバス財団（Fieldbus Foundation）によって普及されており、FOUNDATIONＴＭ Fieldbus（以下「Ｆｉｅｌｄｂｕｓ」と称する。）プロトコルとして知られている全てデジタルの二線式のバスプロトコルは、異なる製造業者によって製造されるデバイスが共同利用でき、プロセス内の脱集中化された制御をもたらすように標準バスを介して互いに通信するのを可能とする。【０００５】  一又はそれ以上の集中化されたコントローラ内に位置する全体に亘るプロセス制御ルーチン（例えば、制御ルーチンの全ての機能ブロック）又はその部分を有する従来技術のシステムに於ける制御ブロック又は制御ループのチューニングは、かなり単純である。なぜなら、チューニングルーチンの全体は、集中化されたコントローラに格納されることも可能であるからである。このような集中化された制御ルーチンの制御ループのチューニングが望まれているとき、集中化されたコントローラ内の別々のチューニングルーチンが、比例−積分（ＰＩ）又は比例−積分−微分（ＰＩＤ）制御ブロック等の適当な制御ブロックに、誘導振動などのチューニング処理を介して、プロセス又はループの予め定義された特性を決定するように強制する。チューニング処理のこの動的なデータ捕捉相の間、チューニングルーチンは、ループによって生成される、通常の動作によって集中化されたコントローラに配送されているデータを収集し、そして、このデータから、プロセスの最終利得、時定数等の一又はそれ以上の特性を決定する。一度所望のプロセス特性が計算されると、チューニングルーチンは、計算されたプロセス特性を使用して、規則又は他のアルゴリズムのセットを適用して、制御ブロック又は制御ループに対する新たなチューニングパラメータを決定する。このステップは、チューニング処理の規則アプリケーション相と通常称されている。その後、チューニングルーチンは、新たなチューニングパラメータを制御ブロック（又は制御ループ）に配送し、チューニング処理を完了する。集中化されたプロセス制御システムでは、制御機能の全てがコントローラ内に位置し、チューニングに必要なデータの全てがプロセスの通常の動作の間にコントローラに提供されているので、チューニングルーチンは制御ブロック及びそのチューニングルーチンを実行するために必要なデータへの直接のアクセを有している。
【発明の概要】
【発明が解決しようとする課題】
【０００６】  制御ブロック又はＰＩ、ＰＩＤ、ファジー論理等の制御エレメント、制御ブロックがプロセス制御ネットワーク全体に亘って分散方式で位置している脱集中化通信プロトコルについては、制御ブロック（又はこれらのブロックが動作している制御ループ）をチューニングすることは、制御ブロックがチューニングルーチンが典型的に格納されている集中化されたコントローラ（又は他のデバイス）から離れて位置するので、困難である。分散プロセス制御環境に於いてチューニングを組み込むのに使用される一つの公知の従来技術システムでは、全体に亘るチューニング処理は、集中化されたプロセスコントローラ内に留まっている。しかしながら、このシステムは、速いチューニングを行うことができない。なぜなら、それがチューニングルーチンの間に発現するデータを受領するために（プロセス内で他の通信を提供する）バスネットワーク上で通信しなければならず、そして、不運なことに、データの量（又はチューニングルーチンがこのデータを受領することができる速度）はバスのスループットの制約によって制限されるからである。更に、バス通信は別のバスコントローラによって制御され、チューニングルーチンによっては制御されないので、チューニングルーチンは、チューニング制御信号がスタート、ストップ及びチューニング処理の異なるセグメントを実行するために制御ブロックに伝送される正確な時間を厳密に制御することができない。従って、このことは、チューニング制御ルーチンがチューニング処理のタイミングを厳密に制御せず、このことは、不正確な結果をもたらす。【０００７】  分散したプロセス制御環境内のチューニングを提供するもう一つの公知の従来技術システムでは、全体のチューニングルーチンは、（ＰＩＤ機能ブロック等の）チューニングされるべき制御ブロックと同様のデバイス内に置かれ、現実に、制御ブロックの機能性の中に実際に含まれている。一方、このシステムがチューニング処理のタイミングを正確に制御することができ、そして、所望の速度で（なぜなら、チューニングルーチンはバスを介して制御ブロックと通信していない）データを収集することができる間、チューニングルーチンは制御ブロックに沿って制御ブロックと同時にコンパイルされなければならず、このことは、たとえ自動チューニングルーチンが制御ループの通常の動作の間に比較的まれに使用されるとしても、プロセスの通常の動作の間に制御ブロックの使用に関連するオーバーヘッド（例えば、タイミング、処理、メモリ等の要求）を増大させる。更に、完全な自動チューニングルーチンは、各制御ブロックの自動チューニングを可能とするために、制御ブロックが配置される異なるそれぞれのデバイス内に置かれなければならず、このことは、プロセス制御システムに不必要な冗長を加え、プロセス制御システムのコストを増大させる。【０００８】  更に、幾つかの公知の自動チューナ（集中化された制御システム又は分散制御システムに使用されるかどうかに拘わらず）は、ＰＩＤ（比例−積分−微分）コントローラのような特定のタイプのコントローラに対するチューニングパラメータのセットを、決定されたプロセスの特性のセットに基づいて生成し、次に、コントローラがチューニングパラメータを使用するときに、コントローラへのプロセスの応答をシュミレートするシミュレーションルーチンを実行する。このシミュレーションルーチンは、例えば、ステップ応答、インパルス応答等を使用して、オペレータが、チューニングパラメータの決定されたセットを有するコントローラに関連する利得、応答時間、オーバーシュート、振動等を見ることを可能にする。また、これらの従来技術のシステムは、コントローラで使用されているようなチューニングパラメータのセットが不安定な制御ループに導くであろうかどうかについて決定する。一つの公知のシステムでは、結果として得られるコントローラのロバスト性が、例えば、制御ループの利得マージン対フェーズマージンを表すロバスト性マップ上の点としてプロットされ得る。しかしながら、もし、ユーザが結果として得られるコントローラのロバスト性を好まないなら、ユーザは、所望のロバスト性を有するコントローラをもたらすか若しくはもたらさない他のチューニングパラメータを手動で選択するか、又は、ユーザは、新たなチューニングパラメータのセットを得るために、最初に使用されるべきコントローラのタイプなどのチューニングパラメータのセットを決定するのに使用される変数の幾つかを変更しなければならない。どちらの場合に於いても、ユーザは、コントローラの特定のタイプに対するチューニングパラメータのセットを、制御ループの所望のロバスト性を特定することによっても、まだ選択することはできず、このことは、ユーザが提供された自動チューニング法を使用して決定されたチューニングパラメータに関連するロバスト性に固執していること、又はユーザが、制御ループに特定のロバスト性を持たせるコントローラを生成するチューニングパラメータのセットを決定するのに複雑な手動による試行錯誤を通過しなければならないことを意味している。
【課題を解決するための手段】
【０００９】  シュミレーション処理は、チューニングされたコントローラの例えばオーバーシュート、振動、応答時間等を例示するために、計算されたチューニングパラメータのセット（例えば、自動チューニング処理によって決定される）の応答をシュミレートする。シュミレーション処理の一部分として、フェーズマージン対利得マージンを示すプロット又は他のロバスト性の特性を示すプロットのようなロバスト性マップが生成され、そして、シュミレートされている制御ループのロバスト性がロバスト性マップ上の点としてプロットされ得る。ロバスト性マップの生成の間に、プロセス制御ループが安定している領域についてのチューニングパラメータの異なるセットが決定されそして格納され、これらのチューニングパラメータに従ってチューニングされたコントローラを有するループの対応するロバスト特性もまた決定され格納される。このロバスト性マップは、次に、安定な領域を示してユーザに表示される。その後、ユーザはロバスト性マップ上の安定な領域内の何れかの点を選択し、そうするに際して、選択したロバスト特性を用いて制御ループを生成するのに使用されるチューニングパラメータのセットが次に先に計算されたチューニングパラメータのセット及びロバスト特性から決定されるであろう。シュミレーションルーチンは、次に、ユーザが結果として生ずる制御ループの性能特性を見るのを可能とするために、これらの新たなチューニングパラメータに従ってチューニングされた制御ループをシュミレートする。望むなら、ロバスト性マップ上の点が、これらの点に関連するチューニングパラメータを使用している制御ループが安定又は不安定であるかどうかを示すような方法でプロットされ得る。【００１０】  本発明の一実施形態に従えば、プロセス制御ループで使用されているチューニングコントローラで使用するためのチューニングパラメータを決定する方法は、プロセス制御ループのロバスト特性（例えば利得マージン）をプロットするロバスト性マップを生成する。ロバスト性マップを生成するために、その方法は、チューニングパラメータの複数のセットと、チューニングパラメータのセットのそれぞれについてのプロセス制御ループのロバスト特性に対する値とを決定する。次に、この方法は、ユーザがロバスト性マップ内の点を選択し、決定されたチューニングパラメータの複数のセットの少なくとも２つを使用して更なるチューニングパラメータのセットを生成することを可能とし、この更なるチューニングパラメータは、コントローラをチューニングするのに使用されたときに、選択された点に関連するロバスト特性の大凡の値をプロセス制御ループが持つようにする。【００１１】  望むなら、ロバスト性マップの生成ステップは、２つ又はそれ以上のロバスト特性をプロットするステップを含み得、そして、決定ステップは、ロバスト特性の一つを全範囲に亘って変化させ、及びチューニングパラメータのセット（例えばパス利得に向かう最大値を含む）とその範囲内の選択された多くの値のそれぞれに対するロバスト特性の他の一つとを決定するステップを含み得る。所望なら、その方法は、チューニングパラメータの更なるセットを決定するために、決定されたチューニングパラメータの複数のセットの少なくとも２つを補完し得る。【００１２】  一実施形態では、この方法はまた、チューニングパラメータの更なるセットに従ってチューニングされたコントローラを使用するときにプロセス制御ループをシュミレートし、チューニングパラメータの更なるセットに関連する動的マージンを決定し得る。【００１３】  本発明のもう一つの実施形態に従えば、プロセス制御ループで使用されるように採用されているチューニングコントローラでの使用のためのチューニングパラメータのセットを決定する方法が、そのコントローラのチューニングに於いて使用するためのチューニングパラメータの複数のセットと、チューニングパラメータの複数のセットのそれぞれについての関連するロバスト特性を決定し、そこではチューニングパラメータの複数のセットと関連するロバスト特性は、ロバスト性マップ内の安定な領域を定義する。その方法は、次に、安定な領域のロバスト性マップを示すためにロバスト性マップの安定な領域をプロットし、ロバスト性マップ内の点をユーザが選択することを可能とする。その方法は、次に、チューニングパラメータの更なるセットを決定するために、チューニングパラメータの複数のパラメータの少なくとも２つを使用し、そこでは前記チューニングパラメータの更なるセットは、コントローラがチューニングパラメータの更なるセットに従ってチューニングされたときにプロセス制御ループが選択された点の大凡のロバスト特性を持つように、ロバスト性マップ内の選択された点に関連している。【００１４】  本発明の更なる他の実施形態に従えば、チューニングパラメータのセットに従ってチューニングされ得るコントローラを有するプロセス制御ループをチューニングするためにプロセッサとともに使用されるように適合したチューニングシステムは、コンピュータ読み取り可能な媒体を含み、そして、コンピュータ読み取り可能な媒体上に格納されプロセッサ上で実行されるように適合した第１、第２及び第３のルーチンを含んでいる。第１のルーチンは、チューニングコントローラで使用するためのチューニングパラメータの複数のセットと、チューニングパラメータのセットのそれぞれに対する関連するロバスト特性とを決定することによって、ロバスト性マップを生成するように適合され、そこでは、チューニングパラメータの複数のセットと関連するロバスト特性とが、ロバスト性マップ内に連続する領域を定義する。第２のルーチンは、ロバスト性マップ内の点をユーザが選択することを可能とするように適合され、第３のルーチンは、チューニングパラメータの複数のセットを定義して、コントローラのチューニングに使用されたときにプロセス制御ループが選択された点に関連する大凡のロバスト特性を持つようにチューニングパラメータの更なるセットを生成する。
【図面の簡単な説明】
【００１５】
【図１】自動チューナを使用する分散制御要素を有するプロセス制御ネットワークの概略ブロック図である。
【図２】分散プロセス制御環境内の制御ループで使用される自動チューナの実施形態の概略ブロック図である。
【図３】分散化及び集中化された制御要素の両方を有するプロセス制御環境内の制御ループで使用される自動チューナの更なる実施形態の概略ブロック図である。
【図４】集中化された制御要素を有するプロセス制御環境内の制御ループで使用される自動チューナの更なる実施形態の概略ブロック図である。
【図５】プロセス制御環境内の修飾機能ブロックとして実装される自動チューニング機能ブロックの概略ブロック図である。
【図６】定義されたチューニングパラメータのセットを使用して、プロセス内のコントローラの動作に関連するシュミレーショングラフの例示を表示するユーザインターフェイスを有するプロセス制御システムのブロック図である。
【図７】所望のロバスト特性を有する制御ループを提供するために、コントローラのためのチューニングパラメータのセットを選択するために使用され得るロバスト性マップを有するシュミレーションスクリーンディスプレイの例示である。
【図８】図７のロバスト性マップのようなロバスト性マップを決定する方法を示すフローチャートである。
【図９】図７のロバスト性マップの決定に於けるステップを示すフローチャートである。
【発明を実施するための形態】
【００１６】  図１を参照すれば、プロセス制御ネットワーク１０がブロック図の形式で示されている。プロセス制御ネットワーク１０は、一又はそれ以上の、その中に格納されたプロセス制御ルーチンを実行することができ及び／又は機能ブロック等のプロセス制御ネットワーク１０の全体に分散しているフィールドデバイス内に位置している制御要素と通信することができる集中化されたプロセスコントローラ１２（図１では一つだけ示されている）を含んでいる。コントローラ１２は、実施例に限っては、FisherRosemountSystems Inc.によって販売されているＤｅｌｔａＶ（商標）であり得、ハブ１６及びイーサネット（登録商標）接続１８を介してパーソナルコンピュータ（ＰＣ）１４等の多くのワークステーションに接続され得る。この配置では、ＰＣ１４は、一又はそれ以上のオペレータ又はユーザがプロセスコントローラ１２又はフィールドデバイスと通信するために使用され、それによってプロセス制御ネットワーク１０の要素に関連する情報を得、プロセス制御ネットワーク１０内の要素の状態を再考し又は変更し、プロセス制御ネットワーク１０内の個々のフィールドデバイスに関連する情報を得る。もし、プロセスコントローラ１２がＤｅｌｔａＶであるなら、プロセス制御ルーチン内の機能ブロック又は他の制御要素と、プロセスの制御を提供するために機能ブロックが互いにリンクされている方法とを示して、ＰＣ１４の一つを介してユーザにコントローラ１２内のプロセス制御ルーチンの図式的な描写を提供する。更に、望むなら、ユーザ又はオペレータは、一又はそれ以上の機能ブロック又はＰＣ１４の一つからの制御ループのチューニングを開始することができる。
【００１７】  図１に示すように、集中化されたコントローラ１２は、プロセス（参照番号１９で概略的に示されている）の全体に亘って配置されている多くのフィールドデバイスに接続されている。集中化されたコントローラ１２は、標準的なタイプのＩ／Ｏカード２０及び２２を介して、コントローラ１２からの集中化された制御の下にある典型的なフィールドデバイス２６，２８，３０，３２，３４及び３６と通信し得る。Ｉ／Ｏカード２０は、例えば、コントローラ１２を４〜２０ｍＡのバス３８上で通信するアナログフィールドデバイス２６及び２８に接続するアナログＩ／Ｏカードであり得る。同様にＩ／Ｏカード２２は、デジタル又はデジタル及びアナログの混合のフィールドデバイスと、例えば４〜２０ｍＡのアナログ形式若しくは他の所望の形式を使用して通信を行う、デジタル若しくはデジタル・アナログ結合のＩ／Ｏカードであり得る。もちろん、フィールドデバイス２６，２８，３０，３２，３４及び３６は、トランスミッタ、センサ、バルブポジショナ、バルブコントローラ等を含むフィールドデバイスのタイプであり得る。図１に例示されている例示のプロセス制御ネットワーク１０について分かるように、フィールドデバイス２６−３６は、コントローラ１２内に格納されている制御ルーチンによって集中化されて制御されているプロセス１９の一部分に関連している。
【００１８】  また、コントローラ１２は、インターフェイスカード４０に通信可能に接続され、これは次に、分散された方式でプロセス制御が実行されるプロセス制御ネットワーク（又はその一部）に接続されている。図１に示した例では、プロセス１９の脱集中化されたプロセス制御部分は、インターフェイスカード４０、バス４２並びにバス４２に接続された多くのフィールドデバイス４３，４４，４６，４８及び５０を含んでいる。実施例では、デバイス４３は幾つかのプロセス変数を測定するトランスミッタであり得、一方、デバイス４４はそのプロセス内の流体の流れを制御するポジショナ／バルブデバイスであり得る。図１の分散されたプロセス制御ネットワークは、例えば、Ｆｉｅｌｄｂｕｓ通信プロトコルを使用するＦｉｅｌｄｂｕｓネットワークであり得、インターフェイスカード４０はＦｉｅｌｄｂｕｓ通信プロトコルに関連するリンクアクティブスケジューラであり得る。
【００１９】  コントローラ１２内に位置する集中化されたプロセス制御ルーチンは、フィールドデバイス２６−３６及び可能性として４３−５０からの入力を受領し、その制御ルーチンに関連する計算と他のアクティビティとを実行し、そして次に、Ｉ／Ｏカード２０及び２２並びにインターフェイスカード４０を介してフィールドデバイスにコマンドを送って、プロセス１９の所望の制御を実行する。しかしながら、プロセス制御ネットワーク１０の脱集中化されたプロセス制御部分（即ち、図１のバス４２に関連する部分）は、コントローラ１２によって実行されている制御と結合した（又はそれに代わって）脱集中化された方法で自身のプロセス制御ルーチンを実行し得ることに注意すべきである。このように、コントローラ１２がバス４２に接続されているデバイス４３−５０上の幾つかの制御にインターフェイスし実行している間、これらのデバイスはまた、コントローラ１２によって実行されている制御に関連せずその代わりにバス４２に接続されているデバイスの全体に亘って分散している制御機能又は機能ブロックを実行する。どの場合にも、ここに記載されている自動チューナは、図１のフィールドデバイス２６−３６及び４３−５０又はコントローラ１２の何れかに位置している（機能ブロックのような）制御エレメントをチューニングするのに使用される。
【００２０】  一方、好ましい実施形態では、プロセス制御ネットワーク１０の記述されている部分は、Ｆｉｅｌｄｂｕｓ通信及び制御プロトコルを使用し、その上、それは、将来開発されるであろうプロトコルをも含めて他の公知又は所望のプロトコルを使用することができる。一般的に言えば、Ｆｉｅｌｄｂｕｓプロトコルは、例えば工場又はプラントの計測器若しくはプロセス制御環境に配置されているセンサ、アクチュエータ、デバイスコントローラ、バルブ等の「フィールド」装置を相互接続する二線ループ若しくはバスへの標準化された物理インターフェイスを提供する全てデジタルでシリアルの双方向通信プロトコルである。Ｆｉｅｌｄｂｕｓプロトコルは、要するにプロセス内のフィールド装置（フィールドデバイス）のためのローカルエリアネットワークを提供し、これは、これらのフィールドデバイスがプロセスの設備の全体に亘って分散している位置で制御機能を果たし、全体に亘る制御計画を実行するためにこれらの制御機能の実行の前後で互いに通信するのを可能とする。Ｆｉｅｌｄｂｕｓプロトコルは、制御機能がプロセス制御ネットワークの全体に分散するのを可能とするので、それは、集中化されたプロセスコントローラ１２の負荷を減少させ、又はプロセスのこれらのフィールドデバイス又は領域についての集中化されたプロセッサ１２の必要性を無くする。
【００２１】  Ｆｉｅｌｄｂｕｓプロトコルはプロセス制御ネットワークで使用するために開発された比較的新しい全てデジタルの通信プロトコルであるけれども、このプロトコルはこの技術分野で公知であり、多くの論文、パンフレット及び発行され配布され、とりわけテキサス州オースチンに本部を有する非営利団体のフィールドバス財団から入手可能な仕様書に詳細に記載されていることが理解されるであろう。その結果、Ｆｉｅｌｄｂｕｓ通信プロトコルの詳細は、ここでは詳細には述べない。
【００２２】  図２は、例えばＦｉｅｌｄｂｕｓネットワーク又は他の分散制御環境内で実行され得る制御ループを作り上げている相互接続されている機能ブロックの概略ブロック図の描写であり、そこでは制御ループ内の機能ブロックは、バスのような通信ネットワークによって相互接続された異なるデバイスに位置している。図２に示されている制御ループは、アナログ入力（ＡＩ）機能ブロック６０（これは、例えば図１のトランスミッタ４３内に配されている）、ＰＩＤ機能ブロック６２及びアナログ出力（ＡＯ）機能ブロック６４を含んでいる。図２の例示のループについては、ＰＩＤ機能ブロック６２及びＡＯ機能ブロック６４は、図１のポジショナ／バルブ４４に位置している。機能ブロック６０，６２及び６４間の通信接続は、プロセスとこれらの機能ブロックの制御入出力に付け加えた線によって図２に示されている。このように、プロセス変数測定又はプロセスパラメータ信号を有し得るＡＩ機能ブロック６０の出力は、Ｆｉｅｌｄｂｕｓワイヤ４２を介してＰＩＤ機能ブロック６２の入力に通信可能に接続され、これは次に、ＡＯ機能ブロック６４の入力に通信可能に接続された制御信号を有する出力を有している。例えばバルブ４４の位置を示すフィードバック信号を有するＡＯ機能ブロック６４の出力は、ＰＩＤ機能ブロック６２の制御入力に接続されている。ＰＩＤ機能ブロック６２は、ＡＩ機能ブロック６０からのプロセス測定信号（及びもしかすると他の信号又はセットポイント）に沿ってこのフィードバック信号を使用して、ＡＯ機能ブロック６４のどのような所望の制御も実行し、これによってＡＩ機能ブロック６０によって測定されたプロセス変数を制御する。図２の制御ループの図の線によって示されている接続は、ＡＯ及びＰＩＤ機能ブロック６４及び６２の場合と同様に、機能ブロックが同じフィールドデバイス内にあるときに、フィールドデバイス内で内部的に実行され得る。
【００２３】  制御要素６２のチューニングに使用するための自動チューナは、ポジショナ／バルブ４４内に位置する自動チューニング機能ブロック６６を含んでいる。自動チューニング機能ブロック６６は、チューニング処理の動的データ捕捉相の動作の間にＰＩＤ機能ブロック６２に接続され、その入力へ信号を送ること、出力を変更すること等により、ＰＩＤ機能ブロック６２を制御する。特に、チューニング処理の動的データ捕捉相の間、制御要素コントローラ６７（これは、例えば、ハードウエア又はソフトウエアの何れかにより実行される信号発生器であり得る）は、機能ブロック６０，６２及び６４を有する制御ループを駆動して、制御された誘起振動処理に導く（又は他の所望のチューニング処理を実行する制御ループを駆動する）。データ収集ユニット６８は、この処理の間、生成した又はＰＩＤ機能ブロック６２（又はループの他の部分）に伝送されたデータを収集し、そして、好ましくは、デバイス４４内のメモリにこのデータを格納する。プロセス特性決定ユニット６９は、次に、プロセス、ループ又はデバイスの特性であり得る所望のプロセス特性を、公知又は所望の処理を用いて収集されたデータから決定する。その後、通信ユニット７０は計算されたプロセス特性（又はこのような特性を決定するのに必要なデータ）をチューニングコントローラ７１に提供し、これは、自動チューニング機能ブロック６６が位置しているデバイス４４から離れた、集中化されたコントローラ１２等を除いたオペレータワークステーション又はＰＣ１４の一つに位置しているのが好ましい。
【００２４】  チューニング処理の間、自動チューニング機能ブロック６６は、プロセス又は制御ループの一又はそれ以上のプロセス特性を決定するために、プロセスループに強制的に特定の変化を与え、そしてプロセス制御ループ内に存在する種々の量又は信号を検知する。これらのプロセス特性（又はチューニング処理の間に捕捉されたデータ）は、異なるデバイス内に位置するチューニングコントローラ７１に、ユーザインターフェイスサポート及び制御又はチューニングパラメータの一又はそれ以上のセットの発現に於いて使用するために送られる。ＰＩＤ機能ブロック６２の使用は単なる例示であり、自動チューニング機能ブロック６６は他のどのような制御ループに於けるどのようなタイプの機能ブロックとともにでも使用され得ることが理解されるであろう。更に、チューニングコントローラ７１は、例えば、ユーザ若しくはオペレータインターフェイスデバイス（例えば何れかのワークステーション）、何れかのコントローラ、又は何れかのフィールドデバイスをも含むどのような他のデバイスにも配置され得る。
【００２５】  自動チューニング機能ブロック６６の個々の要素はどのような所望の方法によっても実装され得ることが理解されるであろう。例えば、好ましい実施形態では、これらの要素のそれぞれは、自動チューニング機能ブロック６６が格納されているデバイスに関連するプロセッサ上で実行されるソフトウエアで実装される。この場合には、制御要素コントローラ６７は、チューニングされているＰＩＤ機能ブロック６２又は他の機能ブロックとの通信及びそれらへの入力若しくはそれらの出力の制御に於いて使用される一連の命令であり得る。同様に、データ収集ユニット６８は、例えばＰＩＤ機能ブロック６２に関連する特定の所望の信号をモニタし、そして、これらの信号を表すデータをデバイス４４のメモリに格納する。プロセス特性決定ユニット６９は、格納され又は収集されたデータから一又はそれ以上のプロセス特性を計算し又はさもなければ決定するために、ソフトウエアで実装され得、通信ユニット７０は、通信プロトコル又はデバイス４４のセットアップを使用して、チューニングコントローラ７１と通信を行う。例えば、Ｆｉｅｌｄｂｕｓデバイスに於いては、通信ユニット７０は、デバイス４４内に既に提供されている通信システムに、Ｆｉｅｌｄｂｕｓのバス４２上をチューニングコントローラ７１にプロセス特性を通知させる。Ｆｉｅｌｄｂｕｓの環境に於いては、個々のユニット６７，６８，６９及び７０は、独立のＦｉｅｌｄｂｕｓ機能ブロックとしてパッケージされ又はＰＩＤ機能ブロック６２内に提供され得る。その代わりに、ユニット６７，６８，６９及び７０の何れか又は全ては、他の何れのプロセス制御環境に於けるソフトウエア、ハードウエア又はファームウエアでも実装され得る。
【００２６】  自動チューニング機能ブロック６６、より詳細には制御要素コントローラ６７は、チューニング処理の間、開ループ又は閉ループ技術のような所望のどのようなチューニング処理も使用することができる。同様に、自動チューニング機能ブロック６７は、所望のプロセス又はループ特性を決定するために、例えば、ＡＯ機能ブロック６４の出力、ＰＩＤ機能ブロック６２のセットポイント、ＡＩ機能ブロック６０の出力等を含む所望の変数を測定し得る。好ましい実施形態では、自動チューニング機能ブロック６６は、所望のプロセス特性を決定するために、制御された誘起振動処理を使用するように構成される。このような構成では、自動チューニング機能ブロック６６のコントローラ６７は、ＰＩＤ機能ブロック６２の制御入力に、誘起振動が開始される前にＰＩＤ機能ブロック６２に送られる制御信号の値を中心とする２ｄのピーク間の選択可能な値を有する矩形波信号を適用する。このような矩形波信号に応答して、図２の制御ループは誘起振動を受け、ＡＩ機能ブロック６０の出力（即ち、プロセス変数）はピーク間振幅２ａ及び周期Ｔｕを有して振動する。プロセス変数の振幅と矩形波信号の振幅から、プロセスの最終の利得Ｋｕが次の式によって誘導され得る。
【００２７】              Ｋｕ＝４ｄ／ｎａ              （１）  プロセスの最終の利得Ｋｕは、プロセス変数の振動の周期に等しいとして計算され得る。自動チューニング機能ブロック６６は、もちろん他のデータを測定し得、そして、例えば、遅延時間Ｔｄ及びプロセスの支配的な時定数を含む他の所望のプロセス特性を決定し得る。
【００２８】  このようなプロセス特性の計算の後、自動チューニング機能ブロック６６はこれらの特性をチューニングコントローラ７１に提供し、これはＫｕとＴｕの量から、例えばＰＩＤ制御機能ブロック６２の比例の利得Ｋｐ（又はＫｐ）、積分時定数Ｔｉ（又はＴｉ）及び微分時定数Ｔｄ（又はＴｄ）を含む制御又はチューニングパラメータの予備のセットを決定する。しかしながら、所望なら、自動チューニング機能ブロック６６は必要なデータを捕捉し、そのデータを格納し及びその格納されたデータをチューニングコントローラ７１にバスを介して非実時間で提供し得、この場合には、チューニングコントローラ７１は所望の方法で所望のプロセス又はループ特性を計算し得る。
【００２９】  上述の議論にもかかわらず、自動チューニング機能ブロック６６は、ＰＩ、ＰＩＤ、ファジー論理又はその中の他のタイプの制御要素を有する制御ループとして知られている種々のルーチンの何れかを含む所望の動的データ捕捉ルーチンを実装し得ることが理解されるであろう。例えば、自動チューニング機能ブロック６６は、ここに参照によって組み込まれる米国特許第４，５４９，１２３号に記載されているHaegglund-Astroemリレーチューニング処理のような制御された誘起振動処理を実行し得る。リレータイプのチューニング方法では、自動チューニング機能ブロック６６は、（機能ブロック６０，６２及び６４で構成される）プロセスループを、例えば非線型フィードバック機能を使用して自己振動の状態にし、最終利得及び最終周期のような所望のプロセス特性を決定するために、プロセスループの応答を測定する。
【００３０】  これに代えて、自動チューニング機能ブロック６６は、「自動チューニングを有するファジー論理制御のための方法及び装置」と題された１９９３年８月１１日に出願された同時係属する米国特許出願第０８／１０５，８９９号に記載されているチューナの何れか一つの設計を組み込み得、その開示は参照によってここに組み込まれる。例えば、自動チューニング機能ブロック６６（特に、プロセス特性計算機６９）は、格納されている複数の数学的モデルからプロセス又はループを最も正確に特徴付けるモデルを選択するために特徴分析がプロセス変数上で実行されるモデルマッチングチューニング処理を実行し得る。次に、プロセスループのプロセス特性が、選択されたモデルから決定される。
【００３１】  更にまた、自動チューニング機能ブロック６６は、米国特許第４，６０２，３２６号に開示されているようなプロセス特徴づけのパターン認識法を使用して、そのループのプロセス特性を決定し、その開示は参照によってここに組み込まれる。チューニングのパターン認識法に於いては、プロセス又はループの特性は、プロセスの混乱状態に応答するのにプロセス変数を観察することにより決定される。プロセスの混乱状態の結果として生成されるプロセス変数のパターンは、次に、プロセス又はループの所望の特性を決定するために分析される。
【００３２】  更にまた、自動チューニング機能ブロック６６は、例えば米国特許第５，２８３，７２９号及び同時係属する１９９３年５月２８日に出願された米国特許出願第０８／０７０，０９０号に開示されているような、「自動チューニングプロセスコントローラのためにシステム及び方法」と題された、プロセス（例えば、ループ）の特性を決定する信号注入法が使用され得、その開示は参照によってここに組み込まれる。しかしながら、他のどのような手法も、望みどおりに使用され得、自動チューニング機能ブロック６６は、ここに記載され又は参照された特定のチューニング手法の使用に限定されるものではない。
【００３３】  同様に、チューニングコントローラ７１は、自動チューニング機能ブロック６６によって計算され又は収集されたプロセス又はループの特性（又は生のデータ）からチューニングパラメータを決定するどのような方法も使用し得る。例えば、チューニングコントローラ７１は、２〜３例を挙げると、内部モデル制御（ＩＭＣ）チューニング、Ｃｏｈｅｎ及びＣｏｏｎチューニング、Ｚｉｅｇｌｅｒ−Ｎｉｃｈｏｌｓチューニング、改良Ｚｉｅｇｌｅｒ−Ｎｉｃｈｏｌｓチューニングを含む、参照によってここに明確に組み込まれる米国特許第５，７４８，４６７号に開示され又は参照されているチューニングパラメータ計算方法の何れかを使用し得る。
【００３４】  一般的には、チューニングコントローラ７１は、一又はそれ以上の規則のセット（例えば、ファジー論理規則のセット、神経ネットワーク配置若しくは規則のセット、又は線型若しくは非線型アルゴリズムのようなもの）を格納し、これは、チューニングされている機能ブロックのタイプに応じて、利得、時定数等のチューニングパラメータを決定するために使用する。更にまた、チューニングコントローラ７１（これは、異なるデバイス内の異なる多くの自動チューニング機能ブロックの何れとも通信可能）は、異なるタイプの制御ブロック又はループのためのチューニングパラメータ計算規則の異なるセットを格納し得、従って、プロセス制御システム内のＰＩＤ、ＰＩ、ファジー論理又は他の制御要素の何れか又は全てをチューニングするのに使用され得る。チューニングコントローラ７１は制御要素の異なるタイプとともに使用されるべき多くの異なる規則のセットを格納することができ、そして自動チューニング機能ブロック６６によって決定された動的プロセス特性に基づいて新たなチューニングパラメータを計算するときに適当な規則はどのようなものでも適用することができるので、単一のチューニングコントローラ７１のみがどのようなプロセス制御ネットワークにも配置される必要がある。
【００３５】  チューニングコントローラ７１が新たなチューニングパラメータを決定した後、それはこれらのパラメータを、バス４２を介して図２のＰＩＤ機能ブロック６２のような適当な制御要素に提供する。もし望むなら、チューニングコントローラ７１は自動チューニング機能ブロック６６にそのチューニングパラメータを提供し、これは次に、これらのパラメータをＰＩＤ機能ブロック６２に提供する。
【００３６】  チューニングの動的データ捕捉相の間に実行される機能がチューニングの規則適用相の間に実行される機能から分離している別々の機能セットアップを使用して、自動チューナはチューニング処理の動的データ捕捉相のタイミングを制御することができる。更にまた、データ通信はバス上にリアルタイムで発生しないので、この自動チューナは、チューニングされている制御ループのプロセス特性を正確に決定するために必要なだけのデータを検出し格納することができる。また、プロセス又はループ特性（これは非常に複雑であり得る）に基づく新たなチューニングパラメータの決定に関連した機能を適用する規則は、デバイス内で又はループを制御するのに使用される機能ブロックによっては実行されないので、これらの機能はオペレーティングループにコードされる必要がない。このことは、言い換えれば、全体に亘るチューニングルーチンがチューニングされている制御ブロック内に配置されているシステムに比較して、ループのオーバーヘッドを減少させる。
【００３７】  図３を参照すれば、集中化された又は脱集中化された方法の両方で実行される制御ブロック又は制御機能を有する環境で使用するための更なる自動チューナが示されている。この実施例では、ＡＩ機能ブロック６０は、図１の集中化されたコントローラ１２内にあり、コントローラ１２によって実行され、これはトランスミッタデバイス及びバルブ／ポジショナデバイス（これらは図１のデバイス２６，２８，３０，３２，３４及び３６の何れであってもよい）と通信して、これらの機能ブロックの入力及び出力を得る。しかしながら、ＰＩＤ機能ブロック６２は、図１の脱集中化されたＦｉｅｌｄｂｕｓネットワークのバルブ／ポジショナデバイス４４に格納されこれによって実行され、Ｆｉｅｌｄｂｕｓリンク４２及びインターフェイスカード４０を介して図１の集中化されたコントローラ１２と通信する。
【００３８】  この実施例では、集中化されたコントローラ１２は、シャドーＰＩＤ機能ブロック７２（波線ブロックで示されている）を有し、これは、入力及び出力並びにＰＩＤ機能ブロック６２に関連する他のデータをミラーリングし、あたかもＰＩＤ機能ブロック６２が集中化されたコントローラ１２内に格納されこれによって実行されているかのように、ＡＩ及びＡＯ機能ブロック６０及び６４と通信する。より詳細には、シャドーＰＩＤ機能ブロック７２がＡＩ及びＡＯ機能ブロック６０及び６４からリンクを介して入力を受け取ったとき、それはすぐさまこれらの入力をバルブ／ポジショナデバイス４４内の実際のＰＩＤ機能ブロック６２及び６４に送る。シャドーＰＩＤ機能ブロック７２と実際のＰＩＤ機能ブロック６２との間の通信は、Ｆｉｅｌｄｂｕｓプロトコルの場合には、図３の波線によって示され、フィールドデバイス４４に関連する通信プロトコルを使用して実行される。実際のＰＩＤ機能ブロック６２は、次に、あたかもＡＩ及びＡＯ機能ブロック６０及び６４がＦｉｅｌｄｂｕｓネットワーク内のＦｉｅｌｄｂｕｓ機能ブロックであるかのように、標準的な方法で受け取った入力に基づいてその制御機能を実行する。
【００３９】  同様に、シャドーＰＩＤ機能ブロック７２は、出力と実際のＰＩＤ機能ブロック６２の状態を表す他のデータとの定期的なアップデートを受領し、コントローラ１２内のリンクを介してＡＩ及びＡＯ機能ブロック６０及び６４に適当なときにこのようなデータの通信を行うように構成されている。このような方法では、ＡＩ及びＡＯ機能ブロック６０及び６４には、ＰＩＤ制御機能が集中化されたコントローラ１２内に提供されるように見える。これらのブロックは、これらのブロックが集中化されたコントローラ１２によって実行されるどのような他の機能ブロックとも通信を行うのと同様の方法で、シャドーＰＩＤ機能ブロック７２と通信を行うことができる。シャドー機能ブロックの実行に関する詳細は、本発明の主題ではないが、「プロセス制御ネットワークで使用するためのシャドー機能ブロックインターフェイス」と題された１９９８年９月１０日に出願された米国特許出願第０９／１５１，０８４号に詳細に記述されており、その開示は参照によってここに明確に組み込まれる。
【００４０】  図３の実施形態に於いては、自動チューニング機能ブロック６６は、図２に関連して記述されたように、ポジショナ／バルブ４４に配置され、実際のＰＩＤ機能ブロック６２と通信しこれを制御して、チューニング処理を実行する。ＰＩＤ機能ブロック６２と同様に、自動チューニング機能ブロック６６は、コントローラ１２内に配されたシャドー自動チューニング機能ブロック７６を有している。実際の自動チューニング機能ブロック６６は、シャドー自動チューニング機能ブロック７６と通信を行い、（計算されたプロセス又はループ特性のような）データをシャドー自動チューニング機能ブロック７６に送り、シャドー自動チューニング機能ブロック７６からコマンド又は他のデータを受け取る。図２の実施形態と同様に、自動チューナのチューニングコントローラ７１は、ワークステーション又はＰＣ１４内に格納されこれらによて実行されるが、その代わりにコントローラ１２又は他の所望のどのようなデバイス内にあってもよい。チューニングコントローラ７１は、シャドー自動チューニング機能ブロック７６と通信を行い、例えば、チューニング処理を開始し、自動チューニング機能ブロック６６によって発現されたプロセス若しくはループ特性を受け取り、又は自動チューニング機能ブロック６６によって集められ若しくはその状態を表すデータを受け取る。
【００４１】  チューニングが図３の実施形態で望まれているとき、チューニングコントローラ７１は、（例えば、ユーザ又はプロセス制御ネットワーク内の更なるコントローラから）チューニングを開始するコマンドを受け取る。チューニングコントローラ７１は、次に、シャドー自動チューニング機能ブロック７６に開始コマンドを送り、シャドー自動チューニング機能ブロック７６はこのコマンドを実際の自動チューニング機能ブロック６６に送る。このコマンドに応答して、実際の自動チューニング機能ブロック６６は、図２に関連して記述した何れかのようなチューニング処理を開始し、チューニング処理の間にループによって生成されるデータを収集し、及び次に一又はそれ以上の所望のプロセス特性を計算しさもなければ決定する。実際の自動チューニング機能ブロック６６は、次に、これらの特性（又は収集されたデータ）をシャドー自動チューニング機能ブロック７６に提供し、これはチューニングコントローラ７１にこの情報の通信を行う。
【００４２】  他の方法として、シャドー自動チューニング機能ブロック７６又はチューニングコントローラ７１は、実際のＰＩＤ機能ブロック６２に実際の自動チューニング機能ブロック６６を呼び出し又はこれと通信することを強制して、ＰＩＤ機能ブロック７２（これは実際のＰＩＤ機能ブロック６２の状態を変更する）の状態を変更し、これによってチューニング処理を実行する。この場合には、シャドー自動チューニング機能ブロック７６はＰＩＤ機能ブロック６２も状態の変化に応じて自動的に開始され又はインストールされる。
【００４３】  何れの場合も、チューニングコントローラ７１は、（計算されたループ又はプロセス特性のような）受領したデータに基づいて、所望のチューニングパラメータ計算方法を使用して、新たなチューニングパラメータを決定する。チューニングコントローラ７１は、次に、このようなチューニングパラメータをシャドーＰＩＤ機能ブロック７２（又は必要な他のどのような機能ブロック）に送り、シャドーＰＩＤ機能ブロック７２はこれらの新たなチューニングパラメータを実際の実際のＰＩＤ機能ブロック６２に送り、ここではそれらはＰＩＤ機能ブロック６２によってループの通常の動作の間に使用される。
【００４４】  望ましいなら、シャドー自動チューニング機能ブロック７６は必ずしも必要ではなく、代わりにチューニングコントローラ７１が自動チューニング機能ブロック６６と直接通信してチューニング処理を実行することもできる。更に、図２及び図３の実施形態は、自動チューニング機能ブロック６６をＰＩＤ機能ブロック６２から独立した機能ブロックとして示しているが、独立した機能ブロックの代わりに、自動チューニング機能ブロック６６の機能は、ＰＩＤ（又は他の制御）機能ブロック６２に組み込まれていてもよい。
【００４５】  シャドー自動チューニング機能ブロック７６は、Ｆｉｅｌｄｂｕｓデバイスの自動チューニング機能ブロック６６の属性と同じ属性を有しているのが好ましい。しかしながら、一実施形態では、ＳＴＲＡＴＥＧＹ，ＡＬＥＲＴ  ＫＥＹ，  ＭＯＤＥＢＬＫ及びＢＬＯＣＫＥＲＲの標準的なＦｉｅｌｄｂｕｓ属性は、実際の自動チューニング機能ブロック６６に提供されているけれども、シャドー自動チューニング機能ブロック７６に提供されている必要はない。また、シャドー自動チューニング機能ブロック７６は、チューニング処理の同定相（即ち、動的捕捉相）の間に於いてのみチューニングコントローラ７１によって使用され、チューニングコントローラ７１と自動チューニング機能ブロック６６との間の通信を提供するので、ユーザに直接見えている必要はない。それでもなお、シャドー自動チューニング機能ブロック７６のパラメータは、チューニングコントローラ７１にとって有用であり、これによって使用され、ユーザインターフェイスアプリケーションのチューニングに使用され、所望ならユーザアプリケーションによって得られることができる。更にまた、ＦｉｅｌｄｂｕｓＰＩＤ機能ブロック６２は、自動チューニング機能ブロック６６の開始インデックスを含むように改変されることが好ましく、このインデックスはまた、シャドー自動チューニング機能ブロック７６によって使用されるのに有用である。このことは、ＰＩＤ機能ブロック６２が自動チューニング機能ブロック６６によって制御されることを可能とする。プロセス特性情報は、例えばシャドー自動チューニング機能ブロック７６と同様に、Ｆｉｅｌｄｂｕｓ自動チューニング機能ブロック６６に、Ｆｉｅｌｄｂｕｓ機能ブロックの他のどのようなタイプにも関連する他の属性と同様の属性として含まれ得る。当業者には、シャドー自動チューニング機能ブロック７６と同様に、使用されているチューニングの異なるタイプと自動チューナが位置するシステムの異なる局面とに依存して、異なる属性が自動チューニング機能ブロック６６に提供され得ることは公知である。自動チューニング機能ブロックによって提供され得る幾つかの例示的なプロセス特性又は情報は、以下のようである。
【００４６】  Ｔ＿ＩＰＧＡＩＮ−プロセス利得の積分−入力に於けるユニットステップ変化  Ｔ＿ＵＧＡＩＮ−最終の利得−ループが欄外で安定、即ち、安定と不安定との間のボーダーラインにある、比例のみのコントローラ利得の値、  Ｔ＿ＵＰＥＲＩＯＤ−最終の周期−そのコントローラ利得がプロセスの最終の利得に設定されたときのループの振動の周期、  Ｔ＿ＰＳＧＡＩＮ−プロセスの静的な利得−プロセス入力変化に対するプロセス出力変化の比率、  Ｔ＿ＰＴＩＭＥＣ−プロセス時定数−システムがステップ入力に応答した時と、その最終地の６３％に到達した時との間の時間期間、  Ｔ＿ＰＤＴＩＭＥ−プロセス遅延時間−制御アクションがとられた時と、プロセスがこのアクションに対する応答を開始した時との間の時間の長さ、である。
【００４７】  これらの属性は、チューニングテストが完了したときに、自動チューニング機能ブロック６６で計算され、次に、例えばワークステーション１４のチューニングコントローラ７１に提出し、これは、これらのプロセス特性情報又は属性の一又はそれ以上を、例えばＰＩ、ＰＩＤ又はファジー論理コントローラに対する利得、積分時間（リセットの反転）、及び微分時間（速度）等のチューニングパラメータを決定するために使用する。一実施形態では、上記にリストされている属性は、浮動小数点データであり、不揮発性のメモリ上にスタティックデータとして格納され、読み取り専用データのようにアクセスされ得る。また、上記にリストされている属性のそれぞれは、Ｆｉｅｌｄｂｕｓ又はＤｅｌｔａＶプロトコルのビュー（view）１及び３で入手され得る。Ｆｉｅｌｄｂｕｓ又はＤｅｌｔａＶプロトコルのビューリストは、機能ブロックからの情報に対する単一要求（即ち、一つのビュー）によって与えられるであろうパラメータを定義することが理解されるであろう。このように、ビューの要求を使用して、自動チューニング機能ブロック６６は、自動チューニング機能ブロック６６からの利用可能な非常に多くの属性に対する最も新しい値を得る。
【００４８】  更に、上記でリストした属性又はプロセス特性は、自動チューナの一つの可能な実行に関連していることと、他の方法で動作し得るように構成された他の自動チューナによって提供される他の属性又は情報があることとが理解されるであろう。このような他のプロセス特性情報には、他の所望の時間と同様に、所望のタイプの利得、最終の周期、デッドタイム及び微分時間等の時間、並びにプロセスに関連するどのような時定数も含まれ得る。
【００４９】  実行された自動チューニングの正確なタイプは重要ではなく、上記に提供されているリストは、チューニングコントローラ７１が一又はそれ以上のチューニングパラメータを決定するのを可能とするためにチューニングコントローラ７１に利用可能となるプロセス特性情報の幾つかのタイプの単なる例示であることが理解されるであろう。所望なら、チューニングコントローラ７１は、どのようなタイプのＰＩＤ、ファジー論理、神経ネットワーク等のプロセスも、最終の利得、最終の周期及びデッドタイム等の入力から、コントローラ利得、リセット、速度等のチューニングパラメータを決定するために使用し得る。
【００５０】  一実施形態では、自動チューニングアプリケーション（即ち、チューニングコントローラ７１）は、自動チューニングがＦｉｅｌｄｂｕｓデバイス（即ち、実際のＰＩＤ機能ブロック６２）内の関連する機能ブロック上で自動チューニングが実行されていることを示すために、シャドーＰＩＤ機能ブロック７２のＴＵＮＳＫＩ属性に書き込みを行う。この属性の変更に応答して、シャドー自動チューニング機能ブロック７６のインスタンスが集中化されたコントローラ１２内に生成される。（付随的に、チューニングコントローラ７１もまた、自動チューニングが完了したことを示すためにＴＵＮＳＫＩ属性に書き込みを行い、これにより、シャドー自動チューニング機能ブロック７６が処分される。）シャドー自動チューニング機能ブロック７６が生成された後、Ｆｉｅｌｄｂｕｓデバイスの関連する自動チューニング機能ブロック６６の状態が読み取られる。もし、自動チューニング機能ブロック６６の状態がクリアされていれば（Ｔ＿Ｒｅｑｕｅｓｔ＝０）、次に、チューニングが行われる。しかしながら、Ｔ＿Ｒｅｑｕｅｓｔ属性が０でないなら、次に、チューニングはＦｉｅｌｄｂｕｓデバイス内でアクティブとなる。この場合には、チューニングの要求は好ましいことではなく、シャドー自動チューニング機能ブロック７６のインスタンスは削除され、これによって自動チューニングは停止する。
【００５１】  シャドー自動チューニング機能ブロック７６のインスタンスが生成されたとき、その静的及び動的属性は自動チューニング機能ブロック６６のそれを反映する。これらの値は、自動チューニングアプリケーション（即ち、チューニングコントローラ７１）によって、あたかも集中化されたコントローラ１２のＰＩＤ機能ブロックがチューニングされているようにアクセスされるであろう。このように、もし、自動チューニングアプリケーション７１がシャドー自動チューニング機能ブロック７６の属性に新たな値を書き込んだら、シャドー自動チューニング機能ブロック７６は、関連する自動チューニング機能ブロック６６へのこの属性値の書き込みを開始する。同様に、自動チューニング機能ブロック６６がＦｉｅｌｄｂｕｓデバイス内で活動的に働いているとき、シャドー自動チューニング機能ブロック７６は自動チューニング機能ブロック６６の動的属性値（Ｆｉｅｌｄｂｕｓプロトコルのビュー３）を周期的に得る。自動チューニング機能ブロック６６は機能ブロックとして定義されているので、このビューは他のブロックに於けると同様にアクセスされるであろう。ビューの要求に応答して提供される動的属性値は、次に、シャドーブロック７６でその動的属性値をアップデートするのに使用される。（図１の）Ｆｉｅｌｄｂｕｓインターフェイスカード４０が静的属性値に於ける変化を見出したとき、それは自動チューニング機能ブロック６６からの静的属性（ビュー４）の全てを要求する。この要求に応答して受け取られた静的な値は、次に、シャドーブロック７６の属性をアップデートするのに使用される。
【００５２】  更に、集中化されたコントローラ１２に関連するデバイスライブラリ内のデバイスがＰＩＤ機能ブロックを含んでいるとき、このテンプレート情報は、図３のポジショナ／バルブ４４のようなデバイス内のそれに関連する自動チューニング機能ブロックの開始のためのオブジェクト辞書のインデックスを定義するＰＩＤ機能ブロックに関連する一つの静的な属性を含み得る。一般的に言えば、ただ一つの自動チューニング機能ブロックが、一又はそれ以上のＰＩＤ（及び／又は他の制御）ブロックを含むデバイス内に存在する必要がある。しかしながら、自動チューニング機能ブロック６６は、好ましくはデバイステンプレート内でブロックとして定義されないであろうし、従って、ライブラリ内には表示されないであろう。それでもなお、シャドー自動チューニング機能ブロック７６が集中化されたコントローラ１２によって生成されたときは、自動チューニング機能ブロック６６のインデックスはシャドー自動チューニング機能ブロック７６によって使用されるであろう。このインデックスに基づいて、プロキシが自動チューニング機能ブロック６６のためのＦｉｅｌｄｂｕｓインターフェイスカード４０内に確立されるであろう。このように、遠隔の（例えばＦｉｅｌｄｂｕｓ）デバイスに於ける自動チューニング属性は、自動チューナアプリケーションが活性化され、関連するＰＩＤ機能ブロック６２がチューニングのために選択されたときに、単に関連づけられる。もし、ＰＩＤ機能ブロック６２が遠隔のデバイスで実行されているなら、そのときは、そのデバイス内の自動チューニング機能ブロックへのＰＩＤ機能ブロックの参照が知られるであろう。もし、ＰＩＤ機能ブロックが集中化されたコントローラ１２内で実行されているなら、そのときは、自動チューニングブロックが自動チューニングの開始時にＰＩＤブロックによってインスタンス化されるであろう。
【００５３】  図４の参照すれば、もう一つの実施形態が実際の自動チューニング機能ブロック６６がコントローラ１２内に配置され、これもまたコントローラ１２内に配置されているＰＩＤ機能ブロック６２をチューニングするのに使用される場合を示している。この構成は、例えば、高性能でないデバイス又はその動作が集中化されたコントローラ１２によって実行されている制御機能ブロックによって制御される他のデバイスを制御することが制御ブロックに望まれているときに使用され得る。チューニングコントローラ７１は、チューニングコントローラ７１が何れもコントローラ１２内に格納されている自動チューニング機能ブロック６６と次の実際のＰＩＤ機能ブロック６２と直接通信するすることを除いて、図３の実施形態に於けると同様に動作することが理解されるであろう。
【００５４】  もちろん、望むなら、自動チューニング機能ブロックは、プロセス制御ループの自動チューニングを実行するために、ユーザインターフェイス又はワークステーション１４にどのような標準若しくは公知の方法で提供され得る。
【００５５】  一実施形態では、自動チューニング機能ブロック６６が、遠隔の（例えばＦｉｅｌｄｂｕｓ）デバイス内又はコントローラ１２内の修飾因子機能ブロックとして提供される。一般的に言えば、修飾因子機能ブロックは、オリジナル又はベースの機能ブロック（例えばＰＩＤ機能ブロック６２）のアルゴリズムを、オリジナル又はベースの機能ブロックの一部とすることなしに修飾する機能ブロックである。
【００５６】  修飾因子機能ブロックの概念は、ベース又はオリジナルの機能ブロック７８を示す図５に関して詳細に記述され、この実施形態では、機能ブロック７８は図２，３及び４のＰＩＤ機能ブロック６２であり得る。理解されるように、ベース又はオリジナルの機能ブロック７８は、プロセッサによって実行されるコード又は他のタイプの行を有するアルゴリズム８０をその中に含んでいる。図５のポイント８２及び８４で示されているコード内の一又は複数のポイントで、アルゴリズム８０内にブレークポイント又は分岐ポイントが設定される。これらのポイント８２及び８４の一又は両方が、アルゴリズム８０内の高められた能力を提供し、このような高められた能力は、その中にアルゴリズム９４を有する修飾因子機能ブロック９０によって提供されている。
【００５７】  一般的に言えば、分岐ポイント８２及び８４は、他の分岐ポイントとともに、生成されたときにベース機能ブロック７８に於いてセットアップされる。しかしながら、分岐ポイントの内容は、ベース機能ブロック７８のコンパイル後に修飾因子機能ブロック９０への又はベースアルゴリズム８０内のコードの行へのポインタを含むように変更され得る。最初は、ブレークポイント８２でのポインタは、アルゴリズム８０にアルゴリズム８０内のコードの次の行を指し示し又は続けるように設定され、従って、高められた能力なしに動作する。しかしながら、同様に高められた能力又は機能性がベース機能ブロック７８に付加されるように望まれるとき、一又はそれ以上の分岐ポイント（例えばポイント８２）でのポインタは、アルゴリズム８０がその分岐ポイントに到達したときに修飾因子機能ブロック９０内のアルゴリズム９４を呼び出すかさもなければこれに制御を移すように設定されている。望むなら、ポイント８２は、修飾因子機能ブロック９０のアドレスを示すアドレスを格納し得、又は修飾因子機能ブロック９０へ制御を渡す他の分岐デバイス又は方法であり得る。制御が修飾因子機能ブロック９０に渡されたとき、特定の予め決められたデータが修飾因子機能ブロック９０に送られ又はこれに利用可能にされ、これは、アルゴリズム９４の動作の間に修飾因子機能ブロック９０が使用し又は変更する。このデータは、図５にインターフェイス９６として示されている固定され又は予め決められたインターフェイスを介して提供される。インターフェイス９６は、修飾因子機能ブロック９０（又は、アドレスのようなそれへのポインタ）による使用のために必要なパラメータ又は値の何れかを典型的に含み、そこではベース機能ブロック７８内の制御及び／又は修飾因子機能ブロック９０によって、制御し、実行し及び制御をベース機能ブロック７８に戻すことが必要とされている他のデータ若しくは情報内の制御を戻す。制御を受け取ると、修飾因子機能ブロック９０は、インターフェイス９６を介して提供されるデータ上に作用するそのアルゴリズム９４を実行し、そして、完了すると、制御が開放されたブレーク又は分岐ポイントを即座に（実行という意味で）進めるベース機能ブロックのアルゴリズム８０のポイントに制御を戻す。修飾因子機能ブロック９０は、インターフェイス９６（これは、修飾因子機能ブロック９０に制御を送るのに使用されるものと同様又は異なる）を介して特定のデータを返し、ベース機能ブロック７８に於けるアルゴリズム８０によってそのデータが使用される。
【００５８】  ２つの分岐ポイント８２及び８４は図５に示され、１つ、３つ又は他の数の文ポイントが、アルゴリズム８０内の一又はそれ以上のポイントで高められた能力を提供するために、オリジナルの機能ブロック８０に置かれる得る。更に、ベース機能ブロック７８内の分岐ポイントは、修飾因子機能ブロック９０内のアルゴリズム９４の異なる部分又はサブルーチンを呼び出すように設定され得、これにより、ベース機能ブロック８０の異なる部分で異なる高められた機能を提供する。この機能は、チューニングのような全く新しい機能をベース機能ブロック７８内で実行するのに必要とされ、ベースアルゴリズム８０内の異なるポイントで加えられる異なる能力を有することが必要とされる。もちろん、ベースアルゴリズム８０内の異なる分岐ポイントは、単一の修飾因子機能ブロックの同じ若しくは異なる部分を呼び出すようにセットアップされ、又は異なる修飾因子機能ブロックを呼び出すようにセットアップされ得る。
【００５９】  最初に販売されたときは、ベース機能ブロック７８には、（他の所望の分岐ポイントと同様に）単に分岐ポイント８２及び８４が備えられ、これは、後日、ユーザに提供されるべき修飾因子機能ブロックの高められた能力を許容する。ユーザが修飾因子機能ブロックに関連する機能の実装を必要としないか又は望まないとき、ユーザは、ベースアルゴリズム８０内の分岐ポイントで、修飾因子機能ブロックを呼び出すことなくアルゴリズム８０を継続することを示すヌル値又は他の指示を格納することのみが必要である。修飾因子機能ブロックの能力が加えられるべきとき、ベースアルゴリズム８０内の一又はそれ以上の分岐ポイントでの値又はポインタは、分岐ポイントに到達したときにベースアルゴリズム８０が適当な修飾因子機能ブロックを呼び出すように変更される。典型的には、これはベース機能ブロック７８の再コンパイルすることなく行われる。その後、修飾因子機能ブロック９０は、ベースアルゴリズム８０が分岐ポイントに到達したときに呼び出される。飛び出されたとき、修飾因子機能ブロック９０は、ベース機能ブロック７８内のアルゴリズム８０の機能を高め又は変更するために、アルゴリズム９４を実行する。しかしながら、チューニング処理の最後のように、高めること又は新たな機能がもはや望まれないときは、ベース機能ブロック７８が修飾因子機能ブロック９０を呼び出すのを妨げるために、分岐ポイントがリセットされる。
【００６０】  このように、ベース機能ブロック７８は、アップグレードされた能力なしに最初に販売され得、このことは、その機能ブロックに関連する文書とオーバーヘッドを低減させる。しかしながら、ベース機能ブロック７８は、適当な修飾因子機能ブロック９０をベース機能ブロック７８が格納されているデバイスに単に加えて、ベース機能ブロック７８のアルゴリズム８０内のポインタを変更することにより、アップグレードされ得る。このことは、ベース機能ブロックが新しいベース機能ブロックの全てを実行することなく、そして、ベース機能ブロック７８を再コンパイルすることなく、後日高められ又は変更されることを可能とし、ベース機能ブロック７８のアップグレードをより容易にする。更に、異なる修飾因子機能ブロックが、システムのアップグレードという点からの更なる選択をユーザに与える同じベース機能ブロックに対して発展させ得る。このことはまた、機能ブロックの提供者が、修飾因子機能ブロックの異なるバージョン又はアップグレードを比較的容易に提供することを可能とする。更に、ベース機能ブロック７８のアルゴリズム８０は、ブロックが修飾因子機能ブロックへの標準的なインターフェイスをサポートするように設計される付加的な能力を提供するように修飾されている必要はない。同様に、付加的な機能のサポートは、構成の間のブロック属性のセットにより、又はここに記載されているチューニングアプリケーションのようなカスタムアプリケーションを介して示されているようにしてのみ、呼び出される。このことは、修飾因子機能ブロックによって提供される特徴がプロセスの通常の動作の間に要求されないときに、メモリとＣＰＵへの要求を減少させる。理解されるであろうように、修飾因子機能ブロックを使用するときは、ベース機能ブロックは、修飾因子機能ブロックを呼び出す能力、即ち、一又はそれ以上のリセット可能な分岐ポイントをその中に有していなければならないという事実を除いて、同じままである。
【００６１】  Ｆｉｅｌｄｂｕｓ環境に於いて使用されるとき、修飾因子機能ブロック９０（この場合には自動チューニング機能ブロック６６）は、ベース機能ブロック（例えば、ＰＩＤ機能ブロック６２）と同様の実行時間フレームで実行されるであろう。更に、修飾因子機能ブロック９０は、システム内の機能ブロックとしてユーザに見える必要はない。なぜなら、それはベース機能ブロック７８のアルゴリズム８０を単に修飾するのみだからである。しかしながら、望むなら、自動チューナアプリケーションユーザインターフェイスは、修飾因子機能ブロック９０からよく知られたＯＰＣプロトコルを使用して情報を得ることができる。更にまた、それはベース機能ブロック７８のコードを単に修飾因子機能ブロック９０のコードを変更するのみによって変更することがより容易であり、それはベース機能ブロック７８より容易に、システムに加えられ及びシステムから削除される。このことは、進んだ制御能力の発現を大きくスピードアップさせ、顧客がこれらの特徴を使用する特定のアプリケーションを有しているとき、顧客はベースの機能ブロックにオーバーヘッドを単に加えなければならないであろうことを意味している。即ち、顧客は、修飾因子機能ブロックによって提供される付加された機能を必要としていないとき、修飾因子機能ブロックを使用せずコンパイルしないことによって、システムのオーバーヘッドを減少させ得ることができる。
【００６２】  ここでの記述は、単一の自動チューニング機能ブロック６６及び単一のチューニングコントローラ７１を有する自動チューナの実行と使用とに向けられているが、異なるデバイスに位置する自動チューナは単一又は複数のチューニングコントローラ７１及び／又は複数の自動チューニング機能ブロック６６を含み得ることが理解されるであろう。更に、単一の自動チューニング機能ブロック６６が、同じデバイス及び２つ又はそれ以上の単一の自動チューニング機能ブロックのみを未だに有していることが必要とされる制御ブロックを有するようなデバイス内の異なる複数の機能ブロックの動的データ捕捉相を実行するのに使用され得ることが理解されるであろう。同様に、同じタイプの自動チューニング機能ブロックが異なるタイプの制御ブロック（ＰＩ、ＰＩＤ及びファジー論理制御ブロックのような）に使用され得る。なぜなら、同様の動的データ捕捉技術がこれらの異なるタイプの制御要素のそれぞれを有するループに使用され得るからである。また、自動チューニング機能ブロックは、外部のプロセス制御通信プロトコル（とりわけＦｉｅｌｄｂｕｓプロトコル）を使用して実行されることができ、Ｆｉｅｌｄｂｕｓプロトコルによって特異的に識別され及びサポートされている異なる機能ブロックの何れかと類似又は同様の何れの機能ブロックをも含む何れのタイプの機能ブロックとも通信するのに使用され得る。更に、ここでは自動チューニング機能ブロックはＦｉｅｌｄｂｕｓ「機能ブロック」として記載されているが、ここでの「機能ブロック」という表現の使用は、Ｆｉｅｌｄｂｕｓプロトコルが機能ブロックとして識別するものに限定されものではなく、どのような他のブロック、プログラム、ハードウエア、ファームウエア等の、制御システム及び／又は通信プロトコル及び幾分かの制御機能を実行するのに使用され得るものをも含んでいる。このように、機能ブロックは典型的にはオブジェクト指向環境内のオブジェクトの形式をとるが、このことは問題ではなく、それに代えて、プロセス制御環境内の特定の制御（入力及び出力を含む）機能を果たすのに使用される他の論理ユニットであってもよい。
【００６３】  一般的に言えば、上記の何れも、又はどのような他のチューニング方法も、プロセス制御システム内のコントローラのためのチューニングパラメータのセットを生成するのに使用し得る。しかしながら、例えばもしそれらが所望のロバスト特性を有するプロセス制御ループをもたらさないなら、チューニングパラメータの生成したセットは、満足できるものではない。幾つかの公知のチューニング処理は、結果として得られる制御ループに対するフェーズマージンと利得マージンのようなロバスト特性を計算し、このループをロバスト性マップ内の点としてプロットするが、ユーザはロバスト特性の所望のセットを特定し、所望のロバスト特性を有する制御ループをもたらす決定されたチューニングパラメータのセットを自動的に有することができない。
【００６４】  図６を参照すれば、プロセシングデバイス１０２（これは、図１のホスト又はワークステーション１４の一つであり得る）に格納され得るルーチン１００は、そのコントローラのためのチューニングパラメータの決定されたセットを有するプロセス制御ループをシュミレートし、その制御ループのためのロバスト性マップを生成し、及びユーザがそのロバスト性マップ内の点を選択することによりその制御ループのためのチューニングパラメータの更なるセットを生成することを可能としている。図６に示されているプロセス制御システムはプロセッサ１０２（関連するメモリを有している）と、次にフィールドデバイス４３，４４及び４５（図１）に接続されるコントローラ１２に接続されているユーザインターフェイス１０３とを含んでいるが、ルーチン１００は、分散された又は集中された制御機能を有する他のどのようなプロセス制御システムに於いても使用され得る。更に、ルーチン１００は、チューニングコントローラ７１及び関連する自動チューニングブロック（図示せず）のようなチューニングコントローラと共に使用され得、又はチューニングルーチンとは別に及び離れて使用され得る。
【００６５】  上述のように、ルーチン１００は自動チューニング処理に於ける更なる制御を提供し、特に、ユーザが制御ループに対して所望のロバスト特性を選択し、少なくとも大凡、自動的に決定される所望のロバスト特性を有するループを結果として生ずるチューニングパラメータを有することを可能とする。もし、自動チューニングとともに使用されたなら、ルーチン１００は、自動チューニング処理によって決定されたプロセス制御システムに対するチューニングパラメータのセットの応答をユーザがシュミレートするのを可能とし、次に、所望のロバスト特性に基づいてこれらのチューニングパラメータを変更するのを可能とする。
【００６６】  特に、ルーチン１００は、プロセス特性化ルーチン（例えば、図２〜４のブロック６６）により、又はプロセスをシュミレートするための他のプロセス特性化ルーチンにより決定されたプロセスパラメータを使用し得、そして、自動チューニングコントローラ７１によって例えばセットポイントの変更のようなステップ状又はインパルス入力に応答してコントローラによってプロセスの応答をシュミレートするために決定されたチューニングパラメータを有する、そのタイプの又はユーザによって選択されたコントローラ（例えば、ＰＩＤ、ＰＩ、ファジー論理等）を使用し得る。ルーチン１００は、次に、図６のプロセス変数出力ＰＶ、セットポイントＳＰ及びコントローラ出力ＯＵＴが時間に対してプロットされ、図６の右側に示されているように、例えばそのループのオーバーシュート、振動、応答時間等が示されている。図６のシミュレーションプロットは、外乱に対するプロセス制御ループの応答を示しているが、その代わりに、（図７の表示に於いて実行されているような）セットポイントに於ける変化に対する、又は他の所望の変化に対する応答を示すこともできる。図６に示すように、プロット又は表示はまた、シミュレーションプロットが生成されているコントローラのための（利得、リセット、速度等のような）チューニングパラメータも示し得る。
【００６７】  また、ルーチン１００は、図７に示されているロバスト性マップ１０７のようなロバスト性マップ又はプロットを表示し得る。図７は、図７の表示がセットポイントに於ける変化に対するシュミレーションを示していることと、プロセス制御ループに対するフェーズマージン（ｙ軸）対利得マージン（ｘ軸）をプロットするロバスト性マップ１０６を含んでいることとを除いて、図６と同様である。
【００６８】  安定領域１０７（即ち、制御ループが安定している領域）が、クロスハッチングによりロバスト性マップ１０６に示されているが、安定領域（又はユーザが関心を持つ領域）を示す他の所望の方法をこれに代えて使用することもできる。例えば、ロバスト性マップ１０６は、異なる色、濃淡等を使用して、安定及び不安定な様々な領域を示すことができる。また、図７のロバスト性マップ１０６は、シュミレートされている制御ループ（これは、表示されているチューニングパラメータを有する）のロバスト特性を、ロバスト性マップの点として示す。このような点は、図７に三角形で１９４として示されている。
【００６９】  本発明によれば、ルーチン１００は、選択されたコントローラのチューニングで使用するためのパラメータの複数のセットと、ロバスト性マップ１０６内の安定領域１０７を生成し確認するためにこれらのチューニングパラメータを使用してチューニングされているコントローラを有する制御ループの対応するロバスト特性とを決定する。その後、ルーチン１００は、ユーザが、ロバスト性マップ１０６上で点を選択し、その選択された点とロバスト性マップ１０６の他の点に対する格納されたチューニングパラメータとから、選択された点に関連するロバスト特性を有する制御ループをもたらす選択されたタイプのコントローラを生成するであろうチューニングパラメータの更なるセットを決定することを可能とする。ルーチン１００は、次に、ユーザがこの新たなコントローラの特性を見ることができるように、チューニングパラメータの新たなセットを使用するシュミレーションを実行する。このようなシュミレーションは、図６及び図７の表示のシュミレートされた応答の選択のセクション内に示されている。ユーザは、次に、チューニングパラメータの新たなセットを決定するためのロバスト性マップ１０６内の点を選択することと、新たに決定されたチューニングパラメータを使用してチューニングされたコントローラ（又は制御ループ）のシュミレートを見ることとのステップを、ユーザがロバスト性及び応答特性の最良の混合を有する制御ループを提供するチューニングパラメータのセットを得るまで、繰り返す。このような方法で、ユーザは、ユーザの要望に最適のチューニングパラメータのセットを、多くの試行錯誤を行うことなく、使用するチューニングパラメータのセットと推測されるチューニングパラメータのセットを素早く容易に選択し得る。
【００７０】  図８は、プロセス制御ループのためのチューニングパラメータのセットを選択するために、ロバスト性マップを生成し及び使用するのに用いられるステップの一般的なフローチャート１１０を示している。第１のステップ１２０では、ユーザは、図１〜５の自動チューナに関連して上記で議論した処理の何れかのようなプロセス特性化処理を実行する。もちろん、ホストデバイス、コントローラ又はフィールドデバイスによって全てのアクティビティが実行される集中化され又は標準化された制御システムと同様に、ここに記載したように、分散された制御システムで使用され得るルーチン１００が使用されることが注目されるであろう。これらの場合の何れに於いても、ルーチン１００は、例えば自動チューニング又は他の処理のプロセス特性化フェーズの間に決定されるプロセスパラメータにアクセスすることのみを必要とする。ステップ１２２では、ユーザは、プロセスを制御するのに使用されるべきコントローラ又は制御ルーチンの構造を選択する。ステップ１２２は、このセクションがロバスト性マップの生成に先立って何れの時に於いても起こり得ることを示すために波線のレリーフで示されており、従って、プロセス特性が決定される前に実行され得る。一実施形態では、ルーチン１００は、プロセス特性が決定される自動チューニング処理内でシステムによって使用されているコントローラの構造を使用しない。ここに記載の実施形態では、ここに記載した技術は他のタイプのプロセス及び／又はコントローラにを使用するときにも適用し得るけれども、一次プラスデッドタイムプロセス（a first order plus deadtime process）を制御するために、ＰＩＤタイプのコントローラが使用されるであろうことが推測されるであろう。もちろん、ＰＩＤコントローラは、比例（Ｐ）、積分（Ｉ）若しくは微分（Ｄ）、又はこれらの組合せ、ＰＩ、ＰＤ、ＩＤ若しくはＰＩＤコントローラのような、多くの異なる構造の何れの他のタイプの一つをも対象とし得る。これらのコントローラの何れかは、所望の又は公知の形式の何れでもあり得る。しかしながら、よく知られているように、微分のみの（Ｄ）コントローラの使用は、プロセス制御システムでは珍しい。
【００７１】  一般的に言えば、ＰＩＤ制御アルゴリズムは、プロセス変数を制御するためのプロセス変数ｐｖ及びセットポイントｓｐ上で動作する、比例、積分及び微分動作の重み付けられた組合せを使用するフィードバック制御アルゴリズムである。比例、積分及び微分動作のそれぞれは、チューニング可能な重み付けファクターを有している。ＰＩＤ制御アルゴリズムの一般的な形式は、数学的に以下のように記述される：  Ｏｕｔ(ｔ)＝Ｋｐ・ｐ(ｔ)＋(１／Ｔｉ)・∫ｅ(ｔ)ｄｔ＋Ｔｄ・ｄ'(ｔ)ここで、Ｏｕｔ(ｔ)は、制御アルゴリズムの出力、          Ｋｐは、比例動作の重み付けファクター、          ｐ(ｔ)は、比例動作が適用される変数、          ｅ(ｔ)は、ｅ(ｔ)＝ｓｐ(ｔ)−ｐｖ(ｔ)として計算される誤差、          Ｔｉは、積分動作の重み付けファクターの逆数、          ｄ(ｔ)は、微分動作が適用される変数、          ｄ'(ｔ)は、ｄ(ｔ)の時間に関する微分、及び          Ｔｄは、微分動作の重み付けファクターである。
【００７２】  ｐ(t)は以下のようにして計算される：    ｐ(t)＝ｂ・ｓｐ(ｔ)−ｐｖ(ｔ)ここで、ｓｐ(ｔ)は、制御アルゴリズムのセットポイント又はターゲット動作ポイント、        ｐｖ(ｔ)は、プロセス変数又は測定された変数、及び        ｂは、セットポイントに適用される比例動作を決定する重み付けファクター（通常はゼロと１との間に束縛される）である。
【００７３】  同様に、ｄ(ｔ)は以下のようにして計算される：    ｄ(ｔ)＝ｇ・ｓｐ(ｔ)−ｐｖ(ｔ)ここで、ｇは、セットポイントに適用されるであろう微分動作を決定する重み付けファクター（通常はゼロと１との間に束縛される）である。
【００７４】  もちろん、ＰＩＤ制御アルゴリズムは、異なる形式を使用して実行され得、そして、ロバスト特性に基づくＰＩＤ制御アルゴリズムに対するチューニングファクターの決定は、比例、積分又は微分動作のどのような組合せをも採用する何れのＰＩＤ又はＰＩＤ制御アルゴリズムのサブセットを使用しても、適用し得る。異なる形式のＰＩＤ制御アルゴリズムの例は：  Ｏｕｔ(ｔ)＝Ｋｐ・（ｐ(ｔ)＋(１／Ｔｉ)・∫ｅ(ｔ)ｄｔ＋Ｔｄ・ｄ'(ｔ)）である。この場合には、比例重み付けファクターＫｐは、ＰＩＤコントローラの全ての項に適用される。同様に、ＰＩＤアルゴリズムは、どの項が採用されるかを特異的に決定するように構成又は実行され、ＰＩＤコントローラのサブセットを効率的に生成する。このようなＰＩＤのサブセット又は構造の例は：  Ｐ＋Ｄ  −比例及び微分の項のみが採用される、  Ｐ＋Ｉ  −比例及び積分の項のみが採用される、  Ｉ＋Ｄ  −積分及び微分の項のみが採用される、  Ｐ      −比例の項のみが採用される、  Ｉ      −積分の項のみが採用される、及びである。使用されるべきＰＩＤ構造の選択は、重み付けファクターｂ及びｇの設定を決定する。もちろん、ＰＩＤ入力ｓｐ(ｔ)及びｐｖ(ｔ)はまた、種々の数学的な方法を使用してフィルタをかけることができ、ＰＩＤ動作が適用される変数の修飾をもたらす。
【００７５】  図８を再び参照すれば、ＰＩＤ（又は他のコントローラ）の形式と構造とが決定された後、ブロック１２４は、ＰＩＤ又は他の制御アルゴリズムのチューニングに於いて使用するためのチューニングパラメータのセットを決定する。もちろん、これらのチューニングパラメータは、ここに記載したチューニングコントローラ７１を用いるなどのどのような所望の方法によっても決定され得る。これらのチューニングパラメータは、図６に示されているようなユーザインターフェイス１０３上にユーザに提示され、ここには、利得（Ｋｐ）、リセット（Ｔｉ）及び速度（Ｔｄ）が示されている。このときに、ブロック１２６は、決定されたチューニングパラメータのセットに対するシュミレートアクティビティを選択するのを可能とする。例えば、シュミレートボタンがユーザインターフェイス上に表示され、ユーザはシュミレートされ決定されたチューニングパラメータを有するコントローラを使用して制御ループの動作を行うようにそのボタンを選択する。もちろん、ユーザは、シュミレートアクティビティをどのような方法によっても入力することができる。
【００７６】  シュミレートアクティビティが選択されたとき、ブロック１２８は、ステップ１２０で決定されたプロセス特性と、ステップ１２２で選択されたコントローラの形式及び構造と、ステップ１２４で決定されたチューニングパラメータとにより特性化されたプロセスを有するプロセス制御ループをシュミレートするシュミレートルーチンを実行する。シュミレートルーチン又はブロック１２８は、例えば、ステップ変化、インパルス変化又はコントローラ若しくはプロセス変数の一つに於けるセットポイントのような他の所望の変化に応答するプロセス制御ループをシュミレート所望の又は公知の式又は方法を使用し得る。ブロック１２８は、制御又はプロセス変数に於ける変化に応答して制御ループの動作を示すために図６及び７に記載されているようなプロットを生成し、又は他の所望の方法で制御ループの動作をシュミレートする。プロセス特性及びコントローラの形式及び構造は周知であり、ここで更に記載する必要はない。しかしながら、そこでチューニングされているコントローラを用いて制御ループをシュミレートする一つの好ましい方法は、そのプロセスと、決定されたチューニングパラメータのセットに従ってチューニングされているコントローラとに対して、改良されたＺ変形を使用して実行され得る。改良されたＺ変形の使用はこの技術分野で周知であり、例えば、Kuo著，”Ｄｉｇｉｔａｌ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ，”第２版（Saunders College Publishing (1992)）に開示されている。しかしながら、プロセス及びコントローラ（これは、使用されているコントローラ及びプロセスのタイプに依存する）についての離散（又は微分）方程式は、周知のように、制御ループをシュミレートするのに使用され得る。
【００７７】  次に、ユーザは、ブロック１２０で特性化されたプロセスを制御するために、決定されたチューニングパラメータに従ってチューニングされたコントローラを使用して生成された制御ループのロバスト性を選択し又は見ることができる。（もちろん、コントローラをチューニングするのに使用されるそのパラメータが、決定され及び格納されたチューニングパラメータから直接計算される限り、決定されたチューニングパラメータは、コントローラのチューニングに実際に使用されるパラメータとは異なっている）。ブロック１３０は、以後に記載する方法で、図７のマップ１０６のようなロバスト性マップ又はプロットを生成する。ロバスト性マップは、フェーズマージン対利得マージンを示すプロットの形式を採り得るが、デッドタイムマージン、動的マージン（以後に述べる）、又は安定性のどのような測定等の他のロバスト特性又は測定も、同様に使用され得る。また、ロバスト性マップは、所望なら、たった一つのロバスト特性又は３つ若しくはそれ以上のロバスト特性をプロットし得る。公知のように、フェーズマージンは、制御ループが不安定になる前にプロセス又はコントローラに加えられ得るデッドタイム又はフェーズの量であり、一方、利得マージンは、制御ループが不安定になる前に使用され得る最大利得の、制御ループ（これは、プロセス利得と同様にコントローラ利得を含んでいる）の現在の利得に対する比率である。一般的に言えば、ブロック１３０は、ロバスト特性の重要な範囲（これはライン又は領域であり得る）を決定し、これは、ロバスト性マップで表示するための安定な制御ループに導き、次に、ロバスト性マップの安定領域内の離れた点で、（ユーザによって選択されたコントローラ構造及び形式に対する）チューニングパラメータの多くのセットを反復的に計算する。決定されたチューニングパラメータは、次に、後に使用される制御ループのロバスト特性に関連して格納され得る。所望なら、ロバスト性点（及びこれらの点に関連するチューニングパラメータ）は、安定領域（即ち、ロバスト性マップ上に表示されているライン又は領域）内でのチューニングパラメータの挙動を記述する閉じた形式の方程式を生成するのに使用され得る。これに代えて、ロバスト性マップの点は、ロバスト性マップの安定領域の全体に亘って離れた位置で選択され得、これらの点に対するチューニングパラメータが決定され得る。選択されたロバスト特性の点（又はチューニングパラメータの点）は、規則正しく若しくは不規則に間隔が置かれ、又は他の所望のパターンで間隔が置かれる。
【００７８】  ブロック１３２で、制御ループのロバスト特性が決定され、そして、制御ループのロバスト特性がロバスト性マップ上に点としてプロットされる。決定されたチューニングパラメータのセットでチューニングされたコントローラを有する制御ループの（フェーズマージン及び利得マージンのような）ロバスト特性の計算は、この技術分野で周知であり、従ってここでは記載しない。次に、ブロック１３４は、（例えば、マウス、キーボード、ライトペン、タッチスクリーン等を使用して）所望のロバスト性点を例えば指し及びクリックしさもなければ他の選択点を選択することにより、ロバスト性マップ上の新たな点を、ユーザが選択することを可能とする。ブロック１３４は、次に、選択された点でのロバスト特性（例えば、選択された点でのフェーズマージン及び利得マージン）を決定する。
【００７９】  次に、ブロック１３６で、例えば、大凡の選択されたロバスト性を有する制御ループを生成するであろうチューニングパラメータを決定するために、チューニングパラメータがブロック１３０で計算した最も近いロバスト性の点の間を補完する所望の方法の何れかを使用することによって、選択された点のチューニングパラメータを計算する。もし補完が実行されなら、直線補完、面積補完等の所望の補完方法の何れかが使用される。これらの補完方法は、この技術分野で周知であり、従って、ここではこれ以上記載されない。しかしながら、一般的に言えば、補完は、ステップ１３０でチューニングパラメータが決定され及び格納されたロバスト性マップに於いて、２つ、４つ等の最も近い点を決定し、これらの点のそれぞれに対して決定された実際のチューニングパラメータにアクセスし、及び選択されたロバスト性点とチューニングパラメータが決定された最も近いロバスト性点との間の距離（面積等）に基づいてチューニングパラメータの間を補完することにより実行される。補完は、もしロバスト性マップに対する閉じた形式の方程式が決定されるなら、必ずしも必要ではなく、この場合には、閉じた形式の方程式は、選択されたロバスト特性を有するループをもたらすチューニングパラメータのセットを計算するのに使用される。
【００８０】 ロバスト性マップに於ける選択された点に対する新たなチューニングパラメータのセットが決定された後、ブロック１３８は、ブロック１２８が制御ループをシュミレートしたのと同様の方法で、これらの新たなチューニングパラメータを使用して、制御ループ又はコントローラをシュミレートし得る。次に、制御はブロック１３２に与えられ、そして、新たなチューニングパラメータを使用して制御ループの実際のロバスト性が決定され、ロバスト性マップ上にプロットされる。その後、ブロック１３４で、ユーザは新たなロバスト性の点を選択し、もし望むなら、ユーザがロバスト特性の最良のセットとシュミレーションルーチンによって決定されたようなプロセス制御特性を与えるチューニングパラメータのセットを見出すまで、ステップ１３６，１３８及び１３２を繰り返す。この処理は、ユーザが、所望のロバスト特性に基づいて選択された構造及び形式に対するどのような数のチューニングパラメータも素早く及び容易に決定し、並びにチューニングパラメータのセットのそれぞれを使用して生成されたコントローラの制御特性を見ることを可能とする。もちろん、もし選択されたチューニングパラメータの幾つかが不安定な又は安定性の限界の制御ループを生成するなら、これは、異なる色、プロット特性、点滅するライト、アラーム等を使用して、ロバスト性マップ上に表示される。
【００８１】  図８は、ユーザが、図式的なロバスト性マップを使用して所望のロバスト特性を選択することができるように記載されているが、キーボードを介して所望のロバスト特性を入力するような、他のどのようなロバスト特性の選択方法をも使用することができる。
【００８２】  図９を参照すれば、ルーチンあるいはフローチャート１５０が、図７のマップ１０６と同様のロバスト性マップを、図８のブロック１３０で生成するために実行され得るステップを示している。一般的に言えば、ルーチン１５０は、（関連するＰＩＤ入力フィルタリングパラメータを含む）ＰＩＤコントローラの形式及び構造と、確認されたプロセスパラメータ及びそのプロセスが積分プロセスであるか否か（これはユーザによって最初のロバスト性初期化が実行される前の何れかの時に特定されることができる）と、ロバスト性の初期化に先立って自動チューナ又はそれに続いてユーザによって入力されたＰＩＤチューニングパラメータと、ロバスト性マップを生成するためにユーザによって特定されたチューニング方法とを使用する。もちろん、ルーチン１５０は、ユーザインターフェイス、コントローラ又は他のプロセッサ及びメモリを有する所望のデバイスの何れかに関連するプロセッサ１０２に格納され及び実行され得る。ルーチン１５０は、例えば、自動チューニング処理、プロセス特性化処理又はここに記載したシュミレーション処理を実行するデバイスと同様のデバイス、又は異なるデバイスによって実行され得る。
【００８３】  ルーチン１５０のブロック１５２は、好ましくは、制御ループの複数のサンプルインターバルではないデッドタイムが正確に処理され得るように、確認されたプロセスパラメータを改良されたＺ変形の表現に変換する。タイムドメインからの改良されたＺ変形への変換（又はラプラス変換式）は、周知の技術を用いて行われ得、ここでは記載しない。しかしながら、もし望むなら、タイムドメイン又は周波数ドメイン方程式がその代わりに使用され得る。
【００８４】  ブロック１５４は、次に、例えば、ロバスト性マップを使用してプロットされるであろう積分及び微分の重み付けファクターの範囲を決定し、そして、これにより、ロバスト性マップ（即ち、安定な領域が、立体、面、ラインなど）の特性形式を決定する。もし、ロバスト性マップが立体なら、ある場合には、ｎ次元の立体であり得、ここで、ｎは３より大きい数字であり得る。一般的に言えば、ＰＩＤコントローラの構造は、ロバスト性マップの安定な領域の性質を決定する。例えばもし、コントローラの構造がＰ＋Ｄ又はＩ＋Ｄ又はＩなら、ロバスト性プロットに於ける安定な領域は、一般的にはラインとなるであろう。もし、コントローラの構造がＰ＋Ｉなら、ロバスト性プロットに於ける安定な領域は、一般的には面となるであろう。もし、コントローラの構造がＰ＋Ｉ＋Ｄなら、ロバスト性プロットに於ける安定な領域は、一般的には立体となるであろう。Ｐ＋Ｉ＋Ｄコントローラの構造の場合には、立体のスライスがルーチン１５０によって決定され、このスライスは、ロバスト性マップの理解と使用の容易化のために２次元プロットでプロットされ得る。しかしながら、もし望むなら、全体に亘る領域が、例えば、３次元プロット、多くの２次元プロット又は他の所望の技術を使用して、３次元でロバスト性マップに表示され得る。
【００８５】 ロバスト性マップで使用されるべき積分及び微分の重み付けファクターの範囲は、所望のどのような方法によっても決定され得る。例えば、これらの範囲は、ＰＩＤコントローラの構造及びプロセス特性に基づいて、設定若しくは予め決められ、ユーザによって入力され、又は計算され得る。一つのポール（pole）を有するデッドタイムプロセスについての、又はデッドタイムを有する積分プロセスについての積分及び微分の重み付けファクターを計算する一つの方法は、以下に与えられている。公知のように、プロセスに対するポール及びゼロは、その時間依存性が複素数（実数及び虚数成分を有する値）で一般的に表されなければならない伝達関数に言及している。この例は、（ラプラス表記では）ｎ次の多項式ａ０＋ａ１・ｓ１＋．．．．＋ａｎ・ｓｎの一般解である。このような多項式を分子又は分母の何れかに含む伝達関数は、複素数の又は実数のポール及びゼロを有し得る。直列形式のＰＩＤ（これは、上記で与えられる一般形式に常に変換され得る）については、以下の方法が使用でき、そこでは、ブロック１５４は、プロセスが積分プロセスであるか非積分プロセスであるかについての知識を使用する。
【００８６】  （１）もし、プロセスが積分プロセスであり、コントローラの構造がＰ＋Ｄであるなら、        積分重み付けファクター（１／Ｔｉ）をゼロに設定する        Ｔｄ＝ａ・ＤＴ  ここで、ＤＴは、プロセスのデッドタイム          ａは、チューニング可能な定数（好ましくは、約０．５の値を有している）ここで、微分重み付けファクターは定数に設定され、一般的な意味では、比例重み付けファクターは、ロバスト性マップが発現したときに変更することが許容される。この場合には、結果として得られるロバスト性マップの安定領域は、ラインである。しかしながら、もし望むなら、微分重み付けファクターは、結果として得られる面であるロバスト性マップ内の安定領域の２つの値の間の変化を許容し得る。しかしながら、Ｐ＋Ｄコントローラに於いては、微分成分は小さな又は大して重要でない役割しか果たしていないので、微分ファクターを定数（又はゼロ）に設定することは、数学的に又は計算的により容易である。
【００８７】  （２）もし、プロセスが積分プロセスであり、コントローラの構造がＰ＋Ｉ又はＰ＋Ｉ＋Ｄであるなら、      Ｔｄ＝ａ・ＤＴ（Ｐ＋Ｉコントローラについては、ａはゼロ）、      ＲＶ１Ｔｉ＝ｂ／積分利得、  ここで、ｂは、典型的には１０近傍の値を有するチューニング可能な定数、          Ｔｉは、Ｋｉの逆数、及び          ＲＶ１Ｔｉは、Ｔｉの範囲値１、      ＲＶ２Ｔｉ＝ｃ／積分利得、  ここで、ｃは、典型的には５近傍の値を有するチューニング可能な定数、及び          ＲＶ２Ｔｉは、Ｔｉの範囲値２、である  理解されるように、積分利得は、プロセス特性化ルーチンによって決定されるプロセス特性の一つである。ここで、Ｔｉの値は、これらのコントローラのそれぞれについての２つの範囲値ＲＶ１Ｔｉ及びＲＶ２Ｔｉの間で変化する。従って、これらの場合のそれぞれについて、ロバスト性マップの決定時に積分重み付けファクター及び比例付けファクターの両方とも変更することが許容されるので、ロバスト性プロットの安定領域は面である。微分重み付けファクターは、ＰＩＤコントローラ内で変更することが許容され、このことは、立体の安定領域をもたらす。しかしながら、２次元領域としての安定領域を表すために、そして、微分成分は通常、Ｐ＋Ｉ＋Ｄコントローラに対するチューニングパラメータの選択に於けるより小さな役割の故に、この実施形態では、微分重み付けファクターは定数値に設定されている。
【００８８】  一般的に言えば、積分だけ（Ｉ）のコントローラ又は微分だけ（Ｄ）のコントローラ又はＩ＋Ｄコントローラを積分プロセスに使用することは、意味のない又は不安定な制御を提供する。結果として、ユーザに積分プロセスに於けるコントローラ構造のこの選択は避けるべきであるということを告げるようにチェックが実行される。同様に、純粋な比例（Ｐ）コントローラは、微分及び積分重み付けファクターがゼロに設定されている場合に使用されることができ、比例重み付けファクターは、ロバスト特性に於ける変化を伴って変化するのが許容され、これは、ロバスト性マップ上にラインの安定領域をもたらす。
【００８９】  （３）もし、プロセスが非積分プロセスであり、コントローラ構造がＰ＋Ｄなら、        積分重み付けファクター（１／Ｔｉ）をゼロに設定する        Ｔｄ＝０である。再びここで、微分重み付けファクターはゼロ（又は別の定数）に設定され、一般的な意味に於いて、比例重み付けファクターは、ロバスト性マップが決定されたときに変更することが許容される。この場合には、結果として得られるロバスト性マップの安定領域は、ラインである。しかしながら、望むなら、微分重み付けファクターは、面であるロバスト性マップ内の安定領域を結果としてもたらす２つの値の間を変化することが許容される。しかしながら、微分成分は、殆どのＰ＋Ｄコントローラ内でほんの小さな役割しか演じていないので、微分重み付けファクターは定数に設定することは、数学的に又は計算的により容易である。
【００９０】  （４）もし、プロセスが非積分プロセスであり、コントローラ構造がＩ＋Ｄ又はＩであるなら、    Ｔｄ＝０である。ここで、Ｔｄはゼロ（又は別の定数）であり、安定領域はラインである。しかしながら、積分重み付けファクター（１／Ｔｉ）は変化することが許容され、そのマップについて選択されたロバスト特性の値に基づいて決定されるであろう。換言すれば、この場合のロバスト性マップ内の安定領域はラインなので、そして、比例重み付けファクターがゼロに設定されているので、例えば利得マージン又はフェーズマージンのようなロバスト特性の特定の値に対してただ一つの値が存在するであろうし、従って、Ｔｉはロバスト特性に於いて実行された変化に完全に依存するので、Ｔｉの変化に対する範囲を定義する必要がない。
【００９１】  （５）もし、プロセスが非積分プロセスであり、構造がＰ＋Ｉ又はＰ＋Ｉ＋Ｄであるなら、    ＲＶ１Ｔｉ＝Ｍａｘ（０．５・ＤＴ，τ）    ＲＶ２Ｔｉ＝ｆ１（ＤＴ，τ，ＲＶ１Ｔｉ）    ＲＶ１Ｔｄ＝Ｍｉｎ（０．５・ＤＴ，τ）    ＲＶ２Ｔｄ＝ｆ２（ＤＴ，ＲＶ１Ｔｄ）ここで、τは、プロセスの単一ポールの時定数表現である。
【００９２】  ｆ１及びｆ２関数は、デッドタイム、τのような一又はそれ以上のプロセス特性及び他の範囲値の関数として、オフラインで決定され得る。好ましい実施形態では、多くのシュミレーションが、ＤＴとτとの間の関係を決定するのに実行され、τは、（絶対誤差法の積分を用いて）最良の障害応答拒絶を生成するＴｉ及びＴｄの値を与える。この場合には、ｆ１（）及びｆ２（）項は、高い利得マージンについて、一次プラスデッドタイムの最小値又はその近傍での積分された絶対誤差を得るラインとして発見的に決定され、これらの値は、以下のように設定される：    ｆ１（）＝(0.1754+0.1・DT/(RV1Ti+DT))・(RV1Ti+DT)    ｆ２（）＝0.85・(RV1Td)しかしながら、Ｔｉ及びＴｄファクターの範囲値は、プロセス制御ループがロバスト性マップの生成に使用されるのに安定である通常の領域を提供する他のどのような方法によっても、決定されることができる。
【００９３】  理解されるように、これらの式から、コントローラ構造及びプロセスに基づいて、比例及び積分重み付けファクターのそれぞれの値の単一の値又は範囲が決定される。しかしながら、上記の式のＴｉ及びＴｄの範囲を決定するために提供される基本的な方法及び関数は特には関係しないことが理解されるであろう。その代わりに、究極的に有用（例えば安定な）結果をもたらすＴｉ及びＴｄの組合せに対するロバスト性マップの幾つかの領域を決定することは重要である。
【００９４】 ブロック１５４が微分及び積分重み付けファクターに対する範囲を決定した後、ブロック１５６はロバスト性マップのためのデータを生成する。ブロック１５６は、（利得マージンのような）ロバスト特性の一つを変更し、及び他のロバスト特性（例えばフェーズマージン）と、選択された利得マージンのそれぞれに於ける（比例重み付けファクターＫｐ若しくは最大フォーワードパス利得のような）チューニングパラメータを、必要ならばブロック１５４でそのために確立された範囲の間のＴｉ及びＴｄ値のそれぞれのセットに対して決定する反復的処理を実行し得る。このように、Ｔｉ及びＴｄ値は、選択された利得マージン間隔のそれぞれでロバスト性の多くの点を生成するために、選択された利得マージンのそれぞれに対して確立された範囲値の間で反復的に変化し得る。もちろん、Ｔｉ及びＴｄの何れかに対してただ一つの値が決定され、次に、この値は、特定の利得マージンに対してそれぞれの反復計算に使用されるであろう。もし、この範囲がＴｉ及びＴｄ値の両方に対して提供されたなら、第１のそれは定数に保持され、２番目のものはその変数に対する２つの範囲の間をステップ状に変化する。その後、第１のそれはステップ状に変化し、第２のそれは再びその関連する範囲でステップ状に変化し、そして、第１の変数がその全範囲に亘って変化するまで続けられる。このプロセスは、利得マージン（又はフェーズマージン）の各選択された値に対して繰り返され得る。
【００９５】  このように、一実施形態では、利得マージンの範囲が選択され、この範囲が、１０，１００，１０００等の多くのステップに分割される。選択された利得マージンのそれぞれ、即ち、利得マージンの範囲内のステップのそれぞれについて、Ｔｉ及びＴｄ重み付けファクターのセットがこれらのファクターに対して選択された範囲の間で変化し、Ｔｉ、Ｔｄ及び利得マージンの各セットで、フェーズマージン及び比例利得重み付けファクターＫｐ（又は、それに代えて、Ｋｐファクターがその目的のために決定され得るチューニングパラメータである最大フォーワードパス利得）が計算され、格納される。Ｔｉ及びＴｄ重み付けファクターのうちの一方のみが２つの値の間を変化し、そして、他方がゼロ又は定数に設定されるとき、反復的な計算は、選択された利得マージン値のそれぞれで多くの点を有するロバスト性マップ内の面を生成する。しかし、もし、Ｔｉ及びＴｄ重み付けファクターの両方が２つの値の間を変化したら、もしこれらのファクターが異なる利得マージン値のそれぞれに対する２つの範囲の間を変化したら、立体が生成されるであろう。２次元のプロットを生成し、計算を節約するために、この立体のスライスが、Ｔｉ及びＴｄ重み付けファクターの一つを一定に保持するか、その代わりにＴｉ及びＴｄ値を互いに変化させることにより、ロバスト性マップ上に表示され得る。例えば、Ｔｉ及びＴｄ値の第１のセットは、Ｔｉ及びＴｄの範囲のそれぞれの最小値であり得る。しかしながら、Ｔｉ値を最初値に保持しＴｄ値をその最小値と最大値との間で変化させる代わりに、Ｔｉ及びＴｄ値の次にセット（同じ利得マージンについて）は、Ｔｉの最小値プラスＴｉの範囲の１０パーセント（又は他の所望のパーセント値）及びＴｄの最小値プラスＴｄの範囲の１０パーセント（又は他の所望のパーセント値）である。このような方法で、Ｔｉ及びＴｄ値が互いにそれらの範囲を交差して変化し、このことが、ロバスト性マップについて決定された点の数を減少させ、立体に代えてロバスト性マップの面内のロバスト性の点を計算する。
【００９６】  この技術分野の用語として知られているフェーズマージン及び最大フォーワードパス利得は、各反復の間に、以下のようにして計算され得る。Ｔｉ及びＴｄ値に対して同じか又は異なる（そして、これらの値に対して個別に又は互いに調整された）ステップサイズを使用して、上記（範囲値を含む）で計算された範囲値の間のＴｉ及びＴｄのそれぞれの組合せに対して、最大フォーワードパス利得が見出される。最大フォーワードパス利得を見出すために、ブロック１５６は最初に、Ｋｐ＝１でプロセスの静的利得＝１、ＰＩＤコントローラとプロセスの結合されたフェーズシフトが１８０度の、フェーズクロスオーバー周波数と呼ばれる周波数を見出す。この計算は、プロセス及びＰＩＤコントローラの周波数領域表現への改良されたＺ変形表現への変換と、ＰＩＤコントローラと確認されたプロセスとの結合されたフェーズシフトが１８０度となるまでその周波数の反復的な調整により実行され得る。この周波数では、制御ループが不安定になるであろう最大フォーワードパス利得は、以下のように計算され得る：  最大フォーワードパス利得＝１／(｜ＰＩＤ(ω１８０)｜・｜プロセス(ω１８０)｜)ここで、  ｜ＰＩＤ(ω１８０)｜は、フェーズクロスオーバー周波数に於けるＰＩＤコントローラの動的利得、  ｜プロセス(ω１８０)｜は、フェーズクロスオーバー周波数に於けるプロセスの動的利得であるプロセスの動的利得の計算は周知であり、ここではこれ以上述べない。
【００９７】  次に、最小利得マージンと最大利得マージンとの間の利得マージンのそれぞれについて、最小及び最大利得マージンを含めて、任意に又はユーザの責任で最小及び最大利得マージンの間の値を選択するのに使用されるステップサイズで、ブロック１５６はフェーズマージンを計算する。どのような利得マージン値で（そして現在使用されているＴｉ及びＴｄの値で）フェーズマージンを決定するために、ブロック１５６は、ＰＩＤコントローラとプロセスとの結合された利得が１である、利得クロスオーバー周波数と呼ばれる周波数を最初に見出す。利得クロスオーバー周波数は、先に言及した周波数領域表現を使用することにより、そして、結合された利得が１になるまで周波数を調整することにより、決定され得る。この場合には結合された利得は、最大フォーワードパス利得／利得マージンを含んでいる。結合された利得が１である周波数では、フェーズマージンは以下のようにして計算され得る：  フェーズマージン＝∠ＰＩＤ(ω１)＋∠プロセス(ω１)＋１８０ここで、  ∠ＰＩＤ(ω１)は、度で表した、利得クロスオーバー周波数でのＰＩＤコントローラのフェーズシフト  ∠プロセス(ω１)は、度で表した、利得クロスオーバー周波数でのプロセスのフェーズシフトである。典型的にいえば、∠ＰＩＤ(ω１)＋∠プロセス(ω１)の項は負の角度を与え、従って、フェーズマージンの計算は１８０度からこれらの角度を減算する。しかしながら、１８０度の適切な減算は、∠ＰＩＤ(ω１)＋∠プロセス(ω１)の項の一方又は両方が正である状態で実行されることを保証するように注意が払われなければならない。
【００９８】  一度、Ｔｉ、Ｔｄ及び利得マージンに対する最大フォーワードパス利得が見出されると、ロバスト性マップが描かれ得る。即ち、選択された利得マージン値のそれぞれについてＴｉ及びＴｄ値をそれらのそれぞれの範囲で変化させ、それぞれのＴｉ、Ｔｄ及び利得マージンの結合のそれぞれでフェーズマージン及び最大フォーワードパス利得を決定した後、ロバスト性マップのためのデータが決定され、ロバスト性マップが表示される。ロバスト性マップのそれぞれの点について格納された情報（即ち、Ｔｉ、Ｔｄ及び利得マージン）は、最大フォーワードパス利得及びフェーズマージンである。しかしながら、もし望むなら、比例利得（これは最大フォーワードパス利得値から直接計算することができる）が、最大フォーワードパス利得に加えて又はその代わりに格納され得る。
【００９９】 ロバスト性プロットが面なら、利得マージンのそれぞれの値に対する最大及び最小フェーズマージンが、例えば、利得マージンの値を有する格納された点のそれぞれの上の単純な最小／最大サーチ機能を使用して見つけられる。ロバスト性マップの垂直軸はフェーズマージンであり、種々の利得マージンでの最大フェーズマージンの最大値と、種々の利得マージンでの最小フェーズマージンの最小値とを含んでいるのが好ましい。種々の利得マージンでの最小フェーズマージンのセットは、例えば図７のライン１９０によって規定されるより安定性の低い境界であるラインを規定し、種々の利得マージンに対する最大のフェーズマージンのセットは、例えば図７のライン１９２によって規定されるより安定性の高い境界であるラインを規定する。これらのラインの間の面は、ＰＩＤコントローラのチューニングパラメータ（Ｔｉ、Ｔｄ及び最大フォーワードパス利得）が決定される点を含んでいる安定領域である。
【０１００】  最初に計算された又は現在活性なチューニングパラメータをロバスト性プロット上に置くために、これらのチューニングパラメータを有するコントローラを有するループに関連するフェーズマージン及び利得マージンは、どのような公知の技術を用いても決定される。計算されたフェーズマージン及び利得マージンは、ロバスト性プロット上のこれらのチューニングパラメータを表す記号を置くための座標である。このような点は、図７に△で１９４として示されている。
【０１０１】  もし望むなら、ルーチン１５０は、チューニングパラメータの最初のセット又はチューニングパラメータの選択されたセットに対するデッドタイムマージン及び動的マージンを計算してもよい。公知のように、デッドタイムマージンは、もし確認されたプロセスデッドタイムに適用されたなら制御ループが不安定（例えば、セグメントループが安定になる前に制御ループに加えられる付加的なデッドタイム）になるであろう乗数である。デッドタイムマージンは、フェーズマージン及び利得クロスオーバー周波数から直接計算され、この計算は、この技術分野で周知である。
【０１０２】  動的マージンは、ここで新しく作り出した概念であり、確認されたプロセス制御ループ（時定数及びデッドタイム、即ち、事実上のプロセスのポールとゼロプラスデッドタイム）の動的要素の全てに適用されるとき、動的要素のそれらの値に対してプロセス制御ループが不安定になる原因となる乗数である。チューニングパラメータの選択されたセットに対する動的マージンは、チューニングパラメータの選択されたセットに対する利得マージンとフェーズマージンとを見出すことにより、そして、次に利得クロスオーバー周波数でフェーズシフトが１８０度に達するまで、又は利得マージンが利得クロスオーバー周波数で１より小さくなるまで、動的要素に適用される乗数を反復的に調整することにより、計算される。これらの条件の何れか現れたときの乗数の値が、動的マージンである。ある場合には、特定のプロセス制御ループに関連する一又はそれ以上の動的マージンが存在し得る。
【０１０３】  もちろん、上記のように、ルーチン１００は、初期のチューニングパラメータの実行を何れかの公知の又は所望の技術を用いてシュミレートし得る。一度、ロバスト性マップが初期化され及び生成されると、確認されたプロセスパラメータ又はコントローラ構造が変更されない限り、ロバスト性マップは、そのループのために再び描かれる必要はない。
【０１０４】  シュミレーション処理の間、ユーザはロバスト性マップを使用してチューニングパラメータを選択し得る。例えば、ユーザは、テーブル領域（即ち、これに対してチューニングパラメータが決められる）内の点をクリックすることにより、ロバスト性マップからＰＩＤチューニングパラメータを選択し得る。もし、ロバスト性マップがラインなら、チューニングパラメータが存在する領域は、単にそのライン上である。ユーザがロバスト性マップ上をクリックしたとき、ルーチン１００は選択された点に関連するフェーズマージン及び利得マージンの座標を提供する。フェーズマージン及び利得マージンの座標は、上記のようにして格納されたチューニングパラメータからＰＩＤチューニングパラメータを計算する補完ルーチン１３６（図８）への入力として使用される。もちろん、補完法は、格納されている情報の量と、ロバスト性マップがラインであるか面であるかに依存して変化し得る。例えば、もし、ロバスト性マップがラインなら、補完技術は２点法であり、一方、ロバスト性マップが面なら、補完技術は４点法であり得る。もちろん、補完法は、線型又は非線型補完技術を使用し得る。補完の実行後、計算されたＰＩＤチューニングパラメータはユーザに表示され得る。上記したように、新たに選択されたチューニングパラメータと確認されたプロセスパラメータを使用するシュミレーションが次に実行され、ｐｖ（ｔ）、ｏｕｔ（ｔ）及びｓｐ（ｔ）の応答が、図６及び７に示されているように、これらの値対時間の傾向としてプロットされる。同様に、デッドタイムマージン及び動的マージンは、選択されたチューニングパラメータに対して計算されユーザに提供され得る。
【０１０５】  理解されるであろうように、シュミレーションの間、ルーチン１００は、ユーザによって選択されたＰＩＤコントローラ構造とプロセスの改良されたＺ変形の数学的に正確な表現を使用する。ユーザは、シュミレーションがトリガされたとき、その応答のタイプが必要なシュミレーション変数を変化させることによりシュミレーションされるように、ユーザ自身がシュミレートしようとするタイプの応答（セットポイント、外乱応答など）を選択する。シュミレーションの数学的出力は、制御ループのサンプリング間隔でのｓｐ（ｔ）、ｏｕｔ（ｔ）及びｐｖ（ｔ）である。これらの出力は、次に、シュミレートされた時間に対してプロットされ、図６及び７のような傾向プロットを提供する。シュミレートのトリガは、ロバスト性マップ内の点の選択により行われ得、これは、ユーザがシュミレートするコントローラを選択するために安定性特性を使用するのを可能とし、これにより、ユーザが、安定性（又はロバスト性）特性に基づいてチューニングパラメータを選択し、及び即座に選択されたチューニングパラメータに関連する制御応答を見ることを可能とする。ロバスト性マップとシュミレート可能性とを使用して、ユーザ自身が望む応答及び安定性特性をユーザが得るまで、ユーザは新たなチューニング点を選択し得る。
【０１０６】 ロバスト性マップがチューニングパラメータ（Ｔｄ及びＴｉ）の２つに対する範囲を決定することにより、そして、結果として得られるフェーズマージン及び最大フォーワードパス利得を計算するために利得マージンを変化させることにより生成されているとして記述されているが、フェーズマージン（又は他のロバスト特性）は変化し得、そして、利得マージンが計算され得る。同様に、チューニングパラメータの異なるそれに対する範囲は、Ｔｉ及びＴｄに代えて確立され得、そして、ロバスト特性の一つに於ける変化が一又はそれ以上のチューニングパラメータ及び他のロバスト特性を計算するのに使用される限り、また使用され得る。
【０１０７】  ここに記載したロバスト性プロット発生装置とシュミレーターは、例えばコントローラ、ユーザインターフェイス、又は他のプロセス制御装置内に格納されたソフトウエアで実装されるのが好ましいが、これらは、それに代えて又はそれに加えて、所望のハードウエア、ファームウエア等で実装される。もし、ソフトウエアで実装されるなら、本発明のロバスト性プロット発生装置とシュミレーターは、磁気ディスク、レーザディスク、光ディスク若しくは他の記録媒体、コンピュータ、コントローラ、フィールドデバイス等のＲＡＭ、ＲＯＭ等のコンピュータ読み取り可能なメモリに格納され得る。同様に、このソフトウエアは、例えば、電話回線、インターネット等の通信チャネル上を含む公知の又は所望の配送方法を介して、ユーザ又はデバイスに配送される。
【０１０８】  また、本発明のロバスト性プロット発生装置及びシュミレーターは、Ｆｉｅｌｄｂｕｓデバイスのセットを使用する脱集中化又は分散された方法でプロセス制御機能を実装するプロセス制御ネットワークに関連して詳細に記述されているが、本発明のロバスト性プロット発生装置及びシュミレーターは、２線式のバス及びアナログ及び／又はデジタル通信をサポートするプロトコル以外に依存するプロトコルを含む、フィールドデバイス及び通信プロトコルの他のタイプを使用して制御機能を実行するプロセス制御ネットワークにも使用され得ることが理解されるであろう。例えば、これらのデバイスは、ＨＡＲＴ、ＰＲＯＦＩＢＵＳ等の通信プロトコル又は他の現存し若しくは将来開発され得るどのような通信プロトコルにも従うデバイスを使用するどのようなプロセス制御ネットワークに於いても使用され得る。
【０１０９】  本発明は、例示のみを意図し本発明を限定するものではない特定の実施形態に基づいて記載されているが、本発明の精神及び範囲を逸脱することなく、変更、付加又は削除が、開示されている実施形態に対して行われ得ることが当業者に理解されるであろう。
【符号の説明】
【０１１０】１２  プロセスコントローラ１４  ワークステーション１６  ハブ１８  イーサネット（登録商標）接続１９  プロセス２０，２２  Ｉ／Ｏカード２６，２８  アナログフィールドデバイス３０，３２，３４，３６  フィールドデバイス３８  バス４５，４６，４８，５０  フィールドデバイス４２  バス４０  インターフェイスカード４２  Ｆｉｅｌｄｂｕｓワイヤ４３  トランスミッタ４４  ポジショナ／バルブ６２，６４  ＰＩＤ機能ブロック６７  制御要素コントローラ６８  データ収集ユニット６９  プロセス特性決定ユニット７０  通信ユニット７１  自動チューニングコントローラ８０  ベースアルゴリズム８２，８４  分岐ポイント９４  アルゴリズム９６  インターフェイス１０２  プロセッサ１０３  ユーザインターフェイス１０６，１０７  ロバスト性マップ１３６  補完ルーチン１５０  フローチャート１９０，１９２  ライン
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセス制御ループで使用されるコントローラのチューニングに使用するためのチューニングパラメータを決定するための方法であって、該方法が、  チューニングパラメータの複数のセット及び前記チューニングパラメータのセットのそれぞれに対する前記プロセス制御ループのロバスト特性に対する値を決定するステップを含む、前記プロセス制御ループのロバスト特性をプロットするロバスト性マップを生成するステップと、  ユーザが前記プロセス制御ループの前記ロバスト特性の更なる値に関連する前記ロバスト性マップ内の点を選択することを可能とするステップと、  前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用して、前記コントローラをチューニングするのに使用したときに前記プロセス制御ループが前記選択された点に関連するロバスト特性の大凡の更なる値を有するようにする更なるチューニングパラメータのセットを生成するステップと  を包含している方法。
【請求項２】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ロバスト性マップを生成するステップが、２つ又はそれ以上のロバスト特性をプロットするステップを包含し、前記決定するステップは、前記ロバスト特性の一つを範囲に亘って変化させるステップと、前記範囲内のロバスト特性の一つの選択された多くの値のそれぞれについてのチューニングパラメータのセットと前記ロバスト特性のもう一つの値とを決定するステップとを包含している方法。
【請求項３】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ロバスト性マップを生成するステップが、２つ又はそれ以上のロバスト特性をプロットするステップを包含し、前記決定するステップは、前記チューニングパラメータの一つに対するチューニングパラメータの範囲を確立するステップと、前記ロバスト特性の一つをロバスト特性の範囲に亘って変化させるステップと、前記ロバスト特性の範囲内の選択された第１の数の点のそれぞれに於いて前記チューニングパラメータの一つを前記チューニングパラメータの範囲に亘って変化させるステップと、前記ロバスト特性の範囲内の前記第１の数の選択された点のそれぞれに対する前記チューニングパラメータの範囲内の第２の数の点のそれぞれに対する第２のチューニングパラメータとロバスト特性の他の一つとを決定するステップとを包含している方法。
【請求項４】
請求項３記載のチューニングパラメータを決定するための方法であって、前記第２のチューニングパラメータを決定するステップが、前記第２のチューニングパラメータを最大フォーワードパス利得として決定するステップを包含している方法。
【請求項５】
請求項３記載のチューニングパラメータを決定するための方法であって、前記チューニングパラメータの一つを変化させるステップが、積分重み付けファクター又は微分重み付けファクターを前記チューニングパラメータの範囲に亘って変化させるステップを包含している方法。
【請求項６】
請求項１記載のチューニングパラメータを決定するための方法であって、前記決定されたチューニングパラメータの複数のセットの少なくとも２つを使用するステップが、前記決定されたチューニングパラメータの複数のセットの少なくとも２つの間を補完するステップを包含している方法。
【請求項７】
請求項１記載のチューニングパラメータを決定するための方法であって、前記更なるチューニングパラメータに従ってチューニングされたコントローラを使用するときに、前記プロセス制御ループをシュミレートするステップを更に包含している方法。
【請求項８】
請求項１記載のチューニングパラメータを決定するための方法であって、前記決定するステップが、前記ロバスト性マップ内の安定領域を定義するために、チューニングパラメータの複数のセットを定義するステップを含み、前記チューニングパラメータの第１の一つに対する第１の範囲を選択するステップと、前記チューニングパラメータの第２の一つに対する第２の範囲を選択するステップと、前記第１及び第２のチューニングパラメータを前記第１及び第２の範囲に亘って反復的に変化させて第１及び第２のチューニングパラメータの複数のセットを生成するステップと、前記第１及び第２のチューニングパラメータの複数のセットのそれぞれに対するロバスト特性のための値を決定するステップとを包含している方法。
【請求項９】
請求項１記載のチューニングパラメータを決定するための方法であって、前記更なるチューニングパラメータのセットに関連する動的マージンを決定するステップを更に包含している方法。
【請求項１０】
請求項１記載のチューニングパラメータを決定するための方法であって、前記ロバスト性マップを生成するステップが、フェーズマージン及び利得マージンをプロットするロバスト性マップを生成するステップを更に包含している方法。