С помощью данных элементов языка можно описать интерфейс функционального блока. Интерфейс функционального блока определяется с помощью параметров, которые переходят в функциональный блок и выходят из него. Типы данных параметров должны определяться в соответствии с МЭК 61131-3.
На рисунке 3 представлен пример описания функционального блока на языках структурированного текста (ST) и диаграмм функциональных блоков (FBD).
Рисунок 3 - Пример описания интерфейса
функционального блока на языках ST и FBD
Значения входных переменных должны быть преобразованы в степень принадлежности по функции принадлежности, определенной для переменной. Преобразование описывается между ключевыми словами FUZZIFY и END_FUZZIFY.
После ключевого слова FUZZIFY должно быть указано имя переменной, используемой для фаззификации, т.е. имя переменной, предварительно определенной в разделе VAR_INPUT. Лингвистическая переменная должна быть описана одним или несколькими лингвистическими термами. Лингвистические термы, введенные ключевым словом TERM, с целью фаззификации переменной описываются функцией принадлежности. Функция принадлежности представляет собой кусочно-линейную функцию, которая определяется таблицей точек.
Каждая точка представляет собой пару значений переменной и степень принадлежности данных значений, разделенные запятой. Пары заключены в скобки и разделены запятыми.
С помощью данного выражения могут быть определены все простые элементы, например быстрое изменение по линейному закону и по треугольнику. Точки должны быть заданы в порядке возрастания значения переменной. Функция принадлежности между очередными точками является линейной. Таким образом, степень принадлежности для каждого терма рассчитывается по четкому входному значению с помощью линейной интерполяции между двумя соответствующими соседними точками функции принадлежности.
Минимальное количество точек равно двум. Максимальное количество ограничивается согласно классам соответствия, см. раздел 6.
Пример функции принадлежности с тремя точками для лингвистического терма "тепло":
Если значение лингвистической переменной меньше, чем первая базовая точка в таблице соответствия, все значения ниже первой точки в таблице соответствия должны иметь такую же степень принадлежности, как и определенная для первой точки.
Если значение лингвистической переменной больше, чем последняя базовая точка в таблице соответствия, все значения больше последней точки в таблице соответствия должны иметь такую же степень принадлежности, как и определенная для последней точки.
Рисунок 4 - Пример термов быстрого
изменения по линейному закону
Примечание - Тип данных для точек функций принадлежности не определяется. Изготовитель должен предоставить компилятор, который поддерживает любые необходимые преобразования.
Для адаптации приложения нечеткого управления в интерактивном режиме базовые точки в функции принадлежности могут быть изменены. Это можно сделать с помощью переменных, которые вводятся в функциональный блок. Такие переменные должны быть описаны в разделе функционального блока VAR_INPUT. Пример использования переменных для определения точек для функций принадлежности приведен на рисунке 5.
Примечание - Значения точек функции принадлежности во время выполнения могут лежать вне последовательности.
функции принадлежности
Лингвистическая переменная для выходной переменной должна быть преобразована в значение. Такое преобразование описывается между ключевыми словами DEFUZZIFY и END_DEFUZZIFY.
После ключевого слова DEFUZZIFY должно быть указано имя переменной, используемой для дефаззификации. Это имя предварительно определенной в разделе VAR_OUTPUT переменной.
Определение лингвистических термов дается в 5.2.2.
Синглтоны представляют собой специальные функции принадлежности, используемые для выходов с целью упрощения дефаззификации. Синглтоны описываются только одним значением лингвистического терма. На рисунке 6 приведены примеры термов синглтонов.
Рисунок 6 - Примеры термов синглтонов
Метод дефаззификации должен быть определен с помощью элемента языка METHOD.
Допускаются следующие методы дефаззификации (см. таблицы 1 и 2).
Таблица 1
Методы дефаззификации
Таблица 2
Если степень принадлежности равна 0 для всех лингвистических термов выходной переменной, то это значит, что активные правила для данной выходной переменной отсутствуют. В таком случае дефаззификация не может сгенерировать подходящее выходное значение. Поэтому для выходного значения допускается назначать значение по умолчанию. Такое значение по умолчанию является значением выходной переменной только в том случае, если не работает ни одно правило.
Значение должно быть указано после ключевого слова DEFAULT. В противном случае должно быть задано NC (без изменений) для указания на то, что выходное значение останется неизменным, если не работает ни одно правило.
Диапазон - это описание минимального и максимального значений, которые разделяются двоеточием.
RANGE используется для ограничения каждой функции принадлежности до диапазона каждой выходной переменной. Если для выходных функций принадлежности используется синглтон, RANGE не действует.
Если диапазон не определен, по умолчанию должен использоваться диапазон типа данных переменной, указанный в МЭК 61131-3.
Логический вывод нечеткого алгоритма должен быть определен одним или несколькими блоками правил. Для надлежащей обработки и обеспечения возможности разделения базы правил на разные модули допускается использование нескольких блоков правил. Каждый блок правил должен иметь уникальное имя.
Правила должны быть указаны между ключевыми словами RULEBLOCK и END_RULEBLOCK.
Внутри блока правил используются нечеткие операции.
Для соблюдения закона Моргана алгоритмы операций AND и OR должны применяться попарно; например, MAX необходимо применять с операцией OR, если с операцией AND применяется MIN.
Таблица 3
Пример блоков правил:
первый RULEBLOCK
AND: MIN;
..
END_RULEBLOCK
второй RULEBLOCK
AND: PROD;
..
END_RULEBLOCK
Метод активизации определяется следующим элементом языка:
Могут использоваться следующие методы активизации (см. таблицу 4):
Таблица 4
Методы активизации
Метод аккумуляции определяется следующим элементом языка:
Могут применяться следующие методы аккумуляции (см. таблицу 5):
Таблица 5
Методы аккумуляции
Входными данными блока правил являются лингвистические переменные с набором лингвистических термов. Каждый терм имеет присвоенную ему степень принадлежности.
Правила определяются внутри блока правил. Каждое правило должно начинаться с ключевого слова RULE с идущим за ним названием правила, а заканчиваться должно точкой с запятой. Каждое правило внутри блока имеет уникальный номер.
Само правило должно начинаться с ключевого слова IF с идущим за ним условием. После условия следует результат, начинающийся с ключевого слова THEN.
Допускается комбинировать в одном правиле несколько подусловий и входных переменных. Назначение переменных состоит в разрешении импорта нечеткой степени принадлежности в нечеткий функциональный блок. Переменные должны быть определены между ключевыми словами IF и THEN и объединены операциями с ключевыми словами AND, OR или NOT.
Приоритет операций (см. таблицу 6) определяется в соответствии с булевой алгеброй, приведенной в таблице 3.
Таблица 6
Приоритет операций
Упрощенный пример правила:
На базовом уровне соответствия операция OR может быть реализована определением двух правил:
Подусловие начинается с названия лингвистической переменной, за которым идет ключевое слово IS с необязательным NOT и одним лингвистическим термом лингвистической переменной, используемой в условии.
Лингвистические термы, применяемые в условии, должны соответствовать лингвистической переменной в том же условии. Применяемый терм должен быть предварительно определен с помощью ключевого слова TERM.
Пример подусловий:
Кроме того, перед подусловием можно применять ключевое слово NOT. При этом могут применяться скобки.
Результат может быть разделен на несколько подрезультатов и выходных переменных.
Подрезультат должен начинаться с названия лингвистической переменной, за которым идет ключевое слово IS и один лингвистический терм данной лингвистической переменной.
Пример с несколькими подрезультатами из одной или нескольких строк:
Допускается присваивать каждому подрезультату весовой коэффициент, который является числом со значением, лежащим между 0,0 и 1,0, или переменной. Это делается с помощью ключевого слова WITH, за которым следует весовой коэффициент.
Весовой коэффициент должен уменьшать степень принадлежности (функция принадлежности) подрезультата путем умножения итога подрезультата на весовой коэффициент.
Для внешнего управления параметрами приложения нечеткого управления весовой коэффициент может быть переменным. В таком случае переменная должна быть описана в разделе VAR_INPUT. Это дает возможность во время работы менять весовой коэффициент для адаптации программы нечеткого управления к требованиям технологического процесса.
Если подрезультату не присвоено ключевое слово WITH, должен быть по умолчанию принят весовой коэффициент 1,0.
Пример постоянного весового коэффициента:
Пример переменного весового коэффициента:
Для реализации различных целевых систем может потребоваться предоставить системе дополнительную информацию, позволяющую осуществить наилучшее преобразование приложений нечеткого управления.
Такая дополнительная информация может быть необходима элементу языка, находящемуся между OPTIONS и END_OPTIONS.
Согласно разделу 6, данные элементы языка должны применяться для функций в классе соответствия открытого уровня.
На рисунке 7 приведен пример языка нечеткого управления.
Рисунок 7 - Пример нечеткого функционального блока
Метод спецификации текстовых языков для программируемых контроллеров определяется в соответствии с МЭК 61131-3, приложение A. Данный метод спецификации применяется в настоящем стандарте для FCL.
Формальные характеристики элементов текстовых языков программирования, установленных в МЭК 61131-3, определяются в соответствии с МЭК 61131-3, приложение B. Для FCL применяется следующее подмножество элементов языка в соответствии с МЭК 61131-3, приложение B:
B.1.1 Буквы, цифры и идентификаторы;
B.1.2 Константы;
B.1.3 Типы данных;
B.1.4 Переменные.
Дополнительно к перечисленным выше элементам языка, установленным в МЭК 61131-3, могут применяться следующие:
Таблица 7
Зарезервированные ключевые слова для FCL
Уровни соответствия системы управления, использующей язык нечеткого управления FCL, приведены на рисунке 8. Иерархическая структура состоит из следующих уровней:
- базовый уровень, включающий в себя определения функционального блока и типов данных в соответствии с МЭК 61131-3;
- расширенный уровень с необязательными функциями, приведенными в таблице 9, дополнительно разрешенными на данном уровне;
- открытый уровень, охватывающий дополнительные функции, не определенные в настоящем стандарте, но перечисленные изготовителем.
Система управления, применяющая язык нечеткого управления FCL и требующая соответствия настоящему стандарту, должна удовлетворять приведенным ниже правилам:
a) для реализации нечеткого управления система управления должна применять средства функционального блока в соответствии с МЭК 61131-3. Поэтому определение функциональных блоков и типов данных, необходимых для входных и выходных параметров функционального блока нечеткого управления, должно соответствовать МЭК 61131-3;
b) все функции нечеткого управления, приведенные в таблице 8, должны быть реализованы в соответствии с положениями настоящего стандарта. Данная таблица определяет множество элементов базового уровня, которые в общем случае должны иметь все системы управления, соответствующие МЭК 61131;
c) подмножество элементов расширенного уровня, приведенное в таблице 9, представляет собой вспомогательные элементы, которые могут быть реализованы в дополнение ко всем функциям базового уровня. Реализация должна строго соответствовать положениям настоящего стандарта. Данные функции должны маркироваться как стандартные расширения; кроме того, перечень реализованных функций, как показано в таблице 9, должен быть частью документации системы;
d) сверх базового и расширенного уровней могут быть реализованы другие функции, если во избежание любых возможных ошибок эти функции не имеют таких же или аналогичных стандартным функциям возможностей или представлений. Данные функции должны маркироваться как функции открытого уровня; кроме того, перечень, как показано в таблице 10, должен быть частью документации системы;
e) обмен прикладными программами между разными системами нечеткого управления должен осуществляться в текстовой форме языка нечеткого управления FCL в соответствии с положениями настоящего стандарта. Данный формат, как формат ввода и вывода, должен быть доступным в системах, соответствующих настоящему стандарту;
f) чтобы получить наиболее подходящий и удобный пользовательский интерфейс и не препятствовать дальнейшему развитию, внешнее представление разработки, ввода, тестирования и т.д. программ приложения нечеткого управления может быть реализовано любыми графическими или текстовыми средствами.
Элементы таблицы 8 являются базовым множеством функций, которые должны быть реализованы во всех системах нечеткого управления, соответствующих настоящему стандарту.
Таблица 8
Элементы таблицы 9 представляют собой расширенное множество функций, которые могут быть дополнительно реализованы в стандартной системе нечеткого управления (например, для операции AND должен быть выбран алгоритм PROD или BDIF либо оба). Данные необязательные функции являются вспомогательными для всех функций базового уровня.
Таблица 9
В таблице 10 приведен пример перечня элементов языка открытого уровня. Данный перечень должен быть частью документации системы.
Таблица 10
Данный контрольный перечень данных (см. таблицу 11) должен предоставляться вместе с технической документацией. В данном перечне изготовитель программируемых контроллеров, программных средств нечеткого управления и прикладного программного обеспечения должен описывать специфические рабочие характеристики системы нечеткого управления. Для обеспечения передачи приложений нечеткого управления между системами разных изготовителей в качестве средства для проверки возможности передачи программ используется контрольный перечень данных. Данный перечень не является исчерпывающим, он служит примером и может быть расширен изготовителями.
Таблица 11
Контрольный перечень данных
(справочное)
В настоящем приложении дается пояснение к определениям, приведенным в разделе 3.
В нечеткой логике для описания физических переменных вместо имен и чисел (как правило, действительных чисел), применяемых в обычных разомкнутых и замкнутых системах управления, используются лингвистические значения и выражения. Термы "низкая" и "полностью открытый" являются лингвистическими термами физических значений "температура" или "степень открытия терморегулирующего клапана". Если входная переменная описывается лингвистическими термами, то она называется лингвистическим значением.
Каждый лингвистический терм описывается нечетким множеством M. Поэтому он математически однозначно определяется базовым множеством G из двух утверждений и функцией принадлежности
Для описания нечетких множеств применяются приведенные ниже формы записи.
Для конечных множеств: неупорядоченные парные множества в дифференциальной форме:
Для бесконечных множеств:
Для описания различий между четкими и нечеткими терминами на рисунке A.1 приведены лингвистические термы для лингвистической переменной "возраст". Если терм "совершеннолетний" однозначно определяется законом и тем самым отражает дискретный переход в отношении функции принадлежности, для терма "взрослый" не может быть назначен четкий предел возраста.
![]() Рисунок A.1 - Функция принадлежности термов
"совершеннолетний" и "взрослый"
Например, на рисунке A.2 представлены описание лингвистической переменной "возраст" лингвистическими термами и их соотношение на шкале времени "возраст в годах" с помощью значений принадлежности.
![]() Рисунок A.2 - Описание лингвистической переменной
"возраст" лингвистическими термами и их соотношение
на шкале времени (возраст в годах)
Типовые формы функции принадлежности представлены на рисунке A.3. Следующие формы функции принадлежности относятся к специальным формам:
- определение через прямоугольник (например, интервал) с целью описания значений, а также;
- одноэлементное множество (синглтон) для альтернативного представления выходных переменных.
![]() В нечеткой логике выражение, связывающее лингвистические переменные с лингвистическими термами, представляет собой лингвистическое утверждение. Такие выражения, как "температура высокая" или "температура низкая" с простой базовой структурой, в настоящем стандарте называются лингвистическим утверждением.
В отличие от классической логики, в которой утверждения принимают одно из логических значений, "истина" или "ложь", лингвистические утверждения нечеткой логики характеризуются степенью принадлежности.
Знания, приобретенные на основе опыта, могут быть определены в правилах. Правило Rk имеет следующий вид:
В данном контексте условие каждого правила включает лингвистическое утверждение или комбинацию утверждений при посредстве входных переменных, тогда как результат определяет выходную переменную в смысле инструкции к действию.
Если условие и/или результат определяются лингвистическими утверждениями, правило называется также лингвистическим правилом. База правил, в свою очередь, состоит из нескольких правил. В целом в отличие от классических систем, основанных на правилах, одновременно применяются (выполняются) несколько правил. Таким образом, результаты правил должны комбинироваться друг с другом через соответствующие математические операции.
Соотношения между нечеткими множествами и операциями с нечеткими множествами определяются с помощью функций принадлежности.
Для двух нечетких множеств A и B, элементы x которых берутся из базового множества G, применяются следующие соотношения:
Для двух нечетких множеств, A и B, элементы x которых берутся из базового множества G, могут применяться следующие операции:
Как в случае классических (четких) множеств, к нечетким множествам применяются следующие интерпретации:
пересечение относится к нечеткой операции AND;
объединение - к нечеткой операции OR;
дополнение - к нечеткой операции NOT.
Элементарные алгоритмы для математического представления пересечения, объединения и дополнения имеют следующий вид (см. также рисунок A.4):
Для нечетких операторов AND и OR существует много возможных алгоритмов. При этом следует отметить, что операции AND и OR не могут быть выбраны произвольным способом.
![]() с двумя функциями принадлежности
Нечеткое управление означает управление техническими процессами в замкнутом и разомкнутом контурах, включая обработку измеряемых значений, которое основано на использовании нечетких правил и их преобразовании с помощью нечеткой логики.
Входная информация содержит действительные переменные в форме измеряемых переменных технологического процесса, производных переменных, а также уставок. Выходные переменные являются действительными переменными в форме регулирующих переменных. Между входными и выходными переменными технологического процесса и нечеткой средой должны быть выполнены преобразования (фаззификация, дефаззификация). Основной компонент нечеткого управления состоит из лингвистических правил из базы правил и логического вывода.
Функциональные элементы нечеткого управления приведены на рисунке A.5.
![]() Рисунок A.5 - Структура и функциональные
элементы нечеткого управления
Фаззификацией называется сопоставление входных переменных с лингвистическими термами. Для этого устанавливается фактическая степень принадлежности входных переменных каждого лингвистического терма соответствующей лингвистической переменной.
Пример фаззификации приведен на рисунке A.6.
![]() Рисунок A.6 - Принцип фаззификации (пример)
База правил содержит эмпирические знания, относящиеся к конкретному рассматриваемому технологическому процессу. Для интерпретации знаний используются лингвистические правила. При условии, что нечеткая операция AND означает MIN, а нечеткая операция OR означает МАХ, можно показать, что нечеткое правило Rj, основанное на комбинации OR из m утверждений, может быть представлено m правилами, утверждения которых комбинируются только с помощью AND. На рисунках A.7 и A.8 приведены примеры различной интерпретации правил.
Рисунок A.7 - Интерпретация базы знаний
в лингвистической форме
![]() Если имеются две входные переменные и одна выходная переменная, причем эти две входные переменные комбинируются только с помощью AND, база правил может быть задана в форме матрицы, в которой значения входных переменных приведены в столбцах и/или в строках, а поля матрицы содержат значения выходной переменной.
Принципы и определения, используемые в настоящем стандарте, действительны для упрощенного случая нечеткой базы правил, подобной широко используемой схеме логических выводов Мамдани. Более сложные схемы логических выводов в настоящем стандарте не рассматриваются.
Логический вывод состоит в агрегировании трех подфункций, активизации и аккумуляции, приведенных на рисунке A.9. См. также рисунок A.10.
![]() Рисунок A.9 - Элементы логического вывода
- Агрегирование:
Если условие состоит из одного подусловия, действительность условия идентична действительности подусловия, т.е. степень истинности условия соответствует истинности подусловия. Однако, если условие состоит из комбинации нескольких подусловий, степень истинности должна определяться агрегированием отдельных значений. Если существует комбинация AND подусловий, степень истинности рассчитывается с помощью нечеткой операции AND.
- Активизация:
Подрезультаты в результате относятся к выходным переменным. Затем на основе степени истинности условия, полученного при агрегировании, определяется степень принадлежности результата (результат IF A THEN B). Как правило, для активизации используется MIN или PROD.
Если база правил содержит правила с весовым коэффициентом wk, где
, это может быть реализовано с помощью умножения.
- Аккумуляция:
Результаты применения правил комбинируются для получения общего результата. Для аккумуляции, как правило, используется алгоритм максимума. В таблице A.1 приведены операции, используемые, как правило, для отдельных шагов логического вывода.
Таблица A.1
Шаги логического вывода и широко используемые алгоритмы
В зависимости от комбинации операций на отдельных шагах получаются разные стратегии логического вывода. Наиболее известные так называемые методы максимума-минимума (MaxMin Inference) и максимума-произведения (MaxProd Inference), которые применяют максимум для аккумуляции и минимум или алгебраическое произведение для активизации. В случае метода максимума-минимума функции принадлежности нечетких множеств результатов ограничены степенью истинности условия и комбинируются для создания нечеткого множества с помощью формирования максимума. В случае метода максимума-произведения, наоборот, функции принадлежности нечеткого множества результатов взвешиваются, т.е. умножаются по степени истинности условия, а затем комбинируются.
![]() принципы агрегирования
![]() Рисунок A.10b - Принципы активизации (пример)
![]() Рисунок A.10c - Принципы аккумуляции (пример)
A.2.4 Дефаззификация (см. рисунок A.11)
Логический вывод в качестве результата дает нечеткое множество или его функцию принадлежности. Элемент управления не может напрямую обрабатывать данную нечеткую информацию, поэтому результат процесса логического вывода должен быть преобразован в четкие числовые значения. В этой связи четкое число, которое необходимо определить (как правило, действительное число), должно обеспечить представление информации, содержащейся в нечетком множестве.
![]() Общими методами являются также следующие:
Крайний левый максимум LM
Определяется значение выходной переменной, для которого функция принадлежности выхода достигает ее крайнего левого максимума.
Крайний правый максимум RM
Определяется значение выходной переменной, для которого функция принадлежности выхода достигает ее крайнего правого максимума.
![]() Рисунок A.11b - Разница между методами крайнего
левого максимума и крайнего правого максимума
Метод центра площади
В данном методе выходное значение определяется как значение абсциссы центра, которое делит площадь под функцией принадлежности на две области одинакового размера.
Примечание 1 - Центр тяжести эквивалентен центроиду.
Примечание 2 - Центр площади эквивалентен медиане.
Примечание 3 - При использовании синглтонов CoA не применяется.
![]() Рисунок A.11c - Разница между методами
центра площади и центра тяжести
Примечание - Формулы методов дефаззификации CoA и CoG приведены в таблице 2.
![]() Рисунок A.11d - Методы дефаззификации
С точки зрения информационной технологии нечеткое управление является экспертной системой, основанной на правилах. С точки зрения технологии систем управления это, как правило, полевой контроллер с нелинейной характеристикой. На рисунке A.12 приведены примеры характеристических кривых нечеткого управления. Текущие значения его выходных переменных зависят исключительно от текущих значений входных переменных, а не от предыдущих значений, за исключением случая, когда нет активных правил и не было определено значение по умолчанию. Если контроллер должен обладать динамическими свойствами, должны быть предусмотрены внешние по отношению к функциональному блоку динамические функции.
![]() Рисунок A.12 - Примеры характеристических
кривых нечеткого управления
Как правило, это дифференцирующие и интегрирующие элементы. Выходные переменные этих функций являются для нечеткого управления дополнительными входными переменными. Это также применимо к ошибкам управления, которые аналогичным образом должны формироваться вне нечеткого управления. С другой стороны, выходные переменные нечеткого управления могут быть переданы операторам для обработки корректирующих переменных (например, интегрирующий элемент для алгоритмов скорости) или распределены между различными элементами управления.
Базовая структура основанных на нечетком управлении контроллеров приведена на рисунке A.13a, а на рисунке A.13b приведен пример, показывающий, как из разности между уставкой и переменной технологического процесса формируется ошибка. Эта разность, как и ее производная по времени, передается нечеткому управлению в виде двух переменных, являющихся независимыми от ее объективного восприятия. Корректирующая переменная получается из выходной переменной интегрированием по времени. Если база правил разработана таким образом, что она описывает алгоритм скорости, то основанный на нечетком управлении контроллер отображает динамическое поведение, подобное пропорциональному интегрированию.
![]() Рисунок A.13a - Основанный на нечетком
управлении контроллер: базовая структура
![]() на нечетком управлении контроллера
(справочное)
ПРИМЕРЫ
Одним из главных применений программируемых контроллеров является их использование совместно с обычными ПИД-регуляторами для улучшения качества управления ПИД-регулятора. Приведенные ниже примеры показывают принципиальные возможности, дающие общее представление о том, где может быть использовано нечеткое управление.
B.1 Предварительное регулирование
Устройство нечеткого управления дополняет обычный контроллер замкнутой системы корректирующим сигналом для управляемого клапана (см. рисунок B.1).
![]() Рисунок B.1 - Пример предварительного регулирования
B.2 Адаптация характеристик обычных ПИД-регуляторов
Устройство нечеткого управления используется для адаптации параметров управления ПИД-регулятора (см. рисунок B.2).
![]() Рисунок B.2 - Пример адаптации параметров
B.3 Прямое нечеткое управление технологическим процессом
Другой областью применения является включение эмпирических знаний о процессе и стратегий лингвистического управления непосредственно в промышленную автоматизацию. Данный метод используется во многих технологических процессах, в которых необходимо вмешательство оператора (см. рисунок B.3).
![]() Рисунок B.3 - Пример прямого нечеткого управления
(справочное)
ПРОМЫШЛЕННЫЙ ПРИМЕР: КРАН ДЛЯ КОНТЕЙНЕРОВ
Краны для контейнеров применяются в большинстве портов при погрузке контейнеров на суда и при их выгрузке. Краны подхватывают отдельные контейнеры тросами, закрепленными на тележке крана. Тележка крана перемещается по горизонтальному рельсовому пути. Как показано на рисунке C.1, когда контейнер подхвачен и тележка начинает двигаться, контейнер начинает раскачиваться. Раскачивающийся контейнер возможно перемещать, но невозможно поставить.
![]() Рисунок C.1 - Промышленный пример: кран для контейнеров
Анализ действий оператора показывает, что эти действия подчиняются ряду общих правил:
a) Начало движения тележки при средней мощности двигателя.
b) Если в начале движения тележка крана находится далеко от цели, необходимо отрегулировать мощность двигателя так, чтобы контейнер был чуть сзади тележки.
c) Если тележка крана находится ближе к цели, необходимо уменьшить мощность двигателя так, чтобы контейнер был чуть впереди тележки.
d) Когда контейнер находится рядом с целевым положением, необходимо прибавлять или убавлять мощность в области среднего значения, в зависимости от направления раскачивания.
e) Когда контейнер находится над целью и раскачивание равно нулю, необходимо остановить двигатель.
Для автоматизации управления таким краном используются датчики положения ("расстояние") тележки крана и угла раскачивания контейнера ("угол"). Выходной величиной является мощность двигателя. Сначала для всех переменных должны быть определены лингвистические переменные. Лингвистические переменные "расстояние", "угол" и "мощность двигателя" (см. рисунки C.2, C.3 и C.4) делятся на пять лингвистических термов. Для функции принадлежности используются формы рампады, треугольника и синглтоны. На приведенных ниже рисунках представлены лингвистические переменные и лингвистические термы.
![]() Рисунок C.2 - Лингвистическая переменная "расстояние"
между тележкой крана и целевым положением
![]() между контейнером и тележкой крана
![]() С помощью данных лингвистических термов для описания текущего состояния крана в базу правил могут быть преобразованы пять общих правил. На рисунке C.5 дано определение базы правил в записи FCL. Правило 2 было преобразовано в два правила, чтобы соответствовать формату "if-then". Здесь не используются некоторые из определенных функций принадлежности, и система должна быть проверена на наличие неопределенных выходов, например расстояние: очень_дальнее; угол: большой_положительный.
Рисунок C.5 - База правил
В таблице C.1 приведены шаги логического вывода и использованные операции соответственно.
Таблица C.1
Шаги логического вывода и присвоенная операция
Необходимо учитывать текущее состояние крана, когда расстояние тележки крана до целевого положения равно 12 м, а угол контейнера составляет плюс 4°. Для иллюстрации будет принято подмножество трех правил.
На рисунках C.6 и C.7 показано, как для данного случая рассчитывается фаззификация.
![]() Рисунок C.6 - Фаззификация лингвистической
переменной "расстояние"
![]() Расстояние 12 м преобразуется в значение лингвистической переменной {0,1; 0,9; 0, 0, 0}, которое может быть интерпретировано как "еще среднее, но уже немного большое". Угол плюс 4° преобразуется в значение лингвистической переменной {0; 0; 0,2, 0,8, 0}, которое может быть интерпретировано как "небольшое положительное, почти нулевое".
- Логический вывод
После того, как все входные переменные были преобразованы в значения лингвистических переменных, шаг нечеткого логического вывода дает возможность идентифицировать правила, применяемые к текущему состоянию, и вычислить значения выходной лингвистической переменной. На рисунке C.8 для иллюстрации показано подмножество трех правил:
Рисунок C.8 - Подмножество трех правил
Логический вывод состоит из трех подфункций: агрегирования, активизации и аккумуляции.
- Агрегирование (см. рисунок C.10)
Определение степени истинности предположения по степени принадлежности элементарных утверждений.
Операция Min соответствует агрегированию AND. На рисунке C.9 показано, как для данного случая вычисляется агрегирование.
![]() - Активизация (см. рисунок C.12)
Преобразование результата IF-THEN
![]() На рисунке C.11 показано, как для данного случая рассчитывается активизация. Результат агрегирования описан с левой стороны, результат активизации - с правой стороны.
![]() - Аккумуляция (см. рисунок C.14)
Комбинация взвешенных результатов правил в общий результат.
![]() Результат аккумуляции правил с 1 по 3 показан в нижней части рисунка C.13. Результат среднего_положительного синглтона рассчитывается, например, как Max(0,8; 0,1) = 0,8.
![]() - Дефаззификация (см. рисунок C.15)
Логический вывод в качестве результата дает нечеткое множество или его функцию принадлежности. Чтобы использовать его для установки мощности двигателя, он должен быть преобразован в четкое числовое значение. Значение, которое необходимо определить (как правило, действительное число), должно обеспечить наилучшее представление информации, содержащейся в полученном нечетком множестве. Используя метод максимальной высоты, четкую выходную переменную мощность двигателя рассчитывают следующим образом
![]() - Реализация примера с краном для контейнеров в FCL (см. рисунок C.16):
Рисунок C.16 - Пример на SCL
Функциональный блок FCL должен вызываться так же, как и с помощью программ, в соответствии с МЭК 61131-3. Это обосновано тем, что с внешней точки зрения нечеткий блок имеет единственный интерфейс через свои переменные.
В соответствии с МЭК 61131-3 вызов для приведенного выше примера может быть:
Переменные INP_DIS и INP_ANG могут быть привязаны непосредственно к словам ввода контроллера или вычисляться из других значений.
(справочное)
ПРИМЕР ИСПОЛЬЗОВАНИЯ ПЕРЕМЕННЫХ В БЛОКЕ ПРАВИЛ
Печенье готовят в туннельной печи. Цвет печенья определяется с помощью датчика цвета в конце печи. Измерение цвета осуществляется с помощью трехмерной величины, для определения принадлежности измеренного цвета к одному из трех приведенных ниже классов используется нечеткая классификация: коричневый, светлый, темный. В печи также измеряется влажность. Печь может управляться двумя температурными контурами: один в первой и один во второй половине печи.
Принцип управления приведен на рисунках D.1 и D.2.
![]() Рисунок D.1 - Принцип управления системой
![]() на основе нечеткой логики
Блок правил содержит следующие пять правил (см. рисунок D.3):
Рисунок D.3 - Блок правил
Синтаксис FCL для данного примера приведен на рисунке D.4.
Примечание - Вместо использования трех переменных - светлый, коричневый и темный - для цвета может также использоваться только одна переменная перечисляемого типа данных, как показано ниже. В данном примере dT2 не определяется, если влажность высокая или низкая.
(справочное)
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ, АББРЕВИАТУРЫ И СИНОНИМЫ
Таблица E.1
Условные обозначения и аббревиатуры
Таблица E.2
Синонимы
(справочное)
СТАНДАРТОВ НАЦИОНАЛЬНЫМ СТАНДАРТАМ
Таблица ДА.1
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/30/gost_54792.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||