发明内容
本发明要解决的技术问题是:已有的技术方案仅仅对计量脉冲信息做简单换算功率的方法,已经无法适应负荷变动范围较宽的应用场合,尤其是极高或极低负荷的情况下,其计算误差较大。
为了解决上述技术问题,本发明的技术方案是提供了一种基于电能表计量脉冲的动态求算功率的方法,在该方法中,将统计时段内第一个脉冲之前的时间定义为前碎片时间,将统计时段内最后一个脉冲之后的时间定义为后碎片时间,其特征在于,包括以下步骤:
步骤1、启动统计时间计时器及前碎片时间计时器,若在统计时间计时器的值到达统计时段时长前,捕获到第一个脉冲,则进入步骤2,若在统计时间计时器的值到达统计时段时长前,未捕获到任何脉冲,则进入步骤7;
步骤2、停止前碎片时间计时器,计数状态置1,将碎片时间计时器的值作为当前统计时段的前碎片时间,计算前次统计时段的平均功率P,将前次统计时段定义为目标统计时段,将功率趋势状态值定义为高、普通、低三种状态,根据目标统计时段的功率趋势状态值选定不同的计算方法:
若目标统计时段的功率趋势状态值为高,则
P=(C+1)×n/T,式中,C为目标统计时段内捕获的脉冲个数,n为脉冲当量,T为统计时段的时长;
若目标统计时段的功率趋势状态值为普通,则
P=[TP/(TP+TE-1)+TE/(TP+1+TE)+C]×n/T,式中,TP为目标统计时段的前碎片时间,TE-1为目标统计时段的前次统计时段的后碎片时间,TE为目标统计时段的后碎片时间,TP+1目标统计时段的前次统计时段的前碎片时间;
若目标统计时段的功率趋势状态值为低,则
P=[T/(T+TP)]×n/T×(S-1||S),式中,S-1||S目标统计时段的前次统计时段的计数状态S-1与目标统计时段的计数状态S的逻辑或值;
步骤3、将脉冲计数器设为初始值,开启后碎片时间计时器;
步骤4、等待捕获下一个脉冲,直至统计时间计时器的值到达统计时段时长,则进入步骤8;
步骤5、捕获到一个脉冲后,脉冲计数器加一,停止后碎片时间计时器,将后碎片时间计时器的值与后碎片时间相比较,若大于,将后碎片时间更新为后碎片时间计时器的值,否则,不更新后碎片时间;
步骤6、重启后碎片时间计时器后,返回步骤4;
步骤7、执行一次步骤2后,进入步骤8;
步骤8、将计数状态置0,停止脉冲捕获,停止后碎片时间计时器,将后碎片时间计时器的值与后碎片时间相比较,若大于,将后碎片时间更新为后碎片时间计时器的值,否则,不更新后碎片时间;
步骤9、将后碎片时间定义为趋势判断比较值,将趋势判断比较值与预先设定的趋势阈值比较,若大于趋势阈值,则将趋势状态值设定为高,若介于趋势阈值与零之间,则将趋势状态值设定为普通,若功率趋势判断比较值为零,则将趋势状态值设定为低,返回步骤1。
优选地,在所述步骤2中,所述脉冲当量n通过对电能表脉冲常数取反后得到。
优选地,在所述步骤2之后,并所述步骤3之前还包括:
步骤A、求得前次统计时段的平均功率P的同时加入同步时间戳,并对整段数据进行打包与保存;
在所述步骤7中,执行一次步骤2及步骤A后,进入步骤8。
优选地,在所述步骤9中,将所述统计时段的时长与比例系数相乘后得到所述趋势阈值。
对比已有的技术方案,仅仅对计量脉冲信息做简单换算功率的方法,已经无法适应负荷变动范围较宽的应用场合,尤其是极高或极低负荷的情况下,其计算误差较大。为此,本发明提供了一种基于电能表计量脉冲的动态求算功率的方法。该方法在计算功率之前做出负荷趋势判断,有针对性地选择不同计算方法求算功率,很好地适应了负荷变动范围宽广的应用场合。
与现有技术相比(CN201320464612),采用本方法可以提高自设时长内较少脉冲的平均功率采样精度,使误差在极低脉冲数下,由特定算法近似补偿1个脉冲,使得误差精度提高。还原对比技术的求算公式的误差精度δ=1-(脉冲/脉冲)*100%。设输出10个脉冲则个在一段时间内捕获10±1个,则误差在10%。因此低负荷的状态下,采样精度是不够高的。采用本发明可以提前预判小负荷的情形,再选择具有碎片时间补偿的方法,很好的改善了原有技术的不足。
与现有技术相比(CN101907697A),采用本方法可以避免冗繁的模型计算和比对,无需得到计量误差,即可在设定的时间,采集动态需量变化,因功率趋势判断首先也是采集瞬态功率,因此一样能够方便地检测动态负载的状况,实现对耗电大户的冲击性负荷耗能的准确计量。
与现有技术相比(CN102158220A),本发明巧妙地将高负荷的脉冲间隔时长换算功率的方法改为快速计数的方法。克服了在极高负荷下,因计量脉冲时隔过窄、处理器内部定时精度、程序上的频繁中断等客观的物理硬件限制情况下引起的脉冲丢失与计时偏差。还原现有技术的计算公式P(W)=E(kWh)/T-T(s)。若T为10ms,则定时中断至少保持微秒级别以内,那么因客观硬件限制,TΔ的变动将是无法改善的。若是因频繁中断导致的脉冲丢失,E将成倍变小T将成倍变大,则直接导致计算结果P的误差将呈倍数级恶化的趋势。
与现有技术相比(CN103760514A),采用本方法无需加大电表的电能常数,即可在极小负载情况下,在设定的时段内计算出平均功率,同样可以加快采样速度和采样精度。
通过本方法在现有脉冲计数装置的实践,实现了在极高、普通、极低负荷情况下的平均功率计算,其精度控制在1%以内。与现有技术相比,该方法在满足计算精度的前提下,很好地提高了终端用户对需量采集系统的应用灵活性。
具体实施方式
为使本发明更明显易懂,兹以优选实施例,并配合附图作详细说明如下。
结合图1及图2,本发明提供的一种基于电能表计量脉冲的动态求算功率的方法包括:
1、趋势判断方法;
2、折算脉冲当量;
3、计算方法H;
4、计算方法M;
5、计算方法L。
一、功率计算流程:
需量采集系统启动后,开启首个事件1。
事件1:
1.1开启统计时间计时器。
1.2开启前时间碎片计时器。
1.3捕获首脉冲后,结束事件1,触发事件2。
1.4统计时间计时器的值达到统计时段的时长,即触发事件4。
事件2:
2.1停止前时间碎片计时器。
2.2计数状态置1。
2.2依照前次统计时段的功率趋势状态值,分别选择计算方法H、计算方法M、计算方法L,具体计算方法参见以下第二部分内容,本步骤中的前次统计时段即为以下第二部分内容中的目标统计时段。
2.3求得前次统计时段的平均功率P,在获取平均功率P的同时加入同步时间戳并对整段数据进行打包与保存。
2.4脉冲计数器清零。
2.5开启后碎片时间计时器。
2.6开启“重触发脉冲捕获”机制,重复捕获脉冲将重复执行事件3,直至统计时间计时器的值达到统计时段的时长后,触发事件4。
事件3:
3.1脉冲计数器加1。
3.2停止后碎片时间计时器,保留后碎片时间器的历史最大值作为后碎片时间,后碎片时间同时也是功率趋势判断比较值。
3.3重启后碎片时间计时器。
事件4:
4.1若由事件1的步骤1.4而进入的状态进入的事件4,则强制执行事件2中的步骤2.1至步骤2.3,屏蔽事件3。即本统计时段内无脉冲捕获,只执行一次事件2后返回事件4。
4.2计数状态置0;
4.3停止“重触发脉冲捕获”;
4.5停止后碎片时间计时器,并保存后碎片时间计时器的值。
4.5执行趋势判断方法,得到趋势判断状态值,并保存。
4.6重启事件1。
二、趋势判断方法
1将预设的统计时段的时长与比例系数相乘,得到趋势阈值。
2取出功率趋势判断比较值,与趋势阈值比较:
若大于趋势阈值,则功率趋势判断比较值为“高”,选择计算方法H。
若介于趋势阈值与零之间,则功率趋势判断比较值为“普通”,选择计算方法M。
若功率趋势判断比较值为零,则功率趋势判断比较值为“低”,选择计算方法L。
3计量脉冲折算脉冲当量
设定已知的电能表脉冲常数(单位imp/kWh)后,取反得每脉冲耗电量的脉冲当量n(kWs/imp)。
例:脉冲系数为3600imp/kWh,则n=1(kWs/imp)。
4计算方法H
P=(C+1)×n/T,式中,C为目标统计时段内捕获的脉冲个数,n为脉冲当量,T为统计时段的时长。
计算方法M
P=[TP/(TP+TE-1)+TE/(TP+1+TE)+C]×n/T,式中,TP为目标统计时段的前碎片时间,TE-1为目标统计时段的前次统计时段的后碎片时间,TE为目标统计时段的后碎片时间,TP+1目标统计时段的前次统计时段的前碎片时间。
计算方法L
P=[T/(T+TP)]×n/T×(S-1||S),式中,S-1||S目标统计时段的前次统计时段的计数状态S-1与目标统计时段的计数状态S的逻辑或值。
以下解决具体数据对本发明进行进一步的说明。
现场情况条件如下:电能表脉冲常数为3600imp/kWh;统计时段设定为100秒;负荷功率为高负荷100kW,普通负荷1kW,低负荷9W。
启动需量采集系统,输入脉冲常数后,得到脉冲当量为1kWs/imp。输入设定时段100秒后,由设定系数得出趋势阈值为0.1秒。
第一个统计时段为100kW负荷。电能表每秒输出100个脉冲。
1.1、开启统计时段。进入当前统计时间段后启动事件1。
开启TP(前时间碎片)计时,直到0.01秒后捕获首个脉冲,进入事件2,停止TP。
1.2、计数状态S置1;取出前次统计时段的功率趋势状态值和“后碎片时间”。其值皆为“0”;选择计算公式L。计算前次平均功率,结果为“0W”。将“0W”与统计时段的同步时间戳合并数据打包。开启脉冲计数器C。开启TE(后碎片时间)计时。开启重触发脉冲捕获。
0.01秒后,捕获第二个脉冲,停止TE并保存;触发事件3。
1.3、C的计数值加1;TE转存趋势比较值TC,若TE<=TC则不刷新TC;循环往复执行事件3。统计时段100秒时间到,触发事件4。
1.4、停止重触发脉冲捕获,C=10000;停止TE计时,并保存。
功率趋势阈值TH>TC,趋势判断为“高”,并保存;结束事件4,开启第二个统计时段,启动事件1。第二个统计时段为1kW负荷。电能表每秒输出1个脉冲。
2.1、开启统计时段。进入当前统计时间段后启动事件1。
开启TP计时,直到1秒后捕获首个脉冲,进入事件2,停止TP。
2.2、计数状态S置1;
取出前次统计时段的功率趋势状态值“高”TE。
选择计算公式H。P=10000*1kWs/100s结果为“100kW”。将“100kW”与第一个统计时段同步时间戳合并数据打包。
开启“脉冲”计数C。开启TE计时。开启重触发脉冲捕获。
1秒后,捕获第二个脉冲,停止TE并保存;触发事件3。
2.3、C的计数值加1;TE转存趋势比较值TC,若TE>TC刷新TC;循环往复执行事件3。统计时段100秒时间到,触发事件4。
2.4、停止重触发脉冲捕获,C=100;停止TE计时,并保存。
功率趋势阈值TH<TC,趋势判断为“普通”,并保存;结束事件4,开启第三个统计时段,启动事件1。第三个统计时段为9W负荷。电能表每秒输出0.009个脉冲。
3.1、开启统计时段。进入当前统计时间段后启动事件1。
开启TP计时,但9W负荷情况下,电表在100秒内未能输出脉冲。由事件1进入事件4。
3.2在事件4进程中,强行跳转执行事件2。计数状态S置0;
取出前次统计时段的功率趋势状态值“普通”和TE。
选择计算公式M。P=1kWs[1/(1+0)+0/(100+0)+99]/100s;
结果为“1kW”。将“1kW”与第二个统计时段同步时间戳合并数据打包。
停止TP计时,将TP复制TE并保存。
S为0趋势判断为“低”,并保存;结束事件4,开启第四个统计时段,启动事件1。第四个统计时段仍为9W负荷。电能表输出1个脉冲需等待111.1秒。
4.1、开启统计时段。进入当前统计时间段后启动事件1。
开启TP计时,保持9W负荷情况下,电表在第四个时段开启后的11.1秒输出脉冲。进入事件2,停止TP。
4.2、计数状态S置1:
取出前次统计时段的功率趋势状态值“低”、S-1和TE。选择计算公式L,P=1kWs*[100/(100+11.1)]/100*1,结果为“9W”。将“9W”与第一个统计时段同步时间戳合并数据打包。
开启“脉冲”计数C。开启TE计时。开启重触发脉冲捕获。
88.9秒触发事件4。
4.3、停止重触发脉冲捕获,C=0;停止TE计时,并保存。
功率趋势阈值TH<TC,趋势判断为“普通”,并保存;结束事件4,开启第五个统计时段,启动事件1。第五个统计时段仍为9W负荷。
5.1、开启统计时段。进入当前统计时间段后启动事件1。
开启TP计时,保持9W负荷情况下,电表在第四个时段开启后的11.1秒输出脉冲。进入事件2,停止TP。
5.2、计数状态S置1;
取出前次统计时段的功率趋势状态值“低”、S-1和TE。选择计算公式L,P=1kWs*[100/(100+11.1)]/100*1,结果为“9W”。将“9W”与第一个统计时段同步时间戳合并数据打包。
开启“脉冲”计数C。开启TE计时。开启重触发脉冲捕获。
88.9秒触发事件4。
4.3、停止重触发脉冲捕获,C=0;停止TE计时,并保存。
功率趋势阈值TH<TC,趋势判断为“普通”,并保存;结束事件4,开启第五个统计时段,启动事件1。第五个统计时段为1kW负载。如此循环往复地先判断再计算,可得第四个统计时段的平均功率为
P=[11.1/(11.1+100)+88.9/(1+88.9)+0]*1kw/100
=(0.1+0.988)*10=10.88W。