周奇才, 徐英龍, 熊肖磊, 趙 炯
(同濟大學 機械與能源工程學院,上海 201804)
出于防火和救援設計等原因,鐵路隧道中需要設置防護門作為安全手段之一[1],防護門主要設置于雙向隧道連接處或隧道設備安置處。列車在隧道內運行且通過時,由于隧道長度長,列車運行速度快,列車會在隧道內產生較大側向風壓的“活塞效應”,會使隧道內的防護門產生破壞,而正常運營的線路中未能及時檢查到防護門損壞,具有相當大的危險性。傳統的人工現場巡檢方案一直存在著發現遲、效率低等缺點,因此如何對隧道防護門從施工到運營進行全生命周期的維護也是亟待解決的難題。
針對以上問題,本文提出了一種用于隧道防護門的遠程監控系統,可實現隧道防護門的遠程監控、施工數據管理、運營數據管理、故障預測與診斷等功能。
針對隧道防護門不斷增長的數量以及全生命周期維護要求,遠程監控系統需要實現以下功能:①管理人員可以遠程查看防護門的實時狀態或故障信息等;②搭建施工數據管理平臺,施工與驗收人員能遠程將關鍵數據采集并登記到平臺系統中,提高施工期工作效率;③搭建運營數據管理平臺,運營人員可以遠程通過移動終端和平臺交互,獲取并上傳相關的信息和數據,提高運營效率和可靠性;④對于未發生故障的監控對象,系統將通過相關算法得出對象是否薄弱,如果薄弱給出損壞發生的預測時間區間。遠程監控系統的需求概況如圖1所示。

圖1 遠程監控系統需求概況
根據所做工作不同,將整個控制系統劃分為五個層次,分別為數據采集層、數據處理層、數據持久層、服務層和表現層。其中數據采集層和數據處理層作為數據采集裝置部署在設備旁,稱為“邊緣端”[2];而部署在遠程服務器的數據持久層、服務層、表現層稱為“平臺端”,控制系統層次劃分如圖2所示。

圖2 控制系統層次劃分
數據采集層包括各種終端設備,其主要任務是采集防護門門體和門鎖、合頁等部件振動數據,以及防護門當前狀態圖像等,并傳至數據處理層。
數據處理層由邊緣計算控制器和無線傳輸裝置組成,主要是將獲取到的數據在邊緣側進行數據的預處理,并且將數據無線傳輸至平臺端,提高數據傳輸效率,降低傳輸功耗。
數據持久層由數據庫組成,平臺端通過MQTT協議接收數據處理層的數據,并準確地將其存入數據庫中,以便于后續的分析與查詢。
服務層根據功能需求劃分子模塊,子模塊通過調用數據持久層接口獲得所需數據,通過數據分析和處理得到所需結果,并將結果傳至表現層。
表現層實時顯示設備狀態以及實現多平臺的運營交互界面,供遠程和現場運營人員進行交互與監控。
目前平臺端使用框架技術進行開發,本文采用Spring Boot+Spring MVC+MyBatis框架作為主體進行開發,并對接口統一使用RESTful風格;表現層中網頁使用Bootstrap框架進行展示;數據持久層采用MySQL和MongoDB對數據進行緩存和持久化。
REST(Representational State Transfer)是web服務一種架構思想,可以有效利用HTTP報文特性,使用JSON格式對報文主體進行編輯,使服務端API供網頁端和移動端共同使用。
MongoDB是一種基于分布式文件存儲的NoSQL數據庫,適合存儲JSON風格的信息,有利于直接接收并存儲數據處理層發來的信息。由于數據預處理場景中不需要使用事務,使用MongoDB能夠達到較高的效率。
控制系統中的平臺端是整個系統的重點,運營人員的需求主要是在平臺端進行處理,并且在使用過程中對其進行維護。
由于系統的需求將不斷增長,涉及的業務流程會越來越多,為了合理地劃分業務模塊,增強系統的擴展性和復用能力,平臺端使用領域驅動設計(Domain-Driven Design,DDD)的思想進行系統設計[3],將系統分為5個模塊,如圖3所示。

