上節(jié)中講到ModBus協(xié)議是工業(yè)應(yīng)用中應(yīng)用最廣泛的協(xié)議。在ModBus協(xié)議系統(tǒng)中,主機一般為PLC、HMI、組態(tài)軟件等,但是在一個略微復(fù)雜的系統(tǒng)中,通常會存在同時需要多個主機的情況。由于通信線纜一般是RS485,半雙工的特性導(dǎo)致多個主機同時采集數(shù)據(jù)時,會有較大的數(shù)據(jù)延遲。(因為同一時刻只能有一個主機或從機在發(fā)送數(shù)據(jù),否則會造成數(shù)據(jù)沖突,形成亂碼)
前文指路《串口服務(wù)器——簡單協(xié)議轉(zhuǎn)換介紹及使用方法》
因此主機在通信時一般會采用網(wǎng)口進行,這樣會保證數(shù)據(jù)的及時性。上一節(jié)給大家講到串口服務(wù)器可以將網(wǎng)口數(shù)據(jù)轉(zhuǎn)換為串口數(shù)據(jù)進行通信,這樣在保證了全雙工通信的同時,又可以將數(shù)據(jù)接入互聯(lián)網(wǎng),這樣大大提高通信距離。
雖然網(wǎng)線上可以做到全雙工(發(fā)送和接收同時進行),但是針對低延遲的應(yīng)用場景,這樣一對一的通信優(yōu)勢不是很明顯,今天給大家講到一個特色功能——多主機網(wǎng)關(guān)模式。
ModBus多主機網(wǎng)關(guān)支持多臺ModBus TCP主機同時操作RTU設(shè)備,利用TCP/IP協(xié)議通訊打破RTU數(shù)據(jù)總線上同時只能存在一臺主機的限制。
簡單協(xié)議轉(zhuǎn)換模式只適用于單一主機用于與從機通信的場景,因為串口服務(wù)器只是將數(shù)據(jù)做了轉(zhuǎn)換,并且串口的數(shù)據(jù)會廣播給全部主機。如果遇到多個主機同時發(fā)送數(shù)據(jù)時,串口服務(wù)器會將數(shù)據(jù)直接進行發(fā)送,這樣就會造成通訊超時或數(shù)據(jù)異常。
多主機網(wǎng)關(guān)
多主機網(wǎng)關(guān)模式與簡單協(xié)議轉(zhuǎn)換比起來,針對多主機同時發(fā)送數(shù)據(jù)場景,做了單獨的數(shù)據(jù)處理。例如在主機1、2、3發(fā)送數(shù)據(jù)時間較短時,串口服務(wù)器將把請求的數(shù)據(jù)攔截在網(wǎng)絡(luò)端,數(shù)據(jù)將會按照先后順序?qū)⒅噶畎l(fā)送給串口設(shè)備,此時串口設(shè)備收到數(shù)據(jù)后將數(shù)據(jù)返回給主機,并且是哪個主機請求數(shù)據(jù)就會將數(shù)據(jù)指定發(fā)送給哪個主機,這樣就會避免出現(xiàn)通信異?,F(xiàn)象,提高通信的可靠性。
下面主要給大家介紹一下多主機網(wǎng)關(guān)的應(yīng)用方法,優(yōu)于主機端操作各有各的特色,本處只使用ModBus Pool與ModBus Slave作為展示,PLC/HMI等參照此進行鏈路連接。如何配置參數(shù)在上一章中已經(jīng)做出了講解,在本節(jié)不再單獨介紹。
使用EBYTE網(wǎng)絡(luò)配置工具查看當(dāng)前串口服務(wù)器參數(shù)情況,IP需要修改為與電腦同一網(wǎng)段,設(shè)置串口服務(wù)器為TCP服務(wù)器模式,記錄當(dāng)前本機IP、本地端口。
打開ModBus Slave軟件模擬從機,連接方式使用串口,選擇串口服務(wù)器的串口號、連接參數(shù)(波特率、數(shù)據(jù)位、校驗位、停止位,這里采用默認(rèn)115200,8N1)
數(shù)據(jù)返回內(nèi)容選擇從機ID為1,功能碼選擇03,寄存器地址選擇為0,數(shù)量為10(稍后讀取也為這個參數(shù))。
打開ModBus Pool軟件,連接方式選擇為ModBus TCP/IP,目標(biāo)IP設(shè)置為串口服務(wù)器IP地址,目標(biāo)端口設(shè)置為串口服務(wù)器本地端口(192.168.0.113/8887)超時時間可使用默認(rèn)。
讀取參數(shù)也選用從機ID為1,功能碼選擇03,寄存器地址選擇為0,數(shù)量為10。參照此參數(shù)可以連接6個主機,如下圖。
產(chǎn)品推薦
串口服務(wù)器——NA111