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

222 lines
2.8 KiB
Plaintext

(* @PATH := '\/TASK1_PID\/PID_Controllers' *)
(* @SYMFILEFLAGS := '59392' *)
PROGRAM TestFlowmeters
VAR
mAcqStop : BOOL ;
mSyrAcqEn : BOOL ;
mWaterAcqEn : BOOL ;
mWaterFlowValveRatio : REAL ;
mSyrupFlowValveRatio : REAL ;
mWaterFlowValveRatioFltd : LowPassFilter ;
mSyrupFlowValveRatioFltd : LowPassFilter ;
mWaterRatioOut : REAL ;
mSyrupRatioOut : REAL ;
mONSAux : R_TRIG ;
mClkOns : BOOL ;
mPVRatio : REAL ;
mDummy : BOOL ;
te: BOOL;
END_VAR
VAR_OUTPUT
EN_Out : BOOL ;
END_VAR
(* @END_DECLARATION := '0' *)
_LD_BODY
_NETWORKS : 4
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_EMPTY
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
???
_BOX_EXPR : 0
_ENABLED
_EXPRESSION
_POSITIV
TestFlowmeters.DataAcquisition
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mDummy
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
gClock_10s
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gClock_1s
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mONSAux
_BOX_EXPR : 1
_EMPTY
_EXPRESSION
_POSITIV
R_TRIG
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mClkOns
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
mWaterAcqEn
_EXPRESSION
_POSITIV
_LD_CONTACT
mAcqStop
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
mWaterFlowValveRatioFltd
_BOX_EXPR : 3
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
mWaterFlowValveRatio
_OPERAND
_EXPRESSION
_POSITIV
30
_OPERAND
_EXPRESSION
_POSITIV
TRUE
_EXPRESSION
_POSITIV
LowPassFilter
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mWaterRatioOut
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
mSyrAcqEn
_EXPRESSION
_POSITIV
_LD_CONTACT
mAcqStop
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
mSyrupFlowValveRatioFltd
_BOX_EXPR : 3
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
mSyrupFlowValveRatio
_OPERAND
_EXPRESSION
_POSITIV
30
_OPERAND
_EXPRESSION
_POSITIV
TRUE
_EXPRESSION
_POSITIV
LowPassFilter
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mSyrupRatioOut
ENABLELIST_END
_OUTPUTS : 0
END_PROGRAM
ACTION DataAcquisition:
IF mClkOns AND gBlenderEnToRamp THEN
IF gR_Out_H2O_PID>1 THEN
mWaterAcqEn := TRUE ;
mWaterFlowValveRatio := gH2O_Flow_PV / gR_Out_H2O_PID ;
END_IF
IF gR_Out_SYR_PID>1 THEN
mSyrAcqEn := TRUE ;
mSyrupFlowValveRatio := gSYR_Flow_PV / gR_Out_SYR_PID ;
END_IF
ELSE
mWaterAcqEn := FALSE ;
mSyrAcqEn := FALSE ;
END_IF
IF gBlenderStableFlow THEN
IF gMFM_Syrup1Totalizer>1 AND gActualSyrupDens>0.5 THEN
mPVRatio := gMFM_WaterTotalizer / (gMFM_Syrup1Totalizer / gActualSyrupDens) ;
END_IF
END_IF
END_ACTION