Алгоритм логического управления может быть записан разными способами, и от того, насколько полна и непротиворечива запись, во многом зависит корректность написанной в дальнейшем программы для программируемого логического контроллера (ПЛК) [1]. При записи алгоритма естественными языками велик риск возникновения неполноты и/или противоречивости в силу их неоднозначности. Чтобы устранить этот риск, для описания алгоритмов используют формальные средства, например, булевы формулы [2], таблицы решений [3, 4], конечные автоматы [2], сети Петри [5], формулы темпоральной логики [6] и многие другие. Эти средства хороши, удобны и понятны для разработчика либо любого другого участника, владеющего формальной теорией, которая лежит в их основе. Однако при этом сохраняется разрыв между специалистом предметной области (технологического процесса (ТП)) и разработчиком. Специалист предметной области имеет знания о ТП, но у него нет знаний формальной теории и навыков корректной постановки задачи управления [7]. Разработчик же, наоборот, имеет поверхностные знания о ТП, но владеет формальной теорией, хотя тоже может не иметь навыков корректной постановки задачи управления. Из-за такого разрыва передача знаний о полном и непротиворечивом алгоритме управления от специалиста предметной области разработчику затрудняется.
Далее представлен метод описания алгоритма на основе графических моделей автоматизированных технологических установок (АТУ), визуально схожих с оригиналами. Метод поддерживается формальными средствами (таблицы решений, конечные автоматы и так далее), но вместо них предоставляет специалисту предметной области графическое изображение технологической установки вместе с изображениями датчиков, органов управления, средств индикации и исполнительных механизмов. Специалист при составлении алгоритма имитирует процесс управления установкой, а соответствующий алгоритм записывается в нужной форме.
Графическая модель АТУ
Прежде чем описать графическую модель, дадим определение некоторым терминам.
Технологическая установка – комплекс обо- рудования и сооружений, предназначенный для проведения ТП. Примерами технологической установки являются ленточные конвейеры [8, 9], вагоноопрокидыватели [10], трансбордеры, вагонотолкатели и так далее (рис. 1).
АТУ – совокупность технологических установок и АСУ процесса, проводимого на данных технологических установках.
Любую АТУ можно рассматривать как совокупность отдельных ее частей, организованных в иерархическую структуру. Например, любая АТУ, как правило, включает непосредственно металлоконструкцию ТУ, шкаф управления, пульт управления. На металлоконструкции, в свою очередь, располагаются различные датчики, а пульт включает различные органы управления.
Любую отдельно взятую часть АТУ, в том числе такую, которая, в свою очередь, также включает отдельные части, будем называть элементом АТУ (или иногда для краткости просто эле- ментом).
Далее моделирование иерархической структуры АТУ рассматривается с позиций реляционной теории и основывается на таких понятиях, как отношение, кортеж, кардинальность, атрибут, арность, тип и первичный ключ [10]. Однако понятие типа не используется в традиционном смысле. Вместо этого предопределим лишь два типа, общих для всей модели: INT – множество целых чисел и STR – множество строк символов. Модель АТУ представляется шестеркой отношений следующим образом: M = (RE, RCE, RI, REI, RG, RCG), где RE – множество элементов АТУ; RCE – множество связей между элементами; RI – множество изображений элементов или правил их построения; REI – множество соответствий элементов и их изображений; RG – множество групп элементов; RCG – множество связей между группами.
Рассмотрим каждое из шести отношений подробнее.
Отношение RE определяет множество элементов и состоит (как и любое другое отношение) из заголовка и тела: RE = (HE, BE), HE = {E# : INT, NAME : STR, DESCR : STR, G# : INT}, где E# – номер элемента; NAME – название; DESCR – описание; G# – номер группы элемента.
Атрибут E# является первичным ключом, G# – внешним ключом. Тело BE представляет собой множество кортежей из значений атрибутов, указанных в заголовке. Каждый кортеж задается сле- дующим образом: bE = {E# : v1, NAME : v2, DESCR : v3, G# : v4}, где v1, v2, v3, v4 – значения соответствующих атрибутов.
Арность отношения RE равна четырем. На рисунке 2а показано табличное представление данного отношения.
Условимся, что вторая строка таблицы представляет заголовок HE, каждая последующая строка – в точности один кортеж из BE, а каждый столбец – в точности один атрибут.
Для удобства последующего изложения, но без потери его строгости будем использовать табличные представления при определении отношений.
Как было сказано, структура АТУ иерархична. Для реализации данного обстоятельства в модели используется бинарное отношение RCE. Если рассматривать RE как множество вершин дерева элементов АТУ, то RCE является множеством ребер и определяется в соответствии с рисунком 2б.
Здесь ANC# – номер элемента предка; DESC# – номер элемента потомка.
Атрибуты ANC# и DESC# являются внешними ключами; первичным ключом является совокупность {ANC#, DESC#}.
Каждому элементу АТУ, за исключением отдельно обговоренных случаев, ставится в соответствие его графическое изображение. Совокупность таких изображений, определенным образом расположенных на плоскости, является изображением АТУ. Отношение RI является множеством правил построения изображений элементов. На рисунке 2в показана таблица, представляющая RI.
Здесь I# – номер правила; IMAGE# – имя файла с изображением или имя функции построения изображения.
Атрибут I# является первичным ключом.
Для соотнесения элементов с изображениями используется отношение REI, табличное представление которого показано на рисунке 2г.
Здесь E# – номер элемента; I# – номер правила построения изображения; X – координата x изображения на плоскости; Y – координата y изображения на плоскости.
В случае изображения АТУ в виде изометрической проекции в REI вводится атрибут Z, обозначающий третью координату.
Первичным ключом для REI является совокупность атрибутов {E#, I#}.
Каждый элемент АТУ будем относить к определенной, только одной, группе. Группы, как и элементы, организованы в иерархическую структуру. Отношения RG и RCG представляют соответственно множество групп и множество связей. На рисунке 2д показана таблица, представляющая бинарное отношение RG.
Здесь G# – номер группы; NAME – название группы.
Первичным ключом RG является атрибут G#.
Табличное представление бинарного отношения связей RCG приведено на рисунке 2е.
Здесь ANC# – номер группы предка; DESC# – номер группы потомка.
Атрибуты ANC# и DESC# являются внешними ключами; первичным ключом является совокупность {ANC#, DESC#}.
Алгоритм построения графической модели
Представим алгоритм построения графической модели.
1. Определение базиса групп.
Построение модели имеет смысл лишь относительно определенного базиса групп. Базис, в свою очередь, задается отношениями RG и RCG. Минимальным, в смысле количества групп, является базис, показанный на рисунке 3.
2. Добавление корневого элемента.
Корневым элементом всегда является элемент, символизирующий всю АТУ в целом. В тело отношения RE добавляется кортеж, представленный на рисунке 4.
Изображения данный элемент не имеет.
3. Добавление АТУ более низкого уровня.
Если вся АТУ как объект управления представляет комплекс более мелких АТУ, то соответ- ствующие этим АТУ элементы добавляются в RE с атрибутом G#, равным 2. В отношение RCE добавляются соответствующие связи.
4. Добавление металлоконструкций.
Для каждой АТУ добавляется металлоконструкция технологической установки в отношение RE с атрибутом G#, равным 4 (только в минимальном базисе). В отношение RCE добавляется соответствующая связь, в отношение RI – правило изображения металлоконструкции, а в REI – соотношение элемента с правилом изображения.
Добавление элементов по пунктам 5–10 происходит аналогично указаниям, приведенным в данном пункте.
5. Добавление шкафов, щитов и ящиков управления как частей АТУ.
6. Добавление датчиков в качестве дочерних элементов по отношению к тем металлоконструкциям, шкафам, щитам и ящикам, на которых эти датчики установлены.
7. Добавление исполнительных механизмов в качестве дочерних элементов по отношению к тем металлоконструкциям, шкафам, щитам и ящикам, на которых эти механизмы установлены.
8. Добавление органов управления в качестве дочерних элементов по отношению к тем шкафам, щитам и ящикам, на которых эти органы управления установлены.
9. Добавление средств индикации в качестве дочерних элементов по отношению к тем металлоконструкциям, шкафам, щитам и ящикам, на которых эти средства установлены.
10. Добавление сигналов в качестве дочерних элементов по отношению к датчикам, исполнительным механизмам, органам управления и средствам индикации. При этом в отношении RE значение атрибута G# принимается равным 7, 8, 9 или 10 (рис. 3).
11. Приведение системы управления к логической.
Для каждого аналогового сигнала добавляются дискретные сигналы, отождествляемые с логическими высказываниями. Например, для аналогового сигнала могут быть добавлены три дискретных сигнала, отождествляемых с высказываниями: «значение аналогового сигнала меньше нуля», «значение больше нуля» и «значение равно нулю». Таким способом любая система управления с аналоговыми сигналами может быть приведена к логической.
При наличии изображений с прозрачным фоном (или функций для построения) для всех тех элементов АТУ, для которых эти изображения требуются, по модели восстанавливаются изображения АТУ: по одному для каждой металлоконструкции, каждого шкафа, щита и ящика.
Порядок наслоения изображений друг на друга определяется отношением RCE: те элементы, которые ближе к корню дерева, находятся ниже в изображении и наоборот.
Как показано выше, добавление элементов в модель почти всегда сопровождается установлением связей в RCE. При этом не каждая связь может быть семантически правильной. Например, шкаф управления не может быть частью конечного выключателя. Вопросы обеспечения корректности модели в данной статье не рассматриваются. Отметим лишь, что для решения этой проблемы с успехом могут быть применены экспертные системы.
Описание алгоритма управления по графической модели
Алгоритм по модели может быть построен различными способами. Могут быть выбраны и различные формы представления алгоритма – таблицы решений, конечные автоматы, сети Петри и т.д. Только лишь для иллюстрации основных идей построения алгоритма по модели выберем наиболее простую для понимания форму – таблицы решений.
Перед началом построения модели имеется пустое отношение RI (наряду с остальными отношениями, которые также являются пустыми). Любой логический дискретный сигнал может иметь три значения: безразличное, истина и ложь. Для каждого из этих значений добавим в отношение RI отдельное изображение. Для определенности пусть это будет серый круг для без- различного значения, зеленый круг – для истинного и белый – для ложного (рис. 5).
В каждый момент времени с дискретным сигналом в модели может быть связано только одно из этих изображений, что определяется отношением REI. Добавление в отношение RI стольких изображений, сколько значений может принимать дискретный сигнал (включая безразличное), является обязательным условием вне зависимости от способа построения и формы представления алгоритма.
В терминах языка Tutorial D [10] множество идентификаторов условий таблицы решений – результат выражения (RE WHERE G# = 7) {NAME}.
Множество идентификаторов действий – результат выражения (RE WHERE G# = 9) {NAME}.
Один вектор условий можно получить как результат выражения ((RE JOIN REI) WHERE G# = 7) {I#}. Один вектор действий, в свою очередь, – результат выражения ((RE JOIN REI) WHERE G# = 9) {I#}.
В случае последовательностной системы вектору условий соответствует результат выражения ((RE JOIN REI) WHERE G# = 7 OR G# = 9) {I#}.
Для удобства восприятия значения атрибута I# 1, 2, 3 могут быть переименованы в «–», «Y» и «N» соответственно.
Смена изображений сигналов, а точнее обновление кортежей в REI, определяет возможность добавления новых векторов условий и действий в таблицу решений. Таким образом, последовательной сменой изображений можно добиться определения всех мыслимых сочетаний значений сигналов и заполнения таблицы решений.
Выше было сказано, что добавление изображений для различных значений дискретного сигнала должно происходить в самом начале построения модели. Это может быть сделано и на любом другом этапе, но при этом должно быть определено соответствие номеров I# значениям сигналов.
По построенному в виде таблицы решений алгоритму может быть получена программа, например на языке ST [11], с помощью метода маски [3, 4]. При этом к таблице решений (как и к другим формам) также могут быть применены формальные методы обнаружения и устранения неполноты и противоречивости.
Таким образом, в статье описана методика моделирования АТУ на основе реляционной модели и реляционной алгебры. Модель представляет иерархическую структуру связанных элементов, структуру связанных групп, а также множество правил изображения элементов.
Основным назначением описанной методики является предоставление специалисту предметной области возможности построения полных и непротиворечивых алгоритмов без знаний теорий, лежащих в основе формальных средств. Так как знания данного специалиста сосредоточены в области ТП, предложено использование графических моделей, визуально схожих с реальными АТУ. Описаны пра- вила построения моделей, правила представления и составления алгоритмов по модели.
Методика получает очень удобную для пользователя программную реализацию, если смена изображения дискретного сигнала осуществляется, например, кликом левой кнопки мыши по этому изображению. Часто используемые типовые элементы могут храниться отдельно для повторного использования.
При наличии метода трансляции предложенная модель может быть использована для получения программ человеко-машинных интерфейсов. Графическая модель, дополненная моделью поведения АТУ, может быть использована в качестве тренажера для обслуживающего персонала.
Литература
1. Парр Э. Программируемые контроллеры: рук-во для инженера; [пер. c англ. Б.И. Копылова]. М.: БИНОМ. Лаборатория знаний, 2007. 516 с.
2. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб: Наука, 1998. 628 с.
3. Фрайтаг Г., Годе В., Якоби Х. и др. Введение в технику работы с таблицами решений; [пер. с нем. М.Г. Гаазе–Рапопорта]. М.: Энергия, 1979. 88 с.
4. Хамби Э. Программирование таблиц решений; [пер. с англ. С.В. Диева]. М.: Мир, 1976. 88 с.
5. Хадеев А.С., Браништов С.А. Метод синтеза LD-программ для ПЛК на основе концепции супервизорного управления дискретно-событийными системами, представленными в сетях Петри // Автоматизация, телемеханизация и связь в нефтяной промышленности. 2013. № 1. С. 42–48.
6. Кузьмин Е.В., Соколов В.А., Рябухин Д.А. Построение и верификация LD-программ ПЛК по LTL-спецификации // Моделирование и анализ информационных систем. 2013. Т. 20. № 6. С. 78–94.
7. Червенчук В.Д. Методы и средства синтеза алгоритмического и программного обеспечения систем управления с использованием таблиц решений: дис. … канд. технич. наук. Омск, 1984. 123 с.
8. Волков Р.А., Гнутов А.Н., Дьячков В.К. и др. Конвейеры: справочник; [под общ. ред. Ю.А. Перетена]. Л.: Машиностроение, 1984. 367 с.
9. Журавлев Н.П., Маликов О.Б. Транспортно-грузовые системы: учебник. М.: УМНЦ, 2006. 368 с.
10. Дейт К.Дж. Введение в системы баз данных; [пер. с англ. М.Л. Степановой]. М.: Вильямс, 2005. 1328 с.
11. Петров И.В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. М.: СОЛОН-Пресс, 2004. 256 с.