主要内容

自定义生成的ASAP2文件

关于ASAP2文件定制

嵌入的编码器®产品提供了一个数量的目标语言编译器(TLC)文件使您能够定制ASAP2文件生成一个模型金宝app®模型。

ASAP2文件结构上MATLAB路径

ASAP2相关文件被组织在文件夹标识如下:

  • 薄层色谱文件生成ASAP2文件

    matlabroot/ rtw / c / tlc /兆瓦(开放)文件夹包含TLC文件生成ASAP2文件,asamlib.tlc,asap2lib.tlc,asap2main.tlc,asap2grouplib.tlc。这些文件包括模型配置参数的设置系统目标文件。(见系统支持ASAP2目标文件金宝app。)

  • ASAP2目标文件

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

  • 可定制的TLC文件

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

  • ASAP2模板

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

定制ASAP2文件的内容

TLC ASAP2相关文件使您能够定制的外观ASAP2生成文件从一个仿真软件模型。金宝app大多数定制都是通过修改或添加中包含的文件matlabroot/工具箱/ rtw /目标/ asap2 / asap2 /用户(开放)文件夹中。这部分是指这个文件夹的asap2 /用户文件夹中。

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

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

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

定制ASAP2文件的程序如下:

  1. 做的一个副本asap2 /用户文件夹之前修改。

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

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

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

    • 项目和标题符号中指定asap2setup.tlc

    • 静态文件的部分,如文件头和尾巴,A2ML,MOD_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定义函数名称

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

%函数ASAP2UserFcnRecordLayoutAlias_Lookup1D (dtId)无效%切换tSS_UINT8 dtId % %返回“Lookup1D_UBYTE”…% endswitch % endfunction

编写RECORD_LAYOUT定义函数

这个函数写RECORD_LAYOUT定义与该模板。内置函数的函数被调用时参与ASAP2文件生成过程。函数名必须定义如图所示,用下划线后的模板名称:

% ASAP2UserFcnWriteRecordLayout_Lookup1D()函数输出/开始RECORD_LAYOUT % < ASAP2UserFcnRecordLayoutAlias_Lookup1D (tSS_UINT8) >…/ RECORD_LAYOUT % endfunction结束

函数编写特点

这个函数写的特征与此相关的模板。内置函数的函数被调用时参与ASAP2文件生成过程。函数名必须定义如图所示,用下划线后的模板名称。

这个函数的输入参数是一个指向一个参数组记录。是显示的例子Lookup1D参数组,有两个成员。相关的引用xy数据记录得到的参数组记录如图所示。

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

%函数ASAP2UserFcnWriteCharacteristic_Lookup1D (paramGroup)输出%分配xParam = paramGroup.Member [0]。参考%分配yParam = paramGroup.Member [1]。参考%分配dtId = LibASAP2GetDataTypeId (xParam) /特点/ *开始的名字* / % < LibASAP2GetSymbol (xParam) > / *长标识符* / " % < LibASAP2GetLongID (xParam) >”……/结束% endfunction特征

自定义计算方法名称

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

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

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

cmName= getCompuMethodName (dataTypeName,cmUnits)

在哪里dataTypeName是数据类型的名称与计算方法,cmUnits中指定的单位吗单位财产的金宝appSimulink.Parameter金宝appSimulink.Signal对象(例如,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文件命名myModel,计算方法名称会出现在生成的文件如下:

/开始COMPU_METHOD CompuMethod * / / *的名字myModel_CM_int16_m_s/ * * /单位“米/秒”…/结束COMPU_METHOD

抑制FIX_AXIS计算方法

1.51及以后版本ASAP2规范的国家,在某些情况下查找表轴描述(整数数据类型和没有医生单位),不需要计算方法和转换方法参数必须设置为值NO_COMPU_METHOD。您可以控制是否计算方法是抑制当不需要使用目标语言编译器(TLC)选项ASAP2GenNoCompuMethod。这个TLC选项默认是禁用的。如果您启用选项,ASAP2文件生成不生成计算方法查找表轴描述当不是必需的,而不是生成的值NO_COMPU_METHOD。例如:

/ / *开始特点的名字* / lu1d_fix_axisTable_data…/ AXIS_DESCR开始……/ * * /转换方法NO_COMPU_METHOD…/结束特点

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

相关的话题