一种电能表的电量数据存储方法技术

技术编号:12883321 阅读:141 留言:0更新日期:2016-02-17 15:40
一种电能表的电量数据存储方法,在上电时对计算得到的校验码和预先存储在非易失存储器内的初始校验码进行比较,在下电时,对当前电量数据进行校验和存储,并且在电能表运行过程中既对电量数据进行累加更新,而且还在每次存储更新的电量数据时对电量数据进行校验,保证了电量数据的准确性,此外还利用了非易失存储器定期对电量数据进行存储和备份,防止了数据的丢失,存储更加可靠。

【技术实现步骤摘要】

本专利技术涉及电能计量
,具体涉及。
技术介绍
电能表包括MCU和计量芯片,MCU通过计量芯片获取电量数据,为保证电量数据不丢失,电能表通常还需要非易失存储器用于存储电量数据,现有电能表的电量数据存储方法是在上电时,MCU读取自身RAM存储器中的当前电量数据,根据当前电量数据计算校验码,比较计算得到的校验码和预先存储在非易失存储器内的初始校验码是否一致,若一致,则表示电能表正常工作,若不一致,则从非易失存储器中恢复电量数据到MCU的RAM存储器中,在电能表运行过程中,MCU通过计量芯片获取电量数据并进行电量数据的累加,在电能表下电时,MCU读取自身RAM存储器中的当前电量数据,根据当前电量数据计算校验码,将计算得到的校验码以及当前电量数据写入非易失存储器中。上述现有电能表的电量数据存储方法存在以下问题:只在电能表上电时对计算得到的校验码和预先存储在非易失存储器内的初始校验码进行比较,而在电能表的运行过程中只累加电量数据,不对电量数据进行校验码计算,在下电时才更新校验码,这样虽然在正常上下电时,能保证计算得到的校验码等于预先存储在非易失存储器内的初始校验码,但是一旦出现电能表异常复位,由于电平很不稳定,很容易将错误的电量数据和校验码存储入非易失存储器中,而且此时MCU的RAM存储器内的电量数据也很容易被改写,导致再次上电时计算得到的校验码和预先存储在非易失存储器中的校验码不一致,出现数据异常,甚至电量数据直接复零,导致计量严重不准确,而且由于在电能表运行过程中,不进行数据备份,很容易导致数据丢失。
技术实现思路
本专利技术要解决的技术问题是:提供一种能保证电量数据准确可靠存储、有效防止电量数据丢失的电能表的电量数据存储方法。本专利技术的技术解决方案是:,所述电能表包括MCU、计量芯片和非易失存储器,所述计量芯片和非易失存储器均与MCU电连接,其特征在于:它包括以下步骤:(1)电能表上电,MCU开始计时,自动设置存储在MCU的RAM存储器内的第一电量数据A1的初始值、第一校验码B1的初始值、预设的计数值C、预设的存储次数D、预设的备份时间E、电量累加值Λ A,自动设置存储在非易失存储器的第一存储区内的第二电量数据Α2的初始值和第二校验码Β2的初始值,以及非易失存储器的第二存储区内的第三电量数据A3的初始值和第三校验码Β3的初始值;⑵MCU自动读取刚上电时的RAM存储器中的第一电量数据A1,根据第一电量数据A1自动计算第四校验码B4,比较第四校验码B4和第一校验码B1,若两者一致,则进入步骤(3),若两者不一致,则自动设置A1 =A2,B1 =B2,并进入步骤(3);(3) MCU自动读取计量芯片的快速脉冲计数寄存器的计数值Cl,若计数值Cl到达预设的计数值C,则MCU自动将计量芯片的快速脉冲计数寄存器的计数值Cl清零并进入步骤(4),若否,则返回步骤(3)重新读取;⑷MCU自动读取RAM存储器中的第一电量数据Al,根据第一电量数据Al自动计算第四校验码B4,比较第四校验码B4和第一校验码BI,若两者一致,则进入步骤(5),若两者不一致,则自动设置Al = A2,BI = B2,并进入步骤(5);(5) MCU自动对第一电量数据Al进行更新,设置Al = Al+Λ A,电量累加值Λ A为快速脉冲计数寄存器的计数值Cl到达预设的计数值C时的电量变化值,根据更新后的第一电量数据Al自动计算第四校验码Β4,并自动设置BI = Β4,存储次数Dl自动加I ;(6)MCU自动判断电能表是否断电,若是,则进入步骤(10),若否,则进入步骤(7);(7)判断存储次数Dl是否到达预设的存储次数D,若是,则存储次数Dl自动清零并进入步骤(8),若否,则MCU自动判断计时时间是否到达预设的备份时间Ε,若是,则重新开始计时并进入步骤(9),若否,则返回步骤(3);(8)将RAM存储器中的第一电量数据Al和第一校验码BI存储到非易失存储器的第一存储区中,即自动设置Α2 =Α1,Β2 = Β1,并返回步骤(3);(9)将RAM存储器中的第一电量数据Al和第一校验码BI存储到非易失存储器的第二存储区中,即自动设置A3 =Α1,Β3 = Β1,并返回步骤(3);(1)MCU自动读取RAM存储器中的第一电量数据Al,根据第一电量数据Al自动计算第四校验码Β4,比较第四校验码Β4和第一校验码BI,若两者一致,则将RAM存储器中的第一电量数据Al和第一校验码BI存储到非易失存储器的第一存储区中,即自动设置Α2 =Al,Β2 = BI,并结束电量数据存储等待电能表重新上电,若两者不一致,则直接结束电量数据存储并等待电能表重新上电。采用上述方法后,本专利技术具有以下优点:本专利技术电能表的电量数据存储方法在上电时对计算得到的校验码和预先存储在非易失存储器内的初始校验码进行比较,在下电时,对当前电量数据进行校验和存储,并且在电能表运行过程中既对电量数据进行累加更新,而且还在每次存储更新电量数据时对电量数据进行校验,保证了电量数据的准确性,此外还利用了非易失存储器定期对电量数据进行存储和备份,防止了数据的丢失,存储更加可靠。作为优选,在进入步骤(7)之前还需MCU再次自动读取RAM存储器中的第一电量数据Al,根据第一电量数据Al自动计算第四校验码Β4,比较第四校验码Β4和第一校验码BI,若两者一致,则进入步骤(7),若两者不一致,则自动设置Al =Α2,Β1 = Β2,并进入步骤(7)。该设置使得在电量数据更新后还要再进行数据校验,使数据存储更加正确可靠。在上述优选的步骤中自动设置Al =A2,BI = Β2之后,进入步骤(7)之前,还由MCU再次自动读取RAM存储器中的第一电量数据Al,根据第一电量数据Al自动计算第四校验码Β4,比较第四校验码Β4和第一校验码BI,若两者不一致,则自动设置Al = A3,BI =Β3,同时提示非易失存储器错误。该设置进一步提高数据存储的正确性和可靠性,而且可以向用户提示非易失存储器的错误。作为优选,所述电量数据Al包括组合有功总电量、组合有功尖电量、组合有功峰电量、组合有功平电量、组合有功谷电量、正向有功总电量、正向有功尖电量、正向有功峰电量、正向有功平电量、正向有功谷电量、反向有功总电量、反向有功尖电量、反向有功峰电量、反向有功平电量和反向有功谷电量。该设置可对多个电量数据进行校验。作为优选,所述电量数据A1采用CRC校验。CRC校验结果与多个电量数据的排列顺序密切相关,而校验和并无顺序要求,这样CRC校验更不易出错,校验结果更准确。作为优选,所述CRC校验采用查表法。查表法可加快CRC校验速度。作为优选,所述电量累加值Λ A = 0.0lkWh,所述预设的计数值C = C0* Δ A =0.01*C0,CO为电能表的脉冲常数。该设置以电能表的最小电量计量单位进行电量更新。作为优选,所述预设的存储次数D = 100。合理的参数设置可保证数据可靠地存储在非易失存储器中。作为优选,所述预设的备份时间E = 30min。合理的参数设置可对数据进行可靠的备份,即使第一存储区出现问题,还有第二存储区的备份数据可以利用。【附图说明】:图1为本专利技术电能表的电量数据存储方法的流程图。【具体实施方式】下面结合附图,并结合本文档来自技高网...
一种电能表的电量数据存储方法

