主要内容

准备Variant-Containing模型代码生成

使用嵌入式编码器®,你可以从模型生成代码金宝app®模型包含一个或多个变量的选择。生成的代码包含预处理控制每个变体的活化条件的选择。

请注意

金宝app仿真软件金宝app支持使用多实例引用的代码生成模型与仿真软件的功能变体。

使用的信息STF_make_rtw_hook文件自定义构建过程,明白了自定义构建过程与STF_make_rtw_hook文件(金宝app仿真软件编码器)

不同控制变量转换成金宝appSimulink.Parameter对象

MATLAB®变量允许您快速控制原型变体表情当你构建你的模型并生成预处理条件对代码生成。然而,如果您想要指定其他代码生成属性(如数据类型),您可以将MATLAB变量转换成金宝appSimulink.Parameter对象。

  1. 指定你想替换的模型控制变量与MATLAB变体金宝appSimulink.Parameter对象。

    模型=“my_model_containing_variant_choices”;open_system(模型);
  2. 中引用的变量变异控制表达式。

    var = S金宝appimulink.VariantManager.findVariantControlVars(模型)
    var = 4 x1结构体数组字段:名称值存在SourceType来源
  3. 创建一个外部头文件用于指定控制变量值,变量定义导入代码运行时。

    headerFileName =[模型“_importedDefines.h”];headerPreamble = strrep(上层(headerFileName),“。”,“_”);fid = fopen (headerFileName,“w +”);fidErr = (fid = = 1);如果(fidErr)流(有一个创建头文件错误%年代:……\ n”, headerFileName);其他的流(' + + +创建头文件“% s”与版本控制…变量定义。\ n \ n”, headerFileName);流(fid检测器,“ifndef % s \ n”,headerPreamble);流(fid检测器,“# define % s \ n”,headerPreamble);结束

    变量定义为控制变量金宝appSimulink.Parameter这些存储类的对象可以有一个。

    • 定义ImportedDefine与头bfile指定

    • CompilerFlag

    • SystemConstant (AUTOSAR)

    • 自己的存储类,它定义了数据作为一个宏

  4. 遍历所有MATLAB变量转换成金宝appSimulink.Parameter对象。

    数= 0;countVars = 1:长度(var) var = var (countVars) . name;val = var (countVars) value;如果isa (val,“金宝appSimulink.Parameter”)%什么也不做继续;结束数=计数+ 1;%创建和配置模型。金宝app参数对象%控制变量名称对应。%指定存储类的定义(自定义)。newVal = 金宝appSimulink.Parameter (val);newVal。数据类型=“int16”;newVal.CoderInfo。StorageClass =“自定义”;newVal.CoderInfo。CustomStorageClass =的定义(自定义);newVal.CoderInfo.CustomAttributes。HeaderFile = headerFileName;金宝appSimulink.data。assigninGlobal(模型、var newVal);如果~ fidErr流(fid检测器,“# endif \ n”);文件关闭(fid);结束结束

请注意

头文件可以是空的定义存储类。

配置模型生成预处理条件

如果你是在一个变体的选择不同的子系统块或变体模型代码块,为每个变体的选择是生成C预处理器内封闭条件#如果,其他#,# elif,# endif

如果你代表变体的选择使用变异来源块或变体水槽代码块,为每个变体的选择是生成C预处理器内封闭条件#如果# endif

因此,选择积极的变异在编译时间和预处理条件确定哪些部分代码的执行。

请注意

你必须有一个嵌入式编码器®许可来生成代码。

  1. 建模仿真软件将来发布的选项金宝app卡,单击模型设置

  2. 选择代码生成面板,设置系统目标文件ert.tlc

  3. 报告窗格中,选择创建代码生成报告

    请注意

    代码的位置窗格中,如果紧凑的选择是选自文件的包装格式下拉列表,model_types.h文件没有生成和内容model_types.h文件移动到model.h文件。

  4. 选择代码生成面板,清楚忽略定制的存储类应用

  5. 在你的模型中,右键单击包含变体选择的块(不同的子系统,变异来源,变体水槽,或变体模型块),并选择块的参数

  6. 确保表达式选择(默认选项)变量控制方式参数。

  7. 变体激活时间列表中,选择代码编译

    金宝app仿真软件分析所有变体的选择在一个更新图或模拟。这种分析提供了代码生成的早期验证准备所有变体的选择。

  8. 构建的模型。

相关的例子

更多关于