Modbus協(xié)議分為兩種,一種是基于RS485的Modbus RTU(或ASCII),另外一種是基于以太網(wǎng)的Modbus TCP。Modbus網(wǎng)關(guān)是一種將Modubs RTU設(shè)備的數(shù)據(jù)轉(zhuǎn)化為Modbus TCP數(shù)據(jù)的轉(zhuǎn)換器。由于RS485總線的限制,Modbus TCP和RTU相比有如下的優(yōu)點:(1)可以采用已有以太網(wǎng)網(wǎng)絡(luò),省去RS485的布線。(2)可以支持多個主機同時訪問Modbus儀表。
Modbus網(wǎng)關(guān)又有存儲型和普通型兩種,分別對應(yīng)ZLAN5143B和ZLAN5142。與普通的Modbus相比存儲型Modbus可以將讀取的寄存器的內(nèi)容保存在網(wǎng)關(guān)內(nèi)部,這樣Modbus TCP查詢的速度可以大大提高,支持多主機訪問時性能更加優(yōu)越。本文主要講述存儲型Modbus的特點。
如圖所示:普通的Modbus TCP數(shù)據(jù)流方向為(1)到(2)到(3)到(4)。即先將Modbus TCP指令轉(zhuǎn)化為Modbus RTU的對應(yīng)指令,然后設(shè)備應(yīng)答Modbus RTU指令給Modbus網(wǎng)關(guān),然后Modbus網(wǎng)關(guān)再次轉(zhuǎn)化為Modbus TCP發(fā)送給監(jiān)控上位機。
我們知道Modbus TCP是網(wǎng)絡(luò)通信,傳輸速度很快,一般在3ms內(nèi)可以應(yīng)答,而Modbus RTU是RS485,一般只有9600bps的速度,一般發(fā)送和返回一條指令至少要30ms。這樣普通的非存儲方式的Modbus網(wǎng)關(guān)的查詢應(yīng)答時間比較長。另外如果同時有很多的上位機同時去查詢數(shù)據(jù),那么串口就會擁堵。如果網(wǎng)絡(luò)比作是高速公路,串口比作獨木橋,那么原來的方式就是要在獨木橋上通行高速公路的車流量。
存儲型的Modbus網(wǎng)關(guān)解決了以上的問題。它能夠?qū)⒉樵儷@得的寄存器數(shù)據(jù)暫時保存在Modbus網(wǎng)關(guān)內(nèi)部,這樣Modbus TCP查詢來的時候,Modbus網(wǎng)關(guān)可以立即返回指令,真正將Modbus TCP的快速的特性發(fā)揮了出來。另一方面存型的Modbus網(wǎng)關(guān)可以主動從串口發(fā)送指令自動更新當(dāng)前保存的寄存器的數(shù)據(jù)的內(nèi)容,保存一份新的寄存器值。
存儲型Modbus網(wǎng)關(guān)ZLAN5143B,是一款全自動免配置的Modbus網(wǎng)關(guān),用戶無需配置所需的寄存器地址、功能碼、從站地址等。ZLAN5143B會自動識別、動態(tài)添加這些寄存器。
在多臺計算機監(jiān)控的時候ZLAN5143B可以表現(xiàn)出良好的反應(yīng)速度,不論串口是什么波特率,一般能夠在3ms內(nèi)給上位應(yīng)答數(shù)據(jù)。且表現(xiàn)出了良好的串口數(shù)據(jù)實時更新的速度。
寄存器保存型的Modbus網(wǎng)關(guān)是真正意義上的Modbus TCP轉(zhuǎn)Modbus RTU,它真正發(fā)揮了Modbus TCP速度快、可多主機同時查詢的優(yōu)勢。