PDA

Просмотр полной версии : как задать зону нечувствительности для пид регуляторов Pid_3pos_im_anr и Pid_function



rabitt.exe
14.02.2010, 10:10
вопрос новичка. первый раз работаю с пид регуляторами. как правильно реализовать зону нечувствительности для пид регуляторов Pid_3pos_im_anr и Pid_function? может посоветуете другие компоненты пид регуляторов?

Положения задвижки нет. Есть только выход задвижки 0..10В. Как правильно осуществлять регулирование в данном случае?

Николаев Андрей
14.02.2010, 21:38
1. Возможно взять любой ПИД регулятор. Можно из Util.lib
2. Обратите внимание на пропорциональный коэффициент.
3. Надо привести выходную мощность ПИД регулятора к числу 0-10. Например выходную мощность PID_Function надо пропустить через блок Max (второй оператор 0), и делите на 10.

rabitt.exe
15.02.2010, 06:52
Спасибо.
Получается Pid_3pos_im_anr и Pid_function мне не подходят?

А привести мощность можно так: (PID_OUT + 100) /20? или ерунду я написал? :)

Николаев Андрей
15.02.2010, 10:28
Ну почему?
PID Function вполне можно.
Опять же что Вы понимаете под зоной нечувствительности?
Выходная мощность Pid Function от -100 до 100. Выход например ПЛК150-У. Выдавать значение надо от 0 до 10.
Соответственно out:=max(out_pid, 0) /100;
Вот как то так.

rabitt.exe
15.02.2010, 11:37
ага. про конвертацию спасиб, понял.
а зона нечувствительности у меня понимается под тем, чтобы в этой дельте регулятор думал что уже достиг уставки. или он особо не будет гонять заслонку, если будет находится вблизи уставки?

Малышев Олег
15.02.2010, 14:35
Смотрите пример использования http://www.owen.ru/forum/showthread.php?t=7047.
Зона нечуствительности задается параметром XN

rabitt.exe
15.02.2010, 19:34
Спасибо за пример. Не встречал ранее такой библиотеки. Можно прояснить один момент. для контроля температуры воды, мне нужен режим PMIN=0, PMax=1 (нагреватель), и как интерпретировать на выход 0..10В значения с выхода Y_PLUS (0..65535)?