Последний раз редактировалось AlekseyK; 20.03.2016 в 14:20.
m : WORD; (* текущее значение fast encoder *)
ottuda : WORD; (* прошлое показание encoder'а *)
c: DINT; (* абсолютное положение encoder'а, без проблем с 65535 *)
c := c + WORD_TO_INT(m - ottuda);
ottuda := m;
Проверил на железе, у меня вопросов нет.