Заказчик попросил постараться удалить автоколебания на контуре теплового пункта подающего воду на вентиляцию.
Сам контур очевидно имеет проектные недостатки так как КЗР не должен так работать. Чуть заходит за 7% и через задержку можем наблюдать лавинообразный скачок вверх. Принимаем как данность
Опыт настройки различных контуров PID регулирования накоплен приличный. Однако настройка контура регулирования, особенно, если полный период колебания может достигать пяти минут, может занять достаточно много времени.
Вспомнил что несколько лет тому назад написал сам для себя блок подбора коэффициентов регулирования. Подключил этот функциональный блок к стандартному блоку PID из библиотеки UTIL и осталось понаблюдать как блок старательно проигрывает различные варианты.
Немного о принципе работы блока автонастройки:
В самом начале блок автотюнинга запоминает параметры рассогласования. Далее он делает воздействие на пропорциональный коэффициент, увеличивая его на 0,1.
Далее происходит анализ (сравнение рассогласования), блок сравнивает значение, которое было, с тем значением рассогласования, которое стало после воздействия (добавление 0,1 к пропорциональной составляющей). Если ситуация улучшилась, то значит это действие верное и оно повторяется. Если, например, ситуация ухудшилась, то меняется знак и эта прибавка наоборот вычитается из коэффициента.
Далее блок переходит к настройке интегральной составляющей и тоже путем проб и ошибок делает несколько воздействий. Так происходит до пяти раз то с одним, то с другим. До бесконечности, пока не настроит.
Один плюс и он довольно весомый. Можно включить на день и забыть об этом, иногда поглядывая на график.
Так выглядит эта связка в Codesys 2.3
Как посмотреть на сам график вживую (это реальный объект):
1. Зайти на главную страницу https://bms.chekhoffhotel.ru/
2. Внизу главной страницы выбрать вкладку "Вентиляция"
3. Далее нажать на КЗР 26Y2, откроется фейсплейт
4. Выбрать кнопку "График"
Сам функциональный блок он открыт для любого желающего и лежит на сайте