天天看點

序列槽伺服器——多主機網關介紹及使用方法

作者:億佰特物聯網應用

上節中講到ModBus協定是工業應用中應用最廣泛的協定。在ModBus協定系統中,主機一般為PLC、HMI、組态軟體等,但是在一個略微複雜的系統中,通常會存在多個主機同時存在的情況。由于通信線纜一般是RS485,半雙工的特性導緻多個主機同時采集資料時,會有較大的資料延遲。(因為同一時刻隻能有一個主機或從機在發送資料,否則會造成資料沖突,形成亂碼)

是以主機在通信時一般會采用網口進行,這樣能保證資料的及時性。之前給大家講到序列槽伺服器可以将網口資料轉換為序列槽資料進行通信,這樣在保證了全雙工通信的同時,又可以将資料接入網際網路,這樣大大提高通信距離。

雖然網線上可以做到全雙工(發送和接收同時進行),但是針對低延遲的應用場景,這樣一對一的通信優勢不是很明顯,今天給大家講到一個特色功能——多主機網關模式。

Modbus多主機網關支援多台Modbus TCP主機同時操作RTU裝置,利用TCP/IP協定通訊打破RTU資料總線上同時隻能存在一台主機的限制。

簡單協定轉換模式隻适用于單一主機用于與從機通信的場景,因為序列槽伺服器隻是将資料做了轉換,并且序列槽的資料會廣播給全部主機。如果遇到多個主機同時發送資料時,序列槽伺服器會将資料直接進行發送,這樣就會造成通訊逾時或資料異常。

前文指路:《序列槽伺服器——簡單協定轉換介紹及使用方法》

多主機網關模式與簡單協定轉換比起來,針對多主機同時發送資料場景,做了單獨的資料處理。例如在主機1、2、3發送資料時間較短時,序列槽伺服器将把請求的資料攔截在網絡端,資料将會按照先後順序将指令發送給序列槽裝置,此時序列槽裝置收到資料後将資料傳回給主機,并且是哪個主機請求資料就會将資料指定發送給哪個主機,這樣就會避免出現通信異常現象,提高通信的可靠性。

序列槽伺服器——多主機網關介紹及使用方法

下面主要給大家介紹一下多主機網關的應用方法,由于主機端操作各有各的特色,本處隻使用Modbus Pool與Modbus Slave作為展示,PLC/HMI等參照此進行鍊路連接配接。

如何配置參數在之前的文章中已經做出了講解,在本節不再單獨介紹。

使用EBYTE網絡配置工具檢視目前序列槽伺服器參數情況,IP需要修改為與電腦同一網段,設定序列槽伺服器為TCP伺服器模式,記錄目前本機IP,本地端口。

序列槽伺服器——多主機網關介紹及使用方法

打開ModBus slave軟體模拟從機,連接配接方式使用序列槽,選擇序列槽伺服器的序列槽号、連接配接參數(波特率、資料位、校驗位、停止位,這裡采用預設115200,8N1)

序列槽伺服器——多主機網關介紹及使用方法

資料傳回内容選擇從機ID為1,功能碼選擇03,寄存器位址選擇為0,數量為10(稍後讀取也為這個參數)。

打開ModBus Pool軟體,連接配接方式選擇為ModBus TCP/IP,目标IP設定為序列槽伺服器IP位址,目标端口設定為序列槽伺服器本地端口(192.168.0.113/8887)逾時時間可使用預設。

序列槽伺服器——多主機網關介紹及使用方法

讀取參數也選用從機ID為1,功能碼選擇03,寄存器位址選擇為0,數量為10。參照此參數可以連接配接6個主機,如下圖。

序列槽伺服器——多主機網關介紹及使用方法

繼續閱讀