摘 要: 介紹了一種基于GPRS自動抄表系統(tǒng)的解決方案,詳細(xì)闡述了系統(tǒng)組成的層次結(jié)構(gòu)、模塊設(shè)計和實現(xiàn)方法,并對系統(tǒng)實現(xiàn)的功能進(jìn)行了闡述。該方案實現(xiàn)了實時抄表、定時抄表、電費(fèi)管理和檔案管理等功能,與傳統(tǒng)的抄表技術(shù)相比,極大地提高了效率。
關(guān)鍵詞: GPRS;網(wǎng)絡(luò);自動抄表;模塊設(shè)計;電費(fèi)管理
隨著計算機(jī)技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,電力部門的自動抄表技術(shù)也經(jīng)歷了從無線傳感網(wǎng)、電力載波抄表、基于GSM網(wǎng)絡(luò)的抄表技術(shù)[1],發(fā)展到現(xiàn)今的基于GPRS網(wǎng)絡(luò)的遠(yuǎn)程抄表技術(shù),使抄表技術(shù)越來越趨于智能化和自動化。
1 系統(tǒng)概述
GPRS是在GSM基礎(chǔ)上發(fā)展起來的一種分組交換的數(shù)據(jù)承載和傳輸方式,與GSM自動抄表技術(shù)相比,GPRS在數(shù)據(jù)業(yè)務(wù)的承載和支持上更具有先進(jìn)性和實用性[2]。
(1)資源利用率高。GPRS引入了分組交換的傳輸模式,使得采用電路交換模式的GSM傳輸數(shù)據(jù)方式發(fā)生了根本性的變化,GPRS可以更有效地利用無線網(wǎng)絡(luò)信道資源,特別適合突發(fā)性、頻繁的小流量數(shù)據(jù)傳輸。
(2)傳輸速率高。相對于GSM的9.6 kb/s的訪問速度而言,GPRS擁有171.2 kb/s的訪問速度,GSM需要10 s~30 s的連接時間,而GPRS只需要3 s~4 s就可以訪問到相關(guān)請求。
(3)費(fèi)用低。GSM按連接時間計費(fèi),而GPRS按照數(shù)據(jù)流量計費(fèi)。
(4)全面支持IP協(xié)議和X.25協(xié)議。GPRS支持因特網(wǎng)上應(yīng)用最廣泛的IP協(xié)議和X.25協(xié)議。
1.1 GPRS遠(yuǎn)程自動抄表系統(tǒng)的組成
GPRS遠(yuǎn)程自動抄表系統(tǒng)由客服、GPRS模塊、抄表終端、EDA9060模塊和電表組成。采集終端實時采集用戶的用電數(shù)據(jù),通過GPRS將數(shù)據(jù)匯集到服務(wù)器[3]。
(1)客服:運(yùn)行集中抄表系統(tǒng),由無線Medom通過GPRS網(wǎng)絡(luò)與抄表終端相連,客服要配置一個固定的IP地址與互聯(lián)網(wǎng)出口。
(2)抄表終端:收集電表數(shù)據(jù)并傳送到數(shù)據(jù)中心,連接客服與電表。
(3)電表:計量并顯示用戶的用電情況,將用電信息傳輸?shù)紾PRS采集器。
(4)EDA9060模塊:能通過RS-485接口接收主計算機(jī)、主控制器等的數(shù)字量輸入,轉(zhuǎn)換成繼電器觸點(diǎn)輸出信號,可控制交流接觸器、開關(guān)等,并將開關(guān)狀態(tài)等開關(guān)量輸入信號返回到計算機(jī)。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1.2 系統(tǒng)層次結(jié)構(gòu)設(shè)計
系統(tǒng)的層次結(jié)構(gòu)由數(shù)據(jù)采集控制層、網(wǎng)絡(luò)傳輸層、數(shù)據(jù)處理層和用戶數(shù)據(jù)層四部分組成。
(1)數(shù)據(jù)采集控制層:位于客戶的設(shè)備現(xiàn)場,由遠(yuǎn)程測控模塊負(fù)責(zé)完成對變電所內(nèi)所有數(shù)據(jù)采集及各種開關(guān)的分、合監(jiān)測與控制。
(2)網(wǎng)絡(luò)傳輸層:負(fù)責(zé)采集控制層數(shù)據(jù),無差錯地傳輸?shù)綌?shù)據(jù)處理層。網(wǎng)絡(luò)拓?fù)浞绞娇筛鶕?jù)現(xiàn)場選定,包括星型結(jié)構(gòu)、總線型結(jié)構(gòu)和混合型結(jié)構(gòu)。
(3)數(shù)據(jù)處理層:負(fù)責(zé)數(shù)據(jù)的采集、處理、備份操作,同時將客戶監(jiān)控操作轉(zhuǎn)化為設(shè)備控制命令。
(4)用戶數(shù)據(jù)層:將數(shù)據(jù)處理層分析數(shù)據(jù)以友好的方式呈現(xiàn)給客戶,接受客戶對系統(tǒng)的控制操作。
2 系統(tǒng)功能模塊設(shè)計
本系統(tǒng)運(yùn)用模塊化的編程思想,模塊化編程易于程序功能的擴(kuò)展。系統(tǒng)功能分為若干個模塊,每個模塊完成一個子功能,模塊之間盡量做到高內(nèi)聚、低耦合[4]。
2.1 數(shù)據(jù)采集流程圖
本系統(tǒng)采用結(jié)構(gòu)化程序設(shè)計方法,利用VB程序設(shè)計語言,提高了代碼重復(fù)利用率,同時也便于調(diào)試排錯。結(jié)構(gòu)化程序設(shè)計是DIJIKSTRA E W在1965年提出的,它的主要觀點(diǎn)是采用自頂向下、逐步求精的程序設(shè)計方法,使用三種基本控制結(jié)構(gòu)來構(gòu)造程序,任何程序都可由順序、選擇、重復(fù)三種基本控制結(jié)構(gòu)構(gòu)造。VB是一種基于對象的程序設(shè)計語言,具有結(jié)構(gòu)化程序設(shè)計的三種結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。無線抄表系統(tǒng)數(shù)據(jù)采集流程圖如圖2所示。
2.2 系統(tǒng)主要過程設(shè)計
利用函數(shù)過程來組織程序?qū)崿F(xiàn)模塊化,函數(shù)由函數(shù)返回值、函數(shù)名或形參表以及函數(shù)定義組成[5]。主要函數(shù)如下:
Public Function ZhFDataDeal(Longer As Long, ArrZhF()
As Byte, Type_TF As String, CJZDAddr_TF As Integer,
DbAddr_TF As String, Parameter1 As Variant,
Parameter2 As Variant) As Boolean
Public Function ReadDataH(Addr As Integer,
SelectHour As Integer, IDnum As String) As Boolean
Public Sub SaveData(AddrTemp As Integer,
HourSave As Integer)
Public Sub SendDataGPRS(DtuId As String, ByeData()
As Byte, WaitTime As Single, GprsReturn As Integer)
Public Function Authority(QXusercode As String,
QXcode As String) As Boolean
Public Sub SaveDbRunTemp(dbAddrTemp As String,
DBPDName As String, SLName As String)
2.3 系統(tǒng)關(guān)鍵變量設(shè)計
VB應(yīng)用程序由若干函數(shù)過程組成,變量在過程中是必不可少的,作為系統(tǒng)的核心組成,本系統(tǒng)在編程中定義了關(guān)鍵變量[6],主要程序代碼如下:
"建立GPRS連接
Public ConnectState As Boolean "連接狀態(tài)
Public Pos As Integer "端口索引個數(shù)
Public myLocalIP As String "暫存服務(wù)器的IP
Public GPRSLong As Long "GPRS返回的數(shù)據(jù)長度
Public Arr() As Byte "GPRS返回的數(shù)據(jù)存放的數(shù)組
Public PlngTCPLocalPort As Long "TCPServer監(jiān)聽的端口
Public strDeleTCPClient As String "要刪除的客戶端,
用myApartClient分隔
"初始化采集信息
Public Type CJZDconfig "采集終端結(jié)構(gòu)
Addr As Integer "采集終端地址
Name As String "采集終端配電名稱
Num As Integer "下掛電表個數(shù)
IPID As String "通信用IP或ID
CommunicateState As Boolean "通信成功標(biāo)志
End Type
"進(jìn)行數(shù)據(jù)庫連接,獲取本地或已連接的一個資源的網(wǎng)絡(luò)名稱
Declare Function WNetGetConnection Lib "mpr.dll" Alias "
WNetGetConnectionA" (ByVal lpszLocalName As String, ByVal
lpszRemoteName As String, cbRemoteName As Long) As Long
Public ConWuCheng As Connection "連接數(shù)據(jù)庫
Public UserCode As String "編號
Public PassWord As String "密碼
Public DatabaseName As String "數(shù)據(jù)庫名稱
"數(shù)據(jù)處理部分,定義轉(zhuǎn)發(fā)命令的返回數(shù)據(jù)的分配情況
Public Type DataCmdTransfer
Time_Read As String "讀電表時間
Date_Read As String "讀電表日期
DBState_Read As Byte "讀電表運(yùn)行狀態(tài)
DWState_Read As Byte "讀電網(wǎng)狀態(tài)字
ZXYG_Read As Double "讀正向有功總電能
ZXWG_Read As Double "讀正向無功總電能
P_Read As Double "總有功功率
Q_Read As Double "總無功功率
Data9060_Control As Byte "讀9060控制回讀
Data9060_State As Byte "讀9060輸入量
Data9060_Write As Boolean "寫9060成功
End Type
"操作權(quán)限
Public Auth As Boolean "是否有權(quán)限
3 系統(tǒng)功能的實現(xiàn)
GPRS自動抄表系統(tǒng)的核心部分是系統(tǒng)軟件,它遵循DL/T645部標(biāo)通信規(guī)約,并有擴(kuò)展性[7]。抄表軟件系統(tǒng)數(shù)據(jù)庫為SQL Server2000,運(yùn)行于Windows2000/XP、2003等操作系統(tǒng),易于使用。系統(tǒng)能夠?qū)崿F(xiàn)整點(diǎn)數(shù)據(jù)自動采集(采集電能值)、自動定時數(shù)據(jù)采集(采集電表運(yùn)行參數(shù)和電網(wǎng)狀態(tài))和手動抄表功能(手動采集電表的所有數(shù)據(jù)項),并能實現(xiàn)數(shù)據(jù)統(tǒng)計及歷史數(shù)據(jù)查詢功能。點(diǎn)擊桌面上的“撥號連接”,待任務(wù)欄中的通知區(qū)域顯示“撥號網(wǎng)絡(luò)現(xiàn)已連接”時,再進(jìn)入程序,啟動程序后顯示系統(tǒng)運(yùn)行主界面如圖3所示。
系統(tǒng)在自動抄表時采集電表的電能值、電表運(yùn)行參數(shù)和電網(wǎng)狀態(tài)值。在采集過程中首先通過給采集終端發(fā)送一個讀配置命令來驗證是否在線,如果采集終端收到了這個讀配置命令,則不進(jìn)行任何操作,否則對GPRS模塊進(jìn)行復(fù)位操作。系統(tǒng)將一天分成24次進(jìn)行采集(每小時采集一次),便于進(jìn)行查詢與分析。系統(tǒng)在每個整點(diǎn)的15 min時發(fā)送讀配置命令, 22 min時發(fā)送廣播校時命令, 30 min時發(fā)送采集電表運(yùn)行參數(shù)和電網(wǎng)狀態(tài)命令,45 min時發(fā)送采集電能命令。采集終端在整點(diǎn)時自動采集電表的電能值,并將數(shù)據(jù)進(jìn)行存儲,方便用戶對歷史數(shù)據(jù)的查詢和對照。
本系統(tǒng)通過數(shù)據(jù)采集終端對不同電表及電量計量設(shè)備進(jìn)行各種電參數(shù)的采集,并通過GPRS通信方式將數(shù)據(jù)傳輸?shù)讲杉?wù)器的數(shù)據(jù)中心。數(shù)據(jù)中心處理所有數(shù)據(jù),并可形成各種報表打印,方便查看電表的運(yùn)行情況及電能值,實現(xiàn)了實時抄表、定時抄表、電費(fèi)管理和檔案管理等功能,提高了工作效率,降低了企業(yè)運(yùn)行成本。
參考文獻(xiàn)
[1] 秦紅梅.基于CAN總線的電力集中抄表系統(tǒng)[J].現(xiàn)代電子技術(shù),2009,32(06):104-105.
[2] 羅詩風(fēng),顏永紅,周繼輝.基于GPRS的數(shù)控機(jī)床遠(yuǎn)程監(jiān)控系統(tǒng)[J].微計算機(jī)信息,2008,24(34):164-165.
[3] 趙建軍.基于計數(shù)、傳輸模塊的電力自動化抄表系統(tǒng)[J].電力自動化設(shè)備,2004,24(06):83-85.
[4] 戴佩榮.遠(yuǎn)程電能計量管理系統(tǒng)設(shè)計[D].哈爾濱:哈爾濱理工大學(xué),2007.
[5] 金湘力.全球定位系統(tǒng)在電力電站中的應(yīng)用[J].電力系統(tǒng)通信,2005,26(03):56.
[6] 張愷,李祥珍,張晶,等.自動抄表系統(tǒng)應(yīng)用模式的探討[J]. 電網(wǎng)技術(shù),2008,25(05):42-43.
[7] 張亞強(qiáng).基于GPRS網(wǎng)絡(luò)的無線數(shù)據(jù)通信系統(tǒng)的設(shè)計與實現(xiàn)[D].濟(jì)南:山東大學(xué),2006.