SPPA-T2000平台通讯点重名故障技术难题及解决方案

2022-08-02 05:38文登宇张启飞
仪器仪表用户 2022年8期
关键词:编译器台山实例

文登宇,苏 正,张启飞,冯 明

(台山核电合营有限公司 仪控部,广东 台山 529228)

0 引言

现阶段核电厂建设规模和数量持续增加的新市场经济常态下,数字化技术的广泛应用在为行业发展注入新动力的同时,也使其面临着巨大挑战[1]。目前,核电站已进入第三代,对安全性提出了更高的要求,以往的控制部分大多采用硬接线模拟量控制,已经不能满足因工程原则、人类工程学原则,DCS系统(分散控制系统)都具有模拟量控制系统无法比拟的优越性[2]。核电站DCS系统负责控制并监测整个电厂生产的全过程[3],台山核电站采用目前国际最先进的第三代核电EPR技术,采用了先进的DCS系统,完全集成了DCS系统高可靠性、开放性、灵活性,易于维护和协调性控制功能齐全等优点[4]。台山DCS系统由非安全级的SPPA-T2000系统(以下简称T2000)和安全级TXS系统组成[5]。该系统已经过核级安全认证,是核电站DCS领域最稳定、可靠的系统之一[6]。T2000系统分为两个层级,分别是Level 1自动控制层和Level 2人机界面层[7,8],其中Level 2层:机组监督控制层,由主控、技术支持中心、远程停堆站、工程师站组成;Level 1层:机组自动化层,由SAS、PAS、SAS DEC-B组成;Level 0层:现场接口层,为现场设备,由执行传感器和执行器组成[9]。台山核电的DCS平台组成如图1。

图1 台山核电DCS平台组成Fig.1 Composition of Taishan Nuclear Power DCS platform

作为EPR机组全球首堆,台山公司机组在机组调试启动阶段不断发现问题并产生了相应的设计变更,其设计变更的数量远超国内其它核电站同时期的变更。其中,安全级DCS(TXS平台)设计变更较少,绝大多数设计变更为非安全级DCS(T2000平台)修改。T2000 DCS平台是一个在全球范围内被广泛使用的成熟平台,但在台山项目,由于巨大的逻辑修改叠加不断迭代的设计变更,导致T2000平台在台山EPR机组的工程实践过程中出现大量非预期缺陷,且其中许多缺陷是T2000平台在全球范围内首次被发现。这些非预期的缺陷如不能快速定位根本原因以及提出解决方案,将对台山EPR机组的工程进度造成直接制约以及给后续采用相关平台及技术的EPR机组的安全运行生产留下隐患。

本文选取T2000平台在台山EPR三代核电项目工程实践过程中首次出现的技术难题——通讯点名重名故障进行问题描述、原理说明、原因分析、解决思路、自主解决或联合厂家最终给出最终解决方案。该技术难题的有效解决过程及思路,对全球范围内其它使用T2000平台的机组具有直接的借鉴作用和参考价值。

1 通讯点名重名故障问题描述

台山机组在热态联合调试期间发现,GCT(汽轮机旁路系统,逻辑分布在AP654中,AP:Automation Processor,自动控制处理器的缩写)在主控失去监视。经过调查发现,其直接原因为:PU01为主PU时(PU:Processing Unit,过程处理单元,用于连接Level 2监控层和Level 1过程控制层),AP654与PU02(从PU)不能正常建立通讯连接,不能建立通讯的原因为:AP654与AP554出现通讯点(FC+Instance)重名。此时,叠加PU01进程故障,PU01重启,PU02变为主PU。从而AP654与PU02/PU01的通讯全部失去,从而导致GCT在主控失去监视。由于GCT在主控失去监视,影响二回路正在进行的AAD1510VL-调节能力试验,从而制约机组热态测试主线工作。AP自动控制器与PU过程处理单元在T2000系统结构简图中的连接如图2。

图2 T2000系统结构简图Fig.2 T2000 System structure diagram

2 通讯点名分配原理说明

在T2000平台中,为了确保控制单元中每个信号功能块的唯一性,所有AP代码中的每个功能块均被分配唯一的通讯实例名,实例名由FC+Instance组成(FC是Function Complex功能分区的缩写,Instance是功能分区内实体的编号),该通讯实例名在整个T2000平台唯一。AP中的每个功能块均通过唯一通讯实例名与PU(Processing Unit,过程处理单元)进行通讯。在正常情况下,一个通讯实例名只会分配给AP代码中的一个功能块,如果在整个T2000平台中出现两个功能块使用同一个通讯实例名,则会出现通讯冲突,导致存在重名功能块的第二个AP在与PU通讯时存现通讯异常,从而使第二个AP无法与PU建立通讯。

3 通讯点名重名故障原因分析

3.1 直接原因分析

通过调查PU02的故障日志,日志中提示AP654中的通讯实例名FC45+ I No.(Instance number)7106已经在AS(AP)554中存在,也意味着同一个FC+Instance number同时存在于AP554和AP654中,如图3。

