Simulink.sdi.deleteSignal

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

Описание

пример

Simulink.sdi.deleteSignal(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 сигнала или вектора из идентификаторов сигнала. Инспектор Данных моделирования присваивает уникальный числовой ID сигнала каждому сигналу, когда запуск создается для регистрируемых или импортированных данных.

Можно получить ID сигнала для сигнала с помощью одной из этих функций:

Введенный в R2016a