Цитата Сообщение от -=Vovka=- Посмотреть сообщение
Этот вариант заработал!
RC цепочку энкодеру не нужна - дребезг обычно решается на программном уровне. Возможно в этом контроллере и на аппаратном уровне.

Если уменьшаю показания, то после 0 появляется число 65535. А есть какая-нибудь настройка, чтобы с 0 не перескакивала в 65535, а при уменьшении всегда был 0?
А как изменить шаг приращения значения энкодера? А то у меня он изменяет на 4 единицы
А как задать начальное значение энкодеру? Пробовал напрямую и через указатель - не работает:
Код:
pI :POINTER TO INT;
....

encod := 10; <- не меняет

pI := ADR(encod);
pI^ :=20; <- не меняет
Если уменьшаю показания, то после 0 появляется число 65535 - потому, что 65535 это дополнительный код числа (-1)
VAR
count: INT;
END_VAR
count:= WORD_TO_INT(MyEnc);
Где MyEnc - имя для энкодера в конфигурации
Захват-1.png

чтобы с 0 не перескакивала в 65535, а при уменьшении всегда был 0
отрицательные значения обрежет оператор MAX(0, count)
count:= MAX(0, WORD_TO_INT(MyEnc));