Пример подключения энкодера OMRON E6B2-CWZ6C к контроллеру XSLH-24A8
Согласно datasheet на устройство OMRON E6B2-CWZ6C составляем следующую схему подключения к контроллеру XINJE XSLH-24A8:
Рекомендуем использовать следующую схему:
Программная часть PLC_PRG
При движении *вперед* фаза А опережает фазу В на 90 градусов.
При движении *назад* фаза А отстает от фазы В на 90 градусов.
Воспользуемся этим для определения направления и подсчета импульсов.
PLC_PRG
VAR_GLOBAL
bInput_A :BOOL;
bInput_B :BOOL;
bInput_C :BOOL;
In_C :BYTE;
Last_In_C :BYTE;
bReset :BOOL:=FALSE;
END_VAR
PROGRAM PLC_PRG
VAR
lrCount_Plus :LREAL;
lrCount_Minus :LREAL;
lrCount_C :LREAL;
rTRIG_A :R_TRIG;
END_VAR
rTRIG_A (CLK:= gGlobal.bInput_A , Q=> );
IF rTRIG_A.Q AND gGlobal.bInput_B THEN
lrCount_Plus := lrCount_Plus +1; // Счет импульсов в прямом направлении
END_IF
IF rTRIG_A.Q AND NOT gGlobal.bInput_B AND(lrCount_Plus > 0) THEN
lrCount_Minus := lrCount_Minus +1; // Счет импульсов в обратном направлении
END_IF
// Подсчет импульсов с фазы С
IF gGlobal.In_C <> gGlobal.Last_In_C THEN
lrCount_C := lrCount_C +1;
gGlobal.Last_In_C := gGlobal.In_C;
END_IF
// Обнуление счетчиков
IF gGlobal.bReset THEN
lrCount_Plus := 0;
lrCount_Minus := 0;
lrCount_C := 0;
END_IF
Это демонстрационный пример, показывающий методику действий. В реальности используются счетчики импульсов и более сложные условия. Также есть возможность программным путем в четыре раза увеличить разрешающую способность энкодера.