Files
6040-003/KUKA/KRC/R1/Program/MainModule.src

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