Этот пример демонстрирует, как протестировать передачу, переключают логический контроллер, использующий тестовые последовательности, и тестируют оценки.
Этот пример использует упрощенную систему ходовой части, расположенную в настройке объекта контроллера. Цель является к модульному тесту поведением включения понижающей передачи контроллера передачи.
Контроллер должен включить понижающую передачу между передаточными отношениями в ответ на увеличивающееся приложение дросселя. Тестовые воздействия содержат скорость транспортного средства, постоянную при сползании дросселя. Блок Test Assessment включает основанные на требованиях оценки производительности контроллера.
Кликните по значку на подсистеме shift_controller
и откройте тестовую обвязку controller_harness
. Тестовая обвязка содержит блок Test Sequence и блок Test Assessment, соединенный с подсистемой контроллера.
Дважды кликните блок Test Sequence, чтобы открыть Тестовый Редактор Последовательности.
Тестовая скорость пандусов последовательности к 75, чтобы инициализировать контроллер на четвертой передаче. Дроссель затем сползается на постоянной скорости до переключения передач. Последующая инициализация и включения понижающей передачи выполняются. После изменения в первой передаче, тестовых остановках последовательности.
Этот пример тестирует следующие условия:
Значение скорости должно быть больше или быть равно 0.
Значение механизма должно быть больше 0.
Значение дросселя должно быть между 0 и 100.
Контроллер сдвига должен сохранить скорость транспортного средства ниже заданных максимумов в каждом из первых трех механизмов.
Откройте блок Test Assessment. assert
операторы соответствуют первым трем условиям. Если контроллер нарушает утверждение, сбои симуляции.
assert(speed >= 0, 'speed must be >= 0'); assert(throttle >= 0, 'throttle must be >= 0 and <= 100'); assert(throttle <= 100, 'throttle must be >= 0 and <= 100'); assert(gear > 0,'gear must be > 0');
Последнее условие проверяется тремя verify
операторы, соответствующие максимальным скоростям в механизмах 3, 2, и 1:
Скорость транспортного средства не должна превышать 90 в механизме 3.
Скорость транспортного средства не должна превышать 50 в механизме 2.
Скорость транспортного средства не должна превышать 30 в механизме 1.
Когда последовательность разложения содержит verify
операторы. В, Когда последовательность разложения, условия сигнала определяют активный шаг. Шаг включает условие, которому предшествует when
оператор. Последний шаг Else
покрывает неопределенные условия и не использует when
оператор. Для получения дополнительной информации о Когда разложение, см. "Типы Перехода" в Тестовых Основах Последовательности.
OverSpeed3 when gear==3 verify(speed <= 90,'Engine overspeed in gear 3')
OverSpeed2 when gear==2 verify(speed <= 50,'Engine overspeed in gear 2')
OverSpeed1 when gear==1 verify(speed <= 30,'Engine overspeed in gear 1')
Симуляция тестовой обвязки демонстрирует прогрессивный пандус дросселя на каждом тестовом шаге и соответствующих включениях понижающей передачи. Контроллер передает все оценки в блоке Test Assessment.
Нажмите кнопку Simulation Data Inspector в панели инструментов тестовой обвязки, чтобы просмотреть результаты. Можно сравнить speed
предупредите к verify
оператор выходные параметры.