摘要:地下水監測系統可以采集地下水的水位、溫度等信息,并將信息通過無線數據終端發送到地下水監測服務器。服務器對現場數據進行分析處理,克服人工監測地下水實時性差、數據處理繁瑣的問題,符合現代化的水網監測要求。服務器底層軟件的設計在整個系統中起著相當重要的作用,他實現端口的監聽、數據包的處理、數據的發送等功能。
關鍵詞:地下水監測;服務器;底層軟件;水網監測
中圖分類號:TP311
文獻標識碼:B
文章編號:1004—373X(2008)04—069—02
1 引 言
我國水資源短缺,多年平均水資源總量為28 124萬億立方米,人均水資源占有量只有2 100立方米,約為世界平均值的1/4。同時由于地區分布不均,年際、年內變化大,更加劇了水資源緊張狀況。到2030年人口高峰,預計人口將達到16億,人均水資源占有量僅為1 700立方米。我國缺水的人口和地區將明顯增加,水資源短缺形勢將更趨嚴峻。在我國,水資源短缺問題已成為制約經濟發展的重要因素,黨中央國務院對此非常重視,黨的十六大報告中強調要抓緊解決部分地區水資源短缺問題。2002年8月29日由全國人大常務委員會修訂通過的《中華人民共和國水法》中,明確國務院水行政管理部門負責全國水資源的統一管理和監督工作,強調要加強地下水管理,明確規定在地下水超采區應嚴格控制地下水超采等要求。截至2002年底,全國共有為控制區域地下水動態的基本監測站(井)12679處(眼),為補充基本監測站(井)不足設置的統測井9806眼和為分析確定水文地質參數而設置的試驗井11眼,監測站(井)的數量共為22 496處(眼),監測項目包括地下水水位、水量、水質、水溫等要素。
采用人工監測地下水方法,實時性差、數據處理繁瑣,不能滿足現代化的水網監測要求。使用無線的數據傳輸手段,將地下水水位、水量、水質、水溫等數據信息通過無線網絡傳送到監測中心,并由計算機統一處理,可以免除人工采集和處理數據的繁瑣勞動。
2 地下水監測系統
2.1 概述
地下水監測系統可分為3大部分:前端采集、數據傳輸、數據處理。前端數據采集主要由水位傳感器、溫度傳感器等完成。數據傳輸部分由無線數據傳輸終端和Inter—net構成。數據處理由鏈接到Internet的地下水監測服務器完成。無線數據傳輸終端每隔60 s,向下水監測服務器發送一次數據。地下水檢測系統結構圖如圖1所示。
目前無線數據傳輸終端主要基于移動公司的GPRS或聯通公司的CMDA網絡,通過無線網絡運營商的服務器可以使數據通過Internet到達目標服務器。

2.2服務器底層軟件設計
服務器軟件設計包含2大部分:底層軟件的設計,界面軟件的設計。底層軟件主要負責數據通道的建立、數據提取和通道維護,底層軟件的開發關系到整個系統的穩定運行。首先地下水檢測服務器需要具備固定的IP地址,這個地址即為無線數據傳輸終端的目標地址。服務器端的工作就是監聽遠程無線數據傳輸終端發來的數據包。數據包有多種,分別為注冊包、心跳包、信息包和離線包。同時也可以與無線數據傳輸終端客戶端進行對話,對話可以支持16進制的數據對話和ASIC II碼的字符串數據。
2.2.1 服務器軟件3大模塊
(1)監聽模塊
負責監聽并建立所有鏈接,當網絡上有TCP鏈接的申請,則建立鏈接。建立好的鏈接存在鏈接庫中。
(2)數據處理模塊
鏈接庫中已經建立的鏈接,在收到數據后將數據送到此模塊,數據處理模塊會判斷數據包的類型,根據不同的包類型做不同的處理。處理時,首先判斷該鏈接是否被注冊,如重復,則丟棄;若鏈接沒有被注冊,該數據又是注冊包,則進行注冊。之后判斷包是否是其他類型,如果是信息包,就將信息數據顯示,并存在數據庫內。如果離線包,就將該無線數據傳輸終端與服務器斷開鏈接。所有的數據包均具有心跳包的功能,即告知服務器該無線數據傳輸終端在下一個心跳包前都是在線的。
(3)信息發送模塊
該模塊可選。需要給無線數據傳輸終端發送數據時,可以通過該模塊給指定的無線數據傳輸終端發送數據。各模塊交互流程圖如圖2所示。
2.2.2 服務器端動態鏈接庫的方法
動態鏈接庫,是一個經過封裝的類。動態鏈接庫內,主要有4個操作函數,即開啟函數,其中就包括監聽鏈接模塊。監聽函數,就是數據處理模塊。服務器主動斷開無線數據傳輸終端函數。服務器給無線數據傳輸終端發送命令函數。這4個操作函數可以被調用dll的用戶所使用。另一種方法就是動態鏈接庫只接收和傳遞數據,拆包和解包由上層完成,但是這樣就必須公開數據包格式。
動態鏈接庫完成后,對于調用者可以方便地完成已有功能,但動態鏈接庫也有一定的弊端,例如寫成的動態鏈接庫(使用C/C++或C#編寫)被Basic,Java和Pasic語言調用時,可能會出現錯誤,這是因為不同的計算機語言對字符串和浮點位數的操作不一樣。

2.2.3 其他實施方法
如果不使用動態鏈接庫的方法,可以利用數據庫進行數據的交換,這需要做Windows程序進行端口監聽,然后將數據放人數據庫。用戶需要數據時,則去數據庫提取。如果需要發送命令,可通過Windows隱藏在屏幕右下角的任務欄程序進行。如不需要人為發送命令,則可通過Windows的服務,由Windows后臺自動管理,開機時自動開啟運行。上述方案都涉及數據庫,需要考慮版本不同引起的兼容問題。
3 功 效
基于無線網絡的地下水監測系統,屬于遠程儀表監控系統;相同的原理,用在城市公用事業則有助于氣網和水網的分析、偷水、漏水的調查;在其他工業控制領域也有廣泛應用。總之,無線網絡的水網監測系統可以避免繁瑣的人工操作,使控制中心能對現場的數據方便地進行分析和處理。本文說明地下水檢測系統中底層軟件的實現,并列舉了多種實現方法,保證系統的穩定運行。