CN102200544B - 可实现双向计量的智能电表的总电量累加方法 - Google Patents

可实现双向计量的智能电表的总电量累加方法 Download PDF

Info

Publication number
CN102200544B
CN102200544B CN201010615727.2A CN201010615727A CN102200544B CN 102200544 B CN102200544 B CN 102200544B CN 201010615727 A CN201010615727 A CN 201010615727A CN 102200544 B CN102200544 B CN 102200544B
Authority
CN
China
Prior art keywords
taedec
total electricity
stored
taeint
dec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201010615727.2A
Other languages
English (en)
Other versions
CN102200544A (zh
Inventor
孟珺遐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Original Assignee
State Grid Corp of China SGCC
China Electric Power Research Institute Co Ltd CEPRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, China Electric Power Research Institute Co Ltd CEPRI filed Critical State Grid Corp of China SGCC
Priority to CN201010615727.2A priority Critical patent/CN102200544B/zh
Publication of CN102200544A publication Critical patent/CN102200544A/zh
Application granted granted Critical
Publication of CN102200544B publication Critical patent/CN102200544B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明可实现具有双向计量功能的智能电表的总电量累加方法,所述方法包括正反向总电量的累加和各费率正反向总电量的累加,能量寄存器采用“读复位”模式。上述两种方法只用到整数运算,却可以保证数字的准确和电量的精确累加,大部分的数据处理只用加法或减法就能完成。将它们应用在定点MCU中,不仅可降低计量装置的成本,而且运算速度更快;测试人员随时可以读取电能表计量的总电量并与标准电量比较,计算出计量误差。本发明依据电力公司的要求,即可以分别累加正向和反向总电量,也可计算出组合总电量。

Description

可实现双向计量的智能电表的总电量累加方法
技术领域:
本发明涉及一种累加方法,具体涉及可实现双向计量的智能电表的总电量累加方法。
背景技术:
专用电能计量芯片通常能够实时判断潮流方向,其对应寄存器中计量值的符号也随之发生变化。具体地说,如果指定有功功率的参考方向为电网流向用户,则当有功功率的方向与参考方向相反时为负功率,表示用户向电网回送电能,对应寄存器中的计量值为负数;当有功功率的方向与参考方向一致时为正功率,表示用户从电网汲取电能,对应寄存器中的计量值为正数。
电量在专用电能计量芯片中的计量过程分成两个阶段。第一阶段由集成在芯片中的DSP完成,它对功率做有符号的积分运算并将结果暂存在一个内部寄存器中。当积分结果达到用户设定的阈值时,DSP在输出一个脉冲的同时,用内部寄存器中存储的积分结果减去阈值;第二阶段计数DSP输出的脉冲个数,并将计数值暂存在累加寄存器中。当MCU读取计数值时,该计数值将从累加寄存器转存到能量寄存器中,能量寄存器或者清零,或者保留原计数值。DSP输出的脉冲分频后得到电表的能量脉冲,分频倍数取决于电表常数。
目前使用的电子式电能表几乎都采用计数能量脉冲,通过指示灯显示的脉冲个数来计算用户的用电量。例如,某电子式电能表的常数是4000imp/kW·h,当脉冲个数累加(通常通过MCU中的定时器实现)到400个时,用户就消耗了0.1kW·h的电量。这种简单的电量累加方法存在下述诸多缺点:
(1)电磁干扰可能导致脉冲个数的增加或减少,从而造成计量误差;
(2)设计者通常指定一个计数阈值,譬如上文的400。当计数器计到这个数值时,才会将计数值清零并将该部分电量累加到总电量中;若要随机读取当前的计数值,则可能会产生±1个脉冲的计数误差。如果当前的计数值不是400,则会带来较大的计算误差。
譬如,若当前的计数值为13,则13/4000=0.00325kW·h,软件很可能将小数点后的325截掉,因此丢掉了这部分电量。
(3)若专用电能计量芯片的计量原理是对功率,而不是功率的绝对值积分,大的阈值(在电能计量芯片的相关寄存器中设置,当积分值达到此阈值时,电能计量芯片中的DSP输出一个脉冲)会带来大的双向计量误差。
目前,大多数的MCU芯片只支持整数运算,如果要在这些MCU上进行小数运算,定点小数运算应该是最佳选择。虽然用浮点MCU来做应该容易的多,但低成本也是非常重要的,定点机器比相应的浮点机器要便宜,而且速度更快。
发明内容:
针对现有技术存在的不足,本发明的目的在于提供一种能完成双向总电量累加的算法。
本发明提供的可实现双向计量的智能电表的总电量累加方法,其改进之处在于:所述方法包括累加正反向总电量和累加各费率的正反向总电量;
使用“读复位”模式的能量寄存器。
本发明提供的第一优选方案的累加方法,其改进之处在于:所述累加正反向总电量包括下述步骤:
a)软件判断MCU从能量寄存器中读取的计数值Reader的符号;
b)将a)的计数值除以C,整数商存放在Int中,余数存放在Dec中;
c)将b)中的整数和余数分别与存储器中的原有数据做正反向总电量的累加。
本发明提供的第二优选方案的累加方法,其改进之处在于:所述累加各费率正反向总电量的步骤为:
1)软件判断Reader的符号和某费率的总电量TAEnergy的符号;
2)根据Reader和TAEnergy的符号,确定情况类型,将Reader累加到相应费率的总电量上。
本发明提供的第三优选方案的累加方法,其改进之处在于:所述寄存器中的数据为二进制补码形式,负数则需要将其变换成原码形式,并屏蔽符号位。
本发明提供的第四优选方案的累加方法,其改进之处在于:由电能计量芯片中阈值寄存器中数据确定所述C值。
本发明提供的第五优选方案的累加方法,其改进之处在于:所述Reader为正数,将其累加到正向总电量上;整数商和正向总电量的整数部分PEInt相加;余数和正向总电量的小数部分PEDec相加;PEDec≥C,向整数进位,并将PEDec-C所得数据作为下一次累加的小数部分。
本发明提供的第六优选方案的累加方法,其改进之处在于:所述情况类型包括:
所述Reader为负数,所述TAEnergy为负数;
所述Reader为正数,所述TAEnergy为正数;
所述Reader为正数,所述TAEnergy为负数;
所述Reader为负数,所述TAEnergy为正数。
本发明提供的第七优选方案的累加方法,其改进之处在于:
①所述Reader为负数,所述TAEnergy为负数,将Reader取反码并加+1,屏蔽TAEInt与Int的符号位,将TAEInt和Int相加后存入TAEInt,同时符号位置1;余数TAEDec和Dec相加后存入TAEDec;存入新数据的TAEDec≥C,向整数部分进位,并将TAEDec-C存入TAEDec,作为下一次累加的小数部分;
②所述Reader为正数,所述TAEnergy为正数,将TAEInt与Int直接相加后存入TAEInt,TAEDec与Dec直接相加后存入TAEDec;存入新数据的TAEDec≥C,向整数部分进位,并将TAEDec-C存入TAEDec作为下一次累加的小数部分;
③所述Reader为正数,所述TAEnergy为负数,屏蔽TAEnergy的整数部分TAEInt的符号位,将TAEInt减去Int的值存入TAEInt,TAEInt≥Int,给新存入的TAEInt加上负号;将TAEDec减去Dec的值存入TAEDec,TAEDec<Dec,TAEDec向整数部分借位,并将TAEDe+C减去Dec的值存入TAEDec中;整数部分为零,用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位清零,表示总电量为正数;TAEDec≥Dec时,将TAEDec减去Dec后存入TAEDec;
④所述Reader为负数,所述TAEnergy为正数,将Reader取反码后加1,同时屏蔽其符号位;TAEInt≥Int,将TAEInt减去Int的值存入TAEInt,表示总电量是正数;将TAEDec减去Dec,TAEDec<Dec时,TAEDec向整数借位,用TAEDec+C减去Dec后存入TAEDec;整数部分为零,用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位置1,表示总电量是负数;TAEDec≥Dec时,将TAEDec减去Dec的结果存入TAEDec。
与现有技术相比,本发明的有益效果为:
上述两种算法只用到整数运算,却可以保证数字的准确和电量的精确累加,大部分的数据处理只用加法或减法就能完成。将它们应用在定点MCU中,不仅可降低计量装置的成本,而且运算速度更快;
与采用计数能量脉冲个数计算用电量的方法不同,它们不会因算法的随机执行而带来任何的读数和计算误差;
校表更加快速和精确。测试人员随时可以读取电能表计量的总电量并与标准电量比较,计算出计量误差;
依据电力公司的要求,即可以分别累加正向和反向总电量,也可计算出组合总电量。
附图说明
图1本发明提供的流程图
图2本发明提供的正反向总电量累加的流程图
图3本发明提供的各费率正反向总电量累加的第③种情况的流程图
具体实施方式
本方法要求能量寄存器必须配置成“读复位”模式,即MCU读取计数值后能量寄存器清零。这种模式使电量计数值从MCU读取的时刻起,再次从零开始计数,确保了正确的双向计量值。
(1)正反向总电量的累加
如附图2,首先判断MCU从能量寄存器中读取的计数值Reader的符号。寄存器中的数据通常都是二进制补码形式,负数则需要将其变换成原码形式,并屏蔽符号位。
其次,将计数值除以C,整数商存放在Int中,余数存放在Dec中。
若Reader为正数,则将其累加到正向总电量上。累加时,整数商和正向总电量的整数部分PEInt相加后再存入PEInt,余数和正向总电量的小数部分PEDec相加后再存入PEDec(PEInt表示正向总电量的整数部分,PEDec表示正向总电量的小数部分)。当存储后的PEDec≥C时,则需要进位。例如,当C=106时,PEDec是以106为进制向正向总电量的整数部分进位的。
若Reader为负数,反向总电量的累加方法与正向相同,只是在显示时需要加负号(NEInt表示反向总电量的整数部分,NEDec表示反向总电量的小数部分)。
值得一提的是,总电量的整数部分可以直接显示,因为其单位就是kW·h。总电量的小数部分在显示时要除以C,再取要求的位数。如上面提到的C=106,若总电量的小数部分是251044,在要求2位小数时的显示结果为.25kW·h。
(2)各费率正反向总电量的累加
各费率正反向总电量的累加比(1)要略微复杂些,总电量的累加被分成了四种情况:①Reader为负数,某费率的总电量TAEnergy为负数,其中TAEInt的符号表示已有某费率总电量的整数部分,TAEDec表示已有某费率总电量的余数部分;②Reader为负数,TAEnergy为正数;③Reader为正数,TAEnergy为负数;④Reader为正数,TAEnergy为正数。
对Reader的处理与(1)相同,得到Reader的整数和小数部分。通过判断Reader和TAEnergy的符号,确定当前的累加操作属于上述四种情况中的哪一种。
需要说明的是,在执行这个累加算法前,需要判断当前时段采用的是哪种费率,然后才能将Reader累加到相应费率的总电量上。在显示时的处理也与(1)相同。
①Reader为负数,某费率总电量TAEnergy为负数,将Reader取反码并加+1,屏蔽TAEInt与Int的符号位,将TAEInt和Int相加后存入TAEInt,同时符号位置1;余数TAEDec和Dec相加后存入TAEDec;若TAEDec≥C,则向整数部分进位,并将TAEDec-C存入TAEDec,即作为下一次累加的小数部分;
②Reader为正数,TAEnergy为正数,将TAEInt与Int直接相加后存入TAEInt,TAEDee与Dec直接相加后存入TAEDec,若TAEDec≥C,则向整数部分进位,并将TAEDec-C存入TAEDec作为下一次累加的小数部分;
③Reader为正数,TAEnergy为负数,屏蔽TAEnergy的整数部分TAEInt的符号位。比较Int和TAEInt的大小,TAEInt≥Int时,将TAEInt减去Int的值存入TAEInt,给新存入的TAEInt加上负号;比较TAEDec与Dec的大小,TAEDec<Dec时,TAEDec需要向整数部分借位,并将TAEDe+C减去Dec的值存入TAEDec中;若整数部分为零不能借位时,则用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位清零,表示总电量为正数。TAEDec≥Dec时,将TAEDec减去Dec后存入TAEDec。
TAEInt<Int时,将Int减去TAEInt的结果存入TAEInt;比较TAEDec与Dec的大小,TAEDec<Dec时,将Dec减去TAEDec后存入TAEDec。TAEDec≥Dec时,则需要向整数部分借位,将C-TAEDec+Dec的计算结果存入TAEDec。
④Reader为负数,TAEnergy为正数,将Reader取反码后加1,同时屏蔽其符号位;
比较Int和TAEInt的大小,TAEInt≥Int时,将TAEInt减去Int的结果存入TAEInt,表示总电量是正数;比较TAEDec与Dec的大小,TAEDec<Dec时,TAEDec需要向整数借位,用TAEDec+C减去Dec后存入TAEDec。若整数部分为零不能借位时,则用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位置1,表示总电量是负数;TAEDec≥Dec时,将TAEDec减去Dec的结果存入TAEDec。
TAEInt<Int时,将Int减去TAEInt的结果存入TAEInt,将新存入的TAEInt的符号位置1,表示总电量是负数;比较TAEDec与Dec的大小,TAEDec<Dec时,用Dec减去TAEDec后将结果存入TAEDec。TAEDec≥Dec时,则需向整数部分借位,将C-TAEDec+Dec的计算结果存入TAEDec。

