一種預付費電能表的費控處理方法
2023-06-12 13:56:31 1
一種預付費電能表的費控處理方法
【專利摘要】一種預付費電能表的費控處理方法,涉及電能表計費領域,首先將預付電費輸入售電管理系統中;售電管理系統將預付電費進行10N+1倍放大並轉換為十六進位值,將單價進行10N倍放大並轉換為十六進位值;將轉換後的預付電費和單價輸入電能表中,電能表存儲十六進位的總電費和單價;電量每消耗0.1度,電能表依據公式:剩餘電費=扣減前剩餘電費-單價,進行一次電費扣減處理,電能表存儲十六進位的剩餘電費和單價。本發明將電費扣減的十進位浮點的乘法運算簡化成十六進位的加減運算,減輕電能表的負擔。
【專利說明】一種預付費電能表的費控處理方法
【技術領域】
[0001]本發明涉及電能表計費領域,具體涉及一種預付費電能表的費控處理方法。
【背景技術】
[0002]傳統的預付費電能表採用電量形式對電能表的費用進行扣減處理,具體操作時,用戶把預購電量告訴供電方的管理員,管理員根據用戶預購電量和單價計算出用戶要交納的費用金額,用戶交納費用後,管理員將預購電量寫入卡中,然後用戶把卡插入電能表中,這樣用戶的購電量就被輸入電能表中,每當用電量累計到一定值時,電能表內就進行一次電量的扣減。由於電費單價帶有多位小數,用戶需要預先交納的費用金額往往不是整數,這樣存在找零的問題,給管理員和用戶帶來了不方便;而且單價的變化不會影響已售的電量的扣減,從而造成供電方或用戶的損失。
[0003]隨著科技的進步,目前的電能表採用電費形式對電能表的費用進行扣減處理,用戶預付電費,管理員就把相應的金額寫入卡中,用戶通過卡將電費輸入電能表內,解決找零問題和避免單價變化造成的損失。但是,由於單價帶有小數,在電能表內就要採用浮點方式存儲單價,每當用電量累計到一定值後,需要把用電量的累計值和單價相乘後,再進行電費扣減,此過程涉及十進位浮點的乘法運算,給電能表內的單片機,特別是對於小容量低成本的單片機帶來較大的存儲和運算負擔。除此之外,由於電費和單價一般採用BCD碼的形式進行顯示和通訊,但是把浮點方式記錄的數據轉換為BCD碼的計算量比較大,也會對電能表造成負擔。
【發明內容】
[0004]針對現有技術中存在的缺陷,本發明的目的在於提供一種預付費電能表的費控處理方法,將電費扣減的十進位浮點的乘法運算簡化成十六進位的加減運算,減輕電能表的負擔。
[0005]為達到以上目的,本發明採取的技術方案是:一種預付費電能表的費控處理方法,基於具備數據轉換功能的售電管理系統和電能表,費控處理方法包括以下步驟:
[0006]S1.將預付電費輸入售電管理系統中;
[0007]S2.售電管理系統將預付電費進行10N+1倍放大並轉換為十六進位值,將單價進行1n倍放大並轉換為十六進位值,均寫入購電卡中,其中N為不小於零的整數;
[0008]S3.通過購電卡將轉換後的預付電費和單價輸入電能表中,電能表將預付電費與電能表存儲的十六進位的原剩餘電費相加,作為總電費,電能表存儲十六進位的總電費和單價,並顯示還原後十進位的總電費和單價;
[0009]S4.電量每消耗0.1度,電能表進行一次電費扣減處理,依據公式:剩餘電費=扣減前剩餘電費一單價,電能表存儲十六進位的剩餘電費和單價,並顯示還原後十進位的剩餘電費和單價。
[0010]在上述技術方案的基礎上,N不小於十進位的預付電費或單價的小數位數。
[0011]在上述技術方案的基礎上,電能表內設有存儲器,電量每消耗I度或電費每消耗I元後,存儲器進行一次剩餘電費和單價存儲。
[0012]在上述技術方案的基礎上,電能表內設有單片機,單片機用於更新存儲剩餘電費、剩餘電費校驗和、單價、單價校驗和。
[0013]在上述技術方案的基礎上,電量每消耗0.1度且電能表進行電費扣減處理前,或者電能表每運行I分鐘,單片機進行一次剩餘電費和單價的校驗,校驗異常時就從存儲器中讀取剩餘電費和單價。
[0014]在上述技術方案的基礎上,剩餘電費的校驗是把剩餘電費與剩餘電費校驗和進行比對,單價校驗是把單價與單價校驗和進行比對。
[0015]在上述技術方案的基礎上,步驟S3中,總電費和單價的還原方式分別為:十六進位的總電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1n倍。
[0016]在上述技術方案的基礎上,步驟S4中,剩餘電費和單價的還原方式分別為:十六進位的剩餘電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1(^倍。
[0017]在上述技術方案的基礎上,步驟S4中,電量第一次消耗0.1度,扣減前剩餘電費為總電費,電量第二次以及以後每消耗0.1度,扣減前剩餘電費為上一次電費扣減處理後的剩餘電費。
[0018]在上述技術方案的基礎上,電能表與外部終端進行通訊,且通訊傳輸的數據為還原後十進位的剩餘電費和單價。
[0019]本發明的有益效果在於:
[0020]1、售電管理系統將電費以及單價進行放大成整數並轉換為十六進位值,而且設定電量每消耗0.1度,就進行一次電費扣減處理,此過程只涉及十六進位的加減法,計算過程簡單,因此電能表的計算負擔小,剩餘電費和單價進過放大處理後,避免浮點方式計數,便於剩餘電費和單價的顯示和通訊。
[0021]2、電能表內設有存儲器,電量每消耗I度或電費每消耗I元後,存儲器進行一次剩餘電費和單價存儲,減少數據寫入頻率,電能表的存儲負擔小。
[0022]3、電量每消耗0.1度且電能表進行電費扣減處理前,或者電能表每運行I分鐘,單片機進行一次剩餘電費和單價的校驗,保證剩餘電費和單價的正確性,避免因數據不正確帶來的大計量偏差。
【專利附圖】
【附圖說明】
[0023]圖1為本發明預付費電能表的費控處理方法的流程示意圖。
【具體實施方式】
[0024]如圖1所示,一種預付費電能表的費控處理方法,基於具備數據轉換功能的售電管理系統和電能表,可對現有的售電管理系統和電能表進行升級,使其具備十進位和十六進位的轉換功能,費控處理方法具體包括以下步驟:
[0025]S1.將預付電費輸入售電管理系統中。
[0026]S2.售電管理系統將預付電費進行10N+1倍放大並轉換為十六進位值,將單價進行1n倍放大並轉換為十六進位值,均寫入購電卡中,其中N為不小於零的整數,N不小於十進位的預付電費或單價的小數位數。
[0027]S3.通過購電卡將轉換後的預付電費和單價輸入電能表中,電能表將預付電費與電能表存儲的十六進位的原剩餘電費相加,作為總電費,電能表存儲十六進位的總電費和單價,並顯示還原後十進位的總電費和單價,其中,總電費和單價的還原方式分別為:十六進位的總電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1n倍。
[0028]S4.電量每消耗0.1度,電能表進行一次電費扣減處理,依據公式:剩餘電費=扣減前剩餘電費一單價,所依據的公式中,剩餘電費、扣減前剩餘電費和單價均為轉換為十六進位的數值。電量第一次消耗0.1度,扣減前剩餘電費為總電費,電量第二次以及以後每消耗0.1度,扣減前剩餘電費為上一次電費扣減處理後的剩餘電費。電能表存儲十六進位的剩餘電費和單價,並顯示還原後的剩餘電費和單價,其中,剩餘電費和單價的還原方式分別為:十六進位的剩餘電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1n倍,電能表與外部終端進行通訊,且通訊傳輸的數據為還原後十進位的剩餘電費和單價。
[0029]另外,電能表內設有存儲器,電量每消耗I度或電費每消耗I元後,存儲器進行一次剩餘電費和單價存儲。電能表內設有單片機,單片機用於更新存儲剩餘電費、剩餘電費校驗和、單價、單價校驗和,進行剩餘電費和單價的校驗,剩餘電費校驗是把剩餘電費與剩餘電費校驗和進行比對,單價校驗是把單價與單價校驗和進行比對。剩餘電費和單價校驗分為事件觸發和定時校驗兩種方式,事件觸發方式是電量每消耗0.1度,電能表進行電費扣減處理前,進行一次剩餘電費和單價的校驗,校驗異常時就從存儲器中讀取剩餘電費和單價;定時校驗方式是電能表每運行I分鐘進行一次剩餘電費和單價的校驗,校驗異常時就從存儲器中讀取剩餘電費和單價。
[0030]以下結合實施例對本發明作進一步詳細說明。
[0031]一種預付費電能表的費控處理方法,包括以下步驟:
[0032]S1.將預付電費輸入售電管理系統中。
[0033]S2.輸入售電管理系統的是十進位的預購電費和單價,在對電能表進行電費輸入和單價設置前,需要將預購電費和單價進行放大成整數並寫入購電卡中。假設預購電費100元,設置為4位整數4位小數,即0100.0000元,單價為0.5731,設置為2位整數4位小數,即00.5731元,需要將預購電費放大15倍並轉換為十六進位值,單價放大14倍並轉換為十六進位值,其中轉換後的十六進位預購電費為5個字節(Y = yyyyyyyyyyH),單價為3個字節(X = χχχχχχΗ),預購電費和單價的處理過程如下:
[0034]1、預購電費:
[0035]Yd = YD3*103+YD2*102+YD1*10YD = YD3* 103+YD2* 102+Ym * 101 +YD0* I10_1+YD_2* 1-2+Yd_3*10_3+Yd_4*10_4 = 0100.0000 ;
[0036]擴大15倍變成整數:
[0037]Yd, = YD* 15 = (YD3*103+YD2*102+YD1*101+YDO*100+YD_1*10_1+YD_2*10_2+YD_3*10_3+Yd_4*1(T4)*105
[0038]= YD3* 108+YD2* I 07+Yd1* I 06+Ydo* I 05+Yd_!* I 04+Yd_2* I 03+Yd_3* I 02+Yd_4* 101 =010000000 ;
[0039]轉換成十六進位(5個字節):
[0040]Yh = YH9*169+YH8*168+......+Υη^ΙΘ^Υηο^ΙΘ0 = 0000989680H。
[0041]2、單價:
[0042]Xd = Xm* 1^Xdo* I * I O-1 +XD_2* 10_2+XD_3* 10_3+XD_4* 1-4 = 00.5731 ;
[0043]擴大14倍變成整數:
[0044]XD,= XD* 14 = (XD1* 101 +XD0* 100+ΧΒ_! * 10_1 +XD_2* 10_2+XD_3* 10_3+XD_4* 1-4) * 14 = XD1*I 05+Xdo* I OVx^1 * I 03+Xd_2* I 02+Xd_3* 10 10 = 005731 ;
[0045]轉換成十六進位(3個字節):
[0046]Xh = XH5*165+XH4*164+......+Χη^ΙΘ^Χηο^ΙΘ0 = 001663Η。
[0047]S3.用戶把購電卡插入電能表,通過購電卡將預付電費和單價輸入電能表中,電能表將預付電費與電能表存儲的十六進位的原剩餘電費相加,作為總電費,由於電能表內存儲的原剩餘電費和購電卡上的預付電費均為5個字節的十六進位,因此只需進行十六進位的加法運算。
[0048]假設原剩餘電費Zh = ZH9*169+ZH8*168+......+Zm*16° = 0000000000H ;
[0049]總電費ZH』 = ZH+YH = 0000989680H。
[0050]電能表存儲剩餘電費和單價,此時電能表內總電費100元,單價為0.5731元,此時電能表內的總電費存儲值為0000989680H,單價存儲值為001663H。假設電能表顯示屏為六位數字顯示,電費顯示2位小數,單價顯示4位小數。總電費先由十六進位值轉換為BCD碼,即010000000H,再除以15為0100.00000,把高六位送入顯示屏中,並把其中的「0100」和「00」之間的小數點點亮,即完成了總電費顯示。單價先由十六進位值轉換為BCD碼,即005731,再除於14倍為00.5731,把其送入顯示屏中,並把其中「00」和「5731」之間的小數點點亮,即完成單價顯示。
[0051]S4.電量每消耗0.1度,電能表進行一次電費扣減處理,依據公式:剩餘電費=扣減前剩餘電費一單價(計算時擴大到5個字節OOOOxxxxxxH),因此,電量第一次消耗
0.1 度,剩餘電費=總電費一單價,Wh = ZH』 -Xh = Z (yyyyyyyyyyH) -X (OOOOxxxxxxH)=0000988017H,此運算只涉及5個字節十六進位的減法。電能表存儲剩餘電費和單價,並顯示還原後的剩餘電費和單價,此時電能表內的剩餘電費存儲值為0000988017H,單價存儲值為001663H。在進行剩餘電費和單價顯示時,要將剩餘電費和單價還原成十進位數值,即先把總電費由十六進位轉換為十進位BCD碼,再將電費小數位向左(高位)移動5位BCD碼,單價小數位向左(高位)移動4位B⑶碼,還原成十進位值,便於顯示和通訊,具體過程如下:
[0052]1、剩餘電費:
[0053]Wh = 0000988017H ;
[0054]轉換成十進位整數:
[0055]Wd = ffD3* 108+ffD2* 107+ffm* 106+ffDO* 105+ΙΒ_!* 104+ffD_2* 103+ffD_3* 102+ffD_4* 101 +ffD_5* 10 =009994269 ;
[0056]除以15並還原為4位整數4位小數的剩餘電費:
[0057]= ffD/105 = ffD3*103+ffD2*102+ffD1*101+ffDO*100+ffD_1*10_1+ffD_2*10_2+ffD_3*10_3+ffD_4*10_4=0099.9426。
[0058]把0099.9426的高六位送入顯示屏中,並把其中的「0099」和「94」之間的小數點點亮,即完成剩餘電費的顯示。
[0059]2、單價:
[0060]Xh = XH5*165+XH4*164+......+Χη^ΙΘ^Χηο^ΙΘ0 = 001663H ;
[0061]轉換為十進位整數:
[0062]XD,= Χη^ΙΟ^Χ^ΙΟ^Χ^^ΙΟ^Χ^Φ?Ο^Χ^ΙΟ^Χ^Φ?Ο0 = 005731 ;
[0063]除以14並還原為2位整數4位小數的單價:
[0064]Xd = Xd,/14 = Xm* 101 +Xdo* 100+ΧΒ_!* I O-1 +XD_2* 10_2+XD_3* 10_3+XD_4* 1-4 = 00.5731。
[0065]把00.5731送入顯示屏中,並把其中「00」和「5731」之間的小數點點亮,即完成了單價的顯示。
[0066]本發明不局限於上述實施方式,對於本【技術領域】的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發明的保護範圍之內。本說明書中未作詳細描述的內容屬於本領域專業技術人員公知的現有技術。
【權利要求】
1.一種預付費電能表的費控處理方法,其特徵在於,基於具備數據轉換功能的售電管理系統和電能表,費控處理方法包括以下步驟: 51.將預付電費輸入售電管理系統中; 52.售電管理系統將預付電費進行10N+1倍放大並轉換為十六進位值,將單價進行1n倍放大並轉換為十六進位值,均寫入購電卡中,其中N為不小於零的整數; 53.通過購電卡將轉換後的預付電費和單價輸入電能表中,電能表將預付電費與電能表存儲的十六進位的原剩餘電費相加,作為總電費,電能表存儲十六進位的總電費和單價,並顯示還原後十進位的總電費和單價; 54.電量每消耗0.1度,電能表進行一次電費扣減處理,依據公式:剩餘電費=扣減前剩餘電費一單價,電能表存儲十六進位的剩餘電費和單價,並顯示還原後十進位的剩餘電費和單價。
2.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:N不小於十進位的預付電費或單價的小數位數。
3.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:電能表內設有存儲器,電量每消耗I度或電費每消耗I元後,存儲器進行一次剩餘電費和單價存儲。
4.如權利要求3所述的預付費電能表的費控處理方法,其特徵在於:電能表內設有單片機,單片機用於更新存儲剩餘電費、剩餘電費校驗和、單價、單價校驗和。
5.如權利要求4所述的預付費電能表的費控處理方法,其特徵在於:電量每消耗0.1度且電能表進行電費扣減處理前,或者電能表每運行I分鐘,單片機進行一次剩餘電費和單價的校驗,校驗異常時就從存儲器中讀取剩餘電費和單價。
6.如權利要求5所述的預付費電能表的費控處理方法,其特徵在於:剩餘電費的校驗是把剩餘電費與剩餘電費校驗和進行比對,單價校驗是把單價與單價校驗和進行比對。
7.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:步驟S3中,總電費和單價的還原方式分別為:十六進位的總電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1n倍。
8.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:步驟S4中,剩餘電費和單價的還原方式分別為:十六進位的剩餘電費轉換為BCD碼並縮小10N+1倍,十六進位的單價轉換為BCD碼並縮小1n倍。
9.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:步驟S4中,電量第一次消耗0.1度,扣減前剩餘電費為總電費,電量第二次以及以後每消耗0.1度,扣減前剩餘電費為上一次電費扣減處理後的剩餘電費。
10.如權利要求1所述的預付費電能表的費控處理方法,其特徵在於:電能表與外部終端進行通訊,且通訊傳輸的數據為還原後十進位的剩餘電費和單價。
【文檔編號】G07F15/06GK104299323SQ201410568980
【公開日】2015年1月21日 申請日期:2014年10月23日 優先權日:2014年10月23日
【發明者】徐健, 劉金剛, 李良紅, 付剛, 連小華 申請人:武漢阿迪克電子股份有限公司