exponenta event banner

Simulink.sdi.copyRun

Копирование запуска инспектора расчетных данных

Описание

newRunID = Simulink.sdi.copyRun(runID) копирует прогон, соответствующий runID и возвращает идентификатор прогона для нового прогона. Новый прогон включает все данные моделирования и метаданные из исходного прогона. Можно изменить копию прогона путем добавления или удаления сигналов и метаданных при сохранении исходного прогона.

[newRunID,runIndex] = Simulink.sdi.copyRun(runID) копирует прогон, соответствующий runID и возвращает идентификатор и индекс прогона в репозитории Simulation Data Inspector для нового прогона. Новый прогон включает все данные моделирования и метаданные из исходного прогона.

пример

[newRunID,runIndex,signalIDs] = Simulink.sdi.copyRun(runID) копирует прогон, соответствующий runID и возвращает идентификаторы сигналов в новом прогоне вместе с их идентификаторами и индексами в репозитории Simulation Data Inspector. Новый прогон включает все данные моделирования и метаданные из исходного прогона.

Примеры

свернуть все

В этом примере показано, как использовать Simulink.sdi.copyRun и Simulink.sdi.deleteSignal для создания копии прогона, содержащей подмножество сигналов из исходного прогона. Копию можно использовать для анализа и выполнения сравнений по подмножеству сигналов при сохранении на исходном прогоне, содержащем все сигналы. Например, модель sldemo_fuelsys сконфигурирован для регистрации десяти сигналов. Для сравнения ответов системы на различные типы отказов не требуется выполнять сравнение по всем зарегистрированным сигналам. Удаление сигналов, которые не представляют отклик системы перед выполнением сравнения, экономит время обработки и упрощает просмотр результатов.

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

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

load_system('sldemo_fuelsys')
modelWorkspace = get_param('sldemo_fuelsys','modelworkspace');
modelWorkspace.assignin('throttle_sw',0)
modelWorkspace.assignin('ego_sw',1)
sim('sldemo_fuelsys')

modelWorkspace.assignin('throttle_sw',1)
modelWorkspace.assignin('ego_sw',0)
sim('sldemo_fuelsys')

Копирование прогона

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

% Get runs
runIDs = Simulink.sdi.getAllRunIDs;

runID1 = runIDs(end-1);
runID2 = runIDs(end);

run1 = Simulink.sdi.getRun(runID1);
run2 = Simulink.sdi.getRun(runID2);

% Create a copy of each run, truncRun
[truncRun1,runIndex1,signalIDs1] = Simulink.sdi.copyRun(runID1);
[truncRun2,runIndex2,signalIDs2] = Simulink.sdi.copyRun(runID2);

Удаление сигналов в копии прогона

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

Simulink.sdi.deleteSignal(signalIDs1(1))
Simulink.sdi.deleteSignal(signalIDs1(3))
Simulink.sdi.deleteSignal(signalIDs1(5))
Simulink.sdi.deleteSignal(signalIDs1(8))

Simulink.sdi.deleteSignal(signalIDs2(1))
Simulink.sdi.deleteSignal(signalIDs2(3))
Simulink.sdi.deleteSignal(signalIDs2(5))
Simulink.sdi.deleteSignal(signalIDs2(8))

Сравнить усеченные ветви

Можно использовать усеченные ветви, созданные с помощью Simulink.sdi.copyRun и Simulink.sdi.deleteSignal для сравнения реакции системы на различные типы отказов. Затем откройте инспектор данных моделирования для просмотра результатов сравнения.

truncRunDiff = Simulink.sdi.compareRuns(truncRun1,truncRun2);

Simulink.sdi.view

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

свернуть все

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

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

свернуть все

Идентификатор прогона для копии прогона.

Индекс копии в репозитории Simulation Data Inspector.

Матрица, содержащая идентификаторы сигналов для копий сигналов, созданных в копии прогона.

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