Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Майорова Семенова_верстка.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
10 Мб
Скачать
☆

Порядок выполнения работы

  1. Ознакомиться со всеми пунктами методических указаний.

  2. Получить у преподавателя вариант задания на выполнение лабораторной работы.

  3. Составить функциональную схему САР исследуемой системы.

  4. Заполнить схемное окно пакета VisSim необходимыми типовыми блоками.

  5. Придайте используемым блокам нужную ориентацию и осуществите соединение блоков.

  6. Согласно вашему варианту задания введите необходимые параметры структурной схемы, используя диалоговые окна.

  7. Установите параметры моделирования.

  8. Запустите модель и проанализируйте полученные результаты.

  9. Покажите преподавателю результаты работы.

Содержание отчета

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

  2. Задание на выполнение лабораторной работы (функциональная схема САР, структурная схема САР, параметры передаточных функций САР).

  3. Модель САР.

  4. Результаты, полученные в процессе моделирования.

  5. Выводы по выполненной работе.

  6. Ответы на контрольные вопросы.

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

  1. Дайте определение процессу оптимизации системы?

  2. Каков принцип работы САР концентрации в реакторе?

  3. Перечислите способы регулирования расхода.

  4. Как реализуется дифференцирующее звено в системе VisSim?

  5. Какие специальные блоки оптимизации существуют в системе VisSim?

  6. Назовите методы оптимизации, в чем их отличие?

Лабораторная работа № 4

МОДЕЛИРОВАНИЕ СОБЫТИЙНО-УПРАВЛЯЕМЫХ СИСТЕМ В ПАКЕТЕ STATEFLOW СИСТЕМЫ MATLAB

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

Теоретические сведения о программе Stateflow

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

Stateflow состоит из следующих компонентов:

Stateflow graphics editor – графический редактор;

Stateflow Explorer – проводник;

Stateflow Coder – генератор объектного кода;

Stateflow Debugger – отладчик;

Stateflow Dynamic Checker – динамическое проверочное устройство.

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

Просмотр Stateflow объектов пользователь может осуществлять через Stateflow-Exploer. Открыть редактор можно выбрав меню View→Model Exploer. Интерфейс редактора представлен на рис. 4.1 и состоит из двух панелей: модель иерархии модели (слева) и содержание модели (справа).

Р и с. 4.1. Интерфейс Model Exploer

На рис. 4.2 представлена панель графических элементов инструмента Stateflow.

Р и с. 4.2. Панель графических элементов инструмента Stateflow

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

Данная кнопка обеспечивает соединение с памятью.

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

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

Рассмотрим на примере работу Stateflow. На рис. 4.3 представлена диаграмма Stateflow, которая описывает работу системы кондиционирования температуры воздуха. Контроллер Stateflow управляет двумя вентиляторами. Первый вентилятор включается в работу, если температура воздуха повышается выше 12 градусов, второй вентилятор обеспечивает дополнительное охлаждение, если температура воздуха повышается выше 20 градусов.

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

При составлении диаграммы были использованы следующие объекты Stateflow. Важным объектом SF-диаграмм являются состояния (state). Это графический объект в виде прямоугольника с заметно скругленными углами, обычно построенный синими линиями. Активность или пассивность состояния динамически изменяется в зависимости от происходящих событий. Каждое состояние имеет состояние-родителя и может иметь дочерние состояния (состояния более низкого уровня). Дочернее состояние изображается вложенным в родительское. Если состояние является единственным, то его родителем является сама SF-диаграмма, называемая также корневой диаграммой.

Основное состояние, которое является внешним по отношению к встроенным в него состояниям, называется эксклюзивным. Если строится единственное состояние, то оно и будет эксклюзивным. Состояния могут быть нейтральными (neutral) и занятыми (engaged). Имеется два типа состояний – параллельные, то есть существующие одновременно (AND) и взаимно исключающие друг друга (OR). Взаимоисключающие (OR) состояния никогда не могут быть активными или выполняться в одно и то же время, и представлены графически – прямоугольником, выполненным сплошной линией (рис. 4.4).

Р и с. 4.4. Графическое представление

состояния (OR)

Параллельное состояние (AND) представлено графически штриховым прямоугольником (рис. 4.5).

Р и с. 4.5. Графическое представление

состояния (AND)

