FANUC在线测量程序

程序简介

功能说明

用户从机器人侧触发Mech-Metrics使用Mech-MSR进行测量,并向Mech-Metrics返回测量结果。

文件路径

Mech-MSR和Mech-Metrics软件安装目录下Communication Component/Robot_Interface/FANUC/sample/MSR_Metrics_Sample1.LS

所需资源

Mech-MSR方案和Mech-Metrics工程

使用前提

  • 在线测量系统侧准备:

    • 当前工件在Mech-Metrics中已关联至Mech-MSR方案。

    • 当前特征在Mech-Metrics中绑定至Mech-MSR工程。

    • Mech-MSR方案和工程已在Mech-MSR中打开。

  • 机器人侧准备:

    • 已完成FANUC标准接口通信配置

    • 已完成FANUC自动标定

    • 已示教测量位置。

    • 已在机器人侧移动机器人到第一个待测量位置。

    • 开始测量前已提前预热机器人与相机30分钟。

    • 开始测量前已保证外部光照和温度稳定。

此样例程序仅是示例程序。用户需根据实际情况在此基础上进行修改,请勿直接使用该程序。

程序解读

以下为MSR_Metrics_Sample1样例程序的代码及相关解释说明。

   1:  !-------------------------------- ;
   2:  !FUNCTION: MSR_Metrics_Sample1 ;
   3:  !Mech-Mind, 2024-05-27 ;
   4:  !-------------------------------- ;
   5:   ;
   6:  !set current uframe NO. to 0 ;
   7:  UFRAME_NUM=0 ;
   8:  !set current tool NO. to 1 ;
   9:  UTOOL_NUM=1 ;
  10:  !move to robot home position ;
  11:  J P[4] 100% FINE    ;
  12:  !Init Socket!Modify IP Address ;
  13:  CALL MSR_INIT_SKT('8','192.168.1.20',50000,5) ;
  14:  !Set Custom Values ;
  15:  CALL MSR_MEAS_PARM(10,20,30,40,50,60,70,80) ;
  16:  !SR:String Register; R:Register ;
  17:  !Set Robot_Id,SR No.1, ;
  18:  !SR No.2,Qc_Mode,R NO. ;
  19:  !SR No.1:Piece_Name ;
  20:  !SR No.2:Piece_Sn ;
  21:  !R No.:Continuous Mode ;
  22:  CALL MSR_ST_MEAS(1,1,2,1,10) ;
  23:  !Set Robot_Id,SR No.2 ;
  24:  !SR No.2:Piece_Sn ;
  25:  CALL MSR_SET_WP(1,2) ;
  26:  !move to 1st image-capturing ;
  27:  !position ;
  28:  J P[1] 100% FINE    ;
  29:  !Set Robot_Id,Index ;
  30:  CALL MSR_MEAS_FEAT(1,3) ;
  31:  !move to 2ed image-capturing ;
  32:  !position ;
  33:  J P[2] 100% FINE    ;
  34:  !Set Robot_Id,Index ;
  35:  CALL MSR_MEAS_FEAT(1,3) ;
  36:  !move to 3rd image-capturing ;
  37:  !position ;
  38:  J P[3] 100% FINE    ;
  39:  !Set Robot_Id,Index ;
  40:  CALL MSR_MEAS_FEAT(1,3) ;
  41:  !Set Robot_Id,R No. ;
  42:  !R No.1:Measure Result ;
  43:  !R No.2:Alarm Count1 ;
  44:  !R No.3:Alarm Count2 ;
  45:  !R No.4:Alarm Count3 ;
  46:  CALL MSR_END_MEAS(1,11,12,13,14) ;
  47:  !Set Robot_Id,SR No.2 ;
  48:  !SR No.2:Piece_Sn ;
  49:  CALL MSR_VIEW_WP(1,2) ;
  50:  WAIT   1.00(sec) ;
  51:  PAUSE ;

下表为上述程序的逻辑解读。在上述代码中,被注释掉的内容以!开头,下表不解释被注释掉的内容。

流程 代码及说明

设置坐标系

   6:  !set current uframe NO. to 0 ;
   7:  UFRAME_NUM=0 ;
   8:  !set current tool NO. to 1 ;
   9:  UTOOL_NUM=1 ;
  • UFRAME_NUM=0:将当前所选的用户坐标系号码设置为0号(世界坐标系)。

  • UTOOL_NUM=1:将当前所选的工具坐标系号码设置为1号(用户需提前设定1号工具坐标系)。

移动到指定位置

  10:  !move to robot home position ;
  11:  J P[4] 100% FINE    ;
  • J:机器人的关节角移动指令,表示机器人沿弧线移动至指定位置。

  • P[4]:指定机器人移动的目标位置。

  • 100%:相对最大移动速度的百分比。

  • FINE:精准到达指定位置。

初始化通信