Claims (4)

1.可实现双向计量的智能电表的总电量累加方法,所述方法包括累加正向、反向总电量和累加各费率的正向、反向总电量;使用“读复位”模式的能量寄存器,其特征在于:
所述累加正向、反向总电量包括下述步骤:
a)软件判断MCU从能量寄存器中读取的计数值Reader的符号;
b)将a)的计数值除以C,整数商存放在Int中,余数存放在Dec中;
c)将b)中的整数和余数分别与存储器中的原有数据做正向或反向总电量的累加;
所述寄存器中的数据为二进制补码形式,负数则需要将其变换成原码形式,并屏蔽符号位再进行除法运算;
若所述Reader为正数,将其累加到正向总电量上;整数商和正向总电量的整数部分PEInt相加;余数和正向总电量的小数部分PEDec相加;PEDec≥C,向整数进位,并将PEDec-C所得数据作为总电量更新的小数部分,与下一次从能量寄存器读数后求得的余数相加,如此不断递推;
若Reader为负数,反向总电量的累加方法与正向相同,在显示时需要加负号;
由专用电能计量芯片的阈值寄存器中的数据确定所述C值。
2.如权利要求1所述的累加方法,其特征在于:所述累加各费率正反向总电量的步骤为:
1)软件判断Reader的符号和某费率的总电量TAEnergy的符号;
2)根据Reader和TAEnergy的符号,确定情况类型,将Reader累加到相应费率的总电量上。
3.如权利要求2所述的累加方法,其特征在于:所述情况类型包括:
所述Reader为负数,所述TAEnergy为负数;
所述Reader为正数,所述TAEnergy为正数;
所述Reader为正数,所述TAEnergy为负数;
所述Reader为负数,所述TAEnergy为正数。
4.如权利要求3所述的累加方法,其特征在于:
①所述Reader为负数,所述TAEnergy为负数,将Reader取反码并加1,屏蔽TAEnergy的整数部分TAEInt与Int的符号位,将TAEInt和Int相加后存入TAEInt,同时符号位置1;余数TAEDec和Dec相加后存入TAEDec;存入新数据的TAEDec≥C,向整数部分进位,并将TAEDec-C存入TAEDec,所得数据作为各费率总电量更新的小数部分,与下一次从能量寄存器读数后求得的余数累加,如此不断递推;
②所述Reader为正数,所述TAEnergy为正数,将TAEInt与Int直接相加后存入TAEInt,TAEDec与Dec直接相加后存入TAEDec;存入新数据的TAEDec≥C,向整数部分进位,并将TAEDec-C存入TAEDec,所得数据作为各费率总电量更新的小数部分,与下一次从能量寄存器读数后求得的余数累加,如此不断递推;
③所述Reader为正数,所述TAEnergy为负数,屏蔽TAEnergy的整数部分TAEInt的符号位,将TAEInt减去Int的值存入TAEInt,TAEInt≥Int,给新存入的TAEInt加上负号;将TAEDec减去Dec的值存入TAEDec,TAEDec<Dec,TAEDec向整数部分借位,并将TAEDe+C减去Dec的值存入TAEDec中;整数部分为零,用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位清零,表示总电量为正数;TAEDec≥Dec时,将TAEDec减去Dec后存入TAEDec;
④所述Reader为负数,所述TAEnergy为正数,将Reader取反码后加1,同时屏蔽其符号位;TAEInt≥Int,将TAEInt减去Int的值存入TAEInt,表示总电量是正数;将TAEDec减去Dec,TAEDec<Dec时,TAEDec向整数借位,用TAEDec+C减去Dec后存入TAEDec;整数部分为零,用Dec减去TAEDec后存入TAEDec,并将TAEInt的符号位置1,表示总电量是负数;TAEDec≥Dec。
CN201010615727.2A 2010-12-31 2010-12-31 可实现双向计量的智能电表的总电量累加方法 Active CN102200544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010615727.2A CN102200544B (zh) 2010-12-31 2010-12-31 可实现双向计量的智能电表的总电量累加方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010615727.2A CN102200544B (zh) 2010-12-31 2010-12-31 可实现双向计量的智能电表的总电量累加方法

Publications (2)

Publication Number Publication Date
CN102200544A CN102200544A (zh) 2011-09-28
CN102200544B true CN102200544B (zh) 2016-01-20

Family

ID=44661384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010615727.2A Active CN102200544B (zh) 2010-12-31 2010-12-31 可实现双向计量的智能电表的总电量累加方法

Country Status (1)

Country Link
CN (1) CN102200544B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102879619B (zh) * 2012-09-07 2015-04-01 上海申瑞继保电气有限公司 有功电度量满刻度跳转识别方法
CN104251927A (zh) * 2013-06-28 2014-12-31 苏州工业园区新宏博通讯科技有限公司 油机市电表软件实现方法和油机市电表
CN104237632A (zh) * 2014-09-28 2014-12-24 南方电网科学研究院有限责任公司 一种实时双向电能独立计量系统
CN104596538A (zh) * 2015-02-06 2015-05-06 西安易流物联科技有限公司 一种里程计算的方法及车辆监控系统和里程计算装置
CN105242087A (zh) * 2015-11-18 2016-01-13 云南犀鸟科技有限公司 一种分布式发电并网计量装置
CN107436380B (zh) * 2016-05-27 2023-12-15 上海贝岭股份有限公司 电能脉冲产生方法及装置
CN110726873A (zh) * 2019-10-29 2020-01-24 成都雷斯特科技有限公司 电量智能计量系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2305709Y (zh) * 1997-06-04 1999-01-27 广东民族学院 多功能电能电度表抄表器
CN1987489A (zh) * 2006-12-13 2007-06-27 北海银河高科技产业股份有限公司 一种基于微机的交流电量测量装置
CN201429648Y (zh) * 2009-08-11 2010-03-24 惠州市龙鼎盛电力科技有限公司 应用电力载波技术的单相电表

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2305709Y (zh) * 1997-06-04 1999-01-27 广东民族学院 多功能电能电度表抄表器
CN1987489A (zh) * 2006-12-13 2007-06-27 北海银河高科技产业股份有限公司 一种基于微机的交流电量测量装置
CN201429648Y (zh) * 2009-08-11 2010-03-24 惠州市龙鼎盛电力科技有限公司 应用电力载波技术的单相电表

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于CS5463的多功能电子式电能表的研究与设计;甘建平;《中国优秀硕士学位论文全文数据库工程科技II辑》;20071115(第05期);第29,59-63页 *
基于专用芯片的三相多费率电能表研制;马文耀;《中国优秀硕士学位论文全文数据库工程科技II辑》;20080115(第01期);第30-36页 *

Also Published As

Publication number Publication date
CN102200544A (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
CN102200544B (zh) 可实现双向计量的智能电表的总电量累加方法
CN101876693B (zh) 一种基于电能计量芯片的终端校准系统
CN104914304B (zh) 一种波动负荷下的电能精确计量方法及计量装置
CN101140320A (zh) 电能表校验台及其校验方法
CN103248356B (zh) 一种基于采用锁相环脉冲插值技术的计数器及实现方法
CN102176112B (zh) Mcu内置rtc实现时钟精确计时的方法
CN100550631C (zh) 脉冲宽度调制装置
CN106569164A (zh) 一种双芯电能表电量的同步测试方法及系统
CN103365965B (zh) 一种数据的汇总处理方法和装置
CN202093092U (zh) 一种全能电能计量芯片
CN105629052B (zh) 芯片功耗实时检测方法
CN102879641A (zh) 频率量测方法及系统
CN103185645B (zh) 应用于风机控制系统的高精度温度检测装置及检测方法
CN109375572A (zh) 一种基于fpga的小卫星飞轮控制系统及控制方法
CN112945329A (zh) 确定农业机井灌溉水量的方法、装置及终端
CN101556325B (zh) 快速电能误差检定方法
CN201191306Y (zh) 采用频率跟踪采样电路的高精度电能表
CN101881995B (zh) 一种针对arm指令集的层次分类功耗测量方法
CN204679550U (zh) 一种波动负荷下的电能精确计量装置
CN203929885U (zh) 基于fpga的等精度频率测试系统
CN103743982A (zh) 一种中压用户设备每日线损的测定方法
CN202305666U (zh) 一种直流电能表
CN112230178A (zh) 一种电能表需量计量方法
CN202421328U (zh) 一种自检式电子电能表
CN100427958C (zh) 抖动测量装置与测量方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: STATE ELECTRIC NET CROP.

Effective date: 20130216

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130216

Address after: 100192 Beijing city Haidian District Qinghe small Camp Road No. 15

Applicant after: China Electric Power Research Institute

Applicant after: State Grid Corporation of China

Address before: 100192 Beijing city Haidian District Qinghe small Camp Road No. 15

Applicant before: China Electric Power Research Institute

C14 Grant of patent or utility model
GR01 Patent grant