ParamManagerScripts/backend/script_groups/TwinCat/.example/FILLINGTIME.EXP

27 lines
630 B
Plaintext

(* @PATH := '\/Functions_Collection\/FillingHead' *)
(* @SYMFILEFLAGS := '0' *)
FUNCTION FillingTime : REAL
VAR_INPUT
i_FillingValveHead : REAL ; (* in mmH2O *)
i_BottleSize : REAL ;
END_VAR
VAR
a : REAL ;
b : REAL ;
c : REAL ;
d : REAL ;
mFillingSpeed : REAL ; (* in mL/sec *)
END_VAR
(* @END_DECLARATION := '0' *)
a := 1.2522E-7 ;
b := -3.8E-4 ;
c := 4.4505E-1 ;
d := 0.0 ;
mFillingSpeed := a * EXPT(i_FillingValveHead, 3) + b * EXPT(i_FillingValveHead, 2) + c * i_FillingValveHead +d ;
IF mFillingSpeed<>0 THEN
FillingTime := i_BottleSize / (mFillingSpeed/1000) ;
END_IF
END_FUNCTION