827 lines
10 KiB
Plaintext
827 lines
10 KiB
Plaintext
|
|
(* @PATH := '\/TASK2_ControlMain\/Blender_Procedure' *)
|
|
(* @SYMFILEFLAGS := '59392' *)
|
|
PROGRAM BrixTracking
|
|
VAR
|
|
mLocalProdLevel : REAL ;
|
|
mProdQualityGood : BOOL ;
|
|
mAuxONS : R_TRIG ;
|
|
mAuxONS1 : R_TRIG ;
|
|
mLatchONS : BOOL ;
|
|
mDummy : BOOL ;
|
|
|
|
mProdBrixStat : StatisticalAnalisys ;
|
|
mProdBrixSample : INT := 35 ;
|
|
mWaitCycleToSample : INT ;
|
|
mCycleCount : INT ;
|
|
mTotalCount : INT ;
|
|
mProdRefresh : REAL ; (* Time in min to refresh all product in product tank *)
|
|
mProdRefreshS : REAL ; (* Time in sec to refresh all product in product tank *)
|
|
mAuxProdBrixCorr : REAL ;
|
|
mAuxProdBrixCorrInit : REAL ;
|
|
mStart : BOOL ;
|
|
mTakeSample : BOOL ;
|
|
mTakeProdSample : BOOL ;
|
|
mProdInit : REAL ;
|
|
mAllSamples : BOOL ;
|
|
END_VAR
|
|
|
|
VAR_OUTPUT
|
|
EN_Out : BOOL ;
|
|
END_VAR
|
|
|
|
(* @END_DECLARATION := '0' *)
|
|
_LD_BODY
|
|
_NETWORKS : 18
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 5
|
|
_LD_CONTACT
|
|
gBlenderProdMode
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gFirstProd_Done
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gProductMeterOk
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gSugarBeverage
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gWaterRecipe
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Qualifier
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gH_CMD_PrdBrixTrackingReq
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_FUNCTIONBLOCK
|
|
mAuxONS
|
|
_BOX_EXPR : 1
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
R_TRIG
|
|
_OUTPUTS : 0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Request
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Qualifier
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Reset
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 2
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProdBxStat_DevStd
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
8E-3
|
|
_EXPRESSION
|
|
_POSITIV
|
|
LT
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mProdQualityGood
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_OR
|
|
_LD_OPERATOR : 4
|
|
_LD_CONTACT
|
|
mProdQualityGood
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_LD_CONTACT
|
|
gFlowToFiller
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_LD_CONTACT
|
|
gFreezeProductMeter
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gBlenderEnToRamp
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Wait
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 3
|
|
_LD_OR
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Request
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Reset
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Done
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Latch
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_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
|
|
mLatchONS
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Wait
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Running
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Wait
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gH_Status009
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gH_PrdBrixTrackingRun
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 3
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProductTankLevel>50
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProductTankLevel
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
60
|
|
_EXPRESSION
|
|
_POSITIV
|
|
SEL
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mLocalProdLevel
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_FUNCTION
|
|
_BOX_EXPR : 1
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
mLocalProdLevel
|
|
_EXPRESSION
|
|
_POSITIV
|
|
ProductLiterInTank
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProductLitTank
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_FUNCTIONBLOCK
|
|
???
|
|
_BOX_EXPR : 0
|
|
_ENABLED
|
|
_EXPRESSION
|
|
_POSITIV
|
|
BrixTracking.ProdSamples
|
|
_OUTPUTS : 0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mDummy
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_FUNCTIONBLOCK
|
|
???
|
|
_BOX_EXPR : 0
|
|
_ENABLED
|
|
_EXPRESSION
|
|
_POSITIV
|
|
BrixTracking.SampleTimeCalc
|
|
_OUTPUTS : 0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mDummy
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_OPERATOR
|
|
_BOX_EXPR : 1
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
MOVE
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 2
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mAuxProdBrixCorr
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gBrixTrackingCorr
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Running
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gH_Status010
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_OR
|
|
_LD_OPERATOR : 3
|
|
_LD_AND
|
|
_LD_OPERATOR : 3
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Latch
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
mLatchONS
|
|
_EXPRESSION
|
|
_NEGATIV
|
|
_LD_CONTACT
|
|
gProdBrixTrack_Request
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gBlenderRinseMode
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
gBlenderCIPMode
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBrixTrack_Done
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_EMPTY
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_FUNCTIONBLOCK
|
|
???
|
|
_BOX_EXPR : 0
|
|
_ENABLED
|
|
_EXPRESSION
|
|
_POSITIV
|
|
BrixTracking.ProductQualityMonitor
|
|
_OUTPUTS : 0
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
mDummy
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
|
|
END_PROGRAM
|
|
ACTION ProdSamples:
|
|
(* Calculates the product liters during blending. Every 60 Liters of product take a sample for the statistical analisys
|
|
in order to correct the product brix *)
|
|
IF gBlenderBlending THEN
|
|
gProductTotalizerLt.i_NewValue :=gActual_Prod_Flow ;
|
|
gProductTotalizerLt.i_IntCycle := gTask02CycleTime ;
|
|
gProductTotalizerLt(Out_Integral:=gProductLiters) ;
|
|
END_IF
|
|
IF gBlenderRinseMode OR gBlenderCIPMode THEN
|
|
gProductLiters := 0.0 ;
|
|
gProductTotalizerLt(Out_Integral:=gProductLiters) ;
|
|
END_IF
|
|
IF (gProductLiters-mProdInit)>60 THEN
|
|
mTakeProdSample := TRUE ;
|
|
mProdInit := gProductLiters ;
|
|
END_IF
|
|
(*mAuxProdBrixCorr := (gActualRecipe_Beverage_Brix - gProdBxStat_MeanValue) / 2 ;*)
|
|
|
|
END_ACTION
|
|
|
|
ACTION ProductQualityMonitor:
|
|
_LD_BODY
|
|
_NETWORKS : 3
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_OR
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
mTakeSample
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_AND
|
|
_LD_OPERATOR : 2
|
|
_LD_CONTACT
|
|
gAlwaysOff
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_LD_CONTACT
|
|
mTakeProdSample
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 1
|
|
_ASSIGN
|
|
_FUNCTIONBLOCK
|
|
mProdBrixStat
|
|
_BOX_EXPR : 3
|
|
_ENABLED
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
gProductBrix
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
mProdBrixSample
|
|
_OPERAND
|
|
_EXPRESSION
|
|
_POSITIV
|
|
1
|
|
_EXPRESSION
|
|
_POSITIV
|
|
StatisticalAnalisys
|
|
_OUTPUTS : 2
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBxStat_Variance
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBxStat_DevStd
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_POSITIV
|
|
_NO_SET
|
|
gProdBxStat_MeanValue
|
|
ENABLELIST_END
|
|
_OUTPUTS : 0
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
mTakeSample
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_NEGATIV
|
|
_SET
|
|
mTakeSample
|
|
_NETWORK
|
|
|
|
_COMMENT
|
|
|
|
_END_COMMENT
|
|
_LD_ASSIGN
|
|
_LD_CONTACT
|
|
mTakeProdSample
|
|
_EXPRESSION
|
|
_POSITIV
|
|
_EXPRESSION
|
|
_POSITIV
|
|
|
|
|
|
ENABLELIST : 0
|
|
ENABLELIST_END
|
|
_OUTPUTS : 1
|
|
_OUTPUT
|
|
_NEGATIV
|
|
_SET
|
|
mTakeProdSample
|
|
|
|
END_ACTION
|
|
|
|
ACTION SampleTimeCalc:
|
|
IF gActual_Prod_SP<>0 THEN
|
|
mProdRefresh := gProductLitTank / gActual_Prod_SP ;
|
|
ELSE
|
|
mProdRefresh := 0 ;
|
|
END_IF
|
|
mProdRefreshS := mProdRefresh * 1.6 * 60 ;
|
|
|
|
IF gTask02CycleTime<>0 AND mProdBrixSample<>0 THEN
|
|
mWaitCycleToSample := REAL_TO_INT(mProdRefreshS / mProdBrixSample / gTask02CycleTime) ;
|
|
END_IF
|
|
IF mWaitCycleToSample<1 THEN
|
|
mWaitCycleToSample := 1 ;
|
|
END_IF
|
|
IF gProdBrixTrack_Latch AND NOT gFreezeProductMeter THEN
|
|
IF mCycleCount<=mWaitCycleToSample THEN
|
|
mCycleCount := mCycleCount + 1 ;
|
|
ELSE
|
|
mTakeSample := TRUE ;
|
|
mCycleCount := 0 ;
|
|
END_IF
|
|
ELSE
|
|
mTakeSample := FALSE ;
|
|
(* mCycleCount := 0 ;*)
|
|
END_IF
|
|
IF mTakeSample THEN
|
|
mTotalCount := mTotalCount + 1 ;
|
|
END_IF
|
|
|
|
IF mTotalCount>=mProdBrixSample THEN
|
|
IF gProdBrixTrack_Running THEN
|
|
IF NOT mStart THEN
|
|
mStart := TRUE ;
|
|
mAuxProdBrixCorrInit := gActualRecipe_Beverage_Brix - gProdBxStat_MeanValue ;
|
|
IF mAuxProdBrixCorr=0 THEN
|
|
mAuxProdBrixCorr := (gActualRecipe_Beverage_Brix - gProdBxStat_MeanValue) / 3 ;
|
|
END_IF
|
|
ELSE
|
|
mStart := FALSE ;
|
|
(* IF ABS(gActualRecipe_Beverage_Brix - gProdBxStat_MeanValue)<=mAuxProdBrixCorrInit THEN*)
|
|
mAuxProdBrixCorr := mAuxProdBrixCorr + (gActualRecipe_Beverage_Brix - gProdBxStat_MeanValue) / 10 ;
|
|
(* END_IF*)
|
|
END_IF
|
|
END_IF
|
|
mAllSamples := TRUE ;
|
|
mTotalCount := 0 ;
|
|
ELSE
|
|
mAllSamples := FALSE ;
|
|
END_IF
|
|
(* Check the limit boundaries to act the product tracking *)
|
|
IF gProdBrixTrack_Running THEN
|
|
IF NOT (ABS(mAuxProdBrixCorr)<gBrixTrackingMinCorr OR ABS(mAuxProdBrixCorr)>gBrixTrackingMaxCorr) THEN
|
|
gBrixTrackingCorr := mAuxProdBrixCorr ;
|
|
END_IF
|
|
END_IF
|
|
|
|
END_ACTION
|
|
|