梁甄勇,張超
(1.武漢郵電科學研究院,湖北武漢 430074;2.中國信息通信科技集團烽火通信有限公司,湖北武漢 430073)
隨著電力行業的發展和智能電網的建設,國家提出了“泛在電力物聯網”的概念[1],如何高效地對電力終端設備(以下簡稱終端設備)進行管理是十分重要的。在電力物聯網中,設備的數量十分巨大,每一臺設備都有各自的通信、存儲和計算需求,不同于傳統云計算模型對設備和數據進行集中管理和處理,邊緣計算模型充分利用了更貼近用戶側的邊緣節點設備,這些節點同時具有傳輸、存儲和數據處理的功能,通過將云端功能下放來解決網絡延時、帶寬消耗等問題[2-5]。
該文提出一種基于邊緣計算用于電力系統的網關(以下簡稱網關),可作為連接電力系統中終端設備和云平臺的橋梁,通過容器虛擬化技術為電力應用提供運行環境,同時網關中設計有數據中心,實現將網絡功能、計算存儲功能和設備核心功能融合進網絡邊緣側,以降低云端的數據存儲和計算壓力。
網關的總體設計包含硬件層、軟件層,如圖1 所示。硬件層由主控板、電源板、上下行通信板構成;軟件層中Linux 系統底層應用負責對硬件接口數據進行解析和處理、遠程通信等,邊緣物聯應用實現了數據存儲、終端設備管理等網關通用功能,電力行業的應用分別安裝在各自的容器內,通過應用APP 實現所需的功能。網關實現了終端設備與云平臺的連接,同時采集到的數據可存儲在本地數據存儲模塊,從而緩解云端的存儲壓力。

圖1 電力網關總體設計
網關硬件總體設計如圖2 所示,主控板作為整個系統的核心,負責外圍電路的控制,決定系統SPI總線的數據流向,接收來自交采模塊的電能質量運算結果和波形記錄,采集終端設備上報的信息,并對其進行存儲、分析和遠程傳輸,主控芯片GPIO 管腳連接可編程邏輯器件(Complex Programmable Logic Device,CPLD),為啟動采樣時提供負脈沖[6-7]。

圖2 電力網關硬件結構
電源板由降壓模塊和交采模塊組成。降壓模塊實現三相四線電壓380 V 轉12 V,電流1.5 A 直流輸出,當系統電源出現故障時,主控板可接受掉電檢測輸出的DyingGasp 信號,使用超級電容作為后備電源維持網關正常工作3 min[8]。采樣模塊負責對電網電能質量信息進行采集,三相電壓信號通過電壓和電流互感器變換后,信號調理電路將信號變換至適量范圍,A/D 采樣芯片以CPLD 提供的10 240 Hz 固定頻率的采樣時序對4 路輸入信號進行采樣,并將采樣結果轉發至CPLD[9]。
上行通信板搭載基于高通平臺的物聯網卡模塊實現4G 無線通信,網卡接口電路如圖3 所示,USIM_DET 為1.8 V 中斷管腳并支持USIM 卡檢測,USIM 卡插入前SIM_DET 懸空為高電平,插入后接地同時電平翻轉為低電平。各信號線上串聯不大于20 Ω的電阻,并配置防護二極管進行ESD 防護[10-11]。

圖3 物聯網卡接口電路
下行通信板搭載RS485、Modbus 接口電路實現網關與終端設備的通信。大多數電氣設備都具備的RS485 接口有通信速度高、傳輸距離遠、抗干擾能力強的特點,網關采用VP3082 芯片控制RS485 輸出電路,通過使用NPN 三極管的通斷來控制芯片的收發使能[12]。
電力網關的軟件系統以硬件平臺為基礎,基于嵌入式Linux 操作系統,為網關應用程序提供運行環境。作為邊緣計算節點,不同于傳統通信網關產品,網關中提供統一的容器環境,通過docker 虛擬化技術實現網關應用與硬件解耦,為電力業務應用提供運行環境,并完成與遠端容器/應用管理平臺的對接。
在邊緣計算模型中,網關作為邊緣計算節點,通過Modbus 連接終端設備,安裝消息隊列遙測傳輸(Message Queuing Telemetry Transport,MQTT)代理作為內部消息總線,連接云平臺完成MQTT 消息的發布/訂閱,通過Modbus 與MQTT 信息轉換實現終端設備到云平臺的通信,同時網關應用間通過MQTT 進行通信[13]。在如圖4 所示的網關底層通信架構中,Modbus 數據幀包含設備唯一地址,網關通過該地址與終端設備進行通信,并查詢對應設備寄存器中的內容,從而獲取相應的數據。

圖4 電力網關底層通信架構
網關北向數據傳輸過程中為平衡傳輸的速度與穩定性,設計三種數據傳輸策略:
1)周期傳輸策略:在規定的時間間隔節點如5 s、10 s 時傳輸即時采樣的數據,實現對采樣數據的篩選,減少所需傳輸的數據量,適用于數據浮動變化較小的場景;
2)即時傳輸策略:當網關檢測到特定事件時,立即上傳采樣數據,實現重要數據的即時傳輸,與周期傳輸策略形成互補,防止遺漏波動較大的數據;
3)延時傳輸策略:當網絡通信鏈路中斷時,網關將待傳數據暫存到本地存儲模塊中,通信鏈路恢復后,數據主動上傳。
通過MQTT 消息的Topic 部分對不同傳輸策略的數據進行標記,如表1 所示。即時策略數據具有較高的重要性,采用QoS2 來確保消息到達且只到達一次,一般性的周期策略數據使用QoS0 降低網絡傳輸開銷,延時策略數據的QoS 則與其暫存前設定保持一致。

