張乾,蔡昌新
(長江大學(xué) 電子信息學(xué)院,荊州 434023)
?
基于Modbus TCP和WEB的實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)
張乾,蔡昌新
(長江大學(xué) 電子信息學(xué)院,荊州 434023)
為了實(shí)時(shí)、便捷地了解測(cè)控現(xiàn)場(chǎng)設(shè)備運(yùn)行的狀況,設(shè)計(jì)了一種基于Modbus TCP和WEB的實(shí)時(shí)監(jiān)控系統(tǒng)。該系統(tǒng)設(shè)計(jì)基于dsPIC30F6014單片機(jī),實(shí)現(xiàn)對(duì)采集模塊的控制,并通過ASP.NET創(chuàng)建的動(dòng)態(tài)WEB瀏覽器和SQL強(qiáng)大的數(shù)據(jù)庫功能完成實(shí)時(shí)監(jiān)控。結(jié)果表明,該系統(tǒng)能快速、方便、實(shí)時(shí)地動(dòng)態(tài)顯示設(shè)備的各項(xiàng)運(yùn)行指標(biāo)。
Modbus TCP;PIC30F6014單片機(jī);ASP.NET;WEB瀏覽器;實(shí)時(shí)
隨著自動(dòng)化行業(yè)和控制技術(shù)的不斷發(fā)展和進(jìn)步,現(xiàn)場(chǎng)設(shè)備之間的通信不再僅僅局限于設(shè)備與控制器之間,人機(jī)之間的交互也越來越普遍。現(xiàn)場(chǎng)總線作為信息傳輸?shù)闹鞲傻溃呀?jīng)不再局限于現(xiàn)場(chǎng)的短距離通信,其應(yīng)用規(guī)模日益擴(kuò)大、復(fù)雜化,人們對(duì)現(xiàn)場(chǎng)設(shè)備的監(jiān)控也提出了越來越高的要求。封閉的總線環(huán)境已經(jīng)不能滿足現(xiàn)代自動(dòng)化控制的要求,為了降低設(shè)備的維護(hù)成本,提高企業(yè)和公司的生產(chǎn)效率,需要對(duì)現(xiàn)場(chǎng)設(shè)備的運(yùn)行進(jìn)行實(shí)時(shí)的監(jiān)測(cè)和控制。
近年來,大量先進(jìn)的遠(yuǎn)程監(jiān)控技術(shù)開始應(yīng)用于現(xiàn)場(chǎng)總線和遠(yuǎn)程客戶端的交換,但Modbus協(xié)議目前還僅限于現(xiàn)場(chǎng)總線上,只有基于TCP/IP的協(xié)議才能通過以太網(wǎng)實(shí)現(xiàn)超遠(yuǎn)距離的傳輸,為此ModbusTCP/IP應(yīng)運(yùn)而生。筆者通過對(duì)ModbusTCP協(xié)議[1]的研究,將油井現(xiàn)場(chǎng)采集的數(shù)據(jù)通過以太網(wǎng)、WiFi等設(shè)備傳送到遠(yuǎn)距離的客戶端,并通過瀏覽器終端實(shí)時(shí)地顯示現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀況,為客戶提供一種遠(yuǎn)程實(shí)時(shí)監(jiān)控的解決方案。
本監(jiān)控系統(tǒng)的設(shè)計(jì)原理:利用dsPIC30F6014A[2]單片機(jī)搭載底層的硬件電路采集數(shù)據(jù),采用Modbus TCP/IP協(xié)議通過無線收發(fā)器傳輸至Internet,在此基礎(chǔ)之上,利用C#語言編程,結(jié)合ASP.NET創(chuàng)建的動(dòng)態(tài)WEB頁面和SQL Server數(shù)據(jù)庫的訪問鏈接技術(shù),設(shè)計(jì)了一種實(shí)時(shí)監(jiān)控的WEB平臺(tái),達(dá)到了對(duì)現(xiàn)場(chǎng)設(shè)備的實(shí)時(shí)監(jiān)控的目的。
實(shí)時(shí)監(jiān)控系統(tǒng)主要由現(xiàn)場(chǎng)采集系統(tǒng)、數(shù)據(jù)傳輸、數(shù)據(jù)庫系統(tǒng)、客戶端系統(tǒng)4部分組成,其總體示意圖如圖1所示。

