今年的项目和发那科机器人杠上了!!!!!!!!!!
也是第一次使用发那科,难遇到一堆问题。
第一个问题就是位置寄存器的使用,将查阅到的资料记录起来,有时间回来复习。。。
位置寄存器指令认识与使用 |
位置寄存器指令,是进行位置寄存器的算术运算的指令。位置寄存器指令可进行代入、加算、減算处理,以与寄存器指令相同的方式记述。 |
位置寄存器,是用来存储位置资料(x,y,z,w,p,r)的变量(有关位置寄存器)。标准情况下提供有 100 个位置寄存器。 |
注释:(x,y,z,w,p,r)==(1/2/3/4/5/6) |
使用位置寄存器指令之前,通过“LOCK PREG”来锁定位置寄存器。若没有进行锁定,动作可能会集中在一起。有关“LOCK PREG”指令,可参阅 9.6 位置寄存器先执行功能。 |
PR[i] =(值) |
PR[i] =(值)指令,将位置资料代入位置寄存器。 |
PR[i]=(值) |
i : |
位置寄存器号码(1~100) |
值: |
PR [ i ]:位置寄存器[i]的值 |
P[ i ]:程序内的示教位置[i]的值 |
LPOS:当前位置的直角坐标值 |
JPOS:当前位置的关节坐标值 |
UFRAME[ i ]:用户坐标系[i]的值 |
UTOOL[ i ]:工具坐标系[i]的值 |
例 |
1: 获取当前世界坐标位置赋值给PR1位置寄存器。PR[1]= LPOS |
2: PR[R[4]]= UFRAME[R[1]] |
3: PR[GP1: 9]= UTOOL[GP1: 1] |
PR[i] =(值)+(值) |
PR[i] =(值)+(值)指令,代入2个值的和。 |
PR[i] =(值)-(值)指令,代入2个值的差。 |
PR[i]=(值) (算符)(值) (算符) (值)... |
PR[ i ]:位置寄存器[i]的值 |
P[ i ]:程序内示教位置[i]的值 |
LPOS:直角坐标系中的当前位置 |
JPOS:关节坐标系中的当前位置 |
UFRAME[ i ]:用户坐标系[i]的值 |
UTOOL[ i ]:工具坐标系[i]的值 |
例 |
4: PR[3] = PR[3]+LPOS |
5: PR[4] = PR[ R[1] ] |
位置寄存器要素指令 |
位置寄存器要素指令,是进行位置寄存器的算术运算的指令。 |
PR[i,j]的i表示位置寄存器号码,j表示位置寄存器的要素号码。位置寄存器要素指令可进行代入、加算、減算处理,以与数值寄存器指令相同的方式记述。 |
PR[i,j] =(值) |
PR[i,j] =(值)指令,将位置资料的要素值代入位置寄存器要素 |
例1: 将R3的值赋值给 PR1位置寄存器的第一轴。PR[1, 1]= R[3] |
2: 直接给PR4位置寄存器的第三轴Z轴赋值324.5。 PR[4, 3]= 324.5 |
3:将R3的值除以2,然后赋值给PR1。 PR[1,1]=R[3]/2 |
PR[i,j] =(值)+(值) |
PR[i,j] =(值)+(值)指令,将2个值的和代入位置寄存器要素。 |
PR[i,j] =(值)-(值) |
PR[i,j] =(值)-(值)指令,将2个值得差代入位置寄存器要素。 |
PR[i,j] =(值)*(值) |
PR[i,j] =(值)*(值)指令,将2个值的积代入位置寄存器要素。 |
PR[i,j] =(值)/(值) |
PR[i,j] =(值)/(值)指令,将2个值的商代入位置寄存器要素。 |
PR[i,j] =(值)MOD(值) |
PR[i,j] =(值)MOD(值)指令,将2个值的余数代入位置寄存器要素。 |
PR[i,j] =(值)DIV(值) |
PR[i,j] =(值)DIV(值)指令,将2个值的商的整数值部分代入位置寄存器要素。 |
附件两个截图,更直观明了!!! |