Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

PID Controller ブロックを使用したアンチワインドアップ制御

この例では、アクチュエータが飽和した際にアンチワインドアップ方式を使用して PID コントローラーの積分動作によるワインドアップを防ぐ方法を示します。Simulink® の PID Controller ブロックには、2 つの組み込みアンチワインドアップ手法 (back-calculation および clamping) と、より複雑な産業上のシナリオを処理するためのトラッキング モードが備わっています。PID Controller ブロックがサポートしているいくつかの機能により、産業上の一般的なシナリオにおけるコントローラーのワインドアップという問題に対処できます。

制御対象のプラントは、むだ時間を含む飽和した 1 次プロセスです。

PID Controller ブロックは、Simulink® Control Design™ の PID 調整器を使用して、飽和を無視して調整されています。

制御対象のプラントは、以下によって記述されるむだ時間を含む 1 次プロセスです。

$$P(s)=\frac{1}{10s+1}e^{-2s}$

プラントの入力飽和限度が [-10, 10] であることがわかっています。これは、Plant Actuator というラベルの付いた Saturation ブロックで計算されています。Simulink の PID Controller ブロックには、2 つの組み込みアンチワインドアップ手法が備わっています。これにより、プラント入力飽和に関する入手可能な情報を得られるようになります。

アンチワインドアップを使用しない場合の性能

まず、PID Controller ブロックで飽和モデルが考慮されない場合の閉ループに対する飽和の効果を調べます。モデルをシミュレートすると、次のような結果が生成されます。次の図は、アンチワインドアップを使用しない場合の設定点と測定出力の比較を示しています。

次の図は、アンチワインドアップを使用しない場合のコントローラー出力と飽和入力を示しています。

これらの図では、入力飽和を使用してシステムを制御する場合に生じる 2 つの問題を強調しています。

  1. 設定点の値が 10 の場合、PID 制御信号は、アクチュエータの範囲外の約 36.29 で定常状態に達します。このため、制御信号の増加がシステム出力に影響しない ("ワインドアップ" として知られている状況) ような非線形領域でコントローラーが動作します。プラントの DC ゲインは 1 であることに注意してください。したがって、アクチュエータの範囲外の定常値をコントローラー出力がもつ必要はありません。

  2. 設定点の値が 5 になると、PID コントローラー出力がアクチュエータの範囲内に戻るまでにかなりの遅れが生じます。

飽和の影響を知ることができるように PID コントローラーを設計すると、PID コントローラーはほとんどの時間を線形領域で動作するため非線形性からすぐに回復できるようになり、性能が向上します。これは、アンチワインドアップ メカニズムを使用して実現できます。

逆算に基づくアンチワインドアップ向けのブロックの構成

逆算アンチワインドアップ手法では、コントローラーが指定飽和限度に達して非線形動作に入ったときに、フィードバック ループを使用して PID Controller ブロックの内部積分器のワインドアップを解消します。アンチワインドアップを有効にするには、ブロックのダイアログで [出力の飽和] タブに移動します。[出力を制限する] を選択し、プラントの飽和限度を入力します。次に、[アンチワインドアップ手法] のリストから back-calculation を選択します。その後、[逆算係数 (Kb)] を指定します。このゲインの逆数は、アンチワインドアップ ループの時定数です。この例では、逆算ゲインとして 1 が選択されます。この値の選択方法に関する詳細については、[1] を参照してください。

逆算が有効になると、積分器の出力のワインドアップを解消する内部トラッキング ループをブロックがもちます。次の図は、逆算を使用した PID Controller ブロックのマスク内表示を示しています。

PID 制御信号がどれだけ素早く線形領域に戻り、ループがどれくらい速く飽和から回復するかに注意してください。

[出力を制限する] が有効になっているため、コントローラー出力 u(t) と飽和入力 SAT(u) が互いに一致しています。

この図では、アンチワインドアップの効果をよく理解できるように、アンチワインドアップを使用した場合と使用しなかった場合のプラント測定出力 y(t) を示しています。

積分器固定に基づくアンチワインドアップ向けのブロックの構成

