(* @PATH := '\/TASK2_ControlMain\/Blender_Procedure' *) (* @SYMFILEFLAGS := '59392' *) PROGRAM Densimeter_Calibration VAR mDensONS : R_TRIG ; mSyrupStarted : BOOL ; mStepNum : INT ; mTimeStep : INT ; mDensStepMove : _StepMove ; mAuxStep : INT ; mSyrupGainOk : BOOL ; mCommandExecuted : BOOL ; mSyrGain : REAL ; mSyrBx : REAL ; mCalDlyOff : TOF ; mSyrGainFlt : LowPassFilter ; mSyrGainFltd : REAL ; mDummy : BOOL ; END_VAR VAR_OUTPUT EN_Out : BOOL ; END_VAR (* @END_DECLARATION := '0' *) _LD_BODY _NETWORKS : 16 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 9 _LD_CONTACT gAlwaysOff _EXPRESSION _POSITIV _LD_CONTACT gBlenderProdMode _EXPRESSION _POSITIV _LD_CONTACT gSugarBeverage _EXPRESSION _POSITIV _LD_CONTACT gSyrLineMFMPrep_Done _EXPRESSION _POSITIV _LD_CONTACT gFirstProd_Done _EXPRESSION _POSITIV _LD_CONTACT gBlenderSuppliesOk _EXPRESSION _POSITIV _LD_CONTACT mSyrupStarted _EXPRESSION _POSITIV _LD_CONTACT gBlenderRun_Latch _EXPRESSION _NEGATIV _LD_CONTACT gSyrRunOut_Done _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Qualifier _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_OR _LD_OPERATOR : 2 _LD_CONTACT gBlenderCIPMode _EXPRESSION _POSITIV _LD_AND _LD_OPERATOR : 2 _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _LD_CONTACT gEmergencyPressed _EXPRESSION _POSITIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Reset _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_OR _LD_OPERATOR : 2 _LD_CONTACT gDensimeterCal_Reset _EXPRESSION _POSITIV _LD_CONTACT gDensimeterCal_Request _EXPRESSION _POSITIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK ??? _BOX_EXPR : 0 _ENABLED _EXPRESSION _POSITIV Densimeter_Calibration._DensimeterCal_Reset _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 : 3 _LD_CONTACT gH_CMD_SyrDensimeterCal _EXPRESSION _POSITIV _FUNCTIONBLOCK mDensONS _BOX_EXPR : 1 _EMPTY _EXPRESSION _POSITIV R_TRIG _OUTPUTS : 0 _LD_CONTACT gDensimeterCal_Qualifier _EXPRESSION _POSITIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Request _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gAlwaysOff _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Wait _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 3 _LD_OR _LD_OPERATOR : 2 _LD_CONTACT gDensimeterCal_Request _EXPRESSION _POSITIV _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _EXPRESSION _POSITIV _LD_CONTACT gDensimeterCal_Reset _EXPRESSION _NEGATIV _LD_CONTACT gDensimeterCal_Done _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Latch _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gDensimeterCal_Done _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 2 _OUTPUT _NEGATIV _SET gDensimeterCal_Done _OUTPUT _NEGATIV _SET gmPDS1000SetCommand _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _FUNCTIONBLOCK mCalDlyOff _BOX_EXPR : 2 _EMPTY _OPERAND _EXPRESSION _POSITIV t#6s _EXPRESSION _POSITIV TOF _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDisableAlarmDuringCalibration _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK ??? _BOX_EXPR : 0 _ENABLED _EXPRESSION _POSITIV Densimeter_Calibration._DensimeterCal_Sequencer _OUTPUTS : 0 _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mDummy ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gH_SyrDensimeterCalRun _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _POSITIV _LD_CONTACT gDensimeterCal_Wait _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Running _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV 'GAIN-BRIX' _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000Command ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT gActualRecipe_Syrup_Brix _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 2 _ASSIGN _OPERATOR _BOX_EXPR : 3 _ENABLED _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Latch _OPERAND _EXPRESSION _POSITIV gActualRecipe_Syrup_Brix _OPERAND _EXPRESSION _POSITIV gmPDS1000SyrBrix _EXPRESSION _POSITIV SEL _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mSyrBx _ASSIGN _OPERATOR _BOX_EXPR : 3 _ENABLED _OPERAND _EXPRESSION _POSITIV 0.5 _OPERAND _EXPRESSION _POSITIV mSyrBx _OPERAND _EXPRESSION _POSITIV 100 _EXPRESSION _POSITIV LIMIT _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mSyrBx ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_CONTACT gSyrLineMFMPrep_Done _EXPRESSION _POSITIV _LD_CONTACT gSugarBeverage _EXPRESSION _POSITIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 3 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV gActualRecipe_Syrup_Brix _OPERAND _EXPRESSION _POSITIV mSyrBx _EXPRESSION _POSITIV DIV _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mSyrGain _ASSIGN _FUNCTIONBLOCK mSyrGainFlt _BOX_EXPR : 3 _ENABLED _OPERAND _EXPRESSION _POSITIV mSyrGain _OPERAND _EXPRESSION _POSITIV 30 _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Latch _EXPRESSION _POSITIV LowPassFilter _OUTPUTS : 0 _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mSyrGainFltd _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV mSyrGainFltd _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000CommandVal ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV gH_SyrupTotalizerLt _OPERATOR _BOX_EXPR : 2 _OPERAND _EXPRESSION _POSITIV gH_ProcessSetup_SyrupRunOutLiters _OPERAND _EXPRESSION _POSITIV 1.8 _EXPRESSION _POSITIV MUL _EXPRESSION _POSITIV GT _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mSyrupStarted ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gDensimeterCal_Qualifier _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gH_SyrDensimeterCalShow END_PROGRAM ACTION _DensimeterCal_Reset: _LD_BODY _NETWORKS : 3 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV 0 _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV 0 _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mTimeStep ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _NEGATIV _SET gDensimeterCal_Done END_ACTION ACTION _DensimeterCal_Sequencer: CASE mStepNum OF 0: DensCal_Step_0 ; 1: DensCal_Step_1 ; 2: DensCal_Step_2 ; 3: DensCal_Step_3 ; 4: DensCal_Step_4 ; 5: DensCal_Step_5 ; 6: ; 7: ; 8: ; ELSE ; END_CASE END_ACTION ACTION DensCal_Step_0: _LD_BODY _NETWORKS : 2 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 2 _OUTPUT _POSITIV _SET gSp_SyrRoomPump _OUTPUT _POSITIV _SET gSp_EV03 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 3 _ENABLED _OPERAND _EXPRESSION _POSITIV gSyrupTankMinLvlAux _OPERAND _EXPRESSION _POSITIV mStepNum _OPERAND _EXPRESSION _POSITIV 1 _EXPRESSION _POSITIV SEL _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 END_ACTION ACTION DensCal_Step_1: _LD_BODY _NETWORKS : 1 _NETWORK _COMMENT Step 1: Ceck IF Syrup Tank minimum level _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK mDensStepMove _BOX_EXPR : 6 _ENABLED _OPERAND _EXPRESSION _POSITIV mStepNum _OPERAND _EXPRESSION _POSITIV 2 _OPERAND _EXPRESSION _POSITIV t#6s _OPERAND _EXPRESSION _POSITIV gSyrupTankMinLvlAux _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Wait _EXPRESSION _POSITIV _StepMove _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 END_ACTION ACTION DensCal_Step_2: _LD_BODY _NETWORKS : 2 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 2 _OUTPUT _POSITIV _SET gSp_P2 _OUTPUT _POSITIV _SET gSp_EV24 _NETWORK _COMMENT Step 2: Syrup Recirculation _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK mDensStepMove _BOX_EXPR : 6 _ENABLED _OPERAND _EXPRESSION _POSITIV mStepNum _OPERAND _EXPRESSION _POSITIV 3 _OPERAND _EXPRESSION _POSITIV t#30s _OPERAND _EXPRESSION _POSITIV gSyrupTankMinLvlAux _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Wait _EXPRESSION _POSITIV _StepMove _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 END_ACTION ACTION DensCal_Step_3: _LD_BODY _NETWORKS : 3 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gH_mPDS1000_SyrupFactor _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000CommandVal ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000SetCommand _NETWORK _COMMENT Step 3: Send Command GAIN_BRIX TO Densimeter _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK mDensStepMove _BOX_EXPR : 6 _ENABLED _OPERAND _EXPRESSION _POSITIV mStepNum _OPERAND _EXPRESSION _POSITIV 4 _OPERAND _EXPRESSION _POSITIV t#0s _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Wait _EXPRESSION _POSITIV _StepMove _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 END_ACTION ACTION DensCal_Step_4: _LD_BODY _NETWORKS : 2 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000String _OPERAND _EXPRESSION _POSITIV 'Locked' _EXPRESSION _POSITIV EQ _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mCommandExecuted ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT Step 3: Wait Response From Densimeter _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK mDensStepMove _BOX_EXPR : 6 _ENABLED _OPERAND _EXPRESSION _POSITIV mStepNum _OPERAND _EXPRESSION _POSITIV 5 _OPERAND _EXPRESSION _POSITIV t#10s _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV TRUE _OPERAND _EXPRESSION _POSITIV gDensimeterCal_Wait _EXPRESSION _POSITIV _StepMove _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mStepNum ENABLELIST_END _OUTPUTS : 0 END_ACTION ACTION DensCal_Step_5: _LD_BODY _NETWORKS : 1 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gDensimeterCal_Done END_ACTION