(西安中核核仪器有限公司,陕西 西安 710061)
核电火灾报警系统依据GB 50116—2013火灾自动报警系统设计规范,属于控制中心火灾报警系统,由火灾报警控制器、操作员工作站、各种探测器、手动报警按钮、声光警报器灯等组成,其中火灾报警控制器可通过联网,对现场报警、联动事件进行管理与控制,起到火灾预防与消除的作用。核岛主控室作为控制中心,核岛火灾报警控制器为系统核心主机,为了确保系统的健壮性,核岛控制器由2台火灾报警控制器共同担当,既可以分管所带探测联动回路,通过联网也可以作为核电火灾报警系统的冗余主机,单机出现故障或离线时,由另一台完成对火灾报警系统的管理控制。某典型核电火灾报警控制系统示意图如图1所示,请注意图中x(5或6)号核岛控制器实际为2台火灾报警控制器,其余子项根据规模大小控制器数量不一。
图1 核电火灾报警控制系统示意图Fig.1 Schematic of the fire alarm controlsystem of nuclear power plant
核电火灾报警系统的特殊性在于联动功能与DCS紧密相关,除自身联动启动消防设备之外,部分重要设备的启动,如风机,需要由DCS启动,部分重要设备的动作反馈信号,如新风阀,需要由DCS反馈,所以核岛控制器需通过接口与协议与DCS保持通信。
为了确保与DCS通信的可靠性,核电火灾报警系统与DCS之间采取了双主机双链路的通讯连接模式,双机保证了即使1台主机检修或故障,火灾报警系统仍然能够与DCS保持正常通信,双链路则保证了,单一通道故障下,火灾报警系统仍然能够与DCS保持正常通信。而热备的要求是,正常情况下仅使用某一通道的数据进行监控,该链路通信失效时,自动切换去另一通道,但需实时在线监测备用链路的有效性,防止链路切换时,才发现链路已故障。与之对应的,无检测备用链路称之为冷备。双主机双链路与DCS通讯链接示意图如图2所示。
图2 双主机双链路DCS通讯示意图Fig.2 Schematic of DCS communicationbetween dual host and dual link
根据具体应用不同,可以把P2P(peer to peer)网络大致分为集中式对等网络,纯分布式对等网络,混合式对等网络[1]。例如Napster、Gnutella、eDonkey、eMule、Maze、BT等,用户可以直接从任意一台安装同类软件的PC上下载或上传文件,并检索、复制共享的文件。其中集中式对等网络(如Napster、QQ)基于中央目录服务器,由它为网络中各节点提供目录查询服务,传输内容则无需经过中央服务器。由于仍存在中央节点,容易形成传输瓶颈,集中式的扩展性比较差,不太适合大型网络,但目录集中管理,对于小型网络的管理和控制上也是一种可行方案。典型的Napster架构如图3所示。
图3 Naspter集中式架构图Fig.3 Naspter centralized architecture
集中型对等网络中的节点都连接到一个中心目录,在中心目录发布或注册自己共享的文件信息,在需要文件时,也连接到中心目录查找索引。中心目录接收到查询请求时,在索引中选择符合要求的最佳节点,如速度最快,距离最近,作为资源提供者。中心目录模型图如图4所示。
图4 中心目录模型图Fig.4 Central catalog model
火灾报警系统网络在核电工程应用中,规模不是太大,典型的核电应用场景中,通常由20~30台火灾报警控制器组成火灾报警系统网络,比较适用于集中式对等网络,但是火灾报警的重要性,又不能允许出现中央节点瓶颈,所以在集中型对等网络的基础上,辅以最小号推选机制,即正常监控时,由最小号火灾报警控制器担任中央节点,维护同步列表,并发送至其他控制器保存,一旦最小号控制器因故障离线或与DCS失联,立即由目前节点中的最小号,获得虚拟系统维护令牌,接任中央节点,维护火灾报警网络信息的正常传递与记录,如图5所示。双主机热备可将核岛主控室的2台火灾报警控制器主机分别设为1号与2号。
图5 小号推选机制流程图Fig.5 Flow chart of little number selection
在核岛火灾报警控制器1、2号机热备的前提下,双机分别以单独的链路与DCS连接如图6所示。
图6 双机数据流程图Fig.6 Flow chart of dual host data
与冷备不同的是,此时DCS两个端口均同时发送相同数据,首先以一条主链路A数据为准进行同步专用寄存器值的改查,主链路A、备用链路B同时回复应答;当主链路A出现故障后,由DCS进行判断后,切换到以另一条链路B数据为准工作的模式。数据发送的时序关系如图7所示。
图7 双机通讯时序图Fig.7 Dual host communication sequence
火灾报警控制器与DCS之间通信为MODBUS协议,通过读/写专用寄存器列表来上传报警信息与下达联动/反馈指令。
MODBUS接口规范见表1。
表1 MODBUS接口表
正常情况下,由1号机负责接收DCS命令与向DCS报告事件,2~×号机的报警事件信息均通过火警网络,传送至1号机,由1号机主改写专用寄存器列表值,等待DCS读取,如果DCS下达联动/反馈指令,由1号机主改写专用寄存器列表值,通过火警网络传送至2~×号机,进行联动行动或反馈显示。此时专用寄存器列表由1号主机维护,并同步给2号机保存备用,2号机只是应答DCS的查询命令,表明链路热备正常。非正常情况下,1号机与DCS因本身故障或链路故障,则利用小号推选机制,2号主机获得虚拟维护令牌,主动作为火警系统的主机,利用备份寄存器列表与DCS开始通信。
但由于DCS指令可能为同步或异步发送的原因,双主机接到命令或反馈可能有一定的时间差。在线巡检命令与应答没有问题,但因火警系统双主机之间还有报警事件、联动信息等需要同步,同一条命令/事件的寄存器读写将可能存在不一致问题。例如,发生报警事件后,在未完成寄存器列表同步之时,出现读指令或链路切换,DCS会读到不一样的寄存器状态,此时,需要DCS延时,待读取寄存器状态一致后读取,或者是双链路时默认主链路数据为准,单链路时以该链路数据为准。
火灾报警控制器双主机冗余,既保证了火灾报警系统的可靠性,也为与DCS通信双链路冗余奠定了基础。火灾报警控制器之间的小号推选机制可以保证虚拟的系统维护令牌在火灾报警控制器之间可靠传递,专用的DCS通信寄存器列表由系统维护令牌持有者维护,保证了寄存器列表的唯一性与正确性。与DCS通信双链路热备冗余,相对于冷备来讲,可实时监测链路的通讯状态,防止故障于未然,避免了切换时,才发现备用链路故障的情况,极大地提高了火灾报警系统与DCS之间通讯的可靠性,而由此带来的,可能的应答数据不一致的问题,可以通过延时读取,或确定数据通道来解决。
在实际项目通讯测试中的测试结果如表2所示。
表2 通讯测试结果
后续核电项目火灾报警系统与DCS通讯,将以双链路热备冗余DCS模式为主,这样才能最大程度地满足核电设计可靠性要求。通过前期多个实际项目的冷备联调,可以看到,DCS可以通过通信模块,或设备多串口来实现冗余模式。由于位于通信发起的主动方,DCS可以识别通信链路的有效性,而热备冗余通信的两条链路会同时下发读、写请求,也可能异步下发,因此火灾报警控制器需要实现可以独立回应下发给自己的信息,还需要实现自己设备间的同步通信,同时需要防止数据震荡,即始终同步不了。火灾报警系统的控制器小号推选虚拟令牌传递辅以专用寄存器列表令牌维护的设计,实现了双主机双链路的热备冗余。在虚拟测试中,基于工控机(Intel Atom N270,1.6 G主频CPU,1 G DDR2 SRAM内存)为核心处理单元的火灾报警控制器,通过网口,虚拟DCS双串口,间隔3 s查询的条件下,可以实现寄存器列表的同步,且满足GB 4717—2005《火灾报警控制器》中,控制器10 s内发出火灾报警声、光信号的要求,当模拟出现链路故障时,火灾报警系统可以自动完成控制器虚拟令牌转换,由热备控制器依据备份专用寄存器列表与DCS进行通信。