王 猛
(北京鐵路信號(hào)有限公司,北京 102613)
在新建線路的開通前,為確保高鐵列車安全運(yùn)行,提高運(yùn)輸效率,需要對TCC軟件的功能及邏輯關(guān)系進(jìn)行遍歷測試, 旨在及時(shí)發(fā)現(xiàn)TCC軟件中的缺陷或漏洞,杜絕將存在問題的軟件應(yīng)用于現(xiàn)場實(shí)際運(yùn)行的高鐵線路上。必要的軟件測試可大大減少現(xiàn)場軟件發(fā)生故障的概率,只有經(jīng)過測試合格的軟件方能用于現(xiàn)場調(diào)試或開通,從而確保線路的穩(wěn)定運(yùn)行?,F(xiàn)場硬件設(shè)備復(fù)雜、實(shí)驗(yàn)條件受限,因此列控中心軟件的測試以室內(nèi)仿真平臺(tái)測試的方式為主。從平臺(tái)規(guī)劃、平臺(tái)架構(gòu)、測試流程、常見問題及處理方法等幾個(gè)方面來闡述仿真測試的必要性與實(shí)際意義。
TCC設(shè)備根據(jù)現(xiàn)場實(shí)際需求可大致劃分為:大型車站、標(biāo)準(zhǔn)車站、線路所、轉(zhuǎn)換站、動(dòng)車所、中繼站等。由于現(xiàn)場設(shè)備種類繁多,不同車站的硬件數(shù)量不一致、各設(shè)備間通信線纜錯(cuò)綜復(fù)雜、現(xiàn)場實(shí)驗(yàn)條件等因素受限,為有效解決上述問題,可通過搭建仿真測試平臺(tái)實(shí)現(xiàn)對現(xiàn)場真實(shí)硬件設(shè)備的模擬,其涵蓋了現(xiàn)場全部真實(shí)硬件功能,可達(dá)到預(yù)期的測試效果,成功的將現(xiàn)場環(huán)境搬進(jìn)了實(shí)驗(yàn)室。本文介紹的仿真測試平臺(tái)可實(shí)現(xiàn)TCC兩大模塊的數(shù)據(jù)測試,即CTCS-0級(jí)和CTCS-2級(jí)的仿真測試。CTCS-0功能主要包括:列車進(jìn)路碼序、低頻信息、載頻信息、邊界碼序傳輸、改方功能等;CTCS-2功能主要包含:臨時(shí)限速測試、應(yīng)答器報(bào)文測試等。上述模塊所包含內(nèi)容均可通過仿真平臺(tái)進(jìn)行驗(yàn)收測試。TCC產(chǎn)品軟件仿真驗(yàn)收測試平臺(tái)模型如圖1所示。
圖1 TCC產(chǎn)品軟件測試仿真平臺(tái)模型Fig.1 TCC product software test simulation platform model
根據(jù)1.1仿真驗(yàn)收測試平臺(tái)的建模構(gòu)成不難看出,在進(jìn)行TCC軟件驗(yàn)收測試時(shí),如果對外接口全部為真實(shí)設(shè)備,會(huì)造成實(shí)驗(yàn)室設(shè)備數(shù)量過多、實(shí)驗(yàn)環(huán)境復(fù)雜、效率低下。因此,通過使用仿真軟件將列控系統(tǒng)部分模塊與外部接口進(jìn)行模擬,最大程度優(yōu)化設(shè)備構(gòu)成,提升驗(yàn)收測試效率,降低設(shè)備成本。仿真測試系統(tǒng)可模擬ZPW-2000A軌道電路系統(tǒng)、計(jì)算機(jī)聯(lián)鎖、調(diào)度集中(CTC)、臨時(shí)限速服務(wù)器(TSRS)、地面電子單元(LEU)、應(yīng)答器等設(shè)備。通過使用仿真平臺(tái)軟件,為TCC軟件的邏輯功能及接口測試帶來了極大方便。實(shí)驗(yàn)室仿真驗(yàn)收測試平臺(tái)測試環(huán)境如圖2所示。
仿真驗(yàn)收測試平臺(tái)面向列控中心設(shè)備。實(shí)驗(yàn)室TCC主機(jī)單元及各模塊板卡與現(xiàn)場硬件設(shè)備保持一致,所有對外接口設(shè)備都可通過仿真軟件進(jìn)行模擬。如臨時(shí)限速服務(wù)器(TSRS)、相鄰車站、集中監(jiān)測(CSM)均通過以太網(wǎng)與待測TCC建立通信;應(yīng)答器報(bào)文信息、ZPW-2000A軌道電路、CTC可通過CAN總線與待測車站建立通信;驅(qū)動(dòng)和采集信息通過仿真機(jī)上的專用通信板與待測車站建立數(shù)據(jù)通信。
根據(jù)仿真測試系統(tǒng)環(huán)境搭建要求,驗(yàn)收測試的TCC軟件、工程數(shù)據(jù)均需要按照現(xiàn)場實(shí)際要求執(zhí)行。例如搭建9套真實(shí)的TCC主機(jī)單元為被測對象,可以滿足3組驗(yàn)收測試人員同時(shí)進(jìn)行“三站兩區(qū)間”的驗(yàn)收測試,測試環(huán)境如圖3所示。
圖2 仿真驗(yàn)收測試平臺(tái)示意圖Fig.2 Schematic diagram of simulation acceptance test platform
圖3 仿真測試平臺(tái)界面Fig.3 Simulation test platform interface
仿真機(jī)分別通過光纖通道、以太網(wǎng)通道和CAN通道與待測TCC通信,針對驅(qū)動(dòng)采集單元、ZPW-2000A軌道電路、計(jì)算機(jī)聯(lián)鎖、臨時(shí)限速服務(wù)器、應(yīng)答器報(bào)文信息等接口設(shè)備仿真。相鄰車站通過以太網(wǎng)交換機(jī)與被測主機(jī)建立數(shù)據(jù)相連,可實(shí)現(xiàn)TCC的改方功能、鄰站邊界碼序的傳輸?shù)裙δ?。臨時(shí)限速服務(wù)器通過以太網(wǎng)交換機(jī)與待測TCC建立通信,其主要功能是為TCC下達(dá)初始化命令和臨時(shí)限速信息,為接下的報(bào)文與臨時(shí)限速測試環(huán)節(jié)提供便利條件。
1)制定方案
根據(jù)各路局電務(wù)段所提出驗(yàn)收需求,梳理出現(xiàn)場工程項(xiàng)目的迫切程度,由技術(shù)人員結(jié)合實(shí)驗(yàn)室硬件平臺(tái)分布及使用情況,制定出詳細(xì)、合理、高效的驗(yàn)收測試方案。合理的驗(yàn)收方案可提升仿真測試效率,同時(shí),可滿足多家鐵路局電務(wù)段人員同步進(jìn)行此項(xiàng)測試工作,為現(xiàn)場項(xiàng)目的順利開通奠定堅(jiān)實(shí)的基礎(chǔ)。
2)數(shù)據(jù)調(diào)試
測試所需數(shù)據(jù)包括待測軟件、被測站數(shù)據(jù)庫信息、工程數(shù)據(jù),技術(shù)人員在收到這些數(shù)據(jù)后,需要對軟件版本號(hào)、發(fā)布日期信息進(jìn)行核實(shí)并記錄,同時(shí)創(chuàng)建所需測試環(huán)境方案,以保證完整無遺漏。接下來對設(shè)計(jì)方提供的數(shù)據(jù)庫文件進(jìn)行木馬查毒,并通過專用存儲(chǔ)設(shè)備將數(shù)據(jù)庫導(dǎo)入至測試服務(wù)器,直至測試環(huán)境調(diào)試穩(wěn)定。
搭建測試環(huán)境是軟件測試實(shí)現(xiàn)的重要階段,測試環(huán)境是否合適將嚴(yán)重影響測試結(jié)果的真實(shí)性和正確性。根據(jù)實(shí)際測試需求及測試進(jìn)度計(jì)劃,搭建“輔助-待測-輔助”的三站兩區(qū)間測試模型。該測試模型覆蓋到中間待測車站列控中心軟件的全部運(yùn)算邏輯及功能,較好闡述測試的意義及重要性。測試的主體為列控中心軟件,通過仿真機(jī)以及外部通信接口等設(shè)備實(shí)現(xiàn)系統(tǒng)測試平臺(tái)。若搭建過程中遇到數(shù)據(jù)或軟件邏輯問題,由技術(shù)支持工程師分析問題原因或?qū)栴}反饋至軟件設(shè)計(jì)方,由其進(jìn)行確認(rèn)是否存在缺陷,直至仿真環(huán)境搭建完結(jié)。
電務(wù)段測試人員根據(jù)事先準(zhǔn)備好的測試記錄表,針對列控中心軟件所包含的全部功能進(jìn)行遍歷性測試。測試記錄表中的測試項(xiàng)主要包括:改方功能測試、進(jìn)路碼序測試、應(yīng)答器報(bào)文測試等。下面重點(diǎn)介紹仿真測試所涉及的幾個(gè)功能模塊。
改方功能測試:列控中心通過站間安全數(shù)據(jù)網(wǎng)實(shí)現(xiàn)與相鄰車站數(shù)據(jù)通信,對區(qū)間的運(yùn)行方向協(xié)同管理。在雙方列控中心確認(rèn)可以改變區(qū)間運(yùn)行方向時(shí),才允許聯(lián)鎖辦理發(fā)車進(jìn)路。處理機(jī)制符合故障-安全的原則,保證相鄰車站不處于敵對運(yùn)行方向。從而實(shí)現(xiàn)車站線路運(yùn)行方向的改變。
進(jìn)路碼序測試:列控中心根據(jù)列車在區(qū)間的走行邏輯,對軌道電路占用、空閑、故障占用、失去分路狀態(tài)進(jìn)行判斷和報(bào)警,并采取必要的防護(hù)措施。對于站內(nèi)軌道電路編碼,根據(jù)辦理的進(jìn)路及前方進(jìn)路狀態(tài),按照軌道電路編碼邏輯,產(chǎn)生對應(yīng)于各個(gè)軌道電路的低頻碼。實(shí)驗(yàn)人員根據(jù)對應(yīng)軌道區(qū)段的低頻碼序與測試表格進(jìn)行核對,從而驗(yàn)證列控主機(jī)軟件邏輯的正確性。
應(yīng)答器報(bào)文測試:根據(jù)聯(lián)鎖進(jìn)路狀態(tài)選擇與之對應(yīng)的進(jìn)路信息報(bào)文,通過LEU向?qū)?yīng)的進(jìn)站口應(yīng)答器傳送,從而向車載設(shè)備發(fā)送進(jìn)路參數(shù),包括應(yīng)答器信息幀、進(jìn)路軌道區(qū)段長度、線路坡度、應(yīng)答器鏈接、特殊區(qū)段、臨時(shí)限速、大號(hào)碼道岔信息包等。
在進(jìn)行仿真測試過程中,當(dāng)電務(wù)段測試人員發(fā)現(xiàn)軟件存在疑問或缺陷時(shí),應(yīng)及時(shí)向技術(shù)支持人員反饋,由技術(shù)支持人員對問題進(jìn)行初步判斷,確定其是否為軟件缺陷。若軟件確實(shí)存在設(shè)計(jì)缺陷,則應(yīng)按要求填寫問題反饋單,將反饋單發(fā)送至軟件設(shè)計(jì)方。待設(shè)計(jì)方修改軟件完畢后,由技術(shù)支持人員重新?lián)Q裝軟件進(jìn)行仿真測試,直至測試結(jié)束,如圖4所示。
圖4 測試流程圖Fig.4 Test flow chart
在仿真驗(yàn)收測試過程中,會(huì)反饋一些測試結(jié)果與電務(wù)驗(yàn)收人員預(yù)期不一致的情況。一般情況下,按照如下順序檢查,可以高效的定位故障:
1) 測試臺(tái)硬件設(shè)備故障排查;
2) 仿真測試環(huán)境版本的確認(rèn);
3) 測試輸入文檔的有效性確認(rèn);
4) 仿真測試環(huán)境的誤操作排查;
5) 被測軟件錯(cuò)誤排查。
在硬件設(shè)備的故障排查時(shí),應(yīng)先行確認(rèn)列控中心主機(jī)單元的工作狀態(tài)。可通過觀察各板卡面板指示燈,輔助判斷硬件板卡的工作狀態(tài);在確認(rèn)主機(jī)單元工作正常后,可調(diào)試仿真設(shè)備與列控中心的通信狀態(tài),如驅(qū)采仿真與列控中心的通信、聯(lián)鎖仿真與列控中心的以太網(wǎng)通信、CAN總線仿真設(shè)備與列控中心的CAN總線通道狀態(tài)。
上述的各類通信狀態(tài),在列控中心的監(jiān)測機(jī)中均有顯示。建議在硬件調(diào)試時(shí),搭建相應(yīng)列控中心的監(jiān)測機(jī),可以方便硬件設(shè)備的故障排查和故障定位;在進(jìn)行測試過程中,搭建臨時(shí)測試環(huán)境時(shí)會(huì)出現(xiàn)重復(fù)性的“安裝-拆除”環(huán)節(jié)。此過程極易造成通信中斷、數(shù)據(jù)丟失、設(shè)備重啟等故障現(xiàn)象。根據(jù)設(shè)備的通訊方式進(jìn)行判斷,將故障點(diǎn)定位后,再根據(jù)線纜類別進(jìn)行逐一排查,可以快速恢復(fù)仿真測試環(huán)境。
軌道電路、LEU、CTC均通過CAN通道與TCC主機(jī)建立數(shù)據(jù)通信,但彼此的傳輸數(shù)據(jù)內(nèi)容不一致。由于仿真機(jī)CAN卡性能的限制,在測試中可能會(huì)出現(xiàn)數(shù)據(jù)信息不穩(wěn)定、碼序波動(dòng)現(xiàn)象。為了避免此類問題出現(xiàn),可根據(jù)實(shí)際需要將不同設(shè)備的數(shù)據(jù)通道設(shè)置在不同的CAN通道中,從而解決上述測試過程中遇到的問題。
仿真測試環(huán)境版本確認(rèn):仿真測試環(huán)境是由列控中心系統(tǒng)硬件平臺(tái)、列控中心軟件、仿真測試系統(tǒng)軟件、仿真測試數(shù)據(jù)組成,其中列控中心軟件為被測對象,其他為測試環(huán)境。在確認(rèn)列控中心系統(tǒng)硬件平臺(tái)工作正常后,便需要對仿真測試系統(tǒng)軟件的版本、仿真測試數(shù)據(jù)確認(rèn)。
由于在電務(wù)驗(yàn)收前,廠家已經(jīng)完成了內(nèi)部測試,故仿真測試系統(tǒng)軟件和仿真測試數(shù)據(jù)應(yīng)與廠家內(nèi)部測試時(shí)保持一致。
測試輸入文檔的有效性確認(rèn): 在仿真驗(yàn)收過程中,電務(wù)驗(yàn)收人員以設(shè)計(jì)出的設(shè)計(jì)資料為依據(jù)、結(jié)合鐵路信號(hào)技術(shù)規(guī)范、列控中心相關(guān)的技術(shù)條件等,形成預(yù)期結(jié)果,用來評(píng)價(jià)被測列控中心軟件。但有時(shí)由于驗(yàn)收人員手中的設(shè)計(jì)文檔與廠家的設(shè)計(jì)文檔存在差異,導(dǎo)致預(yù)期結(jié)果的偏離。所以,在測試之前,與驗(yàn)收人員核實(shí)設(shè)計(jì)文檔的版本顯得極為重要。
仿真測試環(huán)境的誤操作排查: 在列控中心系統(tǒng)工作正常、仿真系統(tǒng)軟件版本和數(shù)據(jù)版本與廠家內(nèi)部測試所用版本一致時(shí),首先考慮仿真測試環(huán)境的誤操作。常見的情況如下:
誤關(guān)閉了仿真的某些模塊,導(dǎo)致仿真部分功能缺失;
誤設(shè)置了PIO的驅(qū)采、IP通信模式(真實(shí)IP或虛擬IP),導(dǎo)致列控中心系統(tǒng)與仿真系統(tǒng)交互異常;
誤設(shè)置鄰站站間信息,導(dǎo)致改方、碼序追蹤等功能異常;
誤設(shè)置保持了一些繼電器的采集狀態(tài),導(dǎo)致列控中心監(jiān)測該繼電器驅(qū)采異常,觸發(fā)相應(yīng)的軟件防護(hù)機(jī)制;
誤設(shè)置了仿真聯(lián)鎖始端信號(hào)機(jī)點(diǎn)燈,導(dǎo)致列控中心無法正常編碼。
當(dāng)上述情況出現(xiàn)時(shí),可從列控中心軟件的響應(yīng)結(jié)果,來推測可能的誤操作情況,如列控中心無法正常改方,需要檢查IP通信模式、鄰站站間信息、PIO仿真的采集是否到位;列控中心無法正常完成進(jìn)路編碼,應(yīng)優(yōu)先查看聯(lián)鎖點(diǎn)燈、進(jìn)路上各區(qū)段的FQJ的采集是否到位。
被測軟件錯(cuò)誤排查:在上述硬件檢查、環(huán)境檢查、設(shè)計(jì)文檔的一致性檢查都完成后,若被測軟件仍然存在功能異常,可考慮進(jìn)行軟件錯(cuò)誤排查。考慮廠家內(nèi)部測試完成后才進(jìn)行仿真驗(yàn)收測試,故軟件自身的缺陷可能性較低,建議先從接口部分入手。常見的兩類問題如下。
1)列控中心進(jìn)行接口測試時(shí),會(huì)出現(xiàn)列控中心與CTC設(shè)備無法建立正常通信的情況。由于客專列控中心和CTC協(xié)議版本的唯一性,若確認(rèn)硬件通道無問題后,考慮雙方接口配置不一致性的問題。優(yōu)先進(jìn)行雙方軟件通信參數(shù)、數(shù)據(jù)版本的比對,往往可以高效的定位問題。
2)實(shí)驗(yàn)室搭建列控系統(tǒng)仿真平臺(tái)后,列控與聯(lián)鎖始終無法完成正常通信。優(yōu)先確認(rèn)以太網(wǎng)物理通道,通過8K數(shù)據(jù)區(qū)的數(shù)據(jù)判斷聯(lián)鎖與列控之間通道狀態(tài),若物理通道正常、邏輯通道通信中斷,建議使用wireshark等網(wǎng)絡(luò)抓包工具,獲取列控傳給聯(lián)鎖、聯(lián)鎖傳給列控的UDP數(shù)據(jù)包,檢查RSSP-1協(xié)議是否校驗(yàn)通過、檢查數(shù)據(jù)版本和協(xié)議版本的一致性。
文中介紹的仿真驗(yàn)收測試環(huán)境準(zhǔn)備與故障排查方法適用于列控中心仿真驗(yàn)收測試,提出的測試流程及方案將在今后的實(shí)際運(yùn)用中不斷優(yōu)化。這一方法還將用于具有自主知識(shí)產(chǎn)權(quán)的自主化列控產(chǎn)品的仿真測試中,希望能對類似測試有所幫助。