PDA

Просмотр полной версии : Pid-регулятор



Flomaster
27.10.2008, 09:06
Задача такова. Нужно поддерживать нужное давление в системе. Раньше пользовались встроенным ПИД-регулятором частотного преобразователя, он сам выдавал необходимую частоту для насоса. Теперь возникла необходимость использовать ПИД-регулятор ПЛК. С ходу что-то настроить его не получилось. Итак, известны давление в системе, а также уставка давления и текущая частота ЧП. Нужно изменять частоту ЧП от 0 до 50 Гц с целью поддержания нужного давления в системе.

На входы ПИД-регулятора подаю следующие данные:
PV - текщуее давление (с датчика)
PV_TIME - значение CyrcularTime с соответствующего аналогового входа
SP - уставка (значение давления, которое нужно поддерживать)
PB - текущая частота ЧП.

Что подавать на входы TI_, DI_, _IMIN, и _IMAX - не совсем понятно. В документации к библиотеке есть пример, но там эти величины подобраны "экспериментальным путем". На своем примере сколько не экспериментировал - на выходе из блока регулятора всегда 0.
Подскажите, где ошибка.

Малышев Олег
27.10.2008, 10:25
Вообще коэффициенты регулятора PB(XP),TI,TD = Кп,Ки,Кд
регулятора. Ограничение интегральной составляющей - Imin,Imax (-1,1). Для начала выясните как формировались к-ты ПИД для чп. Для приборов ОВЕН ПИД с такими к-тами (http://www.owen.ru/support/72338091) а работает так (http://www.owen.ru/support/63391454)
После этого можно (пересчитав если надо) к-ты ПИД ввести в pid_function

Flomaster
18.11.2008, 04:14
Вообще коэффициенты регулятора PB(XP),TI,TD = Кп,Ки,Кд
регулятора. Ограничение интегральной составляющей - Imin,Imax (-1,1). Для начала выясните как формировались к-ты ПИД для чп. Для приборов ОВЕН ПИД с такими к-тами (http://www.owen.ru/support/72338091) а работает так (http://www.owen.ru/support/63391454)
После этого можно (пересчитав если надо) к-ты ПИД ввести в pid_function

С регулятором в целом разобрался, регулирование происходит. Но как-то не очень плавно. При использовании встроенного регулятора в частотном преобразователе изменяется в основном только дробная часть частоты (сама частота изменяется от 0 до 50 Гц). У меня же происходит что-то непонятное. Вначале частота может меняться в пределах 4-5 Гц (например от 33 до 38 Гц), а потом в пределах 20 Гц (от 20 до 40 Гц) за тем снова в пределах 5 Гц. И так постоянно. При этом разбора воды в системе нет, т.е. давление держится примерно на одном уровне. Из за чего могут происходить такие колебания?

Используются такие значения:
Полоса пропорциональности: 15
Постоянная интегрирования: 10
Постоянная дифференцирования: 1
IMIN: -1
IMAX: 1

Малышев Олег
18.11.2008, 08:20
Возможно, это происходит из-за помех на аналоговом входе. Попробуйте применить ФБ цифрового фильтра DIG_FLTR.

Вообще, по-моему, подбор к-тов ПИД сродни исскуству. Слесарь кипа с 20-летним опытом поставит с первого раза к-ты так, что любо-дорого. Инженерам которые ТАУ в 5 томах изучали 3 года бывает не очень понятно почему так регулирует, а с теоретически выведенными к-тами не очень...

PS
Автонастройкой не хотите попробовать?

Flomaster
18.11.2008, 08:42
Возможно, это происходит из-за помех на аналоговом входе. Попробуйте применить ФБ цифрового фильтра DIG_FLTR.

Вообще, по-моему, подбор к-тов ПИД сродни исскуству. Слесарь кипа с 20-летним опытом поставит с первого раза к-ты так, что любо-дорого. Инженерам которые ТАУ в 5 томах изучали 3 года бывает не очень понятно почему так регулирует, а с теоретически выведенными к-тами не очень...

PS
Автонастройкой не хотите попробовать?

Попробовать с автонастройкой можно. Но есть тогда вопрос. Когда нужно подавать значение TRUE в переменную START_ANR для проведения автонастройки? У меня сейчас регулирование ведется с момента запуска программы, а ЧРП пользуется отрегулированным значением, если на него была подана команда ПУСК.

Малышев Олег
18.11.2008, 11:18
Пример автонастройки смотрим в примерах Форум-ПЛК-ПЛК. Да возможно