劉永鋼 熊慕文 陳桂友
隨著智能變電站在電力系統(tǒng)的大力推廣和應(yīng)用,基于IEC 61850標準的測控裝置承擔著越來越重要的作用。測控裝置作為電網(wǎng)運行實時數(shù)據(jù)的采集和命令執(zhí)行單元,是智能變電站的重要組成部分。隨著國網(wǎng)公司《智能變電站測控裝置技術(shù)規(guī)范》、《多功能測控裝置技術(shù)規(guī)范》等新規(guī)范的實施,智能化、集成化、數(shù)字化的推廣應(yīng)用使得測控裝置的功能日趨強大,其研發(fā)和測試變得更加復(fù)雜和重要,尤其是很多測試項目無法手工完成,給測控裝置的測試工作帶來了巨大的挑戰(zhàn)[1]。
目前各種微機型繼電保護測試儀已經(jīng)廣泛應(yīng)用于測控裝置的測試,提升了裝置的測試水平。但微機型繼電保護測試儀主要為手動測試,而且需要繁瑣的測試配置和人工參與;測試功能比較簡單,定制化的測試用例無法靈活調(diào)整,只能滿足現(xiàn)場排查問題或者用于生產(chǎn)環(huán)節(jié)的調(diào)試。對于集成計量、PMU(phasor measurement unit)、集中式等應(yīng)用的測控裝置[2-4],無法滿足測試的高效性、重用性、易用性等需求。
本文基于測控裝置的測試現(xiàn)狀和目前存在的問題,對自動化測試技術(shù)進行了深入研究和探討,設(shè)計出一種通用化、實用化的自動化閉環(huán)測試系統(tǒng);介紹了該測試系統(tǒng)的組成結(jié)構(gòu)、測試用例的設(shè)計和執(zhí)行,并將測試配置和測試腳本解耦,擴大了自動化測試系統(tǒng)的適用范圍,可以更好地支撐裝置的測試需求。結(jié)果表明,自動化測試系統(tǒng)顯著提高了測試效率和適用范圍。
變電站中測控裝置的應(yīng)用趨勢是集測量、控制、計量、PMU等多功能于一體,相比傳統(tǒng)變電站內(nèi)的應(yīng)用其功能更加強大、邏輯復(fù)雜化,同時滿足 IEC 61850、數(shù)字化等應(yīng)用特征。測控裝置的測試是一個完整的整體,不僅包括遙測量精度、遙控、IO信號等基本測試,還包括對上跟IEC 61850后臺的站控層通信、對下跟合并單元、智能終端等SV、GOOSE的過程層通信測試。測控裝置的基本功能測試、裝置性能測試、數(shù)據(jù)通信測試等是一個不可分割的有機整體,是測試過程的重要組成環(huán)節(jié)。
面對功能如此復(fù)雜的測控裝置,研發(fā)階段對裝置的回歸測試是一項非常耗時、繁雜的工作。測控裝置遙控功能測試很多情況下是需要人工干預(yù)的開環(huán)測試,很容易出現(xiàn)測試用例不全面、重復(fù)性工作以及測試深度不到位或測試遺漏的情況。嵌入式裝置發(fā)展到如今,靠傳統(tǒng)的手動測試方法已遠遠不能滿足測試要求,需要引入自動化測試手段[5]。
對嵌入式裝置進行自動化測試是一種非常實用、高效的方法。自動化測試可以減少測試人員的工作量和出錯概率,提升測試的完整性和正確性,很方便地對軟硬件的改動做完整的回歸測試。同時,測試用例可以按照研發(fā)人員預(yù)設(shè)的測試內(nèi)容進行設(shè)計,排除了測試的盲目性和隨機性,減少測試盲點、提高測試覆蓋面[6]。自動化測試技術(shù)可以充分利用腳本的優(yōu)勢,將裝置功能測試、性能測試以及數(shù)據(jù)通信測試等融合在一起,提升裝置的測試質(zhì)量并縮短開發(fā)周期。
適用于測控裝置的自動化測試系統(tǒng)除上述內(nèi)容之外,還應(yīng)該具備以下特點:
1)對上具備IEC 61850通信能力,支持模型解析、定值讀取和修改、控制命令下發(fā)、報告上送等功能;對下支持GOOSE、SV報文收發(fā)和解析功能。
2)具備閉環(huán)測試能力,整個測試過程無需人工干預(yù)。
3)測試過程透明化,可實時展示當前測試用例的外部輸入、內(nèi)部輸出以及測試結(jié)果等信息。
4)測試結(jié)果友好展示,可按照預(yù)先設(shè)計的標準格式生成對應(yīng)的測試報告,便于分析和存檔。
5)測試用例的重用性和可擴展性。
6)測試配置簡單、易用,測試工程和腳本解耦。
自動化測試系統(tǒng)采用分布式結(jié)構(gòu),按照面向?qū)ο蟮脑O(shè)計思路,主要包括上位主機控制模塊、測試執(zhí)行模塊、測試用例。系統(tǒng)總體設(shè)計框圖如圖1所示。
上位主機控制模塊主要完成測試工程的管理、人機界面的展示、測試腳本的編寫與管理以及測試結(jié)果的生成等。測試人員新建測試工程,并選擇相應(yīng)的測試用例,實時顯示測試過程和通信報文,分析測試結(jié)果并生成最終的測試報告。
圖1 自動化測試系統(tǒng)設(shè)計框圖
測試執(zhí)行模塊則主要負責跟被測裝置以及上位主機控制模塊進行交互、模擬被測裝置的實際測試環(huán)境、執(zhí)行腳本命令、接收被測裝置的輸出反饋并上送給上位主機控制模塊。
測試用例是裝置測試的準則,一般包括基本功能、裝置性能以及數(shù)據(jù)通信等測試內(nèi)容。測試用例的主要任務(wù)是將預(yù)先設(shè)計的測試方案腳本化,結(jié)合不同的輸入組合進行黑盒測試,分析測試數(shù)據(jù)并生成測試結(jié)果。
自動化測試系統(tǒng)的硬件設(shè)備主要包括上位控制主機、以太網(wǎng)交換機、自動化測試儀、被測設(shè)備、GPS對時裝置等,如圖2所示。
圖2 自動化測試系統(tǒng)硬件結(jié)構(gòu)
上位控制計算機跟被測裝置之間通過 IEC 61850協(xié)議進行通信,跟自動化測試儀之間采用私有規(guī)約通信。
被測設(shè)備跟自動化測試儀之間采用定制化的專用測試把坐連接,滿足常規(guī)開入、常規(guī)開出的測試場合;也支持光纖連接,滿足GOOSE、SV數(shù)字化的測試場合。被測設(shè)備主要面向單裝置,如測控裝置、保測一體裝置、多功能測控裝置或者集中式測控等單裝置。
自動化測試儀采用南瑞繼保公司自主研發(fā)的HELP-9000裝置。該測試儀基于南瑞繼保UAPC統(tǒng)一平臺開發(fā),適用于新一代數(shù)字化以及帶有小信號調(diào)試接口的常規(guī)采樣的測控裝置測試,支持 IEC 61850-9-2、GOOSE、IEC60044-8協(xié)議標準。該測試儀支持標準SCD文件的導(dǎo)入,自動解析GOOSE和 SV收發(fā)的控制塊信息,并提供多路開關(guān)量輸入和開關(guān)量輸出功能,支持差分和光纖 IRIG-B碼對時。此外對于精度要求很高的場合,如集成PMU、計量的測控裝置,也支持外接 OMICRON、博電等高精度測試儀進行自動化測試。
自動化測試儀中的測試執(zhí)行模塊通過動態(tài)鏈接庫(DLL)文件提供功能函數(shù),形成應(yīng)用函數(shù)接口(API)供上位控制計算機執(zhí)行腳本時調(diào)用,并收集被測裝置的反饋信息轉(zhuǎn)發(fā)給上位控制主機。
GPS時鐘同步系統(tǒng)負責自動化測試系統(tǒng)中被測裝置、自動測試儀的時間同步,保證所有的信號都基于相同的時間坐標。
上位主機控制模塊基于Windows系統(tǒng),提供友好的人機操作界面。上位主機功能模塊如圖3所示,主要完成以下功能:測試工程管理、測試用例初始化、測試腳本執(zhí)行、測試過程監(jiān)控、通信信息調(diào)試、測試報告生成等。
圖3 自動化測試系統(tǒng)軟件功能模塊
測試執(zhí)行模塊主要包括自動化測試儀的控制模塊和通信協(xié)議接口模塊。測試執(zhí)行模塊作為腳本執(zhí)行設(shè)備,負責控制自動化測試儀并模擬測試環(huán)境,與被測設(shè)備進行交互并解析測試腳本、執(zhí)行腳本命令,同時負責接收被測設(shè)備的輸出反饋并上送給上位主機模塊。此外,還負責執(zhí)行上位主機模塊下發(fā)的命令,如下載定值、遙控操作、對時命令以及模型讀取等。
測控裝置的自動化測試系統(tǒng)主要包含兩部分:TestCenter測試系統(tǒng)和測試工程。TestCenter測試系統(tǒng)是基于上述介紹的分布式結(jié)構(gòu)而開發(fā)的上位主機控制系統(tǒng),主要包括上位主機的人機界面管理、腳本的解析執(zhí)行、通信信息的展示以及測試結(jié)果的生成等。在上位主機控制模塊和測試執(zhí)行模塊之間采用動態(tài)鏈接庫(DLL)的方式,包括IEC 61850模塊、IEC103模塊、HELP9000模塊、定值讀取修改模塊、GOOSE模塊等。
測試工程管理則采用配置與腳本解耦的方式。測試人員無需關(guān)心腳本的具體邏輯,只需要配置一下解耦的配置文件,就可以新建一個工程開始自動化測試。解耦的配置文件信息包括被測裝置的IP地址、輸入輸出信號的通道號、GOOSE和SV的控制塊與通道號、定值名稱以及信號描述等內(nèi)容。對于不同的被測裝置,裝置接口相同可以共用相同的配置文件,提高了測試效率和腳本的重用性。
本系統(tǒng)測試用例腳本采用Python語言。Python是一種解釋型、面向?qū)ο?、跨平臺的開源腳本語言。使用Python語言開發(fā)自動測試腳本,充分發(fā)揮其語法簡單、功能強大的特點,使開發(fā)自動測試腳本的效率大大提高。
本系統(tǒng)主機控制程序內(nèi)嵌了一個Python腳本解析器,用于解析執(zhí)行測試腳本。同時,封裝了很多跟測試儀以及上位主機控制模塊交互信息的常用函數(shù),很容易擴展新增功能的測試用例。
測控裝置的測試用例主要分為如下幾個大類,如圖4所示。
上述根據(jù)基本功能分類的測試用例中,裝置性能測試和通信功能測試是一個有機的整體。如測量功能測試中包含站控層IEC 61850上送模擬量測試、后臺修改定值以及上送報告等用例;控制功能測試用例中結(jié)合著 GOOSE遙控出口報文的發(fā)送解析、以及GOOSE開入接收、SV報文的解析等測試。
圖4 測控裝置典型測試用例介紹
本文設(shè)計的自動化測試系統(tǒng)具有很強的擴展性;如隨著業(yè)務(wù)范圍的擴展,測控裝置集成非關(guān)口計量功能之后需要新開發(fā)相應(yīng)的計量測試用例。基于已有的遙測量功能測試用例,用HELP9000自動化測試儀施加U、I(10%,20%,50%,100%,120%覆蓋全量程范圍),通過將計算出的功率值對加量時間積分計算出理論的電量數(shù)據(jù),與裝置實際輸出計量數(shù)據(jù)作對比,就可以完成計量精度的測試;統(tǒng)計一段時間間隔內(nèi)的功率值,得到理論需量,用IEC 61850模塊讀取需量數(shù)據(jù)就可以得到需量精度的測試;同時編寫接口函數(shù),將計量輸出信號(硬接點或者光脈沖)通過專用測試把坐接入自動化測試儀進行檢測統(tǒng)計,可以校核計量輸出的脈沖信號,完成計量精度、需量統(tǒng)計、節(jié)點輸出等的測試,實現(xiàn)計量功能的一體化完整測試。
圖5 自動化測試用例的重用和擴展
測控裝置自動化測試系統(tǒng)采用測試工程和 TC系統(tǒng)解耦的思路,測試人員不需要關(guān)心測試系統(tǒng)的具體實現(xiàn)過程,只需要進行簡單必要的配置就可以開啟黑盒測試;同時若裝置功能升級引起輸入、輸出以及定值接口的變化,則僅需要開發(fā)人員修改標準的配置接口模板即可,使用起來非常簡單方便。具體測試流程如圖6所示。
圖6 自動化測試流程圖
基于本文設(shè)計的自動化測試系統(tǒng),相比傳統(tǒng)的手動測試無論在測試覆蓋范圍、測試效率以及準確度等方面,均有顯著提升。以間隔測控為例對比如下。
表1 兩種測試手段對比
本文針對測控裝置測試中面臨的問題和現(xiàn)狀,詳細介紹了一種通用的、可擴展的自動化測試系統(tǒng)。該自動化測試系統(tǒng)具有如下特點:
1)極大地提高了測試效率,解決了以前手動測試覆蓋面窄、測試深度不夠、耗時多的問題,解放了研發(fā)和測試人員。
2)測試配置跟腳本解耦,采用解耦配置文件的方式,系統(tǒng)使用簡單方便。
3)系統(tǒng)的重用性和可擴展性?;竞w了測控裝置、保測一體裝置、多功能測控等測控功能的測試,減少額外的二次開發(fā)。
此外,對于計量、PMU以及網(wǎng)絡(luò)壓力等專項測試,還需要進一步研究開發(fā)測試用例,以提升自動化測試用例的深度和廣度。
[1] 王忠, 張曉莉, 李忠安, 等. 繼電保護裝置自動化測試系統(tǒng)設(shè)計[J]. 電力系統(tǒng)保護與控制, 2015, 43(5):130-135.
[2] Q/GDW 1876—2013. 多功能測控裝置技術(shù)規(guī)范[S].
[3] Q/GDW 766—2012. 10kV~110kV線路保護及輔助裝置標準化設(shè)計規(guī)范[S].
[4] 熊慕文, 陳桂友, 朱何榮. 基于雙平面的測控裝置集成與研制[J]. 電氣技術(shù), 2014, 15(11): 25-28, 36.
[5] 李忠安, 沈全榮, 王言國, 等. 電力系統(tǒng)智能裝置自動化測試系統(tǒng)的設(shè)計[J]. 電力系統(tǒng)自動化, 2009,33(8): 77-80.
[6] 張著韜, 張沛超. 繼電保護裝置智能自動化測試系統(tǒng)研究與設(shè)計[J]. 科技創(chuàng)新導(dǎo)報, 2015(33): 108-111,114.
[7] 蔣崇武, 劉斌, 王軼辰, 等. 基于Python的實時嵌入式軟件測試腳本[J]. 計算機工程, 2009, 35(15):64-66, 73.
[8] 劉斌, 高小鵬, 陸民燕, 等. 嵌入式軟件可靠性仿真測試系統(tǒng)研究[J]. 北京航空航天大學(xué)學(xué)報, 2000,26(4): 490-493.
[9] 羅霄, 任勇, 山秀明. 基于 Python的混合語言編程及其實現(xiàn)[J]. 計算機應(yīng)用與軟件, 2004, 21(12):17-18, 112.
[10] 司維, 曾軍崴, 譚穎華. Python基礎(chǔ)教程[M]. 2版.北京: 人民郵電出版社, 2010.
[11] 朱何榮, 王敏, 孫頌林, 等. 高次諧波對測控裝置測量影響解決方案設(shè)計與實現(xiàn)[J]. 電氣技術(shù), 2016,17(12): 53-58.