張素莉,潘 欣,佘向飛
(長春工程學院計算機技術與工程學院,長春 130012)
?
一種基于移動互聯(lián)網(wǎng)的智能電表數(shù)據(jù)收集系統(tǒng)
張素莉,潘欣,佘向飛
(長春工程學院計算機技術與工程學院,長春 130012)
摘要:生產(chǎn)企業(yè)的用電信息是構成電力大數(shù)據(jù)的重要組成部分,本文提出了一種基于移動互聯(lián)網(wǎng)的企業(yè)用電信息數(shù)據(jù)收集系統(tǒng);本系統(tǒng)通過GPRS網(wǎng)絡連接智能電表,利用多組線程結構維護與智能電表的數(shù)據(jù)交互過程,進而實現(xiàn)數(shù)據(jù)的存儲。實際運行表明本系統(tǒng)可以同時與多臺電表保持可靠的連接并獲得數(shù)據(jù),利用本系統(tǒng)可以用較低的成本維護管理大量智能電表,收集企業(yè)的用電信息為電力大數(shù)據(jù)提供數(shù)據(jù)基礎。
關鍵詞:智能電表;移動網(wǎng)絡;大數(shù)據(jù);TCP/IP;通訊協(xié)議
0引言
隨著工業(yè)的不斷發(fā)展以及電力基礎設施的建設,我國的供、用電體系正在發(fā)生巨大的變化[1];越來越多的用電負荷變化要求更加精確地監(jiān)控企業(yè)的用電情況,進而提出合理的電量使用與節(jié)能策略[2]。收集用企業(yè)的用電信息是電力大數(shù)據(jù)的重要組成部分,促進電力大數(shù)據(jù)的應用,可以更好地服務節(jié)能減排、服務經(jīng)濟社會發(fā)展、服務資源節(jié)約型和環(huán)境友好型企業(yè)建設因此意義十分重大[3]。
使用智能電表可以較為便利地對用電設備的數(shù)據(jù)進行抄讀并監(jiān)控企業(yè)用電情況[4]。對從智能電表獲取數(shù)據(jù)的研究,目前主要集中在利用數(shù)據(jù)傳輸芯片/嵌入式系統(tǒng)讀取數(shù)據(jù)上[5-6]。雖然采用這種方式可以較快地傳輸數(shù)據(jù),但是如果絕大多數(shù)中小企業(yè)沒有設備和人力資源來專門維護數(shù)據(jù)收集設備與服務器,這就給大量收集用電信息帶來了困難。
本文提出了一種基于移動互聯(lián)網(wǎng)的企業(yè)用電實時數(shù)據(jù)收集系統(tǒng)(A smart meter data collection system based on mobile Internet, SMDCS)。本系統(tǒng)通過GPRS網(wǎng)絡連接智能電表,利用多組線程結構維護與智能電表的數(shù)據(jù)交互過程,進而實現(xiàn)數(shù)據(jù)的存儲。實際運行表明本系統(tǒng)可以同時穩(wěn)定的與多臺電表保持可靠的連接并獲得數(shù)據(jù),通過本系統(tǒng)可以利用移動通信網(wǎng)絡同時收集多臺智能電表的數(shù)據(jù),但對智能電表的位置、傳輸線路沒有嚴格要求,從而降低了收集智能電表數(shù)據(jù)所帶來的維護和技術成本,利用本系統(tǒng)可以用較低的維護成本管理大量智能電表,收集企業(yè)的用電信息,為電力大數(shù)據(jù)提供數(shù)據(jù)基礎,具有實際應用價值。
1一種基于移動互聯(lián)網(wǎng)的用電實時數(shù)據(jù)智能收集系統(tǒng)
1.1系統(tǒng)總體結構
基于移動互聯(lián)網(wǎng)的用電實時數(shù)據(jù)智能收集系統(tǒng)的總體結構如圖1所示,智能電表連接在生產(chǎn)企業(yè)的用電設備線路上,實時對線路的用電情況進行記錄;電表還通過GPRS移動網(wǎng)絡連接服務器,服務器端的SMDCS系統(tǒng)利用GDW376.1《電力用戶用電信息采集系統(tǒng)通信協(xié)議:主站與采集終端通信協(xié)議》與智能電表進行交互,服務器中包含以下內(nèi)容:
1)電表數(shù)據(jù)交互Service:每一個電表專門建立一個Service為其服務,其中包含數(shù)據(jù)接收線程和數(shù)據(jù)發(fā)送線程;數(shù)據(jù)接收線程根據(jù)協(xié)議接收智能電表數(shù)據(jù)發(fā)送的報文,解析報文并存儲到數(shù)據(jù)庫之中;數(shù)據(jù)發(fā)送線程可根據(jù)協(xié)議向智能電表發(fā)送控制命令,控制電表的數(shù)據(jù)上報和運行方式;運行任務腳本,接收控制命令按照用戶需求發(fā)送控制數(shù)據(jù)報。
2)系統(tǒng)監(jiān)視線程:負責監(jiān)視各個數(shù)據(jù)發(fā)送/接收線程的狀態(tài),停止不活動的Service并回收其所占用的資源。

