Здравствуйте!
Возникла необходимость использования ПИД регулятора на контроллере ПЛК 110. В ПИД регуляторах я, к своему стыду, не очень разбираюсь. Нужно устаканить уровень в барабане котла, ну и еще кое что. Для этого предполагается использовать МЭО с блоком трехпозиционного регулятора. Ознакомился с информацией на форуме, руководством по библиотеке PID_regulators от 2010 г, а также с информацией на сайте Бориса Калинина. Соответственно есть два пути решения проблемы:
1). Использовать FB PID_FUNCTION из PID_regulators.lib, прикрутив к нему VALVE_REG или VALVE_REG_NO_POS,
2). Использовать регулятор с автонастройкой PID_3POS_IN_ANR с такими же блоками клапанов.

Почитал про этот блок PID_3POS_IN_ANR, что такое PV, SP, START_ANR, Y_DOP, я понял, а дальше возникли вопросы:
1) Где брать PV_TIME? Я прочитал что:"Это время берется из переменной Circular time модуля UNIVERSAL Sensor или циклического
счетчика". А где это?
"Отсчитывается в сотых долях секунды..." И в какой форме его писать на этот вход, если я найду его (это время)?
Допустим нашел я это время и оно равно 15 сек (к примеру), то что писать на входе? 1500? Или, например 0,045с. Писать 45? Или
0,045?

2). T_VAL время хода задвижки. В чем писать на входе в секундах или в сотых долях?
3). PST Как я должен его угадать? Выход регулятора меняется от -100 до 100. PST на вход писать в %? Ну вот написал я там 20%, к
примеру, задал уставку уровня и перелетел за SP+-Y_DOP. Подбирать дальше?
Я понял это так, PST это значение выхода, от которого, при автонастройке, выход может отклоняться на +-PTOL. Если, к примеру,
PST 20% PTOL 5%, то выход будет не больше 25% и не меньше 15%. А регулятор, значит, должен быть, в это время, в режиме
регулирования с одним только пропорциональным коэффициентом?
4). IMIN и IMAX Как это отражается на примере какой нибудь уставки SP и фактического значения PV? Допустим уставка 5, а по факту
4, я задаю IMIN=0,2 и IMAX=-0,4. Что это ограничит? В каких пределах? Какие обычно значения ставят?
5). Как из этого и не только из этого функционального блока ( а еще из PID_FUNCTION) сделать обратный регулятор? Допустим на
разряжение в топке, на вентилятор охлаждения.
6). Есть методика настройки этого регулятора? Я настраивал регуляторы Danfoss. Там нужно поднять Кп до того момента пока не
начнуться устойчивые автоколебания. Потом Кп чуть опускаем, факт будет чуть ниже уставки. Настриваем интеграл. Все просто. Но
разные производители используют разные формулы и от этого методика разнится.
Здесь как?
7) Если я буду использовать обычный ПИД (PID_FUNCTION без атонастройки). Что нужно при записи online новых коэффициентов
чтобы увидеть изменения в поведении регулятора? Нужно ли как то сбрасывать его? Как то перезагружать и т.п?
8) Регуляторов 8 штук будет, вентиляторы, давления насосов и т.п. Я собираюсь каждый запихнуть в свою программу. И каждую такую
программу вызывать циклически. Читал на форуме что могут быть проблемы с одновременным вызовом такого количества
регуляторов в основной программе. Как сделать лучше? С какой периодичностью вызывать каждый ПИД?
9) И выход -100...100. Зачем?

Может быть у кого нибудь есть код с примерами применения этих регуляторов? Заранее спасибо.

Хотелось бы от ОВЕН скачивать примеры кода разжеванные с подробным описанием.
Есть видосы, это уже радует. Но тема ПИД регуляторов не раскрыта. Можно показать на видео как настраивать на примере
того же вентилятора, насоса, заслонки и выложить на Youtube. Все приходится выведывать, вынюхивать. Кто то говорит, что
глючный регулятор, кто то с удовольствием использует. ЭТО ТЕМНОЕ ПЯТНО.
Парень снял видео где просто описал сухо PID_FUNCTION (лучше бы не снимал). Ну а типа, как работать с задвижкой (больше
-меньше) сами додумывайте. У Danfosa есть методичка по настройке ПИД, удобно, просто, легко (без сложной терминологии ТАУ!).
У Siemens есть цикл методичек с типовыми решениями, правда большая часть на английском (но они понятны и просты). И с
примерами рабочего кода и файлом pdf.