TDCS车站分机双机热备系统的软件切换实现
2011-01-22郑文宇朱娜敏陈雁冰
郑文宇,朱娜敏,陈雁冰
(1.中铁工程设计咨询集团有限公司,北京 100055;2.安徽淮南矿业集团,安徽淮南 232001;3.中铁第五勘察设计院集团有限公司,北京 102600)
1 概述
列车调度指挥系统(简称TDCS)是实现铁路各级运输调度对列车进行透明指挥、实时调整、集中控制的现代化信息系统,它由铁道部TDCS中心、铁路局调度所TDCS中心及车站基层网三层组成。TDCS车站分机是车站基层网的设备,起到信息的采集、上传及下发的作用,在整个系统中占有非常重要的地位。
TDCS车站分机双机热备系统是一种双机互备系统。2台车站分机同时工作,并互为热备。工作期间,主、备机之间的区别:主机通过串口线接收计算机联锁设备、无线车次号设备、无线调度命令等设备信息,同时通过以太网上传数据到铁路局调度中心和本站车务终端;备机只监听主机,而不上传和接收数据,当主机出现故障时,备机自动切换为主机工作。
2 现场应用
2.1 包西铁路内蒙古段概况
包西铁路内蒙古段指包头南至新街段,时速160 km预留200 km、开行万t列车的重载快速铁路,是我国南北铁路大通道之一的包柳通道中的一部分,起到内蒙古自治区鄂尔多斯煤炭外运的重要通路作用。其运输调度指挥系统如图1所示。
图1 包西铁路内蒙古段运输调度指挥系统框图
包西铁路主要通道采用CTC(调度集中)系统,纳入包西调度台指挥。专用线铜匠川站和王家塔站采用TDCS系统,车站分机为双机热备,通过双机热备切换板实现主备机间故障切换。
2.2 TDCS车站分机系统结构及原理
该系统由2套TDCS车站分机、1块双机热备切换板(STBY)及通信网络组成(图2)。
图2 TDCS车站分机系统结构框图
当开关至为A或B时,则强制A或B机为主机。
当开关至为AUTO时,STBY通过A、B机热备口的数据来自动裁决哪一个为主机及何时发生主备机的热备切换。主机向STBY连续发数据,STBY总会保持其主机状态不变;备机在接收主机数据的同时,一直向STBY发送主、备机热备切换的请求;只有当主机不向STBY发送状态保持数据,并且备机一直向STBY请求主、备切换时,主、备机才会发生热备切换。
3 主备机间新的软件切换方式
以上是现有TDCS车站分机主备机切换所采用的方式,通过软件取代双机热备切换板,可大大减少工程投资。在软件编制过程中重点解决了以下几点难题:(1)通过2条通信路径的心跳故障检测,解决因通信路径故障而导致的不必要系统切换;(2)在监控数据上加盖时间戳,来确保通信实时性与安全性;(3)软件中加入看门狗设计,防止MCU死机。
3.1 2条通信路径的心跳故障检测
双机备份软件在主备机节点间保持着间歇的通信信号,也叫做心跳信号,如果连续没有收到的心跳信号到了一定的数目,软件就把这条路径标示为失效。
在TDCS车站分机双机热备系统中,为了避免由于潜在的通信路径故障而导致的系统切换,采用了不同介质的2条通信路径,即Socket(套接字)和串行口。
3.2 主机监控软件的设计
该备份软件系统分为主机监控部分和数据通讯部分。主机监控部分主要实现的是监控TDCS车站分机主机是否在正常工作,即与其他各个设备的通信功能是否正常。
3.2.1 监控功能设计
根据TDCS车站分机的功能,来设计监控数据基本部分的格式。如表1所示。
表1 监控数据基本部分格式
表1中,从第1位到第8位表示的意义依次为:接收到的计算机联锁系统的数据正常否、接收到的无线车次号设备的数据正常否、接收到无线调度命令设备的回执信息正常否、发送到无线调度命令设备的调度命令正常否、接收铁路局的调度命令正常否、发送到铁路局的数据正常否、接收到车务终端的调度命令正常否、发送到车站终端的数据正常否。在分级软件实现接收或发送数据的时候,如果正常则返回标记为“1”,否则返回标记为“0”。
3.2.2 时间戳应用
该热备系统对实时性有特殊要求,因此要在监控数据上加盖时间戳来确保其实时性与安全性,加盖时间戳方式如下:
string time(“车站分机标准时间Y-M-D-H-S”,$time);
其返回值为字符串,由此得出监控数据标准格式如表2所示。
表2 监控数据格式
此外,考虑到备机读取的是盖有时间戳标记的监控数据,因此要将主机与备机的时间同步。
3.2.3 看门狗(watchdog)设计
硬件看门狗是一个定时器电路,主要用来监控主程序的运行。MCU正常工作的时候,每隔一段时间输出一个信号喂狗,给WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),就会给一个复位信号到MCU,使MCU复位,防止MCU死机。
软件看门狗技术的原理和硬件看门狗相似,在该系统软件中,数据监控程序与车站分机工作程序进行定时通信,亦即每隔一段时间监控程序会读取车站分机有关工作状态的数据;如果超过时间限制,而监控程序没有读到数据,则可认为被监控的程序已经停止响应,准备主备机切换。
3.2.4 算法设计
根据以上监控数据生成,时间戳与看门狗应用,监控软件算法如下:
moniter( )
{
if(Connect(计算机联锁系统))
监控数据第1位为1;
else
监控数据第1位为0;
……
if(Connect(车务终端))
监控数据第8位为1;
else
监控数据第8位为0;
String time(“车站分机标准时间Y-M-D-H-S”,$time);
}
OnTimer(UINT nIDEvent)
{
case 1://时间调整计时器(保证各机时间同步)
读定时调整参数值;
ActiveWatchdog( ); //激活Watchdog
设置定时器时间1;
Break;
case 2://读取数据计时器(隔段时间读取数据)
ActiveWatchdog( ); //激活Watchdog
读监控状态数据;
设置定时器时间2;
break;
default:
break;
}
3.3 数据通讯软件的设计
数据通讯部分的功能是主机将监控其状态的数据发送给备机,供备机判定主机是否正常。因为在该部分设计中有2条通信路径,所以数据通讯部分的设计方案也考虑到该情况。限于篇幅,文中只给出了主机与备机的通信流程图,如图3、图4所示。
图3 主机通讯流程
图4 备机通信流程
3.4 设备造价及维护分析
STBY价格是7 000元左右,采用软件实现TDCS车站分机的热备切换,按一条线10个车站,可节省70 000元,同时取消SRBY后,还可以缩小TDCS车站分机机柜,进而进一步较少设备造价及运输等成本。
硬件越多,故障点越多,采用高可靠软件取代部分硬件,可减少工程维护的工作量。
4 总结
由于TDCS车站分机在整个系统中占有极其重要的地位,要求其传输数据的可靠性及实时性很高,所以对其采用了双机热备。现场TDCS车站分机采用的硬件切换方式在实践中很成熟,但费用也相对较高;软件方式比较经济,并且实现了对系统状态和特定应用的监测,数据通信软件完成了主备机间的互检和对通信通道的检测,整个系统实现了双机快速、无抖动的故障切换,在以后的应用中,会逐渐成为主体。
[1] 铁道部运输局.铁路列车调度指挥系统(TDCS)[M].北京:中国铁道出版社,2006.
[2] 何福忠.TDCS车站分机双机热备系统设计[J].铁道通信信号,2007(1):11-13.
[3] 吕永宏,刘红燕.客运专线信号系统组成[J].铁道标准设计,2006(12):87-90.
[4] 郑文宇.基于Windows XP Embedded的TDCS车站分机研究与设计[D].兰州:兰州交通大学,2009.
[5] 尹锦平.数字调度系统在铁路通信中的应用[J].铁道标准设计,2006(11):88-91.
[6] 李佳祎,喻志宏,林双杰.无线网络性能指标[J].铁道勘察,2009(2):104-107.
[7] 张 锐.国内外铁路信号现状、差距对比和我国铁路信号发展方向的思考[J].铁道标准设计,2004(7):117-120.
[8] 张 浩.高速铁路维修网分析[J].铁道勘察,2009(3):97-100.