左登超,李德祥
(中車青島四方車輛研究所有限公司,山東 青島 266031)
軌道交通車輛控制系統一般包括網絡系統、牽引系統、制動系統、輔助系統、空調系統、旅客信息系統、煙火軸溫系統等[1]。目前軌道交通行業主流的控車通訊方式為MVB和TRDP[2],各系統車載設備通過該種通訊協議向網絡系統發送生命信號數據,表明設備工作正常,從而便于整車設備的管理[3]。
軌道交通車輛存在大復位斷電再上電、局部斷電再上電的情況,車載設備便會隨之斷電重啟。經過多次斷電上電,設備可能會有啟動不起來的現象,表現出設備離線,報出故障[4]。為了確保各類車載設備在運行過程中的穩定性,需要在設備裝車運行前進行斷電重啟的穩定性測試工作。有些車載設備對啟動時間有要求,需要在設備裝車運行前針對啟動時間進行大量重復測試[5]。
軌道交通領域針對車載設備斷電重啟及啟動時間的測試方法較少,傳統的測試方式為:人工接通設備電源,使設備上電,開始人工計時;通過對應的通訊協議抓取設備發送的生命信號數據,以抓到生命信號的時間與開始計時的時間作比較,或者系統有人機交互界面的,以界面出現的時間與開始計時的時間作比較,得出系統的啟動時間,反復重復上述過程。這種測試過程完全依賴于人工手動測試,需要人工上電斷電、人工觀察數據或者界面,人工計算時間。人工觀察并計算時間必然會存在較大的誤差,并且效率非常低,易出錯。當設備需要較長時間的測試時,人工測試便無能為力。可能人工長時間執行斷電上電,設備啟動故障依舊沒有復現[6]。當車載設備軟硬件變更后,測試人員需要執行大量的重復測試,而人工測試回歸性差,導致可能仍然存在缺陷[7]。借助軌道交通車載設備啟動時間的測試方法,可以自動化完成車載控制設備的長時間啟動測試,并且可以統計出每一次實驗的結果,為設備的穩定運行提供保障。
軌道交通車載設備啟動時間測試系統的結構如圖1所示。測試系統包含測試主機,測試主機內運行工具軟件、電源控制軟件;MVB時間統計裝置;TRDP時間統計裝置;電源輸出裝置;系統向外提供MVB接口、TRDP類型的以太網接口、電源(0~150 V)接口。

圖1 軌道交通車載設備啟動時間測試系統
電源控制軟件通過發送指令,使得電源輸出裝置可以向被測設備提供0~150 V的直流電源。電源控制軟件向電源輸出裝置發送0 V電壓指令,使得外接被測設備斷電,發送110 V、24 V等電壓指令,使得外接被測設備上電。
MVB、TRDP時間統計裝置內運行時間統計軟件,一方面與被測設備以MVB或者TRDP通訊方式進行數據收發,另一方面接收工具軟件的指令,統計被測設備的開機時間,返回至工具軟件;或者接收被測設備的數據,返回至工具軟件。
測試主機采用X86架構,Win10操作系統,對外接口包含千兆以太網口以及USB接口,測試主機通過USB轉RS232線纜,與電源輸出裝置相連。測試主機內運行工具軟件與電源控制軟件,通過以太網接口與時間統計裝置通訊。
電源輸出裝置采用艾德克斯IT6723B型號程控電源。電源額定功率850 W,電壓范圍支持 0~150 V可調,電流范圍支持0~20 A可調[8]。
程控電源協議方面,使用SCPI(standard commands for programmable instruments),也稱為可編程儀器標準命令,定義控制器與儀器的通訊方式,是一種基于ASCII的儀器命令語言,供測試和測量儀器使用[9-10]。
程控電源具備RS232標準接口,電源控制軟件通過RS232接口發送SCPI指令,從而控制電源的輸出電壓。
MVB時間統計裝置由電源板卡、CPU板卡組成。電源板卡接入直流110 V電源,通過機箱背板給CPU板卡供電。CPU板卡有一個M12-4芯以太網口、一個M12-4芯串口、兩個DB9-MVB通訊冗余接口。CPU板卡采用ARM架構,QNX操作系統。板卡內運行時間統計軟件,通過以太網口接收測試指令,通過MVB接口與被測設備進行MVB數據收發,通過串口可以登錄設備終端,對設備進行維護。
TRDP時間統計裝置由電源板、CPU板卡、TRDP板卡組成。電源板卡接入直流110 V電源,通過機箱背板給CPU板卡、TRDP板卡供電。CPU板卡采用ARM架構,QNX操作系統,一路M12-4芯以太網口、一個M12-4芯串口。TRDP板卡具有兩路M12-4芯以太網口,通過背板PCI總線與CPU板卡相連。CPU內運行時間統計軟件,通過以太網口接收測試指令,通過TRDP板卡與被測設備以TRDP通訊方式進行數據收發,通過串口可以登錄設備終端,對設備進行維護。
電源控制軟件通過向電源控制裝置發送RS232指令,使電源輸出裝置可以向被測設備提供0~150 V范圍的直流電源。電源控制軟件向電源輸出裝置發送0 V電壓指令,使得外接被測設備斷電,發送110 V、24 V等電壓指令,使得外接被測設備上電。電源輸出控制實現方式如圖2所示。

