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