李翀,黃眾,覃事東,侯波
(中車株洲電力機(jī)車有限公司,湖南 株洲 412000)
隨著干線鐵路和城市軌道交通的快速發(fā)展,機(jī)車車輛運(yùn)營規(guī)模不斷擴(kuò)大。監(jiān)測和記錄車輛運(yùn)行數(shù)據(jù)對于提高車輛運(yùn)行安全性和可靠性更為重要。目前新造機(jī)車車輛大多安裝有車載無線傳輸裝置(WTD),可通過移動通信網(wǎng)絡(luò)或者Wi-Fi方式向地面發(fā)送車載數(shù)據(jù)。為使目前與之相適應(yīng)的地面監(jiān)控系統(tǒng)的數(shù)據(jù)實(shí)時性和可視化程度,以及多終端適配性能更好地滿足現(xiàn)實(shí)需求。本文采用內(nèi)存對象緩存技術(shù)、數(shù)據(jù)可視化框架和H5技術(shù),很好解決了上述問題,適應(yīng)不同的場景需求。
無線傳輸?shù)孛姹O(jiān)控系統(tǒng)主要由地面接收程序RemoteServer、MySQL數(shù)據(jù)庫、Memcached緩存服務(wù)器、應(yīng)用平臺四部分組成。車輛通過WTD采集車輛及其子系統(tǒng)的狀態(tài)數(shù)據(jù)和故障數(shù)據(jù),通過移動通信網(wǎng)絡(luò)或者Wi-Fi將數(shù)據(jù)發(fā)送至地面接收程序RemoteServer。RemoteServer按照通信協(xié)議將數(shù)據(jù)報文解析成JSON文本后存入Memcached服務(wù)器,同時將解析后的數(shù)據(jù)存入MySQL數(shù)據(jù)庫。頁面展示客戶端通過訪問Memcached服務(wù)器獲取車輛實(shí)時數(shù)據(jù)并在頁面刷新,通過訪問數(shù)據(jù)庫進(jìn)行故障和歷史數(shù)據(jù)分析。圖1顯示了系統(tǒng)工作原理。
機(jī)車車輛品種繁多,包括了機(jī)車、動車組、地鐵、有軌電車、磁浮等。每個類別面向用戶需求存在具體的產(chǎn)品型號,這導(dǎo)致車輛構(gòu)型、通信協(xié)議、數(shù)據(jù)定義和頁面顯示都存在差異。為實(shí)現(xiàn)車型差異化適配,采用以下解決方案:產(chǎn)品型號與無線傳輸數(shù)據(jù)協(xié)議對應(yīng);數(shù)據(jù)庫記錄以產(chǎn)品型號區(qū)分;采用JSON格式頁面顯示定義文件區(qū)別不同產(chǎn)品顯示方案。