圖2 電源輸出控制流程
步驟1:電源控制軟件運行,初始化與工具軟件的TCP通訊,接收測試人員在工具軟件中設置的以太網電壓值協議;由于兩者運行于同一臺設備,使用回環地址127.0.0.1進行通訊;
步驟2:初始化與電源輸出裝置的RS232通訊;
步驟3:當電源控制軟件接受到工具軟件指令時,首先判斷指令的正確性;若正確,則將工具軟件通過TCP設置的電壓協議轉化為電源識別的RS232通訊協議,發向電源輸出裝置;若不正確,則記錄錯誤狀態。
時間統計裝置分為MVB時間統計裝置與TRDP時間統計裝置,可分別與MVB、TRDP為通訊方式的車載設備進行通訊,進行數據收發;接收工具軟件的測試指令,統計被測設備的開機時間,返回至工具軟件,或者接收被測設備的數據,返回至工具軟件,由工具軟件判斷是否滿足要求。MVB、TRDP時間統計裝置控制實現如圖3所示。

圖3 MVB、TRDP時間統計裝置控制流程
步驟1:時間統計裝置上電,讀取MVB的端口或者TRDP的COMID文件,用以初始化與被測設備的通訊。其中MVB的端口配置文件內容如表1所示。

表1 MVB端口配置文件
文件第一列表示端口的方向信息,output表示裝置主動發出的端口數據,input表示裝置接收的端口數據;第二列表示端口的地址信息;第三列表示端口的大小信息;第四列表示端口的刷新周期信息,單位毫秒[11-12];
TRDP的COMID配置文件內容如下所示:
文件第一列表示COMID信息;第二列表示本機的IP地址;第三列表示通訊方式,UDP組播或者UDP單播;第四列表示COMID的包大小,單位字節;第五列表示COMID的方向,output表示裝置主動發出的數據,input表示裝置接收的數據;第六列表示COMID的刷新周期信息,單位毫秒;第七列表示COMID的目的地址信息;第八列僅在數據方向為input方式時有效,表示COMID發送者的IP地址信息[13-14];

