Simulink.sdi.deleteSignal

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

Описание

пример

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