В этом примере показано, как сохранить калибровочные данные из файла ASAM CDFX в словаре данных и использовать эти значения в качестве параметров модели Simulink.
Импортируйте данные калибровки с помощью cdfx функция.
cdfxObj = cdfx("CDFXExampleFile.cdfx")cdfxObj =
CDFX with properties:
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"
% Check if dictionary is already in the working folder. if isfile(dictName) % If data dictionary exists, open it. dDict = Simulink.data.dictionary.open(dictName) else % If dictionary does not exist, create it and populate with CDFX data. dDict = Simulink.data.dictionary.create(dictName) ddSection = getSection(dDict, "Design Data") addEntry(ddSection, "gainParam", getValue(cdfxObj, "ASAM.C.SCALAR.GAIN")) addEntry(ddSection, "mapParam", getValue(cdfxObj, "ASAM.C.MAP")) end
dDict =
Dictionary with properties:
DataSources: {0×1 cell}
HasAccessToBaseWorkspace: 0
EnableAccessToBaseWorkspace: 0
HasUnsavedChanges: 0
NumberOfEntries: 2
% Display contents of the data dictionary.
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, затем используйте set param, чтобы связать существующий словарь данных с моделью. Это позволит модели получить доступ к значениям, определенным в словаре.
open_system("CDFXSLDDModel.slx");
cdfxMdl = gcscdfxMdl = 'CDFXSLDDModel'
set_param(gcs, 'DataDictionary', dictName)Теперь мы можем закрыть соединение со словарем данных.
close(dDict)

Эта модель содержит:
2-D Блок таблицы подстановки для представления ASAM.C.MAP из файла CDFX. Поле «Table data» представляет физическое значение экземпляра, а поля «Breakpoint» представляют физические значения осей.
Блок усиления для представления ASAM.C.SCALAR.GAIN из файла CDFX.
В блок рабочей области для регистрации данных моделирования.
В подсистеме логики индексирования используются физические значения осей ASAM.C.MAP параметр, наряду с блоками маршрутизации сигналов и запускаемой подсистемой, для получения всех допустимых комбинаций индексов поиска. Эта конфигурация может быть полезна, если необходимо проверить весь диапазон возможных входных значений калибровочного параметра.

Выходные данные моделирования отправляются в MATLAB блоком To Workspace, где хранятся в виде объекта временных рядов с именем mapData. Теперь эти данные можно проверить и визуализировать в рабочей области MATLAB.
sim(cdfxMdl);
plot(mapData)
title("Simulation Output for ASAM.C.MAP")
% Copyright 2018 The MathWorks, Inc.