Рогачев Г.Н. Моделирование гибридных систем в Stateflow. Методические указания к лабораторной работе по курсу Моделирование систем - файл n1.doc

Рогачев Г.Н. Моделирование гибридных систем в Stateflow. Методические указания к лабораторной работе по курсу Моделирование систем
скачать (387 kb.)
Доступные файлы (1):
n1.doc387kb.29.05.2012 23:29скачать

n1.doc






Министерство образования и науки Российской Федерации
Федеральное агентство по образованию

Государственное образовательное учреждение
высшего профессионального образования
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ



Кафедра «Автоматика и управление в технических системах»




Моделирование гибридных систем в Stateflow
Методические указания к лабораторной работе

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






Самара 2005

Составитель: Рогачев Г.Н.




УДК 62-50


Моделирование гибридных систем в Stateflow. Методические указания к лабораторной работе по курсу "Моделирование систем" / Cамар. гос. техн. ун-т; Сост. Рогачев Г.Н. Самара, 2005. 11 с.


Пособие призвано облегчить выполнение лабораторных работ по дисциплине «Моделирование систем».


Методические указания предназначены для студентов специальностей 22.01.01  Управление и информатика в технических системах и 22.03.01  Автоматизация технологических процессов и производств (компьютерные системы управления в производстве и бизнесе).
Ил. 20.


Печатается по решению редакционно-издательского Совета СамГТУ

Лабораторная работа №4. Моделирование гибридных систем в Stateflow


Цель работы

Научиться моделировать гибридные системы в Stateflow.
Теоретические сведения

Этот раздел представляет введение в Stateflow. В нем показано, как использовать Stateflow, чтобы создать, отладить и выполнить модель простого переключателя питания.

На рис 1 представлена диаграмма Stateflow, которая представляет переключатель питания. Там же представлена законченная Simulink-модель.



Р и с. 1. Stateflow модель переключателя питания
Когда Вы запускаете эту модель, входное событие Switch (Выключатель) от Simulink переключает активность состояний между Power_on (Питание включено) и Power_off (Питание выключено).

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

Эти шаги описывают, как создать модель Simulink с блоком Stateflow, назвать блок Stateflow и сохранить модель:

  1. Отобразить окно модели Stateflow вводом команды stateflow.

MATLAB отображает библиотеку блока Stateflow.



Р и с. 2. Первый шаг создания Stateflow модели
Библиотека содержит значок Stateflow блока Chart и блок примеров Examples. Stateflow также отображает окно untitled модели Simulink с Stateflow блоком Chart.



Р и с. 3. Второй шаг создания Stateflow модели


  1. Дать название блоку Stateflow.

Назовите блок Stateflow в новой untitled модели, нажимая в текстовой области и заменяя текст " Chart " текстом " On_off ".



Р и с. 4. Третий шаг создания Stateflow модели


  1. Сохранить модель.

Выберите Save As из меню File окна модели Simulink. Введите имя модели.



Р и с. 5. Четвёртый шаг создания Stateflow модели
Вы можете также сохранить модель, выбрав Save или Save As в меню File графического редактора Stateflow. Сохранение модели как в Simulink, так и в Stateflow сохраняет все содержание модели Simulink.

Далее описано, как создать простую диаграмму Stateflow, используя графический редактор:

  1. Вызвать графический редактор.

Дважды щелкните на блоке Stateflow в окне модели Simulink, чтобы вызвать окно графического редактора.



Р и с. 6. Пятый шаг создания Stateflow модели


  1. Создать состояния.

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

  1. Назвать Состояния.

Нажмите на символ ? внутри состояния, чтобы ввести имя состояния (метку). Назовите состояния Power_on и Power_off. Снимите выделение состояния, чтобы выйти из редактирования. Чтобы снять выделение состояния, нажмите где-нибудь вне состояния или нажмите клавишу Esc. Ваша диаграмма Stateflow должна выглядеть так:


Р и с. 7. Шестой шаг создания Stateflow модели


  1. Создать переходы.

Создайте переход, начинающийся в Power_on и заканчивающий в Power_off. Для этого разместите курсор на прямолинейном участке границы состояния Power_on. Нажмите курсор, когда он изменится на перекрестие. Не отпуская кнопку мыши, перетащите курсор к прямолинейному участку на границе состояния Power_off. Когда переход достигнет границы состояния Power_off, отпустите кнопку мыши. (Перекрестие не появится, если Вы расположите курсор в уголке состояния, так как углы используются для изменения размеров.)

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




