1 引言
供水管線是城市基礎(chǔ)設(shè)施,供水管網(wǎng)管理與維護(hù)的成功與否,直接關(guān)系到城市居民生活、工業(yè)生產(chǎn)和社會(huì)發(fā)展。隨著給水管網(wǎng)的擴(kuò)展規(guī)模迅速擴(kuò)大,管網(wǎng)信息數(shù)據(jù)以指數(shù)級(jí)增加,傳統(tǒng)的人工管理系統(tǒng)存在著費(fèi)人力、速度慢、統(tǒng)計(jì)數(shù)據(jù)準(zhǔn)確性差、實(shí)時(shí)性差等不足,已無(wú)法滿足管網(wǎng)數(shù)據(jù)量大、動(dòng)態(tài)更新等要求。充分考慮到數(shù)據(jù)采集點(diǎn)多且分散野外的特點(diǎn),系統(tǒng)借助先進(jìn)成熟的GPRS傳輸技術(shù),將傳感器采集來(lái)的水量通過(guò)GPRS發(fā)送給數(shù)據(jù)服務(wù)中心,并由WEB發(fā)布。利用計(jì)算機(jī)管理減輕工程技術(shù)人員的勞動(dòng)強(qiáng)度,提高工作效率。雖然采用M23G GPRS模塊進(jìn)行研發(fā)的廠商很多,但資料很少,這里提供詳細(xì)的解決方案。由于供水管網(wǎng)終端均在野外,該設(shè)計(jì)主要解決低功耗問(wèn)題。同時(shí)還解決數(shù)據(jù)服務(wù)中心的安全性和可靠性問(wèn)題。
2 系統(tǒng)總概
該設(shè)計(jì)提出遠(yuǎn)程抄水表系統(tǒng)是一個(gè)小型的分布式智能測(cè)控系統(tǒng),終端是由BenQ公司的M23G GPRS模塊,Micmchip公司的PICl6F873A和濰微公司W(wǎng)S02型水量計(jì)數(shù)器構(gòu)成。由于采用蓄電池供電,所以節(jié)能和功耗是比較重要的問(wèn)題。系統(tǒng)采用定時(shí)開啟GPRS模塊收發(fā)數(shù)據(jù),其他時(shí)間只有PICl6F873A在低功耗模式下采集水量。當(dāng)M23G模塊及外圍電路正常啟動(dòng)后,由PICl6F873A和M23G GPRS模塊進(jìn)行USART通信,將啟動(dòng)GPRS功能的AT命令寫入到模塊中,直到與數(shù)據(jù)服務(wù)中心連接成功,再將定時(shí)所計(jì)水量傳送給數(shù)據(jù)中心,傳送完畢后,關(guān)閉模塊,實(shí)現(xiàn)節(jié)能。數(shù)據(jù)服務(wù)中心通過(guò)WEB站點(diǎn)發(fā)布實(shí)時(shí)和歷史信息。圖1為系統(tǒng)總體框架圖。
3 M23G GPRS模塊
BenO公司的無(wú)線通信模塊M23G GPRS是原M23的升級(jí)無(wú)鉛版.其內(nèi)部集成PPP和TCP/IP協(xié)議棧;支持網(wǎng)絡(luò)類型GPRS CLASS 8,GPRS Class B;支持EGSM 900 MHz,DCS1 800 MHz,PCS 1 900 MHz無(wú)鉛三頻模塊。重量輕,體積小,功耗低,工作穩(wěn)定可靠,性價(jià)比高,使用范圍廣泛。
3.1 M23G模塊啟動(dòng)電路
由于模塊PWON引腳拉低至少保持120 ms才能使該模塊啟動(dòng),所以將此引腳直接接地,實(shí)現(xiàn)啟動(dòng)模塊。在正常上電后,M23G模塊如果已檢測(cè)到正確的SIM卡和網(wǎng)絡(luò),LED引腳就保持500 ms的低高電平變換,此時(shí)發(fā)光二極管GPRS也隨之亮或滅。
SIM卡作為特殊型智能卡,采用標(biāo)準(zhǔn)的接觸式IC卡。該模塊遵循ISO7816(接觸式集成電路IC卡的規(guī)定)和ETSI(歐洲電信標(biāo)準(zhǔn)委員會(huì))的GSMll.11等標(biāo)準(zhǔn)規(guī)范,與SIM卡座相連接。SIM_CLK為SIM時(shí)鐘,SIM_RST為SIM復(fù)位,SIM_I0為SIM卡數(shù)據(jù)輸入輸出,VRSLM產(chǎn)生SIM卡3 V供電電壓。圖2為:M23G模塊啟動(dòng)電路及SIM卡電路。
3.2 M23G模塊電源設(shè)計(jì)
M23G的電壓工作范圍為3.3~4.5 V,此系統(tǒng)采用3.3 V供電。在GPRS模式下,最大電流消耗不大于280 mA。模塊的電流消耗為脈沖形式,消耗峰值電流最多可達(dá)1.7 A,所以在模塊電源部分需要加較大耦合電容,且走線寬度大于50 mil。若是電源從一層走到另外一層時(shí),必然采用均勻的多個(gè)過(guò)孔來(lái)降低干擾。因此要特別注意電源的布線問(wèn)題,抑制干擾和防止出現(xiàn)紋波燒壞模塊。
3.3 配置M23G模塊軟件設(shè)計(jì)
PICl6F873A通過(guò)引腳電平變化中斷檢測(cè)到LED引腳的變化,說(shuō)明模塊硬件初始化完畢。PIC16F873A發(fā)送初始化AT指令:設(shè)置MS功能:AT+CFUN=1;自動(dòng)運(yùn)營(yíng)商選:AT+COPS=O;設(shè)置DTE波特率:AT+IPR=0(自動(dòng)檢測(cè));設(shè)置MS的類別:AT+CGCLASS="B”;GPRS鏈接設(shè)置:AT+CGATT=1:激活:PDP上下文(激活GPRS服務(wù)):AT+CGACT=1;ME錯(cuò)誤報(bào)告設(shè)置:AT+CMEE=2;GPRS網(wǎng)絡(luò)注冊(cè)狀態(tài):AT+CGREG=2;不允許進(jìn)入深度睡眠:AT$NOSLEEP=1。初始化結(jié)束后進(jìn)入GPRS數(shù)據(jù)傳輸?shù)脑O(shè)置:定義PDP上下文(設(shè)置接入網(wǎng)關(guān)):AT+CGDCONT=1,“IP”,“CMNET”;用于PDP上下文激活的PCO字符串:AT%CGPCO=1,“PAP..”,l;設(shè)置目的地址:AT$DESTINFO=“目的IP”,l(1:TCP,2:UDP),端口,0(0:禁用DNS,1:?jiǎn)⒂肈NS)撥號(hào)連接:ATD*97#。該過(guò)程結(jié)束后,就可以發(fā)送數(shù)據(jù)。在對(duì)模塊配置AT指令時(shí),如果所發(fā)送的指令正確,模塊返回0K,反之則返回ERROR。需要注意的是,先將模塊的硬件啟動(dòng)全部結(jié)束后再配置AT指令.且配置按照上述順序進(jìn)行即可實(shí)現(xiàn)數(shù)據(jù)通信。
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型自保持開關(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í)開啟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微型石英晶體振蕩器.作為TMRl工作的時(shí)間基準(zhǔn)。此設(shè)計(jì)具有實(shí)時(shí)時(shí)鐘,即定時(shí)開啟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編寫.通過(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ī)制,加上有眾多的開源支持,因此水量查詢的Web站點(diǎn)采用Java編寫,利用成熟的開源框架。
Struts+Spring+Hibernate實(shí)現(xiàn),這些優(yōu)秀的開源框架使得開發(fā)周期大大縮短,同時(shí)很好地封裝底層實(shí)現(xiàn)細(xì)節(jié),開發(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)大的開源報(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)行深度開發(fā)研究,為管網(wǎng)規(guī)劃設(shè)計(jì)、建設(shè)施工、各種運(yùn)行狀態(tài)下的優(yōu)化調(diào)度以及事故搶修等提供決策支持。該系統(tǒng)不只局限于供水行業(yè),略加修改可用在排水、燃?xì)獾刃袠I(yè),具有廣泛應(yīng)用價(jià)值。