FANUC 机器人 PR 寄存器

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)读写,需%RW 访问权限(Karel 程序)。

2. 核心用途

  • 存储固定点位(如抓取位、放置位、原点);
  • 动态计算位置(如偏移、插值、轨迹修正);
  • 与外部设备交互(如接收上位机下发的目标位置);
  • 记录机器人当前位置(如故障时的位置回溯)。

二、PR 寄存器的操作方式

1. TP 示教器手动操作

(1)查看 / 修改 PR 值
  1. 进入「位置」→「位置寄存器」界面;
  2. 选择目标 PR 号(如 PR [1]);
  3. 切换坐标系(关节 / 世界 / 用户 / 工具);
  4. 直接输入数值(如 X=100.0,Y=200.0,Z=300.0),或通过「当前位置」将机器人当前位置写入 PR。
(2)复制 / 粘贴 PR 值
  • 选中 PR [1] → 「编辑」→「复制」→ 选中 PR [2] →「粘贴」,快速复用位置。

2. TP 程序中操作 PR 寄存器

(1)基础赋值

tp

-- 将机器人当前位置写入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)位置偏移(核心用法)

tp

-- 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

tp

-- 以关节运动方式移动到PR[1]位置,速度50% J PR[1] 50% FINE -- 以线性运动方式移动到PR[2]位置,速度100mm/s L PR[2] 100mm/sec CNT10 
(4)与变量联动(动态计算)

tp

-- 定义数值变量 R[1]=50.0 -- PR[7]的X轴偏移R[1]的值 PR[7]=PR[1]+(XR[1]) 

3. Karel 程序中操作 PR 寄存器

Karel 通过GET_POS_REG/SET_POS_REG函数读写 PR 寄存器,需包含%ENVIRONMENT sysdef%INCLUDE klevpos(位置操作相关头文件)。

(1)读取 PR 寄存器值

karel

VAR pr_num : INTEGER := 1 -- PR寄存器号 pos_data : POSITION -- 存储位置数据的结构体 status : INTEGER -- 操作状态码 BEGIN -- 读取PR[1]的位置数据(笛卡尔坐标) GET_POS_REG(pr_num, pos_data, status) IF status = 0 THEN -- 提取X/Y/Z坐标(mm) WRITE('PR[1] X: ', pos_data.x, CR) WRITE('PR[1] Y: ', pos_data.y, CR) WRITE('PR[1] Z: ', pos_data.z, CR) -- 提取W/P/R姿态(°) WRITE('PR[1] W: ', pos_data.w, CR) WRITE('PR[1] P: ', pos_data.p, CR) WRITE('PR[1] R: ', pos_data.r, CR) ELSE WRITE('读取PR[1]失败,状态码: ', status, CR) ENDIF END 
(2)写入 PR 寄存器值

karel

VAR pr_num : INTEGER := 2 pos_data : POSITION status : INTEGER BEGIN -- 初始化位置数据(X=100,Y=200,Z=300,W=0,P=0,R=0) pos_data.x = 100.0 pos_data.y = 200.0 pos_data.z = 300.0 pos_data.w = 0.0 pos_data.p = 0.0 pos_data.r = 0.0 pos_data.coord = WORLD_COORD -- 指定坐标系:世界坐标 pos_data.type = POS_TYPE -- 类型:笛卡尔坐标 -- 写入PR[2] SET_POS_REG(pr_num, pos_data, status) IF status = 0 THEN WRITE('PR[2]写入成功', CR) ELSE WRITE('PR[2]写入失败,状态码: ', status, CR) ENDIF END 
(3)位置偏移计算(Karel)

karel

VAR pr1_data, pr4_data : POSITION status : INTEGER BEGIN -- 读取PR[1] GET_POS_REG(1, pr1_data, status) -- X轴偏移50mm pr4_data = pr1_data pr4_data.x = pr4_data.x + 50.0 -- 写入PR[4] SET_POS_REG(4, pr4_data, status) END 

三、PR 寄存器的高级用法

1. 坐标系切换

PR 寄存器可存储不同坐标系的位置,切换时需明确指定:

tp