Р и с. 8. Седьмой шаг создания Stateflow модели


  1. Назвать переходы.

Нажмите на переходе от Power_on к Power_off, чтобы выбрать его. Нажмите на символе ? рядом с переходом и введите имя Switch (Выключатель). Нажмите клавишу Escape, чтобы снять выделение имени перехода и выйти из редактирования.

  1. Назовите переход от Power_off к Power_on тем же самым именем Switch. Ваша диаграмма Stateflow должна выглядеть так.



Р и с. 9. Восьмой шаг создания Stateflow модели


  1. Прибавить переход по умолчанию.

Нажмите и отпустите мышь на кнопке Default Transition в инструментальной панели. Переместите курсор к прямолинейному участку на границе состояния Power_off. Нажмите и отпустите мышь, когда стрелка достигнет границы Power_off. Ваша диаграмма Stateflow должна выглядеть так.



Р и с. 10. Девятый шаг создания Stateflow модели
Далее необходимо добавить и определить входные события в диаграмму Stateflow:

  1. Выбрать Explore (Обозреватель) в меню Tools графического редактора, чтобы вызвать Explorer.

  2. Дважды щелкнуть на имени машины (оно то же самое, что и имя модели Simulink) в списке Object Hierarchy (Иерархия Объектов).

  3. Выделить элемент On_off диаграммы в списке Иерархии Объектов.



Р и с. 11. Десятый шаг создания Stateflow модели


  1. Выбрать Event (Событие) в меню Add.

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



Р и с. 12. Одиннадцатый шаг создания Stateflow модели


  1. Ввести имя Switch в поле Name (Имя) диалогового окна Event properties (Свойства событий).

  2. Выбрать Input from Simulink (Входящие от Simulink) как значение параметра Scope (Наблюдаемость).

  3. Выбрать Rising Edge (Нарастающий Перепад) как тип Trigger (Триггера).

  4. Нажать на кнопку OK, чтобы применить изменения и закрыть окно.



Р и с. 13. Двенадцатый шаг создания Stateflow модели


  1. Выбрать Close (Закрыть) из меню File Обозревателя.

Теперь необходимо выполнить подключения в модели Simulink между блоком Stateflow и другими блоками. Для этого необходимо:

  1. Ввести команду simulink в командном окне MATLAB, чтобы вызвать Simulink.

  2. Добавить блок Sine Wave (расположенный в библиотеке Sources блоков Simulink) и подключить его к входному триггерному порту блока Stateflow.

  3. Добавить блок Scope (расположенный в библиотеке Sinks блоков Simulink) и также подключить его к выводам блока Sine Wave. Ваша модель должна выглядеть так.



Р и с. 14. Тринадцатый шаг создания Stateflow модели
Следующий этап – определение параметров Simulink

  1. Дважды щелкнуть на блоке Sine Wave и редактировать параметры, как показано в этом примере диалогового окна.



Р и с. 15. Четырнадцатый шаг создания Stateflow модели
Нажмите на кнопку OK, чтобы применить изменения и закройте диалоговое окно.

  1. Выбрать Parameters (Параметры) в меню Simulation окна модели Simulink и редактировать значения, чтобы они соответствовали значениям в этом диалоговом окне.



Р и с. 16. Пятнадцатый шаг создания Stateflow модели
Следующий этап - синтаксический анализ (Parsing) Stateflow-диаграммы

Синтаксический анализ диаграммы Stateflow гарантирует, что система обозначений, которые Вы определили, имеет силу и корректна. Чтобы проанализировать диаграмму Stateflow, выберите Parse Diagram из меню Tools графического редактора. Информационное сообщение

