Simulink.sdi.copyRun

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

Синтаксис

newRunID = Simulink.sdi.copyRun(runID)
[newRunID,runIndex] = Simulink.sdi.copyRun(runID)
[newRunID,runIndex,signalIDs] = Simulink.sdi.copyRun(runID)

Описание

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