一种基于移动互联网的智能电表数据收集系统
2016-05-16张素莉佘向飞
张素莉,潘 欣,佘向飞
(长春工程学院计算机技术与工程学院,长春 130012)
一种基于移动互联网的智能电表数据收集系统
张素莉,潘欣,佘向飞
(长春工程学院计算机技术与工程学院,长春 130012)
摘要:生产企业的用电信息是构成电力大数据的重要组成部分,本文提出了一种基于移动互联网的企业用电信息数据收集系统;本系统通过GPRS网络连接智能电表,利用多组线程结构维护与智能电表的数据交互过程,进而实现数据的存储。实际运行表明本系统可以同时与多台电表保持可靠的连接并获得数据,利用本系统可以用较低的成本维护管理大量智能电表,收集企业的用电信息为电力大数据提供数据基础。
关键词:智能电表;移动网络;大数据;TCP/IP;通讯协议
0引言
随着工业的不断发展以及电力基础设施的建设,我国的供、用电体系正在发生巨大的变化[1];越来越多的用电负荷变化要求更加精确地监控企业的用电情况,进而提出合理的电量使用与节能策略[2]。收集用企业的用电信息是电力大数据的重要组成部分,促进电力大数据的应用,可以更好地服务节能减排、服务经济社会发展、服务资源节约型和环境友好型企业建设因此意义十分重大[3]。
使用智能电表可以较为便利地对用电设备的数据进行抄读并监控企业用电情况[4]。对从智能电表获取数据的研究,目前主要集中在利用数据传输芯片/嵌入式系统读取数据上[5-6]。虽然采用这种方式可以较快地传输数据,但是如果绝大多数中小企业没有设备和人力资源来专门维护数据收集设备与服务器,这就给大量收集用电信息带来了困难。
本文提出了一种基于移动互联网的企业用电实时数据收集系统(A smart meter data collection system based on mobile Internet, SMDCS)。本系统通过GPRS网络连接智能电表,利用多组线程结构维护与智能电表的数据交互过程,进而实现数据的存储。实际运行表明本系统可以同时稳定的与多台电表保持可靠的连接并获得数据,通过本系统可以利用移动通信网络同时收集多台智能电表的数据,但对智能电表的位置、传输线路没有严格要求,从而降低了收集智能电表数据所带来的维护和技术成本,利用本系统可以用较低的维护成本管理大量智能电表,收集企业的用电信息,为电力大数据提供数据基础,具有实际应用价值。
1一种基于移动互联网的用电实时数据智能收集系统
1.1系统总体结构
基于移动互联网的用电实时数据智能收集系统的总体结构如图1所示,智能电表连接在生产企业的用电设备线路上,实时对线路的用电情况进行记录;电表还通过GPRS移动网络连接服务器,服务器端的SMDCS系统利用GDW376.1《电力用户用电信息采集系统通信协议:主站与采集终端通信协议》与智能电表进行交互,服务器中包含以下内容:
1)电表数据交互Service:每一个电表专门建立一个Service为其服务,其中包含数据接收线程和数据发送线程;数据接收线程根据协议接收智能电表数据发送的报文,解析报文并存储到数据库之中;数据发送线程可根据协议向智能电表发送控制命令,控制电表的数据上报和运行方式;运行任务脚本,接收控制命令按照用户需求发送控制数据报。
2)系统监视线程:负责监视各个数据发送/接收线程的状态,停止不活动的Service并回收其所占用的资源。
图1系统的总体结构
3)主服务线程:接收TCP/IP连接,并启动相关Service。
通过以上3种对象SMDCS系统实现与智能电表的交互,实现用电实时数据的收集。系统收集到的数据存储在数据库之中,展示和操作界面一方面将收集到的数据以图表化进行展示,另一方面可以接收用户的操作命令进而控制SMDCS系统发送控制数据报,来对电表的行为进行管理。
1.2线程启动顺序和状态变化
1.2.1主服务线程处理流程
利用SMDCS系统启动Service网络服务之后系统可以与智能电表交互,系统得首先启动主服务线程和系统监视线程。主服务线程的启动和运行的流程如下:
主服务线程处理流程(IPAddress, Port)
Begin
1: socket=建立并绑定面向连接的TCP/IP协议socket套接字。
2:while(true){ 循环执行线程内容
3:mySocket=socket.Accept(); 阻断式等待TCP/IP连接
4:service=new service(); 新建一个网络服务
5:service.AcceptT=new 数据接收线程(myScoket);对于此连接建立数据收/发线程
6:service.SendT=new 数据发送线程(myScoket);
7:serviceList= serviceList∪service; 加入服务列表之中
End
主线程启动之后,开始阻断式的监听网络当有TCP/IP连接接入的时候建立网络服务对象service,启动接收和发送线程,并将service加入服务列表之中。service根据的状态如图2所示。
图2网络服务对象的状态变化
1.2.2电表登录处理算法
在接到智能电表的连接之后,网络服务对象处于准备状态,在该状态仅能接收数据不能发送数据;当接到电表的登录数据报之后,网络服务对象执行以下登录:
Begin (数据报, service, serviceList)
1.Address[]=数据报.Address[]; 获得数据报的地址信息
2.ID=根据Address[] 中的地址获得数据库中电表ID
3.If( ID==-1) Then
4.将Service至于停止状态
6.Else
7.if serviceList中已有一个s其s.ID==ID then
8.将 s 至于停止状态,将同ID的服务停止
9.End if
10.service.ID=ID,将service置于活动状态
11.service.Script=LoadScript(ID)加载对应ID的脚本
End
在网络服务处于活动状态之后,系统可以与智能电表进行数据报的交互;每次收/发数据均会重新将service置于活动状态,当service长时间不收/发数据会转变为空闲状态,当service长时间处于空闲状态将转变为停止状态;处于停止状态的service不能收发数据并将被系统回收。系统监视线程负责监视serviceList中所有的服务状态,它每隔一定的时间T遍历整个serviceList对每个服务service做以下工作:1)如果service处于停止状态,回收其所占用资源并清除出serviceList。2)将所有活动状态service置为空闲状态。3)将空闲状态service置为停止状态。4)将运行中出现错误的service置为停止状态。
通过主服务线程、数据收/发线程、系统监视线程SMDCS可以同时连接和管理多组智能电表。
1.3规约的解析
数据接收和发送线程的工作就是构造或者解析智能电表发出的数据报,解析数据报程序的类结构如图3所示。
图3 数据报解析程序的结构
SMDCS主要包含以下内容来进行数据报的处理:
1)ByteBlock类是一种可以自包含的类,包括BCD码到二进制编码转换、数据位操作、字节数组和内部数据的转换、数据序列化等数据基础操作。
2)如图3所示GDW376.1的报文是由多组字节构成的模块组成的,每一个ByteBlock对应于报文中的一个功能模块;通过ByteBlockList组合多个ByteBlock实现报文的表达。报文中各个功能区均有特殊的要求或数据,如固定位置必须是68H、地址信息必须包含3个字段,这些特殊要求均由ByteBlock的子类Head、LengthL、Conrtol、Address、Tail、LinkData和CheckSum来表达,ByteBlockList利用类的多态性来容纳各个功能区的数据。
3)数据接收线程利用ReceiveMessageParser将智能电表传输的数据流转换为ByteBlockList供系统使用,而数据发送进程通过SendMessageCreater构造特定需要的命令并转换为字节数组传输给智能电表。
通过规约解析,SMDCS系统可以将智能电表上报的数据内容读取出来,并根据内容插入数据库之中。
2实现与系统运行
SMDCS系统通过C#实现,后台数据库采用SQL Server。该系统可以连接生产企业的智能电表并进行数据交互,其后台服务程序运行界面如图4所示。
图4 系统运行 如图4所示系统同时连接7台智能电表,通过发送控制命令获取电表中所记录的数据内容,这些数据内容存储在SQL Server数据库之中,可以为监控电能使用情况提供数据支持。
3结语
通过本系统可以利用移动通信网络同时收集多台智能电表的数据,智能电表只要具备GPRS网络、支持用电信息采集系统通信协议就可以将数据上传至服务器;该方式对于智能电表的位置、传输线路没有严格要求,因此极大地降低了维护管理成本,使得广大中小企业也可应用智能电表收集数据,为电力大数据提供数据基础,因此本系统具备较好的应用前景。
参考文献
[1] 陈朋朋,郭忠文,潘洪华,等. 电力监测软件系统核心构件设计与实现[J]. 计算机应用, 2008,28:366-368.
[2] 韩绍甫,杜树新.电能质量监测系统设计与实现[J].电子自动化设备, 2006, 26(4): 80-83.
[3] 闫龙川,李雅西,李斌臣,等.电力大数据面临的机遇与挑战[J].2013,11(4):1672-4844.
[4] 曾乃鸿.电子式电能表发展现状和展望[J]. 华东电力,2001(9) : 1-4.
[5] 王忠文, 刘志芳.智能电表集群的数据处理算法与应用研究[J].信息通信,2013(6):207-208.
[6] 曹时伟, 朱青, 刘宏立.智能电表的数据抄读新方法[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)
主要研究数据挖掘,人工智能。