Simulink.sdi.deleteSignal

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

Синтаксис

Simulink.sdi.deleteSignal(sigID)

Описание

пример

Simulink.sdi.deleteSignal(sigID) удаляет сигнал, соответствующий sigID от Инспектора Данных моделирования репозиторий.

Примеры

свернуть все

Этот пример показывает, как использовать 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 сигнала для сигнала как возврат из Simulink.sdi.createRun или использование методов объекта Simulink.sdi.Run.

Введенный в R2016a