allgosts.ru35. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ35.240. Применение информационных технологий

ГОСТ Р МЭК 61131-7-2017 Контроллеры программируемые. Часть 7. Программирование нечеткого управления

Обозначение:
ГОСТ Р МЭК 61131-7-2017
Наименование:
Контроллеры программируемые. Часть 7. Программирование нечеткого управления
Статус:
Действует
Дата введения:
09/01/2018
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.240.50, 25.040.40

Текст ГОСТ Р МЭК 61131-7-2017 Контроллеры программируемые. Часть 7. Программирование нечеткого управления



ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ГОСТР

МЭК 61131-7—

2017

КОНТРОЛЛЕРЫ ПРОГРАММИРУЕМЫЕ

Часть 7

Программирование нечеткого управления

(IEC 61131-7:2000, ЮТ)

Издание официальное

Москва

Стандартииформ

2017

ГОСТ Р МЭК 61131*7—2017

Предисловие

1    ПОДГОТОВЛЕН Негосударственным образовательным частным учреждением дополнительного профессионального образования «Новая инженерная школа» (НОЧУ «НИШ») на основе собственного перевода на русский язык англоязычной версии указанного в пункте 4 стандарта, который выполнен Российской комиссией экспертов МЭК/ТК 65. и Федеральным государственным унитарным предприятием «Всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении» (ВНИИНМАШ)

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 306 «Измерения и управление в промышленных процессах»

3    УТ8ЕРЖДЕН И 8ВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 15 сентября 2017 г. N91127-ст

4    Настоящий стандарт идентичен международному стандарту МЭК 61131-7:2000 «Контроллеры программируемые. Часть 7. Программирование нечеткого управления» (IEC 61131-7:2000 «Programmable controllers — Part 7: Fuzzy control programming». IDT).

Международный стандарт разработан Техническим комитетом МЭК ТК 65 «Измерение, управление и автоматизация в промышленных процессах».

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в ин-формационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии е сети Интернет ()

© Стандартинформ. 2017

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

II

ГОСТ Р МЭК 61131-7—2017

Содержание

1    Область применения....................................................................................................................................1

2    Нормативные ссылки....................................................................................................................................1

3    Термины и определения...............................................................................................................................1

4    Интеграция в программируемый контроллер.............................................................................................2

5    Язык нечеткого управления FCL..................................................................................................................3

5.1    Обмен программами нечеткого управления........................................................................................3

5.2    Элементы языка нечеткого управления...............................................................................................4

5.3    Пример FCL..........................................................................................................................................12

5.4    Продукционные правила и ключевые слова языка нечеткого управления (FCL)...........................12

6    Соответствие...............................................................................................................................................16

6.1    Классы соответствия языка нечеткого управления FCL...................................................................16

6.2    Контрольный перечень данных..........................................................................................................18

Приложение А (справочное) Теория............................................................................................................20

Приложение В (справочное) Примеры.........................................................................................................32

Приложение С (справочное) Промышленный пример: кран для контейнеров.........................................34

Приложение D (справочное) Пример использования переменных в блоке правил.................................44

Приложение Е (справочное) Условные обозначения, аббревиатуры и синонимы..................................46

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

национальным стандартам..............................................................................................47

ГОСТ Р МЭК 61131*7—2017

Введение

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

Нечеткое управление, скорее, основано на практическом применении знаний, представленных в так называемых базах лингвистических правил, чем на использовании аналитических моделей (эмпирических или теоретических). Применение нечеткого управления возможно при наличии специальных знаний, которые могут быть представлены математически. При этом становится возможным использование имеющихся знаний для усовершенствования технологических процессов и выполнения различных задач. Например, для:

•    управления (замкнутые или разомкнутые системы, одна или несколько переменных в линейных или нелинейных системах);

•    настройки параметров систем в интерактивном или автономном режиме:

-    классификации и распознавания образов;

-    принятия решений в режиме реального времени (отправить изделие на станок А или Б?):

-    помощи операторам в принятии решения или при регулировании параметров;

•    обнаружения и диагностики неисправностей систем.

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

Кроме того, нечеткое управление может комбинироваться с классическими методами управления.

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

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

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

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

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

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

Дополнительные стандартные функции определяются в расширенном классе. Программы нечеткого управления, использующие такие функции, могут быть перенесены между системами с использованием такого же набора функций только полностью, в противном случае возможен лишь частичный обмен. Настоящий стандарт не требует, чтобы все совместимые системы выполняли все функции расширенного класса, однако допускает возможность (частичного) переноса и предотвращение использования нестандартных функций. Поэтому совместимая система не должна предлагать нестандартные функции, которые могут быть выполнены с использованием стандартных функций базового и расширенного классов.

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

«V

ГОСТ Р МЭК 61131-7—2017

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

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

V

ГОСТ Р МЭК 61131-7—2017

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

КОНТРОЛЛЕРЫ ПРОГРАММИРУЕМЫЕ Часть 7

Программирование нечеткого управления

Programmable controllers. Part 7. Fuzzy control programming

Дата введения — 2018—09—01

1    Область применения

Настоящий стандарт устанавливает язык программирования приложений нечеткого управления, применяемый программируемыми контроллерами.

Целью настоящего стандарта является достижение изготовителями и потребителями общего понимания основных средств интегрирования приложений нечеткого управления в языки программируемых контроллеров в соответствии с МЭК 61131-3, а также возможности обмена переносимыми программами нечеткого управления между разными системами программирования.

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

2    Нормативные ссылки

8 настоящем стандарте использованы нормативные ссылки на следующие стандарты.

IEC 60050-351:1998, International Electrotechnical Vocabulary (IEV) — Part 351: Automatic control (Международный электротехнический словарь (IEV). Часть 351. Автоматическое управление)

IEC 61131-3:1993. Programmable controllers — Part 3: Programming languages (Программируемые контроллеры. Часть 3. Языки программирования)

3    Термины и определения

8 настоящем стандарте применены следующие термины с соответствующими определениями. Определения для элементов языка дополнительно приведены в МЭК 61131-3.

Примечание — Термины, определения которых даны в настоящем разделе, выделяются курсивом в тексте определений.

3.1    аккумуляция (accumulation)

агрегирование результатов (result aggregation): Объединение результатов лингвистических правил в конечный результат.

3.2    агрегирование (aggregation)

определение степени выполнения (determination of degree of firing): Объединение степени принадлежности всех индивидуальных подусловий в правиле для расчета степени выполнения условия правила.

Издание официальное

1

ГОСТ Р МЭК 61131*7—2017

3.3    активизация (activation): Процесс, которым степень выполнения условия воздействует на выходное нечеткое множество.

3.4    результат (conclusion)

следствие (consequent): Выходное значение лингвистического правила, то есть действие, которое должно выполняться (часть THEN правила нечеткого управления IF..THEN).

3.5    условие (condition)

предпосылка (antecedent): Выражение, включая подусловия, объединенные нечеткими операторами И. ИЛИ, НЕ.

3.6    четкое множество (crisp set): Особый случай нечеткого множества, в котором функция принадлежности принимает только два значения, обычно определяемые как 0 и 1.

3.7    дефаззификация (defuzzification): Преобразование нечеткого множества в числовое значение.

3.8    степень принадлежности (degree of membership): Значение функции принадлежности.

3.9    фаззификация (fuzzification): Определение степени принадлежности четкого входного значения лингвистических термов, определенных для каждой входной лингвистической переменной.

3.10    нечеткое управление (fuzzy control): Тип управления, алгоритм управления в котором основан на нечеткой логике.

[IEV 351-17-51. измененный]

3.11    нечеткая логика (fuzzy logic): Совокупность математических теорий, основанных на принципах нечеткого множества. Нечеткая логика является одним из типов бесконечнозначной логики.

3.12    нечеткий оператор (fuzzy operator): Оператор, используемый в теории нечеткой логики.

3.13    нечеткое множество (fuzzy set): Нечеткое множество А определяется как множество упорядоченных пар (х, цА(х)), где х — это элемент предметной области U. а цА(х) — функция принадлежности. которая сопоставляет каждому xs U действительное число е [0.1]. определяющее степень того, насколько х принадлежит множеству.

3.14    логический вывод (inference): Применение лингвистических правил к входным значениям с целью определения выходных значений.

3.15    лингвистическое правило (linguistic rule): Правило IF-THEN (если .... то ...) с условием и результатом, причем одно или оба являются лингвистическими.

3.16    лингвистический терм (linguistic term): В контексте лингвистического управления лингвистические термы определяются нечеткими множествами.

3.17    лингвистическая переменная (linguistic variable): Переменная, которая принимает значения из диапазона лингвистических термов.

3.18    функция принадлежности (membership function): Функция, которая в предметной области определяет степень принадлежности данному нечеткому множеству.

[IEV 351-17-52, измененный]

3.19    синглтон (singleton): Нечеткое множество, функция принадлежности которого равна единице е одной точке и нулю во всех других точках.

3.20    подусловие (subcondition): Элементарное выражение в форме переменной или терма «лингвистическая переменная IS лингвистический терм».

3.21    база правил (rule base): Набор лингвистических правил для достижения определенных целей.

