999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于半實物仿真的抄表系統自動化測試平臺設計

2022-12-26 12:53:42劉宏偉
計算機測量與控制 2022年12期

劉宏偉

(陜西交通控股集團有限公司 寶雞分公司,陜西 寶雞 721013)

0 引言

隨著智能電網的快速普及,智能化的抄表技術日益成熟,相比于過去費時費力的人工抄表,目前普遍使用的低壓集中抄表系統具有快速、準確的優點,且可以利用電力消費數據進行統計分析,完善階梯電價政策,預測國民經濟發展水平[1]。由于電力計量涉及消費者的切身利益,對差錯具有極低的容忍度,因此,保證抄表系統的穩定性和計量準確性就顯得尤為重要。

現今國內的抄表系統生成廠家眾多,各地電網的輸配電結構也存在差異,故抄表系統在上市前需要進行完備、嚴苛和有效的測試[2]。目前主流的測試平臺大多采用現場實景測試,人工控制并再現各種用例,功能覆蓋面和測試效率都難以適應當前快速發展的電力行業。隨著集中抄表系統整合的功能越來越多,測試工作量十分龐大,每次系統升級需要完成的測試條目高達2 400多條,如此龐大的工作很難依靠純人工完成,因此,引入自動化測試將是未來的一個主流方向。

文獻[3]分析了抄表核算自動化模式的構成要素,以及各模塊之間的耦合關系。文獻[4]針對電力線傳輸的不穩定性,通過軟件方式建立信道模擬平臺,實現對載波通信性能的測試,但該平臺全部使用軟件模擬,盡管開發效率高,也可以實現整個測試流程的自動化,但很難重現真實場景,尤其是復雜時變的電磁環境,測試準確度難以保證。而采用全實物測試,不同廠家開發的抄表系統中的各模塊之間存在強耦合性,開放的測試I/O通道少,需要為每個版本的系統獨立開發一套測試設備和測試軟件,存在測試設備價格昂貴、開發周期長、測試人員的專業化要求高等缺點[5]。而半實物仿真就可以很好的平衡二者的關系,文獻[6]根據IEEE 1641和IEEE 1671兩個面向信號自動測試系統的國際標準,設計了基于自動測試標記語言(ATML)的半實物仿真測試標準族,定義了測試信息交換的XML Scheme 模式,但并沒有針對行業應用給出具體實操說明。

文獻[7]提出基于RT-LAB實時仿真系統的半實物仿真測試平臺。將待測對象的硬件通過I/O物理接口和Modbus通信連接到RT-LAB測試平臺,實現協同仿真,但由于采用傳統的集中式過程控制模式,占用系統資源較多。

文獻[8]提出了一種基于分布式仿真測試環境的嵌入式軟件自動化測試系統;該系統以實時仿真機為核心,模塊化定制接口,實現對系統動態特性的半實物仿真軟硬件環境,很好地解決了嵌入式系統內存資源較少,與硬件緊密相關等問題。

為了盡可能減少測試平臺的開銷,通過測試用例的腳本化,極大地減輕測試開發人員的負擔,測試腳本的可移植性也保證了測試平臺的可重用性,提高了軟件系統的可維護性[9]。

文獻[10]采用“一主多從”的分布式體系結構,模擬變電站的運行環境,并采用腳本技術實現自動化的回歸測試。

文獻[11]提出一套應用于列車運行監控系統的基于半實物仿真技術和測試腳本技術的自動化測試系統,可以極大提高測試效率。

針對目前自動測試平臺和待測抄表系統耦合性高、測試平臺適應面窄、抄表系統功能升級后兼容性差的問題,本文借鑒文獻[6]中的半實物仿真的思路,并遵從XML Scheme模式,開發一種基于嵌入式通用化、自動化測試平臺,將待測單元與測試平臺分離,通過統一的工裝協議,降低各模塊之間的耦合性。另外,本文借鑒文獻[9]和[11]中的模塊化的腳本測試技術,通過測試腳本的可移植性和可重用性,提高測試平臺的普適性,縮短了功能升級后的平臺開發周期。同時,增加測試用例的覆蓋面和靈活性,提高測試效率和準確度。

1 測試平臺的總體設計框架