圖1 地面監(jiān)控系統(tǒng)工作原理
車輛實(shí)時監(jiān)測數(shù)據(jù)量大,而且要求很高的刷新頻率。頻繁訪問MySQL數(shù)據(jù)庫方式,在面對大流量、高并發(fā)量的數(shù)據(jù)時,硬件的讀寫速度從某種角度講較大程度上限制了數(shù)據(jù)庫的性能,采用Memcached內(nèi)存對象緩存技術(shù)正好解決了上述問題。將數(shù)據(jù)分布式地緩存到多臺服務(wù)器的物理內(nèi)存中,查詢訪問不再涉及數(shù)據(jù)操作,節(jié)省了連接數(shù)據(jù)庫、解析SQL、執(zhí)行查詢等的開銷,可以非常有效的提高查詢的訪問效率。RemoteServer對報文解析后將數(shù)據(jù)按照規(guī)定的JSON格式存儲在Memcached服務(wù)端,同一車號的最新數(shù)據(jù)將覆蓋上一次數(shù)據(jù),保證Memcached服務(wù)端存儲每列車最新數(shù)據(jù)。
數(shù)據(jù)可視化是一種通過將數(shù)據(jù)編碼為可視對象如點(diǎn)、線、顏色、位置關(guān)系、動態(tài)效果等,并將對象組成圖形來傳遞數(shù)據(jù)信息的技術(shù)。其目的是以清晰且高效的方式將信息傳遞給用戶,是利用人眼的感知能力對數(shù)據(jù)進(jìn)行交互的可視化表達(dá)以增強(qiáng)數(shù)據(jù)認(rèn)知的技術(shù)。車輛地面監(jiān)控系統(tǒng)顯著的特點(diǎn)就是數(shù)據(jù)量大、實(shí)時性強(qiáng),因此對于數(shù)據(jù)可視化要求很高。系統(tǒng)采用了ECarts可視化庫,可提供豐富的可視化類型,由數(shù)據(jù)驅(qū)動,數(shù)據(jù)的改變驅(qū)動圖表展現(xiàn)的改變,并提供多維數(shù)據(jù)的支持以及豐富的視覺編碼手段。
系統(tǒng)應(yīng)用場景多樣化,用戶角色差異化。例如面向車輛運(yùn)營商存在監(jiān)控、調(diào)度與檢修需求,面向產(chǎn)品制造商存在監(jiān)測、調(diào)試試驗(yàn)和售后維護(hù)等需求。以上應(yīng)用場景的終端設(shè)備也存在差異,可能是大屏、Windows PC、Mac PC、Pad、手機(jī)等。為適應(yīng)上述需求,系統(tǒng)采用B/S架構(gòu),可以使用戶在不同的設(shè)備通過瀏覽器訪問一致性服務(wù)。采用H5技術(shù),可以很好提升移動終端用戶體驗(yàn),適配不同終端顯示屏。
RemoteServer采用C語言開發(fā),接受并解析來自WTD通過無線網(wǎng)絡(luò)發(fā)送的UDP報文。將報文解析成JSON格式數(shù)據(jù),存入Memcached服務(wù)器。將數(shù)字量和模擬量的車輛事件寫入數(shù)據(jù)記錄表。所有事件記錄拼接成一個字段,用特定符號分割,每個事件記錄在該字段的位置和通信協(xié)議的位偏移對應(yīng)。這樣大大減少數(shù)據(jù)量記錄。故障則先比對,再更新數(shù)據(jù)庫:RemoteServer根據(jù)故障代碼將該故障最新狀態(tài)與數(shù)據(jù)庫記錄進(jìn)行比對,如果是新產(chǎn)生故障,則直接插入;如果故障狀態(tài)發(fā)生改變(如故障消失),則更新,否則不更新。
應(yīng)用平臺采用J2EE技術(shù),運(yùn)用了SSH2框架,實(shí)現(xiàn)應(yīng)用平臺模型、邏輯和視圖層的分離。前臺頁面顯示使用HTML5、CSS3和JavaScript技術(shù),運(yùn)用了Bootstrap前端開發(fā)框架。
(1)運(yùn)行監(jiān)控。運(yùn)行監(jiān)控實(shí)現(xiàn)列車激活后狀態(tài)的實(shí)時監(jiān)測。包括列車運(yùn)行狀態(tài)數(shù)據(jù),如網(wǎng)壓、速度、總風(fēng)壓力;各子系統(tǒng)狀態(tài),如車門開關(guān)門狀態(tài)、空調(diào)壓縮機(jī)啟動狀態(tài);累計數(shù)據(jù)的顯示,如總能耗、運(yùn)行里程等;當(dāng)前故障信息,如ATC通信故障、車門嚴(yán)重故障等。圖2顯示了某有軌電車實(shí)時狀態(tài)監(jiān)測。
(2)位置追蹤。位置追蹤基于GPS定位和百度地圖API,功能包括了全網(wǎng)線路跟蹤和單列跟蹤。車輛上傳的經(jīng)緯度數(shù)據(jù)經(jīng)過轉(zhuǎn)換后實(shí)現(xiàn)車輛位置在地圖顯示并刷新。同時根據(jù)列車運(yùn)行軌跡可以繪制線路圖,根據(jù)列車速度曲線確定站點(diǎn)位置。
(3)故障查詢與分析。根據(jù)故障等級、故障發(fā)生系統(tǒng)或部件、故障當(dāng)前狀態(tài)以及時間查詢車輛當(dāng)前及歷史故障。
通過故障分析,可以獲取列車故障類型統(tǒng)計分析報表,獲取每個子系統(tǒng)或部件的故障數(shù)據(jù),用于車輛可靠性分析。
(4)數(shù)據(jù)分析。數(shù)據(jù)分析提供列車單個和多個參數(shù)的時域分析。分析的數(shù)據(jù)為車輛全量數(shù)據(jù),包括狀態(tài)參數(shù)、故障信息和環(huán)境參數(shù)等。支持一定周期內(nèi)車輛運(yùn)行記錄分析以及子部件狀態(tài)分析,以及針對某個故障的原因分析。圖3顯示了某儲能有軌電車周期內(nèi)電壓變化曲線,用于儲能電源模塊故障分析。

圖3 某儲能式有軌電車模組電壓時域分析
本文采用內(nèi)存對象緩存技術(shù)提升系統(tǒng)數(shù)據(jù)刷新性能,通過H5技術(shù)和數(shù)據(jù)可視化框架滿足了多終端數(shù)據(jù)顯示需求,能夠應(yīng)對不同用戶和場景的需求。但是目前對于車輛數(shù)據(jù)分析仍然停留在傳統(tǒng)的邏輯分析層面,缺乏有效的數(shù)據(jù)挖掘手段。后續(xù)將通過對接大數(shù)據(jù)平臺,實(shí)現(xiàn)車輛數(shù)據(jù)挖掘,用于車輛狀態(tài)分析,故障診斷和預(yù)測,實(shí)現(xiàn)車輛的基于狀態(tài)維修。