ДИАГРАММЫ СОСТОЯНИЙ И ПЕРЕХОДОВ

Министерство образования и науки Российской федерации

 

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Ковровская государственная технологическая академия 

имени В.А. Дегтярёва»

 

 

О.А. Архипова, Я.А. Даршт,

В.Б. Моисеенко

 

 

Моделирование гибридных систем

 

Учебно-методическое пособие

 

 

Ковров 2015

УДК 004

А 87

Архипова, О.А. Моделирование гибридных систем: учебное пособие по курсу: «Компьютерные технологии в машиностроении» / О.А. Архипова, Я.А. Даршт, В.Б. Моисеенко. – Ковров: ФГБОУ ВПО КГТА, 2015. – 60с. ISBN 978-5-86151-525-2

 

Рассмотрена технология имитационного моделирования гибридных систем, в том числе приводов различных типов.                             В качестве конкретных объектов моделирования рассмотрены пневматические и гидравлические устройства транспорта и промышленности.

Пособие предназначено для студентов магистратуры по направлению подготовки 150302 и 150402 "Технологические машины и оборудование" (профиль "Гидравлические машины, гидропривод и гидропневмоавтоматика").

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

 

Рецензенты: канд. техн. наук В.И. Эльстин (ОАО «КЭМЗ»,             г. Ковров), канд. техн. наук Д.Н. Горячев (ОАО «СКБ ПА», г. Ковров)

 

Ил. 53. Библиограф.: 11 назв.

 

 

Рекомендовано к изданию редакционно-издательским советом ФГБОУ ВПО КГТА им. В.А. Дегтярева.

 

                                                          © Архипова О.А.., 2015.

 ISBN 978-5-86151-525-2              © ФГБОУ ВПО «Ковровска я государственная

                                                                          технологическая академия им. В. А. .Дегтярева».

Учебное пособие

 

 

Ольга Александровна Архипова,

Яков Адольфович Даршт,

Владимир Борисович Моисеенко

 

Моделирование гибридных систем

 

Учебно-методическое пособие

 

ISBN 978-5-86151-525-2

 

 

Ответственный редактор               Е.Ю. Дианова

Корректор                                       Л.Н. Гафурова

Компьютерная верстка                             Н.А. Кобякиной

 

Изд. лиц. № 020354 от 05.06.97 г. Подписано в печать 03.04.15 г.

Формат 60х84/16. Бумага писчая № 1. Гарнитура «Таймс».       Печать офсетная. Усл.-печ. л. 3,49. Уч.-изд.л. 3,56. Тираж 43 экз.

Заказ № 1014.

 

СОДЕРЖАНИЕ

Введение……………………………………………………………. 4
Диаграммы состояний и переходов в событийном моделировании…………………………………………………………………..   5
Иерархия состояний………………………………………………. 12
Графические функции и логические операторы………………. 21
Внутренний переход, соединение с памятью…………………… 31
Гибридные модели автомобиля с автоматической коробкой передач………………………………………………………………..   35
Гибридные модели пневматических многодвигательных роботизированных комплексов…………………………………………..   47
Список литературы………………………………………………... 59

 

ВВЕДЕНИЕ

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

При имитационном моделировании применяются различные программы, но подходы при этом примерно одинаковые и навыки, полученные при моделировании в одной программе, полезны и при моделировании в другой. Данное пособие ориентировано на использование программы Matlab/Simulink.

Основным пакетом для гибридного проектирования в программе Matlab/Simulink является пакет Simulink с графической формой представления модели. Овладению навыков работы в Simulink при моделировании различных машин и механизмов, которые рассматриваются как аналоговые устройства (когда система описывается алгебро-дифференциальной системой уравнений), посвящено много пособий, в том числе и наших [1] – [6].

При этом ступенчатое изменение состояния машин, если оно описывается простой логикой (например, переключение скорости автомобиля), моделируется ступенчатыми функциями (или близкими к ним – непрерывными функциями), что легко реализуется в рамках методики аналогового моделирования.