图3 PU02故障定位日志信息Fig.3 PU02 Fault location log information

进一步调查发现,该通讯点对应的功能块在ES680的数据库中已经删除,但通讯点FC45+Instance 7106在AP554代码中残留,残留在AP554中的代码如图4。

图4 通讯点名FC45+Instance 7106残留在AP554的代码中Fig.4 Communication roll call FC45+Instance 7106 remains in the code of AP554

此外,由于该通讯点名FC45+Instance 7106在ES680数据库中对应的功能块已经不存在。因此,AP554中因删除而闲置的通讯实例名(FC45+Instance 7106)被ES680重新分配给AP654新增的功能块,如图5。

图5 通讯点名FC45+Instance 7106重新分配在AP654的代码中Fig.5 The communication roll call FC45+Instance 7106 is reassigned in the code of AP654

AP654的功能块被分配该通讯点名且其对应的代码编译下装后,AP654将刷新与PU的通讯连接。在AP654尝试与PU02(从PU)刷新,重新建立通讯连接的过程中,PU02检测到该通讯点名在AP554中已经存在(PU02故障日志中显示的内容),从而导致AP654与PU02无法建立连接。

3.2 详细原因分析

由于通讯实例名FC+Instance重名问题在T2000平台首次被发现,相应信息反馈德国SIMENS厂家后,SIEMENS研发人员在后台无法复现通讯实例名FC+Instance重名现象,无法找到导致该问题出现的原因。但该问题如找不到根本原因和解决方案,现场随时可能再出现相同问题。因此,在SIEMENS未能给出根本原因分析和解决方案的背景下,仪控人员通过把现场数据库导入至模拟机,并进行多场景复现测试,在通过模拟机50多个不同场景的测试和分析后,测试人员定位了故障原因为SIEMENS的AP代码编译器存在Bug。在删除模块时,AP编译器未调用实例表重新生成函数,导致被删除模块的原通讯实例名(FC+Instance)被保留在原AP代码中,叠加设计修改的频繁变更,大面积的逻辑变更导致该FC内Instance资源耗尽,其它AP新增模块时,将被迫使用相同FC内其它模块删除闲置的Instance资源导致。TEC4功能图进行中修改逻辑图到编译成AP代码,到最终形成通讯实例名冲突的流程如图6。

图6 通讯实例名重名冲突形成过程Fig.6 The formation process of the duplicate name conflict of the communication instance name

这里以一个删除掉TEC4(TEC4:Technology Editor,EPR核电站过程控制组态工具)功能中的一个功能块A进行说明。一个功能块在AP554的TEC4功能图中删除掉,从TEC4编译到ES680的过程中,该功能块A在ES680功能图和数据库中将同时被删除掉,功能块A对应的通讯实例号(Instance Number)被释放,随后在ES680中编译生成AP可下装的代码。如果在AP代码编译生成的过程中自动调用了实例列表重新生成(regeneration instance list)功能,则编译过程中将清除掉原AP代码中所包含功能块A对应的通讯实例名。在这种情况下,即便是原功能块A对应的通讯实例名被ES680重新分配给其它AP的功能块使用,也不会出现相同的通讯实例名。反之,如果在AP代码编译生成的过程中没有自动调用“regeneration instance list”功能,则编译过程中将不清除原AP代码中所包含功能块A对应的通讯实例名。

在该问题中,AP554的功能块A被删除后,在AP代码编译生成的过程中并没有调用实例列表重新生成(regeneration instance list)功能。因此,功能块A的通讯实例名残留在AP554的运行代码中。而在AP654侧,由于设计变更,增加了功能块B,但FC45中的Instance资源由于频繁的设计变更,Instance号码资源已经耗尽(Instance号码资源使用只增不减,删除掉一个功能块后该功能块的Instance号码被废弃,新增功能块将采用新的Instance号码)。所以在AP654增加新的功能块B后,在AP代码编译的过程中,由于FC45中的按顺序编码的Instance资源已经使用至最后一个编码,数据库将重头开始重新检索其它功能块删除后闲置的Instance资源,发现Instance7106由于AP554中的功能块A在数据库中被删除后,处于闲置状态,因此采用FC45+Instance7106作为新增功能块B的通讯实例名。在AP654代码编译下装后,与从PU建立通讯连接的过程中,PU检测到出现重名FC45+Instance7106,从而拒绝与AP654建立连接。

综上分析,可以得出结论:SIEMENS的AP代码编译工具中存在Bug(缺陷),在AP生成的过程中并不是每次均自动调用“regeneration instance list”功能,从而导致被删除功能块A的通讯实例名在原AP代码中残留。叠加原FC中的Instance资源由于频繁的设计变更,Instance号码资源已经耗尽。因此,被删除的通讯实例名一旦被其它AP的新增功能块B再次使用,则会造成通讯实例名FC+Instance出现重名,从而导致使用重名通讯实例的AP与PU的通讯失去。

