Если речь об аналоговом регулировании, то берите из библиотеки компонентов PID_ - он без автонастройки, но для большинства наладчиков это не проблема. При смене платформы не придётся судорожно переделывать с аппаратного, на программный.
С автонастройкой есть аналоговый ПИД, но он аппаратный и доступен не для всех моделей ПР - если ПР его поддерживает, то он будет присутствовать среди макросов проекта.
Если речь о ПИД для 3-позиционного управления без обратной связи по положению привода, то тут я выделяю 2 подхода:
- примерно соответствующий аналоговому регулятору
- просто формирование импульсов, ширина которых меняется по какому-нибудь закону регулирования, иногда похожем на ПИД
Если есть опыт настройки аналоговых регуляторов - берите мой
https://owen.ru/forum/showthread.php...l=1#post430251
и в сообщении ниже.
Проверял его и на объекте и на эмуляторе
https://owen.ru/forum/showthread.php...l=1#post447950
Если регулятор должен быть понятным и близким к двухпозиционному - пока значение меньше уставки - давать импульсы открытия, как стало выше - на закрытие, и при этом ширина импульсов меняется от величины рассогласования, то тогда берите любой другой вариант с ШИМ, например, на несколько сообщений выше.
https://owen.ru/forum/showthread.php...l=1#post454516
или поищите другие варианты.
Тут весь вопрос - в личном опыте ручной настройки регуляторов.
Лично мне ближе аналоговые, поэтому и мой 3-позиционный воспроизводит его поведение. Но его поведение не понятно многим.