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