圖3 平臺端模塊結構
Data用于實現數據庫中的實體以及數據庫訪問對象的構建與訪問;Service作為輸出端,用于提供前端調用接口,并且調用Application模塊中的類和方法;Repository用于和外部數據源進行交互,包括但不限于Data模塊;Application模塊負責和輸出端交互,主要職責包含有日志記錄、鑒權、調用Repository;Domain在整個框架中處于核心位置,存放一些構造對象和接口;Repository模塊負責Domain中接口的實現,這樣可以解決循環依賴的問題。系統采用六邊形架構,通過使用依賴倒置的原則,當新的需求越來越多時,也能保證系統的獨立和精簡。
由于系統需求都與數據有密切關聯,且數據庫是連接用戶需求和編程實現的橋梁,數據庫的設計直接影響后續功能實現的難易。根據需求劃分,將整個數據庫分為人員信息、設備信息以及消息列表三大部分:人員信息主要包括管理員信息與現場操作人員信息;設備信息為防護門設備信息;消息列表包括數據采集裝置發送消息、現場人員發送消息、故障消息和預測消息。
系統按功能主要分為遠程監控、數據管理、故障預測三個模塊,現分別進行模塊設計。
3.3.1 遠程監控
遠程監控模塊的功能流程如圖4所示。遠程監控模塊負責接收數據管理模塊發送來的實時防護門數據,并通過門體振動頻率以及幅度、門體絕對位移量是否超出合理范圍以及攝像頭采集到的照片進行圖像識別,判斷防護門是否已經出現故障,其中圖像識別采用雙邊濾波以及Hough變換[4]等算法進行在線檢測。管理人員能通過系統平臺查詢相關防護門日志信息;管理人員也可以通過發送請求至數據采集裝置獲得當前防護門未經處理的圖像。

圖4 遠程監控流程
3.3.2 數據管理
施工數據管理和運營數據管理原理相似,在此以運營管理為例進行介紹,運營數據管理流程如圖5所示。系統獲得數據采集裝置發來信息,首先將其放入內存進行是否故障的判斷,然后根據判斷結果決定是否生成故障信息并推送至系統警報,最后將采集到的數據持久化到硬盤;通過持久化的數據進行故障診斷與預測,如果預測有故障則生成預測消息并推送至系統警報并發送給現場操作人員;現場操作人員可以發送現場操作信息至系統,一旦發現故障也將觸發警報。

圖5 運營數據管理流程圖
3.3.3 故障預測
模塊采用機器學習的方法對故障進行預測以獲得預測結果,預測模型使用長短時記憶循環神經網絡進行訓練[5,6],通過部分失效防護門獲取失效工況下的振動數據,得到機器學習訓練所需數據,將訓練結果和實際情況對比,反復訓練直到滿足訓練要求。故障預測流程如圖6所示。故障預測模塊根據防護門編號讀取持久化數據中的日志信息,通過振動信息進行故障預測,得出該防護門是否薄弱,如果薄弱將進一步計算預測失效時間區間,將結果發送至管理平臺以及現場人員,以便現場排查;如果預測結果為非薄弱則循環選取下一扇防護門進行預測。

圖6 故障預測流程
本文提出了一種應用于隧道防護門的遠程監控系統,用于隧道防護門的施工期與運營期,針對系統需求提出了控制系統的整體架構。對整體架構中的平臺端采用領域驅動設計思想進行系統設計,并設計了數據庫存儲結構以及各功能模塊程序流程。
隧道防護門遠程監控系統可以實現對防護門失效的及時發現,標準化、信息化施工期和運營期中對于人員和數據的管理,還能對薄弱的防護門進行預測,提出預測失效區間,能使得運營單位提前對相應門體進行檢測與更換。系統能夠較好地提高隧道內部環境的安全性,降低運營人員壓力,最終也可將各省市、各線路的監控對象納入統一系統,實現全國隧道防護門信息組網。