Работа системы кондиционирования воздуха содержит шесть состояний:

  1. PowerOn – Питание системы кондиционирования включено.

  2. PowerOff – Питание системы кондиционирования выключено.

  3. FAN1 On – Первый вентилятор включен.

  4. FAN1 Off – Первый вентилятор выключен.

  5. FAN2 On – Второй вентилятор включен.

  6. FAN2 Off – Второй вентилятор выключен.

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

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

Р и с. 4.6. Графическое изображение

переходов на SF-диаграмме

Диаграмма системы кондиционирования содержит шесть переходов:

  1. От PowerOn к PowerOff.

  2. От PowerOff к PowerOn.

  3. FAN1. От ON к Off.

  4. FAN1. От Off к ON.

  5. FAN2. От ON к Off.

  6. FAN2. От Off к ON.

Для указания альтернативных путей перехода систем из одного состояния в другое служат признаки альтернативы (connection junction). Это графические объекты в виде черных окружностей, закрашенных внутри красным цветом и имеющих стрелку перехода. Применение таких объектов упрощает построение SF-диаграмм, исключая необходимость пересечения переходов. Кроме того, альтернативные пути переходов способствуют повышению эффективности работы SF-диаграмм и облегчают генерацию программного кода.

Событие (event) – важнейшее понятие в пакете Stateflow. Возникновение события меняет статус связанных с ним состояний и может запустить заданное действие или переход.

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

  • локальные – видимые только в пределах данной SF-диаграммы;

  • входные – передаваемые в SF-диаграмму из Simulink-модели;

  • выходные – передаваемые из SF-диаграммы в Simulink-модель;

  • экспортируемые – передаваемые из SF-диаграммы или Simulink-модели во внешнюю программу;

  • импортируемые – получаемые из внешних программ.

Процедура (action) не является графическим объектом. Для описания процедур служит специальный язык процедур – Action language.

Есть две модели конечных автоматов для процедур:

  • модель Мура, связывающая процедуры с состояниями;

  • модель Мили, связывающая процедуры с переходами.

Данные (data) представляют в SF-модели числовые значения. Данные не являются графическими объектами и непосредственно на SF-диаграмме не указываются. Они могут создаваться на любом уровне иерархии модели и имеют свойства. Для создания и модификации данных служит команда Data меню Add редактора SF-диаграмм. Данные, классифицируемые по области видимости, могут быть следующих типов:

  • локальные – видимые только в пределах данной SF-диаграммы;

  • входные – передаваемые в SF-диаграмму из Simulink-модели;

  • выходные – передаваемые из SF-диаграммы в Simulink-модель;

  • временные (промежуточные);

  • сохраняемые – хранящиеся в рабочей области MatLAB;

  • константы;

  • экспортируемые – передаваемые из SF- или Simulink-модели во внешнюю программу;

  • импортируемые – получаемые из внешних программ.

Описание объектов

При создании состояния в левом верхнем углу его графического образа появляется знак вопроса. На его место вводится описание состояния – в простейшем случае его имя. Общая структура состояния следующая:

nаmе/

entry:

during:

exit:

on event_name

Смысл этих определений дан ниже:

  • during или du – действия, которые выполняются как часть процедуры пребывания в некотором состоянии;

  • entry или en – действия, которые выполняются как часть процедуры входа в состояние;

  • entry (state_name) или en (state_name) – генерация локального события при входе в состояние state_name;

  • exit или ex – действия, которые выполняются как часть процедуры выхода из состояния;

  • exit (state_name) или ex (state_name) – генерация локального события при выходе из состояния statename;

  • on event_name – процедура, задающая выполнение каких-либо действий при возникновении события event_name.

Подготовка модели Simulink с заготовкой SF-диаграммы

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

Р и с. 4.7. Окно Simulink-модели с блоком SF-диаграммы

Подготовка SF-диаграммы в редакторе

Двойным щелчком на SF-блоке On-off откроем окно редактора SF-диаграмм. Используя первую сверху кнопку панели инструментов, перенесем в окно редактора два графических объекта состояния и присвоим им имена.

Для перехода от состояния Power on к состоянию Power_off надо установить указатель мыши на выход блока Power_on и, нажав левую кнопку мыши, начать строить стрелку перехода, перемещая ее к входу блока Power_off. В отличие от моделей Simulink, графические объекты состояний не имеют четко обозначенных мест ввода и вывода, так что их можно выбирать произвольно. Установим названия переходов.

Кроме того, нам надо указать переход к Simulink-модели у состояния Power_off. Зададим его как альтернативный переход с помощью соответствующей кнопки панели инструментов редактора SF-диаграмм. В итоге SF-диаграмма примет окончательный вид, приведенный на рис. 4.8.