低壓集中抄表系統主要包括:載波電表、載波模塊(STA,station)、中央協調器(CCO, central coordinator)和集中器,四個模塊之間的邏輯關系如圖1所示。載波電表主要實現電力的計量;載波模塊主要將計量數據調制到電力載波進行通信;中央協調器實現多路載波信號的多路復用;而集中器主要實現本小區數據的集中上傳。

圖1 低壓集中抄表系統示意圖

測試平臺的主要工作是根據不同的應用場景和設計用例,測試上述模塊之間在數據鏈路層的功能完備性和魯棒性,以及相應的性能。

具體的測試內容和對應的國標協議如下:

1)載波電表與STA的交互測試,DL/T645-2007協議(簡稱645協議)[12]。

2)STA與CCO的交互測試,Q/GDW 11612.43-2016協議(簡稱11612協議)[13]。

3)CCO與集中器的交互測試,Q/GDW1376.2-2013協議(簡稱1376協議)[14]。

4)集中器與STA透傳報文交互測試。

本文針對上述4種測試要求,設計一套由待測的硬件單元和自研的客戶端軟件組成的自動化測試平臺。平臺采用半實物仿真的服務器-客戶端(C/S)架構[6],總體結構如圖2所示,圖中雙向箭頭為報文交互方向。圖中左半部分是以實物形式出現的硬件測試單元,既包括測試對象STA和CCO,也包括基于ARM的測試服務器;右半部分是安裝在計算機中的客戶端軟件,用于模擬測試的信源和信宿。而工裝協議是連接硬件測試單元和客戶端軟件的橋梁,也是本文重點研究的內容。

圖2 測試平臺邏輯架構圖

測試平臺最主要的測試項目是協議一致性測試,測試流程如圖2中的①、②、⑦序號所示。首先,客戶端軟件中的虛擬電表將根據不同的測試用例,通過測試腳本按步驟模擬電表發出報文信號;然后,經過嵌入式控制軟件,將初始報文轉換為工裝協議報文后,經載波模塊STA發給協調器CCO;最后,客戶端軟件中的虛擬集中器,根據測試腳本自動采集返回數據,并根據測試用例將測試結果與預設結果進行比對,實現回歸測試目標,就可以測試STA和CCO的性能,發現存在的缺陷和不足,進而改進設計。上述的測試過程是雙向的,可以是①到⑦,也可以是⑦到①。

該測試平臺具有以下優點:

1)具有一般C/S架構所具有的交互性強、存取安全、響應速度快、支持大數據處理等優點。

2)基于Modbus協議規范,將進出STA和CCO的通訊報文統一為工裝協議,統一并減少硬件接口,降低硬件測試單元和客戶端軟件之間的耦合度。

3)硬件測試單元,主要實現待測對象STA和CCO的交互,這部分涉及大量的時序電路和電磁兼容,用硬件實物測試,可以反映真實抄表環境下的傳輸時延和電磁干擾,充分暴露故障隱患。

4)因為客戶端軟件已經集成了虛擬電表和虛擬集中器,這是測試平臺的信源和信宿,若要添加新的測試用例,只需根據新的測試功能,在客戶端軟件上編寫特定的報文腳本,調用工裝協議中已有的API接口函數,而無須重新開發程序,提高了平臺的開放性,縮短了開發周期。

2 硬件測試單元設計

硬件測試單元包括三部分:待測單元,強電控制單元(簡稱:強電單元)和弱電測試控制單元(簡稱:弱電單元),其硬件結構如圖3所示。

圖3 硬件結構圖

待測單元包括載波模塊STA和中央協調器CCO,是測試平臺的測試對象。

強電單元的功能包括兩部分,一方面為其他單元提供工作電壓,將AC220 V變為直流電壓后,為STA和CCO提供DC12 V,為ARM核心板提供DC3.3 V。另一方面,AC220 V也是低壓寬帶電力線載波的通信媒介。

弱電單元是測試平臺的核心,主要功能包括:

1)通過ARM控制STA和CCO:首先,ARM核心板發出電氣控制指令,在電氣控制模塊中包括4個繼電器,其中兩個繼電器用來控制CCO和STA的DC12 V工作電源通斷,另兩個繼電器用來控制CCO和STA的AC220 V載波電力線的通斷。

