(* Following taken directly from the IEC 61131.3 draft standard *) (* * An IEC 61131-3 IL and ST compiler. * * Based on the * FINAL DRAFT - IEC 61131-3, 2nd Ed. (2001-12-10) * *) FUNCTION_BLOCK HYSTERESIS (* Boolean hysteresis on difference *) (* of REAL inputs, XIN1 - XIN2 *) VAR_INPUT XIN1, XIN2, EPS : REAL; END_VAR VAR_OUTPUT Q : BOOL := 0; END_VAR IF Q THEN IF XIN1 < (XIN2 - EPS) THEN Q := 0; END_IF ; ELSIF XIN1 > (XIN2 + EPS) THEN Q := 1 ; END_IF ; END_FUNCTION_BLOCK