解析 Simulink 信号对象的数据属性
图中的 Stateflow® 局部数据和输出数据可以从模型工作区或基础工作区中的 Simulink.Signal
对象显式继承属性。此过程称为信号解析,要求解析的信号与图输出或局部数据具有相同的名称。
有关 Simulink® 信号解析的信息,请参阅符号解析 (Simulink)和符号解析过程 (Simulink)。
继承的属性
当 Stateflow 局部数据或输出数据解析为 Simulink 信号对象时,它们会继承以下属性:
大小
复/实性
类型
最小值
最大值
初始值
存储类
存储类控制图数据在生成的代码中的外观。请参阅使用 Struct 存储类将参数数据组织为结构体 (Embedded Coder)。
启用信号解析
要启用显式信号解析,请执行下列步骤:
打开“配置参数”对话框,在诊断 > 数据有效性窗格中,将信号解析设置为
None
以外的值。有关其他选项的详细信息,请参阅信号解析 (Simulink)。在模型工作区、基础工作区或数据字典中,使用您要 Stateflow 数据继承的属性定义一个
Simulink.Signal
对象。有关创建 Simulink 信号的详细信息,请参阅Simulink.Signal
(Simulink)。添加图输出或局部数据。对您的数据使用与
Simulink.Signal
对象相同的名称。启用数据必须解析为信号对象属性,如设置数据属性中所述。选择此属性后,对话框将删除或灰显数据从信号继承的属性。
简单示例
此模型显示图如何将局部数据和输出数据解析为 Simulink.Signal
对象。
在基础工作区中,有三个 Simulink.Signal
对象,每个对象都有一组不同属性。
y1
具有以下属性:类型 =double
,维度 =1
,存储类 =Model default
。y2
具有以下属性:类型 =uint32
,维度 =[2 2]
,存储类 =Auto
。local
具有以下属性:类型 =single
,维度 =1
,存储类 =ExportedGlobal
。
图包含三个数据对象 - 两个输出和一个局部变量,它们解析为同名信号。
当您构建模型时,每个数据对象都继承同名信号的属性。
生成的代码根据数据从相关联的 Simulink 信号继承的存储类来声明数据。例如,以下头文件将 local 声明为导出的全局变量:
/* * Exported States * * Note: Exported states are block states with an exported global * storage class designation. Code generation will declare the memory for these * states and exports their symbols. * */ extern real32_T local; /* '<Root>/Signal Object Chart' */
另请参阅
Simulink.Signal
(Simulink)
相关主题
- 符号解析 (Simulink)
- 使用 Struct 存储类将参数数据组织为结构体 (Embedded Coder)