FANUC 机器人通过 PR 位置寄存器Position Register 实现相机引导焊接核心是相机算出焊缝偏移 → 数据写入 PR → 程序用 PR 偏移修正原路径。下面从原理、流程、通信、标定、编程到完整示例详细说明实现方法。一、PR 寄存器基础关键PR[i]FANUC 用来存 6D 位姿X/Y/Z/W/P/R 的可读写寄存器。用途存固定点HOME、焊接起点存视觉偏移量 / 目标位姿相机引导核心做位置运算PR[10]PR[1]PR[2]、PR[5,3]PR[5,3]10Z10mm格式笛卡尔POS/ 关节JNT视觉引导用 笛卡尔世界 / 用户坐标。二、整体架构相机 → PR → 机器人1. 硬件与通信相机方案FANUC iRVision内置最稳第三方视觉基恩士、康耐视、国产 工控机通信方式EtherNet/IP最常用视觉 → 机器人 GI 组输入32bit / 组TCP SocketKAREL传完整 XYZWPR 字符串Profinet/ProfiBus信号约定示例DO [1]ON机器人 触发拍照DI [1]ON相机 数据有效GI [1]~GI [6]X/Y/Z/W/P/R 偏移整数需转 mm/°2. 坐标标定必须做Eye To Hand相机固定/ Eye In Hand相机装腕部 都要做手眼标定得到相机坐标 ↔ 机器人坐标的转换矩阵工具坐标系TCP标定焊枪尖端用户坐标系UFRAME工件 / 焊缝基准标定结果存在iRVision自动存在内部寄存器第三方标定文件 机器人 PR 基准点三、相机引导焊接标准流程含 PR1. 示教基准程序无视觉示教一条理想焊缝路径P[1]→P[2]→P[3]把基准起点存入 PR [1]基准点2. 视觉拍照与数据读取plaintext! 1. 移动到拍照安全位L P[0] 500mm/s FINE! 2. 触发相机DO[1]ONWAIT DI[1]ON TIMEOUT LBL[ERR] ! 等数据有效DO[1]OFF! 3. GI → R寄存器单位转换0.01mm/bitR[1]GI[1]*0.01 ! X偏移R[2]GI[2]*0.01 ! Y偏移R[3]GI[3]*0.01 ! Z偏移R[4]GI[4]*0.1 ! W旋转R[5]GI[5]*0.1 ! P旋转R[6]GI[6]*0.1 ! R旋转3. 偏移写入 PR核心plaintext! 方法A偏移量 PR[10]PR[10]LPOS ; 清0PR[10,1]R[1] ; XPR[10,2]R[2] ; YPR[10,3]R[3] ; ZPR[10,4]R[4] ; WPR[10,5]R[5] ; PPR[10,6]R[6] ; R! 方法B直接生成目标点 PR[20]PR[20]PR[1] ; 基准点PR[20,1]PR[20,1]R[1] ; X偏移PR[20,2]PR[20,2]R[2] ; Y偏移PR[20,3]PR[20,3]R[3] ; Z偏移4. 带 PR 偏移的焊接运动plaintext! 方案1整体偏移推荐L PR[1]PR[10] 300mm/s FINE ; 偏移起点ARC ONL PR[2]PR[10] 200mm/s FINE ; 偏移路径L PR[3]PR[10] 200mm/s FINEARC OFF! 方案2直接走视觉目标点L PR[20] 300mm/s FINEARC ONL PR[21] 200mm/s FINEL PR[22] 200mm/s FINEARC OFF5. 循环 / 质量检查plaintextLBL[10]! 拍照→PR偏移→焊接IF DI[2]ON ; 不合格JMP LBL[10] ; 重拍ENDIF四、iRVision原生 PR 写法更简洁plaintext! iRVision触发VISION RUN_SNAP 1 ; 任务1VISION GET_OFFSET 1,PR[10] ; 偏移→PR[10]! 焊接L P[1]PR[10] 300mm/s FINEARC ONL P[2]PR[10] 200mm/s FINEARC OFF五、KAREL 高级用法Socket 读视觉plaintext! KAREL接收视觉XYZWPR并写入PR[50]PROGRAM VIS_RECVVARSTATUS:INTEGERBUF:STRING[64]X,Y,Z,W,P,R:REALPOS:XYZWPRBEGINOPEN TCP_CLIENT 192.168.1.100,5000,STATUSREAD BUF,STATUS! 解析X10.2,Y-5.0,Z0.5,W0,P0,R0PARSE BUF,X,Y,Z,W,P,RPOS.XXPOS.YYPOS.ZZPOS.WWPOS.PPPOS.RRSET_POS_REG(50,POS,STATUS) ; 写入PR[50]END六、关键要点与常见问题PR 坐标系一致基准点、偏移、运动必须同坐标系UFRAME/UTOOL单位转换GI 是整数必须乘系数0.01mm/0.1°偏移叠加规则PR[目标]PR[基准]PR[偏移]故障处理超时、数据异常、PR 未初始化精度标定 重复定位 滤波→±0.1mm 级七、完整 TP 程序示例可直接套用plaintext! PR[1]基准起点! PR[10]视觉偏移! R[1~6]偏移量! DI[1]视觉有效! DO[1]触发! UFRAME[1]工件坐标! UTOOL[1]焊枪L P[0] 500mm/s FINE ; 安全位DO[1]ONWAIT DI[1]ON TIMEOUT LBL[ERR]DO[1]OFF# 数据转换R[1]GI[1]*0.01R[2]GI[2]*0.01R[3]GI[3]*0.01R[4]GI[4]*0.1R[5]GI[5]*0.1R[6]GI[6]*0.1# 偏移→PR[10]PR[10]LPOSPR[10,1]R[1]PR[10,2]R[2]PR[10,3]R[3]PR[10,4]R[4]PR[10,5]R[5]PR[10,6]R[6]# 焊接L PR[1]PR[10] 300mm/s FINEWAIT 0.2ARC ONL PR[2]PR[10] 200mm/s FINEL PR[3]PR[10] 200mm/s FINEARC OFFWAIT 0.2L P[0] 500mm/s FINEJMP LBL[END]LBL[ERR]! 报警处理LBL[END]七、总结PR 是视觉→机器人的数据桥梁存偏移 / 目标位姿流程标定 → 拍照 → GI→R→PR → 偏移运动两种模式基准 偏移P[i]PR[偏移]灵活直接目标PR[视觉结果]简单稳定关键标定、坐标系统一、单位转换、滤波、超时处理