exponenta event banner

Управление колебаниями с помощью duration Оператор

Следующий пример фокусируется на логике передачи автомобиля, когда он переключается с первой передачи на четвертую.

При моделировании переключения передач этой системы важно контролировать происходящие колебания. Модель sf_car использует логику устранения параллельного состояния, которая управляет активным состоянием зубчатой передачи. Дополнительные сведения о работе отладчиков в Stateflow ® см. в разделе Уменьшение переходных сигналов с помощью отладочной логики.

Можно упростить логику отладчика с помощью duration оператор. Это упрощение можно увидеть в модели sf_car_using_duration. duration оператор оценивает выражение условия и выводит время, в течение которого было выражение true. Когда этот промежуток времени превышает известный временной порог, состояние переходит на более высокую или более низкую передачу.

Путем удаления логики параллельного состояния и использования duration оператор, можно управлять колебаниями с помощью более простой логики Stateflow. duration поддерживается только в диаграммах Stateflow в модели Simulink ®.

Управляющее колебание с помощью логики параллельного состояния

Открытие модели sf_car. В то время как shift_logic подсвечивается, на вкладке Диаграмма состояний (State Chart) щелкните Поиск под маской (Look Under Mask).

Диаграмма Stateflow shift_logic управляет тем, на какой передаче находится автомобиль, учитывая скорость автомобиля и количество применяемого дросселя. В shift_logic существует два параллельных состояния: gear_state и selection_state. gear_state содержит четыре исключительных состояния для каждой передачи. selection_state определяет, находится ли автомобиль в режиме понижающей передачи, повышающей передачи или остается на текущей передаче.

В данном графике Stateflow для автомобиля, чтобы перейти от первой передачи ко второй передаче, событие UP должен быть отправлен из selection_state кому gear_state. Событие посылается, когда скорость пересекает порог и остается выше порога для периода времени, определяемого TWAIT. Когда событие UP отправляется, gear_state переходы из first кому second.

Управляющее колебание с помощью duration Оператор

Открытие модели sf_car_using_duration. В то время как Gear_Logic подсвечивается, на вкладке Диаграмма состояний (State Chart) щелкните Поиск под маской (Look Under Mask).

В Gear_Logic существует четыре исключительных состояния для каждой передачи. Локальные переменные up и down защищает переходы между каждым состоянием.

В данном графике Stateflow для автомобиля, чтобы перейти от первой передачи ко второй передаче, условие up должно быть true. Условие up определяется как true, если продолжительность времени, на которую скорость больше или равна порогу, больше, чем продолжительность времени, указанная TWAIT. Условие down определяется как true, если продолжительность времени, на которую скорость меньше или равна порогу, больше, чем продолжительность времени, указанная TWAIT. Оператор duration отслеживает продолжительность времени, в течение которого скорость была выше или ниже порогового значения. Когда up условие выполнено, активное состояние переходит из first кому second.

Путем замены логики устранения параллельного состояния на duration для моделирования переключения передач можно создать более простую диаграмму Stateflow.

См. также

Связанные темы