[摘 要]本文介紹了一種環(huán)境污染物因子遠程信息管理系統(tǒng)的實現方式。該系統(tǒng)以大氣污染物監(jiān)測為背景,基于C#.NET的Socket類庫和SQL Server數據庫,使用TCP/IP協(xié)議,采用服務器/客戶機架構(C/S架構),能夠完成數據通信和遠程控制的功能。
該系統(tǒng)實現可大致分為界面設計、數據庫編程開發(fā)、網絡通信編程開發(fā)等三個主要部分。其中,客戶端和服務器端的界面設計在風格上保持了一致性,均采用了VS2005的標準控件,主菜單根據數據查詢、參數設置、顯示方式等功能實現劃分。客戶端程序將串口發(fā)送的數據進行處理后,在存儲到本地數據庫的同時使用TCP/IP協(xié)議向服務器端實時地傳輸數據,服務器端接收到數據后存入其數據庫,兩端均能執(zhí)行數據查詢操作。
通過本信息系統(tǒng)實現了環(huán)境污染物的遠程監(jiān)測和管理,為檢測部門的監(jiān)控和產品廠商的產品維護提供了便利。
[關鍵詞]遠程數據通信 TCP/IP協(xié)議 信息管理系統(tǒng) 數據庫 污染物監(jiān)測
[中圖分類號]TP [文獻標識碼]A [文章編號]1009-5489(2010)01-0154-02
一、綜述
為了控制大氣污染物的排放,不僅需對顆粒物、二氧化硫、氮氧化物等加以治理,同時還需要對這些參數進行連續(xù)在線測量。實際上,監(jiān)測設備數量眾多,配置分散,宜采用多個直接數字控制并通過通信控制器進行互聯(lián)組成多域網。這樣既滿足了監(jiān)測部門的遠程監(jiān)控,也便于一起生產廠家的遠程維護。經過研究發(fā)現,采用互聯(lián)網是目前比較方便并且經濟的解決方案。
本系統(tǒng)運行于WinXP環(huán)境,采用Visual studio.NET 2005平臺,選擇C#語言作為開發(fā)工具,使用SQL Server 2005數據庫,實現了以下三個模塊的程序:1.遠程通訊類的編寫。它必須允許客戶端和服務器端訪問使用,以實現基于Internet的數據傳送和信息共享。2.客戶端程序。用于接收服務器端報送的數據報文并將數據存入網絡數據庫,可以對數據信息進行各種統(tǒng)計和查詢,并對服務器端進行參數設置。3.服務器端程序。用于對現場端的監(jiān)測信息進行數據處理、存儲并將其報送至服務器端,以及接收用戶端的控制信息并做出相應動作和反應。
二、功能分析
1.服務器端功能分析
服務器端需要對煙塵參數進行數據檢測、處理和存儲,把處理后的監(jiān)測結果按照一定的時間間隔和通信協(xié)議發(fā)送給客戶端,并能夠實時地響應客戶端發(fā)出的指令。要完成該功能并能實現傳輸的安全可靠性,首先要考慮網絡通訊方式的選擇,如TCP和UDP、C/S和B/S的選擇,在比較后,本系統(tǒng)選擇了TCP/IP協(xié)議和C/S架構;其次要有自己的通訊協(xié)議,方便雙方安全通訊和數據的正確;最后,在客戶端發(fā)出指令(包括監(jiān)測指令和其他指令),服務器端要實時無條件的響應客戶端的指令,快速的傳輸數據到客戶端,并準確地完成客戶端發(fā)出的指令。
接收客戶端的控制信息并做出相應動作和反應。這個功能的實現,也是基于遠程控制技術,相當于服務器端的后臺程序,后臺中有客戶端發(fā)送的指令具體實現方法和程序,這些程序在服務器端應用一個類,很好地封裝起來。需要完成的動作和反應,主要包括客戶端對檢測儀器的選擇,參數設置以及光路控制等。
2.客戶端功能分析
客戶端需要接收服務器端報送的數據報文并將數據存入數據庫,并能對數據信息進行查詢;對于數據的存儲和查詢和顯示方式,類似于客戶端一樣,需要借用數據庫處理模塊和顯示模塊。
不同的部分在于遠程控制模塊,它主要是包含了客戶端內所有能實現的控制功能,通過發(fā)送指令,來讓服務器端執(zhí)行相應指令的程序來完成參數設置和檢測儀器的選擇等功能。實現方法是在客戶端的一個類中將包含服務器端所有能執(zhí)行的指令,然后經過控件的操作,通過遠程通信將控制指令傳輸給服務器端,來執(zhí)行命令,從而實現遠程控制功能。
三、設計開發(fā)
1.界面設計
主界面設計采用父窗體方式,使用menuStrip控件來做菜單欄,按照文件、用戶信息、實時監(jiān)控、歷史數據、污染物校正參數、系統(tǒng)參數等主題進行分組,將功能公開給用戶。
文件的下拉菜單中包含了數據刪除,數據備份,數據恢復以及退出;用戶信息下拉菜單中包含了對用戶信息的設置;實時監(jiān)控的下拉菜單中包含了選擇監(jiān)測點(該項中包括全部,01,02,03,04幾個選項),選擇多個監(jiān)測點,多圖形查看以及監(jiān)測方式(該項主要包括采樣間隔,數據,曲線和堆積圖);歷史數據的下拉菜單中主要包括按時間查詢,顯示,關閉顯示,按窗口全部打開,歷史數據導出;污染物校正參數的下拉菜單包含了設置;在系統(tǒng)參數的下拉菜單中包括參數設置,光路控制,基本參數設置,串口參數設置,選項,歷史記錄導出,口令無效。
2.服務器端設計
在收到監(jiān)測儀器的數據后,調用數據處理模塊轉化成直觀的數值形式,通過TCP/IP通訊協(xié)議將數據發(fā)送給服務器端,實現遠程數據傳輸。在數據傳輸中,首先要創(chuàng)建套接字Socket,所創(chuàng)建的套接字與本地的IPEndPoint綁定,設置套接字的模式為偵聽模式,在套接字上接受接入的連接并在套接字上接受介入連接。
客戶端程序除了遠程通信模塊外,軟件定義了其他相關模塊類和對象,主要有:Communication類,負責與單片機的數據通訊;Viewexport類,負責圖形曲線和圖表的顯示及圖表的Excel方式導出;Alarm類,負責報警功能;DataProcess類,負責數據的處理;TableLog類,負責日志記錄及數據庫操作;
程序采用事件驅動工作方式,各功能模塊互相協(xié)作,自動觸發(fā)相應的消息事件,具有一定的靈活性。Alarm類和TableLog類與后臺數據庫MS SQL Server2005使用ADO.Net技術相結合,實現數據庫的動態(tài)更新和復雜的查詢任務。
3.客戶端設計
客戶端登陸并選擇好服務器IP地址后,服務器實時將處理好的數據傳給客戶端。一般情況下發(fā)送過來的數據是字節(jié)形式的,通過和客戶端相同的字節(jié)轉化,將數據轉換并存入本地數據庫,同時將數據顯示在監(jiān)視界面中DataGridView控件中的表格中。在以后需要訪問的時候直接查詢本地數據庫。此時的訪問主要通過DataRead方法從數據庫中讀出。
由于客戶端不需要進行數據的處理,只是顯示監(jiān)測儀器傳送的數據并存儲到數據庫,所以相對來說數據量會比服務器端縮減很多,處理速度也會增加,能夠滿足多個服務器同時監(jiān)測的條件。
四、總結
借助于環(huán)境污染物因子遠程信息管理系統(tǒng)可以將工廠監(jiān)測部門的監(jiān)控和政府監(jiān)督部門的管理有效連接起來,方便了遠程監(jiān)測和產品廠商的產品維護,實現對環(huán)境污染物因子排放情況的隨時掌握,實現現場運行數據的實時采集和快速集中,獲得現場監(jiān)控數據,為遠程監(jiān)測故障診斷技術提供了物質基礎。
[參考文獻]
[1]余成波、陶紅艷、萬文略:《設備遠程監(jiān)控技術的研究》。
[2]王剛:《煙氣排放連續(xù)監(jiān)測系統(tǒng)淺議》,《科技情報開發(fā)與經濟》。
[3]周炎濤、李立明:《TCP/IP協(xié)議下網絡編程技術及其實現》,《航空計算技術》第32卷第3期。