Создайте новый ФБ на ST:
Объявление:
Код:
FUNCTION_BLOCK SHR_11UDE
VAR_INPUT
SET : BOOL;
D0: BOOL;
D11: BOOL;
CLK: BOOL;
DN : BOOL;
RST: BOOL;
END_VAR
VAR_OUTPUT
Q0: BOOL;
Q1: BOOL;
Q2: BOOL;
Q3: BOOL;
Q4: BOOL;
Q5: BOOL;
Q6: BOOL;
Q7: BOOL;
Q8: BOOL;
Q9: BOOL;
Q10: BOOL;
END_VAR
VAR
trig : R_TRIG;
END_VAR
Код ФБ:
Код:
trig(clk := clk);
IF set OR rst THEN
Q0 := NOT RST;
Q1 := Q0;
Q2 := Q0;
Q3 := Q0;
Q4 := Q0;
Q5 := Q0;
Q6 := Q0;
Q7 := Q0;
Q8 := Q0;
Q9 := Q0;
Q10 := Q0;
ELSIF trig.Q THEN
IF dn THEN
Q0 := Q1;
Q1 := Q2;
Q2 := Q3;
Q3 := Q4;
Q4 := Q5;
Q5 := Q6;
Q6 := Q7;
Q7 := Q8;
Q8 := Q9;
Q9 := Q10;
Q10 := D11;
ELSE
Q10 := Q9;
Q9 := Q8;
Q8 := Q7;
Q7 := Q6;
Q6 := Q5;
Q5 := Q4;
Q4 := Q3;
Q3 := Q2;
Q2 := Q1;
Q1 := Q0;
Q0 := D0;
END_IF;
END_IF;