段賀輝,許慶陽,楊 吉
(1.北京鐵科英邁技術有限公司,北京 100081;2.中國鐵道科學研究院集團有限公司 基礎設施檢測研究所,北京 100081)
隨著高速鐵路網的基本建成,以及鐵路列車運營速度的提升,基礎設施保障顯得尤為重要,亟需提升高速綜合檢測列車的作業(yè)效率、智能化和集成化水平。在鐵路通信、信號檢測方面,依托于高速綜合檢測列車通信信號檢測系統(tǒng)[1-2],每月對高速鐵路和部分普速干線鐵路通信信號進行檢測,通過對各項測試結果進行分析可掌握鐵路通信、信號基礎設施運用狀態(tài)。高速綜合檢測列車通信信號檢測系統(tǒng)(簡稱:通信信號檢測系統(tǒng))運用過程中發(fā)現如下不足:自動化程度低,在換線檢測時,需要人工進行線路重選、基礎數據庫添加等操作后再啟動測試,檢測人員工作強度大;智能化程度低,缺少對系統(tǒng)自身運行狀態(tài)監(jiān)測的功能,檢測人員需要手動完成日報、日志、漏檢的填報;通信信號檢測頻次低,測試樣本難以滿足檢測標準要求[3],難以準確評價鐵路移動通信系統(tǒng)(GSM-R,Global System for Mobile Communications - Railway)運行質量[4]。
結合新一代高速綜合檢測列車“更集成、更智能”的設計目標,設計了集中控制系統(tǒng)和數據歸集系統(tǒng),實現了通信信號檢測系統(tǒng)的運行狀態(tài)監(jiān)測、任務自動控制、數據集中管理等功能。但在通信、信號檢測方面,由于檢測項目繁多、傳感器復雜,給集中控制系統(tǒng)的統(tǒng)一管理造成負擔,尤其在檢測任務分發(fā)方面,很難實現統(tǒng)一控制。
因此,本文設計鐵路通信信號檢測控制與編輯系統(tǒng)(簡稱:檢測編輯系統(tǒng)),對通信信號檢測系統(tǒng)各檢測項目進行匯聚后,統(tǒng)一與集中控制系統(tǒng)進行交互,在便于集中控制系統(tǒng)對通信信號檢測管理的同時,也可在集中控制系統(tǒng)缺失的情況下,實現通信信號檢測的自動化。
檢測編輯系統(tǒng)采用C/S架構設計,如圖1所示。
圖1 檢測編輯系統(tǒng)總體架構
依賴C#語言開發(fā),采用WinForm技術進行界面設計,后端采用SQL Server數據庫作數據存儲,各系統(tǒng)間及下位機通信采用Socket方式,通過Log4net進行日志記錄,采用EPPlus作數據導出。
完成檢測數據的解析存儲,管理下位機超限閾值、參數配置及文件升級包等,管理檢測臺賬,對超限數據進行有效性標識等。
用于人機交互,包括通信信號檢測系統(tǒng)的運行狀態(tài)監(jiān)測、檢測位置跟蹤、檢測記錄數據展示、超限編輯,以及檢測臺賬的增刪改查,一鍵關機等功能。
檢測編輯系統(tǒng)作為集中控制系統(tǒng)與通信信號檢測系統(tǒng)的通信接口,傳遞集中控制系統(tǒng)指令,收集通信信號檢測系統(tǒng)的運行狀態(tài)信息、檢測結果,處理超限數據。檢測編輯系統(tǒng)設計數據存儲模塊、數據交互與處理模塊、顯示與操控模塊,模塊之間相互關聯(lián),在模塊間協(xié)同作業(yè)同時完成各自的功能。檢測編輯系統(tǒng)功能框架如圖2所示。
圖2 檢測編輯系統(tǒng)功能框架
用于存儲與各系統(tǒng)交互的數據、檢測基礎數據等,包括SQL Sever數據庫、磁盤文件這2類文件。用于管理檢測過程中的測試數據,包括檢測任務信息、超限數據、檢測記錄等;檢測基礎數據包括檢測臺賬、參數配置文件。本系統(tǒng)以FreeSql方式訪問數據庫[5],記錄測試任務信息,建立超限數據和檢測記錄索引關系,實現數據之間的關聯(lián)和定位。在超限數據和檢測記錄方面,創(chuàng)建標識字段,指明數據的有效性和可用性;在報告生成環(huán)節(jié)進行有效數據提取;對于參數配置文件和檢測臺賬等大文件數據,采用磁盤文件方式管理,通過數據庫索引指向磁盤文件[6],提升文件的訪問速率,同時減少數據庫文件的占用空間。
實現與各系統(tǒng)交互、數據解析和數據歸集等。本系統(tǒng)在執(zhí)行過程中,需要同時完成與集中控制系統(tǒng)、數據歸集系統(tǒng)及通信信號檢測系統(tǒng)(即:下位機)采集軟件的交互,基于交互的多樣性及并發(fā)性,該模塊采用異步TCP通信方式設計[7],以事件驅動的方式實現多點并發(fā)交互。交互內容如下:(1)與集中控制系統(tǒng):檢測編輯系統(tǒng)接收提取任務控制指令,分發(fā)至各下位機采集軟件,同時將各下位機采集軟件的狀態(tài)信息,轉發(fā)至集中控制系統(tǒng);(2)與下位機采集軟件:監(jiān)聽并連接下位機的注冊服務,發(fā)送任務指令、監(jiān)控鏈路狀態(tài)并收集下位機系統(tǒng)運行狀態(tài)信息;(3)與數據歸集系統(tǒng):將數據庫增量文件、磁盤文件實時匯聚至數據歸集系統(tǒng)。
實現檢測結果數據與下位機運行狀態(tài)等信息的呈現,同時具備超限復核、檢測控制等。顯示與操控功能模塊是人機交互接口,實時顯示行車信息、超限記錄、下位機運行狀態(tài),管理檢測臺賬數據,編輯超限數據,生成檢測日報等。
檢測編輯系統(tǒng)初始化后,連接數據庫系統(tǒng)、集中控制系統(tǒng)、下位機采集軟件等外部系統(tǒng),待各系統(tǒng)連接正常,對下位機采集軟件進行版本核查并執(zhí)行版本更新操作,準備就緒;監(jiān)聽集中控制系統(tǒng)任務指令并轉發(fā)至下位機采集軟件,同時,接收下位機采集軟件上報的下位機運行狀態(tài)及其任務執(zhí)行狀態(tài)、超限數據、檢測記錄等;當次檢測數據經過人工復核并被進行有效性標記后,將有效數據根據任務索引生成檢測日報。檢測編輯系統(tǒng)工作流程如圖3所示。
圖3 檢測編輯系統(tǒng)工作流程
FreeSql是一款對象關系映射(ORM,Object Relational Mapping)程序的國產框架,支持.NetStandard運行平臺,如.NetFramework 4.0+、.NetCore 2.1+、Xamarin等,使用由實體類表示數據庫表或視圖等可查詢和保存數據的模型執(zhí)行數據訪問,兼容多數據庫平臺,支持同步/異步數據庫操作方法、鏈式查詢方法,以及讀寫分離、分表分庫等操作。該技術可在多數據源模式下,更好地協(xié)調處理各數據源的多樣性,保證記錄數據的唯一性和準確性,在避免數據庫訪問沖突、提升數據庫的查詢和修改效率的同時,保障了檢測編輯系統(tǒng)在數據庫處理方面的穩(wěn)定性和高效性。采用數據庫觸發(fā)機制[8],新的檢測結果及下位機告警數據入庫時,可實時觸發(fā)本系統(tǒng)進行界面刷新,向用戶及時發(fā)出告警信號,使用戶及時了解告警信息并進行系統(tǒng)修復等。
采用異步TCP通信,實現一對多通信服務[9],同時管理多臺下位機的測試任務并監(jiān)控其運行狀態(tài)。檢測編輯系統(tǒng)開啟TCP監(jiān)聽服務,待下位機采集軟件向其注冊連接后,建立一條獨立通道與下位機進行交互,在交互過程中,本系統(tǒng)采用多線程并發(fā)控制機制,使設備運行狀態(tài)、任務管控、數據交互等各項服務同時進行,保證下位機有序、穩(wěn)定地完成測試任務。在管理下位機的同時,連接集中控制系統(tǒng),向其匯聚下位機的運行狀態(tài)及其任務執(zhí)行狀態(tài)。
本系統(tǒng)通過記錄各下位機終端文件版本信息,與集中控制系統(tǒng)交互過程中獲取的新版本文件進行比對,當集中控制系統(tǒng)文件版本較高時,獲取新的文件并覆蓋本地磁盤原版本文件;下位機啟動后與檢測編輯系統(tǒng)進行版本比對,根據版本信息進行版本升級并執(zhí)行重啟操作,文件版本更新流程如圖4所示。
圖4 文件版本更新流程
為保障測試任務的唯一性和檢測數據的完整性,設計斷線重連機制,保證檢測編輯系統(tǒng)與下位機采集軟件在某一方故障并重新建立連接后,下位機采集軟件可及時收到測試任務并進行重復性判斷,使得同一任務的順利執(zhí)行,具體流程如下:(1)下位機采集軟件啟動并與檢測編輯系統(tǒng)建立連接,請求新版本文件數據并自行更新;(2)下位機采集軟件上報狀態(tài)監(jiān)測數據,包括下位機運行狀態(tài)、告警信息、故障信息等;(3)斷線分2種情況,一種為故障重啟,連接后需要先同步文件信息,后接收任務數據并執(zhí)行檢測,另一種為網絡中斷,直接請求任務數據即可。通過斷線重連機制可保障檢測任務執(zhí)行的可持續(xù)性,檢測編輯系統(tǒng)與下位機采集軟件完整交互流程如圖5所示。
圖5 檢測編輯系統(tǒng)與下位機采集軟件交互流程
在實驗室和動態(tài)檢測環(huán)境下,對檢測編輯系統(tǒng)的功能和穩(wěn)定性進行動/靜態(tài)試驗,從下位機采集軟件運行狀態(tài)及測試任務執(zhí)行狀態(tài)反饋的實時性、下位機檢測結果與本系統(tǒng)呈現結果的一致性、數據記錄的準確性等方面,對關鍵技術進行驗證。
搭建實驗室模擬測試環(huán)境,驗證下位機采集軟件對集中控制系統(tǒng)下發(fā)的任務執(zhí)行情況、故障信息反饋及斷線重連機制等。
(1)下位機接通電源,通過檢測編輯系統(tǒng)查看下位機采集軟件運行狀態(tài),如圖6(a)所示,下位機在線以藍色圖標展示;
圖6 下位機采集軟件狀態(tài)監(jiān)測結果
(2)集中控制系統(tǒng)下發(fā)測試任務,通過檢測編輯系統(tǒng)轉發(fā)至下位機采集軟件,各下位機采集軟件執(zhí)行任務并上報下位機運行狀態(tài),如圖6(b)所示,任務執(zhí)行以綠色圖標展示;
(3)任務執(zhí)行中,強制重啟通信檢測下位機,通過檢測編輯系統(tǒng)查看狀態(tài)變化為:圖6(b) →圖6(c)→ 圖6(b),顯示了下位機采集軟件的離線(灰色代表離線)、在線變化過程;
(4)任務執(zhí)行中,對下位機中通信檢測模塊設置故障信息,檢測編輯系統(tǒng)狀態(tài)展示為圖6(d)(紅色代表故障)。
在綜合檢測列車安裝集中控制系統(tǒng)、檢測編輯系統(tǒng)及下位機采集軟件,進行動態(tài)綜合試驗[10],在試驗過程中,對比下位機采集軟件上報的檢測結果與檢測編輯系統(tǒng)呈現結果的一致性,選取部分路段,對比結果如圖7所示,其中,圖7(a)為下位機中信號檢測模塊采集軟件識別的檢測結果,圖7(b)為檢測編輯系統(tǒng)呈現的檢測結果。
圖7 超限數據一致性對比
在下位機采集軟件執(zhí)行當次檢測任務后,自動進行測試指標統(tǒng)計,將統(tǒng)計結果上報至檢測編輯系統(tǒng),在2次任務切換時,檢測編輯系統(tǒng)實時呈現當次檢測任務的統(tǒng)計結果。選擇2條線路對測試樣本數進行一致性對比分析,對比結果如表1所示,經過對比,檢測編輯系統(tǒng)的記錄數據與下位機采集軟件的實測數據結果一致。
表1 記錄數據與實測數據樣本數對比
在動態(tài)綜合試驗過程中,對檢測日報一鍵生成功能進行驗證,點擊創(chuàng)建通信(信號)報告選項,根據提示,選擇當日檢測任務,本系統(tǒng)會自動填充報告基本信息,包括下位機運行狀態(tài)、實際檢測里程、檢測結果、記錄人員等信息,日報生成后,自動存儲至SQL數據庫服務器。
通信信號檢測控制與編輯系統(tǒng)的設計開發(fā),建立了集中控制系統(tǒng)與通信信號檢測系統(tǒng)的交互通道,實現了通信信號檢測系統(tǒng)的運行狀態(tài)監(jiān)測、任務自動控制、檢測結果復核,以及檢測日報的一鍵生成等,通過實驗室和綜合檢測列車的動/靜態(tài)試驗,對所設計開發(fā)的系統(tǒng)的實時性及檢測結果的準確性進行了試驗和結果分析。試驗結果表明,該系統(tǒng)實現了通信信號檢測系統(tǒng)的自動化和智能化,提升了通信信號檢測效率和質量,滿足新一代高速綜合檢測列車的要求。