劉承勃 張升 郭宵彬 苗新芳
(中車青島四方機(jī)車車輛股份有限公司,山東青島 266111)
《國務(wù)院辦公廳關(guān)于保障城市軌道交通安全運(yùn)行的意見》于2018年3月正式發(fā)布,對于新時期城市軌道交通的重要性及其安全保障技術(shù)的應(yīng)用提出明確要求。當(dāng)前城市軌道交通系統(tǒng)在運(yùn)行過程中常運(yùn)用軌道電路、應(yīng)答器、多傳感器信息融合等設(shè)備及技術(shù)進(jìn)行列車定位,但在信號系統(tǒng)出現(xiàn)故障時僅依靠人工記點無法滿足精確定位要求。在此背景下,通過引入無線射頻識別技術(shù)(RFID),利用電子標(biāo)簽與閱讀器間的識別、感應(yīng)、發(fā)射、解碼與傳遞等機(jī)制實現(xiàn)自動報點功能,能夠有效提高定位精度、節(jié)約維護(hù)成本、屏蔽噪聲干擾,對于列車自動定位功能的實現(xiàn)與軌道交通安全運(yùn)行具有重要應(yīng)用價值。
一方面,出于相關(guān)部門對于列車運(yùn)行控制系統(tǒng)的信息安全保護(hù)需求,在系統(tǒng)設(shè)計環(huán)節(jié)需提供用戶權(quán)限管理功能,分別針對中央級、車站級2個級別進(jìn)行用戶權(quán)限的分配,包括在中央級設(shè)置整體軌道交通系統(tǒng)信息調(diào)度與查看、用戶權(quán)限管理與身份認(rèn)證、系統(tǒng)運(yùn)維等功能,在車站級設(shè)置列車發(fā)車、到達(dá)以及乘客導(dǎo)向等信息的管理功能[1]。另一方面,根據(jù)列車記點系統(tǒng)的實際應(yīng)用情況,該系統(tǒng)需將列車運(yùn)行過程中經(jīng)過各車站采集到的站點數(shù)據(jù)匯總,并上傳至上級控制系統(tǒng),因此需分別完成中央級、車站級系統(tǒng)設(shè)計[2]。中央級管理系統(tǒng)需提供列車實時位置查詢、電子標(biāo)簽與讀寫器等基礎(chǔ)設(shè)施運(yùn)維管理、數(shù)據(jù)存儲與查詢、人工補(bǔ)錄信息、系統(tǒng)安全管理以及行車日志管理等功能,車站級管理系統(tǒng)則需提供用戶登錄管理、列車實時記點、歷史記點數(shù)據(jù)統(tǒng)計與查詢等功能。
在軟件設(shè)計上,服務(wù)器端、客戶端分別使用Windows Server 2012和Linux操作系統(tǒng),在服務(wù)器端配置基于SQL Server 2008的數(shù)據(jù)庫管理系統(tǒng)以及本文設(shè)計的列車自動記點系統(tǒng)。在硬件設(shè)計上,服務(wù)器端工作站配置雙路十六核CPU,512GB DDR4內(nèi)存,部分插槽支持64GB容量,主板支持三路顯卡;客戶機(jī)端配置六核CPU,主板部分?jǐn)U展槽為3×PCI-E,16GB DDR4內(nèi)存;其他網(wǎng)絡(luò)設(shè)備包含RFID閱讀器、電子標(biāo)簽以及計算機(jī)處理系統(tǒng)等。
基于安全性、可擴(kuò)展性、界面友好等原則進(jìn)行系統(tǒng)設(shè)計,選用2.4G超高頻有源RFID電子標(biāo)簽,以車站各站臺為基準(zhǔn),分別在上行列車、下行列車兩側(cè)對應(yīng)的列車進(jìn)站??亢筌囶^、車尾所處區(qū)域安裝1臺閱讀器,其中沿上行列車方向布設(shè)閱讀器編號為R2-U和R1-U,沿下行列車方向布設(shè)閱讀器R2-D、R1-D,用于讀取站臺電子標(biāo)簽信息[3]。在各列車車身上分別標(biāo)有車體號,在上、下行列車車頭位置安裝編號為T1-U、T1-D的RFID有源電子標(biāo)簽,車尾安裝T2-U、T2-D 2個RFID標(biāo)簽,各標(biāo)簽中分別存有列車的ID即車體號信息。當(dāng)列車進(jìn)出站時車頭、車尾分別靠近布設(shè)在站臺相應(yīng)位置的閱讀器,利用閱讀器讀取標(biāo)簽信息,并經(jīng)由RFID網(wǎng)絡(luò)設(shè)備獲取對應(yīng)的車體號[4]。
(1)網(wǎng)絡(luò)架構(gòu)設(shè)計?;贘2EE開發(fā)標(biāo)準(zhǔn)與SSM框架進(jìn)行列車自動記點系統(tǒng)網(wǎng)絡(luò)架構(gòu)設(shè)計,將系統(tǒng)整體框架劃分為4個層級:1)表示層。選用Spring MVC建構(gòu)整體框架,用于對系統(tǒng)內(nèi)各層級業(yè)務(wù)進(jìn)行管控,將用戶傳送請求調(diào)用后反饋至系統(tǒng)界面。2)業(yè)務(wù)邏輯層。基于Spring技術(shù)提供IoC容器,支持對目標(biāo)信息進(jìn)行查找與定位,并完成對象創(chuàng)建,對業(yè)務(wù)模型及邏輯進(jìn)行管理,保證數(shù)據(jù)完整性。3)數(shù)據(jù)持久層。選用Mybatis框架建構(gòu),內(nèi)部提供數(shù)據(jù)資源、檢索工具、查詢語言以及其他服務(wù)功能,可與MySQL數(shù)據(jù)庫建立連接,并反饋處理結(jié)果。4)實體層。用于控制和管理實體設(shè)備。在系統(tǒng)整體部署上,表示層作為列車自動記點系統(tǒng)門戶,用于展示系統(tǒng)界面;業(yè)務(wù)邏輯層由應(yīng)用、管理2個模塊組成,應(yīng)用模塊提供列車運(yùn)行管理、實時記點與歷史記點數(shù)據(jù)管理、讀寫器與電子標(biāo)簽管理、網(wǎng)絡(luò)管理等功能;應(yīng)用支持層包含工作流引擎、中間件以及安全組件;數(shù)據(jù)層包含記點、設(shè)備以及管理3類數(shù)據(jù)庫。
(2)功能模塊設(shè)計。依據(jù)系統(tǒng)層級區(qū)別進(jìn)行功能模塊設(shè)計,中央級管理系統(tǒng)作為上級系統(tǒng)需同時支持車站級管理系統(tǒng)提供的具體功能,因此該系統(tǒng)的功能模塊更加完善,主要分為4部分:1)用戶權(quán)限管理與身份認(rèn)證模塊,面向中央級、車站級用戶提供不同管理權(quán)限,用戶經(jīng)由身份認(rèn)證后支持對用戶信息進(jìn)行新建、修改、刪除及更新等功能。2)列車信息調(diào)度與查看模塊,用于對列車實時位置、運(yùn)行狀態(tài)、自動記點以及歷史記點信息進(jìn)行管理。3)硬件設(shè)備管理模塊,主要用于實現(xiàn)對電子標(biāo)簽狀態(tài)、讀寫器狀態(tài)以及RFID網(wǎng)絡(luò)運(yùn)行狀態(tài)的自動監(jiān)測,并將相關(guān)狀態(tài)信息反饋至界面進(jìn)行顯示。4)數(shù)據(jù)庫管理模塊,將基于RFID技術(shù)采集的列車信息收集、存儲與備份,支持?jǐn)?shù)據(jù)查詢與恢復(fù)功能,并提供外部接口等。
(3)數(shù)據(jù)庫設(shè)計?;诎踩?、穩(wěn)定性、容錯性以及通用性原則進(jìn)行系統(tǒng)數(shù)據(jù)庫設(shè)計,標(biāo)識為TAPS,并根據(jù)SQL Server 2008進(jìn)行不同字段類型的識別與判斷。依據(jù)系統(tǒng)功能需求將數(shù)據(jù)類型大體劃分為用戶、列車、車站、標(biāo)簽以及讀寫器5類,細(xì)化不同數(shù)據(jù)的表結(jié)構(gòu)設(shè)計,明確字段名稱、字段名、字段類型、能否為空等信息。以列車信息表為例,該表包含5個字段,其中車體號的字段名稱為Train ID,字段類型為Int,不能為空;所在線路,Subwayline ID,nvarchar(20),否;車站標(biāo)識,Station ID,Int,否;列車位置,Localtion,nvarchar(20),否;列車狀態(tài),TrainState,nvarchar(20),否。
基于上述技術(shù)方案設(shè)計思路,在系統(tǒng)設(shè)計環(huán)節(jié)需建構(gòu)列車位置檢測與識別邏輯,用于判斷列車進(jìn)出站、停站、折返、故障晚點、越站等運(yùn)行狀態(tài),并支持識別列車的行車方向、運(yùn)行軌跡及實時位置等信息,擬圍繞列車位置檢測、行車方向判斷2個層面進(jìn)行自動記點算法的建構(gòu),輔助實現(xiàn)列車定位功能。
將閱讀器檢測、識別電子標(biāo)簽的行為設(shè)為RB,4個閱讀器分別標(biāo)記為RB-U-1、RB-U-2、RB-D-1和RB-D-2,以行車方向作為分類依據(jù)進(jìn)行列車常規(guī)運(yùn)行流程的建構(gòu)。沿列車上行方向進(jìn)行5種狀態(tài)設(shè)計:(1)列車未進(jìn)站,4個讀卡器均處于初始狀態(tài),即RB=0。(2)列車剛進(jìn)站,RB-U-1、RB-D-2讀卡器分別讀取車頭標(biāo)簽,確認(rèn)列車行進(jìn)方向,即RB=1。(3)列車進(jìn)站完成,RB-U-2、RB-D-1讀取車頭標(biāo)簽,RB-U-1、RB-D-2讀取車尾標(biāo)簽,求取經(jīng)驗值記為列車進(jìn)站??繒r間,即RB=2。(4)列車出站,RU-U-2、RB-D-1讀取車尾標(biāo)簽,讀卡器讀取超時,取經(jīng)驗值記為出站用時,即RB=3。(5)列車區(qū)段出清,讀卡器讀取再次超時,即RB=4。沿列車下行方向重復(fù)上述流程,讀卡器讀取車頭、車尾標(biāo)簽與上行方向相反。
針對讀卡器閱讀行為分別設(shè)置閱讀狀態(tài)RB,用于求取不同列車狀態(tài)過渡階段對應(yīng)的經(jīng)驗值,完成時間參數(shù)的統(tǒng)計分析,并且RB需根據(jù)RS數(shù)值變化進(jìn)行動態(tài)調(diào)整。設(shè)RB每間隔1s讀取到RS的次數(shù)為n,則當(dāng)RS=0時,n=0;當(dāng)RS=1時,n取值區(qū)間為[1,2];當(dāng)RS=2時,n取值區(qū)間為[3,30];當(dāng)RS=3時,n不小于60。利用布爾值進(jìn)行列車狀態(tài)屬性TS的描述,列車狀態(tài)包含進(jìn)站、??俊⒊稣?、區(qū)段出清、故障等類型,其中當(dāng)列車處于初始化狀態(tài)時,對應(yīng)的TS屬性為假;當(dāng)列車處于進(jìn)站狀態(tài)時,對應(yīng)的進(jìn)站TS屬性為真;當(dāng)列車發(fā)生故障后,對應(yīng)的故障TS屬性為真。當(dāng)有新列車進(jìn)站時,RB、RS與TS均需經(jīng)由初始化完成更新。
以下行方向為例進(jìn)行列車進(jìn)出站邏輯的設(shè)計,列車進(jìn)站流程為:開始→A點閱讀器讀取車頭標(biāo)簽→記錄讀取時刻,開始計時→30s內(nèi)B點閱讀器讀取車頭標(biāo)簽→記錄讀取時刻→A點站臺閱讀器連續(xù)n次讀取車頭標(biāo)簽信息,當(dāng)判斷該閱讀器讀取超時,由B點站臺閱讀器連續(xù)n次讀取車尾標(biāo)簽信息,倘若該閱讀器仍讀取超時,則判斷為列車越站→成功讀取車頭/車尾標(biāo)簽,列車進(jìn)站。列車出站流程為:開始→A點閱讀器讀取車尾標(biāo)簽,或B點閱讀器讀取車頭標(biāo)簽→記錄讀取時刻,開始計時→A點閱讀器連續(xù)n次均未成功讀取車尾標(biāo)簽,或B點閱讀器連續(xù)n次未成功讀取車頭標(biāo)簽,倘若閱讀器成功讀取標(biāo)簽,則判斷為列車延時超過,并由列車站臺發(fā)出故障告警;反之則記錄出站時刻,并開始計時→30s內(nèi)B點站臺閱讀器讀取車尾標(biāo)簽→列車區(qū)段出清。
基于模塊化設(shè)計思路實現(xiàn)系統(tǒng)邏輯判斷與更新功能,輔助完成列車記點、記時以及列車運(yùn)行狀態(tài)的實時更新。當(dāng)有新的列車進(jìn)站時,閱讀器通過讀取車頭或車尾標(biāo)簽獲得列車ID,圍繞以下4種列車狀態(tài)進(jìn)行邏輯判斷:(1)列車到站即RB=1時,閱讀器檢測車頭或車尾標(biāo)簽,記錄此時刻t1,以閱讀器實際讀取次數(shù)n時刻的平均值記為到站時間(n≦2);當(dāng)RB>1且RS>1時,判斷列車出現(xiàn)故障。(2)列車進(jìn)站即RB=2時,閱讀器檢測標(biāo)簽并記錄臨時時間點t2’,當(dāng)RB=2狀態(tài)持續(xù)一段時間后,即可判斷列車進(jìn)站完畢,此時記錄列車進(jìn)站時刻t2,取閱讀器實際讀取次數(shù)n的時間均值記為進(jìn)站時間;當(dāng)RB>2且RS>2時,判斷列車出現(xiàn)故障。(3)列車出站即RB=0時,TS屬性為真,取RB變化為0時實際讀取次數(shù)前n-4次的時間均值記為列車出站時刻t3。(4)列車區(qū)段出清即RB=4時,以閱讀器實際讀取次數(shù)n時刻的平均值記為出清時間(n≦2);當(dāng)RB>2且RS>2時,判斷列車出現(xiàn)故障。
基于系統(tǒng)建構(gòu)的軟硬件環(huán)境,采用黑盒測試方法進(jìn)行系統(tǒng)核心業(yè)務(wù)模塊的功能測試,測試對象包含列車運(yùn)行功能、車站布設(shè)工作站的實時記點功能、歷史記點數(shù)據(jù)功能以及中央級系統(tǒng)等功能的實現(xiàn)情況。以布設(shè)在各車站的工作站記點情況為例,選取ZSGY站點作為驗收站,主要驗收內(nèi)容為該站工作站界面,測試內(nèi)容包含以下2方面:在本站層面,輸入列車狀態(tài)判斷為列車進(jìn)站或出站,期望輸出該站界面顯示列車的車體號與進(jìn)出站時間,結(jié)果為正確即通過測試;在鄰站層面,以列車前、后站點的出站、進(jìn)站時間顯示作為測試項,輸入列車狀態(tài)判斷為列車出站或進(jìn)站,期望輸出該站界面顯示列車車體號、前站出站或后站進(jìn)站時間,結(jié)果為正確即通過測試。在此基礎(chǔ)上,還需基于QALoad軟件進(jìn)行系統(tǒng)性能測試,分別判斷系統(tǒng)在運(yùn)行不同數(shù)量的并發(fā)用戶時應(yīng)用程序、數(shù)據(jù)庫的CPU占用率,判斷系統(tǒng)響應(yīng)時間是否處于理想狀態(tài),完成系統(tǒng)性能測試。
通過對本文設(shè)計的列車自動記點系統(tǒng)分別進(jìn)行功能和性能測試結(jié)果顯示,該系統(tǒng)支持對列車運(yùn)行位置信息的實時檢測與動態(tài)反饋,可提供實時記點與數(shù)據(jù)上傳服務(wù),管理員基于自身權(quán)限登錄系統(tǒng)后可實現(xiàn)對列車電子標(biāo)簽、讀寫器以及RFID網(wǎng)絡(luò)等狀態(tài)信息的實時檢測與管理。系統(tǒng)在最大并發(fā)用戶數(shù)運(yùn)行狀態(tài)下響應(yīng)時間控制在7.94s以內(nèi),應(yīng)用程序與數(shù)據(jù)庫的CPU占用率分別為9.07%和14.52%,滿足預(yù)期設(shè)計要求。
實際應(yīng)用結(jié)果表明,通過引入RFID技術(shù)建構(gòu)自動記點算法可實現(xiàn)對列車運(yùn)行位置、行車方向、運(yùn)行狀態(tài)等信息的實時讀取、識別與反饋,供中央級、車站級管理員分別獲取車站以及各區(qū)段的列車運(yùn)行狀態(tài)信息,能夠在機(jī)電設(shè)備故障引發(fā)信號系統(tǒng)失效的緊急情境下輔助相關(guān)調(diào)度人員進(jìn)行列車狀態(tài)、位置等信息的實時判斷,有效避免列車碰撞事故的發(fā)生,對于保障列車安全穩(wěn)定運(yùn)行具有現(xiàn)實意義。