MCIO 1-5 - example

F_IsXOR

---------------------------------
FUNCTION F_IsXOR : BOOL
VAR_INPUT
    x1 : BOOL;
    x2 : BOOL;
END_VAR
VAR
END_VAR
---------------------------------
IF x1 = x2 THEN
    F_IsXOR := FALSE;
ELSE
    F_IsXOR := TRUE;
END_IF
---------------------------------

FB_LED

---------------------------------
FUNCTION_BLOCK FB_LED
VAR_INPUT
    inp1 : BOOL;
    inp2 : BOOL;
END_VAR
VAR_OUTPUT
    out1 : BOOL;
    out2 : BOOL;
    out3 : BOOL;
    out4 : BOOL;
END_VAR
VAR
    count : DINT;
    blink : BOOL;
END_VAR
---------------------------------
count := count + 1;

blink := F_IsXOR (x1:=inp1, x2:=inp2);

IF blink THEN
    out1 := count MOD 2 = 0;
    out2 := count MOD 8 = 0;
    out3 := count MOD 32 = 0;
    out4 := count MOD 128 = 0;
ELSE
    out1 := FALSE;
    out2 := FALSE;
    out3 := FALSE;
    out4 := FALSE;
END_IF
---------------------------------

MAIN

Last updated

Was this helpful?