張乾,蔡昌新
(長江大學(xué) 電子信息學(xué)院,荊州 434023)
?
基于Modbus TCP和WEB的實時監(jiān)控系統(tǒng)設(shè)計
張乾,蔡昌新
(長江大學(xué) 電子信息學(xué)院,荊州 434023)
為了實時、便捷地了解測控現(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è)備的各項運行指標(biāo)。
Modbus TCP;PIC30F6014單片機;ASP.NET;WEB瀏覽器;實時
隨著自動化行業(yè)和控制技術(shù)的不斷發(fā)展和進(jìn)步,現(xiàn)場設(shè)備之間的通信不再僅僅局限于設(shè)備與控制器之間,人機之間的交互也越來越普遍?,F(xiàn)場總線作為信息傳輸?shù)闹鞲傻溃呀?jīng)不再局限于現(xiàn)場的短距離通信,其應(yīng)用規(guī)模日益擴(kuò)大、復(fù)雜化,人們對現(xiàn)場設(shè)備的監(jiān)控也提出了越來越高的要求。封閉的總線環(huán)境已經(jīng)不能滿足現(xiàn)代自動化控制的要求,為了降低設(shè)備的維護(hù)成本,提高企業(yè)和公司的生產(chǎn)效率,需要對現(xiàn)場設(shè)備的運行進(jìn)行實時的監(jiān)測和控制。
近年來,大量先進(jìn)的遠(yuǎn)程監(jiān)控技術(shù)開始應(yīng)用于現(xiàn)場總線和遠(yuǎn)程客戶端的交換,但Modbus協(xié)議目前還僅限于現(xiàn)場總線上,只有基于TCP/IP的協(xié)議才能通過以太網(wǎng)實現(xiàn)超遠(yuǎn)距離的傳輸,為此ModbusTCP/IP應(yīng)運而生。筆者通過對ModbusTCP協(xié)議[1]的研究,將油井現(xiàn)場采集的數(shù)據(jù)通過以太網(wǎng)、WiFi等設(shè)備傳送到遠(yuǎn)距離的客戶端,并通過瀏覽器終端實時地顯示現(xiàn)場設(shè)備的運行狀況,為客戶提供一種遠(yuǎn)程實時監(jiān)控的解決方案。
本監(jiān)控系統(tǒng)的設(shè)計原理:利用dsPIC30F6014A[2]單片機搭載底層的硬件電路采集數(shù)據(jù),采用Modbus TCP/IP協(xié)議通過無線收發(fā)器傳輸至Internet,在此基礎(chǔ)之上,利用C#語言編程,結(jié)合ASP.NET創(chuàng)建的動態(tài)WEB頁面和SQL Server數(shù)據(jù)庫的訪問鏈接技術(shù),設(shè)計了一種實時監(jiān)控的WEB平臺,達(dá)到了對現(xiàn)場設(shè)備的實時監(jiān)控的目的。
實時監(jiān)控系統(tǒng)主要由現(xiàn)場采集系統(tǒng)、數(shù)據(jù)傳輸、數(shù)據(jù)庫系統(tǒng)、客戶端系統(tǒng)4部分組成,其總體示意圖如圖1所示。
圖1 系統(tǒng)總體示意圖
在本監(jiān)控系統(tǒng)中,現(xiàn)場采集系統(tǒng)主要由單片機系統(tǒng)和RTU組成,單片機系統(tǒng)采集數(shù)據(jù)并傳給RTU,RTU將數(shù)據(jù)進(jìn)行存儲,并隨時等待服務(wù)器端的數(shù)據(jù)請求命令。當(dāng)收到服務(wù)器端數(shù)據(jù)請求命令時,RTU根據(jù)傳輸?shù)木嚯x選擇不同的傳輸方式,近距離傳輸選用無線模塊傳輸,遠(yuǎn)距離傳輸選擇Internet網(wǎng)絡(luò)傳輸,數(shù)據(jù)庫服務(wù)器對上傳的數(shù)據(jù)進(jìn)行分析和判斷,將符合信息幀格式的數(shù)據(jù)進(jìn)行處理并存儲在數(shù)據(jù)庫中。同時,采用B/S模式,瀏覽器終端用戶可通過在瀏覽器地址欄輸入服務(wù)器IP,以動態(tài)網(wǎng)頁的形式瀏覽、查詢多個設(shè)備數(shù)據(jù);享有權(quán)限的管理人員可對生產(chǎn)現(xiàn)場設(shè)備進(jìn)行遠(yuǎn)程管理和控制。只要有網(wǎng)絡(luò)的地方就能使用該系統(tǒng),實現(xiàn)對現(xiàn)場設(shè)備的數(shù)據(jù)實時監(jiān)控。
圖2為下位機硬件原理框圖。其核心是dsPIC30F6014A單片機,主要由數(shù)據(jù)采集模塊、電路保護(hù)模塊、傳輸模塊和系統(tǒng)配置模塊組成。傳感器對現(xiàn)場數(shù)據(jù)進(jìn)行采集,通過A/D轉(zhuǎn)換送到單片機,單片機經(jīng)UART串口[3]和無線模塊將數(shù)據(jù)傳送到嵌入式TCP/IP協(xié)議串口服務(wù)器,并通過Internet上傳至數(shù)據(jù)庫服務(wù)器中存儲。瀏覽器終端可以通過WEB服務(wù)器訪問數(shù)據(jù)庫服務(wù)器了解現(xiàn)場設(shè)備的運行狀態(tài)。為了保證系統(tǒng)的安全可靠性,在設(shè)計中添加了過流、過壓、和防雷擊等保護(hù)電路。硬件實物圖如圖3所示。
圖2 下位機硬件原理框圖
系統(tǒng)軟件的總體結(jié)構(gòu)如圖4所示,作為監(jiān)控系統(tǒng)的管理人員,在瀏覽器終端可以實現(xiàn)用戶管理、數(shù)據(jù)處理、瀏覽器實時顯示當(dāng)前數(shù)據(jù)和歷史數(shù)據(jù)查詢4個功能模塊的操作。在用戶管理界面,可以實現(xiàn)密碼設(shè)置、用戶添加和權(quán)限設(shè)置等功能;在數(shù)據(jù)處理中,管理人員可以對上傳的數(shù)據(jù)進(jìn)行存儲備份,并保存到數(shù)據(jù)庫服務(wù)器中,以供瀏覽器終端訪問;在WEB平臺中,可以對上傳的數(shù)據(jù)進(jìn)行實時的顯示,對歷史數(shù)據(jù)可以進(jìn)行隨時查詢和曲線分析。
Modbus TCP 協(xié)議以一種非常簡單的方式將Modbus幀[4]嵌入到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ā)出,但格式必須嚴(yán)格遵守協(xié)議規(guī)定,其應(yīng)用數(shù)據(jù)單元(ADU)由MBAP報文頭、功能碼和數(shù)據(jù)域3部分構(gòu)成,如圖5所示。
圖3 硬件實物圖
圖4 系統(tǒng)軟件功能圖
圖5 Modbus TCP/IP 幀格式
5.1 現(xiàn)場與服務(wù)器端的數(shù)據(jù)傳輸
當(dāng)油井分布較分散,傳輸距離比較遠(yuǎn)且超過1 km時,可以使用GPRS網(wǎng)絡(luò)進(jìn)行傳輸;當(dāng)油井分布比較集中,傳輸距離近,不超過1 km時,可選擇使用無線模塊進(jìn)行組網(wǎng)傳輸[5]。
現(xiàn)場與服務(wù)器端的數(shù)據(jù)傳輸流程如圖6所示,在系統(tǒng)運行時應(yīng)首先啟動數(shù)據(jù)庫服務(wù)器、初始化套接字庫。建立通信套接字后,服務(wù)器進(jìn)入端口監(jiān)聽狀態(tài)。當(dāng)有現(xiàn)場終端向服務(wù)器發(fā)出連接請求時,服務(wù)器開一個線程建立連接,并啟動數(shù)據(jù)請求定時器。當(dāng)定時時間到時,服務(wù)器向已建立連接的現(xiàn)場終端發(fā)送ModbusTCP協(xié)議請求幀格式的數(shù)據(jù)請求?,F(xiàn)場終端在接收到數(shù)據(jù)請求后,對信息幀格式進(jìn)行分析,如果符合協(xié)議,則將數(shù)據(jù)按照ModbusTCP協(xié)議響應(yīng)幀格式上傳,否則不響應(yīng)。
圖6 現(xiàn)場與服務(wù)器端的數(shù)據(jù)傳輸流程圖
5.2 瀏覽器端與服務(wù)器端的數(shù)據(jù)傳輸
B/S模式是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,即瀏覽器/服務(wù)器,與C/S模式相比,具有可以隨時隨地進(jìn)行查詢和瀏覽、維護(hù)簡單方便、更新簡單以及共享性強等特點,符合實時網(wǎng)絡(luò)監(jiān)控系統(tǒng)的發(fā)展要求。瀏覽器端與服務(wù)器端的數(shù)據(jù)傳輸采用的就是B/S模式。
B/S模式的工作流程如圖7所示。當(dāng)客戶端通過瀏覽器終端訪問數(shù)據(jù)庫服務(wù)器時,首先瀏覽器端通過Internet發(fā)出一個WEB請求,當(dāng)WEB服務(wù)器收到請求后,將請求交給ASP.NET Framework,此時ASP.NET Framework會向數(shù)據(jù)庫服務(wù)器請求合適的源代碼文件。數(shù)據(jù)庫服務(wù)器將源代碼的內(nèi)容返回給ASP.NET Framework,后者執(zhí)行源代碼生成HTML輸出返回給WEB服務(wù)器,這時WEB服務(wù)器會將請求的文件以動態(tài)網(wǎng)頁的方式將HTML顯示在計算機瀏覽器頁面上。
圖7 服務(wù)器與瀏覽器端的工作流程
[1] 關(guān)學(xué)進(jìn).基于Modbus_TCP工業(yè)以太網(wǎng)的自動化控制系統(tǒng)[J].電子測試,2011,4(4).
[2] 劉和平.dsPIC通用數(shù)字信號控制器原理及應(yīng)用——基于dsPIC30F系列[M].北京:北京航空航天大學(xué)出版社,2007.
[3] 劉舉濤.基于Modbus通訊協(xié)議的遠(yuǎn)程測控設(shè)計[J].導(dǎo)彈與航天運載技術(shù), 2012(2):50-53.
[4] 王瓊玫.一種基于Modbus_TCP協(xié)議棧的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計[J].長江大學(xué)學(xué)報,2013,10(7).
[5] 鄭豐收.基于MODBUS和TCP_IP協(xié)議的溫濕度監(jiān)控系統(tǒng)[J].中國儀器儀表,2011(10):53-56.
[6] 陳明榜.一種基于Modbus通信的泵站監(jiān)控系統(tǒng)[J].水電自動化與大壩監(jiān)測,2006,12,30(6).
張乾(研究生),主要從事自動化檢測與儀器儀表工作;蔡昌新(副教授),主要從事計算機控制和自動化檢測方面的研究。
Real-time Monitoring System Based on Modbus TCP and WEB
Zhang Qian, Cai Changxin
(Electronics and Information College,Yangtze University, Jingzhou 434023,China)
For real-time and easy understanding of the control field devices running condition,the author designs a real-time monitoring system based on Modbus/TCP and WEB. The system design is based on dsPIC30F6014 microcontroller to control the collection module, and create dynamic WEB browser through ASP.NET and SQL powerful database function completes online debugging. The results shows that the system can fast, convenient, real-time dynamic display the running indexes of the equipment.
Modbus TCP; PIC30F6014 MCU;ASP.NET; WEB browser;real time
TP277
A
迪娜
2013-11-12)