В случае сложной логики такой подход не эффективен: сложность модели резко возрастает, и на каком-то этапе формирование модели становится в принципе проблематичным. Для решения сложных логических задач разработан специальный пакет - Stateflow. Он предназначен для моделирования дискретных устройств, описываемых теорией конечных автоматов. Пакет выполнен как опция Simulink и входит в него в виде специального блока, но имеет свою, отличную от Simulink методику формирования, которую нужно специально осваивать.

Таким образом, в целом, при использовании пакета Stateflow появляется возможность создавать модели машин и механизмов как с аналоговыми, так и дискретными компонентами. Такие машины и, соответственно, их модели называются гибридными.

Возможности гибридного моделирования очень большие. Во-первых, можно реализовывать системы не только с жёсткой логикой управляющей подсистемы (в этом случае говорят о трансформационных системах), но и так называемые реактивные системы, для которых заранее не известна совокупность внешних воздействий.

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

К тому же такая модель позволяет реализовывать моделирование в реальном времени, включать модель как функционирующий элемент в реальную машину, генерировать код, что упрощает программирование микроконтроллера реальной системы.

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

 

ДИАГРАММЫ СОСТОЯНИЙ И ПЕРЕХОДОВ

В СОБЫТИЙНОМ МОДЕЛИРОВАНИИ

 

Цель: построение модели управляемого переключателя средствами Stateflow.

Задачи:

1. Ознакомиться с назначением пакета Stateflow.

2. Изучить понятия: SF-диаграмма, состояние, переход, переход по умолчанию, событие.

3. Научиться работать с проводником и отладчиком SF-диаграммы.

4. Выполнить индивидуальные задания. Составить отчет.

 

Теоретическое введение

Stateflow – это пакет событийного моделирования, т.е. моделирования систем и устройств, поведение которых зависит от внешних событий (ситуаций). Stateflow позволяет представить функционирование системы на основе цепочки правил, которые задают соответствие событий и действий, выполняемых в ответ на эти события. Пакет имеет свой графический интерфейс пользователя, который позволяет создавать SF-модели в виде графических SF-диаграмм динамического типа. В окне библиотеки Stateflow присутствует единственный блок Chart. Его можно перетащить мышью в окно модели Simulink для построения в дальнейшем SF-диаграммы.

SF-диаграмма — это графическая диаграмма, создаваемая средствами графического интерфейса пакета расширения Stateflow.                    В процессе моделирования на диаграмме отражаются все изменения модели: строятся диаграммы переходов, изменяются цвета блоков в зависимости от их активности и т. д., что позволяет визуально отслеживать поведение системы в ходе моделирования.

Важным объектом SF-диаграммы является состояние. Состояние - это графический объект в виде прямоугольника со скругленными углами, построенный обычно синими линиями; описывает режим управляемой событиями системы.

Связь одного объекта с другим отражает графический объект SF-диаграммы – переход; представляется обычно красной стрелкой. Переход соединяет объект-источник с объектом-адресатом. Он не имеет своей кнопки на панели инструментов и создается следующим образом: указав курсором мыши (при нажатой левой кнопке) объект, от которого начинается стрелка перехода, необходимо передвигать курсор к другому объекту. Переходы имеют метки, описывающие обстоятельства или условия, при которых происходит переход от одного состояния к другому.

Переход по умолчанию - это специальный тип перехода, у которого нет объекта источника. Его используют для указания на состояние, которое должно стать активным в момент начала работы схемы (по умолчанию).

Выполнением диаграммы Stateflow управляют события. События - это объекты Stateflow, которые могут переключать всю диаграмму Stateflow или конкретные действия в диаграмме.

Все события, которые имеют отношение к диаграмме Stateflow, должны быть определены. События создаются и изменяются при помощи Stateflow проводника (Stateflow Explorer). В проводнике задается имя события (Name); индикатор события (Scope): Input from Simulink (ввод из Simulink), Output to Simulink (вывод в Simulink), Local (локальное); условие переключения (Trigger): Rising (переход сигнала из «-» в «+»), Falling (переход сигнала из «+» в «-»), Either (пересечение 0), Function Call (вызов функции). Индикатор определяет, где происходит событие относительно объекта, в котором оно располагается.

