48 lines
992 B
Markdown
48 lines
992 B
Markdown
```pascal
|
|
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
|
|
|
|
|
|
```
|