張立國
(中車青島四方機(jī)車車輛股份有限公司技術(shù)中心,266111,青島∥高級(jí)工程師)
基于Matlab/GUI的地鐵車輛試驗(yàn)數(shù)據(jù)分析系統(tǒng)
張立國
(中車青島四方機(jī)車車輛股份有限公司技術(shù)中心,266111,青島∥高級(jí)工程師)
針對(duì)地鐵列車制動(dòng)試驗(yàn)數(shù)據(jù)處理量較大,人工處理步驟繁瑣、耗時(shí)較長、過程易錯(cuò)等問題,開發(fā)了基于Matlab/GUI的地鐵車輛數(shù)據(jù)分析系統(tǒng),解決了快速讀取數(shù)據(jù)、制動(dòng)過程判斷的算法問題,實(shí)現(xiàn)了數(shù)據(jù)可編輯式修正預(yù)處理、數(shù)據(jù)讀取、數(shù)據(jù)單曲線繪圖和多曲線繪圖、有效制動(dòng)次數(shù)的統(tǒng)計(jì)、制動(dòng)過程車輪和閘瓦溫度峰值的提取以及自動(dòng)生成報(bào)表等功能。通過測(cè)試分析與驗(yàn)證結(jié)果表明,該系統(tǒng)實(shí)現(xiàn)了任意時(shí)間區(qū)段的列車速度、加速度、踏面溫度、車輪溫度、制動(dòng)缸壓力等曲線的繪制及報(bào)表的自動(dòng)生成,系統(tǒng)可靠、高效、簡便,數(shù)據(jù)處理精度保持與原始數(shù)據(jù)一致。
地鐵車輛; 制動(dòng)試驗(yàn); 數(shù)據(jù)分析; 自動(dòng)報(bào)表
Author′s address Technical Center of China Qingdao Sifang Locomotive Company Limited,266111,Qingdao,China
地鐵車輛數(shù)據(jù)分析工作是通過對(duì)地鐵車輛數(shù)據(jù)的收集、加工、統(tǒng)計(jì)、分析,對(duì)地鐵車輛的狀況做出科學(xué)判斷,并在此基礎(chǔ)上形成分析報(bào)告,供相關(guān)人員閱讀、理解和利用。我國地鐵車輛種類繁多、數(shù)量龐大,而且隨著測(cè)試檢驗(yàn)的項(xiàng)點(diǎn)增多、測(cè)試數(shù)據(jù)的類型多樣、測(cè)試周期的逐漸縮短,對(duì)地鐵車輛進(jìn)行分析評(píng)估的效率很難滿足需求。因?yàn)椴僮髁鞒虖?fù)雜、分析結(jié)果易錯(cuò)、處理等待時(shí)間過長等原因,通常的人工分析處理方式已失去意義。因此,開發(fā)一款可以進(jìn)行試驗(yàn)數(shù)據(jù)處理并能自動(dòng)生成報(bào)表的軟件有著重要的意義。文獻(xiàn)[2]基于SQL建立地鐵車輛運(yùn)行數(shù)據(jù)庫,研制數(shù)據(jù)管理軟件。文獻(xiàn)[3]研究了基于程序自動(dòng)化技術(shù)的通用報(bào)表的設(shè)計(jì)技術(shù),通用報(bào)表將報(bào)表框架與報(bào)表數(shù)據(jù)分開,用戶可根據(jù)需要自主選擇數(shù)據(jù)來源和分析結(jié)果,系統(tǒng)可以自動(dòng)快速生成報(bào)表,方便用戶迅速通過數(shù)據(jù)分析結(jié)果得到研究對(duì)象的特征要求。
本文以某地鐵列車線路運(yùn)行試驗(yàn)為背景,結(jié)合Matlab工具,利用Matlab高效率的矩陣運(yùn)算特點(diǎn)縮短數(shù)據(jù)處理時(shí)間;利用Matlab強(qiáng)大的數(shù)值計(jì)算、顯示和圖形化實(shí)現(xiàn)用戶界面功能;運(yùn)用多核計(jì)算方法提取數(shù)據(jù),編制以制動(dòng)指令為參照的制動(dòng)判斷算法,自動(dòng)生成數(shù)據(jù)圖象及表格報(bào)表。通過試驗(yàn)數(shù)據(jù)驗(yàn)證了軟件功能及其可靠性。
(1) 數(shù)據(jù)的數(shù)量多。地鐵車輛試驗(yàn)數(shù)據(jù)量龐大、數(shù)據(jù)格式繁多、數(shù)據(jù)種類多樣,通常通過采集設(shè)備以TXT、Excel、Access、TDMS等方式保存。各種編程語言均能實(shí)現(xiàn)對(duì)不同類型數(shù)據(jù)文件的多種讀取方式。數(shù)據(jù)讀取方式取決于采集設(shè)備的數(shù)據(jù)保存方式,目前以SQL數(shù)據(jù)庫為主流數(shù)據(jù)采集保存方式,讀取速度快,數(shù)據(jù)更新簡便,但數(shù)據(jù)庫增大后可移動(dòng)性變差,如果只提供Excel型數(shù)據(jù)進(jìn)行分析,數(shù)據(jù)庫的使用也就沒有了明顯意義。在要求快速開發(fā)周期的前提下,應(yīng)該減少不同編程語言之間的聯(lián)合,且兼顧讀取快速、后處理分析簡便等特點(diǎn)。
(2) 數(shù)據(jù)的文件量多。采集設(shè)備采集數(shù)據(jù)時(shí)會(huì)預(yù)設(shè)一個(gè)采集文件的上限,在連續(xù)、長時(shí)間采集,或因采集設(shè)備故障、人為等因素間斷采集時(shí),采集的數(shù)據(jù)文件數(shù)量會(huì)增多,多文件讀取不同于單一文件讀取,需要優(yōu)化讀取方式以避免讀取時(shí)間的成倍增長。
(3) 數(shù)據(jù)的提取項(xiàng)多。對(duì)車輛的運(yùn)行狀況進(jìn)行分析需要提取每個(gè)文件中的速度、加速度、制動(dòng)缸壓力等多種不同的特征項(xiàng),并通過圖表等方式直觀地表現(xiàn)出來。不同物理量的單曲線繪圖和不同物理量之間的多曲線繪圖,對(duì)分析挖掘車輛數(shù)據(jù)的內(nèi)在信息,對(duì)進(jìn)一步研究列車的運(yùn)行效能有重要意義,因此需要實(shí)現(xiàn)曲線的批量繪制,并保障曲線的美觀性。
2.1 系統(tǒng)架構(gòu)與設(shè)計(jì)方案
針對(duì)Excel數(shù)據(jù)文件進(jìn)行系統(tǒng)設(shè)計(jì),設(shè)計(jì)預(yù)處理、制動(dòng)分析、輪邊溫度分析三個(gè)模塊。預(yù)處理模塊能通過數(shù)據(jù)的數(shù)值運(yùn)算進(jìn)行修正并能更新原始數(shù)據(jù)流;制動(dòng)分析模塊將原始或預(yù)處理后的數(shù)據(jù)導(dǎo)入分析,實(shí)現(xiàn)時(shí)間區(qū)段的顯示、制動(dòng)次數(shù)的統(tǒng)計(jì)、單曲線繪圖、多曲線繪圖、特征數(shù)據(jù)的提取統(tǒng)計(jì)以及標(biāo)準(zhǔn)化報(bào)表的自動(dòng)生成;輪邊溫度分析模塊導(dǎo)入與制動(dòng)分析模塊不同采樣頻率的數(shù)據(jù)并統(tǒng)一化采樣標(biāo)準(zhǔn),自由選擇時(shí)間區(qū)段,繪制輪邊溫度曲線并能自動(dòng)生成報(bào)表。系統(tǒng)架構(gòu)如圖1所示。
圖1 地鐵車輛數(shù)據(jù)分析系統(tǒng)架構(gòu)圖
使用GUIDE設(shè)計(jì)系統(tǒng)界面,如圖2所示。所有操作功能均設(shè)計(jì)在一個(gè)界面,在系統(tǒng)主界面可進(jìn)行相應(yīng)的數(shù)據(jù)提取、數(shù)據(jù)調(diào)整、數(shù)據(jù)顯示和輸出等操作。
2.2 算法及功能實(shí)現(xiàn)
2.2.1 數(shù)據(jù)快速導(dǎo)入及處理
由于采集器的定義、采集數(shù)據(jù)包含不同意義物理量導(dǎo)致使用多個(gè)通道,因此采集的數(shù)據(jù)文件轉(zhuǎn)化為Excel后是一個(gè)包含多個(gè)Sheet的文件,這就造成了文件數(shù)據(jù)比較瑣碎。無論是直接操作打開還是利用軟件讀取都需要較長的時(shí)間。本文利用Matlab多核計(jì)算算法讀取數(shù)據(jù),節(jié)約系統(tǒng)運(yùn)行操作時(shí)間。
為了能夠提高數(shù)據(jù)的處理能力,節(jié)約系統(tǒng)運(yùn)行時(shí)間,在重復(fù)讀取數(shù)據(jù)中盡量采用結(jié)構(gòu)一致的循環(huán)模式,通過修改循環(huán)中的for為parfor,將相似的讀寫指令分入計(jì)算機(jī)不同的線程進(jìn)行操作。Matlab多核計(jì)算與其他編程語言多核計(jì)算的不同點(diǎn)在于:只是循環(huán)語句下的多核計(jì)算,形式較為單一,需要多核計(jì)算的代碼所執(zhí)行的語句應(yīng)該相同,內(nèi)容應(yīng)盡量相似。同時(shí),parfor語句由于不能使用雙重嵌套,因此需要for-parfor格式進(jìn)行嵌套程序的使用。
圖2 地鐵車輛數(shù)據(jù)分析系統(tǒng)主界面
按照多核計(jì)算方法運(yùn)行一個(gè)60 M數(shù)據(jù)文件時(shí)間為43.78 s;根據(jù)未修改程序運(yùn)行相同程序,耗時(shí)85.77 s,效率提升48.9%。說明利用多線程計(jì)算可以明顯節(jié)約運(yùn)行時(shí)間。而且當(dāng)數(shù)據(jù)量越大的時(shí)候,相對(duì)節(jié)約時(shí)間越多。
2.2.2 制動(dòng)信息統(tǒng)計(jì)與分析
由于數(shù)據(jù)文件多,且通常在試驗(yàn)結(jié)束或者一定時(shí)間后才進(jìn)行數(shù)據(jù)的分析處理,為便于分析,需要統(tǒng)計(jì)一個(gè)或者幾個(gè)數(shù)據(jù)文件中包含的有效制動(dòng)次數(shù)。針對(duì)相應(yīng)要求,編制以制動(dòng)指令為參照的制動(dòng)判斷算法。制動(dòng)指令是一個(gè)0/1數(shù)字信號(hào),在列車開始制動(dòng)時(shí)跳變,制動(dòng)結(jié)束時(shí)回零。定位制動(dòng)指令是以數(shù)字電平信號(hào)高低轉(zhuǎn)換時(shí)間進(jìn)行判斷,獲取可能的制動(dòng)次數(shù)N;通過制動(dòng)末態(tài)速度應(yīng)小于1 km/h,向上浮動(dòng)取1.5 km/h為判定值,剔除無試驗(yàn)意義的車輛對(duì)標(biāo)或車輛低速度挪移。 圖3為制動(dòng)判斷算法流程圖。
圖3 制動(dòng)判定算法流程圖
2.2.3 自動(dòng)報(bào)表生成
系統(tǒng)分析數(shù)據(jù)后能夠自動(dòng)生成報(bào)表,統(tǒng)計(jì)各特征參數(shù)。調(diào)用matlab中特定的office接口,利用activeserver函數(shù),創(chuàng)建Microsoft word服務(wù)器,使用代碼命令控制word,生成所需要的報(bào)表。調(diào)用流程圖如圖4所示。
圖4 系統(tǒng)自動(dòng)生成報(bào)表時(shí)的word調(diào)用流程圖
應(yīng)用本系統(tǒng)對(duì)某城市地鐵車輛試驗(yàn)的離線數(shù)據(jù)進(jìn)行分析處理,以驗(yàn)證系統(tǒng)的可靠性。隨機(jī)選取某段時(shí)間運(yùn)行數(shù)據(jù)進(jìn)行驗(yàn)證,在使用過程中針對(duì)可能出現(xiàn)的情況給予彈窗提示,增加系統(tǒng)使用的體驗(yàn)性。預(yù)處理中每次修改數(shù)據(jù)時(shí)提示完成并顯示已修改項(xiàng),方便用戶操作;對(duì)導(dǎo)入數(shù)據(jù)是否存在有效制動(dòng)進(jìn)行提示,排除無用的離線數(shù)據(jù),提高分析效率;增設(shè)時(shí)間查詢區(qū)段設(shè)定完整性,防止用戶誤操作而導(dǎo)致的時(shí)間設(shè)定錯(cuò)誤,完善軟件的使用體驗(yàn)。圖5為制動(dòng)次數(shù)統(tǒng)計(jì)彈窗警示,在數(shù)據(jù)中無有效制動(dòng)過程時(shí)彈窗警示。
圖5 制動(dòng)次數(shù)彈窗警示
系統(tǒng)處理后的數(shù)據(jù),能夠生成速度曲線全局預(yù)覽圖、速度曲線分段預(yù)覽圖、輪邊溫度預(yù)覽圖。圖6為地鐵車輛運(yùn)行速度曲線全局預(yù)覽圖,顯示有效制動(dòng)次數(shù)為3次,與實(shí)際情況相符??焖兕A(yù)功能滿足用戶的預(yù)查詢要求,提升系統(tǒng)的實(shí)際適應(yīng)能力。
選定合適的時(shí)間區(qū)段后,自動(dòng)生成速度、加速度、沖動(dòng)、閘瓦溫度、車輪溫度、制動(dòng)缸壓力的時(shí)間曲線圖及數(shù)值統(tǒng)計(jì)報(bào)表,圖7為寫入word報(bào)表后的列車速度曲線圖。繪圖處理及報(bào)表生成的時(shí)間為2 s,速度快、圖象精良、統(tǒng)計(jì)結(jié)果準(zhǔn)確,在實(shí)現(xiàn)要求的同時(shí)提升了用戶體驗(yàn)性。
圖6 地鐵車輛運(yùn)行速度曲線全局預(yù)覽圖
圖7 寫入word報(bào)表后的列車速度曲線圖
基于MATLAB/GUI開發(fā)軟件平臺(tái)的離線數(shù)據(jù)處理與分析系統(tǒng),運(yùn)用多核計(jì)算方法快速導(dǎo)入數(shù)據(jù),編制有效制動(dòng)判斷算法,根據(jù)制動(dòng)分析需求對(duì)某地鐵線路48 h的試驗(yàn)數(shù)據(jù)進(jìn)行分析。結(jié)果表明:使用MATLAB/GUI開發(fā)的數(shù)據(jù)分析處理系統(tǒng),性能可靠,操作界面簡潔方便,人機(jī)交互功能良好;能夠減少人工處理數(shù)據(jù)的時(shí)間,提高處理分析的效率及準(zhǔn)確性;能夠高效地導(dǎo)入數(shù)據(jù),并能夠自由化對(duì)數(shù)據(jù)進(jìn)行修正;自動(dòng)報(bào)表功能可以一鍵生成所有特征物理量的時(shí)間軸曲線圖,統(tǒng)計(jì)制動(dòng)初速、制動(dòng)最大加速度、閘瓦及車輪峰值溫度等物理量,生成表格文件,獲得直觀的分析結(jié)果。系統(tǒng)設(shè)計(jì)采用模塊化設(shè)計(jì)架構(gòu),模塊調(diào)整靈活,后續(xù)升級(jí)方便,是城市軌道交通列車試驗(yàn)離線數(shù)據(jù)處理的有用工具。
[1] 陳銳.數(shù)據(jù)分析用于地鐵運(yùn)營設(shè)備維保管理[J].設(shè)備管理與維修,2016(3):9-11.
[2] 張森,蔡昌俊,何正友,等.地鐵綜合監(jiān)控系統(tǒng)可靠性分析與數(shù)據(jù)管理軟件研制[J].交通運(yùn)輸工程與信息學(xué)報(bào),2007(4):89-94.
[3] 王海瑞,鄒繼良.基于程序自動(dòng)化技術(shù)的通用報(bào)表的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2006(36):251-253.
[4] 周紅進(jìn),王秀森.基于MatLab的海量數(shù)據(jù)處理方法[J].計(jì)算機(jī)與數(shù)字工程,2012,(5):89-90.
[5] 徐海云,涂雄苓.海量數(shù)據(jù)導(dǎo)入與導(dǎo)出MATLAB的有效方法[J].數(shù)理統(tǒng)計(jì)與管理,2007(4):649-655.
[6] 焦勇,周喻虹.基于MATLAB的快速圖形化數(shù)據(jù)處理軟件設(shè)計(jì)[J].電子科技,2005(7):40-42.
[7] 任磊,杜一,馬帥,等.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報(bào),2014(9):1909-1936.
On Metro Vehicle Test Data Analysis System Based on Matlab/GUI
ZHANG Liguo
Aiming at problems of huge amount of data on metro vehicle brake test,low efficient manual processing and error prone process,a programming language is developed based on Matlab/GUI method,it could solved problems like quick data reading and algorithmic of determination during the braking process,achieve functions of data pre-processing,data read,multi-curve and single-curve chart,and statistics collection of effective braking numbers,extract the peak temperature of wheel and brake shoes,generate report automatically.The test and analysis results show that this system could achieve automatic chart generation of velocity,acceleration,tread temperature,wheel temperature,pressure curve of brake cylinder at any time zones,the data processing is precise and in accordance with the initial data.
metro vehicle; brake test; data analysis; automated reporting
TP274+.2:U231
10.16037/j.1007-869x.2016.12.012
2016-08-07)