基于配置思想的核电站热工水力系统图形化建模的实现

2022-09-16 04:16彭思涛陆利刚马忠英姚建凡
中国核电 2022年2期
关键词:配置文件图形化元件

彭思涛,陆利刚,李 伟,马忠英,张 薇,姚建凡,李 磊

(1.中广核研究院有限公司, 广东 深圳 518034;2.成都理工大学工程技术学院, 四川 乐山 614007;3.核工业西南物理研究院, 四川 成都 610225)

在核电站设计和安全分析过程中,热工水力系统建模与分析是一个重要的步骤。已有的热工水力仿真和分析软件多采用文本形式建模,建模耗时长,易出错,效率低。使用图形化建模方法,可以有效地提高建模效率[1-2]。因为热工水力系统分析软件较多且输入标准不一致,使得建模工具需要对不同软件进行适配,使用配置思想,只修改配置文件即可对不同分析软件进行适配,大大减少了软件开发的工作量。配置思想是程序开发的一种实现方法,其将程序中需要的信息用配置信息进行存储,程序的界面及相应的流转、控制等行为根据配置信息进行自动切换。所以当用户需求有变化时,通过修改相应的配置信息即可实现相应效果,而不需修改程序源代码[2]。基于配置思想开发的系统具有数据可配置、界面可配置、流程可配置的优点。在实现的过程中,最重要的就是配置文件的设计。配置文件可以对数据、界面中控件的类型与位置等信息进行保存,配置文件的形式包括: INI文件、XML文件、数据库表等多种类型[2]。对于存储少量数据而言,XML文件优势在于数据定义明确、标准化格式以及便于维护和管理,XML文件在配置文件和系统信息的交换中大量使用[3]。因此,项目使用XML文件作为配置文件。

Java语言的跨平台特性和丰富的绘图功能使其非常适合作为一种图形化应用的开发软件。软件界面使用Java Swing构建,Swing开发工具包大多数用来开发Java应用程序用户界面,它包含很多控件,可以很方便的用来构建界面[4]。

1 图形化建模流程

热工水力系统建模由许多不同的元件组成,包括部件、构件、接口、阀门等,这些元件预定义在元件库中。用户建模时,需要新建一个项目并指明目标分析软件,程序为每个项目生成一个导航树。导航树自动生成目标分析软件所需要的与图形无关的参数配置项。用户首先完成图形无关的参数配置,然后从元件中选择所需要的元件放入绘图区,在属性面板配置元件的参数,再以拖拽的方式将元件连接起来并配置连接参数,至此,建模过程结束。建模工具可以自动将图形模型转换成文本输入卡。图形化建模流程如图1所示。

图1 图形化建模流程图Fig.1 The flow chart of graphical modeling

2 系统设计与实现

2.1 元件库

元件库使用树型目录方式展示,目录树导航是一种很常见的导航方式, 它能够清晰地表现数据之间的层次和分类关系[7]。并提供按名称进行搜素的功能。元件库目录使用加载XML配置文件的方式生成。这样,当需要更新元件库时,只需要修改XML配置文件即可,这就是软件开发过程中应用配置思想的益处。

2.2 项目导航

项目导航窗口为每个项目生成一个目录树,其中包含目标分析软件所需的图形无关的配置项,这些配置项也是通过加载XML配置文件的方式生成。项目目录树还包括所有添加到该项目中的图形元件项。选择目录树中的具体项,便可以通过具体项关联的属性面板配置该项的参数,同时可以对具体项进行重命名、复制、删除等编辑操作,这些操作将同步到绘图区中。

2.3 属性面板

属性面板用于配置项目中各个具体项的参数,对于每个具体项,其参数配置内容使用加载XML配置文件的方式来生成,其中包括参数之间的联动关系和参数内部的限定条件,用于在输入时进行参数的条件控制和合法性检查。比如有些参数在特定条件才能输入,或者某些参数为必要参数,不可以为空,另一些参数则不能超出指定的范围。

2.4 绘图区

绘图区完成元件的图形显示并通过拖拽的方式进行元件间的连接。对于热工水力元件,需要考虑流体的流动方向以及接口的夹角等参数,这些参数在连接线上进行配置,当选择该连接线时,属性面板将显示该连接的可配置参数,连接线的上下游连接规则及可配置参数使用加载XML配置文件的方式来生成。

图形建模工具效果如图2所示。

图2 建模工具效果图Fig.2 The effect diagram of the modeling tool

3 关键技术

3.1 元件类型映射

