このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
この例では、PID調整器を使用して PID控制器ブロックを自動的に調整する方法を説明します。
PID調整器は、金宝appSimulink®PID控制器ブロックに応用範囲が広く高速な単一ループ PID調整法を提供します。PID調整器を使用すれば、望ましい応答時間を可能にするロバスト設計を実現できるように PIDコントローラー パラメーターを調整できます。
PID調整器を使用した一般的な設計ワークフローには、以下の作業が含まれます。
(1)PID調整器を起動する。起動時に、ソフトウェアが 金宝app模拟モデルから線形プラント モデルを自動的に計算し、初期コントローラーを設計します。
(2) 2つの設計モードの設計基準を手動で調整することで、PID調整器でコントローラーを調整する。PID調整器が、システムをロバスト安定化させる PIDパラメーターを計算します。
(3) 設計されたコントローラーのパラメーターを PID控制器ブロックにエクスポートし、模拟でコントローラ金宝appー性能の検証を実行する。
PID控制器ブロックでエンジン速度制御モデルを開き、少し時間をとってモデルを調べます。
打开\u系统('SCDSPEDCTRPIDDBLOCK')
この例では、エンジン速度制御ループ内の 圆周率コントローラーを設計します。設計の目標は、金宝app模拟ステップ ブロックSCDSPEDCTRPIDDBLOCK/速度参考
からの基準信号に追従することです。設計要件は以下のとおりです。
整定時間が 5.秒未満である
ステップ基準入力に対する定常偏差がゼロである
この例では、PID調整器で 圆周率コントローラーSCDSPEECTRL/PID控制器
を設計することにより、フィードバック ループを安定化させ、良好な設定値追従性能を達成します。
PID調整器を起動するには、PID控制器ブロックをダブルクリックして、ブロック ダイアログを開きます。[メイン]タブで、[調整]をクリックします。
PID調整器が起動すると、ソフトウェアが、コントローラーに認識される線形化されたプラント モデルを計算します。ソフトウェアはプラント入出力を自動的に特定し、現在の操作点を線形化に使用します。プラントは任意の次数をもつことができ、むだ時間をもつこともできます。
PID調整器は、性能とロバスト性の間の適切なトレードオフを実現できるように初期 圆周率コントローラーを計算します。既定の設定では、ステップ設定値追従性能がプロットに表示されます。
次の図は、初期設計を含むPID調整器のダイアログを示しています。
[パラメーターの表示]をクリックして、コントローラー パラメーター Pおよび 我と、性能測定値とロバスト性測定値のセットを表示します。この例では、初期 圆周率コントローラー設計によって 2.秒の整定時間が与えられます。これは要件を満たします。
設定値追従応答のオーバーシュートは約 7.5% です。整定時間の制限に達するまでにまだ余裕があるので、応答時間を長くすることでオーバーシュートを低減できます。応答時間スライダーを左に移動して、閉ループ応答時間を長くします。応答時間を調整すると、応答プロット、コントローラー パラメーター、および性能測定値が更新されることに注意してください。
次の図は、オーバーシュートが 0で、整定時間が 4.秒である、調整済みの PID設計を示しています。設計されたコントローラーは事実上、積分器のみのコントローラーになります。
整定時間を 2.秒未満に短縮しつつオーバーシュートをゼロにするには、両方のスライダーを活用する必要があります。コントローラーの応答を早めて整定時間を短縮し、ロバスト性を高めてオーバーシュートを低減する必要があります。たとえば、応答時間を 3.4秒から 1.5秒に短縮し、ロバスト性を 0.6から 0.72に高めます。
次の図は、このように設定した場合の閉ループ応答を示しています。
設計プラント モデルでのコントローラー性能が満足できるようであれば、非線形モデルでの設計をテストできます。そのためには、PID調整器で[ブロックの更新]をクリックします。これにより、パラメーターが 金宝app模拟モデルの PID控制器ブロックに書き込まれます。
次の図は、更新された PID控制器ブロックのダイアログを示しています。
次の図は、閉ループ システムの応答を示しています。
この応答は、新しいコントローラーが設計要件をすべて満たしていることを示しています。
PID控制器ブロックがマルチループの設計タスクに属している場合、制御システム デザイナーを使用して PID控制器ブロックを設計することもできます。単ループのフィードバック/プレフィルターの補償器設計の例を参照してください。
bdclose('SCDSPEDCTRPIDDBLOCK')