点胶工艺中雅马哈机器人程序

该程序主要涉及机器人系统的初始化,包括信号和变量重置、工作参数设定,以及不同区域的回原点路径规划。在取料和放料流程中,根据传感器信号进行操作,如真空吸盘的控制,确保物料的精准抓取和放置。程序还包括了针对不同工件类型(如阳极、阴极和隔纸)的处理逻辑。
摘要由CSDN通过智能技术生成

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:
'/*****************************主程序*********************************/
'/********************************************************************/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值