在自动化的许多领域,有效性的要求越来越高,因而对自动化系统的容错水平的要求也变得越来越高,尤其在设备停机代价非常大的场合。为了满足这些严格的要求,在DCS系统中通常采用冗余技术,这样才能够满足这些领域所需要的安全性、可靠性和有效性的标准。
在DCS控制系统中,分布处理单元是系统关键的部分。当前这些分布处理单元的控制器往往是基于86系列CPU建构的,这种架构目前被广泛采用。但是由于86系列分布处理单元的特点,导致现在的控制器处理单元存在很多的缺点,如放热量大等。而且在封闭的环境中,这些问题始终很难解决。随着很多低功耗技术的发展和低功耗控制器的出现,分布处理单元的CPU可以有更多的选择,尤其是低功耗的控制器产生很少的热量,且可以使系统的集成度更高。
无论是国内还是国外的DCS控制系统之间有多大区别,冗余技术在这些DCS控制系统中都被广泛采用。DCS控制系统中主要采用了网络冗余技术、分布处理单元冗余技术、IO卡件冗余技术、电源冗余技术等。
1 DCS系统的模型
DCS控制系统是控制技术、计算机技术、通信技术及图形显示技术相结合的产物,其一般的体系结构见图1。由图
DCS控制系统的冗余设置大部分都与过程控制层和监控层有关,因此大部分的冗余技术都与过程控制层相关。下面结合最新的基于ARM控制器的分布式处理单元,对DCS控制系统中采用的冗余技术中的分布处理单元冗余和网络冗余进行讨论。
2 基于ARM的分布处理单元结构
基于ARM的分布处理单元的结构框图见图2,这和一般的分布处理单元的结构非常相似。这里主要把处理单元分为6部分:ARM控制器、上层网络模块、电源管理模块、存储器模块、低层网络模块和时钟模块。ARM控制器和存储模块组成了最基本的嵌入式系统,整个DCS控制系统的数据处理和控制策略都是在这里处理的。上层网络模块主要是指和管理层通信的主/冗余网络和一个实现主/冗余分布处理单元进行数据交换的网络,这部分的主要功能是完成管理层对DCS控制系统的实时检测和实现主/冗余分布处理单元的数据冗余。底层的网络模块是由分为主次的2条485网络组成,此模块主要实现ARM控制器的I/O卡件之间的数据通信。存储器模块可分为两部分,一部分用来管理存放操作系统,另一部分用来管理存放实时数据。电源模块和时钟模块分别实现电源的管理和时钟的管理。
3 控制器冗余
分布式处理单元的冗余根据冗余度可以分为冗余度为1∶1和1∶n两种情况。这在每个DCS厂家的产品中是不同的。这两种方式各有优缺点。这里介绍的是冗余度为1∶1的冗余设置。
分布处理单元冗余度为1∶1,就是将2块组态完全一样的控制器设置成冗余方式。在投入运行时,若出现故障,两分布处理单元之间能实现无扰动切换,保证系统的正常运行。
本系统所采用的分布处理单元均带3个网络接口,其中2个网口分别连接到A网和B网,实现各工作站点间的数据通信,第3个网口通过对等网数据连接子分布处理单元间(对等网数据现可选用光纤作传输介质),用来传输主、从分布处理单元之间的备份数据;分布处理单元之间的状态信息由串口传输。冗余分布处理单元与网络的连接见图3。
冗余分布处理单元的工作原理:两个分布处理单元硬件配置完全相同,内部装有相同的操作系统,相同的组态软件,
相同的组态信息。在同一时刻只有1个分布处理单元通过双机交换卡接受过程信息并进行运算处理,最后产生控制结构去控制过程设备,此分布处理单元称为主分布处理单元。同时冗余分布处理单元并没有闲置,它在每一个工作周期都通过双机之间的光纤对主分布处理单元所接受的过程信息和运算结果进行实时拷贝,这样冗余分布处理单元始终与主分布处理单元同步。冗余分布处理单元同时检测拷贝的信息是否完整,是否在所允许的容错度内。一旦信息不完整或报错,则说明主分布处理单元工作不正常。在这种情况下,冗余分布处理单元通过光纤将主分布处理单元旁路,同时切换为主分布处理单元继续工作。切换时间选用最短的运算周期(几十ms或更短),从而实现无扰动切换。等到主分布处理单元恢复正常后,冗余分布处理单元自动把控制权交还给主分布处理单元,转为冗余备份状态。
从图3中可看出双分布处理单元仲裁电路工作原理为将分布处理单元各自自身之诊断结果加到仲裁电路上,并读取相应的仲裁结
果,以确定自身之主辅状态。通过编程,确定各状态的优先级,由于双分布处理单元均根据仲裁之结果确定各自之主辅状态,故只要仲裁结果变化了,双分布处理单元则自动进行切换。4 网络冗余
在DCS控制系统中至少存在2个网络,一个是管理层和控制层之间的通信网络,另一个是过程控制层与底层I/O卡件层之间的485通信网络。上层网络主要的作用是实现管理层对控制层实时检测,和对下层控制器的配置设置等任务。下层网络是为了把I/O卡件采集的数据传送到过程控制层,然后把控制层的控制数据传送给I/O卡件。这2个网络在DCS控制系统中的重要性是不言而喻的。
针对上层网络模块的冗余,当今的工业自动化领域出现了各种各样的支持链路冗余功能的工业以太网交换机,它们解决了由节点故障导致网络瘫痪的问题。为提高数据通信的整体可靠性和容错性,本DCS控制系统也采用环形的网络拓补结构。但是由于环形网本身固有的缺点是节点故障引起全网故障,因此数据通信链路的冗余技术应运而生。为了保证2层网络的顺利工作,2个网络都采用1∶1的冗余设置。分布处理单元检测到主网出现故障时,自动放弃从主网的端口通信,同时启用冗余网的端
和接受。此时冗余网进入数据通信状态,主网及时进行修补。双环网技术实现了传输媒介的冗余,在TurboRing的基础上进一步提高了系统的可靠性。但双环网的管理和切换都比较复杂,本系统采用了一种简单的方法。
对于网络上的每1个节点,可能处于下述5种情况之一:
(1)在线联网运行,系统至少有2个节点在运行;(2)在线单机运行,系统只有本地节点在运行;(3)离线单机运行,此节点的网卡存在且正常、但没有上网;(4)离线单机运行,此节点的网卡存在,但出现故障;(5)离线单机运行,此节点不存在网卡。
目前的网络控制器都提供了命令、诊断、配置和状态寄存器,通过读写这些寄存器,便可以区分上述5种情况。当系统运行时,各种因素都可能存在,为了在线反映网络各节点的运行状态,每个节点可以设置一张网络状态表,记录各节点上每块网卡的运行状态。当某节点上1块或2块网卡的状态改变时,其他节点应能在尽可能短的时间内知道。为此,每个节点的2块网卡需要定时广播1个测试包,表明该节点的网卡存在。其他节点收到此包时,修改网络状态表中此节点上相应网卡的状态。然而在运行过程中,如果某节点的1块网卡离线,它将既不能接收、也不能发送。而在此之前,它已在其他节点的网络状态表上登记了,其他节点将认为该网卡存在且正常,显然没有反映网卡运行的真正状态。为了准确反映网卡的状态,每个节点的2块网卡定时广播测试包的同时,将本节点的网络状态表中所有网卡状态计数加1,直到最大值LIMIT。每当收到某节点的测试包时,将该节点相应网卡的状态计数清为0。这样,保证状态数小于最大值LIMIT和定时广播周期就可以在线实时监视网络的运行,准确反映节点所处的状态。在2个网络之间还可以添加具有路由功能的网间传输设备,当2个网络同时出现故障时,网间传输设备也能自动寻找可行路径,组成1个环路,保持系统的正常通信。
对于测试包的广播,只要本节点上的网卡在线运行,即从相应的链路发送,测试包发送完毕之后,根据网络状态表,可以选择一条正常运行的节点数较少的,负荷较轻的链路,用于数据包发送。双网的工作流程见图4。