国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可實現(xiàn)雙向計量的智能電表的總電量累加方法

      文檔序號:5885017閱讀:708來源:國知局
      專利名稱:可實現(xiàn)雙向計量的智能電表的總電量累加方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種累加方法,具體涉及可實現(xiàn)雙向計量的智能電表的總電量累加方法。
      背景技術(shù)
      專用電能計量芯片通常能夠?qū)崟r判斷潮流方向,其對應(yīng)寄存器中計量值的符號也隨之發(fā)生變化。具體地說,如果指定有功功率的參考方向為電網(wǎng)流向用戶,則當(dāng)有功功率的方向與參考方向相反時為負(fù)功率,表示用戶向電網(wǎng)回送電能,對應(yīng)寄存器中的計量值為負(fù)數(shù);當(dāng)有功功率的方向與參考方向一致時為正功率,表示用戶從電網(wǎng)汲取電能,對應(yīng)寄存器中的計量值為正數(shù)。電量在專用電能計量芯片中的計量過程分成兩個階段。第一階段由集成在芯片中的DSP完成,它對功率做有符號的積分運(yùn)算并將結(jié)果暫存在一個內(nèi)部寄存器中。當(dāng)積分結(jié)果達(dá)到用戶設(shè)定的閾值時,DSP在輸出一個脈沖的同時,用內(nèi)部寄存器中存儲的積分結(jié)果減去閾值;第二階段計數(shù)DSP輸出的脈沖個數(shù),并將計數(shù)值暫存在累加寄存器中。當(dāng)MCU讀取計數(shù)值時,該計數(shù)值將從累加寄存器轉(zhuǎn)存到能量寄存器中,能量寄存器或者清零,或者保留原計數(shù)值。DSP輸出的脈沖分頻后得到電表的能量脈沖,分頻倍數(shù)取決于電表常數(shù)。目前使用的電子式電能表幾乎都采用計數(shù)能量脈沖,通過指示燈顯示的脈沖個數(shù)來計算用戶的用電量。例如,某電子式電能表的常數(shù)是^OOimp/kW·!!,當(dāng)脈沖個數(shù)累加(通常通過MCU中的定時器實現(xiàn))到400個時,用戶就消耗了 0. IkW 的電量。這種簡單的電量累加方法存在下述諸多缺點(diǎn)(1)電磁干擾可能導(dǎo)致脈沖個數(shù)的增加或減少,從而造成計量誤差;(2)設(shè)計者通常指定一個計數(shù)閾值,譬如上文的400。當(dāng)計數(shù)器計到這個數(shù)值時, 才會將計數(shù)值清零并將該部分電量累加到總電量中;若要隨機(jī)讀取當(dāng)前的計數(shù)值,則可能會產(chǎn)生士 1個脈沖的計數(shù)誤差。如果當(dāng)前的計數(shù)值不是400,則會帶來較大的計算誤差。譬如,若當(dāng)前的計數(shù)值為13,則13/4000 = 0. 00325kff *h,軟件很可能將小數(shù)點(diǎn)后的325截掉,因此丟掉了這部分電量。(3)若專用電能計量芯片的計量原理是對功率,而不是功率的絕對值積分,大的閾值(在電能計量芯片的相關(guān)寄存器中設(shè)置,當(dāng)積分值達(dá)到此閾值時,電能計量芯片中的DSP 輸出一個脈沖)會帶來大的雙向計量誤差。目前,大多數(shù)的MCU芯片只支持整數(shù)運(yùn)算,如果要在這些MCU上進(jìn)行小數(shù)運(yùn)算,定點(diǎn)小數(shù)運(yùn)算應(yīng)該是最佳選擇。雖然用浮點(diǎn)MCU來做應(yīng)該容易的多,但低成本也是非常重要的,定點(diǎn)機(jī)器比相應(yīng)的浮點(diǎn)機(jī)器要便宜,而且速度更快。

      發(fā)明內(nèi)容
      針對現(xiàn)有技術(shù)存在的不足,本發(fā)明的目的在于提供一種能完成雙向總電量累加的算法。
      本發(fā)明提供的可實現(xiàn)雙向計量的智能電表的總電量累加方法,其改進(jìn)之處在于 所述方法包括累加正反向總電量和累加各費(fèi)率的正反向總電量;使用“讀復(fù)位”模式的能量寄存器。本發(fā)明提供的第一優(yōu)選方案的累加方法,其改進(jìn)之處在于所述累加正反向總電量包括下述步驟a)軟件判斷MCU從能量寄存器中讀取的計數(shù)值Reader的符號;b)將a)的計數(shù)值除以C,整數(shù)商存放在ht中,余數(shù)存放在Dec中;c)將b)中的整數(shù)和余數(shù)分別與存儲器中的原有數(shù)據(jù)做正反向總電量的累加。本發(fā)明提供的第二優(yōu)選方案的累加方法,其改進(jìn)之處在于所述累加各費(fèi)率正反向總電量的步驟為1)軟件判斷Reader的符號和某費(fèi)率的總電量TAEnergy的符號;2)根據(jù)Reader和TAEnergy的符號,確定情況類型,將Reader累加到相應(yīng)費(fèi)率的總電量上。本發(fā)明提供的第三優(yōu)選方案的累加方法,其改進(jìn)之處在于所述寄存器中的數(shù)據(jù)為二進(jìn)制補(bǔ)碼形式,負(fù)數(shù)則需要將其變換成原碼形式,并屏蔽符號位。本發(fā)明提供的第四優(yōu)選方案的累加方法,其改進(jìn)之處在于由電能計量芯片中閾值寄存器中數(shù)據(jù)確定所述C值。本發(fā)明提供的第五優(yōu)選方案的累加方法,其改進(jìn)之處在于所述Reader為正數(shù), 將其累加到正向總電量上;整數(shù)商和正向總電量的整數(shù)部分PEInt相加;余數(shù)和正向總電量的小數(shù)部分PEDec相加;PEDec ^ C,向整數(shù)進(jìn)位,并將PEDec-C所得數(shù)據(jù)作為下一次累加的小數(shù)部分。本發(fā)明提供的第六優(yōu)選方案的累加方法,其改進(jìn)之處在于所述情況類型包括所述Reader為負(fù)數(shù),所述TAEnergy為負(fù)數(shù);所述Reader為正數(shù),所述TAEnergy為正數(shù);所述Reader為正數(shù),所述TAEnergy為負(fù)數(shù);所述Reader為負(fù)數(shù),所述TAEnergy為正數(shù)。本發(fā)明提供的第七優(yōu)選方案的累加方法,其改進(jìn)之處在于①所述Reader為負(fù)數(shù),所述TAEnergy為負(fù)數(shù),將Reader取反碼并加+1,屏蔽 TAEInt與Int的符號位,將TAEht和Int相加后存入TAEht,同時符號位置1 ;余數(shù)TAEDec 和Dec相加后存入TAEDec ;存入新數(shù)據(jù)的TAEDec ^ C,向整數(shù)部分進(jìn)位,并將TAEDec-C存入TAEDec,作為下一次累加的小數(shù)部分;②所述Reader為正數(shù),所述TAEnergy為正數(shù),將TAEInt與Int直接相加后存入 TAEInt, TAEDec與Dec直接相加后存入TAEDec ;存入新數(shù)據(jù)的TAEDec彡C,向整數(shù)部分進(jìn)位,并將TAEDec-C存入TAEDec作為下一次累加的小數(shù)部分;③所述Reader為正數(shù),所述TAEnergy為負(fù)數(shù),屏蔽TAEnergy的整數(shù)部分TAEInt 的符號位,將TAEInt減去ht的值存入TAEht,TAEInt彡ht,給新存入的TAEInt加上負(fù)號;將TAEDec減去Dec的值存入TAEDec,TAEDec < Dec, TAEDec向整數(shù)部分借位,并將 TAEDe+C減去Dec的值存入TAEDec中;整數(shù)部分為零,用Dec減去TAEDec后存入TAEDec, 并將TAEInt的符號位清零,表示總電量為正數(shù);TAEDec彡Dec時,將TAEDec減去Dec后存Λ TAEDec ;④所述Reader為負(fù)數(shù),所述TAEnergy為正數(shù),將Reader取反碼后加1,同時屏蔽其符號位;TAEht彡Int,將TAEInt減去ht的值存入TAEht,表示總電量是正數(shù); 將TAEDec減去Dec,TAEDec < Dec時,TAEDec向整數(shù)借位,用TAEDec+C減去Dec后存入 TAEDec ;整數(shù)部分為零,用Dec減去TAEDec后存入TAEDec,并將TAEInt的符號位置1,表示總電量是負(fù)數(shù);TAEDec彡Dec時,將TAEDec減去Dec的結(jié)果存入TAEDec。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為上述兩種算法只用到整數(shù)運(yùn)算,卻可以保證數(shù)字的準(zhǔn)確和電量的精確累加,大部分的數(shù)據(jù)處理只用加法或減法就能完成。將它們應(yīng)用在定點(diǎn)MCU中,不僅可降低計量裝置的成本,而且運(yùn)算速度更快;與采用計數(shù)能量脈沖個數(shù)計算用電量的方法不同,它們不會因算法的隨機(jī)執(zhí)行而帶來任何的讀數(shù)和計算誤差;校表更加快速和精確。測試人員隨時可以讀取電能表計量的總電量并與標(biāo)準(zhǔn)電量比較,計算出計量誤差;依據(jù)電力公司的要求,即可以分別累加正向和反向總電量,也可計算出組合總電量。


      圖1本發(fā)明提供的流程2本發(fā)明提供的正反向總電量累加的流程3本發(fā)明提供的各費(fèi)率正反向總電量累加的第③種情況的流程圖
      具體實施例方式本方法要求能量寄存器必須配置成“讀復(fù)位”模式,即MCU讀取計數(shù)值后能量寄存器清零。這種模式使電量計數(shù)值從MCU讀取的時刻起,再次從零開始計數(shù),確保了正確的雙向計量值。(1)正反向總電量的累加如附圖2,首先判斷MCU從能量寄存器中讀取的計數(shù)值Reader的符號。寄存器中的數(shù)據(jù)通常都是二進(jìn)制補(bǔ)碼形式,負(fù)數(shù)則需要將其變換成原碼形式,并屏蔽符號位。其次,將計數(shù)值除以C,整數(shù)商存放在ht中,余數(shù)存放在Dec中。若Reader為正數(shù),則將其累加到正向總電量上。累加時,整數(shù)商和正向總電量的整數(shù)部分PEInt相加后再存入PEht,余數(shù)和正向總電量的小數(shù)部分PEDec相加后再存入 PEDec (PEInt表示正向總電量的整數(shù)部分,PEDec表示正向總電量的小數(shù)部分)。當(dāng)存儲后的PEDec彡C時,則需要進(jìn)位。例如,當(dāng)C= IO6時,PEDec是以IO6為進(jìn)制向正向總電量的整數(shù)部分進(jìn)位的。若Reader為負(fù)數(shù),反向總電量的累加方法與正向相同,只是在顯示時需要加負(fù)號 (NEInt表示反向總電量的整數(shù)部分,NEDec表示反向總電量的小數(shù)部分)。值得一提的是,總電量的整數(shù)部分可以直接顯示,因為其單位就是kW · h。總電量的小數(shù)部分在顯示時要除以C,再取要求的位數(shù)。如上面提到的C= 106,若總電量的小數(shù)部分是251044,在要求2位小數(shù)時的顯示結(jié)果為.25kW · h。(2)各費(fèi)率正反向總電量的累加各費(fèi)率正反向總電量的累加比(1)要略微復(fù)雜些,總電量的累加被分成了四種情況①Reader為負(fù)數(shù),某費(fèi)率的總電量TAEnergy為負(fù)數(shù),其中TAEht的符號表示已有某費(fèi)率總電量的整數(shù)部分,TAEDec表示已有某費(fèi)率總電量的余數(shù)部分;②Reader為負(fù)數(shù), TAEnergy為正數(shù);③Reader為正數(shù),TAEnergy為負(fù)數(shù);④Reader為正數(shù),TAEnergy為正數(shù)。對Reader的處理與(1)相同,得到Reader的整數(shù)和小數(shù)部分。通過判斷Reader 和TAEnergy的符號,確定當(dāng)前的累加操作屬于上述四種情況中的哪一種。需要說明的是,在執(zhí)行這個累加算法前,需要判斷當(dāng)前時段采用的是哪種費(fèi)率,然后才能將Reader累加到相應(yīng)費(fèi)率的總電量上。在顯示時的處理也與(1)相同。①Reader為負(fù)數(shù),某費(fèi)率總電量TAEnergy為負(fù)數(shù),將Reader取反碼并加+1,屏蔽 TAEInt與Int的符號位,將TAEht和Int相加后存入TAEht,同時符號位置1 ;余數(shù)TAEDec 和Dec相加后存入TAEDec ;若TAEDec彡C,則向整數(shù)部分進(jìn)位,并將TAEDec-C存入TAEDec, 即作為下一次累加的小數(shù)部分;②Reader為正數(shù),TAEnergy為正數(shù),將TAEInt與Int直接相加后存入TAEht, TAEDee與Dec直接相加后存入TAEDec,若TAEDec彡C,則向整數(shù)部分進(jìn)位,并將TAEDec-C 存入TAEDec作為下一次累加的小數(shù)部分;③Reader為正數(shù),TAEnergy為負(fù)數(shù),屏蔽TAEnergy的整數(shù)部分TAEInt的符號位。 比較Int和TAEInt的大小,TAEht彡Int時,將TAEInt減去ht的值存入TAEht,給新存入的TAEInt加上負(fù)號;比較TAEDec與Dec的大小,TAEDec < Dec時,TAEDec需要向整數(shù)部分借位,并將TAEDe+C減去Dec的值存入TAEDec中;若整數(shù)部分為零不能借位時,則用Dec 減去TAEDec后存入TAEDec,并將TAEInt的符號位清零,表示總電量為正數(shù)。TAEDec彡Dec 時,將TAEDec減去Dec后存入TAEDec。TAEInt < Int 時,將 Int 減去 TAEht 的結(jié)果存入 TAEht ;比較 TAEDec 與 Dec 的大小,TAEDec < Dec時,將Dec減去TAEDec后存入TAEDec。TAEDec ^ Dec時,則需要向整數(shù)部分借位,將C-TAEDec+Dec的計算結(jié)果存入TAEDec。④Reader為負(fù)數(shù),TAEnergy為正數(shù),將Reader取反碼后加1,同時屏蔽其符號位;比較Int和TAEInt的大小,TAEInt彡ht時,將TAEInt減去ht的結(jié)果存入 TAEht,表示總電量是正數(shù);比較TAEDec與Dec的大小,TAEDec < Dec時,TAEDec需要向整數(shù)借位,用TAEDec+C減去Dec后存入TAEDec。若整數(shù)部分為零不能借位時,則用Dec減去 TAEDec后存入TAEDec,并將TAEInt的符號位置1,表示總電量是負(fù)數(shù);TAEDec彡Dec時,將 TAEDec減去Dec的結(jié)果存入TAEDec。TAEInt < ht時,將Int減去TAEht的結(jié)果存入TAEht,將新存入的TAEht的符號位置1,表示總電量是負(fù)數(shù);比較TAEDec與Dec的大小,TAEDec < Dec時,用Dec減去 TAEDec后將結(jié)果存入TAEDec。TAEDec彡Dec時,則需向整數(shù)部分借位,將C-TAEDec+Dec的計算結(jié)果存入TAEDec。
      權(quán)利要求
      1.可實現(xiàn)雙向計量的智能電表的總電量累加方法,其特征在于所述方法包括累加正反向總電量和累加各費(fèi)率的正反向總電量;使用“讀復(fù)位”模式的能量寄存器。
      2.如權(quán)利要求1所述的累加方法,其特征在于所述累加正反向總電量包括下述步驟a)軟件判斷MCU從能量寄存器中讀取的計數(shù)值Reader的符號;b)將a)的計數(shù)值除以C,整數(shù)商存放在ht中,余數(shù)存放在Dec中;c)將b)中的整數(shù)和余數(shù)分別與存儲器中的原有數(shù)據(jù)做正反向總電量的累加。
      3.如權(quán)利要求1所述的累加方法,其特征在于所述累加各費(fèi)率正反向總電量的步驟為1)軟件判斷Reader的符號和某費(fèi)率的總電量TAEnergy的符號;2)根據(jù)Reader和TAEnergy的符號,確定情況類型,將Reader累加到相應(yīng)費(fèi)率的總電量上。
      4.如權(quán)利要求1所述的累加方法,其特征在于所述寄存器中的數(shù)據(jù)為二進(jìn)制補(bǔ)碼形式,負(fù)數(shù)則需要將其變換成原碼形式,并屏蔽符號位。
      5.如權(quán)利要求2所述的累加方法,其特征在于由電能計量芯片中閾值寄存器中數(shù)據(jù)確定所述C值。
      6.如權(quán)利要求2所述的累加方法,其特征在于所述Reader為正數(shù),將其累加到正向總電量上;整數(shù)商和正向總電量的整數(shù)部分PEInt相加;余數(shù)和正向總電量的小數(shù)部分 PEDec相加;PEDec ^ C,向整數(shù)進(jìn)位,并將PEDec-C所得數(shù)據(jù)作為下一次累加的小數(shù)部分。
      7.如權(quán)利要求3所述的累加方法,其特征在于所述情況類型包括 所述Reader為負(fù)數(shù),所述TAEnergy為負(fù)數(shù);所述Reader為正數(shù),所述TAEnergy為正數(shù); 所述Reader為正數(shù),所述TAEnergy為負(fù)數(shù); 所述Reader為負(fù)數(shù),所述TAEnergy為正數(shù)。
      8.如權(quán)利要求7所述的累加方法,其特征在于①所述Reader為負(fù)數(shù),所述TAEnergy為負(fù)數(shù),將Reader取反碼并加1,屏蔽TAEInt與 Int的符號位,將TAEht和Int相加后存入TAEht,同時符號位置1 ;余數(shù)TAEDec和Dec相加后存入TAEDec ;存入新數(shù)據(jù)的TAEDec彡C,向整數(shù)部分進(jìn)位,并將TAEDec-C存入TAEDec, 作為下一次累加的小數(shù)部分;②所述Reader為正數(shù),所述TAEnergy為正數(shù),將TAEInt與Int直接相加后存入 TAEInt, TAEDec與Dec直接相加后存入TAEDec ;存入新數(shù)據(jù)的TAEDec彡C,向整數(shù)部分進(jìn)位,并將TAEDec-C存入TAEDec作為下一次累加的小數(shù)部分;③所述Reader為正數(shù),所述TAEnergy為負(fù)數(shù),屏蔽TAEnergy的整數(shù)部分TAEInt的符號位,將TAEInt減去Int的值存入TAEht,TAEInt彡ht,給新存入的TAEInt加上負(fù)號;將 TAEDec減去Dec的值存入TAEDec,TAEDec < Dec, TAEDec向整數(shù)部分借位,并將TAEDe+C減去Dec的值存入TAEDec中;整數(shù)部分為零,用Dec減去TAEDec后存入TAEDec,并將TAEInt 的符號位清零,表示總電量為正數(shù);TAEDec彡Dec時,將TAEDec減去Dec后存入TAEDec ;④所述Reader為負(fù)數(shù),所述TAEnergy為正數(shù),將Reader取反碼后加1,同時屏蔽其符號位;TAEht彡Int,將TAEInt減去ht的值存入TAEht,表示總電量是正數(shù);將TAEDec 減去Dec,TAEDec < Dec時,TAEDec向整數(shù)借位,用TAEDec+C減去Dec后存入TAEDec ;整數(shù)部分為零,用Dec減去TAEDec后存入TAEDec,并將TAEht的符號位置1,表示總電量是負(fù)數(shù);TAEDec彡Dec時,將TAEDec減去Dec的結(jié)果存入TAEDec。
      全文摘要
      本發(fā)明可實現(xiàn)具有雙向計量功能的智能電表的總電量累加方法,所述方法包括正反向總電量的累加和各費(fèi)率正反向總電量的累加,能量寄存器采用“讀復(fù)位”模式。上述兩種方法只用到整數(shù)運(yùn)算,卻可以保證數(shù)字的準(zhǔn)確和電量的精確累加,大部分的數(shù)據(jù)處理只用加法或減法就能完成。將它們應(yīng)用在定點(diǎn)MCU中,不僅可降低計量裝置的成本,而且運(yùn)算速度更快;測試人員隨時可以讀取電能表計量的總電量并與標(biāo)準(zhǔn)電量比較,計算出計量誤差。本發(fā)明依據(jù)電力公司的要求,即可以分別累加正向和反向總電量,也可計算出組合總電量。
      文檔編號G01R11/57GK102200544SQ20101061572
      公開日2011年9月28日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
      發(fā)明者孟珺遐 申請人:中國電力科學(xué)研究院
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1