劉永鋼 熊慕文 陳桂友
隨著智能變電站在電力系統的大力推廣和應用,基于IEC 61850標準的測控裝置承擔著越來越重要的作用。測控裝置作為電網運行實時數據的采集和命令執行單元,是智能變電站的重要組成部分。隨著國網公司《智能變電站測控裝置技術規范》、《多功能測控裝置技術規范》等新規范的實施,智能化、集成化、數字化的推廣應用使得測控裝置的功能日趨強大,其研發和測試變得更加復雜和重要,尤其是很多測試項目無法手工完成,給測控裝置的測試工作帶來了巨大的挑戰[1]。
目前各種微機型繼電保護測試儀已經廣泛應用于測控裝置的測試,提升了裝置的測試水平。但微機型繼電保護測試儀主要為手動測試,而且需要繁瑣的測試配置和人工參與;測試功能比較簡單,定制化的測試用例無法靈活調整,只能滿足現場排查問題或者用于生產環節的調試。對于集成計量、PMU(phasor measurement unit)、集中式等應用的測控裝置[2-4],無法滿足測試的高效性、重用性、易用性等需求。
本文基于測控裝置的測試現狀和目前存在的問題,對自動化測試技術進行了深入研究和探討,設計出一種通用化、實用化的自動化閉環測試系統;介紹了該測試系統的組成結構、測試用例的設計和執行,并將測試配置和測試腳本解耦,擴大了自動化測試系統的適用范圍,可以更好地支撐裝置的測試需求。結果表明,自動化測試系統顯著提高了測試效率和適用范圍。
變電站中測控裝置的應用趨勢是集測量、控制、計量、PMU等多功能于一體,相比傳統變電站內的應用其功能更加強大、邏輯復雜化,同時滿足 IEC 61850、數字化等應用特征。測控裝置的測試是一個完整的整體,不僅包括遙測量精度、遙控、IO信號等基本測試,還包括對上跟IEC 61850后臺的站控層通信、對下跟合并單元、智能終端等SV、GOOSE的過程層通信測試。測控裝置的基本功能測試、裝置性能測試、數據通信測試等是一個不可分割的有機整體,是測試過程的重要組成環節。
面對功能如此復雜的測控裝置,研發階段對裝置的回歸測試是一項非常耗時、繁雜的工作。測控裝置遙控功能測試很多情況下是需要人工干預的開環測試,很容易出現測試用例不全面、重復性工作以及測試深度不到位或測試遺漏的情況。嵌入式裝置發展到如今,靠傳統的手動測試方法已遠遠不能滿足測試要求,需要引入自動化測試手段[5]。
對嵌入式裝置進行自動化測試是一種非常實用、高效的方法。自動化測試可以減少測試人員的工作量和出錯概率,提升測試的完整性和正確性,很方便地對軟硬件的改動做完整的回歸測試。同時,測試用例可以按照研發人員預設的測試內容進行設計,排除了測試的盲目性和隨機性,減少測試盲點、提高測試覆蓋面[6]。自動化測試技術可以充分利用腳本的優勢,將裝置功能測試、性能測試以及數據通信測試等融合在一起,提升裝置的測試質量并縮短開發周期。
適用于測控裝置的自動化測試系統除上述內容之外,還應該具備以下特點:
1)對上具備IEC 61850通信能力,支持模型解析、定值讀取和修改、控制命令下發、報告上送等功能;對下支持GOOSE、SV報文收發和解析功能。
2)具備閉環測試能力,整個測試過程無需人工干預。
3)測試過程透明化,可實時展示當前測試用例的外部輸入、內部輸出以及測試結果等信息。
4)測試結果友好展示,可按照預先設計的標準格式生成對應的測試報告,便于分析和存檔。
5)測試用例的重用性和可擴展性。
6)測試配置簡單、易用,測試工程和腳本解耦。
自動化測試系統采用分布式結構,按照面向對象的設計思路,主要包括上位主機控制模塊、測試執行模塊、測試用例。系統總體設計框圖如圖1所示。
上位主機控制模塊主要完成測試工程的管理、人機界面的展示、測試腳本的編寫與管理以及測試結果的生成等。測試人員新建測試工程,并選擇相應的測試用例,實時顯示測試過程和通信報文,分析測試結果并生成最終的測試報告。

