專利名稱:累計(jì)用電量最后記錄的查找方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電能表技術(shù)領(lǐng)域,具體講是一種用于電能表的累計(jì)用電量最后記錄的查找方法。
背景技術(shù):
電能表計(jì)算用電量一般是采用通過(guò)讀取電脈沖的脈沖數(shù)來(lái)計(jì)算用電量,例如若與電能表芯片連接用電脈沖的脈沖常數(shù)為200,則每個(gè)脈沖代表1/200度電,假定電表所接負(fù)載的功率為lkW,則電表每小時(shí)就將產(chǎn)生200個(gè)脈沖輸出。由于存儲(chǔ)器的壽命是由擦寫次數(shù)決定的,故如果用固定地址存放累計(jì)用電量,則若存儲(chǔ)器的擦寫次數(shù)按10萬(wàn)次計(jì)算,該存儲(chǔ)器也只能使用20天,壽命太低。因此,目前一般是采用循環(huán)擦寫的方式存儲(chǔ)累計(jì)用電量,即在存儲(chǔ)器中開(kāi)辟一塊具有多個(gè)地址的循環(huán)存儲(chǔ)區(qū)專門用來(lái)存放累計(jì)用電量,則從循環(huán)存儲(chǔ)區(qū)的第一個(gè)地址向后的正確存儲(chǔ)記錄為0001,0002,0003. · · · 0009,0010,0011. · ·, 直到寫完最后一個(gè)地址之后,再次回到第一個(gè)地址循環(huán)操作,這樣就大大延長(zhǎng)了存儲(chǔ)器的使用壽命。在上述方法中,寫入累計(jì)用電量的方法就是等待脈沖,檢測(cè)到有脈沖時(shí),就將累計(jì)用電量的最后一個(gè)記錄的值加1寫入下一個(gè)地址,因此查找累計(jì)用電量最后記錄則非常重要,現(xiàn)有技術(shù)的查找方法一般有順序查找法及折半查找法等等,這些方法均可以查找到累計(jì)用電量最后記錄,但是若循環(huán)數(shù)據(jù)區(qū)中有一記錄出錯(cuò),則會(huì)導(dǎo)致查找出現(xiàn)錯(cuò)誤,影響后續(xù)程序,導(dǎo)致電能表系統(tǒng)計(jì)算用電出現(xiàn)錯(cuò)誤,容錯(cuò)性較差,可靠性低。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是,克服現(xiàn)有的技術(shù)缺陷,提供一種容錯(cuò)性好,可靠性高的累計(jì)用電量最后記錄的查找方法。本發(fā)明的技術(shù)解決方案是,提供一種累計(jì)用電量最后記錄的查找方法,它包括以下步驟(1)、開(kāi)始,讀取存儲(chǔ)區(qū)的第一條記錄并設(shè)為前記錄;(2)、讀取下一條記錄并設(shè)為后一記錄;(3)、將前記錄的內(nèi)容加1和后一記錄比較,若相等,則將后一記錄設(shè)為前記錄,繼續(xù)查找,返回步驟⑵;0)、若不相等,則讀取下一條記錄作為后二記錄,將前記錄的內(nèi)容加2和后二記錄比較,若相等,則判斷后一記錄存儲(chǔ)出現(xiàn)錯(cuò)誤,將后二記錄設(shè)為前記錄,繼續(xù)查找,返回步驟⑵(5)、若不相等,則判斷前記錄的內(nèi)容為累計(jì)用電量最后記錄的數(shù)值,后一記錄的地址為寫入下個(gè)記錄的地址;(6)、直到查找到最后一個(gè)記錄,仍未查找到累計(jì)用電量最后記錄的數(shù)值,則判斷最后一條記錄為累計(jì)用電量最后記錄的數(shù)值,第一條記錄的地址為寫入下個(gè)記錄的地址。
采用上述方法后,本發(fā)明具有以下優(yōu)點(diǎn)本發(fā)明累計(jì)用電量最后記錄的查找方法采用連續(xù)三個(gè)記錄進(jìn)行對(duì)比的方法來(lái)查找累計(jì)用電量最后記錄,若在循環(huán)存儲(chǔ)區(qū)有一個(gè)記錄出錯(cuò),這種方法可以自動(dòng)識(shí)別,跳過(guò)錯(cuò)誤記錄繼續(xù)查找正確記錄,容錯(cuò)性高,從而大大提高系統(tǒng)的可靠性。
具體實(shí)施例方式下面結(jié)合具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。本發(fā)明提供一種累計(jì)用電量最后記錄的查找方法,其特征在于它包括以下步驟(1)、開(kāi)始,讀取存儲(chǔ)區(qū)的第一條記錄并設(shè)為前記錄;(2)、讀取下一條記錄并設(shè)為后一記錄;(3)、將前記錄的內(nèi)容加1和后一記錄比較,若相等,則將后一記錄設(shè)為前記錄,繼續(xù)查找,返回步驟⑵;0)、若不相等,則讀取下一條記錄作為后二記錄,將前記錄的內(nèi)容加2和后二記錄比較,若相等,則判斷后一記錄存儲(chǔ)出現(xiàn)錯(cuò)誤,將后二記錄設(shè)為前記錄,繼續(xù)查找,返回步驟⑵;(5)、若不相等,則判斷前記錄的內(nèi)容為累計(jì)用電量最后記錄的數(shù)值,后一記錄的地址為寫入下個(gè)記錄的地址;(6)、直到查找到最后一個(gè)記錄,仍未查找到累計(jì)用電量最后記錄的數(shù)值,則判斷最后一條記錄為累計(jì)用電量最后記錄的數(shù)值,第一條記錄的地址為寫入下個(gè)記錄的地址。例如存儲(chǔ)器中的地址為OlH 60H的區(qū)域設(shè)為循環(huán)存儲(chǔ)區(qū),OlH的記錄為1000, 02H的記錄為1010,03H的記錄為1002,04H的記錄為0078,05H的記錄為0079。則將OlH 的記錄1000設(shè)為前記錄。讀取下一條記錄并設(shè)為后一記錄;下一條記錄為02H的記錄1010為后一記錄。將前記錄的內(nèi)容加1和后一記錄比較,即1000加1跟02H中1010比較。不相等,則將03H的記錄1002作為后二記錄,將1000加2和1002比較,相等,則將03H的記錄作為前記錄,將下一條記錄及04H的0078作為后一記錄,將前記錄的內(nèi)容加1和后一記錄比較,1002加1跟0078比較,不相等,將05H的記錄0079作為后二記錄,將1002加2跟0079比較,不相等,則判斷03H 的記錄為累計(jì)用電量最后記錄的數(shù)值,則將下一個(gè)寫入的數(shù)值寫入04H中。本發(fā)明累計(jì)用電量最后記錄的查找方法采用連續(xù)三個(gè)記錄進(jìn)行對(duì)比的方法來(lái)查找累計(jì)用電量最后記錄,若在循環(huán)存儲(chǔ)區(qū)有一個(gè)記錄出錯(cuò),這種方法可以自動(dòng)識(shí)別,跳過(guò)錯(cuò)誤記錄繼續(xù)查找正確記錄,容錯(cuò)性高,從而大大提高系統(tǒng)的可靠性。
權(quán)利要求
1. 一種累計(jì)用電量最后記錄的查找方法,其特征在于它包括以下步驟(1)、開(kāi)始,讀取存儲(chǔ)區(qū)的第一條記錄并設(shè)為前記錄;(2)、讀取下一條記錄并設(shè)為后一記錄;(3)、將前記錄的內(nèi)容加1和后一記錄比較,若相等,則將后一記錄設(shè)為前記錄,繼續(xù)查找,返回步驟⑵;G)、若不相等,則讀取下一條記錄作為后二記錄,將前記錄的內(nèi)容加2和后二記錄比較,若相等,則判斷后一記錄存儲(chǔ)出現(xiàn)錯(cuò)誤,將后二記錄設(shè)為前記錄,繼續(xù)查找,返回步驟 ⑵;(5)、若不相等,則判斷前記錄的內(nèi)容為累計(jì)用電量最后記錄的數(shù)值,后一記錄的地址為寫入下個(gè)記錄的地址;(6)、直到查找到最后一個(gè)記錄,仍未查找到累計(jì)用電量最后記錄的數(shù)值,則判斷最后一條記錄為累計(jì)用電量最后記錄的數(shù)值,第一條記錄的地址為寫入下個(gè)記錄的地址。
全文摘要
本發(fā)明涉及一種累計(jì)用電量最后記錄的查找方法,這種方法采用連續(xù)三個(gè)記錄進(jìn)行對(duì)比的方法來(lái)查找累計(jì)用電量最后記錄,若在循環(huán)存儲(chǔ)區(qū)有一個(gè)記錄出錯(cuò),這種方法可以自動(dòng)識(shí)別,跳過(guò)錯(cuò)誤記錄繼續(xù)查找正確記錄,容錯(cuò)性高,從而大大提高系統(tǒng)的可靠性。
文檔編號(hào)G06F17/30GK102495836SQ20111033263
公開(kāi)日2012年6月13日 申請(qǐng)日期2011年10月28日 優(yōu)先權(quán)日2011年10月28日
發(fā)明者何昂, 胡寧, 胡志剛, 鄭堅(jiān)江 申請(qǐng)人:寧波三星電氣股份有限公司