主要内容

使用枚举信号控制算法执行

R2026b

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

打开 Switch Case Action Subsystem 模块。每个子系统都包含使用不同常量值的 Constant 模块。

在仿真期间控制执行

对模型进行仿真。Display 模块显示值 5,对应于 case ex_SwitchCase_MyColors.Blue。

在 Enumerated Constant 模块对话框中,将值指定为 ex_SwitchCase_MyColors.Red,然后点击应用。Display 模块显示 19。

将值指定为 ex_SwitchCase_MyColors.Mauve,然后点击应用。Display 模块显示 3,对应于默认 case。

另请参阅

函数

模块

主题