圖1系統(tǒng)的總體結構
3)主服務線程:接收TCP/IP連接,并啟動相關Service。
通過以上3種對象SMDCS系統(tǒng)實現(xiàn)與智能電表的交互,實現(xiàn)用電實時數(shù)據(jù)的收集。系統(tǒng)收集到的數(shù)據(jù)存儲在數(shù)據(jù)庫之中,展示和操作界面一方面將收集到的數(shù)據(jù)以圖表化進行展示,另一方面可以接收用戶的操作命令進而控制SMDCS系統(tǒng)發(fā)送控制數(shù)據(jù)報,來對電表的行為進行管理。
1.2線程啟動順序和狀態(tài)變化
1.2.1主服務線程處理流程
利用SMDCS系統(tǒng)啟動Service網(wǎng)絡服務之后系統(tǒng)可以與智能電表交互,系統(tǒng)得首先啟動主服務線程和系統(tǒng)監(jiān)視線程。主服務線程的啟動和運行的流程如下:
主服務線程處理流程(IPAddress, Port)
Begin
1: socket=建立并綁定面向連接的TCP/IP協(xié)議socket套接字。
2:while(true){ 循環(huán)執(zhí)行線程內(nèi)容
3:mySocket=socket.Accept(); 阻斷式等待TCP/IP連接
4:service=new service(); 新建一個網(wǎng)絡服務
5:service.AcceptT=new 數(shù)據(jù)接收線程(myScoket);對于此連接建立數(shù)據(jù)收/發(fā)線程
6:service.SendT=new 數(shù)據(jù)發(fā)送線程(myScoket);
7:serviceList= serviceList∪service; 加入服務列表之中
End
主線程啟動之后,開始阻斷式的監(jiān)聽網(wǎng)絡當有TCP/IP連接接入的時候建立網(wǎng)絡服務對象service,啟動接收和發(fā)送線程,并將service加入服務列表之中。service根據(jù)的狀態(tài)如圖2所示。

圖2網(wǎng)絡服務對象的狀態(tài)變化
1.2.2電表登錄處理算法
在接到智能電表的連接之后,網(wǎng)絡服務對象處于準備狀態(tài),在該狀態(tài)僅能接收數(shù)據(jù)不能發(fā)送數(shù)據(jù);當接到電表的登錄數(shù)據(jù)報之后,網(wǎng)絡服務對象執(zhí)行以下登錄:
Begin (數(shù)據(jù)報, service, serviceList)
1.Address[]=數(shù)據(jù)報.Address[]; 獲得數(shù)據(jù)報的地址信息
2.ID=根據(jù)Address[] 中的地址獲得數(shù)據(jù)庫中電表ID
3.If( ID==-1) Then
4.將Service至于停止狀態(tài)
6.Else
7.if serviceList中已有一個s其s.ID==ID then
8.將 s 至于停止狀態(tài),將同ID的服務停止
9.End if
10.service.ID=ID,將service置于活動狀態(tài)
11.service.Script=LoadScript(ID)加載對應ID的腳本
End
在網(wǎng)絡服務處于活動狀態(tài)之后,系統(tǒng)可以與智能電表進行數(shù)據(jù)報的交互;每次收/發(fā)數(shù)據(jù)均會重新將service置于活動狀態(tài),當service長時間不收/發(fā)數(shù)據(jù)會轉變?yōu)榭臻e狀態(tài),當service長時間處于空閑狀態(tài)將轉變?yōu)橥V範顟B(tài);處于停止狀態(tài)的service不能收發(fā)數(shù)據(jù)并將被系統(tǒng)回收。系統(tǒng)監(jiān)視線程負責監(jiān)視serviceList中所有的服務狀態(tài),它每隔一定的時間T遍歷整個serviceList對每個服務service做以下工作:1)如果service處于停止狀態(tài),回收其所占用資源并清除出serviceList。2)將所有活動狀態(tài)service置為空閑狀態(tài)。3)將空閑狀態(tài)service置為停止狀態(tài)。4)將運行中出現(xiàn)錯誤的service置為停止狀態(tài)。
通過主服務線程、數(shù)據(jù)收/發(fā)線程、系統(tǒng)監(jiān)視線程SMDCS可以同時連接和管理多組智能電表。
1.3規(guī)約的解析
數(shù)據(jù)接收和發(fā)送線程的工作就是構造或者解析智能電表發(fā)出的數(shù)據(jù)報,解析數(shù)據(jù)報程序的類結構如圖3所示。

