Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2552.pdf
Скачиваний:
16
Добавлен:
07.01.2021
Размер:
16.85 Mб
Скачать

Код является выполняемой программой, созданной из кода, сгенерированного Stateflow или Real–Time Workshop (мастерской реального времени).

Topdown Processing – обработка сверху–вниз.

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

Transition – переход.

Переход описывает направление, по которому система перемещается из одного состояния в другое. Концы перехода могут подключаться к источнику (начало перехода) и пункту назначения (конец пе-

рехода). Чаще всего переходы происходят после того, как случаются

какие-то события.

 

И

 

 

Transition Path – маршрут перехода.

 

 

Д

Маршрут перехода – это путь потока, который начинается и

кончается в состоянии.

Transition Segment – сегмент перехода.

 

А

Сегмент перехода – единичная ориентированная ветвь на диа-

грамме. Сегменты перехода иногда называют переходами.

 

б

Составляющие диаграмм Stateflow

С

Входы

Из системы Simulinkисуществует два основных типа входов в диаграммы Stateflow. Первый тип входа — событие. Чтобы задать входное событие, необходимо выбрать команду Event меню Add окна

программного средства Stateflow (или окна Stateflow Explorer) и в меню второго уровня выбрать команду Input from Simulink. Входное событие из системы Simulink может быть или событием типа «пересечение сигналом нулевого значения» или «вызов функции». Если событие является событием типа «пересечение нулевого значения», то нет необходимости использовать этот блок, т. к. диаграмма Stateflow по умолчанию настроена на автоматическое обнаружение данного типа событий.

Событие типа «вызов функции» возникает в одной диаграмме Stateflow и передается в другую диаграмму в той же самой модели системы Simulink посредством линии связи системы Simulink.

25

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

С целью получения входных данных из модели системы Simulink для каждой входной переменной в программном средстве Stateflow создается отдельный входной порт. Данные могут передаваться в виде вектора или скаляра. Для задания входа необходимо выбрать команду Data меню Add окна программного средства Stateflow и в меню второго уровня выбрать команду Input from Simulink.

данные и события. Выходные данныеАДмогут быть представлены в виде векторов или скаляров. Каждая выходная переменная связана с отдельным выходом, имя которого соответствует имени переменной.

Выходы

И

 

Диаграммы Stateflow могут содержать в себе два типа выходов:

выбрать команду EventименюбAdd окна Stateflow и в меню второго уровня выбрать команду Output to Simulink. Триггерные события могут быть использованы для активации других диаграмм Stateflow или подсистем.

Диаграммы Stateflow о еспечивают возможность формирования

выходных событ й. Что ы задать выходное событие, необходимо С

Событие типа «вызов функции» заставляет диаграмму

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

26

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

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

Одним из способов описания логических операций являются

 

 

 

 

 

И

 

таблицы истинности. Модель выключателя света, определённая с ис-

пользованием таблицы истинности, представлена табл. 1.

 

 

 

 

Д

Таблица 1

 

 

 

А

 

 

 

 

 

 

Таблица истинности для с стемы, состоящей из одного переключателя

 

б

 

 

 

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

 

 

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

Вверх

 

 

 

 

Включена

и

 

 

 

 

Вниз

 

 

Выключена

С

 

 

 

 

 

Таблица 2

 

 

 

 

 

 

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

 

 

 

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

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

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

Вверх

 

 

 

Вверх

 

Выключена

Вниз

 

 

 

Вверх

 

Включена

Вниз

 

 

 

Вниз

 

Выключена

Вверх

 

 

 

Вниз

 

Включена

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

27

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

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

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

ды). На рис. 12 показана диаграмма

 

И

переходов состояний для системы,

 

состоящей из одного переключате-

 

ля, которая имеет два состояния: On

 

и Off и указывает события для пе-

 

 

 

А

рехода в новое состояние. Диа-

 

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

со-

ДРис. 12. Диаграмма переходов со-

 

б

держит: изображения состояний,

которые представляются в виде ок-

стояний для системы с одним пере-

ружностей, дуг, соединяющих

со-

ключателем

 

 

 

 

стояния и отображающ х допус-

 

 

тимые переходы

меток, нанесен-

 

 

ных рядом с дугами. Метки опи-

 

 

сывают события, наступлениеи

 

ко-

 

 

торых вызывает переход (обозна-

 

 

чение перехода). В данной системе

 

 

имеется взаимноС-однозначное со-

 

 

ответствие между

переходами и

 

 

событиями, но это, в общем слу-

 

 

чае, не всегда имеет место.

 

 

 

 

На рис. 13 приведена диа-

 

 

грамма переходов

состояний

 

для

Рис. 13. Диаграмма переходов со-

системы, имеющей два переключа-

теля. Здесь допустимые переходы

стояний для системы с двумя пере-

определяются изменением состоя-

ключателями

 

 

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

28

ходов состояний показаны четыре возможных состояния, а также допустимые переходы в новое состояние и отмечены события, которые вызывают данные переходы: RU – правый переключатель вверх, RD – правый переключатель вниз, LU – левый переключатель вверх, LD – левый переключатель вниз. В случае более сложных систем диаграмма переходов может стать довольно громоздкой.

Диаграмма Stateflow

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

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

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

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

29

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

бытия и действия события: (событие/действие события).

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

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

В этом случае, при наступлении заданного события переключа-

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

30

 

И

 

Д

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

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

Механизм иерархии позволяет использовать рекурсивный спо-

б

 

соб описания диаграммы Stateflow и считать, что каждое состояние

может быть представлено в виде соответствующей диаграммы. В ка-

 

и

 

честве примера рассмотрим функционированиеА

модели системы стек-

лоочистителей.

 

 

С

 

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

31

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

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

ные подсистемы, указывают на параллельное функционирование не-

скольких состояний в независимых подсистемах.

 

И

Д

А

 

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

Переход в последнее активное состояние также является полез-

ным элементом диаграммы Stateflow.

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

32

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

Суперсостояние On содержит переход в последнее активное состояние. Первый раз, когда система окажется в суперсостоянии On, произойдет переход по умолчанию к состоянию Normal. Если фары переключаются в состояние Bright и затем выключаются, то при

включении подсистема фар будет находиться в состоянии Bright.

 

Д

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

 

А

Программное средство Stateflow обеспечивает возможность уп-

рощения диаграмм с помощьюбмеханизма составных переходов. Со-

и

 

С

 

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

На рис. 19 показан соединительный переход типа «ветвление». Если система находится в состоянии State А и происходит событие Е1, то система перейдет в состояние State В, если переменная А = 1, и в состояние State С, если А = 0. Если никакое из данных условий не выполняется (А не равно ни 1, ни 0), то никакого перехода не произойдет и состояние State А останется активным. Соединительный

33

переход не является промежуточным состоянием; это эквивалент логической связки, называемой конъюнкцией (И, AND).

 

 

 

 

И

 

Рис. 19. Составной переход типа «ветвление»

 

На рис. 20 показан соединительный переход типа «объедине-

ние».

 

 

Д

 

 

 

 

 

 

А

 

 

С

б

 

 

 

и

 

Рис. 20. оставной переход типа «объединение»

Если состояние State А или состояние State В является активным

вмомент, когда происходит событие Е1, система осуществит переход

всостояние State С. Так как на сегменте перехода от соединительного перехода к состоянию State С не имеется никакого обозначения, то эта часть составного перехода является безусловной.

Внутренние переходы

Внутренние переходы служат для обеспечения наглядности диаграмм Stateflow. Внутренний переход является переходом из суперсо-

34

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]