圖1 自動化測試系統設計框圖
測試執行模塊則主要負責跟被測裝置以及上位主機控制模塊進行交互、模擬被測裝置的實際測試環境、執行腳本命令、接收被測裝置的輸出反饋并上送給上位主機控制模塊。
測試用例是裝置測試的準則,一般包括基本功能、裝置性能以及數據通信等測試內容。測試用例的主要任務是將預先設計的測試方案腳本化,結合不同的輸入組合進行黑盒測試,分析測試數據并生成測試結果。
自動化測試系統的硬件設備主要包括上位控制主機、以太網交換機、自動化測試儀、被測設備、GPS對時裝置等,如圖2所示。

圖2 自動化測試系統硬件結構
上位控制計算機跟被測裝置之間通過 IEC 61850協議進行通信,跟自動化測試儀之間采用私有規約通信。
被測設備跟自動化測試儀之間采用定制化的專用測試把坐連接,滿足常規開入、常規開出的測試場合;也支持光纖連接,滿足GOOSE、SV數字化的測試場合。被測設備主要面向單裝置,如測控裝置、保測一體裝置、多功能測控裝置或者集中式測控等單裝置。
自動化測試儀采用南瑞繼保公司自主研發的HELP-9000裝置。該測試儀基于南瑞繼保UAPC統一平臺開發,適用于新一代數字化以及帶有小信號調試接口的常規采樣的測控裝置測試,支持 IEC 61850-9-2、GOOSE、IEC60044-8協議標準。該測試儀支持標準SCD文件的導入,自動解析GOOSE和 SV收發的控制塊信息,并提供多路開關量輸入和開關量輸出功能,支持差分和光纖 IRIG-B碼對時。此外對于精度要求很高的場合,如集成PMU、計量的測控裝置,也支持外接 OMICRON、博電等高精度測試儀進行自動化測試。
自動化測試儀中的測試執行模塊通過動態鏈接庫(DLL)文件提供功能函數,形成應用函數接口(API)供上位控制計算機執行腳本時調用,并收集被測裝置的反饋信息轉發給上位控制主機。
GPS時鐘同步系統負責自動化測試系統中被測裝置、自動測試儀的時間同步,保證所有的信號都基于相同的時間坐標。
上位主機控制模塊基于Windows系統,提供友好的人機操作界面。上位主機功能模塊如圖3所示,主要完成以下功能:測試工程管理、測試用例初始化、測試腳本執行、測試過程監控、通信信息調試、測試報告生成等。

圖3 自動化測試系統軟件功能模塊
測試執行模塊主要包括自動化測試儀的控制模塊和通信協議接口模塊。測試執行模塊作為腳本執行設備,負責控制自動化測試儀并模擬測試環境,與被測設備進行交互并解析測試腳本、執行腳本命令,同時負責接收被測設備的輸出反饋并上送給上位主機模塊。此外,還負責執行上位主機模塊下發的命令,如下載定值、遙控操作、對時命令以及模型讀取等。
測控裝置的自動化測試系統主要包含兩部分:TestCenter測試系統和測試工程。TestCenter測試系統是基于上述介紹的分布式結構而開發的上位主機控制系統,主要包括上位主機的人機界面管理、腳本的解析執行、通信信息的展示以及測試結果的生成等。在上位主機控制模塊和測試執行模塊之間采用動態鏈接庫(DLL)的方式,包括IEC 61850模塊、IEC103模塊、HELP9000模塊、定值讀取修改模塊、GOOSE模塊等。
測試工程管理則采用配置與腳本解耦的方式。測試人員無需關心腳本的具體邏輯,只需要配置一下解耦的配置文件,就可以新建一個工程開始自動化測試。解耦的配置文件信息包括被測裝置的IP地址、輸入輸出信號的通道號、GOOSE和SV的控制塊與通道號、定值名稱以及信號描述等內容。對于不同的被測裝置,裝置接口相同可以共用相同的配置文件,提高了測試效率和腳本的重用性。
本系統測試用例腳本采用Python語言。Python是一種解釋型、面向對象、跨平臺的開源腳本語言。使用Python語言開發自動測試腳本,充分發揮其語法簡單、功能強大的特點,使開發自動測試腳本的效率大大提高。
本系統主機控制程序內嵌了一個Python腳本解析器,用于解析執行測試腳本。同時,封裝了很多跟測試儀以及上位主機控制模塊交互信息的常用函數,很容易擴展新增功能的測試用例。
測控裝置的測試用例主要分為如下幾個大類,如圖4所示。
上述根據基本功能分類的測試用例中,裝置性能測試和通信功能測試是一個有機的整體。如測量功能測試中包含站控層IEC 61850上送模擬量測試、后臺修改定值以及上送報告等用例;控制功能測試用例中結合著 GOOSE遙控出口報文的發送解析、以及GOOSE開入接收、SV報文的解析等測試。

