卡斯柯信号有限公司 张 彬 李常辉 潘 雷
在轨道交通信号设备领域中,目前广泛使用双套热备冗余技术来提升设备的可靠性。热备冗余的一般技术是保证互为热备的两套系统同时运行,其中一套设备作为主机保证当前的计算和通信功能;另外设备作为备机保证与主机的同步工作状态,但不进行计算决策及对外通信。当主机故障时通过主备切换软件或硬件将备机转为主机,保证整个系统的不间断继续运行。
本设备就是一种通用的主备切换设备,提供安全的主备切换控制功能。是基于单片机、电路板和安全继电器组并集成NISAL编码技术的SIL4级的通用安全切换单元。能完成通信管理,切换状态采集,主备状态显示,人工切换等功能。
图1 内部结果及对外连接
所图1所示切换设备包括机笼、两个单片机板卡S1和S2、两个独立安全继电器J1和J2及两个独立电源,单片机板卡分别连接外部子系统A和外部子系统B。
切换开关可以由开关控制三种控制状态:
(1)由通信接口向外部子系统A和外部子系统B发送消息,直接要求外部子系统A作为主机;
(2)由通信接口向外部子系统A和外部子系统B发送消息,直接要求外部子系统B作为主机;
(3)接收外部子系统A和外部子系统B发送给本设备的申请做主请求。根据先收到请求先判决为主机的原则,向外部子系统A和外部子系统B发送互斥的主备判决结果,被判决为主机的外部子系统收到代表做主机的消息,被判决为备机的外部子系统收到代表做备机的消息。当做主机的外部子系统自行放弃作为主机或者发生故障导致无法与本设备保持请求通信时,本设备会响应请求或检测到外部子系统通信异常,将原先主机判决为备机,同时将原先的备机判决为主机。
S1和S2分别连接到安全互斥继电器组上,并采集安全互斥继电器J1和J2的触点状态及对应的不同的NISAL编码,并将该结果返回至发出做主请求的外部子系统A和外部子系统B
由于安全互斥继电器的安全互斥的特性,外部子系统A和外部子系统B在同一时间采集到的继电器的状态必然是互斥的, S1和S2利用继电器的状态作为判断主备状态并发送互斥的判决结果给外部子系统A和B,从而避免出现判决出双主情况。
S1和S2能够各自通过CAN口RS422接口与外部子系统A和B进行通信,每个通道的通信都有两路,两路通道传输同样的数据,即使一路故障另一路仍能够使用,提升了通信的可靠性。不同的通信方式则可以避免共因失效的情况发生。
所述发给外部子系统A和B的消息是根据继电器状态采集到的预存NISAL码字。NISAL技术是ALSTOM通过国际权威机构认证的SIL4安全技术,使得从本设备发出的信息即使在传输过程中出现错误,也是可以被检测到的。保证了判决的安全性。
图2 工作处理流程
设备工作时的工作流程如下:
当切换开关置于自动判决状态时(即切换开关送至主备切换模块F3的档位信息为自动判决):
步骤1:外部子系统A和B将请求信息发送至S1和S2,S1和S2内的输入管理模块F1接收请求信息。
步骤2:输入管理模块F1将外部请求发送给主备切换模块F3。若F1没有收到外部请求则会将宽恕时间发送给F3,若后续一直没有收到新的外部请求,则宽恕时间会不断累加并发送给F3,若有收到新的外部请求,则宽恕时间清零。
步骤3:主备切换模块F3根据输入管理模块F1传来的申请发送控制继电器动作的命令,收到做主请求则控制吸起继电器、收到释放请求则控制释放继电器。若收到宽恕时间并判断大于阈值(阈值为略大于外部子系统与输入管理模块F1通信间隔的一个时间值),则控制释放继电器。同时F3还会将收到的切换开关档位信息发送给输出管理模块F5。
步骤4:继电器会根据主备切换模块F3的控制命令进行动作,详细原理会在后面进行详述。
步骤5:状态采集模块F2会通过继电器设置的FLASH地址位进行寻址,并采集FLASH内的代表做主或做备的NISAL码字发送给输出管理模块F5。
步骤6:输出管理模块F5将从F2收到的NISAL码字以及从F3收到的档位信息一并发送给外部子系统。
步骤7:外部子系统根据收到的判决结果来设置自身的主备状态。
当切换开关置于强制外部子系统A做主状态时(即切换开关送至主备切换模块F3的档位信息为外部子系统A做主):工作流程和自动判决时一样,但在步骤3时主备控制模块F3忽略外部请求和宽恕时间。S1直接控制J1吸起、S2直接控制J2释放。
当切换开关置于强制外部子系统B做主状态时(即切换开关送至主备切换模块F3的档位信息为外部子系统B做主):工作流程和自动判决时一样,但在步骤3时主备控制模块F3忽略外部请求和宽恕时间。S1直接控制J1释放、S2直接控制J2吸起。
图3 单片机、继电器及FLASH组合原理
主备切换设备的一个重要的功能就是避免判决结果为双方同时作为主机,这样会严重影响系统的可靠性和安全性。本设备采用两组安全型继电器组成安全互斥电路,保证主备输出结果互斥,不会产生双主的情况(见图3)。
S1对J1吸起的电信号Power1 12V通过J2的一个常闭触点连接到J1的励磁端。S2对J2吸起的电信号Power2 12V通过J1的一个常闭触点连接到J2的励磁端。S1的FLASH的DR0地址位连接到J1的常闭触点,DR1地址位连接到J1的常开触点。S2的FLASH的DR0地址位连接到J2的常闭触点,DR1地址位连接到J2的常开触点。所有的控制情况如下所示:
当外部子系统A首先申请做主时,S1首先控制吸起J1,S1控制Power1 12V通过J2的常闭触点接入J1励磁端,吸起J1。此时J1的常闭触点打开,Power2 12V到J2励磁端的通路被切断,S2要求吸起J2的操作无法真正吸起J2,但只要外部子系统B持续申请做主,S2将保持Power2 12V的励磁输出。此时S1由继电器状态决定的DR0地址为“0”,DR1地址为“1”,即S1板FLASH寻址的最高两位被设为“01”,此区域FLASH内存放的是代表判决做主机的NISAL码字。对应S2板FLASH寻址的最高两位则被设为“10”,此区域FLASH内存放的是代表判决做备机的NISAL码字。两套码字将分别发送给外部子系统A和B,即A机做主机,B机做备机。
若S2仍持续收到外部子系统B的做主申请,S2将保持Power2 12V的励磁输出。当S1收到要求释放继电器或无法连接到外部子系统A时, S1不再输出Power1 12V,J1被控制释放。Power2 12V连接到J1的触点从断开状态变为闭合状态,Power2 12V的输出被送至J2励磁端,J2被吸起。此时Power1 12V连接到J2上的触点被打开,在J2被释放前,J1无法再被励磁吸起。此时S2由继电器状态决定的DR0地址为“0”,DR1地址为“1”,即S2板FLASH寻址的最高两位被设为“01”,此区域FLASH内存放的是代表判决做主机的NISAL码字。对应S1板FLASH寻址的最高两位则被设为“10”,此区域FLASH内存放的是代表判决做备机的NISAL码字。两套码字将分别发送给外部子系统A和B,即A机做备机,B机做主机。
当外部子系统B首先申请做主时,S2首先控制吸起J2,S2控制Power2 12V通过J1的常闭触点接入J2励磁端,吸起J2。此时J2的常闭触点打开,Power1 12V到J1励磁端的通路被切断,S1要求吸起J1的操作无法真正吸起J1,但只要外部子系统A持续申请做主,S1将保持Power1 12V的励磁输出。此时S2由继电器状态决定的DR0地址为“0”,DR1地址为“1”,即S2板FLASH寻址的最高两位被设为“01”,此区域FLASH内存放的是代表判决做主机的NISAL码字。对应S1板FLASH寻址的最高两位则被设为“10”,此区域FLASH内存放的是代表判决做备机的NISAL码字。两套码字将分别发送给外部子系统A和B,即A机做备机,B机做主机。
若S1仍持续收到外部子系统A的做主申请,S1将保持Power1 12V的励磁输出。当S2收到要求释放继电器或无法连接到外部子系统B时,S2不再输出Power2 12V,J2被控制释放。Power1 12V连接到J2的触点从断开状态变为闭合状态,Power1 12V的输出被送至J1励磁端,J1被吸起。此时Power2 12V连接到J1上的触点被打开,在J1被释放前,J2无法再被励磁吸起。此时S1由继电器状态决定的DR0地址为“0”,DR1地址为“1”,即S1板FLASH寻址的最高两位被设为“01”,此区域FLASH内存放的是代表判决做主机的NISAL码字。对应S2板FLASH寻址的最高两位则被设为“10”,此区域FLASH内存放的是代表判决做备机的NISAL码字。两套码字将分别发送给外部子系统A和B,即A机做主机,B机做备机。
当S1收到要求释放继电器或无法连接到外部子系统A且S2收到要求释放继电器或无法连接到外部子系统B时。S1不再输出Power1 12V,S2不再输出Power2 12V。J1和J2均被释放。此时S1和S2的FLASH寻址的最高两位都是“10”, 此区域FLASH内存放的是代表判决做备机的NISAL码字。此时向外部子系统A和B发送的信息都是做备机。
本文设计主备切换装置采用了互斥继电器的设计,确保了不会出现双主的判决结果。同时采用NISAL编码技术以及双通道通信技术,保证的通信的可靠性和错误可检出性。是一种安全可靠的主备切换控制设备,可以广泛应用于轨道交通信号控制系统的车载及轨旁系统中,目前已经在多地有轨电车项目中投入使用。
[1]周宇恒,杨辉,余文兵,等.基于Stateflow的轨旁安全平台主备切换机制设计[J].铁道通信信号,2015,(6):88-91. DOI:10.13879/j.issn1000-7458.2015-06.15040.
[2]李付军.基于PCC的双机热备控制系统研制[J].电子机械工程,2012,(4):39-41. DOI:10.3969/j.issn.1008-5300.2012.04.011.
[3]陈树泉,唐涛,马连川, 等.2乘2取2安全计算机关键算法的设计与实现[J].计算机安全,2008,(3):7-9.DOI:10.3969/j.issn.1671-0428.2008.03.003.
[4]王江江,李志强,赵亮.双机热备系统的主备切换研究[J].铁道通信信号,2015,(2):11-12,54. DOI:10.13879/j.issn1000-7458.2015-02.14485.