&ACCESS RVP &REL 1 DEF MainModule() ;FOLD INI ;FOLD BASISTECH INI GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM() INTERRUPT ON 3 ;ENDFOLD ;FOLD USER INI ;Make your modifications here ;ENDFOLD ;ENDFOLD $CYCFLAG[1]=(I_GripSafty1 == FALSE) OR (I_GripSafty2==FALSE) INTERRUPT DECL 24 WHEN $CYCFLAG[1] DO StopSafty() INTERRUPT ON 24 ;FOLD PTP $POS_ACT Tool[0] Base[0] BAS(#INITMOV, 0) BAS(#BASE, 0) BAS(#TOOL, 0) PTP $POS_ACT ;ENDFOLD $ov_pro=40 LOOP AutoRun() ENDLOOP END DEF AutoRun() IF I_ProductType <> PdtTypeLast THEN MsgNotify("PdtType is Change", "SafeErr") Q_Error1=TRUE $FLAG[10]=TRUE HALT ENDIF PdtTypeLast=I_ProductType WAIT FOR (I_Cmd > 0) AND (I_CmdCount <> CmdCountLast) AND (Q_Cmd_Running==0) CmdSave = I_Cmd CmdCountLast = I_CmdCount Q_Cmd_Running=CmdSave OffsetX_Save=I_OffsetX OffsetY_Save=I_OffsetY CountX_Save=I_CountX CountY_Save=I_CountY SWITCH CmdSave CASE 1 FeedBelt1Pick() CASE 2 FeedBelt2Pick() CASE 3 ReFeedBeltPick() CASE 4 WaterBeltPick() CASE 5 NgBeltPlace() CASE 10 Pallet1Place() CASE 11 Pallet2Place() ENDSWITCH END DEF StopSafty() INTERRUPT OFF 24 BRAKE F BAS(#BASE, 1) BAS(#TOOL, 1) PTP $POS_INT:{z 20} $FLAG[10]=TRUE INTERRUPT ON 24 END