Верно написано, что ИМ типа КЗР являются интегрирующими звеньями. Поэтому для них нужен блок ПДД^2 + ШИМ. ПДД^2 можно получить взяв производную от выхода ПИД.
В VALVE_REG_NO_POS так скорее всего и есть дифференциатор+ШИМ. С ПЛК ОВЕН проще всего использовать его + любой ПИД (из util.lib, например). Работает всё отлично, кроме тех мест где банальный ПИД неприменим (например, в процессах с большим запаздыванием).
Там где ПЛК не ОВЕН (соответственно VALVE_REG_NO_POS не работает) - используйте обычный ПИД (util или oscat) после него ставьте блок дифферинцирования и после блок ШИМ. Ещё нужно внести ограничение на минимальную длительность импульса с суммированием мелких импульсов отсекаемых по этому ограничению. Работает также хорошо.
Или используйте блок из oscat для 3-хходовых механизмов, но тогда потребуется лишний дискретный вход и свободные концевики на клапанах для периодической калибровки (этот блок моделирует клапан, вычисляя его положение по временам импульсов). Этот вариант не проверял.




Ответить с цитированием