75 lines
1.5 KiB
Plaintext
75 lines
1.5 KiB
Plaintext
|
|
&ACCESS RVO
|
||
|
|
&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
|
||
|
|
PTP $POS_INT:{z 20}
|
||
|
|
$FLAG[10]=TRUE
|
||
|
|
INTERRUPT ON 24
|
||
|
|
END
|