陈伟杰
[中海石油(中国)有限公司蓬勃作业公司,天津 300452]
Genius Modular Redundancy(Genius总 线 模 块冗余系统),本质上是一种表决系统,并不是一般意义上的冗余系统。该系统由一系列模块子系统组成,综合形成柔性且强有力的整体。GMR 系统由输入子系统、控制器子系统和输出子系统组成。利用90-70PLC、Genius I/O模块、VersaMax I/O产品、GMR提供了从输入设备,1/2/3个PLC CPU,到输出设备不同的组合表决方式。作为紧急停车系统(或称安全仪表系统),GMR系统在渤海某油田群得到了广泛的应用,每个设施包含两套系统,分别为ESD和PSD。GMR系统增加了正常运行时间,降低平均修理时间,对于系统明显及隐藏的故障方面实现高级诊断。统组成。输入子系统由两重化DI 模块(Genius IO 模块)和三重化的AI 模块(VersaMax 模块)组成;控制器子系统由两台90-70PLC 系统组成;输出子系统由两重化的DO 模块组成。
控制器子系统的两台90-70PLC可以通过硬件和软件组态实现数据通信。在GMR 组态中,必须指定作为“Alpha/Beta”总线的GBC 模块。作为“Alpha/Beta”总线的GBC 模块,可以是单独的两块GBC 专职,也可以是某组(一般是第1 组)Genius IO 总线组LAN-A 和LAN-B 的GBC 兼任。软件进行逻辑编程,对于“Alpha/Beta”总线提供的G变量进行适当编程,从而实现两台PLC 之间的数据通信。
图1为典型的GMR三重化系统结构图。
图1 典型的GMR三重化系统结构图
渤海某海上油田群采用GE90-70系列PLC作为关断系统,采取的是双重化CPU[1]。其中ESD系统主要与火气系统有关,负责一级关断和二级关断的控制;PSD主要与生产安全有关,负责三级关断(生产整体)和四级关断(生产单元)的控制[2]。每套系统GMR系统由输入子系统,控制器子系统和输出子系
DO是两重化模块,每个DO模块斗鱼PLCA/B通过Genius总线连接,即在通信正常的情况下,每个DO模块都能接受到PLCA/B的输出值,再加上Duplex值,进行“3取2表决”。输出分为“I型输出”和“T型输出”,两者应用和接线方法也不同。“I 型输出”:接线图2,主要用于“正常得电,Trip 失电”的关断阀/电机等类型的现场设备。“Duplex 设定值”和“Default 设定值”均为“0”。“T 型输出”:接线如图2所示,主要用于“正常失电,Trip得电”的公共广播/报警灯等类型的现场设备。“Duplex 设定值”设为1,“Default 设定值”设为“0”。
图2 DO输出类型和结构形式
当通信正常情况下:不论是I 型还是T 型的模块,一对模块上的通道指示灯应该是相同状态,同为1 或0。当Genius 总线通信不正常时:需要考虑该模块与1 台还是2 台PLC 通信中断;DO 模块的类型;Duplex 值/Default值的设定等多种因素来分析DO 模块的输出状态。
HMI 主要用于ESD/PSD 系统的监控,关键报警点的监控,SOE 的记录和其他一些辅助功能。但是,绝不参与生产的操作和控制。该油田2期项目的HMI 均用Cimplicity 6.1/SP6 软件。运行HMI 软件的计算机一般称为“SOE 站”。各平台上的SOE 站中游安装了Proficy Machine Edition 5.6/SIM8。因此,在各平台上,SOE 站又作为工程师站使用。
大部分系统中的PLC由两个机架组成,主机架和扩展机架,两个机架分别由独立的电源模块供电[3]。由于投用时间较长,以及电源模块设计缺陷,电源模块导致的关断次数较多。
双重化,可使用以下任何一种输入/输出的配置。系统可以是容错的,每个系统都能独立处理数据。运作时,检查的数据在两台处理器中进行比较。
当主机架电源模块损坏之后,主机架卡件包括CPU均会掉电,PLC会切换为单CPU运行,系统正常,不会产生关断。当扩展机架电源模块损坏之后,主机架卡件包括CPU会正常运行,扩展机架卡件掉电,CPU与扩展机架通信丢失,会产生关断。
某平台发生关断,发现GE工程师站HMI显示PSD 诊断中PLC A扩展机架全部卡件报警。现场设备部分关停,部分正常运行。DELTA V画面显示PSD系统大多数变送器数值均为满量程值,当DELTA V与PSD PLC的通信由PLC A切换到PLC B后,数值恢复正常;有三级关断变送器信号为满量程值。
打开PLC机柜,检查发现PLC A扩展机架电源模块指示灯是灭的状态。测量该机架电源模块输入端有220V电压输入,判断扩展机架电源模块故障。后拆下电源模块发现内部元器件有及电路有烧毁迹象,确认为电源模块故障。
此次关断的直接原因是PSD PLC A扩展机架电源失效,导致三级关断信号触发三级关断。当PLC A扩展机架电源失效,该机架上GBS失电,PLC A无法读取该GBC卡件下挂的所有卡件,根据故障安全原则以及最初设计,在现场I/O通信中断的情况下,对于模拟量输入AI点,将采用最大值作为当前输入的状态,这个值对于一般火气探头而言都会导致高高报警产生,对压力变送器也类似,对于数字量输入DI点,将采用值作为当前输入值,默认状态为TRIP状态,因此PLC A发出三级关断指令,PLC B工作正常,未发出关断指令。
PSD PLC A发出三级关断指令,同时PSD PLC B处于正常状态,发出的是正常运行指令;但是由于PLC A扩展机架GBC卡件失电,导致挂在扩展机架上的所有DO输出模块无法接收到关断指令,只有挂在PLC A主机架GBC卡件上的所有DO输出模块接收到关断指令;所有挂在PLC主机架的DO输出模块收到了两个不同的指令,对收到的两个指令,并与默认值进行表决,执行关断指令,关断执行的DO模块均为I型输出;而所有挂在PLC扩展机架的DO输出模块接收到的两台PLC的指令均为正常运行,表决后不执行关断;这就是本次三级关断只有部分关停的原因。
系统中两台PLC,如果CPU发生故障,可以自动切换到另一台正常运行,但是如果一台PLC中其他卡件发生故障,因为单个卡件故障类型在硬件组态中未诊断故障,PLC CPU只是报警,不会停止运行,但是往往每个卡件上有AI点或者DO点,因为卡件的故障加上故障安全型的设计理念,会因此产生不必要的关断。
根据系统架构分析以及故障现场,解决该问题的进一步措施有以下几种:
(1)如保持这种架构设计建议每5年计划关断更换全部电源模块。全油田大概有几百块,而计划关停的机会很少,油田处于正常生产状态不会因为电源模块的问题每隔一段时间就计划关停进行检修。
(2)如定期更换电源不能实现,就要改变之前三重冗余SIL3等级设计,彻底变成冗余热备系统,重新刷网络架构,但需要停产实施,还要做充分的SAT进行验证。这种方法可以改变现状,一次计划停车检修即可以解决问题。
(3)由于GE 90-70关断系统存在设计缺陷,导致扩展机架电源故障导致部分关停,增加对卡件的诊断功能。
一种方法是更改硬件诊断中扩展机架故障类型,这就需要修改PSD系统的硬件组态,将其中的Loss of or Missing Rack 由Diagnostic(诊断型故障)改为Fatal(致命故障)(见表1),可以参考图3将报警属性更改后,当发生扩展机架掉电或者其他原因导致的无法检测到扩展机架时,会使CPU 停止运行。按照这种方法进行更改后,发生扩展机架掉电后,会造成系统处于单PLC运行的状态,需要现场及时对故障进行处理,尽快恢复双PLC运行。
表1 故障类型
为进一步减少因为单个卡件故障造成的关断,可以添加对PLC卡件的检测,当检测到卡件故障时,自动切换到另一台PLC运行,并做出相应的报警,避免发生关断。以上两种修改,涉及PSD系统的硬件组态修改和下装,需要停掉PLC才能实现下装,可在停产检修期间修改。
另一种方法是在主程序中增加两条语句,加在调用子程序语句之前。#slot—10是系统检测扩展机架电源状态,1代表Rack,0代表0槽,如果扩展机架电源故障,该点得电并触发M04097,之后调用功能块 SVC REQ,FNC 13 代表停止CPU。这种方法优点是可以在线更改。但要注意下面程序用到的寄存器地址,各个平台可能会不一样,用错会有风险,再有就是这段程序是测试用的,是在实验室环境下取得的结果,还需要论证一下,在系统正常运行的情况下这段程序是否有效稳定。程序修改示意图见图4。
图4 诊断设置示意图
图4 程序修改示意图
(4)从GE获悉此产品到2019年彻底停产,第三种就是升级改造更换设计、应用更加成熟的产品。
当主机架电源模块损坏之后,主机架卡件包括CPU均会掉电,PLC会切换为单CPU运行,系统正常,不会产生关断。当扩展机架掉电之后,主机架卡件包括CPU会正常运行,扩展机架掉电,CPU与扩展机架通信丢失,会产生关断或者部分关断。
这种现象是由于GE90-70系统框架电源组成的三重冗余架构的电源为单电源模式,是不符合ESD/PSD系统设计规范的。而且该框架不支持双电源,这就是设计缺陷。而电源模块故障率很高,这就属于质量问题。
为了避免因为电源故障造成的类似关停,最便捷以及投入最低的方法就是修改硬件诊断中扩展机架故障类型,由Diagnostic(诊断型故障)改为Fatal(致命故障),当无法检测到扩展机架时,停止该PLC的运行;为进一步优化,还可以增加单独的卡件故障检测,当发生单独的卡件故障时,自动切换到另一台PLC运行。
解决该问题最根本的方法还是升级改造,应用更为成熟,更为稳定的产品和系统架构。