本文介绍如何使用ZLSN2040、NETCOM2040实现Modbus TCP到Modbus RTU的转化。
1.Modbus TCP与Modbus RTU
Modbus是工业设备之间通信的标准协议。在仪器、仪表上用得更为普遍。不同的设备在遵守Modbus标准之后可以互相通信的目的。Modbus最初是使用串行链路的,例如RS232、RS485/422,随着网络的发展,后来又推出了Modbus TCP标准。串行链路的Modbus分为ASCII和RTU,其中RTU的传输效率高,用得比较多。所以这里基本上以Modbus RTU为例来介绍。
2.Modbus TCP转Modbus RTU
随着Modbus TCP和Mobus RTU两协议的普及,设备越来越多,要实现Modbus TCP访问Modbus RTU设备的需求日益增加。Modbus TCP具有自身的优势,因为其可以利用现有的网络、internet等设施,而大批量的Modbus RTU设备已经存在。用一个统一的Modbus TCP客户端软件去访问所有的Modbus设备,统一、集中式管理将大大提高系统的集成度。
Modbus RTU的帧中包含有:地址帧、功能码、数据、CRC校验。而Modbus TCP数据包包含有:MBAP报文头、功能码、数据。必须实现这两种格式的转化。
3.Modbus TCP转Modbus RTU解决方案
NETCOM2040和ZLSN2040可以实现Modbus TCP转Modbus RTU,两者功能类似,不过一个是成品一个是内嵌到用户电路板的小型内嵌核心模块,内嵌模块可以减少用户产品体积也有效降低成本。使用2040产品时:
硬件连接上:
将2040的串口和Modbus RTU设备连接,网口连接入网络。此后Modbus TCP软件即可通过访问2040的IP地址(一般端口为502)来访问Modbus RTU设备。
在软件上:
1.首先确认该设备是支持Modbus TCP的2040产品。使用ZLVircom软件,搜索并找到该设备后,进行设备编辑。确认“该设备支持功能”中的Modbus TCP转RTU左边的勾已经选上,表示该设备支持Modbus TCP转RTU。
2.转化协议一项应该选择为Modbus TCP,工作模式为TCP服务端,端口为502。