Выкладываю рабочий функциональный блок простого ПИД-регулятора для управления КЗР с датчиком положения.
В своё время намучился (CoDeSys не знал) с программной реализацией регулятора температуры, управляющего КЗР, но в итоге оказалось, что для CoDeSys существуют всякие полезные библиотеки, где по сути всё уже реализовано.
Блок используется в программах для ОВЕН ПЛК150/160 уже почти на сотне ЦТП в городе и управляет КЗРами, установленными на трубчатых и пластинчатых теплообменниках и поддерживающими необходимую температуру ГВС и отопления. Рабочий он в общем
Библиотеку из блока не делал, он экспортированный и код открыт. Поэтому сами решайте, какие переменные использовать как входные, какие как внутренние, что оставить константами, а что нет, и вообще, творите что хотите.
Подробное описание блока и процесс его подключения. (если ссылку удалите, то можете использовать информацию из поста).
Не знаю насколько актуален и полезен этот блок, но надеюсь кому-то поможет)