每一个图形元件针对不同的目标分析软件具有不同的参数项。所以需要将元件库中的元件类型映射为目标分析软件中对应的元件类型。这种映射关系通过XML配置文件来指定。将元件从元件库拖拽到绘图区时,将根据元件类型名查找目标分析软件的映射类型,如果没有找到目标类型,则此元件不可添加到项目中。根据目标类型加载该图形元件的图形参数、元件配置参数等配置信息。元件映射流程如图3所示。

图3 元件映射流程图Fig.3 The flow chart of element mapping

3.2 图形模型转文本输入卡

在对核电厂进行安全分析时,对系统完成图形建模以后,由核电厂安全分析软件读取并进行计算并得出结果。目前较为通用的核电厂安全分析程序大多要求程序员编写输入卡, 进行输入操作和完成程序之间的调用[8]。所以需要将图形模型转换为文本输入卡。

在文本输入卡中,对同类型的元件进行编号,构成一个元件列表。元件的参数根据元件在列表中的位置形成一个参数列表。因为元件具体有哪些参数是根据xml配置文件生成的,所以可以读取元件中所有参数名来确定该元件需要输出的参数。

在图形模型转文本输入卡时,将根据目的系统程序进行适配。以中广核系统瞬态分析程序GINKGO为例,转换时需要首先将不同类型的元件进行分类并进行编号,对于同一类元件的某一个参数,按其在元件列表中的顺序输出具体值构成参数列表。元件的上下游关系由矩阵来表示,上游矩阵参数给出列表中所有元件的所有上游元件编号,如果有多个上游元件则需要多行。同理下游矩阵给出列表中所有元件的下游元件编号。如果该元件没有上/下游,则在矩阵中填“0”。

部件、接口和构件都需要生成上/下游矩阵,其中构件的上/下游都是部件,接口的上/下游也都是部件,部件的上/下游可能是部件、构件或接口。部件上/下游矩阵只给出相邻部件,所以需要排除构件和接口,其生成流程如图4所示。

图4 部件上/下游矩阵生成流程图Fig.4 The flow chart of upstream/downstream matrix generation of components

当生成所有元件的上/下游矩阵后,就可以打印输出模型的文本输入卡。输出文本输入卡时,先输出与图形元件无关的总体参数名及其值,再输出与元件相关的参数名及其值。与元件相关的参数输出流程如图5所示。

图5 与元件相关参数输出流程图Fig.5 The flow chart of element related parameter output

3.3 文本输入卡转图形模型

为了方便复用已有的文本输入卡,同时让修改文本输入卡可以利用图形建模的优点,建模工具提供从文本输入卡转为图形模型的功能。在文本输入卡中,不同类型的元件处于不同的文本块中,由文本块的名字来区分,在转换成图形模型时,根据文本块名来决定图形元件的类型。然后再读取各个元件的参数存入图形模型中。上/下游关系矩阵的处理是图形转文本卡的逆过程。因为文本输入卡没有图形元件的输入位置,则使用自动生成的位置,生成图形模型后,由用户手动调各图形元件的位置。如果多个输入卡的图形信息是一致的,则可以根据上下游关系以及类型匹配各图形元件的位置,使用一个图形模型可以对应多个输入卡。输入卡匹配图形模型的导入流程如图6所示。

图6 输入卡匹配图形模型导入流程图Fig.6 The flow chart of the matching graphic model import of the input card

4 结语

本文给出了在核电站设计与安全分析过程中,一种使用图形化建模工具实现热工水力系统建模的实现方法。建模工具具有图形化界面,方便系统中各元件参数的配置以及连接并提供基本的编辑功能。应用配置思想,可以大大增加软件的灵活性,避免频繁的修改源代码,仅需要修改配置文件即可实现对软件的扩展和更新。建模工具使用树型目录给出建模中所需的元件,用户只须拖动元件、配置参数、点按连接便可实现系统建模。工具实现了图形化模型与文本输入卡之间自动相互转换的算法,方便用户重复利用已经建好的图形模型或文本输入卡。本建模工具已经与中广核系统瞬态分析软件GINKGO进行适配使用,也在国家重点研发计划项目“固有安全一体化小型氟盐冷却高温堆技术研究”中为该项目的虚拟仿真技术研究提供图形化系统建模功能,该工具的使用有效提高了建模效率,具有一定的实用价值。

猜你喜欢
配置文件图形化元件
基于Docker的实时数据处理系统配置文件管理软件的设计与实现
基于Arduino图形化编程的教学应用研究
浅谈图形化编程在小学教育中的作用
从Windows 10中删除所有网络配置文件
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
如何读懂色环电阻
非线性元件的处理
Mixly米思齐:优秀的国产创客教育工具
上海风云“东邪”谁属