Ymax у ПИД какой стоит ?
Статья по настройке ПИД: http://lazysmart.ru/osnovy-avtomatik...d-regulyatora/
Ymax у ПИД какой стоит ?
Статья по настройке ПИД: http://lazysmart.ru/osnovy-avtomatik...d-regulyatora/
Ещё один вопрос возник. Соответственно выведены параметры уставки и текущей температуры в OwenCloud для формирования графиков, т.е. просто считываем. Tуст имеет тип Word, Tтек - Real. Т.к. передача с СПК в облако работает только с Word (ModbusTCP_Slave_Device), то через функцию объединения Ттек через 2 ворда передаётся с СПК в Облако, проблем нет, всё работает (см.Скрин 1). Но вот, возникла идея передавать в облако данные по каждому PID и, так же, возможность ЗАПИСЫВАТЬ из Облака в СПК параметры PID, т.е. менять его параметры и из СПК и из Облака. Как считывать, тут всё понятно по аналогии с Ттек (см.Скрин 2), но как писать из облака в СПК? Не разу не делал такого просто... При работе ПЛК210 и облака таких вопросов нет, т.к. там всё через символьную конфигурацию происходит.
Последний раз редактировалось Клаус; 04.09.2024 в 10:53.
// расчет PID регулятора
GlobalVar.Regul1(
SET_POINT := PLC_PRG.Ust_T1,
KP := GlobalVar.kP1,
TN := GlobalVar.kI1,
TV := GlobalVar.kD1,
Y_MANUAL := GlobalVar.y1_man,
Y_OFFSET := 0,
Y_MIN := 0,
Y_MAX := 100,
MANUAL := GlobalVar.PID1man,
RESET := GlobalVar.res1,
Y=>GlobalVar.outR1,
LIMITS_ACTIVE=>,
OVERFLOW=>);
// приводим диапазон ПИД 0...100 к диапазону 2...10В выхода МУ110-6У 200...1000
// c проверкой ручного режима управления
tempOutR1 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID1, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR2 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID2, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR3 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID3, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
tempOutR4 := REAL_TO_UINT(OSCAT_BASIC.SCALE_R(X:=valPID4, I_LO:=0, I_HI:=100, O_LO:=closeState, O_HI:=openState));
Никак не получается уйти от этого "бугра". Не знаю, может проблема именно с поднятия Уставки с нуля до того значения уставки в момент запуска алгоритма (54 градуса), типа, успевает ошибку накопить, не понятно
Что ты там намудрил ?
Тебе надо задать Ymin = 200, Ymax = 1000. Никаких других приведений делать не надо. То что формируется на выходе ПИД (выход Y) надо по RS-485 отправлять в МУ110-6У.
Коэффициенты KP и TN ПИД после этого надо будет по новой подобрать. Ссылку на методику тебе дали.
Последний раз редактировалось IVM; 03.09.2024 в 13:08.
Последний раз редактировалось Клаус; 03.09.2024 в 13:01.
Могу ошибиться, в конкретно этом ФБ ПИД вычисление интегральной не останавливается после достижения выходом Ymin (Ymax), а продолжает накапливаться, но из-за присутствия внутри этого ФБ ограничителя, на выходе Y значение в диапазоне Ymin...Ymax.
Для диагностики и реакции на переполнение есть выход OVERFLOW (или LIMITS_ACTIVE). С его помощью останавливают рост интегральной.
Последний раз редактировалось FPavel; 03.09.2024 в 18:43.
Процесс инерционный, особенно при пуске большое рассогласование.
При наличии времени, на мой взгляд, стоило бы попробовать ограничить этот рост.