2)通過RS485接口和待測單元通信:ARM輸出的控制信號,經兩路TTL轉RS485接口電路,并基于UART協議,通過控制引腳電平對STA和CCO進行通訊或硬件復位,實現各種用例的測試。

3)通過以太網和客戶端連接:ARM核心板通過以太網模塊和安裝客戶端軟件的計算機連接,使用W5500芯片的SPI接口來實現TCP/IP協議棧,實現基于工裝協議的測試通信[15]。

3 工裝報文協議

客戶端軟件需要通過硬件測試單元中的弱電單元控制待測單元,這就需要根據不同的測試用例,發送不同的測試指令。既要控制STA和CCO的電源、波特率、硬件復位等底層硬件,又需要對通信的報文進行打包和轉發操作。

由于在通信過程中涉及到的硬件接口、通信協議和測試協議較多,如果采用分離式的思路,在客戶端對協議的解析非常復雜,因此有必要設計一套通用的通信協議。考慮到CCO和STA采用一對多的主從結構,且物理接口采用RS485差分信號以支持長距離傳輸,因此,本文設計的工裝報文協議通過Modbus協議規范將不同類型的協議報文統一打包和轉發,在客戶端根據協議類型字段來區分不同的協議報文[16]。報文類型的定義如表1所示。

表1 報文類型的定義

Modbus協議主要包括起始符、幀長度、報文類型、報文地址、數據域起始符、數據域及CRC校驗和結束符8部分。工裝報文協議中的字段長度和具體功能的定義如下:

1)起始符:0xED,代表一幀報文開始。

2)幀長度:2字節,(報文類型+報文地址+數據域起始符+數據域+校驗)的總字節數。

3)報文類型:用1字節來定義13個報文類型的功能,如表1中所示。

4)報文地址:報文傳輸對應的設備地址,此處對應槽位編號,0xEE表示工裝平臺,0x01代表載波模塊,0x02代表中央協調器。

5)數據域起始符:0xEE,增加起始符,用以降低解析錯誤概率。

6)數據域:長度不確定,由該報文對應的功能類型決定。

7)CRC校驗:報文之前所有字節直接求和,取8bit,忽略溢出(從起始符開始)。

8)結束符:0xEE,代表一幀報文結束。

4 軟件系統設計

自動化測試平臺的軟件包括部署在硬件測試單元ARM核心板的嵌入式控制軟件和安裝在遠程計算機的客戶端軟件。

4.1 嵌入式控制軟件

嵌入式控制軟件是連接硬件測試單元和遠程客戶端的橋梁,是實現工裝報文協議的載體,也是半實物仿真的關鍵。它作為C/S架構中的服務器,一方面模擬產生虛擬電表和集中器,連接硬件測試單元,另一方面響應客戶端軟件的請求。虛擬的客戶端指令通過嵌入式軟件來控制實體的STA和CCO。

嵌入式控制軟件的主要功能包括:

1)嵌入式軟件的初始化、與客戶端軟件建立TCP連接。

2)接收并轉發客戶端下發的指令,封裝為工裝協議報文后,發給待測單元,最后將測試響應反饋給客戶端。從信號與系統的角度看,對應自動化測試平臺的輸入激勵和輸出響應。

客戶端軟件下發的工裝報文主要有三類。

(1)虛擬電表回復給STA的645協議報文,槽位編號為0x01;

(2)虛擬集中器發送給CCO的1376協議報文,槽位編號為0x02。

(3)客戶端軟件對工裝平臺的命令報文,槽位編號為0xEE。

其中第(1)種和第(2)種報文屬于透傳命令,報文類型為0x01,第三種屬于工裝控制命令。當ARM核心板收到客戶端的工裝協議報文后,需要對報文中包含的3種不同協議進行解析處理,接收到客戶端軟件后的報文處理流程如圖4所示。

圖4 工裝報文處理流程

3)ARM核心板收發工裝報文:當ARM核心板通過兩路RS485分別收到STA的645協議報文和CCO的1376協議報文時,首先判斷報文的合法性,然后將它們打包為工裝協議報文,此時報文類型為0x01,槽位編號對應報文來源設備(虛擬電表或虛擬集中器)的編號。

4.2 客戶端軟件

