基于GPRS供水管網(wǎng)抄表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
4 PICl6F873A與抄表數(shù)據(jù)處理
4.1 PICl6F873A簡(jiǎn)介
PICl6F873A是Microchip公司推出的基于8位的高性能RISC指令系統(tǒng)、哈佛總線和兩級(jí)指令流結(jié)構(gòu)單片機(jī)。該器件具有20個(gè)輸入/輸出可編程端口,13個(gè)中斷源。I2C和SPI串口總線端口,通用同異步收發(fā)器USART等。
水量計(jì)數(shù)器采用WS02型自保持開(kāi)關(guān)傳感器。此專利產(chǎn)品檢測(cè)電路簡(jiǎn)單,只需在信號(hào)線上接入30 kΩ電阻,此電阻連接電源,輸出高低電平。檢測(cè)電路如圖3所示。比如:要求裝配好的遠(yuǎn)傳水表每10千克水發(fā)送一個(gè)脈沖信號(hào).則應(yīng)將指針安裝在xO.001位置。每當(dāng)?shù)竭_(dá)10千克水時(shí).產(chǎn)生一個(gè)高電平,利用PIC16F873A的RB4引腳電平變化中斷功能.記錄數(shù)據(jù)。并且在定時(shí)開(kāi)啟GPRS前,將當(dāng)日的所記錄水量存入PIC16F873A的E2PROM中,防止丟失數(shù)據(jù)或由其他意外情況引起的誤處理。
利用PIC16F873A定時(shí)器/計(jì)數(shù)器TMRl工作于異步計(jì)數(shù)器模式,即使PIC16F873A進(jìn)入睡眠狀態(tài),TMRl仍可持續(xù)運(yùn)行,溢出時(shí)產(chǎn)生中斷請(qǐng)求。在TMRl自帶振蕩器的兩個(gè)外部引腳上跨接一只廉價(jià)的32.168 kHz微型石英晶體振蕩器.作為T(mén)MRl工作的時(shí)間基準(zhǔn)。此設(shè)計(jì)具有實(shí)時(shí)時(shí)鐘,即定時(shí)開(kāi)啟GPRS模塊,定時(shí)發(fā)送數(shù)據(jù),從而實(shí)現(xiàn)節(jié)能,并可通過(guò)數(shù)據(jù)服務(wù)中心修改定時(shí)發(fā)送時(shí)間。
4.2 數(shù)據(jù)服務(wù)中心的構(gòu)建
數(shù)據(jù)服務(wù)中心負(fù)責(zé)整個(gè)系統(tǒng)數(shù)據(jù)的采集處理和發(fā)布.協(xié)調(diào)系統(tǒng)的正常運(yùn)作,是整個(gè)系統(tǒng)的重要組成部分。其主要功能包括:向各數(shù)據(jù)采集終端發(fā)送配置指令,接收采集終端發(fā)送的各項(xiàng)數(shù)據(jù),對(duì)數(shù)據(jù)處理分析并保存至數(shù)據(jù)庫(kù),以及發(fā)布數(shù)據(jù)等。
系統(tǒng)中,安裝的水量采集終端數(shù)量比較多,要將水量數(shù)據(jù)長(zhǎng)期保存和隨時(shí)查看,同時(shí)對(duì)數(shù)據(jù)的安全性也有極高要求,為了更好均衡系統(tǒng)性能.使數(shù)據(jù)服務(wù)中心能長(zhǎng)期穩(wěn)定運(yùn)行,因此數(shù)據(jù)服務(wù)中心由多臺(tái)服務(wù)器分別承擔(dān)數(shù)據(jù)存儲(chǔ),數(shù)據(jù)采集,數(shù)據(jù)對(duì)外發(fā)布,提供網(wǎng)絡(luò)各項(xiàng)服務(wù)多項(xiàng)任務(wù)。
數(shù)據(jù)采集服務(wù)器上的主程序?yàn)榇_保數(shù)據(jù)的實(shí)時(shí)性,將始終處于運(yùn)行狀態(tài)。該程序用Visual C++6.0編寫(xiě).通過(guò)建立服務(wù)端,用WinSock監(jiān)聽(tīng)并建立來(lái)自終端的連接后,在網(wǎng)絡(luò)上與各終端進(jìn)行通信,收發(fā)終端數(shù)據(jù)信息。為達(dá)到并發(fā)的需求,數(shù)據(jù)采集主程序采用多線程機(jī)制,為新建立的連接創(chuàng)建一個(gè)單獨(dú)的收發(fā)數(shù)據(jù)線程,充分保障各個(gè)采集終端的數(shù)據(jù)傳輸獨(dú)立性、及時(shí)性和安全性。為確保數(shù)據(jù)采集程序能長(zhǎng)期穩(wěn)定運(yùn)行,另建一個(gè)守護(hù)進(jìn)程對(duì)主程序進(jìn)行實(shí)時(shí)監(jiān)控。采集到的終端數(shù)據(jù)經(jīng)過(guò)解析、處理后存儲(chǔ)至數(shù)據(jù)庫(kù)服務(wù)器的Oracle數(shù)據(jù)庫(kù)中。在數(shù)據(jù)的發(fā)布上,與傳統(tǒng)應(yīng)用系統(tǒng)的C/S模式相比較,借助Internet的B/S架構(gòu)因其對(duì)用戶要求低,簡(jiǎn)潔方便,低成本及易于維護(hù)利于升級(jí)等各項(xiàng)優(yōu)勢(shì),更適用于新型自動(dòng)水量監(jiān)測(cè)系統(tǒng)。在該體系結(jié)構(gòu)中,可以劃分為3層:瀏覽器―Web服務(wù)器―數(shù)據(jù)庫(kù)服務(wù)器。在B/S架構(gòu)中,以.NET和JAVA兩大平臺(tái)最為流行,但J2EE在擴(kuò)展性,移植性等方面更占優(yōu)勢(shì),并能提供較好的安全機(jī)制,加上有眾多的開(kāi)源支持,因此水量查詢的Web站點(diǎn)采用Java編寫(xiě),利用成熟的開(kāi)源框架Struts+Spring+Hibernate實(shí)現(xiàn),這些優(yōu)秀的開(kāi)源框架使得開(kāi)發(fā)周期大大縮短,同時(shí)很好地封裝底層實(shí)現(xiàn)細(xì)節(jié),開(kāi)發(fā)人員能專注于業(yè)務(wù)邏輯領(lǐng)域。站點(diǎn)布署在Tomcat服務(wù)器中,通過(guò)從數(shù)據(jù)庫(kù)中取得實(shí)時(shí)和歷史數(shù)據(jù)后,在站點(diǎn)上生成動(dòng)態(tài)網(wǎng)頁(yè)供用戶通過(guò)Internet查詢、訪問(wèn)、存儲(chǔ)和打印,且利用強(qiáng)大的開(kāi)源報(bào)表工具JasperReport,可以將所需數(shù)據(jù)生成報(bào)表供外部用戶下載存檔使用。不同權(quán)限的用戶通過(guò)登錄站點(diǎn)可以對(duì)有關(guān)數(shù)據(jù)進(jìn)行各項(xiàng)維護(hù)操作。
5 結(jié)語(yǔ)
目前,我國(guó)城市管網(wǎng)更新改造的任務(wù)逐年加大,迫切需要使用管網(wǎng)水利檢測(cè)優(yōu)化設(shè)計(jì)系統(tǒng)。通過(guò)對(duì)主管網(wǎng)的水量檢測(cè)數(shù)據(jù),與專業(yè)理論、方法相結(jié)合,進(jìn)行深度開(kāi)發(fā)研究,為管網(wǎng)規(guī)劃設(shè)計(jì)、建設(shè)施工、各種運(yùn)行狀態(tài)下的優(yōu)化調(diào)度以及事故搶修等提供決策支持。該系統(tǒng)不只局限于供水行業(yè),略加修改可用在排水、燃?xì)獾刃袠I(yè),具有廣泛應(yīng)用價(jià)值。
評(píng)論