Контроллер проектора, тестирующий Используя verify и тесты в реальном времени

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

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

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

Определите имена модели и пути для примера:

filePath = fullfile(matlabroot,'toolbox','simulinktest','simulinktestdemos');
testFile = 'sltestProjectorCtrlTests.mldatx';
testHarness = 'Req_scenario_4';
model = 'sltestProjectorController';

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

open_system(fullfile(filePath,model))

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

Модель, тестовые обвязки, тестовые последовательности и тестовые наборы соединяются с функциональными требованиями, заданными в sltestProjectorCtrlReqs.docx. Подсветите требования в тестовой обвязке и протестируйте редактор последовательности, чтобы просмотреть соединенные элементы.

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

close_system(fullfile(filePath,model),0)

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

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

open(fullfile(filePath,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 Операторы.

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

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

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

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

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

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

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