另外从设计上而言,出现重名Instance只造成AP与从PU的连接故障,不影响与主PU的连接。这一点是合理的,一方面这样的机制既然保障主PU与所有AP正常通讯,除了重名信号不可信外,不影响PICS显示和操作;另一方面从PU持续不断地检测重名Instance,并不断地尝试与重名Instance的AP进行重连,可确保一旦重名Instance消失后,可以有效建立与AP的连接,起到从PU的后备作用。且该过程中,该故障信息会持续在PU故障日记中进行记录,方便系统维护人员排查出现重名Instance的时间以及在哪些AP中的哪个功能块出现了重名。

4 通讯点名重名故障解决方案

在通过模拟机的大量场景测试和重复试验后,初步分析、定位问题为SIEMENS AP代码编译软件出现缺陷,叠加频繁的设计变更导致FC内Instance耗尽,并把分析结论反馈给SIEMENS厂家。随后,SIEMENS厂家根据分析过程和结论,确认AP代码编译器存在BUG,每次删除功能块并未强制调用“regeneration instance list”功能,从而导致ES680数据已经删除,但在AP代码中仍然残留,而编译器在原FC的Instance资源耗尽后,将再次检索使用之前删除的Instance资源。

在SIEMENS确认AP编译器存在BUG后,答复从开发出可供现场使用的补丁之前,需要经过代码开发、代码V&V测试、代码兼容性测试等环节,才能释放给现场,周期比较长。在该背景下,仪控人员经过前期数据库的分析和在模拟机多场景的验证,发现AP编译器每次在增加功能块的过程中都会调用实例列表重新生成(regeneration instance list)功能,给新增加的功能块分配Instance。因此,在SIEMENS厂家未能给出安装补丁前,现场采用以下临时方案和措施进行处理,避免再次出现通讯实例名重名造成通讯中断,从而制约现场工作的开展。

1)通过ES680数据库提取每个AP代码中的FC+Instance信息,并进行整合,确保所有AP中的FC+Instance信息在整个数据库中唯一。同时,通过PU的日志提取通讯实例名重名错误的关键字,确保当前主从PU与所有AP的通讯进程中,无通讯实例名重名出现。

2)在出现设计变更,必须进行功能块逻辑修改的情况下,通过查看AP代码生成过程记录,确保调用了实例列表重新生成(regeneration instance list)功能。如果没有调用记录,则人为删除/增加强制功能块,再次编译生成代码,“强迫”系统重新生成实例列表。

3)在AP下装后,T2000平台系统管理员检查在PU故障日志检查是否出现重名Instance情况,并做好记录。如果出现重名,将对该AP进行重新编译,通过步骤2)的技术手段触发实例列表重新生成,从而消除Instance重名。

通过实施以上临时方案和措施后,所有AP与主从PU的连接均正常,现场未再出现通讯实例名重名冲突从而导致通讯中断问题。

5 总结

EPR机组庞大的通讯逻辑设计,本身占用了T2000大量的系统通讯点名资源。且台山EPR机组是全球首个EPR机组,在台山EPR机组调试的过程中,机组设计组态的频繁变更,使得T2000 DCS系统中所有的通讯点名资源被耗尽,从而出现了通讯点名资源重利用现象。

在通讯点名资源重利用的过程中,由于AP编译器本身的缺陷,通讯点名资源删除后,在数据库中得到释放,但在数据库向AP代码编译过程中,未能删除掉残余通讯点名代码,从而导致了通讯点名出现重名。

通过分析通讯点名的分配原理,通讯点名的资源使用方式,并对AP代码编译器编译后的代码进行分析。最后,在模拟机平台成功复现了通讯点名重名现象,找到通讯点名重名的根本原因,反馈给供应商,并在供应商的正式补丁下发前,采用自主分析的临时方案对该缺陷进行管控,有效地避免了通讯点重名故障在机组上再次出现,为机组后续的调试及商运奠定基础。对于采用T2000平台技术的机组,在存在逻辑变更增量的条件下,其它T2000平台的机组迟早会面临资源耗尽重用问题,如果AP编译器的缺陷未能得到解决,那么通讯重名导致通讯中断问题必然会出现。因此,该技术难题的分析过程及有效解决处理过程及思路,对全球范围内其它使用T2000平台的机组具有直接的借鉴作用和重要参考价值。

猜你喜欢
编译器台山实例
口碑炸裂!早造超90%的客户盈利,这家品牌苗在台山养虾圈一夜爆火
面向理想性能空间的跨架构编译分析方法
台山都斛镇党建引领赋能科技兴农
八台山独秀峰
运行速度大突破华为《方舟编译器》详解
以理驭法探究计算教学课堂模式
完形填空Ⅱ
完形填空Ⅰ
优化编译器的设计
基于ARM嵌入式平台的x86译码SOC架构设计