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

992 B

FUNCTION "FillingTime" : Void
{ S7_Optimized_Access := 'FALSE' }
AUTHOR : 'Author'
FAMILY : 'Function'
NAME : 'Name'
VERSION : 1.0
   VAR_INPUT 
      i_FillingValveHead : Real;   // in mmH2O
      i_BottleSize : Real;
   END_VAR

   VAR_OUTPUT 
      FillingTime : Real;
   END_VAR

   VAR_TEMP 
      a : Real;
      b : Real;
      c : Real;
      d : Real;
      mFillingSpeed : Real;   // in ml/sec
   END_VAR


BEGIN
	(* classic code: #a := 1.2522E-7 ;*)
	#a := REAL#1.2522E-7 ;
	(* classic code: #b := -3.8E-4 ;*)
	#b := REAL#-3.8E-4 ;
	(* classic code: #c := 4.4505E-1 ;*)
	#c := REAL#4.4505E-1 ;
	(* classic code: #d := 0.0 ;*)
	#d := REAL#0.0 ;
	
	#mFillingSpeed := #a * SQR (#i_FillingValveHead)* #i_FillingValveHead + #b * SQR (#i_FillingValveHead) + #c * #i_FillingValveHead + #d ;
	
	(* classic code: IF #mFillingSpeed <> 0.0 THEN*)
	IF #mFillingSpeed <> REAL#0.0 THEN
	    #FillingTime := #i_BottleSize /(#mFillingSpeed / 1000) ;
	END_IF;
	  
	
END_FUNCTION