Для наблюдения за работой SF-диаграммы во время моделирования используют отладчик SF-диаграммы (Stateflow Debag). 

Перечень понятий, используемых в практической работе №1, представлен в таблице 1.

Таблица 1

Понятие Транскрипция Перевод
Chart [tʃɑ:t] Диаграмма
State [steɪt] Состояние
Transition [trænˈsɪʒən] Переход
Default transition [dɪˈfɔ:lt trænˈsɪʒən] Переход по умолчанию
Event [ɪˈvent] Событие
Explorer [ɪksˈplɔ:rə] Проводник
Debag [ di:bʌg ] Отладчик

Практическая работа №1

В качестве примера построения модели управляемого переключателя рассмотрим следующую задачу: периодический синусоидальный сигнал от источника Sine Wave передается к осциллографу Scope. На выходе логического блока Chart сигнал должен быть равен 0, если синусоидальный период нечетный, и равен 1, если – четный.

Поставленная задача решается в следующей последовательности:

1. В окно Simulink перетащим блоки источника Sine Wave, осциллографа Scope и из пакета Stateflow блок Chart.

2. Создадим пустую SF-диаграмму (заготовку для создания действующей диаграммы), активизируя мышью блок Chart. При этом появится окно редактора SF-диаграммы.

Для решения задачи в состав SF-диаграммы будут входить два блока – состояния. Один блок соответствует состоянию «включено», а другой - состоянию «выключено».

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

Далее необходимо назначить имена блокам. В нашем случае удобно назвать On (включение) и Off (выключение).

3. Создадим переходы между состояниями.

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

Возникновение события (в нашем случае имя события – это Switch – команда переключения) запускает переходы от состояния On к состоянию Off и от состояния Off к состоянию On. Имя события пишется над стрелкой.

Кроме того, нужно указать переход Simulink-модели в состояние Off. Зададим его как переход по умолчанию (default transition) с помощью соответствующей кнопки панели инструментов.

4. Для того чтобы задать имя события, индикатор и условие переключения, открываем проводник SF-диаграммы (Tools→Explore). В проводнике выбираем объект (диаграмму Chart) и на панели инструментов нажимаем Add Event (добавить событие). Далее вносим имя события –Switch, индикатор – Input from Simulink, условие переключения – Rising. Нажимаем Apply.

Если это сделано правильно, то над блоком SF-диаграммы появится характерный триггерный вход.

5. Соединяем выход генератора сигнала Sine Wave с входом блока Chart.

6. Формируем выход аналогично входу. Для этого в SF- диаграмме после события Switch необходимо поставить прямой слеш и добавить имя события Vkluch, переключаемого при переходе.

Затем заносим событие Vkluch в проводник SF-диаграммы. В проводнике выбираем объект (диаграмму Chart) и на панели инструментов нажимаем Add Event. Далее вносим имя события - Vkluch, область действия – Output to Simulink, условие переключения – Either Edge.

7. Соединяем выход блока Chart с Scope.

8. Поскольку моделирование происходит быстро и из-за этого трудно уследить за его ходом, то в отладчике SF-диаграммы (Tools→Debag) меняем время анимации на 1 секунду (Delay(sec)).

9. Запускаем Simulink – модель.

Сигнал Vkluch может управлять каким-то логическим устройством, например ключом из библиотеки Simulink. Вместо источника Sine Wave может использоваться любая аналоговая система. Модель управляемого переключателя и результат моделирования представлены соответственно на рис.1, 2.

 

Рис. 1. Модель управляемого переключателя

 

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

Индивидуальные задания

 

1. Когда сигнал пересекает 0 из «+» в «-», на выходе логического блока (Chart) должна быть 1.

2. При каждом пересечении 0 сигнал на выходе логического блока (Chart) должен быть равен 1.

