为自定义数据类型生成共享的实用代码
默认情况下,如果模型采用自定义数据类型(例如金宝appsimulink.Airstype
对象或枚举类),代码生成器放置相应的类型定义(Typedef
) 在里面
文件。当您从多个模型生成代码时,每个模型都会重复类型定义。这些重复的定义可以阻止您将生成的代码的身体编译在一起。模型
_ types.h
但是,您可以将代码生成器配置为将单个类型定义放在标题文件中_Sharedutils
文件夹。然后,当您从模型生成代码时,如果类型定义已经存在于_Sharedutils
文件夹,代码生成器不会重复定义,而是通过包含重新将其重新重复(#包括
)。
通过这种机制,您可以分享:
金宝app®您从类实例化的数据类型对象
金宝appsimulink.Airstype
,,,,金宝appsimulink.bus
, 和金宝appsimulink.numerictype
。有关创建和使用这些对象的基本信息,请参见在生成代码中控制数据类型名称(嵌入式编码器)和金宝appsimulink.bus
。例如,您定义的枚举
枚举
在脚本文件中或使用该函数中的类金宝appSimulink.DefineIntenumType
。有关定义Simulink中枚举的基本信息,请参见金宝app在Simulink模型中使用枚举数据金宝app。
跨多个模型共享自定义数据类型:
定义数据类型。例如,创建
金宝appsimulink.Airstype
目的。将数据范围和标头文件属性设置为启用共享的特定值。
对于数据类型对象,设置
DataScope
财产为“出口”
并且,选择地,通过headerfile
财产。对于您将其定义为一个枚举
枚举
脚本文件中的类,实现getDataScope
方法(带返回值“出口”
),并且可选地实施Getheaderfile
方法。对于您使用的枚举
金宝appSimulink.DefineIntenumType
功能,设置'DataScope'
配对参数“出口”
而且,可选地指定“ headerfile'
配对参数使用模型中的数据类型。
从每个模型生成代码之前,请设置模型配置参数共享代码放置至
共享位置
。从模型中生成代码。
笔记
您可以配置自定义数据类型的定义,以显示在标题文件中
_Sharedutils
文件夹。模型构建的共享实用程序功能会生成_Sharedutils
文件夹不使用自定义数据类型名称。仅位于每个型号的代码文件夹中的模型代码使用自定义数据类型名称。