0 引言
繼電保護(hù)裝置是電力系統(tǒng)*重要的二次設(shè)備之一,對(duì)電力系統(tǒng)的安全穩(wěn)定運(yùn)行起著重要的作用。隨著計(jì)算機(jī)技術(shù)、微電子技術(shù)、通信技術(shù)的發(fā)展,新型繼電保護(hù)裝置特別是數(shù)字式保護(hù)裝置已經(jīng)得到廣泛的推廣和應(yīng)用。這些集網(wǎng)絡(luò)化、智能化、保護(hù)控制于一體的嵌入式裝置功能復(fù)雜,其開發(fā)、測(cè)試都比較困難,很多測(cè)試項(xiàng)目無法在手工操作的情況下完成,給繼電保護(hù)裝置的測(cè)試技術(shù)提出了巨大的挑戰(zhàn)。
目前微機(jī)型繼電保護(hù)測(cè)試儀已廣泛應(yīng)用于繼電保護(hù)裝置測(cè)試,提高了繼電保護(hù)裝置的測(cè)試水平,但是繼電保護(hù)裝置的測(cè)試主要以手工為主,即使開展了自動(dòng)化測(cè)試,也僅僅用于生產(chǎn)環(huán)節(jié)的硬件檢查,測(cè)試功能比較簡單固定[1-2]。本文針對(duì)繼電保護(hù)裝置測(cè)試的現(xiàn)狀,重點(diǎn)對(duì)測(cè)試技術(shù)進(jìn)行了深入的研究與探討,并在此基礎(chǔ)上提出了通用化、實(shí)用化的保護(hù)裝置閉環(huán)自動(dòng)測(cè)試方案,可用于產(chǎn)品研發(fā)過程和生產(chǎn)過程的自動(dòng)測(cè)試。
1 自動(dòng)測(cè)試系統(tǒng)概述
微機(jī)繼電保護(hù)裝置邏輯復(fù)雜、功能強(qiáng)大,集繼電保護(hù)、自動(dòng)化控制和狀態(tài)監(jiān)測(cè)于一體。繼電保護(hù)裝置的測(cè)試是一個(gè)整體的過程,不僅僅局限于可靠性、選擇性、靈敏性和速動(dòng)性等基本要求測(cè)試,繼電保護(hù)裝置的網(wǎng)絡(luò)化、智能化、數(shù)據(jù)通信等是一個(gè)有機(jī)的整體,都是進(jìn)行測(cè)試不可分割的部分。
在研發(fā)階段對(duì)嵌入式微機(jī)繼電保護(hù)裝置進(jìn)行測(cè)試是非常復(fù)雜、耗時(shí)的工作。人工測(cè)試效率低下,測(cè)試工作重復(fù)性高,易導(dǎo)致人員疲勞而獲取錯(cuò)誤結(jié)果。微機(jī)繼電保護(hù)技術(shù)發(fā)展到今天,靠傳統(tǒng)的測(cè)試方法已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足要求,繼電保護(hù)測(cè)試應(yīng)該實(shí)行自動(dòng)化。
在測(cè)試過程中引入自動(dòng)化工具進(jìn)行自動(dòng)化測(cè)試是一種非常實(shí)用高效的方法[2]。自動(dòng)化測(cè)試具有一致性和可重復(fù)性的特點(diǎn),很容易發(fā)現(xiàn)被測(cè)軟件的任何改變;自動(dòng)化測(cè)試中通過事先編制測(cè)試計(jì)劃,可以減少人為因素干擾,排除測(cè)試的隨機(jī)性和盲目性,提高測(cè)試效率和測(cè)試可靠性;自動(dòng)化測(cè)試可以充分利用硬件資源,完成手工測(cè)試由于時(shí)間或運(yùn)行環(huán)境限制而無法進(jìn)行的測(cè)試,保證了測(cè)試的完整性,從而縮短產(chǎn)品的開發(fā)周期。
要實(shí)現(xiàn)繼電保護(hù)裝置的自動(dòng)化測(cè)試,還必須做到以下幾點(diǎn):
1) 實(shí)行閉環(huán)自動(dòng)測(cè)試,系統(tǒng)主控計(jì)算機(jī)解釋執(zhí)行測(cè)試腳本,把測(cè)試腳本中的故障參數(shù)通過微機(jī)繼電保護(hù)測(cè)試儀加給保護(hù)裝置,收集保護(hù)裝置的動(dòng)作反饋信息,測(cè)試腳本根據(jù)收集到的數(shù)據(jù)完成測(cè)試結(jié)果的判斷,形成閉環(huán)測(cè)試。
2) 測(cè)試過程透明化,系統(tǒng)能顯示測(cè)試過程中每個(gè)測(cè)試用例的執(zhí)行過程和執(zhí)行結(jié)果。這些顯示信息由測(cè)試腳本控制,當(dāng)測(cè)試不通過時(shí),可以方便定位測(cè)試失敗時(shí)的具體原因。
3) 自動(dòng)測(cè)試用例應(yīng)具有良好的擴(kuò)展性和可重用性。
4) 系統(tǒng)在測(cè)試完成后能夠自動(dòng)生成標(biāo)準(zhǔn)格式的測(cè)試報(bào)告,根據(jù)要求生成相關(guān)格式電子文檔,便于存檔。
2 系統(tǒng)設(shè)計(jì)
2.1 總體設(shè)計(jì)
系統(tǒng)采用分布式平臺(tái),按照面向?qū)ο蟮脑O(shè)計(jì)方法,將智能自動(dòng)測(cè)試系統(tǒng)分為主機(jī)控制模塊、從機(jī)執(zhí)行模塊、測(cè)試用例數(shù)據(jù)庫模塊三個(gè)部分,自動(dòng)測(cè)試系統(tǒng)總體框圖如圖 1 所示。
主機(jī)模塊主要實(shí)現(xiàn)控制功能,建立測(cè)試運(yùn)行環(huán)境,執(zhí)行測(cè)試過程和生成測(cè)試報(bào)告等。測(cè)試運(yùn)行時(shí),可以根據(jù)要求,選擇部分或全部測(cè)試用例,執(zhí)行過程中透明輸出測(cè)試信息。測(cè)試未通過的程序的用例,確定原因后,可統(tǒng)一進(jìn)行回歸測(cè)試。
從機(jī)模塊負(fù)責(zé)與被測(cè)保護(hù)裝置進(jìn)行交互,模擬測(cè)試環(huán)境,實(shí)現(xiàn)某項(xiàng)具體測(cè)試任務(wù)。從機(jī)模塊通過對(duì)應(yīng)的接口提供功能函數(shù)形成API函數(shù)庫,供測(cè)試腳本執(zhí)行時(shí)調(diào)用。同時(shí)收集被測(cè)保護(hù)裝置的動(dòng)作信息,轉(zhuǎn)發(fā)給主機(jī)模塊。
測(cè)試用例是裝置測(cè)試的準(zhǔn)則,按照被測(cè)產(chǎn)品的功能進(jìn)行分類,通過**的測(cè)試來驗(yàn)證產(chǎn)品的質(zhì)量。測(cè)試用例數(shù)據(jù)庫系統(tǒng)主要任務(wù)是將測(cè)試方案數(shù)據(jù)化方式保存,提供給自動(dòng)測(cè)試系統(tǒng)有關(guān)測(cè)試數(shù)據(jù)和相關(guān)測(cè)試實(shí)例。
2.2 自動(dòng)測(cè)試系統(tǒng)組成
系統(tǒng)主要由測(cè)試控制計(jì)算機(jī),以太網(wǎng)交換機(jī),微機(jī)繼電保護(hù)測(cè)試儀, GPS 對(duì)時(shí)終端,被測(cè)保護(hù)裝置等組成,自動(dòng)測(cè)試系統(tǒng)硬件結(jié)構(gòu)如圖 2 所示。
微機(jī)繼電保護(hù)測(cè)試儀采用南瑞繼保公司的Help2000裝置。 Help2000是基于統(tǒng)一建模的微機(jī)繼電保護(hù)測(cè)試儀[3],該裝置的突出優(yōu)點(diǎn)是:硬件配置自由靈活,I/O點(diǎn)數(shù)完全不受限制,并可根據(jù)不同的測(cè)試目的,快速組態(tài),進(jìn)行二次開發(fā),能對(duì)各類繼電保護(hù)裝置實(shí)現(xiàn)真正的全閉環(huán)測(cè)試。進(jìn)行自動(dòng)測(cè)試時(shí),對(duì)于常規(guī)站保護(hù)裝置,電氣量輸入是電流電壓模擬量,開入開出通過硬觸點(diǎn)來實(shí)現(xiàn),因此需在Help2000上配置小信號(hào)輸出板卡和開入開出板卡;如果是數(shù)字化站保護(hù)裝置,電氣量輸入的信號(hào)是經(jīng)過處理的光數(shù)字信號(hào),其輸入輸出由GOOSE報(bào)文傳送[4-7],
因此需要在Help2000上配置數(shù)字化板卡。測(cè)試控制計(jì)算機(jī)通過網(wǎng)絡(luò)與其他設(shè)備進(jìn)行信息交互,Help2000向保護(hù)裝置輸出模擬量和開入量,可以實(shí)現(xiàn)保護(hù)裝置硬壓板的投退和其他開入信號(hào)功能,接收并處理保護(hù)裝置的動(dòng)作觸點(diǎn)信息,測(cè)試控制計(jì)算機(jī)收集保護(hù)裝置的SOE報(bào)文和Help2000轉(zhuǎn)發(fā)來的動(dòng)作信息,進(jìn)行分析處理,形成測(cè)試報(bào)告。
GPS 對(duì)時(shí)負(fù)責(zé)各模塊時(shí)鐘的統(tǒng)一,從而可以測(cè)量保護(hù)裝置出口繼電器的觸點(diǎn)動(dòng)作時(shí)間。
2.3 自動(dòng)測(cè)試系統(tǒng)軟件功能模塊
自動(dòng)測(cè)試系統(tǒng)軟件功能模塊如圖 3 所示。
主機(jī)模塊采用 windows 操作系統(tǒng),提供友好的人機(jī)界面。其主要任務(wù)是:用戶命令接口,自動(dòng)測(cè)試系統(tǒng)配置,導(dǎo)入和管理測(cè)試用例,監(jiān)控測(cè)試過程,測(cè)試結(jié)果分析和處理以及測(cè)試報(bào)告生成。在運(yùn)行時(shí),根據(jù)要求選擇自動(dòng)測(cè)試方案,運(yùn)行測(cè)試腳本,通過Help2000 接口管理模塊,經(jīng)由從機(jī)模塊來實(shí)現(xiàn)微機(jī)繼電保護(hù)測(cè)試儀的輸出,完成保護(hù)功能測(cè)試。并收集測(cè)試結(jié)果,依據(jù)測(cè)試方案完成對(duì)測(cè)試結(jié)果的判斷。同時(shí)監(jiān)控測(cè)試過程的狀態(tài)信息,并對(duì)整個(gè)測(cè)試的流程和通信進(jìn)行統(tǒng)一管理。
從機(jī)模塊主要包括 Help2000 控制模塊和從機(jī)通信協(xié)議接口模塊。主機(jī)模塊不直接與被測(cè)裝置發(fā)生交互,所有信息通過從機(jī)模塊進(jìn)行轉(zhuǎn)發(fā)。從機(jī)模塊在運(yùn)行時(shí),通過系統(tǒng)目標(biāo)配置,解釋測(cè)試腳本,驅(qū)動(dòng) Help2000 輸出實(shí)時(shí)仿真信號(hào),收集被測(cè)保護(hù)裝置的報(bào)文信息并轉(zhuǎn)發(fā)給主機(jī)模塊;同時(shí)被測(cè)保護(hù)裝置的觸點(diǎn)動(dòng)作信息由 Help2000 記錄,并通過從機(jī)模塊,以遙信的形式轉(zhuǎn)發(fā)給主機(jī)模塊,供主機(jī)模塊實(shí)時(shí)分析比較。此外從機(jī)模塊還負(fù)責(zé)執(zhí)行主控程序下發(fā)的命令,如下載定值、遙控壓板、對(duì)時(shí)命令、通用數(shù)據(jù)讀取等。
測(cè)試用例是對(duì)特定的軟件產(chǎn)品進(jìn)行測(cè)試任務(wù)的描述,內(nèi)容包括測(cè)試目標(biāo)、測(cè)試輸入、執(zhí)行條件、預(yù)期結(jié)果等,以便測(cè)試其性能是否滿足某個(gè)特定需求。
測(cè)試用例模塊按照被測(cè)產(chǎn)品的功能進(jìn)行分類,針對(duì)具體型號(hào)的保護(hù)裝置,按照測(cè)試標(biāo)準(zhǔn),離線生成。測(cè)試時(shí),由主控程序解釋執(zhí)行,測(cè)試用例通過調(diào)用從機(jī)的接口函數(shù),對(duì)保護(hù)裝置進(jìn)行測(cè)試,并收集保護(hù)裝置的動(dòng)作信息,與預(yù)先設(shè)定的動(dòng)作情況進(jìn)行比對(duì),判斷保護(hù)裝置的動(dòng)作邏輯是否正確。
保護(hù)裝置的測(cè)試用例除了常用的功能模塊,如差動(dòng)保護(hù)測(cè)試模塊、距離保護(hù)測(cè)試模塊、零序測(cè)試保護(hù)模塊等,對(duì)一些需要雙端或多端配合的復(fù)雜邏輯,設(shè)計(jì)了專門測(cè)試用例進(jìn)行仿真測(cè)試。
3 測(cè)試用例設(shè)計(jì)
測(cè)試腳本是具有正則語法的數(shù)據(jù)和指令的集合, 測(cè)試用例腳本化是實(shí)現(xiàn)自動(dòng)化測(cè)試的關(guān)鍵。根據(jù)測(cè)試用例,利用腳本語言編寫成腳本測(cè)試程序,通過腳本解釋器一次性執(zhí)行多個(gè)測(cè)試用例,很好地實(shí)現(xiàn)了測(cè)試的自動(dòng)化。為了提高自動(dòng)化測(cè)試水平,測(cè)試腳本要求具有高效性、可靠性和可維護(hù)性。
本測(cè)試系統(tǒng)采用 Python 語言作為測(cè)試腳本語言,Python 是一種解釋型的、面向?qū)ο?、?dòng)態(tài)語義、語法優(yōu)美、跨平臺(tái)的開源腳本語言[8]。Python 糅合了簡單的語法和強(qiáng)大的功能,可以快速進(jìn)行原型設(shè)計(jì),是一種適合混合語言編程開發(fā)的膠水語言。本測(cè)試系統(tǒng)采用 C++和 Python 混合編程,主控程序和人機(jī)界面等采用 C++編程,測(cè)試用例采用Python 語言開發(fā),在主控程序中嵌入 Python 腳本解析器,用于解析執(zhí)行測(cè)試腳本。此外,為了實(shí)現(xiàn)對(duì)Help2000 的控制和讀取保護(hù)裝置的動(dòng)作反饋信息,還利用 C++編寫了擴(kuò)展模塊,在測(cè)試腳本中用“import”語句導(dǎo)入該模塊,就可以使用模塊提供的各種擴(kuò)展函數(shù)。
3.1 測(cè)試腳本的層次結(jié)構(gòu)
腳本分為以下 4 個(gè)層次:測(cè)試類、測(cè)試用例、測(cè)試項(xiàng)、測(cè)試工程。
(1) 測(cè)試類。某種保護(hù)所有測(cè)試邏輯的**實(shí)現(xiàn),與一個(gè) py 文件(module)對(duì)應(yīng)。此文件里包含一測(cè)試模板類 (class) 及其對(duì)應(yīng)的多個(gè)測(cè)試函數(shù)(method),用來測(cè)試該保護(hù)的所有邏輯。例如距離保護(hù)的測(cè)試可以作為一個(gè)類,其中包含了距離保護(hù)的所有測(cè)試邏輯等。
(2) 測(cè)試用例。某種保護(hù)某個(gè)測(cè)試邏輯的具體實(shí)現(xiàn),與 py 文件中測(cè)試模板類(class)的某個(gè)測(cè)試函數(shù)(method)對(duì)應(yīng)。例如距離保護(hù)測(cè)試類中包含了動(dòng)作邊界測(cè)試、距離定值上下限測(cè)試、時(shí)間定值上下限測(cè)試、距離保護(hù)閉鎖條件測(cè)試等各種測(cè)試用例。分別用 TestCase00、TestCase01、…來表示。
(3) 測(cè)試項(xiàng)。為實(shí)際執(zhí)行的*小測(cè)試單元,為實(shí)例化的測(cè)試用例。例如距離保護(hù)Ⅰ、Ⅱ、Ⅲ段都有PT 斷線閉鎖測(cè)試,因此實(shí)例化后有 3 個(gè)測(cè)試項(xiàng)對(duì)應(yīng)。
(4) 測(cè)試工程。對(duì)應(yīng)裝置的具體某次測(cè)試任務(wù),由一腳本配置文件直接生成。配置文件中引用測(cè)試庫中測(cè)試用例(模板測(cè)試類),并根據(jù)具體裝置配置實(shí)例化,從而形成此次測(cè)試項(xiàng)集合。
生成測(cè)試工程時(shí),配置腳本先加載所需要的測(cè)試模板類,再根據(jù)配置參數(shù),實(shí)例化測(cè)試模板類,*后生成測(cè)試項(xiàng)列表。每一測(cè)試項(xiàng)名稱由測(cè)試用例名稱、模板類名稱、測(cè)試實(shí)例名稱組合而成,用于區(qū)分不同的測(cè)試項(xiàng),以便于執(zhí)行時(shí)挑選。
測(cè)試項(xiàng)列表是由測(cè)試用例、測(cè)試實(shí)例組合產(chǎn)生,例如有 2 個(gè)測(cè)試類,每個(gè)測(cè)試類中包含 2 個(gè)測(cè)試項(xiàng)目,**個(gè)測(cè)試用例對(duì)應(yīng)的測(cè)試類實(shí)例化出 2 個(gè)實(shí)例,**個(gè)測(cè)試用例對(duì)應(yīng)的測(cè)試類實(shí)例化出 1 個(gè)實(shí)例,因此可以產(chǎn)生 6 個(gè)測(cè)試項(xiàng),如圖 4 所示。
3.2 測(cè)試腳本接口配置
測(cè)試腳本中包含一個(gè)通用的配置文件,用來確定測(cè)試環(huán)境中硬件資源的分配,如保護(hù)裝置及Help2000 的地址分配、所需定值名稱的確定、軟壓板名稱的確定、模擬量通道號(hào)的確定、開入開出通道號(hào)的確定和配置參數(shù)類的定義,該文件面向全部測(cè)試用例。
對(duì)于常規(guī)站保護(hù)裝置,繼電器的出口觸點(diǎn)連接到 Help2000 的通用開入插件,觸點(diǎn)動(dòng)作時(shí),Help2000 讀取開入狀態(tài),將其作為遙信處理;如果是數(shù)字化站保護(hù)裝置,Help2000 處理保護(hù)裝置發(fā)出的 GOOSE 出口報(bào)文,測(cè)試用例通過調(diào)用擴(kuò)展函數(shù)就可以從 Help2000 得到 GOOSE 出口的動(dòng)作情況,從而進(jìn)行出口比對(duì)。
對(duì)于需要多臺(tái)保護(hù)裝置相配合的邏輯測(cè)試,通過在 Help2000 上增加模擬量信號(hào)輸出板卡和通用的開入開出板卡,通過 Help2000 同時(shí)給多臺(tái)保護(hù)裝置施加不同的故障量,讀取其動(dòng)作信息來進(jìn)行比對(duì)。
3.3 測(cè)試用例實(shí)現(xiàn)
測(cè)試用例一般包含采樣精度測(cè)試、開入開出測(cè)試、裝置自檢測(cè)試、保護(hù)功能邏輯測(cè)試等。采樣精度測(cè)試用例中除了對(duì)電氣量從小到大進(jìn)行滿量程范圍的測(cè)試外,還專門編寫了產(chǎn)生諧波的接口函數(shù),驅(qū)動(dòng) Help2000 對(duì)保護(hù)裝置施加諧波進(jìn)行測(cè)量。
4 結(jié)語
本文對(duì)繼電保護(hù)自動(dòng)化測(cè)試進(jìn)行了分析,并在此基礎(chǔ)上開發(fā)了一套通用的繼電保護(hù)自動(dòng)化測(cè)試系統(tǒng)。該系統(tǒng)主要有如下的特點(diǎn)。
1) 提高了測(cè)試的精度,例如原來人工測(cè)試時(shí),對(duì)于繼電器的動(dòng)作情況一般只是測(cè)量其通斷,現(xiàn)在有了自動(dòng)測(cè)試,不僅能**測(cè)試?yán)^電器的動(dòng)作次數(shù),而且測(cè)試了繼電器的動(dòng)作時(shí)間和返回時(shí)間,大大提高了測(cè)試精度,嚴(yán)格校核了保護(hù)的動(dòng)作邏輯。
2) 能完成原來人工無法測(cè)試的任務(wù),例如雙端保護(hù)裝置的邏輯測(cè)試,而且由于每次試驗(yàn)都對(duì)出口動(dòng)作報(bào)文進(jìn)行比對(duì),對(duì)故障信息進(jìn)行誤差分析,因此有助于發(fā)現(xiàn)程序中出現(xiàn)的異常情況,提高保護(hù)裝置的性能。
3) 大大節(jié)省了測(cè)試時(shí)間,提高了測(cè)試效率。目前,該自動(dòng)化測(cè)試系統(tǒng)已經(jīng)廣泛應(yīng)用于南瑞繼保的 PCS 系列保護(hù)裝置的研發(fā)測(cè)試過程中,極大地提高了研發(fā)過程的測(cè)試效率和測(cè)試質(zhì)量,縮短了產(chǎn)品的研發(fā)周期,產(chǎn)生了良好的效益。