Вы не представляете, о чём идёт речь. Нет никаких кодов Грея. Есть обычный реверсивный счётчик импульсов. Направление счёта зависит от фазы этих импульсов. Когда энкодер вращается в одну сторону, счёт идёт в плюс. Когда в другую - в минут. Всё происходит на аппаратном уровне. Проблема в том, что невозможно обнулить счётчик, и начать отсчёт сначала. Или сделать предустановку нужным числом и считать до нуля.
В нормальных промышленных контроллерах (Siemens, Vipa например) нет никаких проблем со встроенным счётным модулем. Во-первых, он не 16-ти разрядный, а 32-х. Два байта в памяти контроллера пожалели? 65000 - это очень мало. У меня энкодер даёт больше 65000 за один оборот. Во-вторых, функциональный блок для управления этим модулем имеет тьму входных параметров, с помощью которых можно заставить работать счётчик во множестве всевозможных режимов. Его можно сбрасывать и предустанавливать, запрещать и разрешать счёт как угодно, задавать направление счёта, заставить генерировать прерывание..
Здесь даже обнулиться нельзя. Какова практическая польза от такого энкодера? Какие прикладные задачи можно решать с его помощью?





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