getComponents
2-DOF PID コントローラーからの SISO 制御コンポーネントの抽出
説明
例
2-DOF PID コントローラーからの SISO コンポーネントの抽出
フィードフォワード構成、フィードバック構成およびフィルター構成のそれぞれを使用して、2-DOF PID コントローラーを SISO 制御コンポーネントに分解します。
まず、2-DOF PID コントローラーを取得します。この例では、プラント モデルを作成し、それに合わせて 2-DOF PID コントローラーを調整します。
G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'pidf2',1.5)
C2 = 1 s u = Kp (b*r-y) + Ki --- (r-y) + Kd -------- (c*r-y) s Tf*s+1 with Kp = 1.12, Ki = 0.23, Kd = 1.3, Tf = 0.122, b = 0.664, c = 0.0136 Continuous-time 2-DOF PIDF controller in parallel form.
C2
は 2 つの入力と 1 つの出力をもつ pid2
コントローラー オブジェクトです。フィードフォワード構成を使用して、C2
を SISO 制御コンポーネントに分解します。
[Cff,Xff] = getComponents(C2,'feedforward')
Cff = 1 s Kp + Ki * --- + Kd * -------- s Tf*s+1 with Kp = 1.12, Ki = 0.23, Kd = 1.3, Tf = 0.122 Continuous-time PIDF controller in parallel form. Xff = -10.898 (s+0.2838) ------------------ (s+8.181) Continuous-time zero/pole/gain model.
表示からわかるように、このコマンドは SISO PID コントローラー Cff
を pid
オブジェクトとして返します。フィードフォワード補償器 X
は zpk
オブジェクトとして返されます。
フィードバック構成を使用して C2
を分解します。この場合もまた、Cfb
は pid
コントローラー オブジェクト、フィードバック補償器 X
は zpk
モデルです。
[Cfb,Xfb] = getComponents(C2,'feedback');
フィルター構成を使用して C2
を分解します。ここでも、コンポーネントは SISO pid
コントローラーと、プレフィルターを表す zpk
モデルです。
[Cfr,Xfr] = getComponents(C2,'filter');
入力引数
C2
— 2-DOF PID コントローラー
pid2
オブジェクト | pidstd2
オブジェクト
分解対象の 2-DOF PID コントローラー。コントローラー オブジェクト pid2
または pidstd2
として指定します。
looptype
— ループ構造
'feedforward'
(既定値) | 'feedback'
| 'filter'
2-DOF コントローラーを分解するためのループ構造。'feedforward'
、'feedback'
または 'filter'
として指定します。これらは、以下に述べる制御構造とアーキテクチャに対応しています。
'feedforward'
—C
はエラー信号を入力とする通常の SISO PID コントローラーです。X
は次に示すフィードフォワード コントローラーです。C2
が連続時間の並列形式コントローラーである場合、コンポーネントは次の式で与えられます。次のコマンドは、フィードフォワード構成に合わせて r から y までの閉ループ システムを構成します。
T = G*(C+X)*feedback(1,G*C);
'feedback'
—C
はエラー信号を入力とする通常の SISO PID コントローラーです。X
は、次に示すような y から u へのフィードバック コントローラーです。C2
が連続時間の並列形式コントローラーである場合、コンポーネントは次の式で与えられます。次のコマンドは、フィードバック構成に合わせて r から y までの閉ループ システムを構成します。
T = G*C*feedback(1,G*(C+X));
'filter'
—X
は基準信号のプレフィルターです。C
は、次に示すような、フィルター処理された基準と出力との差を入力とする通常の SISO PID コントローラーです。C2
が連続時間の並列形式コントローラーである場合、コンポーネントは次の式で与えられます。次のコマンドは、フィルター構成に合わせて r から y までの閉ループ システムを構成します。
T = X*feedback(G*C,1);
上述の式は連続時間の並列形式コントローラーについてのものです。標準形式のコントローラーや離散時間のコントローラーは、類似の構成に分解できます。getComponents
コマンドは、すべての 2-DOF PID コントローラー オブジェクトで機能します。
出力引数
バージョン履歴
R2015b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)