客戶端軟件安裝在遠程計算機,主要實現自動化功能測試和腳本測試。即運用客戶端軟件運行的測試腳本來實現對測試流程的完全控制,并通過測試結果和預期結果的差異對比,發現抄表系統存在的功能缺陷或性能短板。客戶端軟件的功能包括四部分。

1)人機交互:操作人員根據測試用例,通過交互界面,下達測試指令;

2)工裝控制:連接工裝,工裝停/上電,485通訊波特率切換;

3)腳本管理:包括腳本的下載、編輯和執行操作。

4)常規功能:包括用戶圖形界面、測試信息監視、測試報告存儲管理、通信設置等模塊。

客戶端軟件的主要功能如圖5所示,其中:系統主控模塊主要用于協調整個測試平臺的正常運作,根據用戶要求選擇測試方式和測試用例;測試用例管理模塊,用于控制不同測試方式下測試用例的樹形拓撲;端口配置模塊,用于用戶根據相關協議完成對端口參數的配置;測試進度更新模塊,用于實時更新UI中所選測試用例的執行進度,包括已執行測試例個數,已失敗測試例個數,已用時長等信息;文件管理模塊,用于管理測試用例信息、測試日志和測試報告。

圖5 客戶端軟件的功能結構

測試指令適配器主要完成工裝協議報文的解析,它是客戶端軟件和被測對象的數據交互接口,它是雙向測試接口。若被測對象為CCO,則用軟件模擬集中器;若被測對象為STA,則用軟件模擬電能表。

4.3 客戶端軟件報文處理流程

客戶端軟件報文處理部分主要分為報文接收處理和下發處理兩部分。

4.3.1 報文接收處理模塊

客戶端軟件運行時,會不斷收到來自硬件測試單元的報文,這些報文根據功能分為三類,分別為工裝確認報文、透傳1376協議報文和透傳645協議報文。在對報文進行下一步處理前,需要先判斷報文是否屬于上述這三類,即判斷工裝協議報文的合法性,然后再分發到合適的異步隊列中等待處理。

本測試平臺使用基于生產者-消費者模式的異步隊列,報文分發處理模塊作為生產者,所有需要驗證報文回復的部分均作為消費者。通過3個異步隊列作為倉庫,也就是緩沖區。可以降低報文接收和報文處理的時序相關,達到各環節之間的解耦。這樣設計的原因在于:在測試過程中,生產數據和處理數據的速度不同,生產數據較快時,可以將消費者來不及處理的數據暫存于緩沖區中,等待生產者的速度慢下來,消費者再慢慢處理隊列中的緩存數據。報文接收處理流程如圖6所示。

圖6 報文分發處理流程圖

4.3.2 報文下發處理模塊

客戶端軟件運行時,將產生的3種協議類型報文打包為工裝協議報文,統一下發給硬件測試單元。3種協議類型報文包括:由工裝產生的工裝控制類報文;由虛擬集中器產生的1376協議報文;由虛擬電表產生的645協議報文。這3種報文的處理流程如圖7所示。

圖7 報文處理下發流程圖

4.4 腳本系統

測試腳本的開發語言的不同,將直接影響測試平臺的開銷和性能。測試用例的腳本化可極大地減輕測試開發人員的負擔,提高軟件系統的可維護性。同時,測試腳本的可移植性也保證了測試平臺的可重用性。本測試平臺采用Python語言,Python是一種具有解釋性,編譯性、互動性和面向對象的腳本語言,同時具有很強的數據處理能力和跨平臺特性,其中Python具有豐富和強大的庫,常被稱為膠水語言,能夠把用其他語言編寫的各個模塊粘合在一起,使得模塊之間具有很強的粘合度,特別適用于腳本系統的開發[17]。

本平臺以基礎測試塊(Block)生成測試用例的方式,通過測試人員在系統UI界面上直接進行拖拽,將多個Block進行組合,形成一個完整的測試用例。通過后臺運行引擎,對UI界面的內容進行翻譯、保存和運行[18]。每個Block都具有統一的輸入輸出格式,保證了Block間的數據流動。

