主要内容

使用变量转换生成代码

通过变体转换,您可以创建statflow®图表在仿真软件金宝app®生成可在各种不同软件情况下使用的代码的模型。变体转换允许您在一个状态流程图中建模变体的完整子集,以便您可以在生成代码或编译生成的代码时选择您想要的变体。

变体转换由Simulink参数或MATLAB保护金宝app®与核心图表配置不同的条件中的变量和图表中的连接状态。变量转换条件是在代码编译或代码生成期间而不是在运行时评估的。除此之外,生成的代码只包含执行当前选择的软件配置所需的数据成员。

仅在代码生成中支持图表变化。金宝app根据图表的哪个部分是活动的,使用不同转换开发的状态流程图会进行模拟。

变体转换不能与状态或图表的默认转换路径上的操作一起使用。

创建一个变体配置

变体转换将变体配置连接到核心状态流程图。只有当变体转换条件为真时,变体配置才有效。

在本例中,您将向一个基本控制系统添加不同的配置,以打开和关闭灯。不同的配置允许灯在多种方式昏暗。一旦将变体配置添加到状态流图中,就可以选择为任何配置生成代码。

最初,状态流程图包括两个状态,.当活动开始时,灯就会亮起来,SWITCH_ON,发送到图表中。当活动开始时,灯就会熄灭,SWITCH_OFF,发送到图表中。

有些灯有调暗的功能。在这个子集中,有可调高或低的灯,也有只能调高、中或低的灯。要将这些功能添加到状态流图中,需要添加三个变体:Dimmer1Dimmer2,NoDimmerDimmer1有三个亚态,媒介,Dimmer2有两个亚态,

变体配置的入口由一个转换条件保护,该转换条件使用在基本工作空间中定义的Simulink参数或MATLAB变量。金宝app若要将转换更改为变体转换,请单击转换。在过渡选项卡上,选择变体过渡.转换将以#符号显示在图表上,表示该转换是一个变体转换。

在本例中,变体配置由带有Simulink参数的条件保护。金宝app在这种情况下,HAS_DIMMER1是参数对象。为了使变型配置生效,条件(HAS_DIMMER1 = = 1)必须是真实的。有关Simulink参数的更多信息,请参见金宝app设置块参数值(金宝app模型)

在模拟期间,状态流图只执行状态流图的活动部分。不活动的部分在statflow画布上显示为灰色。要更改图表的当前活动部分,请更新基本工作区中的保护参数。

为变体配置生成代码

你必须有金宝app仿真软件编码器™或者嵌入式编码器®从状态流程图生成代码。默认情况下,生成的代码只包含活动变量状态机。

如果您正在使用Embedded Coder,您可以选择在生成的代码中包含预处理器条件语句。在statflow编辑器中建模选项卡,在设计数据中,选择属性检查器.下先进的中,选择生成预处理条件

有关生成代码的更多信息,请参见使用Simulink®Coder™生成代金宝app码(金宝app仿真软件编码器)使用嵌入式编码器生成代码(嵌入式编码)

使用变量管理器

变体管理器是一个中心工具,允许您管理系统模型中的变体配置。在statflow编辑器中建模选项卡,在设计数据中,选择变体经理

有关变体管理器的更多信息,请参见变体经理概述(金宝app模型)

相关的话题