文档

定制生成的ASAP2文件

关于ASAP2文件定制

嵌入的编码器®产品提供了许多目标语言编译器(TLC)文件,使您能够自定义从Simulink生成的ASAP2文件金宝app®模型。

ASAP2文件结构MATLAB路径

与ASAP2相关的文件被组织在以下文件夹中:

  • 用于生成ASAP2文件的TLC文件

    matlabroot/ rtw / c / tlc /兆瓦开放)文件夹包含生成ASAP2文件的TLC文件,asamlib.tlcasap2lib.tlcasap2main.tlc,asap2grouplib.tlc.这些文件包含在模型配置参数的设置中系统目标文件.(见目标支持ASAP金宝app2.)

  • ASAP2目标文件

    matlabroot/ / asap2 / asap2工具箱/ rtw /目标开放)文件夹中包含ASAP2系统目标文件和其他控制文件。

  • 可定制的TLC文件

    matlabroot/工具箱/ rtw /目标/ asap2 / asap2 /用户开放)文件夹包含可修改的文件,以自定义ASAP2文件的内容。

  • ASAP2模板

    matlabroot/工具箱/ rtw /目标/ asap2 / asap2 / user /模板开放文件夹包含定义每种类型的模板特征在ASAP2文件中。

定制ASAP2文件的内容

与ASAP2相关的TLC文件使您能够自定义从Simulink模型生成的ASAP2文件的外观。金宝app控件中包含的文件可以通过修改或添加来完成大多数定制matlabroot/工具箱/ rtw /目标/ asap2 / asap2 /用户开放)文件夹中。本节将此文件夹称为asap2 /用户文件夹中。

提供的用户自定义文件分为两组:

  • 静态文件定义ASAP2文件中与使用生成代码的环境相关的部分。它们描述特定于用户或项目的信息。静态文件不依赖于模型。

  • 动态文件定义了基于源模型结构生成的ASAP2文件的各个部分。

ASAP2文件的定制过程如下:

  1. 复印一份asap2 /用户修改前的文件夹。

  2. 删除旧的asap2 /用户文件夹®路径,或添加新的asap2 /用户文件夹到旧文件夹上方的MATLAB路径。MATLAB会话使用ASAP2设置文件,asap2setup.tlc,在新文件夹中。

    asap2setup.tlc指定ASAP2文件生成过程中TLC路径中包含的文件夹和文件。修改asap2setup.tlc来控制TLC路径中包含的文件夹和文件夹。

  3. 修改ASAP2文件的静态部分。这些包括

    • 项目和标题符号,它们在asap2setup.tlc

    • 文件的静态部分,例如文件头和尾部,A2MLMOD_COMMON,等等asap2userlib.tlc

    • 通过修改现有的ASAP2模板或定义新的ASAP2模板,指定ASAP2文件的动态内容的外观。受影响的ASAP2文件包括

      RECORD_LAYOUT:修改ASAP2模板文件的部分内容。

      特征:修改ASAP2模板文件的部分内容。有关修改外观的更多信息特征记录,请参阅ASAP2模板

    • 测量:这些在asap2userlib.tlc

    • COMPU_METHOD:这些在asap2userlib.tlc

ASAP2模板

的外观特征ASAP2文件中的记录使用不同的模板对每种类型进行控制特征.的asap2 /用户文件夹包含标量的模板定义文件,一维查找表块和二维查找表块。您可以修改这些模板定义文件,也可以根据需要创建其他模板。

创建新的ASAP2模板的过程如下:

  1. 创建模板定义文件。看到创建模板定义文件

  2. 将模板定义文件包含在TLC路径中。该路径在ASAP2安装文件中指定,asap2setup.tlc

创建模板定义文件

本节描述组成ASAP2模板定义文件的组件。此描述以代码示例的形式来自asap2lookup1d.tlc的模板定义文件Lookup1D模板。该模板对应于Lookup1D参数组。

请注意

创建新模板时,使用对应的参数组名代替Lookup1D在代码中显示。

模板注册函数

输入参数是与该模板关联的参数组的名称:

% < LibASAP2RegisterTemplate (Lookup1D) >

RECORD_LAYOUT名称定义函数

可以为每个数据类型任意指定记录布局名称(别名)。此文件的其他组件使用此函数。

