上節中講到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個主機,如下圖。
串口服務器——NA111
-
MODBUS
+關注
關注
28文章
1801瀏覽量
76956 -
網關
+關注
關注
9文章
4446瀏覽量
51058 -
服務器
+關注
關注
12文章
9124瀏覽量
85331
發布評論請先 登錄
相關推薦
評論