このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink 関数を使用したスイッチング コントローラーの設計
この例では、Stateflow® チャートを使用して、P のみのコントローラーと PID コントローラーを切り替えるための判定ロジックをモデル化する方法を説明します。
Stateflow チャート SwitchingController
は、STEADY
、P
、および PID
の 3 つのステートを切り替える単純なスイッチング コントローラーを実装します。STEADY
ステートでは、ゼロ制御出力を生成します。P
または PID
では、必要な制御効力を算出するために、Simulink® 関数呼び出しサブシステムに権限を与えます。
PID
ステートの [監視用データの作成] オプションはオンになっています。そのため、制御出力 u
に加えて、Stateflow チャートもステート PID
と同じ名前をもつログ出力を生成します。
P
から PID
へ切り替えるための条件は、[e < PID_TRESH]
を十分に下回るエラーに基づいています。PID_TRESH
は、モデル ワークスペースで定義される、値 0.3 をもつ変数です。
Simulink サブシステム SwitchingController/P.p_control
は、ゲイン 3 の非常に単純な比例制御を実装します。ステート P
に留まり続けると、閉ループ システムの定常状態ゲインは、3/4 = 0.75 になります。そのため、0.25 のエラーを受け取ります。
Simulink サブシステム SwitchingController/PID.pid_control
は、単純な PID 制御を実装します。比例ゲインは P
ステートのときと同じなので、制御効果で確実に滑らかに遷移します。
このモデルをシミュレートするときは、定常偏差がゼロに近付くことに注意します。
PID 制御が存在しないと、定常偏差 0.25 が発生します。PID_TRESH
を 0.1 に変更する場合、ステート P
を維持している間はエラーが 0.25 を下回ることは決してないので、PID
ステートになることは "ありません"。