錢 亮,張 贏,左 勇
(安徽南瑞中天電力電子有限公司,安徽 合肥 230031)
智能電表作為供電公司與用戶溝通的紐帶,實(shí)現(xiàn)了用戶用電數(shù)據(jù)的計(jì)量、采集和傳輸,為供電公司對(duì)用戶的用電考核、獎(jiǎng)懲等方面提供重要的數(shù)據(jù)支撐,保障國(guó)家政策的順利執(zhí)行[1-3]。為了滿足智能電網(wǎng)的發(fā)展要求,保障數(shù)據(jù)傳輸?shù)目焖傩院涂煽啃?,人們?duì)智能電表技術(shù)進(jìn)行了廣泛的研究,使其得到了飛速發(fā)展[4-6]。雖然智能電表得到大范圍普及,但智能電表的數(shù)據(jù)保護(hù)問(wèn)題卻沒(méi)有有效的解決方案。傳統(tǒng)智能電表采用本地存儲(chǔ)器存儲(chǔ)電力數(shù)據(jù),存儲(chǔ)空間有限,無(wú)法做到本地?cái)?shù)據(jù)備份,一旦本地存儲(chǔ)器損壞,對(duì)應(yīng)用戶的用電信息將無(wú)法完整追回,將給電網(wǎng)以及供電公司帶來(lái)一定的風(fēng)險(xiǎn)以及損失[7-10]。
目前智能電能表的內(nèi)部存儲(chǔ)設(shè)計(jì),在硬件上普遍采用RAM 和E2PROM 結(jié)合的方式,分別用以存儲(chǔ)脈沖個(gè)數(shù)及用戶電量數(shù)據(jù)[11-13]。在算法上,程序?qū)γ}沖觸發(fā)個(gè)數(shù)進(jìn)行檢測(cè)并緩存至RAM,再通過(guò)脈沖觸發(fā)個(gè)數(shù)來(lái)對(duì)目標(biāo)用戶的電量進(jìn)行統(tǒng)計(jì),最后將計(jì)量得到的電量值存儲(chǔ)到E2PROM 中,從而保存用戶用電量數(shù)據(jù)[14-15]。該方法通過(guò)減少對(duì)E2PROM 的使用頻率,增加電表存儲(chǔ)的使用壽命,提高電表運(yùn)行的數(shù)據(jù)安全性。可見(jiàn)E2PROM 的數(shù)據(jù)可靠性是智能電表可靠性的關(guān)鍵。隨著電網(wǎng)的不斷發(fā)展,部分智能電表已經(jīng)運(yùn)行多年,E2PROM 的使用頻次較多,容易引起因E2PROM 故障而導(dǎo)致的智能電表運(yùn)行故障,如數(shù)據(jù)丟失、參數(shù)混亂等。因此衍生出一些保護(hù)E2PROM 數(shù)據(jù)的研究,比如通過(guò)優(yōu)化E2PROM存儲(chǔ)空間、改進(jìn)存儲(chǔ)機(jī)制等,降低E2PROM 損壞的概率;再如,目前常用的一種保護(hù)E2PROM 數(shù)據(jù)的方法是:在電能表的存儲(chǔ)器中設(shè)置保護(hù)模塊,將需要保護(hù)的電量數(shù)據(jù)設(shè)置CRC 校驗(yàn)碼后存入該模塊中。這一類方法雖然能夠延長(zhǎng)E2PROM 的使用壽命,但數(shù)據(jù)的安全性仍然較大程度依賴電能表的本地存儲(chǔ),當(dāng)本地存儲(chǔ)出現(xiàn)故障時(shí),該方法仍然無(wú)法保證數(shù)據(jù)安全。
針對(duì)上述問(wèn)題,有必要研究一種新的數(shù)據(jù)保護(hù)方式,增加數(shù)據(jù)存儲(chǔ)的安全性及電表運(yùn)行的可靠性。近年來(lái),云平臺(tái)發(fā)展較為迅速,其安全性和可靠性已得到驗(yàn)證。而隨著電能表產(chǎn)品技術(shù)的不斷改進(jìn),現(xiàn)有電能表已能夠利用多種通信網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互。利用云平臺(tái)及電能表的多種通信機(jī)制,構(gòu)建一個(gè)獨(dú)立于電能表本地存儲(chǔ)的數(shù)據(jù)存儲(chǔ)體系,是一個(gè)值得研究的方向。目前電能表的模塊化設(shè)計(jì)已較為成熟,硬件方面只須在原有基礎(chǔ)上增加相應(yīng)的接口和功能,即可構(gòu)建本系統(tǒng)。而在軟件方面,云平臺(tái)提供多種數(shù)據(jù)存儲(chǔ)方式,電能表與云平臺(tái)的數(shù)據(jù)交互可按照云平臺(tái)提供的數(shù)據(jù)模型設(shè)計(jì)對(duì)應(yīng)的數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。因此,本系統(tǒng)在產(chǎn)品的更新和推廣上具有較高的可行性和經(jīng)濟(jì)性。
本文設(shè)計(jì)的系統(tǒng)由云平臺(tái)、支持4G 模塊的智能電能表以及通信網(wǎng)絡(luò)三部分組成。系統(tǒng)架構(gòu)如圖1 所示。
圖1 系統(tǒng)架構(gòu)示意圖
本系統(tǒng)的工作業(yè)務(wù)流程如下:
(1)物聯(lián)管理平臺(tái)提供設(shè)備端SDK,電能表使用SDK 與平臺(tái)通信。電能表運(yùn)行后,對(duì)云平臺(tái)發(fā)起設(shè)備接入請(qǐng)求。
(2)云平臺(tái)驗(yàn)證智能電表身份有效性。
(3)云平臺(tái)根據(jù)設(shè)置的物模型顯示當(dāng)前電能表連接狀態(tài)及運(yùn)行狀態(tài)。
(4)電能表根據(jù)程序中的定時(shí)任務(wù)向云平臺(tái)發(fā)送電量數(shù)據(jù)以及運(yùn)行數(shù)據(jù)。
(5)云平臺(tái)將數(shù)據(jù)備份至云存儲(chǔ)空間。
(6)上位機(jī)可以使用物聯(lián)管理平臺(tái)以及云存儲(chǔ)空間的接口獲取對(duì)電能表設(shè)備的管理權(quán)限,如對(duì)電能表進(jìn)行遠(yuǎn)程控制、數(shù)據(jù)獲取,也可查詢?cè)贫藬?shù)據(jù)存儲(chǔ)狀態(tài)。
(7)電表進(jìn)入下一等待周期。
硬件設(shè)計(jì)采用模塊化思路,對(duì)現(xiàn)有智能電能表硬件架構(gòu)進(jìn)行改進(jìn)。具體結(jié)構(gòu)如圖2 所示,主要包含主控芯片RN8318、數(shù)據(jù)存儲(chǔ)模塊、電源控制模塊、交流采樣模塊、4G 通信模塊、RS 485 通信模塊和液晶顯示模塊。各模塊均通過(guò)硬件接口與主控芯片連接。
圖2 硬件設(shè)計(jì)
采用鐵電存儲(chǔ)器(E2PROM)加外部FLASH 存儲(chǔ)器,存儲(chǔ)不同類型數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)模塊電路設(shè)計(jì)如圖3 所示。
圖3 數(shù)據(jù)存儲(chǔ)模塊電路設(shè)計(jì)
4G 通信模塊用于連接電能表與云平臺(tái)。本系統(tǒng)設(shè)計(jì)一路4G 模塊接口電路,通過(guò)SPI 與智能電表RN8318 相連,實(shí)現(xiàn)電能表與云平臺(tái)的數(shù)據(jù)交互。4G 通信模塊電路如圖4所示。
圖4 4G 通信模塊電路設(shè)計(jì)
RS 485 通信模塊用于連接電能表與外部終端。本系統(tǒng)設(shè)計(jì)一路UART 轉(zhuǎn)RS 485 接口電路,實(shí)現(xiàn)電表與外部終端的數(shù)據(jù)交互,方便進(jìn)行本地維護(hù)。RS 485 通信模塊電路設(shè)計(jì)如圖5 所示。
圖5 RS 485 通信模塊電路設(shè)計(jì)
軟件設(shè)計(jì)以下功能:計(jì)量功能、基于MQTT 的數(shù)據(jù)交互功能、定時(shí)數(shù)據(jù)備份功能。
電能計(jì)量模塊設(shè)計(jì)如圖6 所示。
本系統(tǒng)可測(cè)量合相各費(fèi)率四象限有功、四象限無(wú)功電量。合相總電量在需要時(shí)由各分費(fèi)率累加而成。
本系統(tǒng)可測(cè)量分相總的四象限有功、四象限無(wú)功電量。分相電量不支持分費(fèi)率。
合相的組合有功、組合無(wú)功1、組合無(wú)功2 在需要時(shí)根據(jù)計(jì)量表達(dá)式生成。同樣,正向有功和反向有功也是在需要時(shí)臨時(shí)生成,只是表達(dá)式是固定的,不可配置,即正向有功=I 象限+IV 象限,反向有功=II 象限+III 象限。根據(jù)有功組合方式特征字和無(wú)功組合方式1 和2 特征字進(jìn)行設(shè)置如下:
(1)保存當(dāng)前及前面12 個(gè)結(jié)算周期的各電量;
(2)支持所有電量數(shù)據(jù)清零(電表清零命令或系統(tǒng)清零命令);
(3)分相電量根據(jù)合相的脈沖數(shù)及當(dāng)前功率計(jì)算,即當(dāng)無(wú)脈沖時(shí),合相和分相均不可能出現(xiàn)電量。
為了實(shí)現(xiàn)數(shù)據(jù)云端存儲(chǔ),本系統(tǒng)采用阿里云物聯(lián)網(wǎng)管理平臺(tái)作為云平臺(tái),通過(guò)阿里云物聯(lián)管理平臺(tái)管理設(shè)備連接, 存儲(chǔ)設(shè)備數(shù)據(jù),相比自建專業(yè)云的成本、運(yùn)維負(fù)擔(dān)更少。
首先在阿里云物聯(lián)網(wǎng)管理平臺(tái)上構(gòu)建電能表的物模型,保存物聯(lián)網(wǎng)平臺(tái)頒發(fā)的設(shè)備證書(ProductKey、DeviceName和DeviceSecret),用于電能表設(shè)備連接物聯(lián)網(wǎng)管理平臺(tái)的身份驗(yàn)證。電能表與物聯(lián)網(wǎng)管理平臺(tái)通過(guò)MQTT 建立連接,電能表通過(guò)訂閱云端Topic 進(jìn)行數(shù)據(jù)交互。構(gòu)建Topic 見(jiàn)表1所列,數(shù)據(jù)以JSON 串形式上傳。
在阿里云物聯(lián)網(wǎng)平臺(tái)上設(shè)置消息流轉(zhuǎn)規(guī)則,可以將數(shù)據(jù)流轉(zhuǎn)至其他云存儲(chǔ)空間。上述云存儲(chǔ)空間可選用多種形式,本設(shè)計(jì)中使用阿里云表格存儲(chǔ)。表格存儲(chǔ)將流轉(zhuǎn)來(lái)的JSON串按設(shè)置的數(shù)據(jù)庫(kù)表頭存儲(chǔ),表格存儲(chǔ)數(shù)據(jù)庫(kù)設(shè)計(jì)見(jiàn)表2所列。
表2 數(shù)據(jù)庫(kù)
主程序通過(guò)一個(gè)狀態(tài)機(jī)來(lái)處理電能表與云平臺(tái)的連接狀態(tài),流程如圖7 所示。程序默認(rèn)每1 s 檢測(cè)接入狀態(tài),電能表狀態(tài)程序中通過(guò)枚舉類型定義,用全局變量表示。電能表上電后進(jìn)入待連接狀態(tài),初始化客戶端模式,成功后對(duì)云平臺(tái)發(fā)起連接請(qǐng)求,收到確認(rèn)幀后,訂閱Topic,切換電能表進(jìn)入已連接狀態(tài),之后每分鐘發(fā)送心跳幀保持設(shè)備在線。
圖7 接入狀態(tài)查詢流程
數(shù)據(jù)接收通過(guò)檢測(cè)串口中斷獲取,獲取到JSON 串后根據(jù)Topic 以及數(shù)據(jù)值,程序做出相應(yīng)處理。
電能表在設(shè)備接入云平臺(tái)的狀態(tài)下,每1 min 上傳一次電量數(shù)據(jù)以及運(yùn)行參數(shù)。
電能表運(yùn)行參數(shù)以全局變量存在,到達(dá)時(shí)間閾值時(shí),讀取電能表RAM 中的運(yùn)行參數(shù)全局變量,將數(shù)據(jù)組包成JSON 串發(fā)送至云平臺(tái),電能表運(yùn)行數(shù)據(jù)備份用于電表異常時(shí)恢復(fù)正常運(yùn)行狀態(tài)。流程如圖8 所示。
圖8 數(shù)據(jù)備份流程
電能表電量數(shù)據(jù)存儲(chǔ)在E2PROM 中,到達(dá)時(shí)間閾值時(shí),讀取當(dāng)前費(fèi)率以及E2PROM 中的電量數(shù)據(jù),將數(shù)據(jù)組包成JSON 串發(fā)送至云平臺(tái)。
為了驗(yàn)證系統(tǒng)整體功能,本文在實(shí)驗(yàn)室進(jìn)行了測(cè)試。如圖9 所示,準(zhǔn)備兩臺(tái)電能表接入相同的測(cè)試環(huán)境(臺(tái)體),上電后通過(guò)4G 通信方式接入阿里云物聯(lián)網(wǎng)管理平臺(tái),同時(shí)將RS 485 連上本機(jī)電腦,設(shè)備上線后開(kāi)始測(cè)試。
圖9 測(cè)試設(shè)備
兩臺(tái)電能表上電后進(jìn)行初始化操作,確保初始值一致,在相同環(huán)境下運(yùn)行6 h,對(duì)比RS 485 抄讀數(shù)據(jù)與云端存儲(chǔ)數(shù)據(jù),實(shí)驗(yàn)部分結(jié)果見(jiàn)表3 所列。測(cè)試驗(yàn)證結(jié)果顯示,云端數(shù)據(jù)存儲(chǔ)具備較高的準(zhǔn)確性,本系統(tǒng)具備良好的推廣應(yīng)用前景。
表3 實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)一種基于云平臺(tái)的智能電能表數(shù)據(jù)保護(hù)系統(tǒng),通過(guò)云平臺(tái)備份智能電能表數(shù)據(jù),解決傳統(tǒng)電能表本地存儲(chǔ)器異常后數(shù)據(jù)無(wú)法備份、恢復(fù)的問(wèn)題,提高電能表運(yùn)行的穩(wěn)定性。同時(shí)驗(yàn)證了本文系統(tǒng)工作的有效性。為使系統(tǒng)更加便于應(yīng)用,可進(jìn)一步在提高傳輸速率、解決帶寬問(wèn)題、壓縮存儲(chǔ)空間等方面進(jìn)行研究及改進(jìn)。