Parsing successful for machine: "untitled"(#15)

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

И наконец, можно запустить модель на выполнение. Для этого необходимо:

  1. Убедиться, что Stateflow диаграмма и блок Scope открыты.

Дважды щелкните на блоке On_off Stateflow, чтобы отобразить Stateflow диаграмму. Дважды щелкните на блоке Scope, чтобы отобразить вывод Sine Wave.

  1. Выбрать Open Simulation Target (Открыть Код Моделирования) меню Tools графического редактора. Появится диалоговое окно Simulation Target Builder.



Р и с. 17. Шестнадцатый шаг создания Stateflow модели


  1. Выбрать Coder Options (Параметры Кодера) в диалоговом окне Simulation Target Builder. Появится диалоговое окно Simulation Coder Options.



Р и с. 18. Семнадцатый шаг создания Stateflow модели


  1. Убедиться, что переключатель Enable Debugging/Animation (Допустить Отладку/ Анимацию) включен. Нажмите на кнопку OK, чтобы применить изменения. Закройте Simulation Coder Options (Параметры Кодера) и диалоговое окно Simulation Target Builder.

  2. Выбрать Debug (Отладка) в меню Tools графического редактора. Появится диалоговое окно отладчика.



Р и с. 19. Восемнадцатый шаг создания Stateflow модели
Убедитесь, что Enabled радио кнопка в Animation (Анимации) включена, что разрешает анимацию диаграммы Stateflow. Нажмите на кнопку Close, чтобы применить изменение и закройте окно.

  1. Выбрать Start (Начало) из меню Simulation графического редактора, чтобы запустить исполнение модели и наблюдать за изменениями.

Ввод от блока Sine определен как Input from Simulink (Вход от Simulink) события Switch. Когда моделирование начинается, диаграмма Stateflow анимирована, отражая изменения состояний, запущенные входной синусоидальной волной. Каждое входное событие Switch переключает модель из состояния Power_on в состояние Power_off либо обратно.

Выбрать Stop (Останов) из меню Simulation графического редактора, чтобы остановить моделирование.

Stateflow Debugger (Отладчик) поддерживает такие функции, как обеспечение пошагового продвижения, анимацию и остановку в контрольных точках. Эти шаги показывают, как моделировать, используя Отладчик:

1. Отобразить Отладчик, выбирая Debug (Отладка) меню Tools графического редактора.

2. Нажать на Breakpoints: Chart Entry (Контрольные точки: диаграмма введена) в поле выбора, чтобы Отладчик остановил выполнение моделирования, когда диаграмма введена.

  1. Нажать на кнопку Start (Пуск), чтобы запустить моделирование. Информация и сообщения об ошибках, связанных с генерацией объектного кода для S-функций - Stateflow блоков, отображены в командном окне MATLAB. Когда программа сформирована, графический редактор становится доступен только для чтения (диаграмма замораживается), окно Отладчика (Debugger) будет модифицировано и выглядеть следующим образом.



Р и с. 20. Девятнадцатый шаг создания Stateflow модели
4. Нажать на кнопку Step, чтобы выполнить один шаг моделирования. Окно Отладчика (Debugger) отображает следующую информацию:

Наблюдайте за окном графического редактора, одновременно нажимая на кнопку Step, чтобы видеть каждый переход и анимированное состояние в процессе выполнения модели. После того, как Power_off и Power_on побывают в активном состоянии, процент выполнения кода станет 100 %.

5. Выбрать Stop (Останов) из меню Simulation графического редактора, чтобы остановить моделирование. Как только моделирование останавливается, модель становится доступной для редактирования.

6. Нажать на кнопку Close (Закрыть) в окне Debugger.

7. Выбрать Close из меню File в окне модели Simulink.
Задания.

1. Познакомиться с описанием объектов Stateflow (Рогачев Г.Н. Моделирование систем. Самара: СамГТУ, 2004).

2. Создать модель светофора.
Вопросы к лабораторной работе.

    1. Гибридные системы как особый класс систем.

    2. Моделирование систем с дискретными событиями при помощи диаграмм состояний и переходов.

    3. Обобщенная модель гибридной системы.

    4. Моделирование гибридных систем в Stateflow.
    5. Графические объекты Stateflow.

    6. Неграфические объекты Stateflow.


    7. Данные диаграмм Stateflow.

    8. Язык действий Stateflow.

    9. Нотации меток состояний.

    10. Нотации меток переходов.

    11. Примеры моделей гибридных систем в Stateflow.


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

в Stateflow


Составитель Рогачев Геннадий Николаевич


Редактор В.Ф. Е л и с е е в а


Подписано в печать 10.07.05

Формат 60х84 1/16. Бум. тип №2

Печать офсетная.

Усл. п.л. 0,2. Усл. кр. отт. 0,2. Уч.-изд. л. 0,18

Тираж 100 экз. С-206
___________________________________________________

Самарский государственный технический университет

443100, Самара, ул. Молодогвардейская, 244.
Главный корпус




Учебный материал
© nashaucheba.ru
При копировании укажите ссылку.
обратиться к администрации