Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ライブ エディターでの PID コントローラーの設計

この例では、ライブ エディターでPID コントローラーの調整タスクを使用して、線形プラント モデル用の PID コントローラーを設計するためのコードを生成する方法を説明します。PID コントローラーの調整タスクを使用すると、コントローラーの性能を対話形式で改善し、ループの帯域幅および位相余裕を調整したり、設定点の追従または外乱を優先したりできます。タスクにより、調整パラメーターを加減しながらコントローラーの性能をモニターできる応答プロットが生成されます。

このモデルを開くと、PID コントローラーの調整タスクを含む事前に構成されたスクリプトが表示されます。ライブ エディター タスク全般の詳細については、ライブ スクリプトへの対話型タスクの追加を参照してください。

ライブ エディターで、プラント用の LTI モデルを作成します。

G = zpk(-5,[-1 -2 -3 -4],6);

このプラント用の PID コントローラーを設計するため、PID コントローラーの調整ライブ エディター タスクを開きます。[ライブ エディター] タブで、[タスク][PID コントローラーの調整] を選択します。この操作により、タスクがスクリプトに挿入されます。

初期コントローラーの設計

初期の PID コントローラー設計を生成するには、[プラント] メニューで、作成したプラント G を選択します。PID コントローラーの調整は、次の図に示す標準的な単位フィードバック制御構成を仮定して、性能とロバスト性とのバランスが取れた PI コントローラーを自動的に生成します。

このタスクにより、初期コントローラーの設計を使用した r から y への閉ループ ステップ応答を示すステップ応答プロットも生成されます。

コントローラーの設計の改良

[システム応答の特性] をオンにすると、この応答の時間領域特性の数値がいくつか表示されます。

この初期コントローラーの設計の立ち上がり時間は約 1.5 秒で、オーバーシュートは約 8% です。[応答時間][過渡動作] のスライダーをさまざまに動かして設計目標を変更し、それがステップ応答にどのような影響を与えるか確認します。

PI コントローラーとこのプラントの場合、不安定さやシステム応答の劣化をもたらすことなく応答時間を短縮するのは困難です。PID コントローラーに切り替えて、より良好な応答時間を達成できるかどうか試してみてください。[コントローラー タイプ] ドロップダウン メニューで [PID] を選択します。

コントローラーの応答時間を短縮できるようになりました。もう一度スライダーをさまざまに試行して、ステップ応答への影響を観察します。[応答時間][過渡動作] のスライダーがコントローラーの性能に与える影響をより詳しく示す例については、設定値追従と外乱の抑制のいずれかを優先するための PID コントローラーの調整 (PID 調整器)を参照してください。その例では、ライブ エディターで PID コントローラーの調整タスクを使用する代わりに PID 調整器アプリを使用していますが、どちらのツールでもスライダーの動作や効果は同じです。

生成されたコードの検証

タスクは、プラントの PID コントローラーを、指定された設計目標に合わせて調整するためのコードを自動的に生成します。生成されたコードを確認するには、タスクの下部にある [コードの表示] をクリックします。タスクが展開され、生成されたコードが表示されます。

コントローラーの構造、性能目標、応答プロット タイプなどのパラメーターを変更すると、生成コードは新しい設定を反映して自動的に更新されます。

外乱の抑制性能の検証

プラント入力での外乱に対する閉ループのシステム応答に関心があるとします。d1 から y のステップ応答のプロットを生成するには、[出力プロット] ドロップダウン メニューで Step Plot: Input disturbance rejection を選択してください。プロットが更新され、新しい応答が表示されます。応答プロットを変更するときの性能目標の設定方法に応じて、次のような応答が表示されます。

もう一度コントローラー パラメーターをさまざまに試行して、外乱の抑制に対する影響を観察します。スライダーおよび他の設計パラメーターを使用して外乱の抑制性能を向上する方法を詳しく示す例については、設定値追従と外乱の抑制のいずれかを優先するための PID コントローラーの調整 (PID 調整器)を参照してください。その例では、ライブ エディターの PID コントローラーの調整タスクの代わりに PID 調整器アプリを使用していますが、どちらのツールでも設計パラメーターの動作や効果は同じです。

2 つのコントローラー設計の比較

PID コントローラーの調整は、調整済みのコントローラーを、pidpidstdpid2、または pidstd2 モデル オブジェクトのうちコントローラーの設定に適した形式で MATLAB® ワークスペースに自動的に書き込みます。タスクは、タスクのサマリ行で指定された変数名を使用してコントローラーを保存します。既定では、変数名は C です。コントローラーの設定、性能目標、またはその他の調整パラメーターを変更すると、既定では、タスクは変数 C を上書きします。

コントローラー タイプ、性能目標、その他の設定をさらに試行する際に比較のベースラインとして使用するコントローラー設計を保存できます。そのためには、タスクのサマリ行に新しい変数名を入力します。たとえば、出力コントローラー名を Cnew に変更します。

そうすると、現在の設計が MATLAB ワークスペースに C として保存されます。それ以降設計に行う変更は、Cnew として保存されます。

C を比較のベースラインとして使用するには、[ベースライン コントローラー] メニューで [Select from workspace] を選択します。次に、表示されるメニューで [C] を選択します。

コントローラーの設計をさらに試行すると、コントローラー C (点線) とコントローラー Cnew (実線) 両方のシステム応答がプロットに表示されます。

コントローラーの使用

PID コントローラーの調整タスクはコントローラーを MATLAB ワークスペースに保存するため、そのコントローラーは他の PID モデル オブジェクトと同じように制御設計および解析に使用できます。たとえば、少し異なるプラント モデルとの間でコントローラーの性能を比較して、パラメーター変化への閉ループ システムのロバスト性を感覚的に把握できます。

G1 = zpk(-5,[-0.75 -2 -3 -4],8);
CL1 = getPIDLoopResponse(C,G1,'closed-loop');
CL = getPIDLoopResponse(C,G,'closed-loop');
step(CL,CL1)

参考

ライブ エディター タスク

関連するトピック