鐵路計(jì)算機(jī)聯(lián)鎖系統(tǒng)實(shí)時(shí)監(jiān)視進(jìn)路相關(guān)設(shè)備從而完成進(jìn)路控制,是車(chē)站列車(chē)技術(shù)作業(yè)自動(dòng)化的前提。為保證計(jì)算機(jī)聯(lián)鎖系統(tǒng)安全可靠,北京交通大學(xué)交通運(yùn)輸學(xué)院、軌道交通控制與安全國(guó)家重點(diǎn)實(shí)驗(yàn)室、石家莊鐵道大學(xué)交通運(yùn)輸學(xué)院的研究人員史藝菡、徐杰、鄭建武,在2019年《電氣技術(shù)》增刊中撰文,基于面向?qū)ο笏枷脒M(jìn)行車(chē)站聯(lián)鎖系統(tǒng)建模,進(jìn)而實(shí)現(xiàn)進(jìn)路控制的實(shí)例化。 首先,基于面向?qū)ο蠹夹g(shù)進(jìn)行車(chē)站聯(lián)鎖設(shè)備屬性和系統(tǒng)作業(yè)機(jī)理分析;在此基礎(chǔ)上分析不同車(chē)站技術(shù)作業(yè)的進(jìn)路需求,利用標(biāo)準(zhǔn)建模語(yǔ)言描述關(guān)鍵車(chē)站聯(lián)鎖設(shè)備、設(shè)備間聯(lián)鎖關(guān)系、車(chē)站進(jìn)路控制業(yè)務(wù)邏輯以及與進(jìn)路的匹配關(guān)系;最后利用Python語(yǔ)言實(shí)現(xiàn)車(chē)站進(jìn)路控制自動(dòng)化,以滿(mǎn)足車(chē)站設(shè)備狀態(tài)、業(yè)務(wù)約束及其效率需求,實(shí)現(xiàn)計(jì)算機(jī)聯(lián)鎖自動(dòng)化。 計(jì)算機(jī)聯(lián)鎖系統(tǒng)具有實(shí)時(shí)性、經(jīng)濟(jì)性、功能可擴(kuò)展性的特點(diǎn),成為車(chē)站進(jìn)路自動(dòng)化控制所使用的主要技術(shù)手段。該系統(tǒng)通過(guò)計(jì)算機(jī)程序?qū)φ緢?chǎng)設(shè)備的工作狀態(tài)和操作人員操作指令進(jìn)行邏輯運(yùn)算,完成對(duì)信號(hào)機(jī)、道岔和進(jìn)路的聯(lián)鎖及控制,保障列車(chē)在車(chē)站按照既定計(jì)劃安全通過(guò)或???。 隨著站場(chǎng)規(guī)模的擴(kuò)大,車(chē)站作業(yè)情況更加繁雜,在這種情況下進(jìn)行模塊化站場(chǎng)通信結(jié)構(gòu)、數(shù)字化建模對(duì)象、簡(jiǎn)潔化計(jì)算機(jī)程序等方面的研究,對(duì)計(jì)算機(jī)聯(lián)鎖系統(tǒng)降本增效具有重要的意義。 謝保峰提出計(jì)算機(jī)聯(lián)鎖系統(tǒng)應(yīng)具有可編程進(jìn)路控制功能,以提高列車(chē)通過(guò)能力、快速運(yùn)算更大容量信息的能力、信息響應(yīng)更快速實(shí)時(shí)的控制能力。王峰采用Java語(yǔ)言編寫(xiě)了聯(lián)鎖控制軟件,提出在控制進(jìn)路時(shí)使用進(jìn)路搜索算法實(shí)現(xiàn)進(jìn)路選擇。Fatih Mecito?lu基于面向?qū)ο蟮木幊碳夹g(shù),通過(guò)創(chuàng)建軟件庫(kù)來(lái)開(kāi)發(fā)具有仿真、控制和監(jiān)視功能的車(chē)站信號(hào)控制系統(tǒng)。 采用標(biāo)準(zhǔn)建模語(yǔ)言(unified modeling language, UML)用例圖、類(lèi)圖、順序圖、狀態(tài)圖等建模圖形來(lái)描述系統(tǒng)的動(dòng)靜態(tài)元素及模型,以期客觀展現(xiàn)系統(tǒng)邏輯控制層的進(jìn)路控制業(yè)務(wù),提高系統(tǒng)設(shè)計(jì)模型的可讀性;嘗試使用Python語(yǔ)言來(lái)實(shí)現(xiàn)計(jì)算機(jī)聯(lián)鎖系統(tǒng)進(jìn)路控制的功能,并使用wxPython進(jìn)行系統(tǒng)界面設(shè)計(jì)。 根據(jù)《鐵路車(chē)站計(jì)算機(jī)聯(lián)鎖技術(shù)條件》等規(guī)范,進(jìn)行進(jìn)路控制作業(yè)機(jī)理與規(guī)則分析,利用UML用例圖描述鐵路車(chē)站計(jì)算機(jī)聯(lián)鎖系統(tǒng)的功能,構(gòu)建鐵路車(chē)站聯(lián)鎖系統(tǒng)模型以及聯(lián)鎖設(shè)備對(duì)象屬性數(shù)據(jù)庫(kù),設(shè)計(jì)信號(hào)機(jī)、道岔和軌道電路等聯(lián)鎖設(shè)備與絕緣節(jié)之間的關(guān)聯(lián)關(guān)系表,使用UML狀態(tài)圖描述進(jìn)路建立和進(jìn)路解鎖階段的動(dòng)態(tài)模型,給出基于絕緣節(jié)坐標(biāo)邏輯的聯(lián)鎖設(shè)備位置推斷算法。 1 鐵路車(chē)站面向?qū)ο蠼?/span> 1.1鐵路車(chē)站聯(lián)鎖系統(tǒng)的結(jié)構(gòu) 監(jiān)視和控制進(jìn)路上相關(guān)設(shè)備按照一定約束和程序動(dòng)作進(jìn)而自動(dòng)完成進(jìn)路控制業(yè)務(wù)的設(shè)備分為室內(nèi)設(shè)備和室外設(shè)備。信號(hào)機(jī)、道岔、軌道電路為主要室外設(shè)備,室內(nèi)設(shè)備主要為人機(jī)交互層、聯(lián)鎖控制層以及I/O接口層,如圖1所示。進(jìn)路控制依靠信號(hào)機(jī)、道岔和軌道電路之間的聯(lián)鎖關(guān)系完成。 圖1 車(chē)站聯(lián)鎖系統(tǒng)結(jié)構(gòu) 人機(jī)交互層接收操作人員下達(dá)聯(lián)鎖命令,并實(shí)時(shí)顯示站場(chǎng)設(shè)備的位置和狀態(tài)。聯(lián)鎖控制層接收人機(jī)交互層的指令和來(lái)自I/O接口層所傳遞的關(guān)于室外設(shè)備的狀態(tài)信息,通過(guò)聯(lián)鎖機(jī)進(jìn)行邏輯運(yùn)算和發(fā)送控制指令。I/O接口層將電路板采集的繼電器電路工作狀態(tài)發(fā)送給聯(lián)鎖機(jī),接收聯(lián)鎖機(jī)操作指令來(lái)驅(qū)動(dòng)繼電器,進(jìn)而控制電路的工作狀態(tài)。 1.2 進(jìn)路控制作業(yè)機(jī)理與規(guī)則 進(jìn)路控制分為進(jìn)路建立和進(jìn)路解鎖。進(jìn)路建立是系統(tǒng)根據(jù)操作人員所下達(dá)的指令,邏輯推斷進(jìn)路的類(lèi)型(調(diào)車(chē)或列車(chē)進(jìn)路)以及列車(chē)或車(chē)列行進(jìn)方向(上行或下行、到達(dá)或出發(fā)),由進(jìn)路選擇得到進(jìn)路上相關(guān)信號(hào)機(jī)、道岔和軌道電路區(qū)段等信息。轉(zhuǎn)轍機(jī)將相關(guān)道岔轉(zhuǎn)換到進(jìn)路所約束的狀態(tài),確認(rèn)道岔的位置無(wú)誤后將其鎖閉,使進(jìn)路始端信號(hào)機(jī)開(kāi)放允許燈光,保持指示列車(chē)或車(chē)列的運(yùn)轉(zhuǎn)。 可將進(jìn)路解鎖階段分為多種情形:①列車(chē)或車(chē)列未進(jìn)入進(jìn)路階段,可以取消進(jìn)路或人工解鎖;②列車(chē)或車(chē)列進(jìn)入進(jìn)路階段,有正常解鎖和故障解鎖。其中,正常解鎖,即隨著列車(chē)或車(chē)列的向前并出清后方的軌道區(qū)段后,后方區(qū)段將自動(dòng)分段解鎖至整條進(jìn)路全部自動(dòng)解鎖完畢。車(chē)站聯(lián)鎖的進(jìn)路控制過(guò)程如圖2所示。 圖2 車(chē)站聯(lián)鎖的進(jìn)路控制過(guò)程 1.3 系統(tǒng)功能 鐵路車(chē)站計(jì)算機(jī)聯(lián)鎖系統(tǒng)應(yīng)具有顯示并記錄站場(chǎng)設(shè)備實(shí)時(shí)狀態(tài)和邏輯運(yùn)算并控制站場(chǎng)設(shè)備狀態(tài)的功能。使用UML用例圖描述的聯(lián)鎖系統(tǒng)功能如圖3所示。 圖3 UML系統(tǒng)功能用例圖 計(jì)算機(jī)聯(lián)鎖系統(tǒng)的人機(jī)交互界面由元素圖標(biāo)標(biāo)識(shí)的鐵路站場(chǎng)設(shè)備圖、輸入/輸出文本框及進(jìn)路控制業(yè)務(wù)功能等部分組成。選擇建立進(jìn)路時(shí),系統(tǒng)的聯(lián)鎖控制層將接收到該指令,然后進(jìn)行進(jìn)路選擇等邏輯運(yùn)算,并給I/O接口層發(fā)送相應(yīng)的操作指令。 若是需要進(jìn)路解鎖,則選擇相應(yīng)功能按鈕,聯(lián)鎖控制層將會(huì)先根據(jù)站場(chǎng)設(shè)備狀態(tài)進(jìn)行邏輯判斷再去指令解鎖。而且,在人機(jī)交互界面的鐵路站場(chǎng)設(shè)備圖中,可以顯示站場(chǎng)設(shè)備實(shí)時(shí)狀態(tài),輸入/輸出文本框可以顯示當(dāng)前操作結(jié)果。 1.4 鐵路車(chē)站面向?qū)ο蠼?/span> 車(chē)站聯(lián)鎖系統(tǒng)是依靠正確地執(zhí)行進(jìn)路控制來(lái)實(shí)現(xiàn)的,而進(jìn)路控制又是依靠信號(hào)機(jī)、道岔和軌道電路之間的聯(lián)鎖關(guān)系來(lái)完成的。因此,將面向鐵路車(chē)站聯(lián)鎖系統(tǒng)的聯(lián)鎖控制層及三大關(guān)鍵聯(lián)鎖設(shè)備對(duì)象分別命名為interlocking system(聯(lián)鎖系統(tǒng))、signal(信號(hào)機(jī))、point(道岔)、track circuit(軌道電路),并分別命名進(jìn)路控制中的邏輯元素為joint(絕緣節(jié))、route(進(jìn)路)、subroute(子進(jìn)路)。 signal指揮列車(chē)或車(chē)列在車(chē)站進(jìn)路上運(yùn)行,被設(shè)置在每段軌道區(qū)段始端,防護(hù)該段子進(jìn)路。車(chē)站內(nèi)signal分為列車(chē)signal和調(diào)車(chē)signal,具有開(kāi)放、關(guān)閉和滅燈3種狀態(tài)。在開(kāi)放狀態(tài)時(shí),允許列車(chē)或車(chē)列進(jìn)入signal內(nèi)區(qū)段;在關(guān)閉狀態(tài)時(shí),禁止列車(chē)或車(chē)列進(jìn)入;在故障狀態(tài)時(shí),signal必須滅燈。 signal處于開(kāi)放狀態(tài)時(shí)有多種情形,進(jìn)站signal的開(kāi)放狀態(tài)為綠燈(列車(chē)通過(guò))、黃燈(正線到達(dá))、雙黃燈(側(cè)線到達(dá))。出站兼調(diào)車(chē)signal的開(kāi)放狀態(tài)為綠燈(允許列車(chē)出站)和月白燈(允許調(diào)車(chē)作業(yè))。站內(nèi)signal關(guān)閉為定位狀態(tài)即默認(rèn)工作狀態(tài),如出站signal定位狀態(tài)顯示紅燈,調(diào)車(chē)signal則顯示藍(lán)燈。 point確保列車(chē)或車(chē)列能夠進(jìn)入不同進(jìn)路狀態(tài),包括正常工作和非正常工作狀態(tài)。正常狀態(tài)中經(jīng)常開(kāi)通的位置是定位,其他情況則為反位。非正常工作狀態(tài)是既不在定位也不在反位的四開(kāi)狀態(tài)。 track circuit包括不含point的無(wú)岔區(qū)段track circuit和包含point的道岔區(qū)段track circuit,其狀態(tài)包括調(diào)整狀態(tài)、分路狀態(tài)和斷軌狀態(tài)。調(diào)整狀態(tài)即為無(wú)車(chē)占用,而有列車(chē)或車(chē)列占用時(shí)則為分路狀態(tài)。對(duì)象的命名及其對(duì)應(yīng)屬性見(jiàn)表1。 表1 對(duì)象命名及其對(duì)應(yīng)屬性 joint位于track circuit兩端,起絕緣作用。一般在出站信號(hào)機(jī)處設(shè)置joint,而joint之間是無(wú)岔區(qū)段或是含有point的道岔區(qū)段。為使聯(lián)鎖設(shè)備繼承絕緣節(jié)的坐標(biāo)屬性,定義Joint作為基類(lèi)。 基于進(jìn)路控制作業(yè)機(jī)理,系統(tǒng)的聯(lián)鎖控制層能夠?qū)崟r(shí)獲取三大設(shè)備對(duì)象的工作狀態(tài)、指令鎖閉和解鎖,由此設(shè)計(jì)了設(shè)備對(duì)象的功能和方法。UML類(lèi)圖如圖4所示。 圖4 UML類(lèi)圖 其中,currentState(id)表示可獲取對(duì)象當(dāng)前工作狀態(tài),setState(newstate,list)為進(jìn)路建立階段根據(jù)指令將對(duì)象狀態(tài)屬性鎖定到newstate,在進(jìn)路解鎖階段可使用unsetState(list)將設(shè)備對(duì)象恢復(fù)至默認(rèn)工作狀態(tài)。利用設(shè)備聯(lián)鎖關(guān)系UML序列圖描述進(jìn)路控制過(guò)程中有關(guān)設(shè)備對(duì)象的行為,如圖5所示。 在interlocking system的聯(lián)鎖控制層中,基于始終端signal與其父類(lèi)joint之間的繼承關(guān)系,邏輯判斷signal所防護(hù)的route類(lèi)型,即droute(調(diào)車(chē)進(jìn)路)還是lroute(列車(chē)進(jìn)路),若是lroute再作進(jìn)一步類(lèi)型判斷,結(jié)果包含ddroute(到達(dá))、cfroute(出發(fā))或tgroute(通過(guò))。 在進(jìn)路建立階段,使用currentState()方法對(duì)有關(guān)設(shè)備對(duì)象的工作狀態(tài)進(jìn)行判斷,若該route同時(shí)滿(mǎn)足point未被鎖閉、track circuit空閑和signal conflicted(敵對(duì)信號(hào)機(jī))當(dāng)前未開(kāi)放,則選擇該條route。當(dāng)所排進(jìn)路被確定時(shí),利用方法setState(),將point轉(zhuǎn)換到規(guī)定的位置并鎖閉、切換track circuit的工作狀態(tài)并將敵對(duì)進(jìn)路鎖閉,最后開(kāi)放signal并顯示相應(yīng)的顏色和數(shù)目,以實(shí)現(xiàn)route setting。 進(jìn)路解鎖階段,在列車(chē)或車(chē)列前進(jìn)方向上,在其出清后方track circuit后,使用方法unsetState()關(guān)閉signal、解鎖track circuit即route,并將point恢復(fù)至定位,以完成route release。 圖5 UML進(jìn)路控制序列圖 2 鐵路車(chē)站數(shù)字化 基于面向?qū)ο蟮慕_^(guò)程,將室外設(shè)備對(duì)象signal、point、track circuit、joint、route的屬性和關(guān)系分別進(jìn)行數(shù)字化建庫(kù),以此為接下來(lái)的車(chē)站業(yè)務(wù)實(shí)例化提供數(shù)據(jù)庫(kù),進(jìn)而實(shí)現(xiàn)聯(lián)鎖關(guān)系。 2.1 設(shè)備對(duì)象屬性數(shù)據(jù)表 對(duì)象signal、point、track circuit、joint都有對(duì)應(yīng)的ID及name屬性。根據(jù)signal的顯示類(lèi)別,設(shè)計(jì)狀態(tài)字段stateS。設(shè)定signal在開(kāi)放綠燈時(shí)stateS為1、開(kāi)放黃燈時(shí)為2、開(kāi)放雙黃燈時(shí)為3、顯示白燈時(shí)為4、滅燈時(shí)為5。由于不同性質(zhì)的signal顯示的燈光顏色和數(shù)目不同,所以需設(shè)計(jì)性質(zhì)字段property。又由于信號(hào)燈所防護(hù)的進(jìn)路分方向,所以需設(shè)計(jì)字段direction。 signal數(shù)字化建庫(kù)見(jiàn)表2。point的位置狀態(tài)用stateP標(biāo)識(shí),設(shè)定其處于定位狀態(tài)時(shí),stateP取0;反位狀態(tài)時(shí),取1;四開(kāi)狀態(tài)時(shí),取2。point數(shù)字化建庫(kù)見(jiàn)表3。stateTC代表track circuit的工作狀態(tài),設(shè)定其調(diào)整狀態(tài)時(shí),取值0;分路狀態(tài)時(shí),取值1;斷軌狀態(tài)時(shí),取2。track circuit數(shù)字化建庫(kù)見(jiàn)表4。為了在三大聯(lián)鎖設(shè)備之間建立位置上的關(guān)聯(lián),數(shù)字化基類(lèi)即設(shè)定PositionJx表示joint的坐標(biāo),以作為進(jìn)路分析過(guò)程中邏輯推斷的依據(jù)。joint數(shù)字化建庫(kù)見(jiàn)表5。 表2 對(duì)象屬性表signallist 表3 對(duì)象屬性表pointlist 表4 對(duì)象屬性表trackcircuitlist 表5 對(duì)象屬性表jointlist 2.2 設(shè)備對(duì)象關(guān)系數(shù)據(jù)表 為避免列車(chē)或車(chē)列在敵對(duì)進(jìn)路中發(fā)生正面或尾部撞車(chē),signal、point、track circuit必須按照相關(guān)的程序以及制約條件進(jìn)行聯(lián)鎖。joint的坐標(biāo)對(duì)聯(lián)鎖設(shè)備構(gòu)成了位置上的約束,因此首先分別數(shù)字化joint與signal、point、track circuit聯(lián)鎖設(shè)備間的關(guān)系。 根據(jù)signal與joint的對(duì)應(yīng)關(guān)系(表6)表jslist,若選排進(jìn)路上包含某joint,則通過(guò)jslist可找到該進(jìn)路上相關(guān)的signal。當(dāng)point處于定位時(shí),道岔區(qū)段始末端對(duì)應(yīng)兩個(gè)joint,分別是jIDStart和jIDEnd;而point處于反位時(shí),對(duì)應(yīng)另一對(duì)jIDStart和jIDEnd,由此建立jplist關(guān)系表(表7)。 若作業(yè)所選排進(jìn)路上包含道岔區(qū)段的jIDStart、jIDEnd,則通過(guò)jplist可推斷該道岔區(qū)段的point處于定位還是反位。由各個(gè)track circuit始末端對(duì)應(yīng)兩個(gè)joint,建立jtclist關(guān)系表(表8),通過(guò)jtclist可找到該進(jìn)路上相關(guān)的track circuit。 表6 joint與signal的位置約束關(guān)系表 表7 joint與point的位置約束關(guān)系表 表8 joint與track circuit的位置約束關(guān)系表 route為列車(chē)走行的路徑,包括lroute(列車(chē)進(jìn)路)和droute(調(diào)車(chē)進(jìn)路)。每條route的始端有一架signal防護(hù)進(jìn)路;route由至少一段的track circuit組成,且包括含有point的track circuit。lroute數(shù)字化庫(kù)見(jiàn)表9,記錄了車(chē)站作業(yè)所排每一條列車(chē)進(jìn)路上相關(guān)設(shè)備的ID及其聯(lián)鎖關(guān)系。 表9 對(duì)象屬性表lrlist 3 鐵路車(chē)站業(yè)務(wù)實(shí)例化 3.1 鐵路車(chē)站示例 一個(gè)單線雙向半自動(dòng)閉塞的小型鐵路車(chē)站的信號(hào)設(shè)備平面布置示意圖如圖6所示,圖中圓圈序號(hào)代表signal的ID,三角序號(hào)代表track circuit的ID,序號(hào)代表point的ID。 圖6 鐵路車(chē)站信號(hào)設(shè)備平面布置示意圖 依據(jù)此示例,將鐵路車(chē)站對(duì)計(jì)算機(jī)聯(lián)鎖系統(tǒng)中聯(lián)鎖控制層的進(jìn)路業(yè)務(wù)程序?qū)嵗?/p> 3.2 進(jìn)路業(yè)務(wù)實(shí)例化 構(gòu)建進(jìn)路建立和進(jìn)路解鎖業(yè)務(wù)的動(dòng)態(tài)模型,使用UML狀態(tài)圖描述,依此模型編寫(xiě)Python程序。 1)進(jìn)路業(yè)務(wù)的動(dòng)態(tài)建模 進(jìn)路建立階段的動(dòng)態(tài)模型如圖7所示。首先記錄起止端signal的ID即myslist,查詢(xún)數(shù)據(jù)庫(kù)中jslist表所對(duì)應(yīng)joint的ID,根據(jù)對(duì)應(yīng)的jID推斷route的xors(上下行方向)及其類(lèi)型0(到達(dá))、1(出發(fā))或2(通過(guò))。 圖7 UML進(jìn)路建立狀態(tài)圖 由于joint對(duì)point和track circuit有位置約束,方法panduanjinluxiangguanshebei(slist)獲得與該route相關(guān)的設(shè)備ID,即pID和tcID。方法panduanzhuangtai(id)將route中相關(guān)設(shè)備ID的列表放在數(shù)據(jù)庫(kù)中,以檢驗(yàn)設(shè)備的實(shí)時(shí)狀態(tài)是否滿(mǎn)足進(jìn)路建立的條件。 若滿(mǎn)足,則在方法startSet(routename,target1,target2,target3)中實(shí)現(xiàn)進(jìn)路鎖閉并完成進(jìn)路建立。方法panduanjinlumingcheng(jid,sid,pid,tcid,xors)推斷routeName,并在表9中將所有routeName行數(shù)字化激活。 進(jìn)路解鎖階段的動(dòng)態(tài)模型如圖8所示。記錄需要解鎖的進(jìn)路得到routenamelist,先判斷該進(jìn)路是否處于激活狀態(tài),連接數(shù)據(jù)庫(kù)的表9找到對(duì)應(yīng)的routeName行,獲取stateRoute值,若該值為1,則記錄相關(guān)設(shè)備的ID列表,即listSet,分別在表2—表4中對(duì)應(yīng)設(shè)備對(duì)象ID,利用方法unsetRoute()將設(shè)備狀態(tài)恢復(fù)至其定位狀態(tài),同時(shí)恢復(fù)該route至未激活狀態(tài),即stateRoute值取0,完成解鎖工作。 圖8 UML進(jìn)路解鎖狀態(tài)圖 2)基于面向?qū)ο蟮臉I(yè)務(wù)實(shí)現(xiàn) 基于絕緣節(jié)的坐標(biāo)positionJx,可以查詢(xún)與route相關(guān)的三大聯(lián)鎖設(shè)備的ID,即sid、pid、tcid,從而在Signal類(lèi)、Point類(lèi)、TrackCircuit類(lèi)中進(jìn)行對(duì)象狀態(tài)設(shè)置,也可以在表2—表4中進(jìn)行對(duì)象狀態(tài)獲取。因此,關(guān)于由絕緣節(jié)的坐標(biāo)邏輯推斷三大聯(lián)鎖設(shè)備位置的算法是核心內(nèi)容,程序偽碼如圖9所示。 圖9 判斷進(jìn)路相關(guān)設(shè)備的算法 變量start-signal和end-signal代表著起始信號(hào)機(jī)和終止信號(hào)機(jī)的ID。查詢(xún)jslist關(guān)系表可得到對(duì)應(yīng)位置的jid[0]和jid[-1]。由于track circuit兩端對(duì)應(yīng)兩個(gè)joint,每處joint有一架signal,所以基于joint的坐標(biāo)查找和記錄start-signal與end-signal之間所有與進(jìn)路相關(guān)的joint及其對(duì)應(yīng)的signal、track circuit的ID,得到j(luò)id、sid和tcid列表。 4 系統(tǒng)運(yùn)行測(cè)試與結(jié)果分析 4.1 系統(tǒng)運(yùn)行測(cè)試 車(chē)站計(jì)算機(jī)聯(lián)鎖系統(tǒng)的人機(jī)交互界面如圖10所示,共有5項(xiàng)業(yè)務(wù)功能選項(xiàng):①排列車(chē)進(jìn)路;②排調(diào)車(chē)進(jìn)路;③解鎖列車(chē)進(jìn)路;④取消列車(chē)進(jìn)路;⑤車(chē)站狀態(tài)查詢(xún)。 圖10 人機(jī)交互界面 以排下行接車(chē)至1股道為例,說(shuō)明聯(lián)鎖控制層執(zhí)行建立列車(chē)進(jìn)路業(yè)務(wù)流程:當(dāng)前處于待排進(jìn)路狀態(tài),收到起始信號(hào)機(jī)sid為1、終止信號(hào)機(jī)sid為3的進(jìn)路請(qǐng)求,連接jslist關(guān)系列表查詢(xún)對(duì)應(yīng)位置的jStartID=2和jEndID=3,對(duì)應(yīng)的position(坐標(biāo))分別為100和300,通過(guò)邏輯判斷出列車(chē)運(yùn)行方向?yàn)橄滦?,進(jìn)路上相關(guān)的設(shè)備ID是,tcID為1和5、pID為1以及signalID為1,所以根據(jù)聯(lián)鎖程序。 先在表3中將ID為1的stateP轉(zhuǎn)換至1(反位)并鎖定,再在表4中將ID為1和5的stateTC更新至1(分路狀態(tài))并鎖閉,最后在表2中將ID為1的stateS開(kāi)放且顯示3(雙黃燈);同時(shí)根據(jù)表2判斷終端信號(hào)機(jī)X1的類(lèi)型是出站信號(hào)機(jī),推出進(jìn)路名稱(chēng)為1xdd(下行1股道到達(dá)),再在表9中數(shù)字化激活該stateRoute以作標(biāo)識(shí)。進(jìn)路建立如圖11所示。 圖11 系統(tǒng)建立1xdd列車(chē)進(jìn)路的測(cè)試結(jié)果 以解鎖1股道下行接車(chē)進(jìn)路為例,說(shuō)明聯(lián)鎖控制層解鎖列車(chē)進(jìn)路業(yè)務(wù)流程:系統(tǒng)當(dāng)前處于待解鎖進(jìn)路狀態(tài),收到交互層解鎖指令,連接表9,由routeName判斷該進(jìn)路處于激活狀態(tài),然后根據(jù)查詢(xún)到的相關(guān)設(shè)備ID:tcID為1和5、pID為1以及signalID為1,同樣根據(jù)聯(lián)鎖程序,先在表2中將ID為1的stateS關(guān)閉且顯示0(紅燈),再在表4中將ID為1、5的stateTC更新至0(調(diào)整狀態(tài)),最后在表3中將ID為1的stateP轉(zhuǎn)換至0(定位);同時(shí)在表9中恢復(fù)該route至未激活,完成解鎖動(dòng)作。進(jìn)路解鎖如圖12所示。 圖12 系統(tǒng)解鎖1xdd列車(chē)進(jìn)路的測(cè)試結(jié)果 4.2 結(jié)果分析 判斷鐵路車(chē)站計(jì)算機(jī)聯(lián)鎖系統(tǒng)是否安全可靠,就要確保其他列車(chē)或車(chē)列不會(huì)從正面、尾部或側(cè)面闖入該進(jìn)路而發(fā)生撞車(chē)事故。因此,需要根據(jù)該鐵路車(chē)站模型繪制聯(lián)鎖表,并在系統(tǒng)中進(jìn)行逐一測(cè)驗(yàn)。表10所示是本文鐵路車(chē)站模型的列車(chē)進(jìn)路聯(lián)鎖表。 表10 列車(chē)進(jìn)路聯(lián)鎖表 為了敘述方便,假設(shè)車(chē)站下行方向是指北京方向至天津方向。 當(dāng)兩條進(jìn)路存在共用道岔或是共用股道時(shí),會(huì)存在敵對(duì)或是抵觸關(guān)系,在同一咽喉區(qū)中,對(duì)向重疊的列車(chē)進(jìn)路、順向或是對(duì)向重疊的列車(chē)和調(diào)車(chē)進(jìn)路、對(duì)向重疊的調(diào)車(chē)進(jìn)路之間存在敵對(duì)關(guān)系;迎面咽喉區(qū)中,同一到發(fā)線上對(duì)向的列車(chē)與列車(chē)進(jìn)路、同一到發(fā)線上對(duì)向的列車(chē)與調(diào)車(chē)進(jìn)路、信號(hào)機(jī)設(shè)在侵限絕緣處時(shí)禁止同時(shí)開(kāi)放的進(jìn)路構(gòu)成敵對(duì)進(jìn)路。 以“當(dāng)同一到發(fā)線上對(duì)向的列車(chē)進(jìn)路與調(diào)車(chē)進(jìn)路構(gòu)成敵對(duì)關(guān)系”為例。鍵入編號(hào)1、3排下行接車(chē)至1股道的列車(chē)進(jìn)路,再鍵入編號(hào)2、8排停車(chē)至1股道的調(diào)車(chē)進(jìn)路,得到系統(tǒng)提示:“No.1股道正被占用,請(qǐng)稍后再排!”如圖13所示,說(shuō)明該系統(tǒng)能夠準(zhǔn)確可靠地判斷敵對(duì)進(jìn)路。 圖13 當(dāng)列車(chē)進(jìn)路與調(diào)車(chē)進(jìn)路構(gòu)成敵對(duì)時(shí)的系統(tǒng)測(cè)試結(jié)果 5 結(jié)論 基于UML描述鐵路車(chē)站面向?qū)ο髷?shù)字化建模過(guò)程;定義絕緣節(jié)作為基類(lèi),使三大聯(lián)鎖設(shè)備對(duì)象能夠繼承其坐標(biāo)屬性;利用Python程序?qū)嵗?lián)鎖控制層中進(jìn)路控制業(yè)務(wù)模型;使用數(shù)據(jù)庫(kù)模擬I/O接口層信息的輸入輸出;基于wxPython設(shè)計(jì)人機(jī)交互層可視化界面。 其中,在進(jìn)路建立階段,系統(tǒng)能夠根據(jù)操作人員的指令,準(zhǔn)確快速地查詢(xún)對(duì)應(yīng)絕緣節(jié)的坐標(biāo),進(jìn)一步邏輯推斷出進(jìn)路的類(lèi)型、進(jìn)路的方向及進(jìn)路的相關(guān)設(shè)備等信息;在進(jìn)路解鎖階段,同樣基于父類(lèi)絕緣節(jié)的坐標(biāo)屬性,最終成功實(shí)現(xiàn)解鎖業(yè)務(wù)。 在系統(tǒng)測(cè)驗(yàn)時(shí),是通過(guò)聯(lián)鎖表仿真部分重要的進(jìn)路作業(yè)進(jìn)行結(jié)果測(cè)評(píng)的,缺少說(shuō)服力。因此,在今后的學(xué)習(xí)研究中,將繼續(xù)改進(jìn)該系統(tǒng),使其能夠被放入模型檢驗(yàn)工具當(dāng)中,以證明它所建立的每條進(jìn)路都是安全可靠的。 |
|
來(lái)自: 電氣技術(shù)雜志社 > 《待分類(lèi)》