MODBUS TCP模块协议结构是如何设计的?

MODBUS TCP是MODBUS系列中优秀的通信协议的一种,它主要用于监视和控制自动化设备,那么MODBUS的协议结构是怎样的呢?下面由MODBUS TCP模块厂家无锡凌科自动化为大家介绍一下MODBUS TCP模块的协议结构。

需要特别注意的是,请求和响应主体的结构,从功能代码到数据部分的末尾,具有与其他MODBUS变体完全相同的布局和含义,例如

MODBUS串口– ASCII编码
MODBUS串口– RTU(二进制)编码
MODBUS PLUS网络–数据路径

在其他情况下,唯一的区别是任何“成帧”序列,错误检查模式和地址解释的形式。

所有请求都通过TCP / IP在注册端口502上发送。

通常在给定的连接上以半双工的方式发送请求。也就是说,在响应未完成时,在单个连接上发送其他请求没有任何好处。相反,鼓励希望获得高峰值传输速率的设备建立到同一目标的多个TCP / IP连接。但是,已知一些现有的客户端设备尝试“流水线”请求。

MODBUS TCP模块协议结构是如何设计的?

MODBUS“从站地址”字段被单字节“单元标识符”代替,该单元标识符可用于通过诸如网桥和网关之类的设备进行通信,这些设备使用单个IP地址来支持多个独立的终端单元。

请求和响应的前缀为六个字节,如下所示

字节0:

事务标识符–由服务器复制–通常为0

字节1:

事务标识符–由服务器复制–通常为0

字节2:

协议标识符= 0

字节3:

协议标识符= 0

字节4:

长度字段(高位字节)= 0(因为所有消息均小于256)

字节5:

长度字段(低位字节)=跟随的字节数

字节6:

单元标识符(以前是“从站地址”)

字节7:

MODBUS功能码

字节8:

根据需要的数据

因此,示例事务“从UI 9偏移4处读取1个寄存器”返回值5

要求: 00 00 00 00 00 06 09 03 00 04 00 01
回应: 00 00 00 00 00 05 09 03 02 00 05

熟悉MODBUS的设计人员应注意,MODBUS中不需要“ CRC-16”或“ LRC”检查字段。而是使用TCP / IP / IP和链路层(例如,以太网)校验和机制来验证数据包的准确传递。了解更多有关ETHERCAT模块、CANOPEN模块、DEVICENET模块作用、MODBUS TCP模块欢迎前往PROFINET模块厂家无锡凌科自动化公司。

 


返回列表