表2 TRDP COMID配置文件
步驟2:根據讀取的配置文件中的MVB的端口、TRDP的COMID大小信息,分配數據存儲內存,存放與被測設備之間發送及接收的數據;
步驟3:開啟MVB或者TRDP收發線程,將步驟二的數據發送出去,或者將接收到的數據進行存儲;
步驟4:初始化TCP通訊,用以接收工具軟件的測試指令;
步驟5:判斷接收的測試指令類型并執行,裝置可以接收四種類型的測試指令:
強制指令:工具軟件將具體端口或COMID下的指定字節、位偏移信息發送給時間統計裝置,裝置接收到該數據信息后,將對應內存中的數據進行更新,由后臺線程自動獲取內存數據進行發送,強制指令只能設置方向為output的數據[15-16];
心跳獲取指令:工具軟件將具體端口或COMID下的指定字節、位偏移的信息、采樣頻率f、采樣個數n信息發送給時間統計裝置,裝置接收到該數據信息后,從對應內存中以采樣頻率f進行采集,一共采集n次實時數據,然后通過TCP通訊向工具軟件發送結果[17-18];
觀測指令:工具軟件將具體端口或COMID下的指定字節、位偏移的信息發送給時間統計裝置,裝置接收到該數據信息后,從對應內存中取出一次實時數據,然后通過TCP通訊向工具軟件發送結果,觀測指令只能設置方向為input的數據[19-20];
時間統計指令:工具軟件向裝置發送時間統計指令,裝置記錄收到命令的時間為T1;被測設備發出的工具軟件指定的變量變化或者為預期數據,裝置記錄此刻時間為T2,將計算結果T2-T1通過TCP通訊向工具軟件進行發送;工具軟件查看該值是否在要求的時間范圍內,判斷被測設備的開機時間是否通過測試。
工具軟件作為向測試人員提供的操作裝置內設備的統一接口,接受測試人員輸入的指令,并將指令發送給時間統計裝置及電源控制軟件。
測試人員控制電源的電壓輸出指令,在工具軟件中的寫法如下:
setvoltage=110;(注:電源輸出110 V,使得被測設備上電)
setvoltage=0;(注:電源輸出0 V,使得被測設備斷電)
當工具軟件執行此測試指令時,將如下信息發送給電源控制軟件:
動作名稱 控制類型 值;
set setvoltage 110/n 或者set setvoltage 0/n
電源控制軟件接收到工具軟件的電壓設置指令后,將該指令轉換為程控電源識別的電壓值,通過串口轉發至電源輸出裝置。
統計設備開機時間是否在規定的最大時間內,或者驗證被測設備是否存在斷電重啟故障,不關心設備精確的開機時間,在工具軟件中的寫法如下:
delay=50 000;
lifesignal(端口號/COMID,字節偏移,位偏移,采樣頻率,采集總次數);
當工具軟件執行該測試指令時,先延時50 000毫秒的時間,然后向時間統計裝置發送心跳信號采集指令,裝置開始以采樣頻率進行采集,一共采集總次數次,并將采集到的所有結果打包返回給工具軟件,lifesignal 數值1,數值2,數值3…/n。
工具軟件收到結果后,判斷每次的數值較前一次變化,則認為設備在規定的時間內啟動成功,如果數值不變化,則認為執行失敗。
統計設備開機的精確時間、判斷開機時間是否在指定范圍內,并且想要測試設備斷電重啟是否存在故障,在工具軟件中的寫法如下:
boottime(端口號/COMID,字節偏移,位偏移,預期的開機最小時間,預期的開機最大時間,檢測超時時間,比較值,采樣頻率)。
當工具軟件執行此測試指令時,應將如下信息發送給時間統計裝置:
動作名稱、端口號/COMID、字節偏移、位偏移、采樣頻率、檢測超時時間、協議類型(mvbpd、trdp)、相等或不等、默認值/比較值;
boottime 116 5 0 1000 50 mvbpd 1 0/n
時間統計裝置采集時間到后,如果滿足判斷條件(參考“比較值”字段含義),則時間統計裝置將收到時間統計指令的時刻到滿足條件的時刻之間的差值(以秒為單位)返回給工具軟件,如果此時不滿足判斷條件,則下位機超時停止檢測,返回65535;
boottime 端口號/COMID 字節偏移 位偏移 實際時間數值/n
boottime 端口號/COMID 字節偏移 位偏移65535/n
工具軟件收到時間統計裝置返回的數據時,記錄boottime(端口號/COMID,字節偏移,位偏移,接收值)提供給工具軟件;
判斷依據為,當接收到65535時(超時),則未通過;當接收到非65535的數據時,判斷此數據是否在指令動作的(預期的開機最小時間,預期的開機最大時間)范圍內(閉區間),如果在則通過,不在則未通過。

表3 時間統計指令各字段說明
設備啟動時間測試系統支持以下兩種測試方式。
方式1:操作電源輸出裝置使得被測設備上電,設置可接受的最大延時等待時間;待延時時間到后,收取被測設備通過MVB或者TRDP回復的心跳數據;若收到,則本次設備啟動成功,斷電進行下一次測試,重復執行;若沒有收到,則停止執行;
方式2:通過電源控制裝置使得被測設備上電,此時工具軟件向MVB或者TRDP時間統計裝置發送時間統計指令,當裝置檢測到被測設備啟動成功后,回復被測啟動的精確時間至工具軟件;若返回的精確時間在指定范圍內,則本次設備啟動成功,斷電進行下一次測試,重復執行;若不符合要求或者接收時間結果超時,則停止執行;
方式1適用于比較粗略的統計設備開機時間是否滿足要求,或者驗證被測設備是否存在斷電重啟故障;方式2可以精確統計設備的開機時間,對于設備的穩定性更具有參考意義。以上兩種測試方式可以針對被測設備的測試需求進行選擇。
當被測設備為MVB通訊時,系統的連接方式如圖4。

圖4 MVB設備啟動時間測試系統連接
將時間統計裝置的電源板卡外接110 V電源,此電源在測試過程中不斷電;將CPU板卡的MVB接口連接至被測設備的MVB接口;將被測設備的電源正負極接至電源輸出裝置。
當被測設備為TRDP通訊時,系統的連接方式如圖5所示。