3.22    весовой коэффициент (weighting factor): Значение в интервале 0... 1, которое устанавливает степень важности, достоверности, уверенности для лингвистического правила.

4 Интеграция в программируемый контроллер

В соответствии с разделом 5. приложения нечеткого управления, программируемые на языке нечеткого управления FCL. должны быть заключены в функциональные блоки (или программы), как это определено в МЭК 61131-3. В настоящем стандарте применяются понятия типов и экземпляров функциональных блоков, приведенные в МЭК 61131*3.

Типы функциональных блоков, определенные в языке нечеткого управления FCL. должны устанавливать входные и выходные параметры, а также специфические правила и описания нечеткого управления.

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

Функциональный блок, определенный в языке нечеткого управления FCL, может применяться в программах и функциональных блоках, написанных на любом из языков, приведенных в МЭК 61131-3, 2

ГОСТ Р МЭК 61131-7—2017

например, на языке релейной логики, на языке программирования и т. д. Типы данных входных и выходных параметров функционального блока или программы, написанных на FCL, должны совпадать с соответствующей «вызывающей средой», как показано на рисунке 1.

Рисунок 1 — Пример функционального блока нечеткого управления в представлении FBD

8 данном примере Valve.ControM — это экземпляр определенного потребителем функционального блока, имеющий тип Fuzzy_FB. В соответствии с разделом 5. тип функционального блока Fuzzy. FB может программироваться на языке нечеткого управления FCL. В данном случае функциональный блок Fuzzy.FB используется в программе или в функциональном блоке, который представлен на графическом языке FBD (Function Block Diagram, диаграммы функциональных блоков) в МЭК 61131-3.

5 Язык нечеткого управления FCL

5.1 Обмен программами нечеткого управления

Определение языка нечеткого управления FCL основывается на определении языков программирования. определенных в МЭК 61131-3. Взаимодействие алгоритма нечеткого управления с его программной средой «прячет» его от программы. Поэтому в соответствии с МЭК 61131-3 внешне алгоритм нечеткого управления представлен в виде функционального блока. В соответствии с настоящим разделом должны быть определены элементы, необходимые для описания внутренних логических частей функционального блока нечеткого управления, например функции принадлежности, правила, операторы и методы.

Элементы языка FCL стандартизируют общее представление обмена данными между средствами настройки нечеткого управления разных изготовителей, как показано на рисунке 2. Используя данное общее представление, каждый изготовитель программируемых контроллеров может поддерживать аппаратное обеспечение, редакторы программного обеспечения и компиляторы. Изготовитель должен лишь применить интерфейс данных к его специфическому редактору. Заказчик должен иметь возможность обмениваться проектами нечеткого управления с разными изготовителями.

3

ГОСТ Р МЭК 61131*7—2017

5.2 Элементы языка нечеткого управления

В настоящем подразделе приведены примеры описания элементов языка нечеткого управления. Подробное продукционное правило приведено в подразделе 5.4.

5.2.1 Интерфейс функционального блока

В соответствии с разделом 4. внешнее представление нечеткого функционального блока требует, чтобы использовались следующие стандартные элементы языка, установленные в МЭК 61131*3:

FUNCTiON_BLOCK function_bk>ck_name

Функциональный блок

VARJNPUT

variabte_name: data_type:

Описание входного параметра

END.VAR

VAR.OUTPUT variaWe.name: data_type.

Описание выходного параметра

END.VAR

VAR

variable name: data type: END VAR END.FUNCTION.BLOCK

Локальные переменные

4

ГОСТ Р МЭК 61131-7—2017

С помощью данных элементов языка можно описать интерфейс функционального блока. Интерфейс функционального блока определяется с помощью параметров, которые переходят в функциональный блок и выходят из него. Типы данных параметров должны определяться в соответствии с МЭК 61131-3.

На рисунке 3 представлен пример описания функционального блока на языках структурированного текста (ST) и диаграмм функциональных блоков (FBD).

FUNCTION BLOCK Fuzzy-FB VARJNPUT

Температура: REAL; Давление: REAL; END.VAR

VAR_OUTPUT Клапан: REAL:

END.VAR

END.FUNCTION.BLOCK

Fuzzy_FB

Температурь Клапан Даележе

Структурированный текст (ST)

Диаграммы функциональных блоков (FBD)

Рисунок 3 — Пример описания интерфейса функционального блока на язьках ST и FBO

5.2.2 Фаэзификация

Значения входных переменных должны быть преобразованы в степень принадлежности по функции принадлежности, определенной для переменной. Преобразование описывается между ключевыми словами FU2ZIFY и END FUZZIFY.

FUZZIFY vanable_name

TERM term_name:- membership_function;

END FUZZIFY

После ключевого слова FUZZIFY должно быть указано имя переменной, используемой для фаззи-фикации. т. е. имя переменной, предварительно определенной в разделе VAR JNPUT. Лингвистическая переменная должна быть описана одним или несколькими лингвистическими термами. Лингвистические термы, введенные ключевым словом TERM, с целью фаззификации переменной описываются функцией принадлежности. Функция принадлежности представляет собой кусочно-линейную функцию. которая определяется таблицей точек.

membership Junction::- [point i), (point j)....

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

точка i::- значение входа i | variabte_name входа i, значение i степени принадлежности

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

5

ГОСТ Р МЭК 61131*7—2017

Минимальное количество точек равно двум. Максимальное количество ограничивается согласно классам соответствия, см. раздел 6.

Пример функции принадлежности с тремя точками для лингвистического терма «тепло»:

TERM тепло: = (17.5:0.0) (20.0: 1.0) (22.5; 0.0):

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

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

Ладь

Лпя»

Огфамгание быстрого иминення по тайному загону

F UZZ1 FYтеытцотурк TERM холедох • (3.1) (77,0); тот* тепло: * & Ода. 1s EWD_FUZEFY

1А-

W-

>

с

а

Тютю*т

Рисунок 4 — Пример термов быстрого изменения по линейному закону

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

Для адаптации приложения нечеткого управления в интерактивном режиме базовые точки в функции принадлежности могут быть изменены. Это можно сделать с помощью переменных, которые вво* дятся в функциональный блок. Такие переменные должны быть описаны в разделе функционального блока VARJNPUT. Пример использования переменных для определения точек для функций принадлежности приведен на рисунке 5.

Примечание — Значения точек функции принадлежности во время выполнения могут лежать we последовательности.

VAR INPUT

Температура: REAL.

(* данный ввод должен быть фаззифицирован*)

Давление: REAL:

(* данный ввод должен быть фаззифицирован*)

bp_warm1. bp_warm2 REAL. (* данные вводы для адаптации 8 интерактивном режиме*)

END VAR

FUZZIFY температура

TERM тепло:= (bp_warm1. 0.0). (21.0.1,0). (bp_warm2.0.0):

END.FUZZIFY

Рисунок 5 — Пример использования переменных функции принадлежности

5.2.3 Дефаззификация

Лингвистическая переменная для выходной переменной должна быть преобразована в значение. Такое преобразование описывается между ключевыми словами DEFUZZIFV и END_DEFUZZIFY.

После ключевого слова DEFUZZIFY должно быть указано имя переменной, используемой для дефаззификации. Это имя предварительно определенной в разделе VAR_OUTPUT переменной.

6

ГОСТ Р МЭК 61131-7—2017

DEFU2ZIFY variable_name RANGEDmin..max):

TERM term_name:~ membership_function:

defuzzification_method:

default_value:

END.DEFUZZIFY

Определение лингвистических термов дается в 5.2.2.

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

Метод дефаззификации должен быть определен с помощью элемента языка METHOD.

METHOD: defuzzification_method:

Допускаются следующие методы дефаззификации (см. таблицы 1 и 2).

Таблица 1 — Методы дефаззификации

Ключевое слово

Расшифруем

CoG

Центр тяжести (примечание 1}

CoGS

Центр тяжести для синглтонов

СоА

Центр площади (примечания 2 и 3)

LM

Крайний левый максимум (примечание 4)

RM

Крайний правый махсимум (примечание 4)

Примечание 1 — Центр тяжести эквивалентен центроиду.

Примечание 2 — Центр площади эквивалентен медиане.

Примечание 3 — При использовании синглтонов СоА неприменим.

Примечание 4 — Методы дефаззификации LM и RM асимметричны относительно нуля.

7

ГОСТ Р МЭК 61131*7—2017

Таблица 2 — Формулы методов дефаззификации

COG

COGS

ИМ

U- 1U и * ~ШГ

1

И(и) du

ц (и) du

U =

у

X lu'M'

_ ul

5>)

•/ м»

СОА

U * u'. | р (д )du - J М (и )du

Ы» «/

RM

U = sup(u')p(u')= sup ц(и)

ие^Мш .Max J

LM

U » inf (и*) ц(и') = inf p(u)

uefMm .Max ]

где:

U — результат дефаззификации: и — выходная переменная: р — количество синглтонов;

р — функция принадлежности накопленных нечетких множеств: i — индекс:

Min — минимальное значение дефаззификации. определенное в RANGE. В случав синглтонов Min =

