В этом примере показано, как использовать данные калибровки из CDF-файла в качестве входов для модели Simulink.
Импортируйте данные калибровки с помощью cdfx
функция.
cdfxObj = cdfx("CDFXExampleFile.cdfx")
cdfxObj = CDFX with properties: Name: "CDFXExampleFile.cdfx" Path: "/tmp/BR2021ad_1655202_62692/mlx_to_docbook1/tp4da62608/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'
Эта модель содержит:
двумерная интерполяционная таблица, чтобы представлять ASAM.C.MAP
параметр из файла CDFX. Поле «Table data» представляет физическое значение образца, а поля «Breakpoint» - физические значения осей.
Блок Gain, чтобы представлять ASAM.C.SCALAR.GAIN
параметр из файла CDFX.
В блок Рабочей области, чтобы войти в данные моделирования.
Логическая подсистема индексации использует физические значения осей ASAM.C.MAP
параметр, наряду с блоками маршрутизации сигналов и триггируемой подсистемой, для создания всех допустимых комбинаций интерполяционных индексов. Это строение может быть полезной, если вам нужно протестировать всюсь область значений возможных входных значений калибровочного параметра.
Выход симуляции отправляется в MATLAB блоком To Workspace, где он хранится как объект timeseries, называемый mapData
. Теперь эти данные можно проверить и визуализировать в рабочем пространстве MATLAB.
sim(cdfxMdl);
plot(mapData)
title("Simulation Output for ASAM.C.MAP")
% Копирайт 2018 The MathWorks, Inc.