Практическая часть.
Задача: периодический синусоидальный сигнал от источника 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 (добавить событие). Далее, в поле Name, вносим имя события – Switch, индикатор, поле Scope, – Input from Simulink, условие переключения, поле Trigger, – Rising. Нажимаем Apply.
Если всё сделано правильно, то над блоком SF-диаграммы появится характерный триггерный вход.
5. Соединяем выход генератора сигнала Sine Wave с входом блока Chart.
6. Формируем аналогично входу выход. Для этого в SF- диаграмме после события Switch необходимо поставить прямой слеш и добавить имя события Vkluch, переключаемого при переходе от on к off и от off к on. Затем заносим событие Vkluch в проводник SF-диаграммы. В проводнике выбираем объект (диаграмму Chart) и на панели инструментов нажимаем Add Event. Далее вносим имя события - Vkluch, область действия – Output to Simulink, условие переключения – Either Edge.
7. Соединяем выход блока Chart с входом Scope.
8. Поскольку моделирование происходит быстро и из-за этого трудно уследить за его ходом, то в отладчике SF-диаграммы (Tools→Debag) меняем время анимации на 1 секунду (Delay(sec)).
9. Запускаем Simulink – модель.
Полученная диаграмма определяет своё состояние в зависимости от чётности входного синусоидального сигнала
1.Общее задание – можно добавить своих скринов
2.Ваше инд. Задание – нужно добавить своих скринов)
Вывод
В ходе лабораторной работы, мы познакомились с назначением пакета Stateflow, построили модель управляемого переключателя и научились работать с проводником и отладчиком SF-диаграммы
Федеральное государственное бюджетное общеобразовательное учреждение
высшего образования
«Ковровская государственная технологическая академия
имени В.А. Дегтярёва»
Кафедра ГПА и ГП
Лабораторная работа № 2
«Иерархия состояний»
Руководитель: Даршт Я.А.
Исполнитель: студент группы СГиПП
Ололоев А.А.
Ковров 2017 г.
