岳 浩,吳義文,王 勇,張小龍,程 鑫
(安徽南瑞中天電力電子有限公司,安徽 合肥 230031)
智能用電信息采集物聯終端(以下稱“智能用采終端”)是用電信息采集系統的樞紐設備,承擔著臺區電量數據采集、用電信息精準計量、數據管理以及轉發或執行控制命令的核心任務。隨著能源互聯網的迅速發展,智能用采終端產業在國內逐漸興起,終端數量與采集信息量不斷增多,傳統用采終端完全依賴主站做出智能判斷與行動決策的交互模式,已無法滿足采集管控信息量日益增多的需求。面對電力行業對海量數據智能化實時處理的強烈需求,如果完全依賴主站集中分析處理電力系統采集到的原始數據,不僅會造成主站網絡流量壓力過大,而且大量設備協同工作的實時性難以得到保證。為減小主站計算壓力,設計一種APP對智能用采終端所有采集任務進行統一分析、管理以及調度,允許終端自身分析運行狀態并做出智能決策的方案勢在必行。
采集任務調度管理APP須支持以下功能:
(1)篩查冗余的采集任務,剔除冗余的采集方案或采集數據項;
(2)支持多級采集任務優先級管理,支持按業務類型編排優先級,抄表端口按照優先級進行排序,確保高優先級業務優先執行;
(3)執行采集任務前,先從數據中心查詢該數據項是否已存在,如已存在(抄讀成功)不再重復抄讀,避免浪費端口資源;
(4)為提高采集效率,采集數據支持本地緩存功能,按需或定時將采集數據寫入數據中心;
(5)采集數據對外提供數據庫接口和消息訂閱接口,實現數據共享;
(6)可接收主動上報數據或事件,按需將采集數據寫入數據中心。
采集任務調度管理APP負責所有采集任務的管理,對采集任務的配置執行相應抄表過程,通過本地抄表模塊管理APP進行抄表,將數據采集結果存儲到數據中心,與高級APP實現數據共享。
采集任務調度管理APP處于邊緣計算APP容器中,負責對通過本地抄表模塊完成數據采集的采集任務進行分析、管理以及調度,由采集任務調度管理APP完成采集任務的執行,并將采集結果存儲到數據中心供各業務APP或邊緣計算APP查詢。平臺整體架構如圖1所示。

圖1 平臺架構
采集任務調度管理APP通過時間觸發或者命令觸發生成自動抄表任務和透明傳輸任務,執行抄表流程;抄表通道分載波通道和485通道,采集任務調度管理APP負責對通過本地抄表APP或者485通道完成數據采集的采集任務進行分析、管理以及調度。有抄表需求的業務APP,將抄表任務配置到數據庫APP,由采集任務調度管理APP完成采集任務的優化和執行,調用采集規約進行組幀和解幀,并將采集結果存儲到數據中心供各業務APP或邊緣計算APP查詢。APP的業務架構如圖2所示。

圖2 業務架構
采集任務調度管理APP啟動后首先在系統管理APP中進行注冊,建立與消息中心的鏈路。注冊完成后從數據中心循環讀取采集方案和采集任務,進行冗余篩查,去除重復的采集方案或者采集數據項,最終形成統一的采集任務集合。采集任務調度管理APP上電或者收到參數變更通知時讀取一次采集方案和采集任務。
采集任務調度管理APP對采集任務集合進行優先級管理,確保高優先級任務優先執行。達到采集任務開始周期時任務啟動,首先從數據中心中查詢需要采集的數據項是否已存在,如果存在則無須抄讀,如果不存在則進行抄讀。組成抄表幀下發至本地通信管理APP進行抄表。抄表完成后先將數據記錄在緩沖區,按需或者定時將數據寫入數據中心;采集任務調度管理APP還可支持本地通信管理APP主動上報的數據或者事件,按需將這部分數據寫入數據中心。
采集任務調度管理APP負責所有采集任務的管理,通過采集任務的配置執行相應的抄表過程。APP上電時從數據中心讀取所有采集任務,按照一定條件進行篩選,加入到任務隊列中,例如去除無效的任務;再對任務按照優先級進行排序,確保優先級高的任務優先執行。
3.1.1 任務隊列建立
采集任務調度管理APP啟動時從數據中心讀取所有采集任務,進行初步的篩查,剔除無效的任務,讀取每個任務對應的采集方案,對其進行參數解析后加入到任務列表中。當采集任務調度管理APP收到采集任務變更的消息后,重新進行上述操作,更新采集任務列表,否則任務列表保持不變。
3.1.2 任務狀態管理
每個采集任務都具有四種狀態:無效、有效、激活以及完成。每個任務按照所處的狀態進行統一調度,具體如下:
(1)無效:任務配置為“停用”狀態,任務不可執行;
(2)有效:任務配置為“啟用”狀態,須按配置周期執行;
(3)激活:任務滿足執行條件(開始時間、結束時間、延時等),但任務配置的數據項未全部抄讀完成;
(4)完成:任務配置的數據項抄讀成功率100%或者任務超過執行周期。
狀態切換規則如下:
(1)有效與無效:兩種狀態的切換通過任務參數配置完成;
(2)有效與激活:根據任務配置參數,滿足運行條件后執行,從有效切換至激活狀態,清除所有任務執行狀態標記,激活狀態不能切換至有效狀態;
(3)激活與完成:當此任務抄讀成功率為100%,或者任務超過執行周期,轉為“完成”狀態;
(4)完成與激活:按配置周期,滿足運行條件后執行,從完成切換至激活狀態。
3.1.3 任務優先級管理
采集任務調度管理支持255個任務、256種優先級,可以多個任務同一優先級。當優先級相同時,按照任務序號順序執行。通過對任務隊列的排序進行任務優先級的管理。
采集任務的執行須按照表計檔案的配置端口分別進行管理,可以按照端口并發執行。如果某一端口配置的表計,其高優先級采集任務全部執行完成,可以繼續執行低優先級任務,與其他端口的高優先級采集任務狀態無關。采集任務排序流程如圖3所示。