圖1 系統(tǒng)總體示意圖
在本監(jiān)控系統(tǒng)中,現(xiàn)場(chǎng)采集系統(tǒng)主要由單片機(jī)系統(tǒng)和RTU組成,單片機(jī)系統(tǒng)采集數(shù)據(jù)并傳給RTU,RTU將數(shù)據(jù)進(jìn)行存儲(chǔ),并隨時(shí)等待服務(wù)器端的數(shù)據(jù)請(qǐng)求命令。當(dāng)收到服務(wù)器端數(shù)據(jù)請(qǐng)求命令時(shí),RTU根據(jù)傳輸?shù)木嚯x選擇不同的傳輸方式,近距離傳輸選用無線模塊傳輸,遠(yuǎn)距離傳輸選擇Internet網(wǎng)絡(luò)傳輸,數(shù)據(jù)庫服務(wù)器對(duì)上傳的數(shù)據(jù)進(jìn)行分析和判斷,將符合信息幀格式的數(shù)據(jù)進(jìn)行處理并存儲(chǔ)在數(shù)據(jù)庫中。同時(shí),采用B/S模式,瀏覽器終端用戶可通過在瀏覽器地址欄輸入服務(wù)器IP,以動(dòng)態(tài)網(wǎng)頁的形式瀏覽、查詢多個(gè)設(shè)備數(shù)據(jù);享有權(quán)限的管理人員可對(duì)生產(chǎn)現(xiàn)場(chǎng)設(shè)備進(jìn)行遠(yuǎn)程管理和控制。只要有網(wǎng)絡(luò)的地方就能使用該系統(tǒng),實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)設(shè)備的數(shù)據(jù)實(shí)時(shí)監(jiān)控。
圖2為下位機(jī)硬件原理框圖。其核心是dsPIC30F6014A單片機(jī),主要由數(shù)據(jù)采集模塊、電路保護(hù)模塊、傳輸模塊和系統(tǒng)配置模塊組成。傳感器對(duì)現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采集,通過A/D轉(zhuǎn)換送到單片機(jī),單片機(jī)經(jīng)UART串口[3]和無線模塊將數(shù)據(jù)傳送到嵌入式TCP/IP協(xié)議串口服務(wù)器,并通過Internet上傳至數(shù)據(jù)庫服務(wù)器中存儲(chǔ)。瀏覽器終端可以通過WEB服務(wù)器訪問數(shù)據(jù)庫服務(wù)器了解現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀態(tài)。為了保證系統(tǒng)的安全可靠性,在設(shè)計(jì)中添加了過流、過壓、和防雷擊等保護(hù)電路。硬件實(shí)物圖如圖3所示。

圖2 下位機(jī)硬件原理框圖
系統(tǒng)軟件的總體結(jié)構(gòu)如圖4所示,作為監(jiān)控系統(tǒng)的管理人員,在瀏覽器終端可以實(shí)現(xiàn)用戶管理、數(shù)據(jù)處理、瀏覽器實(shí)時(shí)顯示當(dāng)前數(shù)據(jù)和歷史數(shù)據(jù)查詢4個(gè)功能模塊的操作。在用戶管理界面,可以實(shí)現(xiàn)密碼設(shè)置、用戶添加和權(quán)限設(shè)置等功能;在數(shù)據(jù)處理中,管理人員可以對(duì)上傳的數(shù)據(jù)進(jìn)行存儲(chǔ)備份,并保存到數(shù)據(jù)庫服務(wù)器中,以供瀏覽器終端訪問;在WEB平臺(tái)中,可以對(duì)上傳的數(shù)據(jù)進(jìn)行實(shí)時(shí)的顯示,對(duì)歷史數(shù)據(jù)可以進(jìn)行隨時(shí)查詢和曲線分析。
Modbus TCP 協(xié)議以一種非常簡單的方式將Modbus幀[4]嵌入到TCP幀中,使其成為工業(yè)以太網(wǎng)應(yīng)用層協(xié)議,并以其簡單性、開放性、實(shí)時(shí)性及數(shù)據(jù)傳輸量大等特點(diǎn),在工業(yè)自動(dòng)化領(lǐng)域得到廣泛的應(yīng)用。
Modbus TCP 協(xié)議規(guī)定每個(gè)控制器都需要有自己的地址,按地址識(shí)別發(fā)來的消息。如果需要回應(yīng),則控制器生成反饋信息并用Modbus TCP協(xié)議幀發(fā)出,但格式必須嚴(yán)格遵守協(xié)議規(guī)定,其應(yīng)用數(shù)據(jù)單元(ADU)由MBAP報(bào)文頭、功能碼和數(shù)據(jù)域3部分構(gòu)成,如圖5所示。

圖3 硬件實(shí)物圖

圖4 系統(tǒng)軟件功能圖

