Simulink.sdi.copyRun

Скопируйте Моделирование запущенный Data Inspector

Синтаксис

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 выполнения и индекс в Моделировании репозиторий Data Inspector для нового выполнения. Новое выполнение включает все данные моделирования и метаданные от исходного выполнения.

пример

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

Примеры

свернуть все

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

Создайте выполнения

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

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')

Скопируйте выполнение

Используйте Моделирование программируемый интерфейс Data Inspector, чтобы получить объекты 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, чтобы выполнить сравнение ответа системы на различные типы отказов. Затем откройте Моделирование Data Inspector, чтобы просмотреть результаты сравнения.

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

Simulink.sdi.view

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

свернуть все

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

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

свернуть все

Запустите ID для копии выполнения.

Индекс копии в Моделировании репозиторий Data Inspector.

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

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

Была ли эта тема полезной?