0

Терморегулятор с ПИД-управлением в CoDeSys

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

Чему можно научиться: работа со стандартным ПИД-регулятором, разработка гистерезисных  алгоритмов на языках ST и CFC

Основная программа разработана на языке CFC. Такой выбор объясняется наибольшей наглядностью работы с функциональными блоками по сравнению с другими языками программирования ПЛК.

Итак, ПИД – регулятор.

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

Терморегулятор с ПИД управлением в CoDeSys, рис19

рис1 Схема ПИД-регулятора

ПИД-регулятор состоит из трех основных частей: пропорциональной Кп, интегральной 1/р×Ти и дифференциальной р×Тд. На практике, для формирования цифровых регуляторов используются разностные формулы, позволяющие работать не с непрерывным во времени сигналом, а с квантованным по времени. Таким образом, для расчета управляющего сигнала на выходе цифрового ПИД-регулятора  используется формула:

Терморегулятор с ПИД управлением в CoDeSys, рис28

Xp полоса пропорциональности;
Ei рассогласование или разность между уставкой Туст и текущим значением измеренной величины Тi;
tд дифференциальная постоянная;
DEi разность между двумя соседними рассогласованиями Ei и Ei–1;
Dtизм время между двумя соседними измерениями Ti и Ti–1;
tи интегральная постоянная;
накопленная в i-й момент времени сумма рассогласований (интегральная сумма).

Пропорциональная составляющая зависит от рассогласования Ei и отвечает за реакцию на мгновенную ошибку регулирования.

Интегральная составляющая содержит в себе накопленную ошибку регулирования и позволяет добиться максимальной скорости достижения уставки.

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

В CoDeSys в библиотеке UTIL.lib реализован стандартный блок ПИД-регулятора, который показан на рис.2

Терморегулятор с ПИД управлением в CoDeSys, рис38

рис2 ПИД-регулятор в CoDeSys

Функциональный блок реализует ПИД закон регулирования:

Терморегулятор с ПИД управлением в CoDeSys, рис46

где Y_OFFSET – стационарное значение, KP – коэффициент передачи, TN – постоянная интегрирования (ms), TV – постоянная дифференцирования (ms), e(t) — сигнал ошибки (SET_POINT-ACTUAL).

Входы ACTUAL, SET_POINT, KP, Y_OFFSET, Y_MIN Y_MAX типа REAL. Входы TN и TV типа

DWORD, RESET и MANUAL типа BOOL.

Выходы Y – REAL, LIMITS_ACTVE и OVERFLOW типа BOOL.

Значение выхода Y ограничено Y_MIN и Y_MAX. При достижении Y границ ограничения, выход

LIMITS_ACTVE, (BOOL) принимает значение TRUE. Если ограничение выхода не требуется, Y_MIN

и Y_MAX должны быть равны 0.

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

Теперь собственно о программе.

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

Терморегулятор с ПИД управлением в CoDeSys, рис52

рис 3 Переменные проекта

Далее собственно программа управления.

Терморегулятор с ПИД управлением в CoDeSys, рис61

рис4 Проект ПИД-регулятора в CoDeSys

В алгоритме ПИД-регулятора реализовано ограничение по мощности регулирования (0-100%). Двухпозиционный регулятор реализован в виде подпрограммы, которая выглядит, например, так:

Терморегулятор с ПИД управлением в CoDeSys, рис7

рис5 Переменные подпрограммы 2-х позиционного регулятора

Программа на ST

Терморегулятор с ПИД управлением в CoDeSys, рис8

рис8 Подпрограмма работы 2-х позиционного регулятора на языке ST

Ну и то же самое на языке CFC

Терморегулятор с ПИД управлением в CoDeSys, рис9

рис9 2-хпозиционный регулятор на языке CFC

Терморегулятор с ПИД управлением в CoDeSys, рис10

рис10 Подпрограмма на CFC (продолжение)

 

Мой блог находят по следующим фразам

Раздел: Программы ПЛК Метки: , , , , ,

Оставить комментарий

Отправить сообщение

CoDeSys GSM/GPRS модем Lectus OPC MasterSCADA Modbus MX110 Omron OPC-сервер owen OWEN Easy Logic owen logic PLC Configuration PROFIBUS s-200 SCADA scada системы siemens siemens plc SIMATIC Simplight SMS step7 TRACE MODE Динамизация ИП-320 ОВЕН ОВЕН ПЛК ОВЕН ПЧВ ПЛК ПЛК ОВЕН ПР 110 Панель оператора Программируемое реле Частотный преобразователь библиотека в CoDeSys визуализация диспетчеризация конфигурация панели программирование ПЛК серия NS сименс плк частотник частотное управление язык CFC язык ST
.