一种电量数据存储、抄读方法技术

技术编号:28941135 阅读:42 留言:0更新日期:2021-06-18 21:45
本发明专利技术公开了一种电量数据存储、抄读方法,存储方法包括:开辟三个存储模块;第一存储模块每隔第一预设时间对电量数据进行初步存储;第二存储模块每隔第二预设时间对第一存储模块存储的电量数据进行奇偶页存储;第三存储模块每隔第二预设时间对第一存储模块存储的电量数据进行覆盖存储,从而提高了电量数据存储时的可靠性。

【技术实现步骤摘要】
一种电量数据存储、抄读方法
本专利技术涉及电量表
,具体涉及一种电量数据存储、抄读方法。
技术介绍
电量数据的可靠性是电表的最重要的功能之一。如何在各种恶劣的环境下,在每次的电量读写过程中保证数据的正确性显得尤为关键。目前单相电表采用的是外置的铁电存储器实时存储电量数据。数据可靠性采用RAM区域加三个铁电区域分别带CRC16校验存储,存储时,前一个区域电量数据存储校验正确了再存下一个区域电量数据。读取电量时前一个区域电量读出来校验正确了则返回该区域电量数据,如果校验不正确则取下一个区域的电量数据。因为存储和读取时计算的CRC16校验码是2字节的,会有65535分之一校验出错的概率;读取数据时当读到第一个区域数据校验正确时,不对比后面区域的数据,这样校验码有出错的概率,造成返回的电量数据有出错的概率;外置的存储器和单片机之间的串行信号线是PCB走线连接的,在恶劣的环境下串行信号线会出现杂波干扰,会出现数据存储和读取失败的现象;铁电存储器价格比较昂贵,存储容量小,不适合大量数据存储要求。
技术实现思路
因此,本专利技术要解决的技术问题在于克服现有技术中的电量表的读写方法出错率高的缺陷,从而提供一种电量数据存储、抄读方法。为达到上述目的,本专利技术提供如下技术方案:第一方面,本专利技术实施例提供一种电量数据存储方法,包括:开辟三个存储模块;第一存储模块每隔第一预设时间对电量数据进行初步存储;第二存储模块每隔第二预设时间对第一存储模块存储的电量数据进行奇偶页存储;第三存储模块每隔第二预设时间对第一存储模块存储的电量数据进行覆盖存储;第一预设时间小于第二预设时间。在一实施例中,第一存储模块每隔第一预设时间对电量数据进行初步存储的过程,包括:第一存储模块包括多个第一存储区,每个第一存储区每隔第一预设时间均对电量数据进行一次带校验存储,得到多个第一电量数据。在一实施例中,第二存储模块每隔第二预设时间对第一存储模块存储的电量数据分别进行奇偶页存储的过程,包括:第二存储模块包括两个地址连续的第二存储区,两个地址连续的第二存储区基于奇偶页存储的方式,每隔第二预设时间,对多个第一电量数据依次进行带校验存储,得到多个第二电量数据。在一实施例中,两个地址连续的第二存储区基于奇偶页存储的方式,每隔第二预设时间,对多个第一电量数据依次进行带校验存储的过程,包括:定义奇偶标志位:定义两个第二存储区中的一个第二存储区为奇数第二存储区,另一个第二存储区为偶数第二存储区;奇数第二存储区和偶数第二存储区分别开辟多个子存储区;每隔第二预设时间,根据奇偶标志位,确定当前具有存储权限的第二存储区,并擦出该当前具有存储权限的第二存储区的数据;当前具有存储权利的第二存储区中的每个子存储区依次对第一电量数据进行存储;存储完成后,修改奇偶标志位,将原奇数第二存储区标记为偶数第二存储区,将原偶数第二存储区标记为奇数第二存储区。在一实施例中,第三存储模块每隔第二预设时间对第一存储模块存储的电量数据分别进行覆盖存储的过程,包括:第三存储模块包括多个第三存储区,每个第三存储区对第一电量数据依次进行带校验存储,得到多个第三电量数据;每个第三存储区每次存储后均对其存储的第三电量数据进行读取,并将读取的电量数据与其存储的第三电量数据进行比对;根据比对结果,判断第三电量数据是否正确,当其不正确时,每个第三存储区对第一存储区存储的电量数据再次进行预设次数带校验存储。第二方面,本专利技术实施例提供一种电量数据抄读方法,基于第一方面的存储方法,抄读方法包括:当接收抄读信号时,获取第一存储模块中的电量数据,判断第一存储模块中的电量数据是否正确;当第一存储模块中的至少一个第一电量数据正确时,利用多数判定原则,抄读正确的电量数据;当第一存储模块中的第一电量数据均不正确时,获取第二存储模块中的第二电量数据;判断第二存储模块中的电量数据是否正确,当第二存储模块中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据,当第二存储模块中的第二电量数据均不正确时,获取第三存储模块中的第三电量数据;判断第三存储模块中的第三电量数据是否正确,当第三存储模块中的至少一个第三电量数据正确时,利用多数判定原则,抄读正确的电量数据,当第三存储模块中的第三电量数据均不正确时,输出空值,以表示三个存储模块中数据均错误。在一实施例中,当第一存储模块中的至少一个第一电量数据正确时,利用多数判定原则,抄读正确的电量数据的过程,包括:当至少一个第一电量数据不正确时,则剔除不正确的第一电量数据,判断剩下的第一电量数据是否有相同数值的第一电量数据;当剩下的第一电量数据有相同数值的第一电量数据时,将相同数值的第一电量数据归为同一类,并抄读数量最多的第一电量数据的一类电量数据;当剩下的第一电量数据均不相同,则抄读地址靠前的第一存储区存储的第一电量数据。在一实施例中,当第一存储模块中的电量数据均不正确时,获取第二存储模块中的第二电量数据;判断第二存储模块中的第二电量数据是否正确,当第二存储模块中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据的过程,包括:获取奇数第二存储区存储的第二电量数据,判断奇数第二存储区中的第二电量数据是否正确;当奇数第二存储区存储中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据;当奇数第二存储区中的第二电量数据均不正确时,获取偶数第二存储区中的第二电量数据;当偶数第二存储区存储中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据;当偶数第二存储区中的第二电量数据均不正确时,获取第三存储模块中的第三电量数据。在一实施例中,当奇数第二存储区存储中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据的过程,包括:判断奇数第二存储区的每个子存储区存储的每个第二电量数据是否都正确;当至少一个第二电量数据不正确时,则剔除不正确的第二电量数据,判断剩下的第二电量数据是否有相同数值的电量数据;当剩下的第二电量数据有相同数值的第二电量数据时,将相同的第二电量数据归为同一类,并抄读数量最多的第二电量数据的一类电量数据;当剩下的第二电量数据均不相同,则抄读奇数第二存储区中地址靠前的子存储区存储的第二电量数据。在一实施例中,当偶数第二存储区存储中的至少一个电量数据正确时,利用多数判定原则,抄读正确的电量数据的过程,还包括:当至少一个第二电量数据不正确时,则剔除不正确的第二电量数据,判断剩下的第二电量数据是否有相同的第二电量数据;当剩下的第二电量数据有相同数值的第二电量数据时,将相同数值的第二电量数据归为同一类,并抄读数量最多的第二电量数据的一类电量数据;当剩下的第二电量数据均不相同,则抄读偶数第二存储区中地址靠前的子存储区存储的第二电量数据。在一实施例中,当第三存储模块中的至少一个第三电量数据正确时,利用多数判定原则,抄读正确的电量数据的过程,还包括:当至少一个第三电量数据不正确时,则剔除不正确的第三电量数据,判断剩下的第三电量数据是否有相同数值的第三电量数据;当剩下的第三电量数据有相同数值本文档来自技高网...

