准备 ASAP2 数据描述文件
本示例演示了如何配置 Simulink® Real-Time™ 模型,以便在构建时为实时应用程序生成 ASAP2 (A2L) 数据描述文件。该实时应用程序建模了一个阻尼振荡器,该振荡器的输出连接到一维和二维查找表,这些查找表会对输入波形进行反相和缩放处理。
打开模型
本示例使用模型 slrt_ex_osc_cal。要打开模型,请在 MATLAB® 命令行窗口中输入:
model = 'slrt_ex_osc_cal';
open_system(model);




对参数进行校准可减少信号 DampedOsc、L_1D 和 L_2D 中的振铃现象。
初始设置
打开模型并检查模型数据。
1.模型工作区中的变量包含以下函数:
Kg-- Gain1 模块的参数对象DampedOsc、SignalGenerator、L_1D、L_2D—— 用于输出信号的信号对象LUT_1D_obj、LUT_2D_obj—— 分别是 1 维和 2 维查找表的数据SignalGenerator-- 测试输入数据
2.将配置参数默认参数行为设置为 Tunable。
3.在数据默认值中的代码映射编辑器 - C字段中,将参数下的模型参数的存储类指定为 PageSwitching。

注意:该模型的参数默认设置将存储类设为 PageSwitching。
设置参数
使用 Simulink® 参数对象设置参数调整。
1.在 slrt_ex_osc_cal 中,在建模选项卡上,点击设计 > 模型资源管理器。
2.在模型层次结构窗格中选择模型工作区。
3.请确保 Kg 参数对象存在,并且具有以下属性:
值 -- 400
数据类型 -- double
4.如果该参数对象不存在,则添加它。在工具栏上,点击添加 Simulink 参数按钮。
5.打开 slrt_ex_osc_cal/Gain1。
6.请确保已将增益值设置为参数对象 Kg。
设置信号
作为最佳做法,请使用 Simulink 信号对象来设置信号查看功能。
1.在 slrt_ex_osc_cal 中,于建模选项卡上,点击设计 > 模型资源管理器。
2.在模型层次结构窗格中选择模型工作区。
3.请确保 DampedOsc 信号对象存在,并且具有以下属性:
最小值 -- -10
最大值 -- 10
数据类型* -- double
4.请确保 SignalGenerator 信号对象存在,并且具有以下属性:
最小值 -- -10
最大值 -- 10
数据类型 -- double
5.请确保 L_1D 信号对象存在,并且具有以下属性:
最小值 -- -15
最大值 -- 15
数据类型 -- double
6.请确保 L_2D 信号对象存在,并且具有以下属性:
最小值 -- -15
最大值 -- 15
数据类型 -- double
7.如果某个信号不存在,则添加它。在工具栏上,点击添加 Simulink 信号按钮。
8.对于每个信号,打开其属性对话框。
9.请确保已选中信号名称必须解析为 Simulink 信号对象和测试点复选框。
设置查找表
示例模型包含一维和二维查找表。
1.打开 1-D Lookup Table 模块的模块参数。
2.在 “表和断点” 窗格中,请确认以下设置:
表维度数量 -- 1
数据规范 -- 查找表对象
名称 -- LUT_1D_obj
3.打开 2-D Lookup Table 模块的模块参数。
4.在 “表格和断点” 窗格中,请检查以下设置:
表维度数量 -- 2
数据规范 -- 查找表对象
名称 -- LUT_2D_obj
要查看查找表的内容,请点击编辑表和断点,然后点击绘图 > 网格。
生成数据描述文件
使用生成校准文件工具来生成所需版本的 ASAP2 文件。默认情况下,ASAP2 文件中数据元素的地址均设置为“0x0000”。要将地址替换为正确的值,您可以启用地址替换选项,并指定一个符号文件来获取这些地址。符号文件(也称为 MAP 文件)会在模型构建过程中生成,并以 slrt_ex_osc_cal 为文件名保存在构建目录中。有关该工具使用方法的信息,参阅 生成 ASAP2 和 CDF 标定文件。
1.在实时选项卡上,选择在目标上运行 > 构建应用程序。
2.在 C 代码选项卡上,选择共享 > 生成校准文件。
3.在生成校准文件工具中,选择地址替换选项,并在符号文件字段中指定 MAP 文件。

您也可以使用coder.asap2.export函数生成 ASAP2 文件。
coder.asap2.export('slrt_ex_osc_cal', ...
'MapFile','slrt_ex_osc_cal_sg_rtw/slrt_ex_osc_cal', ...
'Comments',false);3.使用第三方校准工具连接到目标设备。
关闭所有打开的文件
bdclose(model);
另请参阅
n-D Lookup Table | coder.asap2.export | extractASAP2 | updateASAP2 | RTW.getBuildDir