FANUC机器人GI与GO位置数据传输设置
FANUC机器人GI与GO位置数据传输设置(整数小数分开发)
一、概述
在 Fanuc 机器人应用中,如果 IO 点位足够,可以利用机器人 IO 传输位置数据及偏移位置数据等。
二、操作步骤
1、确认通讯软件安装
首先确认机器人控制柜已经安装了总线通讯软件(如 EIP,Profinet),相应的 IO 端口通讯已经配置完成,已经配置相应的 GI 与 GO,GI 用于机器人数据输入,GO 用于机器人数据输出。
2、IO 数据传输原理
计算机通讯中数据是以补码的形式进行传输的。正数和零的补码是其二进制表示,与原码相同。负数的补码是将其原码除符号位(首位)外的所有位取反(0 变 1,1 变 0,符号位为 1 不变)后加 1。以 8 位二进制数为例进行说明:+9 的原码是 00001001,补码也是 00001001。-9 的原码是 10001001,补码是 11110110 加 1,即 11110111。
3、PLC 与发那科机器人 IO 数据传输特点
PLC 与外部数据 IO 传输,无论发送与接收的数据都是补码,传输的数据必须以整数的形式发送。如果数据不是整数则要乘以一定的倍数,将小数转换成整数。机器人通过 GI/GO 传输数据,GI 接收的数据是以无符号数进行显示;而将数据寄存器 R 值赋值给 GO 时,GO 会自动转换成相应的补码,无需人为转换。因此,PLC 与发那科机器人 IO 进行数据传输时,机器人只需要将收到的 PLC 数据进行正负区分和转换。发那科机器人组信号 GI/GO 每组最多只能设置 16 个点数。16 个信号组成的 16 位数据传递的有符号数范围是-32767~+32767。
4、 PLC 与发那科机器人 IO 传送实时位置数据
1)为了保证机器人运行满足实际精度要求,机器人数据必须保留到小数点后三位,如下图所示。如果采用将机器人位置数据乘1000扩大1000倍的方法,那么每个GI或GO 传输的数据实际大小范围则为-32.767~+32.767,很明显不满足实际要求。
2) 通常我们将坐标数据 X,Y,Z,W,P,R 的每个坐标分为整数部分和小数部分,整数部分根据实际传输,小数部分扩大 1000 倍取整传输。GI 定义如下图所示:
3) 本例中是以 EIP 通讯为例,进行 GI 信号 IO 端口分配,GI 分配见下图所示:
5、程序实现
1) 将 GI 收到的数据存储到相应的数值寄存器,以方便进行运算。
详细内容查看:https://mp.weixin.qq.com/s/BCXPYHJLGGTrGAXa-tHf7Q?payreadticket=HKJ6q73jkUbvlXzO_1ql7l4oXUuE4VronIZjPp_TZFAl1wqDGGQBCUl8hwvw_a0jxzAHZzo