У
правление сложными технологическими процессами и производствами
УДК 658.52.011.56
ГРУППОВОЕ УПРАВЛЕНИЕ О ДИСКРЕТНО-СОБЫТИЙНЫХ СИСТЕМАХ
А.А. Амбарцумян, А.И. Потехин
Под групповым управлением понимается способ управления конфигурацией автономных компонентов объекта в целях выполнения заданной технологической функции. Идея заключается в создании двухуровневой системы управления с использованием на нижнем уровне моделей поведения каждого компонента, а групповое управление реализуется моделью управляющего компонента, взаимодействующего с моделями нижнего уровня. Рассмотрены два типа группового управления: заданы последовательности совместного выполнения операций автономными компонентами, заданы ограничения на сочетание технологических операций, выполняемых различными компонентами.
Ключевые слова: групповое управление, дискретно-событийные модели, сети Петри, автономные компоненты, структурно-сложные системы.
ВВЕДЕНИЕ
Групповое управление (ГУ) технологическим оборудованием как способ управления конфигурацией автономных компонентов объекта (структурой потоков материалов и изделий) в целях выполнения заданной технологической функции (задачи) широко применяется в промышленности. В настоящее время ГУ выполняется на основе «жесткой схемы» конечно-автоматных моделей. Однако это несовместимо с объективно изменяющейся на сооружаемом объекте технологией, поскольку при сооружении объекта (5—7 лет после проекта), как правило, имеют место отклонения в поставляемом оборудовании от проекта и изменения в технологических процессах. Поэтому смена конфигурации оборудования закрепляется в регламенте, должностных инструкциях и неформальных действиях персонала с использованием дистанционного управления каждым исполнительным механизмом. Тем самым закладывается чрезвычайно низкий уровень автоматизации управления. Это служит причиной гипертрофированно высокой степени участия оператора в управлении, вследствие чего наблюдается рост потерь по причине человеческого фактора и как следствие снижение эффективности и безопасности системы. В настоящей статье предлагается подход к ГУ на основе дискретно-событийных моделей автономных ком-
понентов (АК) объекта и заданных логических ограничений на их поведение. Основные концепты подхода: раздельное моделирование АК объекта, формирование требований к их совместному поведению, синтез управляющего компонента системы.
Подход к проектированию ГУ оборудованием с дискретным поведением, опирающимся на формальную модель объекта, на наш взгляд, состоит в дискретно-событийном моделировании, включая парадигму супервизорного управления в рамках теории дискретно-событийных систем (ДСС), которое активно развивается в ряде научных центров мира [1—7]. В работах А.А. Амбарцумяна [8, 9] исследованы так называемые «структурированные ДСС» в рамках триплета [Б, К, 5]: поставлена и решена задача формального синтеза «неблокирующего» супервизора 5 при компонентном задании объекта Б и описании ограничений К на его компоненты.
В настоящей работе ставится задача разработать модель и методы формального синтеза ГУ технологическим оборудованием объекта при заданных моделях АК и требований (ограничений) к групповому управлению. Рассмотрены два типичных ограничения на формирование группового управления:
— ограничения К заданы в виде требуемой последовательности выполнения технологических операций АК;
— ограничения K заданы в виде допустимого сочетания технологических операций.
Наша модель группового управления предполагает сетевую систему, в которой модели нижнего уровня определяются функциональностью объекта, а компонент верхнего уровня, обеспечивающий групповое управление, будет ограничивать порядок выполнения операций, определяемый только назначением группы. Такое разделение позволяет предположить, что локальные изменения в алгоритме функционирования отдельных АК будут приводить лишь к локальным изменениям управляющего компонента.
1. БАЗОВЫЕ ПОНЯТИЯ И ПОСТАНОВКА ЗАДАЧИ
Модель ДСС, по нашему мнению, служит подходящей моделью для представления группового управления АК в виде двухуровневой структуры. Напомним, что ДСС — это триплет [G, K, S], где G — объект, K — спецификация (ограничение на поведение объекта), а S — супервизор (управляющий компонент ДСС), обеспечивающий поведение объекта G в соответствии с ограничениями K. Отличительная особенность данной работы состоит в моделировании поведения объекта G и супервизора S сетями Петри. Сеть Петри S определяется через структуру и разметку: S = (P, T, Pre, Post), где P — множество из n позиций, T — множество из m переходов t. (множества конечны, не пусты и в графической форме сеть S изображается двумя типами вершин — кружками и полочками). Для всякого перехода ti по функциям инцидентности определяются множества его входных pre(t) и выходных post(t) элементов. Аналогично для позиций. Эти функции расширяют и на соответствующие подмножества множеств P и T. Вектор ц: P ^ N (вектор разметки сети) каждой позиции ставит в соответствие целое положительное число (при графическом представлении сети Петри разметка позиции представляется точками в кружке, которые называют метками). Число меток в позиции Pj обозначается как pj). Сеть Петри — это пара (S, ц0), где — начальная разметка. В работе используются как традиционный способ, так и способ задания сети Петри матрицей инцидентности (различий) W, т. е. S = (P, T, W, ц0). Терминология и нотация по сетям Петри заимствована из работ [4, 5].
Уточним постановку задачи группового управления: объект G задан совокупностью сетей Петри всех его АК, спецификация K определена в виде множества ограничений на совместное поведение компонентов. Далее рассмотрим два типичных ограничения:
— заданы последовательности совместного выполнения операций автономными компонентами объекта;
— заданы ограничения на сочетание технологических операций, выполняемыми различными компонентами.
Требуется синтезировать алгоритм группового управления, т. е. построить супервизор S в виде сети Петри.
Первый шаг конструирования группового управления состоит в моделировании всех компонентов объекта G сетями Петри. Как показано в работе А.А. Амбарцумяна [8], для решения задачи ГУ модель каждого компонента можно предварительно упростить путем сжатия всех состояний, не участвующих во взаимодействии с другими компонентами, в одно условно-подготовительное состояние, и таким образом получить упрощенную модель компонента, содержащую только состояния активности: «работа», «не работа» и соответствующие события.
2. СИНТЕЗ АЛГОРИТМА ГУ ПРИ ЗАДАННЫХ ОГРАНИЧЕНИЯХ НА ПОСЛЕДОВАТЕЛЬНОСТИ ОПЕРАЦИЙ
Теоретические основы данного параграфа изложены в работах А.А. Амбарцумяна [8, 9]. Пусть
ДСС — это триплет [G, K, S]. Объект G = [G1,
G2, ..., Gn] — это совокупность автономных компонентов, которые будем моделировать автоматными сетями Петри. Каждая сеть Петри — это совокупность позиций, переходов, входных и выходных дуг и начальной разметки. Напомним, все переходы сети сопоставляются событиям и классифицируются на неуправляемые, ожидаемые и управляемые (последние на рисунках будем изображать полочками).
Спецификация K — это множество строк, определяющих требуемую последовательность срабатывания переходов АК. Требуется синтезировать ГУ в виде сети Петри супервизора Sc такой, чтобы
объединенная сеть S = [Sp, Sc] выполняла бы толь-
p c
ко те последовательности переходов, которые определены в спецификации K.
Пусть K = [up u2, ...] — это язык, заданный строкам м, где каждая мг-я последовательность срабатывания переходов в объекте G. Например, последовательность и = tj, t2, t5, ?6, t3, t4, t7, t8, tx соответствует заданному порядку открытия и закрытия компонентов (например, задвижек трубопровода), рис. 1.
Определение 1. Пара соседних переходов (t., J)
* J
в строке и называется несвязной парой (н-парой), если в сети S объекта не существует позиции pk такой, что t. е pre(pk) и j е post(pk). ♦
Г
S — алгоритм ГУ
a U i
i" ©
G — модели АК
Рис. 1. Объединенная сеть S = [Sp, Sc]
Рис. 2. Результирующая сеть S = [S^, Sc]
Вначале кратко изложим базовый метод синтеза алгоритма ГУ, когда ограничение задано одной бесповторной строкой и срабатывания переходов [8]. Согласно определению 1 находим множество н-пар переходов в заданной строке и: (¿2, t5), Ц), (¿4, t1). Заметим, что второй переход в каж-
дой н-паре является управляемым.
Далее, каждой н-паре переходов в сети 5С
, ] с
строится структура рс, где рс — позиция супервизора 5с, а переходы ti е рге(рс) и ^ е роз^с). В нашем случае имеем рс1, t5), (t6, рс2, tз), (t4, Pc3, (t8, Pc4, ^
Результатом работы метода служит сеть Sc из четырех управляющих позиций (pc1, pc4) и соответствующих связей. Результирующая сеть, состоящая из сети Sc и исходной сети Sp объекта, пред-
c р
ставлена на рис. 2.
В сети Sc определим ее начальное состояние. Нетрудно видеть, что метка начального состояния сети Sc должна находиться в позиции pc4 Как и декларировалось ранее, при проектировании алгоритма ГУ на первом уровне сохраняются алгоритмы управления автономными компонентами
(сеть Sp), а на втором уровне сеть Sc, содержащая
р c
позиции pc1, ..., pc4, реализует алгоритм ГУ. В общем случае имеет место многократность и вариантность срабатывания механизмов рассредоточенного объекта, что приводит к многообразию вариантов взаимодействия компонентов. Это отражается в типичной логической схеме последовательности
строк и: = Г1 tktl...tktrГ2 t/,..tl{taitm1, ..., tan - П, в которой возможны различные н-пары: с совпадающими первыми (например tktl и tktr) или вторыми событиями (tktr и t/) (символы событий заме-
k' j'
нены символами переходов). В работе [9] разработан метод синтеза алгоритма ГУ для общего случая. Изложим основные идеи метода. Кратко метод состоит из двух этапов. На первом из них по всем строкам спецификаций выявляются н-пары и конструируется матрица запусков MF. Ее строки помечены переходами, являющимися первыми компонентами в н-парах, а столбцы помечены переходами, являющимися вторыми компонентами в н-парах. Далее MF(j, i) = 1, если j, t{ — н-пара, иначе MFj, i) = 0. На втором этапе для каждой строки матрицы запусков MF формируется звено передачи управления (типовой подсети в зависимости от типа н-пар). Эти звенья преобразуются в типовые расширения матрицы W(n х m) — матрицы инцидентности сети процесса Sp. Типовые подсети в зависимости от типа н-пар изображены на рис. 3 и 4.
Рис. 3. Входная часть сети Sc для н-пар типа tk ft
Рис. 4. Выходная часть сети Sc для н-пар типа tk t и J tr
k Г J г
и tk tr
Так на рис. 3 изображена входная часть структуры прямого взаимодействия (СПВ), т. е. структуры Sc, обеспечивающей срабатывание переходов в сети Sp в порядке, определенном н-парой с совпадающим первым событием и tkt). Здесь Вк1 и Гкг — выходы так называемого автомата — агента ¥. Агент ^ — автомат Мура, единичное значение этих выходов зависит от предыстории события рк
и всегда ортогональны. Подробности синтеза автомата ^ изложены в работе [9]. На рис. 4 изображена выходная часть СПВ для н-пар с совпадающими вторыми событиями и В этом случае в СПВ вводится дополнительная позиция рог, выполняющая функцию сборки (операция «ИЛИ»).
3. СИНТЕЗ АЛГОРИТМА ГУ ПРИ ЗАДАННЫХ ОГРАНИЧЕНИЯХ НА СОЧЕТАНИЕ СОСТОЯНИЙ
Для решения задачи ГУ при ограничениях на сочетание состояний модель АК желательно упростить путем сжатия всех состояний, не участвующих в взаимодействии АК, в одно состояние и включить в упрощенную модель только состояния, соответствующие активности («работа» — «не работа») и соответствующие события.
В качестве примера рассмотрим упрощенный вариант пекарни — комплекс, состоящий из трех печей и двух роботов, обслуживающих выгрузку выпечки, рис. 5. (Этот пример — несколько модифицированная версия примера из работы [7]).
Ограничения на функционирование комплекса: все агрегаты работают циклически; любая печь, как только выпечка готова, должна немедленно
Рис. 6. Комплекс «одна печь — один робот» (П1 — Р1)
Рис. 5. Упрощенная модель пекарни
разгрузиться; печь разгружается любым свободным роботом. Работа печей представлена позициями: 1-я — р1, р2, 2-я — р3, р4, 3-я — р5, р6; робот 1 — р7, р8 робот 2 — р9, р10. Переходы tl, ^ управляемые и соответствуют командам (событиям) запуска соответствующей печи, переходы ^ и
t9, t10 неуправляемые и выполняют функцию синхронизации работы роботов и печей.
Несмотря на простоту рассматриваемого комплекса, задача ГУ имеет достаточно общий характер. Вот одна из обобщающих формулировок задач. Дано две группы параллельно работающих агрегатов А = [а\1 = 1, п} и В = [Ь\1 = 1, к}, к < п, таких, что для выполнения функционального назначения каждого а1 е А требуется его партнерство (коалиция) с любым из вспомогательных агрегатов (сервисов) Ь. е В. Задача группового управления заключается в динамическом (по мере готовности и запросов на группирование) формировании непересекающихся пар агрегатов, отвечающих требованиям к «партнерству».
Модель взаимодействия печей и роботов подробно рассмотрим на фрагменте комплекса «одна печь — один робот» (П1 — Р1), изображенного на рис. 6. Здесь позиция р1 соответствует состоянию «ожидание» печи 1, переход t1 — управляемый, его срабатывание переводит печь в позицию р2 (загрузка и выпечка), переход ^ — неуправляемый (ожидание выпечки), его срабатывание переводит печь в исходную позицию р1 и одновременно переводит робот 1 в позицию р8 (разгрузка печи). По окончании разгрузки — срабатывание перехода Ц — робот переходит в позицию р7. Функционирование данного фрагмента можно описать в виде таблицы переходов (табл. 1).
Таблица 1
Таблица переходов фрагмента П1-Р1
h f4 t7 Pi P2 P7 P8 Pi P2 P7 P8
1 0 0 0 1 0 1 0 1 0 1 0
2 1 0 0 1 0 1 0 0 1 1 0
3 0 0 0 0 1 1 0 0 1 1 0
4 0 1 0 0 1 1 0 1 0 0 1
5 0 0 0 1 0 0 1 1 0 0 1
6 0 0 1 1 0 0 1 1 0 1 0
7 0 0 0 1 0 1 0 1 0 1 0
В левой части табл. 1 (слева от двойной линии) представлено текущее состояние фрагмента, в правой части — следующее состояние. Значение перехода t. = 1 означает срабатывание i-го перехода, значение позиции p. = 1 означает нахождение метки в j-й позиции. Данную таблицу можно рассматривать как способ построения так называемого дерева достижимости (ДД), используемого в теории сетей Петри.
3.1. Основные понятия и определения
Рассмотрим некоторые понятия и определения, необходимые для дальнейшего построения супервизора при заданных ограничениях.
Определение 2. Состояние сети — это ее разметка ц: P — N (вектор разметки сети S) — каждой позиции, ставящая в соответствие целое положительное число.
Определение 3. Пусть ц(г) произвольная разметка сети с P = {p1, ..., pm}. Опорной функцией разметки ц(г) = Sup(^(i')) будем называть множество имен маркированных (имеющих метку) позиций в разметке ц(г). ♦
Для краткости значение Sup(^(i')) будем называть состоянием st сети S (имеется в виду состояние при разметке ц(/)). Например, если P = {pp ..., p5} и ц(г) = [011000], то s. = p2p3. Очевидно, что s. — это иное обозначение разметки ц(г).
Определение 4. Пусть MR — множество достижимых маркировок сети S из ц0, тогда Mp с MR называется множеством запрещенных (forbidden) состояний двух типов: состояний, противоречащих исходным ограничениям (устанавливаются разработчиком на основе технологического анализа объекта) или тупики (dead lock) и состояний, которые при возникновении неуправляемого события приводят в состояния уже отнесенные к запрещенным. ♦
В нашем примере каждый агрегат (печи и роботы) моделируются сетью Петри, содержащей всего две позиции — активная и пассивная (начальная). Позиции p2, p4, p6, p8, p10 — активные по-
зиции, позиции p1, p3, p5, p7, p9 — начальные. Исходя из технологического анализа функционирования объекта безусловно запрещенным состоянием сети S является состояние s = p2, p4, Рб, p8, p10, а также пять состояний, содержащих по четыре активных позиции (например, состояние p1, p4, Рб, p8, p10 и т. д.), так как технологически невозможна одновременно выгрузка печей и их загрузка-выпечка.
В работах [6, 9] конструирование супервизора (контроллера) базируется на знании запрещенных состояний сети, получаемых по полному ДД. Это сопряжено, прежде всего, с необходимостью анализа всех достижимых состояний, а также с получаемой сложностью управляющего компонента ДСС, реализующего собственно алгоритм ГУ, прямо пропорциональной числу запрещенных состояний.
Вместе с тем появлению запрещенного состояния всегда предшествует факт другого события — срабатывание некоторого управляемого перехода, допустимого для состояния предшествующего запрещенному. В настоящей работе мы исследуем именно этот феномен.
В множестве разрешенных состояний MA = = MR\Mp, важным подмножеством являются граничные разрешенные состояния MBA (border authorized states).
Определение 5. Пусть Tc — подмножество управляемых переходов. Тогда граничные разрешен -ные состояния MBA — это подмножество допустимых состояний (MBA с MA), из которых имеется управляемый переход (t. е T) в запрещенные
j c
состояния Mp. ♦
Такие переходы j будем называть граничными управляемыми переходами. В нашем примере граничными управляемыми переходами являются t1, t2 и t3.
3.2. Нахождение граничных разрешенных состояний
Обычно нахождение достижимых состояний (разрешенных и запрещенных) достигается путем построения полного ДД. Покажем, как найти множество разрешенных состояний, а также множество граничных разрешенных состояний MBA без явного построения ДД. Кроме этого, разработаем процедуру нахождения логических условий с целью блокирования граничных управляемых переходов.
Обратимся к табл. 1, которая является полным описанием ДД фрагмента «печь 1 — робот 1» (П1 — Р1), ее можно упростить, оставив те строки, где имеется единичное значение какого-либо из переходов. Нетрудно видеть, что состояние pjp2
Таблица 2
Таблица переходов (П1-Р1)
Таблица 3
Таблица переходов (П1-Р2)
Р2 Р% Р2 Р8
ч '4 '7 0 0 1 0 0 1 1 0 0 1 0 0
Таблица 4а Таблица переходов (П2-Р1)
Р2 Р% Р2 Р8
'1 '8 '7 0 0 1 0 0 1 1 0 0 1 0 0
Таблица 5а Таблица переходов (П3-Р1)
Рб Р8 Рб Р8
'з 'б '7 0 0 1 0 0 1 1 0 0 1 0 0
Р2 Р8 Р2 Р8
'1 '8 '11 0 0 1 0 0 1 1 0 0 1 0 0
Таблица 4б Таблица переходов (П2-Р2)
Р4 Р10 Р4 Р10
'1 '8 '11 0 0 1 0 0 1 1 0 0 1 0 0
Таблица 5б Таблица переходов (П3-Р2)
Рб Р10 Рб Р10
'з '10 '11 0 0 1 0 0 1 1 0 0 1 0 0
Таблица 6
Варианты параллельных процессов
П1 П2 П3
Р1 Р2 0
Р2 Р1 0
0 Р1 Р2
0 Р2 Р1
Р1 0 Р2
Р2 0 Р1
может быть либо 01, либо 10. Поэтому в результирующей таблице вместо столбцов р1р2 можно оставить один столбец например, р2: если р2 = 0, то это означает, что метка находится в позиции р1 (р1 = 1) и наоборот. В результате таблица переходов (ТП) имеет вид табл. 2. Аналогично получаем ТП для печи 1 и робота 2 (П1 — Р2) (табл. 3), и ТП для фрагментов П2 — Р1 и П2 — Р2 (табл. 4а и 4б) и для фрагментов П3 — Р1 и П3 — Р2 (табл. 5а и 5б).
Из табл. 2—5 видно, что в позициях р, р. = 10 или 01 соответствующий фрагмент объекта (П. — Р.) находится в активном состоянии.
В рассматриваемом объекте возможно одновременное выполнение параллельных процессов, например, печь 1 обслуживается роботом 1, а печь 2 — роботом 2. Возможные варианты параллельных процессов представлены в табл. 6, где печь обозначена как П, робот — как Р, через «0» обозначен факт неработающей печи (одновременное обслуживание сразу трех печей двумя роботами невозможно).
Каждая строка табл. 6 соответствует некоторому варианту фрагментов, находящихся одновременно в активном состоянии. Например, в первой строке таблицы печь П1 с роботом Р1, а также печь П2 с роботом Р1 находятся в активных состояниях. При этом печь П3 должна быть «заблокирована», т. е. должна находиться в нерабочем состоянии. Из табл. 2 видно, что активные состояния фрагмента (П1 — Р1): р2 р8 = 01 и р2 р8 = 10, из табл. 4б — для фрагмента (П2 — Р2): р4р10 = 01 и р4р10 = 10. Получим всевозможные сочетания активных состояний этих фрагментов: р2 р4 р8 р10 = (0011, 0110, 1001, 1100).
Аналогично из табл. 3 и 4а имеем активные состояния двух фрагментов (П1 — Р2) и (П2 — Р1):
р2 Р4 Р8 Р10 = (0011, 0101, 1010, 1100).
Таким образом, мы получим множество граничных разрешенных состояний, в которых необходимо блокировать запуск печи П3 (путем блокирования перехода ?3): р2 р4 р8 р10 = (1100, 1010, 1001, 0110, 0101, 0011).
Аналогичным образом по табл. 4 и 5 получаем множество граничных разрешенных состояний, в которых необходимо блокировать запуск печи П1 (путем блокирования перехода ?1): р4 р6 р8 р10 = = (1100, 1010, 1001, 0110, 0101, 0011).
Аналогично по таблицам 2, 3 и 5 — блокировать запуск для печи П2 (путем блокирования перехода р2 р6 р8 р10 = (1100, 1010, 1001, 0110, 0101, 0011).
3.3. Представление множества граничных допустимых состояний булевыми формулами
Сопоставим позиции р1 логическую переменную х. Обозначим через /., I = 1, 2, 3, булеву функцию, принимающую единичное значение на множестве граничных разрешенных состояний, в которых необходимо блокировать запуск печи П;:
/1 = х4хбх8 хю v х4Х6 х8х10 V Х4Х6 Х8 Х10 V
V Х4 Х6Х8х10 V Х4 Х6Х8 Х10 V Х4 Х6 Х8Х10'
/2 = Х2Х6 Х8 Х10 V Х2 Х6 Х8 Х10 V Х2 Х6 Х8 Х10 V
V Х2 Х6Х8 х10 V Х2 Х6 Х8 Х10 V Х2 Х6 Х8Х10'
/3 Х2Х4 Х8 Х10 V Х2 Х4 Х8 Х10 V Х2 Х4 Х8 Х10 V Х2 Х4Х8Хю Х2Х4Х8 Хю Х2 Х4 Х8^ю.
Определим булеву функцию-импликацию, отражающую условие «не срабатывания» соответствующего граничного перехода. Вторая компонента импликации для перехода t¡ определяется как инверсия булевой переменной, соответствующей позиции роз^,.):
¥1 — fl ^ Х2 ; ¥2 — /2 ^ Х4 ' ¥3 — $3 ^ Х6 .
Обобщенная функция «не срабатывания» граничных переходов ¥ равна ¥ = ¥^2¥3.
По известной эквивалентности (а ^ Ь = а V Ь) переходим к ДНФ (дизъюнктивной нормальной форме) каждой функции, а затем выполним конъюнкцию этих функций и представим ее в совершенной конъюнктивной нормальной форме:
(Х2 V Х4 V Хб V Х8 V Х10 )(Х2 V Х4 V Хб V Х8 V Хю ) • •(Х2 V Х4 V Хб V Х8 V Хщ)(Х2 V Х4 V Хб V Х8 V Хщ ) *
• (Х2 V Х4 V Хб V Х8 V Х10 )(Х2 V Х4 V Хб V Х8 V Хю) •
• (Х2 V Х4 V Хб V Х8 V Хю)(Х2 V Х4 V Хб V Х8 V Хщ ) *
• (Х2 V Х4 V Хб V Х8 V Х10 ) •
• (Х2 V Х4 V Хб V Х8 V Х10) — ¥. (10)
3.4. Переход к линейным ограничениям
Сделаем несколько замечаний по поводу логических преобразований и обобщенной функции «не срабатывания» граничных переходов ¥.
• При выполнении перехода к ДНФ автоматически произошел переход к полностью определенным булевым функциям несрабатывания, поэтому в функцию ¥ вошли и переходы из запрещенных состояний.
• Если ¥ = 0, то условия отдельных переходов несовместимы и не существует ни одного общего ограничения. Однако возможны всевозможные допустимые комбинации из отдельных функций.
• Соотношение нулей и единиц в корнях уравнения (1) показывает на соотношение меток в позициях сети, и, следовательно, может быть использовано для поиска линейных ограничений. Для нашего примера функция ¥ тождественно
не равна нулю, следовательно, можно найти одно общее свойство, соответствующее ограничению на соотношение меток, и контроллер (супервизор) нашего примера будет содержать одну позицию, обозначим ее рс. В соответствии с первым из сде-
ланных замечаний, не все корни уравнения (1) являются приемлемыми решениями. Прежде всего, среди корней нет наборов, содержащих три единицы. Поскольку в наши ограничения входит требование, что всегда в один и тот же момент времени срабатывает один переход (что означает включение в работу одного агрегата), то решения с четырьмя и более единицами физически недостижимы. Поэтому приемлемыми решениями являются наборы значений Х2 Х4 Хб Х8 Х10 для уравнения (1), у которых не более двух единичных значений переменных. Отсюда следует ограничение, задаваемое линейным неравенством на суммарное число меток в позициях р2 р4 рб р8 р10:
ц^) + Н^) + ^б) + Н^) + Н^ю) < 2. (2)
3.5. Синтез контроллера (супервизора)
Задачи синтеза состоят в:
— определении числа позиций в сети супервизора £с;
— нахождении матрицы инцидентности Wc сети
— определении исходного состояния сети ^с(цсо).
Применим известную методику синтеза контроллера по линейным ограничениям, применяемую в школе Р„Т. А^ак^ [6].
Как было показано ранее, сеть в нашем примере содержит одну позицию — рс, т. е. пс — 1.
Из работы [6] следует, что
К = -ь х Wp,
(3)
где Кр — матрица инцидентности сети Sp. Матрица Ь размерности (п х пр), в которой 1-й разряд стро-
С р
ки у содержит 1, если позиция р, входит в ограничение. В нашем примере пс — 1, пр = 10, и в соот-
с р
ветствии с формулой (2) матрица ь имеет вид
1 2 3 4 5 6 7 8 9 10
0 1 0 1 0 1 0 1 0 1
Матрица Кр строится по исходной сети Б и имеет вид
'1 '2 'з и ч 'в '7 '8 '9 '10 '11
1 -1 0 0 1 0 0 0 1 0 0 0
2 1 0 0 -1 0 0 0 -1 0 0 0
3 0 -1 0 0 1 0 0 0 1 0 0
4 0 1 0 0 -1 0 0 0 -1 0 0
5 0 0 -1 0 0 1 0 0 0 1 0
6 0 0 1 0 0 -1 0 0 0 -1 0
Рис. 7. Объединенная сеть S = Sp u Sc
В результате вычисления по формуле (3) полу-
чим матрицу W:
t h t2 t3 t4 t5 t6 t7 t8 t9 t10 t11
Pc -i -1 -1 0 0 0 1 0 0 0 1
Исходное состояние цс0 сети Зс определим по формуле цр0 Ь + цс0 = Ь, где Ь = 2 из формулы (4), цр0 = 1010101010.
Таким образом, цс0 = 2 - Ь [1110001100] = 2.
Формируем объединенную управляемую сеть 5 = Бр и (рис. 7).
ЗАКЛЮЧЕНИЕ
В смысле вклада данной работы в теорию дискретно-событийных систем, заметим, что предложенная техника синтеза группового управления по логическим функциям перехода оригинальна и содержит, на наш взгляд, значительный потенциал в плане развития формализмов в определении линейных ограничений по спецификации допустимых переходов.
В прикладном плане, в данной работе предложена модель и методы синтеза группового управления в рамках дискретно-событийной модели на сетях Петри. Принципиальные отличия группового управления в структуре этой модели от традиционной архитектуры реализации группового управления за-
ключаются в возможности формально синтезировать алгоритм группового управления на базе более простых моделей объекта С = [С1, С2, ..., Сп] как совокупности автономных компонентов и спецификации К в виде ограничений; а также в возможности конструирования двухуровневой архитектуры группового управления на базе модульности, определенной в модели. На первом уровне сохраняются алгоритмы управления автономными компонентами, соответствующие модулям С1, С2, ..., Сп, а на втором уровне — собственно алгоритм группового управления, формально синтезированный по дискретно-событийной модели объекта С и спецификации К.
ЛИТЕРАТУРА
1. Ramadge J.G., Wonham W. M. Supervisory control of a class of discrete event processes // SIAM Journal of Control and Optimization. - 1987. - N 25. - P. 206-230.
2. Cassandras C.G., Lafortune S. Introduction to discrete event systems. — Dordrecht: Kluwer, 1999.
3. Holloway L.E., Krogh В.Н. Synthesis of feedback logic for a class of controlled Petri nets // IEEE Trans. Autom. Control. — 1990. - AC-35. - N 5. - P. 514-523.
4. Giua A., DiCesare F., Silva M. Generalized mutual exclusion constraints on nets with uncontrollable transitions // Proc. IEEE Conf. Syst. Man, Cybern. - 1992. - Р. 974-979.
5. Giua A., and Seatzu С. Supervisory control of railway networks with Petri nets // Proc. IEEE Conf. Decis. Contr. - 2001. -P. 5004-5009.
6. Yamalidou K., Moody J O., Lemmon M.D., Antsaklis P.J. Feedback control of Petri nets based on place invariants // IEEE Trans. on Robotics and Automation. - 1996. - N 32 (1). -P. 15-28.
7. Dideban A., Alla H. Reduction of Constraints for Controller Synthesis based on Safe Petri Nets // Automatica. - 2008. -N 44 (7). - P. 1697-1706.
8. Амбарцумян А. А. Моделирование и синтез супервизорного управления на сетях Петри для рассредоточенных объектов. Ч. 1. Механизм взаимодействия и базовый метод // Автоматика и телемеханика. - 2011. - № 8. - С. 151—169.
9. Амбарцумян А.А. Моделирование и синтез супервизорного управления на сетях Петри для рассредоточенных объектов. Ч. 2. Метод синтеза супервизора по множеству последовательностей общего вида // Автоматика и телемеханика. - 2011. — № 9. - С. 173—189.
Статья представлена к публикации членом редколлегии
О.П. Кузнецовым.
Амбарцумян Александр Артемович
- д-р техн. наук,
зав. лабораторией,
Потехин Анатолий Иванович — канд. техн. наук, вед. науч. сотрудник, Ш (495) 334-90-29, И [email protected],
Институт проблем управления им. В.А. Трапезникова РАН, г. Москва.