P-Onlyコントローラと同様に、比例-積分(PI)アルゴリズムはサンプル時間Tごとにコントローラ出力(CO)信号を計算し最終制御要素(バルブ、可変速ポンプなど)に送信します。 PIアルゴリズムから計算されたCOは、コントローラーのチューニングパラメーターとコントローラーエラーe(t)に影響されます。 このため、P-Onlyコントローラよりも調整が難しいが、3パラメータのPIDコントローラほど複雑ではない。
積分動作により、P-Onlyコントローラの大きな弱点であるオフセットを排除することができる。 このように、PI制御器は複雑さと能力のバランスがとれており、プロセス制御アプリケーションで最も広く使用されているアルゴリズムとなっている。
PI アルゴリズム
異なるベンダーが本質的に同じアルゴリズムを異なる形式で鋳造していますが、ここでは、従属、理想、連続、位置の形式としてさまざまに説明されているものを探ります:
Where.The PI Algorithm
PI Algorithm Where:
CO = コントローラ出力信号(ワイヤ出力)
CObias = コントローラバイアスまたはヌル値。
e(t) = SP – PVとして定義される現在のコントローラエラー
SP = セットポイント
PV = 測定されたプロセス変数(ワイヤ入力)
Kc = 調整パラメータであるコントローラゲイン
Ti = 調整パラメータであるリセット時間
等号右側の最初の2項はこの記事の上部で参照したP-Onlyコントローラと同一である。
コントローラの積分モードは、方程式の最後の項です。 その機能は、コントローラ誤差 e(t) を時間にわたって積分または連続的に合計することです。
リセット時間調整パラメータ Ti について知っておくべきいくつかの事柄:
▪ | 積分動作の影響を独立して調整できるように、積分項に別の重みが与えられます。 |
▪ | 分母にあるため、値が小さいほど大きな重みとなる(=? |
▪ | 時間の単位があるので、常に正になります。 |
比例項の機能
P-Onlyコントローラと同様に、PIコントローラの比例項Kc-e(t)は、各時間tにおけるコントローラ誤差e(t)の大きさに基づいてCObiasに加減される。 コントローラ誤差の過去の履歴と現在の軌跡は、比例項の計算に影響を与えません。
以下のプロット(クリックすると拡大表示)は、セットポイント応答に対するこの考えを示しています。 比例計算で使用される誤差はプロット上に示されています。
・時間t = 25分で、e(25) = 60-56 = 4
・時間t = 40分で、e(40) = 60-62 = -2
コントローラー誤差 e(t) = SP – PVと呼び、上記のようにPVおよびSPを別々のトレースとして捉えるのではなく、時間tにおける各ポイントのe(t)を計算しプロットすることが可能です。
以下 (クリックすると拡大表示されます) は、上記と同じデータですが、e(t) 自体のプロットとして再キャストされています。 上のプロットでは、最初の 10 分間は PV = SP = 50 ですが、下のエラー プロットでは、同じ時間帯で e(t) = 0 であることに注意してください。
積分項の機能
比例項がコントローラ計算時の e(t) の現在の大きさのみを考慮するのに対し、積分項は誤差の履歴、すなわち測定されたプロセス変数が時間とともにどのくらい設定点から離れたかを考慮します。 経時誤差の積分とは、コントローラを最初に自動に切り替えたときから、現在までのコントローラ誤差履歴をすべて合計することです。
コントローラ誤差はe(t)=SP – PVです。 下のプロット(クリックで拡大表示)では、誤差の積分和はSPとPVのトレース間の斜線部分として計算されます。
プロットの各ボックスには20の積分和(縦2×横10)があります。 斜線部に含まれる箱の数(端数も含む)を数えれば、誤差の積分値が計算できます。
つまり、PVがt=32付近で初めて設定点を横切ったとき、積分値は約135まで大きくなっているのです。 PIコントローラの積分項は次のように書きます。
計算を駆動するのはコントローラ誤差なので、次のようにコントローラ誤差プロットから状況を直接見ることができます (クリックすると拡大します):
それぞれの斜線部の積分は誤差と同じサインであることに注意してください。 積分値はコントローラを自動にしたときから蓄積されるので、e(t)が正であれば積分値は大きくなり、負であれば小さくなります。
プロット上の時間t=60分では、積分値は135 – 34 = 101となります。 応答はt = 90分でほぼ落ち着き、積分和はそのとき135 – 34 + 7 = 108です。
積分動作がオフセットを排除
前の文は、微妙ではあるが非常に重要な観察をしています。 応答は時間 t = 90 分にほぼ完了していますが、すべての誤差の積分和はゼロではありません。
この例では、積分和は最終値または残留値 108 を持ちます。 以前の記事で説明したように、P-only制御のほとんどのプロセスでは、通常の動作中にオフセットが発生します。 オフセットは、コントローラ誤差の持続値です (すなわち、定常状態で PV が SP と等しくない)。
P-Only コントローラから、CO が、そこから何かを加算または減算しない限り常に CObias に等しいことを認識します。 e(t) がゼロで安定していない場合、PV は SP と等しくならず、オフセットが発生します。
しかしながら、PI コントローラでは、
私たちは、誤差の総和が応答完了後に最終値または残差を持ちうることを知りました。 これは、e(t) がゼロであっても、CObias から加算または減算して最終的なコントローラ出力 CO を形成するものを持つことができることを意味するので、重要です。 COの変化は、PVがSPと等しくなったとき(e(t)=0のとき)、一定期間継続したときにのみ停止します。
その時点で、積分項は先ほど説明したように残留値を持つことができます。 この積分からの残留値は、CObiasに加えられるとき、本質的に、動作の新しいレベルに対応する新しい全体的なバイアス値を作成する。
PI 制御の課題
PI アルゴリズムの採用には課題があります:
▪9660> | 2 つの調整パラメータは互いに影響し合い、設計者がその影響をバランスする必要があります。 |
▪ | 積分項は、プロセス応答の振動またはローリング動作を増加させる傾向があります。 |
2 つの調整パラメータは互いに影響し合うため、「最適」調整値にたどり着くことは難しい場合があります。 コントローラーが複雑になるほど、設計とチューニングレシピの価値と重要性は高まります。
Bumpless Transfer 用コントローラーの初期化
何らかのコントローラーを手動モードから自動モードに切り替えるとき(開ループから閉ループ)、何も起こらないようにしたいものです。 つまり、切り替えによって、プロセスに影響を与えたり、プロセスを中断させたりするような急激な制御動作が発生しないようにしたいのです
。 また、セットポイントとコントローラバイアス値も、
▪SPを現在のPV
▪CObiasを現在のCO
に等しくすることで初期化します。
誤差の積分値がゼロに設定されていれば、現在のコントローラ出力に急激な変化をもたらすCObiasに加えるものも引くものもないでしょう。 セットポイントが測定されたプロセス変数に等しいため、COの変化を引き起こすような誤差は存在しません。 また、コントローラのバイアスが現在のCO値に設定されているため、デフォルトで現在の動作を維持できるようになっています。
このように、手動モードから自動モードに切り替えるときに、「バンプレス転送」が行われ、驚きのない状態になります。
リセット時間とリセット速度
ベンダーによって、制御アルゴリズムは微妙に異なります。 コントローラゲインではなく、比例帯を使用するものもあります。 また、リセット時間ではなく、リセットレートTrを使用するものもあります。 これらは単に互いの逆数です。
Tr = 1/Ti
調整パラメータがどのように表現されていても、PIアルゴリズムはすべて同じ能力を持っています。コントローラの設計とチューニングのための市販のソフトウェアは、自動的にこの問題に対処してくれます。
PIコントローラの実装
この記事では熱交換器、この記事では重力排水タンクに関するPIコントローラの設計、チューニング、実装を探究します。