1. はじめに
アクチュエータのON/OFFとか出力する条件をワンクリックで切り替えたいときって結構あると思います.
制御対象の提示力を弾性モード(F=kx)から粘性モード(F=Cx')に変更するなどなど...
そんなときに使う小技です.
2. Simulinkモデル
(1) 2値を切り替える
ON/OFFを切り替えるだけならSwitchブロックを使います.
真ん中の端子がif文の条件になっており,trueなら上側,falseなら下側のルートを出力します.
u>0の条件にして0ならOFF, 1ならONという使い方をよくします.
(2) 3値以上を切り替える
Switchブロックの組み合わせでも実装できないことはないですが,
Multiport Switch
ブロックを使用すると省スペースで可読性も高いので便利です.
3. ControlDeskレイアウト
各ブロックの条件端子に入力するconstantブロックとボタン系のInstrumentをリンクします.
(1) Radio Button
Instrumentを配置
(2) 条件端子に接続しているConstantブロックをアタッチ
(3) Properties > Radio Button > Buttons
の右側の...
をクリック
Buttonsウィンドウが出現
(4) 左側のSelect a node to editで編集したいボタンを選択
(5) 右側のPropertiesで値を変更
- Text: ボタンの表示名
- Value: 押されているときに出力する数値
例) ON/OFFの場合- Button 1 [1]
Text: ON
Value: 1 - Button 2 [2]
Text: OFF
Value: 0
- Button 1 [1]
例) 3値以上の場合
- Button 1 [1]
Text: Elastic
Value: 1 - Button 2 [2]
Text: Viscous
Value: 2 - Button 3 [3]
Text: Off
Value: 3
(6) 見た目を変える
Properties > Radio Button > Radio button style
をRadio button -> Modern buttonにするとその名の通りモダンになります.