Obsidean_VM/04-SIDEL/06 - E5.007363 - Modifica O.../Source/source/Integral.md

644 B

FUNCTION_BLOCK "Integral"
{ S7_Optimized_Access := 'FALSE' }
AUTHOR : 'Author'
FAMILY : 'Function'
NAME : 'Name'
VERSION : 1.0
   VAR_INPUT 
      i_NewValue : Real;
      i_IntCycle : Real;
   END_VAR

   VAR_IN_OUT 
      Out_Integral : Real;
   END_VAR

   VAR 
      mOldValue : Real;
   END_VAR


BEGIN
	
	//Trapezoidal Integral Method  
	 
	(* classic code: #Out_Integral := #Out_Integral + ( #mOldValue + (#i_NewValue -  #mOldValue ) * 0.5 ) * #i_IntCycle;*)
	#Out_Integral := #Out_Integral + ( #mOldValue + (#i_NewValue -  #mOldValue ) * REAL#0.5 ) * #i_IntCycle;
	#mOldValue := #i_NewValue;
	  
	
END_FUNCTION_BLOCK