劉佳薇,楊 博,劉 琪
西安中車永電捷通電氣有限公司,陜西 西安 710018
隨著我國城市軌道交通的高速發展,地鐵給人們的出行帶來了極大的便利,同時也加快了城市建設的進度。在地鐵車輛中,列車控制與管理系統(train control and management system,TCMS)作為整輛車的核心,起到了中樞神經的作用,控制并監視著整個列車的運行[1],而人機接口單元(human machine interface,HMI)則方便地向司機和維修人員展示了整個列車的運行數據,因此該部分對于列車行車安全有著重要的意義[2-4]。基于傳統的顯示屏軟件架構,系統研制面臨著開發周期長、維護成本較高等諸多挑戰,已無法滿足下一代基于純國產化硬件平臺地鐵列車顯示屏系統的研制需求。為了滿足地鐵列車運行過程中的監控需求,及時解決列車調試過程中的問題,提高列車調試效率,同時滿足國內城市地鐵線路多期建設的特點,本文自主設計與開發了一種基于分層架構高可擴展插件式的地鐵列車顯示屏架構,具有易開發、易調試、易模塊化替換等的諸多特點。
每列車配有2套HMI,其中所使用的顯示屏大小為12.1英寸,分辨率為1 024×768。該平臺采用Linux操作系統,處理器為 ARM架構,主頻為800 MHz,512 MB DDR3內存。全觸摸無按鍵電阻屏,對比度700:1。
制動顯示屏的軟件開發基于嵌入式Linux操作系統,框架使用Qt框架,開發環境采用Qt Creator工具。Qt Creator提供了跨平臺、完整的Qt軟件開發環境(integrated development environment,IDE)[5-6]。
列車控制與管理系統(train control and management system,TCMS)是專為軌道交通車輛的控制和通信而設計的一套車載計算機系統[7]。圖1為上海地鐵6號線網絡拓樸圖,整車由4節車組成,由帶司機室的拖車Tc車和帶受電弓的動車Mp車組成。而本文所介紹的地鐵列車顯示屏軟件則是搭載于Tc車的人機接口單元HMI中,它可以向列車司機以及維修人員展示列車運行數據及各種子設備的狀態參數等。

圖1 上海地鐵6號線TCMS網絡拓撲結構圖
該軟件主要由常規、維修、設置和檢查4個功能模塊組成。用戶可以使用點按顯示屏的方式自由切換。
常規模式如圖2所示,主要針對列車司機。在該模式下,列車司機可以掌握整輛車的運行數據,包括列車速度、運行模式、報站方案以及一些子設備的狀態參數等。

圖2 常規模式
而維修模式則主要向用戶展示TCMS系統中各個子設備的技術參數、MVB硬線傳輸數據、TCMS系統各個軟件版本數據等。圖3為維修模式的畫面跳轉圖。

圖3 維修模式
進入設置模式,用戶可以對時鐘、列車編號、車門、乘車率、顯示屏語言、按鍵音量和一些子設備的累計能耗進行設置。圖4為設置模式的畫面跳轉圖。

圖4 設置模式
檢查模式則主要用于向用戶展示各種試驗數據。列車維護人員在列車駐車狀態下,可使用該模式進行各項試驗。圖5為檢查模式的畫面跳轉圖。

圖5 檢查模式
地鐵列車顯示屏軟件目標是在車載硬件和顯示屏硬件之間構建數據通信及展示的能力,實現司機對列車運行狀態的監控并及時感知各設備組件的告警信息,因此,軟件的系統邊界外有2個對象,分別是位于系統南側的車載硬件及位于系統北側的顯示屏,而該系統就是通過一系列能力,將車載硬件的信息及時、準確、靈活地展示在顯示屏中。圖6為HMI軟件的架構圖。

圖6 HMI軟件架構
為了完成數據的展示,本系統首先構建了數據采集層。該采集層通過硬件中的驅動模塊,將車載硬件的信息通過MVB總線采集至系統內。數據采集層中針對不同設備分別設置了多個數據采集器,這些采集器采集的硬件設備包括但不限于空調、車門、牽引、輔助及廣播等設備。
在數據采集層上,系統構建了邏輯處理層,負責對數據采集層獲取的數據按照預先定義的范式進行加工,將數據轉換為可顯示的形式。在邏輯處理層中,實現多個對數據處理的通用組件,如數據轉換組件、數據計算組件、端口映射組件等,及各硬件設備特有的專用組件,如車門異常檢測組件等。
在邏輯處理層上,系統構建了頁面加載層,負責將處理好的數據繪制到顯示屏系統中。在頁面加載層,首先構建了組件層,實現了頁面所需的公用組件,減少了開發成本并降低了后續系統的維護成本。在組件層上實現了繪制層,將處理好的數據按照界面設計中已規范化的形式進行數據加載,并完成最終的頁面渲染,同時,將異常告警及時展示在顯示屏中。
系統通過引入數據采集層、邏輯處理層及頁面加載層極大地提升了系統擴展的能力,當后續有新的硬件設備安裝并接入MVB總線后,只需在數據采集層擴展出對應的采集器,在邏輯處理層中實現硬件特有組件,并在頁面加載層繪制對應的設備頁面,即可完成新增硬件設備的顯示功能,即新引入的設備實現不對原有設備的實現進行修改,提高了系統整體的魯棒性,同時,在出現功能缺陷時,也可避免出現霰彈式修改。軟件通過構建數據采集層,邏輯處理層和頁面加載層,構建了高內聚、低耦合HMI軟件系統。
地鐵列車顯示屏軟件主要服務于列車駕駛人員以及列車維修人員,因此其畫面需要清晰明了地展示列車運行狀態以及列車歷史運行數據等。
圖7為上海地鐵6號線列車司機室顯示屏中的“常規-總體”界面,該界面的主要作用是向列車司機詳盡展示了列車的部分基本運行數據。

圖7 “常規-總體”畫面
為獲取到3.1中填充的BC壓力數據,須將從數據采集層獲取的數據進行進一步處理。從MVB總線獲取的BC壓力長度為8 bits,取值范圍為0~255,而BC對應的壓力值為0~10 bar,須將8 bits代表的BC壓力轉換為10進制后,再進行運算,規范化為可理解的壓力值。
為從MVB總線獲取到BC壓力對應的8 bits數據,需要按照預先定義的設備信息、字偏置及位置從MVB總線返回的數據流中獲取。
HMI對于整個TCMS系統來說十分重要,它就像是TCMS系統的眼睛一樣,司機和維護人員可以通過HMI了解到列車綜合的數據信息,包含其運行的狀態數據和故障數據等。本文提出的這種基于分層架構高可擴展的地鐵列車顯示屏軟件目前已經應用在上海地鐵6號線和8號線項目中,經過多次試驗和調試,列車現已進入運營階段。目前,軟件運行穩定,操作畫面友好,方便維護人員下載數據。該軟件架構方法對今后其他HMI應用軟件的開發具有很好的參考價值。