Ось поворотной балки с осью гиба не совпадает, поэтому градусы указывать бесполезно, и я для простоты отградуировал 0,1 условный градус на импульс. В каком смысле как подключен энкодер? Физически DI3, DI4, программно fast discrete inputs - direct control
in := SysPortIn ( 0 );
current1.0 := in.0;
current1.1 := in.1;
CASE current1 OF
0: IF old1 = 1 THEN
count1 := count1 + 1;
ELSIF old1 = 2 THEN
count1 := count1 - 1;
END_IF
1: IF old1 = 3 THEN
count1 := count1 + 1;
ELSIF old1 = 0 THEN
count1 := count1 - 1;
END_IF
2: IF old1 = 0 THEN
count1 := count1 + 1;
ELSIF old1 = 3 THEN
count1 := count1 - 1;
END_IF
3: IF old1 = 2 THEN
count1 := count1 + 1;
ELSIF old1 = 1 THEN
count1 := count1 - 1;
END_IF
END_CASE
old1 := current1;
IF reset1 = TRUE THEN
count1 := count11;
END_IF
current2.0 := in.2;
current2.1 := in.3;
CASE current2 OF
0: IF old2 = 1 THEN
count2 := count2 + 1;
ELSIF old2 = 2 THEN
count2 := count2 - 1;
END_IF
1: IF old2 = 3 THEN
count2 := count2 + 1;
ELSIF old2 = 0 THEN
count2 := count2 - 1;
END_IF
2: IF old2 = 0 THEN
count2 := count2 + 1;
ELSIF old2 = 3 THEN
count2 := count2 - 1;
END_IF
3: IF old2 = 2 THEN
count2 := count2 + 1;
ELSIF old2 = 1 THEN
count2 := count2 - 1;
END_IF
END_CASE
old2 := current2;
IF reset2 = TRUE THEN
count2 := count21;
END_IF





