FANUC 机器人 PR 寄存器完全解析
PR(Position Register,位置寄存器)是 FANUC 机器人系统中核心的位置存储与操作单元。它负责记录关节坐标、笛卡尔坐标(位置 + 姿态)、工具坐标等关键信息,是实现 TP 程序或 Karel 程序中灵活控制的核心工具。
PR 寄存器基础属性
1. 基本定义
- 数量:标准配置下提供
PR[1]~PR[99],部分高端型号可扩展至PR[199]或PR[299]。支持自定义命名,例如PR[HOME]、PR[PICK]。 - 存储格式:
- 关节型(JNT):存储 J1~J6 轴的关节角度(°);
- 笛卡尔型(POS):存储 X/Y/Z(位置,mm)+ W/P/R(姿态,°),支持世界坐标、用户坐标、工具坐标等多种坐标系。
- 访问权限:可通过 TP 示教器、TP 程序、Karel 程序及上位机(Socket/MACRO)读写。Karel 程序需具备
%RW 访问权限。
2. 核心用途
- 存储固定点位(如抓取位、放置位、原点);
- 动态计算位置(如偏移、插值、轨迹修正);
- 与外部设备交互(接收上位机下发的目标位置);
- 记录机器人当前位置(故障时的位置回溯)。
PR 寄存器的操作方式
1. TP 示教器手动操作
(1)查看 / 修改 PR 值
进入「位置」→「位置寄存器」界面,选择目标 PR 号(如 PR[1])。切换坐标系(关节/世界/用户/工具)后,可直接输入数值(如 X=100.0),或通过「当前位置」将机器人当前姿态写入 PR。
(2)复制 / 粘贴 PR 值
选中 PR[1] → 「编辑」→「复制」→ 选中 PR[2] →「粘贴」,可快速复用位置数据。
2. TP 程序中操作 PR 寄存器
(1)基础赋值
-- 将机器人当前位置写入 PR[1](世界坐标系)
PR[1]=LPOS[1] ; LPOS[1] 表示当前位置(世界坐标)
-- 直接赋值笛卡尔坐标(X/Y/Z/W/P/R)
PR[2]=(X100.0,Y200.0,Z300.0,W0.0,P0.0,R0.0)
-- 赋值关节坐标(J1~J6)
PR[3]=(J10.0,J20.0,J30.0,J40.0,J50.0,J60.0)
(2)位置偏移(核心用法)
-- PR[1] 的 X 轴偏移 50mm,结果存入 PR[4]
PR[4]=PR[1]+(X50.0)
-- 相对工具坐标系偏移(Z 轴下降 20mm)
PR[5]=PR[1]+(Z-20.0,TOOL[1])
-- 多轴组合偏移
PR[6]=PR[1]+(X10.0,Y-5.0,R15.0)
(3)运动指令调用 PR
-- 以关节运动方式移动到 PR[1] 位置,速度 50%
J PR[1] 50% FINE
-- 以线性运动方式移动到 PR[2] 位置,速度 100mm/s
L PR[2] 100mm/sec CNT10
(4)与变量联动(动态计算)
-- 定义数值变量
R[1]=50.0
-- PR[7] 的 X 轴偏移 R[1] 的值
PR[7]=PR[1]+(XR[1])
3. Karel 程序中操作 PR 寄存器
Karel 通过 GET_POS_REG/ 函数读写 PR 寄存器,需包含 和 (位置操作相关头文件)。

