主要内容

使用cdfx文件与Simulink数据字典

这个例子展示了如何将ASAM cdfx文件中的校准数据存储在数据字典中,并使用这些值作为Simulink®模型的参数。

导入数据

导入校准数据cdfx函数。

cdfxObj = cdfx (“CDFXExampleFile.cdfx”
cdfxObj = CDFX属性:Name: "CDFXExampleFile. "cdfx" Path: "/mathworks/home/rollinb/Documents/MATLAB/Examples/vnt-ex73237310-20190405222527/CDFXExampleFile.cdfx" Version: "CDF20"

用校准数据创建和填充数据字典

使用getValue提取所需的参数到MATLAB®工作空间。

dictName =“CDFXExampleDD.sldd”
dictName = " CDFXExampleDD.sldd "

检查字典是否已经在工作文件夹中。

如果isfile (dictName)如果数据字典存在,打开它。dDict = Simulink.data.dictionary.open (dictName)其他的如果字典不存在,创建它并用CDFX数据填充。dDict = Simulink.data.dictionary.create(dictName)“设计数据”) addEntry (ddSection“gainParam”getValue (cdfxObj“ASAM.C.SCALAR.GAIN”) addEntry (ddSection“mapParam”getValue (cdfxObj“ASAM.C.MAP”))结束
dDict =带有属性的字典:DataSources: {0×1 cell} HasAccessToBaseWorkspace: 0 EnableAccessToBaseWorkspace: 0 HasUnsavedChanges: 0 NumberOfEntries: 2

显示数据字典的内容。

listEntry (dDict)
节名状态数据源LastModified LastModifiedBy类设计数据gainParam CDFXExampleDD。rollinb double设计数据mapam CDFXExampleDD。SLDD 2019-04-05 22:33 rollinb结构

链接数据字典到Simulink模型

打开Simulink模型,然后使用set_param将现有数据字典链接到模型。这将允许模型访问字典中定义的值。

open_system (“CDFXSLDDModel.slx”);cdfxMdl = gcs
cdfxMdl = ' CDFXSLDDModel '
set_param (gcs,“DataDictionary”dictName)

现在可以关闭到数据字典的连接。

关上(dDict)

Lookup-Gain模型

这个模型包含:

  • 的二维查找表块来表示ASAM.C.MAP参数。“Table data”字段表示实例的物理值,“Breakpoint”字段表示轴的物理值。

  • 增益块来表示ASAM.C.SCALAR.GAIN参数。

  • 到工作区块以记录模拟数据。

索引逻辑子系统

索引逻辑子系统使用的轴的物理值ASAM.C.MAP参数,以及信号路由块和触发子系统,以生成查找索引的所有有效组合。如果需要在校准参数的所有可能输入值范围内进行测试,则此配置非常有用。

日志输出数据在MATLAB

模拟的输出通过to Workspace块发送到MATLAB,在那里它被存储为一个名为mapData.这些数据现在可以在MATLAB工作区中检查和可视化。

sim (cdfxMdl);情节(mapData)标题(ASAM.C.MAP的仿真输出

The MathWorks, Inc.版权所有

Baidu
map