Оцените симуляцию и сравните выходные данные

Обзор

Функциональная проверка требует оценки поведения симуляции и сравнения выхода симуляции с ожидаемым выходом. Для примера можно:

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

  • Сравните две переменные во время симуляции.

  • Сравните данные timeseries с базовым уровнем.

  • Найдите peaks в данных timeseries и сравните peaks с шаблоном.

В этом разделе представлен обзор, который поможет вам создавать оценки для вашего конкретного приложения. В теме можно найти ссылки на более подробные примеры каждой оценки.

Можно включать оценки в тест, модель или тестовую обвязку.

  • В тест можно:

    • Сравните выходы симуляции с базовыми данными.

    • Сравните выходы двух симуляций.

    • Постпроцессное моделирование выхода с помощью пользовательского скрипта.

    • Оцените временные свойства с помощью логических и временных оценок.

  • В тестовой обвязке или модели можно:

    • Проверьте логические условия во время выполнения с помощью verify оператор, который возвращает pass, fail, или untested результат для каждого временного шага.

    • Использование assert операторы для остановки симуляции при отказе.

    • Используйте блоки из верификации модели или Simulink® Design Verifier™ библиотеки.

Сравнение данных моделирования с базовыми данными или другой симуляцией

Базовые критерии являются допусками для данных моделирования по сравнению с базовыми данными. Критерии эквивалентности являются допусками для двух наборов данных моделирования, каждый из разных симуляций. Можно задать допуски для числовых, перечисленных или логических данных.

Установите численный допуск с помощью абсолютных или относительных погрешностей. Установите временные допуски с помощью начальных и запаздывающих допусков. Для числовых данных можно задать абсолютную погрешность, относительную погрешность, ведущий допуск или запаздывающий допуск. Для перечисленных или логических данных можно задать начальный или запаздывающий допуск. Результаты вне допусков не выполняются. Для получения дополнительной информации смотрите Set Signal Tolerances.

Укажите базовые данные и допуски в Baseline Criteria Test Manager или Equivalence Criteria разделе. Результаты отображаются на панели Results and Artifacts. На графике сравнения отображаются данные и различия.

Этот рисунок показывает пример критериев опорной структуры. Критерии базовой линии устанавливают относительную погрешность для сигналов output torque и vehicle speed.

Постпроцессные результаты с помощью пользовательского скрипта

Можно анализировать данные моделирования с помощью специализированных функций с помощью пользовательского скрипта критериев. Для примера можно найти peaks в данных временных рядов с помощью функций Curve Fitting Toolbox™. Пользовательский скрипт критериев - MATLAB® код, который запускается после симуляции. Пользовательские критерии скриптов использовать среду Модульного теста MATLAB.

Напишите пользовательский критерий, скрипт в разделе Custom Criteria Test Manager теста. Результаты пользовательских критериев отображаются на панели Results and Artifacts. Результаты показаны для отдельных проверок модульного теста MATLAB. Для получения дополнительной информации см. раздел «Обработка результатов тестирования с помощью пользовательских скриптов».

Этот простой критерий теста проверяет, что значение slope больше 0.

% A simple custom criteria
test.verifyGreaterThan(slope,0,'slope must be greater than 0')

Оценки во время выполнения

verify Операторы

Для общих оценок во время выполнения используйте verify операторы. A verify оператор вычисляет логическое выражение и возвращает проходной, неудачный или непроверенный результат для каждого временного шага симуляции. verify операторы могут включать временный и условный синтаксис. Отказ не останавливает симуляцию.

Введите verify операторы в Test Assessment или Test Sequence блоке с помощью редактора тестовых последовательностей. Можно использовать verify операторы с тестовым случаем или без него в диспетчере тестов. Без теста результаты появляются в Данные моделирования Inspector. В тестовом примере результаты появляются в Диспетчере тестов.

Для получения информации об использовании verify операторы в вашей модели, см. Оценка симуляции модели Используя операторы верификации.

assert Операторы

Можно использовать assert операторы в Test Assessment или Test Sequence блоке, чтобы остановить выполнение недопустимого теста. assert оценивает логический аргумент, но в отличие от verify, assert останавливает симуляцию. Отказы появляются как ошибки симуляции. Чтобы облегчить интерпретацию результатов, добавьте дополнительное сообщение.

Для примера, если тестируемый компонент выходов два сигнала h и k, и тест требует h и k чтобы инициализировать в 0, использовать assert чтобы остановить тест, если сигналы не инициализируются. Этот assert оператор возвращает сообщение 'Signals must initialize to 0' если логическое условие h == 0 && k == 0 сбой.

Оценки для проверки в реальном времени

Если вы используете тест в реальном времени или хотите повторно использовать тест симуляции рабочего стола на цели в реальном времени, используйте verify операторы. verify операторы встроены в приложение реального времени и выполняются на целевом устройстве в реальном времени. Смотрите Оценку Симуляции Модели Используя Операторы Проверки.

Моделируйте блоки верификации

Используйте блоки из библиотеки Simulink Верификация модели или библиотеки Simulink Design Verifier, чтобы оценить сигналы в вашей модели или тестовой обвязке. pass, fail, или untested результаты каждого блока отображаются в Диспетчере тестов. Для получения дополнительной информации см. «Изучение результатов проверки модели при помощи Данных моделирования Inspector».

Примечание

Все библиотечные блоки Верификация модели, включая блок Assertion, не дают результатов верификации при использовании в For Each subsystems. Используйте блок Test Sequence с verify вместо этого операторы.

Примеры оценок во время выполнения

Этот пример тестовой обвязки включает в себя:

  • A verify оператор в блоке Test Assessment, проверяющий, что signalC >= 5.

  • Блок Assertion, проверяющий, что throttle >= 0.

Логические и временные оценки

Логические и временные оценки оценивают временные свойства, такие как тайминг модели и упорядоченное расположение событий по записанным данным. Используйте временные оценки для дополнительной верификации системы после завершения симуляции. Временные оценки связаны с тестовыми случаями в Диспетчере тестов. Составьте временные оценки при помощи Logical and Temporal Assessments Editor. Смотрите Оценку временной логики при помощи временных оценок для получения дополнительной информации.

Результаты оценки времени появляются на панели Results and Artifacts. Используйте дерево выражений для детального исследования результатов. Если у вас есть лицензия Simulink Requirements™, можно установить трассируемость между требованиями и временными оценками, создав ссылки требований. Для получения дополнительной информации см. Ссылку на требования.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте