一种DCS系统冗余过程控制器冗余性能测量方法
2022-06-29张明惠董胜刚
张明惠,董胜刚
(南京国电南自维美德自动化有限公司,南京 210032)
0 引言
分散控制系统(DCS)包括了过程控制站及上位监控系统,是操作员与就地设备之间的桥梁和纽带。实时控制系统要求能实时采集现场数据,并对所采集的数据进行及时处理,进而自动地控制相应的执行机构,使某些(个)参数(如温度、压力、方位等)能按预定的规律变化,以保证产品的质量和提高产量。DCS 能够正常工作,关键在于DCS 的安全性、稳定性和可靠性[1-5]。随着DCS 在火力发电站以及化工、煤矿、船舶等的广泛应用和覆盖面的不断扩展,对其性能以及可靠性的要求越来越高。
当前,绝大多数火电厂过程控制站的控制器均采用冗余配置[6],即过程控制站中的控制器分为主控制器和备控制器,主备控制器中运行了相同的逻辑组态。当主控制器运行出现问题时,备控制器能够及时接管控制,从而保证现场被控设备的可靠安全运行[7]。主备控制器模块之间通过心跳线收发同步脉冲,当备机连续未收到主机发送的脉冲,就切换为主机,原主机复位后切换为备机,从而实现冗余切换。主控制器模块将组态运算的结果同步到备控制器。采用冗余技术可以明显提高系统的可靠性,其可靠性的上升呈指数趋势,如系统两个可靠性为80%的子系统并联为一个完整系统,则系统可靠性将上升至96%[8]。
在系统设计阶段或者调试阶段,对DCS 控制系统的冗余性能进行测试,了解冗余性能是否能够满足要求,及时发现系统存在的问题和隐患,并提出改进意见,有利于提高DCS 控制系统的稳定性、安全性和可靠性。
1 冗余性能的影响
冗余控制器的冗余性能主要体现在切换发生时的切换时间和同步时间。主控制器发生故障时,过程控制器的输出保持,当备用控制器接管后,数据继续输出。故障发生后,过程控制站数据输出保持的时间即为控制器的切换时间。备用控制器接管后,同步的数值为最新一次主控制器同步过来的数值,该数值与主控制器故障时最后一次输出的数值之差所需的运行时间,即为控制器的同步时间。
当主控制器异常,控制器发生切换,冗余控制器的切换时间和同步时间会影响整个系统功能的执行。如果同步时间长,数据还没来得及同步,切换时间又较长,可能会对系统造成较大的扰动。如果是数字量输出还没来得及同步,那么数字量输出开关状态就会与切换前不一致。如果模拟量输出没来得及同步,现场模拟量输出将发生明显波动。如果切换时间较长,数据的输入和输出脱离控制的时间越长,在切换时间内过程控制站的输出处于保持状态。当数据输入发生大的改变时,备用控制器接管正常后,数据输出对系统的冲击较大。
所以,冗余控制器的切换时间和同步时间是控制器冗余性能的重要影响因素。切换时间和同步时间越短,过程控制器的冗余性能越好。
2 影响冗余性能的因素
控制器的冗余有多种实现方式,为了保证切换时不发生上述扰动,目前主流厂家均采用双机热备模式。主备过程控制器之间通过专用网络连接,此专用网络既用来实现控制逻辑以及各种变量数据的同步,同时还传递主控制器正常工作的心跳信号[9]。
不同的厂家,冗余控制器的切换和同步的实现方式也有不同,从而体现出来的冗余性能也有差异。目前,主要在3 个方面影响同步时间和切换时间。
其一,控制器重逻辑组态功能块是否能够在线增删及同步。为了实现控制逻辑组态功能块的在线增删,需要将主控制器的逻辑组态实时地同步到备控制器。当在线修改控制器的逻辑组态时,首先修改的是主控制器的逻辑组态,而后将在线修改的内容同步到备控制器,从而使主备控制器内运行的控制逻辑组态保持一致。这一在线修改的同步过程,会导致中间变量的同步时间变长,如果控制器的输出值是需要中间变量运算而来的,那么切换后过程控制站的输出将受到影响。目前,有的厂家可以实现在线增删功能块,有的厂家不可以。无法实现在线修改的主备控制器,组态需要离线修改后下载到主备控制器,这样就省去了组态冗余同步对时间和空间的占用,但同时也牺牲了在线修改功能。
其二,主备控制器是否能够同时获得IO 总线的数据。有的厂家在设计总线时备控制器是无法访问IO 总线的,只有当发生切换后备控制器才能取得对IO 总线的控制权。主控制器每轮执行控制逻辑前,将所有的输入变量数据通过专用冗余网络拷贝到备控制器,从而导致控制器的输入数据是同步值而非实时值,从而影响切换后过程控制站的输出。有的厂家在总线设计时主控制器对IO 总线的控制权是既可以读取也可以写入,备用控制器对IO 总线只可以读取不可以写入。这样既能够保证主备控制器均能实时采集到IO 卡件的数据,同时保证IO 卡件的控制只受主控制器影响,不会出现双主控制器的情况。当控制器发生切换时,备用控制器可以直接采用实时IO 总线上的数据进行逻辑运算,从而提高了输入数据的实时性。
其三,备用控制器是否同步进行逻辑运算。有的厂家主控制器在进行逻辑运算的同时,备控制器也在进行逻辑运算,有的厂家备控制器不进行同步逻辑运算。且备控制器不同步进行运算时,发生切换时备用控制器先进行初始化。若备控制器同步进行运算时,发生切换时备控制器就省去了初始化的时间,从而备用控制器能够快速接管进行逻辑控制,从而减小了切换时间。
上述说明表示,控制器的切换和同步时间因为设计方式不同而受影响,从而对火电厂一些实时性要求较高的设备的控制产生影响。所以,对控制器的切换时间和同步时间的测量显得愈发重要,目前对不同控制系统控制器的切换和同步时间的测量还没有一个统一标准。因此,对于使用分散控制系统的火电站或者企业来说,需要一个指导方法、设备来检测此参数。
3 检测原理分析
主备控制器切换时间和同步时间为毫秒级,历史数据记录的时间分辨率通常为几百毫秒级到秒级,通过控制器数据的历史趋势是无法准确判断主备控制器的切换时间和同步时间的。控制器与IO 总线的通讯波特率为兆级,输出卡件的输出分辨率为几毫秒级,故采用输出卡件的通道输出来测量切换时间和同步时间是实现测试的方向之一。
首先,搭建一个控制逻辑使控制器每个执行周期产生斜坡信号,且将此斜坡信号连接到模拟量输出卡件(AO)输出。输出的斜坡信号与高速数据采集器连接,高速数据采集器的采集分辨率可达到0.1 ms。
冗余控制器未发生切换时,AO 通道会周期性地输出斜坡信号。当冗余控制器发生切换时,假定切换时间为Ttakeover,则表示备控制器需要花费Ttakeover 的时间长度来检测并确定主控制器故障并执行控制逻辑的接管,进行控制逻辑的再输出。假定同步时间为Tsync,则表示备控制器中的数据同步值为主控制器Tsync 时间之前的,主控制器中的同步值需要花费Tsync的时间传递到备控制器。
在控制器正常运行时,AO 通道持续输出斜坡信号,此时通过手动切换方式使得冗余控制器发生切换。高速数据采集器采集到冗余控制器切换前后的AO 通道输出,通过分析切换前后的斜坡波形变化来计算冗余控制器的切换时间和同步时间。高速数据采集器采集的波形大致如图1。
图1 中Ttakeover为冗余控制器的切换时间,T1 为冗余控制器切换前最后一个输出的斜坡数值的起始时间,T2 为冗余控制器切换后第一个输出的斜坡数值的起始时间。在切换时间内,AO 通道的输出值始终保持不变,且数值为冗余控制器切换前最后一个输出的斜坡数值。当备控制器接管后,AO 通道的输出值立即发生改变,且第一个输出值为斜坡信号的同步到备用控制器的最新同步值。故可认为切换后第一个斜坡数值的起始时间与切换前最后一个斜坡数值的起始时间的时间差值,即为切换时间,即Ttakeover=T2-T1。
图1 中Δt 为冗余控制器的最小运算周期,X1 为冗余控制器切换前最后一个斜坡数值,X2 为冗余控制器切换后第一个斜坡数值,ΔX 为每个最小运算周期斜坡信号的增量。当主控制器发生切换时,冗余控制器切换前最后一个斜坡数值的AO 通道输出保持不变。当备控制器接管后,AO 信号首次输出值为备控制器从主控制器获得的最后一个同步值。切换前最后一个斜坡数值却比该同步值更新。X2变化到X1 所要经历的时间,即为冗余控制器的同步时间。由于每Δt 的时间斜坡增量ΔX,故从X2 变化到X1 需要经历(X2-X1)/ΔX 个最小运算周期。故Tsync=Δt×(X2-X1)/ΔX。
如果X2=X1,则Tsync=0,即主备控制器的同步时间为0,主控制器与备控制器的中间变量始终保持一致。当备用控制器接管后,第一个输出值与切换期间的保持值一致。故第一个输出值的这段时间并不包括在冗余切换时间内。此时的Ttakeover=T2-T1-Δt,即计算切换时间时,需要将备控制器接管后的第一个周期的运行时间减去。
4 实现方法
按照上述原理分析,现采用如下方法来测量冗余控制器的冗余性能,即冗余控制器的切换时间和同步时间。
按图2 搭建硬件测试平台。一对冗余的控制处理单元包含有CPU-A 和CPU-B,其中一个为主控CPU 负责控制策略计算及控制输出,另一个为辅控CPU,进行热机备用。辅控CPU 在主控CPU 故障、重启或者停机时,即刻接管成为主控CPU,原主控CPU 在恢复后,会变为辅控CPU 进行冗余热备。主辅CPU 之间通过同步专线进行状态和数据同步。
AO 模件为模拟量输出卡件,输出为电流值。CPU-A和CPU-B 分别有通讯总线与AO 卡件相连。冗余控制器通过IO 总线仅扩展1 块AO 模件,这样做的目的是为了提高控制器对此块IO 卡件的通讯速度。该速度目前已可以达到1 ms/次,能实现CPU 中逻辑快速输出到卡件。
高速数据采集器为独立于控制系统之外的设备,可对任意信号源进行数据采集。高速数据采集器可接收AO 的输出信号,可实现0.1 ms 分辨率的数据采集。由于高速数据采集器采样频率高,故显示出来的斜坡信号为阶梯状。
在冗余控制器内搭建斜坡信号输出至按周期运行的逻辑AO 模块,斜坡信号和AO 模块等逻辑模块的运算周期均设置为控制器可达到的最小值。当前厂家的最小周期已可达到20 ms、10 ms 甚至5 ms。AO 输出的斜坡信号为每计算周期累加固定值Δx,一般设置Δx=1。
图1 切换时间和同步时间计算原理示意图Fig.1 Schematic diagram of the calculation principle of switching time and synchronization time
图2 测试硬件配置Fig.2 Test hardware configuration
在上位监控切换按钮或控制器上按钮实现控制器切换。采用某厂家的分散控制系统进行实际测试,按照图2 连接好电路。假如设置最小运算周期为10 ms,每运算周期斜坡信号增加1。当控制器未发生切换时,高速数据采集器采集到每10 ms 斜坡数据增加1,斜坡信号很平滑。当发生切换时,斜坡信号根据冗余性能的不同出现不同程度不平滑的情况,放大后可看到大致如图1 的斜坡形态。根据高速数据采集器中的时标和数值阶梯,可计算出冗余控制器的切换时间Ttakeover和同步时间Tsync。由于切换时间和同步时间不是固定值,故需要进行多次测量,获取平均值来作为测试结果。
5 结论
首先,不同厂家的分散控制系统均自带AO 模件,此方法可广泛应用于各厂家的冗余控制器的测量;其次,该方法可以一次测量冗余控制器的切换时间和同步时间两个性能,可以综合评判冗余控制器的冗余性能。本检测方法在厂家的设计过程中和电厂DCS 系统每年的可靠性检测中都被实际应用。
DCS 的冗余性能是确保系统长期、可靠、稳定运行的一种有效手段和监督机制。通过DCS 冗余性能测试,厂家可以及时了解冗余控制器的冗余性能,以具体数值横向对比其他厂家或者纵向对比新老系统的切换时间和同步时间指标,对不满足需求的指标对标影响因素进行软硬件的重新配置和升级改造,从而满足机组的安全、稳定、可靠运行的要求。