別の一般的なアンチワインドアップ手法として、条件付き積分に基づく方法もあります。アンチワインドアップを有効にするには、[ブロック パラメーター] ダイアログ ボックスで [飽和] タブを選択します。[出力を制限する] を選択し、プラントの飽和限度を入力します。次に、[アンチワインドアップ手法] のリストから [固定] を選択します。

次の図は、固定を使用した場合の設定点と測定出力の比較を示しています。

次の図は、[出力を制限する] が有効になっているため、コントローラー出力 u(t) と飽和入力 SAT(u) が互いに一致することを示しています。

固定を使用する場合の詳細については、[1] を参照してください。

トラッキング モードを使用した複雑なアンチワインドアップ シナリオの処理

これまでに説明したアンチワインドアップ手法では、ブロックのダイアログを介してブロックに提供される飽和情報を処理するために組み込みの方法に頼ります。これらの組み込みの方法が正しく機能するには、以下の 2 つの条件を満たさなければなりません。

  1. プラントの飽和限度がわかっており、それをブロックのダイアログに入力できる。

  2. PID Controller ブロックの出力信号がアクチュエータに送られる唯一の信号である。

これらの条件は、一般的なアンチワインドアップ シナリオを処理する場合には制限されることがあります。PID Controller ブロックにはトラッキング モードが備わっており、逆算アンチワインドアップ ループを外部で設定できるようになっています。次の 2 つの例では、アンチワインドアップを目的としてトラッキング モードを使用する方法を示します。

  1. カスケード ダイナミクスを含む飽和アクチュエータ向けのアンチワインドアップ

  2. フィードフォワードを使用した PID 制御向けのアンチワインドアップ

カスケード ダイナミクスを含む飽和アクチュエータ向けのアンチワインドアップ方式の構築

sldemo_antiwindupactuator では、アクチュエータのダイナミクスが複雑になっています。ダイナミクスが複雑になるのは、アクチュエータが独自の閉ループ ダイナミクスをもつ場合によくあることです。PID コントローラーは外側のループにあり、アクチュエータのダイナミクスを内側のループとして認識します。これは、カスケード飽和ダイナミクスとも呼ばれます。

アンチワインドアップ手法が正しく機能するには、アクチュエータ出力を PID Controller ブロックのトラッキング端子にフィードバックしなければなりません。PID Controller ブロックの tracking mode を構成するには、[ブロック パラメーター] ダイアログ ボックスで [初期化] タブをクリックします。[トラッキング モードを有効にする] を選択し、ゲイン Kt を指定します。このゲインの逆数は、トラッキング ループの時定数です。このゲインを選択する方法の詳細については、[1] を参照してください。

プラントの測定出力 y(t) とコントローラー出力 u(t) が設定点の変化に対してほとんど即座に応答しています。アンチワインドアップ メカニズムがないと、これらの応答は大幅に遅れます。

フィードフォワードを使用した PID 制御向けのアンチワインドアップ方式

別の一般的な制御設定では、PID 制御信号とフィードフォワード制御信号の組み合わせである制御信号をアクチュエータが受信します。モデル sldemo_antiwindupfeedforward を開きます。

逆算アンチワインドアップ ループを正確に作成するには、トラッキング信号によってフィードフォワード信号の影響を低減しなければなりません。このアクションにより、PID Controller ブロックが、アクチュエータに適用された有効な制御信号の持分を認識できるようになります。

プラントの DC ゲインが 1 であるため、ここではフィードフォワードのゲインは 1 です。

プラントの測定出力 y(t) とコントローラー出力 u(t) が設定点の変化に対してほとんど即座に応答しています。設定点の値が 10 の場合、コントローラー出力 u(t) がアクチュエータの範囲内に収まるまで下がることに注意してください。

設定点の値が 10 の場合、コントローラー出力 u(t) がアクチュエータの範囲内に収まるまで下がることに注意してください。

次の図は、アンチワインドアップを使用した場合の PID コントローラー出力とフィード フォワード入力を示しています。

参照

[1] Åström, Karl J., and Tore Hägglund. Advanced PID Control. Triangle Park, NC: International Society of Automation, 2006.

参考

関連するトピック