列挙型信号を使用したアルゴリズムの実行の制御
この例は、列挙データ型の信号を使用して、ブロック アルゴリズムの実行を制御する方法を示します。モデル内での列挙データ型の使用に関する基本的な情報については、Simulink モデルでの列挙型データの使用を参照してください。
列挙型の定義
列挙型定義 ex_SwitchCase_MyColors
を、現在のフォルダーのスクリプト ファイルにコピーします。
classdef ex_SwitchCase_MyColors < Simulink.IntEnumType enumeration Red(0) Yellow(1) Blue(2) Mauve(3) end end
代わりに、関数 Simulink.defineIntEnumType
を使用して型を定義することもできます。
Simulink.defineIntEnumType('ex_SwitchCase_MyColors',... {'Red','Yellow','Blue','Mauve'},[0;1;2;3])
モデル例の確認
モデル例 ex_enum_switch_case
を開きます。
open_system('ex_enum_switch_case')
Enumerated Constant ブロックのダイアログ ボックスを開きます。定数の出力値は ex_SwitchCase_MyColors.Blue
です。
Switch Case ブロックのダイアログ ボックスを開きます。[Case 条件] ボックスは、可能性のある 4 つの列挙型メンバーのうち 3 つを含む cell 配列として指定されます。ブロックは、指定された 3 つの列挙型メンバーおよび default ケースに対応する 4 つの出力を持ちます。
Switch Case Action Subsystem のブロックを開きます。各サブシステムには、異なる定数値を使用する Constant ブロックが含まれます。
シミュレーション中に実行を制御する
モデルのシミュレーションを実行します。Display ブロックには、値 5
が表示されます。これは、ケース ex_SwitchCase_MyColors.Blue
に対応します。
Enumerated Constant ブロックのダイアログ ボックスで、[値] を ex_SwitchCase_MyColors.Red
に指定し、[適用] をクリックします。Display ブロックに 19
と表示されます。
[値] を ex_SwitchCase_MyColors.Mauve
に指定し、[適用] をクリックします。Display ブロックに 3
と表示されます。これは default ケースに対応します。