圖5 Modbus TCP/IP 幀格式
5.1 現(xiàn)場(chǎng)與服務(wù)器端的數(shù)據(jù)傳輸
當(dāng)油井分布較分散,傳輸距離比較遠(yuǎn)且超過1 km時(shí),可以使用GPRS網(wǎng)絡(luò)進(jìn)行傳輸;當(dāng)油井分布比較集中,傳輸距離近,不超過1 km時(shí),可選擇使用無線模塊進(jìn)行組網(wǎng)傳輸[5]。
現(xiàn)場(chǎng)與服務(wù)器端的數(shù)據(jù)傳輸流程如圖6所示,在系統(tǒng)運(yùn)行時(shí)應(yīng)首先啟動(dòng)數(shù)據(jù)庫服務(wù)器、初始化套接字庫。建立通信套接字后,服務(wù)器進(jìn)入端口監(jiān)聽狀態(tài)。當(dāng)有現(xiàn)場(chǎng)終端向服務(wù)器發(fā)出連接請(qǐng)求時(shí),服務(wù)器開一個(gè)線程建立連接,并啟動(dòng)數(shù)據(jù)請(qǐng)求定時(shí)器。當(dāng)定時(shí)時(shí)間到時(shí),服務(wù)器向已建立連接的現(xiàn)場(chǎng)終端發(fā)送ModbusTCP協(xié)議請(qǐng)求幀格式的數(shù)據(jù)請(qǐng)求。現(xiàn)場(chǎng)終端在接收到數(shù)據(jù)請(qǐng)求后,對(duì)信息幀格式進(jìn)行分析,如果符合協(xié)議,則將數(shù)據(jù)按照ModbusTCP協(xié)議響應(yīng)幀格式上傳,否則不響應(yīng)。

圖6 現(xiàn)場(chǎng)與服務(wù)器端的數(shù)據(jù)傳輸流程圖
5.2 瀏覽器端與服務(wù)器端的數(shù)據(jù)傳輸
B/S模式是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,即瀏覽器/服務(wù)器,與C/S模式相比,具有可以隨時(shí)隨地進(jìn)行查詢和瀏覽、維護(hù)簡單方便、更新簡單以及共享性強(qiáng)等特點(diǎn),符合實(shí)時(shí)網(wǎng)絡(luò)監(jiān)控系統(tǒng)的發(fā)展要求。瀏覽器端與服務(wù)器端的數(shù)據(jù)傳輸采用的就是B/S模式。
B/S模式的工作流程如圖7所示。當(dāng)客戶端通過瀏覽器終端訪問數(shù)據(jù)庫服務(wù)器時(shí),首先瀏覽器端通過Internet發(fā)出一個(gè)WEB請(qǐng)求,當(dāng)WEB服務(wù)器收到請(qǐng)求后,將請(qǐng)求交給ASP.NET Framework,此時(shí)ASP.NET Framework會(huì)向數(shù)據(jù)庫服務(wù)器請(qǐng)求合適的源代碼文件。數(shù)據(jù)庫服務(wù)器將源代碼的內(nèi)容返回給ASP.NET Framework,后者執(zhí)行源代碼生成HTML輸出返回給WEB服務(wù)器,這時(shí)WEB服務(wù)器會(huì)將請(qǐng)求的文件以動(dòng)態(tài)網(wǎng)頁的方式將HTML顯示在計(jì)算機(jī)瀏覽器頁面上。

圖7 服務(wù)器與瀏覽器端的工作流程

[1] 關(guān)學(xué)進(jìn).基于Modbus_TCP工業(yè)以太網(wǎng)的自動(dòng)化控制系統(tǒng)[J].電子測(cè)試,2011,4(4).
[2] 劉和平.dsPIC通用數(shù)字信號(hào)控制器原理及應(yīng)用——基于dsPIC30F系列[M].北京:北京航空航天大學(xué)出版社,2007.
[3] 劉舉濤.基于Modbus通訊協(xié)議的遠(yuǎn)程測(cè)控設(shè)計(jì)[J].導(dǎo)彈與航天運(yùn)載技術(shù), 2012(2):50-53.
[4] 王瓊玫.一種基于Modbus_TCP協(xié)議棧的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)[J].長江大學(xué)學(xué)報(bào),2013,10(7).
[5] 鄭豐收.基于MODBUS和TCP_IP協(xié)議的溫濕度監(jiān)控系統(tǒng)[J].中國儀器儀表,2011(10):53-56.
[6] 陳明榜.一種基于Modbus通信的泵站監(jiān)控系統(tǒng)[J].水電自動(dòng)化與大壩監(jiān)測(cè),2006,12,30(6).
張乾(研究生),主要從事自動(dòng)化檢測(cè)與儀器儀表工作;蔡昌新(副教授),主要從事計(jì)算機(jī)控制和自動(dòng)化檢測(cè)方面的研究。
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)