聶斐, 徐正良, 金建飛, 趙曉峰, 劉宏祥
〔1.上海電氣自動(dòng)化設(shè)計(jì)研究所有限公司,上海 200023;2.上海市城市建設(shè)設(shè)計(jì)研究總院(集團(tuán))有限公司,上海 200125〕
列車(chē)調(diào)度管理系統(tǒng)是對(duì)現(xiàn)代有軌電車(chē)線路中列車(chē)進(jìn)行調(diào)度管理及監(jiān)控的計(jì)算機(jī)集成系統(tǒng),主要包括列車(chē)的追蹤和監(jiān)控、進(jìn)路辦理、列車(chē)運(yùn)行調(diào)整、派班管理、運(yùn)行圖管理、信號(hào)設(shè)備運(yùn)行狀態(tài)的監(jiān)控和路口優(yōu)先監(jiān)控等相關(guān)功能[1]。
面向微服務(wù)架構(gòu)的系統(tǒng)軟件組建及開(kāi)發(fā)方式,可以根據(jù)綜合運(yùn)營(yíng)調(diào)度管理的需求,通過(guò)網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用,從而更有效實(shí)現(xiàn)現(xiàn)代有軌電車(chē)的行車(chē)指揮綜合自動(dòng)化。
列車(chē)調(diào)度管理系統(tǒng)主要由DMS服務(wù)器、消息服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、客戶(hù)端代理、回放服務(wù)器及客戶(hù)端、時(shí)刻表表編輯器、線路編輯器和環(huán)境仿真服務(wù)器等組成[2]。
(1) 冗余的DMS服務(wù)器是整個(gè)系統(tǒng)的關(guān)鍵,與消息服務(wù)器通信,執(zhí)行列車(chē)追蹤和監(jiān)控、軌旁設(shè)備監(jiān)督和控制,與客戶(hù)端代理、數(shù)據(jù)庫(kù)服務(wù)器和回放服務(wù)器通信,實(shí)現(xiàn)人機(jī)接口、報(bào)警管理、運(yùn)行記錄和運(yùn)行圖管理等。
(2) 冗余的消息服務(wù)器是系統(tǒng)對(duì)外通信的中轉(zhuǎn)站,主要與車(chē)載控制器OBCU、聯(lián)鎖上位機(jī)和路口優(yōu)先主機(jī)保持交互。
(3) 冗余的數(shù)據(jù)庫(kù)服務(wù)器采用集群熱備技術(shù),通過(guò)磁盤(pán)陣列存儲(chǔ)系統(tǒng)的報(bào)警、事件、計(jì)劃時(shí)刻表和實(shí)際時(shí)刻表,并滿(mǎn)足至少一年的容量要求。
(4) 客戶(hù)端提供列車(chē)調(diào)度管理服務(wù)的人機(jī)接口,支持跨平臺(tái)應(yīng)用,以及移動(dòng)端、物聯(lián)網(wǎng)的擴(kuò)展。
(5) 回放服務(wù)器負(fù)責(zé)將DMS服務(wù)器內(nèi)部的列車(chē)運(yùn)行數(shù)據(jù)實(shí)時(shí)記錄生成文件,并滿(mǎn)足至少一個(gè)月的存儲(chǔ)容量?;胤趴蛻?hù)端用于播放記錄文件。
(6) 時(shí)刻表編輯器用于創(chuàng)建和編輯列車(chē)運(yùn)行所需的時(shí)刻表文件,并上傳至DMS服務(wù)器。
(7) 線路編輯器用于生成系統(tǒng)界面顯示所需的矢量電子地圖和邏輯處理所需的線路數(shù)據(jù)庫(kù)。
(8) 環(huán)境仿真服務(wù)器模擬所有的外部系統(tǒng)及接口,用于系統(tǒng)的實(shí)驗(yàn)室測(cè)試和用戶(hù)的操作培訓(xùn)。
為實(shí)現(xiàn)系統(tǒng)部署的靈活性和后期維護(hù)的可擴(kuò)展性,列車(chē)調(diào)度管理系統(tǒng)所采用的微服務(wù)架構(gòu)更強(qiáng)調(diào)服務(wù)的專(zhuān)業(yè)化和精細(xì)分工,如圖1所示。系統(tǒng)主要設(shè)備服務(wù)采用基于Docker的部署方式,并可根據(jù)項(xiàng)目要求加載更多專(zhuān)業(yè),如電力調(diào)度和乘客信息等,每類(lèi)服務(wù)均可按需使用基礎(chǔ)設(shè)施和基礎(chǔ)服務(wù),協(xié)調(diào)服務(wù)之間的配合關(guān)系和運(yùn)行時(shí)序。當(dāng)客戶(hù)端代理與服務(wù)端建立通信時(shí),需要在處理安全策略和訪問(wèn)認(rèn)證后才能通過(guò)資源調(diào)度網(wǎng)關(guān)和資源調(diào)度程序接口調(diào)用相應(yīng)服務(wù)。
圖1 列車(chē)調(diào)度管理系統(tǒng)微服務(wù)架構(gòu)
由于列車(chē)調(diào)度管理系統(tǒng)特別關(guān)注實(shí)時(shí)性,因此面向微服務(wù)架構(gòu)的系統(tǒng)設(shè)計(jì)需采用性能增強(qiáng)技術(shù),即用于系統(tǒng)內(nèi)部數(shù)據(jù)同步和通信交互的高性能協(xié)議、消息隊(duì)列及集成框架等技術(shù)[3]。
冗余的DMS服務(wù)器之間,以及DMS服務(wù)器和回放服務(wù)器之間,傳輸?shù)臄?shù)據(jù)量非常大,實(shí)時(shí)性要求很高,這里就要求使用高性能數(shù)據(jù)通信協(xié)議。
協(xié)議屬于異步事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架,其緩沖區(qū)功能相當(dāng)強(qiáng)大,提供很多類(lèi)和接口,可將接收的緩沖區(qū)包轉(zhuǎn)換成需要的數(shù)據(jù)格式;還有基于二進(jìn)制數(shù)據(jù)格式的Protobuf協(xié)議編解碼工具庫(kù),具備更好的傳輸、打包和解包效率,廣泛支持人工智能、區(qū)塊鏈和物聯(lián)網(wǎng)等方面的應(yīng)用。
作為系統(tǒng)的關(guān)鍵部分,DMS服務(wù)器的任務(wù)處理壓力很大,因此在與外部子系統(tǒng)通信時(shí),需要另外增加消息服務(wù)器,其主要技術(shù)便是消息隊(duì)列。
該技術(shù)提供統(tǒng)一消息服務(wù)的應(yīng)用層標(biāo)準(zhǔn)高級(jí)消息隊(duì)列協(xié)議AMQP[4],是面向消息的中間件設(shè)計(jì),不受客戶(hù)端/中間件產(chǎn)品、不同的開(kāi)發(fā)語(yǔ)言等條件的限制,支持一對(duì)一、一對(duì)多和自動(dòng)分享等模式,在降低連接復(fù)雜度的同時(shí),保證通信消息的可靠性。
以列車(chē)調(diào)度管理為核心的行車(chē)指揮綜合自動(dòng)化系統(tǒng)肩負(fù)著現(xiàn)代有軌電車(chē)弱電專(zhuān)業(yè)實(shí)時(shí)監(jiān)控的重任,在兼容各專(zhuān)業(yè)操作和維護(hù)功能的同時(shí),也應(yīng)確保列車(chē)調(diào)度管理的安全性和可靠性,嵌入式集成框架的使用可以很好地滿(mǎn)足這兩方面要求。
該框架基于開(kāi)源網(wǎng)頁(yè)瀏覽器控件,支持Windows、Linux、Mac平臺(tái),提供C、C++、.NET和Python等多語(yǔ)言接口,實(shí)現(xiàn)HTML5特性,具備多進(jìn)程管理功能,在實(shí)際項(xiàng)目中應(yīng)用時(shí),其性能可以支持60列車(chē)以上。
現(xiàn)代有軌電車(chē)的系統(tǒng)進(jìn)路模式較為復(fù)雜,包括中心自動(dòng)、車(chē)載自動(dòng)、中心人工、車(chē)載人工、現(xiàn)地電操作和無(wú)電操作,其轉(zhuǎn)換關(guān)系見(jiàn)圖2。
圖2 系統(tǒng)進(jìn)路模式轉(zhuǎn)換圖
(1) 中心自動(dòng)指由中心DMS服務(wù)器自動(dòng)觸發(fā)列車(chē)運(yùn)行進(jìn)路的模式,擁有軌電車(chē)運(yùn)營(yíng)的常用方式。該模式下,DMS軟件的進(jìn)路模式應(yīng)為中心自動(dòng),同時(shí)激活當(dāng)天計(jì)劃時(shí)刻表,列車(chē)分配服務(wù)號(hào)。
(2) 車(chē)載自動(dòng)指由車(chē)載OBCU主機(jī)自動(dòng)觸發(fā)列車(chē)運(yùn)行進(jìn)路的模式,擁有軌電車(chē)運(yùn)營(yíng)的備用方式。當(dāng)車(chē)地通信中斷時(shí),車(chē)載OBCU轉(zhuǎn)為車(chē)載自動(dòng),也可由中心通過(guò)DMS客戶(hù)端軟件人工切換。
(3) 中心人工在中心自動(dòng)模式下,一旦發(fā)生時(shí)刻表未激活或列車(chē)丟失服務(wù)號(hào)的情況時(shí),就由中心操作員人工辦理進(jìn)路或控制路口。
(4) 車(chē)載人工在中心或車(chē)載自動(dòng)模式下,若中心DMS服務(wù)器或車(chē)載OBCU未能成功自動(dòng)觸發(fā)進(jìn)路或開(kāi)放路口,由司機(jī)通過(guò)控制臺(tái)上的操作按鈕進(jìn)行人工觸發(fā)。該模式也可通過(guò)司機(jī)控制臺(tái)上的模式開(kāi)關(guān)進(jìn)行切換。
現(xiàn)地電操作和無(wú)電操作均是車(chē)載人工操作無(wú)效情況下的應(yīng)急模式。當(dāng)司機(jī)控制臺(tái)上的人工觸發(fā)按鈕無(wú)效時(shí),司機(jī)與中心操作員確認(rèn)后下車(chē),通過(guò)軌旁設(shè)置的進(jìn)路按鈕進(jìn)行現(xiàn)地電操作,該按鈕與聯(lián)鎖子系統(tǒng)直連發(fā)送人工命令。若現(xiàn)地電操作也無(wú)效,司機(jī)與中心操作員確認(rèn)后,使用撬棍直接將道岔轉(zhuǎn)轍機(jī)扳到進(jìn)路所需位置,即利用道岔轉(zhuǎn)轍機(jī)的機(jī)械裝置進(jìn)行無(wú)電操作。
在實(shí)際應(yīng)用中,故障情況下中心和/或車(chē)載設(shè)備可能同時(shí)發(fā)送進(jìn)路命令,這就需要接收命令的聯(lián)鎖子系統(tǒng)定義命令的優(yōu)先級(jí),從高到低通常為現(xiàn)地電操作、車(chē)載人工、中心人工、中心自動(dòng)和車(chē)載自動(dòng)。對(duì)于無(wú)電操作模式,聯(lián)鎖只是被動(dòng)采集道岔位置,故不在軟件內(nèi)定義相關(guān)優(yōu)先級(jí)。
軌旁監(jiān)控分為軌旁設(shè)備狀態(tài)顯示和軌旁設(shè)備控制命令兩部分[5]。
軌旁設(shè)備狀態(tài)通過(guò)消息服務(wù)器從聯(lián)鎖上位機(jī)、路口優(yōu)先等子系統(tǒng)采集,包括區(qū)段占用/空閑/鎖閉、道岔定位/反位/鎖閉/封鎖、道岔防護(hù)信號(hào)機(jī)禁止/直行/左行/右行、有軌交通燈禁止/通行/左轉(zhuǎn)/右轉(zhuǎn)、道路交通燈紅/黃/綠/綠閃和站臺(tái)開(kāi)放/跳停/扣車(chē)等。上述設(shè)備的顯示圖元是使用線路數(shù)據(jù)編輯器創(chuàng)建和布置的,軟件運(yùn)行時(shí)調(diào)用相關(guān)函數(shù)操作顯示。
軌旁設(shè)備控制命令中,最重要的是進(jìn)路辦理/取消命令,通過(guò)選取始端和終端信號(hào)機(jī)確定進(jìn)路,再由聯(lián)鎖子系統(tǒng)扳動(dòng)后鎖閉道岔、鎖閉區(qū)段以及開(kāi)放信號(hào)機(jī)。還有路口優(yōu)先模式命令、有軌交通燈控制命令、道岔單操/單鎖/封鎖命令、站臺(tái)扣車(chē)/跳停/設(shè)置停站時(shí)間和臨時(shí)限速等。
車(chē)載監(jiān)控分為列車(chē)狀態(tài)顯示和車(chē)載設(shè)備控制命令兩部分。
列車(chē)狀態(tài)顯示包括列車(chē)運(yùn)行信息、車(chē)載OBCU狀態(tài)采集和車(chē)輛運(yùn)行狀態(tài)采集。列車(chē)運(yùn)行信息有服務(wù)號(hào)、行程號(hào)、目的地號(hào)、早晚點(diǎn)和停站時(shí)間等;車(chē)載OBCU狀態(tài)主要有系統(tǒng)進(jìn)路模式、車(chē)體號(hào)、司機(jī)號(hào)、運(yùn)行方向、速度和故障報(bào)警等;車(chē)輛狀態(tài)有車(chē)輛超級(jí)電容/蓄電池狀態(tài)、牽引/制動(dòng)狀態(tài)、列車(chē)速度、行駛里程、客室溫度、激活司機(jī)室、車(chē)門(mén)開(kāi)關(guān)和火災(zāi)報(bào)警等。
鑒于有軌電車(chē)多為人工駕駛,車(chē)載設(shè)備控制命令主要是列車(chē)運(yùn)行計(jì)劃的管理,包括分配時(shí)刻表、運(yùn)行線、出入庫(kù)進(jìn)路和催發(fā)車(chē)等[6]。
報(bào)警管理包括實(shí)時(shí)報(bào)警顯示和歷史報(bào)警查詢(xún)。按照相關(guān)標(biāo)準(zhǔn)和操作習(xí)慣,分為軌旁、列車(chē)、計(jì)劃和其他四類(lèi),優(yōu)先級(jí)則有緊急、高、中、低四級(jí)。值得注意的是,實(shí)現(xiàn)行車(chē)指揮綜合自動(dòng)化集成時(shí)應(yīng)將主要報(bào)警格式統(tǒng)一,但是報(bào)警的顯示頁(yè)面和存儲(chǔ)裝置建議獨(dú)立開(kāi)來(lái),以保證列車(chē)調(diào)度管理報(bào)警的優(yōu)先推送和處理。
此外還有報(bào)表統(tǒng)計(jì)功能,包括列車(chē)停站時(shí)間偏差表、列車(chē)運(yùn)營(yíng)性能分析表和運(yùn)行間隔統(tǒng)計(jì)表等。
時(shí)刻表/運(yùn)行圖功能主要是離線編輯和在線管理。離線編輯是使用時(shí)刻表編輯器,在配置停站時(shí)間、區(qū)間運(yùn)行時(shí)分和定義運(yùn)行路徑的基礎(chǔ)上,根據(jù)工作日、節(jié)假日和特殊日期的要求,進(jìn)行時(shí)刻表的創(chuàng)建/編輯/上傳。在線管理是通過(guò)DMS服務(wù)器和客戶(hù)端進(jìn)行時(shí)刻表激活、服務(wù)號(hào)分配、實(shí)際運(yùn)行信息跟蹤和顯示等。
時(shí)刻表/運(yùn)行圖最復(fù)雜的情況是網(wǎng)絡(luò)化運(yùn)營(yíng)工況下的跟蹤和管理[7]。如果是兩條線成網(wǎng),可以在一份運(yùn)行圖中同時(shí)展示,見(jiàn)圖3。共線部分排在縱坐標(biāo)中間位置,這樣能有效控制共線部分的運(yùn)行間隔。若有更多線路,運(yùn)行圖就需要過(guò)濾分別展示。
對(duì)于停車(chē)基地,DMS系統(tǒng)還有派班功能,結(jié)合已編輯完成的基本時(shí)刻表,進(jìn)行運(yùn)營(yíng)車(chē)輛的指定和司機(jī)工作時(shí)間段的派遣。
列車(chē)調(diào)度管理系統(tǒng)的用戶(hù)類(lèi)別有編圖派班、行車(chē)調(diào)度、總調(diào)度和信號(hào)維護(hù),操作權(quán)限依次變大。
用戶(hù)管理與報(bào)警功能類(lèi)似,需要與行車(chē)指揮綜合自動(dòng)化統(tǒng)一考慮,同時(shí)與運(yùn)營(yíng)單位的調(diào)度職能組織匹配,為操作人員提供便利性和安全性。
列車(chē)調(diào)度管理系統(tǒng)的軟件數(shù)據(jù)結(jié)構(gòu)主要是解決線路站場(chǎng)的數(shù)據(jù)模型抽象問(wèn)題,即線路拓?fù)湓砑捌鋽?shù)據(jù)格式。
線路的基本元素有區(qū)段、道岔和站臺(tái),以及為實(shí)現(xiàn)進(jìn)路控制功能而安裝的計(jì)軸和信號(hào)機(jī)。圖4為線路拓?fù)湓韴D。
圖4 線路拓?fù)湓韴D
如圖4所示,為了更好地跟蹤和控制列車(chē)運(yùn)行,線路拓?fù)湫璨捎谩包c(diǎn)-線”模型,合理劃分區(qū)段(見(jiàn)T1至T11)。通常道岔、信號(hào)機(jī)、站臺(tái)邊界均是必須劃分的控制點(diǎn),特殊情況下,長(zhǎng)短鏈標(biāo)識(shí)點(diǎn)也應(yīng)作為區(qū)段邊界,這樣可以減少后續(xù)數(shù)據(jù)庫(kù)編制的額外計(jì)算量[8]。
區(qū)段編號(hào)一般是按照從上到下、從左到右的順序進(jìn)行,折返區(qū)域的渡線放到最后。
劃分后的每個(gè)區(qū)段均需要按照固定格式填寫(xiě)數(shù)據(jù),如表1所示,以便生成可以雙向查詢(xún)線路信息的鏈表數(shù)據(jù)結(jié)構(gòu)。
表1 軌道區(qū)段數(shù)據(jù)庫(kù)
上述區(qū)段數(shù)據(jù)庫(kù)格式在使用時(shí),先在線路數(shù)據(jù)庫(kù)根據(jù)手工繪制的線路站場(chǎng)圖,再導(dǎo)出生成線路拓?fù)浠A(chǔ)數(shù)據(jù),即區(qū)段ID、起始節(jié)點(diǎn)ID、結(jié)束節(jié)點(diǎn)ID等及其邏輯關(guān)聯(lián),然后在此數(shù)據(jù)表基礎(chǔ)上填寫(xiě)起始里程、結(jié)束里程、長(zhǎng)短鏈等,并進(jìn)行人工和軟件的雙重校核,以保證數(shù)據(jù)庫(kù)的正確性和完整性。
在軌道區(qū)段數(shù)據(jù)庫(kù)創(chuàng)建完成后,其他的信號(hào)機(jī)、信標(biāo)、站臺(tái)、限速等數(shù)據(jù)庫(kù)均可以用區(qū)段的編號(hào)和偏移量進(jìn)行標(biāo)識(shí)和定義。
列車(chē)調(diào)度管理系統(tǒng)是關(guān)系到行車(chē)指揮的核心系統(tǒng),其設(shè)計(jì)工作相關(guān)的系統(tǒng)組成、功能模塊、數(shù)據(jù)結(jié)構(gòu)都充分考慮有軌電車(chē)運(yùn)行的可靠性和安全性,所采用的微服務(wù)架構(gòu)技術(shù)能更靈活地與其他弱電系統(tǒng)集成,在保持系統(tǒng)高可用性和可維護(hù)性的同時(shí),兼顧列車(chē)調(diào)度管理功能的相對(duì)獨(dú)立性,該設(shè)計(jì)在北京冬奧會(huì)崇禮有軌電車(chē)項(xiàng)目得到良好應(yīng)用。