圖4 測控裝置典型測試用例介紹
本文設計的自動化測試系統具有很強的擴展性;如隨著業務范圍的擴展,測控裝置集成非關口計量功能之后需要新開發相應的計量測試用例。基于已有的遙測量功能測試用例,用HELP9000自動化測試儀施加U、I(10%,20%,50%,100%,120%覆蓋全量程范圍),通過將計算出的功率值對加量時間積分計算出理論的電量數據,與裝置實際輸出計量數據作對比,就可以完成計量精度的測試;統計一段時間間隔內的功率值,得到理論需量,用IEC 61850模塊讀取需量數據就可以得到需量精度的測試;同時編寫接口函數,將計量輸出信號(硬接點或者光脈沖)通過專用測試把坐接入自動化測試儀進行檢測統計,可以校核計量輸出的脈沖信號,完成計量精度、需量統計、節點輸出等的測試,實現計量功能的一體化完整測試。

圖5 自動化測試用例的重用和擴展
測控裝置自動化測試系統采用測試工程和 TC系統解耦的思路,測試人員不需要關心測試系統的具體實現過程,只需要進行簡單必要的配置就可以開啟黑盒測試;同時若裝置功能升級引起輸入、輸出以及定值接口的變化,則僅需要開發人員修改標準的配置接口模板即可,使用起來非常簡單方便。具體測試流程如圖6所示。

圖6 自動化測試流程圖
基于本文設計的自動化測試系統,相比傳統的手動測試無論在測試覆蓋范圍、測試效率以及準確度等方面,均有顯著提升。以間隔測控為例對比如下。

表1 兩種測試手段對比
本文針對測控裝置測試中面臨的問題和現狀,詳細介紹了一種通用的、可擴展的自動化測試系統。該自動化測試系統具有如下特點:
1)極大地提高了測試效率,解決了以前手動測試覆蓋面窄、測試深度不夠、耗時多的問題,解放了研發和測試人員。
2)測試配置跟腳本解耦,采用解耦配置文件的方式,系統使用簡單方便。
3)系統的重用性和可擴展性。基本涵蓋了測控裝置、保測一體裝置、多功能測控等測控功能的測試,減少額外的二次開發。
此外,對于計量、PMU以及網絡壓力等專項測試,還需要進一步研究開發測試用例,以提升自動化測試用例的深度和廣度。
[1] 王忠, 張曉莉, 李忠安, 等. 繼電保護裝置自動化測試系統設計[J]. 電力系統保護與控制, 2015, 43(5):130-135.
[2] Q/GDW 1876—2013. 多功能測控裝置技術規范[S].
[3] Q/GDW 766—2012. 10kV~110kV線路保護及輔助裝置標準化設計規范[S].
[4] 熊慕文, 陳桂友, 朱何榮. 基于雙平面的測控裝置集成與研制[J]. 電氣技術, 2014, 15(11): 25-28, 36.
[5] 李忠安, 沈全榮, 王言國, 等. 電力系統智能裝置自動化測試系統的設計[J]. 電力系統自動化, 2009,33(8): 77-80.
[6] 張著韜, 張沛超. 繼電保護裝置智能自動化測試系統研究與設計[J]. 科技創新導報, 2015(33): 108-111,114.
[7] 蔣崇武, 劉斌, 王軼辰, 等. 基于Python的實時嵌入式軟件測試腳本[J]. 計算機工程, 2009, 35(15):64-66, 73.
[8] 劉斌, 高小鵬, 陸民燕, 等. 嵌入式軟件可靠性仿真測試系統研究[J]. 北京航空航天大學學報, 2000,26(4): 490-493.
[9] 羅霄, 任勇, 山秀明. 基于 Python的混合語言編程及其實現[J]. 計算機應用與軟件, 2004, 21(12):17-18, 112.
[10] 司維, 曾軍崴, 譚穎華. Python基礎教程[M]. 2版.北京: 人民郵電出版社, 2010.
[11] 朱何榮, 王敏, 孫頌林, 等. 高次諧波對測控裝置測量影響解決方案設計與實現[J]. 電氣技術, 2016,17(12): 53-58.