发那科机器人lpos指令【完整版】
发那科机器人的LPOS JPOS指令,挺实用的读取当前位置指令:
LPOS 为当前位置的直角坐标系值(X,Y,Z,W,P,R)
JPOS 为当前位置的关节坐标系值(J1,J2,J3,J4,J5,J6)
应用场景的话,可以是刚开始初始化的时候,也可以比如码垛的时候,没有具体的点位,可以直接读取当前位置,然后可以进行抬起等动作,也不会影响前后码垛点。
示例:这是一个最简单的拧紧螺丝后旋松的码垛程序一部分(具体码垛操作见之前的文章有)
PALLETIZING-B_1 //——————码垛
J PAL_1[A_1] 30% FINE //——————移动到接近点
J PAL_1[BTM] 30% FINE //——————移动到堆叠点
DO[110] = ON //——————打开拧紧工具
WAIT DI[109] = ON //——————等待拧紧合格OK信号
PR[2] = LPOS //——————读取当前位置以直角坐标系的形式保存到PR[2]的位置寄存器中
PR[3] = LPOS
PR[2,3] = PR[2,3] + R[3] //——————更改当前坐标位置的基础上往上抬升R[3]的距离
L PR[2] 30% FINE //——————移动到上方确认拧紧完成
L PR[3] 30% FINE //——————移动到原位准备旋松
DO[111] = ON //——————打开拧紧工具反转
J PAL_1[R_1] 30% FINE //——————同时移动到逃离点
PALLETIZING-END_1 //——————码垛程序结束
扩展资料:
像西门子系统或发那科系统、马扎克系统,编制程序时,时常会使用一下变量,变量有全局变量、局部变量、通道变量、程序变量、系统变量等,其中全局变量为子程序编制,设备开关机均存在,系统变量为设备出厂时固有的变量,也是不变的,在程序编制的时候可以使用此类变量读取设备PLC内的数据,用于程序中参数的判断等,下面分享一下我曾经经常用到的发那科系统的系统变量:
1. #3000 报警变量
例: N65 #3000=1(G55 Z CHAO XIAN) 括号内是设备显示的信息
2. #5221 G54 坐标的X坐标值
3. #5222 G54 坐标的Y坐标值
4. #5223 G54 坐标的Z坐标值
5. #5241 G55 坐标的X坐标值
6. #5242 G55 坐标的Y坐标值
7. #5243 G55 坐标的Z坐标值 以此类推……
8. #2001 和 #2201 分别为当前刀具的刀长和刀补
9. #4111 当前刀具H代码
10. #4120 当前主轴刀具的T代码
11. #3101 圆周率π
12. #4000 主程序号
13. #参数,功用同西门子R参数,#1、#2、#3…… 其中,变量#500-#999的数据保存,即使断电也不丢失
以上参数,编一个刀长检测或者坐标检测程序就够用了,希望对初学编程的朋友有益,谢谢支持!