FUNCTION_BLOCK _fbBlinker
VAR_INPUT
ENQ : BOOL := TRUE;
PTH : TIME;
PTL : TIME;
END_VAR
VAR_OUTPUT
Q : BOOL;
QP : BOOL;
END_VAR
VAR
tx: TIME;
tn: TIME;
init: BOOL;
m : BOOL;
END_VAR
(* @END_DECLARATION := '0' *)
IF enq THEN
tx := TIME();
IF NOT init THEN init := TRUE; tn := tx; END_IF;
IF tx - tn >= SEL(Q, PTL, PTH) THEN
tn := tn + SEL(Q, PTL, PTH);
Q := NOT Q;
END_IF;
ELSE
Q := FALSE;
init := FALSE;
QP := FALSE;
END_IF;
QP := q AND NOT m;
m := q;
END_FUNCTION_BLOCK
VAR
T1: TON;
Clock: BOOL;
END_VAR
T1(IN := NOT(T1.Q), PT := t#2000ms);
IF (T1.ET >= t#1000ms) THEN
Clock := TRUE;
ELSE
Clock := FALSE;
END_IF;
T1(IN := NOT(T1.Q), PT := t#2000ms);
Clock := T1.ET.11;
T1(IN := NOT T1.Q, PT := T#1000ms);
IF T1.Q THEN
Clock := NOT Clock;
END_IF;
T1(IN := NOT T1.Q, PT := T#1000ms);
Clock := Clock XOR T1.Q;
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?