Мах — максимальное значение дефаззификации. определенное в RANGE. В случае синглтонов Min = +«■*; sup — наибольшее значение: inf — наименьшее значение.

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

DEFAULT:* значение 1 NC;

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

Диапазон — это описание минимального и максимального значений, которые разделяются двоеточием.

RANGE:* (минимальное значение... максимальное значение);

RANGE используется для ограничения каждой функции принадлежности до диапазона каждой выходной переменной. Если для выходных функций принадлежности используется синглтон. RANGE не действует.

Если диапазон не определен, по умолчанию должен использоваться диапазон типа данных переменной. указанный в МЭК 61131-3.

8

ГОСТ Р МЭК 61131-7—2017

5.2.4 Блок правил

Логический вывод нечеткого алгоритма должен быть определен одним или несколькими блоками правил. Для надлежащей обработки и обеспечения возможности разделения базы правил на разные модули допускается использование нескольких блоков правил. Каждый блок правил должен иметь уникальное имя.

Правила должны быть указаны между ключевыми словами RULEBLOCK и END_RULEBLOCK.

RULEBLOCK имя_6лока_правил опрвдвлвнив_олврации: [матод_активизации:] мвтод_аккумуляции: правила:

END RULEBLOCK

Внутри блока правил используются нечеткие операции.

опрвделвнив_опврации ::= операция; алгоритм

Для соблюдения закона Моргана алгоритмы операций AND и OR должны применяться попарно; например. МАХ необходимо применять с операцией OR. если с операцией AND применяется MIN.

Таблица 3 — Парные алгоритмы

Операция OR

Операция AND

Ключевое слом для алгоритма

Алгоритм

Ключевое слово для алгоритма

Алгоритм

МАХ

Max(pt{x). р2(х))

MIN

Min{p,(x>. р^х))

ASUM

Pj{x)+ P2W-M1W M2W

PROO

Mi(x) М2(х)

BSUM

Mtn(1, р,(х> + р2(х))

BDIF

Мах{0. р,(х) + ц2(х) -1)

Пример блоков правил: переый RULEBLOCK AND: MIN;

END_RULEBLOCK второй RULEBLOCK

AND: PROD:

END_RULEBLOCK

Метод активизации определяется следующим элементом языка:

ACT: метод_активизации:

Могут использоваться следующие методы активизации {см. таблицу 4); Таблица 4 — Методы активизации

Название

Ключевое слово

Алгоритм

Продукт

PROD

М,<Х) р2(х)

Минимальная

MIN

Min(p,(x). р^х))

Примечание — Метод активизации не имеет отношения к синглтонам.

9

ГОСТ Р МЭК 61131*7—2017

Метод аккумуляции определяется следующим элементом языка:

ACCU: метод_аккумуляции:

Могут применяться следующие методы аккумуляции (см. таблицу 5): Таблица 5 — Мет еды аккумуляции

Название

Ключевое слове

Формула

Максимум

МАХ

МАХ(р,(х). ц2<х))

Ограниченная сумма

BSUM

MIN(1. р1{х) + р2(х))

Нормализованная сумма

NSUM

Pi (К)+ РгМ

