Об одном способе анализа структуры многомерного четкого логического регулятора

№ 5 (41) 2012

А. Ф. Антипин, канд. техн. наук, старший преподаватель Стерлитамакской государственной

педагогической академии им. Зайнаб Биишевой

Об одном способе анализа структуры многомерного четкого логического регулятора

Создание промышленных автоматизированных систем управления процессами с большим числом параметров часто осложняется отсутствием универсальных методов анализа структуры и алгоритмов внедряемых программ. Подходы к решению задачи построения таких методов представляют несомненный интерес.

Введение

В современной практике разработки автоматизированных систем управления (АСУ) в промышленности не последнюю роль играют пуско-наладочные работы, львиную долю которых составляет отладка программ программируемых логических контроллеров (ПЛК) и корректирование параметров различных устройств, что вызвано реальными условиями их эксплуатации. Особенно это касается программирования логических функций, описывающих зависимости технологических параметров друг от друга на основе правил алгебры Буля. В большинстве случаев программисты придерживаются практики выделения сложных составных функций в отдельные функциональные блоки, отвечающие за отдельный параметр, систему параметров или процесс в целом. Диапазон значений выходных переменных описывается в упомянутых блоках последовательно, а затем подвергается проверке со стороны программистов. Таким образом, формируется система правил, необходимая для определения значений выходных переменных в зависимости от входных параметров с учетом констант и определенных вычислительных операций.

Подобный подход широко используется для описания систем управления с малым

набором логических правил для выходных переменных функций. Однако для сложных и быстродействующих АСУ с большим числом непрерывных величин и правил булевой логики возникают некоторые сложности в составлении эффективного и безошибочного алгоритма работы. В результате отладка и тестирование программ подобных систем занимает продолжительное время и не может гарантировать полное отсутствие ошибок.

Ситуацию осложняет отсутствие универсальных способов анализа структуры и алгоритмов промышленных АСУ на предмет составления системы продукционных правил, обладающей следующими особенностями:

• отсутствием избыточности продукционных правил;

• отсутствием правил, взаимоисключающих или противоречащих друг другу;

• полнотой охвата рабочих диапазонов непрерывных величин АСУ.

Современные языки программирования предоставляют широкие возможности для проверки синтаксиса программ АСУ, но не позволяют провести семантический (смысловой) анализ [1], так как они не являются узкоспециализированными, а направлены на создание многофункциональных программ различной направленности.

Профессиональные специализированные пакеты, предназначенные для раз-

№ 5 (41) 2012

работки программ АСУ (SIMATIC STEP 7, TRACE MODE и др.), предоставляют в качестве основного средства отладки возможность имитации технологического процесса или управляющих сигналов. При таком подходе, особенно для сложных и быстродействующих процессов с большим числом параметров и продукционных правил, нереально учесть все возможные факторы и ситуации. Программная и аппаратная имитации используются для отладки программ, но не для их анализа.

С учетом вышесказанного актуальность задачи замены системы продукционных правил на некоторую логическую структуру, позволяющую производить анализ как отдельных элементов, так и АСУ в целом, становится очевидной. Такой структурой наделен предлагаемый автором многомерный четкий логический регулятор (МЛР).

Описание способа анализа структуры МЛР

МЛР [2, 3] является альтернативной ступенью развития нечетких логических регуляторов, где основной упор делается на повышение быстродействия системы автоматического регулирования (САР), компенсацию взаимного влияния контуров регулирования, а также расширение области применения регуляторов данного типа [4].

Отличительная особенность структуры МЛР — отсутствие в ней элементов обра-

ботки системы продукционных правил в блоке логического вывода (БЛВ). Вместо этого в каждом цикле работы МЛР в процессе фаззификации значений непрерывных величин формируется идентификационный номер (Ю-номер, или ключ) продукционного правила, предназначенный для определения комбинации значений управляющих воздействий в текущий момент времени t. Следует отметить, что все комбинации значений управляющих воздействий МЛР хранятся в многомерном массиве или базе данных (зависит от технических характеристик используемых устройств).

На рисунке 1 представлена развернутая блок-схема МЛР, где Ф^ Ф2, ..., Фп и Д^ Д2, ..., Д к — фаззификаторы и деффази-фикаторы МЛР соответственно; БФ и БД — блоки фаззификации и дефаззификации, состоящие из фаззификаторов Ф1, Ф2, ..., Фп и дефаззификаторов Д1, Д2, ..., Д к МЛР соответственно; Х1, Х2, ..., Хп и ¿ь 72, ..., 7к — входные и выходные переменные МЛР соответственно; Т(Х1), т(х2),., т(хп) и дгд Т(И2),..., Т(Ик) — порядковые номера четких термов, значения которых равны логической единице, переменных Х1, Х2, ..., Хп и Z1,Z2,..., 7к соответственно; Nmm, Nтек и Nmaк — минимальный, текущий и максимальный идентификационный номер продукционного правила в многомерном массиве или базе данных БЛВ соответственно; # — составляющая идентификационного номера продукционного правила МЛР, формируемого из номеров

