待解决

发那科机器人点激光寻位有啥坑?最近搞一台R-2000iC死活对不上

威哥
威哥
2026/05/15 12:12

手上这个项目用的是发那科R-2000iC/210F,配的SICK的2D激光,通讯走PROFINET,PLC是西门子1500。寻位程序框架是按发那科标准的偏移量补偿那套写的,背景逻辑设的1(机器人坐标),补偿写入PR[10]。激光触发是外部IO,机器人走到固定拍照位后给个DI信号触发,拍照完成后激光把XY偏移量推过来。

现在问题是:空跑10次大概有3次偏差超过0.5mm,方向还不固定,有时候偏X有时候偏Y。重复精度官方手册写的±0.05mm,这差得也太多了。激光本体校准做过了没问题,对同一块标准件静态测数据很稳。怀疑是通信那块有延迟或者丢包,但抓包不太会搞。各位有啥思路吗?需要我提供什么参数再说。

18 4

全部回复 (4)

日进斗金
日进斗金#1

先别急着怀疑通信,空跑就出问题大概率是程序逻辑的事儿。背景逻辑设的1是机器人坐标没错,但你这个拍照位是用的关节坐标还是直角坐标?R-2000iC这种大臂展的机器人,关节插补到拍照位的时候姿态会变,哪怕XY没动,激光安装如果有一点点角度误差,姿态一变拍出来的点云位置就飘。建议拍照位用LPOS[1,2,3,4,5,6]锁死姿态,或者干脆用L P[1] 0mm/sec C000这种方式走,保证每次拍照姿态完全一致。我之前做汽车焊装寻位也是这个毛病,改了之后重复性从0.3mm直接干到0.05mm以内。

2026/05/16 15:32
2643472413
2643472413#2

PROFINET那块的IO刷新时间你设的多少?发那科做PROFINET从站的话,刷新周期设到4ms或者8ms试试,别用默认的1ms,CPU扛不住会丢数据。还有那个GSD文件版本对不对,发那科的PROFINET板卡GSD版本老一点的兼容性有问题,偏移量数据会错位半个字节,遇到过一次,加了2个空字节做偏移解决的。

2026/05/16 16:10
老叶
老叶#3

等一下,你这个激光寻位触发是IO触发,不是通信触发?那激光拍完照之后数据是怎么传给机器人的,IO点传哪几个?SICK的2D激光如果是IO输出的话一般就2个点或者4个点,靠这个精度做0.5mm以内的补偿有点悬吧。你确定不是激光本身分辨率就不够?我之前用过SICK的TiM系列做寻位,角分辨率做到±0.1mm都费劲,后来换了Keyence的才稳。

2026/05/19 16:58
2008
2008#4

抓包不会搞的话,先用Wireshark在PLC和机器人之间挂个镜像口抓一下PROFINET报文,看有没有报错帧。发那科的PROFINET通信出错会在示教器上报警H0xxx或者P0xxx,你查一下故障履历里有没有相关记录。

2026/06/11 21:09