焦鳳霞,劉 斌
(通號城市軌道交通技術有限公司,北京 100070)
城市軌道交通信號系統產品軟件在室內生產過程中,需要完成軟件編碼、數據配置、產品級測試、系統級測試。產品級測試、系統級測試的測試環境一般為半實物仿真環境。雖然半實物測試環境能夠逼真地模擬被測軟件所需要的真實運行環境,但隨著測試任務增長,原有的硬件資源無法滿足測試要求時,基于半實物仿真環境的實驗室架構只能通過更換、增加硬件資源對測試環境進行調整以適應新的測試需求,期間涉及到軟/硬件修改、重新部署、硬件布線更改等大量工作。另外測試環境需求存在一定的波動性,如按照使用峰值的需求進行硬件配置將會導致資源巨大的浪費。
基于云平臺架構的測試環境是在原半實物仿真測試環境的基礎上,對各硬件實物設備進行云化部署開發。上述測試環境通過云化部署降低測試環境對硬件實物設備的依賴性,對計算、存儲、網絡資源進行集約化、統一管理,極大地提高實驗室資源的利用率。同時利用云平臺,可以快速地為各種業務匹配相應的測試資源,極大地提升實驗室的靈活性和可擴展性,也為后續實驗室智能化管理、測試自動化提升打下堅實的基礎。
本文對引入云平臺測試后的測試方法進行研究和分析,為引入云平臺的測試體系提供依據,助力企業數字化轉型升級。
結合EN 50128標準,目前城市軌道交通信號系統的開發測試一般情況下為V模型,如圖1所示描述測試階段和開發階段的對應關系,在每個軟件開發階段均有對應的測試活動。本文重點研究不同仿真平臺下的黑盒測試方法,因此硬件測試、軟件測試相關理論在此不再贅述。

圖1 開發測試V模型Fig.1 Model V of development test
產品功能測試和軟/硬件集成測試是對產品需求(包括軟件需求規范、子系統需求規范、接口協議規范、顯示規范等)進行產品功能、性能以及接口協議的測試。測試時一般采用的方法如下:依據軟件需求規范、子系統需求規范、接口協議規范、顯示規范等編制測試案例,測試案例中明確測試執行前提條件、執行步驟、預期結果,執行測試按照測試案例所述的測試步驟在產品級實物測試環境中進行操作,檢查測試結果,并與預期結果進行比對。
系統功能測試是對系統需求(包括系統需求規范、接口協議規范、系統設計方案等)進行系統功能、性能以及相關接口功能的測試。測試時一般采用的方法:依據系統需求規范、接口協議規范、系統設計方案等編制測試案例,測試案例中明確測試執行前提條件、執行步驟、預期結果,執行測試按照測試案例所述的測試步驟在系統級半實物仿真環境中進行操作,檢查測試結果,并與預期結果進行比對。
CBTC系統的產品功能測試、軟硬件集成測試以及系統功能測試的測試環境一般采用實物與仿真相結合的半實物測試環境,在一定程度上能夠模擬現場實際場景。
如圖2所示,在既有的半實物仿真實驗室基礎上搭建云平臺數據中心。云平臺采用虛擬化、分布式存儲、云資源管理、信息安全等技術,實現計算、存儲、網絡資源按需分配、統一管理和集中監測,提高資源利用率,便于業務快速部署和拓展。另外云平臺具備與其他半實物仿真環境接入的拓展能力,實現硬件資源統一管理、動態分配,可滿足公司內不同時期的需求。

圖2 基于云平臺實驗室架構Fig.2 Laboratory architecture based on cloud platform
眾所周知,CBTC系統中的部分系統如:CI、ZC、ATP、ATO均為嵌入式系統,需要基于目標機的實物硬件平臺才能正常運行,在云平臺虛擬化的宿主機環境無法正常運行。因此,應充分利用開發語言的可移植性,將與目標環境無關的測試轉移至云平臺虛擬化宿主環境中完成(如軟件測試、產品功能測試、系統功能測試),系統與目標環境密切相關的測試(如硬件測試、軟/硬件集成測試等)可在目標機實物硬件平臺環境中進行執行。這樣可以實現將測試作業與硬件平臺解耦,降低測試作業對硬件實物平臺的依賴性,釋放實驗室有限的實物硬件平臺資源,提高室內生產作業效率。
下文以車載ATP設備為例,說明云平臺虛擬化宿主機環境運行的ATP單車運行系統的構建過程及測試方法。
車載ATP應用軟件負責車載設備的核心邏輯處理,負責采集外部數據、處理控車自動超速防護算法的核心邏輯。車載ATP主機一般采用信號系統生產廠商專用硬件平臺。其軟件結構如圖3所示。RSSP-Ⅱ安全協議提供車載ATP與地面設備(ZC、CI、ATS)通信的安全通道,車載ATP通過安全通信協議處理BTM接收到的應答器報文,測速測距處理速度傳感器和雷達的信號得到速度和位置信息,包括速傳數據解析、雷達數據解析、空轉打滑處理等模塊。

圖3 車載ATP應用軟件結構Fig.3 Structure diagram of onboard ATP application software
車載ATP軟件由ATP應用層軟件(含測速測距處理軟件)和平臺適配層軟件組成。平臺適配層軟件對專用車載硬件平臺的任務進行處理,以滿足車載ATP應用軟件的需求,包括任務調度、配置、通用功能、BTM設備通信處理等模塊。
3.2.1 軟件架構
為最大程度移植既有ATP、ATO應用程序,還原目標機硬件實物平臺運行環境,設計的實現軟件層級結構如圖4所示。

