岳 浩,吳義文,王 勇,張小龍,程 鑫
(安徽南瑞中天電力電子有限公司,安徽 合肥 230031)
智能用電信息采集物聯(lián)終端(以下稱“智能用采終端”)是用電信息采集系統(tǒng)的樞紐設備,承擔著臺區(qū)電量數(shù)據(jù)采集、用電信息精準計量、數(shù)據(jù)管理以及轉發(fā)或執(zhí)行控制命令的核心任務。隨著能源互聯(lián)網(wǎng)的迅速發(fā)展,智能用采終端產業(yè)在國內逐漸興起,終端數(shù)量與采集信息量不斷增多,傳統(tǒng)用采終端完全依賴主站做出智能判斷與行動決策的交互模式,已無法滿足采集管控信息量日益增多的需求。面對電力行業(yè)對海量數(shù)據(jù)智能化實時處理的強烈需求,如果完全依賴主站集中分析處理電力系統(tǒng)采集到的原始數(shù)據(jù),不僅會造成主站網(wǎng)絡流量壓力過大,而且大量設備協(xié)同工作的實時性難以得到保證。為減小主站計算壓力,設計一種APP對智能用采終端所有采集任務進行統(tǒng)一分析、管理以及調度,允許終端自身分析運行狀態(tài)并做出智能決策的方案勢在必行。
采集任務調度管理APP須支持以下功能:
(1)篩查冗余的采集任務,剔除冗余的采集方案或采集數(shù)據(jù)項;
(2)支持多級采集任務優(yōu)先級管理,支持按業(yè)務類型編排優(yōu)先級,抄表端口按照優(yōu)先級進行排序,確保高優(yōu)先級業(yè)務優(yōu)先執(zhí)行;
(3)執(zhí)行采集任務前,先從數(shù)據(jù)中心查詢該數(shù)據(jù)項是否已存在,如已存在(抄讀成功)不再重復抄讀,避免浪費端口資源;
(4)為提高采集效率,采集數(shù)據(jù)支持本地緩存功能,按需或定時將采集數(shù)據(jù)寫入數(shù)據(jù)中心;
(5)采集數(shù)據(jù)對外提供數(shù)據(jù)庫接口和消息訂閱接口,實現(xiàn)數(shù)據(jù)共享;
(6)可接收主動上報數(shù)據(jù)或事件,按需將采集數(shù)據(jù)寫入數(shù)據(jù)中心。
采集任務調度管理APP負責所有采集任務的管理,對采集任務的配置執(zhí)行相應抄表過程,通過本地抄表模塊管理APP進行抄表,將數(shù)據(jù)采集結果存儲到數(shù)據(jù)中心,與高級APP實現(xiàn)數(shù)據(jù)共享。
采集任務調度管理APP處于邊緣計算APP容器中,負責對通過本地抄表模塊完成數(shù)據(jù)采集的采集任務進行分析、管理以及調度,由采集任務調度管理APP完成采集任務的執(zhí)行,并將采集結果存儲到數(shù)據(jù)中心供各業(yè)務APP或邊緣計算APP查詢。平臺整體架構如圖1所示。
圖1 平臺架構
采集任務調度管理APP通過時間觸發(fā)或者命令觸發(fā)生成自動抄表任務和透明傳輸任務,執(zhí)行抄表流程;抄表通道分載波通道和485通道,采集任務調度管理APP負責對通過本地抄表APP或者485通道完成數(shù)據(jù)采集的采集任務進行分析、管理以及調度。有抄表需求的業(yè)務APP,將抄表任務配置到數(shù)據(jù)庫APP,由采集任務調度管理APP完成采集任務的優(yōu)化和執(zhí)行,調用采集規(guī)約進行組幀和解幀,并將采集結果存儲到數(shù)據(jù)中心供各業(yè)務APP或邊緣計算APP查詢。APP的業(yè)務架構如圖2所示。
圖2 業(yè)務架構
采集任務調度管理APP啟動后首先在系統(tǒng)管理APP中進行注冊,建立與消息中心的鏈路。注冊完成后從數(shù)據(jù)中心循環(huán)讀取采集方案和采集任務,進行冗余篩查,去除重復的采集方案或者采集數(shù)據(jù)項,最終形成統(tǒng)一的采集任務集合。采集任務調度管理APP上電或者收到參數(shù)變更通知時讀取一次采集方案和采集任務。
采集任務調度管理APP對采集任務集合進行優(yōu)先級管理,確保高優(yōu)先級任務優(yōu)先執(zhí)行。達到采集任務開始周期時任務啟動,首先從數(shù)據(jù)中心中查詢需要采集的數(shù)據(jù)項是否已存在,如果存在則無須抄讀,如果不存在則進行抄讀。組成抄表幀下發(fā)至本地通信管理APP進行抄表。抄表完成后先將數(shù)據(jù)記錄在緩沖區(qū),按需或者定時將數(shù)據(jù)寫入數(shù)據(jù)中心;采集任務調度管理APP還可支持本地通信管理APP主動上報的數(shù)據(jù)或者事件,按需將這部分數(shù)據(jù)寫入數(shù)據(jù)中心。
采集任務調度管理APP負責所有采集任務的管理,通過采集任務的配置執(zhí)行相應的抄表過程。APP上電時從數(shù)據(jù)中心讀取所有采集任務,按照一定條件進行篩選,加入到任務隊列中,例如去除無效的任務;再對任務按照優(yōu)先級進行排序,確保優(yōu)先級高的任務優(yōu)先執(zhí)行。
3.1.1 任務隊列建立
采集任務調度管理APP啟動時從數(shù)據(jù)中心讀取所有采集任務,進行初步的篩查,剔除無效的任務,讀取每個任務對應的采集方案,對其進行參數(shù)解析后加入到任務列表中。當采集任務調度管理APP收到采集任務變更的消息后,重新進行上述操作,更新采集任務列表,否則任務列表保持不變。
3.1.2 任務狀態(tài)管理
每個采集任務都具有四種狀態(tài):無效、有效、激活以及完成。每個任務按照所處的狀態(tài)進行統(tǒng)一調度,具體如下:
(1)無效:任務配置為“停用”狀態(tài),任務不可執(zhí)行;
(2)有效:任務配置為“啟用”狀態(tài),須按配置周期執(zhí)行;
(3)激活:任務滿足執(zhí)行條件(開始時間、結束時間、延時等),但任務配置的數(shù)據(jù)項未全部抄讀完成;
(4)完成:任務配置的數(shù)據(jù)項抄讀成功率100%或者任務超過執(zhí)行周期。
狀態(tài)切換規(guī)則如下:
(1)有效與無效:兩種狀態(tài)的切換通過任務參數(shù)配置完成;
(2)有效與激活:根據(jù)任務配置參數(shù),滿足運行條件后執(zhí)行,從有效切換至激活狀態(tài),清除所有任務執(zhí)行狀態(tài)標記,激活狀態(tài)不能切換至有效狀態(tài);
(3)激活與完成:當此任務抄讀成功率為100%,或者任務超過執(zhí)行周期,轉為“完成”狀態(tài);
(4)完成與激活:按配置周期,滿足運行條件后執(zhí)行,從完成切換至激活狀態(tài)。
3.1.3 任務優(yōu)先級管理
采集任務調度管理支持255個任務、256種優(yōu)先級,可以多個任務同一優(yōu)先級。當優(yōu)先級相同時,按照任務序號順序執(zhí)行。通過對任務隊列的排序進行任務優(yōu)先級的管理。
采集任務的執(zhí)行須按照表計檔案的配置端口分別進行管理,可以按照端口并發(fā)執(zhí)行。如果某一端口配置的表計,其高優(yōu)先級采集任務全部執(zhí)行完成,可以繼續(xù)執(zhí)行低優(yōu)先級任務,與其他端口的高優(yōu)先級采集任務狀態(tài)無關。采集任務排序流程如圖3所示。
圖3 采集任務排序流程
功能實現(xiàn)程序如下:
3.2.1 數(shù)據(jù)項抄讀
抄讀數(shù)據(jù)項的流程如下:
(1)采集任務調度管理APP可連續(xù)發(fā)送多條抄讀命令,然后等待上報數(shù)據(jù)。如果某數(shù)據(jù)項在超時時間內未有任何響應,表示此數(shù)據(jù)項抄讀失?。ㄎ错憫?,如圖4所示。
圖4 數(shù)據(jù)項抄讀流程
(2)對于連續(xù)多次都無響應的表計,不再抄讀,直接切表;在一個任務執(zhí)行周期內,所有表計全部請求完成后,須將所有未響應的數(shù)據(jù)項狀態(tài)清零,再次請求抄讀。
(3)如果表計回復否認,將此數(shù)據(jù)項加入不支持數(shù)據(jù)列表,后續(xù)將不再抄讀此數(shù)據(jù),然后抄讀下一個數(shù)據(jù)項。
(4)如果表計正常返回,保存數(shù)據(jù)。
3.2.2 補抄功能設計
終端上電或者首次下發(fā)檔案,判斷是否需要補抄。如果需要補抄,將需要補抄的表計及數(shù)據(jù)項存入補抄信息的私有文件;每輪任務抄表結束后,將該任務中抄表失敗的表計數(shù)據(jù)項存儲到私有文件中。補抄任務運行時檢測文件并讀取文件中需要補抄的信息,進行補抄任務。每輪抄表過程中,只有未響應的表計數(shù)據(jù)項需要存儲到補抄文件中,如果表計明確回復不支持,則不需要進行補抄。補抄執(zhí)行優(yōu)先級最低,在所有正常任務執(zhí)行完成之后才啟動補抄任務。
當采集任務調度管理接收到本地通信管理APP上報的事件數(shù)據(jù)時,將上報數(shù)據(jù)轉換成規(guī)定的存儲格式存儲到數(shù)據(jù)中心,供高級APP讀出后上報給主站,關鍵程序如下:
按照以上整體和分模塊的設計,在Linux開發(fā)環(huán)境下編寫代碼,搭建采集任務調度管理APP;然后在一個典型的使用環(huán)境中驗證此APP的功能。選定的用電臺區(qū)中需要采集的設備信息見表1所列。
表1 臺區(qū)智能用采物聯(lián)終端需采集的設備信息
針對以上設備數(shù)據(jù)采集有多種方式,但為了驗證采集任務調度管理APP的功能,配置以下4個基本采集任務:
(1)所有電表和交流采樣的日凍結任務:數(shù)據(jù)項包含正向有功電能示值和反向有功電能示值。
(2)三相表的15 min曲線任務:數(shù)據(jù)項包含三相電壓、電流和有功功率。
(3)單相表的1 h曲線任務:數(shù)據(jù)項包含單相電壓和電流。
(4)斷路器的實時數(shù)據(jù)采集任務:數(shù)據(jù)項有投合狀態(tài)、電壓和電流。
設備信息和采集任務配置后,采集任務調度管理APP按配置任務自動抄表,采集數(shù)據(jù)后傳到數(shù)據(jù)中心。通過698.45維護軟件和104維護軟件召測的部分數(shù)據(jù)見表2和表3所列。
表2 交流采樣和部分電表日凍結數(shù)據(jù)
通過表2的數(shù)據(jù)可知,交流采樣數(shù)據(jù)在00:00:05就采集并存儲完成,電表的日凍結在00:05:00之后才陸續(xù)采集回來。這是由于電表的日凍結任務延遲5 min執(zhí)行,留出電表凍結數(shù)據(jù)的時間,確保一次采集成功率。表3是智能斷路器的實時數(shù)據(jù),其中漏保是一種智能斷路器。
表3 智能斷路器實時數(shù)據(jù)
通過測試驗證,本文設計的采集任務調度管理APP能夠采集整個用電臺區(qū)的設備數(shù)據(jù),并能根據(jù)任務靈活配置,實現(xiàn)臺區(qū)用采設備物物相連,滿足智能用采物聯(lián)終端的微應用APP的需求。
針對智能用采物聯(lián)終端多任務并發(fā)、多采集對象、多數(shù)據(jù)類型的新業(yè)務需求,本文設計了一種能對智能用電臺區(qū)所有設備進行采集任務調度管理的APP。在實際現(xiàn)場應用中,此APP能夠采集設備的電壓、電流、電能示值、低壓智能斷路器等;同時可以通過數(shù)據(jù)中心把數(shù)據(jù)上送到主站中,解決多級采集任務管理困難、抄讀通道沖突、同一數(shù)據(jù)重復采集等問題,提高了臺區(qū)智能用采物聯(lián)終端的數(shù)據(jù)集采性能,能夠支撐智能用電臺區(qū)朝著物物相連、全面感知和分級智能的方向發(fā)展。