一種基于Modbus TCP和WEB的實時監(jiān)控系統(tǒng)設(shè)計
摘要:為了實時、便捷地了解測控現(xiàn)場設(shè)備運行的狀況,設(shè)計了一種基于Modbus TCP和WEB的實時監(jiān)控系統(tǒng)。該系統(tǒng)設(shè)計基于dsPIC30F6014單片機,實現(xiàn)對采集模塊的控制,并通過ASP.NET創(chuàng)建的動態(tài)WEB瀏覽器和SQL強大的數(shù)據(jù)庫功能完成實時監(jiān)控。結(jié)果表明,該系統(tǒng)能快速、方便、實時地動態(tài)顯示設(shè)備的各項運行指標。
本文引用地址:http://butianyuan.cn/article/249531.htm引言
隨著自動化行業(yè)和控制技術(shù)的不斷發(fā)展和進步,現(xiàn)場設(shè)備之間的通信不再僅僅局限于設(shè)備與控制器之間,人機之間的交互也越來越普遍?,F(xiàn)場總線作為信息傳輸?shù)闹鞲傻?,已?jīng)不再局限于現(xiàn)場的短距離通信,其應(yīng)用規(guī)模日益擴大、復雜化,人們對現(xiàn)場設(shè)備的監(jiān)控也提出了越來越高的要求。封閉的總線環(huán)境已經(jīng)不能滿足現(xiàn)代自動化控制的要求,為了降低設(shè)備的維護成本,提高企業(yè)和公司的生產(chǎn)效率,需要對現(xiàn)場設(shè)備的運行進行實時的監(jiān)測和控制。
近年來,大量先進的遠程監(jiān)控技術(shù)開始應(yīng)用于現(xiàn)場總線和遠程客戶端的交換,但Modbus協(xié)議目前還僅限于現(xiàn)場總線上,只有基于TCP/IP的協(xié)議才能通過以太網(wǎng)實現(xiàn)超遠距離的傳輸,為此 Modbus TCP/IP應(yīng)運而生。筆者通過對Modbus TCP協(xié)議的研究,將油井現(xiàn)場采集的數(shù)據(jù)通過以太網(wǎng)、WiFi等設(shè)備傳送到遠距離的客戶端,并通過瀏覽器終端實時地顯示現(xiàn)場設(shè)備的運行狀況,為客戶提供一種遠程實時監(jiān)控的解決方案。
1 監(jiān)控系統(tǒng)的總體設(shè)計
本監(jiān)控系統(tǒng)的設(shè)計原理:利用dsPIC30F6014A單片機搭載底層的硬件電路采集數(shù)據(jù),采用Modbus TCP/IP協(xié)議通過無線收發(fā)器傳輸至Int ernet,在此基礎(chǔ)之上,利用C#語言編程,結(jié)合ASP.NET創(chuàng)建的動態(tài)WEB頁面和SQL Server數(shù)據(jù)庫的訪問鏈接技術(shù),設(shè)計了一種實時監(jiān)控的WEB平臺,達到了對現(xiàn)場設(shè)備的實時監(jiān)控的目的。
實時監(jiān)控系統(tǒng)主要由現(xiàn)場采集系統(tǒng)、數(shù)據(jù)傳輸、數(shù)據(jù)庫系統(tǒng)、客戶端系統(tǒng)4部分組成,其總體示意圖如圖1所示。
在本監(jiān)控系統(tǒng)中,現(xiàn)場采集系統(tǒng)主要由單片機系統(tǒng)和RTU組成,單片機系統(tǒng)采集數(shù)據(jù)并傳給RTU,RTU將數(shù)據(jù)進行存儲,并隨時等待服務(wù)器端的數(shù)據(jù)請求命令。當收到服務(wù)器端數(shù)據(jù)請求命令時,RTU根據(jù)傳輸?shù)木嚯x選擇不同的傳輸方式,近距離傳輸選用無線模塊傳輸,遠距離傳輸選擇Internet網(wǎng)絡(luò)傳輸,數(shù)據(jù)庫服務(wù)器對上傳的數(shù)據(jù)進行分析和判斷,將符合信息幀格式的數(shù)據(jù)進行處理并存儲在數(shù)據(jù)庫中。同時,采用B /S模式,瀏覽器終端用戶可通過在瀏覽器地址欄輸入服務(wù)器IP,以動態(tài)網(wǎng)頁的形式瀏覽、查詢多個設(shè)備數(shù)據(jù);享有權(quán)限的管理人員可對生產(chǎn)現(xiàn)場設(shè)備進行遠程管理和控制。只要有網(wǎng)絡(luò)的地方就能使用該系統(tǒng),實現(xiàn)對現(xiàn)場設(shè)備的數(shù)據(jù)實時監(jiān)控。
2 硬件原理設(shè)計
圖2為下位機硬件原理框圖。其核心是dsPIC30F6014A單片機,主要由數(shù)據(jù)采集模塊、電路保護模塊、傳輸模塊和系統(tǒng)配置模塊組成。傳感器對現(xiàn)場數(shù)據(jù)進行采集,通過A/D轉(zhuǎn)換送到單片機,單片機經(jīng)UART串口和無線模塊將數(shù)據(jù)傳送到嵌入式TCP/IP協(xié)議串口服務(wù)器,并通過Internet上傳至數(shù)據(jù)庫服務(wù)器中存儲。瀏覽器終端可以通過WEB服務(wù)器訪問數(shù)據(jù)庫服務(wù)器了解現(xiàn)場設(shè)備的運行狀態(tài)。為了保證系統(tǒng)的安全可靠性,在設(shè)計中添加了過流、過壓、和防雷擊等保護電路。硬件實物圖如圖3所示。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件的總體結(jié)構(gòu)如圖4所示,作為監(jiān)控系統(tǒng)的管理人員,在瀏覽器終端可以實現(xiàn)用戶管理、數(shù)據(jù)處理、瀏覽器實時顯示當前數(shù)據(jù)和歷史數(shù)據(jù)查詢4個功能模塊的操作。在用戶管理界面,可以實現(xiàn)密碼設(shè)置、用戶添加和權(quán)限沒置等功能;在數(shù)據(jù)處理中,管理人員可以對上傳的數(shù)據(jù)進行存儲備份,并保存到數(shù)據(jù)庫服務(wù)器中,以供瀏覽器終端訪問;在WEB平臺中,可以對上傳的數(shù)據(jù)進行實時的顯示,對歷史數(shù)據(jù)可以進行隨時查詢和曲線分析。
4 Modbus TCP協(xié)議
Modbus TCP協(xié)議以一種非常簡單的方式將Modbus幀嵌入到TCP幀中,使其成為工業(yè)以太網(wǎng)應(yīng)用層協(xié)議,并以其簡單性、開放性、實時性及數(shù)據(jù)傳輸量大等特點,在工業(yè)自動化領(lǐng)域得到廣泛的應(yīng)用。
Modbus TCP協(xié)議規(guī)定每個控制器都需要有自己的地址,按地址識別發(fā)來的消息。如果需要回應(yīng),則控制器生成反饋信息并用Modbus TCP協(xié)議幀發(fā)出,但格式必須嚴格遵守協(xié)議規(guī)定,其應(yīng)用數(shù)據(jù)單元(ADU)由MBAP報文頭、功能碼和數(shù)據(jù)域3部分構(gòu)成,如圖5所示。
5 數(shù)據(jù)傳輸?shù)膶崿F(xiàn)
5.1 現(xiàn)場與服務(wù)器端的數(shù)據(jù)傳輸
當油井分布較分散,傳輸距離比較遠且超過1 km時,可以使用GPRS網(wǎng)絡(luò)進行傳輸;當油井分布比較集中,傳輸距離近,不超過1 km時,可選擇使用無線模塊進行組網(wǎng)傳輸。
現(xiàn)場與服務(wù)器端的數(shù)據(jù)傳輸流程如圖6所示,在系統(tǒng)運行時應(yīng)首先啟動數(shù)據(jù)庫服務(wù)器、初始化套接字庫。建立通信套接字后,服務(wù)器進入端口監(jiān)聽狀態(tài)。當有現(xiàn)場終端向服務(wù)器發(fā)出連接請求時,服務(wù)器開一個線程建立連接,并啟動數(shù)據(jù)請求定時器。當定時時間到時,服務(wù)器向已建立連接的現(xiàn)場終端發(fā)送Modbus TCP協(xié)議請求幀格式的數(shù)據(jù)請求?,F(xiàn)場終端在接收到數(shù)據(jù)請求后,對信息幀格式進行分析,如果符合協(xié)議,則將數(shù)據(jù)按照Modbus TCP協(xié)議響應(yīng)幀格式上傳,否則不響應(yīng)。
評論