Р и с. 4.8. Диаграмма состояний системы

Возможна установка параметров SF-диаграммы с помощью проводника. Параметры состояний SF-диаграммы можно установить в окне гра­фического редактора диаграмм с помощью команды Event меню Add. Эта команда открывает меню с необходимыми установками. Познакомимся с еще одним способом установки параметров – с помощью проводника Stateflow Explorer. Для его запуска используется команда меню Tools> Explore. Она вызывает появление окна проводника, которое показано на рис. 4.9.

Р и с. 4.9. Диалоговое окно проводника Stateflow Explorer

В левой половине окна проводника отражена иерархия объектов – Object Hierarchy. Выделив объект Onn_off, надо исполнить команду Add>Event с помощью меню проводника. При этом появится окно Event, с помощью которого можно установить необходимые параметры. Прежде всего, нужно ввести имя switch в поле Name, в переключателе областей видимости Scope надо установит Input from Simulink, поскольку SF-диаграмма будет работать от Simulink-модели. В списке Trigger надо выбрать вариант Rising Edge. После этих установок окно события и проводника можно закрыть.

Запуск модели. Перед запуском Simulink-модели следует установить параметры моделирования. Запуск производится командой Start из меню Simulation или активизацией кнопки Start в панели инструментов.

Средства отладки SF-моделей

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

Р и с. 4.10. Средства отладки SF-моделей

Отладка логических ошибок возможна при автономном запуске SF-модели, которая производится командой Start меню Simulation графического редактора Stateflow. Проверку значения параметров модели можно осуществить при выборе команды Chart Properties входящей в меню Fail графического редактора (рис. 4.11).

Окно содержит следующие элементы:

  1. Name (имя) – имя SF-диаграммы. Представляет собой статическую текстовую область, которая реализована как гиперссылка: щелчок мышью на ней приводит к активизации окна SF-диаграммы.

  2. Simulink Subsystem (подсистема Simulink) – имя S-модели, в состав которой входит SF-диаграмма. Simulink Subsystem представляет собой статическую текстовую область, которая реализована как гиперссылка: щелчок мышью на ней приводит к активизации окна блок-диаграммы.

  3. Parent (родитель) – имя SF-диаграммы более высокого уровня («родителя») или Stateflow-машины. Представляет собой статическую текстовую область, которая реализована как гиперссылка: щелчок мышью на ней приводит к открытию диалогового окна настройки параметров соответствующей SF-диаграммы.

  4. Update Method (метод коррекции) – раскрывающийся список позволяет выбрать способ управления работой SF-диаграммы.

Р и с. 4.11. Отладка логических ошибок

Существует несколько способов управления SF-диаграммами.

Triggered or inherited – метод используется в тех случаях, когда SF-диаграмма управляется событиями или данными, поступающими из S-модели; если вы определяете входные события для диаграммы, то она будет активизироваться каждый раз, когда на триггерный порт диаграммы поступает управляющий сигнал; если же определены только входные данные (входные события отсутствуют), то периодичность активизации диаграммы будет определяться интенсивностью поступления данных; при отсутствии информационных и «событийных» связей с Simulink периодичность выполнения диаграммы равна величине шага моделирования, установленного для s-модели.

Sampled (эталон) – периодичность активизации SF-диаграммы задается как значение параметра Sample time (эталонное время) соответствующего блока; Simulink генерирует управляющие события через равные интервалы времени, соответствующие значению этого параметра; при использовании этого метода следует учитывать, что другие блоки в S-модели могут иметь иное значение параметра Sample time; при выборе данного варианта управления становится доступно для редактирования расположенное справа от списка поле Sample time, в которое следует ввести значение этого параметра.

Continuous (непрерывно) – блок SF-диаграммы активизируется на каждом шаге моделирования, величина которого определяется параметрами S-модели.

Флажок Use Strong Data Typing with Simulink I/O (использовать только типы данных Simulink) позволяет запретить или разрешить использование данных, сохраненных Simulink в рабочей области MatLAB.

Флажок Execute(enter) chart At Initialization (выполнить диаграмму при инициализации) позволяет запретить или разрешить исполнение SF-диаграммы при запуске S-модели.

Флажок Debugger breakpoint (точка останова отладчика) позволяет использовать при отладке в качестве точки останова момент инициализации SF-диаграммы.

Флажок Editor (редактор) позволяет запретить любую модификацию SF-диаграммы.