圖3 采集任務排序流程
功能實現程序如下:

3.2.1 數據項抄讀
抄讀數據項的流程如下:
(1)采集任務調度管理APP可連續發送多條抄讀命令,然后等待上報數據。如果某數據項在超時時間內未有任何響應,表示此數據項抄讀失敗(未響應),如圖4所示。

圖4 數據項抄讀流程
(2)對于連續多次都無響應的表計,不再抄讀,直接切表;在一個任務執行周期內,所有表計全部請求完成后,須將所有未響應的數據項狀態清零,再次請求抄讀。
(3)如果表計回復否認,將此數據項加入不支持數據列表,后續將不再抄讀此數據,然后抄讀下一個數據項。
(4)如果表計正常返回,保存數據。

3.2.2 補抄功能設計
終端上電或者首次下發檔案,判斷是否需要補抄。如果需要補抄,將需要補抄的表計及數據項存入補抄信息的私有文件;每輪任務抄表結束后,將該任務中抄表失敗的表計數據項存儲到私有文件中。補抄任務運行時檢測文件并讀取文件中需要補抄的信息,進行補抄任務。每輪抄表過程中,只有未響應的表計數據項需要存儲到補抄文件中,如果表計明確回復不支持,則不需要進行補抄。補抄執行優先級最低,在所有正常任務執行完成之后才啟動補抄任務。
當采集任務調度管理接收到本地通信管理APP上報的事件數據時,將上報數據轉換成規定的存儲格式存儲到數據中心,供高級APP讀出后上報給主站,關鍵程序如下:

按照以上整體和分模塊的設計,在Linux開發環境下編寫代碼,搭建采集任務調度管理APP;然后在一個典型的使用環境中驗證此APP的功能。選定的用電臺區中需要采集的設備信息見表1所列。

表1 臺區智能用采物聯終端需采集的設備信息
針對以上設備數據采集有多種方式,但為了驗證采集任務調度管理APP的功能,配置以下4個基本采集任務:
(1)所有電表和交流采樣的日凍結任務:數據項包含正向有功電能示值和反向有功電能示值。
(2)三相表的15 min曲線任務:數據項包含三相電壓、電流和有功功率。
(3)單相表的1 h曲線任務:數據項包含單相電壓和電流。
(4)斷路器的實時數據采集任務:數據項有投合狀態、電壓和電流。
設備信息和采集任務配置后,采集任務調度管理APP按配置任務自動抄表,采集數據后傳到數據中心。通過698.45維護軟件和104維護軟件召測的部分數據見表2和表3所列。

表2 交流采樣和部分電表日凍結數據
通過表2的數據可知,交流采樣數據在00:00:05就采集并存儲完成,電表的日凍結在00:05:00之后才陸續采集回來。這是由于電表的日凍結任務延遲5 min執行,留出電表凍結數據的時間,確保一次采集成功率。表3是智能斷路器的實時數據,其中漏保是一種智能斷路器。

表3 智能斷路器實時數據
通過測試驗證,本文設計的采集任務調度管理APP能夠采集整個用電臺區的設備數據,并能根據任務靈活配置,實現臺區用采設備物物相連,滿足智能用采物聯終端的微應用APP的需求。
針對智能用采物聯終端多任務并發、多采集對象、多數據類型的新業務需求,本文設計了一種能對智能用電臺區所有設備進行采集任務調度管理的APP。在實際現場應用中,此APP能夠采集設備的電壓、電流、電能示值、低壓智能斷路器等;同時可以通過數據中心把數據上送到主站中,解決多級采集任務管理困難、抄讀通道沖突、同一數據重復采集等問題,提高了臺區智能用采物聯終端的數據集采性能,能夠支撐智能用電臺區朝著物物相連、全面感知和分級智能的方向發展。