Main Content

make2DOF

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

説明

C2 = make2DOF(C1) は、1 自由度の PID コントローラー C1 を 2 自由度に変換します。2-DOF コントローラーの設定点の重み b および c は 1 で、他の PID 係数は変更されません。

C2 = make2DOF(C1,b) は、比例項での設定点の重みを指定します。

C2 = make2DOF(C1,b,c) は、比例項と微分項両方での設定点の重みを指定します。

すべて折りたたむ

プラントの 1-DOF PID コントローラーを設計します。

G = tf(1,[1 0.5 0.1]);
C1 = pidtune(G,'pidf',1.5)
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.

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

C2 = make2DOF(C1)
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 = 1, c = 1
 
Continuous-time 2-DOF PIDF controller in parallel form.

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

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

MATLAB figure

C1 を、b および c の値が異なる 2-DOF コントローラーに変換します。

C2_2 = make2DOF(C1,0.5,0.75)
C2_2 =
 
                       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.5, c = 0.75
 
Continuous-time 2-DOF PIDF controller in parallel form.

PID ゲインとフィルター定数は変更されないままですが、設定点の重みによって閉ループ応答は変更されます。

CM_2 = tf(C2_2);
T2_2 = CM_2(1)*feedback(G,-CM_2(2));
stepplot(T1,T2_2,'r--')

MATLAB figure

入力引数

すべて折りたたむ

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

比例項での設定点の重み。非負で有限の実数値として指定します。b を指定しない場合、C2 では b = 1 となります。

微分項での設定点の重み。非負で有限の実数値として指定します。c を指定しない場合、C2 では c = 1 となります。

出力引数

すべて折りたたむ

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

たとえば、C1 が連続時間の並列形式 pid コントローラーであり、次の形式を取るとします。

C1=Kp+Kis+KdsTfs+1.

この場合、C2 は、2 つの入力と 1 つの出力をもつ並列形式の 2-DOF pid2 コントローラーとなります。C2 の入力 r および y と出力 u との間の関係は、次の式で与えられます。

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

PID ゲイン KpKiKd とフィルター時定数 Tf は変更されません。設定点の重み b および c は、入力引数 b および c で指定されるか、または既定で 1 となります。2-DOF PID コントローラーについての詳細は、2 自由度 PID コントローラーを参照してください。

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

バージョン履歴

R2015b で導入