溫抿雄 江 明 吳 永
(北京全路通信信號研究設計院有限公司,北京 100073)
無線閉塞中心(以下簡稱RBC)是CTCS-3(以下簡稱C3)級列控系統(tǒng)地面核心設備之一。RBC系統(tǒng)包括硬件和軟件系統(tǒng)。軟件系統(tǒng)運行的安全性、穩(wěn)定性對列車的安全運行具有重要影響,而配置數(shù)據(jù)是組成RBC軟件系統(tǒng)的重要部分,正確的配置數(shù)據(jù)是RBC軟件邏輯運行的基礎。
基礎信號數(shù)據(jù)是C3級列控系統(tǒng)軟件運行的基礎?;A信號數(shù)據(jù)從設計的角度描述了各類設備的公里標,通過公里標的大小確定整個線路的結構和設備分布狀態(tài)。但是,這樣不能完整描述設備之間的連接邏輯關系,不能清晰描述線路的整個拓撲結構。RBC數(shù)據(jù)配置描述的是RBC內部邏輯軟件運行需要的數(shù)據(jù)結構,二者的概念和結構相差都非常大。因此,如何從基礎信號數(shù)據(jù)生成完整的RBC配置數(shù)據(jù)就是一個非常重要的工作。本文將研究一種統(tǒng)一的基礎信號數(shù)據(jù)描述模型,介紹如何用該模型完整表示基礎信號數(shù)據(jù),以及如何建立各類計算模型及采用的算法,實現(xiàn)從基礎信號數(shù)據(jù)模型到RBC配置數(shù)據(jù)的轉換。
線路結構復雜多變,設備種類繁多、屬性各異。但是,總結起來主要可以分為以下幾類。
1)點式設備主要包括應答器、信號機、道岔、絕緣節(jié)和邊界等,分布在線路上。
2)線式對象主要包括軌道區(qū)段、進路對象、坡度曲線、速度曲線等,描述了一段一維線路的屬性。
3)區(qū)域對象主要包括車站、分相區(qū)、緊急區(qū)等,描述了一個二維線路區(qū)域內的屬性。
4)中心控制設備主要包括無線閉塞中心、聯(lián)鎖、臨時限速服務器、列控中心等。中心控制設備管轄的范圍,也可以看作是一個區(qū)域對象。
在上述分類的基礎之上,將所有數(shù)據(jù)進行抽象,以統(tǒng)一的基礎信號數(shù)據(jù)模型進行描述,然后再進一步構造出符合RBC邏輯的數(shù)據(jù)結構和各種線路數(shù)據(jù)參數(shù)。
RBC配置數(shù)據(jù)主要包括描述基本線路屬性及設備連接關系的配置數(shù)據(jù)(簡稱基礎配置數(shù)據(jù))、描述進路屬性的配置數(shù)據(jù)(簡稱進路配置數(shù)據(jù))、其他與RBC通信的系統(tǒng)屬性數(shù)據(jù)等。本文主要介紹基礎配置數(shù)據(jù)和進路配置數(shù)據(jù)的概念、構造模型及主要生成算法。
為了統(tǒng)一描述各類設備及連接關系,RBC基礎配置數(shù)據(jù)里將線路基礎模型抽象為若干類對象,包括軌道單元、道岔以及其他對象,其他對象包括點式設備對象和區(qū)域對象。
軌道單元對象和道岔對象的特殊之處在于,它們是構成RBC數(shù)據(jù)拓撲結構的基礎,通過軌道單元對象和軌道單元對象之間、軌道單元對象和道岔對象之間的相互連接,所有的設備全部可以建立起連接及所屬關系,從而將整個線路構造為一個整體。其他數(shù)據(jù)對象都附著在軌道單元對象上。
軌道單元對象是線路的一段,一條線路上的兩個相鄰且公里標不同的設備之間的線路構成一個軌道單元對象。軌道單元對象包括了其長度,還附著了其他線路數(shù)據(jù)參數(shù),包括線路速度、線路坡度、軸重數(shù)據(jù)等。
道岔對象是線路上的道岔,每個道岔定義為一個道岔對象,道岔對象包括3個腿,每個腿連接到一個軌道單元對象。
RBC配置數(shù)據(jù)里另一個重要的部分是進路配置數(shù)據(jù),其核心概念是進路對象。其他的相關數(shù)據(jù)完全是基于進路對象進行定義的。
進路對象類似于信號數(shù)據(jù)表里的一條進路。在線路上的兩個信號機(起始信號機和終止信號機)及其經(jīng)過的道岔序列唯一構成了一條進路[1]。兩個信號機之間的道岔序列不同,路徑就可能有多條,所以在兩個信號機之間,會存在多條進路。
一個典型的進路對象可以定義如下:進路對象包括開始信號機、結束信號機、經(jīng)過的道岔走位(結構為<道岔、入腿、出腿>)及其他附屬屬性。
綜上所述,可以得出以下結論:RBC配置數(shù)據(jù)的模型和基礎信號數(shù)據(jù)線路都符合網(wǎng)狀結構,也就是可以抽象為圖結構。因此,用圖抽象基礎線路數(shù)據(jù),將作為主要數(shù)學手段。通過對圖的計算,轉換為RBC需要的配置數(shù)據(jù)。
圖是由若干給定的點及連接兩點的線所構成的圖形,圖的二元組定義如下。
圖G由兩個集合V和E組成,記為G=(V,E)。其中,V是頂點的有窮非空集合;E是V中頂點偶對(稱為邊)的有窮集。將圖G的頂點集和邊集分別記為V(G)和E(G)[2]。
圖可以分為無向圖和有向圖兩種類型。
1)無向圖
若圖G中的每條邊都是沒有方向的,則稱G為無向圖。無向圖中的邊均是頂點的無序對,無序對通常用圓括號表示。
2)有向圖
若圖G中的每條邊都是有方向的,則稱G為有向圖。有向圖中一條有向邊是由兩個頂點組成的有序對,有序對通常用尖括號表示。
借鑒圖的定義,將線路網(wǎng)上的每個道岔抽象為圖的一個頂點vi,連接兩個道岔之間的相連的一條鐵軌抽象為圖的一條邊(vi,vj)。另外,為了結構的完整性,將鐵路網(wǎng)的每個邊緣端點也抽象為圖的一個頂點vi。
一個典型的站場線路可以被抽象為如圖1中所示的圖G1。G1里包含了4個站場的邊緣端點、12個道岔、20條軌道,所以,抽象后的圖里包括16個頂點和使所有頂點連通的20條邊。
從圖1的模型中可以看出,從道岔和端點連出的每一個腿,都連接到一個軌道上。每個軌道具有兩端,分別連著一個腿。
對于除了道岔和端點之外的其他點式設備,將其放置在軌道上。在RBC的模型里,原本的線式結構軌道區(qū)段可以退化為類似于應答器之類的一個設備點,也同樣放置在軌道上。這樣,通過圖形的連通,各種設備之間也就具有了連接關系。
對于坡度曲線和速度曲線,也將其定義為軌道上某一段的數(shù)據(jù)特性。
對于中心控制設備、區(qū)域對象,將之定義為一個連通子圖(根據(jù)其管轄范圍來劃分),統(tǒng)稱為區(qū)域,可以看作為整個站場圖的一部分。這體現(xiàn)出本模型的一個優(yōu)勢,將信號數(shù)據(jù)表中一維的管轄范圍擴展為圖中的二維范圍,可以靈活且準確地表示中心控制設備和區(qū)域對象的管轄范圍。
基于圖定義的數(shù)學模型,用程序設計學方法定義對象及其關系[3],以便于后面的進一步計算。
使用面向對象的方式表示點式設備和軌道之間邏輯上的關系,如圖2所示。
Track為軌道,表示圖里的邊。
Node表示圖里的頂點,分為Bu fferStop(端點)和Sw itchPoint(道岔)。
T rack Item表示各類軌道上的設備,包括 T rack Jo in t(絕緣節(jié))、Sign a l(信號機)、M ainTrackCircuit(軌道區(qū)段)、BaliseGroup(應答器組)等。
使用面向對象的方式表示點式設備和區(qū)域之間邏輯上的關系,如圖3所示。
W ayside表示所有類型的點式設備。
Item G roup表示所有類型的區(qū)域,包括Em ergency A rea(緊急區(qū))、EtcsA rea(分相區(qū))、Station(車站)、ControlSystem(中心控制設備)。
一個Item Group包括了多個W ayside,同時一個W ay sid e可以屬于多個Item G rou p。即每個區(qū)域管轄多個點式設備。每一個管轄范圍的所有點式設備及其他對象,可以構成一個邏輯運算集合。
建立基礎信號數(shù)據(jù)模型之后,需要從該模型計算出RBC需要的各類配置數(shù)據(jù)。本節(jié)首先介紹計算時需要用的圖的基本計算方法,然后具體介紹如何計算RBC配置數(shù)據(jù)。
3.4.1 基本概念和計算方法
基礎信號數(shù)據(jù)模型是按照無向圖的方式定義的,但是,在后續(xù)的計算過程中,由于線路本身具有上行、下行,設備以及進路等都具有正向、反向等概念,所以在具體進行某一類計算時,將圖視作有向圖,利用有向圖的概念和方法進行計算。
本文主要涉及到有向圖的路徑和遍歷算法兩個概念。下面首先做一簡單介紹。
在有向圖G中,路徑也是有向的,它由E(G)中的有向邊
深度優(yōu)先遍歷是重要的遍歷圖的方法之一,采用的搜索方法的特點是盡可能先對縱深方向進行搜索。具體的過程遞歸定義如下:在給定圖G中任選一頂點v為初始出發(fā)點(源點),首先訪問出發(fā)點v,并將其標記為已訪問過;然后依次從v出發(fā)搜索v的每個鄰接點w。若w未曾訪問過,則以w為新的出發(fā)點繼續(xù)進行深度優(yōu)先遍歷,直至圖中所有和源點v有路徑相通的頂點均已被訪問為止。若此時圖中仍有未訪問的頂點,則另選一個尚未訪問的頂點作為新的源點重復上述過程,直至圖中所有頂點均已被訪問為止。
本文對圖進行計算時,將方向統(tǒng)一定義為左方向和右方向;具體設備的站場方向屬性可以通過設備的方向、線路等相關屬性得到。
3.4.2 RBC基礎配置數(shù)據(jù)計算
如第2章所述,RBC基礎配置數(shù)據(jù)核心是將線路基礎模型抽象為軌道單元對象、道岔對象,以及附著在軌道單元對象上的其他數(shù)據(jù)對象。
如圖4所示,每個道岔定義為一個道岔對象。道岔對象,具有3個腿,分別賦予0、1、2。軌道單元對象是線路的一段,具有兩個腿,左邊的賦予0,右邊的賦予1。
軌道單元對象的連接數(shù)據(jù)包括左邊和右邊連接的軌道單元對象或道岔對象;道岔對象的連接數(shù)據(jù)包括3個腿連接的軌道單元對象。通過軌道單元對象之間以及軌道單元對象和道岔對象之間的相互連接,整個線路連接為一個整體。
如圖4所示,應答器、絕緣節(jié)等作為劃分軌道單元對象的點式設備,被歸屬到相關的軌道單元上,作為其附加數(shù)據(jù)的一部分。
坡度數(shù)據(jù)、速度數(shù)據(jù)等信息也按照軌道單元的邊界劃分進行映射。
分相區(qū)、車站等區(qū)域對象,區(qū)域對象與點式設備具有所屬關系,通過點式設備,所有的區(qū)域對象也和軌道單元對象間接地建立了關聯(lián)關系。
RBC基礎配置數(shù)據(jù)中的主要數(shù)據(jù)結構建立完成之后,其他的輔助數(shù)據(jù)通過對此數(shù)據(jù)結構的進一步計算即可得到。
3.4.3 進路配置數(shù)據(jù)計算
進路配置數(shù)據(jù)的核心是構造進路對象。將論述如何根據(jù)基礎信號數(shù)據(jù)模型來生成進路對象。
在基礎信號數(shù)據(jù)模型里,信號機分布在軌道上,軌道通過道岔連接,形成圖結構。因此,需要對整個圖結構進行搜索,才能計算出所有的進路。
搜索方法也是基于圖的深度優(yōu)先搜索策略。因為具有兩個方向的信號機,同向信號機之間才能形成進路,所以以一個方向的搜索過程為例,介紹其主要思路如下。
1)軌道內的進路
對于一個軌道Ti,按照信號機在軌道上的位置排序,依次選擇與搜索方向一致的信號機,組成集合 S(Ti)={s1,…,si,sj,…,sn},則
2)跨多個軌道的進路
在跨越多個軌道搜索進路時,將同一方向的信號機也抽象為有向圖的頂點。搜索時,起始信號機作為搜索的開始頂點,終端信號機作為搜索的結束頂點,而經(jīng)過的道岔是搜索路徑上的中間頂點,經(jīng)過的軌道是搜索路徑上的邊。
從一個信號機所在的軌道Ti出發(fā),獲取到某一方向上的最后一個信號機作為進路起點信號機,開始按照深度優(yōu)先遍歷的方法沿著同一方向搜索,記錄搜索過程中經(jīng)過的道岔等信息,每次找到一個終點信號機,則搜索到一條進路,加入進路集合Rou te(G),直至找到所有可能的終點信號機。
一個典型的跨軌道搜索示意如圖5所示。該圖里,步驟1到步驟10依次執(zhí)行,描述了從一個信號機出發(fā)跨越多個軌道后找到3個進路對象的過程。
對于所有軌道的集合T(G)里軌道依次按照上述方法搜索,則將得到整個站場圖里的進路對象集合Route(G)。
3.4.4 模型計算小結
將基礎信號數(shù)據(jù)模型定義為無向圖的結構,包括了所有需要的各類信號基礎數(shù)據(jù)。
在基于模型進行進一步計算時,針對具體計算需求,提取基礎無向圖里的不同數(shù)據(jù),構造了不同的計算模型,利用有向圖的搜索算法,實現(xiàn)對數(shù)據(jù)準確高效地計算。
本文首先對RBC的數(shù)據(jù)模型、C3級列控系統(tǒng)所用的基礎信號數(shù)據(jù)特點進行了分析;然后借鑒圖論的方法,對基礎信號數(shù)據(jù)進行建模,將線路數(shù)據(jù)抽象為一個無向圖,將各類數(shù)據(jù)附加到圖的頂點和邊上,進而利用圖的各種算法,進行進一步的建模和計算,得到了RBC配置數(shù)據(jù)。本文提出的方法具有良好的適應性,可以適應各類復雜的站場數(shù)據(jù)情況,有效提高了無線閉塞中心配置數(shù)據(jù)生成過程的效率和可靠性。
[1]陳志穎,董昱,楊柳,等.計算機聯(lián)鎖進路搜索算法的分析與研究[J].鐵道通信信號.2007,43(4):4-6.
[2] Thomas H.Cormen,Charles E.Leiserson.Introduction to Algorithms[M].2nd ed.The MIT Press,2001.
[3] Michael Blaha,James Rumbaugh.Object-Oriented Modeling and Design with UML[M].2nd ed.Prentice Hall/Pearson,2004.