メインコンテンツ

Simulink 関数を使用したスイッチング コントローラーの設計

この例では、Stateflow® チャートを使用して、P のみのコントローラーと PID コントローラーを切り替える判定ロジックをモデル化する方法を示します。

Stateflow チャート SwitchingController は、コントローラーの誤差を表す入力データ e の値に応じて STEADYPPID の間でステートを切り替えるコントローラーを実装しています。チャートの出力は、制御値 uPID ステートがアクティブかどうかを示すブール値 PID です。

最初は、STEADY ステートがアクティブであり、チャートで生成される制御出力 u0 になります。e0.01 を超えると、チャートは STEADY から P に切り替わります。e がモデル ワークスペースで定義されているパラメーター PID_TRESH を下回ると、チャートは P から PID に切り替わります。

P ステートでは、Simulink® 関数 p_control でゲイン 3 の比例制御手法を実装しています。このステートがアクティブなときは、閉ループ システムの定常状態ゲインは 3/4 = 0.75 となり、したがって誤差は 0.25 になります。

PID ステートでは、Simulink 関数 pid_control で PID 制御手法を実装しています。制御操作での遷移が必ず滑らかになるように、この関数の比例ゲインは p_control と同じになっています。

最初は、パラメーター PID_THRESH の値は 0.3 になっています。モデルをシミュレートすると、$t = 1.6$ の時点で誤差がこのしきい値を超えます。これにより、チャートが PID コントローラーに切り替わり、定常偏差がゼロに近づいていきます。

パラメーター PID_TRESH の値を 0.1 に変更すると、誤差がこのしきい値を下回ることはなくなります。チャートは無期限に P ステートのままで、誤差は 0.25 で安定します。

参考

トピック