СПОСОБ РЕАЛИЗАЦИИ МНОГОМЕРНЫХ ИНТЕРВАЛЬНО-ЛОГИЧЕСКИХ РЕГУЛЯТОРОВ В СРЕДЕ SIMATIC STEP 7
Антипин Андрей Федорович
канд. техн. наук, доцент Стерлитамакского филиала Башкирского государственного университета, РФ, г. Стерлитамак
E-mail: andrejantipin@mail. ru
METHOD OF IMPLEMENTATION MULTIDIMENSIONAL INTERVAL-LOGIC CONTROLLERS IN THE SIMATIC STEP 7 ENVIRONMENT
Andrey Antipin
candidate of Science, assistant professor of Sterlitamak branch of Bashkir State
University, Russia, Sterlitamak
Работа выполнена при поддержке гранта СФ БашГУ №В14-2.
АННОТАЦИЯ
Рассматриваются особенности программной реализации функциональных блоков многомерных интервально-логических регуляторов в среде разработки SIMATIC STEP 7, приведены листинги программ.
ABSTRACT
The paper discussed the features of the software realization of functional blocks of multidimensional interval-logic controllers in the SIMATIC STEP 7 development environment, shows program listings.
Ключевые слова: нечеткая логика; многомерный интервально-логический регулятор; SIMATIC STEP 7.
Keywords: fuzzy logic; а multidimensional interval-logic controller; SIMATIC STEP 7.
Принцип работы многомерных нечётких регуляторов дает возможность использовать их для решения сложных задач регулирования, где невозможно или затруднено использование ПИ- и/или ПИД-регуляторов, а быстродействия существующих аппаратных и программных решений, в ряде случаев, бывает недостаточно. Многомерные интервально-логические регуляторы, или МИЛР,
являются альтернативной ступенью развития нечётких регуляторов в плане повышения быстродействия систем автоматического регулирования (САР) и компенсации взаимного влияния контуров регулирования [1, 2]. В настоящее время их практическое применение сдерживается, что связано, прежде всего, с отсутствием надежных алгоритмов работы и испытаний в различных областях науки и техники.
В МИЛР, в отличие от других типов нечетких регуляторов, отсутствуют процессы фаззификации и дефаззификации, как таковые. Взамен них введены понятия «интервализации» и «деинтервализации», определенные ниже.
Интервализация — это процесс определения принадлежности значения непрерывной физической величины тому или иному интервалу, входящему в диапазон значений данной величины.
Деинтервализация — это процесс, обратный интервализации МИЛР, то есть выделение требуемого значения непрерывной физической величины из интервала, входящего в диапазон значений данной величины.
Интервализаторы, как и деинтервализаторы, МИЛР представляют собой отдельные функциональные блоки, реализующие процессы интервализации и деинтервализации соответственно.
Согласно концепции построения и структурной схеме МИЛР состоит из следующих основных элементов:
• системы интервализаторов и деинтервализаторов непрерывных величин МИЛР;
• блока логического вывода в виде системы консеквентов продукционных правил, что представляет собой массив значений управляющих воздействий на объект управления, а также механизм формирования ID-номеров, или ключей, правил, предназначенного для определения необходимой комбинации значений управляющих воздействий в текущий момент времени t.
На рис. 1 представлен пример программной реализации алгоритма работы системы интервализаторов непрерывных величин IN I - IN_N МИЛР на языке SCL в среде разработки SIMATIC STEP 7, где F_OUT — целочисленный
массив порядковых номеров термов, операции присваивания F OUT [1] : = 0 -F OUT [N ] : = 0 предназначены для отработки нулевого (аварийного) правила в блоке логического вывода; K (IN_1) - K (IN_N) — количество термов переменных IN_1 - IN_N МИЛР.
IN_H1: ARRAY[0..К(IN_1)] OF REAL := ...;
IN_MN: ARRAY[0..К(IN_N)] OF REAL := ...;
IF IN_1 < IW_H1[0] OR IW_1 > IN_H1[K(IW_1)] IF IN_N < IN_HN[0] OR Ш_Ы > IN_MN [ К (Ш_Ы) ]
Рисунок 1. Система интервализаторов МИЛР на языке SCL
Система деинтервализаторов МИЛР включает в себя совокупность блоков деинтервализации которые, по аналогии с блоками интервализации, не связаны между собой ни логически, ни функционально, что позволяет создавать новые и удалять имеющиеся блоки, изменять их параметры и пр.
На рис. 2 представлен пример программной реализации алгоритма работы системы деинтервализаторов непрерывных величин OUT1 - OUTM МИЛР на языке SCL в среде SIMATIC STEP 7, где NUM — переменная, необходимая для хранения минимизированного ID-номера продукционного правила, антецедент которого в момент времени t равен логической единице.
OUT_Ml: ARRAY [0..К(OUT_l)] OF REAL; OUT_MM: ARRAY [0..К(OUT_M)] OF REAL;
THEli OUT_l := (OUT_Ml [BYTE_TO_INT (OUT_Rl[NUM] ) - 1]
IF BYTE_TO_INT ( OUT_RM [NUM] ) >0
THE1T OUT_H := ( OUT_HH [BYTE_TO_INT (OUT_RH[NUH] ) - 1]
+ OUT_MM[BYTE_TO_INT(OUT_RM[NUM])]) / 2; Е1ГО_IF ;
Рисунок 2. Система деинтервализаторов МИЛР на языке SCL
На рис. 3 представлен пример программной реализации алгоритма работы блока логического вывода МИЛР на языке SCL в среде SIMATIC STEP 7, где MAX_N — целочисленный массив значений максимального количества термов параметров МИЛР.
Минимизированный идентификационный номер продукционного правила NUM соответствует индексам массивов OUTR! - OUT_RM, которые содержат порядковые номера термов непрерывных величин OUT ! - OUT M МИЛР для текущего момента времени t.
Таким образом, индексы массивов OUT_R1 - OUT_RM обозначают собой ГО-номера правил, а значения их элементов - управляющие воздействия.
Рисунок 3. Блок логического вывода МИЛР на языке SCL
Список литературы:
1. Антипин А.Ф. Системы управления технологическими процессами на базе многомерных логических регуляторов // Автоматизация и современные технологии. — 2014. — № 1. — С. 12—18.
2. Антипин А.Ф. Об одном способе анализа структуры многомерного чёткого логического регулятора // Прикладная информатика. — 2012. — № 5. — С. 30—36.