Учебный стенд » Калорифер «

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

Собирал его из того что под руку попалось, так что дизайн не очень, задача была, что бы работало.

 

Разработка нечеткого управления устойчивого объекта на базе калорифера

 

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

Рассмотрим микропроцессорную САР с четким и нечетким управлением статического объекта.

 

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

 

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

calorifer_1

calorifer_2

calorifer_3

 

calorifer_4

 

Рис.1 Структурная схема САР температуры

 

Для поддержания заданной температуры в камере калорифера  с постоянным наддувом используем нечёткий регулятор. Температура в камере калорифера измеряется датчиком температуры типа DS 18B20. Исходя из динамических свойств РО, задаем диапазон изменения ошибки от — 5 до +5 заданного значения  и диапазон изменения скорости изменения ошибки   от -3 до +3 . Для перехода от четкого значения входа к нечёткой переменной по отклонению температуры и скорости ее изменения примем, соответственно, терму ОМ (отрицательная малая) типа Z, терму Н (норма) типа Л и терму ПМ (положительная малая) типа S, которые приведены на рис.2.

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

calorifer_5

Рис.2. Термы  фаззификатора

 

№1 (5Вт), №2 (10Вт), №3 (15Вт), №4 (20Вт), №5 (25Вт), №6 (30Вт), №7 (35Вт), №8 (40Вт), №9 (45Вт).

Для примера составим произвольно матрицу решений, приведенную на рис.3.

calorifer_6

 

Рис. 3. Матрица решений

 

Примем следующие правила:

— если отклонение температура на объекте ОМ, а её производная ОМ, то мощность калорифера должна увеличиться:

=  ОМ и = ОМ то P = №1;

— если температура на объекте норма (Н), а её производная (ОМ), то мощность калорифера необходимо увеличить:

=  Н и = ОМ то P = №2;

— если температура на объекте больше заданной (ПМ), а её производная отрицательна, то мощность калорифера необходимо оставить прежней:

=  ПВ и = ОМ то P = №5;

и т.д.

Совокупность  правил отразим в  матрице решений 33, в которой на пересечения столбцов и строк записываются коды терм управления .  Для устранения нечёткости применим  метод  центроида, где точное значение выводимой переменной вычисляется как значение координаты  «центра тяжести» на оси абсцисс комбинированной термы (аккумуляция).

Допустим, имеет место отклонение температуры равное — 0,33, которая продолжается снижаться со скоростью — 0,15. В этом случае термы ОМ и Н отклонения температуры имеют степень принадлежности 0,33 и 0,67 ,соответственно, а термы ОМ и Н скорости измерения равны 0,15 и 0,85.  Терм ПМ имеет степень принадлежности 0.

Из матрицы  решений 33, показанной на рис.9, для данного случая имеем:

На первом шаге логического вывода используется связка «И» с помощью  оператора min:

На втором шаге логического вывода используется связи «ИЛИ» с помощью оператора max.

Например, выражения 2 и 3 дают разные значения степени принадлежности для терма (№2), но берётся максимальное значение (max).

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

