TYPE LOGLEVEL : (CRITICAL, WARNING, INFO, DEBUG) := INFO; END_TYPE FUNCTION_BLOCK LOGGER VAR_INPUT TRIG : BOOL; MSG : STRING; LEVEL : LOGLEVEL := INFO; END_VAR VAR TRIG0 : BOOL; END_VAR IF TRIG AND NOT TRIG0 THEN {{ LogMessage(GetFbVar(LEVEL),(char*)GetFbVar(MSG, .body),GetFbVar(MSG, .len)); }} END_IF; TRIG0:=TRIG; END_FUNCTION_BLOCK PROGRAM motor VAR START : BOOL; STOP : BOOL; DELAY : TIME := T#100ms; RUNNING : BOOL; RS0 : RS; TON0 : TON; END_VAR TON0(IN := START, PT := DELAY); RS0(S := TON0.Q, R1 := STOP); RUNNING := RS0.Q1; END_PROGRAM CONFIGURATION Config0 RESOURCE Res0 ON PLC TASK task0(INTERVAL := T#20ms,PRIORITY := 0); PROGRAM instance0 WITH task0 : motor; END_RESOURCE END_CONFIGURATION