Моделирование контроллера окна со стеклоподъемником

Этот пример показывает, как смоделировать автомобильную пассажирскую систему окна со стеклоподъемником с помощью Модельно-ориентированного проектирования с Simulink®, Stateflow®, Fixed-Point Designer™ и DSP System Toolbox™. Проект Системы управления соответствует набору требований.

Системные модели окна со стеклоподъемником ответ пассажирского окна к драйверу или пассажирских средств управления окном. Чтобы сделать системную низкую стоимость, датчики тока используются, чтобы обеспечить входные параметры датчика. Никакие датчики положения не используются.

Системные требования

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

  1. Окно должно быть полностью открыто или закрыться в течение 5 секунд.

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

  3. Окно должно начать перемещаться не позднее, чем 0,2 секунды после того, как команда будет дана.

  4. Окно должно остановиться, когда оно достигает полностью открытой или полностью закрытой позиции.

  5. Если или вниз команда дается на срок 0,2 секунд к 1 секунде, окно должно быть полностью открыто или закрыться, если не прервано новой командой окна или препятствием. Это требование представляет автоматическую и автоматическую вниз возможность окна со стеклоподъемником.

  6. Окно должно смочь обнаружить препятствие с силой меньше чем 100 Н.

  7. Окно должно быть понижено приблизительно на 10 см, если препятствие обнаруживается.

  8. Обнаружение препятствия имеет приоритет и над водительской стороной и над средствами управления пассажирской стороны.

  9. Средства управления водительской стороны имеют приоритет над средствами управления пассажирской стороны.

Проект системы управления

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

Вход контроллера

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

Вход 1: переключатель окна водительской стороны нажимается

Вход 2: переключатель окна водительской стороны придавлен

Вход 3: переключатель окна пассажирской стороны нажимается

Вход 4: переключатель окна пассажирской стороны придавлен

Вход 5: Моторная текущая арматура (вход датчика)

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

Обнаружение препятствия

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

Состояния контроллера и События

График имеет два родительских элемента, параллельные состояния, названные Switch и Logic. Параллельные состояния активны одновременно. Logic содержит четыре исключительных состояния: Stop, Move, EmergencyDown и EndStop. Как имена предполагают, эти состояния обрабатывают управляющую логику для окна, чтобы остановиться, переместиться, спуститься в чрезвычайной ситуации или обнаружить endstops. События на основе времени или вводов данных пользователем вызывают изменения в состоянии. Основанные на времени события, названные временными логическими событиями, вызывают критические по отношению к безопасности функции обнаружения препятствия и аппаратной защиты. Управляемые пользователями события следующие.

  1. UP: Окно событие

  2. DOWN: Окно вниз событие

  3. NEUTRAL: Окно проводит мероприятие

  4. ENDSTOP: Конец области значений обнаружил событие, когда окно полностью открыто или закрыто

  5. OBSTACLE: событие препятствия Окна

Широковещательная передача события - таблица истинности и графические функции

События в этом контроллере широковещательно передаются из таблицы истинности switches и графическая функция obstacles (соответственно в состояниях Switch и Move). Цель switches состоит в том, чтобы широковещательно передать UP, DOWN и события NEUTRAL, основанные на кнопке или комбинации нажатых кнопок. Цель функции obstacles состоит в том, чтобы решить, присутствует ли препятствие или если окно полностью открыто или полностью закрыто. Это решение основано на значении и скорости изменения текущей арматуры. Если препятствие присутствует, событие OBSTACLE широковещательно передается, и если окно достигает полностью открытой или полностью закрытой позиции, событие ENDSTOP широковещательно передается. Схему таблицы истинности показывают в фигуре ниже. Как вы видите, входные параметры от драйвера более приоритетны по сравнению с теми от пассажира. Если драйвер и пассажир оба нажмут их кнопки окна, пассажирский вход будет проигнорирован.

Итоговая графическая функция go не широковещательно передает событий к диаграмме Stateflow. Цель go состоит в том, чтобы установить выходные значения графика, которые соответствуют направлению движения окна. Например, если диспетчер решает, что окно должно переместиться вверх, оно передает значение true первому выходному порту. Аналогично, значение, которое true отправляется во второй выходной порт, если диспетчер решает, что окно должно спуститься.

Остановите состояние

Состояние Stop активно каждый раз, когда окно не перемещается. Stop является первым состоянием, которое активируется, когда симуляция начинается, поскольку по умолчанию окно не перемещается в начале симуляции. Переход от Stop до Move происходит, если подтвержденное событие UP или DOWN широковещательно передается. Событие UP недопустимо, если происходит, когда окно уже полностью закрывается. Аналогично, событие DOWN недопустимо, если происходит, когда окно полностью открыто.

Состояние перемещения

Состояние Move активно каждый раз, когда окно находится в движении. Это состояние реализует несколько из требований окна со стеклоподъемником, связанных с обнаружением объектов и автоматизированным перемещением окна. На каждом временном шаге Move проверяет, столкнулось ли окно с препятствием или достигло полностью открытой или полностью закрытой позиции. Если объект обнаруживается, событие OBSTACLE широковещательно передается, и изменение состояния от Move до EmergencyDown происходит. Если конечное положение обнаруживается, событие ENDSTOP широковещательно передается, и изменение состояния от Move до EndStop происходит.

Move имеет два параллельных состояния, названные Direction и Mode. Состояние Direction проверяет, находится ли окно в движении и перемещающийся или вниз. Состояние Mode реализует авто и автовниз возможность окна. Если кнопка окна удерживается на время от 0,2 до 1 секунды или в направлении, окно должно автоматически открыться или закрыться полностью, если не прервано новой командой окна или препятствием. Если пользователь нажимает кнопку окна, в течение какого-то времени заданную выше, состояние Auto вводится. Если у кнопки требуют длительности, которая не приземляется в этой области значений, состояние Manual вводится. Если состояние Manual активно, переход от Move до Stop выполняется, когда пользователь отпускает кнопку.

Состояние EmergencyDown

В состоянии EmergencyDown окно спускает приблизительно 10 см, если препятствие обнаруживается. Когда это состояние активируется, функция go вызвана, чтобы переместить окно вниз.

Состояние EndStop

EndStop сначала определяет, открывается ли окно полностью или закрывается, затем управляет, чтобы окно переместилось в противоположное направление для части секунды, чтобы уменьшить силу на окне. Если окно переместило необходимое количество, изменение состояния от EndStop до Stop происходит.

Похожие темы