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

79 lines
1.7 KiB
Plaintext
Raw Normal View History

2026-03-02 16:05:08 +08:00
&ACCESS RVO
2026-02-06 19:32:09 +08:00
&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
2026-03-02 16:05:08 +08:00
;FOLD PTP $POS_ACT Tool[1] Base[1]
2026-02-06 19:32:09 +08:00
BAS(#INITMOV, 0)
2026-03-02 16:05:08 +08:00
BAS(#BASE, 1)
BAS(#TOOL, 1)
2026-02-06 19:32:09 +08:00
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
2026-02-11 17:34:41 +08:00
WAIT FOR (I_Cmd > 0) AND (I_CmdCount <> Q_CmdCountRet) AND (Q_Cmd_Running==0)
2026-02-06 19:32:09 +08:00
CmdSave = I_Cmd
2026-02-11 17:34:41 +08:00
CmdCountLast=I_CmdCount
2026-02-06 19:32:09 +08:00
Q_Cmd_Running=CmdSave
2026-02-11 17:34:41 +08:00
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)
2026-02-06 19:32:09 +08:00
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
2026-02-08 16:40:58 +08:00
BAS(#BASE, 1)
BAS(#TOOL, 1)
LIN_REL {Z 20}
2026-02-06 19:32:09 +08:00
INTERRUPT ON 24
END