Товары в корзине: 0 шт Оформить заказ
Стр. 1 

53 страницы

861.00 ₽

Купить ГОСТ Р МЭК 61131-7-2017 — бумажный документ с голограммой и синими печатями. подробнее

Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль"

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

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

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

 Скачать PDF

Идентичен IEC 61131-7(2000)

Оглавление

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

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

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

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

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

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

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

     5.3 Пример FCL

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

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

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

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

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

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

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

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

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

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

 
Дата введения01.09.2018
Добавлен в базу01.01.2018
Актуализация01.01.2021

Этот ГОСТ находится в:

Организации:

15.09.2017УтвержденФедеральное агентство по техническому регулированию и метрологии1127-ст
РазработанФГУП ВНИИНМАШ
РазработанНОЧУ НИШ
ИзданСтандартинформ2017 г.

Programmable controllers. Part 7. Fuzzy control programming

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

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

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

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ


ГОСТР

МЭК 61131-7— 2017


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

Часть 7

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

(IEC 61131-7:2000, ЮТ)

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

Москна

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

2017

Предисловие

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

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

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

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

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

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

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

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

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

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

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

TERM тепло: = (17.5: 0.0) (20,0; 1.0) (22.5; 0.0);


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

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

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

Холодно т«пло

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

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

TERM холодно: = (3.1) (27.0); TERM тепло: » (3. 0) (27. 1);

END FUZZIFY

1.0-

0.5-

[X

0

10 20 30 Температуря

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

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

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

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

VAR INPUT

Температура REAL;

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

Давление REAL.

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

bp_warm1, bp_warm2: REAL; Сданные вводы для адаптации в интерактивном режиме*)

END VAR

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

TERM тепло:= (bp_warm1. 0.0), (21.0; 1.0), (bp_warm2, 0.0);

END_FUZZIFY

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

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

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

6

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

DEFUZZIFY variable_name RANGE (min..max);

TERM term_name:= membershipjunction.

defuzzification_method.

default_value:

END_DEFUZZIFY


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

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

Определение синглтонов:

Дренаж

Закрыт Вход

DEFUZZIFY клапан

’Ап

RANGEHOO.IOO);

TERM дренаж - -100;

I I

TERM закрыт : = 0;

ОД-

TERM вход: = 100;

■ — о -

END_DEFUZZIFY

-200 -100 0 100 200

Клапан

METHOD: defuzzification_method:


Рисунок 6 — Примеры термов синглтонов Метод дефаззификации должен быть определен с помощью элемента языка METHOD.

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

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

Расшифровка

CoG

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

CoGS

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

СоА

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

LM

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

RM

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

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

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

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

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

7

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

COG

м*>

[ и м (u) du

и = 4——

jp(u) du

COGS

U= А

X in

•■I

СОА

■' Mu

U ■ u‘, | M ^ )du = J M (u )du

vt- »•

RM

U = sup (u‘) p(u') = sup u(u) Uf [Min Max j

LM

U ■ inf (u') m(u')- inf p(u) ue|Mm .Max j

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

где

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

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

Mm — минимальное значение дефазэификации, определенное в RANGE В случае синглтонов Mm = -•*, Мах — максимальное значение дефазэификации, определенное в RANGE В случае синглтонов Mm = ♦«. sup — наибольшее значение, inf — наименьшее значение


DEFAULT- значение | NC;


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

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


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

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

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

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

5.2.4 Блок правил

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

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

END_RULEBLOCK


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

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


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

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

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

О

те рация OR

Операция AND

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

Алгоритм

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

Алгоритм

МАХ

Мах(р,(х). Мз(х))

MIN

Mm(Mt(x). м^ж))

ASUM

Pi(x)* Р2(х)-р,(х) Р2(х)

PROD

Mi(x) р2(х)

BSUM

М1п(1, р,(х) ♦ Р2<х))

BDIF

мах(0. р,(х) ♦

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

END_RULEBLOCK второй RULEBLOCK

AND: PROD:

END_RULEBLOCK

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

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

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

Название

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

Алгоритм

Продукт

PROD

Pl(x) Р2(х)

Минимальная

MIN

М1п(м,(х), ц2(х))

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

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

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


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

Название

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

Формула

Максимум

МАХ

МАХ(м,(х). р2(х))

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

BSUM

MIN(1. р,(х) ♦ р2(х))

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

NSUM

Mt(x) ♦ Мг<х)

МАХ<1. МАХ,-. х (р,(Х*) ♦ Мз<х )))

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

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


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

Само правило должно начинаться с ключевого слова 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 результат:

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

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

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


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

10

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

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


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

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

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


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

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


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

Подрезультат := лингвистическая_переменная 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

\«_мое_правило1: REAL:= 0.8;

END_VAR

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

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

THEN клапан IS вход WITH w_Moe_npaenno1;

END_RULEBLOCK_


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

11

ГОСТ Р МЭК 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

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IV

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

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

V

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

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

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

Programmable controllers Part 7. Fuzzy control programming

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

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

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

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

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

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

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

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    Термины и определения

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

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

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

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

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

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

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

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, а рА(х) — функция принадлежности, которая сопоставляет каждому х е U действительное число е 10,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 — Пример функционального блока нечеткого управления в представлении F8D

В данном примере Valve_Control_1 — это экземпляр определенного потребителем функционального блока, имеющий тип 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

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

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

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

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

RJNCTlON_BLOCK function_block_name

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

VARJNPUT

variable_name data type,

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

END_VAR

VAR_OUTPUT variable_name datajype;

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

END_VAR

VAR

van able name data type END VAR END_FUNCTION_BLOCK

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

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

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

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

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


FUZZIFY variable_name

TERM torni_namo.~ membership Junction;

END FUZZIFY


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

membership Junction: = (point i), (point j),...


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

точка г:= значение входа i | vahable_name входа I, значение I степени принадлежности


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

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

5