exponenta event banner

Тестирование контроллера проектора с помощью verify и тесты в реальном времени

Выполните тестирование в реальном времени на целевом компьютере и проверьте поведение системы на соответствие требованиям.

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

В этом примере используется Simulink ® Real-Time™. Перед началом работы ознакомьтесь с требованиями к системе Simulink Real-Time. В этом примере также используется документ требований в формате Microsoft ® Word.

Задайте имена тестовых файлов, моделей и кабелей для примера.

testFile = 'sltestProjectorCtrlTests.mldatx';
testHarness = 'Req_scenario_4';
model = 'sltestProjectorController';

Откройте модель:

open_system(model)

Просмотреть ссылки на требования

Модель и тестовые комплекты связаны с требованиями, указанными в ProjectorControlRTRequirements.slreqx. Откройте редактор требований для просмотра этих требований. Функциональные требования группируются под индексом 1 и сопоставляются с объектами в модели Simulink. Использовать Highlight Links в Requirements приложение в модели для отслеживания требований к их реализации. Требования к тестам группируются в индексе 2 и сопоставляются с тестовыми случаями в диспетчере тестов.

open('ProjectorControlRTRequirements.slreqx');

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

sltest.harness.open(model,testHarness)
rmi('highlightModel',testHarness)

close_system((model),0)

Открытие тестового файла и настройка целевого компьютера в реальном времени

Откройте тестовый файл путем ввода: open(testFile)

Тестовый файл содержит два тестовых набора, каждый из которых тестирует четыре сценария. Один набор моделирует модель, а второй выполняет тесты на целевом компьютере в реальном времени. Тестовые жгуты используют блок оценки тестирования, который проверяет требования высокого уровня. Перед выполнением примера:

  1. Настройте целевой компьютер с помощью Simulink Real-Time Explorer.

  2. Подключитесь к целевому компьютеру.

  3. Если целевой компьютер не является целевым компьютером по умолчанию, обновите его в разделе Тестируемая система в каждом тестовом случае.

Дополнительные сведения о конфигурации в реальном времени см. в разделе Конфигурация системы (Simulink Real-Time).

Выполнить тесты моделирования модели

Запустите набор тестов моделирования модели. После завершения моделирования щелкните панель «Результаты и артефакты» в диспетчере тестов.

Разверните результаты Req_scenario_4 и раздел Проверить инструкции. verify операторы демонстрируют неудачные, успешные и непроверенные результаты:

  • Контроллер не работает в режиме высокой температуры или перегрева, поэтому соответствующий verify инструкции не проверены.

  • Контроллер выполняет требование о том, что если лампа включена, вентилятор также включен: verify_lamp_implies_fan.

  • Контроллер проходит тест на то, что система остается выключенной, если кнопка on_off нажата, когда температура выше предельного значения: verify_sc4_on.

  • Контроллер не выполняет тест на отключение системы, если кнопка on_off нажата, когда температура выше предельного значения: verify_sc4_off. Для устранения этой ошибки необходимо изменить OnOff Check подсистема в основной модели.

Дополнительные сведения см. в разделе Оценка моделирования модели с помощью операторов проверки.

Выберите verify_sc4_off и verify_lamp_implies_fan результаты для визуализации verify результаты оператора.

После выполнения тестов статус проверки автоматически становится доступным в редакторе требований. Перейдите в редактор требований и включите Verification Status в View для просмотра состояния кумулятивного теста.

Выполнение тестов в режиме реального времени и анализ результатов

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

Установите текущий рабочий каталог в каталог с возможностью записи. В диспетчере тестов запустите набор тестов в реальном времени.

В разделе Результат базового критерия (Baseline Criteria Result) показаны сравнения зарегистрированных данных в реальном времени с данными, полученными при моделировании модели. Результаты идентичны.

В разделе Проверить операторы (Verify Statements) показаны результаты, аналогичные результатам моделирования модели.

close_system(model,0)
sltest.testmanager.clear;
sltest.testmanager.clearResults;
clear testFile testHarness model;
slreq.clear;