Для перехода от нечётких выводов к управляющему воздействию используем метод центроида (метод определения координаты центра тяжести на оси абсцисс:

 

 

 

Описание интерфейса компьютера лабораторной установки

Программное обеспечение  лабораторной установки позволяет изучить принцип работы и настройку программных ПИД- и FUZZY – регуляторов, проводить эксперимент в реальном времени, создавать архив и анализировать раннее полученные результаты экспериментов.

При запуске программы проверяется наличие COM- и LPT – портов в компьютере, подключена или нет физическая модель объекта. Если порты не обнаружены, то программа выдаст сообщение об этом. При отсутствии физической модели объекта возможен только просмотр архивов. На рис. 10 приведено главное окно САР температуры.

 

Описание главного окна САР температуры

 

Главное окно (см. рис.4) состоит из меню (1), панелей « Регулятор №1» (2), «Регулятор №2» (3),  «текущие измерения» (4), «управление» (5),  «ШИМ» (6), «вых. регул. №1», «вых. регул. №2», «таймер» (7). Внизу отображаются графики изменения текущего параметра (температуры) и ее заданного значения (8).

calorifer_7

Рис 4. Главное окно САР температуры

Панель (2) «Регулятор №1» содержит регулирующее устройство типа «Fuzzy – регулятор». Фаззификатор «Fuzzy – регулятора» переводит четкие значения лингвистических переменных «Отклонение» и «Скорость» в нечеткие значения с помощью трех терм, соответственно, графики которых показаны в панели (2.1) с указанием  степеней принадлежности к термам. Ниже слева находится база знаний  и продукционных правил (панель 2.2), в которой задаются девять терм дефаззификатора. В панели (2.3) задаются коэффициенты пропорциональный и интегральной составляющей отклонения и дифференциальный составляющей (скорости) входа базы знаний (см. рис. 1) , там же отображается выход  каждой составляющей и находится включатель каждой составляющей, а также можно произвести сброс накопленной интегральной составляющей отклонения.

Панель (3) «Регулятор №2» содержит регулятор типа «ПИД – регулятор». В панели задаются коэффициенты пропорциональный, интегральной и дифференциальный составляющей ПИД- регулятора, там же отображается выход с каждой составляющей и находится включатель каждой составляющей, а также можно выполнить сброс накопленной интегральной составляющей регулятора.

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

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

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

С помощью панели (6) «ШИМ» задается ручное широтно-импульсное управляющее воздействие на объект в виде тока нагрева калорифера для снятия  кривых разгона.

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

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

Для запуска лабораторной установки необходимо:

— выбрать в  меню (см. рис.10) вкладку «порт» и установить тот, к которому подключена установка (например, СОМ 1);

—  выбрать в меню (1) вкладку «файл» и в открывшемся меню нажать «новый» (она активируется, если датчик обнаружен), и создать файл, куда будут архивироваться данные об эксперименте (например, 11августа). По умолчанию он сохраняются в папке «DATA», которая находится в том же каталоге, где и программное обеспечение;

— в  меню (1) во вкладке «настройка» выбрать «термы» или два раза щелкните левой мышкой на графике (2.1) входных терм. Откроется окно «Термы», где задаются  термы фаззификатора и дефаззификатора и диапазон их отображения. Любые проведенные изменения предыдущей информации  нужно подтвердить кнопкой «OK»;

— выбрать регулятор, который хотите использовать в панели (7) «вых.регул. №1» или «вых.регул. №2» и  задать нужные коэффициенты;

— в меню (1) во вкладке «скорость» задать скорость измерения в миллисекундах (например, 1000мс=1с);

— в панели задание установить заданную температуру на объекте;

— включить блок питания установки;

—  включить питание ШИМ-приставки;

— нажать кнопку «старт».

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

На рис.5 приведена панель настройки термов.

pid_13

Рис. 5. Панель настройки термов

 

Просмотр архивов

 

Чтобы просмотреть архив переходного процесса необходимо:

— после завершения переходного процесса, не выходя из программы, нажать кнопку «стоп»;

— в меню (1), во вкладке файл выбрать «архив», откроется окно архива;

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

Пример архива показан на рис. 6

calorifer_arhiv

Рис. 6.  Осциллограммы работы САР температуры (архив)

Окно «Архив» почти не отличается от окна «Регулятор». Чтобы просмотреть проведенные эксперименты, в меню «файл» выберите «открыть», откроется текущий каталог «DATA», где нужно выбрать для открытия необходимый файл

 

Описание аппаратной части лабораторной установки

 

Регулируемый объект есть  макет калорифера с постоянным обдувом, содержащий датчик температуры с программируемым разрешением типа DS18B20, блок питания нагревательного элемента калорифера и ШИМ — приставку для управления током нагревателя. В качестве нагревателя используется проволочный резистор с рассеиваемой мощностью 20 Вт. В установке для работы с датчиком температуры использован адаптер 1-Wire, который подключается к Com-порту компьютера. Принципиальная схема адаптера показана на  рис.7.

pendium_13

Рис. 7. Принципиальная схема адаптера

В качестве температурного датчика  используется широко распространенная микросхема цифрового термометра DS18B20.

 

ШИМ – регулятор

 

На рис.8 приведена принципиальная схема ШИМ-приставки на базе  микроконтроллера PIC16F84 и управляется через LPT-порт компьютера. Подробно ШИМ-регулятор описан в описании устройства « Перевёрнутый маятник ».

pendium_7

Рис.8. Принципиальная схема ШИМ-приставки

Программы с исходниками FUZZY, ПИД — регуляторы.

kalorifer

kalorifer_s_adaptaciej

 

Физический перевернутый маятник INVERTED PENDULUM

 

 

В интернете есть множество моделей перевернутого маятника(inverted pendulum). Я решил остановиться на обычной тележке с прикрепленным к ней маятником.

Вот что получилось.

pendium_1

pendium_2

pendium_3

pendium_4

pendium_5

pendium_6

 

Задача — при помощи перемещений физической тележки необходимо удерживать физический маятник, на который действует сила притяжения, в вертикальном положении. Маятник нижним концом прикреплен к тележке при помощи шарнира, а тележка может с помощью привода перемещается вдоль прямой, лежащей на горизонтальной плоскости. Удержание в равновесии системы “перевернутый маятник на тележке” является классической задачей теории автоматического управления (система стабилизации). Для решения задачи балансирования маятником система управления должна получать информацию о текущем угле и угловой скорости маятника. Управление построено на Fuzzy Logic ( нечеткой логике). В этом случае одна лингвистическая переменная будет задаваться значениями угла, а другая лингвистическая переменная будет задаваться угловой скоростью маятника. Управление системой системы “перевернутый маятник на тележке” осуществляет нечеткий контроллер. Он реализован в виде системы нечеткого логического вывода типа Сугэно с двумя входами: угол наклона маятника, скорость изменения угла наклона маятника. Для лингвистической оценки входных переменных используется по семь терм с Л-, Z- и S-образными функциями принадлежности. База знаний содержит 49 правил.

Стенд состоит из физического перевернутого маятника, ШИМ-приставки, блока питания и компьютера. Принцип работы: Текущий угол и угловую скорость маятника измеряются с помощью потенциометра, на оси которого  закреплен перевернутый маятник. Сопротивление преобразуем в напряжение и на АЦП. С АЦП в цифре передаем все на компьютер, там обрабатываем, прогоняем через регулятор, и получаем число которое надо выдать исполнительный механизм. В цифре выдаем на ШИМ это число, а с него на двигатель.

 

 

Аппаратная часть лабораторной установки

 

 pendium_7

Рис. 1. Принципиальная схема ШИМ-приставки и измерителя угла маятника

На рис. 1 приведена принципиальная схема ШИМ-приставки и АЦП. ШИМ реализован на базе  микроконтроллера PIC16F84. Если на входа D0…D7 подать все нули, двигатель остановиться, а если на все подать единицу, будет крутиться с максимальной скоростью. С микроконтроллера сигнал ШИМ подается на вход специализированной микросхемы управления двигателем L293. Она преобразовывает управляющие сигналы малой мощности в токи для управления моторами.

Для управления двигателем, в микросхеме L293D есть три входа, один как говорилось выше для  управления скоростью вращения электромоторов с помощью широтно модулированного сигнала. Два других для выбора направления вращения двигателя.

Измеритель угла собран на десятиразрядном аналого-цифровом преобразователе TLC1549 (рис. 37), источнике опорного напряжения TL431 и переменном резисторе. Потенциометр угла маятника включен по схеме   делителя напряжения. Изменяя положение движка переменного резистора, можно задать любое напряжение от нуля до опорного напряжения АЦП. Подвижный вывод подключен к входу десятиразрядного АЦП последовательного приближения, что позволяет измерять напряжение с дискретностью 0,005 вольта, и частотой 40 кГц. Данные о положении движка потенциометра поступают с АЦП в цифровой форме в компьютер через LPT-порт принтера.

 

Аналого-цифровой преобразователь TLC1549 подключен непосредственно к порту принтера без каких либо коммутирующих устройств, что позволяет проводить сканирование положения и скорость перевернутого маятника с частотой один килогерц. LPT порт управляется с помощью драйвера взятого с  http://progrex.narod.ru.

 

Описание интерфейса ПО

При запуске программы открывается панель регулятора рис.2.

pendium_8

Рис.2. Главное окно САР перевернутого маятника

Вверху слева находятся термы отклонения и скорости отклонений фаззификатора, а так же их степень принадлежности (1). Правее отображена база знаний (панель 4), в которой заданы термы дефаззификатора. Во время работы регулятора ячейки, которые в данный момент используются, подсвечены цветом и в них отображается численные значение степени принадлежности данного терма. Панели (2) отображается выход дефаззификатора, там же задаются числовые значения терм дефаззификатора (2.3), после ввода которых нужно подтвердить нажатием кнопки «ОК» (2.1). При работе регулятора в ячейках (2.2), отображается числовые значения степень принадлежности тех терм, которые активизирован (они подсвечены желтым цветом). Панель (5) «текущие измерения» отображает численные значения текущего угла перевернутого маятника в градусах, а также ошибку отклонения от вертикального положения в текущий  момент времени в градусах и скорость отклонения перевернутого маятника. Там же отображается выход регулятора (управляющее воздействие). На панели (3) находятся кнопки управления. Кнопка «старт» включает питание двигателя тележки. В панели «задание» задаётся угол, который нужно удерживать. Чтобы задать  термы фаззификатора нужно нажать кнопку «настр.терм», при этом откроется панель «термы». Там задаются диапазоны терм (1) и (2). Все изменения нужно подтвердить кнопкой «ОК».

pendium_9

Рис. 3. Панель настройки термов фаззификатора

Для запуска лабораторной установки необходимо:

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

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

— задать или загрузить из файла термы фаззификатора и дефаззификатора и диапазон их изменения. Любые проведенные изменения предыдущей информации  нужно подтвердить кнопкой «OK»;

— нажать кнопку «старт».

После нажатия кнопки «старт» начнётся регулирование.

Исходники здесь telezhka_5_term

telezhka_7_term

и прога тестирования тележки.  upravlenie

видео   telega_1  telega_2

Основы нечеткого управления

Теория нечеткой логики впервые была рассмотрена в работах Лотфи А. Задэ, профессора Калифорнийского университета в Беркли в 1965 г. Несмотря на то, что математический аппарат нечеткой логики был разработан в США, активное развитие данного метода началось в Японии, и новая волна вновь достигла США и Европы. Основной причиной появления новой теории стало наличие нечетких и приближенных рассуждений при описании человеком процессов, систем, объектов.

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

         Лингвистическая переменная – дистанция, температура, ошибка отклонения, производная ошибки отклонения, давление и т.д.

         Терм – значение лингвистической переменной, выраженное словами естественного языка. Число термов выбирается из условия точности описания от трех и более. Например, 7:

– ошибка положительная большая (ПБ);

– ошибка положительная средняя (ПС);

– ошибка положительная малая  (ПМ);

– ошибка близка к нулю (Н);

– ошибка отрицательная малая (ОМ);

– ошибка отрицательная средняя (ОС);

– ошибка отрицательная большая (ОБ).

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

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

        Функция принадлежности – характеристическая функция, а ее значения mА(х) называется степенью принадлежности переменной х нечеткому множеству А и определяет соответствие числа между 1 и 0 данному значению физической величины (ФВ). Например: лингвистической переменной «ДИСТАНЦИЯ»  для расстояния в 50 м можно задать степень принадлежности к терму «ДАЛЕКО», равную 0,85, а к терму «БЛИЗКО» – 0,15. Характеры функций принадлежности приведены на рис. 1: Z-функция, П-функция; Л-функция; S-функция. Выбор конкретной функции принадлежности осуществляется экспертами или экспертными системами.

 

  

Рис. 1. Характеры функции принадлежности

         Фаззификация – переход к нечеткости. Фаззификатор преобразует четкие входные сигналы, после их нормализации в относительный диапазон изменения –1, 0, +1, в термы, например: ОБ, ОС, ОМ, Н, ПМ, ПС, ПБ.

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

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

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

На рис. 3 и рис. 4 показаны термы, соответственно, фаззификация ошибки и  производной ошибки.

 

Рис. 3. Фаззификация ошибки

Рис. 4. Фаззификация производной ошибки

Формирование матрицы решений (7 7), которая приведена в табл. 1, выполнялось по следующим рассуждениям эксперта.

Матрица решений

Если ошибка большая (ПБ или ОБ) и скорость ее изменения большая и того же знака, то решение (управляющее воздействие) должно быть большим и того же знака, т.е. соответственно, ПБ или ОБ.

Если  ошибка большая (ПБ или ОБ) и скорость ее изменения большая, но другого знака, то решение должно быть нулевым, так как ошибка быстро уменьшается.

Так, например, для изображенного на рис. 3 фаззификатора ошибки, четкое значение ошибки в 0,44 имеет нечеткие значения в виде терма ПС со степенью принадлежности 0,3 и терма ПМ со степенью принадлежности 0,7. Аналогично фаззифицируется и производная ошибки и при той же структуре фаззификатора при четком значении производной ошибки          в 0,066 будем иметь нечеткие значения в виде терма ПМ со степенью принадлежности 0,2 и терма Н со степенью принадлежности 0,8. Остальные термы имеют степень принадлежности равную 0.

В матрице решений (табл.1) окаймлены четыре правила для нахождения нечеткого значения выходной переменной.

Первое правило: если  Ds = ПМ и   = Н,  то a = ПМ. Степень принадлежности выходного терма ПМ

 

Второе правило: если  Ds = ПМ и   = Н, то a = ПМ. Степень принадлежности выходного терма ПМ

 

Третье правило: если  Ds = ПМ и  = ПМ, то a = Пм. Степень принадлежности выходного терма ПМ

 

Четвертое правило: если  Ds = ПС  и  = ПМ, то  a = ПС. Степень принадлежности выходного терма ПС

 

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

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

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

Запишем формулу дефаззификации по методу центра тяжести (полная интерпретация)

 

Подставив в формулу численные значения степеней принадлежности выходной переменной, получим:

 

 

Рис. 5. Деффазификация управления

 

 

 

На рис. 6 приведено графическое представление инференц-механиз-ма дефаззификации.

Таким образом, рассчитано управляющее воздействие m (угол открытия a управляемого выпрямителя).

 

Порядок проектирования фаззи-регулятора

 

  1. Задать цель проектирования.
  2. Составить структурную схему САР.
  3. Выбрать лингвистические переменные и задать их характер.
  4. Задать число терм по каждой функции принадлежности.
  5. Задать под диапазоны лингвистических переменных.
  6. Составить матрицу решений базы знаний с помощью экспертов по схеме логической импликации ЕСЛИ-ТО.
  7. Задать правила работы механизма вывода решений (дефаззификатора).
  8. Выбрать логический контроллер.

 

Достоинства нечеткой логики

 

  1. Возможность описания ассоциативного мышления человека.
  2. Возможность развития экспертных систем, которые способны аккумулировать знания, полученные человеком в различных областях деятельности.
  3. Позволяет работать с системами с неполной информацией либо      с переменными параметрами высокой сложности через использование искусственных нейронных сетей.
  4. Сокращает трудо затраты на разработку прикладного программного обеспечения в среднем в 3 раза.
  5. Не требует математического описания элементов САР.
  6. Пригодна для автоматизации нелинейных систем высоких порядков.
  7. Принципы построения управляющих программ позволяют легко работать с ними оператору, не знающему программирования.
  8. Дает возможность построения систем с нечеткой динамической коррекцией параметров традиционных регуляторов.
  9. Позволяет получить качественный переходный процесс без использования громоздких вычислительных процедур, характерных для классического метода управления с использованием принципа максимума.

Рис. 6. Графическое представление инференц-механизма дефаззификации.

Статья в pdf:Fuzzy logic

программа регулятора:

pid_fuzzi

FUZZY — калькулятор

В настоящее время нечеткая логика является одним из наиболее перспективных направлений современной теории управления. Она используется в стиральных машинах, в АСУ производства. Мое знакомство с FUZZY LOGIC более углубленно произошло после прочтения сайта «Основы нечеткого управления» Вологодского государственного технического университета http://zdo.vstu.edu.ru/umk/html/manual/L4_4.html.
Для более глубокого понимания была написана программка «Fuzzy калькулятор».
fuz_calkul
Программка написана на скорую руку, с целью понять логику работы этого регулятора. Справа находятся два регулятора, с помощью которых задаются входные переменные( ошибка регулирования и её производная). Левее находятся термы принадлежности этих переменных. Слева вверху находится база знаний, под ней в таблицах  по шаговое  формирование нечеткого вывода результат выводиться в панельке «Выход». Программку и исходник можно скачать здесь. kalkuljator

Fuzzy logic в регуляторах фирмы Siemens.

Когда-то я обслуживал АСУ ТП, построенную на оборудовании фирмы Siemens. Изучая ПО и оборудование, наткнулся на ПО Fuzzy logic и NEUROSYSTEMS   для контроллеров S7-400 в среде PCS-7.

fuzzy_sim_1

На сайте Siemens зарегистрировавшись можно скачать  эти регуляторы.

Программное обеспечение PCS-7, включает в себя и верхний и нижний уровень  АСУ ТП. Построение схем управления исполнительными механизмами производиться CFC-схемами которые строятся из функциональных блоков. Рис.№1.

fuzzy_sim_2

Рис.№1.

Эти схемы загружаются в контроллер. К большинству блоков, таких как CTRL_PID, FuzzyControl  и др. для управления с верхнего уровня  автоматически создаются панели управления (паспорта). Рис.№3.  Более подробно по работе с  PCS-7  можно узнать из документа PCS7_GettingStarted_V6_r.pdf.

fuzzy_sim_3

Рис.№2.

Так выглядят функциональные блоки FuzzyControl. Рис.№2.

А так выглядит паспорт (панель управления) FuzzyControl  для верхнего уровня. Рис.№3.

fuzzy_sim_4

Рис.№3.

Для настройки функционального блока используется отдельная программа конфигуратор. Рис.№4.

fuzzy_sim_5

Рис.№4.

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

fuzzy_sim_6

Рис.№5.

Если кликнуть мышкой по среднему прямоугольнику, с надписью «if…then»,  то откроется окно настройки базы знаний.

База знаний для управления клапаном:

  1. Если Температура «низкая» и Давление «низкое» тогда Клапан «приток»
  2. Если Температура » низкая » и Давление «высокое» тогда Клапан «закрыт»
  3. Если Температура «высокая» и Давление «низкое » тогда Клапан «закрыт»
  4. Если Температура » высокая » и Давление «высокое» тогда Клапан «отток»

 fuzzy_sim_7

Рис.№6.

 

Выходные Свойства

Двойной щелчок мышкой на прямоугольнике рядом с надписью «Output01» открывает окно настройки выходных терм. Рис.№7.

fuzzy_sim_8

Рис.№7.

Дальше можно проверить, как каждый выход будет отрабатывать в зависимости от входных величин. Входа назначены на оси X и Y, а выход с Fuzzy logic на ось Z. Можно наглядно увидеть как будет меняться выходная переменная от входных переменных. Рис.№8.

fuzzy_sim_9

Рис.№8.

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

fuzzy_sim_10

Рис.№9.

Так же вместе с программным пакетом Fuzzy Control, приводиться несколько примеров с применением нечеткой логики.

Один из примеров это изменение коэффициентов ПИД регулятора с помощью Fuzzy System, в зависимости от температуры. Рис.№10.

Рис.№10.

По этой таблице должны изменяться коэффициенты ПИД регулятора

 

 

fuzzy_sim_12

fuzzy_sim_14

fuzzy_sim_13

Изменение коэффициентов Kp, Ki, Tv в 3D.

 

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

Рис.11.

 

  • Клапан принимает три положения: закрыт, на половину открыт и открыт(0%, 50% и 100%). Эти положения клапана соответствуют выходным термам.

  • Давление р и скорость изменения давления Dp делится на три состояния.

  • Такая вот база знаний.

Конфигуратор.

fuzzy_sim_15

Скачать в PDF:
Оригинал:
Скачать демоверсию ПО FuzzyControl можно