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

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

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

  • Отладка verify сигналы не поддерживаются.