陳萍,高騰,劉兆峰,高雪為,詹鵬飛
(1.山東建筑大學(xué)信息與電氣工程學(xué)院,山東濟(jì)南250101;2.山東銀座購(gòu)物中心有限公司,山東濟(jì)南250012)
我國(guó)北方地區(qū)目前冬季普遍采用集中供暖的方式進(jìn)行供熱。熱電廠通過(guò)城市高溫供熱管道將熱水送至各居民小區(qū)、企業(yè)中的熱交換站。在熱交換站中,高溫管道中的熱水與進(jìn)室暖氣片的熱水通過(guò)換熱器交換熱量。經(jīng)過(guò)換熱后,二次網(wǎng)中熱水流入各居室中[1]。在此過(guò)程中需要對(duì)熱交換站中影響設(shè)備運(yùn)行的各個(gè)變量進(jìn)行監(jiān)視以便及時(shí)發(fā)現(xiàn)異常并進(jìn)行處理。
通用分組無(wú)線業(yè)務(wù)(general packet radio service簡(jiǎn)稱GPRS)技術(shù)作為一種成熟的商用無(wú)線通信技術(shù)在無(wú)線監(jiān)測(cè)管理系統(tǒng)中有著很好的應(yīng)用前景。針對(duì)無(wú)線遠(yuǎn)程傳輸?shù)膽?yīng)用情況,GPRS費(fèi)用較其他無(wú)線傳輸(如3G技術(shù))低,而且GPRS的傳輸速率高,可提升至 56 甚至 114kbps[2-8],故本系統(tǒng)采用 GPRS作為傳輸中介是合理可行的。
本文介紹一種基于GPRS網(wǎng)絡(luò)的監(jiān)測(cè)系統(tǒng)的設(shè)計(jì),思想來(lái)源于煙臺(tái)招遠(yuǎn)市金城區(qū)、玲瓏區(qū)的熱力管網(wǎng)系統(tǒng)設(shè)計(jì),著重介紹系統(tǒng)上位機(jī)軟件的設(shè)計(jì) ,包括數(shù)據(jù)無(wú)線傳輸和數(shù)據(jù)庫(kù)設(shè)計(jì)兩個(gè)方面。
本文設(shè)計(jì)的熱力管網(wǎng)系統(tǒng)主要包括上位機(jī)監(jiān)測(cè)軟件、數(shù)據(jù)采集模塊和GPRS通信模塊三部分。其中,上位機(jī)監(jiān)測(cè)軟件是利用VB語(yǔ)言來(lái)編寫(xiě)實(shí)現(xiàn)的,其主要功能是對(duì)數(shù)據(jù)采集模塊采集上來(lái)的溫度、壓力、流量、電流等模擬量數(shù)值進(jìn)行顯示;數(shù)據(jù)采集模塊的主要作用是完成對(duì)現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)的采集,并且上傳給上位機(jī);GPRS模塊作為整個(gè)系統(tǒng)最重要的部分,其主要作用是作為連接上位機(jī)跟數(shù)據(jù)采集模塊的中介。本系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。
圖1 監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)圖
本文主要研究上位機(jī)監(jiān)測(cè)軟件部分。
本軟件設(shè)計(jì)應(yīng)用的編程環(huán)境是Visual Basic6.0,它有三個(gè)版本,分別為學(xué)習(xí)版,專業(yè)版和企業(yè)版。本設(shè)計(jì)用的是最強(qiáng)版本企業(yè)版,它包括專業(yè)版的全部功能以及back office工具,例如SQL Server、Microsoft Transaction Server、Internet information server、Visual SourceSafe、SNA Server等。企業(yè)版可以為軟件開(kāi)發(fā)團(tuán)隊(duì)開(kāi)發(fā)一些大型的應(yīng)用程序提供基礎(chǔ),是軟件開(kāi)發(fā)團(tuán)隊(duì)必備的開(kāi)發(fā)工具之一[3]。
設(shè)計(jì)中用到的主要控件介紹及其使用如下。
Timer控件:引發(fā)Timer事件,Timer控件可以有規(guī)律地隔一段時(shí)間執(zhí)行一次代碼。在本設(shè)計(jì)中主要應(yīng)用在發(fā)送查尋命令和數(shù)據(jù)庫(kù)存儲(chǔ)兩個(gè)方面。
Data TimePicker控件:用以提供格式化的日期字段。在本設(shè)計(jì)的作用是查詢某段時(shí)間內(nèi)的歷史數(shù)據(jù)。
Winsock控件:可以通過(guò)TCP協(xié)議和UDP協(xié)議連接到遠(yuǎn)程計(jì)算機(jī)上并與之交換數(shù)據(jù)。工作原理為服務(wù)器不停地監(jiān)聽(tīng)和檢測(cè)客戶端的請(qǐng)求,同時(shí)客戶端則向服務(wù)器端發(fā)出連接請(qǐng)求,當(dāng)兩者的協(xié)議溝通時(shí),客戶端與服務(wù)器端就建立起了連接。這時(shí)候,客戶端繼續(xù)請(qǐng)求服務(wù)器端發(fā)送或接收數(shù)據(jù),服務(wù)器則處于等待客戶端請(qǐng)求狀態(tài)。對(duì)用戶來(lái)說(shuō)Winsock控件是不可見(jiàn)的,在編寫(xiě)客戶機(jī)和服務(wù)器應(yīng)用程序時(shí),不必了解太多的有關(guān)TCP或者UDP協(xié)議的具體原理,只要通過(guò)設(shè)置Winsock控件屬性并調(diào)用相應(yīng)的功能函數(shù)就可輕易地進(jìn)行網(wǎng)絡(luò)連接并實(shí)現(xiàn)通信。本設(shè)計(jì)中Winsock控件的個(gè)數(shù)是由換熱站點(diǎn)的個(gè)數(shù)決定的[4]。
Mschart控件:將數(shù)據(jù)表中的數(shù)據(jù)以圖表的形式顯示出來(lái),從而更直觀的反映出數(shù)據(jù)之間的關(guān)系。在本設(shè)計(jì)的作用是顯示各個(gè)變量的變化趨勢(shì)。
根據(jù)用戶需求供熱系統(tǒng)要實(shí)現(xiàn)的軟件功能有以下幾點(diǎn):
2.1.1 數(shù)據(jù)采集和處理功能
各熱力站點(diǎn)的實(shí)時(shí)數(shù)據(jù)被采集到服務(wù)器后,還需進(jìn)行顯示、運(yùn)算和處理。為節(jié)省投資,前端站點(diǎn)未安裝流量計(jì),可以通過(guò)對(duì)壓力信號(hào)處理,并根據(jù)不同型號(hào)水泵的Q—H性能曲線,模擬出各站點(diǎn)二級(jí)管線的流量。
2.1.2 數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè)功能
各站點(diǎn)的數(shù)據(jù)(流量、管線壓力、溫度和水泵運(yùn)行狀態(tài)等信息)能夠?qū)崟r(shí)顯示在監(jiān)測(cè)中心的服務(wù)器屏幕上,準(zhǔn)確地反映管線的實(shí)際運(yùn)行狀態(tài),數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè),每5分鐘記錄一次數(shù)據(jù)。顯示的方式為動(dòng)態(tài)實(shí)時(shí)數(shù)據(jù)顯示,也有實(shí)時(shí)數(shù)據(jù)曲線、歷史曲線顯示。并有保存各站點(diǎn)信息、報(bào)警紀(jì)錄等的功能。
2.1.3 故障自動(dòng)報(bào)警功能
本系統(tǒng)有故障自動(dòng)報(bào)警功能,方便監(jiān)測(cè)中心及時(shí)通知工作人員進(jìn)行檢修。自動(dòng)檢測(cè)的故障有:信號(hào)通訊故障、停電故障、傳感器故障等。
2.1.4 數(shù)據(jù)報(bào)表功能
自動(dòng)生成日?qǐng)?bào)表、月報(bào)表、年報(bào)表,也可隨時(shí)進(jìn)行報(bào)表的統(tǒng)計(jì)與打印。
2.1.5 數(shù)據(jù)分析功能
實(shí)時(shí)繪制熱力管網(wǎng)的水壓圖、各站點(diǎn)的瞬時(shí)流量曲線圖和溫差曲線圖;同時(shí)進(jìn)行能耗分析和統(tǒng)計(jì)。利用數(shù)據(jù)模型對(duì)熱力管網(wǎng)的運(yùn)行狀態(tài)進(jìn)行分析,對(duì)水力平衡、供水溫度進(jìn)行調(diào)整,并及時(shí)查找失水點(diǎn),對(duì)于壓力異常發(fā)出報(bào)警。
2.1.6 數(shù)據(jù)存儲(chǔ)備份功能
系統(tǒng)數(shù)據(jù)庫(kù)可以本地存儲(chǔ),其存儲(chǔ)時(shí)間由用戶需求和計(jì)算機(jī)配置決定。使用人員可根據(jù)需要隨時(shí)將數(shù)據(jù)進(jìn)行備份,若系統(tǒng)破壞,可以利用備份的數(shù)據(jù),恢復(fù)系統(tǒng)的原始狀態(tài)。
2.1.7 數(shù)據(jù)遠(yuǎn)端演示功能
除監(jiān)測(cè)中心外,用戶可通過(guò)互聯(lián)網(wǎng)在任何地點(diǎn)建立分監(jiān)中心,方便監(jiān)視管理。為保證系統(tǒng)的安全,分監(jiān)中心的權(quán)限只限于數(shù)據(jù)監(jiān)視,不允許向下操作,監(jiān)測(cè)中心與各分監(jiān)中心的數(shù)據(jù)完全同步實(shí)時(shí)顯示。
要達(dá)到以上7點(diǎn)需求還要依靠對(duì)VB環(huán)境的開(kāi)發(fā),對(duì)采集來(lái)的數(shù)據(jù)進(jìn)行處理分析等步驟。
此系統(tǒng)要求通過(guò)網(wǎng)絡(luò)(Internet)遠(yuǎn)程接收分散在不同小區(qū)的各換熱站的各個(gè)變量的數(shù)據(jù),在這里考慮到成本的高低及其使用的便利性等方面的問(wèn)題,本方案決定采用GPRS介質(zhì)來(lái)實(shí)現(xiàn)[6]。
首先要綁定固定的IP和端口號(hào),程序如下所示:
通訊模塊會(huì)通過(guò)winsock控件實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信,監(jiān)聽(tīng)并將接收到的登錄幀解析,得到對(duì)應(yīng)的手機(jī)號(hào)碼(client),并將其添加在相應(yīng)的列表中,然后列表中的手機(jī)號(hào)碼(client)與數(shù)據(jù)庫(kù)中預(yù)存的手機(jī)號(hào)比較,如果相同則發(fā)送相應(yīng)的查尋命令。此處的查詢命令是指由上位機(jī)與采集模塊通訊的協(xié)議解析后得到的一組數(shù)據(jù)。
本設(shè)計(jì)的軟件流程圖如圖2所示。
2.3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)
用Visual Basic作為數(shù)據(jù)庫(kù)開(kāi)發(fā)平臺(tái)有簡(jiǎn)單、靈活、可擴(kuò)充三個(gè)優(yōu)點(diǎn)。Visual Basic提供了基于Microsoft JET數(shù)據(jù)庫(kù)引擎的數(shù)據(jù)訪問(wèn)能力,JET引擎負(fù)責(zé)處理存儲(chǔ)檢索、更新數(shù)據(jù)的結(jié)構(gòu),可以使用VB中的DAO或者是ADO對(duì)象訪問(wèn)JET引擎。本設(shè)計(jì)采用通用的Access數(shù)據(jù)庫(kù)[5],將實(shí)時(shí)數(shù)據(jù)按要求存入數(shù)據(jù)庫(kù)中,用戶可從數(shù)據(jù)庫(kù)中查詢歷史數(shù)據(jù)報(bào)表并打印,其中部分?jǐn)?shù)據(jù)會(huì)根據(jù)用戶的需求采用某些算法進(jìn)行處理后使用。使用Access數(shù)據(jù)庫(kù)是比較簡(jiǎn)單且易操作的。
本設(shè)計(jì)的數(shù)據(jù)庫(kù)目錄如圖3所示。
其中分配站master包括各換熱站的序號(hào)、編號(hào)、名稱、壓力個(gè)數(shù)、溫度個(gè)數(shù)、水泵序號(hào)、模塊地址、手機(jī)號(hào)碼、修正系數(shù)、相對(duì)標(biāo)高等。故障記錄表里存儲(chǔ)的是各站點(diǎn)的故障內(nèi)容;實(shí)時(shí)數(shù)據(jù)存儲(chǔ)的是各站點(diǎn)的所有變量的數(shù)據(jù)值。
與數(shù)據(jù)庫(kù)連接的程序如下所示:
注:數(shù)據(jù)庫(kù)中加了密碼123456
2.3.2 Web 設(shè)計(jì)
本設(shè)計(jì)中實(shí)時(shí)數(shù)據(jù)被發(fā)布到網(wǎng)上(Web),用戶可在分監(jiān)中心采用網(wǎng)頁(yè)瀏覽器來(lái)對(duì)現(xiàn)場(chǎng)狀態(tài)進(jìn)行監(jiān)視。Web[8]發(fā)布是通過(guò)在 visual studio.net開(kāi)發(fā)環(huán)境中開(kāi)發(fā) ASP.net[7]構(gòu)架來(lái)完成的。
注:ASP(Active Server Pages動(dòng)態(tài)服務(wù)器頁(yè)面)
圖2 軟件流程圖
圖3 數(shù)據(jù)庫(kù)分表目錄
是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁(yè)中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。
Web顯示的數(shù)據(jù)是與數(shù)據(jù)庫(kù)同步的,所以在這里引進(jìn)一段與數(shù)據(jù)庫(kù)連接的一段小程序:
網(wǎng)頁(yè)中的一個(gè)畫(huà)面如圖4所示。
經(jīng)過(guò)一段時(shí)間的現(xiàn)場(chǎng)運(yùn)行,本設(shè)計(jì)已經(jīng)得出了
圖4 網(wǎng)頁(yè)顯示圖
符合客戶需求的信息,包括數(shù)據(jù)值顯示及曲線趨勢(shì)顯示。在實(shí)際應(yīng)用中二級(jí)供水和回水溫差在13℃左右,從主監(jiān)控室截取的二級(jí)泵溫度曲線畫(huà)面(圖5)可以看出各換熱站點(diǎn)(除個(gè)別現(xiàn)場(chǎng)數(shù)據(jù)沒(méi)有上傳外)運(yùn)行正常且穩(wěn)定。
圖5 溫度顯示曲線
二級(jí)供水和回水壓力曲線的截圖如圖6所示,實(shí)際運(yùn)行中用戶得到的理想曲線是爪行的,雖然圖中曲線不夠理想但其基本符合供暖運(yùn)行條件。
圖6 壓力顯示曲線
運(yùn)行得到的曲線趨勢(shì)圖較多,在此不一一列舉。所有的曲線趨勢(shì)及數(shù)值顯示與現(xiàn) 場(chǎng)采集結(jié)果一致,所以此設(shè)計(jì)內(nèi)容合理。
本文在VB6.0環(huán)境中編寫(xiě)了實(shí)現(xiàn)熱力管網(wǎng)系統(tǒng)的監(jiān)測(cè)功能的程序,其中主要的傳輸介質(zhì)是基于GPRS下的TCP/IP。該設(shè)計(jì)最終實(shí)現(xiàn)了各信號(hào)的正常顯示以及圖表功能的正常使用,另外還實(shí)現(xiàn)了報(bào)警、系數(shù)修正等功能,保證了整個(gè)冬季供暖的穩(wěn)定運(yùn)行。經(jīng)過(guò)現(xiàn)場(chǎng)設(shè)備運(yùn)行一段時(shí)間后得出結(jié)論:設(shè)計(jì)的使用效果滿足了用戶提出的要求,顯示的內(nèi)容也形象的反映了整個(gè)管網(wǎng)及各個(gè)換熱站的運(yùn)行情況。隨著GPRS網(wǎng)絡(luò)的不斷完善和市場(chǎng)需求的擴(kuò)大,該類系統(tǒng)將會(huì)有更廣闊的前景[9]。
[1]王建新.遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展現(xiàn)狀和趨勢(shì)[J].國(guó)外電子測(cè)量技術(shù),2005,122(4):9 -12.
[2]BATS R J.通用分組無(wú)線業(yè)務(wù)(GPRS)技術(shù)與應(yīng)用[M].北京:人民郵電出版社,2004:3-7.
[3]高春艷,劉彬彬,王斌.Visual Basic開(kāi)發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007:2-9.
[4]米紅娟.Access數(shù)據(jù)庫(kù)基礎(chǔ)及應(yīng)用教程[M].北京:機(jī)械工業(yè)出版社,2009:56 -77.
[5]李長(zhǎng)林,張麗華,王紅.Visual Basic數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)從基礎(chǔ)到實(shí)踐[M].北京:電子工業(yè)出版社,2005:151-159.
[6]楊增汪,王宜懷,戴新宇.基于ZigBee和GPRS的高壓開(kāi)關(guān)柜無(wú)線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].電力系統(tǒng)保護(hù)與控制,2010,38(23):203-206.
[7]聶玉慶,張永堅(jiān),屈慶春,等.基于Ad Hoc網(wǎng)絡(luò)的智能公交信息傳輸系統(tǒng)研究[J].山東建筑大學(xué)學(xué)報(bào),2009,24(5):443 -448.
[8]楊莉,徐俊李,賈廣雷.基于Web的科技信息管理系統(tǒng)分析與設(shè)計(jì)[J].山東建筑大學(xué)學(xué)報(bào),2007,22(5):464 -466.
[9]王磊,許小琳.GPRS無(wú)線數(shù)據(jù)傳輸中服務(wù)器端軟件的設(shè)計(jì)和實(shí)現(xiàn)[J].測(cè)控技術(shù),2007,26(11):55 -56.