Модель муфты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Передача обслуживания в состоянии

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

Locked.w = Slipping.we;

Результаты симуляции

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

Похожие темы