Modbus TCP简介

[复制链接]
查看91143 | 回复0 | 2024-10-19 09:38:51 | 显示全部楼层 |阅读模式
Modbus TCP协议介绍
Modbus TCP是一种基于TCP/IP的应用层协议,它是Modbus协议的网络版本。Modbus最初是为串行通信设计的,而Modbus TCP则将其扩展到以太网环境中。这种协议利用TCP/IP协议栈的传输层和网络层,以实现设备间的高效数据通信。Modbus/TCP以其简单性、可靠性和广泛的应用范围而受到青睐,特别是在工业自动化控制系统、能源管理和环境监测等领域。
一、Modbus TCP协议中的角色
Modbus TCP协议是一种命令/响应协议,需要一个请求数据的客户端(也称为TCP客户端)和一个处理请求并返回响应的服务器(称为TCP服务器)。客户端和服务器之间通过TCP/IP网络连接进行通信。在Modbus TCP中,客户端是数据请求的发起方,而服务器是数据请求的接收方。具体来说,客户端通过发送Modbus数据帧(包括功能代码、数据起始地址和数据数量等)向服务器请求数据。服务器收到数据请求后,解析客户端的请求并按照客户端的请求返回相应的数据。而对于Modbus TCP的服务器(也称为Modbus TCP从站或Modbus TCP Slave),需要设置的参数包括:IP地址:服务器的IP地址,用于与客户端进行通信。子网掩码:用于确定网络地址的范围。端口号:用于指定Modbus TCP通信的端口号,默认为502。接收地址:接收客户端发来的数据对于Modbus TCP的客户端(也称为Modbus TCP主站或Modbus TCP Master),需要设置的参数包括:IP地址:客户端的IP地址,用于与服务器进行通信。端口号:用于指定Modbus TCP通信的端口号,与服务器的端口号相对应。连接名称:用于标识连接的名称。服务端IP:服务器的IP地址,用于与服务器的通信。服务端端口:服务器的端口号,用于与服务器的通信。Slave ID:从站的ID号,用于标识从站设备。通信协议:用于指定通信协议的类型,如TCP/UIP写功能码:用于指定写操作的Modbus功能码,如Coil或Holding等。起始地址:第一个起始寄存器地址寄存器数量:从起始地址开始,读取多少个数量的寄存器
二、Modbus TCP通信报文分析
通过百度网盘分享的文件:ModbusPoll.zip    链接:https://pan.baidu.com/s/15VvINKFw4UNZEpX0x3AmwA?pwd=kut9提取码:kut9通过百度网盘分享的文件:modbusslave.rar链接:https://pan.baidu.com/s/1Mxv3YjIYrxBeaAzd-sMITA?pwd=uly3提取码:uly31、Modbus Slave设置快速连接,并设置IP和端口,端口默认用502

在设置,采用默认设置:从0开始的10个保持寄存器地址,并手动给寄存器赋值。

   



2、Modbus Pool设置



客户端连接成功,并正确读取到服务器从地址0开始的10个保持寄存器数据。



3、查看报文

因为10个寄存器太长,所以先修改成两个寄存器,方便进行查看,如下图   



查看通信,如下图



报文如下:



点击 Stop, Copy 两个报文   





发送的报文解析:

MBP报头文

功能码

数据

事务表示符

协议表示符

长度

单元标识符

功能码

起始寄存器

长度

03 73

00 00

00 06

01

03

00 00

00 02

2个字节

2个字节

2个字节

1个字节

1个字节

2个字节

2个字节

Modbus TCP报文格式:
TCP报文格式:MBAP报文头+功能码+数据MBAP报文头(共占7个字节)事务处理标识符:报文的ID,此字段用于匹配请求消息与其相应的响应消息。协议标识符:协议的ID,对于Modbus通信,该字段始终设置为0。长度:后面有多少个字节,该字段指定帧中剩余的字节数。单元标识符:从站地址,此字段包含该消息所针对的设备(从属设备)的地址,类似于 Modbus RTU 中的地址字段。
接收的报文解析:

MBP报头文

功能码

数据

事务表示符

协议表示符

长度

单元标识符

功能码

数据长度

具体数据

03 73

00 00

00 07

01

03

04

00 01 00 02        

2个字节

2个字节

2个字节

1个字节

1个字节

1个字节

4个字节
与 Modbus RTU 不同,Modbus TCP 不包含用于错误检测的 CRC 字段,因为此功能由底层以太网和 IP 层提供。通过依赖以太网和 IP 层内置的错误检测和纠正技术,Modbus TCP可确保工业应用中的可靠通信和数据完整性。简化了Modbus TCP协议,并使其能够利用现代以太网和IP网络的稳健性和可靠性。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则