3. Имеется источник синусоидального сигнала Sine Wave и осциллограф Scope. С помощью средств пакета Stateflow и библиотеки Simulink требуется реализовать генераторы. Необходимые данные берутся из таблицы 2 в соответствии с вариантом.

3.1. Генератор прямоугольных импульсов, меняющий сигнал от –А до А, c задержкой на t сек.

3.2. Генератор треугольных импульсов c задержкой на t сек и смещением по вертикали на s.

3.3. Генератор, меняющий сигнал от –А до А и создающий синусоидальные колебания, когда период четный. При этом сигнал должен быть равен 0, когда период нечетный.

3.4. Генератор амплитудно-импульсной модуляции со смещением по вертикали на s.

3.5. Генератор, создающий трапецеидальные колебания c задержкой на t сек и смещением по вертикали на s.

Таблица 2

Параметр   Вариант t, сек s -A A
1 0,2 +1 -2 0
2 0,3 +2,5 -3 0
3 0,5 +3 -1 1
4 0,7 -1 -2 2
5 1,0 -1,5 -3 -1
6 1,2 -2 -2 1
7 1,3 -2,5 -1,5 1,5

 

Контрольные вопросы:

1. Для чего предназначен пакет Stateflow?

2. Дать определения следующих понятий: SF-диаграмма, состояние, переход, переход по умолчанию, событие.

3. Для чего нужен проводник SF-диаграммы и как с ним работать?

4. Как создать переход между состояниями?

5. Когда используют переход по умолчанию?

6. Для чего нужен отладчик SF-диаграммы и как с ним работать?

Литература:[7] – c.438 - 441, 444 - 446, 449 - 450; [8] – п.1.4; [9]; [11]. 

ИЕРАРХИЯ СОСТОЯНИЙ

 

Цель: построение SF-диаграмм с иерархией состояний на примере простейшей модели управления автоматической коробкой передач автомобиля.

Задачи:

1. Изучить понятия: декомпозиция состояний, суперсостояние, подсостояние, метки перехода, условие, действие перехода, действие условия, подключаемое соединение, сегменты, циклический переход, данные, словарь данных.

2. Сформировать модель по описанию в разделе «практическая часть», изучить на модели функционирование процесса управления переключением передач.

3. Выполнить индивидуальные задания. Составить отчет.

 

Теоретическое введение

Stateflow представляет иерархию состояний с суперсостояниями и подсостояниями. Подсостояние – Часть состояния, находящаяся у него внутри.

Состояние является суперсостоянием, если содержит другие состояния (подсостояния). Например, диаграмма Stateflow, представленная на рис. 3, имеет суперсостояние vkluch (передача включена), которое содержит три подсостояния: first (первая передача), second (вторая передача), third (третья передача). Суперсостояние vkluch - предок в иерархии по отношению к состояниям first, second, third.

Рис. 3. Последовательная декомпозиция состояний

 

Каждое состояние - это часть иерархии. В диаграмме Stateflow, состоящей из одного состояния, родителем этого состояния является сама диаграмма Stateflow.

 Выход из состояния высшего уровня или суперсостояния также подразумевает выход из его любых активных подсостояний. Если подсостояние активно, его родительское состояние (суперсостояние) также активно.

К состоянию можно применить декомпозицию,если оно состоит из нескольких подсостояний. Для представления иерархии состояний существует несколько правил, в соответствии с которыми состояния группируются. Суперсостояние имеет параллельную (И) или последовательную (ИЛИ) декомпозицию. Параллельная (И) декомпозицияиспользуется, если все состояния на данном уровне иерархии активны одновременно. Она отображается состояниями с пунктирными границами. Активность параллельных состояний независима. Последовательная (ИЛИ) декомпозиция отображается состояниями с непрерывными границами (см. рис. 3). Эта декомпозиция используется в описании систем, режимы которых последовательны. На данном уровне иерархии в данное время может быть активным только одно состояние.