МАХ(1.МАХхеХ(м,(х') + Р2(Ю))

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

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

Номера RULE: IF условие THEN результат [WtTH весовой коэффициент];

Само правило должно начинаться с ключевого слова IF с идущим за ним условием. После условия следует результат, начинающийся с ключевого слова THEN.

Допускается комбинировать в одном правиле несколько подусловий и входных переменных. На* значение переменных состоит в разрешении импорта нечеткой степени принадлежности в нечеткий функциональный блок. Переменные должны быть определены между ключевыми словами IF и THEN и объединены операциями с ключевыми словами AND. OR или NOT.

Приоритет операций (см. таблицу 6) определяется в соответствии с булевой алгеброй, приведенной в таблице 3.

Таблица 6 — Приоритет операций

Приоритет

Операция

1

()скобки

2

NOT

3

AND

4

OR

Упрощенный пример правила:

RULE 1: IF подусловие 1 AND переменная 1 OR переменная 2 THEN результат:

На базовом уровне соответствия операция OR может быть реализована определением двух правил:

RULE 3: IF подуслоеие 1 OR подусловие 2 THEN результат: заменено на:

RULE За: IF условие 1 THEN результат;

RULE 3b: IF условие 2 THEN результат.

10

ГОСТ Р МЭК 61131-7—2017

Подусловие начинается с названия лингвистической переменной, за которым идет ключевое слово IS с необязательным NOT и одним лингвистическим термом лингвистической переменной, используемой в условии.

Подусловиелингвистическая_первменная IS (NOT] лингвистический_терм

Лингвистические термы, применяемые в условии, должны соответствовать лингвистической переменной в том же условии. Применяемый терм должен быть предварительно определен с помощью ключевого слова TERM.

Пример подусловий:

Темп. IS жарко Темп. IS NOT жарко

Кроме того, перед подусловием можно применять ключевое слово NOT. При этом могут применяться скобки.

IF NOT темп. IS жарко THEN ...    или IF NOT (темп. IS жарко) THEN...

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

Подрезульгоат := лингвистичвская_переменная IS лингвистический_терм

Пример с несколькими подрезультатами из одной или нескольких строк:

Допускается присваивать каждому подреэультату весовой козффициент. который является числом со значением, лежащим между 0.0 и 1.0. или переменной. Это делается с помощью ключевого слова WITH, за которым следует весовой коэффициент.

весовой коэффициент должен уменьшать степень принадлежности (функция принадлежности) подреэультата путем умножения итога подрезультата на весовой коэффициент.

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

Если подрезультату не присвоено ключевое слово WITH, должен быть по умолчанию принят весовой коэффициент 1.0.

IF условие THEN подрезультат [WITH еесовой_коэффициент] подрвэультат:

Пример постоянного весового коэффициента:

F темп. IS холодно AND давление IS низкое THEN клапан 1 IS вход WITH 0.5,

клапан 2 IS закрыт;

Пример переменного весового коэффициента:

VARJNPUT

w мое_лравило1: REAL:-0.8;

END.VAR

RULEBLOCK правило_темп

RULE 1: IF темп. IS холодная AND давление IS низкое THEN клапан IS вход WITH w_Moe_npaenno1;

ENO.RULEBLOCK

11

ГОСТ Р МЭК 61131*7—2017

5.2.S Необязательные параметры

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

Такая дополнительная информация может быть необходима элементу языка, находящемуся меж* ду OPTIONS и END.OPTIONS.

OPTIONS

спвц_параматры_лриложвния END OPTIONS

Согласно разделу 6. данные элементы языка должны применяться для функций в классе соответствия открытого уровня.

5.3 Пример FCL

На рисунке 7 приведен пример языка нечеткого управления.

FUNCTION BLOCK Нечеткий ФБ

VAR INPUT

температура: REAL:

давление REAL:

END VAR

VAR OUTPUT

клапан- REAL:

END_VAR

FUZZlFY температура

TERM холодно :* (3.1) (27. 0);

TERM жарко := (3.0) (27.1);

ENO.FUZZIFY

FUZZlFY давление

TERM низкое := (55.1) (95. 0);

TERM высокое :»(55.0) (95.1):

ENO FUZZlFY

DEFUZZIFY клапан

TERM дренаж ■•100.

TERM закрыт :■ 0:

TERM вход :■ 100;

METHOD CoGS;

DEFAULT :«0;

END DEFUZZIFY

RULEBLOCK N»1

AND: MIN;

ACCU: MAX:

RULE 1: IF температура IS холодно AND давление IS низкое

THEN клапан IS вход.

RULE 2: IF температура IS холодно AND давление IS высокое

THEN клапан 1$ закрыт WITH 0.6:

RULE 3: IF температура IS жарко ANO давление IS низкое

THEN клапан IS закрыт.

RULE 4: IF температура IS жарко AND давление IS высокое

THEN клапан IS дренаж.

END RULEBLOCK

ENO_FUNCTION_BLOCK

Рисунок 7 — Пример нечетхого функционального блока

5.4 Продукционные правила и ключевые слова языка нечеткого управления (FCL)

Метод спецификации текстовых языков для программируемых контроллеров определяется в соответствии с МЭК 61131*3. приложение А. Данный метод спецификации применяется в настоящем стандарте для FCL.

Формальные характеристики элементов текстовых языков программирования, установленных в МЭК 61131*3, определяются в соответствии с МЭК 61131*3, приложение В. Для FCL применяется еле* дующее подмножество элементов языка в соответствии с МЭК 61131*3. приложение В:

12

ГОСТ Р МЭК 61131-7—2017

В. 1.1 Буквы, цифры и идентификаторы;

6.1.2    Константы:

8.1.3    Типы данных;

6.1.4    Переменные.

5.4.1 Продукционные правила

Дополнительно к перечисленным выше элементам языка, установленным в МЭК 61131-3, могут применяться следующие:

олисание_функционального_блока :::

- 'FUNCTION_8LOCK' имя_функционального_блока {описания_пер_ввода_вывода_фб} {другие_описания_пер} тело_функционального_блока

•end~function_block'

олисания_пер_веода_вывода_фб ;;=

входные_описания | выходные_описания

другие_описания_лер ::=

описания_пер

тело^функционального_блока

{блок_фаззификации}

{блок_дефаэзификации)

{блок_правил}

{дол_6лок}

блок_фаззификации ::=

'FUZZIFY' имя_переменной {лингвистический терм} END_FUZZIFY

6лок_дефаззификации

DEFUZZIFY’ Г_имя_леременной [диапазон]

{лингвистический_терм} метрд_дефаззификации значение по умолчанию 'END.DEFUZZIFY'

6лок_правил

RULE8LOCK' имя_блока_правил определение_операции [метод_активиэации] метод_аккумуляции {правило} END_RULEBLOCK'

доп_блок

•OPTION’

любой указанный изготовителем параметр END.OPTION'

лингвистический_терм ;:=

'TERM' имя_терма функция_принадлежности

функция_принадпежности ::=    синглтон | точки

Примечание — Информацию об использовании синглтонов см. в 5.2.3. синглтон ::=    числовая_константа | имя_переменной

точки ;:=    {'('числовая_константа | имя_переменной 7

числовая_константа')'}

Примечание —Допускаемые номера точек см. в 5.2.2.

метод_дефаззификации    'METHOD'7 'CoG' | 'CoGS' | 'CoA' | 'LM' | 'RM'

13

ГОСТ Р МЭК 61131*7—2017

значение_ло_умолчанию ::=

'DEFAULT числоаая_констамта | 'NC'

диапазон ::=

RANGE('4H«yiOBafl_KOHcraHTa'..' числоеая_константа')'

определение_олерации ::=

[(‘OR’ 'MAX' | ASUM' | BSUM')]

[{'AND''MIN' | ‘PROD’ | 8DIF')] Примечание — Парные алгоритмы сы. в таблице 3. метод_активиэации    ACT‘PROD' | MIN'

метод_аккумуляции

ACCU' MAX' | 'BSUM' | NSUM’ Г

правило

'RULE' целочислеммый_литерал

IF условие THEN результат [WITH весовой_коэффициент);

условие

x{(AND' x)|('OR‘ х)}

х

[NOT] (подусловие | {' {' условие')'))

подусловие ::=

имя_переменной | (имя_переменной 'IS' f NOT'] имя_терма)

результат ::=

{(имя_переменной | (имя_переменной 'IS' имя_герма)) {имя_леременной | имя_переменной 'IS' имя_терма)

весовой_коэффициект ::=

переменная | числовая_константа

имя_функционального_блока

идентификатор

имя_6лока_правил ::=

идентификатор

имя_терма ::=

идентификатор

О|мя_переменной ::=

идентификатор

имя_леременной

идентификатор

числовая_константа

целочисленный_литерал | действительный_литерал

входные_описания ::=

см. МЭК 61131*3. приложение В

выходные_описания

см. МЭК 61131-3. приложение 8

описания_пер ::=

см. МЭК 61131*3, приложение 8

идентификатор 5.4.2 Ключевые слова

см. МЭК 61131-3, приложение 8

Таблица 7 — Зарезервированные ключевые слова для FCL

Ключевое слово

Значение Пукст

()    Скобки в условии, герме, диапазоне    5.2.4

ACCU    Метод аккумуляции    5.2.4

ACT    Метод активизации    5.2.4

AND    Операция AND    5.2.4

14

ГОСТ Р МЭК 61131-7—2017

Окончание таблицы 7

Ключевое слово

Знвчение

Пункт

ASUM

Операция OR. алгебраическая сумма

5.2.4

BDIF

Операция AND. ограниченная разность

5.2.4

BSUM

Метод аккумуляции, операция OR, ограниченная сумма

5.2.4

СоА

Дефаззификация методом центра площади

5.2.3

CoG

Дефаззификация методом центра тяжести

5.2.3

CoGS

Дефаззификация синглтонов методом центра тяжести

5.2.3

DEFAULT

Выходное значение по умолчанию в случае, когда не работает ни одно правило

5.2.3

DEFUZZ1FY

Дефаззификация выходной переменной

5.2.3

END.DEFUZZIFY

Конец спецификации дефаззификации

5.2.3

END.FUNCTION.BLOCK

Конец спецификации функционального блока

5.2.1

END.FUZZIFY

Конец спецификаций фаззификации

5.2.2

END.OPTIONS

Конец спецификаций дополнений

5.2.5

END.RULEBLOCK

Конец спецификаций блока правил

5.2.4

END.VAR

Конец определений входной/выходной переменной

5.2.1

FUNCTION.BLOCK

Конец спецификаций функционального блока

5.2.1

FUZZ1FY

Фаззификация входной переменной

5.2.2

IF

Начало правила, за которым приводится условие

5.2.4

IS

Ставится после лингвистической переменной в условии и результате

5.2.4

LM

Метод дефаззификации «Крайний правый максимума

5.2.3

MAX

Метод аккумуляции по формуле максимума, операция OR

5.2.4

METHOD

Метод дефаззификации

5.2.3

MIN

Минимум в качестве логической операции AND

5.2.4

NC

Выходная переменная остается без изменений (No Change) в случае. когда не работает ни одно правило

5.2.3

NOT

Операция NOT

5.2.4

NSUM

Метод акхумуляции по формуле нормализованной суммы

5.2.4

OPTIONS

Определение дополнительных параметров

5.2.5

OR

Операция OR

5.2.4

PROD

Произведение в качестве операции AND. метод активизации

5.2.4

RANGE

Пределы функции принадлежности

5.2.3

RM

Метод дефаззификации «Крайний правый максимум*

5.2.3

RULE

Начало спецификации нечеткого правила

5.2.4

RULEBLOCK

Начало спецификации блока правил

5.2.4

TERM

Определение лингвистического терма (функция принадлежности) для лингвистической переменной

52.2

THEN

Отделяет условие от результата

5.2.4

VAR

Определение локальной переменной (s)

5.2.1

VARJNPUT

Определение входной переменной (в)

5.2.1

VAR.OUTPUT

Определение выходной переменной (s)

5.2.1

WITH

Определение весового коэффициента

5.2.4

15

ГОСТ Р МЭК 61131*7—2017

6 Соответствие

6.1 Классы соответствия языка нечеткого управления FCL

Уровни соответствия системы управления, использующей язык нечеткого управления FCL. при* еевены на рисунке 8. Иерархическая структура состоит из следующих уровней:

*    базовый уровень, включающий в себя определения функционального блока и типов данных в соответствии с МЭК 61131*3:

*    расширенный уровень с необязательными функциями, приведенными в таблице 9. дополнительно разрешенными на данном уровне;

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

Открытый уровень с дополнительными функциями (см таблицу Ю)

Расширенный уровень с необязательными функциями (см таблицу 9)

Базовый уровень с обязательными функциями (см таблицу в)

Включая (см. МЭК 61131-3} определение функционального блока, определение типа данных

Рисунок в — Уровни соответствия

Система управления, применяющая язык нечеткого управления FCL и требующая соответствия настоящему стандарту, должна удовлетворять приведенным ниже правилам:

a)    для реализации нечеткого управления система управления должна применять средства функционального блока в соответствии с МЭК 61131-3. Поэтому определение функциональных блоков и типов данных, необходимых для входных и выходных параметров функционального блока нечеткого управления, должно соответствовать МЭК 61131*3;

b)    все функции нечеткого управления, приведенные в таблице 8. должны быть реализованы в соответствии с положениями настоящего стандарта. Данная таблица определяет множество элементов базового уровня, которые в общем случае должны иметь все системы управления, соответствующие МЭК 61131;

c)    подмножество элементов расширенного уровня, приведенное в таблице 9. представляет собой вспомогательные элементы, которые могут быть реализованы в дополнение ко всем функциям базового уровня. Реализация должна строго соответствовать положениям настоящего стандарта. Данные функции должны маркироваться как стандартные расширения; кроме того, перечень реализованных функций, как показано в таблице 9. должен быть частью документации системы:

d)    сверх базового и расширенного уровней могут быть реализованы другие функции, если во избежание любых возможных ошибок эти функции не имеют таких же или аналогичных стандартным функциям возможностей или представлений. Данные функции должны маркироваться как функции открытого уровня; кроме того, перечень, как показано в таблице 10. должен быть частью документации системы:

e)    обмен прикладными программами между разными системами нечеткого управления должен осуществляться в текстовой форме языка нечеткого управления FCL в соответствии с положениями настоящего стандарта. Данный формат, как формат ввода и вывода, должен быть доступным в системах, соответствующих настоящему стандарту;

f)    чтобы получить наиболее подходящий и удобный пользовательский интерфейс и не препятствовать дальнейшему развитию, внешнее представление разработки, ввода, тестирования и т. д.

16

ГОСТ Р МЭК 61131-7—2017

программ приложения нечеткого управления может быть реализовано любыми графическими или текстовыми средствами.

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

Таблица 8 — Элементы языка базового уровня FCL (обязательные)

Элемент языка

Ключевое слоев

Описание

Описание функционального блока

VARJNPUT. VAROUTPUT

Содержит входные и выходные переменные

Функция принадлежности

Входная переменная: TERM

Максимальная из грех постоянных точек (координата степени принадлежности равна Оили 1)

Выходная переменная: TERM

Только постоянные синглтоны

Условное агрегирование

операция: AND

Алгоритм: MIN

Активизация

Не применяется, так как используются только синглтоны

Аккумуляция (агрегирование результатов)

операция: ACCU

Алгоритм: МАХ

Дефаззификация

METHOD

Алгоритм: CoGS

Значение по умолчанию

DEFAULT

NC.значение

Блок правил

RUIEBLOCK

Только один блок правил

Условие

IF... IS...

л подусловий

Результат

THEN

Только один подрезулызт

Элементы таблицы 9 представляют собой расширенное множество функций, которые могут быть дополнительно реализованы в стандартной системе нечеткого управления (например, для операции AND должен быть выбран алгоритм PROD или BDIF либо оба). Данные необязательные функции являются вспомогательными для всех функций базового уровня.

Таблица 9 — Элементы языка базового уровня FCL (необязательные)

Элемент языка

Ключевое слоев

Описание

Описание функционального блока

VAR

Содержит локальные переменные

Функция принадлежности

Входная переменная: TERM

Максимальная из четырех постоянных или переменных точек (координата степени принадлежности равна 0 или 1)

Выходная переменная: TERM

Максимальная из четырех постоянных или переменных точек (координата степени принадлежности равна 0 или 1)

Условное агрегирование

Операция: AND

Алгоритм: PROD. BDIF

Операция: OR

Алгоритм: ASUM. BSUM

Операция: NOT

1 - (аргумент)

Скобки

О

Активизация

Операция: ACT

Алгоритм: MIN. PROD

Аккумуляция

Операция: ACCU

Алгоритм: BSUM. NSUM

Диапазон фаэзнфикации

Операция: RANGE

RANGE (минимальное значение... максимальное значение) ограничивает диапазон функции принадлежности для выходной переменной

Метод дефаззификации

Операция: METHOD

Алгоритм: CoG, СоА. LM. RM

17

ГОСТ Р МЭК 61131*7—2017

Окончание таблицы 9

Элемент языка

Ключевое слово

Описание

Блок правил

Операция: RULEBLOCK

п блоков правил

Условие

IF

п подусловий, п входных переменных

Результат

THEN

п подусловий, п выходных переменных

Весовой коэффициент

WITH

Постоянное значение и значение, присвоенное переменной в разделе описания VAR INPUT.....END VAR

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

Таблица 10 — Примеры перечня элементов языка открытого уровня

Функции принадлежности свободного аводз/вывода (например. Гаусса, экспоненциальные) Более четырех точек функции принадлежности Координата степени принадлежности от 0 до 1 Переменные значения принадлежности

6.2 Контрольный перечень данных

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

Таблица 11 — Контрольный перечень данных

Технические характеристики

Информация изготовителя (примеры)

Типы данных входов и выходов фуккционагъного блока

REAL. INT

Строка комментариев программы FCL

YES. NO

Время выполнения, ыс

20. 30

Требования к объему памяти. Кбайт

3.4

Сопоставление переменных значений весовых коэффициентов и степени принадлежности от 0.0 до 1.0 с диапазоном целых чисел

0—200.0—400

Длины идентификаторов (например, имена переменных, блоков правил, термов)

6.6

Максимальное значение входных переменных для фаззификации

6.6

Максимальное количество термов функции принадлежности на входную переменную

5.7

Максимальное количество термов функции принадлежности всех входных переменных

30. 56

Максимальное количество точек функции принадлежности, соответствующих каждому терму входной переменной

3. 4. 10

Максимальное общее количество точек функции принадлежности, соответствующих всем термам входной переменной

90.224

Максимальное значение выходных переменных для дефэззификации

6.6

Максимальное количество термов функции принадлежности на выходную переменную

5.7

16

ГОСТ Р МЭК 61131-7—2017

Окончание таблицы 11

Технические характеристики

Информация изготоеи-топя (примеры}

Максимальное общее количество термов функции принадлежности всех выходных переменных

30.56

Максимальное количество точек функции принадлежности, соответствующих каждому терму выходной переменной

1.4. Ю

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

90. 224

Максимальное количество блоков правил

1. 10

Максимальное количество правил в блоке

10

Максимальное количество подусловий для правила

4. 10

Максиальное количество всех правил

15

Максимальное количество подрезультатов для правила

4

Уровень вложенности ()

1.3

19

ГОСТ Р МЭК 61131*7—2017

Приложение А

(справочное)

Теория

В настоящем приложении дается пояснение к определениям, приведенным в разделе 3.

А.1 Нечеткая логика

В нечеткой логике для описания физических переменных вместо имен и чисел (как правило, действительных чисел), применяемых в обьмных разомкнутых и замкнутых системах управления, используются лингвистические значения и выражения. Термы «низкая» и «полностью открытый» являются лингвистическими термами физических значений «температура» или «степень открытия терморегугырующего клапана». Если входная переменная описывается лингвистическими термами, то она называется лингвистическим значением.

Каждый лингвистический терм описывается нечетким множеством М. Поэтому он математически однозначно определяется базовым множеством G из двух утверждений и функцией принадлежности р. Функция принадлежности устанавливает принадлежность каждого элемента предметной области G (например, числовые значения шкалы времени — возраст и годы) в множестве М (например, «молодой») в форме числового значения от нуля до единицы. Если функция принадлежности конфетного значения равна единице, то лингвистическое утверждение, соответствующее лингвистическому пюрму. применимо во всех отношениях (например, «молодой» для возраста 20 лег). И наоборот, если она равна нулю, то нет никакого соответствия (например, «очень старый» для возраста 20 лет).

Для описания нечетких множеств применяются приведенные ниже формы записи.

Для конечных множеств: неупорядоченные парные множества в дифференциальной форме:

М = {(х,. pM(xt)), (х2. Мм<х2>).....<хл-    G. i = 1.2. ...п    (А.1)

рм(*|) считаются числовыми значениями.

Для бесконечных множеств:

М = {х. Мы(х)>. х 6 G

(А.2)

Для описания различий между четкими и нечеткими терминами на рисукхе А.1 приведены лингвистические термы для лингвистической переменной «возраст». Если терм «совершеннолетний» однозначно определяется законом и тем самым отражает дискретный переход в отношении функции принадлежности, для терма «взрослый» не может быть назначен четкий предел возраста.

Ш-иреши»

Рисунок А.1 — Функция принадлежности термов «совершеннолетний» и «взрослый»

Например, на рисунке А.2 представлены описание лингвистической переменной «возраст» лингвистическими термами и их соотношение на шкале времени «возраст в годах» с помощью значений принадлежности.

20

ГОСТ Р МЭК 61131-7—2017

Рисунок А.2 — Описание лингвистической переменной «возраст» лингвистическими термами и их соотношение

на шкале времени (возраст в годах)

Типовые формы функции принадлежности представлены на рисунке А.З. Следующие формы функции принадлежности относятся к специагъным формам:

•    определение через прямоугольник (например, интервал) с целью описания значений, а также:

•    одноэлементное множество (сижлтон) для альтернативного представления выходных переменных.

~\

и

1

и

1

/\ г

Риишдв

*Т)жпи|деитьмм

Трвуголымя

И

И

1

0

... Г~1

1

«* 0

1

Пршоугогмих    Ситон

Рисунок АЗ —Типовые формы функций принадлежности

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

Лингвистическая переменная — символ сравнения — лингвистический терм    (А.З)

(температура низкая)

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

Знания, приобретенные на основе опыта, могут быть определены в правилах. Правило Rk имеет следующий вед:

Ffy: IF условие Р|< THEN результат С|<

(А.4)

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

21

ГОСТ Р МЭК 61131*7—2017

Pk = AANDBOR (NOT С)

<А.5>

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

Соотношения между нечеткими множествами и операциями с н&тпкими множествами определяются с помощью функций принадлежности.

Для двух нечетких множеств А и В. элементы х которых берутся из базового множества G. применяются следующие соотношения:

равенство А * В

истинно, если рА (х) = рв(х), для всех х в G

(А.6)

полное вхождение Ад В

истинно, если рд(х) = S pg{x). для всех х е G

(А.7)

частичное вхождение А с В

истинно, если рА(х) = s р8{х), для всех х е G и рд(х)< Мв(*>00 крайней мере, для одного х е G.

<А.8>

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

пересечение

А п В определяется рА лВ(х) = 1(рА(х). Мв(х))-

где I называется операцией пересечения

(А.9)

объединение

А и В определяется рА^. в(х) = U(pA(x). pg(x)>.

где U называется операцией объединения

(А. 10)

дополнение

определяется с помощью рА<х) = 1 - рд <х)

(А.11)

Как в случае классических (четких) множеств, к нечетким множествам применяются следующие интерпретации:

пересечение относится к нечеткой операции ANO: объединение — к нечетхой операции OR: дополнение — к нечетхой операции NOT.

Элементарные алгоритмы для математического представления пересечения, объединения и дополнения имеют следующий вид (см. также рисунок А.4):

для пересечения, минимум

МдгвМ в Min (МаМ. Мв(*>). * 6 G

(А.12)

для объединения, максимум

P/weW * Мах (НаМ' Рв(*))- х « g

(А. 13)

для дополнения, вычитание из единицы

рА(х)= 1 - рА(х) х e G

(А. 14)

Для нечетких операторов AND и OR существует много возможных алгоритмов. При этом следует отметить, что операции AND и OR не могут быть выбраны произвольным способом.

22

ГОСТ Р МЭК 61131-7—2017

Лингвиспмкжйтерж НдРО}

A if

ol-г

В 1

ч

X

TZ

Ап В:

Milt Ч Aw В:

S

-it

X

-««{цАра народ

0*

*

(ДОН-щро i|'

и 1

к

и

X

Рисунок А.4 — Алгоритмы представления операций с двумя функциями принадлежности

А.2 Нечеткое управление

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

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

Функциональные элементы нечеткого управления приведены на рисунке А5.

23

ГОСТ Р МЭК 61131*7—2017

А.2.1 Фаззификация

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

Пример фаззификации приведен на рисунке А.6.

База правил содержит эмпирические знания, относящиеся к конкретному рассматриваемому технологическому процессу. Для интерпретации знаний используются лингвистические правила. При условии, что нечеткая операция AND означает MIN. а нечеткая операция OR означает МАХ. можно показать, что нечеткое правило R(, основанное на комбинации OR из m утверждений, может быть представлено m правилами, утверждения которых комбинируются только с помощью AND. На рисунках А.7 и А6 приведены примеры различной интерпретации пра-

База правил

- Определение базы правил в текстовой форме:

R1:

IF

Условие P1

THEN

Результат Cl

R2:

IF

Условие P2

THEN

Результат C2

R3:

IF

Условие РЗ

THEN

Результат СЗ

IF

Условие Рп

THEN

Результат Сп

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

Pi = Pk,    ANO Р»2 OR (NOTPw)

а для результата - может быть более одного, например

С«а Си. Сц

Рисунок А.7— Интерпретация базы знаний в лингвистической форме

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

24

ГОСТ Р МЭК 61131-7—2017

Всякая перемежая X*

NB

NB

Z

РЗ

РВ

NB

NB

N6

Z

PS

PS

NS

NB

N3

PS

PS

РВ

Z

Z

Z

PS

РВ

РВ

PS

Z

Z

PS

РВ

РВ

РВ

Z

N8

РВ

РВ

РВ

Обоммнмя:

МВ-бапылял отрицательная;

РВ-болышя петшипгагыля; Н0-нвбагыияотрл|«тегы1вя; FS-«большая тштьмятвльния; Z-Hjcneew.

Рисунок А.8 — Матричное представление двух переменных

А.2.3 Логический вывод

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

Логический вывод оосгоит в агрегировании грех подфункций, активизации и аккумуляции, приведенных на рисунке А.9. См. также рисунок А.10.

Вмпагмиавввш лрмип развито на следующие шапс

-Агр«ц**1

Определение степени истинности условий по степени лринедпатоста педусповий

Pki AND Ре ОЯ1 {NOT Pie) s

для век n условий

е»

♦ Агпаваацня

Агпкммциа рввупитв IF-THEH

IF уловке C( роаульпг THEN для асах л правил

Лат ввоаяоткпвффициает* шжррго травнпа

&

-Аахумушфш

Ком&ашде мишенных рааупьтдтм гфавип вобщийрвяупьтг

Рисунок А.9 — Элементы логического вывода

25

ГОСТ Р МЭК 61131*7—2017

-    Агрегирование:

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

-    Активизация:

Подрезультаты в результате относятся к выходным переменным. Затем на основе степени истинности условия, полученного при агрегировании, определяется степень принадлежности результата (результат IF А THEN В). Как правило, для активизации используется MIN или PROD.

Если база правил содержит сдавила с весовым коэффициентом wk, где wk е (0.1], это может быть реализовано с помощью умножения.

{А. 15)

- Аккумуляция.

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

В зависимости от комбинации операций на отдельных шагах получаются разные стратегии логического вывода. Наиболее известные так называемые методы максимума-минимума {MaxMin Inference) и максимума-произведения (MaxProd Inference), которые применяют максимум для аккумуляции и минимум или алгебраическое произведение для активизации. В случае метода максимума-минимума функции принадлежности нечетких множеств результатов ограничены степенью истинности условия и комбинируются для создания нечеткого множества с помощью формирования максимума. В случае метода максимума-произведения, наоборот, функции принадлежности нечеткого множества результатов взвешиваются, т. в. умножаются по степени истинности условия, а затем комбинируются.

Таблица А.1 — Шаги логического вывода и широко используемые алгоритмы

Шаг логичвсюго вывода

Операции

Алгоритмы

Агрегирование

для AND

Минимальная

ak = Min{aK1(x1). 8^x2))

для OR

Максимальный

ак = Max{aKi(x1), 8^x2))

Активизация

преобразование IF-THEN-результата

Минимальная

«V * Min(aK. Рос(и)}

весовой коэффициент каждого правила

Умножение

= МиН{шК. с*'} = шк х ск'

Аккумуляция

Максимальный

V = МАХ(с,(и))

Р„ = Рм AND Pw    OR (NOT P„3)

MiniaM ,a^ j

8*=Max(Min{8*i.

Рисунок A. 10a — Пример, демонстрирующий принципы агрегирования

26

ГОСТ Р МЭК 61131-7—2017

•АятемМция

• Прмбрактми»рафкппт IF-THEN, нйпрямер, опершее) мтмумв

Фушция прт9дпе*яост*пингееет¥нео-шотариа авымадой переменной ц семенной сгфвемлй* К

налвмыао.мпбсммчкш»

tyrnwawflaina

Щ

Рисунок А.10Ь — Принципы активизации (пример)

•tayiqmp

нал рммр, операция ияксмыюацни

Рисунок А.10с — Принципы аккумуляции (пример)

А.2.4 Дефаззификация (см. рисунок А.11)

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

27

ГОСТ Р МЭК 61131*7—2017

flwlwiMhwiiw

Нродцужгим i мп краткого рааутьтата гдтичвоаго вывода а ^псуо титцую парома и ща U. ДОжифшиаммгпууж центра тлмат{Со6).

четкая аьаодма перяамоим отадапяатся мисмимиам абсциссы и центратянает площади подфунщнаА

|р*м«гаш>юога:

• прмор матова цент»» твафСггя.

Маас Г

мм J u*iitu)mu

U= МвХ Р

МП J^>*Aj

Рисунок А.11а — Методы дефаззификации

Общими методами являются также следующие:

Крайний левый максимум LM

Определяется значение выходной переменной, для которого функция принадлежности выхода достигает ее крайнего левого максимума.

Крайний правый максимум RM

Определяется значение выходной переменной, для которого функция принадлежности выхода достигает ее крайнего правого максимума.

Крайний правый максимум: яирРСОДХЗ* вир j^X)
Х€ ОИпМвх]
Крайний левый максимум: InfpCftipf}* аир {ОД

хе[М1п,Мвх]

Рисунок А.11Ь — Разница между методами крайнего левого максимума и крайнего правого максимума Метод центра площади

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

Примечание 1 — Центр тяжести эквивалентен центроиду.

Примечание 2 — Центр площади эквивалентен медиане.

Примечание 3 — При использовании синглтонов СоА не применяется.

28

ГОСТ Р МЭК 61131-7—2017

СДОЯ

Рисунок А.11с— Разница между методами центра площади и центра тяжести

Примечание — Формулы методов дефазэмфикации СоА и CoG приведены в таблице 2.

Еелифунщии лрмнадлежмэсти ■ьевдедпоромыецхяаляотст синглтон**, выполняется епоавщык

- метопе центра тяжести дли Стптпхв (CQQ8)

u==?-.

£M

1Дйр-рйеуПЬТвТЫД**у*у7ТИЦМИ

Всл)Ммммнттонаш метод центра гаюииш примеигшина жат. Гфммр для 4 винптгоиз» яшм:

Рисунок А. 11d — Методы дефаэзификации

А.З Осуществление нечеткого управления

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

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

29

ГОСТ Р МЭК 61131*7—2017

управления, которые аналогичным образом должны формироваться вне нечеткого управления. С другой стороны, выходные переменные нечеткого управления могут быть переданы операторам для обработки корректирующих переменных (например, интегрирующий элемент для алгоритме» скорости) или распределены между различными элементами управления.

Рисунок А.12 — Примеры характеристических кривых нечеткого управления

Базовая структура основанных на нечетком упраапети контроллеров приведена на рисунке А.13а. а на рисунке А.13Ь приведен пример, показывающий, как из разности между уставкой и переменной технологического процесса формируется ошибка. Эта разность, как и ее производная по времени, передается нечеткому управлению в виде двух переменных, являющихся независимыми от ее объективного восприятия. Корректирующая переменная получается из выходной переменной интегрированием по времени. Если база правил разработана таким образом, что она описывает алгоритм скорости, то основанный на нечетком управлении контроллер отображает динамическое поведение, подобное пропорциональному интегрированию.

Ни—»

ПфММНМЫ* I

ттоотопмасхога прочей* |

li—сое отвалам»

U

Обработка m>n in—гг переменных

Ишаммиыа первые I—

Рисунок А.1 За — Основанный на нечетко*.! управлении контроллер: базовая структура

30

ГОСТ Р МЭК 61131-7—2017

Рисунок А.13Ь — Пример основанного на нечетком управлении контроллера

31

ГОСТ Р МЭК 61131*7—2017

Приложение В

(справочное)

Примеры

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

В.1 Предварительное регулирование

Устройство нечеткого управления дополняет обычный контроллер замкнутой системы корректирующим сигналом для управляемого клапана (см. рисунок В.1).

В.2 Адаптация характеристик обычных ПИД-регуляторое

Устройство нечеткого управления используется для адаптации параметров управления ПИД-регулятора (см. рисунок В.2).

32

ГОСТ Р МЭК 61131-7—2017

В.З Прямое нечеткое управление технологическим процессом

Другой областью применения является включение эмпирических знаний о процессе и стратегий лингвистического управления непосредственно в промышленную автоматизацию. Данный метод используется во многих технологических процессах. 8 которых необходимо вмешательство оператора (см. рисунок В.З).

33

ГОСТ Р МЭК 61131*7—2017

Приложение С (справочное)

Промышленный пример: кран для контейнеров

Краны для контейнеров применяются в большинстве портов при погрузке контейнере» на суда и при их выгрузке. Краны подхватывают отдельные контейнеры тросами, закрепленными на тележке крана. Тележка крана перемещается по горизонтальному рельсовому пути. Как показано на рисунке С.1, когда контейнер подхвачен и тележка начинает двигаться, контейнер начинает раскачиваться. Раскачивающийся контейнер возможно перемещать. но невозможно поставить.

Тележка крена

Кран

а

Контейнер

Конечное положение

Угол.

0

Расстояние

21.84

Мощность.

0.00

Рисунок С.1 — Промышленный пример: кран для контейнеров

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

a)    Начало движения тележки при средней мощности двигателя.

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

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

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

e)    Когда контейнер находится над целью и раскачивание равно нулю, необходимо остановить двигатель.

Для автоматизации управления таким краном используются датчики положения («расстояние») тележки крана и угла раскачивания контейнера («угол»). Выходной величиной является мощность двигателя. Сначала для всех переменных должны быть определены лингвистические переменные. Лингвистические переменные «расстояние», «угол» и «мощность двигателя» (см. рисунки С.2. С.Э и С.4) делятся на пять лингвистических термов. Для функции принадлежности используются формы рампады, треугольника и синглтоны. На приведенных ниже рисунках представлены лингвистические переменные и лингвистические термы.

34

ГОСТ Р МЭК 61131-7—2017

Рисунок С.2 — Лингвистическая переменная «расстояние» между тележкой крана и целевым положением

Пуловой

Рисунок С.З — Лингвистическая переменная «угол» между контейнером и тележкой крана

35

ГОСТ Р МЭК 61131*7—2017

Рисунок С.4 — Лингвистическая переменная «мощность»

С помощью данных лингвистических термов для описания текущего состояния крана в базу правил могут быть преобразованы пять общих правил. На рисунке С.5 дано определение базы правил в записи FCL. Правило 2 было преобразовано в два правила, чтобы соответствовать формату «if-theo*. Здесь не используются некоторые из определенных функций принадлежности, и система должна быть проверена на наличие неопределенных выходов, например расстояние: очень .дальнее: угол: больиюй_положительмый.

Правило 1: IF расстояние IS большое Правило 2: IF расстояние IS богъиюе Правило 3: IF расстояние IS богъиюе Правило 4: IF расстояние IS среднее Правило 5: IF расстояние IS близкое Правило 6: IF расстояние IS нулевое

AND угол IS нулевой AND угол IS мапый_отрицательный AND угол IS болыиой.отрицательный AND угол IS малый_отрицагепьный AND угол IS малый.положительный AND угол IS нулевой

THEN мощность IS средняя_поломсигельная

THEN мощность IS бол ьшвя_положи тельная

THEN мощность IS средняя_полсоки тельная

THEN мощность IS средняя_отрицательная

THEN мощность IS средняя_положи тельная

THEN мощность IS нулевая

Рисунок С.5 — База правил

В таблице С.1 приведены шаги логического вывода и использованные операции соответственно.

Таблица С.1 — Шаги логического вывода и присвоенная операция

Шаг логического вывода

Операции

Агрегирование

AND

Минимальная

Активизация

преобразование IF-THEN-результата

Минимальная

Аккумуляция

Максимальный

Необходимо учитывать текущее состояние крана, когда расстояние тележки крана до целевого положения равно 12 м. а угол контейнера составляет плюс 4*. Для иллюстрации будет принято подмножество трех правил. На рисунках С.6 и С.7 показано, как для данного случая рассчитывается фазэификация.

36

ГОСТ Р МЭК 61131-7—2017

Расстояние в 12 и принадлежит нечетким множествам термов

большое СрвОнво Втекав Нутввв Очень большое

до степени 0,1 до степени 0.& до степени О до степени О до степениО

Очень,

большое Нутшое firruum Среднее

Рисунок С.6 — Фаззификация лингвисгической переменной «расстояние»

У*ад плюс4* принадлежит нечспсим множествам термов бюшс^.слвшцашальныд достелвниО

Шльй^атрщртвпьный

Нуле**}

