Modbus软件开发实战指南
上QQ阅读APP看书,第一时间看更新

1.3 协议版本

Modbus通信协议目前存在用于串行链路、TCP/IP以太网以及其他支持互联网协议的网络版本。大多数Modbus设备通信通过串口(RS232/RS485)或TCP/IP物理层进行连接,参见图1-3。

图1-3 Modbus串行网络结构

对于Modbus串行链路连接,存在两个变种,它们在协议细节上略有不同,主要区别是传输数据的字节表示上的不同。这两个变种包括RTU模式和ASCII模式。ModbusRTU模式是一种紧凑的,采用二进制表示数据的方式;而Modbus ASCII模式是一种人类可读的、冗长的表示方式。这两个变种都使用串行链路通信(Serial Communication)方式,为了确保数据传输的完整性和准确性,RTU模式下消息格式命令和数据带有循环冗余校验的校验和,而ASCII模式下消息格式采用纵向冗余校验的校验和,而且被配置为RTU模式的节点不能与配置为ASCII模式的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)物理层的连接,存在多个Modbus/TCP变种,这种方式不需要校验和的计算。

对于以上这3种通信模式,在数据模型和功能调用上都是相同的,只有传输报文封装方式是不同的。

当前,Modbus协议有一个扩展版本Modbus PLUS(Modbus+或者MB+),不过此协议是MODICON专有的,和Modbus不同,它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus PLUS到计算机需要特别的接口,通常是支持ISA(SA85)、PCI或者PCMCIA总线的板卡。