首先,本平臺選用XML(可擴展標記語言)作為測試腳本的保存和讀取、上傳和重載語言。XML是一種用于標記電子文件、使其具有結構性的標記語言,具有極其簡單的語法規則和嚴密的數據格式,被廣泛應用數據保存和數據交換[19]。采用XML語言,不僅保證了測試腳本的關鍵信息能夠在傳遞過程中不丟失,而且在測試腳本的XML文件中記錄各個Block的連接方式和各個模塊的參數配置信息,方便不同測試人員對測試流程的重現。

其次,利用Python的面向對象特性,將Block進行對象實例化,而XML保存的各個關鍵信息作為Block對象實例化的初始化條件,這樣在開發和重新載入過程就能保證各個Block的關鍵信息的一致性。

最后,利用UUID(通用唯一識別碼)的唯一性,在模塊第一次實例化時將系統當前UUID作為該Block實例的唯一標識碼,后續再進行測試用例的傳遞和重用時,該標識碼都不再變化,保證了每個測試用例中Block實例的唯一性和不變性。腳本測試流程如圖8所示。

圖8 腳本測試流程圖

5 典型應用和效果分析

本測試平臺的典型應用是協議一致性測試,根據11612協議、645協議和1376協議的具體內容設計測試用例,并通過半實物仿真平臺進行測試,判別該協議的實現是否與其協議的標準描述一致。主要過程如圖2所示,在虛擬的STA和虛擬集中器模擬生成輸入激勵,并通過工裝協議,輸入到實物待測單元,并對測試輸出響應進行一致性評判。同時跟蹤測試日志信息,將所有測試log進行存儲,并自動生成測試報告。

根據不同的測試目標以及適用協議的不同研發階段,設計了單模塊測試、板級測試和虛擬測試3個層次。

單模塊測試是從微觀角度,關注物理層的集成功能和協議,通常用于故障檢測和判定,可直接使用板級測試下高層協議的測試用例。

板級測試是從中觀的角度,關注單元級的功能,在虛擬ARM模式下運行開發的所有單元測試用例,測量時可直接通過USB或網口與客戶端軟件進行數據交互。同一板級測試腳本可跨平臺重復使用,無需再次開發。

虛擬測試是從宏觀的角度,關注整個系統的功能相應,忽略物理層的具體實現,測試整體集成協議的一致性,效率高,但對細節的分析不夠。虛擬測試將單層協議(包括應用層、網絡管理子層或媒體訪問控制層) 或高層集成協議加載于通用虛擬ARM中。

3種測試方法的區別體現在對被測模塊的自動上下電控制及端口識別方面。

虛擬測試方式要先啟動并控制客戶端軟件,并讀取隨機生成的測試點及跟蹤(Trace)端口,再更新端口配置文件中的端口信息。

板級測試和單模塊測試方式要先將待測設備與安裝客戶端軟件的PC機進行連接,隨后讀取測試用例在PC上映射的端口,并更新端口配置文件中的端口信息,再控制被測對象上下電。 另外,單模塊測試還需要額外控制矢量信號發生器。因此要實現全自動測試,系統要根據不同測試方式及被測對象自動控制對應測試方式下被測對象的上下電、端口自動讀取、端口配置文件的更新及信號發生器。

客戶端軟件運行后,首先通過Socket與硬件測試單元建立連接,測試系統和被測CCO的數據交互流程如圖9所示。

圖9 數據交互流程圖

測試平臺運行主界面如圖10所示,可以通過UI界面實時查看報文傳輸內容和運行狀態。

圖10 客戶端軟件運行界面

圖11是測試低壓電力集中抄表系統的用戶電力信息瞬時凍結功能的一個測試腳本,該腳本的主要功能是瞬間凍結電表所有的電力信息,并讀取電表記錄的用電基礎信息。

圖11 腳本界面

本測試平臺可在運行時實時保存報文信息和腳本運行信息,保證測試信息不會丟失,便于查詢并分析歷史測試信息。測試腳本在運行后部分通信報文記錄如圖12所示。

圖12 運行腳本后的數據記錄

當腳本以XML格式進行保存時,此時會在測試平臺的XML目錄中生成如圖13所示的文本。

圖13 XML格式的腳本

經過實際工程應用,本測試平臺具有以下優點:

1)測試效率提高75%:針對國內各個地區的不同功能要求,本測試平臺可以在保留已有的Block模塊的情況下開發新的模塊,同時可利用已有模塊組成新的測試腳本,避免重復開發已有功能,縮短了新測試項目的開發時間。在同等條件下,相比人工測試,本測試平臺的測試效率提高75%。

2)測試準確度提高40%:本測試平臺會保存所有通信報文和測試結果報告,當測試不通過時,測試平臺會迅速定位到測試不通過的模塊,不會遺漏任何測試細節。針對低壓集中抄表系統功能版本更迭較快的特性,本測試平臺也可迅速做出調整。在執行相同的測試任務時,相比人工測試,本測試平臺的測試準確度提高了40%。

3)功能覆蓋面廣,開發周期短:目前本測試平臺的功能已經完備,不僅包含了常用功能,還涵蓋了使用國家電網協議的多數省市測試平臺中的特殊功能。在功能測試中,無論是超高次循環次數的壓力測試,還是單個的功能性能測試,都可用本測試平臺來完成,大幅減少了因重復功能開發而造成的人力、物力的浪費,縮短開發周期。

6 結束語

本文針對低壓集中抄表系統,設計了一套自動化測試平臺。首先,本平臺引入半實物仿真的C/S模式,在測試準確度和測試效率方面取得了良好的折中;其次,設計了統一的工裝協議,將不同協議產生的報文進行統一的打包和下發,降低硬件接口的個數,提高了平臺的普適性;最后,創新性地設計了模塊化的腳本系統,通過多個基本測試塊組合生成新的測試腳本,在降低開發測試腳本難度的同時,增加了測試執行人員的靈活性,并縮短了開發周期。

主站蜘蛛池模板: 免费毛片全部不收费的| 国产精品手机在线播放| 国产一区二区精品福利| 亚洲二三区| 亚洲成人高清无码| 亚洲中文字幕23页在线| 亚洲首页在线观看| 蜜桃视频一区二区| 色综合成人| 国产91丝袜在线观看| 午夜免费小视频| 免费观看亚洲人成网站| 亚洲成在人线av品善网好看| 国产免费精彩视频| 国产成人凹凸视频在线| 97综合久久| 在线国产91| 国产精品私拍在线爆乳| 综合亚洲网| 亚洲天堂网2014| 国产精品三级av及在线观看| 国产欧美在线观看精品一区污| 三级欧美在线| 99在线视频网站| 久久综合五月婷婷| 青草视频网站在线观看| 亚洲免费成人网| 国产人在线成免费视频| 欧美精品亚洲二区| 日本少妇又色又爽又高潮| 精品国产三级在线观看| 国国产a国产片免费麻豆| 日本高清免费不卡视频| 国产99久久亚洲综合精品西瓜tv| 亚洲日本一本dvd高清| 欧美精品v| 亚洲va精品中文字幕| 草草线在成年免费视频2| 青草精品视频| 她的性爱视频| 中文字幕日韩久久综合影院| 欧美精品不卡| 久久中文字幕不卡一二区| V一区无码内射国产| 国产免费福利网站| 色综合天天综合中文网| JIZZ亚洲国产| 在线a网站| 国产一区二区三区视频| 97久久免费视频| 美美女高清毛片视频免费观看| 亚洲日韩AV无码精品| 国产成人高清亚洲一区久久| 一级片一区| 福利视频一区| 精品国产黑色丝袜高跟鞋| 少妇精品网站| 国产理论最新国产精品视频| 亚洲成人网在线观看| 亚洲欧美日韩中文字幕在线| 伊人久久大香线蕉影院| 91人妻日韩人妻无码专区精品| 欧美www在线观看| a级毛片视频免费观看| 91成人在线观看视频| 久久无码高潮喷水| 成人国产精品网站在线看| 国产精品99久久久久久董美香| a毛片基地免费大全| 欧美成人免费午夜全| 天天色天天综合网| 免费高清毛片| 草草线在成年免费视频2| 久久国产乱子| 国产精品久久久久鬼色| 国产一区二区三区在线无码| 人妻精品全国免费视频| 国产精品视频第一专区| 午夜限制老子影院888| 毛片免费在线视频| 午夜无码一区二区三区在线app| 秘书高跟黑色丝袜国产91在线 |