diff -r 0941a912dcae -r c6c2a3d487ac lib/hysteresis_st.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/hysteresis_st.txt Wed Jun 10 15:02:14 2009 +0200 @@ -0,0 +1,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 +