使用枚举信号控制算法的执行
此示例显示如何使用枚举数据类型的信号来控制模块算法的执行。有关在模型中使用枚举数据类型的基本信息,请参阅在 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 模块对话框。案例条件框被指定为一个元胞数组,其中包含四个可能的枚举成员中的三个。该模块有四个输出,分别对应于三个指定的枚举成员和一个默认情况。
打开 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,对应于默认情况。