万博1manbetx枚举

枚举数据是被限制为一个有限的一组值的数据。一个枚举数据类型是MATLAB®类,定义了一组枚举值。每个枚举值由一个中枚举名底层的整数该软件使用内部和在生成的代码。

你开始使用枚举在建模方面之前,您应了解所提供的信息枚举(MATLAB)。

要定义枚举在Simulink中使用万博1manbetx®模型,选择这些技术之一:

  • 使用功能万博1manbetxSimulink.defineIntEnumType。枚举存在您的MATLAB会话的持续时间。

  • 通过继承这些内置类之一,创建一个永久的枚举类:

    • 许多内建的整数数据类型如INT8UINT16

    • 万博1manbetxSimulink.IntEnumType

  • 使用功能万博1manbetxSimulink.importExternalCTypes创建一个枚举数据类型的S万博1manbetximulink的表示(枚举),你的外部C代码定义。

    使用这种技术来帮助你:

    • 与Simulink模型替换现有的C代码。万博1manbetx

    • (例如,通过使用传统代码工具)整合在Simulink用于模拟现有的C代码。万博1manbetx

    • 生成C代码(万博1manbetxSimulink的编码器™),您可以用现有的C代码到一个单一的应用程序编译。

欲了解更多信息,请参阅定义Simul万博1manbetxink的枚举

下面的例子说明如何在Simulink和Stateflow使用枚举万博1manbetx®

展示了如何使用...
数据类型在Simulink万博1manbetx 数据类型在Simulink,万博1manbetx包括枚举数据类型
使用建模枚举数据类型一个CD播放机/收音机 在包含状态流图表Simulink模型枚举数据类型万博1manbetx

有关在Stateflow中使用枚举的信息,请参阅枚举数据(Stateflow的)。

万博1manbetx构造一个支持枚举万博1manbetx

概观

在一般情况下,所有的Simuli万博1manbetxnk工具和构建支持列举了其支持有意义给出万博1manbetx枚举类型的宗旨类型:代表程序状态和控制程序逻辑。在Sim万博1manbetxulink的主编,Simulink的调试器端口值显示,参考模型,子系统,口罩,公共汽车,数据记录,和其他大多数的Simulink功能的支持枚举类型而不强加任何特殊要求。万博1manbetx

枚举类型不用于数学计算,所以没有块,计算数字输出(不同于传递一个数值输入到输出)支撑枚举类型。万博1manbetx因此,一个枚举类型不被认为是数字类型,即使一个枚举值具有底层整数。看到在计算枚举值想要查询更多的信息。

不支持枚举类型显然不能支持他们大多数功能。万博1manbetx因此,文档的Simulink通万博1manbetx常提到枚举类型nonsupport仅在必要时,以防止误解或描述一个例外。万博1manbetx看到万博1manbetxSimulink的枚举限制大约可以支持枚举类型,但并不一定结构的信息。万博1manbetx

支持座万博1manbetx

下面Simulink模块支持万博1manbetx枚举类型:万博1manbetx

Simulink模块以下类别的所有成员都支持枚举类型:万博1manbetx万博1manbetx

许多Sim万博1manbetxulink模块除了上述支持枚举类型命名,但他们要么属于上述所列,或枚举类型很少使用的类别之一。万博1manbetx每个块参考页的数据类型支持部万博1manbetx分描述的所有数据类型,块载体。

类支持万博1manbetx

下面Simulink的类支持万博1manbetx枚举类型:万博1manbetx

  • 万博1manbetxSimulink.Signal

  • 万博1manbetxSimulink.Parameter

  • 万博1manbetxSimulink.AliasType

  • 万博1manbetxSimulink.BusElement

记录枚举数据

顶级型号输出端口,为了工作区块,范围块可以全部出口枚举值。信号,并与国家以同样的方式与其他任何数据列举数据记录工作。所有记录格式都支持。万博1manbetx该从文件块不支持枚举数据。万博1manbetx使用从工作区方框代替,结合一些技术用于文件和工作空间之间传输数据。看到从模拟节省运行时数据想要查询更多的信息。

导入枚举数据

顶级型号输入端口和从工作区在模拟过程中块可以输出所列举的信号。数据必须在提供结构体与时间结构, 要么时间序列目的。无插值发生指定的仿真时间之间的枚举值。从文件块产生类型的唯一的数据,所以他们不支持枚举类型。万博1manbetx看到加载信号数据模拟想要查询更多的信息。

万博1manbetx枚举限制

枚举和斯科普斯

当一个范围块显示一个枚举信号中,垂直轴显示仅当范围是模拟期间打开所列举的值的名称。如果你打开范围块,用于任何模拟之前,第一次发生,或模拟之间,该块只显示数值。当模拟开始,列举名称替换的数值,之后出现的时候范围块被打开。

当一个浮动范围块显示多个信号,枚举值的名字出现在Y轴仅当所有信号是相同枚举类型。如果浮动范围块显示多于一种类型的枚举信号,或任何数字信号,无名称出现,任何枚举值由它们的底层整数表示。

枚举类型的开关组

一的控制输入端开关块可以通过Simulink中支持的任何数据类型。万博1manbetx万博1manbetx但是,那U2〜= 0不支持枚举模式。万博1manbetx如果控制输入具有一个枚举,选择下列方法之一来指定的标准使所述第一输入:

  • 选择U2> =阈值要么U2>阈值并指定相同的枚举类型作为控制输入的阈值。

  • 用一个关系运算符块做比较,然后送入该比较的布尔结果到的控制端口开关块。

枚举的万博1manbetxNonsupport

通过使用Simulink枚举数据类型时,存在以下限制:万博1manbetx

  • 包不能包含枚举类定义。

  • 如果动作块可能支持枚举,但目前并万博1manbetx没有这样做。

  • 生成的代码不支持登录列举数据。万博1manbetx

  • 自定义Stateflow的目标不支持枚举类型。万博1manbetx

也可以看看

||

相关话题