Контроллер проектора Проверки использования verify и тесты в реальном времени

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

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

Этот пример использует Real-Time™ Simulink ®. Прежде чем начать, проверьте системные требования 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).

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

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

Разверните список результатов Req_scenario_4 и раздел «Проверить операторы». The 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 показаны сравнения записанных данных в реальном времени с данными, полученными из симуляции модели. Результаты идентичны.

В разделе «Проверить операторы» показаны результаты, аналогичные симуляции модели.

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