47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
```pascal
|
|
FUNCTION "MaxCarboCO2 Vol" : Real
|
|
{ S7_Optimized_Access := 'FALSE' }
|
|
AUTHOR : 'Author'
|
|
FAMILY : 'Function'
|
|
NAME : 'Name'
|
|
VERSION : 1.0
|
|
VAR_INPUT
|
|
i_Press : Real;
|
|
END_VAR
|
|
|
|
VAR_IN_OUT
|
|
i_Temp : Real;
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
mAbsTemp : Real;
|
|
mAux : Real;
|
|
END_VAR
|
|
|
|
|
|
BEGIN
|
|
|
|
|
|
IF #i_Temp <= 0 THEN
|
|
(* classic code: #i_Temp := 12.0 ;*)
|
|
#i_Temp := REAL#12.0 ;
|
|
END_IF;
|
|
|
|
#mAbsTemp := #i_Temp + "Blender_Constants".gZeroAbsolute ;
|
|
|
|
(* classic code: IF (0.03275 * #mAbsTemp - 7.9567) <> 0 AND #i_Press <> 0 AND (0.000261 + #mAux * (1 + 1.0332 / #i_Press)) <> 0 THEN*)
|
|
IF (REAL#0.03275 * #mAbsTemp - REAL#7.9567) <> 0 AND #i_Press <> 0 AND (REAL#0.000261 + #mAux * (1 + REAL#1.0332 / #i_Press)) <> 0 THEN
|
|
(* classic code: #mAux := (0.01898 - 0.0000476 * #mAbsTemp) / (0.03275 * #mAbsTemp - 7.9567) ;*)
|
|
#mAux := (REAL#0.01898 - REAL#0.0000476 * #mAbsTemp) / (REAL#0.03275 * #mAbsTemp - REAL#7.9567) ;
|
|
(* classic code: #"MaxCarboCO2 Vol" := #i_Press * #mAbsTemp / 1.0332 * (0.000261 + #mAux * (1 + 1.0332 / #i_Press)) ;*)
|
|
#"MaxCarboCO2 Vol" := #i_Press * #mAbsTemp / REAL#1.0332 * (REAL#0.000261 + #mAux * (1 + REAL#1.0332 / #i_Press)) ;
|
|
ELSE
|
|
#"MaxCarboCO2 Vol" := -1 ;
|
|
END_IF;
|
|
|
|
|
|
END_FUNCTION
|
|
|
|
|
|
```
|