潘 磊
?
基于VNC在鐵路安全監(jiān)測中的應(yīng)用研究與實(shí)踐
潘 磊
(中國鐵路西安局集團(tuán)公司車輛檢測所,陜西 西安 710054)
鐵路車輛安全監(jiān)測系統(tǒng)是鐵路列車安全運(yùn)行的重要保障,鐵路車輛安全監(jiān)測系統(tǒng)是由多個(gè)應(yīng)用系統(tǒng)組成,系統(tǒng)結(jié)構(gòu)復(fù)雜,全國聯(lián)網(wǎng)運(yùn)行;本文主要研究解決在車輛安全監(jiān)測系統(tǒng)應(yīng)用中采用VNC協(xié)議實(shí)現(xiàn)對多系統(tǒng)報(bào)警進(jìn)行自動(dòng)監(jiān)控,避免因監(jiān)測中心大屏幕故障或值班人員素質(zhì)不高而影響對運(yùn)輸安全的危害。
鐵路車輛;安全監(jiān)測;VNC
按照中國鐵路總公司關(guān)于“發(fā)展移動(dòng)裝備的在線監(jiān)測監(jiān)控技術(shù)”的要求,在確保貨、客、動(dòng)車運(yùn)行安全方面,車輛部門積極推進(jìn)車輛安全檢測監(jiān)控系統(tǒng)的建設(shè),并在車輛運(yùn)行安全保障中發(fā)揮了重要作用。全國鐵路集團(tuán)公司車輛安全監(jiān)測中心,都采用60-100個(gè)獨(dú)立監(jiān)控屏幕,分別對管轄范圍內(nèi)的幾百個(gè)車輛安全探測站通過的列車進(jìn)行實(shí)時(shí)監(jiān)測,作業(yè)效率不高,準(zhǔn)確性差,容易遺漏處理等,通過本文研究實(shí)踐來解決這方面的問題。
本文研究成果可以廣泛應(yīng)用于多監(jiān)測終端的智能集成監(jiān)控領(lǐng)域,通過監(jiān)測終端上安裝的監(jiān)聽軟件和規(guī)范接口,將監(jiān)測設(shè)備發(fā)生的報(bào)警及時(shí)反饋到服務(wù)監(jiān)控主機(jī),提示監(jiān)測人員,及時(shí)處理,較大的提高應(yīng)急處置和反應(yīng)能力,避免了尋找報(bào)警監(jiān)測設(shè)備的麻煩,對于有監(jiān)測設(shè)備報(bào)警應(yīng)急處置領(lǐng)域來說,可以做到快速反應(yīng),及時(shí)判斷,準(zhǔn)確處置的目的[1]。
車輛安全監(jiān)測中心主要對車輛軸溫智能探測系統(tǒng)(THDS)、貨車運(yùn)行品質(zhì)動(dòng)態(tài)監(jiān)測系統(tǒng)(TPDS)、貨車滾動(dòng)軸承故障軌邊聲學(xué)診斷系統(tǒng)(TADS)、客車運(yùn)行安全監(jiān)控系統(tǒng)(TCDS)等鐵路車輛安全監(jiān)測系統(tǒng)進(jìn)行報(bào)警的實(shí)時(shí)監(jiān)控[2]。
系統(tǒng)中探測站TMIS網(wǎng)絡(luò)將數(shù)據(jù)上傳集團(tuán)公司車輛運(yùn)行安全監(jiān)測中心,通過通訊服務(wù)器將探測數(shù)據(jù)保存在應(yīng)用服務(wù)器中,值班員通過監(jiān)控臺(tái)網(wǎng)絡(luò)終端,監(jiān)控各系統(tǒng)的運(yùn)行及報(bào)警狀態(tài),當(dāng)有報(bào)警時(shí),值班員通過查看,大屏幕中的某個(gè)報(bào)警顯示終端,然后遠(yuǎn)程調(diào)用控制該監(jiān)控主機(jī),進(jìn)行報(bào)警信息的處理。
VNC(Virtual Network Computing,虛擬網(wǎng)絡(luò)計(jì)算)是一款使用RFB協(xié)定的屏幕畫面分享及遠(yuǎn)程操作軟件。VNC最早是由美國電報(bào)電話公司(AT&T)歐洲研究實(shí)驗(yàn)室2002年研發(fā)的,它采用了GNU通用公共許可證GPL(General Public License)授權(quán)條款。VNC軟件主要由兩個(gè)部分組成:VNC server及VNC viewer[3]。本文通過對遠(yuǎn)程控制較為成熟的VNC服務(wù)技術(shù)研究,將現(xiàn)有的車輛監(jiān)測中心的報(bào)警處理作業(yè)進(jìn)行完善。
現(xiàn)有系統(tǒng)報(bào)警結(jié)構(gòu)中,僅探測站數(shù)量一般就會(huì)有300多個(gè),即使現(xiàn)有系統(tǒng)進(jìn)行了監(jiān)控界面的集成,監(jiān)控終端也超出60多臺(tái),加上通訊服務(wù)器和應(yīng)用服務(wù)器的運(yùn)行監(jiān)控,監(jiān)視器的數(shù)量就近百臺(tái),但是,每班只有2個(gè)值班員監(jiān)控,連續(xù)12小時(shí)對近百臺(tái)的監(jiān)視器進(jìn)行監(jiān)控,其作業(yè)量大,工作效率不高,容易出現(xiàn)作業(yè)偏差,給列車運(yùn)行安全帶來隱患。為此本文通過對VNC技術(shù)在現(xiàn)有系統(tǒng)的應(yīng)用研究,開發(fā)智能報(bào)警監(jiān)測輔助系統(tǒng),將值班員從繁重的監(jiān)控中解放出來,不用人工在近百臺(tái)監(jiān)視器中查找報(bào)警,通過研發(fā)系統(tǒng)將報(bào)警信息自動(dòng)的復(fù)示到值班員操作臺(tái)上進(jìn)行快速處理,在發(fā)生多個(gè)報(bào)警時(shí),輔助系統(tǒng)也可以進(jìn)行自動(dòng)排序提示,因此本文的研究方向和設(shè)計(jì)思路對現(xiàn)有車輛安全監(jiān)測中心應(yīng)用系統(tǒng)是有必要的[4]。
由于現(xiàn)有監(jiān)測報(bào)警系統(tǒng)的復(fù)雜性,在原有系統(tǒng)功能上增加開發(fā)的風(fēng)險(xiǎn)較大,因此本次研究采用C/S結(jié)構(gòu)的終端/服務(wù)器方式進(jìn)行設(shè)計(jì),在監(jiān)控終端設(shè)計(jì)隱藏式監(jiān)聽程序,在值班員操作臺(tái)設(shè)備上設(shè)計(jì)集中報(bào)警處理服務(wù)程序,接收監(jiān)聽到的報(bào)警信息,通過VNC協(xié)議將報(bào)警終端復(fù)示到值班員操作臺(tái)界面,實(shí)現(xiàn)快速處理的目的。
設(shè)計(jì)分為客戶端模塊和操作臺(tái)服務(wù)端模塊,具體結(jié)構(gòu)如圖1所示。
服務(wù)端與客戶端通過TCP/IP協(xié)議進(jìn)行信息交換,復(fù)示界面和遠(yuǎn)程操作處理采用VNC服務(wù)協(xié)議進(jìn)行處理。
為了不干擾既有系統(tǒng)報(bào)警,設(shè)計(jì)中采用后臺(tái)音頻監(jiān)聽技術(shù),一般情況下,系統(tǒng)是沒有音頻輸出的,只有報(bào)警時(shí)才有聲音輸出,我們就利用這個(gè)特點(diǎn),采用Windows系統(tǒng)自帶的多媒體管理模塊MMSy-stem.dll通過對播放聲音的采樣,來判斷是否有報(bào)警,一旦監(jiān)聽到有報(bào)警輸出,將觸發(fā)客戶端向服務(wù)器端發(fā)送報(bào)警提示信息,服務(wù)器端接收到報(bào)警提示信息后,根據(jù)報(bào)警提示的級別安排處理隊(duì)列,值班員通過報(bào)警隊(duì)列提示,選擇處理,當(dāng)值班員選擇處理后,啟動(dòng)VNC遠(yuǎn)程控制指令,調(diào)用報(bào)警客戶端進(jìn)行報(bào)警處理[5-6]。