圖4 宿主環境車載ATP軟件結構Fig.4 Structure diagram of ATP software in the host environment
宿主環境車載ATP子系統分為5層:分別為接口層、數據協議層、硬件平臺仿真層、ATP/ATO平臺適配層和ATP/ATO應用層。
1)接口層
接口層封裝操作系統提供的接口,如網口、串口、文件操作,屏蔽不同系統之間的接口差異。車載測試平臺對封裝后的不同系統接口再進行封裝,對上提供統一接口操作,方便應用程序使用。
2)數據協議層
數據協議層主要是對各個外部接口模塊的數據處理。依據接口協議進行封裝、解析;對數據進行管理存儲,供上層平臺適配層使用。主要實現以下功能。
協議封裝解析:依據協議解析底層收到的數據,并將上層數據按照協議進行封裝發送到底層接口;
數據管理:數據分類存儲(緩存中)、讀取、寫入互斥等功能;
接口管理:管理底層接口,統一處理接口數據。
3)硬件平臺仿真層
硬件平臺仿真層主要是適配車載應用軟件,為上層應用提供數據支撐。為了盡量不修改現有應用代碼,本層主要實現以下功能。
應用數據的封裝解析:依據原車載平臺和應用的數據協議,將底層數據封裝送給上層應用,并將上層數據解析后發送到底層接口。
原平臺層接口函數實現:實現對內核系統函數、平臺層接口函數的支持。
實現時鐘管理、環境配置、日志記錄、任務管理和在線調試等功能。
4)平臺適配層
對專用硬件平臺的任務進行處理,以滿足車載ATP應用軟件的需求,包括任務調度、配置、通用功能、BTM設備通信處理等模塊。
5)應用程序層
應用軟件層負責車載ATP、ATO設備的核心邏輯處理,負責根據收集到的各種車載外部數據,處理控車及自動超速防護算法的核心邏輯。
3.2.2 接口差異
1)原接口
如圖5所示,原ATP與ZC、CI、ATS、ATO設備連接采用網絡接口,應用把數據按照各自接口通信協議封裝后轉入車載專用硬件平臺,專用硬件平臺使用網口透傳數據,安全協議已在應用中實現。其中,ATP與ATO是有線設備連接,其他設備均為無線連接。

圖5 車載子系統原接口Fig.5 Original interface of onboard subsystem
原ATP和仿真設備之間通過接口平臺連接,接口平臺到硬件平臺之間傳輸數據主要有3類:輸入/輸出信息、速度信息、BTM信息。其中輸入/輸出信息通過硬線連接實現,速度信息通過硬線連接實現脈沖數、相位的傳遞,BTM信息通過CAN線傳輸。專用硬件平臺通過底層接口實現數據的收發。數據依據一定格式在數據緩存中存取,供上層應用處理。
ATP首尾通信及ATP和人機HMI通信采用CAN總線通信。
2)新接口
如圖6所示,仿真平臺與ZC、CI、ATS、ATO設備連接采用網絡接口,應用將數據按照各自接口通信協議封裝后轉入仿真平臺,仿真平臺提供原有平臺發送函數接口。安全協議已在應用程序中實現。

圖6 車載子系統新接口Fig.6 New interface of onboard subsystem
ATP和仿真系統之間通過網絡接口直接連接,傳輸數據主要有3類:輸入/輸出信息、速度信息、BTM信息。其中輸入/輸出模擬量轉化為數字量,速度信息由仿真子系統發送脈沖數和車輪轉向,BTM信息采用原有格式(CAN報文格式)再在外層封裝一層網絡協議格式。通信內容與原車載仿真平臺和仿真設備通信內容保持一致。
ATP首尾通信及ATP和人機HMI通信采用網絡通信,采用原有格式(CAN報文格式)再在外層封裝一層網絡協議格式。
本文3.2章節中對于宿主環境中ATP軟件的實現架構和接口進行探討研究,分析宿主環境ATP設備的實現方式,基于上述架構構建的宿主環境ATP子系統除以下功能外,其他功能均與實物硬件環境保持一致。測試方法與半實物仿真環境一致,均可采用同樣的測試方法。
1)與平臺相關的功能:包括平臺版本號校驗功能,上電自動硬件自檢功能,切系功能,軟件防護的故障處理宕機功能, 輸入采集異常處理相關功能(如輸入防抖功能、雙路采集不一致),雙網相關邏輯功能。
2)速度傳感器、雷達、BTM數據修改為仿真子系統,通過以太網提供,數據會有延時,以下相關功能不可測。
應答器丟失判斷相關功能,空轉打滑判斷及補償功能。
通過與ATP一樣的分析方式,對ATS、CI、ZC產品級測試及系統級測試進行分析,結果如表1所示。

表1 CBTC系統云平臺測試方法Tab.1 Test method of CBTC system cloud platform
基于城軌信號系統云平臺的測試架構不僅可用于科研項目的產品級、系統級測試,在CBTC各子系統宿主環境運行的開發與目標機完成同源編譯且全部功能測試后,可逐步應用于工程項目。下一步,隨著實驗室云平臺搭建完成,后期可在仿真子系統增加自動加車、自動駕駛、自動緩解緊急制動和自動折返等功能及外部專業其他子系統仿真模型(如綜合監控、TCMS等子系統),在其基礎之后構建CBTC系統產品級、系統級自動化測試框架,進一步提升生產效率以及產品質量。