本發(fā)明涉及電能表領(lǐng)域,特別涉及一種電能表運(yùn)行數(shù)據(jù)管理方法。
背景技術(shù):
1、相關(guān)技術(shù)中會在電量變動時將增量進(jìn)行累加計(jì)算得到更新后的電量并將更新后的電量存入到存儲區(qū)域中,以便電能表能夠保存更新后的電量。而為了降低存儲區(qū)域中的電量進(jìn)行更新過程由于電能表發(fā)生異常狀況導(dǎo)致數(shù)據(jù)更新錯誤的影響,會將電量劃分為頭部分和塊部分等兩個部分,分別向存儲區(qū)域存入不同部分的電量數(shù)據(jù),從而更新時可以改動盡量少的數(shù)據(jù),例如更新僅發(fā)生在塊部分,則頭部分無需更新,降低數(shù)據(jù)更新錯誤的影響。如頭部分保存三位小數(shù)及之前的部分,塊部分僅保存電量的三位小數(shù)之后的部分,即使存入過程塊部分發(fā)生錯誤,而頭部分也不受影響,使得更新后的電量異常突變控制在較小的范圍。
2、雖然上述相關(guān)技術(shù)使得更新后的電量異常突變控制在較小的范圍,但是已經(jīng)發(fā)生了突變的數(shù)據(jù)無法追溯和修正,導(dǎo)致電能表累計(jì)的用電量不準(zhǔn)確。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一,提供一種電能表運(yùn)行數(shù)據(jù)管理方法,能夠在更新電量存儲區(qū)域中的電量過程中發(fā)生錯誤時,通過追溯保存在中間存儲區(qū)域中預(yù)設(shè)格式的總電量對電量存儲區(qū)域中的用電量進(jìn)行修正,保證電能表累計(jì)的用電量的準(zhǔn)確性。
2、為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供如下技術(shù)方案:
3、一種電能表運(yùn)行數(shù)據(jù)管理方法,所述方法包括:
4、電能表按照預(yù)設(shè)頻率獲取脈沖增量,并基于獲取到的脈沖增量判斷是否符合預(yù)設(shè)條件;其中,將獲取到的脈沖增量轉(zhuǎn)換為電增量進(jìn)行累計(jì)并將累計(jì)結(jié)果存入到增量累計(jì)存儲區(qū)域中,則符合預(yù)設(shè)條件是指累計(jì)結(jié)果不小于閾值;
5、電能表檢測到符合預(yù)設(shè)條件時,基于所述累加結(jié)果生成預(yù)設(shè)格式的總電量數(shù)據(jù),并將預(yù)設(shè)格式的總電量數(shù)據(jù)存入中間存儲區(qū)域;其中,所述預(yù)設(shè)格式的總電量數(shù)據(jù)包括頭部分和塊部分,所述總電量數(shù)據(jù)用于指示電能表統(tǒng)計(jì)的總電量;
6、電能表基于中間存儲區(qū)域中的總電量數(shù)據(jù)更新電量存儲區(qū)域中的用電量。
7、作為進(jìn)一步改進(jìn),將第n次符合預(yù)設(shè)條件時對應(yīng)的累計(jì)結(jié)果作為第n次的累計(jì)用電量增量,n為正整數(shù);所述方法還包括:
8、檢測到第n次符合預(yù)設(shè)條件時,將第n次的累計(jì)用電量增量存入暫存存儲區(qū)域;
9、將新獲取的脈沖增量從零開始進(jìn)行累計(jì)并將累計(jì)結(jié)果存入增量累計(jì)存儲區(qū)域中,以便在第n+1次符合預(yù)設(shè)條件時得到第n+1次的累計(jì)用電量增量。
10、作為進(jìn)一步改進(jìn),所述頭部分由頭電量和與頭電量對應(yīng)的頭描述符組成,所述塊部分由塊電量和與塊電量對應(yīng)的塊描述符組成;在第n次符合預(yù)設(shè)條件時,基于所述累加結(jié)果生成預(yù)設(shè)格式的總電量數(shù)據(jù),具體包括:
11、從暫存存儲區(qū)域中獲取第n次的累計(jì)用電量增量;
12、獲取第n-1次符合預(yù)設(shè)條件時生成的塊部分中的塊電量;
13、將第n-1次符合預(yù)設(shè)條件時生成的塊部分中的塊電量與第n次的累計(jì)用電量增量進(jìn)行相加,得到臨時塊電量;
14、生成與臨時塊電量非進(jìn)位的部分對應(yīng)的塊描述符;
15、基于臨時塊電量非進(jìn)位的部分和塊描述符生成塊部分;
16、將臨時塊電量進(jìn)位的部分與第n-1次符合預(yù)設(shè)條件時生成的頭部分中的頭電量進(jìn)行相加得到臨時頭電量;
17、生成與臨時頭電量對應(yīng)的頭描述符;
18、基于臨時頭電量和頭描述符生成頭部分。
19、作為進(jìn)一步改進(jìn),所述中間存儲區(qū)域由相鄰的塊存儲區(qū)域和頭存儲區(qū)域構(gòu)成,將預(yù)設(shè)格式的總電量數(shù)據(jù)存入中間存儲區(qū)域,具體包括:
20、將生成的塊部分存入到塊存儲區(qū)域中;
21、將生成的頭部分存入到頭存儲區(qū)域中。
22、作為進(jìn)一步改進(jìn),基于公式一生成所述塊描述符p;其中,為塊部分中塊電量第i位數(shù)字,s為塊部分中塊電量數(shù)字的總位數(shù),%為取模運(yùn)算,n為預(yù)設(shè)的模數(shù);
23、基于公式二生成所述頭描述符q;其中,為頭部分中頭電量第i位數(shù)字,t為頭部分中頭電量數(shù)字的總位數(shù),%?為取模運(yùn)算,n為預(yù)設(shè)的模數(shù)。
24、作為進(jìn)一步改進(jìn),各存儲區(qū)域的長度大于寫入該存儲區(qū)域的一筆數(shù)據(jù)的長度,所述方法還包括:
25、當(dāng)向目標(biāo)存儲區(qū)域?qū)懭氲?筆數(shù)據(jù)時,寫入第1筆數(shù)據(jù)的地址str;
26、當(dāng)向目標(biāo)存儲區(qū)域?qū)懭氲趎+1筆數(shù)據(jù)時,若l-(a_(n)%l)≥m,則寫入第n+1筆數(shù)據(jù)的地址為str?+(a_(n)?%?l);
27、當(dāng)向目標(biāo)存儲區(qū)域?qū)懭氲趎+1筆數(shù)據(jù)時,若l-(a_(n)%l)<m,則寫入第n+1筆數(shù)據(jù)的地址為str;
28、其中,n為正整數(shù),目標(biāo)存儲區(qū)域?yàn)楦鞔鎯^(qū)域中的任一存儲區(qū)域,a_(n)為目標(biāo)存儲區(qū)域被寫入了第n筆數(shù)據(jù)后統(tǒng)計(jì)得到的寫入統(tǒng)計(jì)總長度,l為目標(biāo)存儲區(qū)域的長度,str為目標(biāo)存儲區(qū)域的起始地址;m為第n+1筆數(shù)據(jù)的長度。
29、作為進(jìn)一步改進(jìn),根據(jù)以下步驟確定目標(biāo)存儲區(qū)域被寫入了第n+1筆數(shù)據(jù)后統(tǒng)計(jì)得到的寫入統(tǒng)計(jì)總長度a_(n+1):
30、若(a_(n)?%?l)?+?m?≤?l,則a_(n+1)?=?a_(n)?+?m;
31、若(a_(n)?%?l)?+?m?>?l,則a_(n+1)?=?a_(n)?+?m?+δ;其中,δ為修正增量,δ=l-(a_(n)?%?l)。
32、作為進(jìn)一步改進(jìn),所述方法還包括:
33、電能表在運(yùn)行達(dá)到預(yù)設(shè)時長后,檢測到符合預(yù)設(shè)條件時,觸發(fā)調(diào)整增量累計(jì)存儲區(qū)域、暫存存儲區(qū)域、塊存儲區(qū)域、頭存儲區(qū)域、電量存儲區(qū)域五個存儲區(qū)域的地址范圍。
34、作為進(jìn)一步改進(jìn),增量累計(jì)存儲區(qū)域的地址范圍為str_1至mtr_1、暫存存儲區(qū)域的地址范圍為str_2至mtr_2、塊存儲區(qū)域的地址范圍為str_3至mtr_3、頭存儲區(qū)域的地址范圍為str_4至mtr_4、電量存儲區(qū)域的地址范圍為str_5至mtr_5;其中,str_1<str_2<str_3<str_4<str_5,并且str_2-mtr_1=str_3-mtr_2=str_4-mtr_3=str_5-mtr_4=1。
35、作為進(jìn)一步改進(jìn),若在第n+1次符合預(yù)設(shè)條件時,觸發(fā)調(diào)整增量累計(jì)存儲區(qū)域、暫存存儲區(qū)域、塊存儲區(qū)域、頭存儲區(qū)域、電量存儲區(qū)域五個存儲區(qū)域的地址范圍,則基于以下公式三確定調(diào)整后各存儲區(qū)域的長度之比;
36、公式三;
37、其中,將增量累計(jì)存儲區(qū)域命名為區(qū)域1、將暫存存儲區(qū)域命名為區(qū)域2、將塊存儲區(qū)域命名為區(qū)域3、將頭存儲區(qū)域命名為區(qū)域4、將電量存儲區(qū)域命名為區(qū)域5;則為調(diào)整后區(qū)域k的長度,為區(qū)域k的區(qū)域特性參數(shù),,k∈{k|1,2,3,4,5},為區(qū)域k被寫入了第n筆數(shù)據(jù)后統(tǒng)計(jì)得到的寫入統(tǒng)計(jì)總長度。
38、有益效果:1、相較于現(xiàn)有技術(shù)中將電量數(shù)據(jù)存入到電量存儲區(qū)域過程中一旦由于異常狀態(tài)導(dǎo)致數(shù)據(jù)丟失使得電能表累計(jì)的用電量不準(zhǔn)確的問題,本技術(shù)提供的一種電能表運(yùn)行數(shù)據(jù)管理方法,將用于更新用電量的預(yù)設(shè)格式的總電量數(shù)據(jù)先存入到中間存儲區(qū)域中,能夠在更新電量存儲區(qū)域中的電量過程中發(fā)生錯誤時,通過追溯保存在中間存儲區(qū)域中預(yù)設(shè)格式的總電量對電量存儲區(qū)域中的用電量進(jìn)行修正,保證電能表累計(jì)的用電量的準(zhǔn)確性。
39、2、進(jìn)一步的,如果在將預(yù)設(shè)格式的總電量數(shù)據(jù)存入中間存儲區(qū)域過程中發(fā)生錯誤時,也可以通過追溯保存在增量累計(jì)存儲區(qū)域中的數(shù)據(jù)對中間存儲區(qū)域中的預(yù)設(shè)格式的總電量進(jìn)行修正,保證電能表累計(jì)的用電量的準(zhǔn)確性。
40、3、同時,相較于現(xiàn)有技術(shù)中,一旦檢測到一個脈沖就觸發(fā)更新電量存儲區(qū)域中用電量的操作而導(dǎo)致對電能表控制器的資源消耗較多的問題,本技術(shù)中更新電量存儲區(qū)域中的用電量的頻率是可以基于閾值進(jìn)行調(diào)整的,而無需在測到每個脈沖時就進(jìn)行更新,降低了更新用電量的頻率,從而降低對電能表中控制器的資源消耗。
41、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。