Здравствуйте!
Возникли сложности со счетом импульсов от двух энкодеров.
Дано: FX3U и 2 энкодера SICK DFS-60B(на 10000импульсов/оборот для определения угла поворота).
Подключены энкодеры на входы X0-X5.
1й: фаза A-X0, фаза B-X1, Z-X2.
2й: соответственно на X3,X4,X5.
Используются счетчики C251 и C253.
Замечу, что про канал Z в инструкциях к контроллеру ничего не написано и, когда я подключил только 2 фазы, счетчик не считал должным образом, а фиксировал импульсы только при очень медленном перемещении, да и то в одну сторону. Когда же был подключен Z на вход X2, то все стало работать как надо. Далее так же был подключен и второй энкодер. Однако, он постоянно сбрасывался, воспринимал сигнал по каналу Z как сигнал сброса. Порывшись в инструкциях, но до конца не поняв сути, нашел такую инструкцию |M8388|-(M8392). Ввел ее в программу и второй счетчик начал правильно считать.
Но обнаружилась одна странная особенность: при останвке одного из энкодеров в некоторых положениях, второй счетчик перестает считать. По индикаторам на лицевой панели контроллера можно сделать вывод, что один из счетчико перестает считать в моменты, когда другой остановился при включении сразу двух фаз A,B, либо Z.
т.е. 1й не считает, если горят индикаторы X3+X4(фазы AB второго). при попытке крутить второй энкодер горят все индикаторы X0-X5, при остановке опять загораются X3+X4(фазы AB второго) либо X2+X5(обе фазы Z).
Соответственно, 2й перестает считать когда 1й остновился в момент X0+X1 и при попытке прокручивания только второго, опять горят все индикаторы, а при остановках либо X0+X1(фазы AB парвого), либо X2+X5(обе фазы Z).
Не знаю, на сколько ясно смог выразить суть вопроса. Надеюсь на помощь. Спасибо.