Modbus协议分为两种,一种是基于RS485的Modbus RTU(或ASCII),另外一种是基于以太网的Modbus TCP。Modbus网关是一种将Modubs RTU设备的数据转化为Modbus TCP数据的转换器。由于RS485总线的限制,Modbus TCP和RTU相比有如下的优点:(1)可以采用已有以太网网络,省去RS485的布线。(2)可以支持多个主机同时访问Modbus仪表。
Modbus网关又有存储型和普通型两种,分别对应ZLAN5143B和ZLAN5142。与普通的Modbus相比存储型Modbus可以将读取的寄存器的内容保存在网关内部,这样Modbus TCP查询的速度可以大大提高,支持多主机访问时性能更加优越。本文主要讲述存储型Modbus的特点。
如图所示:普通的Modbus TCP数据流方向为(1)到(2)到(3)到(4)。即先将Modbus TCP指令转化为Modbus RTU的对应指令,然后设备应答Modbus RTU指令给Modbus网关,然后Modbus网关再次转化为Modbus TCP发送给监控上位机。
我们知道Modbus TCP是网络通信,传输速度很快,一般在3ms内可以应答,而Modbus RTU是RS485,一般只有9600bps的速度,一般发送和返回一条指令至少要30ms。这样普通的非存储方式的Modbus网关的查询应答时间比较长。另外如果同时有很多的上位机同时去查询数据,那么串口就会拥堵。如果网络比作是高速公路,串口比作独木桥,那么原来的方式就是要在独木桥上通行高速公路的车流量。
存储型的Modbus网关解决了以上的问题。它能够将查询获得的寄存器数据暂时保存在Modbus网关内部,这样Modbus TCP查询来的时候,Modbus网关可以立即返回指令,真正将Modbus TCP的快速的特性发挥了出来。另一方面存型的Modbus网关可以主动从串口发送指令自动更新当前保存的寄存器的数据的内容,保存一份新的寄存器值。
存储型Modbus网关ZLAN5143B,是一款全自动免配置的Modbus网关,用户无需配置所需的寄存器地址、功能码、从站地址等。ZLAN5143B会自动识别、动态添加这些寄存器。
在多台计算机监控的时候ZLAN5143B可以表现出良好的反应速度,不论串口是什么波特率,一般能够在3ms内给上位应答数据。且表现出了良好的串口数据实时更新的速度。
寄存器保存型的Modbus网关是真正意义上的Modbus TCP转Modbus RTU,它真正发挥了Modbus TCP速度快、可多主机同时查询的优势。