Шльа_/юлшсштпьиыО

Всяъияймгхтипяпвиый

до степени О до степени 0,2 до степени 0,8 до стелен и О

Рисунок С.7 — Фаззификация лингвистической переменной «угол*

Расстояние 12 м преобразуется е значение лингвистической переменной {0.1: 0.9; 0. 0. 0). которое может быть интерпретировано как «еще среднее, но уже немного большое». Угол плюс 4" преобразуется в значение лингвистической переменной {0:0:0.2. 0,8.0). которое может быть интерпретировано как «небольшое положительное, почти нулевое».

• Логический вывод

После того, как все входные переменные были преобразованы в значения лингвистических переменных, шаг нечеткого логического вывода дает возможность идентифицировать правила, применяемые к текущему состо

37

ГОСТ Р МЭК 61131*7—2017

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

RULE 1: IF расстояние IS среднее

AND угол IS малый.

THEN мощность IS

положительный

средняя.положи тельная

RULE 2: IF расстояние IS среднее

AND угол IS нулевой

THEN мощность IS нулевая

RULE 3: IF расстояние IS дальнее

AND угол IS нулевой

THEN мощность IS средняя.положительная

Рисунок С.8 — Подмножество трех правил

Логический вывод состоит из трех подфункций: агрегирования, активизации и аккумуляции.

