高柱榮 ,蔣昌茂 ,劉洪林
(1.桂林市利通電子科技有限責(zé)任公司,廣西 桂林541004;2.桂林師范高等專科學(xué)校,廣西 桂林541001;3.桂林航天工業(yè)學(xué)院,廣西 桂林541004)
2014 年3 月20 日,國(guó)家發(fā)改委出臺(tái)了《關(guān)于建立健全居民生活用氣階梯價(jià)格制度的指導(dǎo)意見》,該文件決定在全國(guó)范圍內(nèi)實(shí)行居民階梯氣價(jià)政策,將氣價(jià)分為3 檔,根據(jù)居民用氣量進(jìn)行分檔計(jì)價(jià),各檔氣價(jià)實(shí)行超額累進(jìn)加價(jià)收費(fèi)方法。實(shí)行階梯氣價(jià)后,全國(guó)各地居民用氣將由一刀切的“1 檔氣價(jià)”計(jì)費(fèi)變?yōu)榛顒?dòng)的“分檔氣價(jià)”計(jì)費(fèi),結(jié)算周期也將按月份、季度或者年度實(shí)施,相鄰結(jié)算周期具體用氣量不累計(jì)、不結(jié)轉(zhuǎn)[1]。
“分檔氣價(jià)”計(jì)費(fèi)的實(shí)行,意味著燃?xì)夤纠^續(xù)使用氣量式機(jī)械燃?xì)獗?,員工上門抄表無論在時(shí)間還是計(jì)量上,都要做得更加精準(zhǔn),否則階梯氣價(jià)實(shí)施效果不好,同時(shí)還會(huì)增加供需雙方的矛盾[2]。 而氣量式IC 卡預(yù)付費(fèi)表, 同樣將難以適應(yīng)新的計(jì)量方法要求。 因?yàn)闅饬渴絀C 卡預(yù)付費(fèi)表采用一次預(yù)付費(fèi)按一檔價(jià)格購買相應(yīng)的氣量,用完再次充值買氣, 無法實(shí)現(xiàn)階梯氣價(jià)。 而階梯氣價(jià)的計(jì)價(jià)原理,是在一個(gè)既定的計(jì)時(shí)周期內(nèi),居民使用不同檔次內(nèi)的天燃?xì)?,要付不同的價(jià)格。 因此,必須將現(xiàn)行基于“1 檔”氣量計(jì)價(jià)的燃?xì)獗?,改為基于“氣量階梯”金額計(jì)價(jià)的燃?xì)獗?,才能滿足階梯氣價(jià)時(shí)代的計(jì)量要求。
基于金額式計(jì)價(jià)的燃?xì)獗矸譃閮煞N:一種是IC卡預(yù)付費(fèi)實(shí)時(shí)階梯計(jì)費(fèi)表,另一種是實(shí)時(shí)計(jì)費(fèi)的物聯(lián)網(wǎng)表[3]。 物聯(lián)網(wǎng)表由于受到網(wǎng)絡(luò)條件、功耗、技術(shù)成熟度和價(jià)格等條件的制約,目前還不適合大范圍推廣使用。
本文根據(jù)市場(chǎng)的需求,在深入研究階梯計(jì)費(fèi)算法技術(shù)模型的基礎(chǔ)上,設(shè)計(jì)開發(fā)了一款具有實(shí)時(shí)階梯計(jì)費(fèi)功能的新型智能燃?xì)獗怼狢PU 卡階梯計(jì)費(fèi)燃?xì)獗怼?/p>
實(shí)行居民生活燃?xì)庥脷怆A梯價(jià)格計(jì)費(fèi)的基本原則是:對(duì)于居民基本生活需求的保障用氣,實(shí)行相對(duì)實(shí)惠的較低價(jià)格;對(duì)超量用戶,即超出基本生活用氣需求的部分,要適當(dāng)提高價(jià)格,以激勵(lì)居民節(jié)能減排。 計(jì)費(fèi)技術(shù)的主要內(nèi)容有:
(1)分檔氣量??筛鶕?jù)各地實(shí)際用氣需求設(shè)置為1~5 檔,目前的國(guó)家指導(dǎo)意見以用氣量從小到大的順序,將居民用氣量分為3 檔:第1 檔,按覆蓋區(qū)域內(nèi)80%居民家庭用戶的月均用氣量確定,體現(xiàn)為居民基本能源需求指標(biāo);第2 檔,按覆蓋區(qū)域內(nèi)95%居民家庭用戶的月均用氣量確定,體現(xiàn)為改善提高居民生活質(zhì)量的合理用氣需求指標(biāo);第3 檔,為超出第2 檔的用氣部分,體現(xiàn)為富足能源需求指標(biāo),含過度能源消費(fèi)需求,需付出較高價(jià)格購買[4]。
(2)分檔氣價(jià)。 每個(gè)氣量分檔對(duì)應(yīng)一個(gè)氣價(jià),各級(jí)分檔氣量?jī)r(jià)格實(shí)行超額累進(jìn)加價(jià)[5]:第1 檔,按照基本補(bǔ)償供氣成本的原則確定,并在一定時(shí)期內(nèi)保持相對(duì)穩(wěn)定;第2 檔,按照合理補(bǔ)償成本、取得合理收益的原則制定,價(jià)格水平原則上與第1 檔氣保持1.2 倍左右的比價(jià);第3 檔,按照充分體現(xiàn)天然氣資源稀缺程度、抑制過度消費(fèi)的原則制定,價(jià)格水平原則上與第1 檔氣保持1.5 倍左右的比價(jià)[6]。
(3)計(jì)價(jià)周期。階梯氣價(jià)一般以月份為一個(gè)周期執(zhí)行,也可以根據(jù)各地的實(shí)際需要按季度或按年度為周期,用氣量在相鄰周期之間不累計(jì),不結(jié)轉(zhuǎn)。
實(shí)行階梯計(jì)費(fèi)前,居民生活用氣的費(fèi)用由其所使用氣量與單一的燃?xì)鈨r(jià)格相乘的方法計(jì)算,其計(jì)費(fèi)公式為:
其中,C 表示燃?xì)赓M(fèi),單位:元;P 表示燃?xì)鈨r(jià)格,單位:元/m3;V 表示用氣量,單位:m3。
實(shí)行階梯氣價(jià)后,在一個(gè)計(jì)價(jià)周期內(nèi),將用氣量分?jǐn)偟讲煌碾A梯計(jì)價(jià)區(qū)間,再計(jì)算出最終應(yīng)繳納的費(fèi)用[4-6]。 以3 檔階梯為例,記各計(jì)算參量分別為:
第1 檔計(jì)價(jià)區(qū)間:[0,V1];
第2 檔計(jì)價(jià)區(qū)間:(V1,V2];
第3 檔計(jì)價(jià)區(qū)間:(V2,+∞);
第1 檔氣價(jià):P1,單位為元;
第2 檔氣價(jià):P2,單位為元;
第3 檔氣價(jià):P3,單位為元;
計(jì)價(jià)周期內(nèi)用氣量:Vg,單位為m3;
應(yīng)繳納燃?xì)赓M(fèi):Cg,單位為元。
其 中,V1為 第1 檔 用 氣 量,V2為 第2 檔 用 氣量,單位為m3。
分析本周期內(nèi)的用氣量Vg所屬的區(qū)間,將其分?jǐn)偤笤儆?jì)算:
當(dāng)0≤Vg≤V1時(shí),即Vg處于第1 檔計(jì)價(jià)區(qū)間:
當(dāng)V1<Vg≤V2時(shí),即Vg處于第2 檔計(jì)價(jià)區(qū)間:
當(dāng)V2<Vg時(shí),即Vg處于第3 檔計(jì)價(jià)區(qū)間:
通過CPU 卡把階梯計(jì)費(fèi)方案設(shè)置到燃?xì)獗韮?nèi),燃?xì)獗碓谟脷膺^程中按用氣量實(shí)時(shí)計(jì)費(fèi)。 計(jì)費(fèi)方案包括以下數(shù)據(jù)項(xiàng):
(1)啟動(dòng)日期和結(jié)束日期
燃?xì)獗韮?nèi)實(shí)時(shí)時(shí)鐘的時(shí)間在啟動(dòng)日期和結(jié)束日期之間時(shí),把該方案作為當(dāng)前計(jì)費(fèi)方案。
(2)階梯分檔數(shù)
可設(shè)置為1~5 檔階梯數(shù)。
(3)計(jì)價(jià)周期
可設(shè)置為自然月份周期、季度周期、年度周期三種。
(4)分檔氣量
把氣量按從小到大的順序,最多分5 檔:[0,V1],(V1,V2],(V2,V3],(V3,V4],(V4,+∞)。
(5)分檔氣價(jià)
與分檔氣量對(duì)應(yīng),最多分檔氣價(jià):P1,P2,P3,P4,P5。
燃?xì)獗韮?nèi)可配置兩套計(jì)費(fèi)方案,分別是方案A和方案B,兩套方案的有效期(啟動(dòng)日期到結(jié)束日期)不允許有重疊,且需銜接,同一時(shí)刻僅能有一套計(jì)費(fèi)方案有效。
燃?xì)獗韮?nèi)時(shí)鐘每天從23:59:59 跳變到00:00:00時(shí),或通過用戶卡及設(shè)置卡修改計(jì)費(fèi)方案時(shí),燃?xì)獗碜詸z是否需要切換到另一計(jì)費(fèi)方案,如不符合切換條件則自檢是否要開始下一個(gè)計(jì)費(fèi)周期。
CPU 卡階梯計(jì)費(fèi)燃?xì)獗淼恼麄€(gè)應(yīng)用系統(tǒng),由計(jì)算機(jī)表務(wù)管理信息系統(tǒng)、CPU 卡和智能燃?xì)獗砣蟛糠纸M成,如圖1 所示。
圖1 應(yīng)用系統(tǒng)的組成
(1)表務(wù)管理信息系統(tǒng):主要包括用戶管理、燃?xì)獗砉芾?、卡?wù)管理、充值收費(fèi)、階梯計(jì)費(fèi)方案管理、密鑰分發(fā)管理、統(tǒng)計(jì)報(bào)表等功能。
(2)CPU 卡:作為表務(wù)管理信息系統(tǒng)與智能燃?xì)獗碇g安全交換數(shù)據(jù)的媒介,一臺(tái)燃?xì)獗砼鋫湟粡埧ā?/p>
(3)智能燃?xì)獗恚河呻娮涌刂破髂K和計(jì)量基表(機(jī)械計(jì)量表)兩部分組成,其中,電子控制器模塊是本文的研究重點(diǎn)。
燃?xì)膺\(yùn)營(yíng)公司給用戶安裝好燃?xì)獗碇?,用戶到燃?xì)夤旧暾?qǐng)開通燃?xì)狻?首先在表務(wù)管理信息系統(tǒng)中建立用戶檔案和燃?xì)獗頇n案,開戶制卡,充值,即把預(yù)付費(fèi)直接以金額形式寫入CPU 卡,同時(shí)也將階梯計(jì)費(fèi)方案及其他控制參量一并寫入CPU 卡。用戶將已充值的CPU 卡帶回家插入燃?xì)獗?,燃?xì)獗硗ㄟ^安全認(rèn)證等方式,驗(yàn)證卡的合法性后,將卡內(nèi)數(shù)據(jù)讀入到表內(nèi),同時(shí)把卡內(nèi)的充值金額清零,燃?xì)獗泶蜷_閥門供氣。 用氣過程中,燃?xì)獗戆凑毡韮?nèi)的階梯計(jì)費(fèi)方案把用氣量實(shí)時(shí)換算成金額,對(duì)表內(nèi)的剩余金額進(jìn)行扣減。 當(dāng)表內(nèi)的剩余金額不足時(shí),通過LCD 顯示和蜂鳴器聲音提示, 提醒用戶余額不足,盡快去充值;當(dāng)剩余金額被扣減為零時(shí),燃?xì)獗黻P(guān)閉閥門,停止供氣,此時(shí),用戶只有去購氣充值才能恢復(fù)供氣。
CPU 卡階梯計(jì)費(fèi)燃?xì)獗碜鳛橐环N先進(jìn)的新型智能計(jì)量?jī)x表,應(yīng)當(dāng)具有但不止于以下功能:
(1)燃?xì)庥?jì)量功能:燃?xì)庥?jì)量是燃?xì)獗淼谋举|(zhì)性功能,在燃?xì)獾氖褂眠^程中,基表的計(jì)數(shù)器字輪轉(zhuǎn)動(dòng)計(jì)數(shù),而安裝在計(jì)數(shù)器上的干簧管則將機(jī)械轉(zhuǎn)動(dòng)轉(zhuǎn)換成脈沖式電信號(hào),實(shí)現(xiàn)燃?xì)庥?jì)量。
(2)階梯計(jì)費(fèi)功能:階梯計(jì)費(fèi)方案最多可設(shè)置5檔階梯,計(jì)費(fèi)周期可設(shè)置月份、季度或年度,燃?xì)獗戆丛O(shè)置好的階梯計(jì)費(fèi)方案,實(shí)現(xiàn)表內(nèi)階梯計(jì)費(fèi)。
(3)預(yù)付費(fèi)功能:在使用燃?xì)庵?,需先拿CPU卡到營(yíng)業(yè)廳購氣充值,之后,把已充值的CPU 卡帶回家插入燃?xì)獗恚?卡內(nèi)的充值金額輸入到燃?xì)獗碇?,燃?xì)獗韺⒋蜷_閥門開通氣源。
(4)CPU 卡讀寫及安全認(rèn)證功能:通過CPU 卡讀寫接口,實(shí)現(xiàn)CPU 卡與燃?xì)獗碇g的數(shù)據(jù)交換,完成充值、查詢、設(shè)置、校時(shí)等操作。 每次數(shù)據(jù)交換前,都必須通過CPU 卡與表內(nèi)ESAM 安全模塊之間的內(nèi)部認(rèn)證和外部認(rèn)證,以確保數(shù)據(jù)傳輸?shù)陌踩煽俊?/p>
(5)閥門控制功能:也就是實(shí)現(xiàn)閥門的關(guān)閉或開啟。當(dāng)燃?xì)獗硎S嘟痤~為零、掉電、故障或外部磁干擾等事件發(fā)生時(shí)將閥門關(guān)閉,暫停用戶用氣;當(dāng)燃?xì)獗淼墓收吓懦?,滿足開閥條件時(shí)打開閥門,即正常情況下閥門處于開啟狀態(tài)。
(6)顯示功能:正常情況下LCD 屏幕顯示表內(nèi)剩余金額和當(dāng)前表的運(yùn)行狀態(tài)(閥門、欠壓、故障等),反向插卡,LCD 分屏依次顯示累積使用金額、系統(tǒng)日期時(shí)間、第1 階梯用氣量、第1 階梯氣價(jià)、……,等等。
(7)聲音告警功能:燃?xì)獗韴?zhí)行完某一操作(包括成功或失敗),或某一表事件的發(fā)生,通過蜂鳴器鳴響提示給用戶。
(8)低電檢測(cè)功能:定期檢測(cè)電源電壓,當(dāng)電源電壓不足或電池被取出時(shí),通過LCD 顯示和蜂鳴器聲音告警提示用戶更換電池,同時(shí)燃?xì)獗磉M(jìn)入掉電處理模式,關(guān)閉閥門停止供氣。
(9)掉電數(shù)據(jù)保護(hù)功能:在電源掉電或低電的情況下,保證運(yùn)行數(shù)據(jù)完整無誤地保存到ESAM 模塊或EEPROM 中,系統(tǒng)復(fù)位后,能重新讀出數(shù)據(jù)繼續(xù)運(yùn)行。
CPU 卡階梯計(jì)費(fèi)燃?xì)獗硪訧C 卡技術(shù)為基礎(chǔ),采用CPU 卡作為燃?xì)獗砼c計(jì)算機(jī)表務(wù)管理系統(tǒng)之間唯一的數(shù)據(jù)信息交換傳遞媒介,表內(nèi)使用嵌入式安全控制模塊(Embedded Secure Access Module,ESAM)存儲(chǔ)應(yīng)用數(shù)據(jù)信息,同時(shí)負(fù)責(zé)與CPU 卡進(jìn)行相互安全認(rèn)證,確保交換數(shù)據(jù)的安全[7]。 本方案以高性能與超低能耗完美平衡的單片機(jī)STM32L073RZ 作為主控MCU,主要功能模塊包括CPU 卡模塊、ESAM 模塊、LCD 顯示模塊、實(shí)時(shí)時(shí)鐘模塊、電源及電壓檢測(cè)模塊、閥門控制模塊、計(jì)量基表、脈沖計(jì)量模塊、蜂鳴器模塊等。 系統(tǒng)硬件結(jié)構(gòu)如圖2 所示。
圖2 硬件結(jié)構(gòu)
脈沖計(jì)量模塊以干簧管作為傳感器,采用中斷的方式檢測(cè)用氣量,并把用氣量實(shí)時(shí)換算成金額計(jì)費(fèi)。LCD 為液晶顯示模塊,主要用來顯示剩余金額、累積使用金額、累積使用氣量、階梯分檔氣量、階梯分檔氣價(jià)、閥門狀態(tài)、電池狀態(tài)、故障代碼、日期和時(shí)間等信息。 電源及電壓檢測(cè)模塊的作用一方面是作為供電電源,提供穩(wěn)定的電壓,使MCU 和各個(gè)模塊正常工作; 另一方面是MCU 對(duì)電池電壓進(jìn)行間隙性監(jiān)測(cè),當(dāng)電池電壓低到報(bào)警電壓時(shí),MCU 通過蜂鳴器鳴響和LCD 顯示提醒用戶更換電池。 閥門控制模塊主要是由MCU 控制燃?xì)獗黹y門的打開和關(guān)閉,當(dāng)電池電壓過低或者剩余金額不足時(shí),將閥門關(guān)閉。
CPU 卡階梯計(jì)費(fèi)燃?xì)獗淼目刂葡到y(tǒng)軟件,可劃分為主程序、中斷服務(wù)程序和功能模塊子程序三個(gè)組成部分,采用模塊化方法進(jìn)行設(shè)計(jì),由不同的子程序來完成不同的功能。 考慮到C 語言在研發(fā)效率、可讀性、可維護(hù)性和可移植方面遠(yuǎn)優(yōu)越于匯編語言,本系統(tǒng)使用C 語言開發(fā),開發(fā)平臺(tái)為Keil MDK-ARM。
中斷操作包括插卡中斷、干簧管計(jì)量中斷、磁干擾中斷、定時(shí)器中斷等,中斷服務(wù)程序僅做一些簡(jiǎn)單的條件判斷和標(biāo)志中斷事件的發(fā)生。 子程序功能模塊則根據(jù)系統(tǒng)的功能需求,主要分為定時(shí)操作模塊、ISO7816 接口函數(shù)模塊、應(yīng)用卡處理模塊、脈沖計(jì)量模塊、數(shù)據(jù)存儲(chǔ)模塊、剩余金額檢測(cè)模塊、顯示模塊、蜂鳴器報(bào)警模塊、閥門控制模塊、電池電壓檢測(cè)模塊和掉電模式處理模塊等。
單片機(jī)上電復(fù)位后,主程序先完成初始化和自檢操作,再進(jìn)入主循環(huán)操作。在主循環(huán)里,按順序逐個(gè)掃描中斷事件及其他事務(wù)的處理任務(wù)標(biāo)志,若有任務(wù)發(fā)生則調(diào)用對(duì)應(yīng)的子程序進(jìn)行處理,處理完之后回到主循環(huán)里,再繼續(xù)掃描其后的其他任務(wù)標(biāo)志,最后進(jìn)入休眠低功耗狀態(tài),等待下一次中斷喚醒。被中斷喚醒后同樣又在大循環(huán)里掃描一遍,之后再進(jìn)入休眠。 圖3 是控制系統(tǒng)軟件主程序的流程圖。
計(jì)量及計(jì)費(fèi)的準(zhǔn)確可靠是對(duì)燃?xì)獗淼幕疽?,可按以下方法?yàn)證測(cè)試階梯計(jì)費(fèi)方案的準(zhǔn)確性。
(1)設(shè)置階梯計(jì)費(fèi)方案為1 檔,即單一氣價(jià)計(jì)費(fèi),氣價(jià)設(shè)置為1.00 元,每一個(gè)脈沖當(dāng)量(0.01 m3)相當(dāng)于0.01 元,使氣量與金額數(shù)值同步變化,方便比對(duì)。 按較慢均速、標(biāo)稱均速、較快均速、變速讓燃?xì)獗碜邭?00 m3以上,燃?xì)獗淼碾娮佑?jì)量值應(yīng)該與計(jì)數(shù)輪的計(jì)量值一致,沒有漏計(jì)數(shù)或多計(jì)數(shù)。
(2)設(shè)置階梯計(jì)費(fèi)方案為2 ~5 檔,每個(gè)分檔氣量和分檔氣價(jià)也各不相同,讓燃?xì)獗碜邭?,觀察用氣量和金額的換算是否符合計(jì)費(fèi)方案的要求,計(jì)費(fèi)周期結(jié)束后能否順利開始下一個(gè)周期。
(3)階梯計(jì)費(fèi)方案的結(jié)束日期到達(dá)后,能否順利切換到另一計(jì)費(fèi)方案。 CPU 卡修改計(jì)費(fèi)方案后,能否按設(shè)定日期啟用新方案。
本課題項(xiàng)目產(chǎn)品在國(guó)內(nèi)某市的一個(gè)片區(qū)安裝使用了3 000 多臺(tái),按月3 階梯計(jì)費(fèi),每個(gè)自然月份為一個(gè)計(jì)價(jià)周期。 月用氣量在30 m3以內(nèi)為第1 階梯,價(jià)格為3.30 元/m3;月用氣量在30 m3~50 m3之間的為第2 階梯,氣價(jià)為3.96 元/m3;而大于50 m3部分屬于第3 階梯,氣價(jià)為4.95 元/m3。 按此方案運(yùn)行了1 年之后,核算其運(yùn)行數(shù)據(jù),并與另一片區(qū)使用單一氣價(jià)(3.30 元/m3)計(jì)費(fèi)的用戶進(jìn)行比較,發(fā)現(xiàn)在春夏秋三季每戶平均用氣費(fèi)用大致相等,而在冬季,由于每戶用氣量普遍超過1 階氣量,階梯計(jì)費(fèi)用戶的平均用氣費(fèi)用則略微高出15%左右,這個(gè)結(jié)果基本符合階梯計(jì)費(fèi)的設(shè)計(jì)目標(biāo)。
圖3 主程序流程
然而,在階梯計(jì)費(fèi)運(yùn)行了一年多時(shí)間之后,燃?xì)鈨r(jià)格下調(diào)了6%,而許多用戶在調(diào)價(jià)時(shí)并沒有及時(shí)購氣,沒有把最新的計(jì)費(fèi)方案通過用戶購氣卡更新到燃?xì)獗碇?,造成了用戶享受降價(jià)的滯后性。 通過使用年度作為計(jì)價(jià)周期、限制每次購氣的最大金額和提前幾個(gè)月配置新計(jì)費(fèi)方案的辦法,可解決調(diào)價(jià)的及時(shí)性問題。
本文根據(jù)市場(chǎng)對(duì)燃?xì)怆A梯計(jì)費(fèi)儀表的需求,主要研究燃?xì)怆A梯計(jì)費(fèi)的技術(shù)模型,提出了一種采用表內(nèi)雙計(jì)費(fèi)方案的設(shè)計(jì)方法,在此基礎(chǔ)上,完成了CPU 卡階梯計(jì)費(fèi)燃?xì)獗淼拈_發(fā)設(shè)計(jì)和計(jì)費(fèi)測(cè)試分析等工作。 該課題項(xiàng)目的產(chǎn)品已投放市場(chǎng)得到了實(shí)際應(yīng)用。