Main Content

pidTuner

PID 調整のための PID 調整器を開く

説明

pidTuner(sys,type)PID 調整器アプリを起動し、プラント sys のためのタイプ type のコントローラーを設計します。

pidTuner(sys,Cbase) は、ベースライン コントローラー Cbase で PID 調整器を起動し、設計されたコントローラーとベースライン コントローラーの性能を比較できるようにします。Cbasepidpidstdpid2 または pidstd2 コントローラー オブジェクトである場合、PID 調整器は Cbase と同じ形式、タイプ、離散積分器の式をもつコントローラーを設計します。

pidTuner(sys) は並列型 PI コントローラーを設計します。

pidTuner により、1 の既定のプラントと 1 の比例 (P) コントローラーで PID 調整器が起動します。

すべて折りたたむ

この例では、並列形式 PIDF コントローラーを調整するためにコマンド ラインから PID 調整器を起動する方法を示します。

離散時間零点-極-ゲイン プラントを定義します。

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1);

PID 調整器を起動して並列形式 PIDF コントローラーを設計します。

pidTuner(Gd,'pidf')

この例では、標準形式 PIDF コントローラーを設計するために PID 調整器 を起動する方法を示します。

離散時間零点-極-ゲイン プラントを定義します。

Gc = zpk([],[-1 -1 -1],1);
Gd = c2d(Gc,0.1);

BackwardEuler 離散積分器の式を使用して標準形式ベースライン コントローラーを作成します。

Cbase = pidstd(1,2,3,4,'Ts',0.1,...
      'IFormula','BackwardEuler','DFormula','BackwardEuler')

PID 調整器アプリを起動します。

pidTuner(Gd,Cbase)

PID 調整器で、Cbase と同じ形式、タイプ、離散積分器の式をもつ Gd のコントローラーが設計されます。PID 調整器の [ベースラインを表示] チェック ボックスをクリックすると、比較のため、Cbase の応答プロットを、設計されたコントローラーの応答プロットで表示することができます。

入力引数

すべて折りたたむ

コントローラー設計のためのプラント モデル。次のいずれかとして指定します。

  • 任意の SISO LTI システム (sstfzpk、またはfrd 等)。

  • 任意の System Identification Toolbox™ SISO 線形モデル (idtf (System Identification Toolbox)idfrd (System Identification Toolbox)idgrey (System Identification Toolbox)idpoly (System Identification Toolbox)idproc (System Identification Toolbox) または idss (System Identification Toolbox))。

  • 連続時間モデルまたは離散時間モデル。

  • 安定、不安定、または積分。ただし、PID 制御下では、不安定な極をもつプラントを安定させることはできない場合があります。

  • 任意のタイプのむだ時間を含むモデル。ただし、長いむだ時間をもつプラントは、PID 制御下では十分な性能を出せない場合があります。

プラントが不安定な極をもっていて、sys が以下のいずれかである場合、

  • frd モデル

  • I/O 遅延に変換できない内部むだ時間をもつ ss モデル

その場合、プラント内の不安定な極の数を指定しなければなりません。これを行うには、PID 調整器を開いた後、[プラント] メニューで [インポート] を選択します。[線形システムのインポート] ダイアログ ボックスで、プロンプトに従って不安定な極の数を指定し、sys を再インポートします。

設計するコントローラーのコントローラー タイプ。文字ベクトルとして指定します。"コントローラー タイプ" という用語は、コントローラーの動作内に存在する項を示します。たとえば、PI コントローラーにあるのは比例項と積分項のみですが、PIDF コントローラーには比例項、積分器項、不完全微分項があります。type が取りうる値を以下にまとめます。これらのコントローラー タイプの詳細については、調整における PID コントローラー タイプを参照してください。

1-DOF コントローラー

  • 'P' — 比例のみ

  • 'I' — 積分のみ

  • 'PI' — 比例および積分

  • 'PD' — 比例および微分

  • 'PDF' — 微分項に 1 次フィルターをもつ比例および微分

  • 'PID' — 比例、積分および微分

  • 'PIDF' — 微分項に 1 次フィルターをもつ比例、積分および微分

2-DOF コントローラー

  • 'PI2' — 2-DOF の比例および積分

  • 'PD2' — 2-DOF の比例および微分

  • 'PDF2' — 微分項に 1 次フィルターをもつ 2-DOF の比例および微分

  • 'PID2' — 2-DOF の比例、積分および微分

  • 'PIDF2' — 微分項に 1 次フィルターをもつ 2-DOF の比例、積分および微分

2-DOF PID コントローラー一般についての詳細は、2 自由度 PID コントローラーを参照してください。

