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

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

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

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

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

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

Откройте модель sf_car. В то время как shift_logic подсвечен, во вкладке State Chart, нажмите Look Under Mask.

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

В этой диаграмме 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 задан как верный, если отрезок времени, которого скорость больше или равна порогу, больше отрезка времени, который задан TWAIT. Условие down задан как верный, если отрезок времени, что скорость меньше чем или равна порогу, больше отрезка времени, который задан TWAIT. Оператор duration отслеживает отрезок времени, что скорость была выше или ниже порога. Когда up условие соблюдают, активные изменения состояния от first к second.

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

Смотрите также

Похожие темы