В этом примере показано, как отладить базовые отказы Simulink Test при помощи Ножа Модели. Предопределенный базовый тест обеспечивается для использования с sltestDemo_fuelsys
модель.
Базовая линия получена от более раннего состояния модели. После получения базовой линии ошибка проектирования введена в модели, которая заставляет базовый тест перестать работать. Затем Нож Модели используется, чтобы отладить отказ и локализовать ошибку проектирования.
В этом разделе описывается запустить тест и просмотреть результаты.
1. Откройте sltestDemo_fuelsys
модель.
open_system('sltestDemo_fuelsys');
2. Нажмите APPS> Model Verification, Validation и Test> Simulink Test, чтобы открыть панель инструментов Simulink Test.
3. Нажмите Tests> Simulink Test Manager к открыть менеджера по Тесту.
4. Чтобы открыть существующий тестовый файл, от менеджера по Тесту панель инструментов, нажимают Open и выбирают slTestBaselineFailureEx
.
5. После загрузок тестового файла выберите New Test Case1 в Тестовой панели Браузера.
6. Нажмите Run.
7. Новые результаты испытаний появляются наверху панели Результатов и Артефактов. Щелкните правой кнопкой по результату и выберите Expand All Under, так, чтобы вы видели Базовый Результат Критериев.
Заметьте, что три сигнала перестали работать: air_fuel_ratio
, ego
, и fuel
. Этот пример использует не пройдено fuel
сигнал проиллюстрировать отлаживающий рабочий процесс.
В этом разделе описывается установить Нож Модели для отладки не пройдено fuel
сигнал.
1. Сравнить fuel
сигналы между моделью и базовой линией, расширьте Базовый Результат Критериев и установите переключатель рядом с fuel
сигнал. Другой способ выбрать не пройдено сигнал из выпадающего списка Signal to Debug на панели инструментов.
В области построения сравните выход модели с базовыми данными.
2. Нажмите Debug в разделе TOOLS панели инструментов. Обратите внимание на то, что Параметр отладки включен только, когда не пройдено базовый сигнал построен.
Вкладка DEBUG заменяет все существующие вкладки панели инструментов. Несколько менеджер по Тесту опции скрыт или отключен, чтобы создать среду отладки.
3. Чтобы настроить Нож Модели, нажмите Debug Using Slicer.
Отладка Используя Нож готовит сеанс отладки:
Повторное выполнение теста и создание новых результатов отладки. Это убеждается, что отказ все еще существует в текущем состоянии тестовой модели.
Запуск Ножа Модели на тестовой модели.
Автоматически строя выбранный не пройдено сигнал в результатах отладки и установку не пройдено сигнала как точка времени начала.
Приостановка симуляции во время начала модели, чтобы продолжить отлаживать.
Этот раздел объясняет, как фокусироваться в на причине отказа при помощи функций отладки Ножа Модели.
1. Используйте кнопки Step Back / Step Forward, чтобы положить обратно один шаг или вперед во времени симуляции. Левый Data Cursor перемещается в текущее время симуляции. Наблюдайте изменения в зависимостях по данным путем замечания измененного выделения модели и меток значения порта для активных сигналов в каждой метке времени.
Можно также использовать, Запускаются/Продолжают/Останавливают, чтобы запустить новую симуляцию, или завершить или остановить текущую симуляцию.
2. В менеджере по Тесту нажмите Continue to Failure, чтобы продолжить симуляцию модели к началу следующего места ошибки. Data Cursor показывают границы области отказа.
Наблюдайте эти изменения в месте ошибки:
Симуляция делает паузу в T = 4.81.
Data Cursor обновляются соответственно.
Различие между Базовой линией и Симом Аутпутом 0.007.
От выделения Ножа Модели можно найти причину этого различия и видеть что sltestDemo_fuelsys/To Plant/fuel
значение зависит от sltestDemo_fuelsys/To Plant
.
3. Открытый sltestDemo_fuelsys/To Plant
. Заметьте, что нет никакого изменения в распространяемом значении.
4. Открытый sltestDemo_fuelsys/fuel_rate_control
.
Заметьте что fb_correction
значение 0. Различие между Базовой линией и Выходом Сима 0.007, который является маленьким значением. Это может быть тот fb_correction
не вычисляется правильно.
5. Открытый sltestDemo_fuelsys/fuel_rate_control/airflow_calc
, который вычисляет fb_correction
, и наблюдайте зависимости по данным.
Заметьте, что константа, 0, передается через sltestDemo_fuelsys/fuel_rate_control/airflow_calc/hold integrator
блок switch. Определить, почему порт управления оценивает к false
для блока switch зависимости от управления должны быть подсвечены на модели.
6. Включите Зависимости от Управления Отображением из раздела Simulation Time Window в Диалоговом окне Ножа Модели, прикрепленном на модели.
Заметьте что:
sltestDemo_fuelsys/fuel_rate_control/airflow_calc/fuel_mode
значением является LOW, но fb_correction
является все еще нулевым.
fuel_mode
сравнивается с sltestDemo_fuelsys/fuel_rate_control/airflow_calc/Enumerated Constant
, который оценивает ко лжи.
Значение Перечислимой константы установлено к sld_FuelModes.RICH
. Это должно проверять по fuel_mode
значение sld_FuelModes.LOW
.
1. Выйдите из сеанса отладки путем нажатия на SESSION> Close Debug.
2. Откройте модель и обновите sltestDemo_fuelsys/fuel_rate_control/airflow_calc/Enumerated Constant
значение к sld_FuelModes.LOW
.
3. Сохраните модель.
4. Запустите тест и просмотрите результаты.
Теперь заметьте, что результаты испытаний показывают тест передававший.
Если модель собирается запуститься в режиме кроме Режима normal mode, такого как SIL или PIL, Нож Модели изменяет настройку модели, таким образом, это запускается в Режиме normal mode.
Для моделей, которые не поддерживают режим Fast Restart, отключен раздел SIMULATION панели инструментов. Используйте раздел ANALYSIS, чтобы отладить отказ.
Раздел ANALYSIS доступен только, когда модель не симулирует, такой как тогда, когда вы нажимаете Continue или Stop в разделе SIMULATION. Это подсвечивает область времени вместо временного шага. Чтобы задать область времени, переместите Data Cursor вручную или используйте Следующий Отказ или Предыдущий Отказ. Затем можно использовать Подсветку Ножа Обновления, чтобы обновить выделение модели в течение заданного интервала времени.
Результаты должны быть сгенерированы от текущего релиза.
Отладка verify
сигналы не поддерживаются.