%function ASAP2UserFcnRecordLayoutAlias_Lookup1D(dtId) void %switch dtId %case tSS_UINT8 %return "Lookup1D_UBYTE"…% endswitch % endfunction

函数写入RECORD_LAYOUT定义

这个函数写RECORD_LAYOUT与此模板关联的定义。该函数由ASAP2文件生成过程中涉及的内置函数调用。函数名必须如下所示定义,模板名必须在下划线后面:

%function ASAP2UserFcnWriteRecordLayout_Lookup1D() Output /begin RECORD_LAYOUT %…/ RECORD_LAYOUT % endfunction结束

函数写特征

该函数将特征与此模板关联的。该函数由ASAP2文件生成过程中涉及的内置函数调用。函数名必须如下所示定义,模板名在下划线之后。

这个函数的输入参数是一个指向参数组记录的指针。这个例子是关于a的Lookup1D有两个成员的参数组。关联对象的引用xy数据记录从参数组记录中获取,如图所示。

这个函数调用许多内置函数来获取所需的信息。例如,LibASAP2GetSymbol返回指定数据记录的符号(name):

%function ASAP2UserFcnWriteCharacteristic_Lookup1D(paramGroup)输出%assign xParam = paramGroup. member[0]。引用%assign yParam = paramGroup.Member[1]。引用%assign dtId = LibASAP2GetDataTypeId(xParam) /begin CHARACTERISTIC /* Name */ % /* Long identifier */ "%"…/结束% endfunction特征

自定义计算方法名称

在生成的ASAP2文件中,计算方法将电子控制单元(ECU)的测量和校准量的内部表示转换为面向物理模型的表示。金宝app仿真软件编码器™软件提供了自定义计算方法名称的能力。您可以提供更直观的名称,以增强ASAP2文件的可读性,或者提供满足组织需求的名称。

要自定义计算方法名称,请使用MATLAB函数getCompuMethodName,定义为matlabroot/工具箱/ rtw /目标/ asap2 / asap2 / user /getCompuMethodName.m

getCompuMethodName函数构造一个计算方法名。函数原型是

cmName= getCompuMethodName (dataTypeNamecmUnits

在哪里dataTypeName与计算方法关联的数据类型的名称,cmUnits单位是否如单位财产的金宝app仿真软件。参数金宝app仿真软件。信号对象(例如,rpm米/秒),cmName返回构造的计算方法名。

函数返回的默认构造名称具有以下格式

<数据类型> < localPrefix > _ < cmUnits >

在哪里

  • < local_Prefix >是本地前缀,CM_中定义的,matlabroot/工具箱/ rtw /目标/ asap2 / asap2 / user /getCompuMethodName.m

  • <数据类型>< cmUnits >你指定的参数是getCompuMethodName函数。

另外,在生成的ASAP2文件中,构造的名称以< ASAP2CompuMethodName_Prefix >中定义的模型前缀matlabroot/工具箱/ rtw /目标/ asap2 / asap2 / user /asap2setup.tlc

例如,如果你调用getCompuMethodName函数与dataTypeName论点“int16”cmUnits论点“米/秒”,并为名为ASAP2的模型生成一个ASAP2文件myModel,计算方法名称将出现在生成的文件中,如下所示:

/begin COMPU_METHOD /* CompuMethod的名称*/myModel_CM_int16_m_s/*单位*/ "m/s"…/结束COMPU_METHOD

抑制FIX_AXIS的计算方法

ASAP2规范的1.51及更高版本声明,对于查找表轴描述(整数数据类型和无文档单元)的某些情况,不需要计算方法,并且必须将Conversion method参数设置为该值NO_COMPU_METHOD.您可以使用目标语言编译器(TLC)选项控制在不需要时是否抑制计算方法ASAP2GenNoCompuMethod.TLC选项默认禁用。如果启用该选项,ASAP2文件生成不会在不需要时为查找表轴描述生成计算方法,而是生成值NO_COMPU_METHOD.例如:

/* Name */ lu1d_fix_axisTable_data…/ AXIS_DESCR开始……/*转换方法*/NO_COMPU_METHOD.../结束特点

ASAP2GenNoCompuMethod选项定义在matlabroot/工具箱/ rtw /目标/ asap2 / asap2 / user /asap2setup.tlc

相关的话题