設定点の重みが固定された 2-DOF コントローラー

  • 'I-PD' — b = 0、c = 0 の 2-DOF PID

  • 'I-PDF' — b = 0、c = 0 の 2-DOF PIDF

  • 'ID-P' — b = 0、c = 1 の 2-DOF PID

  • 'IDF-P' — b = 0、c = 1 の 2-DOF PIDF

  • 'PI-D' — b = 1、c = 0 の 2-DOF PID

  • 'PI-DF' — b = 1、c = 0 の 2-DOF PIDF

設定点の重みが固定された 2-DOF PID コントローラーについての詳細は、調整における PID コントローラー タイプを参照してください。

コントローラー形式

type 入力を使用する場合、PID 調整器は並列形式でコントローラーを設計します。標準形式でコントローラーを設計する場合は、type の代わりに入力 Cbase を使用するか、または [形式] メニューから [標準] を選択します。並列形式と標準形式の詳細は、pidpidstd のリファレンス ページを参照してください。

sys がサンプル時間 Ts の離散時間モデルである場合、PID 調整器では ForwardEuler 離散積分器の式を使用して離散時間 pid のコントローラーを設計します。離散積分器の式が異なるコントローラーを設計するには、次のようにします。

  • 入力引数 Cbasetype の代わりに使用します。PID 調整器によって、コントローラー タイプ、形式および離散積分器の式をベースライン コントローラー Cbase から読み取ります。

  • PID 調整器で [オプション] をクリックして、[コントローラーのオプション] ダイアログ ボックスを開きます。[積分公式][微分公式] メニューから離散積分器の式を選択します。

離散積分器の式の詳細は、pidpidstd のリファレンス ページを参照してください。

ベースライン コントローラーを表す動的システムで、設計されたコントローラーの性能と Cbase の性能の比較を可能にします。

Cbasepid または pidstd オブジェクトである場合、PID 調整器はこれも使用して、設計されるコントローラーのタイプ、形式、離散積分器の式を構成します。設計されるコントローラーは以下のようになっています。

  • Cbase によって表されるタイプです。

  • Cbasepid コントローラー オブジェクトの場合は、並列形式コントローラーです。

  • Cbasepidstd コントローラー オブジェクトの場合は、標準形式コントローラーです。

  • Cbasepid2 コントローラー オブジェクトの場合は、並列形式 2-DOF コントローラーです。

  • Cbasepidstd2 コントローラー オブジェクトの場合は、標準形式 2-DOF コントローラーです。

  • Cbase として同じ IformulaDformula の値をもちます。IformulaDformula の詳細については、pidpidstd のリファレンス ページを参照してください。

Cbase が他の動的システムである場合、PID 調整器は並列形式 PI コントローラーを設計します。PID 調整器の起動後、[形式][タイプ] メニューを使用して、コントローラーの形式とタイプを変更することができます。

ヒント

  • type または Cbase で 1 自由度 (1-DOF) の PID コントローラーを指定した場合、pidTuner によって次の図に示すような単一フィードバック ループ用にコントローラーが設計されます。

  • type または Cbase で 2 自由度 (2-DOF) の PID コントローラーを指定した場合、pidTuner によって次の図のフィードバック ループのような 2-DOF コントローラーが設計されます。

  • PID 調整器は、60 度の既定のターゲット位相余裕をもち、自動的に PID ゲインを調整して性能 (応答時間) とロバスト性 (安定余裕) のバランスを取ります。[応答時間] または [帯域幅] および [位相余裕] スライダーを使用して、コントローラーの性能を要件に合うように調整することができます。通常は、性能を高めるとロバスト性が低下し、またその逆についても同様です。

  • [応答] メニューから応答プロットを選択し、コントローラーの性能を分析します。

  • Cbase を入力する場合は、[ベースラインを表示] にチェック マークをつけ、ベースライン コントローラーの応答を表示させます。

  • PID 調整器の使用の詳細については、PID 調整器による PID コントローラーの設計を参照してください。

  • ライブ エディターによる対話型の PID 調整については、[PID コントローラーの調整] ライブ エディター タスクを参照してください。このタスクを使用すると、PID コントローラーを対話的に設計し、ライブ スクリプト用の MATLAB® コードを自動的に生成できます。

アルゴリズム

MathWorks® PID 調整アルゴリズムについての詳細は、PID 調整アルゴリズムを参照してください。

代替方法

MATLAB デスクトップの [アプリ] タブから PID 調整器を開くこともできます。その場合、PID 調整器の [Plant] メニューを使用して、プラント モデルを指定します。

コマンド ラインで PID 調整を行うには、pidtune を使用します。pidtune コマンドで、複数のプラントのコントローラーを一度に設計できます。

ライブ エディターによる対話型の PID 調整については、[PID コントローラーの調整] ライブ エディター タスクを参照してください。このタスクを使用すると、PID コントローラーを対話的に設計し、ライブ スクリプト用の MATLAB コードを自動的に生成できます。

バージョン履歴

R2014b で導入