【技术保护点】
一种电能表的电量数据存储方法,所述电能表包括MCU、计量芯片和非易失存储器,所述计量芯片和非易失存储器均与MCU电连接,其特征在于:它包括以下步骤:(1)电能表上电,MCU开始计时,自动设置存储在MCU的RAM存储器内的第一电量数据A1的初始值、第一校验码B1的初始值、预设的计数值C、预设的存储次数D、预设的备份时间E、电量累加值△A,自动设置存储在非易失存储器的第一存储区内的第二电量数据A2的初始值和第二校验码B2的初始值,以及非易失存储器的第二存储区内的第三电量数据A3的初始值和第三校验码B3的初始值;(2)MCU自动读取刚上电时的RAM存储器中的第一电量数据A1,根据第一电量数据A1自动计算第四校验码B4,比较第四校验码B4和第一校验码B1,若两者一致,则进入步骤(3),若两者不一致,则自动设置A1=A2,B1=B2,并进入步骤(3);(3)MCU自动读取计量芯片的快速脉冲计数寄存器的计数值C1,若计数值C1到达预设的计数值C,则MCU自动将计量芯片的快速脉冲计数寄存器的计数值C1清零并进入步骤(4),若否,则返回步骤(3)重新读取;(4)MCU自动读取RAM存储器中的第一电量数据A1,根据第一电量数据A1自动计算第四校验码B4,比较第四校验码B4和第一校验码B1,若两者一致,则进入步骤(5),若两者不一致,则自动设置A1=A2,B1=B2,并进入步骤(5);(5)MCU自动对第一电量数据A1进行更新,设置A1=A1+△A,电量累加值△A为快速脉冲计数寄存器的计数值C1到达预设的计数值C的电量变化值,根据更新后的第一电量数据A1自动计算第四校验码B4,并自动设置B1=B4,存储次数D1自动加1;(6)MCU自动判断电能表是否断电,若是,则进入步骤(10),若否,则进入步骤(7);(7)判断存储次数D1是否到达预设的存储次数D,若是,则存储次数D1自动清零并进入步骤(8),若否,则MCU自动判断计时时间是否到达预设的备份时间E,若是,则重新开始计时并进入步骤(9),若否,则返回步骤(3);(8)将RAM存储器中的第一电量数据A1和第一校验码B1存储到非易失存储器的第一存储区中,即自动设置A2=A1,B2=B1,并返回步骤(3);(9)将RAM存储器中的第一电量数据A1和第一校验码B1存储到非易失存储器的第二存储区中,即自动设置A3=A1,B3=B1,并返回步骤(3);(10)MCU自动读取RAM存储器中的第一电量数据A1,根据第一电量数据A1自动计算第四校验码B4,比较第四校验码B4和第一校验码B1,若两者一致,则将RAM存储器中的第一电量数据A1和第一校验码B1存储到非易失存储器的第一存储区中,即自动设置A2=A1,B2=B1,并结束电量数据存储等待电能表重新上电,若两者不一致,则直接结束电量数据存储并等待电能表重新上电。...

【技术特征摘要】

【专利技术属性】
技术研发人员:郑坚江季上满应必金陈恢云
申请(专利权)人:宁波三星医疗电气股份有限公司
类型:发明
国别省市:浙江;33

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

1