--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/integral_st.txt Wed Jun 10 15:02:14 2009 +0200
@@ -0,0 +1,18 @@
+ FUNCTION_BLOCK INTEGRAL
+ VAR_INPUT
+ RUN : BOOL ; (* 1 = integrate, 0 = hold *)
+ R1 : BOOL ; (* Overriding reset *)
+ XIN : REAL ; (* Input variable *)
+ X0 : REAL ; (* Initial value *)
+ CYCLE : TIME ; (* Sampling period *)
+ END_VAR
+ VAR_OUTPUT
+ Q : BOOL ; (* NOT R1 *)
+ XOUT : REAL ; (* Integrated output *)
+ END_VAR
+ Q := NOT R1 ;
+ IF R1 THEN XOUT := X0 ;
+ ELSIF RUN THEN XOUT := XOUT + XIN * TIME_TO_REAL(CYCLE);
+ END_IF ;
+ END_FUNCTION_BLOCK
+