12:  !Init Socket!Modify IP Address ;
13:  CALL MSR_INIT_SKT('8','192.168.1.20',50000,5) ;
  • CALL MSR_INIT_SKT('8','192.168.1.20',50000,5) :建立在线测量系统与机器人之间的TCP协议通信连接。

    • '8':机器人端口号。

    • '192.168.1.20':工控机的IP地址。

    • 50000:工控机的端口号。

    • 5:通信超时等待时间,单位:分钟。

      用户需根据实际情况修改此处的工控机IP地址和端口号,确保与Mech-MSR中设置的一致。

设置自定义参数

14:  !Set Custom Values ;
15:  CALL MSR_MEAS_PARM(10,20,30,40,50,60,70,80) ;
  • CALL MSR_MEAS_PARM(10,20,30,40,50,60,70,80) :设置自定义参数。

    • 10,20,30,40,50,60,70,80:一组自定义参数,自定义参数仅在需要为Mech-Metrics提供更多工件信息时使用。

开始测量

  16:  !SR:String Register; R:Register ;
  17:  !Set Robot_Id,SR No.1, ;
  18:  !SR No.2,Qc_Mode,R NO. ;
  19:  !SR No.1:Piece_Name ;
  20:  !SR No.2:Piece_Sn ;
  21:  !R No.:Continuous Mode ;
  22:  CALL MSR_ST_MEAS(1,1,2,1,10) ;
  • CALL MSR_ST_MEAS(1,1,2,1,10) :开始测量任务。

    • 1:机器人编号。

    • 1:字符串寄存器编号,用于保存工件名称。

    • 2:字符串寄存器编号,用于保存工件SN。

    • 1:质量检测模式。1代表全检,2代表半检。

      此处的质量检测模式需与Mech-Metrics中设置的一致。

    • 10:数值寄存器的编号,用于保存Mech-Metrics返回的此次运行是连续运行还是单次运行。

为Mech-Metrics传入工件

  23:  !Set Robot_Id,SR No.2 ;
  24:  !SR No.2:Piece_Sn ;
  25:  CALL MSR_SET_WP(1,2) ;
  • CALL MSR_SET_WP(1,2) :设置工件信息,用于在测量中传入工件编号。

    • 1:机器人编号。

    • 2:字符串寄存器编号,用于保存需要传入的工件SN。

移动机器人到指定位置并进行特征测量

  26:  !move to 1st image-capturing ;
  27:  !position ;
  28:J P[1] 100% FINE    ;
  29:  !Set Robot_Id,Index ;
  30:  CALL MSR_MEAS_FEAT(1,3) ;
  31:  !move to 2ed image-capturing ;
  32:  !position ;
  33:J P[2] 100% FINE    ;
  34:  !Set Robot_Id,Index ;
  35:  CALL MSR_MEAS_FEAT(1,3) ;
  36:  !move to 3rd image-capturing ;
  37:  !position ;
  38:J P[3] 100% FINE    ;
  39:  !Set Robot_Id,Index ;
  40:  CALL MSR_MEAS_FEAT(1,3) ;
  • J P[1] 100% FINE:精准移动到第一个测量位置,速度100%。

  • CALL MSR_MEAS_FEAT(1,3):机器人侧将触发机器人编号1、测量特征的测量编号为3的Mech-MSR工程运行。

    • 1:机器人编号。

    • 3:特征测量编号。

      每次调用的特征编号需根据实际情况修改。

  • J P[2] 100% FINE:精准移动到第二个测量位置,速度100%。

  • J P[3] 100% FINE:精准移动到第三个测量位置,速度100%。

    用户需提前示教本三处测量位置。具体示教方法可参考自动标定中FANUC自动标定篇中示教标定起始点部分的操作。

结束测量

  41:  !Set Robot_Id,R No. ;
  42:  !R No.1:Measure Result ;
  43:  !R No.2:Alarm Count1 ;
  44:  !R No.3:Alarm Count2 ;
  45:  !R No.4:Alarm Count3 ;
  46:  CALL MSR_END_MEAS(1,11,12,13,14) ;
  • CALL MSR_END_MEAS(1,11,12,13,14):结束测量任务,保存并返回测量结果。

    • 1:机器人编号。

    • 11:数值寄存器编号,用于保存工件判定结果。1表示OK,0表示NG。

    • 12,13,14:数值寄存器编号,用于保存工件超出一级、二级、三级公差带的测量项数量。

查询历史数据

  47:  !Set Robot_Id,SR No.2 ;
  48:  !SR No.2:Piece_Sn ;
  49:  CALL MSR_VIEW_WP(1,2) ;
  • CALL MSR_VIEW_WP(1,2):使用特定机器人将工件SN传入Mech-Metrics,并将Mech-Metrics软件主界面切换至该工件的数据视图。

    • 1:机器人编号。

    • 2:字符串寄存器编号,保存待传入的工件SN。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。