文档解析
Modbus是一种由Modicon公司于1979年开发的工业现场总线协议标准,后由施耐德公司于1996年推出基于以太网TCP/IP的Modbus协议版本——ModbusTCP。Modbus协议作为应用层报文传输协议,包含ASCII、RTU、TCP三种报文类型,不定义物理层,而是定义控制器能够识别和使用的消息结构,支持多种物理层接口,如RS232、RS422、RS485和以太网口,并采用Master/Slave(主/从)通信方式。
Modbus协议规范涉及应用协议和Modbus技术规范的关系,Modbus应用层在TCP/IP上的Modbus映射,以及Modbus协议在串行链路和TCP/IP上的实现指南。Modbus是一种简单的客户机/服务器应用协议,允许客户机向服务器发送请求,服务器处理请求后向客户机发送应答。Modbus事务处理包括正常响应和异常响应,其中正常响应复制原始功能码,异常响应则将功能码的最高有效位设置为逻辑1。
在串行链路上,Modbus协议通过RS485和RS232等物理接口实现,采用主站/从站模型,主站发起通信,从站在未收到主站请求时不会发送数据。Modbus寻址空间有256个不同地址,地址0为广播地址,1-247为子节点单独地址,248-255为保留地址。Modbus串行链路ADU包括地址域、功能码、数据和差错校验(CRC或LRC)。
Modbus协议的优点包括公开免费、简单易用、性能稳定和广泛的知识资源支持。缺点包括自适应性差、通信效率低。ModbusTCP作为运行在TCP/IP上的Modbus报文传输协议,通过控制器之间通过网络(例如以太网)和其他设备之间可以通信。ModbusTCP是开放协议,IANA给Modbus协议赋予TCP端口号502。ModbusTCP/IP协议模型包括应用层、传输控制协议、网络层和数据链路层。
ModbusTCP数据帧与串行链路数据帧的区别在于应用数据单元(ADU)的封装方式,ModbusTCP在TCP帧的数据段中嵌入ADU。MBAP报文头包含7字节,包括事务处理、协议标识符、长度和单元标识符。ModbusTCP的应用数据单元(ADU)包括长度、协议标识符、单元标识符、功能码和数据。
ModbusTCP的优缺点包括用户可以免费获得协议及样板程序、网络实施价格低廉、易于集成不同设备、网络传输能力强。缺点是实时性较差。TCP/IP已成为信息行业的事实标准,世界上93%的网络都使用TCP/IP,中国已将ModbusTCP作为工业网络标准之一,国际半导体业SEMI定为网络标准,国际水处理、电力系统也将其作为应用的事实标准,越来越多的行业把ModbusTCP作为标准使用。
评论