Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

piddata

並列形式 PID コントローラーのアクセス係数

構文

[Kp,Ki,Kd,Tf] = piddata(sys)
[Kp,Ki,Kd,Tf,Ts] = piddata(sys)
[Kp,Ki,Kd,Tf,Ts] = piddata(sys,J1,...,JN)

説明

[Kp,Ki,Kd,Tf] = piddata(sys) は PID ゲイン KpKiKd、および動的システムの sys で表される、並列形式コントローラーのフィルター時定数 Tf を返します。

[Kp,Ki,Kd,Tf,Ts] = piddata(sys) はサンプル時間 Ts も返します。

[Kp,Ki,Kd,Tf,Ts] = piddata(sys,J1,...,JN) は、sys におけるエントリのサブセットのデータを抽出します。ここで、sys は動的システムの N 次元配列です。インデックス J は、抽出する配列エントリを指定します。

入力引数

sys

SISO 動的システムまたは SISO 動的システムの配列。syspid オブジェクトではない場合、それは並列 PID 形式で記述できる、有効な PID コントローラーを表現しなければなりません。

J

動的システムの配列 sys における N エントリの整数インデックス。たとえば、sys が、pid コントローラーの 4 行 5 列の (2 次元) 配列か、または PID コントローラーを表す動的システム モデルであるとします。次のコマンドは、配列のエントリ (2,3) のデータを抽出します。

[Kp,Ki,Kd,Tf,Ts] = piddata(sys,2,3);

出力引数

Kp

動的システム sys により表される並列形式 PID コントローラーの比例ゲイン

syspid コントローラー オブジェクトの場合、出力 KpsysKp 値と等しくなります。

syspid オブジェクトでない場合、Kpsys と等価な並列形式 PID コントローラーの比例ゲインとなります。

sys が動的システムの配列の場合、Kpsys と同じ次元の配列となります。

Ki

動的システム sys により表される並列形式 PID コントローラーの積分ゲイン

syspid コントローラー オブジェクトの場合、出力 KisysKi 値と等しくなります。

syspid オブジェクトではない場合、Kisys と等価な並列 PID コントローラーの積分ゲインとなります。

sys が動的システムの配列の場合、Kisys と同じ次元の配列となります。

Kd

動的システム sys により表される並列形式 PID コントローラーの微分ゲイン

syspid コントローラー オブジェクトの場合、出力 KdsysKd 値と等しくなります。

syspid オブジェクトではない場合、Kdsys と等価な並列 PID コントローラーの微分ゲインとなります。

sys が動的システムの配列の場合、Kdsys と同じ次元の配列となります。

Tf

動的システム sys により表される並列形式 PID コントローラーのフィルター時定数

syspid コントローラー オブジェクトの場合、出力 TfsysTf 値と等しくなります。

syspid オブジェクトでない場合、Tfsys と等価な並列形式 PID コントローラーのフィルター時定数となります。

sys が動的システムの配列の場合、Tfsys と同じ次元の配列となります。

Ts

動的システム sys のサンプル時間 Ts は常にスカラー値です。

並列形式 pid コントローラーから、比例、積分、微分ゲインとフィルター時定数を抽出します。

以下の pid オブジェクトの場合、

sys = pid(1,4,0.3,10);

以下を入力することで、sys からパラメーター値を抽出できます。

[Kp Ki Kd Tf] = piddata(sys);

等価の標準形式 PI コントローラーから、並列形式の比例ゲインおよび積分ゲインを抽出します。

以下のような標準形式 PI コントローラーの場合、

sys = pidstd(2,3);

以下を入力することで、等価な並列形式 PI コントローラーのゲインを抽出することができます。

[Kp Ki] = piddata(sys)

これらのコマンドは、以下の結果を返します。

Kp =

     2


Ki =

    0.6667

PID コントローラーを表す動的システムからパラメーターを抽出します。

動的システム

H(z)=(z0.5)(z0.6)(z1)(z+0.8)

微分フィルターをもつ離散時間 PID コントローラーを表します。並列形式 PID パラメーターを抽出するには、piddata を使用します。

H = zpk([0.5 0.6],[1,-0.8],1,0.1);  % sample time Ts = 0.1s
[Kp Ki Kd Tf Ts] = piddata(H);

関数 piddata は、IFormulaDFormula に既定の ForwardEuler 離散積分器の式を使用してパラメーター値を計算します。

PI コントローラーの配列からゲインを抽出します。

sys = pid(rand(2,3),rand(2,3)); % 2-by-3 array of PI controllers
[Kp Ki Kd Tf] = piddata(sys);

パラメーター KpKiKd、および Tf も、2 x 3 の配列です。

インデックス入力 J を使用して sys のサブセットのパラメーターを抽出します。

[Kp Ki Kd Tf] = piddata(sys,5);

ヒント

syspid コントローラー オブジェクトでない場合、piddataKpKiKd、および sys と等価な並列形式コントローラーのフィルター時定数 Tf を返します。

離散時間 sys の場合、piddata は等価な並列形式コントローラーのパラメーターを返します。このコントローラーは、ForwardEuler に設定された離散積分器の式 IFormulaDFormula をもちます。離散積分器の式の詳細は、pid のリファレンス ページを参照してください。

参考

| |

R2010b で導入