Simulink.sdi.copyRun

Скопируйте запущенного Инспектора Данных моделирования

Описание

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

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

пример

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

Примеры

свернуть все

В этом примере показано, как использовать 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

Входные параметры

свернуть все

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

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

свернуть все

Запустите ID для копии запуска.

Индекс копии в Инспекторе Данных моделирования репозиторий.

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

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