79 lines
1.7 KiB
Plaintext
79 lines
1.7 KiB
Plaintext
&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 <> Q_CmdCountRet) AND (Q_Cmd_Running==0)
|
|
CmdSave = I_Cmd
|
|
CmdCountLast=I_CmdCount
|
|
Q_Cmd_Running=CmdSave
|
|
PickOffsetX_Save=GetInt16(I_PickOffsetX)
|
|
PickOffsetY_Save=GetInt16(I_PickOffsetY)
|
|
PickOffsetZ_Save=GetInt16(I_PickOffsetZ)
|
|
PlaceOffsetX_Save=GetInt16(I_PlaceOffsetX)
|
|
PlaceOffsetY_Save=GetInt16(I_PlaceOffsetY)
|
|
PlaceOffsetZ_Save=GetInt16(I_PlaceOffsetZ)
|
|
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)
|
|
LIN_REL {Z 20}
|
|
INTERRUPT ON 24
|
|
END |