【技术保护点】
1.一种电量数据存储方法,其特征在于,包括:/n开辟三个存储模块;/n第一存储模块每隔第一预设时间对电量数据进行初步存储;/n第二存储模块每隔第二预设时间对第一存储模块存储的电量数据进行奇偶页存储;/n第三存储模块每隔第二预设时间对第一存储模块存储的电量数据进行覆盖存储;/n所述第一预设时间小于所述第二预设时间。/n

【技术特征摘要】
1.一种电量数据存储方法,其特征在于,包括:
开辟三个存储模块;
第一存储模块每隔第一预设时间对电量数据进行初步存储;
第二存储模块每隔第二预设时间对第一存储模块存储的电量数据进行奇偶页存储;
第三存储模块每隔第二预设时间对第一存储模块存储的电量数据进行覆盖存储;
所述第一预设时间小于所述第二预设时间。


2.根据权利要求1所述的电量数据存储方法,其特征在于,所述第一存储模块每隔第一预设时间对电量数据进行初步存储的过程,包括:
所述第一存储模块包括多个第一存储区,每个第一存储区每隔第一预设时间均对电量数据进行一次带校验存储,得到多个第一电量数据。


3.根据权利要求2所述的电量数据存储方法,其特征在于,第二存储模块每隔第二预设时间对第一存储模块存储的电量数据分别进行奇偶页存储的过程,包括:
所述第二存储模块包括两个地址连续的第二存储区,两个地址连续的第二存储区基于奇偶页存储的方式,每隔第二预设时间,对多个第一电量数据依次进行带校验存储,得到多个第二电量数据。


