Enabled Subsystem を使用した制御アルゴリズムの実装
この例では、Enabled Subsystem を使用してバイナリ論理信号に基づく制御アルゴリズムを実装する方法を示します。Enabled Subsystem は、バイナリ信号が正の値であり制御アルゴリズムを実装する場合に実行されます。この例では、スーパーツイスティング制御アルゴリズムを使用して、不安定な動的システムを安定させます。スーパーツイスティング アルゴリズムは、ロバスト性能でよく知られているスライディング モード制御手法の 1 つです。
モデルを開きます。
mdl = "enablesub.slx";
open_system(mdl)
動的システム
検討対象の動的システムは、次の方程式で制御されます。
は制御入力、 は外乱です。
コントローラーと制御信号
制御入力 () には、スーパーツイスティング アルゴリズムによって制御される と の 2 つの成分があります。 に関する次のロジックベースの設計が Enabled Subsystem を使用して実装されます。
、 および です。これらのパラメーターはモデルのコールバック パラメーター [PreLoadFcn] から読み込まれます。


シミュレーションの実行と結果の可視化
シミュレーションを実行し、Scope ブロックと Simulink データ インスペクターを使用して結果を可視化します。
out = sim(mdl);
コントローラー入力の可視化
Simulink データ インスペクターに、バイナリ信号に基づくサブシステム出力が表示されます。出力 および は、コントローラー ゲイン の 2 つの成分です。
を含むサブシステムは、0 秒から 1.8 秒の間と、3 秒から 5 秒の間にイネーブルになります。
を含むサブシステムは、1.8 秒から 3 秒の間と、5 秒から 15 秒の間にイネーブルになります。

状態の出力
状態の出力から、コントローラーによってシステムが安定していることがわかります。

参考
Enabled Subsystem | From | Goto | Integrator | Saturation
トピック
参照
[1] Shtessel, Yuri, Christopher Edwards, Leonid Fridman, and Arie Levant. "Sliding mode control and observation." Vol. 10. New York: Springer New York, 2014. https://link.springer.com/book/10.1007/978-0-8176-4893-0