• Агрегирование (см. рисунок С.10)

Определение степени истинности предположения по степени принадлежности элементарных утверждений.

RULE 1: Расстояние = среднее

AND

Угол = малый.попожительный

=

Р1

RULE 2: Расстояние = среднее

AND

Угол = нулевой

=

Р2

RULE 3: Расстояние = дальнее Для всех предположений

AND

Угол = нулевой

=

РЗ

Рисунок С.9 — Элементы агрегирования

Операция Min соответствует агрегированию AND. На рисунке С.9 показано, как для данного случая вычисляется агрегирование.

38

ГОСТ Р МЭК 61131-7—2017

Рисунок С.10 — Принципы агрегирования

• Активизация (си. рисунок С.12)

Преобразование результата IF-THEN

При

условием

ТШН

pagnwnrr

С1

При

условие Р2

THEN

реаупьтет

С2

При

условие РЗ

THEN

Щ0ульт|гг

CJ

дпявоасграви!

Рисунок С.11 — Элементы активизации

На рисунке С.11 показано, ках для данного случая рассчитывается активизация. Результат агрегирования описан с левой стороны, результат активизации — с правой стороны.

39

ГОСТ Р МЭК 61131*7—2017

Опершая 1*нны«еиии

npamnol:

Ой

Операция шишкшем

