PDA

Просмотр полной версии : реализация пид



markinmo
14.01.2010, 00:07
Уважаемые специалисты!
Подскажите, возможна ли реализация такого функционала прибора трм251 как время выхода на уставку, только средствами библиотеки pid_regulators.
Если можно, то поделитесь пожалуйста мыслями о возможной реализации этой задачи.

markinmo
14.01.2010, 10:10
ну что же вы маэстры молчите! подскажите же ,что-нибудь!

Николаев Андрей
14.01.2010, 10:26
А причем здесь Pid_regulators и ТРМ251?

markinmo
14.01.2010, 11:03
просто привожу пример функциональности, которую необходимо реализовать с помощью этой библиотеки

Николаев Андрей
14.01.2010, 14:29
кроме вас это никто не решит на самом деле - как вариант - добавить таймер и при каждом срабатывании добавлять к уставке дельту, пока уставка не станет равной нужной вам величине.
дискретизация срабатываний таймера настраивается как вам захочется. как в общем то и дельта

markinmo
14.01.2010, 17:09
хмм, понятно. спасибо за ответ.

остается неясным как к этому методу прикрутить пид регулятор.
или как правильно рассчитать прирост контролируемой величины в зависимости от подаваемой мощности.

Филоненко Владислав
14.01.2010, 21:45
задаете ему (пиду) уставку по требуемому закону - а он пытается её реализовать.
аналогично и в 251 работает.

markinmo
14.01.2010, 23:14
то есть, я первично провожу автонастройку, после окончания автонастройки я получаю коэффициенты регулятора или зависимость выходной мощности от текущего рассогласования между уставкой и регулируемой величиной. но как в эту получившуюся закономерность фактически добавить еще и зависимость выходной мощности от текущего положения времени в установленном временном интервале!

Николаев Андрей
15.01.2010, 08:33
для начала я бы всетаки определился с задачей: вам надо мощность по времени, или рост уставки по времени???
если рост уставки - делаете как написано выше, и уже приращиваемую величину подаете на вход пид регулятора Sp.
пид регулятор рассогласование сам посчитает.

markinmo
15.01.2010, 11:57
мне нужно, чтобы печка нагревалась до уставки за определенное количество времени, ни раньше не позже, +- погрешность.
печка управляется дискретным сигналом от мву8. в качестве "рабочей лошадки" плк 100 рм. холодильник - естественный (выключение нагревателя).

Hemann
15.01.2010, 14:48
у вас получается что нужно управлять уставкой (в приборах есть такой параметр-скорость выхода на уставку). берете из необходимой уставки вычитаете значение температуры при начале процесса, делите эту величину на какое-то разумное число (назовем его количеством приращений уставки), получаете дельту, о которой выше говорил андрей николаев. далее, делите время, за которое у вас должен произойти выход на желаемый режим, на количество приращений уставки, получаете дискрету срабатывания таймера. пид-регулятор запускаете, и при каждом срабатывании таймера добавляете ему к текущей уставке дельту, после получения желаемой величины останавливаете таймер.

markinmo
15.01.2010, 20:41
так я дельту прибавляю к текущему значению регулируемой величины или к необходимой уставке?

Hemann
15.01.2010, 23:55
дельту прибавляете не к регулируемой величине, а к текущей уставке до достижения желаемой уставки. например, при запуске регулирования у вас текущая температура 20 градусов, нужно достичь температуры 120 градусов за 100 минут. возьмем количество приращений уставки равное 10. тогда дельта будет (120-20)/10=10 градусов. дискрета таймера 100/10=10 минут. Запускаем процесс, после первого срабатывания таймера (через 10 минут) добавляем к текущей уставке дельту, т.е. уставка становится равной 20+10=30 градусов. при следующем срабатывании таймера (еще через 10 минут) уставка станет равна 30+10=40 градусов и т.д.

markinmo
16.01.2010, 20:24
понятно. буду пробовать. всем спасибо за ответы.