主要内容

使用CDFX-Files与Simulin金宝appk数据字典

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

导入数据

使用。导入校准数据cdfx函数。

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

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

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

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

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

如果isfile (dictName)%如果数据字典存在,请打开数据字典。dDict = 金宝appSimulink.data.dictionary.open (dictName)其他的%如果dictionary不存在,创建它并用CDFX数据填充。(Simulin金宝appk.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)
Section Name Status DataSource LastModified LastModifiedBy Class Design Data gainParam CDFXExampleDD。sldd 2019-04-05 22:33 rollinb double Design Data mapParam CDFXExampleDD。SLDD 2019-04-05 22:33 rollinb struct

将数据字典链接到Simulink模型金宝app

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

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

现在我们可以关闭与数据字典的连接。

关上(dDict)

Lookup-Gain模型

这个模型包含:

  • 块来表示ASAM.C.MAP参数来自cdfx文件。“Table data”字段表示实例的物理值,“Breakpoint”字段表示轴的物理值。

  • 块来表示ASAM.C.SCALAR.GAIN参数来自cdfx文件。

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

索引逻辑子系统

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

日志输出数据在MATLAB

仿真的输出由to Workspace块发送到MATLAB,在那里它被存储为一个被调用的时间序列对象mapData.现在可以在MATLAB工作空间中检查和可视化这些数据。

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

版权所有The MathWorks, Inc.