圖3 數(shù)據(jù)報解析程序的結構
SMDCS主要包含以下內(nèi)容來進行數(shù)據(jù)報的處理:
1)ByteBlock類是一種可以自包含的類,包括BCD碼到二進制編碼轉換、數(shù)據(jù)位操作、字節(jié)數(shù)組和內(nèi)部數(shù)據(jù)的轉換、數(shù)據(jù)序列化等數(shù)據(jù)基礎操作。
2)如圖3所示GDW376.1的報文是由多組字節(jié)構成的模塊組成的,每一個ByteBlock對應于報文中的一個功能模塊;通過ByteBlockList組合多個ByteBlock實現(xiàn)報文的表達。報文中各個功能區(qū)均有特殊的要求或數(shù)據(jù),如固定位置必須是68H、地址信息必須包含3個字段,這些特殊要求均由ByteBlock的子類Head、LengthL、Conrtol、Address、Tail、LinkData和CheckSum來表達,ByteBlockList利用類的多態(tài)性來容納各個功能區(qū)的數(shù)據(jù)。
3)數(shù)據(jù)接收線程利用ReceiveMessageParser將智能電表傳輸?shù)臄?shù)據(jù)流轉換為ByteBlockList供系統(tǒng)使用,而數(shù)據(jù)發(fā)送進程通過SendMessageCreater構造特定需要的命令并轉換為字節(jié)數(shù)組傳輸給智能電表。
通過規(guī)約解析,SMDCS系統(tǒng)可以將智能電表上報的數(shù)據(jù)內(nèi)容讀取出來,并根據(jù)內(nèi)容插入數(shù)據(jù)庫之中。
2實現(xiàn)與系統(tǒng)運行
SMDCS系統(tǒng)通過C#實現(xiàn),后臺數(shù)據(jù)庫采用SQL Server。該系統(tǒng)可以連接生產(chǎn)企業(yè)的智能電表并進行數(shù)據(jù)交互,其后臺服務程序運行界面如圖4所示。

圖4 系統(tǒng)運行 如圖4所示系統(tǒng)同時連接7臺智能電表,通過發(fā)送控制命令獲取電表中所記錄的數(shù)據(jù)內(nèi)容,這些數(shù)據(jù)內(nèi)容存儲在SQL Server數(shù)據(jù)庫之中,可以為監(jiān)控電能使用情況提供數(shù)據(jù)支持。
3結語
通過本系統(tǒng)可以利用移動通信網(wǎng)絡同時收集多臺智能電表的數(shù)據(jù),智能電表只要具備GPRS網(wǎng)絡、支持用電信息采集系統(tǒng)通信協(xié)議就可以將數(shù)據(jù)上傳至服務器;該方式對于智能電表的位置、傳輸線路沒有嚴格要求,因此極大地降低了維護管理成本,使得廣大中小企業(yè)也可應用智能電表收集數(shù)據(jù),為電力大數(shù)據(jù)提供數(shù)據(jù)基礎,因此本系統(tǒng)具備較好的應用前景。
參考文獻
[1] 陳朋朋,郭忠文,潘洪華,等. 電力監(jiān)測軟件系統(tǒng)核心構件設計與實現(xiàn)[J]. 計算機應用, 2008,28:366-368.
[2] 韓紹甫,杜樹新.電能質(zhì)量監(jiān)測系統(tǒng)設計與實現(xiàn)[J].電子自動化設備, 2006, 26(4): 80-83.
[3] 閆龍川,李雅西,李斌臣,等.電力大數(shù)據(jù)面臨的機遇與挑戰(zhàn)[J].2013,11(4):1672-4844.
[4] 曾乃鴻.電子式電能表發(fā)展現(xiàn)狀和展望[J]. 華東電力,2001(9) : 1-4.
[5] 王忠文, 劉志芳.智能電表集群的數(shù)據(jù)處理算法與應用研究[J].信息通信,2013(6):207-208.
[6] 曹時偉, 朱青, 劉宏立.智能電表的數(shù)據(jù)抄讀新方法[J].計算機應用, 2013, 33(5):1248-1250.
A Smart Meter Data Collection System Based on Mobile Internet
ZHANG Su-li, etc.
(SchoolofComputerTechnologyandEngineering,ChangchunInstituteofTechnology,Changchun130012,China)
Abstract:The electricity information of production enterprises is an important part of the power big data. This paper proposes a smart meter data collection system based on mobile internet (SMDCS). This system connects smart meters through GPRS, and store electricity information into database by using the maintain service of multiple threads structure and smart meters interaction. Actual running shows this system can stable keep connection with smart meters, at the same time obtain theirs data. Through this system lots of smart meters can be managed with low cost. The electricity information from factories can be collected to provide data base to power big data.
Key words:smart meter; mobile internet; big data; TCP/IP; communication protocol
文獻標志碼:A
文章編號:1009-8984(2016)01-0102-04
中圖分類號:TP393.09
作者簡介:張素莉(1974-),女(漢),吉林四平,博士,副教授
基金項目:吉林省教育廳項目(120120060)
收稿日期:2015-11-16
doi:10.3969/j.issn.1009-8984.2016.01.023
吉林省科技廳項目(20130101179JC-23)
主要研究數(shù)據(jù)挖掘,人工智能。