表1 數據類型對應的服務質量
為進一步降低周期和延時傳輸策略使用過程中占用的帶寬資源,網關使用LZO 算法對傳輸數據進行壓縮,針對即時傳輸策略中如事件順序記錄(SOE)等重要信息,使用AES 算法進行加密,利用AES 算法運算速度快、安全性高、資源消耗少的特性兼顧傳輸的安全性和通信效率[14]。
網關中數據報文采用二進制格式,存儲在MQTT消息的Payload中,由六部分組成,如圖5所示。

圖5 電力網關數據報文格式
數據區的類型域用于表示數據區部分的編碼方式,其值與對應編碼方式如表2 所示。

表2 數據區類型的定義
報文長度域用于記錄數據區長度,單位為字節。
網關編號域通過192 位的對象標識(OID) 編碼,作為網關在云平臺的全局唯一設備標識。
版本域用于記錄數據區的報文格式。
數據區由n條終端設備產生的數據組成,每條設備數據包含數據地址、數據值及時間戳三部分。其中,數據地址由設備全局唯一標識符(Globally Unique Identifier,GUID)及設備模型中的數據編址聯合組成。
校驗碼域使用CRC32 算法保證傳輸過程中消息體數據的完整性。
不同于云端數據中心,邊緣計算中網關搭載獨立的數據存儲模塊,MQTT 代理的數據作為存儲模塊的輸入源,消息路由配置將網關采集的電力信息、終端設備和其他應用產生的數據存儲到數據庫中。網關應用只能通過MQTT 代理調用數據庫所提供的接口,對特定的數據進行存取操作。關系型數據庫SQLite3可對包括模型、設備、事件在內的各種特殊格式數據進行存儲,并能夠靈活地設計數據表的字段[15]。
終端設備產生的信息在網關中存儲時遵循以下原則:數據按設備分類存儲,依靠設備類型、設備地址、附加信息等來定義唯一設備。網關應用啟動時需要向數據中心注冊設備對應的物模型(Thing Specification Language,TSL),設備名由設備物模型和GUID 組合而成,是數據中心中設備的唯一標識,也是網關應用訂閱/發布的信息對象及數據庫存儲的表名。
數據存儲訪問架構由三個主要部分組成,如圖6所示。

圖6 數據存儲訪問架構
1)消息處理模塊:接收總線消息、進行分類并將消息轉發至相應的接口模塊進行處理;
2)接口模塊:包括模型處理、設備交互處理、數據交互處理、參數交互處理等,用于分類處理不同的存儲需求;
3)權限及數據管理模塊:用于數據庫權限管理及數據管理。
邊緣計算中,為靈活配置邊緣節點功能,網關通過docker虛擬化技術構建電力行業應用的運行環境,不同的電力應用可安裝在容器內實現所需的功能,以適配各種電力協議需求[16],且應用之間可通過MQTT實現通信,電力網關包含的應用類型如表3 所示。

表3 網關電力應用
網關容器管理流程如圖7 所示,容器管理模塊收到MQTT 消息后,處理Topic 對應的容器操作命令,如果容器不存在,返回錯誤碼,否則通過MQTT代理將消息發送給對應的容器內部管理進程執行容器命令,若需等待回復的消息,則等待管理進程返回對應消息,并進行回復。模塊進程內部定時循環檢測容器的運行狀態,在CPU、內存或者磁盤空間超過閾值的情況下,上報告警信息,并重啟該容器。

圖7 電力網關容器管理流程
電力網關實物如圖8 所示。

圖8 電力網關實物
云平臺通過網關管理終端設備,結果如圖9 所示,網關通過4G 無線網絡連接到云平臺,并上報終端設備規格、編碼、名稱、類型等信息,對電流、電壓等相關數據進行采集、處理和存儲。

圖9 終端設備管理
對網關數據存儲模塊讀寫性能進行批量載入測試,通過對存儲模塊進行設備物模型信息和終端設備信息的批量導入,分別選擇了SQLite3 單行事務,多行事務和prepare 模式的多行事務模式,測試結果如表4 所示,經計算三種模式下存儲模塊每秒執行的事務數量(Transaction Per Second,TPS)分別為60、8 568 和11 600,在實際使用中選擇prepare 模式可以滿足大多數電力物聯的使用需求。

表4 批量載入測試結果
將終端設備分別與網關和云平臺進行MQTT 通信,對如下場景進行模擬測試:在QoS 分別為0、1、2的情況下發送10 000 條消息,消息體大小為100 個字節,對比兩種通信方式的最大發送延時、平均發送延時,結果如表5 和表6 所示。

表5 MQTT消息最大發送時延

表6 MQTT消息平均發送時延
由表5 和表6 結果可知,隨著消息服務質量的提升,兩種通信方式的平均時延和最大時延都會增加,因為MQTT 協議針對不同的服務質量會采用不同的發送策略,質量越高,系統中報文交換的次數就越多,從而使系統的負載增大,進而導致時延增加。在同種QoS 下,終端設備與網關通信平均時延和最大時延均小于與云平臺通信,這得益于網關采用邊緣計算模型,更靠近終端設備,網絡傳輸消耗的時間更短。
隨著電力物聯技術的發展,電力終端設備的不斷增加,傳統的終端設備+云計算模型存在時延較大,占用較大網絡帶寬的問題。
文中設計了一種基于邊緣計算的電力網關方案,實現了網關對電力系統中終端設備的管理、數據的采集和處理,同時數據既可通過遠程通信上傳到云平臺,也可存儲在本地數據中心,從而減輕云平臺的壓力,降低網絡帶寬的消耗,通過虛擬化技術為電力物聯應用搭建穩定的運行環境。經測試,網關在電力系統中程序運行可靠、軟硬件結合良好、數據的存儲效率高。從現場運行情況看,網關滿足了電力系統的運行要求。