Рис. 1. Развернутая блок-схема МЛР

31

№ 5 (41) 2012

I

I

12 $

¡5 §

12 £

12

I

12

I

I

¡8 §

<0 ."и

43 о

и §

и

€ о

¡5 §

четких термов Т(Х1), Т(Х2), ..., Т(Хп) и Т(^), Т^2),..., Т^к); БПФ — блок предварительной фаззификации значений переменных МЛР; БПр — блок предсказания термов.

Структура и принцип работы МЛР позволяют реализовать семантический анализ за счет разделения диапазонов значений непрерывных величин на интервалы (четкие термы). На рисунке 2 представлен наиболее распространенный вариант интерпретации непрерывной величины X в виде эквивалентной совокупности К четких термов Т с прямым порядком и характером их распределения на универсальной числовой оси. Переменные х0 и хт определяют диапазон значений непрерывной величины X.

Для каждого четкого терма Т однозначно определен покрываемый им полуинтервал или отрезок оси неотрицательных действительных чисел. Так, например, терм Т, покрывает полуинтервал х,-_1 < X < х.

Терм-множество Т аналитически можно представить в виде выражения

Т = {Т (Хо < X < Х1).....

Т

ТК(X) (х,

К (X )-1

< X < х,

К

рекуррентная форма которого имеет вид

Т = 1 % )Т

где знак суммы обозначает совокупность четких термов непрерывной величины X.

х0<Х<х, I

В связи с тем, что четкие термы Т представляют собой однозначно определенные множества, их функции принадлежности будут иметь прямоугольную форму. Значение функций принадлежности будет равно единице для всех термов непрерывной величины X. Данное обстоятельство указывает на то, что четкие термы являются по своей природе булевыми переменными, которые принимают значение, равное логической единице на тех участках универсальной числовой оси непрерывной величины X, где функция принадлежности четких термов равна 1, и, наоборот, логическому нулю, где функция принадлежности термов равна 0.

Таким образом, в любой момент времени t существует один и только один четкий терм в совокупности термов, определяющих непрерывную величину, значение которого равно логической единице. Значения остальных термов в указанной совокупности равны логическому нулю.

Из этого следует, что в любой момент времени t система продукционных правил МЛР, относящаяся к конкретной регулируемой непрерывной величине, содержит одно и только одно правило, антецедент которого равен логической единице.

Приходим к выводу, что главным критерием правильности разработанной структуры МЛР будет являться отсутствие повторяющихся, противоречащих и дополняющих друг друга продукционных правил, а также неиспользуемых четких термов, что и служит основной целью семантического ана-

х. , <Х<х 1

/-1 /I

К(Ю

х < Х<х

К

X

К{)0 -1

К

Рис. 2. Вариант интерпретации непрерывной величины X в виде совокупности термов Т

32

№ 5 (41) 2012

лиза, который, в свою очередь, основан на следующих положениях:

1) если условная часть продукционного правила МЛР не содержит порядковые номера четких термов непрерывных величин, то это «правило защиты» (аварийное, или нулевое правило). В МЛР может быть только одно подобное правило, и предназначено оно для контроля над выходом значений непрерывных величин за пределы указанного диапазона;

2) если продукционное правило или только его управляющее воздействие не содержит порядковые номера четких термов непрерывных величин МЛР, то это «пустое правило»;

3) если правило A соответствует правилу B, то это «повторяющиеся продукционные правила»;

4) если управляющее воздействие правила A идентично управляющему воздействию правила B, но при этом условные части продукционных правил не соответствуют друг другу, то это «взаимодополняющие правила». Их можно и нужно при возможности объединять. Пример дополняющих друг друга правил:

IF X = 10) AND (X2 = 35) THEN Z1 = 10;

IF (X2 = 48) AND (Х-, = 24) THEN Z = 10;

5) если условная часть правила A соответствует условной части правила B, но при этом значения их управляющих воздействий не равны друг другу и не содержат одинаковых порядковых номеров четких термов для каждой из используемых непрерывных величин, то это «противоречащие правила». В противном случае это будут «взаимодополняющие правила». Пример правил данного вида:

IF X! = 10 THEN Z = 10;

IF X! = 10 THEN Z = 20.

