亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Teststand 的列控車載系統(tǒng)自動測試方案的設(shè)計與實現(xiàn)

        2021-05-10 08:55:36李自豪徐先良歐國恩
        鐵道通信信號 2021年4期
        關(guān)鍵詞:系統(tǒng)

        李自豪 徐先良 歐國恩

        自動測試技術(shù)的誕生可追溯到20 世紀(jì)80 年代,發(fā)展到如今,已經(jīng)廣泛應(yīng)用于各領(lǐng)域的系統(tǒng)測試中,且技術(shù)逐漸趨于成熟,相關(guān)的自動測試工具層出不窮。在國內(nèi),自動測試正處于高速發(fā)展階段,越來越多的企業(yè)意識到自動測試的重要性。

        本文基于美國國家儀器公司(NI) 開發(fā)的測試管理軟件TestStand 進(jìn)行測試系統(tǒng)的開發(fā),結(jié)合TestStand 的功能特點與既有測試經(jīng)驗,設(shè)計并實現(xiàn)了基于Teststand 的列控車載系統(tǒng)自動測試方案。

        1 基于Teststand 的既有測試方案

        基于Teststand 的列控車載系統(tǒng)既有測試方案主要包含2 部分:被測車載設(shè)備和仿真測試環(huán)境,如圖1 所示,其中被測車載設(shè)備為真實車載。為了滿足測試需求,搭建了模擬真實運行環(huán)境的仿真測試環(huán)境。該測試系統(tǒng)中包括了TBTS 仿真車接口系統(tǒng)、軌旁仿真系統(tǒng)、RBC 模擬器、GNSS/GNSSIMU 模擬器、DTS 模擬器、HOT 模擬器、DRU 模擬器等[1],以下是各個模擬器在測試系統(tǒng)中的作用[2]。

        1) TBTS 仿真車接口系統(tǒng):為車載提供電源控制,模擬列車IO 接口和車輛操作控制的軟件。

        2) 軌旁仿真系統(tǒng):處理列車位置及占用邏輯,為軌旁設(shè)備提供列車位置信息。

        圖1 基于Teststand 的列控車載系統(tǒng)既有測試方案

        3)RBC 模擬器:與車載建立并維持通信,向車載發(fā)送進(jìn)路及限速信息。

        4)GNSS/GNSSIMU 模擬器:用來接收軌旁發(fā)送的列車區(qū)間位置信息,計算相應(yīng)的GPS 坐標(biāo),并發(fā)送給車載。

        5)DTS 模擬器:存儲數(shù)據(jù)庫數(shù)據(jù),與車載建立連接并配合進(jìn)行發(fā)車測試。

        6)HOT 模擬器:與車載建立連接并向車載發(fā)送管壓信息。

        7) DRU 模擬器:與車載建立連接,接收、記錄并顯示車載日志,將其以json 格式保存到本地。

        在測試過程中,測試人員需要手動操作上述模擬器,并且需要時刻觀察車輛狀態(tài),選擇合適的時機(jī)控制車輛的速度和加速度,這對測試人員提出了較高的要求,需要盡可能地避免失誤。

        2 基于Teststand 的自動測試方案

        基于Teststand 的列控車載系統(tǒng)自動測試方案,與傳統(tǒng)的人工測試不同,它將測試環(huán)境進(jìn)行模塊化管理[3],如圖2 所示。自動測試環(huán)境主要由被測車載設(shè)備、仿真測試環(huán)境和自動測試系統(tǒng)3 部分組成。其中,自動測試系統(tǒng)由TestStand 序列執(zhí)行引擎、TestManager 測試管理器和SimControl 模擬器控制器3 部分組成。

        圖2 基于Teststand 的列控車載系統(tǒng)自動測試方案

        2.1 TestStand 序列執(zhí)行引擎

        2.1.1 功能

        TestStand 在自動測試系統(tǒng)中的主要功能是實現(xiàn)測試序列的編輯與執(zhí)行,并在測試完成后生成測試報告[4]。

        2.1.2 接口

        TestStand 提供的接口可供外部程序調(diào)用,以使用其測試引擎。

        2.1.3 原理

        TestStand 內(nèi)置了條件執(zhí)行語句、循環(huán)語句、Goto 語句,能夠?qū)崿F(xiàn)序列的選擇、循環(huán)、跳轉(zhuǎn),靈活地控制序列邏輯及執(zhí)行流程;TestStand 的嵌套、分層和復(fù)用機(jī)制,能夠生成較為復(fù)雜的序列結(jié)構(gòu)。在序列執(zhí)行的時序控制方面,TestStand 提供了延時語句。

        2.2 TestManager 測試管理器

        2.2.1 功能

        TestManager 的主要功能是發(fā)送操作指令,接收車輛信息、股道信息、模擬器狀態(tài)等信息,并進(jìn)行存儲。

        2.2.2 接口

        TestManager 提供調(diào)用TestStand 引擎的接口,以及發(fā)送操作命令、接收車輛信息的接口。

        2.2.3 原理

        TestManager 提供了用戶界面,通過調(diào)用TestStand 引擎來實現(xiàn)測試序列的執(zhí)行與報告的生成;通過網(wǎng)絡(luò)向模擬器控制腳本發(fā)送操作指令,來實現(xiàn)模擬器軟件的自動控制。

        2.3 Sim Control 模擬器控制器

        2.3.1 功能

        Sim Control 實現(xiàn)了控制模擬器軟件的功能。

        2.3.2 接口

        Sim Control 提供了接收來自TestManager 的操作指令的接口;提供了與操作各個模擬器的接口函數(shù)。

        2.3.3 原理

        Sim Control 通過網(wǎng)絡(luò)接收來自TestManager 的模擬器操作指令,借助AutoIt 編寫操作腳本,通過操作控件句柄或控制鼠標(biāo)和鍵盤,實現(xiàn)對RBC 模擬器、GNSS/GNSSIMU 模擬器、DTS 模擬器、HOT 模擬器和DRU 模擬器的操作;同樣可借助AutoIt 讀取各模擬器界面上的信息,通過網(wǎng)絡(luò)發(fā)送給TestManager。

        Sim Control 模擬器控制器工作原理見圖3。

        圖3 Sim Control 模擬器控制器工作原理

        2.4 DMI Operator

        2.4.1 功能

        DMI Operator 實現(xiàn)對DMI 軟件的操作。

        2.4.2 接口

        DMI Operator 提供了接收來自TestManager 的按鍵指令的接口,以及操作各個模擬器的接口函數(shù)。

        2.4.3 原理

        DMI Operator通過網(wǎng)絡(luò)接收來自TestManager的模擬器按鍵指令,在進(jìn)行協(xié)議轉(zhuǎn)換后,DMI Operator將按鍵指令發(fā)送給DMI;同時,DMI 也將車輛狀態(tài)信息透傳給DMI Operator,DMI Operator 將這些車輛狀態(tài)信息保存到本地。在Test Manager 需要時,可向DMI Operator 發(fā)送請求信息。

        3 系統(tǒng)功能及流程

        基于Teststand 的列控車載系統(tǒng)自動測試主要實現(xiàn)測試過程中所有人工操作的自動化,包括模擬器操作、DMI 操作、列車運行控制、測試序列管理、測試報告生成、數(shù)據(jù)分析、屏幕錄制7 個功能模塊。

        3.1 系統(tǒng)功能

        3.1.1 模擬器操作

        在當(dāng)前的測試環(huán)境中,包含了多個模擬器。在測試過程中,模擬器的開啟、關(guān)閉、文件配置、按鈕點擊、文本輸入等操作均由系統(tǒng)進(jìn)行自動操作。

        3.1.2 DMI 操作

        當(dāng)前測試環(huán)境中DMI 軟件的啟動、關(guān)閉及按鍵的點擊均為自動操作。當(dāng)DMI 需要進(jìn)行文字輸入時,系統(tǒng)能夠自動切換數(shù)字或字母。

        3.1.3 列車運行控制

        在車輛運行過程中,車輛的速度由自動測試系統(tǒng)控制,DMI 會以200 ms 的周期向TestManager發(fā)送循環(huán)消息,包含車輛當(dāng)前速度、允許速度等信息,綜合這些信息計算出當(dāng)前的目標(biāo)速度和加速度,并在仿真車上進(jìn)行設(shè)置。

        3.1.4 測試序列管理

        TestStand 提供了編輯和執(zhí)行測試序列的平臺,序列之間可以進(jìn)行相互調(diào)用,實現(xiàn)了序列的復(fù)用[5]。

        3.1.5 測試報告生成

        TestStand 內(nèi)置了多種測試報告模板,將測試序列中所有需要輸出的判定點加入到報告模板中。在測試過程中,這些判定點(Pass/Fail Test) 會將實際輸出值與期望值進(jìn)行對比,如果相同,則表示該判定點通過(Pass);否則,判定點失?。‵ail)。測試序列執(zhí)行完成后,這些判定點的結(jié)果會輸出到測試報告中,并以HTML/ATML/XML格式保存至本地[6]。

        3.1.6 數(shù)據(jù)分析

        測試序列在執(zhí)行過程中,自動測試系統(tǒng)會將JRU(列車數(shù)據(jù)記錄單元)記錄的車輛運行狀態(tài)等各項信息與真實線路數(shù)據(jù)表以公里標(biāo)為基準(zhǔn)進(jìn)行比對,比對結(jié)果記錄并保存到日志中。

        3.1.7 屏幕錄制

        在測試序列開始時開啟屏幕錄制,結(jié)束時停止屏幕錄制,并將視頻保存到本地。

        3.2 測試流程

        在TestStand 中,一個完整的測試序列分為3 個部分:Setup(準(zhǔn)備)、Main(主步驟)、Cleanup(清理)。其中,Setup 部分包含了測試所需環(huán)境的準(zhǔn)備步驟,Main 為測試主體,Cleanup 包含測試環(huán)境清理步驟。本系統(tǒng)的運行流程主要分為5 個步驟:環(huán)境初始化、測試準(zhǔn)備、測試中、測試結(jié)束和環(huán)境“清理”,見圖4。

        4 系統(tǒng)實現(xiàn)

        4.1 控制腳本的設(shè)計與實現(xiàn)

        在該自動測試系統(tǒng)中,Sim Control 由多個控制腳本組成[7],采用Python 語言開發(fā),使用AutoIt Window Info 工具可以檢測模擬器窗體及控件是否可識別,針對不同情況采用不同的控制方式。

        圖4 測試流程

        1)句柄操作方式。對于使用標(biāo)準(zhǔn)Windows 控件開發(fā)用戶界面的模擬器,在控制腳本程序中引入PyAutoIt 庫,使用AutoIt 方法進(jìn)行句柄操作。由于軟件的窗體與控件的句柄都是唯一的,所以可以通過句柄實現(xiàn)精準(zhǔn)控制,包括點擊、拖拽、輸入等操作。

        2)像素定位方式。當(dāng)窗體中的控件無法識別時,可通過控件相對窗體的像素偏移來對控件進(jìn)行定位,使用PyAutoIt 中的方法,對特定像素點進(jìn)行點擊操作。當(dāng)某個控件存在顏色變化時,也可以通過獲取特定像素點的顏色,來獲取該控件的狀態(tài)。

        3)網(wǎng)絡(luò)協(xié)議方式。當(dāng)窗體中的控件無法識別,且需要進(jìn)行文本輸入操作時,需要模擬器與SimControl 通過網(wǎng)絡(luò)通信實現(xiàn)操控。

        以上幾種方式可以混合使用,例如模擬器的窗體均可使用句柄進(jìn)行操作。當(dāng)模擬器中的控件為標(biāo)準(zhǔn)控件與第三方控件混合使用時,使用句柄對標(biāo)準(zhǔn)控件進(jìn)行操作,通過像素定位或者網(wǎng)絡(luò)協(xié)議對第三方控件進(jìn)行操控。

        4.2 測試序列的設(shè)計與實現(xiàn)

        基于TestStand 平臺,并以測試用例為范本,完成測試序列的編寫。本系統(tǒng)提供了豐富的元操作可供調(diào)用,例如,模擬器啟動、關(guān)閉、車載上電、加車、刪車、設(shè)置車輛目標(biāo)速度、加速度、設(shè)置牽引、制動、DMI 按鍵點擊、DMI 文字輸入、設(shè)置道岔、辦理發(fā)車、接車進(jìn)路、設(shè)置信號機(jī)狀態(tài)等一系列的基礎(chǔ)操作,測試人員可以通過編寫通用子序列,供其他序列進(jìn)行調(diào)用。以下為測試序列參考示例。

        1)初始化:啟動HOT 模擬器、DTS 模擬器、GNSS/GNSSIMU 模擬器、本站及前方站的RBC模擬器和DRU 模擬器,通過TBTS 仿真車接口軟件給車載設(shè)備上電。

        2)開始錄屏。

        3)設(shè)置道岔、信號機(jī):設(shè)置相應(yīng)進(jìn)路的道岔和信號機(jī)狀態(tài),并辦理發(fā)車和接車進(jìn)路。

        4) 添加列車:在本站添加列車并設(shè)置變量,例如股道號、列車長度、偏移距離、車次號、上下行方向、司控端等信息。

        5)開始記錄數(shù)據(jù):控制DRU 模擬器開始接收并記錄數(shù)據(jù)。

        6)發(fā)車測試:操作DMI 按鍵,進(jìn)行發(fā)車測試(調(diào)用發(fā)車測試子序列)。

        7)完整性測試:操作DMI 按鍵,進(jìn)行完整性測試(調(diào)用完整性測試子序列)。

        8)車輛行駛:序列采用while 循環(huán)進(jìn)行控制,通過不斷獲取車輛信息和股道信息,動態(tài)地調(diào)整TBTS 中車輛的加速度和目標(biāo)速度,實現(xiàn)車輛的“自動駕駛”。

        9) RBC 模擬器換站:當(dāng)車輛行駛到前方站后,啟動下一站的RBC 模擬器,關(guān)閉上一站RBC模擬器。

        10)停車:當(dāng)車輛到達(dá)車站后,TestStand 根據(jù)站內(nèi)信號機(jī)控制車輛速度,使車輛停止行駛。

        11)清理工作:如果車輛需要繼續(xù)行駛,則重復(fù)(8)(9)(10)步驟;否則,當(dāng)車輛停穩(wěn)后跳出循環(huán),刪除列車并停止DRU 模擬器數(shù)據(jù)記錄,停止錄屏并關(guān)閉所有模擬器。

        12)行車數(shù)據(jù)分析:Sim Control 對DRU 模擬器記錄的json 數(shù)據(jù)進(jìn)行解析分析,并將結(jié)果返回給TestStand,作為測試結(jié)果的一個判定節(jié)點。

        13) 生成測試報告:完成以上所有步驟后,TestStand 將所有判定節(jié)點輸出到測試報告中,并保存到本地。

        對應(yīng)TestStand 中測試序列的3 個部分,Setup、Main 和Cleanup,在上述示例中,Setup 中包含步驟1,Main 中包含步驟2~12,Cleanup 中包含步驟13。

        5 結(jié)束語

        基于Teststand 的列控車載系統(tǒng)自動測試方案實現(xiàn)了測試過程的自動化,使用TestStand 測試引擎及AutoIt 自動操作腳本進(jìn)行系統(tǒng)開發(fā),其中TestStand 提供了測試序列的編輯與執(zhí)行、測試報告生成等功能,AutoIt 實現(xiàn)了對測試過程中各個軟件的自動控制。本系統(tǒng)相較于傳統(tǒng)人工測試,提高了測試效率及測試質(zhì)量,節(jié)省了時間和人力成本,對于測試要求較高的軌道交通信號行業(yè)具有實際意義。為進(jìn)一步提高系統(tǒng)的測試效率及自動化程度,未來可從以下幾方面進(jìn)行功能完善和優(yōu)化:①充分利用TestStand 支持并行測試的特性,實現(xiàn)多個用例同時測試[8];②引入機(jī)械裝置模擬人手點按DMI按鍵;③引入監(jiān)控設(shè)備,對DMI 進(jìn)行拍攝,并通過圖像識別實時地獲取DMI 顯示內(nèi)容;④引入自動部署功能;⑤利用算法優(yōu)化測試路徑,提高測試效率[9]。

        猜你喜歡
        系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        基于PowerPC+FPGA顯示系統(tǒng)
        基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
        半沸制皂系統(tǒng)(下)
        FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        一德系統(tǒng) 德行天下
        PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
        又硬又粗进去好爽免费| 亚洲 暴爽 AV人人爽日日碰 | 麻豆国产成人AV网| 亚洲av日韩综合一区尤物| 高清毛茸茸的中国少妇| 成年无码av片完整版| 精品国产亚洲一区二区三区演员表 | 人妻av一区二区三区高| 中文字幕亚洲在线第一页| 人妻 偷拍 无码 中文字幕 | 亚洲av粉嫩性色av| 一区二区三区激情免费视频| 未满十八勿入av网免费| 欧美人与动牲交片免费| 中文字幕日本女优在线观看| 91久久国产香蕉视频| 少妇高潮惨叫久久久久久电影| 亚洲区在线| 蜜桃在线观看免费高清| 在线免费观看黄色国产强暴av | 中文字幕人妻少妇伦伦| 亚洲av无码一区二区乱孑伦as| √最新版天堂资源在线| 澳门精品一区二区三区| 久久精品国产99久久久| 亚洲永久无码7777kkk| 亚洲中文一本无码AV在线无码| 丰满少妇被爽的高潮喷水呻吟| 人妻丰满熟妇岳av无码区hd| 无遮无挡三级动态图| 国产高潮精品一区二区三区av| 亚洲av网站在线观看一页| 欧美一区二区三区红桃小说 | 天天澡天天揉揉AV无码人妻斩| 女同一区二区三区在线观看| 国产福利视频在线观看| 亚洲va欧美va| 亚洲天堂av路线一免费观看| 久久性爱视频| 国产激情视频白浆免费| 日韩一区二区,亚洲一区二区视频|