Все подсостояния, находящиеся на одном уровне иерархии, должны иметь одинаковую декомпозицию.

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

Подключаемые соединения Connective junction (точки принятия решений) представляют точки, в которых принимаются решения относительно выбора между альтернативными путями одного перехода. Подключаемые соединения позволяют представить различные возможные пути для одного перехода. Соединения делят переходы на сегменты. В этом случае переход состоит из сегментов перехода и в процессе определения действительности всего перехода каждый сегмент анализируется по отдельности. Сегмент перехода - единичная ориентированная ветвь на диаграмме. В следующем примере на рис. 4 имеются два сегментированных перехода: один от состояния first к состоянию second, а другой - от состояния first обратно к состоянию first. Сегмент перехода от состояния к подключаемому соединению, а от него обратно, называется циклическим переходом.

Рис. 4. Диаграмма Stateflow

 

Переход - графический объект, который в большинстве случаев связывает один объект с другим. Переходы характеризуются метками. Метки переходов описывают обстоятельства, под действием которых система переходит от одного состояния к другому. Метка может включать в себя имя события, условие, действие условия и/или действие перехода.

Метки перехода имеют следующий основной формат: event[condition]{condition_action}/transition_action. Любая часть метки может отсутствовать. Переход происходит при наступлении события, но с учетом истинности условия, если оно определено. Определение имени события необязательно. Если имя события не указано, то переход произойдет при наступлении любого события.

Условия - это булевы выражения, которые должны быть истинны для осуществления перехода. Условия заключаются в квадратные скобки ([]). На диаграмме Stateflow (см рис. 4) условие [v>=20] должно быть истинным для того, чтобы переход стал возможен. Если ни одно условие не определено, подразумеваемое условие принимается за истинное и действие выполняется.

Действия условий следуют за условиями и заключаются в фигурные скобки ({}). Они выполняются тогда, когда условие становится истинным, но перед тем, как переход осуществится. Если ни одно условие не определено, подразумеваемое условие принимается за истинное и действие выполняется.

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

В примере, показанном на рис. 4, если условие истинно и состояние second достигнуто, осуществляется действие перехода Switch2. Если переход состоит из сегментов, действие перехода выполняется только когда становится возможен полный путь перехода. Переход, заканчивающийся в состоянии, может иметь действие условия (condition action) и действие перехода (transition action). Однако переходы, которые заканчиваются в соединениях, могут иметь только действия условий (не допускаются действия переходов).

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

Объекты – данные; используются, чтобы хранить числовые значения для применения в диаграмме Stateflow. Они являются неграфическими объектами и таким образом не представлены непосредственно в диаграмме Stateflow. Данные создаются и изменяются в Stateflow Explorer. Они могут быть созданы на любом уровне иерархии. Для того чтобы добавить данные в проводник SF-диаграммы, необходимо:

1. Открыть проводник SF-диаграммы (Tools→Explore).

2. Выбрать объект (машину состояний, диаграмму, или состояние) в иерархии объекта проводника там, где необходимо поместить новый элемент.

3. Выбрать Data из меню проводника Add.

4. Установить следующие параметры: имя данных (name), область действия (scope).

Есть несколько параметров для свойств области действия данных: Lokal (быть локальными для диаграммы Stateflow), Input from Simulink (поступать в Stateflow диаграмму от модели Simulink), Output to Simulink (выходить из Stateflow диаграммы в модель Simulink), Constant (быть константами).

Практическая часть

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

Информация о скорости поступает с датчика скорости в микроконтроллер. Положение педали меняем линейно в зависимости от времени (рис. 5).

При этом линейно возрастает скорость, и при достижении определенной величины происходит переключение передачи (рис. 6). 

 

 

 


Рис. 5. Изменение положения педали (скорости) в зависимости от времени, где 1,2,3 – передачи

 

Рис. 6. Переключение передач: 0 – нейтраль, 1- первая передача,

2 – вторая передача, 3 –третья передача.


Дата добавления: 2018-06-01; просмотров: 356; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!