也称为ASAP2的ASAM MCD-2 MC标准是通过自动化和测量系统(ASAM)标准化协会提出的数据定义标准。ASAP2是对用于测量,校准和诊断系统的数据的非对象化描述。有关ASAM和ASAM MCD-2 MC(ASAP2)标准的更多信息,请参阅ASAM网站www.asam.net
.
代码生成器使您能够在代码生成过程中导出包含模型信息的ASAP2文件。
您可以运行一个交互式ASAP2文件生成示例.在MATLAB中打开这个例子®命令提示符中,输入:
rtwdemo_asap
金宝app®编码器™金宝app对ASAP2文件生成的支持是版本无关的。软件默认生成ASAP2 version 1.31格式,但生成的模型信息一般与其他ASAP2版本兼容。ASAP2文件生成对于ASAP2测量和校准工具的特定需求也是中立的。该软件提供定制api,您可以使用这些api来定制ASAP2文件生成,以生成一个ASAP2版本,并满足您的ASAP2工具的特定需求。
要使用ASAP2文件生成,您应该熟悉:
ASAM和ASAP2标准和术语。参见ASAM网站www.asam.net
.
为代码生成配置模型数据元素。看到代码映射编辑器.
生成代码中信号和参数的存储和表示。看到模拟和调试的数据访问.
如果你有嵌入式编码器®,请参阅数据表示和存取(嵌入式编码).
您可以使用具有不同系统目标文件配置的ASAP2文件生成。例如,基于GRT和ERT的配置使您能够生成ASAP2文件,作为代码生成和构建过程的一部分。
有关使用系统目标文件配置生成ASAP2文件的过程,请参阅生成ASAP2文件.
ASAP2文件生成过程需要有关模型中的参数和信号的信息。其中一些信息包含在模型本身中。在工作区金宝app或数据字典中使用Simulink数据对象来完成ASAP2文件生成过程。在某些情况下,使用工作区对象是可选的。
使用模型数据编辑器和内置的Simulink数据对象来提供信息,例如使用金宝app金宝app仿真软件。信号
对象提供测量信息和金宝app仿真软件。参数
对象来提供特征信息。派生的数据类中可以使用数据对象金宝app仿真软件。信号
和金宝app仿真软件。参数
提供信息。看到数据对象和使用模型数据编辑器配置数据属性.
该表包含生成ASAP2文件所需的最小数据属性集。模型中定义了一些数据属性。其他属性在对象的属性中提供。中定义的属性金宝app仿真软件。信号
或金宝app仿真软件。参数
对象,该表列出了关联的属性名。
数据属性 |
中定义的 |
财产名称 |
---|---|---|
名称(标志) |
模型和数据对象 |
继承自参数或信号名称解析到的数据对象的句柄 |
描述 |
数据对象 |
|
数据类型 |
模型或数据对象 |
|
缩放 |
模型或数据对象 |
数据类型 |
最低允许值 |
模型或数据对象 |
|
最大允许值 |
模型或数据对象 |
|
单位 |
模型或数据对象 |
|
内存地址(可选) |
模型或数据对象 |
|
如果内存地址属性在代码生成之前未知,则代码生成器插入ECU地址
生成的ASAP2文件中的占位符文本。您可以通过后处理生成的文件来替换占位符的实际地址。有关示例,请参见该文件
.matlabroot
/工具箱/ rtw /目标/ asap2 / asap2 /asap2post.masap2post.m
解析您提供和替换的链接器映射文件ECU地址
ASAP2文件中具有实际内存地址的占位符。由于链接器映射文件因编译器而异,您可能需要修改其中的正则表达式代码asap2post.m
匹配您使用的链接器映射的格式。
如果您的系统上安装了嵌入式编码器,并且您正在为您的嵌入式目标生成可执行和可链接格式(ELF)或程序数据库(PDB)文件,那么您可以使用rtw.asap2SetAddress
功能自动化ECU地址更换。有关更多信息,请参见ASAP2文件的自动ECU地址替换(嵌入式编码器).
如果内存地址属性在代码生成之前已知,则可以在数据项或数据对象中定义它。默认情况下,MemoryAddress_ASAP2
属性中不存在金宝app仿真软件。信号
或金宝app仿真软件。参数
数据对象类。如果要添加属性,请添加名为MemoryAddress_ASAP2
类的子类的自定义类金宝app
或ASAP2
类。有关Simulink数据类的子类化的信息,请参见金宝app定义数据类.
此表表示已替换先前版本的ASAP2对象属性的Sim金宝appulink对象属性。
ASAP2和ASAP2之间的差异金宝app参数和信号对象属性
ASAP2对象属性(之前) |
金宝appSimulink对象属性(当前) |
---|---|
LONGID_ASAP2 |
描述 |
photicalmin_asap2. |
最小值 |
PhysicalMax_ASAP2 |
马克斯 |
Units_ASAP2 |
单位 |
如果您的系统上安装了嵌入式编码器,并且您正在为您的嵌入式目标生成可执行和可链接格式(ELF)或程序数据库(PDB)文件,那么您可以使用rtw.asap2SetAddress
功能为自动更换ECU地址
占位符内存地址值与生成的ASAP2文件中的实际地址。
如果内存地址属性在代码生成之前未知,则代码生成器插入ECU地址
生成的ASAP2文件中的占位符文本,如下所示
/* Name */ Ki */ Long Identifier */ "" /* Type */ VALUE /* ECU Address */0x0000./ * @ECU_Address@Ki@ * /
替代实际地址ECU地址
占位符,通过使用来处理生成的ASAP2文件rtw.asap2SetAddress
函数。的语法是:
rtw.asap2SetAddress (ASAP2File,InfoFile)
参数是字符向量,指定生成的ASAP2文件的名称和生成的可执行ELF文件的名称、来自Microsoft工具链的PDB文件或用于模型的DWARF调试信息文件的名称。当它被调用时,rtw.asap2SetAddress
从指定的ELF、PDB或DWARF文件中提取实际的ECU地址,并用实际地址替换ASAP2文件中的占位符,例如:
/* Name */ Ki */ Long Identifier */ "" /* Type */ VALUE /* ECU Address */0 x40009e60
金宝appSimulink编码器软件为查找表数据及其断点生成ASAP2描述。该软件代表1-D表数据曲线
2-D表数据为地图
信息,而断点为AXIS_DESCR
和AXIS_PTS
信息。您可以使用以下Simulink查找表块之一来建模查找表:金宝app
直接查找表(n-D) - 1维和2维
插值使用预查找- 1和2维
一维查找表
二维查找表
n-D查找表- 1和2维
该软件支持这些类型的查询表金宝app断点(轴点)。
断点的类型 | 信息生成 |
---|---|
可调优并在多个表轴(公共轴)之间共享 |
|
固定和不可调(固定轴) | 的这些变体之一
|
可调优但不在多个表之间共享(标准轴) |
|
配置ASAP2代码生成块时:
对于表数据,使用金宝app仿真软件。参数
使用非汽车
存储类。
对于在多个表轴之间共享的可调断点数据(COM_AXIS
),用金宝app仿真软件。参数
具有非汽车
存储类。
对于固定的、不可调的断点数据(FIX_AXIS
),使用在块参数对话框中指定的工作区变量或数组。在代码中,断点必须以整数的形式存储。数据类型必须是内置整数类型(int8
,int16
,int32
,uint8.
,uint16
,或UINT32.
)、定点数据类型或等效的别名类型。
对于在多个表中不共享的可调断点数据(STD_AXIS):
创建一个金宝app仿真软件。公共汽车
对象来定义结构体
打包(字段的名称和顺序)。参数结构的字段必须对应于查询表数据和查询表块的每个轴。例如n-d查找表块,该结构必须只包含三个字段。此总线对象描述查找特性的记录布局。
创建一个金宝app仿真软件。参数
对象表示可调参数。
创建表和轴值。
(可选)指定单位,最低,最大参数对象的属性。
这里有一个例子n-d查找表以标准Axis格式生成ASAP2文件的记录:
/ begin特征/ *名称* /STDAxisParam...... / *记录布局* /lookup1d_x_word_y_float32_ieee....开始AXIS_DESCR /* x轴点的描述*//*轴类型*/ STD_AXIS.../end AXIS_DESCR /end CHARACTERISTIC /begin RECORD_LAYOUT Lookup1D_X_WORD_Y_FLOAT32_IEEE AXIS_PTS_X 1 WORD INDEX_INCR DIRECT FNC_VALUES 2 FLOAT32_IEEE COLUMN_DIR DIRECT /end RECORD_LAYOUT
请注意
示例模型rtwdemo_asap2
显示查找表块的ASAP2文件生成,包括可调(COM_AXIS)和固定(FIX_AXIS)查找表断点。
使用通用实时系统目标文件或嵌入式编码器系统目标文件作为代码生成和构建过程的一部分生成ASAP2文件。
通过使用内置ASAP2支持的系统目标文件来生成ASAP2文件。金宝app例如,参见ASAP2示例模型rtwdemo_asap2
.
通过使用通用实时(GRT)系统目标文件或嵌入式编码器系统目标文件来为模型生成ASAP2数据定义:
使用代码映射编辑器将存储类应用于信号、块状态和模型参数,如模型接口元素的C代码生成配置.
如果存在以下一个或多个条件,ASAP2文件中不表示参数:
应用存储类汽车
,FileScope
,结构体
,或默认的
(通过模型默认值
).
您通过存储类嵌入式编码字典
.
您可以应用一个存储类,导致代码生成器生成宏或不可寻址的变量。
使用属性检查器为每个数据元素配置剩余的存储类属性。
设置模型配置参数系统目标文件到基于GRT或基于RET的系统目标文件。
选择模型配置参数ASAP2接口.
选择参数只生成代码.
点击应用.
生成代码。
代码生成器将ASAP2文件写入构建文件夹。默认情况下,文件被命名
, 在哪里模型
.a2l
是模型的名称。ASAP2设置文件控制ASAP2文件名。有关详细信息,请参见自定义生成ASAP2文件.模型
构建过程可以为模型引用层次结构中的每个引用模型生成ASAP2文件。在生成的ASAP2文件中,MEASUREMENT记录代表了引用模型中的信号和状态。
要为引用模型生成ASAP2文件,请为顶部模型选择ASAP2文件生成以及参考层次结构中的每个引用的模型。如果您使用的是通用实时目标或嵌入式编码器目标,请按照所描述的过程使用基于GRT或基于ERT的系统目标文件对于顶部模型和每个引用模型。
使用功能rtw.asap2MergeMdlRefs
合并为顶部和引用的模型生成的ASAP2文件。该函数具有此语法:
(地位、信息)= rtw.asap2MergeMdlRefs (topModelName,asap2FileName)
topModelName
包含一个或多个引用模型的模型的名称。
asap2FileName
是您为合并的ASAP2文件指定的名称。
可选:状态
如果合并完成则返回false(逻辑0),否则返回true(逻辑1)。
可选:信息
,返回合并失败的附加信息状态
是真的。否则,它返回空字符向量。
考虑以下示例。
(地位、信息)= rtw.asap2MergeMdlRefs(“myTopMdl”、“merged.a2l”)
myTopMdl
以及它在文件中引用的模型merged.a2l
.
示例模型rtwdemo_asap2
包括一个合并ASAP2文件的例子。
这个表格概述了ASAP2文件的基本结构,并描述了目标语言编译器(TLC)的函数和文件,用于创建文件的每个部分:
ASAP2文件的静态部分显示在大胆的.
函数调用由() % < FunctionName >
.
文件部分 |
ASAP2MAIN.TLC的内容 |
包含函数定义的TLC文件 |
---|---|---|
文件头 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
依赖于模式的 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
文件页脚/尾部 |
|
|
该模型显示ASAP2数据导出。ASAP2是由自动化和测量系统标准化协会(ASAM)提出的数据定义标准。
打开示例模型
打开示例模型rtwdemo_asap2
.
open_system (“rtwdemo_asap2”);
ASAP2是用于测量,校准和诊断系统的数据的非对象化描述。有关ASAM和ASAP2标准的更多信息,请参阅ASAM网站:https://www.asam.net..
ASAP2数据定义是通过Simulink®数据对象和测试点信号实现的。金宝app使用目标语言编译器(Target Language Compiler, TLC),您可以为您的应用程序创建高度定制的解决方案。金宝搏官方网站有关ASAP2文金宝app件生成的详细信息,请参阅Simulink Coder®文档。
您可以通过选择来配置ASAP2文件生成ASAP2接口在Code Generation >接口窗格的“配置参数”对话框。