圖1 服務(wù)端與客戶端信息交換
根據(jù)對現(xiàn)有系統(tǒng),以及其他調(diào)度、應(yīng)急監(jiān)控等的系統(tǒng)結(jié)構(gòu)研究,為了本研究可以適應(yīng)大多現(xiàn)用監(jiān)控環(huán)境,只要多屏幕,后臺(tái)采用Windows系統(tǒng)報(bào)警的都可以適用,我們采用客戶端與服務(wù)器端模式設(shè)計(jì),具體設(shè)計(jì)功能如下。
因?yàn)榭蛻舳酥饕δ苁潜O(jiān)聽系統(tǒng)音頻和啟動(dòng)VNC服務(wù),所以設(shè)計(jì)中考慮,客戶端采用任務(wù)欄隱藏方式,不顯示主界面;客戶端通過任務(wù)圖標(biāo)可以右鍵快捷菜單方式,可以進(jìn)入設(shè)置窗口、停止服務(wù)及退出應(yīng)用[7]。
客戶端的設(shè)置功能,主要可以進(jìn)行VNC服務(wù)啟動(dòng)的相關(guān)配置,指定服務(wù)端IP地址等,本設(shè)計(jì)中考慮多人監(jiān)控服務(wù),所以客戶端監(jiān)聽服務(wù)器設(shè)置中可以用分號(hào)隔離設(shè)置多個(gè)服務(wù)端,同時(shí)發(fā)布報(bào)警提示信息,無論哪個(gè)服務(wù)端進(jìn)行處理后,都可以消除報(bào)警,提高工作效率,其它未處理的服務(wù)端將讀取到已處理標(biāo)志,同時(shí)取消處理隊(duì)列。
報(bào)警音頻監(jiān)聽的實(shí)現(xiàn),采用Windows自帶的MMSystem.dll多媒體管理接口,通過設(shè)定音頻采樣獲取系統(tǒng)的報(bào)警音頻,觸發(fā)報(bào)警提示信息發(fā)送。
//監(jiān)聽到有報(bào)警音頻發(fā)送信息
begin
fs:='BJ'+'^'+bjip+'^'+'1'+'^'+'W';
try
for i := 0 to zxip.Count-1 do //發(fā)送配置列表多服務(wù)終端
begin
if mainfrm.TcpClient1.Connect then mainfrm.TcpClient1.Sendln(fs);
mainfrm.TcpClient1.Disconnect;
end;
finally
mainfrm.TcpClient1.Disconnect;
end;
end;
服務(wù)端功能模塊主要有,系統(tǒng)設(shè)置、權(quán)限管理、報(bào)警列表、輪巡檢查、語音報(bào)警提示、VNC遠(yuǎn)程控制等。
本文主要研究VNC在車輛安全監(jiān)測中的遠(yuǎn)程控制應(yīng)用,因此其它模塊設(shè)計(jì)在此不詳述,主要對VNC遠(yuǎn)程控制功能進(jìn)行闡述。在對現(xiàn)有VNC技術(shù)市場及應(yīng)用產(chǎn)品調(diào)研后,我們在研究中采用了Smartcode公司的ViewerX VNC Viewer ActiveX控件系統(tǒng), Smartcode公司是世界聞名的VNC軟件公司,在遠(yuǎn)程管理和控制軟件領(lǐng)域具有領(lǐng)先地位[8]。使用ViewerX VNC Viewer ActiveX控件研發(fā)可以很容易地為應(yīng)用程序提供屏幕共享和遠(yuǎn)程控制功能。
本研究系統(tǒng)在值班員服務(wù)操作設(shè)計(jì)中,主屏幕采用4個(gè)VNC控件窗口同時(shí)顯示,滿足一般同步報(bào)警觸發(fā)顯示處理的需要,在無報(bào)警狀態(tài)下,四個(gè)VNC控件窗口可以對所監(jiān)控的所有設(shè)備進(jìn)行輪巡檢查,一旦有報(bào)警,將自動(dòng)停止輪巡方式,將報(bào)警信息自動(dòng)顯示在當(dāng)前窗口,為值班員處理提供快速、準(zhǔn)確的操作便利。
3.2.1 VNC控件的使用
在Smartcode公司發(fā)布的ViewerX VNC Viewer ActiveX[9]控件中,可以采用安裝方式,在研發(fā)系統(tǒng)打包發(fā)行中可以直接將scvncctrl.dll動(dòng)態(tài)庫文件與應(yīng)用放在一起,開發(fā)和應(yīng)用時(shí)使用regsvr32 C:Win-dowsSysWOW64scvncctrl.dll方式進(jìn)行注冊使用。
3.2.2 處理報(bào)警調(diào)用VNC控件連接監(jiān)控端
首先判斷是否有報(bào)警,如果監(jiān)控端發(fā)送有報(bào)警提示信息,在提示信息中會(huì)攜帶監(jiān)控的IP地址及報(bào)警類型,服務(wù)端收到后,首先判斷現(xiàn)有窗口狀態(tài),如果在輪巡,先停止輪巡,然后檢查現(xiàn)有窗口是否被其它報(bào)警占用,如果值班員正在處理報(bào)警信息,則將新接收的報(bào)警信息根據(jù)級別放入待處理隊(duì)列,當(dāng)值班員選擇處理時(shí)[10],系統(tǒng)啟動(dòng)VNC遠(yuǎn)程窗口控制連接功能,接口函數(shù)格式定義如下。
ConnectAsyncEx(BSTR strIP, long nPort, BSTR strPassword);
Parameters
strIP:VNC server IP address or hostname.
nPort:Connection port.
strPassword:Password used for VNC server authentication.
程序應(yīng)用示例:Vnc.ConnectAsyncEx(IP地址, 端口號(hào),密碼);IP地址為VNC監(jiān)控服務(wù)的IP,端口一般默認(rèn)5900,也可以自行定義,密碼是在監(jiān)控端設(shè)置的密碼。
3.2.3 處理后的斷開VNC連接
當(dāng)通過遠(yuǎn)程控制方式處理完畢報(bào)警信息后,值班員通過關(guān)閉連接,作為系統(tǒng)判斷處理完成的標(biāo)志,進(jìn)行報(bào)警數(shù)據(jù)處理過程保存和隊(duì)列的報(bào)警信息處理。
斷開連接函數(shù)定義Vnc.Disconnect。
本文介紹了VNC技術(shù)應(yīng)用和鐵路車輛安全監(jiān)測系統(tǒng)的基本構(gòu)架和系統(tǒng)結(jié)構(gòu),通過VNC技術(shù)在鐵路車輛安全監(jiān)測系統(tǒng)的應(yīng)用研究,可以廣泛推廣到多屏幕監(jiān)控系統(tǒng)應(yīng)用中,提高監(jiān)控作業(yè)效率,在軟件的開發(fā)中本研究也可以起到拋磚引玉的作用,在VNC技術(shù)的應(yīng)用上具有一定的指導(dǎo)意義。
[1] 楊志飛, 嚴(yán)天峰, 藺鵬臻. 基于GNSS的鐵路路基安全監(jiān)測系統(tǒng)研究[J]. 測控技術(shù), 2018, 37(03): 83-88.
[2] 劉韻. 基于ZigBee傳感器網(wǎng)絡(luò)的渝高速鐵路外部環(huán)境安全監(jiān)測系統(tǒng)研究[J]. 科技視界, 2018(04): 20-21.
[3] 蔣薈. 鐵路車輛運(yùn)行安全監(jiān)測設(shè)備綜合檢測車聯(lián)網(wǎng)應(yīng)用系統(tǒng)總體方案研究[A]. 中國智能交通協(xié)會(huì). 第十二屆中國智能交通年會(huì)大會(huì)論文集[C]. 中國智能交通協(xié)會(huì): 2017: 7.
[4] 趙娟. 鐵路貨車危化品運(yùn)輸安全監(jiān)測系統(tǒng)設(shè)計(jì)[D]. 太原科技大學(xué), 2017.
[5] 佘振國. 鐵路安全監(jiān)測信息整合應(yīng)用研究[A]. 中國智能交通協(xié)會(huì). 第十一屆中國智能交通年會(huì)大會(huì)論文集[C]. 中國智能交通協(xié)會(huì): 2016: 8.
[6] 張玲雨, 易文明, 任翔, 等. 國鐵新一代光纖分布式鐵路周界安全監(jiān)測系統(tǒng)[J]. 中國科技信息, 2016(07): 66-68+14.
[7] 馮桂平. 鐵路安全監(jiān)測多通道模擬量采集系統(tǒng)設(shè)計(jì)[J]. 高速鐵路技術(shù), 2015, 6(06): 1-4.
[8] 武峰. 一種低時(shí)隙開銷無線HART鏈路調(diào)度策略[J]. 軟件, 2018, 39(03): 170-174.
[9] The SmartCode ViewerX VNC control gives developers full access to the VNC Viewer features using a set of intuitive ActiveX properties and methods. 2018.
[10] 黃飛. 界面可編程的機(jī)車微機(jī)顯示軟件[J]. 軟件, 2018, 39(03): 106-110.
Application Research and Practice of VNC in Railway Safety Monitoring
PAN Lei
(Vehicle Testing Institute Of Xi 'an Bureau Group, China Railway, Xi’an, Shaanxi, 710054)
The railway vehicle safety monitoring system is an important guarantee for the safe operation of railway trains. Road vehicle safety monitoring system is composed of multiple application systems with complex system structure and nationwide network operation. in the application of vehicle safety monitoring system, so as to avoid the damage to transportation safety caused by the failure of large screen in monitoring center or the poor quality of on-duty personnel.
Railway vehicles; Safety monitoring; VNC
U279.5
A
10.3969/j.issn.1003-6970.2018.10.037
潘磊(1970-),本科,工程師,研究方向:安全監(jiān)測。
潘磊. 基于VNC在鐵路安全監(jiān)測中的應(yīng)用研究與實(shí)踐[J]. 軟件,2018,39(10):196-198