equal
deleted
inserted
replaced
|
1 FUNCTION_BLOCK INTEGRAL |
|
2 VAR_INPUT |
|
3 RUN : BOOL ; (* 1 = integrate, 0 = hold *) |
|
4 R1 : BOOL ; (* Overriding reset *) |
|
5 XIN : REAL ; (* Input variable *) |
|
6 X0 : REAL ; (* Initial value *) |
|
7 CYCLE : TIME ; (* Sampling period *) |
|
8 END_VAR |
|
9 VAR_OUTPUT |
|
10 Q : BOOL ; (* NOT R1 *) |
|
11 XOUT : REAL ; (* Integrated output *) |
|
12 END_VAR |
|
13 Q := NOT R1 ; |
|
14 IF R1 THEN XOUT := X0 ; |
|
15 ELSIF RUN THEN XOUT := XOUT + XIN * TIME_TO_REAL(CYCLE); |
|
16 END_IF ; |
|
17 END_FUNCTION_BLOCK |
|
18 |