圖5 TRDP設備啟動時間測試系統連接
將TRDP時間統計裝置的電源板卡外接110 V電源,此電源在測試過程中不斷電;將TRDP板卡的網口與被測設備的網口相連,將被測設備的電源正負極接至電源輸出裝置。
以MVB為例,介紹具體的實驗步驟。
步驟1:生成MVB時間統計裝置使用的配置文件,該配置文件設置輸入方向的端口信息,端口號為118,字節大小為32字節,刷新周期為64 ms;

表4 MVB端口配置文件
將此配置文件下發到MVB時間統計裝置中;
步驟2:在工具軟件中輸入測試指令;
1)當需要統計被測設備開機啟動時間是否滿足小于某一時間時:
編寫方式1,不需要統計被測設備確切開機時間:
setvoltage=110;
delay=50000;
lifesignal(118,1,0,500,10);
setvoltage=0;
工具軟件控制電源輸出110 V電壓,使得被測設備上電;然后延時50 s的時間,等待設備正常工作;延時時間到后,向MVB時間統計裝置發送心跳獲取指令,裝置以500 ms的頻率保存端口118,字節偏移為1,位偏移為0的數據的值,共保存10次;保存次數到后,將結果返回至工具軟件,由工具軟件判斷測試是否通過;
編寫方式2,需要統計被測設備確切開機時間:
setvoltage=110;
boottime(118,1,0,50);
setvoltage=0;
工具軟件控制電源輸出110 V電壓,使得被測設備上電;然后向MVB時間統計裝置發送時間獲取指令;裝置收到指令后,首先記錄此時刻時間T1,然后以默認頻率500 ms,檢測端口118,字節偏移為1,位偏移為0的數據的值;檢測到的數據較默認值有變化,則記錄此時時間T2;將T2-T1的值發送至工具軟件,檢測超時時間到后,仍未檢測到有變化,則將65535發送至工具軟件;由工具軟件判斷是否執行通過;
2)當測試被測設備開機啟動時間是否滿足在某一時間范圍內,并且統計確切的開機時間:
setvoltage=110;
boottime(118,1,0,30,50,60);
setvoltage=0;
工具軟件控制電源輸出110 V電壓,使得被測設備上電;然后向MVB時間統計裝置發送時間獲取指令;裝置收到指令后,首先記錄此時刻時間T1,然后以默認頻率500 ms,檢測端口118,字節偏移為1,位偏移為0的數據的值;檢測到的數據較默認值有變化,則記錄此時時間T2;將T2-T1的值發送至工具軟件,檢測超時時間60 s到后,仍未檢測到有變化,則將65535發送至工具軟件;由工具軟件判斷是否執行通過;
步驟3:觸發工具軟件循環執行測試指令,設置連續重復執行一周的時間(具體執行時間視測試需求而定),以充分驗證設備的穩定性;當執行失敗時,工具軟件自動停止執行;
步驟4:工具軟件能夠記錄每次執行的結果,當執行完畢后將結果保存;
針對編寫方式1,不需要統計被測設備準確的開機時間,在執行完啟動時間測試后,工具軟件會將測試結果保存成表格的形式,結果如表5所示。

表5 不需要統計準確開機時間的測試結果記錄
保存的結果記錄中,會記錄工具軟件每次執行的動作,收取時間統計裝置返回的心跳數據,以及工具軟件根據心跳數據的變化情況,可以自動判斷測試的結果是否正確,并在結果中給出Pass或者Fail,方便測試人員查看測試結果。
針對編寫方式2,需要統計被測設備確切的開機時間,在執行完啟動時間測試后,工具軟件會將測試結果保存成表格的形式,結果如表6所示。

表6 需要統計準確開機時間的測試結果記錄
保存的結果記錄中,會記錄工具軟件每次執行的動作,收取時間統計裝置返回的被測設備的準確開機時間,以及工具軟件根據期望的開機時間范圍,可以自動判斷測試的結果是否正確,并在結果中給出Pass或者Fail,方便測試人員查看測試結果。
借助軌道交通車載設備啟動時間的測試方法,可以測試以MVB、TRDP為通訊方式的車載設備的啟動時間,滿足絕大部分車載設備的測試需求;可以一直循環進行測試,測試力度大,回歸測試能力強,提高了測試的靈活性、通用性以及效率,為設備的穩定運行提供保障。