在处理发那科机器人与PLC的8位数据传输时,需重点关注硬件连接、信号分配及数据转换,同时PLC需具备处理有符号/无符号8位数据的能力,具体如下:
一、硬件连接与信号分配
I/O板与PLC接口
使用CRMA15/CRMA16 I/O板连接机器人与PLC,将机器人GO(输出信号)与PLC的IB(输入字节)对应连接。例如,GO[2]的8位数据需通过I/O板的DO[101-108]接口连接至PLC的I0.0~I0.7。
关键点:无需额外分配DO[101-108]到机架48(此操作多余),仅需正确配置GO[2]的机架、槽号和起始点(如机架48、槽号1、起始点1、长度8)。
电源与信号完整性
确保CRMA15 I/O板的DORSC1接口接+24V电源,避免信号干扰或传输错误。
二、数据传输协议与配置
通信协议选择
Profinet/EIP:若机器人控制柜支持,可通过总线通讯软件(如Profinet)实现高速数据传输,减少接线复杂度。
HOSTlink协议:适用于上位机与PLC的命令-应答式通信,但需额外开发帧校验(如FCS校验)确保数据完整性。
信号映射与地址分配
在PLC程序中定义输入字节(IB0)与机器人GO信号的映射关系。例如,IB0的每一位对应GO[2]的一个位(IB0.0=GO[2].0,IB0.1=GO[2].1,依此类推)。
避坑提示:避免将DO信号(如DO[101-108])重复分配至机架48,否则会导致信号冲突或传输失败。
三、PLC处理8位数据的核心能力
数据类型支持
有符号数处理:若仪表或机器人返回有符号8位数据(范围-128~+127),PLC需支持符号位解析。例如,三菱PLC可通过
M8161
指令或移位运算处理符号位。无符号数处理:若数据为无符号(0~255),直接读取即可,无需额外转换。
数据转换与缩放
补码传输:机器人与PLC通信时,数据以补码形式传输。正数补码与原码相同,负数补码为原码取反加1。PLC需根据数据正负进行还原。
小数处理:若传输位置数据(如X/Y/Z坐标),需将小数部分扩大1000倍取整传输,PLC接收后需缩放回实际值(如除以1000)。
指令与函数支持
逻辑运算:使用PLC的AND/OR/XOR指令处理8位数据的位操作。
数据移动:通过MOVE指令将接收到的8位数据存储至寄存器(如D0),或从寄存器发送至输出字节(QB0)。
校验与纠错:若采用HOSTlink协议,需在PLC中实现FCS校验,确保数据传输无误。
四、典型应用场景与配置示例
场景:机器人通过GO[2]发送8位状态码至PLC的IB0,PLC根据状态码控制夹具动作。
配置步骤:
在机器人侧配置GO[2]为机架48、槽号1、起始点1、长度8。
将CRMA15 I/O板的DO[101-108]连接至PLC的I0.0~I0.7。
在PLC程序中定义IB0,并通过逻辑判断(如IB0.0=1时触发夹具打开)实现控制。
场景:PLC通过QB0发送8位指令至机器人的GI[1],机器人解析指令并执行动作。
配置步骤:
在机器人侧配置GI[1]为机架48、槽号1、起始点1、长度8。
将CRMA15 I/O板的DI[101-108]连接至PLC的Q0.0~Q0.7。
在PLC程序中定义QB0,并通过MOVE指令更新输出字节(如QB0:=16#A5发送二进制10100101)。
五、常见问题与解决方案
问题:PLC接收到的负数数据异常(如-9显示为247)。
原因:未正确解析补码。
解决:在PLC中编写补码转换程序,或使用支持补码自动解析的PLC型号(如西门子S7-1200)。
问题:数据传输不稳定,偶尔出现位错误。
原因:信号干扰或接线松动。
解决:检查I/O板电源(+24V是否稳定),重新压接信号线,或改用屏蔽双绞线。
问题:PLC无法识别机器人发送的8位数据。
原因:GO信号未正确分配或机架/槽号配置错误。
解决:在机器人示教器中检查GO[2]的配置,确保机架48、槽号1、起始点1、长度8,并重新分配I/O板接口。