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

972 lines
11 KiB
Plaintext

(* @PATH := '\/TASK2_ControlMain\/Blender_Procedure' *)
(* @SYMFILEFLAGS := '59392' *)
PROGRAM FirstProduction
VAR
mFirstProdONS : R_TRIG ;
mFirstProdTP : TP ;
mFirstProdTP1 : TP ;
mAuxONS : R_TRIG ;
mAuxTP : TP ;
mTimeDone : TON ;
mSwitchLevel : REAL ;
mSyrupCount : REAL ;
mSyrupCountInit : REAL ;
mFirstProdSR : SR ;
mFirstProdCountDone : BOOL ;
mInitialSyrupOk : BOOL ;
mDelaySyrOk : TON ;
mDummy : BOOL ;
END_VAR
VAR_OUTPUT
EN_Out : BOOL ;
END_VAR
(* @END_DECLARATION := '0' *)
_LD_BODY
_NETWORKS : 17
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gBlenderProdMode
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderRinseMode
_EXPRESSION
_NEGATIV
_LD_OR
_LD_OPERATOR : 2
_LD_CONTACT
gBlenderSuppliesOk
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Qualifier
_NETWORK
_COMMENT
Exceptionally the Request Bit is Latched in order TO save it FOR the next Production switching.
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 4
_LD_CONTACT
gBlenderCIPMode
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gFastChangeOverActivated
_EXPRESSION
_NEGATIV
_LD_OR
_LD_OPERATOR : 3
_LD_CONTACT
gFirstProd_Request
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderRinseMode
_EXPRESSION
_POSITIV
_LD_CONTACT
gProdPipeRunOut_Done
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 5
_LD_CONTACT
gH_CMD_FirstProduction
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_NEGATIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_LD_CONTACT
gFastChangeOverActivated
_EXPRESSION
_NEGATIV
_FUNCTIONBLOCK
mFirstProdTP
_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 : 4
_LD_CONTACT
gFastChangeOverActivated
_EXPRESSION
_POSITIV
_LD_CONTACT
gFastRinse_Done
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderAlarm
_EXPRESSION
_NEGATIV
_FUNCTIONBLOCK
mFirstProdTP1
_BOX_EXPR : 2
_EMPTY
_OPERAND
_EXPRESSION
_POSITIV
t#1s
_EXPRESSION
_POSITIV
TP
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
_EMPTY
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Request
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 3
_LD_CONTACT
gFirstProd_Qualifier
_EXPRESSION
_NEGATIV
_LD_CONTACT
gBlenderRinse_DoneONS
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 4
_LD_CONTACT
gFastChangeOverActivated
_EXPRESSION
_NEGATIV
_LD_CONTACT
gFirstProd_Request
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mFirstProdONS
_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
gFirstProd_Reset
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gFirstProd_Reset
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
???
_BOX_EXPR : 0
_ENABLED
_EXPRESSION
_POSITIV
FirstProduction.Reset
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mDummy
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
Waits UNTIL Production is Selected
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 5
_LD_CONTACT
gBlenderProdMode
_EXPRESSION
_NEGATIV
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gBlenderProdMode
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderRun_Running
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderRinseMode
_EXPRESSION
_POSITIV
_LD_CONTACT
gAirLowPress_Fault
_EXPRESSION
_POSITIV
_LD_CONTACT
gCO2LowPress_Fault
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Wait
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Running
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mFirstProdSR
_BOX_EXPR : 2
_EMPTY
_OPERAND
_EXPRESSION
_POSITIV
gFirstProd_Done
_EXPRESSION
_POSITIV
SR
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProdLatched
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Running
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_SET
gFirstProdStop
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProdStop
_EXPRESSION
_POSITIV
_LD_OR
_LD_OPERATOR : 2
_LD_CONTACT
gBlenderLevelTarget
_EXPRESSION
_NEGATIV
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gH_Blender_OPT_Simulation
_EXPRESSION
_NEGATIV
_LD_CONTACT
gWorkshopTest
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_NEGATIV
_SET
gFirstProdStop
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gSyrLineMFMPrep_Done
_EXPRESSION
_POSITIV
_LD_CONTACT
gPV_SyrDensOk
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProdLatched
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 1
_ENABLED
_OPERAND
_EXPRESSION
_POSITIV
gH_SyrupTotalizerLt
_EXPRESSION
_POSITIV
MOVE
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mSyrupCountInit
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
During Fisrt Production the SyrupRunOutLiters Parameters is multiplied BY 1.3 (30% more syrup) AND used
TO state when all the Low Brix Syrup is ran Out.
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gPV_SyrDensOk
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProdLatched
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_OPERATOR
_BOX_EXPR : 2
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gSyrupTotal
_OPERAND
_EXPRESSION
_POSITIV
gActualSyrupDens
_EXPRESSION
_POSITIV
DIV
_OPERAND
_EXPRESSION
_POSITIV
mSyrupCountInit
_EXPRESSION
_POSITIV
SUB
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gH_ProcessSetup_SyrupRunOutLiters
_OPERAND
_EXPRESSION
_POSITIV
1.0
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
GT
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mFirstProdCountDone
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 3
_LD_OR
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Request
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Reset
_EXPRESSION
_NEGATIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 3
_OUTPUT
_POSITIV
_NO_SET
gH_FirstProdRun
_OUTPUT
_POSITIV
_NO_SET
gH_Status006
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Latch
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_POSITIV
_LD_CONTACT
gFirstProd_Wait
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Running
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Running
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mAuxTP
_BOX_EXPR : 2
_EMPTY
_OPERAND
_EXPRESSION
_POSITIV
t#1s
_EXPRESSION
_POSITIV
TP
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
_EMPTY
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
???
_BOX_EXPR : 0
_ENABLED
_EXPRESSION
_POSITIV
FirstProduction.ResetTotalizers
_OUTPUTS : 0
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mDummy
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gAlwaysOff
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 1
_FUNCTIONBLOCK
_FBD_PROGRAM
_BOX_EXPR : 0
_ENABLED
_EXPRESSION
_POSITIV
FirstProduction.SwitchLevel
_OUTPUTS : 0
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_EMPTY
_EXPRESSION
_POSITIV
ENABLELIST : 1
_ASSIGN
_FUNCTIONBLOCK
mDelaySyrOk
_BOX_EXPR : 2
_ENABLED
_OPERATOR
_BOX_EXPR : 2
_OPERATOR
_BOX_EXPR : 1
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gMeterSyrBrix
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_Syrup_Brix_Fact
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
SUB
_EXPRESSION
_POSITIV
ABS
_OPERATOR
_BOX_EXPR : 2
_OPERAND
_EXPRESSION
_POSITIV
gActualRecipe_SP_MaxDeltaBrix
_OPERAND
_EXPRESSION
_POSITIV
0.8
_EXPRESSION
_POSITIV
MUL
_EXPRESSION
_POSITIV
LT
_OPERAND
_EXPRESSION
_POSITIV
t#1s
_EXPRESSION
_POSITIV
TON
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
_EMPTY
_EXPRESSION
_POSITIV
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
mInitialSyrupOk
ENABLELIST_END
_OUTPUTS : 0
_NETWORK
_COMMENT
First production stops when product tank level gets MAX Lvel (80%) OR when the Syrup Brix Error is minimum.
_END_COMMENT
_LD_ASSIGN
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Latch
_EXPRESSION
_POSITIV
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gBlenderStopLevel
_EXPRESSION
_POSITIV
_LD_CONTACT
gBlenderRinseMode
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 3
_LD_CONTACT
gBlenderBlending
_EXPRESSION
_POSITIV
_LD_OR
_LD_OPERATOR : 2
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gBlenderLevelTarget
_EXPRESSION
_POSITIV
_LD_CONTACT
mInitialSyrupOk
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_CONTACT
gSyrupRoomEn
_EXPRESSION
_NEGATIV
_EXPRESSION
_POSITIV
_FUNCTIONBLOCK
mTimeDone
_BOX_EXPR : 2
_EMPTY
_OPERAND
_EXPRESSION
_POSITIV
t#10s
_EXPRESSION
_POSITIV
TON
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
_EMPTY
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_LD_AND
_LD_OPERATOR : 2
_LD_CONTACT
gFirstProd_Reset
_EXPRESSION
_NEGATIV
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gFirstProd_Done
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_LD_CONTACT
gFirstProd_Done
_EXPRESSION
_POSITIV
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 1
_OUTPUT
_POSITIV
_NO_SET
gH_FirstProductionDone
END_PROGRAM
ACTION Reset:
mFirstProdCountDone := FALSE ;
gFirstProdLatched := FALSE ;
gFirstProd_Done := FALSE ;
END_ACTION
ACTION ResetTotalizers:
_LD_BODY
_NETWORKS : 1
_NETWORK
_COMMENT
_END_COMMENT
_LD_ASSIGN
_EMPTY
_EXPRESSION
_POSITIV
ENABLELIST : 0
ENABLELIST_END
_OUTPUTS : 4
_OUTPUT
_POSITIV
_NO_SET
gWaterVFMResetTot
_OUTPUT
_POSITIV
_NO_SET
gSyrupMFMResetTot
_OUTPUT
_POSITIV
_NO_SET
gCO2MFMResetTot
_OUTPUT
_POSITIV
_NO_SET
gProductMFMResetTot
END_ACTION
ACTION SwitchLevel:
IF gActualRecipe_SP_Tank_Press>0 THEN
mSwitchLevel :=(1 - gCO2EqPressure / gActualRecipe_SP_Tank_Press) * 100 ;
END_IF
END_ACTION