Modbus TCP 应用介绍
一、原理
Modbus TCP/IP 协议是工业通信系统领域的基石。它是一种与以太网结合使用的应用层消息传递协议,可实现不同类型网络上连接的设备之间的客户端/服务器通信。Modbus 最初是一种 Modbus 串行协议 (Modbus RTU),现已发展到包含 TCP/IP 等现代技术,在从楼宇自动化和能源管理系统到复杂的工业自动化流程等领域发挥着至关重要的作用。该协议注重简单性和稳健性,由于其易用性、开放性以及将不同设备集成到网络中的能力而得到广泛采用,使其成为许多应用程序的首选协议。
Modbus TCP/IP 是对成熟的 Modbus 协议的改编,可在 TCP/IP 网络上使用。它提供标准化的 TCP 接口,允许 Modbus 设备通过以太网进行无缝通信,从而实现高效可靠的数据交换。因此,其主要功能是为基于以太网的系统上的 Modbus 通信建立一座桥梁,而以太网系统在当今的互联世界中无处不在。
Modbus TCP/IP 消息协议继承了原始 Modbus 协议的简单性和鲁棒性(通过保留消息结构、基于寄存器的通信等),增加了 TCP/IP 的可靠性和互操作性。它将传统的 Modbus 数据封装在 TCP/IP 数据包中,使数据能够通过标准网络基础设施进行传输。
Modbus TCP/IP 使用 TCP(传输控制协议)作为底层传输协议。TCP 通过提供数据分段、确认和重传等功能,确保 Modbus 消息在网络上可靠且有序地传送。
该协议依赖于 IP 层(互联网层)来进行寻址、路由和数据包传送。它使用 IP 地址来识别网络中的源设备和目标设备。IP 确保 Modbus TCP/IP 消息在连接到以太网的设备之间正确路由。
客户端/服务器架构:Modbus 消息传递结构是一种命令/响应协议,需要一个请求数据的客户端(也称为 TCP 客户端)和一个处理请求并返回响应的服务器。
基于寄存器的通信:在 Modbus 领域中,数据存储在四个基本数据实体中,即离散输入、线圈、输入寄存器和保持寄存器。这些实体对于 Modbus 系统内数据的组织和解释至关重要。离散输入和线圈处理二进制信息,而输入和保持寄存器处理数字数据。
寻址:Modbus 采用简单的寻址方案来识别正在访问的寄存器。寻址通常使用数值来指定起始寄存器地址以及要读取或写入的寄存器的数量。
基于功能代码的读/写操作:Modbus 中的数据访问由 Modbus 数据帧中的功能代码字段定义。这些功能代码至关重要,因为它们指定要对数据实体执行的操作类型。操作的范围可以从读取和写入到数据操作功能。
面向事务:Modbus 的一个基本原则是其面向事务的性质。Modbus 客户端发出的每个请求都独立于所有其他请求。这种事务属性使 Modbus 能够用于广泛的应用和用例。
一、协议
数据帧包含报文头、功能代码和数据三部分
1、 MBAP报文头:
Modbus TCP/IP协议包含一个7字节报文头
单元识别符可在仪表上设置。
2、功能代码
3、数据
根据不同的功能,都有不同数据格式内容,下面介绍最常用的功能码03:
其它功能码方面,可要网上查询。
二、仪表上的应用
仪表做TCP服务器,客户端以TCP soket 形式与服务器通讯。通讯内容按Modbus TCP协议规范执行。
二.1、重要参数
IP:仪表的IP
端口:4000
设备地址:PC参数中的地址
注:仪表属TCP服务器模式,若超过5秒没有收到所连接设备(如PLC)的数据时,则仪表会判定连接失效,并断开TCP连接,之后应用设备需重新连接。
二.2、数字仪表寄存器
协议:(选用此协议)
接收: 00 2F 00 00 00 06 01 03 00 02 00 004
00 2F:每次通讯+1计数,如下一包就是00 30
00 06: 表示后面有几个字节
01 03 00 02 00 004:同RS232的modbus RTU数据包,但少了CRC校验
举例:
1、读重量与内码
指令:5F EA 00 00 00 06 01 03 00 00 00 28
应答: 5F EA 00 00 00 53 01 03 50 10 34 00 00 00 00 00 00 00 00 00 00 47 79 C3 0E AA 8D C3 7B 9F D0 C3 24 7B DD C2 D8 1A A3 C2 F6 A0 55 C3 03 E4 8D C3 17 75 D6 C2 6A 17 88 C3 73 8A 5E C2 BF 3B 31 C3 1A 12 6C C3 37 D3 50 C3 5E EA B1 C3 11 B0 65 C2 D0 D0 CD C2 C6 00 00 00 00
2、置零
指令:90 78 00 00 00 06 01 06 00 01 00 01
应答:90 78 00 00 00 06 01 06 00 01 00 01
三、现场测试方法
第一步打开软件:
第二步配置通讯方式:
第三步: 读寄存器
第四步:看数据
重量与内码数据为float格式,需按以下设置.应用程序开发,也需按此解码
第五步:最终效果
四、仪表操作设置
以D2008-W为例
此网络指的是RJ45网络接口参数,与modbus TCP相关参数是IP、NAP及GATE,modbus TCP
的服务端口固定为4000。(与以下端口无关)
以D38-3为例