Simulink.sdi.deleteSignal

Удалите сигнал из Моделирования репозиторий Data Inspector

Синтаксис

Simulink.sdi.deleteSignal(sigID)

Описание

пример

Simulink.sdi.deleteSignal(sigID) удаляет сигнал, соответствующий sigID от Моделирования репозиторий 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

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

свернуть все

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

Введенный в R2016a

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