exponenta event banner

Simulink.sdi.getRun

Доступ к данным для запуска инспектора расчетных данных

Описание

пример

run = Simulink.sdi.getRun(runID) возвращает Simulink.sdi.Run объект, предоставляющий доступ к данным в прогоне, соответствующем runID. Инспектор данных моделирования назначает идентификаторы прогонов при создании прогона. Идентификатор прогона можно получить с помощью Simulink.sdi.getAllRunIDs или Simulink.sdi.getRunIDByIndex.

Примеры

свернуть все

Многие задачи, выполняемые с помощью программного интерфейса Simulation Data Inspector, начинаются с доступа к Simulink.sdi.Run объект, соответствующий записанным или импортированным данным, которые требуется проанализировать. Например, можно использовать Run объект для доступа к Simulink.sdi.Signal объекты, соответствующие отдельным сигналам в прогоне.

В этом примере показано, как получить доступ Run с помощью Simulink.sdi.Run.getLatest функция, Simulink.sdi.getCurrentSimulationRun функции или Simulink.sdi.getRun функция.

Создание прогона

Модель sldemo_fuelsys уже настроен для ведения журнала. При моделировании модели инспектор данных моделирования автоматически создает прогон и назначает ему идентификатор прогона.

load_system('sldemo_fuelsys')
sim('sldemo_fuelsys')

Получить объект запуска с помощью Simulink.sdi.Run.getLatest

В этом примере прогон, созданный при моделировании модели, является последним созданным прогоном в инспекторе данных моделирования. Если требуется получить доступ к последнему созданному прогону, используйте Simulink.sdi.Run.getLatest функция.

fuelsysRun = Simulink.sdi.Run.getLatest;

Получить объект запуска с помощью Simulink.sdi.getCurrentSimulationRun

Возможно, прогон, к которому требуется получить доступ, не является последним созданным прогоном в инспекторе данных моделирования. Если прогон соответствует последнему моделированию модели, можно использовать Simulink.sdi.getCurrentSimulationRun для доступа к Run объект. Вы также можете использовать Simulink.sdi.getCurrentSimulationRun для доступа к данным для текущего моделирования, когда моделирование передает данные в инспектор данных моделирования. Эта функция может быть полезна при работе с несколькими моделями.

В этом примере прогон, созданный при моделировании модели, является текущим прогоном моделирования для sldemo_fuelsys модель.

fuelsysRun = Simulink.sdi.getCurrentSimulationRun('sldemo_fuelsys');

Получение объекта выполнения из идентификатора выполнения

Если для выполнения задачи также требуется идентификатор выполнения, можно использовать Simulink.sdi.getRun для получения соответствующей функции Simulink.sdi.Run объект, содержащий данные выполнения и метаданные.

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);
fuelsysRun = Simulink.sdi.getRun(runID);

В этом примере показано, как получить доступ к Simulink.sdi.Run для запуска инспектора данных моделирования, созданного с помощью сигналов регистрации. От Simulink.sdi.Run объект, который вы можете получить Simulink.sdi.Signal объекты, содержащие записанные данные сигнала и метаданные. Вы можете использовать Signal объекты и plotOnSubPlot для печати данных в инспекторе расчетных данных.

Создание прогона моделирования и доступ к Run Объект

ex_vdp модель регистрирует два сигнала. Чтобы создать прогон моделирования, содержащий записанные данные, смоделируйте модель.

sim('ex_vdp');

Инспектор данных моделирования отслеживает выполнение, присваивая уникальный числовой идентификатор выполнения каждому выполнению, созданному путем моделирования, импорта данных или открытия сеанса. Для доступа к объекту прогона только что выполненного моделирования используйте Simulink.sdi.getAllRunIDs и возьмите идентификатор последнего прогона в возвращенном векторе.

runIDs = Simulink.sdi.getAllRunIDs;
runID = runIDs(end);

После получения идентификатора прогона можно использовать Simulink.sdi.getRun для получения функции Simulink.sdi.Run объект, соответствующий прогону. Вы можете использовать Run объект для проверки метаданных, связанных с выполнением, включая количество сигналов в выполнении.

vdpRun = Simulink.sdi.getRun(runID);

vdpRun.SignalCount
ans = int32
    2

Печать данных с использованием Signal Объекты

Используйте getSignalByIndex для доступа к сигналам от Run объект, fuelRun.

signal1 = getSignalByIndex(vdpRun,1);
signal2 = getSignalByIndex(vdpRun,2);

Используйте Simulink.sdi.setSubPlotLayout для задания компоновки «3 на 1».

Simulink.sdi.setSubPlotLayout(2,1)

Перед выводом данных на печать используйте Simulink.sdi.clearAllSubPlots для очистки всех уже выведенных на печать данных.

Simulink.sdi.clearAllSubPlots

Постройте график по одному сигналу на каждом вложенном графике. Для печати сигналов на первом вложенном графике можно установить checked свойство для сигнала. Для вывода на печать сигналов на подсхемах, отличных от первого, используйте plotOnSubPlot функция.

signal1.Checked = true;
plotOnSubPlot(signal2,2,1,true);

Просмотр выводимых на печать данных

Чтобы просмотреть только что созданные графики, откройте инспектор расчетных данных с помощью Simulink.sdi.view функция.

Входные аргументы

свернуть все

Идентификатор прогона для прогона, который требуется Simulink.sdi.Run объект для. Инспектор данных моделирования назначает идентификаторы прогонов при их создании. Идентификатор прогона можно получить с помощью Simulink.sdi.getAllRunIDs или Simulink.sdi.getRunIDByIndex.

Выходные аргументы

свернуть все

Simulink.sdi.Run объект для прогона, соответствующий идентификатору прогона.

Представлен в R2011b