本页面提供的是上一版软件的文档。当前版本中已删除对应的英文页面。

通过 Simulink 使用 ASAM CDFX 数据

此示例说明如何使用 CDF 文件中的标定数据作为 Simulink 模型的输入。

导入数据

使用 cdfx 函数导入标定数据。

cdfxObj = cdfx("CDFXExampleFile.cdfx")
cdfxObj = 
  CDFX with properties:

       Name: "CDFXExampleFile.cdfx"
       Path: "/tmp/BR2020ad_1309140_40591/mlx_to_docbook1/tp92f3febe/vnt-ex88524458/CDFXExampleFile.cdfx"
    Version: "CDF20"

实例化局部变量

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

gainParam = getValue(cdfxObj, "ASAM.C.SCALAR.GAIN")
gainParam = 3
mapParam = getValue(cdfxObj, "ASAM.C.MAP")
mapParam = struct with fields:
    PhysicalValue: [5x5 double]
            Axis1: [1x1 struct]
            Axis2: [1x1 struct]

查找-增益模型

open_system("CDFXSimulinkModel.slx");
cdfxMdl = gcs
cdfxMdl = 
'CDFXSimulinkModel'

该模型包含:

  • 2-D Lookup Table 模块,表示 CDFX 文件中的 ASAM.C.MAP 参数。“Table data”字段,表示实例的物理值;“Breakpoint”字段,表示轴的物理值。

  • Gain 模块,表示 CDFX 文件中的 ASAM.C.SCALAR.GAIN 参数。

  • To Workspace 模块,用于记录仿真数据。

Indexing Logic 子系统

Indexing Logic 子系统使用 ASAM.C.MAP 参数轴的物理值以及信号路由模块和触发子系统,来生成查找索引的所有有效组合。如果您需要在标定参数的全部可能输入值范围内进行测试,这种配置会很有用。

在 MATLAB 中记录输出数据

仿真的输出由 To Workspace 模块发送到 MATLAB,在那里它存储为时序对象,称为 mapData。现在可以在 MATLAB 工作区中检查和可视化这些数据。

sim(cdfxMdl);
plot(mapData)
title("Simulation Output for ASAM.C.MAP")

% Copyright 2018 The MathWorks, Inc.