劉 洋
(蘭州交通大學(xué) 自動化與電氣工程學(xué)院,碩士研究生,甘肅 蘭州 730070)
隨著我國高速鐵路的迅速發(fā)展,在目前開通的線路中已經(jīng)運用了CTCS-3級列車運行控制系統(tǒng)(Chinese Train Control System,簡稱 CTCS),所以列車的行車安全變得尤為重要。在現(xiàn)在的CTCS-3級列控系統(tǒng)的地面應(yīng)答器仿真平臺中,報文信息展現(xiàn)的結(jié)果往往很復(fù)雜,不夠清晰、明了、準確,這就使對行車安全產(chǎn)生極大的隱患,所以研究一個交互界面,去把這些報文信息更直觀地展現(xiàn)出來,從而降低工作量,能夠直觀、明了地了解報文信息,成為一個重要的課題。
對此,我國的科研學(xué)者們做了大量的研究(見參考文獻[1]~[4]),其中文獻[1]對CTCS-3級的仿真平臺系統(tǒng)作了研究,文獻[2]~[4]都對應(yīng)答器報文的編制做了一定的研究。本文從CTCS-3級的應(yīng)答器報文信息的結(jié)構(gòu)分析入手,并利用Visual C#平臺對應(yīng)答器的報文信息解碼進行仿真研究。仿真結(jié)果證明,利用Visual C#平臺可以使報文信息更加直觀地顯示出來。
1.1 CTCS-3級系統(tǒng)中的應(yīng)答器 在CTCS-3級列控系統(tǒng)中,地面應(yīng)答器是一種可以發(fā)送數(shù)據(jù)報文的高速數(shù)據(jù)傳輸設(shè)備[5]。應(yīng)答器安裝在軌道中間,通過它的天線環(huán)路接收列車上的應(yīng)答器天線傳輸?shù)碾姶拍芰?。當列車?jīng)過時,應(yīng)答器會以編碼信息的形式將信息送到車載應(yīng)答器系統(tǒng)。
應(yīng)答器分無源應(yīng)答器和有源應(yīng)答器2種。其中無源應(yīng)答器提供的信息主要包括線路的坡度、閉塞分區(qū)或軌道電路長度、載頻、線路固定限速等信息;有源應(yīng)答器接收車站列車控制中心的信息,并向列車傳送,信息包括進路信息和臨時限速信息,地面電子單元(LEU)相當于功率放大器。而每一個應(yīng)答器在全國鐵路網(wǎng)上具有唯一性,鐵道部專門制定了點式應(yīng)答器編碼規(guī)則,包括信息包定義、報文設(shè)計原則、應(yīng)答器用戶報文構(gòu)成等。
1.2 CTCS-3級應(yīng)答器中的報文信息結(jié)構(gòu) 應(yīng)答器報文信息又叫做信息幀。應(yīng)答器用戶報文信息結(jié)構(gòu),由幀標志、用戶信息包、信息結(jié)束組成。其中幀標志由10個變量組成,共50 bits位。包括信息傳送方向、版本編號、信息傳輸媒介、本應(yīng)答器在組中的位置等信息;用戶信息包有772 bits位,包括信息包標識碼NID_PACKET、驗證方向Q_DIR、信息包位數(shù)L_PACKET、距離/長度的分辨率Q_SCALE和其它表示信息的一系列變量;信息結(jié)束為11111111表示報文(信息幀)結(jié)束,總共830 bits。
報文的主體部分是用戶信息包,根據(jù)實際需要有下面的1個或幾個不同的信息模塊組成。應(yīng)答器鏈接、線路坡度、線路速度、等級轉(zhuǎn)換、特殊區(qū)段、調(diào)車危險、軌道區(qū)段、臨時限速、反向運行、大號碼道岔、默認報文。其中主體信息模塊包括應(yīng)答器鏈接、軌道區(qū)段、臨時限速等部分。
2.1 應(yīng)答器報文信息解碼的流程 根據(jù)應(yīng)答器報文信息的結(jié)構(gòu)以及鐵道部編制的應(yīng)答器報文信息組成規(guī)范,設(shè)計出報文信息的解碼流程(見圖1),將應(yīng)答器報文信息的字符串解碼。
圖1 應(yīng)答器報文信息解碼流程圖
2.2 基于Visua lC#的報文信息解碼編程的實現(xiàn) Vi?sual C#是一種面向?qū)ο蟮木幊陶Z言,其功能強大,類型安全,在界面顯示方面較其他編程語言有較大的優(yōu)勢,所以利用Visual C#對應(yīng)答器報文信息進行編程,可以達到直觀清晰顯示的效果。
由解碼的流程圖和編程的總體框架,利用Visu?al C#平臺對應(yīng)答器的報文信息編程。解碼程序由外部輸入按要求的字符串,首先判斷每個字符是否是要求的0-9,A-F;然后舍去其他字符,將符合要求的字符轉(zhuǎn)換成二進制代碼;而后開始解析這個報文的信息幀;解碼過程是用照取數(shù)據(jù)的方法,按CTCS-3的應(yīng)答器報文定義,按照位數(shù)取數(shù)據(jù)并賦值,將信息幀解析出來后切除解碼完的數(shù)據(jù);而后判斷下面8位二進制數(shù)據(jù)是哪個信息包的信息表示碼,判斷之后進入符合的信息包(例如應(yīng)答器鏈接,其他的解碼部分相同)進行按位取數(shù)據(jù)并賦值的方法解碼,并在這個信息包結(jié)束后判斷下面8位是哪個信息包的包頭,如果是CTCS數(shù)據(jù)包,則取出CTCS數(shù)據(jù)包中的CTCS數(shù)據(jù)的信息標識碼9位轉(zhuǎn)入CTCS判斷過程,判斷之后進入相應(yīng)的CTCS信息包進行解碼,解碼過程與應(yīng)答器鏈接相同,直到有一個包結(jié)束后8位是“11111111”,解碼結(jié)束。
實際上,解碼程序就是一個截取數(shù)據(jù)并賦值,而后把已經(jīng)賦值的數(shù)據(jù)切除,反復(fù)的截取-賦值-切除,最后將所有的賦值存儲下來的過程。在最開始解碼每個信息包的時候,由于會出現(xiàn)循環(huán)套循環(huán)的復(fù)雜情況,曾有2種截取數(shù)據(jù)的方法:一種是計算需要的數(shù)據(jù),定義一些變量,以每次循環(huán)后變化變量的值,變化下一次截取數(shù)據(jù)的起始和結(jié)束,在信息包結(jié)尾將此包的數(shù)據(jù)切除;另一種方法是每截取一點就切除一點,邊解碼邊切除,保證每次截取的起始位都是第一位。
2.3 基于Visua lC#的報文信息解碼的界面搭建 根據(jù)應(yīng)答器的報文信息,先在Visual C#中建立應(yīng)用程序,將信息包中的各個組件以控件的形式搭建在界面上,并創(chuàng)建輸入控件和輸出控件,建立人機交互界面。其界面形式如圖2所示。
圖2 應(yīng)答器報文信息解碼界面
將編寫好的程序加載到界面當中,輸入一段實測的報文信息,例如輸入消息:
輸入后的顯示結(jié)果,如圖3所示。
圖3 應(yīng)答器報文信息解碼仿真結(jié)果
根據(jù)仿真結(jié)果,此報文信息的基本組成可以在圖3中得知。在應(yīng)答器信息概覽中可以看到此報文信息中包括5個信息包,分別是應(yīng)答器鏈接包、坡度信息包、線路速度包、文本信息包和里程信息包。在信息幀中可以看出應(yīng)答器的種類、大區(qū)編號、分區(qū)編號、應(yīng)答器組編號等信息。在應(yīng)答器的各個信息包中,也可以看到包括驗證方向、信息報位數(shù)、距離/長度分辨率等信息,以及每個信息包中所包含的特有信息。例如應(yīng)答器鏈接包中顯示了應(yīng)答器組的編號、列車通過被鏈接應(yīng)答器組時的運行方向、當鏈接失敗時ATP采取的措施等;坡度信息包中包含了坡度識別信息和安全坡度信息;線路速度包中包含了線路最大允許列車運行速度的信息;文本信息包中包含了顯示消息的種類、應(yīng)顯示文本的區(qū)域長度、文本顯示的時間等信息;里程信息包中包含了線路公里標距離參考應(yīng)答器的偏移量信息、線路公里標計數(shù)方向以及線路公里標參考點信息。經(jīng)過實測驗證,結(jié)果完全正確。
仿真結(jié)果顯示,程序能夠正確的顯示出應(yīng)答器報文信息的內(nèi)容,并且根據(jù)不同的選項卡顯示不同的報文信息內(nèi)容;在報文顯示方面,也非常的清晰和簡潔,相比于傳統(tǒng)的報文顯示方法有一定的提高。
根據(jù)用戶對應(yīng)答器報文的顯示需求,我們提出解決方案,即利用C#編程,使用基本C語言語句,對于編解碼程序進行構(gòu)思,畫出流程圖。將編寫好的程序和界面,展示報文信息編解碼的過程。從仿真結(jié)果可以看出,通過界面的顯示,報文信息更加的直觀和清晰,效果更好。
[1]季學(xué)勝,唐濤.CTCS-3級列車運行控制系統(tǒng)綜合測試平臺研究[J].鐵道通信信號,2007,43(7):1-3
[2]王磊.應(yīng)答器報文在CTCS中的定義與應(yīng)用[C].北京交通大學(xué)機電學(xué)院,2007
[3]劉志剛.CTCS-2級應(yīng)答器報文編解碼系統(tǒng)的仿真研究[J].鐵路計算機應(yīng)用,2010,19(4):4-7
[4]龐東明.應(yīng)答器報文編制與管理軟件的研究[C].北京交通大學(xué)電子信息工程學(xué)院,2008.
[5]成登高.中國列車運行控制系統(tǒng)(CTCS)技術(shù)簡介[J].科技情報開發(fā)與經(jīng)濟,2007,17(32):275-276