ПрамлоЗ

Ой

,«0.2

Операяя ииниыкамм

Прияло 3:

0.1

Рисунок С. 12 — Принципы активизации

• Аккумуляция (см. рисунок С.14)

Комбинация взвешенных результатов правил в общий результат.

Рисунок С.13 — Элементы акхумуляции

Результат акхумуляции правил с 1 по 3 показан в нижней части рисунка С.1Э. Результат среането_положи-тельного синглтона рассчитывается, например, как Мэх(0.8: 0.1} = 0.8.

40

ГОСТ Р МЭК 61131-7—2017

Рисунок С.14 — Принципы аккумуляции • Дефэззификация (см. рисунок С. 15)

41

ГОСТ Р МЭК 61131*7—2017

Логический вывод в качестве результата дает нечеткое множество или его функцию принадлежности. Чтобы использовать его для установки мощности двигателя, он должен быть преобразован в четкое числовое значение. Значение, которое необходимо определить (как правило, действительное число), должно обеспечить наилучшее представление информации, содержащейся в полученном нечетком множестве. Используя метод максимальной высоты, четкую выходную переменную мощность двигателя рассчитывают следующим образом

Дадопицш

лрымл1

Дафвшфшщг методом Цжтрвтяжтт дли «нтттоиов<ео<58)

