Modbus协议
Modbus是一种标准的工业控制数据交换协议(一种通讯约定),可以用RTU、ASCII、TPC三种方式进行协议数据的互传。
- RTU是通过二进制数据方式直接传送数据,
- TCP是通过将每字节二进制数据转换为固定两位十六进制字符串,再依次串联在一起,以TCP码形式进行数据传送,一般用得最多的还是RTU方式。
- Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验。但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。
- ModbusTCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。
- TCP和RTU协议非常类似,只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可
目前,Modbus有下列三种通信方式:
- 以太网,对应的通信模式是MODBUS-TCP。
- 异步串行传输(各种介质如有线RS-232-/422/485/;光纤、无线等),对应的通信模式是MODBUS RTU或MODBUS ASCII。
- 高速令牌传递网络,对应的通信模式是Modbus PLUS。