logo
Математическое моделировани2

3.4.3. Пакет моделирования гибридных систем StateFlow

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

области фазового пространства в другую. Еще недавно единственным способом изучения гибридных систем было исследование их отдельных фаз или режимов и «склеивание» общего поведения вручную. В на- стоящее время появились пакеты, позволяющие моделировать глобальное поведение таких объектов. Одним из эффективных и наиболее доступных инструментов численного моделирования систем, управляемых событиями, является пакет StateFlow, входящий в состав среды MATLAB.

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

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

Диаграмма StateFlow (SF-диаграмма) в нотации обозначений конечного автомата, предложенной Дэвидом Харелом – графическое представление конечного автомата, где состояния и переходы формируют базовые конструктивные блоки системы. Графический интерфейс пакета StateFlow позволяет создавать SF-диаграммы динамического типа. Это означает, что в ходе моделирования на SF-диаграмме отражаются все изменения модели: например, показывается, какие переходы реализуются и по каким условиям изменяются цвета блоков в зависимости от их активности и т. п. Это дает возможность визуально отслеживать поведение системы в ходе моделирования, существенно повышая степень наглядности. Комбинация MATLAB Simulink-StateFlow является мощным универсальным инструментом моделирования систем, управляемых событиями.

Обычно при моделировании мехатронных систем SF-диаграмма встроена в Simulink-модель и работает совместно с ней, обмениваясь сигналами (данные, события) через интерфейс. На рис. 3.7 показана схема, в которой источник переменного напряжения подключен к нагрузке – осциллографу – через управляемый коммутатор. Переключатель должен работать следующим образом: при положительном напряжении на выходе генератора он должен подключать это напряжение на вход индикатора; если напряжение становится меньше нуля, на индикатор должен передаваться сигнал, равный 2.

Рис. 3.7. Система управления коммутатором:

a – блок-схема модели, b – SF-диаграмма

Управление осуществляется SF-диаграммой в функции состояния сигнала источника. На вход диаграммы поступает сигнал от генератора u . Выходом диаграммы является сигнал управления переключателем Stick. С точки зрения нотаций StateFlow сигналы u и Stick являются данными. При этом u – входные данные, Stick – выходные. SF-диаграмма включает два состояния: On – включено и Off – выключено. По умолчанию диаграмма переходит в состояние On, переменной Stick присваивается значение 1, и переключатель подключает источник к индикатору.

При выполнении условия u ≤ 0 переменной Stick присваивается 0 и переключатель подает на вход индикатора сигнал уровня 2.