4.根据权利要求3所述的电量数据存储方法,其特征在于,所述两个地址连续的第二存储区基于奇偶页存储的方式,每隔第二预设时间,对多个第一电量数据依次进行带校验存储的过程,包括:
定义奇偶标志位:定义两个第二存储区中的一个第二存储区为奇数第二存储区,另一个第二存储区为偶数第二存储区;
奇数第二存储区和偶数第二存储区分别开辟多个子存储区;
每隔第二预设时间,根据奇偶标志位,确定当前具有存储权限的第二存储区,并擦出该当前具有存储权限的第二存储区的数据;
当前具有存储权利的第二存储区中的每个子存储区依次对第一电量数据进行存储;
存储完成后,修改所述奇偶标志位,将原奇数第二存储区标记为偶数第二存储区,将原偶数第二存储区标记为奇数第二存储区。


5.根据权利要求3所述的电量数据存储方法,其特征在于,第三存储模块每隔第二预设时间对第一存储模块存储的电量数据分别进行覆盖存储的过程,包括:
所述第三存储模块包括多个第三存储区,每个第三存储区对第一电量数据依次进行带校验存储,得到多个第三电量数据;
每个第三存储区每次存储后均对其存储的第三电量数据进行读取,并将读取的电量数据与其存储的第三电量数据进行比对;
根据比对结果,判断第三电量数据是否正确,当其不正确时,每个第三存储区对第一存储区存储的电量数据再次进行预设次数带校验存储。


6.一种电量数据抄读方法,其特征在于,基于权利要求1-5任一项所述的存储方法,所述抄读方法包括:
当接收抄读信号时,获取第一存储模块中的电量数据,判断第一存储模块中的电量数据是否正确;
当第一存储模块中的至少一个第一电量数据正确时,利用多数判定原则,抄读正确的电量数据;当第一存储模块中的第一电量数据均不正确时,获取第二存储模块中的第二电量数据;
判断第二存储模块中的电量数据是否正确,当第二存储模块中的至少一个第二电量数据正确时,利用多数判定原则,抄读正确的电量数据,当第二存储模块中的第二电量数据均不正确时,获取第三存储模块中的第三电量数据;
判断第三存储模块中的第三电量数据是否正确,当第三存储模块中的至少一个第三电量数据正确时,利用多数判定原则,抄读正确的电量数据,当第三存储模块中的第...

【专利技术属性】
技术研发人员:张礼杰蒋紫松顾志勇何南海牛付震
申请(专利权)人:浙江正泰仪器仪表有限责任公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1