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

1233 lines
14 KiB
Plaintext

(* @PATH := '\/TASK2_ControlMain\/Blender_Procedure' *)
(* @SYMFILEFLAGS := '59392' *)
PROGRAM SyrBrix_Autocorrection
VAR
mSyrBrix_AutoCorrReqTP : TP ;
mSyrBrix_AutoCorrReqTP1 : TP ;
mAuxONS : R_TRIG ;
mAuxONS1 : R_TRIG ;
mAuxONS2 : R_TRIG ;
m2sONS : BOOL ;
mProdSyrFactAcq : BOOL ;
mLatchONS : BOOL ;
mSyrupFactFlt : LowPassFilter ;
mProdSyrFact : REAL ;
mSyrupMFMFactFlt : LowPassFilter ;
mSyrMFMFact : REAL ;
mZeroTest : BOOL ;
mZeroTest1 : BOOL ;
mDummy : BOOL ;
END_VAR
VAR_OUTPUT
EN_Out : BOOL ;
END_VAR
(* @END_DECLARATION := '0' *)
_LD_BODY
_NETWORKS : 24
_NETWORK
_COMMENT
Syrup Autocorrection means that the measured syrup brix AND syrup density from meter, are used instead
OF the one from the recipe, TO calculate the volumetric ratio.
Activated only IF the beverage is sugar based.
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 6
_LD_CONTACT
gBlenderProdMode
_EXPRESSION
_POSITIV
_LD_CONTACT
gSugarBeverage
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_LD_CONTACT
gWaterRecipe
_EXPRESSION
_NEGATIV
_LD_CONTACT
gBlenderRinseMode
_EXPRESSION
_NEGATIV
_LD_CONTACT
gBlenderSuppliesOk
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Qualifier
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrRunOut_Latch
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mSyrBrix_AutoCorrReqTP
_BOX_EXPR : 2
_EMPTY
_OPERAND
_EXPRESSION
_POSITIV
t#1s
_EXPRESSION
_POSITIV
TP
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
_EMPTY
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gH_CMD_SyrAutoReq
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrRunOut_Latch
_EXPRESSION
_NEGATIV
_FUNCTIONBLOCK
mAuxONS
_BOX_EXPR : 1
_EMPTY
_EXPRESSION
_POSITIV
R_TRIG
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Request
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gSyrAutoCorr_Qualifier
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Reset
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gH_Blender_OPT_SyrBrixMeter
_EXPRESSION
_POSITIV
_LD_CONTACT
gmPDS1000Error
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gH_Blender_OPT_SyrBrixMeter
_EXPRESSION
_NEGATIV
_LD_CONTACT
gSyrupMFM_Fault
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Wait
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 4
_LD_OR
_LD_OPERATOR : 2
_LD_CONTACT
gSyrAutoCorr_Request
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Done
_EXPRESSION
_NEGATIV
_LD_CONTACT
gSyrAutoCorr_Reset
_EXPRESSION
_NEGATIV
_LD_CONTACT
gSyrRunOut_Done
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Latch
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mAuxONS2
_BOX_EXPR : 1
_EMPTY
_EXPRESSION
_POSITIV
R_TRIG
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mLatchONS
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Wait
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Running
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_EMPTY
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
???
_BOX_EXPR : 0
_ENABLED
_EXPRESSION
_POSITIV
SyrBrix_Autocorrection.SyrupCorrPerc
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mDummy
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gClock_2s
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mAuxONS1
_BOX_EXPR : 1
_EMPTY
_EXPRESSION
_POSITIV
R_TRIG
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
m2sONS
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 5
_LD_CONTACT
gSyrAutoCorr_Qualifier
_EXPRESSION
_POSITIV
_LD_CONTACT
gPV_SyrBrixOk
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderEnToRamp
_EXPRESSION
_POSITIV
_LD_CONTACT
m2sONS
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mProdSyrFactAcq
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_EMPTY
_EXPRESSION
_POSITIV
ENABLELIST : 2
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
mProdSyrFact
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gProdRunSyrFact
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_EXPRESSION
_POSITIV
OR
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mZeroTest
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
mSyrMFMFact
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gProdRunSyrMFMFact
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_EXPRESSION
_POSITIV
OR
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mZeroTest1
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
This segment calculates the Syrup Factor during production, so when the Surup Run Out starts OR the Autocorrection
is activated, the actual syrup brix doesn't change and so also the actual ratio doesn't.
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
mZeroTest
_EXPRESSION
_NEGATIV
_LD_CONTACT
mProdSyrFactAcq
_EXPRESSION
_POSITIV
_LD_CONTACT
gH_Blender_OPT_SyrBrixMeter
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 3
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gSyrAutoCorr_Latch
_OPERAND
_EXPRESSION
_POSITIV
gSyrRunOut_Latch
_EXPRESSION
_POSITIV
OR
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix
_OPERATOR
_BOX_EXPR : 2
_OPERATOR
_BOX_EXPR : 3
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gMeterSyrBrix
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_OPERAND
_EXPRESSION
_POSITIV
gMeterSyrBrix
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix
_EXPRESSION
_POSITIV
SEL
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix_Fact
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
DIV
_OPERAND
_EXPRESSION
_POSITIV
mProdSyrFact
_EXPRESSION
_POSITIV
SEL
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mProdSyrFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
This segment calculates the Syrup Factor during production, so when the Surup Run Out starts OR the Autocorrection
is activated, the actual syrup brix doesn't change and so also the actual ratio doesn't.
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
mZeroTest1
_EXPRESSION
_NEGATIV
_LD_CONTACT
mProdSyrFactAcq
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 3
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gSyrAutoCorr_Latch
_OPERAND
_EXPRESSION
_POSITIV
gSyrRunOut_Latch
_EXPRESSION
_POSITIV
OR
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix
_OPERATOR
_BOX_EXPR : 2
_OPERATOR
_BOX_EXPR : 3
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gMFM_Syrup1Brix
_OPERAND
_EXPRESSION
_POSITIV
0
_EXPRESSION
_POSITIV
EQ
_OPERAND
_EXPRESSION
_POSITIV
gMFM_Syrup1Brix
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix
_EXPRESSION
_POSITIV
SEL
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix_Fact
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
DIV
_OPERAND
_EXPRESSION
_POSITIV
mSyrMFMFact
_EXPRESSION
_POSITIV
SEL
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mSyrMFMFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 3
_LD_CONTACT
mZeroTest
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrBrixOutSpec_Fault
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 1
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
1
_EXPRESSION
_POSITIV
MOVE
_EXPRESSION
_POSITIV
_OUTPUTS : 2
_OUTPUT
_POSITIV
_NO_SET
gProdRunSyrFact
_OUTPUT
_POSITIV
_NO_SET
mProdSyrFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 3
_LD_CONTACT
mZeroTest1
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrBrixOutSpec_Fault
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 1
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
1
_EXPRESSION
_POSITIV
MOVE
_EXPRESSION
_POSITIV
_OUTPUTS : 2
_OUTPUT
_POSITIV
_NO_SET
gProdRunSyrMFMFact
_OUTPUT
_POSITIV
_NO_SET
mSyrMFMFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
mProdSyrFactAcq
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
mSyrupFactFlt
_BOX_EXPR : 3
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
mProdSyrFact
_OPERAND
_EXPRESSION
_POSITIV
12
_OPERAND
_EXPRESSION
_POSITIV
TRUE
_EXPRESSION
_POSITIV
LowPassFilter
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gProdRunSyrFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
mProdSyrFactAcq
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
mSyrupMFMFactFlt
_BOX_EXPR : 3
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
mSyrMFMFact
_OPERAND
_EXPRESSION
_POSITIV
12
_OPERAND
_EXPRESSION
_POSITIV
TRUE
_EXPRESSION
_POSITIV
LowPassFilter
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gProdRunSyrMFMFact
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gAlwaysOff
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Request
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 2
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
gProdRunSyrFact
_OPERAND
_EXPRESSION
_POSITIV
gH_A_Recipe_SyrupFactor
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
_OUTPUTS : 2
_OUTPUT
_POSITIV
_NO_SET
gH_A_Recipe_SyrupFactor
_OUTPUT
_POSITIV
_NO_SET
gActualRecipe_Syrup_Brix_Fact
_ASSIGN
_OPERATOR
_BOX_EXPR : 1
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
TRUE
_EXPRESSION
_POSITIV
MOVE
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gH_SyrFactUpdate
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderBlending
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
gR_Out_SYR_PID
_OPERAND
_EXPRESSION
_POSITIV
95.0
_EXPRESSION
_POSITIV
GT
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gMinRatio
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderBlending
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
gH_SyrupBrixCorrection
_OPERAND
_EXPRESSION
_POSITIV
52
_EXPRESSION
_POSITIV
GT
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gMaxSyrAutoCorrDone
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 2
_OUTPUT
_NEGATIV
_SET
gMinRatio
_OUTPUT
_NEGATIV
_SET
gMaxSyrAutoCorrDone
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gSyrAutoCorr_Latch
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gH_SyrBrixAutoRun
_NETWORK
_COMMENT
Message Syrup Autocorrection Running TO HMI
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gSyrAutoCorr_Running
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gH_Status004
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gSyrRunOut_Latch
_EXPRESSION
_POSITIV
_LD_OR
_LD_OPERATOR : 2
_LD_CONTACT
gMaxSyrAutoCorrDone
_EXPRESSION
_POSITIV
_LD_CONTACT
gMinRatio
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gSyrAutoCorr_Request
_EXPRESSION
_POSITIV
_LD_CONTACT
mLatchONS
_EXPRESSION
_NEGATIV
_LD_CONTACT
gSyrRunOut_Latch
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrAutoCorr_Running
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gSyrAutoCorr_Done
END_PROGRAM
ACTION SyrupCorrPerc:
IF gSyrAutoCorr_Latch AND gActualRecipe_Syrup_Brix_Fact<>0 AND gActualRecipe_Syrup_Brix<>0 THEN
gH_SyrupBrixCorrection := 100.0 - (gActualSyrupBrix / (gActualRecipe_Syrup_Brix * gActualRecipe_Syrup_Brix_Fact) * 100.0) ;
ELSE
gH_SyrupBrixCorrection := 0.0 ;
END_IF
END_ACTION