高平, 吉福龙, 王佳环, 那丽丹
(国网思极神往位置服务(北京)有限公司,北京 100031)
智能电网的大范围实际应用,使得在大城市完成了住户电网数据的自动采集的基础上,对交通不畅的区域电力供应有更高精度的采集传输和对应的费控管理规划[1]。现在远程抄表通信形式包括光纤、电力载波以及GPRS /CDMA无线这三种方式[2、3]。在我国西南、西北某些位置的牧场和山林,不适合在此构建造价高的通信线路。 而无线网络也存在着范围太大通信质量太差的情况难以实施。此外人工抄表也有悖智能化、自动化电力网络的建设初衷。因此研究偏僻位置的电网数据自动化采集有其现实意义。有研究者已初步摸索到解决问题的方向,相应的成果也陆续产出。这之中基于北斗高精度的电网数据采集有一定的可行性。北斗是集定位、授时、通信为一体的,安全性高的同时覆盖范围大,且能够双向传输的卫星导航系统[4]。文献[5]通过北斗通信完成了电网数据的传递工作,缺点在于未设置补包功能,这导致了丢包后的采集达标率不高。文献[6]依据北斗完成主站与集中器之间的电网数据传递,不足之处在于没有考虑链路本身的不稳定性带来的丢包情况。文献[7]构造了基于北斗通信的智能电表,缺点在于其实施难度相较于集中器端安装相应装备较大。文献[8]制作了基于北斗/GPRS电能计量终端,但大批量的改动主站会增大系统运维的花费。为解决上述问题,本文构造了基于北斗高精度的电网数据采集系统。即将有采集和传输功能的嵌入式放置在主站侧和集中器侧。如此保留电力企业已运营实施设备以及原有系统,电网数据也能通过北斗系统通信链路实现透明传输。同时配合补包操作以及超时控制策略维持电网数据采集达标率和系统整体运行效率。
基于北斗通信的电网数据采集系统的采集步骤内,主站负责查找集中器指令,其传递回Q/GDW 376.1-2009标准的数据格式[9]。上述电表数据经过封装之后在北斗通信链路中传输,再对电表数据包进行“将大变小”的策略,防止北斗通信单一次数的报文长度超过限定值。构造差错控制以及超时控制机制以维持北斗通信稳定性和传输的准确率。
基于北斗通信的电网数据采集系统涉及到以下功能模块,北斗模块、主站、电网数据采集终端、数据采集与传输设备,如图1所示。
其中图1虚线框组成了北斗通信基础上的透明数据传递通道。主站包括服务器和其他功能性设备,其任务是一方面向集中器发送查询命令,另一方面响应集中器,对相应的电网数据进行接收、处理以及存储。电网数据采集终端包括智能电表、采集器和集中器,用于采集并汇聚多户居民电网数据[10]。数据采集与传输设备一般被定义为广泛意义上的前端,其任务为将集中器返回的电网数据拆包,同时经相应协议打包处理的内容借助于北斗模块传递。数据采集与传输设备一般被定义为后端,功能为数据解析以及组包,最后将在北斗通信链路传送的发送到主站。
需要保持和国家电网通信链路规范一致,据此本文构造的基于北斗通信的电网数据采集系统可以选择两种模式来完成整个通信链路内数据的传递以及相关的解析、压缩、发送/接收处理等。这两种形式具体为自动采集以及受控采集。前者是由集中器依据主站采集的实际情况设置时间间隔,通过自动的形式借助于RS-232串口将电网数据上传至数据采集与传输设备,由后者完成对电网数据的存储、处理并传输至主站。特别指出处在受控采集方式时,后者在采集数据不成功时的处理是,主站为维持数据不丢失会以自动/人工形式,为集中器传递读取用电信息指令,进而进行补采电网数据的操作。
在基于北斗通信的电网数据采集系统中,数据采集与传输设备承担着电网数据拆包/组包,同时维持着对北斗协议打包和解析等步骤。本文构建了以STM32F103微处理器为基础的上述部件,单片机最小系统涉及STM32F103微处理器部分、晶体振荡部分以及复位功能部分。具体各模块参数由表1所示。
据此硬件规划主要包括单片机最小系统、串口通信模块、SD卡、下载管理模块、电源电路等,如图2所示。
北斗通信每一次传递报文长度存在着限度值,据此为保证借助于北斗模块进行数据传输时应优先保证其数据传递的准确性。涉及到的数据拆/组包情况为,在发送端完成数据包的“将大变小”拆分,同时构建拆分后各自包头。同样的,接收端执行相反的操作,即将去掉各分开的数据包的包头,将之依序组合以得到最先开始的数据。如果出现未发送完毕的情况,则各小包的整合过程不能进行,需让若接收端发送补包的指令给发送端。补包操作没有执行,则重复尝试一定次数,直到能够补上缺失数据,否则拒绝此次传输,继续下次电网数据采集工作。本文中的北斗模块SIM卡限制每一次传送的报文长度在78.5 Byte以内,拆包接着会新加包头,这需要一定的存储空间。据此前端向集中器报送多于70 Byte数据包,将之进行拆包操作。北斗通信链路的不稳定容易造成丢包以及乱序状况。维持拆包后各个子包能在对端组包且恢复原状的情况,有必要在分散的固定值为70 Byte的子包前段放置4 Byte。依照北斗用户机接口协议v2.1子包完成封装,其帧格式如表2所示。
图2 硬件结构框图
$TXSQ为通信申请,依照此项决定发/收信方地址。相应的接收端,后端收取到北斗链路发来数据,最初依据帧格式提取子包,分析包头信息(SEQ+Num+Rank+Len)完成组包这一步骤,同时找出丢包,执行补包动作,完毕后整个电网数据上报给主站。
表2 带有电网数据的北斗通信帧格式
集中器侧有大量待传送信息时,借助于北斗通信链路会形成传递时间较慢的情形,有必要在拆包前增加压缩这一步骤。由于系统要求在接收端解压缩后的数据必须具有完整性,因此借助于对数据包内重复出现的内容无损压缩的LZ77算法[11]。压缩进行时,数据依序通过预置区、滑动窗口。后通过的缓存区内的数据是构造字典索引凭证,前后两区域的数据比对,根据有无匹配字符串决定字典索引是原字符还是偏移量、长度、首字符的组合。根据上述区域长度的调整改变压缩程度。这一算法解压缩过程需要运用滑动窗口数据缓存区,匹配规律是,单个字符立即读入,字符串依照偏移量、长度以及首字符等信息还原。
本系统现场使用DJGZ33-WFET1600集中器,其放置在偏僻地区变压器上,前端有用户电表。所设计前端设备置于变压器上的户外机箱,其串口与北斗模块、集中器均互连,在主站端,北斗模块、后端设备置于电力公司顶层接于北斗模块以及主站。
4.2.1 受控模式结果
主站最初对集中器设置参数,通过设置串口号、波特率等内容,选择主站测试软件内的读取项,上述指令借助于北斗通信链路传输至现场集中器。两3分钟后,集中器收到“68 32 00 32 00 68 98 01 65 80 7F 14 00 66 00 00 02 00 7916”,主站软件判断集中器地址65017F80。主站向集中器召测请求1类以及请求2类,6号测量点“当前正向有功电能示值(总费率1~M)”情况,如图3所示。
具体为正向有功总电能示值为0.29 kW·h,费率2、费率3的正向有功总电能示值分别是0.1 kW·h以及0.18 kW·h,剩下费率相应值为0。上述验证内容和人工观察的情形相同,证实本系统状态运行效果。
4.2.2 自动模式结果
集中器调整为主动上报模式,完成相应系统测试。据LZ77压缩算法,调整滑动窗口、预置区大小为128 Byte、32 Byte。表2示出集中器内置的数个测量点有关正向有功电能示值。
图3 主站召测集中器的返回结果
表2中总、费率1~M且表现为日冻结效果。当主动上报10个测量点时,压缩使得数据量前后变化由540 Byte到265 Byte,对应压缩率是49%;测量点为60 个时,压缩将数据从3 240 Byte到810 Byte,对应压缩率为25%。通过上述操作,数据传输效率大幅提升。当上报数目为60时,假设未进行压缩操作,以每一次65 s/次的频率计算,要51 min才能结束3 240 Byte传递。经过压缩处理后15 min结束传递,大大提升了电网数据采集效率。如此无过量的数据,拆包后的子包变少,补包操作也可顺利进行。
表2 压缩算法有效性测试
受控模式设置了5组数据类型有区别的实验,重复60次得出对应达标率,如表3所示。
表3 系统采集成功率
未采用补包操作,电网数据采集达标率在91.67%和93.94%之间,均值为92.98%。由于本实验场地处在高纬度、群山环绕的环境导致北斗信号质量下降。补包之后,电网数据采集达标率为100%,说明在北斗通信补包措施有利于遏制丢包造成的达标率不高。自动模式下完成1组,日冻结总费率1~M,集中器上报60个测量点正向有功电能示值。集中器上报90次电网数据,在未补包电网数据采集达标率是0。北斗通信传输较多数据,存在子包缺失以及无法组包,电网数据采集失败。在采用了补包操作的情况下,接收端完成89次无遗漏的收取,采集成功率达到了98.9%,证明补包操作有效性。
本文研究未连入互联网的交通不畅的位置的用电信息采集,完成了基于北斗通信的电网数据采集系统,构造了支撑自动化的数据采集与传输设备。其中电表侧和主站侧分别执行集中器上报数据拆包、北斗通信协议封装和传输,解析子包、组包将得到的原始数据发送至主站。组包过程中的补包操作可以保证电网数据采集达标率。数据量较多抄表任务借助于压缩算法,避免过长传输时间。测试结果显示所构造系统采集达标率高,适用于偏僻山区位置。之后着眼于北斗通信指挥机的应用,致力于实现多集中器并发数据采集与传输。