(* @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