К вопросу о программной реализации многомерных нечетких интервально-логических регуляторов

NovaInfo 56, с.170-175, скачать PDF
Опубликовано
Раздел: Технические науки
Просмотров за месяц: 1

Аннотация

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

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

НЕЧЕТКАЯ ЛОГИКА, ЯЗЫК ПРОГРАММИРОВАНИЯ, МНОГОМЕРНЫЙ ИНТЕРВАЛЬНО-ЛОГИЧЕСКИЙ РЕГУЛЯТОР

Текст научной работы

В настоящее время многомерные нечеткие интервально-логические регуляторы (МИЛР) можно использовать для решения задач регулирования, где невозможно или достаточно затруднено использование П-, ПИ-, ПИД-регуляторов, а быстродействия существующих аппаратных и программных решений в ряде случаев бывает недостаточно [1, 2, 3].

Практическое применение МИЛР сдерживается, что связано, прежде всего, с отсутствием эффективных алгоритмов их работы.

В МИЛР отсутствуют процессы фаззификации и дефаззификации, что связанно, прежде всего, со спецификой их работы. Взамен введены понятия интервализации и деинтервализации [4, 5].

Интервализация, по сути, представляет собой процесс определения принадлежности значения непрерывной величины какому-либо интервалу, входящему в диапазон значений этой величины.

Деинтервализация представляет собой обратный (интервализации) процесс, т. е. выделение требуемого значения непрерывной величины из интервала, входящего в диапазон значений этой величины.

Рассмотрим особенности программной реализации алгоритмов интервализации и деинтервализации МИЛР в среде разработки TRACE MODE и Simatic STEP 7 на языках программирования контроллеров, предусмотренных международным стандартом IEC 61131-3 [6, 7].

Пример реализации алгоритма интервализации МИЛР непрерывной величины IN в диапазоне [IN_0; IN_N] на языке программирования FBD в среде разработки TRACE MODE 6 представлен на рис. 1, из которого видно, что с увеличением суммарного числа термов непрерывной величины IN в структуре интервализатора происходит пропорциональное увеличение числа стандартных функциональных блоков (сравнения, инверсии и т. п.). Такая структура программы МИЛР сильно затрудняет чтение и корректирование интервализатора (функционального блока МИЛР, реализующего процесс интервализации) при увеличении максимального числа термов.

Пример программы на языке FBD в TRACE MODE 6
Рисунок 1. Пример программы на языке FBD в TRACE MODE 6

На рис. 2 показан пример реализации алгоритма деинтервализации МИЛР непрерывной величины OUT в диапазоне значений [OUT_0; OUT_N] на языке программирования LAD в среде разработки SIMATIC STEP 7 в процессе имитации и мониторинга переменных МИЛР. В качестве функции деинтервализации выбрана функция нахождения среднего арифметического двух аргументов (блок DIV_R). В блоке ADD_R осуществляется сложение граничных значений интервалов термов.

Пример программы на языке LAD в SIMATIC STEP 7
Рисунок 2. Пример программы на языке LAD в SIMATIC STEP 7

На рис. 3 представлен пример реализации алгоритма интервализации МИЛР непрерывной величины IN в диапазоне значений [IN_0; IN_N] на языке программирования IL (от англ. Instruction List — список инструкций) в среде разработки SIMATIC STEP 7.

Язык IL представляет собой текстовый язык для программирования мнемонических инструкций, внешне похожий на Assembler, который дает гораздо больший набор инструкций, чем графические языки, описанные в стандарте IEC 61131-3.

Важно отметить, что модификация языка IL в SIMATIC STEP 7 имеет наименование STL (от англ. STatement List — лист операторов), а в TRACE MODE 6 — Техно IL.

Пример программы на языке STL в SIMATIC STEP 7
Рисунок 3. Пример программы на языке STL в SIMATIC STEP 7
Пример программы на языке SCL в SIMATIC STEP 7
Рисунок 4. Пример программы на языке SCL в SIMATIC STEP 7

На рис. 4 представлен пример реализации алгоритма интервализации МИЛР непрерывной величины IN на языке программирования SCL в среде SIMATIC STEP 7.

Программы МИЛР, написанные на текстовых языках: IL (Техно IL, STL) и ST (Техно ST, SCL) сложно транслировать на графические языки (LAD, FBD и пр.), в тоже время программы, написанные на графических языках программирования, свободно транслируются на текстовые языки.

Таким образом, исходя из вышесказанного, можно сделать вывод, что для полноценной программной реализации алгоритмов интервализации и деинтервализации МИЛР наиболее оптимальным будет выбор текстовых языков программирования, описанных в стандарте IEC 61131-3: ST или IL.

Читайте также

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

  1. Седова Н.А., Седов В.А. Методы оценки качества полученных решений // Южно-Сибирский научный вестник. 2012. № 1. С. 88–91.
  2. Антипин А.Ф. Организация эффективной работы преподавателей в условиях рейтинговой системы обучения // Прикладная информатика. 2014. № 3. С. 48–59.
  3. Мустафина С.А., Степашина Е.В. Редукция кинетических схем сложных химических процессов на основе теоретико-графового подхода // Вестник Казанского технологического университета. 2014. № 10. С. 17–20.
  4. Антипин А.Ф. Обзор проблемных ситуаций в коде программ // Современная техника и технологии. 2015. № 2. С. 82–85.
  5. Степашина Е.В. Оптимизация финансовых показателей предприятия на основе нейросетевой модели // Информационные системы и технологии. 2014. № 5 (85). С. 34–42.
  6. Седова Н.А. Нечёткая система определения степени влияния мелководья // Научные проблемы транспорта Сибири и Дальнего Востока. 2013. № 1. С. 27–30.
  7. Антипин А.Ф. К вопросу о семантическом анализе программ автоматизированных систем управления // Информационные системы и технологии. 2015. № 5. С. 45–52.

Цитировать

Антипин, А.Ф. К вопросу о программной реализации многомерных нечетких интервально-логических регуляторов / А.Ф. Антипин. — Текст : электронный // NovaInfo, 2016. — № 56. — С. 170-175. — URL: https://novainfo.ru/article/9365 (дата обращения: 30.05.2023).

Поделиться