面向對象終端軟件設計
來源:用戶上傳
作者:
摘 要:采集終端是堅強智能電網的重要環節,其穩定運行是用電信息采集系統的重要保障。采集終端主要實現電能表數據采集、數據管理、數據雙向傳輸以及轉發或者執行相關控制命令。之前電能表信息采集規約主要是面向業務的數據型協議,隨著智能電網的深入建設,其拓展性、復用性以及靈活性逐漸顯示出不足。因此研究面向對象互操作技術的用電信息采集協議,貫穿主站、采集終端、電能表,實現協議的統一性、靈活性以及規范性,提高系統運行的可靠性,成為當前熱點。
關鍵詞:智能電網;采集終端;電能表
中圖分類號:TM76 文獻標志碼:A 文章編號:2095-2945(2019)19-0100-02
Abstract: The collection terminal is an important link of the strong smart grid, and its stable operation is an important guarantee of the power consumption information collection system. The acquisition terminal mainly realizes the watt-hour meter data acquisition, data management, data two-way transmission and forwarding or execution of relevant control commands. Before the watt-hour meter information collection protocol is mainly business-oriented data protocol, with the in-depth construction of smart grid, its expansion, reusability and flexibility gradually show deficiencies. Therefore, it has become a hotspot to study the power information collection protocol of object-oriented interoperation technology, which runs through the main station, collection terminal and watt-hour meter, realizes the unity, flexibility and standardization of the protocol, and improves the reliability of system operation.
Keywords: smart grid; acquisition terminal; watt-hour meter
1 概要
針對用電采集系統的各個環節,本文主要討論了基于面向對象協議的采集終端,其軟件設計模型、設計方法,著重完成各種不同層次的模塊設計。
2 設計策略
2.1 功能與規約相分離設計
鑒于終端使用的規約不統一,而且同一種規約在不同地域也會有細微的甚至是較大的差別,如果內部通訊模塊與規約相關,修改規約導致需要修改所有實現與規約對應的功能的所有的功能模塊。則導致:
?。?)版本過多,無法形成統一的應用軟件平臺。
?。?)開發重復工作過多,不利于穩定代碼和測試。
?。?)開發周期過長,不利于新產品的快速開發。
考慮到上述的因素,需要建立一個與通訊規約相獨立的應用軟件平臺,具體就是:功能與通訊規約相分離。為了實現功能與規約相分離,對整個終端的模塊相關部分必須做到與規約相獨立。按照規約與功能相獨立的設計思想,終端與規約相關的功能模塊只有規約解析模塊,其他功能模塊均與規約無關。為了實現這一目的在設計時必須對參數,數據和異常處理進行通用化(內部規約)規定。通過制定統一的終端內部使用的內部通用數據,終端內部的功能模塊均可在統一的基礎上執行功能。內部通用的數據規定包括:通用內部數據格式,通用的內部參數格式(管理),通用的異常事件格式。
2.2 模塊化設計
實際設計過程中,可以把各功能作為獨立的模塊進行設計,不同模塊間最大程度上解耦合。基礎功能實現的模塊可以被上層模塊調用,因此需要實現為動態鏈接庫;上層功能不僅可以是動態鏈接庫,也可以是可執行文件。
可執行文件不需要鏈接所有的動態庫,可以通過配置文件加載需要的動態庫,以實現為不同功能的程序,并且適應不同的應用場合。
需要注意的是,為了后續需求變更時修改方便,每個模塊最好只實現一個功能。另外,為了達到模塊重用的目的,還需要建立一個基礎公用動態庫,以達到行業應用的目的。
2.3 層次化設計
不同用戶對終端的使用可能會有不同需求,因此有必要對其功能進行個性化定制,即使需求會隨著時間進行而不斷出現變化。對于那些核心的基礎性功能而言,它們不易受到需求變化的影響。因此,可以根據終端軟件功能的穩定性以及業務相關性把各種功能分成不同的層次,以便達到設計目的:核心及穩定的功能可以在后續開發中復用,普通而且不穩定的功能可以隨著需求的變化而變更。
2.4 可動態配置的設計
所有的功能需求都體現在終端的每個功能模塊中。實際設計時,為了避免可能變化的需求帶來的設計變更,可以把和業務聯系密切并且容易變化的部分實現為可配置的方式,變化最頻繁的內容也可以以參數的形式實現;那些基本不變化的需求部分都體現在程序代碼中。 這種配置文件以及參數的實現方式能夠提高程序的通用性,即使相關的需求目標值發生變化,只要需求根本邏輯沒有改變,就可以通過修改配置文件或參數的方式動態實現,大大降低了修改終端程序的可能性。
3 程序架構
3.1 層次結構
可以根據軟件和用戶的關系進行層次劃分,按照用戶參與程度分成由下到上的4層:支撐層、數據源層、業務處理層以及數據表示層。除了支撐層之外,只有相鄰的兩層間才存在通訊交互關系。由于支撐層起到其他業務相關功能的支撐作用,因此能夠被其他模塊調用。圖1表示了這種層次劃分。
從圖1可以看出,支撐層是終端的基礎層,可以為其他功能模塊提供參數、通訊等的支持,其功能模塊有運行監控模塊、鏈路通訊模塊以及參數管理模塊。在設計支撐層各模塊的時候,要保證功能模塊和業務邏輯相分離。
數據源層的功能模塊包括設備監控模塊、數據采集和統計模塊以及存儲管理模塊。數據源層可以為所有上層模塊提供業務數據,并完成數據的管理及存儲。由于數據源層的主要目的是采集并存儲數據,因此在設計時不需要考慮規約因素,可以以配置化的思想進行。
業務處理層包含功能模塊:事件處理,數據處理功能:業務處理層體現著終端的管理功能,事件處理,主動上報等都在這一層中體現。為了體現終端的功能,在設計業務處理層時需要嚴格遵循實際需求,并且區分是普通需求還是核心需求,以便后續擴展。
作為終端和用戶的交互接口,數據表示層的模塊主要是界面展示以及規約解析,以完成本地和遠程交互功能。界面展示功能實現時需要考慮不同的硬件,并且顯示內容要能夠根據需求及實際硬件環境進行配置。規約解析指的是把主站內規約變成終端內部的數據形式,或反過來將終端內部的數據轉換為主站的規約,實際設計時需要可以體現其屏蔽作用。
3.2 功能關系
應用軟件的模塊間的關系見圖2,其中可執行程序是:數據采集與統計分析,設備監控,存儲管理運行監控負控處理,報警處理,數據處理,規約解析,界面顯示,鏈路通訊。
其它的功能模塊均為動態庫方式。
4 結束語
本文主要討論了符合面向對象通信協議的新一代采集終端的軟件設計,與面向業務相比,該設計方法兼顧穩定性與靈活性、擴展性的要求,同時降低了嵌入式軟硬件的耦合性,完全滿足國家電網對于面向對象新一代終端的技術要求。
參考文獻:
[1]郭寶,項薇,羅黎明,等.基于“互聯網+”模式下電網數據采集終端安全接入防護研究[J].計算機應用與軟件,2018,35(12):320-324.
[2]翟術然,盧靜雅,呂偉嘉,等.用電信息采集系統運維體系的探索與實踐[J].通信電源技術,2018,35(11):169-170.
[3]劉靜,劉瑞敏,沈鑫,等.用電信息采集系統的研究與測試[J].數據通信,2018(06):22-25.
[4]張利花,伍祥,陳旭,等.電量采集終端及電能表遠程對時研究及應用[J].寧夏電力,2018(05):48-52.
[5]陳宇鋒.電能量數據采集終端的應用探究[J].通訊世界,2017(24):212-213.
轉載注明來源:http://www.hailuomaifang.com/1/view-14832948.htm