尹星、左元堃、劉祖聰、于浩
(青島地鐵運營有限公司,山東 青島 266000)
車地上傳是一項使用計算機技術將列車關鍵信息發(fā)送至地面進行解析的技術,其中車指的是城軌車輛,通常以列為單元。地指的是地面用于數(shù)據(jù)接收與解析的工作站,通常部署在調度中心、運維中心等場所。上傳指的是列車數(shù)據(jù)發(fā)送至地面的過程,因地面工作站往往是一臺,在通信過程中擔任服務器角色,而列車數(shù)量為多列,擔任客戶端的角色,所以列車至地面的數(shù)據(jù)發(fā)送稱為上傳。
列車數(shù)據(jù)以列車通信網(wǎng)絡(TCN)上傳輸?shù)臄?shù)據(jù)為主,以青島地鐵2 號線電客車為例。列車通信網(wǎng)絡采用多功能車輛總線(MVB),MVB 硬件層及鏈路層遵循IEC61375 標準,列車各個系統(tǒng)間均使用MVB 進行數(shù)據(jù)交互,并具有良好的信號屏蔽,傳輸速率為1.5Mbit/s[1],數(shù)據(jù)格式因機車廠與車型的不同均有差別,但所有MVB 數(shù)據(jù)均包含列車關鍵的運行信息,若MVB 網(wǎng)絡癱瘓則將直接導致列車無法正常運行。
由于MVB 網(wǎng)絡數(shù)據(jù)具有重要意義,所以列車運行中就需要對其內容進行解析,常見的方法為使用司機顯示器(DDU),DDU 將MVB 中的故障數(shù)據(jù)、狀態(tài)數(shù)據(jù)進行圖形化處理并顯示,司機通過DDU 內容可了解列車當前狀態(tài)。但這一方法存在局限性,列車相對于地面高速運動,運行距離較遠,且通常一列車配備一名司機,列車在正線運營過程中出現(xiàn)故障的概率較大,司機無法全面地了解列車狀態(tài),所以在列車遇到突發(fā)情況時,司機處置往往無法做到迅速準確。車輛專業(yè)工程師也無法及時地了解車輛狀態(tài),這樣就容易導致信息不對稱,延誤處置。
列車控制與監(jiān)控系統(tǒng)(TCMS)主要對MVB 數(shù)據(jù)進行管理,人機交互仍通過DDU 進行,同時列車TCMS因穩(wěn)定性需要,性能受到限制,通常只處理列車運行邏輯,并對部分狀態(tài)量、模擬量進行監(jiān)控,想要實現(xiàn)列車MVB 數(shù)據(jù)全面監(jiān)控則需要引入一套獨立于列車控制系統(tǒng)的計算設備,該設備需要具備單向傳輸?shù)奶匦裕丛O備僅接受MVB 數(shù)據(jù)并不參與控制,這套計算設備可稱為服務器、工作站。
為了全面地掌握上線列車的運行狀態(tài)、所有列車數(shù)據(jù)應集中管理,處理數(shù)據(jù)的工作站設置在地面控制中心。但列車MVB 網(wǎng)絡數(shù)據(jù)通過雙絞線傳輸,列車位置不固定,無法直連到地面,這就需要引入一種無線傳輸方式。過去射頻通信方式穩(wěn)定性較差,民用移動以太網(wǎng)帶寬不高,但隨著4G 等無線通信技術的普及,使用4G 技術實現(xiàn)高速、大帶寬以太網(wǎng)通信成為解決這一問題的最佳方案[2]。
實現(xiàn)車地上傳的第一步是建立MVB 與以太網(wǎng)的通道,青島地鐵2 號線列車使用信號系統(tǒng)網(wǎng)絡通道傳送數(shù)據(jù),PIDS 系統(tǒng)MVB 板卡接入列車MVB 網(wǎng)絡,接收MVB 網(wǎng)絡上特定端口的數(shù)據(jù)。參考《列車控制監(jiān)控系統(tǒng)(TCMS)與乘客信息系統(tǒng)(PIS)通信接口協(xié)議》,2 號線PIDS 系統(tǒng)與TCMS 系統(tǒng)通信共使用18 個端口,端口地址詳見表1。
表1 TCMS 系統(tǒng)(CCU)與PIS 之間通信端口分配表
以0x0A0 端口為例,A0 端口數(shù)據(jù)長度為32 字節(jié),輪詢周期為256 毫秒,輪詢周期決定數(shù)據(jù)的刷新速度。
A0 端口數(shù)據(jù)含義見圖1,此處注意區(qū)分數(shù)據(jù)類型,上表內字偏移指的是雙字偏移,雙字(WORD16)又稱DWORD,長度為兩個字節(jié)(BYTE),字偏移起始0,結束15,共16 個雙字,32 個字節(jié)。表中BitNo 為二進制偏移,一個雙字有16 個二進制位,每一位可表示不同的數(shù)據(jù)。高位在前二進制位偏移見表2。
圖1 TCMS 發(fā)送給PIS 數(shù)據(jù)圖
表2 二進制位偏移數(shù)據(jù)
通過二進制偏移可提取每個二進制位的含義,提取、存儲、分析數(shù)據(jù)的過程稱為數(shù)據(jù)的解析。在此之前MVB 板卡還需將數(shù)據(jù)發(fā)送至以太網(wǎng),數(shù)據(jù)組合(打包)的過程由MVB 板卡內部程序負責,本文不再敘述。
MVB 板施工以太網(wǎng)接口將數(shù)據(jù)發(fā)送至車載信號交換機,交換機使用無線方式接入整個信號網(wǎng)絡,車地網(wǎng)絡通道拓撲圖2如下:
圖2 車地網(wǎng)絡通道拓撲圖
地面工作站通過解析軟件進行數(shù)據(jù)包解析,同時進行圖形化顯示與存儲。解析軟件主要實現(xiàn)以下幾個功能:
2.3.1 列車數(shù)據(jù)本地定義
解析軟件需要判斷數(shù)據(jù)來源,即列車號,通常使用兩個方式進行判斷,一是通過數(shù)據(jù)包內,MVB 總線上的ATC Train ID 數(shù)據(jù)進行判斷,二是通過來源IP地址進行判斷,列車數(shù)據(jù)包是以UDP 廣播的形式發(fā)送,接收端可識別到發(fā)送端的IP 地址通過IP 地址,可區(qū)分數(shù)據(jù)的來源。通過本地數(shù)據(jù)庫(SQLite)預先定義車號與IP 地址的關聯(lián),解析軟件啟動后加載到內存鏈表內,在接收數(shù)據(jù)時按車號進行數(shù)據(jù)包分類。
2.3.2 關鍵字定義
解析軟件在接收到某一列車數(shù)據(jù)后,會對數(shù)據(jù)包進行解析,解析過程依賴數(shù)據(jù)位置與數(shù)據(jù)含義的對照關系,正如《列車控制監(jiān)控系統(tǒng)(TCMS)與乘客信息系統(tǒng)(PIS)通信接口協(xié)議》中定義的那樣,數(shù)據(jù)含義以端口、雙字偏移、位偏移共同組成。以門全關閉信號為例,該信號數(shù)據(jù)定義見圖3,數(shù)據(jù)解釋名為“1 車DIM1列車門全關閉狀態(tài)”,端口號為10,數(shù)據(jù)包狀態(tài)為1,雙字偏移為2,比特偏移為7,需要查詢“1 車DIM1 列車門全關閉狀態(tài)”這個狀態(tài)量時,可讀取端口10,第1狀態(tài),第2 個雙字節(jié)的第7 個比特位,因為該數(shù)據(jù)是二進制存儲,1 代表有效,0 表示無效。
圖3 1 車DIM1 列車門全關閉狀態(tài)數(shù)據(jù)定義圖
如果該數(shù)據(jù)為故障數(shù)據(jù),則需要特別表示以司機室多主控故障為例,該信號數(shù)據(jù)定義見圖4,0 或1 兩種狀態(tài)必須設定何為故障狀態(tài),何為正常狀態(tài),在本地數(shù)據(jù)庫中需要定義其故障標識位,F(xiàn)ault 字段為1 則表示數(shù)據(jù)為故障數(shù)據(jù),F(xiàn)aultValue 為故障值亦為1,表示該數(shù)據(jù)為1 時故障,0 表示正常,沒有該故障。
圖4 司機室多主控故障數(shù)據(jù)定義圖
解析軟件啟動時加載關鍵字定義表到內存鏈表,在查找指定數(shù)據(jù)的值時,程序可通過解析名直接獲取。以獲取車號為例,調用find_target 函數(shù),函數(shù)內部進行查表,如圖5所示。
圖5 find_target 函數(shù)程序示例圖
2.3.3 故障處理原理
在讀取關鍵字時,每種數(shù)據(jù)就可以根據(jù)Fault 值判斷是否為故障數(shù)據(jù),以及判斷是否發(fā)生故障的FaultValue 數(shù)據(jù)。故障數(shù)據(jù)約為2000 個以上,每秒都會接收到列車數(shù)據(jù),數(shù)據(jù)包大小為520 字節(jié),到達后逐位進行IF 判斷則會消耗大量性能。所以程序在加載時首先篩選全部故障數(shù)據(jù)的位置,并生成掩碼,在接收數(shù)據(jù)后首先將數(shù)據(jù)與掩碼進行與計算,剔除無用的數(shù)據(jù)位,隨后仍為1 的位與FaultValue 進行異或計算,從而篩選出有效的故障位。目前普遍采用的64 位CPU 與64 位系統(tǒng)可高效地進行故障判斷,一條運算指令可處理8 字節(jié)即4 個雙字,一個32 字節(jié)的端口數(shù)據(jù)最少執(zhí)行4 次就可以判斷是否存在故障,使用合理的算法提高了處理性能。隨后將故障顯示在界面上,并伴隨語音提示,同時將故障數(shù)據(jù)存儲在數(shù)據(jù)庫內,此時SQLite 數(shù)據(jù)庫性能已無法滿足要求,需要使用性能更好的MySQL 數(shù)據(jù)庫,故障數(shù)據(jù)存儲后,程序實現(xiàn)了查詢接口,檢索歷史故障。
該系統(tǒng)已在青島地鐵2 號線投入使用,車輛專業(yè)工程師可根據(jù)系統(tǒng)主界面顯示,獲取當日所有上線列車的運行狀態(tài)、當前故障等信息,主界面如圖6所示。當列車發(fā)生故障時,會觸發(fā)彈窗提醒工程師第一時間關注,縮短了故障信息以各種形式上報至車輛專業(yè)、乘務專業(yè)的時間。雙擊主界面可進入單列車界面,單列車界面可分類顯示列車各系統(tǒng)的故障、狀態(tài)。
圖6 系統(tǒng)主界面圖
青島地鐵2 號線電客車通過運用車地上傳數(shù)據(jù)解析技術,將列車關鍵運行數(shù)據(jù)同步至地面終端,縮短了故障響應時間,提高了故障處置效率,驗證了該線路電客車向數(shù)字化、智能化運維過渡的可行性,為后續(xù)數(shù)據(jù)深度運用奠定基礎