Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
其中Modbus RTU通信通过串口EIA-485物理层进行。即Modbus RTU基于485传输方式进行。若设备只有一个232串口接口,也可购买485转232接口后使用。
本文介绍ABB机器人使用Modbus RTU与设备进行通讯。 ABB机器人使用串口通讯不需要选项。
1. ABB机器人控制柜提供com1口作为机器人与外部设备通讯的串口,如下图。若使用Modbus RTU通讯,需要购买485转223接口。机器人侧用232,在使用串口线时注意交叉接线。
在示教器的控制面板-配置-主题communication-Serial Port中,根据Modbus RTU主站设备的要求,设置机器人串口参数
2. Modbus rtu通过不同功能码对相应单个线圈/多个寄存器进行读写,例如使用0x03功能码读取多个保持型寄存器数据,发送数据及返回数据格式如下:
使用0x10功能码写入多个保持型寄存器数据,发送数据及返回数据格式如下:
3. 其他功能码如下:
4. 使用Modbus RTU进行数据读写时,从站需要发送CRC校验码,CRC校验内容为CRC校验码之前的所有数据,Modbus RTU CRC校验码计算方法如下:
在CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算。
1、 加载一值为0XFFFF的16位寄存器,此寄存器为CRC寄存器。
2、 把排在一号位的8位二进制数据(即通讯信息帧的一个字节)与16位的CRC寄存器的相异或,异或的结果仍存放于该CRC寄存器中。
3、 把CRC寄存器的内容右移一位,用0填补极高位,并检测移出位是0还是1。
4、 如果移出位为零,则重复第三步(再次右移一位);如果移出位为1,CRC寄存器与0XA001进行异或。
更多详情:abb机械手
- 下一篇:ABB上下料机器人三大优势
- 上一篇:ABB基本数据与故障代码处理