-- PR[1]存储工具坐标系位置 PR[1]=(X50.0,Y0.0,Z-10.0,W0.0,P0.0,R0.0,TOOL[1]) -- PR[1]存储用户坐标系位置 PR[1]=(X100.0,Y200.0,Z300.0,W0.0,P0.0,R0.0,UFRAME[2]) 

2. 与 TCP 通信联动(结合前文 TCP 程序)

通过 Karel 的 TCP 客户端程序接收上位机下发的位置数据,写入 PR 寄存器:

karel

-- 假设从TCP读取到126字节数据,解析为X/Y/Z/W/P/R VAR recv_str : STRING[128] x_val, y_val, z_val : REAL w_val, p_val, r_val : REAL pos_data : POSITION BEGIN -- 从TCP读取数据(前文readline函数) readline(sockfd, recv_str, 126) -- 解析字符串为数值(示例:recv_str="100.0,200.0,300.0,0.0,0.0,0.0") sscanf(recv_str, "%f,%f,%f,%f,%f,%f", x_val, y_val, z_val, w_val, p_val, r_val) -- 写入PR[5] pos_data.x = x_val pos_data.y = y_val pos_data.z = z_val pos_data.w = w_val pos_data.p = p_val pos_data.r = r_val SET_POS_REG(5, pos_data, status) END 

3. 关节 / 笛卡尔坐标互转

tp

-- 将PR[1]的关节坐标转为笛卡尔坐标,存入PR[2] PR[2]=CONV_POS(PR[1],POS_TYPE,WORLD_COORD) -- 将PR[2]的笛卡尔坐标转为关节坐标,存入PR[3] PR[3]=CONV_POS(PR[2],JNT_TYPE,WORLD_COORD) 

四、常见问题与排查

1. PR 寄存器值写入失败

  • 原因 1:无读写权限 → 检查 Karel 程序是否加%RW 访问,TP 程序是否解锁「程序保护」;
  • 原因 2:坐标系不匹配 → 确认写入时指定的坐标系(如 TOOL/UFRAME)已配置;
  • 原因 3:数值超限 → 检查坐标值是否超出机器人运动范围(如 X 轴最大行程 ±1000mm)。

2. 调用 PR 运动时报警

  • 报警「位置超出范围」:PR 中的坐标超出机器人关节 / 笛卡尔软限位,需修正 PR 值;
  • 报警「姿态异常」:W/P/R 姿态超出工具坐标系允许范围,需调整姿态值;
  • 报警「坐标系未定义」:PR 中指定的 TOOL/UFRAME 未配置,需先定义工具 / 用户坐标。

3. PR 值丢失

  • 原因:未将 PR 值写入永久存储 → 在 TP 示教器中执行「位置」→「保存」,或在 Karel 中调用SAVE_POS_REG函数。

五、PR 寄存器与其他寄存器的区别

寄存器类型用途存储内容核心差异
PR位置存储 / 运动控制关节 / 笛卡尔坐标支持位置运算、运动指令调用
R数值存储 / 逻辑运算整数 / 浮点数仅支持数值计算
AR程序参数 / 临时存储数值 / 字符串仅在程序执行时有效
LR位置偏移 / 精细调整相对偏移量仅用于位置修正

PR 寄存器是 FANUC 机器人位置控制的核心,结合 TP 程序 / Karel 程序 / TCP 通信可实现灵活的位置控制,是工业现场实现机器人自动化、柔性化生产的关键工具。

Read more

Mac Mini M4 跑 AI 模型全攻略:从 Ollama 到 Stable Diffusion 的保姆级配置指南

Mac Mini M4 本地AI模型实战:从零构建你的个人智能工作站 最近身边不少朋友都在讨论,能不能用一台小巧的Mac Mini M4,搭建一个属于自己的AI开发环境。毕竟,不是每个人都有预算去租用云端的高性能GPU,也不是所有项目都适合把数据传到云端处理。我折腾了大概两周,从Ollama到Stable Diffusion,把整个流程走了一遍,发现M4芯片的潜力远超预期。这篇文章,就是把我踩过的坑、验证过的有效配置,以及一些提升效率的小技巧,毫无保留地分享给你。无论你是想本地运行大语言模型进行对话和创作,还是想离线生成高质量的AI图像,这篇指南都能帮你把Mac Mini M4变成一个得力的AI伙伴。 1. 环境准备与基础配置 在开始安装任何AI工具之前,确保你的系统环境是干净且高效的,这能避免后续无数莫名其妙的依赖冲突。Mac Mini M4出厂预装的是较新的macOS版本,但这还不够。 首先,打开“系统设置” -> “通用” -> “软件更新”,确保你的macOS已经更新到可用的最新版本。苹果对Metal图形API和神经网络引擎的优化通常会随着系统更新而提升,这对于后续运

