基于北斗通信SRP机制的电力计费信息远程传输系统的设计与实现
2018-01-09王立福詹禹曦
王 涛, 周 宜, 王立福, 詹禹曦, 夏 娜
(1.国网新疆电力公司 信息通信公司,新疆 乌鲁木齐 830002; 2.国网新疆电力公司 乌鲁木齐供电公司,新疆 乌鲁木齐 830002; 3.国网新疆电力公司 送变电有限公司,新疆 乌鲁木齐 830002; 4.合肥工业大学 计算机与信息学院,安徽 合肥 230009)
基于北斗通信SRP机制的电力计费信息远程传输系统的设计与实现
王 涛1, 周 宜2, 王立福3, 詹禹曦3, 夏 娜4
(1.国网新疆电力公司 信息通信公司,新疆 乌鲁木齐 830002; 2.国网新疆电力公司 乌鲁木齐供电公司,新疆 乌鲁木齐 830002; 3.国网新疆电力公司 送变电有限公司,新疆 乌鲁木齐 830002; 4.合肥工业大学 计算机与信息学院,安徽 合肥 230009)
针对在无公网覆盖的偏远地区,用电信息远程抄表这一历史性难题,文章研究了一种基于北斗短报文通信的电力远程抄表系统。研制的电表数据采集与传输设备,可以按多种工作模式抄取电力数据,并进行数据拆包(segmentation,S)和北斗协议封装处理,然后通过北斗短报文模块完成数据的远程传输;同时研制的主站端接收设备可以完成北斗短报文的接收、数据解析和组包(reassembly,R)处理,有效的补包(patching,P)操作保证了电力抄表的成功率。实际测试结果表明,该基于北斗通信SRP机制的电力计费信息远程传输系统的抄表成功率可达98.9%,可以作为偏远地区用电信息远程抄表的一种高效可靠的方案。
电力远程抄表;北斗短报文;STM32;拆包;组包;补包
随着我国智能电网自动化建设的推进,居民用电信息的远程抄表不仅在城镇区域实现了自动化,而且对偏远地区的用电采集也提出了“全覆盖、全采集、全费控”的要求[1]。
在现有的用电信息远程抄表系统中,计量居民用电信息的智能电表一般通过485通信线或电力载波线将用电信息上传到附近变压器下的集中器,然后以远程抄表方式,将集中器汇聚的多路居民用电信息上传到当地电力公司的用电信息采集主站。其中,远程抄表通信方式主要有光纤通信、电力载波通信和GPRS/CDMA无线通信[1-2]等,其性能比较见表1所列。
表1 远程抄表通信方式比较
在我国新疆、青海、贵州等省份,存在大量的山区和牧区,这使得居民用电信息远程抄表面临着有线通信链路建设成本高,无线公网信号尚未覆盖等问题,通常只能采用人工抄表的方式来进行,工作量大,且不利于电力自动化管理,因此急需研究一种针对偏远地区的有效的用电信息远程抄表技术和系统。
“北斗一号”卫星系统是我国自主研制的、全天候、亚洲区域的卫星导航定位系统,具有导航定位、授时、短报文通信三大功能[3]。其中,短报文通信是“北斗一号”卫星系统特有的功能,可实现点对点、多点对多点的双向数据传输,且具有覆盖范围大、通信无盲区、安全可靠等优点[3-4]。
本文设计并实现了一种基于北斗通信SRP机制的电力计费信息远程传输系统。研制的针对集中器的数据采集与传输设备,可以按多种工作模式采集电表数据,并进行数据拆包和北斗协议打包处理,然后通过北斗短报文模块将数据远程传输至主站,达到了较高的电力抄表成功率和有效性。
1 系统整体设计方案
利用“北斗一号”卫星系统的短报文通信功能来解决偏远地区电力抄表难题虽然理论可行,但是存在以下几个方面的限制:① 北斗短报文的通信报文长度受限,在我国民用领域,常用的北斗SIM卡单次通信的报文长度最大为78.5个字节;② 北斗短报文通信频度受限,一般情况下,民用通信间隔为60 s;③ 北斗通信链路具有一定的不可靠性,且北斗民用通信系统没有通信回执[5-6]。
与此同时,在电力远程抄表方面,电力公司的主站发给集中器的查询指令,以及集中器返回的数据格式必须遵循文献[7]协议。因此,基于北斗通信SRP机制的电力计费信息远程传输系统的研究包含以下4个方面的内容:
(1) 将符合文献[7]协议的电表数据,用北斗短报文通信协议进行封装,以实现用电信息在北斗通信链路中的传输。
(2) 设计针对“大的”电表数据包的拆包方案,以适应北斗短报文通信的单次报文长度限制。
(3) 设计确认重传、超时控制等机制,以提高北斗短报文通信的可靠性。
(4) 设计北斗短报文传输通道接入现有电力远程抄表系统的方案。
1.1 系统架构
针对偏远地区电力远程抄表的难题,设计并实现了一种基于北斗通信SRP机制的电力计费信息远程传输系统。该系统主要包括如下5个部分:用电信息采集终端、数据采集与传输设备(前端)、北斗短报文模块、数据采集与传输设备(后端)和用电信息采集主站,如图1所示。
用电信息采集终端包括智能电表、采集器和集中器,用于采集并汇聚多户居民的用电数据。
数据采集与传输设备(前端)主要负责对集中器输出的用电数据进行拆包,北斗协议打包,并推送给北斗短报文模块进行传输。
北斗短报文模块负责用电数据的双向传输。北斗短报文模块内安装北斗SIM卡,SIM卡号唯一作为通信地址;短报文经天线发出后,由卫星和地面中心站转发至收信方,实现点对点双向通信。
数据采集与传输设备(后端)主要负责对接收到的北斗短报文数据进行解析,用电数据组包,并推送给主站;同时,还要进行差错控制和超时控制,以保证用电信息传输的可靠性。
用电信息采集主站由服务器和营销软件构成,主要负责向集中器发出电力计费信息查询命令,并接收、处理和存储集中器返回的用电数据。
图1中的虚线框部分为本文研究的重点,它构成了一个基于北斗卫星通信的透明数据传输通道,当然该通道的数据传输速率是受限的。
图1 基于北斗通信SRP机制的电力计费信息远程传输系统
1.2 系统工作模式
集中器的数据上传模式主要有如下2种:① 通过配置集中器使其能够定时汇集并上传多户居民用电数据至主站;② 通过串口或无线通信向集中器发送读取居民用电信息的指令,集中器响应并返回相应的数据[8]。因此,本文设计的基于北斗通信SRP机制的电力计费信息远程传输系统支持如下2种工作模式。
(1) 自动采集模式。集中器按照主站采集任务设定的时间间隔,自动将用电数据通过RS232串口上传给数据采集与传输设备,后者完成对用电数据的存储、处理和传输至主站。
(2) 受控采集模式。主站以自动或人工方式向集中器发送读取居民用电信息的指令,对居民用电信息进行采集。
2 数据采集与传输设备硬件设计
基于北斗通信SRP机制的电力计费信息远程传输系统中的核心硬件设备为图1中所示的数据采集与传输设备,它负责用电数据的拆包/组包以及北斗协议打包和解析等操作。设计并实现了一款基于STM32F103微处理器的嵌入式数据采集与传输设备,其硬件结构框图如图2所示,主要包括单片机最小系统、串口通信模块、SD卡存储模块、下载管理模块、电源电路等。
单片机最小系统由STM32F103微处理器、晶体振荡电路和复位电路等组成。串口通信模块采用232电平通信方式,选用MAX3232电平转换芯片,其串口1用于与北斗短报文模块进行数据交互,波特率为19 200 b/s,数据位8位,无校验位;串口2用于与集中器或主站进行通信,波特率为9 600 b/s,数据位8位,偶检验。下载管理模块采用可在线调试的标准的JTAG仿真调试接口。电源模块采用外接5 V/1 A直流电源,并通过TLV1117芯片实现5 V转3.3 V,给单片机等各个模块供电。
图2 数据采集与传输设备硬件结构框图
SD卡存储模块是数据采集与传输设备的必要配置。因为集中器可能会将几十到数百只智能电表的用电数据一次性上传到数据采集与传输设备,数据量较大[9],与此同时北斗短报文通信的数据传输速率较低(78.5字节/min),所以需要将用电数据先存储到SD卡中,再由单片机陆续从SD卡中取出数据进行处理和传输。
3 用电数据采集与传输方案设计
由于北斗短报文通信的单次报文长度和频率受限,因此本文设计了一种数据采集与传输方案,即基于北斗通信的SRP机制,以保证用电数据可以在北斗通信链路中有效地、可靠地传输。
3.1 数据拆包与可靠通信方案
北斗短报文通信对单次传输的报文长度有一定的限制,当单次传输的数据量大于北斗短报文模块中SIM卡规定的最大报文长度时,会发生数据丢失现象。本文数据拆包与可靠通信方案的核心思想是:在发送端对大的数据包进行拆包(segmentation,S),并加相应的包头;在接收端对接收到的子包拆除包头,并进行数据合并,即组包(reassembly,R)恢复原来的数据。若接收端在可预计的时间内未能接收到全部子包(采用的北斗短报文模块的通信成功率为95%,这意味着若拆包形成了20个子包,它们传输到接收端,则通常会有1个子包丢失),不能完成组包,则接收端会请求发送端重新发送丢失的子包,称之为补包(patching,P)操作;若补包不成功,则重复补包操作,最多重复k次(经验值k=3);若仍不成功,则接收端放弃本次电力抄表任务(在1个子包丢失的情况下,k次补包不成功从而放弃任务的概率为0.05k,是一个极小概率事件),转而执行下一个电力抄表任务。上述补包操作和超时放弃机制保证了用电数据传输的可靠性和时效性。
本文采用的北斗SIM卡规定单次传输报文长度不超过78.5个字节,考虑到拆包后需要添加包头字节来标识子包,因此数据采集与传输设备(前端)对超过70个字节的数据包进行拆包处理,并在接收端对子包进行组包,恢复用电数据。
由于北斗通信链路的不确定性,因此会出现丢包和乱序的现象[10]。为确保拆包后的多个子包能够在接收端组包还原,本文在拆包后的每个数据包(70个字节)前添加4个字节,对该子包进行标识。其中,任务号(SEQ)占用1字节,接收端根据任务号是否相同对子包进行组包;拆包形成的子包总数(Num)占用1字节,用于判断是否所有的子包全部被接收;子包序号(Rank)占用1字节,用于子包排序,同时有助于定位出丢失的子包;数据包长(Len)占用1字节,用于指示该子包中数据包的长度,以便于接收端对数据的接收和重组。
此外,还需要将子包用北斗短报文通信协议进行封装,以实现用电信息在北斗通信链路中的传输。封装后的北斗短报文帧格式见表2所列。
表2 封装了用电数据的北斗短报文帧格式 bit
在接收端,数据采集与传输设备接收到北斗短报文之后,首先按照帧格式解析出子包,然后根据包头信息(SEQ,Num,Rank,Len)进行组包操作,并定位出可能的丢包,启动相应的补包操作。在组包完成后,将完整的用电数据推送给主站。
3.2 数据采集与传输设备(前端)软件设计流程
数据采集与传输设备(前端)通过串口2与集中器进行数据交互,通过串口1与北斗短报文模块进行通信。
当数据采集与传输设备(前端)从串口2收到集中器上报的用电数据包时,会以中断方式将数据包存入SD卡,并赋以编号(SEQ)。主程序执行以下操作:从SD卡中取出用电数据包,判断其数据量是否大于70个字节,若是,则对该数据包进行拆包,并加以相应的包头;否则对该数据包直接加以包头,其中Num值置为1,Rank值置为1,表示该数据包未经拆包。在添加了包头之后,再按照北斗短报文通信协议进行封装,从而实现用电数据在北斗通信链路中的传输。
3.3 数据采集与传输设备(后端)软件设计流程
数据采集与传输设备(后端)通过串口1与北斗短报文模块进行通信,通过串口2与主站进行数据交互。
当数据采集与传输设备(后端)从串口1收到北斗短报文模块传输的用电数据时,首先按照北斗短报文帧格式解析出子包,然后根据包头信息(SEQ,Num,Rank,Len)进行组包操作。若在可预计的时间(可预计的时间T=子包总数Num×北斗短报文传输时间间隔60 s×容限系数2.5)内未能接收到全部子包,不能完成组包操作,则可以定位出丢失的子包,然后以北斗短报文通信方式请求前端重新发送丢失的子包,进行补包操作;若补包不成功,则重复补包操作,最多重复k次;若仍不成功,则放弃本次电力抄表任务,转而执行下一个电力抄表任务。若组包操作可以完成,则将完整的用电数据推送给主站。
4 用电数据压缩方案设计
在自动采集模式或受控采集模式下,当集中器上传给数据采集与传输设备(前端)的数据量比较大时,例如,当集中器将几十到数百只电表的用电数据一次性上传到数据采集与传输设备时,数据量可达几kB至几十kB[9],采用北斗短报文通信进行数据传输将非常耗时,因此可采用先压缩后拆包传输的方案。
因为系统要求在接收端解压缩后的数据必须具有完整性,所以采用无损压缩方法,如哈夫曼编码、游程编码、LZ77算法等[11-12]。在电力抄表系统中,各类压缩方法的应用已有先例[11]。本文对多种压缩方法进行了分析和对比,考虑到本应用中数据通常存在大量重复字符的情况,选择了LZ77压缩算法。其核心思想是利用数据的重复结构信息来进行压缩[13]。这一过程要用到“预置区”与“滑动窗口”2个数据缓冲区。在压缩过程中,数据先进入“预置区”,后通过“滑动窗口”。“滑动窗口”中的数据作为建立字典索引的依据,“预置区”中的数据与“滑动窗口”中的数据做比较,若没有匹配字符串,字典索引为原字符;若存在匹配字符串,字典索引由偏移量、长度、首字符组成。“预置区”和“滑动窗口”长度的设置影响数据压缩的效果。LZ77 算法的解压缩过程需要运用“滑动窗口”数据缓存区,遵循的原则为:若遇到单个字符则直接读入;若遇到匹配字符串则根据偏移量、长度和首字符等信息将原字符串还原。
5 实验测试
5.1 系统安装
本系统于2016年11月在新疆乌鲁木齐市米东区小东沟(无手机信号)进行了安装和测试。现场的集中器为长沙威胜DJGZ33-WFET1600型集中器,挂装在小东沟变压器支架上,其前端有多个用户电表。本文研制的核心设备数据采集与传输设备安装在一个户外机箱内,并固定在变压器横担上,如图3所示,安装现场如图4所示。设备的一路串口连接集中器,另一路串口连接北斗短报文模块。
在主站端,北斗短报文模块、数据采集与传输设备(后端)安装在乌鲁木齐市区新疆电力公司信息通信公司的楼顶。设备的一路串口连接北斗短报文模块,另一路串口接入主站。
图3 数据采集与传输设备
图4 集中器端的设备安装现场
5.2 系统测试
基于北斗通信SRP机制的电力计费信息远程传输系统安装完成后,分别在受控采集模式和自动采集模式下进行了系统测试。
5.2.1 受控采集模式测试
(1) 主站对集中器进行“参数读设”。在主站测试软件中配置了正确的串口号和波特率之后,点击“读取”。该指令将通过北斗通信链路传输至现场集中器。2~3 min后,集中器返回地址信息“68 32 00 32 00 68 98 01 65 80 7F 14 00 66 00 00 02 00 79 16”,测试软件解析出集中器地址为65017F80。此时,主站与集中器已建立连接。
(2) 主站对集中器进行用电信息召测。召测的数据类型包括请求1类(当前数据)和请求2类(历史数据);测试数据内容包括:电能量数据、电能质量数据以及统计类数据等[7]。
2016年12月3日17时39分,主站召测地址为65017F80的集中器下6号测量点(电表)的“当前正向有功电能示值(总、费率1~M)”。主站测试软件显示,6号测量点的当前正向有功总电能示值为0.29 kW·h,其中,费率2正向有功总电能示值为0.1 kW·h,费率3正向有功总电能示值为0.19 kW·h,其余各费率正向有功电能示值为0。该召测结果与人工查看的6号电表当前正向有功总电能示值一致,证明了本系统对集中器召测结果的正确性。
5.2.2 自动采集模式测试
设置集中器为主动上报模式,并进行了多次系统测试。由于此时集中器上传给数据采集与传输设备的数据量较大,本文采用的LZ77压缩算法(算法中“滑动窗口”长度设置为128字节,“预置区”长度设置为32字节)将发挥作用。以下重点分析数据压缩算法对系统用电信息采集性能产生的影响。集中器主动上报60个测量点的“日冻结正向有功电能量(总、费率1~M)”的数据压缩效果,结果见表3所列。可见,压缩前数据量为3 240字节,压缩后数据量为810字节,数据压缩率约为25%。由于本系统设置的北斗短报文通信间隔为65 s,单次通信传输的数据量为70字节,因此若不对集中器上报的数据进行压缩,则理论上需要约51 min完成上述3 240字节的传输,而采用了本文的数据压缩方法,经实际测试发现仅需约15 min即可完成该批数据的传输,有效提高了远程电力抄表的效率。此外,经过压缩,如果数据量减小,那么拆包所形成的子包减少,在接收端丢包数也得以减小,从而补包的效率得以提高。
表3 数据压缩算法有效性的测试结果
5.3 性能参数分析
5.3.1 通信频率
北斗短报文模块通过安装SIM卡,以卡号对卡号的方式实现通信。本系统使用的北斗短报文模块的SIM卡号分别为256 455和256 654,其通信服务频率60 s一次[14]。
为确保北斗通信链路的畅通性,本系统在连续发送子包时,选择间隔65 s发送一次数据,即通信间隔为65 s/次。
5.3.2 采集成功率
在受控采集模式下进行了5组实验,分别由主站召测5种不同的数据类型,每组实验重复操作60次,统计出每组实验的成功率,结果见表4所列。可见,在未采用补包操作的情况下,电力远程抄表成功率为91.67%~93.94%,其平均成功率为92.98%;在采用了补包操作的情况下,电力远程抄表成功率均达到了100%,这是由于本文设计的“补包”操作发挥了作用,在北斗短报文通信子包丢失的情况下,有限次的补包即可实现成功组包,从而保证了电力远程抄表的成功率。
在自动采集模式下进行了1组实验,由集中器主动上报60个测量点的“日冻结正向有功电能量(总、费率1~M)”,连续测试15 d,集中器应上报90次用电数据。在未采用补包操作的情况下,电力远程抄表成功率为0,这是由于此时集中器上报数据量较大,拆包后形成的子包较多,经过北斗短报文通信传输,通常都会有若干个子包丢失,导致在接收端无法完成组包,电力远程抄表失败;在采用了补包操作的情况下,接收端89次收到了完整的用电数据,抄表成功率达到了98.9%,这再次证明了本文设计的补包操作的有效性。
5.3.3 传输延时
在本系统中,传输延时是指数据采集与传输设备发送的北斗短报文数据包经过卫星通信链路传输后,接收端设备收到该北斗短报文数据的延时[15]。
假设数据采集与传输设备发送数据包的时刻为T1,接收端设备收到该数据包的时刻为T2,则此次通信的传输延时为T2~T1。大量测试结果表明该传输延时为3~5 s,超过6 s的概率非常小。
表4 系统采集成功率 %
6 结 论
本文研究了无公网覆盖的偏远地区电力远程抄表问题,设计并实现了一种基于北斗通信SRP机制的电力计费信息远程传输系统,重点研制了一种数据采集与传输设备。
在电表侧,数据采集与传输设备可以对集中器上报的数据进行有效的拆包(S),以适应北斗短报文通信的报文长度限制,同时对拆包后的子包按照北斗短报文通信协议进行封装,以实现用电信息在北斗通信链路中的传输。在主站侧,数据采集与传输设备可以从接收到的北斗短报文中解析出子包,组包(R)恢复出原来的数据,并推送给主站。组包过程中的补包操作(P)可以提高数据传输的可靠性,保证了用电数据采集的成功率。
另外,数据采集与传输设备针对数据量较大的抄表任务,采用LZ77算法进行数据压缩,有效节约了数据传输时间,提高了电力远程抄表的效率。
实验测试结果表明,本文研究的基于北斗通信SRP机制的电力计费信息远程传输系统具有较高的抄表成功率,可有效解决无公网地区电力远程抄表的历史性难题,降低了国网公司的劳动成本,提高了工作效率。该系统的实施对实现“全覆盖、全采集、全费控”的目标具有推动作用,同时对相关领域的技术发展具有重要参考价值。
[1] 妙红英.基于北斗卫星通信的偏远地区用电信息采集[J].电子设计工程,2015,23(10):152-154.
[2] 公茂法,王中刚,肖弘扬,等.北斗短报文通信在抄表系统中的应用[J].自动化与仪表,2015(7):33-36.
[3] 刘晓燕.基于“北斗一号”的电力数据通信终端的设计与实现[D].北京:中国科学院大学,2015.
[4] 郭 丹.北斗卫星短报文通信控制系统研究[D].西安:西北大学,2015.
[5] 刘建安,杨荣华,周克,等.基于北斗短报文的电能计量终端系统的研究[J].贵州电力技术,2016(2):6-9.
[6] 龚振宇.北斗远程通信的设计与实现[D].成都:电子科技大学,2015.
[7] 国家电网公司.电力用户用电信息采集系统通信协议第一部分:主站与采集终端通信协议:QL/GDW 376.1—2009[S].北京:国家电网公司,2009:1-197.
[8] 刘 艳,刘晓莉,石书祝,等.北斗短报文电网状态监测及应急通信系统[J].自动化与仪表,2015,30(1):43-47.
[9] 李文金,苏凯雄.基于存储管理的北斗报文传输协议设计与应用[J].微型机与应用,2015,34(24):63-65.
[10] 金金,张文飞,周婷.基于北斗卫星系统集抄数据传输技术的应用[J].青海电力,2013,32(4):65-66.
[11] 苗世洪,孙扬声,吴小辰.基于电力系统故障信息远程通信的高效数据压缩与解压技术研究[J].电力系统自动化,1996(5):53-55.
[12] 王振业,江勋林,李明.基于北斗的装备保障信息长报文可靠通信研究[J].计算机与数字工程,2016,44(1):88-94.
[13] 池智伟,张颖,郑州.数据压缩在用电信息采集远程通信中的应用[J].电力信息与通信技术,2013,11(4):39-45.
[14] 中国卫星导航系统管理办公室.北斗用户终端 RDSS 单元性能要求及测试方法:BD 420007—2015[S].北京:中国卫星导航系统管理办公室,2015:1-7.
[15] 谷军霞,王春芳,宋之光.北斗短报文通信信道性能测试与统计分析[J].气象科技,2015(3):458-463.
DesignandimplementationofelectricityinformationremotemeterreadingsystembasedonBeidoucommunicationSRPmechanism
WANG Tao1, ZHOU Yi2, WANG Lifu3, ZHAN Yuxi3, XIA Na4
(1.Information and Communication Company, State Grid Xinjiang Electric Power Company, Urumqi 830002, China; 2.Urumqi Power Supply Company, State Grid Xinjiang Electric Power Company, Urumqi 830002, China; 3.Electric Power Transmission and Transformation Co., Ltd., State Grid Xinjiang Electric Power Company, Urumqi 830002, China; 4.School of Computer and Information, Hefei University of Technology, Hefei 230009, China)
For remote areas beyond the coverage of public network, electricity information meter reading has always been a technical problem. In this paper, an electricity information meter reading system based on Beidou short message is studied. The meter data acquisition and transmission equipment can be used to collect meter data in multiple operating modes and carry out data segmentation(S) and Beidou protocol packet processing. Then the remote transmission of data is completed by Beidou short message module. At the same time, the main station equipment can achieve data receiving, analysis and reassembly(R). Furthermore, the patching(P) operation can guarantee the success ratio. Experimental results show that the success ratio of electricity information meter reading of the system can reach 98.9%, so it can be used as an efficient and reliable solution for the electricity information meter reading in remote areas.
electricity remote meter reading; Beidou short message; STM32; segmentation; reassembly; patching
2016-12-23;
2017-02-20
国家自然科学基金资助项目(61100211);教育部新世纪优秀人才支持计划资助项目(NCET-13-0768)
王 涛(1987-),男,新疆焉耆人,国网新疆电力公司助理工程师;
夏 娜(1979-),男,安徽芜湖人,博士,合肥工业大学教授,硕士生导师.
10.3969/j.issn.1003-5060.2017.12.010
TM75
A
1003-5060(2017)12-1630-07
(责任编辑张 镅)