FANUC机械手应用贴标机实例

说明

机械手与PLC使用IO板卡通讯,程序仅供验收而写的,未实际应用,仅供参考。

主要工作原理PLC给各种指令,让机械手完成贴标动作,及取料放料,其中取标信号有标就给,机械手判断先去取标,贴标还是取料,放料,取料优先,取标后才可以贴标,放料最后,但是急停后需要判断去贴标还是去放料。视觉偏移值为PC直接存PR地址。

作者只是学习半年不到的宝宝,轻喷!!

程序

1.A_HOME(急停后复位)

1:  IF ((R[66:吸嘴1拍照]=1 OR R[67:吸嘴2拍照]=1 OR R[68:吸嘴3拍照]=1 OR R[69:吸嘴4拍照]=1) THEN ;

   2:  CALL DATA_SEND('DISCONNECT','S4') ;

   3:  CALL DATA_SEND('CONNECT','S4') ;

   4:  ENDIF ;

   5:  IF (DI[102:吸嘴1负压检测]=OFF),DO[102:吸嘴1负压开关]=(OFF) ;

   6:  IF (DI[103:吸嘴2负压检测]=OFF),DO[103:吸嘴2负压开关]=(OFF) ;

   7:  IF (DI[104:吸嘴3负压检测]=OFF),DO[104:吸嘴3负压开关]=(OFF) ;

   8:  IF (DI[105:吸嘴4负压检测]=OFF),DO[105:吸嘴4负压开关]=(OFF) ;

   9:  RO[1:贴标气缸1开关]=OFF ;

  10:  RO[2:贴标气缸2开关]=OFF ;

  11:  RO[3:贴标气缸3开关]=OFF ;

  12:  RO[4:贴标气缸4开关]=OFF ;

  13:  DO[101:取料负压开关]=OFF ;

  14:  PR[10:R2相机拍照位]=LPOS-LPOS    ;

  15:  PR[10:R2相机拍照位]=LPOS    ;

  16:  PR[10,3:R2相机拍照位]=270    ;

  17:L PR[10:R2相机拍照位] 4000mm/sec FINE    ;

  18:L PR[99:HOME] 2500mm/sec FINE Wjnt    ;

2.A_MAIN_UNIFY(主程序)

 1:  LBL[10] ;

   2:  !使用相机功能时激活服务器 ;

   3:  IF (R[66:吸嘴1拍照]=1 OR R[67:吸嘴2拍照]=1 OR R[68:吸嘴3拍照]=1 OR R[69:吸嘴4拍照]=1) THEN ;

   4:  CALL DATA_SEND('DISCONNECT','S4') ;

   5:  CALL DATA_SEND('CONNECT','S4') ;

   6:  ENDIF ;

   7:   ;

   8:  OVERRIDE=R[40:主速度] ;

   9:  IF DI[108:流线允许取料]=ON,CALL A_TAKE_UNIFY ;

  10:  IF DI[112:允许贴标]=ON,CALL A_PASTE_LABEL ;

  11:  IF R[74:是否取标完成]<>1,CALL A_PICK_LABEL ;

  12:  JMP LBL[10] ;

  13:  !设置 ;

  14:  !气缸设置 ;

  15:  !0不取1只取左2只取右 ;

  16:  !3取左右(左)4取左右(右) ;

  17:  R[36:吸嘴1状态]=0    ;

  18:  R[37:吸嘴2状态]=0    ;

  19:  R[38:吸嘴3状态]=0    ;

  20:  R[39:吸嘴4状态]=0    ;

  21:  !取完标后负压判断1是0否 ;

  22:  R[46:吸嘴1判断]=1    ;

  23:  R[47:吸嘴2判断]=1    ;

  24:  R[48:吸嘴3判断]=1    ;

  25:  R[49:吸嘴4判断]=1    ;

  26:  !拍照0不需要1,需要 ;

  27:  R[66:吸嘴1拍照]=0    ;

  28:  R[67:吸嘴2拍照]=0    ;

  29:  R[68:吸嘴3拍照]=0    ;

  30:  R[69:吸嘴4拍照]=0    ;

  31:  !换第二个贴标位 ;

  32:  !1为贴完第一个标 ;

  33:  !2为贴完第二个标 ;

  34:  !3为贴完第三个标 ;

  35:  !4为贴完第四个标 ;

  36:  !0为不需要 ;

  37:  R[75:换贴标位置]=0    ;

3.A_PASTE_LABEL(贴标)

  1:  IF R[74:是否取标完成]<>1,CALL A_PICK_LABEL ;

   2:  WAIT DI[112:允许贴标]=ON TIMEOUT,LBL[999] ;

   3:  !贴第一个标 ;

   4:  IF (R[36:吸嘴1状态]<>0) THEN ;

   5:  IF (R[66:吸嘴1拍照]=1) THEN ;

   6:L PR[56:相机贴标1拍照位] 4500mm/sec FINE    ;

   7:  CALL GET_POS2    ;

   8:  LBL[21] ;

   9:  R[76]=PR[5,2:相机偏移值3]    ;

  10:  WAIT R[76]<>1000    ;

  11:  JMP LBL[21] ;

  12:  ENDIF ;

  13:L PR[R[54]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  14:  RO[1:贴标气缸1开关]=ON ;

  15:L PR[R[36]] R[35:取标速度]mm/sec FINE Offset,PR[5:相机偏移值3]    ;

  16:  DO[102:吸嘴1负压开关]=OFF ;

  17:  WAIT    .10(sec) ;

  18:  RO[1:贴标气缸1开关]=OFF ;

  19:L PR[R[54]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  20:  PR[5,2:相机偏移值3]=1000    ;

  21:  IF (R[75:换贴标位置]=1) THEN ;

  22:  DO[112:贴标完成]=PULSE,0.6sec ;

  23:  WAIT DI[112:允许贴标]=ON    ;

  24:  ENDIF ;

  25:  ENDIF ;

  26:  !贴第二个标 ;

  27:  IF (R[37:吸嘴2状态]<>0) THEN ;

  28:  IF (R[67:吸嘴2拍照]=1) THEN ;

  29:L PR[71] 4500mm/sec FINE    ;

  30:  CALL GET_POS2    ;

  31:  LBL[22] ;

  32:  R[76]=PR[5,2:相机偏移值3]    ;

  33:  WAIT R[76]<>1000    ;

  34:  JMP LBL[22] ;

  35:  ENDIF ;

  36:L PR[R[63]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  37:  RO[2:贴标气缸2开关]=ON ;

  38:L PR[R[59]] R[35:取标速度]mm/sec FINE Offset,PR[5:相机偏移值3]    ;

  39:  DO[103:吸嘴2负压开关]=OFF ;

  40:  WAIT    .10(sec) ;

  41:  RO[2:贴标气缸2开关]=OFF ;

  42:L PR[R[63]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  43:  PR[5,2:相机偏移值3]=1000    ;

  44:  IF (R[75:换贴标位置]=2) THEN ;

  45:  DO[112:贴标完成]=PULSE,0.6sec ;

  46:  WAIT DI[112:允许贴标]=ON    ;

  47:  ENDIF ;

  48:  ENDIF ;

  49:  !贴第三个标 ;

  50:  IF (R[38:吸嘴3状态]<>0) THEN ;

  51:  IF (R[68:吸嘴3拍照]=1) THEN ;

  52:L PR[58:相机贴标3拍照位] 4500mm/sec FINE    ;

  53:  CALL GET_POS2    ;

  54:  LBL[23] ;

  55:  R[76]=PR[5,2:相机偏移值3]    ;

  56:  WAIT R[76]<>1000    ;

  57:  JMP LBL[23] ;

  58:  ENDIF ;

  59:L PR[R[64]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  60:  RO[3:贴标气缸3开关]=ON ;

  61:L PR[R[52]] R[35:取标速度]mm/sec FINE Offset,PR[5:相机偏移值3]    ;

  62:  DO[102:吸嘴1负压开关]=OFF ;

  63:  WAIT    .10(sec) ;

  64:  RO[3:贴标气缸3开关]=OFF ;

  65:L PR[R[64]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  66:  PR[5,2:相机偏移值3]=1000    ;

  67:  IF (R[75:换贴标位置]=3) THEN ;

  68:  DO[112:贴标完成]=PULSE,0.6sec ;

  69:  WAIT DI[112:允许贴标]=ON    ;

  70:  ENDIF ;

  71:  ENDIF ;

  72:  !贴第四个标 ;

  73:  IF (R[39:吸嘴4状态]<>0) THEN ;

  74:  IF (R[69:吸嘴4拍照]=1) THEN ;

  75:L PR[59:相机贴标4拍照位] 4500mm/sec FINE    ;

  76:  CALL GET_POS2    ;

  77:  LBL[24] ;

  78:  R[76]=PR[5,2:相机偏移值3]    ;

  79:  WAIT R[76]<>1000    ;

  80:  JMP LBL[24] ;

  81:  ENDIF ;

  82:L PR[R[65]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  83:  RO[4:贴标气缸4开关]=ON ;

  84:L PR[R[61]] R[35:取标速度]mm/sec FINE Offset,PR[5:相机偏移值3]    ;

  85:  DO[105:吸嘴4负压开关]=OFF ;

  86:  WAIT    .10(sec) ;

  87:  RO[4:贴标气缸4开关]=OFF ;

  88:L PR[R[65]] R[34:去取标安全点速度]mm/sec CNT20 Offset,PR[5:相机偏移值3]    ;

  89:  PR[5,2:相机偏移值3]=1000    ;

  90:  IF (R[75:换贴标位置]=4) THEN ;

  91:  DO[112:贴标完成]=PULSE,0.6sec ;

  92:  WAIT DI[112:允许贴标]=ON    ;

  93:  ENDIF ;

  94:  ENDIF ;

  95:  DO[112:贴标完成]=PULSE,0.8sec ;

  96:L PR[50:载具取板安全位] 4800mm/sec CNT20    ;

  97:  LBL[999] ;

  1. A_PICK_LABEL(取标)

1:  LBL[10] ;

   2:  !初始需要信号 ;

   3:  RO[1:贴标气缸1开关]=OFF ;

   4:  RO[2:贴标气缸2开关]=OFF ;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Fanuc机械手示教器是一种用于编程和控制Fanuc工业机器人的设备。它通常由一个小型键盘、一个触摸屏、一个编程模块和一些功能按钮组成。 使用Fanuc机械手示教器,操作员可以通过手动移动机械手臂,并在触摸屏上输入和编辑指令来实现机器人的编程。示教器提供了不同的编程模式,比如关节坐标编程、直角坐标编程和连续路径编程,以满足不同应用需求。 在示教器上编程机器人可以实现各种任务,如装配、焊接、搬运、喷涂等。操作员可以通过示教器设置机械手的坐标、速度、力度等参数,以及定义机器人的工作空间和运动轨迹。 示教器还提供了一些高级功能,如运动插补、工具坐标系的设置、力控制等,使机器人能够更加灵活和智能地执行任务。此外,示教器还具有故障诊断和报警功能,可以监测机械手的状态并提供相关的提示和报警信息。 总之,Fanuc机械手示教器是一种方便实用的设备,能够帮助操作员轻松地编程和控制Fanuc工业机器人,提高生产效率和质量。它在制造业等领域有着广泛的应用,并为人们创造了更多的机会和可能性。 ### 回答2: Fanuc机械手示教器是一种用于编程和控制Fanuc工业机器人的设备。它可以帮助用户轻松地编写和调试机器人程序,并对机器人进行实时控制。 Fanuc机械手示教器通常由一个屏幕、一组控制按钮和一个机械手操纵杆组成。屏幕上显示了机器人的各种状态和参数,用户可以通过按钮和操纵杆来输入和调整这些参数。通过示教器,用户可以对机器人进行路径规划、速度调整、动作控制等操作。 使用示教器时,用户可以将机器人手臂移动到所需位置,并在示教器上记录这些动作。当用户在示教器上完成一组动作组合后,可以将其保存为一个机器人程序,以便在日后的生产中重复使用。 示教器还提供了一个仿真功能,可以让用户在屏幕上预览机器人的运动轨迹和动作序列。这个功能使用户能够在实际应用之前对程序进行测试和优化,从而提高生产效率和安全性。 总之,Fanuc机械手示教器是一款功能强大的设备,能够帮助用户轻松编程和控制Fanuc工业机器人。它提供了直观的操作界面和实时控制功能,使用户能够快速、准确地实现机器人的编程和路径规划。同时,示教器还提供了仿真功能,让用户能够在实际应用之前对程序进行测试和优化,提高生产效率和安全性。 ### 回答3: Fanuc机械手示教器是一种用于编程和控制Fanuc机械手的设备。它通常由一个控制器和一个示教器组成。 示教器是一个便携式的手持装置,通过其上的按钮、滑动开关和操纵杆可以指导机械手进行各种动作和任务。示教器上配备了液晶显示屏,用于显示机械手的运动状态、编程指令和参数设置等信息。 使用Fanuc机械手示教器,用户可以轻松地进行机械手的编程和控制。通过按下按钮、旋转滑动开关和操纵杆的操作,用户可以对机械手进行各种运动和动作的示教。在示教过程中,用户可以通过示教器上的显示屏实时监测机械手的运动状态,验证编程指令的正确性,并进行必要的调整。 Fanuc机械手示教器还具有一些附加功能,如存储和管理编程程序、编辑和调整程序、设置机械手运行参数等。用户可以通过示教器上的菜单和功能按钮来访问这些功能,并对机械手的工作进行更详细和灵活的设置。 总之,Fanuc机械手示教器是一种方便实用的设备,为用户提供了一种直观、简单和高效的方式来编程和控制Fanuc机械手。它大大降低了机械手的编程门槛,提高了编程和调试的效率,使机械手的操作更加灵活和可控。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值