应小伙伴需求,专门以案例来说明关于位置寄存器PR[]和数...

[复制链接]
查看50577 | 回复0 | 2024-10-3 08:22:31 | 显示全部楼层 |阅读模式
首先在此祝福五湖四海的兄弟姐妹,国庆节快乐!

      在FANUC机器人系统中,有两种常用的寄存器位置寄存器PR[]和数值寄存器R[],他们的特点就是可以参与运行,其中的值可以是一个变量,类似于PLC编程中的数字寄存器一样。

下面先来看一下事例图示及要求:



在机器人的一侧有一个托盘用于存放处理好的工件,要求机器人将工件依据托盘的规则放入,使用位置寄存器的方式处理。

首先我们来分析一下此案例的托盘是一个3*4的矩阵,此时我们就可以利用位置偏移的方式来处理,在托盘处建立用户坐标系,然后在对应的轴向上每次偏移固定的值就可进行循环完成此工作任务。如下图所示:



根据以上分析,我们可以采用双层循环嵌套的方式进行编程,此时就会需要使用数值寄存器R[],循环指令可以使用IF语句也可以使用FOR语句。

下面我们就来编程看位置寄存器PR[]和数值寄存器R[]的具体使用。

1、首先根据需要建立工具坐标系和用户坐标系,如下图所示:



作用:将机器人的TCP中心点偏移到吸盘处;指定托盘移动的方向方便编程

2、创建一个程序TEST001添加坐标系指令,并设立程序的起始点,如下图所示:



3、接下来要使用位置寄存器和数值寄存器,所以需要先对使用的寄存器进行设定,特别时位置寄存器在未设定前是不可以使用的,否则无法运行,如下图所示:



此处使用的托盘中放的工件在Y轴上间隔为75mm,在X轴上的间隔为100mm,这两个值就是将来进行偏移的计算值。

4、开始写循环部分,为保障程序运行时的稳定性,在程序开头进行初始化清除寄存器中的值,如下图所示:



PR[2,1]的含义:第一个数字指当前使用的位置寄存器号,第二个数字指对当前寄存器的那个轴值进行变更,此处就是将第二个位置寄存器的X轴值清零。

5、进行内循环的编写:P[2]是第一个工件的取放料位置的安全位置,P[3]是第一个位置取放料位置,然后再回到安全点,P[5]是一个固定的放料位置比如加工位置,然后对所有点进行循环依次在Y轴方向上偏移75mm,循环3次后退出,如下图所示:


6、内循环结束退出后,再次进入外循环FOR指令,将第一点沿X轴偏移100mm,再次进入内循环,依次类推当外循环执行4次后,结束循环,完成矩阵的取放料,来看一下效果:


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3660360198255984642
另外一种使用方式,如此案例中的原点位置,将机器人移动到想要的起始位置后,进入位置寄存器界面,按【shift】+【记录】组合键就可直接将当前位置数据记录到位置寄存器PR[1]中,如下图所示:



对于记录好的位置寄存器PR[1]按【位置】键,进入详细数据界面,也可对数据进行调整,如下图所示:



PS:位置寄存器PR[]的优势就在于其可进行数学运算,并且FANUC机器人系统只提供了100个位置寄存器,所以一般情况下位置数据尽量不记录在位置寄存器中,像案例中的情况下采用位置寄存器编写就可以简化编程。

有朋友可能注意到了案例中,还有一个相机。没错,相机也是通过位置寄存器PR[]与机器人之间进行位置数据交换。所以对于位置寄存器和数值寄存器使用范围是很广的,并且灵活多变,目的可以简化编程。

以上就是关于两种寄存器的使用演示,希望可以对大家有帮助。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则