丁釗
摘要:地鐵屏蔽門監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)的研究目的是北京地鐵八通線屏蔽門系統(tǒng)的設(shè)計,實施和驗收的需要。控制局域網(wǎng)采用總線型、開放式、標準通訊協(xié)議的局域網(wǎng)絡(luò)。系統(tǒng)可以實時采集和顯示DCU等設(shè)備的信息;當設(shè)備出現(xiàn)故障時,系統(tǒng)可以針對故障進行報警和顯示。研究成果包括屏蔽門監(jiān)控界面,數(shù)據(jù)采集軟件,門體動作曲線的計算功能和多線程技術(shù)的應(yīng)用。
關(guān)鍵詞:監(jiān)控;屏蔽門;地鐵;數(shù)據(jù)處理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)07-0003-03
1 概述
隨著地鐵的飛速發(fā)展和信息化技術(shù)的推進,屏蔽門作為乘客候車時的屏障,為每一個乘客的安全保駕護航,它是地鐵系統(tǒng)設(shè)備生產(chǎn)企業(yè)、地鐵管理運營商都亟待解決的問題。城市軌道交通項目主要是地鐵項目,在地鐵項目規(guī)劃中,地鐵屏蔽門系統(tǒng)已成為必需配置的設(shè)備。作為地鐵系統(tǒng)的重要組成部分,屏蔽門系統(tǒng)已經(jīng)不僅僅是一套獨立的子系統(tǒng),而是與綜合監(jiān)控系統(tǒng)等系統(tǒng)互聯(lián)互通,實現(xiàn)全面的網(wǎng)絡(luò)化。
2 系統(tǒng)設(shè)計
為實現(xiàn)屏蔽門監(jiān)控系統(tǒng),需要根據(jù)用戶需求,結(jié)合項目現(xiàn)有條件,先確定系統(tǒng)的體系結(jié)構(gòu)、選擇合適的的編程語言和數(shù)據(jù)庫。
2.1 系統(tǒng)的結(jié)構(gòu)設(shè)計
結(jié)合地鐵屏蔽門系統(tǒng)的組成,屏蔽門系統(tǒng)包括機械部分和電氣部分。其中機械部分包括門體結(jié)構(gòu),門機系統(tǒng)和門鎖及其他相關(guān)附件。電氣部分包括電源系統(tǒng)和控制系統(tǒng)。因此,應(yīng)該充分結(jié)合硬件結(jié)構(gòu)合理的對軟件進行設(shè)計。
2.1.1 系統(tǒng)的體系結(jié)構(gòu)
屏蔽門監(jiān)控系統(tǒng)運行過程中,對數(shù)據(jù)安全性要求高,處理數(shù)據(jù)量大,實時性強,這正好是 C/S模式的優(yōu)點,在屏蔽門監(jiān)控系統(tǒng)(PSD)的開發(fā)過程中,采用了客戶/服務(wù)器(C/S)結(jié)構(gòu)。
2.1.2 選擇后臺數(shù)據(jù)庫
結(jié)合地鐵屏蔽門監(jiān)控系統(tǒng)的運行環(huán)境和用戶需求,決定選擇mysql 5.6作為屏蔽門監(jiān)控系統(tǒng)的后臺環(huán)境。
2.1.3 選擇開發(fā)工具
Microsoft Visual Studio 2012 是微軟推出的產(chǎn)品,具有簡單易用的特點,同時具備強大的調(diào)試功能和測試功能。結(jié)合屏蔽門監(jiān)控系統(tǒng)的體系結(jié)構(gòu),決定采用這款軟件作為開發(fā)工具使用。
2.2 系統(tǒng)功能設(shè)計
2.2.1 數(shù)據(jù)采集程序
1)原理流程分析
根據(jù)地鐵屏蔽門系統(tǒng)的功能需求,屏蔽門監(jiān)控的運行流程為:軟件啟動用戶登錄監(jiān)控系統(tǒng)進入監(jiān)視狀態(tài)實時運行狀態(tài)和故障的顯示用戶進行信息查詢和參數(shù)設(shè)置。這個原理流程決定了屏蔽門監(jiān)控系統(tǒng)進入監(jiān)視狀態(tài)的同時,需要用戶并發(fā)處理數(shù)據(jù)查詢和參數(shù)設(shè)置的工作。
2)系統(tǒng)方案設(shè)計
系統(tǒng)將數(shù)據(jù)采集和處理以及數(shù)據(jù)顯示分開到后臺服務(wù)和監(jiān)控界面兩個程序中。后臺服務(wù)程序負責與下位機的通訊,信息的處理。將采集到的Rs485數(shù)據(jù)轉(zhuǎn)發(fā)給監(jiān)控界面程序和ISCS程序。
3)功能設(shè)計
數(shù)據(jù)采集程序應(yīng)該具備的功能包括:請求數(shù)據(jù)的發(fā)送;下位機返回數(shù)據(jù)的接收;下位機返回程序的處理。
4)程序流程設(shè)計
監(jiān)控程序啟動后數(shù)據(jù)發(fā)送線程啟動數(shù)據(jù)接收線程啟動數(shù)據(jù)處理線程啟動告警判斷線程啟動。其中,數(shù)據(jù)接收線程負責接收下位機返回數(shù)據(jù)的接收,當數(shù)據(jù)合法符合校驗時將數(shù)據(jù)提交給數(shù)據(jù)處理線程進行處理。告警判斷線程負責針對經(jīng)過解析的數(shù)據(jù)中存在的告警信息進行告警,當告警判斷線程檢測到告警信息后將告警信息處理的工作交給告警子程序進行處理。
5)報文格式設(shè)計
發(fā)送命令:地址+功能碼+起始地址+數(shù)據(jù)長度+校驗;
接收命令:地址+功能碼+長度+數(shù)據(jù)+校驗。
3.2.2 數(shù)據(jù)顯示程序
1)原理流程分析
屏蔽門監(jiān)控界面用于屏蔽門監(jiān)控信息的顯示,當用戶登錄成功后,可以成功進入屏蔽門監(jiān)控界面,屏蔽門監(jiān)控界面會與后臺程序進行通訊。屏蔽門監(jiān)控界可以進行狀態(tài)信息,故障信息和DCU動作曲線的顯示。
2)門體動作曲線的設(shè)計
①門體動作曲線的界面設(shè)計
縱坐標軸為速度軸,單位為米每秒(mm/ms)。橫坐標軸為時間軸,單位為秒(ms)。
動作曲線為各個坐標點串聯(lián)起來的紅色線。
②原理流程設(shè)計
用戶在讀取DCU曲線對話框,選擇上下行的特定DCU,DCU編號出現(xiàn)在上下行信息框和DCU名信息框中。然后點擊曲線顯示,對應(yīng)DCU的開關(guān)門曲線出現(xiàn)在左側(cè)表格中。
③程序流程設(shè)計
根據(jù)操作步驟,程序流程設(shè)計為: DCU動作曲線界面提取用戶選擇信息選擇信息被當作參數(shù)傳遞給查詢函數(shù)查詢函數(shù)將請求發(fā)送給后臺服務(wù)程序后臺服務(wù)程序通過Rs485通訊串口將數(shù)據(jù)發(fā)送給門機單元門機單元把數(shù)據(jù)返回給界面界面根據(jù)返回數(shù)據(jù)進行顯示。
3.3 數(shù)據(jù)庫設(shè)計
屏蔽門監(jiān)控系統(tǒng)的數(shù)據(jù)庫用來記錄運行記錄和故障記錄,被記錄的設(shè)備包括DCU,PLC以及電源柜的遙信和遙測量。因此,設(shè)計如下的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):
設(shè)備記錄:記錄編號,設(shè)備編號,設(shè)備類型,上下行編號,發(fā)生時間,記錄信息
3.3.1 概念設(shè)計
通過對系統(tǒng)進行需求分析、業(yè)務(wù)流程設(shè)計以及系統(tǒng)數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫實體對象及實體E-R圖。
系統(tǒng)設(shè)計的實體信息包括:DCU狀態(tài)信息實體、DCU故障信息實體、PLC狀態(tài)信息實體、PLC故障信息實體、電源狀態(tài)信息實體和電源故障信息實體。
DCU信息實體,PLC信息實體和電源信息實體相互獨立,存儲在信息表中。
3.3.2 數(shù)據(jù)庫表設(shè)計
本系統(tǒng)中主要的數(shù)據(jù)表結(jié)構(gòu)。
設(shè)備記錄:記錄編號,設(shè)備編號,設(shè)備類型,上下行編號,發(fā)生時間,記錄信息。
4實現(xiàn)
4.1 登錄模塊
當用戶點擊屏蔽門監(jiān)控界面時,彈出登錄對話框,輸入用戶名和密碼后進入主界面。輸入錯誤后,彈出警告對話框,提示用戶重新輸入。
4.2屏蔽門監(jiān)控信息顯示模塊
4.2.1 主監(jiān)控信息
1)DCU的運行狀態(tài)信息,故障信息,DCU參數(shù)設(shè)置,系統(tǒng)時間校準,歷史故障記錄,故障告警提示,統(tǒng)計各個滑動門單元易損件的使用次數(shù)等;
2)PLC運行信息,故障狀況,主從PLC切換,SIG、IBP、PSL命令信號,安全回路狀況,繼電器狀況及使用次數(shù)等。
3)UPS運行狀況,輸入輸出電壓、電流、蓄電池狀況,輸入輸出開關(guān)斷合,絕緣狀況等.
4.2.2 讀取速度曲線
1)功能
用戶選擇上行或下行特定的DCU,點擊曲線顯示,左側(cè)方框中顯示速度曲線。速度曲線是由開關(guān)門過程中的4個坐標點用實線連接形成,黃色線代表開門曲線,紅色線代表關(guān)門曲線。
2)TCP請求數(shù)據(jù)的實現(xiàn)
速度曲線界面將請求的DCU地址作為參數(shù),通過TCP方式請求DCU的運行曲線數(shù)據(jù)。
核心程序:
if(SOCKET_ERROR==send(sockClient,(char*)&strDcuAddress,sizeof(buf),0))
{MessageBox("發(fā)送數(shù)據(jù)錯誤!",MB_OK);
closesocket(sockClient);
return 0;
}
3)坐標轉(zhuǎn)化
由于學(xué)習(xí)生活中我們常用的坐標系是第一象限,而計算機中顯示的默認形式是第四象限,因此,DCU上傳參數(shù)的顯示需要進行轉(zhuǎn)化。以第一個坐標(iOpen1X,iOpen1Y)為例,轉(zhuǎn)換程序如圖所示:
iOpen1Y/=1000; //縱坐標轉(zhuǎn)化
iOpen1Y*=m_Height;
iOpen1Y=m_Height-iOpen1Y;//橫坐標轉(zhuǎn)化
iOpen1X=(iOpen1X/5000)*m_Width;
DrawLine(0,m_Height,iOpen1X,iOpen1Y,1,RGB(255, 255, 0));//劃線
4.2.3 歷史記錄查詢界面
用戶登錄后可以根據(jù)日期和設(shè)備類型等進行歷史記錄的查詢,點擊查詢后,結(jié)果顯示在信息列表中。
4.3 后臺采集程序的實現(xiàn)
1)功能
后臺采集程序的功能為通過Rs485總線采集DCU、PLC和電源柜信息、將采集到的數(shù)據(jù)傳送給監(jiān)控界面和綜合監(jiān)控系統(tǒng)。
2)實現(xiàn)
由于后臺采集程序處理數(shù)據(jù)量較大,實時性要求高,因此采用多線程的程序設(shè)計。
實例:
hFindThread=CreateThread(NULL,0,DcuProc,NULL,0,NULL);//生成線程
DWORD WINAPI DcuProc (LPVOID lpParameter) //線程參數(shù)
{
if (m_RightDCUPortA.m_StateFlag == 1)//判斷串口狀態(tài)
{SendDcuSerialPort(&m_RightDCUPortA);//調(diào)用發(fā)送函數(shù)
}}
4.4 數(shù)據(jù)庫實現(xiàn)
本系統(tǒng)使用My Sql 5.6實現(xiàn),數(shù)據(jù)庫如下。
5 總結(jié)
本系統(tǒng)應(yīng)用于北京地鐵八通線,達到了預(yù)期目標,極大地提高了屏蔽門系統(tǒng)的運行效率。本系統(tǒng)的設(shè)計方案能夠滿足研究項目的所有要求,軟件系統(tǒng)的實現(xiàn)使得地鐵管理人員和機電人員能夠及時準確地掌握站臺屏蔽門的狀態(tài)信息及故障情況,快速地以網(wǎng)絡(luò)方式接收設(shè)備信號,及時掌握屏蔽門故障信息并對故障進行處理,從而提高了事故分析水平,保證屏蔽門系統(tǒng)的正常運行。
參考文獻:
[1] 宋蘊璞,趙炯,徐博銘.Faiveley屏蔽門監(jiān)控數(shù)據(jù)庫與監(jiān)控界面關(guān)系剖析[J].城市軌道交通,2001(1):42.
[2] 張發(fā)明,王穎.北京地鐵10號線綜合監(jiān)控系統(tǒng)簡介[J].研究簡報,2007(1):71.
[3] 付思,魏奇,于鑫,等.城市軌道交通屏蔽門監(jiān)控系統(tǒng)的設(shè)計[J].鐵路計算機應(yīng)用,2013(22):9.