0 引言
随着智能计量设备的广泛应用,智能终端的采集功能显得尤为方便、重要。集抄系统通过网络和供电局的电力营销系统(MIS)相连实现抄表收费一体化,对电力用户和公用配变考核计量点用电信息全面采集。
电力系统行业已经有一套比较完善、统一的采集设备,而水、气、热表的通信协议不统一,硬件通道不统一,在智能终端统一采集方面存在困难。在原电力系统三层架构的基础上增加一层采集设备协议转换器,兼容水、电、气、热各方面的差异,实现统一采集,节省成本。协议转换器作为中间采集设备,功能上需满足采集信息的准确性、时效性,能够存储数据,基于此类特点,本文提出一种基于flash的固定地址空间大小的简单循环存储办法,解决协议转换器采集、存储问题。
1 简单循环存储办法概述
智能终端采集设备通过协议转换器采集下挂能源表数据,从而实现四表数据统一采集。由于能源表(水、电、气、热表)在抄表波特率、采集方式的差异,需要协议转换器自身存储能源表的参数、数据等信息,本办法采用循环存储的方案,依据现场使用情况调整存储单元空间,更加方便灵活,不需要建立专门的数据库,对内存的依赖较小,大大节约了资源。
根据现场采集能源表的数量,确定固定的存储空间(一般定义为20k),一块能源表的数据相当于一个数据单元,数据单元定义为便于计算的大小,按照存储单元地址偏移量的方式进行记录;每存储一个数据单元之前,判断当前位置存储空间是否需要擦除;flash中分配的存储空间使用完毕时,将从空间的头部开始擦除,新的数据单元依次存储,这样循环使用固定空间位置依次存储。
2 简单循环存储办法的优缺点
该存储办法根据现场使用分配空间,节省并避免空间浪费,也避免了频繁擦除flash造成的flash使用寿命减少的问题;数据存储单元灵活性大,根据现场使用实际情况,灵活变化数据单元格式,也可以固定数据单元格式,固定数据单元大小,牺牲空间满足现场使用通用性。目前应用这类技术主要受使用设备可用flash存储空间的影响,有最大的存储容量限制;另外数据存储过程中没有备份,若使用出现异常,数据则无法恢复,当然这种情况出现的概率小,并且数据是实时更新的,出现这种bug时,只影响现场使用某一段时间的数据(一般是一天),此后仍按照之前的方式依次存储数据,对现场使用的影响不大。
3 简单循环存储办法的架构解析
3.1 数据存储结构
数据存储由存储位置和数据存储单元构成。数据存储单元根据现场能源表数据类型定义大小,空间addr2-addr1之间为数据存储区,一般定义其容量为20K,按照4K空间一个扇区,分为5个扇区,数据单元大小定义为2n字节,其数据结构如图1所示。
3.2 数据存储位置
存储位置表示下一数据单元存储的位置,大小定义为两字节,存储在E方中,使用时从E方中读取最新数据,变更时要重新写E方。索引匹配数据从该位置开始,查找匹配数据,并不是在整个存储区域内查找,而是根据现场实际使用,定义索引的范围,通过索引特定且唯一的数据源匹配数据,现在一般使用仪表地址作为数据源,仪表地址是唯一的。现场使用时,只有一种数据类型,不需要开辟多个存储空间,使用一个存储位置偏移量,存储方便、灵活。
3.3 数据存储结构
定义存储区大小为20k,一个扇区大小为4k,分为5个扇区。划分数据单元长度时,以整除的原则,保证每一个扇区结束时都能存储一个完整的数据单元。按照现场实际使用情况,一个数据单元包括仪表地址和数据内容。数据内容一般包括累计流量、当前时间、仪表状态等,数据内容根据现场使用仪表类型内容可进行扩展,表1表示一般情况下仪表数据内容。
表1 数据单元存储内容
数据内容 | |||||
仪表地址 | 抄读时间 | 当前流量 | 仪表时间 | 仪表状态 | 备用 |
7字节 | 5字节 | 5字节 | 4字节 | 2字节 |
|
(1)仪表地址:取数据时作为唯一的匹配源寻找数据单元,具有唯一性;
(2)抄读时间:指协议转换器抄读该仪表数据的时间记录,可作为判断数据有效依据;
(3)当前流量:仪表计量数据;
(4)仪表状态:仪表数据单元的一部分,可表示合闸、开闸、运行是否正常的记录;
(5)备用:内容初始化为ff,仪表类型不同,数据内容也不相同,备用部分可扩展使用,实现存储结构的通用性。
3.4 数据检索流程
获取数据从存储位置开始,查询采用倒序匹配地址进行,这样找到的数据为最新采集的数据。
3.5 数据存储流程
(1)获取存储位置,从E方中读取,判断存储位置位于扇区的头部,擦除当前扇区;不在扇区头部,从当前位置存储;
(2)存储数据,按照数据单元存储结构,将数据依次放入存储空间,同时更新存储位置并写入E方;
(3)数据删除,擦除整个存储区,初始化存储位置并写入E方。
4 简单循环存储办法的应用—档案存储
档案存储分为两个存储区域,即两个扇区,存储区内顺序存储。根据现场使用定义档案存储空间;档案参数一般包括有效标志、仪表地址、仪表端口、仪表类型等基本信息,如表2所示。
表2 档案存储结构
存储区1 | 档案0 |
| 档案N | ||||
有效标志 | 仪表地址 | 仪表端口 | 仪表类型 | .… …. | .... …. | …. | |
存储区2 | 档案0 |
| 档案N | ||||
有效标志 | 仪表地址 | 仪表端口 | 仪表类型 | .… …. | …. …. | …. |
4.1 主要参数
(1)有效标志:第一次抄读返回数据成功,则该地址有效并记录;有效标志有效时,定时启动抄读仪表数据时,抄读该仪表数据,标志无效,不再抄读该表数据;若仪表超过3次抄读不成功,标志改为无效;
(2)仪表地址:具有唯一性;
(3)仪表端口:协议转换器抄表通道按照目前定义有4个,即485口、MBUS1/2、小无线;
(4)仪表类型:仪表类型不同,抄读时组帧不同。
4.2 档案存储流程
第一次抄读仪表数据并正常返回时,先获取存储位置,若存储位置为存储区的首地址,先擦除该存储区,按照参数类型记录该档案,存储时先遍历之前的档案,若存在地址一致,判断仪表其他抄读参数是否发生变化,有变化,变更档案参数存储;无变化,退出不变更档案参数;若找不到地址一致,顺序存储档案参数,并将存储位置指向下一位置写入E方。当存储区1存满时,先擦除存储区2,再将档案搬至存储区2,移区时依次筛选区1中的档案,标志记录为无效的不移区。
4.3 档案删除流程
删除某档案时,从当前存储区的起始位置开始,到存储位置结束,遍历这个区间的所有档案,当地址匹配时,将有效标志置为无效,不清除空间,档案仍在该位置,移库时,先检查档案有效标志,标志为无效时,不移库。
4.4 移库流程
获取存储位置,当存储位置为另一存储区首位置时,先擦除该存储区,保证该区可写数据,移库时,档案按块移库,每次移库判断有效标志,移动一块档案,存储位置++,移动完成后,存储位置写入E方。
5 结语
简单循环存储办法是基于协议转换使用的特点提出的,有优点也有缺点,目前此类办法已经应用于协议转换器等一系列产品上,在现场运行状况良好。循环存储办法的应用,使得协议转换器的应用更加方便,实现四表合一的统一采集,提高了职能部门的办事效率,方便了群众的生活。
参考文献
[1] 许丽华.电力用户用电信息采集系统的设计和实现[D].上海:复旦大学,2010.
[2] 金福宝,曹军.基于GPRS网络远程抄表系统的设计[J].电测与仪表,2006(10):38-39.
[3] 史鹏斌.用电信息采集系统的演变与建设现状[J].山西科技,2013,28(5):93-94.
[4] 高林贤,徐景涛,郑留强,等.基于GPRS通信的四表集抄系统的研究[J].科技创新与生产力,2017(6):87-89,93.
[5] 隋宗斌.基于ZigBee的远程自动抄表系统设计[D].曲阜:曲阜师范大学,2009.
[6] 王集森,刘吴,胡晨.嵌入式Linux中多文件系统的构建[J].单片机与嵌入式系统应用,2003(12):12-15.
收稿日期:2018-10-12
作者简介:张涛(1982-),男,河南许继仪表有限公司工程师,硕士,研究方向:智能用电、用电信息采集系统。