- М.Д. Казаненко, 2015
УДК 621.37/39:658.011.56
М.Д. Казаненко
ПРИМЕНЕНИЕ ТЕОРИИ КОНЕЧНЫХ АВТОМАТОВ ПРИ МОДЕЛИРОВАНИИ СЛОЖНЫХ СИСТЕМ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ STATEFLOW
Рассмотрены проблемы проектирования сложных систем, вопросы применения автоматного управления, Switch-технологии. Обоснованы преимущества использования автоматного подхода. Описано моделирование систем управления при помощи программ Simulink и State flow.
Ключевые слова: конечный автомат, Switch-технологии, автоматное программирование, реактивные системы, моделирование, Stateflow.
Входе проектирования сложных реактивных систем, возникает проблема реализации программной части для описания их алгоритма поведения. Такие программы отличаются большой громоздкостью, по ним сложно проследить всю логику работы, кроме того на данный момент нет четкой структуры, которую можно было бы применить для нескольких систем.
В 1991 г. А.А. Шалыто было предложено решение данной проблемы: Бш^сЬ-технологии - технология разработки систем логического управления на базе конечных автоматов, охватывающая процесс спецификации, проектирования, реализации, отладки, верификации, документирования и сопровождения была предложена.
В данной технологии автоматы применяются не как одну из моделей дискретной математики, а как универсальный подход, который целесообразно использовать практически всегда, когда программа должна обладать достаточно сложным поведением. Данный подход соединяет разработку приложений с методами построения управляющих систем.
Автоматное программирование используется для проектирования реактивных систем управлений, взаимодействующих с окружающей средой путем
обмена сообщениями в темпе, задаваемом средой. К этому классу можно отнести большинство телекоммуникационных систем, а также системы контроля и управления физическими устройствами.
Рассмотрим подробнее управляющие автоматы, которые используются при построении модели автоматизированного объекта управления. Предпосылкой для создания такого типа автоматов была необходимость проектирования и реализации систем со сложным поведением.
Автомат, в данном случае, не только имеет конечное число состояний, но, кроме того, реализуемые им функции переходов и выходов оперируют исключительно конечными множествами. Именно это свойство позволяет описывать логику поведения машины явно: в виде таблицы или графа переходов. Поэтому свойство конечности устройства управления необходимо сохранить при построении модели автоматизированного объекта. Более того, это свойство целесообразно усилить следующим неформальным требованием: число управляющих состояний, входных и выходных воздействий должно быть небольшим.
При рассмотрении всевозможных деталей использования автоматных моделей в программировании ста-
Рис. 1
Рис. 2
Рис. 3
новится ясно, что выбрать одну конкретную модель, подходящую для всех задач, невозможно. При программной реализации сущностей со сложным поведением применение могут найти активные и пассивные, разомкнутые и замкнутые модели, различные формы представления и интерпретации входных и выходных воздействий. Модель автоматизированного объекта управления должна быть применима для любой сущности со сложным поведением, и поэтому целесообразно сформулировать ее довольно абстрактно.
Приведем формальное определение автоматизированного объекта управления.
Пара А,О, состоящая из управляющего автомата и объекта управления, называется автоматизированным объектом управления.
Управляющий автомат представляет собой шестерку (X, У, Z, у 8, ф),
где X = Х
■Е
'0> Х0 -
конеч-
X
ное множество входных воздействий, причем каждое входное воздействие х состоит из компоненты хЕ, порождаемой внешней средой, и компоненты х0, порождаемой объектом управления; У - конечное множество управляющих состояний; Z - конечное множество выходных воздействий; у0еУ - начальное состояние; ф = (ф', ф'') - функция выходов (выходных воздействий), состоящая, в общем случае, из двух компонент: функции выходных воздействий в состояниях ф': У^Z и функции выходных воздействий на переходах ф1':XxУ^■Z; 8: ХхУ^У - функция переходов.
Объект управления - это тройка (V, ¡ч, /), где V - потенциально бесконечное множество вычислительных состояний (или значений); / -
функция, сопоставляющая входное воздействие вычислительному состоянию; /.: ZxV^V - функция, изменяющая вычислительное состояние в зависимости от выходного воздействия.
Функции и / являются математическими эквивалентами набора запросов и набора команд соответственно.
Графическое представление описанной модели приведено на рис. 1.
Основные этапы проектирования системы:
• Исходными данными задачи считается не только словесное описание целевого поведения системы, но и (более или менее) точная спецификация набора событий, поступающих в систему из внешней среды, и множеств запросов и команд всех объектов управления.
• Строится набор управляющих состояний.
• Каждому запросу объектов управления ставится в соответствие входная переменная автомата, каждой команде - выходная. На основе управляющих состояний, событий, входных и выходных переменных строится автомат, обеспечивающий заданное поведение системы.
• Построение визуального интерфейса системы: «Система управления» - «Оператор».
В качестве примера рассматривается модель «Частотно-регулируемый привод - Задвижка».
Рис. 4
Введем обозначения входов и выходов, которые затем будут использоваться в моделировании:
1. Входные (управляющие) воздействия: х1 - «Открыть», х2 - «Закрыть».
2. Выходные данные: z1 - «Задвижка открыта», z2 - «Задвижка закрыта», z3 - «Переходное состояние».
Для моделирования системы используется программа Ма^аЬ с под-программным пакетом Б1тиНпк, а так же графическое приложение Б1а1еАош.
Модель системы в программе БЬ тШпк (рис. 2). Блок «2а<<у12ка» на диаграмме - элемент программы Б1а1еР1ош, при помощи которой реализован конечный автомат управления задвижкой с 2-мя управляющими сигналами и переходным состоянием
(рис. з). Итоговый график переходных процессов представлен на рис. 4.
Выводы
• Автоматный подход обеспечивает создание управляющего автомата в строго соответствии с техническим заданием, точное документирование разработки, существенно облегчает отладку и сопровождение проекта.
• Использование конечного автомата при реализации визуальной части проекта упрощает моделирование сложных систем, не требует вычисления математических моделей. Сложность данного подхода состоит только в корректной передаче значений автомата и реализации выходных воздействий из автомата.
1. Поликарпова Н.И., Шалыто А.А. Автоматное программирование. - СПб., 2008. -167 с.
2. Козаченко В.Ф. Эффективный метод программной реализации дискретных управляющих автоматов во встроенных системах управления.
КОРОТКО ОБ АВТОРЕ_
_ СПИСОК ЛИТЕРАТУРЫ
3. Вавилов К.В. Программируемые логические контроллеры SIMATIC S7-200 (SIEMENS). Методика алгоритмизации и программирования задач логического управления. [ГШ
Казаненко Мария Дмитриевна - студентка, МГИ НИТУ «МИСиС», e-mail: ud@msmu.ru.
UDC 621.37/39:658.011.56 USAGE OF STATE MACHINE THEORY IN COMPLEX SYSTEM SIMULATION USING STATEFLOW
Kazanenko M.D., Student,
Moscow Mining Institute, National University of Science and Technology «MISiS», e-mail: ud@msmu.ru.
This article presents the main problems of complex system engineering, usage of state machine control and Switch-technology, explains advantages of using state machine attitude, and describes system's simulation using Simulink and Stateflow.
Key words: state machine, Switch-technology, state machine programming, complex system, simulation, Stateflow.
REFERENCES
1. Polikarpova N.I., Shalyto A.A. Avtomatnoe programmirovanie (Automatic programming), Saint-Petersburg, 2008. 167 p.
2. Kozachenko V.F. Effektivnyi metod programmnoi realizatsii diskretnykh upravlyayushchikh avtomatov vo vstroennykh sistemakh upravleniya (Efficient method of software implementation of discrete control automations in inbuilt control systems).
3. Vavilov K.V. Programmiruemye logicheskie kontrollery SIMATIC S7-200 (SIEMENS). Metodika al-goritmizatsii i programmirovaniya zadach logicheskogo upravleniya (Programmable logic controllers SIMAT-1CS7-200 (SIEMENS). Procedure of algorithmization and programming of logic control).