Протестируйте точки включения понижающей передачи контроллера передачи

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

Модель и контроллер

Этот пример использует TransmissionDownshiftTestSequence модель, которая является упрощенной системой ходовой части, расположенной в настройке объекта контроллера. Цель является к модульному тесту поведением включения понижающей передачи контроллера передачи.

Тест

Контроллер должен включить понижающую передачу между передаточными отношениями в ответ на увеличивающееся приложение дросселя. Тестовые воздействия содержат скорость транспортного средства, постоянную при сползании дросселя. Блок 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 оператор выходные параметры.