在发那科工业机器人二次开发中有时会需要获取其内部的位置寄存器的值,在发那科工业机器人的KAREL语言中提供了该功能的支持,主要用到一个内置函数“GET_POS_REG”,一起来看下介绍:
GET_POS_REG 内置函数
用途: 从指定的位置寄存器获取XYZWPR值
语法 : GET_POS_REG(register_no, status ,<group_no>)
函数返回类型 : XYZWPREXT
输入输出 参数 :
[输入] register_no :INTEGER
[输出] status :INTEGER
[输入] group_no :INTEGER
详细:
register_no 指定要获取的位置寄存器。
如果省略 group_no,则假定程序的默认组。
如果指定了 group_no,则它必须在1到控制器上定义的组总数的范围内。
GET_POS_REG 以 XYZWPREXT 格式返回位置。
status 说明尝试操作的状态。如果不等于0,则发生错误。
按下图步骤创建一个KAREL文件。
在KAREL程序编辑器中编写如下程序:
PROGRAM TEST_GET_POS_REG --程序名
VAR
B : INTEGER
C : XYZWPREXT
D : STRING[100]
BEGIN --程序开始
FORCE_SPMENU(TP_PANEL,SPI_TPUSER,1) --显示用户菜单界面
WRITE('WAIT...',CR) --提示
DELAY 1000 --延时
C = GET_POS_REG(1,B ,1) --获取1号位置寄存器的值
CNV_REAL_STR(C.X, 0,2, D) --转换C内的X值为字符串
WRITE(D,CR) --显示获取的X轴的值
WRITE('DONE',CR) --提示
END TEST_GET_POS_REG --程序结束
按下图步骤点击“编译”按钮。
按下图步骤关闭编译成功输出窗口。
按下图步骤关闭KAREL程序编辑器。
按下图步骤打开工业机器人示教器。
按下图步骤点击“DATA”按钮进入寄存器选择界面。
按下图步骤选择位置寄存器。
按下图步骤点击PR[1]旁边的星号查看其位置。
按下图步骤修改完毕后点击完成。
按下图步骤按“SELECT”按钮准备进入程序一览界面。
按下图步骤选择该程序。
按下图步骤运行程序。
运行程序结果↓
|