(* @PATH := '\/TASK2_ControlMain\/Blender_Logic' *) (* @SYMFILEFLAGS := '59392' *) PROGRAM mPDS1000_Control VAR mTmrReset : TP ; mReset : BOOL ; mCountError : INT ; mDelayToEn : TOF ; mTmrFault : TOF ; mPDS1000_Block : ADSREAD ; mPDS1000_Busy : BOOL ; mPDS1000_Read : BOOL ; mPDS1000_Error : BOOL ; mPDS1000_ErrorCode : UDINT ; mNoFault : BOOL ; mWarnCode : INT ; mWarn : BOOL ; mBadValue : BOOL ; mBadValueTmr : TON ; mDummy : BOOL ; END_VAR VAR_OUTPUT EN_Out : BOOL ; END_VAR (* @END_DECLARATION := '0' *) _LD_BODY _NETWORKS : 4 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_OR _LD_OPERATOR : 2 _LD_CONTACT gSystem_Task_Info[3].active _EXPRESSION _NEGATIV _LD_CONTACT gmPDS1000_Block.ComError _EXPRESSION _POSITIV _EXPRESSION _POSITIV _FUNCTIONBLOCK mTmrReset _BOX_EXPR : 2 _EMPTY _OPERAND _EXPRESSION _POSITIV t#2s _EXPRESSION _POSITIV TP _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mReset _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gH_Blender_OPT_SyrBrixMeter _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 2 _ASSIGN _FUNCTIONBLOCK ??? _BOX_EXPR : 0 _ENABLED _EXPRESSION _POSITIV mPDS1000_Control.Read_mPDS1000 _OUTPUTS : 0 _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mDummy _ASSIGN _FUNCTIONBLOCK ??? _BOX_EXPR : 0 _ENABLED _EXPRESSION _POSITIV mPDS1000_Control.Write_mPDS1000 _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 : 7 _LD_CONTACT gH_Blender_OPT_SyrBrixMeter _EXPRESSION _POSITIV _LD_CONTACT gSyrLineMFMPrep_Done _EXPRESSION _POSITIV _LD_CONTACT gBlenderProdMode _EXPRESSION _POSITIV _LD_CONTACT gBlenderRinseMode _EXPRESSION _NEGATIV _LD_CONTACT gBlenderBlending _EXPRESSION _NEGATIV _FUNCTIONBLOCK mDelayToEn _BOX_EXPR : 2 _EMPTY _OPERAND _EXPRESSION _POSITIV t#5s _EXPRESSION _POSITIV TOF _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _LD_CONTACT gDensimeterCal_Latch _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gFreezeSyrupMeter _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gFreezeSyrupMeter _EXPRESSION _NEGATIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gH_mPDS1000_Run END_PROGRAM ACTION Read_mPDS1000: _LD_BODY _NETWORKS : 17 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_CONTACT mPDS1000_Read _EXPRESSION _NEGATIV _LD_CONTACT mPDS1000_Busy _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mPDS1000_Read _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTIONBLOCK mPDS1000_Block _BOX_EXPR : 8 _ENABLED _OPERAND _EXPRESSION _POSITIV gBlenderAMS_NET_ID _OPERAND _EXPRESSION _POSITIV 811 _OPERAND _EXPRESSION _POSITIV 16#00004020 _OPERAND _EXPRESSION _POSITIV 16#00000064 _OPERAND _EXPRESSION _POSITIV 52 _OPERATOR _BOX_EXPR : 1 _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block _EXPRESSION _POSITIV ADR _OPERAND _EXPRESSION _POSITIV mPDS1000_Read _OPERAND _EXPRESSION _POSITIV t#3s _EXPRESSION _POSITIV ADSREAD _OUTPUTS : 2 _OUTPUT _POSITIV _NO_SET mPDS1000_Error _OUTPUT _POSITIV _NO_SET mPDS1000_ErrorCode _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mPDS1000_Busy ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block.SyrBrix _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 2 _OUTPUT _POSITIV _NO_SET gmPDS1000SyrBrix _OUTPUT _POSITIV _NO_SET gH_mPDS1000_Brix ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block.SyrDens _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 2 _OUTPUT _POSITIV _NO_SET gmPDS1000SyrDens _OUTPUT _POSITIV _NO_SET gH_mPDS1000_Dens ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block.SyrTemp _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 2 _OUTPUT _POSITIV _NO_SET gmPDS1000SyrTemp _OUTPUT _POSITIV _NO_SET gH_mPDS1000_Temp ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block.ErrorCode _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000ErrorCode ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 1 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000_Block.Warning _EXPRESSION _POSITIV MOVE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000String ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 3 _ENABLED _OPERATOR _BOX_EXPR : 2 _FUNCTION _BOX_EXPR : 2 _OPERAND _EXPRESSION _POSITIV gmPDS1000String _OPERAND _EXPRESSION _POSITIV 'No Osc' _EXPRESSION _POSITIV FIND _OPERAND _EXPRESSION _POSITIV 0 _EXPRESSION _POSITIV GT _OPERAND _EXPRESSION _NEGATIV gFreezeSyrupMeter _OPERAND _EXPRESSION _POSITIV gSyrLineMFMPrep_Done _EXPRESSION _POSITIV AND _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000_NoOscillation ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 3 _ENABLED _OPERATOR _BOX_EXPR : 2 _FUNCTION _BOX_EXPR : 2 _OPERAND _EXPRESSION _POSITIV gmPDS1000String _OPERAND _EXPRESSION _POSITIV 'No' _EXPRESSION _POSITIV FIND _OPERAND _EXPRESSION _POSITIV 0 _EXPRESSION _POSITIV GT _OPERAND _EXPRESSION _NEGATIV gmPDS1000_NoOscillation _OPERAND _EXPRESSION _NEGATIV gFreezeSyrupMeter _EXPRESSION _POSITIV AND _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mNoFault ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 4 _LD_CONTACT gSyrLineMFMPrep_Done _EXPRESSION _POSITIV _LD_CONTACT mWarn _EXPRESSION _NEGATIV _LD_CONTACT mNoFault _EXPRESSION _NEGATIV _FUNCTIONBLOCK mBadValueTmr _BOX_EXPR : 2 _EMPTY _OPERAND _EXPRESSION _POSITIV t#3s _EXPRESSION _POSITIV TON _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mBadValue _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _FUNCTION _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV gmPDS1000String _OPERAND _EXPRESSION _POSITIV 'Warn' _EXPRESSION _POSITIV FIND _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mWarnCode ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV mWarnCode _OPERAND _EXPRESSION _POSITIV 0 _EXPRESSION _POSITIV GT _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mWarn ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gmPDS1000_Block.ComError _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV mCountError _OPERAND _EXPRESSION _POSITIV 1 _EXPRESSION _POSITIV ADD _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET mCountError ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_CONTACT gmPDS1000_Block.ComError _EXPRESSION _NEGATIV _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 mCountError ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _EMPTY _EXPRESSION _POSITIV ENABLELIST : 1 _ASSIGN _OPERATOR _BOX_EXPR : 2 _ENABLED _OPERAND _EXPRESSION _POSITIV mCountError _OPERAND _EXPRESSION _POSITIV 3 _EXPRESSION _POSITIV GE _EXPRESSION _POSITIV _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000Error ENABLELIST_END _OUTPUTS : 0 _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 4 _LD_OR _LD_OPERATOR : 2 _LD_CONTACT gmPDS1000Error _EXPRESSION _POSITIV _LD_CONTACT mBadValue _EXPRESSION _POSITIV _EXPRESSION _POSITIV _LD_CONTACT gBlenderRinseMode _EXPRESSION _NEGATIV _LD_CONTACT gBlenderStableFlow _EXPRESSION _POSITIV _LD_CONTACT gDisableAlarmDuringCalibration _EXPRESSION _NEGATIV _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gmPDS1000_Error_Fault _NETWORK _COMMENT _END_COMMENT _LD_ASSIGN _LD_AND _LD_OPERATOR : 2 _LD_CONTACT gmPDS1000_Error_Fault _EXPRESSION _POSITIV _FUNCTIONBLOCK mTmrFault _BOX_EXPR : 2 _EMPTY _OPERAND _EXPRESSION _POSITIV t#10s _EXPRESSION _POSITIV TOF _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET _EMPTY _EXPRESSION _POSITIV _EXPRESSION _POSITIV ENABLELIST : 0 ENABLELIST_END _OUTPUTS : 1 _OUTPUT _POSITIV _NO_SET gH_mPDS1000_Fault END_ACTION ACTION Write_mPDS1000: IF gH_Blender_OPT_SyrBrixMeter THEN gmPDS1000Enabled := TRUE ; ELSE gmPDS1000Enabled := FALSE ; END_IF IF mReset THEN gmPDS1000Reset := TRUE ; ELSE gmPDS1000Reset := FALSE ; END_IF IF gSyrRunOut_Latch AND gAlwaysOff THEN gmPDS1000FastUpDate := TRUE ; ELSE gmPDS1000FastUpDate := FALSE ; END_IF END_ACTION