Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка Stateflow

.pdf
Скачиваний:
282
Добавлен:
16.04.2015
Размер:
775.52 Кб
Скачать

Федеральное агентство по образованию Санкт-Петербургский институт машиностроения (ЛМЗ-ВТУЗ)

Кафедра электротехники, вычислительной техники и автоматизации

ОСНОВЫ РАБОТЫ В ПРОГРАММНОМ СРЕДСТВЕ STATEFLOW

Методические указания для лабораторно-практических занятий

для студентов специальности 2203.01 "Автоматизация технологических процессов и производств в машиностроении"

Санкт-Петербург

2012

Федеральное агентство по образованию Санкт-Петербургский институт машиностроения (ЛМЗ-ВТУЗ)

Кафедра электротехники, вычислительной техники и автоматизации

ОСНОВЫ РАБОТЫ В ПРОГРАММНОМ СРЕДСТВЕ STATEFLOW

Методические указания для лабораторно-практических занятий

для студентов специальности 2203.01 "Автоматизация технологических процессов и производств в машиностроении"

Санкт-Петербург

2012

2

Основы работы в программном средстве Stateflow. Методические указания к выполнению для лабораторно-практических занятий для студентов специальности 2203.01 "Автоматизация технологических процессов и производств в машиностроении". СПб, 2012.

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

Составил

канд. техн. наук, доц. А. Е. Епишкин

Научный редактор

д-р техн. наук, проф. В. М. Шестаков

Методические указания утверждены на заседании кафедры.

Рецензенты: канд. техн. наук., доц. каф. "МиТОМД" ПИМаш С. Ю. Панин

системный инженер ЗАО "Датастрим солюшенз" А. Ю. Розов

©Санкт-Петербургский институт машиностроения (ЛМЗ-ВТУЗ), 2012

©Епишкин А. Е., составление, 2012

3

1. Введение

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

2. Конечные автоматы

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

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

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

Состояние переключателя

Состояние лампы

Вверх

Включена

Вниз

Выключена

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

Состояние

Состояние

Состояние лампы

переключателя А

переключателя В

 

Вверх

Вверх

Выключена

Вниз

Вверх

Включена

Вниз

Вниз

Выключена

Вверх

Вниз

Включена

 

4

 

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

3. Диаграммы переходов состояний

Диаграмма переходов состояний является структурой, включающей изображения состояний, соединяемых ветвями, показывающими события для перехода в новое состояние (допустимые переходы). На рис. 1 показана диаграмма переходов состояний для системы, состоящей из одного переключателя, которая имеет два состояния: On (Включена) и Off (Выключена) и указывает события для перехода в новое состояние. Диаграмма переходов состояний содержит: изображения состояний, которые представляются в виде кругов; дуги, соединяющие состояния (допустимые переходы) и обозначения, нанесённые рядом с дугой, которые описывают события, наступление которых вызывает переход (обозначение перехода). В данной системе имеется взаимно-однозначное соответствие между переходами и событиями, но это, в общем случае, не всегда имеет место.

Рис. 1. Диаграмма переходов состояний для системы с одним переключателем

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

5

Рис. 2. Диаграмма переходов состояний для системы

сдвумя переключателями

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

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

Обозначения перехода на диаграмме Stateflow имеет четыре части, каждая из которых не является обязательной:

событие[условие]{действие условия}/действие перехода

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

действие условия, но не действие перехода.

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

6

круги заменяются прямоугольниками со скруглёнными углами, и обозначение перехода состоит из двух частей – события и действия: событие/действие события.

Рис. 3. Диаграмма Stateflow системы, состоящей из одного переключателя

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

На рис. 4 показана диаграмма Stateflow для системы, состоящей из двух переключателей, которая для определения начального состояния системы также включает переход по умолчанию. В данном примере обозначения переходов указывают условия, которые вызывает переход. Переход происходит, когда указанное условие становится истинным. Действия (Light=0 или 1) связаны с четырьмя состояниями, а не с переходами. Поэтому каждая надпись на изображении состояния включает обозначение состояния (например, UpUp) и обозначение действия, связанного с состоянием. Так как действия связаны с состояниями, а не с переходами, переходы обозначаются условиями.

Рис. 4. Диаграмма Stateflow системы, состоящей из двух переключателей

7

4.1. Иерархия диаграммы Stateflow

Механизм иерархии позволяет использовать рекурсивный способ описания диаграммы Stateflow и считать, что каждое состоянии может быть представлено в виде соответствующей диаграммы. В качестве примера рассмотрим функционирование модели системы стеклоочистителей. Система имеет два состояния, которые могут быть названы суперсостояниями: On (Включено) и Off (Выключено). Суперсостояние On имеет два подсостояния: Slow (Медленно) и Fast (Быстро). Диаграмма Stateflow системы стеклоочистителей изображена на рис. 5. Следует заметить, что переход по умолчанию для системы – переход в состояние Off. Как только система переходит в суперсостояние On, данное состояние переходит в подсостояние Slow.

Рис. 5. Модель системы стеклоочистителей

Второй механизм позволяет одновременно находиться в нескольких состояниях и называется параллельным функционированием нескольких состояний. Рассмотрим модель электрический системы автомобиля (рис. 6), которая включает подсистему стеклоочистителей и подсистему фар. Штриховые рамки, которыми, которыми выделены данные подсистемы, указывают на параллельное функционирование нескольких состояний в независимых подсистемах.

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

8

Рис. 6. Модель электрической системы: параллельное функционирование нескольких состояний

Скорректированная диаграмма Stateflow для модели подсистемы фар показана на рис. 7. Суперсостояние On содержит переход в последнее активное состояние. Первый раз, когда система окажется в суперсостоянии On, произойдёт переход по умолчанию к состоянию Normal (Ближний свет фар). Если фары переключаются в состояние Bright (Дальний свет фар) и затем выключаются, то при включении подсистема фар будет находиться в состоянии

Bright.

Рис. 7. Модель подсистемы фар с переходом в последнее активное состояние

4.2. Составные переходы

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

9

отображается на диаграмме Stateflow маленьким кружком. Два основных типа составных переходов – " ветвление" и "объединение". Ветвление является соединительным переходом, который разделяет переходы на две или большее количество ветвей. Объединение – это соединительный переход, который объединяет две или более ветви перехода.

На рис. 8 показан соединительный переход типа "ветвление". Если система находится в состоянии StateA, и происходит событие Е1, то система перейдёт в состояние StateB, если переменная А=1, и в состояние StateC, если А=0. Если никакое из данных условий не выполняется (А не равно ни 1, ни 0), то никакого перехода не произойдёт, и состояние StateA останется активным. Соединительный переход не является промежуточным состоянием; это эквивалент логической связки, называемой конъюнкцией (И, AND).

Рис. 8. Составной переход типа "ветвление"

На рис. 9 показан соединительный переход типа "объединение". Если состояние StateA или StateВ является активным в тот момент, когда происходит событие Е1, система осуществит переход в состояние StateС. Так как на сегменте перехода от соединительного перехода к состоянию StateС не имеется никакого обозначения, то эта часть составного перехода является безусловной.

Рис. 9. Составной переход типа "объединение"

10