Рисунок С.15 — Дефаззификация

• Реализация примера с краном для контейнеров в FCL (см. рисунок С.16):

42

ГОСТ Р МЭК 61131-7—2017

FUNCTION.BLOCK кран _дпя_контейиеров

VAR INPUT

расстояние: REAL; угол REAL

END.VAR

VAR OUTPUT

мощность: REAL,

END.VAR

FUZZJFY расстояние

TERM слишком большое

■(-5.1И0.0):

TERM нулевое

* (-5.0) (0.1) { 5.0);

TERM близкое

= < 0.0) (5.1) (10.0):

TERM среднее

= (5.0) (10.1) (22.0).

TERM большое

•(10.0) (22.1);

END.FUZZIFY

FUZZIFY угол

TERM большой.отрицательный

■(-50.1) (-5.0);

TERM не6ольшой_отрицательный

«(-50.0H-S. 1) (0.0);

TERM нулевой

= (-5.0) (0.1) (5.0);

TERM небольшой положительный

= (0. 0) (5.1) (50.0);

TERM большом положительньм

= (5.0) (50.1);

END.FUZZIFY

OEFUZZIFY мощность

TERM большая.отрицательмая

■•27.

TERM средмяя.отрицательная

= •9,

TERM нулевая

•0;

TERM средняя положительная

= 9;

TERM большая положительная METHOD: CoGS;

DEFAULT * 0.

= 27:

END.DEFUZZIFY

RULEBLOCK N*1

AND MIN; ACCU. MAX;

RULE 1: IF расстояние IS большое ANO угол IS нулевой THEN мощность IS средняя.попожительная; RULE 2: IF расстояние IS большое AND угол IS небопьшой.отрицательный THEN мощность IS

большая положительная:

RULE 3: IF расстояние IS большое AND угол IS больиюй_отрицательный THEN мощность IS

средняя положительная.

RULE 4: IF расстояние IS среднее AND угол IS небопьшой.отрицательный THEN мощность IS

средияя.отрицательная.

RULE 6: IF расстояние IS большое AND угол IS иебопьиюй.попожительмый THEN мощность IS

средняя.положительная;

RULE 6: IF расстояние IS нулевое AND угол IS нулевой THEN мощность IS нулевая;

END.RULEBLOCK

END FUNCTION BLOCK

Рисунок С.16 — Пример на SCL

Функциональный блок FCL должен вызываться так же. как и с помощью программ, в соответствии с МЭК 61131-3. Это обосновано тем. что с внешней точки з ре имя нечеткий блок имеет единственный интерфейс через свои переменные.

В соответствии с МЭК 61131-3 вызов для приведенного выше примера мажет быть:

кран_для_контейнерое (расстояние: = INP.DIS. угол:® INP_ANG); Ас= кран_для_контейнероа.мощность:

Переменные 1NP_DIS и INP.ANG могут быть привязаны непосредственно к словам ввоза контроллера игм вычисляться из других значений.

43

ГОСТ Р МЭК 61131*7—2017

Приложение D

(справочное)

Пример использования переменных в блоке правил

Печенье готовят в туннвгъной печи. Цвет печенья определяется с помощью датчика цвета в конце печи. Измерение цвета осуществляется с помощью трехмерной величины, для определения принадлежности измеренного цвета к одному из трех приведенных ниже классов используется нечеткая классификация: коричневый, светлый, темный. В печи также измеряется влажность. Лечь может управляться двумя температурными контурами: один в первой и один во второй половине печи.

Принцип управления приведен на рисунках D.1 и 0.2.

Дигчж алимхтв

1>ннапьиаяпсмь

к

Датчик цвети

А

4-4

ТемперетурныВ «ктур Температурный «Октур

» * - -----

WWMBI

температуры п

Мшима

температурите

Рисунок D.1 — Принцип управления системой

Рисунок D.2 — Принцип управления печью на основе нечеткой логики Блок правил содержит следующие пять правил (см. рисунок 0.3):

IF влажность IS средняя AND цвет IS коричневым IF влажность IS высокая IF влажность IS низкая

IF влажность IS средняя AND цвет IS светлый IF влажность IS средняя AND цвет IS темный

THEN dT1 IS ноль AND dT2 IS ноль THEN dTT IS положительная THEN dTi IS отрицательная THEN dT2 IS положительная THEN dT2 IS отрицательная

Рисунок D.3 — Блох правил

44

ГОСТ Р МЭК 61131-7—2017

Синтаксис FCL для данного примера приведен на рисунке 0.4.

Примечание — Вместо использования грех переменных — светлый, коричневый и темный — для цвета может также использоваться только одна переменная переделяемого типа данных, как показано ниже. В данном примере dT2 не определяется, если влажность высокая или низкая.

TYPE

STRUCT тил.цвета

коричневый REAL; светлый. REAL; темный REAL; END.STRUCT END TYPE

FUNCTION BLOCK управление

VARJNPUT

влажность. REAL; цвет: тип цвета;

END.VAR

VAR OUTPUT

dTI: REAL.

<JT2: REAL.

END.VAR

FUZZIFY влажность TERM низкая TERM средняя TERM высокая

END.FUZZIFY

DEFUZZIFY dT1

TERM отрицательная TERM нулевая TERM положительная METHOD: CoGS DEFAULT:* 0;

END DEFUZZIFY

печью

«(30.1) (50.0):

:= (30.0) (50,1) (70.1) (80.0); ;= (70.0) (80.1);

:»-5:

:* 0;

:• 5;

DEFUZZIFY dT2

TERM отрицательная .= -3: TERM нулевая    :* 0;

TERM положительная :® 3; METHOD: CoGS DEFAULT.® 0;

END DEFUZZIFY

RULESLOCK логический вывод AND MIN:

ACCU: MAX;

RULE 11F влажность Усредняя AND цвет® коричневый THEN dT1 IS нулевая

AND <fT2 IS нулевая;

RULE 2: IF влажность IS высокая    THEN dT1    IS    положительная;

RULE 3; IF влажность IS низкая    THEN dT1    IS    отрицательная;

RULE 4: IF влажность IS средняя AND цвет • светлый    THEN dT2    IS    положительная;

RULE 5; IF влажность IS средняя AND цвет ® темный    THEN dT2    IS    отрицательная;

END.RULEBLOCK

END_FUNCT!ON_BLOCK

Рисунок 0.4 — Пример на FCL

45

ГОСТ Р МЭК 61131*7—2017

Приложение Е

(справочное)

Условные обозначения, аббревиатуры и синонимы

Таблица Е.1 — Условные обозначения и аббревиатуры

СоА

Центр площади

COG

Центр тяжести

FB

Функционагьный блок

FBD

Диаграммы функциональных блоков

FCL

Язык нечеткого управления

IL

Перечень команд

ИСО

Международная организация по стандартизации

МАХ

Операция максимизации

MIN

Операция минимизации

PROD

Операция умножения

ST

Структурированный текст

М

Степень принадлежности

ш

Весовой коэффициент

Таблица Е.2 — Синонимы

Результат

Следствие

Аккумуляция

Агрегирование результатов

Активизация

Композиция

Условие

Предпосылка

Центр тяжести

Центроид

Центр площади

Медиана

46

ГОСТ Р МЭК 61131-7—2017

Приложение ДА

(справочное)

Сведения о соответствии ссылочных международных стандартов национальным стандартам

Таблица ДА.1

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

Степень

соответствия

Обозначение и наименование соответствующею национального стандарта

IEC 60050-351:1998

а

IEC 61131-3:2013

ЮТ

ГОСТ Р МЭК 61131-3—2016 «Контроллеры программируемые. Часть 3. Языки программирование

'Соответствующий национальный стандарт отсутствует. До его утверждения рекомендуется использовать перевод на русский язык данного международного стандарта.

Примечание — В настоящей таблице использовано следующее условное обозначение степени соответствия стандарта:

- ЮТ — идентичный стандарт.

47

ГОСТ Р МЭК 61131*7—2017

УДК 681.58:681.3    ОКС 35.240.50    ЮТ

25.040.40

Ключевые слова: программируемые контроллеры, нечеткое управление, нечеткая логика, язык нечет* кого управления

БЗ 10—2017/155

Редактор В.Н. Шмельков Технический редактор В.Н. Прусакова Корректор С.И. Фирсова Компьютерная верстка Е.О. Асташина

Сдано в набор 18.09.2017. Подписано а печать 03.10.2017. Формат 6064'/g    Гарнитура Ариал.

Уел. леч. л. 6.05. Уч.чтад. л. 5.32. Тираж 21 эо Зак. 1905.

Лодготоалоио иа основе электронной версии, предоставленной разработчиком стандарта

Издано и отпечатано во ФГУП «СТАНДАРТИНФОРМ», 123001 Москва, Гранатный лер.. 4 Л1 infoQgoslinfo.ru