1.安装
代码
'/***************************机器初始化*******************************/
*ALL_INIT: '复位(信号,变量及位置初始化)
'复位信号
SPEED 50
RESET DO2(7,1,2,3,0)
DO(27)=0
'工作参数
SPEED_H!=100
SPEED_M!=80
S_L!=10
CONTPLS 10000
SAFE_H!=10
'定义变量
ASTEP!=0 '机器人运行步骤
YANGJI!=0
YINJI!=0
GEZHI!=0
ZHU!=0
'回到原点
P1000=WHRXY '当前点
LOC3(P1000)=0
MOVE L,P1000
WAIT ARM
IF LOC1(P1000)>330 AND LOC2(P1000)>-10 THEN ''/阴极区域回原点/
MOVE L,YIN_PUT_GUODU_1,VEL=SPEED_H! '阴极过渡位
MOVE L,YANG_PUT_GUODU_4,VEL=SPEED_H!
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!
ELSEIF LOC1(P1000)<-196 AND LOC1(P1000)>-436 AND LOC2(P1000)>600 THEN ''/原点区域回原点/
MOVE L,HOME,VEL=SPEED_H! '阳极过渡位
ELSEIF LOC1(P1000)<330 AND LOC1(P1000)>=-196 AND LOC2(P1000)>600 THEN ''/原点区域回原点/
IF LOC4(P1000)<-150 THEN
MOVE P,G_Z_PUT_H,S=S_L!
MOVE L,YANG_PUT_GUODU_4,VEL=SPEED_H!
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!
ELSE
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!
ENDIF
ELSEIF LOC1(P1000)<-436 AND LOC2(P1000)>20 THEN ''/阳极区域回原点/
IF LOC2(P1000)<433 THEN
MOVE L,YANG_PUT_GUODU_1,VEL=SPEED_H! '阳极过渡位
MOVE L,YANG_PUT_GUODU_2,VEL=SPEED_H!
ELSE
MOVE L,YANG_PUT_GUODU_2,VEL=SPEED_H!
ENDIF
ENDIF
MOVE L,HOME,VEL=SPEED_H! ''/吸盘有料抛料/
WAIT ARM
IF DI(25)=1 THEN
BASE_HIGH=YANG_PUT_H
BASE_LOW=YANG_PUT_H
LOC3(BASE_LOW)=LOC3(BASE_LOW) +20
'---------------------------------------------
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!,CONT
MOVE L,BASE_LOW,VEL=SPEED_H!,CONT
WAIT ARM
DO(25)=0
DELAY 200
MOVE L,YANG_PUT_H,VEL=SPEED_M!,CONT
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!,CONT
ENDIF
IF DI(26)=1 THEN
BASE_HIGH=G_Z_PUT_H
BASE_LOW=G_Z_PUT_H
LOC3(BASE_LOW)=LOC3(BASE_LOW)+20
'---------------------------------------------
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_M!
MOVE L,YANG_PUT_GUODU_4,VEL=SPEED_M!
MOVE P,BASE_LOW,S=S_L!
WAIT ARM
DO(26)=0 '机器人真空吸
DELAY 200
MOVE L,G_Z_PUT_H,VEL=SPEED_M!
MOVE P,YANG_PUT_GUODU_4,S=S_L!
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_M!
ENDIF
MOVE L,HOME,VEL=SPEED_H!
DO(27)=1
HOLD
'/***************************机器初始化*******************************/
'/********************************************************************/
'/*****************************主程序*********************************/
'/********************************************************************/
*MAIN:
'/****************************取料流程********************************/
'---------------------------阳极取料流程------------------------------
IF YANGJI!=0 AND DI(20)=1 AND ASTEP!=0 THEN
'---------------------------------------------
DO(27)=0
BASE_HIGH=YANG_PICK
LOC3(BASE_HIGH)=0
BASE_LOW=YANG_PICK
LOC3(BASE_LOW)=LOC3(BASE_LOW) - SAFE_H!
BASE=YANG_PICK
MOVE L,YANG_PUT_GUODU_2,VEL=SPEED_H!,CONT
MOVE L,YANG_PUT_GUODU_1,VEL=SPEED_H!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
MOVE L,BASE_LOW,VEL=SPEED_H!,CONT
MOVE L,BASE,VEL=SPEED_M!
WAIT ARM
DO(20)=1
DO(25)=1 '机器人真空吸
DELAY 300
WAIT DI(25)=1
WAIT DI(20)=0
MOVE L,BASE_LOW,VEL=SPEED_M!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
MOVE L,YANG_PUT_GUODU_1,VEL=SPEED_H!,CONT
MOVE L,YANG_PUT_GUODU_2,VEL=SPEED_H!,CONT
WAIT ARM
YANGJI!=1
DO(20)=0
ASTEP!=1
MOVE L,HOME,VEL=SPEED_H!
DO(27)=1
ENDIF
'---------------------------阳极取料流程------------------------------
'---------------------------阳极放料流程------------------------------
IF YANGJI!=1 AND DI(23)=1 AND ASTEP!=1 THEN
'---------------------------------------------
BASE_HIGH=YANG_PUT_H
LOC3(BASE_HIGH)=0
BASE_LOW=YANG_PUT_H
LOC3(BASE_LOW)=LOC3(BASE_LOW) + SAFE_H!
LOC3(YANG_PUT)=29 + (ZHU!*3+1)
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_M!,CONT
MOVE L,BASE_LOW,VEL=SPEED_H!,CONT
MOVE L,YANG_PUT,VEL=SPEED_M!
WAIT ARM
DO(25)=0 '机器人真空吸
DELAY 200
WAIT DI(25)=0
MOVE L,BASE_LOW,VEL=SPEED_M!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!
WAIT ARM
DO(23)=1
WAIT DI(23)=0
DO(23)=0
ASTEP!=2
YANGJI!=0
ENDIF
'---------------------------阳极放料流程------------------------------
'--------------------------取阴极和隔纸流程------------------------------
IF YINJI!=0 AND GEZHI!=0 AND DI(21)=1 AND DI(22)=1 AND ASTEP!=2 THEN
'---------------------------------------------
BASE_HIGH=YIN_PICK
LOC3(BASE_HIGH)=0
BASE_LOW=YIN_PICK
LOC3(BASE_LOW)=LOC3(BASE_LOW) - SAFE_H!
BASE=YIN_PICK
MOVE L,YIN_PUT_GUODU_1,VEL=SPEED_H!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
MOVE L,BASE_LOW,VEL=SPEED_H!,CONT
MOVE L,BASE,VEL=SPEED_M!
WAIT ARM
DO(21)=1
DO(22)=1
DO(25)=1 '机器人真空吸
DO(26)=1
DELAY 200
WAIT DI(25)=1
WAIT DI(26)=1
WAIT DI(21)=0
WAIT DI(22)=0
MOVE L,BASE_LOW,VEL=SPEED_M!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
WAIT ARM
YINJI!=1
GEZHI!=1
ASTEP!=3
DO(21)=0
DO(22)=0
MOVE L,YIN_PUT_GUODU_1,VEL=SPEED_H!
ENDIF
'--------------------------取阴极和隔纸流程------------------------------
'---------------------------阴极放料流程------------------------------
IF YINJI!=1 AND DI(23)=1 AND ASTEP!=3 THEN
'---------------------------------------------
BASE_HIGH=YIN_PUT_H
LOC3(BASE_HIGH)=0
LOC3(BASE_LOW)=LOC3(YIN_PUT_H)
LOC3(BASE_LOW)=LOC3(BASE_LOW) + SAFE_H!
LOC3(YIN_PUT)=29 + (ZHU!*3+2)
MOVE L,YANG_PUT_GUODU_4,VEL=SPEED_H!,CONT
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
MOVE L,YIN_PUT,VEL=SPEED_M!
WAIT ARM
DO(25)=0 '机器人真空吸
DELAY 200
WAIT DI(25)=0
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
WAIT ARM
YINJI!=0
ASTEP!=4
ENDIF
'---------------------------阴极放料流程------------------------------
'---------------------------隔纸放料流程------------------------------
IF GEZHI!=1 AND ASTEP!=4 THEN
'---------------------------------------------
BASE_HIGH=G_Z_PUT_H
LOC3(BASE_HIGH)=0
BASE_LOW=G_Z_PUT_H
LOC3(BASE_LOW)=LOC3(BASE_LOW) + SAFE_H!
LOC3(G_Z_PUT)=29 + (ZHU!*3+3)
MOVE P,BASE_HIGH,S=S_L!,CONT
MOVE L,G_Z_PUT,VEL=SPEED_M!
WAIT ARM
DO(26)=0 '机器人真空吸
DELAY 200
WAIT DI(26)=0
MOVE L,BASE_HIGH,VEL=SPEED_H!,CONT
MOVE P,YANG_PUT_GUODU_4,S=S_L!
MOVE L,YANG_PUT_GUODU_3,VEL=SPEED_H!
MOVE L,HOME,VEL=SPEED_H!
WAIT ARM
DO(23)=1
GEZHI!=0
ASTEP!=0
WAIT DI(23)=0
DO(23)=0
ZHU!=ZHU!+1
IF ZHU!=11 THEN
ZHU!=0
ENDIF
ENDIF
'---------------------------隔纸放料流程------------------------------
GOTO *MAIN:
'/*****************************主程序*********************************/
'/********************************************************************/