Таким образом, если значения «10» и «20» выходной непрерывной величины Z лежат в диапазоне значений одного четкого

£

терма T, то указанные правила дополняют | друг друга и их можно объединить. В про-  тивном случае продукционные правила бу- ^ дут противоречить друг другу; <

6) если правило A не равно правилу B,

то:

• если условные части правил не содержат одинаковых номеров четких термов для каждой из используемых непрерывных величин, то правила A и B — «нормальные», т. е. удовлетворяют структуре МЛР;

• если правила A и B не «нормальные», но при этом значения их управляющих воздействий не равны друг другу и не содержат одинаковых номеров четких термов для каждой из используемых непрерывных величин, то это «противоречащие правила». В противном случае это будут «взаимодополняющие правила». Например:

IF X! = 10 THEN Z = 10;

IF X! = 30 THEN Z = 20.

Итак, если значения «10» и «30» непрерывной величины XA не лежат в числовых пределах одного четкого терма T, то указанные правила являются «нормальными», т. е. удовлетворяют структуре МЛР. В противном случае, если значения «10» и «20» непрерывной величины Z лежат в диапазоне значений одного четкого терма T, то указанные продукционные правила дополняют друг друга и их можно объединить. Иначе это будут «противоречащие правила».

Механизм анализа структуры МЛР — неотъемлемое функциональное звено системы автоматизированной разработки МЛР «САР МЛР» [3], без которого невозможно произвести генерирование программы МЛР на языках программирования, описанных в международном стандарте IEC 61131-3.

Обзор программного обеспечения для анализа структуры МЛР

Рассмотрим пример реализации МЛР системы управления фильтрующей центрифугой типа ФГН-2001 в системе автоматизи-

№ 5 (41) 2012

рованной разработки «САР МЛР». Известно [5], что фильтрующие горизонтальные центрифуги с ножевой выгрузкой осадка предназначены для разделения суспензий с мелко- и среднезернистой твердой фазой.

Система управления центрифугой ФГН-2001 предназначена для управления центрифугой по заданному алгоритму, а также для ее оперативной защиты от аварийных режимов работы, и обеспечивает выполнение следующих функций:

• программное управление центрифугой и ее исполнительными механизмами;

• сигнализацию режимов и этапов работы центрифуги;

• защиту оборудования от аварийных режимов работы;

• выбор оборотов вращения ротора центрифуги и т. д.

На рисунке 3 представлен внешний вид окон подпрограммы семантического анализа «САР МЛР» после проверки структуры ¡2 МЛР центрифуги ФГН-2001.

Визуально окно подпрограммы семантического анализа «САР МЛР» разделено | на 3 составные части (вкладки), переход <5 между которыми организован в виде закла-| док, на которых указано функциональное

§ назначение той или иной составной час-р

<5 ти окна.

¡5 На вкладке «Общая информация о про-

5 екте» представлены основные параметры

^ проекта МЛР, такие как: количество вход-

| ных и выходных функциональных блоков

| (фаззификаторов, дефаззификаторов),

2 количество продукционных правил, неис-й

пользуемых термов, а также количество «пустых», повторяющихся, дополняющих <3 и противоречащих друг другу продукцион-§ ных правил.

| На вкладке «Результат анализа термов» ^ расположена таблица с результатом анализа четких термов непрерывных величин МЛР. § В таблице определены следующие поля: 1 • поле «Позиция» предназначено для § вывода позиции функционального блока сэ (на входе или на выходе) МЛР;

• поле «Тип» предназначено для вывода типа функционального блока МЛР (БФ, БД или логическая переменная (ЛП));

• поле «Название» предназначено для вывода наименования функционального блока МЛР в среде «САР МЛР»;

• поля «Т1 *- Т9» предназначены для вывода информации о характере и полноте использования первых девяти четких термов непрерывных величин МЛР. В «САР МЛР» версии 1.0 максимальное количество четких термов фаззификаторов и дефаззификато-ров МЛР ограничено числом 9, что связано, прежде всего, с тем фактом, что на практике непрерывные величины в большинстве случаев будут иметь не более 9 четких термов.

В таблице используются следующие основные обозначения:

• «ВХОД» и «ВЫХОД» — обозначают позицию функционального блока (входной и выходной соответственно) МЛР;

• «+» — символ показывает, что четкий терм задействован и используется в системе продукционных правил МЛР;

• «_» — символ показывает, что четкий терм задействован, но не используется в системе правил МЛР. Данное обозначение является наиболее важным при анализе, так как позволяет определить неиспользуемые термы. Необходимо отметить, что значение параметра «Количество неиспользуемых термов» соответствует суммарному числу символов «-»;

