1. Modbus簡介
Modbus是Modicon公司(現(xiàn)在已經(jīng)被施耐德收購成為了施耐德旗下品牌)為其PLC通訊而開發(fā)的一種通訊協(xié)議,從1979年問世至今,已經(jīng)成為工業(yè)通訊領(lǐng)域的業(yè)界標準(De facto),最初的Modbus通訊協(xié)議僅支持串口,分為Modbus RTU和ACSII兩種信號傳輸模式(一般基于RS485串口通信媒介),而隨著時代進步,Modbus也與時俱進,新增了Modbus TCP版本,可以通過以太網(wǎng)進行通訊,此外,Modbus還有一個Modicon專用的Modbus Plus(Modbus +)版本。和其他工業(yè)通信協(xié)議相比,Modbus主要的優(yōu)點包括內(nèi)容公開沒有版權(quán)要求,不用支付額外費用、硬件要求簡單容易部署、使用廣泛便于系統(tǒng)集成。Modbus采用半雙工的通訊方式,由1個子站和多個從站組成,允許多個設(shè)備連接在同一個網(wǎng)絡(luò)上進行通訊。
2. LabVIEW實現(xiàn)Modbus通訊的方式
針對Modbus的串口和TCP兩種不同的方式,在LabVIEW中通??梢酝ㄟ^以下幾種方法實現(xiàn)Modbus通訊。其中一些實現(xiàn)方式需要安裝LabVIEW 數(shù)據(jù)記錄與監(jiān)控(DSC)模塊.
Modbus RTU/ASCII的實現(xiàn)方式
通過VISA直接進行串口操作實現(xiàn)
通過LabVIEW DSC模塊中的Modbus模塊實現(xiàn)
通過LabVIEW DSC模塊中的OPC模塊實現(xiàn)
Modbus TCP
通過LabVIEW標準的TCP模塊實現(xiàn)
通過LabVIEW DSC模塊中的Modbus模塊實現(xiàn)
通過LabVIEW DSC模塊中的OPC模塊實現(xiàn)
以下就幾種實現(xiàn)方式進行示例與說明。
3. LabVIEW通過VISA實現(xiàn)Modbus串口通信
VISA( Virtual Instrument Software Architecture,虛擬儀器軟件架構(gòu)),是美國國家儀器公司(NI)推出的通用串行通訊軟件,最初用于NI公司LabVIEW等軟件與串行設(shè)備進行通訊,現(xiàn)在已成為工業(yè)通訊的標準之一。通過VISA通訊時,軟件會自動掃描機器中的串口資源供選擇,對于沒有串口的筆記本電腦,則通常需要通過USB-RS485的轉(zhuǎn)換線來實現(xiàn)虛擬串口。找到串口后,建立必要的VISA資源,然后在此基礎(chǔ)上進行通訊。采用VISA通訊時串口通訊的數(shù)據(jù)以及CRC校驗值等均需要自行計算并保證準確,否則可能導致通訊失敗。采用LabVIEW的VISA實現(xiàn)Modbus的程序示例如下圖。
4. LabVIEW通過Modbus模塊實現(xiàn)Modbus通訊
在安裝了DSC擴展包后,在LabVIEW下實現(xiàn)Modbus通訊最方便的方法是采用Modbus模塊。這時只需要選擇相應(yīng)的命令模塊即可實現(xiàn)通訊與命令,而不需要自行寫入相應(yīng)的字符串命令。采用Modbus模塊的時,可方便地在RTU和TCP兩種協(xié)議中轉(zhuǎn)換,根據(jù)需要選擇不同協(xié)議。這是LabVIEW多態(tài)的一個非常好的示例。程序見下圖。
5.LabVIEW 采用TCP模塊實現(xiàn)Modbus通訊
在沒有DSC模塊的情況下,或是有特殊要求的時候,也可以直接使用LabVIEW內(nèi)置的TCP模塊編寫Modbus通信程序。其過程與采用Modbus模塊比較相似,只是在第一步建立連接時要指定Modbus通訊端口等參數(shù),默認情況下Modbus TCP使用502端口。如果通訊不上,有必要檢查防火墻是否允許該端口通訊。采用TCP模塊實現(xiàn)Modbus通訊的程序如下。
6. LabVIEW采用OPC協(xié)議實現(xiàn)Modbus通信
OPC全稱是OLE for Process Control,用于過程控制的OLE協(xié)議。OLE是Object Linking and Embedding,對象連接與嵌入的縮寫,這是基于微軟的COM技術(shù)實現(xiàn)數(shù)據(jù)交換的一個協(xié)議。COM指的不是互聯(lián)網(wǎng)域名的.com,是Component Object Model(部件對象模型)的縮寫——這一段解釋真拗口,簡言之在OPC協(xié)議出現(xiàn)前,工業(yè)設(shè)備之間的通訊非常繁瑣復雜,而OPC將這一過程大大簡化,通過OPC協(xié)議可以將各種基于不同協(xié)議的工業(yè)設(shè)備連接起來。當然,OPC協(xié)議也有一定的代價,通訊速度與可靠性、實時性都沒有原生協(xié)議好。因此,在可以通過原生協(xié)議完成通訊的情況下,應(yīng)盡量避免采用OPC。
OPC協(xié)議的實現(xiàn)要通過兩部分完成。首先是OPC服務(wù)器,這是軟件程序與不同協(xié)議下工業(yè)設(shè)備通訊的中間件,相當于網(wǎng)關(guān)。在OPC服務(wù)器下設(shè)置要連接的工業(yè)設(shè)備,把需要讀/寫的變量設(shè)置在其中,供OPC客戶端訪問。通過LabVIEW編程實現(xiàn)的部分相當于OPC客戶端,用于從OPC服務(wù)器端讀寫數(shù)據(jù)。關(guān)于LabVIEW下使用OPC協(xié)議的通訊辦法,NI官方有詳細的文檔資料。搭建的OPC服務(wù)器示意如下。
結(jié)語
Modbus協(xié)議作為一種通用的工業(yè)通訊標準,在業(yè)界得到非常廣泛的應(yīng)用,LabVIEW作為NI公司主力產(chǎn)品,同樣有著相當廣泛的用途,采用LabVIEW實現(xiàn)Modbus通訊協(xié)議,在實踐中有著非常重要的意義。
-
LabVIEW
+關(guān)注
關(guān)注
2017文章
3688瀏覽量
347142 -
MODBUS
+關(guān)注
關(guān)注
28文章
2457瀏覽量
83222 -
TCP
+關(guān)注
關(guān)注
8文章
1425瀏覽量
83517
發(fā)布評論請先 登錄
如何實現(xiàn)與OPC UA協(xié)議遠程通訊?
協(xié)議“老將”,連接工業(yè)智能的橋梁——一文讀懂ModBus通信協(xié)議
PN1-D11PM工業(yè)通訊Profinet協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)方案解析及應(yīng)用指南
智能物流立體倉庫通訊困境:基于協(xié)議轉(zhuǎn)換的Modbus TCP 轉(zhuǎn) Modbus RTU解決方案
PN1-D11PM系列Profinet轉(zhuǎn)Modbus網(wǎng)關(guān):工業(yè)通訊協(xié)議轉(zhuǎn)換的高效解決方案
Modbus協(xié)議轉(zhuǎn)HTTP協(xié)議,實現(xiàn)JSON格式對接MES等系統(tǒng)平臺
從協(xié)議沖突到生產(chǎn)力爆發(fā):EtherCAT轉(zhuǎn)MODBUS RTU網(wǎng)關(guān)實戰(zhàn)全解
什么是Modbus TCP協(xié)議
閥島如何通過Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)實現(xiàn)高效通訊!
Modbus協(xié)議轉(zhuǎn)換:讓工業(yè)設(shè)備輕松“對話”
Profibus轉(zhuǎn)Modbus網(wǎng)關(guān):大屏數(shù)據(jù)通訊的協(xié)議轉(zhuǎn)換方案
Profinet轉(zhuǎn)Modbus網(wǎng)關(guān):破解熱處理爐協(xié)議壁壘的溫控通訊密碼
Modbus轉(zhuǎn)Profinet網(wǎng)關(guān):工控機的“逆襲神器”
告別協(xié)議沖突!Modbus轉(zhuǎn)Profinet助力風速風向儀無縫對接
Modbus轉(zhuǎn)PROFINET網(wǎng)關(guān)模塊助力上位機與電機協(xié)議轉(zhuǎn)換通訊
采用LabVIEW實現(xiàn)Modbus通訊協(xié)議的方式
評論