文档介绍:第三部分:Modbus协议在TCP/,提供参考信息以帮助软件开发者使用这种服务。这个文中不包括MODBUS功能码的编码内容,这些信息请参阅MODBUS协议规范[2]。这个文件准确而全面地描述了MODBUS报文传输服务的实现。其目的是便于在那些使用MODBUS报文传输服务的设备之间进行可互操作。这个文件主要由三部分组成:l在TCP/IP上的MODBUS协议概述lMODBUS客户机、服务器和网关工具的功能描述l针对一个MODBUS实现实例的目标模型建议的实现准则。,(以太网TCP/IP网络上。这个客户机/服务器模式是基于4种类型报文:lMODBUS请求lMODBUS证实lMODBUS指示lMODBUS响应MODBUS请求是客户机在网络上发送用来启动事务处理的报文MODBUS指示是服务端接收的请求报文MODBUS响应是服务器发送的响应信息MODBUS证实是在客户端接收的响应信息MODBUS报文传输服务(客户机/服务器模型用于实时信息交换:l在两个设备应用程序之间l在设备应用和其它设备之间l在HMI/:[2]MODBUS协议规范[4]:l连接至TCP/IP网络的MODBUSTCP/IP客户机和服务器设备l互连设备,例如:在TCP/IP网络和串行链路子网之间互连的网桥、路由器或网关,联接,该子网允许将MODBUS串行链路客户机和服务器终端设备连接起来。MODBUS串行链路图1:MODBUSTCP/IP通信结构MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU上引入一些附加域。ADUPDU图2:通用MODBUS帧启动MODBUS事务处理的客户机建立MODBUS应用数据单元。这个功能码向服务器指示执行执行哪种操作。。PDU图3:TCP/IP上的MODBUS的请求/响应在TCP/IP上使用一种专用报文头识别MODBUS应用数据单元。将这种报文头称为MBAP报文头(MODBUS协议报文头。这种报文头提供一些与串行链路上使用的MODBUSRTU应用数据单元比较的差别:l用MBAP报文头中的单个字节单元标识符取代MODBUS串行链路上通常使用的MODBUS从地址域。这个单元标识符用于设备的通信,这些设备使用单个IP地址支持多个独立MODBUS终端单元,例如:网桥、路由器和网关。l用接收者可以验证完成报文的方式设计所有MODBUS请求和响应。对于MODBUSPDU有固定长度的功能码来说,仅功能码就足够了。对于在请求或响应中携带一个可变数据的功能码来说,数据域包括字节数。l当在TCP上携带MODBUS时,即使将报文分成多个信息包来传输,办事在MBAP报文头上携带附加长度信息,以便接收者能识别报文边界。显式和隐式长度规则的存在以及CRC-32差错校验码的使用(在以太网上将对请求或响应报文产生极小的未检出干扰。:域长度描述客户机服务器事务元标识符2个字节MODBUS请求/响应事务处理的识别码客户机启动服务器从接收的请求中重新复制协议标识符2个字节0=MODBUS协议客户机启动服务器从接收的请求中重新复制长度2个字节以下字节的数量客户机启动(请求服务器(响应启动单元标识符1个字节串行链路或其它总线上连接的远程从站的识别码客户机启动服务器从接收的请求中重新复制报文头为7个字节长:事务处理标识符:用于事务处理配对。在响应中,MODBUS服务器复制请求的事务处理标识符。协议标识符:用于系统内的多路复用。通过值0识别MODBUS协议。长度:长度域是下一个域的字节数,包括单元标识符和数据域。单元标识符:为了系统内路由,使用这个域。专门用于通过以太网TCP-IP网络和MODBUS串行链路之间的网关对MODBUS或MODBUS+串行链路从站的通信。MODBUS客户机在请求中设置这个域,在响