秦二厂装卸料机控制系统关键算法分析及控制逻辑缺陷处理
2021-08-21吴斌荣刘事成
王 远,吴斌荣,刘事成
(中核核电运行管理有限公司,浙江 嘉兴 314300)
0 引言
装卸料机系统大车、小车、主提升和与其相配套控制系统,是核电站停堆换料期间完成反应堆换料的关键设备,它不仅事关反应堆与燃料组件的安全,同时它的可靠性、稳定性和操控性对核电站的经济性和燃料组件操作的安全性会产生直接影响,对核电站停堆换料工作的顺利进行也起到了关键的作用。
自2014 年,秦山第二核电厂1/2#机组装卸料机完成升级改造工作后,秦二厂所有4 台机组装卸料机已经全部采用美国PaR 公司装卸料机控制系统,此套控制系统采用先进的控制算法,使装卸料机运行效率得到了极大提高,平均能够将装料或卸料时间压缩至33h 左右。
新装卸料机控制系统,采用双处理器控制系统,其主要构成包括:PLC 系统、上位机、载荷系统、伺服电机驱动系统。
PaR 公司装卸料机采用可编程控制器PLC 作为装卸料机逻辑控制主要部件,同时配置主PLC 和安全PLC,逻辑控制程序使用标准的“梯形图”作为编程语言,实现装卸料机在整个装/卸料过程中的运动控制和安全保障。Intouch 软件进行人机交互界面组态,PLC 通过CPU 上的以太网口与上位机进行通讯,实现人机数据交换。装卸料机控制系统核心包括:堆芯地图算法、大小车运动控制系统及定位、主提升运动控制系统及定位、抓具控制系统、电子称重系统、摄像监控系统[1]。本文通过对装卸料机控制程序的深入分析,充分研究控制程序中关键算法,为装卸料机运行维护人员提供了参考。
1 装卸料机控制程序分析
1.1 堆芯地图算法
堆芯地图是装卸料机控制系统中的核心关键程序,用于追踪堆芯在装/卸料过程中的动态变化情况,为装卸料机自动运行、偏移运行提供数据支持。程序中为每一个燃料组件位置配置一个“位”,当相应的“位”被放入或提出燃料组件时,相应的“位”将被置“1”或“0”。为保证在上位机出现故障情况下,堆芯地图仍然能够正常工作,堆芯地图算法由PLC 程序完成,而非上位机程序。PLC 程序基于堆芯中心点坐标和燃料组件中心距,应用数学方法为堆芯生成一个“格架”,使PLC 始终“知道”装卸料的位置。秦二厂堆芯采用13×13 布局,共有燃料组件121 组,堆芯布置形式如图2 所示。
图1 PaR公司装卸料机控制系统结构图Fig.1 PaR Company loading and unloading machine control system structure diagram
图2 秦二厂堆芯布置图Fig.2 Core layout of Qin No.2 Plant
根据60 万千瓦核电机组堆芯分布特点,在PLC 程序中,堆芯地图包含在一组由%R01903~%R01928 共26 个寄存器中。它们组成一组26 个寄存器*16 位的数列,每一行燃料使用2 个16 位寄存器即32 位进行表示,见表1。
表1 堆芯地图寄存器排列表Table 1 List of registers of core map
当燃料组件插入堆芯后,数列中相应的“位”将被置“1”;同理,当燃料组件被移出后,数列中相应的位将被置“0”。由于秦二厂最大横向或竖向组件数为13,因而仅使用低位16 位寄存器即可满足判断燃料组件装载情况要求。
根据二进制与十进制数转化方法,16 位二进制数转化为十进制数的最大值为65535,即堆芯全部为装载情况。当堆芯为全空载状态时,即代表燃料组件格架的寄存器位均为“0”时,堆芯各行组件对应16 位寄存器数值如图3所示。
图3 堆芯空载情况及其对应16位寄存器数值Fig.3 No-load condition of the core and its corresponding 16-bit register value
为使装卸料机始终能够准确判断堆芯燃料组件置位情况,同时为计算堆芯“开放水域”提供数据支持,控制程序使用CPI(Core Pointer Index)作为数列指针,用于指示表示堆芯装载情况的寄存器中哪一个数位发生变化,并将其置为相应数值。
CPI 基于大/小车坐标进行计算。当程序判断堆芯出现装载或卸载情况后,PLC 程序将现有大车/小车坐标数据输入指针计算子程序CPCALC。CPI 计算示意图如图4 所示。
图4 CPI计算示意图Fig.4 Schematic diagram of CPI calculation
控制程序中,首先分别计算出大车堆芯地图偏置(绿线)、小车堆芯地图偏置(红线):
其中:燃料组件中心距=215mm;大车堆心坐标:15580mm;小车堆心坐标:2560mm。
以燃料组件F6(15841.4,27550)为例,其CPI 计算如下:
为了对计算得出的CPI 值进行有效性判断,控制程序将处于堆芯边界位置的燃料组件CPI 作为该行组件CPI 判断的下限或上限如图5 所示。
图5 堆芯边界燃料组件CPIFig.5 CPI of fuel assembly at the core boundary
如:N8 和N6 分别为N 行燃料组件下限或上限,E12和E2 分别为E 行燃料组件下限或上限。处于边界位置的燃料组件CPI 被存储于一个由%R01861~%R01886 共26个寄存器组成的13 行×2 列的数组,见表2。
表2 组件CPI寄存地址转化数组表Table 2 Component CPI register address conversion array table
控制程序通过目标组件位置大车坐标计算出组件所在行,并计算出组件CPI,并判断组件CPI 是否在所在行组件CPI 范围内。若在范围内,则判断组件位置有效;否则,判断为无效。
1.2 开放水域计算
为确定是否允许装卸料机进行偏移运动,需要一种算法计算出目标燃料组件位置周围的组件情况,控制程序将目标组件位置周围8 个组件分别设置为序号为1~8 的组件位如图6 所示。
图6 目标组件位周围1~8的组件位Fig.6 Component positions 1 to 8 around the target component position
控制程序以目标组件位置CPI 为基准,计算出目标组件位周围8 个组件位置CPI,由CPI 计算公式可知:
获取周围组件CPI 后,程序通过CPI 判断相应组件位置燃料置位情况,同时也对目标位本身组件情况进行判断。若目标组件位置周围存在与图7 类似相邻3 个组件位置为空的情况,则判断目标组件位置是开放水域,允许装卸料机进行偏移运动[2]。
图7 开放水域示意图Fig.6 Schematic diagram of open water
1.3 偏移计算
为提升装卸料机工作效率,通常在装/卸料过程中采用偏移法进行装/卸操作。偏移法使用情况包括:
1)自动/半自动装料情况
在自动/半自动操作时,控制程序以HMI 输入的目标组件位置的大车、小车坐标为基准,计算出目标组件位置CPI 值,然后将CPI 值输入开放水域判断程序,判断目标组件位置是否存在开放水域。若存在开放水域,则控制程序根据开放水域方位,以目标大车/小车位置分别偏移90mm 位置为偏移运动的目标位置。
2)开放水域判断
将燃料组件从堆芯卸出,即卸料操作。程序将大车、小车当前位置坐标作为CPI 计算依据,并判断当前位置是否存在开放水域,计算出大、小车可以进行偏移运动的目标位置。
下面结合秦二厂常用装/卸方式,以第4 种开放水域情况进行说明如图8 所示。
图8 装卸料机偏移位置Fig.8 Offset position of loading and unloading machine
大车偏移位置=大车目标位置-90mm
小车偏移位置=小车目标位置+90mm
程序将装卸料机大、小车偏移位置周围±92.5mm 范围作为“偏移临时区域”,在此区域内,允许操作大、小车运动(图8 红色虚线框)。
组件目标位置±6.4mm 范围内为最终就位允许范围(图9 小绿框)。
图9 偏移画面示意图Fig.9 Schematic diagram of offset screen
组件偏移区(图9 大绿框):
大车坐标-76.2mm,大车坐标+1.3mm
小车坐标-1.3mm,大车坐标+76.2mm
1.4 主提升控制
主提升控制在装卸料机控制系统中有着举足轻重的作用,其控制算法安全与否,直接关系到燃料组件的安全。
主提升控制包括:抓具控制、速度控制、运动区域等。
1.4.1 抓具控制
抓具是主提升中直接与燃料组件接触的部件,其状态分为脱口与啮合两种,控制程序对两种抓具状态进行了严格的逻辑判断,以保证燃料组件安全。
1.4.2 运动区域控制
为保证燃料组件安全并提升装卸料机工作效率,根据装卸料机运行中的不同工况,控制系统对主提升运行区域进行了明确划分。这些区域的划分,将用于主提升运动速度控制及抓具控制。主提升区域划分点包括:
1.4.3 主提升速度控制
为保证燃料组件安全并提高主提升运动效率,主提升运动过程中需要根据主提升所在区域,对其运动速度进行限制。
1)主提升在堆芯区
主提升在堆芯区控制较为复杂,根据主提升载荷情况可分为带载和空载两种情况。其中,为提高装/卸料效率,对于主提升带载情况可分为偏移运动和非偏移运动。
控制程序根据主提升与堆芯位置关系,将主提升运动高度范围分成不同区间,并对区间内运行速度进行限制,以保证安全的前提下提升主提升运动效率如图10 所示。
图10 堆芯区主提升运动控制Fig.10 Main lifting motion control in the core area
2)主提升在倾翻区
主提升在倾翻区内动作情况简单,典型动作是将燃料组件放入承载器或将燃料组件从承载器中提出,不存在偏移运动情况。通过对主题升区域程序进行分析,可以形成主提升在倾翻区内区域分布情况如图11 所示。
图11 倾翻区主提升运动控制Fig.11 Main lifting motion control in the tipping zone
2 控制逻辑缺陷处理
逻辑缺陷,是指控制程序中隐藏的一些错误、缺陷、漏洞等问题。装卸料机作为直接操作燃料组件的关键设备,对其可靠性提出了更高的要求。当前秦山二厂4 台机组使用的PaR 公司装卸料机控制系统,经过多重试验验证以及多年现场运行,其运行效率高、稳定、可靠。
然而,在现场使用过程中,也发现了一些问题。
2.1 海南昌江核电倾翻机与燃料组件接触事件
2018 年12 月20 日10 点03 分,昌江核电在进行202大修装料过程中,执行第101 步装料,将第101 步组件从RX 侧倾翻机提出过程中,抓具啮合灯异常熄灭,倾翻机与装卸料机联锁保护信号消失(正常情况下联锁保护信号消失后,允许转运装置操作员下放倾翻机)。稍后,操作员操作倾翻机下降,倾翻机立即报“欠载”自动停止,怀疑组件与倾翻机承载器有异常接触,随后该组组件运回KX 厂房进行水下电视检查,确认组件无异常。同时对装卸料机故障进行检查,发现装卸料机脱扣限位挡块位置异常,重新调整限位挡块位置后,故障消失,随后用假组件验证装卸料机功能正常。
秦山第二核电厂1/2#机组PMC 系统装料过程与昌江核电一致,装卸料机从倾翻架中提出组件过程中,存在抓具脱扣啮合限位开关与装卸料机联锁、装卸料机与倾翻机联锁。
针对昌江核电出现的问题,秦二厂对燃料操作过程中装卸料机联锁情况进行排查,包括:
1)抓具脱扣啮合限位开关与装卸料机联锁验证
根据控制逻辑如图12 所示,装卸料机主提升在带载起升过程中,若出现啮合信号丢失,5 s 内将出现“GRIPPER HANGUP”信号,同时出现抓具报警声。因Gripper Hang-Up 信号为大/小车运动联锁条件,出现此信号时,大/小车均无法动作。
图12 GripperHang-Up信号逻辑Fig.12 Gripper HangUp signal logic
同时,由于抓具啮合信号参与主提升运动控制,抓具啮合信号丢失时,主提升无法动作如图13 所示。
图13 主提升运动允许信号逻辑Fig.13 The logic of main hoisting movement permission signal
经验证,抓具脱扣啮合限位开关与装卸料机联锁满足逻辑要求。
2)装卸料机主提升在倾翻区域,模拟抓具啮合限位开关信号,对倾翻机进行操作,验证其与倾翻机是否有联锁关系。
此验证分两种情况进行:
◇ 主提升带载、抓具啮合信号丢失
验证结果:①主题升高度>4000mm 时,抓具啮合信号丢失,倾翻机操作台上Upender not clear 联锁信号出现,倾翻机无法动作;②主提升高度≤4000mm 时,抓具啮合信号丢失,倾翻机操作台上Upender not clear 联锁信号未出现,倾翻机可以动作(危险状态,与昌江核电事件一致)。
◇ 主提升空载、抓具脱扣信号丢失
验证结果:①主题升高度>4000mm 时,抓具脱扣信号丢失,倾翻机操作台上Upender not clear 联锁信号出现,倾翻机无法动作;②主提升高度≤4000mm 时,抓具脱扣信号丢失,倾翻机操作台上Upender not clear 联锁信号未出现,倾翻机可以动作。
3)装卸料机主提升在倾翻区域,模拟装卸料机“主提升带载不在上限位”信号,对倾翻机进行操作,验证其与倾翻机是否有联锁关系。
验证结果:倾翻机操作台上Upender not clear 联锁信号出现,倾翻机无法动作。
4)装卸料机主提升在倾翻区域,模拟装卸料机“主提升不带载且不在套筒内”信号,对倾翻机进行操作,验证其与倾翻机是否有联锁关系。
验证结果:倾翻机操作台上Upender not clear 联锁信号出现,倾翻机无法动作。
由以上验证可知,当主提升带载且高度<4000mm 时,主提升与倾翻机联锁信号消失,此时倾翻机可以动作,通过检查控制逻辑,发现逻辑存在缺陷如图14 所示。
图14 主提升与倾翻机逻辑联锁Fig.14 The logic interlock between the main hoist and the tilting machine
抓具带载逻辑异常,还将导致抓具脱口联锁失效如图15 所示。同时,使抓具“允许动作”状态异常如图16 所示,即:在任何小于4000mm 范围内,操作人员可以操作抓具开关至脱扣位置,如果抓具不存在机械自锁装置,将会造成抓具真实脱口,引起组件掉落。
图15 抓具脱口联锁失效Fig.15 Disconnect interlock failure of the gripper
图16 抓具“允许动作”状态异常Fig.16 Abnormal status of gripper "allowed action"
图17 抓具带载逻辑修改Fig.17 Modification of gripper loading logic
2.2 逻辑修改建议
删除抓具带载逻辑中啮合限位信号。原逻辑中抓具带载逻辑判断由载荷信号与抓具信号组成,故障概率为二者故障概率之和,删除啮合限位信号后,抓具带载逻辑只与载荷信号相关,能够有效降低故障概率。
3 结论
PaR 公司装卸料机控制系统在保证燃料组件安全前提下,极大地提高了装卸料机运行效率。研究控制程序中运用独特算法,为检修人员维护装卸料机提供了有力帮助;同时,也为技术开发人员提供参考。运行过程中出现的一些程序BUG,也说明了优秀控制程序中可能隐藏着一些严重缺陷,更需要深入研究控制程序,防止因为控制程序缺陷导致威胁或损害燃料组件安全的事件出现。