梁 捷
(廣西電網(wǎng)有限責任公司計量中心,廣西 南寧 530023)
隨著智能電網(wǎng)信息化水平的提升,智能電能表和計量終端等電子設備在電網(wǎng)中廣泛應用。在長時間的信息采集與數(shù)據(jù)傳輸中,電子設備在功能、通信、接口、軟件等諸多方面存在的可靠性缺陷問題,在現(xiàn)場的電磁干擾或極限條件下逐漸暴露出來。據(jù)統(tǒng)計,電能表軟件可靠性故障約占總故障率的20%,已成為影響產品質量的關鍵因素之一,并呈逐漸上升的趨勢[1]。軟件引發(fā)的故障具有批量性的特點,給現(xiàn)場電能表數(shù)據(jù)的采集等帶來了風險。目前,南方電網(wǎng)公司在電能表軟件可靠性評估和檢測方法方面尚未有成熟的技術規(guī)范和應用,以基本電能誤差、日計時誤差等實驗室常規(guī)性能測試為主,對軟件可靠性缺乏完善的測試方案和有效的測試手段[2]。本文基于等價類理論,對電能表的可靠性檢測案例設計進行研究,將等價類法和判定表驅動法用于檢測案例的生成和優(yōu)化。本文方法對電力設備的軟件可靠性檢測案例設計可提供指導思路,對可靠性檢測裝置的功能驗證可提供驗證手段。
據(jù)統(tǒng)計,電能表的典型故障主要包括數(shù)據(jù)邊界情況、極限情況、容錯性、接口故障、存儲異常等[3];常見電表軟件可靠性測試方法包括邊界值分析法、等價類法、極限壓力測試法等[4],部分測試項目需要用到多種測試方法。電能表可靠性測試項目根據(jù)缺陷的表現(xiàn)形式主要分為3 類,即一致性、極限和容錯類測試,如表1 所示。
表1 電能表可靠性測試項目舉例
1.1.1 測試內容和方法
電能表軟件一致性類可靠性測試主要包括通信規(guī)約和數(shù)據(jù)一致性的檢驗,目的是消除不同廠家對通信規(guī)約理解上的差別和保證電能表存儲的數(shù)據(jù)與實際采集的數(shù)據(jù)一致。常用的測試方法為有效等價類法。
1.1.2 檢測案例設計舉例
以數(shù)據(jù)塊抄讀一致性測試為例,根據(jù)技術規(guī)范要求[5],電能表單幀抄讀數(shù)據(jù)項與對應數(shù)據(jù)塊抄讀以及實際數(shù)據(jù)應一致,通信幀格式符合通信規(guī)約要求。
1.1.3 測試方案
分別抄讀電表當前電量、凍結電量以及事件記錄數(shù)據(jù)塊,對其通信報文格式進行一致性判斷。數(shù)據(jù)塊中的數(shù)據(jù)與相應單幀抄讀數(shù)據(jù)以及標準表數(shù)據(jù)進行比較,進行準確性判斷。測試流程見圖1。
圖1 數(shù)據(jù)塊抄讀一致性測試
1.2.1 測試內容
電能表容錯類可靠性測試主要是測試電能表能否識別參數(shù)設置時的非法情況,常用測試方法為無效等價類法。等價類是指某個輸入域的子集。在該子集中,各個輸入數(shù)據(jù)對于測試時反映軟件中的異常問題都是等效的,并假定測試某等價類中的代表值就等價于對這一類其他值的測試。利用有效等價類可檢驗程序是否實現(xiàn)了技術規(guī)范中所規(guī)定的功能和性能,而無效等價類用于檢驗軟件能否經(jīng)受非法數(shù)據(jù)的攻擊。
1.2.2 檢測案例設計舉例
以結算日容錯及干擾轉存測試項目為例,根據(jù)技術規(guī)范要求,電能表內的結算日參數(shù)允許在1—28 日、0—23 點范圍內設置。
1.2.3 測試方案
a) 正確參數(shù)測試:任意設置電表日期為1—28日、0—23 點,電表應響應正確應答幀,回抄參數(shù)與設置參數(shù)一致。
b) 月份容錯、日容錯、整點容錯測試:例如設置13 月,電表應響應錯誤應答幀,且回抄參數(shù)不變。
c) 進制容錯:如設置0A、0B 等十六進制數(shù)值,電表應響應錯誤應答幀,回抄參數(shù)不變。
結算日參數(shù)設置與容錯測試流程見圖2。
圖2 結算日參數(shù)設置與容錯測試流程
1.3.1 測試內容和方法
電能表極限類可靠性測試的常見形式為壓力測試,即利用故障模擬、邊界值分析等方法,分析電力設備技術規(guī)范要求的各功能項目中可能存在的極限狀態(tài)下的異常問題,列出所有可能的異?;蛉菀装l(fā)生故障的情況,模擬出各極限狀態(tài),并模擬超過正常功能強度狀態(tài)下,觀察設備能否正常工作。
1.3.2 檢測案例設計舉例
南方電網(wǎng)技術規(guī)范要求電表至少能存儲前12個月或前12 個(結算) 抄表周期的總電能,數(shù)據(jù)轉存分界時間為每月最后一日的24 時,為驗證轉存的可靠性,需進行結算日極限電壓及大數(shù)據(jù)處理、干擾情況下的轉存測試。
1.3.3 測試方案
驗證電表在極限條件下能否根據(jù)設置的結算日參數(shù)準確轉存數(shù)據(jù),主要包括以下方面,測試流程如圖3 所示。
a) 電能表在轉存時通過485 或載波等通信方式施加連續(xù)通信干擾,驗證轉存是否能正常進行。
b) 數(shù)據(jù)處理壓力測試:設置定時凍結、日凍結、整點凍結與結算日轉存為同一時刻,驗證轉存是否能正常進行。
c) 根據(jù)設定的極限條件(例如在電表正常計量的臨界電壓值附近,長時間對電表通信時),電表凍結數(shù)據(jù)轉存是否能正常進行。
d) 在轉存前停電,電表時鐘跨過結算日后上電,驗證轉存是否能正常進行。
圖3 結算日轉存測試流程
依照南方電網(wǎng)公司設備供貨管理要求,電表到貨后,需對其抽樣進行全性能測試,目前該測試在可靠性方面的要求僅局限于基于加速老化試驗的年故障率指標以及部分常用規(guī)約一致性的要求。但隨著電網(wǎng)公司對電能表軟件可靠性的重視,電能表軟件的容錯性、極限處理能力和抗干擾能力的指標要求逐步受到重視。電表可靠性測試的關鍵是所設計的檢測案例是否對電表的各項功能要求均能準確判斷,避免功能缺陷和判斷失誤的情況。同時,測試所用的案例應代表并覆蓋各種合法和非法的輸入數(shù)據(jù),即有效等價類和無效等價類。本文將等價類劃分法和判定表驅動法相結合實現(xiàn)電能表軟件可靠性檢測案例的設計。
基于等價類的檢測案例通常用多因素析因案例設計法生成,主要過程如下:第一步,全面分析技術規(guī)范對電力設備的技術要求,提取測試要點(因素),形成等價類表;第二步,將各等價類的典型場景組合,形成檢測案例;第三步,重復第二步驟直至形成的檢測案例能窮舉等價類集。
當研究因素較多時,該方法要求的檢測案例數(shù)量或試驗次數(shù)會隨因素數(shù)呈指數(shù)式增長,以致無法承受。對此,引入判定表驅動法簡化析因設計法生成的檢測案例,其流程如圖4 所示。判定表由條件樁、動作樁組成,不同條件樁和動作樁的組合對應一個檢測案例,判定表驅動法的思路是通過合并相似的條件樁和動作樁來簡化初始判定表,使生成的案例在保證覆蓋所有等價類的基礎上,盡可能減小案例集的規(guī)模,合并原則詳見文獻[6]。
以1.2 節(jié)電能表結算日容錯及干擾轉存測試項為例進行研究。由等價類理論和三因素析因設計法及技術要求可確定輸入域等價類和初始判定表,詳情見表2 和表3。
表2 中,等價類1 是指任意設置1—28 日、0—23 點,電能表能響應正確應答幀,回抄參數(shù)與設置參數(shù)一致的情況;等價類2 對應不滿足該條件的情況,屬于有效等價類;等價類3 屬于月份、日和小時容錯,例如設置13 月,電能表能響應錯誤應答幀,電能表回抄參數(shù)不變,屬于無效等價類;等價類5 屬于進制容錯,如設置0A、0B等非十進制數(shù)值,電能表能響應錯誤應答幀,回抄參數(shù)不變的情況,屬于無效等價類。
圖4 判定表驅動法流程
表2 根據(jù)輸入條件提取的等價類
表3 初始判定表
表3 中“Y”對應于表2 中符合該輸入條件的等價類編號,“N”反之,“/”表示任意條件樁的Y 或N。按判定表驅動法合并相似條件樁和相同動作樁,將表3 簡化為表4。由表4 可得能覆蓋表2 所有等價類的檢測案例1—4。例如,對某待測電能表樣品執(zhí)行檢測案例的結果為:滿足結算日參數(shù)正確設置時,電能表能正確應答,且結算日參數(shù)月份、日和小時異常設置時,電能表能正確應答,但結算日參數(shù)的進制異常設置時,電能表不能正確應答,則該情況符合判斷表4 案例1 的條件樁,從而根據(jù)對應動作樁判定該項功能不合格。
比較表3 和表4 可知,本文方法在析因分析法生成初始案例集后,再通過判定表驅動法進行案例集簡化,將8 個案例縮簡為4 個,實測檢測用時縮短了約45%。可在等價類盡可能全覆蓋的基礎上,減小檢測案例數(shù)量,提高了測試效率,在包含等價類數(shù)量較多的測試過程中效果更為明顯。
表4 簡化后的判定表
表5 為2018 年廣西某單位費控電能表在到貨抽檢做軟件可靠性測試時先后進行的3 次測試情況。為驗證電能表檢測裝置能否準確識別出被測電表的各種輸入條件,根據(jù)3.1 節(jié)的分析,以分別滿足表4 中4 個案例對應的功能缺陷情況的4只南方電網(wǎng)規(guī)范的費控電能表作為被測樣品。第一次測試時,對應3 號檢測案例的待測電表本應是合格的,但裝置卻判為不合格,檢查后發(fā)現(xiàn)原因為該裝置未根據(jù)電能表的加密類型進行參數(shù)設置,對需要以密文方式進行參數(shù)設置的費控電能表仍采用普通非加密電能表的“明文+密碼”的參數(shù)設置方式,導致參數(shù)設置失敗,故對所有被測表裝置均自動判斷為不合格。第二次測試時,對應1 號檢測案例的待測電能表本應判斷為不合格,但裝置卻誤判斷為合格,檢查后發(fā)現(xiàn)裝置自動測試案例的設計存在缺陷,未按技術要求考慮輸入條件3,當結算日參數(shù)設置為0A,電表回復確認時仍判為合格。第三次測試時,所有檢測案例的期望輸出與實際輸出相符,依據(jù)等價類理論,可認為裝置對該檢測項目的設計滿足預期的技術要求。由上述過程可見,由本文方法設計的檢測案例能準確識別出被測裝置檢測項目設計缺陷。
表5 電能表到貨抽檢測試情況
對13 個廣西常見電表廠家的50 只電能表按表1 的項目進行可靠性測試,測試通過率約為76%,測試時發(fā)現(xiàn)的常見問題見表6。
由表6 可知,通過表1 的可靠性測試項目,可識別出各廠家電表中許多常規(guī)測試時易忽視的可靠性問題,如極限情況下少計量或計量不準確、停上電電量未轉存、電量凍結數(shù)據(jù)丟失、需量功能設計失誤、邊界情況下通信異常等問題。
表6 電表軟件可靠性測試情況
目前,南方電網(wǎng)的電能表技術規(guī)范對可靠性類缺陷雖然有技術要求,但未給出明確的檢測方法,故存在測試覆蓋率不高、測試方案設計不合理的問題。將等價類理論和判定表驅動法應用于電能表軟件可靠性檢測案例設計和驗證中,實測案例表明,該方法可改善檢測案例設計時難以全面覆蓋技術要求的問題,同時優(yōu)化了檢測案例的規(guī)模,提高了測試效率。
電表軟件可靠性測試的情況表明,廣西電網(wǎng)常見廠家的電能表在軟件容錯、極限加壓條件等軟件可靠性方面存在的問題不可忽視。如果不能對可靠性缺陷進行有效的檢測和控制,電表安裝到現(xiàn)場后,在現(xiàn)場各種環(huán)境和干擾因素的長時間影響下,有可能由于可靠性缺陷而引發(fā)異常事故,給電能量的正常計量、結算帶來影響。