【产品应用】GZCOM-NET网关1分钟实现Modbus TCP转RTU

[复制链接]
查看37547 | 回复0 | 2024-5-17 08:49:00 | 显示全部楼层 |阅读模式

随着Modbus TCP和Modbus RTU两种协议在工业现场设备的普及,要实现这两种协议互转的需求日益增加,GZCOM-NET可以实现该转换功能,本文将详细介绍转换原理及使用。


  原理概述

1.        Modbus RTU/TCP协议简介
Modbus通信协议具有多个变种,其中最著名的是Modbus RTU、Modbus ASCII和Modbus TCP三种。在工业现场一般都是采用Modbus RTU协议。与ModbusRTU协议相比较,ModbusTCP协议则是在RTU协议上加一个MBAP报文头,并且由于TCP是基于可靠连接的服务,RTU协议中的CRC校验码就不再需要,两者帧格式差异如图1所示。

图1
1.1 ModbusRTU

    Modbus RTU数据帧(ADU)由地址+PDU+校验组成,物理层为串口,包括RS232、RS422、RS485。
1.2 Modbus TCP

    Modbus TCP数据帧(ADU)由MBAP+PDU组成,物理层为以太网接口;

    MBAP:报文头,长度7个字节。
1.3 Modbus RTU/TCP共同点

    Modbus TCP和Modbus RTU数据帧中的PDU部分是相同的;

    PDU: 协议数据单元(Protocol Data Unit),由功能码+数据组成。功能码是一个字节,数据长度不定,由具体功能码的具体功能决定。
2.        Modbus RTU转Modbus TCP Modbus RTU数据帧转为Modbus TCP数据帧过程为取出协议数据单元(PDU),并且加入报文头部(MBAP),将附加地址对应到报文头部的单元标识符,如图2所示。


图2
    增加了报文头部,并且去掉了附加地址和差错校验;事务处理标识:可以理解为报文的序列号,一般每次通信后就要加1以区别不同的通信数据报文,由客户端生成,应答时复制该值;协议标识符:表示Modbus TCP协议,由客户端生成,应答时复制该值;长度:表示该字节后面的数据长度,单位为字节;单元标识符:设备地址,由客户端生成,应答时复制该值。

3.        Modbus TCP转Modbus RTU
Modbus TCP数据帧转为Modbus RTU数据帧过程为取出协议数据单元(PDU),并且加入附加地址和差错校验,将报文头部的单元标识符对应到附加地址,如图3所示。


图3
    单元标识符作为附加地址;增加差错校验。



  网关实现转换

1. Modbus RTU Master(RS485/RS232) 转 Modbus TCP Slave
该转换可实现用户终端作为Modbus TCP从机,数据采集中心作为Modbus RTU主机。网关实现Modbus RTU和Modbus TCP两种数据的转换,使用RS485/RS232接口与Modbus RTU主站通信,使用TCP Client与Modbus TCP从站通信,如图4所示。


图4

1.1 网关协议转换配置

以RS485为例,打开网关网页左边栏,选择【协议转换】,在转换选择页面里选择【Modbus RTU Master(RS485) 转 Modbus TCP Slave】,然后点击【保存】,如图5所示。



图5
1.2 网关TCP Client配置

打开网关网页左边栏,选择【网络配置】,在网络配置面里选择【TCP/UDP Client】,配置客户端参数,然后点击【保存】,如图6所示。



图6
1.3 RS232/RS485配置

打开网关网页左边栏,选择【RS232/RS485配置】,在网络配置面里选择【RS485】,配置串口参数,然后点击【保存】,如图7所示。



图7
1.4 模拟主/从机配置

用PC打开Modbus模拟软件,创建Modbus RTU主机和Modbus TCP从机,如图8所示。



图8
1.5 结果展示

Modbus RTU主机写入Modbus TCP从机的寄存器成功,并且读取Modbus TCP从机寄存器值成功,如图9所示。



图92. Modbus TCP Master 转 Modbus RTU Slave
该转换可实现传感器作为Modbus RTU从机,数据采集中心作为Modbus TCP主机。GZCOM-NET作为Modbus TCP和Modbus RTU两种数据的转换网关,使用TCP Server与Modbus TCP主站通信,使用RS485或RS232接口与 Modbus RTU从站通信,如图10所示。



图10

2.1 网关协议转换配置

打开网关的网页配置页面左边栏,选择【协议转换】,在转换选择页面里选择【Modbus TCP Master转Modbus RTU Slave】,然后点击【保存】,如图11所示。



图11
2.2 网关TCP Server配置

打开网关网页左边栏,选择【网络配置】,在网络配置面里选择【TCP Server】,配置服务器参数,然后点击【保存】,如图12所示。



图12
2.3 RS232/RS485配置

RS232/RS485配置方法Modbus RTU Master(RS485/RS232) 转 Modbus TCP Slave一样。

2.4 模拟主/从机配置

用PC打开Modbus模拟软件,创建Modbus TCP主机和Modbus RTU从机,如图 13所示。



图13
2.5 结果展示

Modbus TCP主机写入Modbus RTU从机的寄存器成功,并且读取Modbus RTU从机寄存器值成功,如图14所示。



图14GLCOM-NET和GZCOM-NET一样可以实现该转换功能:














本帖子中包含更多资源

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

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

本版积分规则