Main Content

Simulink での PID コントローラーの調整

この例では、PID 調整器を使用して PID Controller ブロックを自動的に調整する方法を説明します。

PID 調整器の紹介

PID 調整器は、Simulink® PID Controller ブロックに応用範囲が広く高速な単一ループ PID 調整法を提供します。PID 調整器を使用すれば、望ましい応答時間を可能にするロバスト設計を実現できるように PID コントローラー パラメーターを調整できます。

PID 調整器を使用した一般的な設計ワークフローには、以下の作業が含まれます。

(1) PID 調整器を起動する。起動時に、ソフトウェアが Simulink モデルから線形プラント モデルを自動的に計算し、初期コントローラーを設計します。

(2) 2 つの設計モードの設計基準を手動で調整することで、PID 調整器でコントローラーを調整する。PID 調整器が、システムをロバスト安定化させる PID パラメーターを計算します。

(3) 設計されたコントローラーのパラメーターを PID Controller ブロックにエクスポートし、Simulink でコントローラー性能の検証を実行する。

モデルを開く

PID Controller ブロックでエンジン速度制御モデルを開き、少し時間をとってモデルを調べます。

open_system('scdspeedctrlpidblock')

設計の概要

この例では、エンジン速度制御ループ内の PI コントローラーを設計します。設計の目標は、Simulink ステップ ブロック scdspeedctrlpidblock/Speed Reference からの基準信号に追従することです。設計要件は以下のとおりです。

  • 整定時間が 5 秒未満である

  • ステップ基準入力に対する定常偏差がゼロである

この例では、PID 調整器で PI コントローラー scdspeedctrl/PID Controller を設計することにより、フィードバック ループを安定化させ、良好な設定値追従性能を達成します。

PID 調整器を開く

PID 調整器を起動するには、PID Controller ブロックをダブルクリックして、ブロック ダイアログを開きます。[メイン] タブで、[調整] をクリックします。

初期 PID 設計

PID 調整器が起動すると、ソフトウェアが、コントローラーに認識される線形化されたプラント モデルを計算します。ソフトウェアはプラント入出力を自動的に特定し、現在の操作点を線形化に使用します。プラントは任意の次数をもつことができ、むだ時間をもつこともできます。

PID 調整器は、性能とロバスト性の間の適切なトレードオフを実現できるように初期 PI コントローラーを計算します。既定の設定では、ステップ設定値追従性能がプロットに表示されます。

次の図は、初期設計を含む PID 調整器のダイアログを示しています。

PID パラメーターの表示

[パラメーターの表示] をクリックして、コントローラー パラメーター P および I と、性能測定値とロバスト性測定値のセットを表示します。この例では、初期 PI コントローラー設計によって 2 秒の整定時間が与えられます。これは要件を満たします。

PID 調整器での PID 設計の調整

設定値追従応答のオーバーシュートは約 7.5% です。整定時間の制限に達するまでにまだ余裕があるので、応答時間を長くすることでオーバーシュートを低減できます。応答時間スライダーを左に移動して、閉ループ応答時間を長くします。応答時間を調整すると、応答プロット、コントローラー パラメーター、および性能測定値が更新されることに注意してください。

次の図は、オーバーシュートが 0 で、整定時間が 4 秒である、調整済みの PID 設計を示しています。設計されたコントローラーは事実上、積分器のみのコントローラーになります。

性能のトレードオフを伴う PID 設計の完了

整定時間を 2 秒未満に短縮しつつオーバーシュートをゼロにするには、両方のスライダーを活用する必要があります。コントローラーの応答を早めて整定時間を短縮し、ロバスト性を高めてオーバーシュートを低減する必要があります。たとえば、応答時間を 3.4 秒から 1.5 秒に短縮し、ロバスト性を 0.6 から 0.72 に高めます。

次の図は、このように設定した場合の閉ループ応答を示しています。

PID Controller ブロックへの調整済みパラメーターの書き込み

設計プラント モデルでのコントローラー性能が満足できるようであれば、非線形モデルでの設計をテストできます。そのためには、PID 調整器[ブロックの更新] をクリックします。これにより、パラメーターが Simulink モデルの PID Controller ブロックに書き込まれます。

次の図は、更新された PID Controller ブロックのダイアログを示しています。

完了した設計

次の図は、閉ループ システムの応答を示しています。

この応答は、新しいコントローラーが設計要件をすべて満たしていることを示しています。

PID Controller ブロックがマルチループの設計タスクに属している場合、制御システム デザイナーを使用して PID Controller ブロックを設計することもできます。単ループのフィードバック/プレフィルターの補償器設計 (Simulink Control Design)の例を参照してください。

bdclose('scdspeedctrlpidblock')

参考

関連するトピック