鄭文宇,朱娜敏,陳雁冰
(1.中鐵工程設(shè)計(jì)咨詢集團(tuán)有限公司,北京 100055;2.安徽淮南礦業(yè)集團(tuán),安徽淮南 232001;3.中鐵第五勘察設(shè)計(jì)院集團(tuán)有限公司,北京 102600)
列車調(diào)度指揮系統(tǒng)(簡(jiǎn)稱TDCS)是實(shí)現(xiàn)鐵路各級(jí)運(yùn)輸調(diào)度對(duì)列車進(jìn)行透明指揮、實(shí)時(shí)調(diào)整、集中控制的現(xiàn)代化信息系統(tǒng),它由鐵道部TDCS中心、鐵路局調(diào)度所TDCS中心及車站基層網(wǎng)三層組成。TDCS車站分機(jī)是車站基層網(wǎng)的設(shè)備,起到信息的采集、上傳及下發(fā)的作用,在整個(gè)系統(tǒng)中占有非常重要的地位。
TDCS車站分機(jī)雙機(jī)熱備系統(tǒng)是一種雙機(jī)互備系統(tǒng)。2臺(tái)車站分機(jī)同時(shí)工作,并互為熱備。工作期間,主、備機(jī)之間的區(qū)別:主機(jī)通過(guò)串口線接收計(jì)算機(jī)聯(lián)鎖設(shè)備、無(wú)線車次號(hào)設(shè)備、無(wú)線調(diào)度命令等設(shè)備信息,同時(shí)通過(guò)以太網(wǎng)上傳數(shù)據(jù)到鐵路局調(diào)度中心和本站車務(wù)終端;備機(jī)只監(jiān)聽主機(jī),而不上傳和接收數(shù)據(jù),當(dāng)主機(jī)出現(xiàn)故障時(shí),備機(jī)自動(dòng)切換為主機(jī)工作。
包西鐵路內(nèi)蒙古段指包頭南至新街段,時(shí)速160 km預(yù)留200 km、開行萬(wàn)t列車的重載快速鐵路,是我國(guó)南北鐵路大通道之一的包柳通道中的一部分,起到內(nèi)蒙古自治區(qū)鄂爾多斯煤炭外運(yùn)的重要通路作用。其運(yùn)輸調(diào)度指揮系統(tǒng)如圖1所示。
圖1 包西鐵路內(nèi)蒙古段運(yùn)輸調(diào)度指揮系統(tǒng)框圖
包西鐵路主要通道采用CTC(調(diào)度集中)系統(tǒng),納入包西調(diào)度臺(tái)指揮。專用線銅匠川站和王家塔站采用TDCS系統(tǒng),車站分機(jī)為雙機(jī)熱備,通過(guò)雙機(jī)熱備切換板實(shí)現(xiàn)主備機(jī)間故障切換。
該系統(tǒng)由2套TDCS車站分機(jī)、1塊雙機(jī)熱備切換板(STBY)及通信網(wǎng)絡(luò)組成(圖2)。
圖2 TDCS車站分機(jī)系統(tǒng)結(jié)構(gòu)框圖
當(dāng)開關(guān)至為A或B時(shí),則強(qiáng)制A或B機(jī)為主機(jī)。
當(dāng)開關(guān)至為AUTO時(shí),STBY通過(guò)A、B機(jī)熱備口的數(shù)據(jù)來(lái)自動(dòng)裁決哪一個(gè)為主機(jī)及何時(shí)發(fā)生主備機(jī)的熱備切換。主機(jī)向STBY連續(xù)發(fā)數(shù)據(jù),STBY總會(huì)保持其主機(jī)狀態(tài)不變;備機(jī)在接收主機(jī)數(shù)據(jù)的同時(shí),一直向STBY發(fā)送主、備機(jī)熱備切換的請(qǐng)求;只有當(dāng)主機(jī)不向STBY發(fā)送狀態(tài)保持?jǐn)?shù)據(jù),并且備機(jī)一直向STBY請(qǐng)求主、備切換時(shí),主、備機(jī)才會(huì)發(fā)生熱備切換。
以上是現(xiàn)有TDCS車站分機(jī)主備機(jī)切換所采用的方式,通過(guò)軟件取代雙機(jī)熱備切換板,可大大減少工程投資。在軟件編制過(guò)程中重點(diǎn)解決了以下幾點(diǎn)難題:(1)通過(guò)2條通信路徑的心跳故障檢測(cè),解決因通信路徑故障而導(dǎo)致的不必要系統(tǒng)切換;(2)在監(jiān)控?cái)?shù)據(jù)上加蓋時(shí)間戳,來(lái)確保通信實(shí)時(shí)性與安全性;(3)軟件中加入看門狗設(shè)計(jì),防止MCU死機(jī)。
雙機(jī)備份軟件在主備機(jī)節(jié)點(diǎn)間保持著間歇的通信信號(hào),也叫做心跳信號(hào),如果連續(xù)沒有收到的心跳信號(hào)到了一定的數(shù)目,軟件就把這條路徑標(biāo)示為失效。
在TDCS車站分機(jī)雙機(jī)熱備系統(tǒng)中,為了避免由于潛在的通信路徑故障而導(dǎo)致的系統(tǒng)切換,采用了不同介質(zhì)的2條通信路徑,即Socket(套接字)和串行口。
該備份軟件系統(tǒng)分為主機(jī)監(jiān)控部分和數(shù)據(jù)通訊部分。主機(jī)監(jiān)控部分主要實(shí)現(xiàn)的是監(jiān)控TDCS車站分機(jī)主機(jī)是否在正常工作,即與其他各個(gè)設(shè)備的通信功能是否正常。
3.2.1 監(jiān)控功能設(shè)計(jì)
根據(jù)TDCS車站分機(jī)的功能,來(lái)設(shè)計(jì)監(jiān)控?cái)?shù)據(jù)基本部分的格式。如表1所示。
表1 監(jiān)控?cái)?shù)據(jù)基本部分格式
表1中,從第1位到第8位表示的意義依次為:接收到的計(jì)算機(jī)聯(lián)鎖系統(tǒng)的數(shù)據(jù)正常否、接收到的無(wú)線車次號(hào)設(shè)備的數(shù)據(jù)正常否、接收到無(wú)線調(diào)度命令設(shè)備的回執(zhí)信息正常否、發(fā)送到無(wú)線調(diào)度命令設(shè)備的調(diào)度命令正常否、接收鐵路局的調(diào)度命令正常否、發(fā)送到鐵路局的數(shù)據(jù)正常否、接收到車務(wù)終端的調(diào)度命令正常否、發(fā)送到車站終端的數(shù)據(jù)正常否。在分級(jí)軟件實(shí)現(xiàn)接收或發(fā)送數(shù)據(jù)的時(shí)候,如果正常則返回標(biāo)記為“1”,否則返回標(biāo)記為“0”。
3.2.2 時(shí)間戳應(yīng)用
該熱備系統(tǒng)對(duì)實(shí)時(shí)性有特殊要求,因此要在監(jiān)控?cái)?shù)據(jù)上加蓋時(shí)間戳來(lái)確保其實(shí)時(shí)性與安全性,加蓋時(shí)間戳方式如下:
string time(“車站分機(jī)標(biāo)準(zhǔn)時(shí)間Y-M-D-H-S”,$time);
其返回值為字符串,由此得出監(jiān)控?cái)?shù)據(jù)標(biāo)準(zhǔn)格式如表2所示。
表2 監(jiān)控?cái)?shù)據(jù)格式
此外,考慮到備機(jī)讀取的是蓋有時(shí)間戳標(biāo)記的監(jiān)控?cái)?shù)據(jù),因此要將主機(jī)與備機(jī)的時(shí)間同步。
3.2.3 看門狗(watchdog)設(shè)計(jì)
硬件看門狗是一個(gè)定時(shí)器電路,主要用來(lái)監(jiān)控主程序的運(yùn)行。MCU正常工作的時(shí)候,每隔一段時(shí)間輸出一個(gè)信號(hào)喂狗,給WDT清零,如果超過(guò)規(guī)定的時(shí)間不喂狗(一般在程序跑飛時(shí)),就會(huì)給一個(gè)復(fù)位信號(hào)到MCU,使MCU復(fù)位,防止MCU死機(jī)。
軟件看門狗技術(shù)的原理和硬件看門狗相似,在該系統(tǒng)軟件中,數(shù)據(jù)監(jiān)控程序與車站分機(jī)工作程序進(jìn)行定時(shí)通信,亦即每隔一段時(shí)間監(jiān)控程序會(huì)讀取車站分機(jī)有關(guān)工作狀態(tài)的數(shù)據(jù);如果超過(guò)時(shí)間限制,而監(jiān)控程序沒有讀到數(shù)據(jù),則可認(rèn)為被監(jiān)控的程序已經(jīng)停止響應(yīng),準(zhǔn)備主備機(jī)切換。
3.2.4 算法設(shè)計(jì)
根據(jù)以上監(jiān)控?cái)?shù)據(jù)生成,時(shí)間戳與看門狗應(yīng)用,監(jiān)控軟件算法如下:
moniter( )
{
if(Connect(計(jì)算機(jī)聯(lián)鎖系統(tǒng)))
監(jiān)控?cái)?shù)據(jù)第1位為1;
else
監(jiān)控?cái)?shù)據(jù)第1位為0;
……
if(Connect(車務(wù)終端))
監(jiān)控?cái)?shù)據(jù)第8位為1;
else
監(jiān)控?cái)?shù)據(jù)第8位為0;
String time(“車站分機(jī)標(biāo)準(zhǔn)時(shí)間Y-M-D-H-S”,$time);
}
OnTimer(UINT nIDEvent)
{
case 1://時(shí)間調(diào)整計(jì)時(shí)器(保證各機(jī)時(shí)間同步)
讀定時(shí)調(diào)整參數(shù)值;
ActiveWatchdog( ); //激活Watchdog
設(shè)置定時(shí)器時(shí)間1;
Break;
case 2://讀取數(shù)據(jù)計(jì)時(shí)器(隔段時(shí)間讀取數(shù)據(jù))
ActiveWatchdog( ); //激活Watchdog
讀監(jiān)控狀態(tài)數(shù)據(jù);
設(shè)置定時(shí)器時(shí)間2;
break;
default:
break;
}
數(shù)據(jù)通訊部分的功能是主機(jī)將監(jiān)控其狀態(tài)的數(shù)據(jù)發(fā)送給備機(jī),供備機(jī)判定主機(jī)是否正常。因?yàn)樵谠摬糠衷O(shè)計(jì)中有2條通信路徑,所以數(shù)據(jù)通訊部分的設(shè)計(jì)方案也考慮到該情況。限于篇幅,文中只給出了主機(jī)與備機(jī)的通信流程圖,如圖3、圖4所示。
圖3 主機(jī)通訊流程
圖4 備機(jī)通信流程
STBY價(jià)格是7 000元左右,采用軟件實(shí)現(xiàn)TDCS車站分機(jī)的熱備切換,按一條線10個(gè)車站,可節(jié)省70 000元,同時(shí)取消SRBY后,還可以縮小TDCS車站分機(jī)機(jī)柜,進(jìn)而進(jìn)一步較少設(shè)備造價(jià)及運(yùn)輸?shù)瘸杀尽?/p>
硬件越多,故障點(diǎn)越多,采用高可靠軟件取代部分硬件,可減少工程維護(hù)的工作量。
由于TDCS車站分機(jī)在整個(gè)系統(tǒng)中占有極其重要的地位,要求其傳輸數(shù)據(jù)的可靠性及實(shí)時(shí)性很高,所以對(duì)其采用了雙機(jī)熱備?,F(xiàn)場(chǎng)TDCS車站分機(jī)采用的硬件切換方式在實(shí)踐中很成熟,但費(fèi)用也相對(duì)較高;軟件方式比較經(jīng)濟(jì),并且實(shí)現(xiàn)了對(duì)系統(tǒng)狀態(tài)和特定應(yīng)用的監(jiān)測(cè),數(shù)據(jù)通信軟件完成了主備機(jī)間的互檢和對(duì)通信通道的檢測(cè),整個(gè)系統(tǒng)實(shí)現(xiàn)了雙機(jī)快速、無(wú)抖動(dòng)的故障切換,在以后的應(yīng)用中,會(huì)逐漸成為主體。
[1] 鐵道部運(yùn)輸局.鐵路列車調(diào)度指揮系統(tǒng)(TDCS)[M].北京:中國(guó)鐵道出版社,2006.
[2] 何福忠.TDCS車站分機(jī)雙機(jī)熱備系統(tǒng)設(shè)計(jì)[J].鐵道通信信號(hào),2007(1):11-13.
[3] 呂永宏,劉紅燕.客運(yùn)專線信號(hào)系統(tǒng)組成[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2006(12):87-90.
[4] 鄭文宇.基于Windows XP Embedded的TDCS車站分機(jī)研究與設(shè)計(jì)[D].蘭州:蘭州交通大學(xué),2009.
[5] 尹錦平.數(shù)字調(diào)度系統(tǒng)在鐵路通信中的應(yīng)用[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2006(11):88-91.
[6] 李佳祎,喻志宏,林雙杰.無(wú)線網(wǎng)絡(luò)性能指標(biāo)[J].鐵道勘察,2009(2):104-107.
[7] 張 銳.國(guó)內(nèi)外鐵路信號(hào)現(xiàn)狀、差距對(duì)比和我國(guó)鐵路信號(hào)發(fā)展方向的思考[J].鐵道標(biāo)準(zhǔn)設(shè)計(jì),2004(7):117-120.
[8] 張 浩.高速鐵路維修網(wǎng)分析[J].鐵道勘察,2009(3):97-100.