摘要:遠(yuǎn)程監(jiān)控系統(tǒng)主要用于完成遠(yuǎn)程現(xiàn)場(chǎng)點(diǎn)的數(shù)據(jù)采集、處理、實(shí)時(shí)監(jiān)控等功能。傳統(tǒng)的遠(yuǎn)程監(jiān)控系統(tǒng)采用自動(dòng)控制技術(shù)、計(jì)算機(jī)技術(shù)。基于GPRS網(wǎng)絡(luò)的遠(yuǎn)程監(jiān)控系統(tǒng)利用其雙向傳輸?shù)男阅埽煞奖愕貙?shí)現(xiàn)對(duì)于各類電氣設(shè)備的遠(yuǎn)程控制和信息采集,即實(shí)現(xiàn)遙信、遙測(cè)和遙控。基于GPRS數(shù)據(jù)通信的遠(yuǎn)程無(wú)線監(jiān)控系統(tǒng)與以往依靠電臺(tái)進(jìn)行的遠(yuǎn)程監(jiān)控系統(tǒng)相比,系統(tǒng)組網(wǎng)靈活、便捷,覆蓋范圍廣,數(shù)據(jù)傳輸可靠性高,通訊反應(yīng)時(shí)間快。
目前,集中式供熱是我國(guó)重點(diǎn)支持發(fā)展的供熱形式,文章以吉林熱網(wǎng)為對(duì)象,主要進(jìn)行了熱網(wǎng)微機(jī)監(jiān)控系統(tǒng)軟件的設(shè)計(jì)與實(shí)現(xiàn)。
關(guān)鍵詞:GPRS;熱網(wǎng);監(jiān)控系統(tǒng)
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)25-1470-03
Design and Implementation of Heat Network Computer Monitoring Software System Based on the GPRS Technology
YANG Qing-qing
(Ningbo Dahongying University, Ningbo 315175, China)
Abstract: The computer monitoring System is used to implement the function of data collection and processing, real time administration, etc. By using duplex mode, heat network computer monitoring system based on GPRS technology can realize remote supervisory and control and data collection or processing of all kinds of electrical equipments. In a word, compared with anciently remote monitoring systems which depend on transmitter-receiver in a certain communication way, the computer monitoring system based on GPRS technology has more advantages such as facilitating network forming, widely overlay area, supper reliability on data transmission and the quickly response time in communication.
Centralized heat supply is currently the main heat supply way in China. Taking the JiLin's heat network as object, this paper discusses the research and design of the computer monitoring system on heat network. Based on introduction of the high-speed data transmission technique of GPRSwhich can meet the demand of mass of data transmission and the real time administration of the heat network.
Key words: GPRS; Heat Network; the computer monitoring system
1 熱網(wǎng)監(jiān)控軟件的需求分析
1.1 熱網(wǎng)微機(jī)監(jiān)控系統(tǒng)的特點(diǎn)
吉林熱網(wǎng)監(jiān)控系統(tǒng)的方案設(shè)計(jì)是綜合了無(wú)線GPRS通信技術(shù)和遠(yuǎn)程監(jiān)控系統(tǒng)的特點(diǎn)而綜合分析和設(shè)計(jì)的。整個(gè)系統(tǒng)由調(diào)度站(上位機(jī))、智能儀表(下位機(jī))、通訊設(shè)備、一次儀表(變送器等)四部分組成。一次儀表即各種傳感器或變送器,將現(xiàn)場(chǎng)信號(hào)(如溫度、壓力、流量等)轉(zhuǎn)換成標(biāo)準(zhǔn)信號(hào)(電流或電壓信號(hào))到智能儀表進(jìn)行顯示、調(diào)節(jié)控制,通過(guò)RS-232串口通信模塊將數(shù)據(jù)送往GPRSModem通信模塊,同時(shí),還可通過(guò)GPRS Modem通信模塊接收調(diào)度中心的指令,然后將數(shù)據(jù)送到中國(guó)移動(dòng)GPRS網(wǎng)絡(luò)中,再經(jīng)過(guò)INTERNET,最后在數(shù)據(jù)中心通過(guò)ADSL進(jìn)行接收,數(shù)據(jù)中心路由器收到各熱力分配站的數(shù)據(jù)后轉(zhuǎn)發(fā)到數(shù)據(jù)服務(wù)器上,由上位機(jī)進(jìn)行集中管理。
整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示:
■
圖1 熱網(wǎng)監(jiān)控系統(tǒng)結(jié)構(gòu)
1.2 功能分析
本系統(tǒng)主要具備以下功能:
1) 全網(wǎng)監(jiān)視:在線監(jiān)視全網(wǎng)運(yùn)行工況和具體參數(shù),數(shù)據(jù)與現(xiàn)場(chǎng)保持同步,并用數(shù)字、趨勢(shì)圖、表格、棒圖等方式顯示數(shù)據(jù)。
2) 數(shù)據(jù)存儲(chǔ) :對(duì)實(shí)時(shí)數(shù)據(jù)、報(bào)警信息進(jìn)行存儲(chǔ),及時(shí)存入歷史數(shù)據(jù)庫(kù),可隨時(shí)調(diào)用、檢索、查詢打印。
3) 參數(shù)設(shè)定:系統(tǒng)中有3200個(gè)參數(shù)可以設(shè)定,這些參數(shù)分屬于不同站點(diǎn),要實(shí)現(xiàn)中心站只須對(duì)各個(gè)站點(diǎn)的參數(shù)進(jìn)行設(shè)定。
4) 參數(shù)下傳功能:所設(shè)定的參數(shù)存于中心站的硬盤中,只有通過(guò)參數(shù)下傳才能把所設(shè)的參數(shù)傳到下位機(jī),使下位機(jī)顯示值正常。
5) 隨機(jī)采樣功能:對(duì)人工指定的站點(diǎn)進(jìn)行采樣。
6) 批采集功能:對(duì)一系列連續(xù)或不連續(xù)的幾個(gè)站點(diǎn)進(jìn)行采集。
7) 報(bào)警:對(duì)各類故障、事故、參數(shù)超限可提供上限報(bào)警,下限報(bào)警,上上限報(bào)警,下下限報(bào)警。
1.3 系統(tǒng)具備的性能指標(biāo)分析
1) 加載時(shí)間:正常啟動(dòng)加載時(shí)間低于15秒;繁忙情況下,加載時(shí)間不多于20秒;
2) 所需操作時(shí)間:每天24小時(shí),每周7天;
3) 數(shù)據(jù)傳輸頻率:熱力分配站最多200個(gè)站點(diǎn),要求5分鐘輪巡一次,每個(gè)站點(diǎn)每次要傳輸數(shù)據(jù)在300至500字節(jié)之間;
4) 備份頻率:數(shù)據(jù)庫(kù)應(yīng)每三天清理一次,但被清理的數(shù)據(jù)在必要時(shí)(如數(shù)據(jù)庫(kù)沖突時(shí))還可恢復(fù);
5) 處理響應(yīng)時(shí)間:正常情況下,用戶每次觸發(fā)系統(tǒng)操作的響應(yīng)時(shí)間低于10秒;繁忙情況下,用戶每次觸發(fā)系統(tǒng)操作的響應(yīng)時(shí)間低于30秒;
6) 系統(tǒng)恢復(fù)程序:此程序由數(shù)據(jù)庫(kù)管理系統(tǒng)提供,用以從系統(tǒng)沖突中恢復(fù)數(shù)據(jù);
7) 連接性能:一個(gè)調(diào)度站最多可連接下位機(jī)不超過(guò)200臺(tái);
8) 通信距離:要覆蓋吉林熱力所有的熱力分配站。
1.4 系統(tǒng)接口分析
1) 軟件接口:系統(tǒng)提供一個(gè)可以把歷史數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)化為excel報(bào)表的接口,借助Excel的強(qiáng)大功能,用戶可以編制各種報(bào)表。系統(tǒng)的通訊部分采用GPRS公網(wǎng),數(shù)據(jù)中心采用ADSL接入方式。
開(kāi)發(fā)工具與數(shù)據(jù)庫(kù)之間的接口。Microsoft 公司為其Windows系統(tǒng)下應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)開(kāi)發(fā)了標(biāo)準(zhǔn)的接口規(guī)范,如:Jet數(shù)據(jù)庫(kù)引擎、開(kāi)放式數(shù)據(jù)庫(kù)互聯(lián)(ODBC)、OLE DB接口。
2) 硬件接口:要求有標(biāo)準(zhǔn)打印機(jī)接口進(jìn)行報(bào)表打印。
2 熱網(wǎng)監(jiān)控系統(tǒng)上位機(jī)軟件的系統(tǒng)設(shè)計(jì)
在本系統(tǒng)中,調(diào)度站工控機(jī)在物理上同時(shí)承擔(dān)了服務(wù)器(Server)和客戶機(jī)(Client)的功能。監(jiān)控系統(tǒng)要求在高速、高可靠性和連續(xù)采集的情況下,一方面進(jìn)行數(shù)據(jù)采集,同時(shí)還要進(jìn)行在線的數(shù)據(jù)實(shí)時(shí)處理,否則將會(huì)造成數(shù)據(jù)的丟失和不連續(xù),在軟件設(shè)計(jì)中引入了Windows下的線程的多任務(wù)處理技術(shù)(multitasking),一個(gè)線程是程序的一條執(zhí)行路徑,在這里我們區(qū)分了兩條線程:用戶界面(UI)線程是一個(gè)消息泵,用于處理用戶界面任務(wù),工作者線程(WorkThread)完成用戶自己定義的任務(wù),可以充分利用工作者線程完成數(shù)據(jù)的采集、傳輸以及處理,以保證數(shù)據(jù)的實(shí)時(shí)性、完整性和連續(xù)性。 設(shè)計(jì)的上位機(jī)軟件的總體結(jié)構(gòu)圖如圖2所示:
■
圖2 軟件整體框架
2.1 系統(tǒng)設(shè)計(jì)的原則
通常系統(tǒng)設(shè)計(jì)可從下述幾點(diǎn)來(lái)考慮:1) 在認(rèn)定監(jiān)控對(duì)象后可以根據(jù)項(xiàng)目規(guī)模和投資預(yù)算來(lái)確定監(jiān)控系統(tǒng)的體系結(jié)構(gòu):CCS(Computer Control System,計(jì)算機(jī)集中控制系統(tǒng))、DCS或FCS(FieldBus Control System,現(xiàn)場(chǎng)總線控制系統(tǒng)),確定系統(tǒng)體系結(jié)構(gòu)是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵;2) 經(jīng)過(guò)現(xiàn)場(chǎng)考察和調(diào)研確定硬、軟件設(shè)計(jì)方案,分別進(jìn)行硬件選型和上位機(jī)軟件設(shè)計(jì),具體如:硬件是自己開(kāi)發(fā)(靈活性好,針對(duì)性強(qiáng))還是采用現(xiàn)成產(chǎn)品(兼容性好,可靠性高);上位機(jī)軟件設(shè)計(jì)是采用C++ Builder, VC++等開(kāi)發(fā)語(yǔ)言或是采用組態(tài)軟件實(shí)現(xiàn)等等;3) 無(wú)論采用什么方案,都要滿足監(jiān)控系統(tǒng)設(shè)計(jì)的基本要求:運(yùn)行可靠、使用方便、應(yīng)用靈活。
2.2 用戶界面(UI)架構(gòu)設(shè)計(jì)
UI界面是軟件的重要組成部分,系統(tǒng)運(yùn)行時(shí),將相應(yīng)的實(shí)時(shí)數(shù)據(jù)通過(guò)數(shù)字、棒圖或者曲線的方式顯示出來(lái)。在UI上還有報(bào)警通知和確認(rèn),報(bào)表及打印,歷史數(shù)據(jù)查詢與顯示等功能。前臺(tái)運(yùn)行的應(yīng)用程序主要有主界面、顯示界面,報(bào)警界面、報(bào)表界面、數(shù)據(jù)查詢界面、參數(shù)設(shè)定界面、系統(tǒng)管理界面等組成,其關(guān)系如圖3所示。
2.3 數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)
上位機(jī)軟件數(shù)據(jù)庫(kù)不僅要完成數(shù)據(jù)管理功能,還要滿足控制系統(tǒng)對(duì)實(shí)時(shí)數(shù)據(jù)的處理要求。數(shù)據(jù)處理包括對(duì)現(xiàn)場(chǎng)采集到的實(shí)時(shí)數(shù)據(jù)進(jìn)行輸入處理、報(bào)警處理和系統(tǒng)事件處理等等。軟件的數(shù)據(jù)庫(kù)系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)如圖4所示[1]。
實(shí)時(shí)控制系統(tǒng)的現(xiàn)場(chǎng)數(shù)據(jù)通過(guò)數(shù)據(jù)采集模塊進(jìn)入系統(tǒng),系統(tǒng)對(duì)輸入數(shù)據(jù)進(jìn)行輸入處理后保存在實(shí)時(shí)數(shù)據(jù)的管理庫(kù)中。如果數(shù)據(jù)達(dá)到報(bào)警限值,系統(tǒng)進(jìn)行報(bào)警處理,并記錄報(bào)警信息,按照用戶要求,系統(tǒng)定時(shí)將實(shí)時(shí)數(shù)據(jù)保存到歷史數(shù)據(jù)庫(kù)中。如果出現(xiàn)系統(tǒng)事件,系統(tǒng)可以自動(dòng)記錄系統(tǒng)事件。經(jīng)過(guò)應(yīng)用程序處理的數(shù)據(jù)可以通過(guò)應(yīng)用編程接口再回送到實(shí)時(shí)數(shù)據(jù)庫(kù)中,進(jìn)行輸出處理后通過(guò)回送模塊送到實(shí)時(shí)控制系統(tǒng)中,實(shí)現(xiàn)對(duì)控制系統(tǒng)的現(xiàn)場(chǎng)控制。
2.4 數(shù)據(jù)庫(kù)事務(wù)調(diào)度分析設(shè)計(jì)
在軟件運(yùn)行時(shí),同時(shí)要進(jìn)行與下位機(jī)數(shù)據(jù)采集、數(shù)據(jù)處理、圖形顯示刷新、歷史數(shù)據(jù)存盤、緊急事件報(bào)警等,所有這些事務(wù)都要并行處理。這要求我們實(shí)現(xiàn)一種并行編程。
在采用多線程進(jìn)行程序設(shè)計(jì)時(shí),重點(diǎn)解決如下問(wèn)題:1)從Thread類派生出一個(gè)自己的類,即定義要?jiǎng)?chuàng)建的線程,在線程定義中,應(yīng)該聲明本線程要使用的私有變量和函數(shù);2)重載Thread的Execute方法。在這個(gè)Execute過(guò)程中,所編寫的代碼就是線程要執(zhí)行的操作;3)當(dāng)線程退出運(yùn)行時(shí),應(yīng)編寫與事件OnTerminate對(duì)應(yīng)的過(guò)程代碼,處理善后事宜;4)為了節(jié)約CPU時(shí)間,有些進(jìn)程完成特定操作后,可以將自己掛起(Suspend),需要時(shí)喚醒,再將其解掛(Resume);5)當(dāng)有多個(gè)線程協(xié)同操作時(shí),往往需要對(duì)線程進(jìn)行互斥或同步控制。
3 通信方案
與移動(dòng)GPRS APN(訪問(wèn)結(jié)點(diǎn)網(wǎng)絡(luò))方式。APN主要有以下兩種:CMNET和專線訪問(wèn)。從安全與穩(wěn)定性考慮,我們選擇專線方式[2]。
GPRS通信軟件一方面用于接收并解析數(shù)據(jù)服務(wù)中心的命令(消息),轉(zhuǎn)發(fā)給遠(yuǎn)程監(jiān)控系統(tǒng)的處理服務(wù)程序;另一方面用于封裝來(lái)自遠(yuǎn)程監(jiān)控系統(tǒng)的處理服務(wù)程序的命令(消息),發(fā)送給數(shù)據(jù)服務(wù)中心。 數(shù)據(jù)經(jīng)GPRS Modem發(fā)送到移動(dòng)GPRS網(wǎng)絡(luò)上的CGSN后,移動(dòng)的GPRS網(wǎng)絡(luò)與INTENET有通道接口,因此,移動(dòng)CGSN服務(wù)器可將數(shù)據(jù)經(jīng)INTENET再轉(zhuǎn)發(fā)到數(shù)據(jù)中心服務(wù)器或者是路由器上。移動(dòng)GPRS網(wǎng)絡(luò)傳輸送來(lái)的各熱力分配站數(shù)據(jù)經(jīng)INTENET,通過(guò)ADSL MODEM信號(hào)解調(diào)經(jīng)防火墻檢測(cè)后送達(dá)路由器VPN解密后,再將解密后的數(shù)據(jù)包轉(zhuǎn)發(fā)到指定的數(shù)據(jù)中心服務(wù)器上進(jìn)行數(shù)據(jù)接收處理,以此同時(shí)數(shù)據(jù)中心服務(wù)器擔(dān)負(fù)著向各熱力分配站發(fā)送相應(yīng)控制指令數(shù)據(jù)的任務(wù)。為了保證數(shù)據(jù)在移動(dòng)網(wǎng)絡(luò)到數(shù)據(jù)中心路由器之間傳輸?shù)陌踩裕覀兪褂昧薞PN功能。該功能在數(shù)據(jù)中心路由器和移動(dòng)出口網(wǎng)關(guān)服務(wù)器之間建立VPN的GRE隧道,保證這兩點(diǎn)之間數(shù)據(jù)傳輸?shù)陌踩裕槐凰嗽谥型具M(jìn)行信息竊取、修改[3]。
4 結(jié)論
我們開(kāi)發(fā)的基于GPRS網(wǎng)絡(luò)的遠(yuǎn)程無(wú)線監(jiān)控系統(tǒng)借助公共GPRS網(wǎng)絡(luò)的SMS機(jī)制或數(shù)據(jù)業(yè)務(wù)來(lái)傳輸數(shù)據(jù)。監(jiān)控的實(shí)時(shí)性和準(zhǔn)確性均可滿足要求,與常規(guī)無(wú)線通訊方法相比,無(wú)須架設(shè)天線,不占用專門頻點(diǎn),容量大,干擾小,誤碼率低,利用GPRS公網(wǎng)系統(tǒng),聯(lián)網(wǎng)方便,且不存在通訊盲區(qū),是一種值得推廣的監(jiān)控手段[4]。
參考文獻(xiàn):
[1] 劉云生.實(shí)時(shí)數(shù)據(jù)庫(kù)的數(shù)據(jù)處理[J].中國(guó)計(jì)算機(jī)世界報(bào),2003,22(8):33-39.
[2] Gisli Hjalmtysson, Robert Gray. Dynamic C++ Classes: A Lightweight Mechanism to Update Code in A Running Program[C]. Proceedings of the USENLX Annual Technical Conference, New Orleans, Louisiana, 1998:78-81.
[3] 馬忠梅,籍順心,張凱,等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:航空航天大學(xué)出版社,2000.
[4] 劉家良,聶海,陳昌巨.基于CAN總線的智能小區(qū)自動(dòng)抄表系統(tǒng)[J].武漢理工大學(xué)學(xué)報(bào),2002,10(1):33-35.
[5] 潘克修.遠(yuǎn)程自動(dòng)抄表系統(tǒng)及其通信方式[J].軍事通信技術(shù),2002,8(9):28-31.
[6] 劉樂(lè)善.微型計(jì)算機(jī)接口技術(shù)與應(yīng)用[M].武漢:華中科技大學(xué)出版社,1999.