Main Content

getPIDLoopResponse

PID コントローラーをもつシステムの閉ループ応答と開ループ応答

説明

response = getPIDLoopResponse(C,G,looptype) は、PID コントローラー C とプラント G で形成される制御ループの応答を返します。関数は、looptype 引数で指定される閉ループ、開ループ、コントローラーの動作、または外乱応答を返します。関数では次の制御アーキテクチャが仮定されます。

  • Cpid または pidstd コントローラー オブジェクト (1-DOF コントローラー) の場合:

  • Cpid2 または pidstd2 コントローラー オブジェクト (2-DOF コントローラー) の場合:

すべて折りたたむ

SISO プラント用の PI コントローラーを設計し、設定値追従と外乱の抑制についてその性能を調べます。設定値追従には "closed-loop" 応答を使用します。負荷外乱の抑制には "input-disturbance" を使用します。

G = tf(1,[1 1 1]);
C = pidtune(G,'PI');
Tref = getPIDLoopResponse(C,G,"closed-loop");
Tdist = getPIDLoopResponse(C,G,"input-disturbance");
step(Tref,Tdist)
legend("Reference Tracking","Disturbance Rejection")

抽出された応答を、整定時間とオーバーシュートの設計要件と比較することにより、調整コントローラーを検証します。

プラント用の自由度 2 (2-DOF) の PID コントローラーを設計し、設定値追従と外乱の抑制についてその性能を調べます。設定値追従には "closed-loop" 応答を使用します。負荷外乱の抑制には "input-disturbance" を使用します。

G = tf(1,[1 0.5 0.1]);
w0 = 1.5;
C = pidtune(G,'PID2',w0);
Tref = getPIDLoopResponse(C,G,"closed-loop");
Tdist = getPIDLoopResponse(C,G,"input-disturbance");
step(Tref,Tdist)
legend("Reference Tracking","Disturbance Rejection")

入力引数

すべて折りたたむ

PID コントローラー。PID コントローラー オブジェクト (pidpidstdpid2、または pidstd2) として指定します。

プラント。tfsszpkfrd モデル オブジェクトなどの SISO 動的システム モデルとして指定します。G が調整可能な要素や不確かさをもつ要素を伴ったモデルの場合 (genss モデルや uss モデルなど)、関数はモデルの現在の値またはノミナル値を使用します。

返すループ応答。string または文字ベクトルとして指定します。使用できるループ応答を次の表に示します。

応答1-DOF コントローラー2-DOF コントローラー説明
"open-loop"GC–GCy開ループのコントローラー プラント システムの応答。周波数領域設計に使用します。
設計仕様に、開ループのゲイン余裕および位相余裕など、ロバスト性の基準が含まれている場合に使用します。
"closed-loop"

GC1+GC (r から y へ)

GCr1GCy (r から y へ)

設定点でのステップ変化に対する閉ループのシステム応答。設計仕様に設定点の追従が含まれている場合に使用します。
"controller-effort"

C1+GC (r から u へ)

Cr1GCy (r から u へ)

設定点でのステップ変化に対する閉ループのコントローラー出力応答。設計が、コントローラーの飽和などの実際の制約で制限されている場合に使用します。
"input-disturbance"

G1+GC (d1 から y へ)

G1GCy (d1 から y へ)

負荷外乱 (プラント入力でのステップ外乱) に対する閉ループのシステム応答。設計仕様に入力外乱の抑制が含まれている場合に使用します。
"output-disturbance"

11+GC (d2 から y へ)

11GCy (d2 から y へ)

プラント出力でのステップ外乱に対する閉ループのシステム応答。モデル化誤差に対する感度を解析する場合に使用します。

出力引数

すべて折りたたむ

選択されたループ応答。状態空間 (ss) モデルまたは周波数応答データ (frd) モデルとして返されます。Gfrd モデルである場合、responseG と同じ周波数をもつ frd モデルです。そうでない場合、responsess モデルです。

バージョン履歴

R2019a で導入

参考

| | | |