劉正東,劉 歡,閆曉霞,吳 瓊
(1. 萊茵技術(shù)(上海)有限公司,上海 200072;2. 成都威奧暢通科技有限公司,成都 610100;3. 北京華鐵信息技術(shù)有限公司,北京 100010)
隨著城市規(guī)模的不斷擴(kuò)大,地面交通的壓力也越來(lái)越大,軌道交通對(duì)于城市發(fā)展變得尤為重要[1]。目前,各城市內(nèi)軌道交通不同線路的信號(hào)系統(tǒng)通常由不同供應(yīng)商提供,因此,信號(hào)系統(tǒng)之間不能實(shí)現(xiàn)互聯(lián)互通,車載控制器之間也無(wú)法互聯(lián)互通[2]?;诖?,文獻(xiàn)[3]中,提出需要建立一套全新的信號(hào)系統(tǒng)互聯(lián)互通標(biāo)準(zhǔn),要求新開(kāi)發(fā)的信號(hào)系統(tǒng)都采用統(tǒng)一的標(biāo)準(zhǔn),但是對(duì)如何實(shí)現(xiàn)既有線路之間,以及既有線路與新線路之間的信號(hào)系統(tǒng)互聯(lián)互通的問(wèn)題并未提出解決方案。
目前,國(guó)內(nèi)外均已開(kāi)展了城市軌道交通信號(hào)系統(tǒng)互聯(lián)互通的研究,如重慶在已開(kāi)通的4條地鐵線路上均實(shí)現(xiàn)了信號(hào)系統(tǒng)互聯(lián)互通共線和跨線載客運(yùn)營(yíng)[4]。此外,已有廠家的信號(hào)系統(tǒng)實(shí)現(xiàn)了互聯(lián)互通相關(guān)功能,亟待進(jìn)行測(cè)試和驗(yàn)證。
在基于云的信號(hào)系統(tǒng)互聯(lián)互通投入使用前,為了驗(yàn)證其可行性和可靠性,需要對(duì)其功能、性能進(jìn)行全面測(cè)試,因此,本文設(shè)計(jì)了基于云的信號(hào)系統(tǒng)互聯(lián)互通的測(cè)試平臺(tái)(簡(jiǎn)稱:BoC-iTP測(cè)試平臺(tái))[5],通過(guò)該測(cè)試平臺(tái),可展示信號(hào)系統(tǒng)互聯(lián)互通運(yùn)營(yíng)場(chǎng)景的測(cè)試情況,為信號(hào)系統(tǒng)運(yùn)營(yíng)需求設(shè)計(jì)提供分析數(shù)據(jù),為發(fā)現(xiàn)和修復(fù)潛在缺陷提供數(shù)據(jù)和記錄,提升信號(hào)系統(tǒng)的安全性和可靠性。
BoC-iTP測(cè)試平臺(tái)主要由以下7部分組成:操作終端軟件、聯(lián)鎖邏輯軟件、車載控制軟件、現(xiàn)場(chǎng)設(shè)備控制器、接口轉(zhuǎn)換軟件、現(xiàn)場(chǎng)沙盤模型和現(xiàn)場(chǎng)仿真系統(tǒng)。
BoC-iTP測(cè)試平臺(tái)采用二乘二取二的安全架構(gòu),該架構(gòu)運(yùn)用雙CPU進(jìn)行邏輯運(yùn)算,并對(duì)結(jié)果進(jìn)行一致性比較,二取二的設(shè)計(jì)可保證邏輯運(yùn)算的正確性和安全性[6]。另外,為提高可靠性,采用冗余設(shè)計(jì),即二乘,當(dāng)主系出現(xiàn)故障后,可自動(dòng)切換到備系,確保系統(tǒng)正常運(yùn)行。BoC-iTP測(cè)試平臺(tái)架構(gòu)如圖1所示。
圖1 BoC-iTP測(cè)試平臺(tái)架構(gòu)
(1)操作終端軟件為BoC-iTP測(cè)試平臺(tái)提供顯示界面。
(2)聯(lián)鎖邏輯軟件依據(jù)計(jì)算機(jī)聯(lián)鎖系統(tǒng)的需求開(kāi)發(fā),用于對(duì)信號(hào)機(jī)、道岔、區(qū)段和其他外部設(shè)備的聯(lián)鎖關(guān)系進(jìn)行運(yùn)算。
(3)車載控制軟件通過(guò)無(wú)線發(fā)射裝置,控制沙盤上車輛的運(yùn)行。
(4)由于不同廠家的信號(hào)系統(tǒng)需要進(jìn)行互聯(lián)互通,那么接口協(xié)議的轉(zhuǎn)換是必不可少的。為了能夠解決各廠家接口協(xié)議的差異性問(wèn)題,本文依據(jù)中國(guó)城市軌道交通協(xié)會(huì)技術(shù)裝備專業(yè)委員會(huì)提供的互聯(lián)互通需求、設(shè)計(jì)和接口規(guī)范標(biāo)準(zhǔn),設(shè)計(jì)信號(hào)系統(tǒng)互聯(lián)互通接口轉(zhuǎn)換軟件。在接口轉(zhuǎn)換軟件的設(shè)計(jì)中將不同廠家的接口協(xié)議做成配置文件,接口轉(zhuǎn)換軟件通過(guò)讀取配置文件,實(shí)現(xiàn)不同廠家接口協(xié)議的轉(zhuǎn)換和適配[6]。
(5)現(xiàn)場(chǎng)設(shè)備控制器為自行研發(fā)設(shè)計(jì)的BoC-iTP測(cè)試平臺(tái)的硬件。該硬件采用高安全性和冗余性的二乘二取二架構(gòu)[7],根據(jù)故障導(dǎo)向安全的設(shè)計(jì)原則,使用二取二的輸出電路控制,并加載無(wú)線通信模塊,實(shí)現(xiàn)云端控制接口。
(6)現(xiàn)場(chǎng)沙盤模型由1∶87等比例縮小的信號(hào)機(jī)、道岔、軌道、按鈕和車輛組成,為BoC-iTP測(cè)試平臺(tái)提供現(xiàn)場(chǎng)設(shè)備實(shí)時(shí)運(yùn)行的狀態(tài),可依據(jù)沙盤模型設(shè)計(jì)圖搭建不同場(chǎng)景進(jìn)行測(cè)試和展示。
(7)為提高測(cè)試現(xiàn)場(chǎng)的復(fù)雜性和完整性,可結(jié)合使用仿真系統(tǒng)模擬現(xiàn)場(chǎng)設(shè)備的實(shí)時(shí)狀態(tài)和故障植入等。
BoC-iTP測(cè)試平臺(tái)具有基于通信的列車運(yùn)行控制系統(tǒng)(CBTC, Communication Based Train Control System)和接口軟件間互聯(lián)互通的全部功能[8]。
(1)具備辦理進(jìn)路、操縱軌旁設(shè)備、實(shí)時(shí)監(jiān)控現(xiàn)場(chǎng)設(shè)備狀態(tài)等功能。
(2)實(shí)現(xiàn)聯(lián)鎖系統(tǒng)邏輯運(yùn)算的功能,并將運(yùn)算結(jié)果輸出給現(xiàn)場(chǎng)設(shè)備控制器,確保地面系統(tǒng)的安全運(yùn)行。
(3)根據(jù)現(xiàn)場(chǎng)控制器發(fā)送的現(xiàn)場(chǎng)設(shè)備狀態(tài),計(jì)算移動(dòng)授權(quán),實(shí)時(shí)控制列車前進(jìn)、后退和停止。車載控制軟件集成了城市軌道交通自動(dòng)控制系統(tǒng)、列車自動(dòng)駕駛系統(tǒng)和區(qū)域控制器的完整功能[8],實(shí)現(xiàn)對(duì)列車的運(yùn)行控制和監(jiān)督功能。
(4)實(shí)現(xiàn)與不同廠家的信號(hào)系統(tǒng)的兼容和互聯(lián)互通功能,并將轉(zhuǎn)換后可識(shí)別的數(shù)據(jù)轉(zhuǎn)發(fā)給外部不同廠家信號(hào)系統(tǒng),內(nèi)部的聯(lián)鎖邏輯軟件和車載控制器軟件用于操控沙盤模塊中的設(shè)備。
操作終端軟件、聯(lián)鎖邏輯軟件、接口轉(zhuǎn)換軟件、車載控制軟件和現(xiàn)場(chǎng)仿真系統(tǒng)使用C語(yǔ)言編程實(shí)現(xiàn),且采用了安全防御性編程技術(shù)和代碼檢錯(cuò)技術(shù)[9],以防止因系統(tǒng)性失效導(dǎo)致的功能失效?,F(xiàn)場(chǎng)設(shè)備控制器采用了故障–安全設(shè)計(jì)原則,當(dāng)系統(tǒng)發(fā)生故障時(shí),BoC-iTP測(cè)試平臺(tái)的輸出會(huì)導(dǎo)向安全側(cè),防止事故發(fā)生。下面將重點(diǎn)介紹接口轉(zhuǎn)換軟件和BoC-iTP測(cè)試平臺(tái)的硬件設(shè)計(jì)和實(shí)現(xiàn)。
信號(hào)系統(tǒng)互聯(lián)互通接口轉(zhuǎn)換軟件開(kāi)發(fā)采用了安全軟件編程技術(shù),提高軟件代碼的質(zhì)量,增強(qiáng)系統(tǒng)的安全性。本文采用以下4種編程安全技術(shù)完成接口轉(zhuǎn)換軟件設(shè)計(jì)。
3.1.1 模塊化技術(shù)
將軟件按照功能劃分為配置文件處理模塊、RSSP-I/II協(xié)議模塊、接收和解析數(shù)據(jù)模塊及發(fā)送數(shù)據(jù)模塊,以上4個(gè)功能模塊又繼續(xù)細(xì)分為小的模塊,小模塊間清晰定義輸入/輸出關(guān)系、變量及函數(shù)的調(diào)用關(guān)系,小模塊根據(jù)功能的復(fù)雜程度劃分函數(shù),單個(gè)函數(shù)執(zhí)行易于理解的功能,函數(shù)實(shí)現(xiàn)盡量減少函數(shù)圈復(fù)雜度,通過(guò)模塊化技術(shù)來(lái)限制軟件的復(fù)雜性和可維護(hù)性,提高接口轉(zhuǎn)換的易用性和可讀性。
3.1.2 防御性編程技術(shù)
對(duì)指令、數(shù)據(jù)和堆棧等空間的大小、指針有效性、數(shù)組和數(shù)值的邊界等進(jìn)行防御性編程,防護(hù)非法值,并對(duì)相應(yīng)的錯(cuò)誤進(jìn)行處理,確保接口轉(zhuǎn)換軟件有非預(yù)期的結(jié)果時(shí)能導(dǎo)向安全側(cè)輸出。在接收和解析數(shù)據(jù)模塊中,對(duì)接收數(shù)據(jù)的緩沖區(qū)進(jìn)行溢出防護(hù),對(duì)每個(gè)函數(shù)使用的指針進(jìn)行判斷,當(dāng)有緩沖區(qū)溢出或者非法指針時(shí),將限定接口轉(zhuǎn)換軟件輸出,導(dǎo)向安全側(cè)并給出錯(cuò)誤提示。
3.1.3 故障檢測(cè)與診斷技術(shù)
對(duì)接口轉(zhuǎn)換軟件代碼執(zhí)行過(guò)程中的錯(cuò)誤碼、關(guān)鍵信息、異常信息進(jìn)行故障檢測(cè)與診斷,確保軟件正確運(yùn)行。在配置文件處理模塊中,讀取文件時(shí),對(duì)文件的格式進(jìn)行判斷(循環(huán)冗余校核值的校驗(yàn)、數(shù)據(jù)長(zhǎng)度的校驗(yàn)、對(duì)配置文件中設(shè)備狀態(tài)的校驗(yàn)),當(dāng)檢測(cè)到異常時(shí),設(shè)置不同的故障碼,并進(jìn)行記錄,對(duì)異常給出故障提示。
3.1.4 代碼檢錯(cuò)技術(shù)
對(duì)允許錯(cuò)誤編碼塊進(jìn)行錯(cuò)誤檢測(cè)與糾正,采用漢明碼、多項(xiàng)式代碼等方式,確保編碼的正確性。在配置文件處理模塊、接收和解析數(shù)據(jù)模塊都采用了多項(xiàng)式循環(huán)冗余校核的方式,保證接收數(shù)據(jù)的正確性。在軟件編碼中,對(duì)于二值變量,使用0x55和0xAA的賦值方式保證變量值的碼距,在使用該二值變量時(shí),對(duì)非法值進(jìn)行判斷,異常時(shí),設(shè)置不同的故障碼,并進(jìn)行記錄,對(duì)異常給出故障指示。
BoC-iTP測(cè)試平臺(tái)的硬件控制平臺(tái)通過(guò)二乘二取二架構(gòu)設(shè)計(jì)提高系統(tǒng)的高安全性和冗余性,根據(jù)計(jì)算機(jī)安全平臺(tái)的故障–安全設(shè)計(jì)原則,使用二取二的輸出電路控制,并加載無(wú)線通信模塊,實(shí)現(xiàn)云端控制接口。BoC-iTP硬件控制器架構(gòu)如圖2所示。
圖2 BoC-iTP硬件控制架構(gòu)
3.2.1 二取二輸出電路
硬件控制設(shè)計(jì)采用二取二輸出電路,為確保系統(tǒng)正確且安全輸出,兩路輸出電路需要進(jìn)行比較,只有當(dāng)兩路輸出一致時(shí)才會(huì)真正輸出。二取二輸出電路原理如圖3所示。
圖3 二取二輸出電路原理
(1)無(wú)線通信電路用于第1控制電路和第2控制電路與軌旁操作系統(tǒng)通信。為保證通信安全,主邏輯控制板與聯(lián)鎖邏輯軟件采用RSSP-I安全通信協(xié)議,可有效防護(hù)通信的7種威脅(重復(fù)、刪除、插入、重排序列、中斷、延遲、偽裝)。第1電源電路為第1控制電路提供工作電壓,第2電源電路為第2控制電路提供工作電壓,第3電源電路為無(wú)線通信電路提供工作電壓。
(2)第1、第2控制電路原理如圖4所示,電源芯片U1將接入的外部直流電源穩(wěn)壓到3.3 V,為后續(xù)電路提供工作電壓。電容C1和電容C2對(duì)接入的外部電源進(jìn)行濾波(電容C13和電容C14),電容C3對(duì)電源芯片U1的引腳2輸出的直流電壓3V3-MCU1進(jìn)行濾波,從而提升輸出的直流電源3V3-MCU1的純凈度。
圖4 第1、第2控制電路原理
依據(jù)BoC-iTP測(cè)試平臺(tái)的架構(gòu)和測(cè)試場(chǎng)景設(shè)計(jì)要求,搭建完整的BoC-iTP測(cè)試平臺(tái)和沙盤模型,沙盤模型如圖5所示。
圖5 沙盤模型
沙盤模型設(shè)計(jì)3條不同設(shè)備供應(yīng)商的軌道交通線路,3條軌道交通線路之間具備信號(hào)系統(tǒng)互聯(lián)互通運(yùn)行條件[8]。圖5的沙盤模型完成對(duì)BoC-iTP測(cè)試平臺(tái)的信號(hào)系統(tǒng)互聯(lián)互通共線和跨線功能,以及聯(lián)鎖系統(tǒng)、區(qū)域控制器和車載列車自動(dòng)控制系統(tǒng)的功能的測(cè)試。測(cè)試活動(dòng)包括以下幾方面。
(1)通過(guò)操作終端軟件辦理列車進(jìn)路、操縱道岔和取消進(jìn)路等響應(yīng)操作人員的調(diào)試命令。
(2)當(dāng)聯(lián)鎖邏輯軟件接收到操作命令后,對(duì)命令進(jìn)行解析,對(duì)聯(lián)鎖條件進(jìn)行判斷,鎖閉進(jìn)路和開(kāi)放信號(hào),并生成驅(qū)動(dòng)命令,通過(guò)Wifi傳輸給現(xiàn)場(chǎng)控制器沙盤模型的設(shè)備。
(3)現(xiàn)場(chǎng)控制器與聯(lián)鎖邏輯軟件采用RSSP-I安全通信協(xié)議傳輸數(shù)據(jù),以保證數(shù)據(jù)正確性和安全性?,F(xiàn)場(chǎng)控制器驅(qū)動(dòng)輸出電路,對(duì)沙盤模型中的信號(hào)機(jī)、道岔、區(qū)段等現(xiàn)場(chǎng)設(shè)備進(jìn)行驅(qū)動(dòng),從而測(cè)試信號(hào)機(jī)是否開(kāi)放、道岔是否轉(zhuǎn)動(dòng)到定反位、區(qū)段是否為占用或出清狀態(tài)等。
(4)通過(guò)車載控制軟件可控制車輛運(yùn)行,對(duì)車輛的前進(jìn)、后退、加速和減速運(yùn)行進(jìn)行測(cè)試。
測(cè)試結(jié)果顯示,BoC-iTP測(cè)試平臺(tái)的基本功能運(yùn)行正常,這說(shuō)明基于云的信號(hào)系統(tǒng)互聯(lián)互通功能可以實(shí)現(xiàn),該測(cè)試平臺(tái)可用于信號(hào)系統(tǒng)的測(cè)試。
在此基礎(chǔ)上,亦可結(jié)合現(xiàn)場(chǎng)仿真系統(tǒng)增加站場(chǎng)復(fù)雜度,對(duì)BoC-iTP測(cè)試平臺(tái)的功能進(jìn)行完整測(cè)試,以便更有效證明BoC-iTP測(cè)試平臺(tái)的正確性。
BoC-iTP測(cè)試平臺(tái)不僅能為城市軌道交通信號(hào)系統(tǒng)功能、運(yùn)營(yíng)場(chǎng)景、教學(xué)研究提供實(shí)踐數(shù)據(jù),還將進(jìn)一步促進(jìn)智慧地鐵的建設(shè)發(fā)展,為城市軌道交通的高質(zhì)量、高安全性的發(fā)展提供了堅(jiān)實(shí)基礎(chǔ)、有力支撐和有效的驗(yàn)證。后續(xù)仍需要增加站場(chǎng)的復(fù)雜性,提高測(cè)試的自動(dòng)化水平,為信號(hào)系統(tǒng)互聯(lián)互通全功能的現(xiàn)場(chǎng)測(cè)試提供試驗(yàn)依據(jù)。