exponenta event banner

Модель сцепления

В этом примере показано моделирование примера сцепления Simulink ® с использованием состояний на основе Simulink в диаграмме Stateflow ®. Подробное описание физической системы см. в разделе Создание модели блокировки сцепления (Simulink).

Рекомендуемый рабочий процесс

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

Моделирование гибридной системы предполагает решение следующих проблем:

  • Моделирование непрерывной динамики

  • Моделирование логики режима

  • Инициализация состояний при переключении между режимами

Непрерывная динамика

Гибридные системы имеют множество режимов работы, где каждый режим определяется непрерывной динамикой. Если непрерывная динамика сложна, моделируйте ее с помощью состояний на основе Simulink. В этой модели Locked и Slipping состояния представляют два режима работы муфты. Блоки Simulink в основанном на Simulink состоянии представляют логику состояния. Эти блоки включают непрерывные временные блоки, такие как интеграторы. В каждом состоянии на основе Simulink можно получить доступ к входам и выходам диаграммы, создав входы и выходы с одинаковыми именами. Каждое состояние на основе Simulink считывается из подмножества входных данных диаграммы и записывается во все выходные данные диаграммы.

Логика режима

Логика режима относится к условиям, при которых модель переключается из одного режима работы в другой. В этом примере логика режима описывается логикой перехода между двумя состояниями на основе Simulink. Условия, необходимые для перехода из одного состояния на основе Simulink в другое, зависят от внутреннего состояния интеграторов в текущем активном режиме. Например, при переключении с Slipping кому Locked Stateflow должен считывать внутреннее состояние интегратора в Slipping режим.

Это возможно с использованием двух различных механизмов:

1. Использование блоков State Reader и State Writer внутри функций Simulink: Stateflow может вызывать функции Simulink в логике перехода между двумя режимами. В функции Simulink используйте блоки чтения состояния для определения внутреннего состояния интегратора. Например, функция Simulink detectLockup использует блок чтения состояния EngineSpeed считывание состояния блока интегратора sf_clutch/Clutch/Slipping/xe.

2. Использование квалифицированной точечной нотации на условиях перехода: Если логика перехода проста и может быть выражена текстуально, можно использовать синтаксис, как Slipping.we == ... см. состояние интегратора sf_clutch/Clutch/Slipping/xe. Чтобы этот синтаксис работал, State Name параметр интегратора должен быть установлен в «we».

Хэндовер состояния

При переключении с одного режима работы на другой интеграторы в вновь активированной подсистеме должны быть правильно инициализированы, чтобы получить плавный выход. Это может быть сделано либо с использованием блоков Simulink State Reader и State Writer в функциях Simulink, либо текстуально с использованием квалифицированной точечной нотации. Например, о переходе от Slipping кому Locked, инициализировать состояние единого интегратора в Locked используя состояние одного из интеграторов в Slipping. Инициализируйте состояние с помощью синтаксиса:

Locked.w = Slipping.we;

Результаты моделирования

При моделировании системы скорости двигателя и транспортного средства показаны на следующем графике. Пластины блокируются примерно через 4 секунды и снова начинают скользить примерно через 6,25 секунды.

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