21 lines
430 B
Plaintext
21 lines
430 B
Plaintext
|
|
(* @PATH := '\/Functions_Collection' *)
|
|
(* @SYMFILEFLAGS := '4096' *)
|
|
FUNCTION_BLOCK Integral
|
|
VAR_INPUT
|
|
i_NewValue : REAL;
|
|
i_IntCycle : REAL ;
|
|
END_VAR
|
|
VAR_IN_OUT
|
|
Out_Integral : REAL;
|
|
END_VAR
|
|
VAR
|
|
mOldValue : REAL;
|
|
END_VAR
|
|
(* @END_DECLARATION := '0' *)
|
|
(* Trapezoidal Integral Method *)
|
|
Out_Integral := Out_Integral + ( mOldValue + (i_NewValue - mOldValue ) * 0.5 ) * i_IntCycle;
|
|
mOldValue := i_NewValue;
|
|
|
|
END_FUNCTION_BLOCK
|