“华龙一号”功能图自动导入仿真平台的功能实现
2019-02-11蔚2张立群张玉峰
刘 颖,祁 蔚2,张立群,张玉峰
(1.中国核电工程有限公司,北京 100840;2.中核武汉核电运行技术股份有限公司,湖北 武汉 430223)
核电设计的验证方式目前主要包含设计评审、替换计算、试验(实验)方式等。在以往核电厂设计中,一般采取的方式是设计评审,设计验证主要依靠评审人员的经验进行。近年来,各大核电设计研究院的仪控系统设计均开始采用成熟的商用工程设计平台或者定制开发的专用绘图软件,仪控设计图纸采用标准模板并以数据库的方式存储,甚至可以用计算机代码解析和计算,因而采用替换计算、试验方式进行仪控设计验证变为可能[1-3]。同时,核安全局对核电厂设计验证的要求也在逐渐提高,核电设计工作的仿真验证已经逐渐成为核电设计中不可或缺的内容。由于计算机设计仿真分析的时效性和经济型,先进核电研发设计中,大量的方案研究、设计开发都采用了计算仿真分析[4-5]。
方家山和福清核电项目的设计验证平台中,由于仪控出图未采用标准图块,计算机无法解析。因而仪控系统建模采用仿真工程师手动建模的方式,这种须进行二次人工组态建模的方式工作效率低、耗时长且经常存在工作反复。自福清5、6号机组项目(“华龙一号”堆型)开始,仪控设计工作使用基于visio开发的功能图专用自动化设计软件,采用标准图块设计方法,统一使用标准图框、图面、图例符号、统一的字体和线型,仪控设计成品图纸使用功能图替代了逻辑图/模拟图。功能图采用标准图块绘图、使用标准出图软件绘制,功能图可用计算机代码进行解析,构成了功能图纸自动导入设计验证平台、进行仪控系统仿真建模的基础。
1 功能图文件转换的基本原理
功能图中的构成元素包含以下几类:标准图框、文本块、基本几何形状图块(圆形/椭圆/矩形等)、组合框图块、标准算法模具块、标准算法模具块属性信息、标准算法模具块之间的动态连接关系等。这些大体可分为静态图块/文本、动态图块、图块参数信息、连接线。其中,动态图块、图块参数信息均为预定义模具块以及预定义参数信息。
这些存储在.vsd文件中图元素数据有一定的规范格式,同时 visio软件提供了可以访问这些数据的接口,xml格式存储信息为visio所提供的数据接口方式的一种。xml文件提供了几个主要的接口,包含Document,节点相关的Nodelist,Node,NameNodeMap等,其中Document是整个xml文档属性结构数据的入口,通过Document可以访问整个文档的数据。xml文件以文档树形结构(如图1所示)的形式提供了有效的、准确的、规范格式的绘图信息,是一种优秀的描述结构化的数据语言,开放性与可扩展性强,代码效率高,可读性强,能够很好实现visio文档数据的批量化处理。
图1 xml文件结构Fig.1 Structure of xmldocument
Rinsim仿真平台可以通过xml文件提供的数据入口,解析功能图中的图元素以及参数、图元素位置信息,并在图形化建模软件SimGen中将xml文件还原为.gmd格式的绘图仿真文件。其中,源图中的静态图块/文本块、模具图块参数直接还原为图片/文本格式,无须在仿真平台中预先定义;而源图中预定义模具块都需要在Rinsim仿真平台预先开发一比一的仿真算法模具块,通过名称对应的方式还原图信息。
综上,功能图文件转换为Rinsim仿真平台可识别文件的基本转换原理如图2所示,源文件为使用功能图专用制图软件按照制图规范、使用标准模具图块绘制的.vsd文件;第二步,通过功能图专用制图软件功能,将.vsd文件转换为xml文件;第三步,功能图导入软件对xml文件进行查错流程,查错无误再经坐标转换后,将xml转换为目标xml文件;最后,目标xml文件被Rinsim仿真平台直接识别,还原为.gmd格式的仿真图文件,经编译、下装后可进行仿真运算。
图2 Vsio格式数据解析流程图Fig.2 Data analysis flow of the visio document
2 功能图导入软件的功能
功能图导入软件的功能主要包含两个,其一是通过预定义功能图专用制图软件和Rinsim仿真平台模具图块开发的技术规则与书写格式,使用预先定义的错误类型和错误条件判据纠正功能图绘图的规范性偏差检查源功能图错误。另外一个是将xml文件进行格式处理、信息补充以及格式检查,以及部分算法块的连接关系判断处理,将其批量转换为目标xml文件。
2.1 查错功能
仿真计算对于控制逻辑组态图中算法图块的连接点类型、算法块输入针脚的初始值、算法块参数的初值、算法块命名有着严格的要求。用功能图导入的方式建立控制系统模型,是一种在绘图完成后直接进行建模的方式,这就要求功能图绘制也必须符合图形化仿真建模工具软件的制图规范。然而,功能图专用制图软件对绘图的限制规范远不及Rinsim仿真平台严格,功能图专用制图软件目的是出版仪控成品文件,软件首要功能是保证设计者有一定的发挥空间以及图面的规整度,而不是保证出图可直接用于平台建模下装。因此,若不能在功能图导入前对功能图进行诊断以及错误分析,则会在导入后经常出现图纸导入不成功、导入组态图编译出错、发生计算溢出等情形,这样就需要仿真建模工程师耗费大量时间去分析问题,找出问题原因并向功能图设计者反馈绘图规范的问题,使得整个功能图导入流程不停的反复在“绘图完成——导入为组态图编译下装——编译出错——修改绘图”流程中,严重影响工作效率。
功能图导入软件的查错功能,利用预先定义的错误类型和错误条件判据纠正功能图绘图的规范性偏差,使得功能图的验证偏差项的修正次序更科学,从而减少了后续逻辑验证工作的偏差问题分析的工作量。导入软件诊断结果可作为图纸能否直接导入验证仿真平台的辅助判断依据;若功能图文件未通过软件诊断,诊断分析结果文件将绘图偏差逐一分类并逐条罗列,结果分析文件(如图3所示)清晰易懂,可作为绘图者修正绘图的依据。
图3 功能图诊断分析结果Fig.3 Diagnosis results for the function diagram analysis
2.2 导入功能
如本文第1章所述,功能图导出为xml文件格式后,需要对xml文件进行格式处理、信息补充以及格式检查转换为目标xml文件后,才能够正常导入进Rinsim平台的图形化建模软件SimGen,显示为与原图一致的组态图,并且直接编译下装和运行。功能图导入软件对xml文件进行的处理主要包含以下6个方面:
(1)坐标转换
功能图专用制图软件的坐标原点在画面的左下角,而SimGen组态图的原点坐标在画面的左上角;功能图中各图元素的坐标信息对应的是图块的居中位置,而SimGen中库部件定位使用的是库部件的左上角坐标。所以xml文件在导入SimGen软件时,需要根据功能图的尺寸和SimGen组态图的尺寸,以及模具图块的尺寸进行坐标数值的转换,转换后目标xml文件中的
(2)悬空针脚的处理
某些特殊算法块(平均值块、表决块等)需要统计悬空阵脚的数量,并将这个值增加至该算法块的参数中,这就需要判断算法块的连接关系,对于有连接的针脚,在parameterlist结构里增加insel属性,并赋值为1;对于没有连接的点,赋值为0。
(3)补充信号呼应符变量信息
功能图中填写的信号呼应图块的参数不能作为直接SimGen软件直接生成变量的依据,导入软件需要根据信号符写的参数和变量生成原则,重新处理得到变量名,保证相互匹配的一对信号呼应在模型中产生的是同一个变量名称。
另外,功能图中信号呼应符的连接点只区分IN/OUT类型,而不区分变量类型,信号类型(bool/float)需要根据该图块的参数确定,导入软件需要根据所填的参数判断该变量为bool/float型。
(4)设备ID补充
功能图中某些图块带有ID定义,而某些通用计算块无ID定义。但是仿真组态图中的每一个图块均需要ID定义来产生计算变量;另外,功能图中允许两种不同类型的图块使用同一名称(最典型的是设备的控制图块和显示图块),这个在仿真软件中也是需要区分的。因此,源功能图中的模具图块命名需要经导入软件再次处理,以确保导入验证平台后的组态图纸所有模块的名称不出现ID重名情况。
另外,源功能图中设备的驱动块是一个复杂的、重要的算法块,这个算法块的变量值严重影响设备的动态响应,但是该图块在源图没有ID命名。针对这种情况,一次导入图纸没有问题,但是若驱动模块经修改再次导入,由于在Rinsim平台中找不到前驱动模块自动生成的相关变量,模型修改前的初始条件(IC)则无法使用,因此需要根据图块间的连接关系为这种类型的驱动模块增加ID。
(5)隔离模块等图块的类型增加
功能图绘图时,隔离块(还有其他图块)不区分针脚的变量类型(bool/float),也未在任何参数中进行定义;对于此类图块,需要根据针脚的动态连接关系,根据上游图块out型针脚的变量类型来判断仿真图块类型。
2.3 功能图自动导入实现
功能自动导入主要实现源功能图中控制算法块的页面位置坐标、参数初值、动态链接关系、注释文本、标准图框的转换,该转换过程以在Rinsim仿真平台手动建立控制算法模块库为前提:根据专用制图软件的算法模具库文件(.vss),在Rinsim平台上一比一制作控制算法模具块,保证算法块与专用制图软件模具图块的名称、外观尺寸、针脚类型、针脚名称、针脚数量、算法等完全一致。
图4 被导入的功能图Fig.4 The function diagram imported
图5 导入后的仿真组态图Fig.5 The imported simulation configuration diagram
图4为基于功能图专用制图软件绘制完成的功能图文件(.vdx),经导入软件自动解析后,导入至Rinsim仿真平台上,在SimGen软件中打开显示的画面如图5所示。从图5中可以看出,导入后的控制逻辑组态图与源图中的图框、注释文本、图块布局、图块间连接关系等几乎完全一致。
3 功能图自动导入工作流程
功能图自动导入至Rinsim平台的工作流程如图6所示。
图6 功能图导入工作流程Fig.6 The work flow for function diagrams imported
1)仪控工程师使用功能图专用制图软件,按照绘图规范使用标准图库绘图,并填写图块参数。绘图完成后,仪控工程师使用软件自带的检查功能,对单张图纸或者多张图纸进行断点检查、命名检查、参数完整性检查、信号呼应检查等操作。
2)将功能图批量转为xml文件。
3)使用功能图导入软件对xml文件进行格式检查,确认源图命名合乎规范、源图中没有使用旧版的模具图块、系统内/系统间的信号呼应一一匹配、图块ID命名格式正确且无重名、图块的属性参数格式类型正确、动态连接线起点/终点的变量类型匹配等事项。若功能图文件未通过软件检查,软件的诊断分析结果文件将绘图偏差逐一分类并逐条罗列,结果分析文件清晰易懂,可作为绘图者修正绘图的依据。
4)若通过软件检查,则可将xml文件批量的转化为目标xml文件。
5)在Rinsim平台上编写脚本,依据事先定义的仿真模块划分表,自动分配目标xml文件的仿真任务号,并将其转换为.gmd格式的仿真图文件,并自动保存至平台服务器指定路径下,供在仿真平台上创建仿真系统使用。
6)打开SimGen软件,将图纸文件加载至分配好的仿真模块节点下,对仿真模块进行编译、下装,生成执行程序,导入初值文件即可开始仿真计算。
4 应 用
功能图自动导入建模方法应用于福清5、6号(“华龙一号”堆型)核电机组设计验证平台的仪控系统建模,通过自动导入的方式将80多个电厂系统,超过5000页图纸,以及这些图纸的多次升版图纸自动导入至Rinsim仿真验证平台,消除了之前通过人工二次组态正向建模所带来的人为错误率高、耗费时间长、耗费人力大的缺点。另外,通过一系列事先约定的规范,使得仿真调试数据在文件升版后仍然有效,完美地解决了设计输入迭代的进度要求,缩短了调试周期,大大提高了仪控建模的工作效率,极好地解决了新堆型仪控设计出图频繁升版、设计验证平台对仪控模型快速迭代的需求。
5 结 论
功能图导入软件可将仪控成品出图文件(功能图)批量化、自动化、准确无误地转为设计验证平台逻辑建模软件Simgen直接识别的文件,无需进行人工二次组态下装,导入完成后经编译即可生成仪控模型代码,生成相关的仪控仿真模块,实现仪控设计功能图纸在Rinsim平台上仿真运行,整个过程高效、快捷。功能图导入Rinsim平台、生成控制仿真模块后,与平台内其他仿真模块,如设备执行机构(气动/液压/电磁阀/电气柜)仿真模块、工艺仿真模块、人机界面仿真模块等,一同组成了完整的核电厂仿真模型。
从长远来看,功能图自动导入软件与功能图自动化制图软件、仪控系统设计验证平台以及一整套的验证流程和验证程序为一套软件,可进行单系统验证,也可以在多系统联调环境下验证系统间接口的完好对应,从而为设计图纸审查增加了有力的、可靠的设计验证工具,顺应仪控系统设计通过替换计算或者实验方式进行设计验证的趋势。