• «НЗ» — данное обозначение отражает незадействованные термы непрерывных величин и является чисто информационным.

Из таблицы, представленной на рис. 3, следует, что в структуре МЛР центрифуги ФГН-2001 имеется задействованный, но неиспользуемый четкий терм, в частности, терм Т4 непрерывной величины «ТОК ГД». Таким образом, семантический анализ четких термов МЛР системы управления центрифугой типа ФГН-2001 показал наличие возможностей для уменьшения максимального числа четких термов и, как следствие,

№ 5 (41) 2012

а)

б)

I %

Рис. 3. Окна подпрограммы семантического анализа «САР МЛР» после проверки структуры МЛР

центрифуги ФГН-2001

размерности системы продукционных правил SЯD МЛР, которая рассчитывается согласно выражению

SRD = Я  к,

где Я — количество продукционных правил МЛР, к — количество выходных непрерывных величин 7 МЛР.

Количество символов «НЗ» для переменной «ТОК ГД» (четыре символа) определяет доступный запас для расширения диапазона интерпретации состояний непрерывной величины «ТОК Главного Двигателя» эквивалентной совокупностью четких термов.

На вкладке «Результат анализа правил» расположена таблица с результатом анали-

№ 5 (41) 2012

за системы продукционных правил МЛР, где определены следующие поля:

• «№», «ID» — внутренний и идентификационный номера правил;

• «Вх. блоки», «Вых. блоки» и «Блоки» — количество входных и выходных функциональных блоков МЛР (фаззификаторов, де-фаззификаторов и пр.), задействованных в продукционных правилах, и их суммарное количество. Если значения полей «Вых. блоки» и «Блоки» равны 0, то продукционные правила считаются «пустыми», и их необходимо удалить;

• «№ повтор. правил», «№ против. правил» и «№ доп. правил» — идентификационные номера продукционных правил, которые повторяют, противоречат или дополняют другие правила МЛР соответственно.

Из таблицы, представленной на рис. 3, следует, что в структуре МЛР:

• отсутствуют «пустые», повторяющие и противоречащие друг другу продукционные правила;

is • имеются дополняющие друг друга правила в диапазоне идентификационных номе-

1 ров «САР МЛР» от 11 до 20.

| Таким образом, программный анализ <g структуры МЛР системы управления центри-| фугой ФГН-2001 показал отсутствие крити-§ ческих ошибок (например, правил, которые <5 противоречат друг другу), а также наличие ¡5 возможностей для снижения максимально-g го числа правил, путем совмещения правил, дополняющих друг друга (например, правил | из диапазона 11 *- 20). | Результат анализа структуры МЛР мож-

2 но сохранить в файле формата HTML. Окно S подпрограммы анализа содержит соответствующую кнопку «Сохранить результаты ана-

<3 лиза», которая становится активной толь-g ко после проведения процедуры анализа. | Файлы отчетов сохраняются в директории iS «Reports», которая расположена в корневом § каталоге «САР МЛР».

0

g Необходимо отметить, что генерация про-

1 граммы МЛР на языках программирования g международного стандарта IEC 61131-3 не-сэ возможна без предварительной проверки

структуры МЛР. Таким образом, механизм семантического анализа системы «САР МЛР» позволяет защитить код МЛР от ошибок при реализации его структуры.

Заключение

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

Показано, что предлагаемый способ позволяет уже на стадии разработки МЛР выявить ряд ошибок в его структуре, что существенно сократит затраты времени и средств, необходимых для отладки и тестирования автоматизированных систем управления на базе МЛР в реальных условиях проведения пуско-наладочных работ.

Список литературы

1. Петров И. В. Программируемые контроллеры. Стандартные языки и приемы прикладного проектирования. М.: Солон-Пресс, 2004. — 256 с.

2. Антипин А. Ф., Каяшев А. И., Муравьева Е. А. Система автоматического управления элементами дистилляции на базе многомерного логического регулятора // Вестник УГАТУ. Серия «Управление, вычислительная техника и информатика». 2010. Т. 14. № 4. С. 126-131.

3. Антипин А. Ф. Система автоматизированной разработки многомерных логических регуляторов с переменными в виде совокупности аргументов двузначной логики // Автоматизация в промышленности. 2011. № 3. С. 12-16.

4. Усков А. А, Круглов В. В. Интеллектуальные системы управления на основе методов нечеткой логики. Смоленск: Смоленская городская типография, 2003. — 177 с.

5. Тимонин А. С. Основы конструирования и расчета химико-технологического и природоохранного оборудования: справочник. Т. 2. Калуга: Издательство Н. Бочкаревой, 2002. — 1028 с.