腾讯云端Openclaw+飞书 多机器人配置全攻略(新手友好版)

前言:随着AI自动化工具的普及,Openclaw凭借强大的自主执行能力,成为很多人提升效率的首选;而飞书作为高效协同工具,其机器人功能可无缝融入日常工作流。当两者结合,配置多机器人实现分工协作(如办公提效、信息管理、场景化响应),能进一步释放AI价值。 本文将从前期准备、分步配置、实战调试到常见问题,手把手教你完成Openclaw+飞书多机器人配置,全程无复杂操作,新手也能快速上手,建议收藏备用! 一、配置前必看:核心说明与前置准备 1.1 核心价值 Openclaw+飞书多机器人配置,核心是让多个飞书机器人分别绑定Openclaw的不同Agent,实现「分工协作、各司其职」——无需切换工具,在飞书内即可完成所有操作,大幅提升工作效率。 ✅ 典型分工场景: * 1个机器人负责日常指令响应 * 1个机器人负责定时推送资讯 * 1个机器人负责办公流程自动化(会议整理、报表生成等) 1.2 前置环境准备(必做) 提前准备好以下环境和工具,避免配置过程中卡顿,所有工具均为免费可用: * 基础环境:云端安装Openclaw;

大疆无人机常见故障提示及应对指南

大疆无人机常见故障提示及应对指南

大疆无人机在使用过程中,故障提示主要通过 DJI Fly/DJI GO 4 App 弹窗、机身指示灯状态及遥控器提示音三种方式呈现。以下按「连接通信类」「传感系统类」「动力系统类」「图传相机类」「电池电源类」五大核心场景,整理常见故障提示、核心原因及分步解决办法,帮助快速定位并处理问题。 北京云升智维科技有限责任公司是一家专业从事电子设备维修第三方服务企业,我们拥有深厚的电路原理知识和丰富的维修经验,能够为各种设备和电路板提供专业的检测和维修服务。我们的服务范围广泛,包括但不限于电路板、工控主板、工业机械、医疗设备、精密仪器、大地测量仪器及驱动器等。我们拥有一支技术过硬,经验丰富的维修团队,精通各类设备维修,结合多年实战维修经验,快速准确诊断故障,提高维修效率,为客户节省35%及以上维修成本及时间成本,我们致力于为客户提供高质量、可靠的服务,确保设备的稳定运行。我们坚持诚实守信、笃行致远的原则,以确保客户满意。 一、连接通信类故障提示 核心表现:App 提示连接异常,遥控器与无人机无法联动,

全开源,自主可控!这款 AI + 无人机一体化平台,多行业刚需场景直接拉满!

全开源,自主可控!这款 AI + 无人机一体化平台,多行业刚需场景直接拉满!

项目地址: https://gitee.com/haishi-tech 引言 低空经济产业化加速推进,无人机行业应用却常被设备管控难、作业效率低、数据碎片化三大痛点卡脖子。专为专业场景打造的亥时无人机系统,以 “智能管理 + AI 监测 + 精准控制” 全流程闭环解决方案,打破行业应用壁垒,成为电力、安防、测绘等专业用户的共同选择! 核心优势:全面开源,成熟可控 系统简介 1. 一体化架构,告别零散适配烦恼亥时无人机系统深度集成设备管理、飞行控制、AI 监测与巡检业务四大核心模块,构建 “端 - 边 - 云” 全链路技术支撑。无需额外开发适配,从设备接入、飞行操控到数据分析、报告生成实现无缝衔接,彻底解决传统方案多系统割裂、数据不通的痛点,让作业流程更顺畅。 1. 2. AI 监测中台,让智能贯穿全流程