author | 'Gr?gory Tr?lat <gregory.trelat@lolitech.fr>' |
Fri, 10 Jul 2009 11:41:29 +0200 | |
changeset 198 | f68ef6f05e17 |
parent 192 | c6c2a3d487ac |
child 276 | 1679f514f38a |
permissions | -rwxr-xr-x |
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