С by value change все нормально - выходная переменная будет держать значение, пока в программе она не примет другое значение ( данная функция применяется во всех выходных модулях ОВЕН).
Кофигурация контроллера в твоей программе создана нормально. Добейся сначала обмена по Modbus. Проверь конфигурацию модуля и правильность соединения.
Затем в программе вместо своего кода просто задай out0:=500; У тебя модуль должен выдать 5В.
Далее:
Твой код out0:=REAL_TO_WORD(o0*1000); я бы изменил. У тебя получается, что для выдачи 10В нужно подать в переменную о0 всего лишь единицу.
При использовании ПИД-регуляторов они выдают требуемое значение от 0 до 100%, поэтому код будет выглядеть out0:=REAL_TO_WORD(o0*10);




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