Main Content

make1DOF

2-DOF PID コントローラーの 1-DOF コントローラーへの変換

説明

C1 = make1DOF(C2) は、係数 b および c に依存する項を削除することにより、2 自由度の PID コントローラー C2 を 1 自由度に変換します。

すべて折りたたむ

プラントの 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.

コントローラーを 1 自由度に変換します。

C1 = make1DOF(C2)
C1 =
 
             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.

この新しいコントローラーの PID ゲインとフィルター定数は同じです。しかし、make1DOF が、設定点の重み b および c を含む項を削除します。したがって、プラント G を伴う閉ループにおいて、2-DOF コントローラー C2C1 と異なった閉ループ応答を出力します。

CM = tf(C2);
T2 = CM(1)*feedback(G,-CM(2));
T1 = feedback(G*C1,1);
stepplot(T2,T1,'r--')

入力引数

すべて折りたたむ

2-DOF PID コントローラー。pid2 オブジェクトまたは pidstd2 オブジェクトとして指定します。

出力引数

すべて折りたたむ

1-DOF PID コントローラー。pid オブジェクトまたは pidstd オブジェクトとしてとして返されます。C1 は、C2 が並列形式である場合は並列形式、C2 が標準形式である場合は標準形式となります。

たとえば、C2 が連続時間の並列形式 2-DOF pid2 コントローラーであるとします。C2 の入力 r および y と出力 u との間の関係は、次の式で与えられます。

u=Kp(bry)+Kis(ry)+KdsTfs+1(cry)

この場合、C1 は次の形式をもつ並列形式の 1-DOF pid コントローラーとなります。

C1=Kp+Kis+KdsTfs+1.

PID ゲイン Kp、Ki、Kd とフィルター時定数 Tf は変更されません。make1DOF は、設定点の重み b および c に依存する項を削除します。2-DOF PID コントローラーについての詳細は、2 自由度 PID コントローラーを参照してください。

変換ではまた、TsTimeUnitSampling GridIFormulaDFormula の各プロパティの値も保持されます。

バージョン履歴

R2015b で導入