这个例子展示了如何与其他仿真软件MATLAB函数块枚举数据交换®块。金宝app模型使用枚举来表示模式的一种设备,控制LED显示的颜色。MATLAB功能块接收枚举输入信号表示模式。枚举的输出信号代表了LED显示屏的颜色。
在这个模型中,一步
块提供开/关的源信号。此块输出一个初始值为0(关闭),10秒后,步骤1(上)的价值。两个数据类型转换块转换这个信号,首先从类型双
输入int32
,然后从int32
列举类型switchmode
。第二个数据类型转换块的参数设置:
输出最小:[]
输出最大:[]
输出数据类型:枚举:switchmode
MATLAB功能块利用checkState
评估枚举输入状态
确定枚举的值输出ledval
。状态
继承它的枚举类型switchmode
从传入的信号模型,金宝appledval
有类型枚举:领导
。最后,显示块显示的值ledval
。
的switchmode
枚举表示允许的输入模式利用checkstate
块。
classdefswitchmode < 金宝appSimulink.IntEnumType枚举(0)(1)结束结束
的领导
枚举代表的颜色利用checkstate
块可以输出。
classdef< Simu金宝applink.IntEnumType领导枚举绿(1),红(8)结束结束
金宝appSimulink.IntEnumType
和驻留在MATLAB®路径。
这个函数利用checkState
使用枚举来激活一个LED显示,根据设备的状态。这灯绿色LED显示屏显示状态。这灯一个红色LED显示屏显示离开状态。
函数ledval =利用checkState(状态)% # codegen如果= = switchmode状态。在ledval = led.GREEN;其他的ledval = led.RED;结束
当你模拟模型显示块LED显示屏的显示状态。如果你模拟模型不到10秒钟,国家取消了。显示块显示红色的
。如果你模拟模型超过10秒,状态。的显示块显示绿色
。