Modbus RTU转TCP配置文档(图1)" height="730" src="https://i-blog.csdnimg.cn/img_convert/5b7a43d73212120efa9f5a139391b136.jpeg" width="1096" />
一、Modbus RTU 和 Modbus TCP 在多个方面存在差异
物理层与传输介质
Modbus RTU:常使用串口通信,如 RS - 232 或 RS - 485。RS - 232 适合短距离通信,通常在十几米以内;RS - 485 则支持更长距离,可达 1200 米左右,并且允许多个设备连接在同一总线上,适用于小型、局部的工业控制网络。
Modbus TCP:基于以太网,利用 TCP/IP 协议栈进行数据传输。它使用网线作为传输介质,可借助现有的局域网、广域网基础设施,传输距离仅受网络设备和拓扑结构限制,能实现跨地域的远程通信。
数据帧格式
Modbus RTU:数据帧以二进制形式编码,包含从站地址、功能码、数据和校验信息(通常是 CRC 循环冗余校验)。数据帧没有额外的网络层和传输层开销,格式相对紧凑,但不同厂家设备可能在细节上有差异。
Modbus TCP:数据帧基于 TCP/IP 协议,在 Modbus 应用层数据前添加了 MBAP(Modbus 应用协议头)。MBAP 包含事务标识符、协议标识符、长度和单元标识符等信息,用于在网络中准确识别和传输 Modbus 数据,数据帧整体结构更复杂。
传输效率
Modbus RTU:由于使用串口通信,传输速率相对较低,常见波特率有 9600bps、19200bps 等。在数据传输量较大或对实时性要求较高的场景下,容易出现传输延迟。
Modbus TCP:依托以太网,传输速率高,常见的有 10Mbps、100Mbps 甚至更高。能够快速传输大量数据,更适合对实时性要求高、数据交换频繁的应用场景。
连接方式
Modbus RTU:采用主从式通信结构,一个主站可以与多个从站进行通信。主站发起请求,从站根据请求返回响应,通信过程是一问一答式,不支持并发通信。
Modbus TCP:支持多主站和多从站的连接方式,多个客户端(主站)可以同时与服务器(从站)进行通信,实现并发数据访问,提高了系统的通信效率和灵活性。
网络兼容性
Modbus RTU:串口通信的局限性使其难以直接集成到基于 IP 的网络系统中,需要通过协议转换器才能与其他网络设备进行通信。
Modbus TCP:基于 TCP/IP 协议,与现代网络系统高度兼容,可直接接入企业局域网、互联网,方便与其他基于 IP 的系统(如 SCADA 系统、ERP 系统等)进行数据交互和共享。
应用场景
Modbus RTU:适用于小型工业控制系统、局部设备监控等场景,如小型工厂的设备控制、楼宇自动化中的局部设备管理等,这些场景对通信距离和数据传输量要求相对较低。
Modbus TCP:常用于大型工业自动化系统、远程监控和管理系统等,如大型工厂的分布式控制系统、跨地域的能源管理系统等,这些场景需要长距离、高速率、大规模的数据通信和集成。
二、从以下几方面说明一下为什么要将ModBusRTU转换成TCP
Modbus RTU转TCP配置文档(图2)" height="923" src="https://i-blog.csdnimg.cn/img_convert/965523d94242d06400dcd585250911fb.png" width="1437" />
1. 长距离通信和网络扩展性:Modbus RTU 通常用于基于串口的通信,如 RS-485,通信距离有限,一般 RS-485 总线在理想条件下最大通信距离约 1200 米 。而 Modbus TCP 基于以太网,使用 IP 网络进行数据传输,借助现有的局域网、广域网基础设施,理论上可以实现几乎无限距离的通信,方便连接位于不同地理位置的设备,满足大型工业自动化系统、智能建筑等跨区域通信需求,易于构建大规模的分布式控制系统。
2. 提高数据传输速度和效率:串口通信的速率相对有限,如常见的 9600bps、19200bps 等。以太网的传输速率通常要高得多,常见的有 100Mbps、1Gbps 甚至更高。当需要传输大量数据或对实时性要求较高时,Modbus TCP 能更好地满足快速数据交换的需求,提高系统的响应速度和整体性能。
3. 网络兼容性和集成性:在现代企业网络环境中,TCP/IP 是主流的网络通信协议,几乎所有的计算机、服务器、路由器等网络设备都支持 TCP/IP 协议。将 Modbus RTU 转换为 Modbus TCP,可以使基于 Modbus RTU 的工业设备无缝集成到现有的企业网络中,便于与其他基于 IP 的系统(如企业资源计划 ERP 系统、制造执行系统 MES 等)进行数据交互和共享,实现更高效的生产管理和决策。
4. 远程监控和管理:通过将 Modbus RTU 转换为 Modbus TCP,设备可以连接到互联网,允许用户通过网络从任何地方远程访问和监控设备。这对于需要远程维护、故障诊断和实时数据采集的应用场景非常重要,例如远程泵站监控、无人值守变电站等。
5. 设备管理和维护便利性:基于 TCP 的网络管理工具和技术更加丰富和成熟,网络管理员可以利用这些工具对连接的设备进行配置、监控和故障排除。相比之下,Modbus RTU 设备的管理通常需要专用的串口工具和更复杂的现场操作。通过转换为 Modbus TCP,可以降低设备管理和维护的难度和成本。
三、捷米特JM-RTU-TCP-PLUS 网关模块如何助力ModBusRTU转换成TCP
先说一下此产品广泛应用于支持RS485接口的软启动器、变频器、智能高低压电 器、电量测量装置、智能现场测量设备、仪表、PLC、DCS、FCS等等。
技术指标
TCP - RTU RS485 设备在 TCP 一侧为 TCP Server,在 RTU 一侧通过 RS485 可以作为 Modbus主站;
支持Modbus协议;
功能码:支持01H、02H、03H、04H、05H、06H、0FH、10H号功能;
供电:24VDC(±5%),最大功率3.5W ;
工作环境温度:-25~55℃,湿度≤95%;
外形尺寸:34mm(宽)×110mm(高)×70mm(厚) ;
安装方式:35mm导轨; Ø 防护等级:IP20;
Modbus RTU转TCP配置文档(图3)" height="400" src="https://i-blog.csdnimg.cn/img_convert/baeab90cdfbe81c434e1cdec1379c921.jpeg" width="600" />
配置模块
1. 正确连接电源,通过配置网口将TCP - RTU RS485与计算机相连,给TCP - RTU RS485 上电;
2. 打开配置软件,根据需求在配置软件中进行配置;
3. 选择正确的COM口,点击工具栏中的“下载”按钮,将配置下载到TCP - RTU RS485 中;
4. 等待大约10秒,TCP - RTU RS485与PLC之间建立正确连接,此时OK灯亮。
4.2 Configuration Tool 配置软件 配置模块需要使用配置软件,用户可以从光盘或者网站上获取并安装,用户使用网关配置软 件可以轻松完成TCP - RTU RS485的配置,包括设备IP地址,子网掩码,网关地址和设备名 称,串口波特率、奇偶校验、停止位等,并可对网关内存映射数据进行冲突检测。主界面如下图:
Modbus RTU转TCP配置文档(图4)" height="753" src="https://i-blog.csdnimg.cn/img_convert/23dcaed98b7925f5665f25aabf249394.png" width="1107" />
数据交换
TCP - RTU RS485的TCP 网络和串口之间的数据转换是通过“映射”关系来建立的。在 TCP - RTU RS485中有两块数据缓冲区,一块是输入缓冲区(1500字节),地址范围为0x000 0x5DB;另一块是输出缓冲区(1500字节),地址范围为0x5DC-0xBB7。
1 TCP Server端
假定用户配置的输入数据的长度为L1,输出数据的长度为L2。TCP - RTU RS485会把 [0x000,L1]地址范围内的数据发送到TCP 网络中,当从TCP 网络接收到数据时,TCP - RTU RS485 会将数据写到[0x5DC,0x5DC+L2]地址范围内。
2 Modbus RTU端
当串口运行Modbus主站协议时,对于TCP - RTU RS485所支持的所有写寄存器、写线 圈命令,都可以从0x000-0x5DB、0x5DC-0xBB7地址范围内取数据,发给Modbus从站。对 于TCP - RTU RS485所支持的所有读寄存器、读线圈命令,TCP - RTU RS485会从Modbus 从站返回的数据写到0x000-0x5DB范围内。 注意:Modbus主站可配置的命令数为32条,每条命令可以读取一组连续的Modbus寄存器。
3 通用模式-问答式
当串口运行通用模式-问答式协议时,命令请求部分可以从缓冲区0x000-0x5DB、0x5DC 0xBB7 的任意位置取数,然后发出到从站串口设备中。当串口从站设备给出响应时,若响应中有 多少取决于用户的配置。
4 通用模式-接收式
数据部分,JM-RTU-TCP-PLUS 会将响应的数据部分写到 0x000-0x5DB 范围内,具体数据的 当串口运行通用模式-接收协议时,JM-RTU-TCP-PLUS 的某个串口仅接收用户的串口主站 设备发送的数据,而不会做出任何的响应。在这种方式下JM-RTU-TCP-PLUS 会把接收到的数 据写到0x000-0x5DB地址范围内的某段区域内。
5 输出命令轮询模式
该节的内容仅适用于 Modbus主站协议和通用模式-问答式协议。 命令执行过程: 1. 超时重发次数设置为0; 2. 发送命令的请求帧。发送完成后,响应超时定时器开始计时; 3. 等待命令的响应帧; 4. 若在响应超时时间内接收到响应帧,则认为有响应,至于是否响应正确,依赖于具体的响 应格式。若响应帧正确,命令执行结束。若在响应超时时间内没有接收到响应帧,则认为响应超 时。响应错误和响应超时时,进入步骤5; 5. 判断重传次数是否为 3,若为3 则命令执行结束,否则,超时重传次数加一,进入步骤 2。 连续输出模式: 在主站协议中,每一条命令在每一个子网内都有唯一的命令索引号。 主站协议工作在连续输出模式(输出命令轮询模式)时,以下列方式执行: 1. 执行第n号命令; 2. 第n号命令执行完成后,n加一,若大于最大命令条数,则n设置为0。重新进入步骤1。 变化输出模式: 主站协议工作在变化输出模式时,按以下方式执行: 否有变化,有变化则执行命令n; 1. 若命令n为读命令,执行命令n。否则,检测命令n的请求帧中包含的内存数据映射数据是 2. 如果命令n被执行则等待命令n执行完成,n加一,若大于最大命令条数,则n设置为0。 重新进入步骤1。
6 字节交换方式
字节交换方式共有4种方式:无交换、2字节交换、4字节寄存器交换和4字节大小端交换。 2 字节交换: 使用2字节交换时,交换的字节个数一定要是2的整数倍。2字节交换是以2个字节为单元进 行交换的,交换方式见下表:
Modbus RTU转TCP配置文档(图5)" height="1417" src="https://i-blog.csdnimg.cn/img_convert/b113dae74fad7bb6e021a7509dbfa4df.png" width="1043" />
软件安装步骤
Modbus RTU转TCP配置文档(图6)" height="1493" src="https://i-blog.csdnimg.cn/img_convert/e81268917a6dd769ab2f4b9d1bcc5062.png" width="1071" />
Modbus RTU转TCP配置文档(图7)" height="1523" src="https://i-blog.csdnimg.cn/img_convert/6be539b45b31cea143a4a347120b63ca.png" width="1013" />
Modbus RTU转TCP配置文档(图8)" height="1495" src="https://i-blog.csdnimg.cn/img_convert/bc19287193f4fd05a81e7a59f7f71133.png" width="1077" />