周奇才, 徐英龍, 熊肖磊, 趙 炯
(同濟(jì)大學(xué) 機(jī)械與能源工程學(xué)院,上海 201804)
出于防火和救援設(shè)計(jì)等原因,鐵路隧道中需要設(shè)置防護(hù)門(mén)作為安全手段之一[1],防護(hù)門(mén)主要設(shè)置于雙向隧道連接處或隧道設(shè)備安置處。列車(chē)在隧道內(nèi)運(yùn)行且通過(guò)時(shí),由于隧道長(zhǎng)度長(zhǎng),列車(chē)運(yùn)行速度快,列車(chē)會(huì)在隧道內(nèi)產(chǎn)生較大側(cè)向風(fēng)壓的“活塞效應(yīng)”,會(huì)使隧道內(nèi)的防護(hù)門(mén)產(chǎn)生破壞,而正常運(yùn)營(yíng)的線路中未能及時(shí)檢查到防護(hù)門(mén)損壞,具有相當(dāng)大的危險(xiǎn)性。傳統(tǒng)的人工現(xiàn)場(chǎng)巡檢方案一直存在著發(fā)現(xiàn)遲、效率低等缺點(diǎn),因此如何對(duì)隧道防護(hù)門(mén)從施工到運(yùn)營(yíng)進(jìn)行全生命周期的維護(hù)也是亟待解決的難題。
針對(duì)以上問(wèn)題,本文提出了一種用于隧道防護(hù)門(mén)的遠(yuǎn)程監(jiān)控系統(tǒng),可實(shí)現(xiàn)隧道防護(hù)門(mén)的遠(yuǎn)程監(jiān)控、施工數(shù)據(jù)管理、運(yùn)營(yíng)數(shù)據(jù)管理、故障預(yù)測(cè)與診斷等功能。
針對(duì)隧道防護(hù)門(mén)不斷增長(zhǎng)的數(shù)量以及全生命周期維護(hù)要求,遠(yuǎn)程監(jiān)控系統(tǒng)需要實(shí)現(xiàn)以下功能:①管理人員可以遠(yuǎn)程查看防護(hù)門(mén)的實(shí)時(shí)狀態(tài)或故障信息等;②搭建施工數(shù)據(jù)管理平臺(tái),施工與驗(yàn)收人員能遠(yuǎn)程將關(guān)鍵數(shù)據(jù)采集并登記到平臺(tái)系統(tǒng)中,提高施工期工作效率;③搭建運(yùn)營(yíng)數(shù)據(jù)管理平臺(tái),運(yùn)營(yíng)人員可以遠(yuǎn)程通過(guò)移動(dòng)終端和平臺(tái)交互,獲取并上傳相關(guān)的信息和數(shù)據(jù),提高運(yùn)營(yíng)效率和可靠性;④對(duì)于未發(fā)生故障的監(jiān)控對(duì)象,系統(tǒng)將通過(guò)相關(guān)算法得出對(duì)象是否薄弱,如果薄弱給出損壞發(fā)生的預(yù)測(cè)時(shí)間區(qū)間。遠(yuǎn)程監(jiān)控系統(tǒng)的需求概況如圖1所示。
圖1 遠(yuǎn)程監(jiān)控系統(tǒng)需求概況
根據(jù)所做工作不同,將整個(gè)控制系統(tǒng)劃分為五個(gè)層次,分別為數(shù)據(jù)采集層、數(shù)據(jù)處理層、數(shù)據(jù)持久層、服務(wù)層和表現(xiàn)層。其中數(shù)據(jù)采集層和數(shù)據(jù)處理層作為數(shù)據(jù)采集裝置部署在設(shè)備旁,稱(chēng)為“邊緣端”[2];而部署在遠(yuǎn)程服務(wù)器的數(shù)據(jù)持久層、服務(wù)層、表現(xiàn)層稱(chēng)為“平臺(tái)端”,控制系統(tǒng)層次劃分如圖2所示。
圖2 控制系統(tǒng)層次劃分
數(shù)據(jù)采集層包括各種終端設(shè)備,其主要任務(wù)是采集防護(hù)門(mén)門(mén)體和門(mén)鎖、合頁(yè)等部件振動(dòng)數(shù)據(jù),以及防護(hù)門(mén)當(dāng)前狀態(tài)圖像等,并傳至數(shù)據(jù)處理層。
數(shù)據(jù)處理層由邊緣計(jì)算控制器和無(wú)線傳輸裝置組成,主要是將獲取到的數(shù)據(jù)在邊緣側(cè)進(jìn)行數(shù)據(jù)的預(yù)處理,并且將數(shù)據(jù)無(wú)線傳輸至平臺(tái)端,提高數(shù)據(jù)傳輸效率,降低傳輸功耗。
數(shù)據(jù)持久層由數(shù)據(jù)庫(kù)組成,平臺(tái)端通過(guò)MQTT協(xié)議接收數(shù)據(jù)處理層的數(shù)據(jù),并準(zhǔn)確地將其存入數(shù)據(jù)庫(kù)中,以便于后續(xù)的分析與查詢(xún)。
服務(wù)層根據(jù)功能需求劃分子模塊,子模塊通過(guò)調(diào)用數(shù)據(jù)持久層接口獲得所需數(shù)據(jù),通過(guò)數(shù)據(jù)分析和處理得到所需結(jié)果,并將結(jié)果傳至表現(xiàn)層。
表現(xiàn)層實(shí)時(shí)顯示設(shè)備狀態(tài)以及實(shí)現(xiàn)多平臺(tái)的運(yùn)營(yíng)交互界面,供遠(yuǎn)程和現(xiàn)場(chǎng)運(yùn)營(yíng)人員進(jìn)行交互與監(jiān)控。
目前平臺(tái)端使用框架技術(shù)進(jìn)行開(kāi)發(fā),本文采用Spring Boot+Spring MVC+MyBatis框架作為主體進(jìn)行開(kāi)發(fā),并對(duì)接口統(tǒng)一使用RESTful風(fēng)格;表現(xiàn)層中網(wǎng)頁(yè)使用Bootstrap框架進(jìn)行展示;數(shù)據(jù)持久層采用MySQL和MongoDB對(duì)數(shù)據(jù)進(jìn)行緩存和持久化。
REST(Representational State Transfer)是web服務(wù)一種架構(gòu)思想,可以有效利用HTTP報(bào)文特性,使用JSON格式對(duì)報(bào)文主體進(jìn)行編輯,使服務(wù)端API供網(wǎng)頁(yè)端和移動(dòng)端共同使用。
MongoDB是一種基于分布式文件存儲(chǔ)的NoSQL數(shù)據(jù)庫(kù),適合存儲(chǔ)JSON風(fēng)格的信息,有利于直接接收并存儲(chǔ)數(shù)據(jù)處理層發(fā)來(lái)的信息。由于數(shù)據(jù)預(yù)處理場(chǎng)景中不需要使用事務(wù),使用MongoDB能夠達(dá)到較高的效率。
控制系統(tǒng)中的平臺(tái)端是整個(gè)系統(tǒng)的重點(diǎn),運(yùn)營(yíng)人員的需求主要是在平臺(tái)端進(jìn)行處理,并且在使用過(guò)程中對(duì)其進(jìn)行維護(hù)。
由于系統(tǒng)的需求將不斷增長(zhǎng),涉及的業(yè)務(wù)流程會(huì)越來(lái)越多,為了合理地劃分業(yè)務(wù)模塊,增強(qiáng)系統(tǒng)的擴(kuò)展性和復(fù)用能力,平臺(tái)端使用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(Domain-Driven Design,DDD)的思想進(jìn)行系統(tǒng)設(shè)計(jì)[3],將系統(tǒng)分為5個(gè)模塊,如圖3所示。
圖3 平臺(tái)端模塊結(jié)構(gòu)
Data用于實(shí)現(xiàn)數(shù)據(jù)庫(kù)中的實(shí)體以及數(shù)據(jù)庫(kù)訪問(wèn)對(duì)象的構(gòu)建與訪問(wèn);Service作為輸出端,用于提供前端調(diào)用接口,并且調(diào)用Application模塊中的類(lèi)和方法;Repository用于和外部數(shù)據(jù)源進(jìn)行交互,包括但不限于Data模塊;Application模塊負(fù)責(zé)和輸出端交互,主要職責(zé)包含有日志記錄、鑒權(quán)、調(diào)用Repository;Domain在整個(gè)框架中處于核心位置,存放一些構(gòu)造對(duì)象和接口;Repository模塊負(fù)責(zé)Domain中接口的實(shí)現(xiàn),這樣可以解決循環(huán)依賴(lài)的問(wèn)題。系統(tǒng)采用六邊形架構(gòu),通過(guò)使用依賴(lài)倒置的原則,當(dāng)新的需求越來(lái)越多時(shí),也能保證系統(tǒng)的獨(dú)立和精簡(jiǎn)。
由于系統(tǒng)需求都與數(shù)據(jù)有密切關(guān)聯(lián),且數(shù)據(jù)庫(kù)是連接用戶需求和編程實(shí)現(xiàn)的橋梁,數(shù)據(jù)庫(kù)的設(shè)計(jì)直接影響后續(xù)功能實(shí)現(xiàn)的難易。根據(jù)需求劃分,將整個(gè)數(shù)據(jù)庫(kù)分為人員信息、設(shè)備信息以及消息列表三大部分:人員信息主要包括管理員信息與現(xiàn)場(chǎng)操作人員信息;設(shè)備信息為防護(hù)門(mén)設(shè)備信息;消息列表包括數(shù)據(jù)采集裝置發(fā)送消息、現(xiàn)場(chǎng)人員發(fā)送消息、故障消息和預(yù)測(cè)消息。
系統(tǒng)按功能主要分為遠(yuǎn)程監(jiān)控、數(shù)據(jù)管理、故障預(yù)測(cè)三個(gè)模塊,現(xiàn)分別進(jìn)行模塊設(shè)計(jì)。
3.3.1 遠(yuǎn)程監(jiān)控
遠(yuǎn)程監(jiān)控模塊的功能流程如圖4所示。遠(yuǎn)程監(jiān)控模塊負(fù)責(zé)接收數(shù)據(jù)管理模塊發(fā)送來(lái)的實(shí)時(shí)防護(hù)門(mén)數(shù)據(jù),并通過(guò)門(mén)體振動(dòng)頻率以及幅度、門(mén)體絕對(duì)位移量是否超出合理范圍以及攝像頭采集到的照片進(jìn)行圖像識(shí)別,判斷防護(hù)門(mén)是否已經(jīng)出現(xiàn)故障,其中圖像識(shí)別采用雙邊濾波以及Hough變換[4]等算法進(jìn)行在線檢測(cè)。管理人員能通過(guò)系統(tǒng)平臺(tái)查詢(xún)相關(guān)防護(hù)門(mén)日志信息;管理人員也可以通過(guò)發(fā)送請(qǐng)求至數(shù)據(jù)采集裝置獲得當(dāng)前防護(hù)門(mén)未經(jīng)處理的圖像。
圖4 遠(yuǎn)程監(jiān)控流程
3.3.2 數(shù)據(jù)管理
施工數(shù)據(jù)管理和運(yùn)營(yíng)數(shù)據(jù)管理原理相似,在此以運(yùn)營(yíng)管理為例進(jìn)行介紹,運(yùn)營(yíng)數(shù)據(jù)管理流程如圖5所示。系統(tǒng)獲得數(shù)據(jù)采集裝置發(fā)來(lái)信息,首先將其放入內(nèi)存進(jìn)行是否故障的判斷,然后根據(jù)判斷結(jié)果決定是否生成故障信息并推送至系統(tǒng)警報(bào),最后將采集到的數(shù)據(jù)持久化到硬盤(pán);通過(guò)持久化的數(shù)據(jù)進(jìn)行故障診斷與預(yù)測(cè),如果預(yù)測(cè)有故障則生成預(yù)測(cè)消息并推送至系統(tǒng)警報(bào)并發(fā)送給現(xiàn)場(chǎng)操作人員;現(xiàn)場(chǎng)操作人員可以發(fā)送現(xiàn)場(chǎng)操作信息至系統(tǒng),一旦發(fā)現(xiàn)故障也將觸發(fā)警報(bào)。
圖5 運(yùn)營(yíng)數(shù)據(jù)管理流程圖
3.3.3 故障預(yù)測(cè)
模塊采用機(jī)器學(xué)習(xí)的方法對(duì)故障進(jìn)行預(yù)測(cè)以獲得預(yù)測(cè)結(jié)果,預(yù)測(cè)模型使用長(zhǎng)短時(shí)記憶循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練[5,6],通過(guò)部分失效防護(hù)門(mén)獲取失效工況下的振動(dòng)數(shù)據(jù),得到機(jī)器學(xué)習(xí)訓(xùn)練所需數(shù)據(jù),將訓(xùn)練結(jié)果和實(shí)際情況對(duì)比,反復(fù)訓(xùn)練直到滿足訓(xùn)練要求。故障預(yù)測(cè)流程如圖6所示。故障預(yù)測(cè)模塊根據(jù)防護(hù)門(mén)編號(hào)讀取持久化數(shù)據(jù)中的日志信息,通過(guò)振動(dòng)信息進(jìn)行故障預(yù)測(cè),得出該防護(hù)門(mén)是否薄弱,如果薄弱將進(jìn)一步計(jì)算預(yù)測(cè)失效時(shí)間區(qū)間,將結(jié)果發(fā)送至管理平臺(tái)以及現(xiàn)場(chǎng)人員,以便現(xiàn)場(chǎng)排查;如果預(yù)測(cè)結(jié)果為非薄弱則循環(huán)選取下一扇防護(hù)門(mén)進(jìn)行預(yù)測(cè)。
圖6 故障預(yù)測(cè)流程
本文提出了一種應(yīng)用于隧道防護(hù)門(mén)的遠(yuǎn)程監(jiān)控系統(tǒng),用于隧道防護(hù)門(mén)的施工期與運(yùn)營(yíng)期,針對(duì)系統(tǒng)需求提出了控制系統(tǒng)的整體架構(gòu)。對(duì)整體架構(gòu)中的平臺(tái)端采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)思想進(jìn)行系統(tǒng)設(shè)計(jì),并設(shè)計(jì)了數(shù)據(jù)庫(kù)存儲(chǔ)結(jié)構(gòu)以及各功能模塊程序流程。
隧道防護(hù)門(mén)遠(yuǎn)程監(jiān)控系統(tǒng)可以實(shí)現(xiàn)對(duì)防護(hù)門(mén)失效的及時(shí)發(fā)現(xiàn),標(biāo)準(zhǔn)化、信息化施工期和運(yùn)營(yíng)期中對(duì)于人員和數(shù)據(jù)的管理,還能對(duì)薄弱的防護(hù)門(mén)進(jìn)行預(yù)測(cè),提出預(yù)測(cè)失效區(qū)間,能使得運(yùn)營(yíng)單位提前對(duì)相應(yīng)門(mén)體進(jìn)行檢測(cè)與更換。系統(tǒng)能夠較好地提高隧道內(nèi)部環(huán)境的安全性,降低運(yùn)營(yíng)人員壓力,最終也可將各省市、各線路的監(jiān)控對(duì)象納入統(tǒng)一系統(tǒng),實(shí)現(xiàn)全國(guó)隧道防護(hù)門(mén)信息組網(wǎng)。