Отладка непройденных тестов Используя нож модели

В этом примере показано, как отладить базовую линию Simulink Test и отказы верификации при помощи Ножа Модели. Предопределенный базовый тест обеспечивается для использования с sltestDemo_fuelsys модель.

Базовая линия получена от более раннего состояния модели. После получения базовой линии ошибка проектирования введена в модели, которая заставляет базовый тест перестать работать. Затем Нож Модели используется, чтобы отладить отказ и локализовать ошибку проектирования.

Шаг 1: подготовка артефактов

В этом разделе описывается запустить тест и просмотреть результаты.

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, и FeuelModeAssertion. Этот пример использует не пройдено fuel сигнал проиллюстрировать отлаживающий рабочий процесс.

Шаг 2: ввод сеанса отладки

В этом разделе описывается установить Нож Модели для отладки не пройдено fuel сигнал.

1. Сравнить fuel сигналы между моделью и базовой линией, расширьте Базовый Результат Критериев и установите переключатель рядом с fuel сигнал. Аналогично, чтобы отладить проверять сигнал, расширьте Проверять Операторы и выберите не пройдено, проверяют сигнал. Другой способ выбрать не пройдено сигнал из выпадающего списка Signal to Debug на панели инструментов.

В области построения сравните выход модели с базовыми данными.

2. Нажмите Debug в разделе TOOLS панели инструментов. Обратите внимание на то, что Параметр отладки включен только, когда не пройдено базовая линия или проверяет, что сигнал построен.

Вкладка DEBUG заменяет все существующие вкладки панели инструментов. Несколько менеджер по Тесту опции скрыт или отключен, чтобы создать среду отладки.

3. Чтобы настроить Нож Модели, нажмите Debug Using Slicer.

Отладка Используя Нож готовит сеанс отладки:

  1. Повторное выполнение теста и создание новых результатов отладки. Это убеждается, что отказ все еще существует в текущем состоянии тестовой модели.

  2. Запуск Ножа Модели на тестовой модели.

  3. Автоматически строя выбранный не пройдено сигнал в результатах отладки и установку не пройдено сигнала как точка времени начала.

  4. Приостановка симуляции во время начала модели, чтобы продолжить отлаживать.

Шаг 3: Отладка Ножа Модели использования

Этот раздел объясняет, как фокусироваться в на причине отказа при помощи функций отладки Ножа Модели.

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.

Шаг 4: Слияние фиксации

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 вручную или используйте Следующий Отказ или Предыдущий Отказ. Затем можно использовать Подсветку Ножа Обновления, чтобы обновить выделение модели в течение заданного интервала времени.

  • Результаты должны быть сгенерированы от текущего релиза.

  • Отладка эквивалентных тестов с помощью Ножа Модели не поддерживается.