Контроллер проектора, тестирующий Используя 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)

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

  1. Сконфигурируйте свой целевой компьютер с помощью Simulink Real-Time Explorer.

  2. Соединитесь со своим целевым компьютером.

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

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

Запустите тесты симуляции модели

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

Расширьте результаты Req_scenario_4 и расширьте раздел Verify Statements. 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 передача операторов. Тестовые обвязки регистрируют данные с помощью Логарифмических блоков Файла.

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

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

Раздел Verify Statements показывает подобные результаты симуляции модели.

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