Flowmaster仿真设计系统开发与应用

2017-04-21 10:19陈健华邱健施伟
科技传播 2017年3期
关键词:二次开发

陈健华+邱健+施伟

摘 要 本文采用C#语言对Flowmaster软件进行二次开发,封装Flowmaster计算模型,开发一套通用性强、操作简便的仿真软件,能够快捷实现核电系统Flowmaster模型及工况数据的更改,实现多工况的自动求解,自动评价计算结果,将仿真工作自动化,从而提高工程师工作效率。

关键词 Flowmaster;二次开发;核电系统;COM功能

中图分类号 G2 文献标识码 A 文章编号 1674-6708(2017)180-0050-03

1 背景

上海核工程研究设计院工艺系统所采用Flowmaster软件进行核电工艺系统的仿真计算。核电工艺系统具有模型庞大、元件种类多等特点,所以仿真模型创建与配置工作量也比较大,不同项目仿真模型需要重新建模,仿真建模需要耗费大量时间。电厂调试过程中,经常遇到调试结果与设计文件出现偏差的问题,需对仿真模型进行快速修改并指导电站的调试。

本文基于Flowmaster软件接口功能,对软件进行二次开发,封装Flowmaster计算模型,开发一套通用性强、操作简便的仿真软件,能够便捷实现对模型及工况数据的更改,实现多工况的自动求解,自动评价计算结果,将仿真工作自动化,以满足我院工程计算需求,从而提高工程师工作效率。以下简称该软件为封装软件。

2 封装软件开发

2.1 开发环境与工具

C#是由C和C++衍生出来的面向对象的编程语言,具有安全、稳定的特点。C#综合了VB简单的可视化操作和C++的高运行效率,以其強大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。Microsoft Visual Studio是美国微软公司的开发工具包系列产品,是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。本软件采用C#语言基于Microsoft Visual Studio的开发环境进行开发。

2.2 软件架构

封装软件由上层软件界面与底层Flowmaster计算引擎组成,二者通过FlowmasterCOM接口交换数据。软件构架如图1所示。

封装软件通过将Flowmaster模型文件进行封装,实现模型与封装软件界面的映射关系,简化了系统计算操作流程。通过封装软件驱动Flowmaster软件的稳态、瞬态、换热等求解器,并能够实现系统管道长度裕量计算、水锤计算、通过管道清单修改系统参数等计算功能。

封装软件包含图形、表格两种查看结果方式,其中图形查看能够在流程简图中显示对应元件的计算结果,表格查看以列表的形式显示。封装软件根据内置设计规范,对计算结果进行智能判断,并反馈出不同的提示信息,提示工程师有警告或错误。其中图形结果支持CAD彩图显示流量、流速、压力、温度结果,以便工程师查看整体计算结果。

2.3 关键技术

要实现C#与Flowmaster的联合编程,需利用Flowmaster软件的应用程序编程接口即COM接口,Flowmaster提供了丰富的COM编程接口。这些接口函数按功能可分为应用程序管理、项目管理、模型管理、元件管理、节点管理、曲线管理、单位制管理、仿真计算、结果管理九类,其功能囊括了Flowmaster软件环境中所有步骤操作。通过在C#程序中调用上述COM接口函数能够实现在在后台驱动Flowmaster计算引擎完成仿真计算。

各COM接口对应的C#类如表1所示。

2.4 模块开发

2.4.1 封装模块

首先通过进行系统模型及流程简图的导入操作,然后使用Application类的DatabaseLogin函数打开模型数据库,并利用Project类Network函数打开系统创建操作中导入的系统模型。通过Network类的ComponentAttachedNode读取系统模型中元件连接关系,利用Component函数和Node函数访问模型中的元件及节点实现元件的封装 操作。

2.4.2 系统计算模块

封装软件最重要的功能就是进行系统计算。系统计算时,需要选择不同的工况,选择不同的求解器,封装软件能够从下拉列表中选择封装完成的工况选择计算工况及选择不同的求解器。利用FM2_AnalysisControl类能够调用Flowmaster软件的求解器。

2.4.3 结果处理模块

封装软件能够快速、直观查看系统计算结果,并能在流程简图中显示计算结果。通过ResultSet函数调取Flowmaster模型中计算结果,采用调用Network类型对象的ResultSet方法对之前声明的ResultSet类型的变量进行赋值,调用赋值后的ResultSet类型的变量的ComponentArmValue,ComponentValue,NodeValue方法,分别读取元件Arm结果,元件非Arm结果,节点结果。封装软件调用Flowmaster软件中计算结果是通过调取物理量对应的元件或节点编号,该编号在Flowmaster软件的安装根目录下可以找到。

2.5 界面设计

封装软件主界面如图4所示,主界面能够完成系统封装、计算、结果查看导出等。

封装软件计算完成之后,能够在对应的系统CAD流程简图中将计算结果以彩色线条的形式显示计算结果。该功能能够弹出单独的界面,界面中能够显示图例,图例显示对应物理量的数值范围。

3 封装软件应用

完成封装软件开发后,对软件的工作效果进行验证,以设冷水系统为例。通过系统封装进行快速计算,通过流程简图能够直观查看计算结果,可以在流程简图上直接显示计算数值或者以彩图形式显示计算结果。

点击表格查看,能够以表格形式清晰的查看计算结果,如果是瞬态计算结果,还能以曲线的形式显示计算结果。

4 结论

本文以封装软件的开发为主线,以核电工艺系统为对象,利用Flowmaster软件建模、C#编程的手段,将核电工艺系统的计算模型集成于封装软件中,实现了核电工艺系统快速仿真设计,计算结果也更直观化。

参考文献

[1]Mentor Graphics, Flowmaster SDK Help,2010.

[2]邵超.数据库实用教程[M].北京:清华大学出版社,2009.

猜你喜欢
二次开发
浅谈基于Revit平台的二次开发
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
三维详图设计软件Tekla Structures二次开发实例
基于C#的AutoCAD建筑构件库二次开发
西门子Easy Screen对倒棱机床界面二次开发
CAD二次开发在铁路车站信号设计中的应用
基于全站仪二次开发的覆冰厚度测量与实现
Micaps3.2 版本二次开发入门浅析
基于VB的ANSYS二次开发在变压器抗短路性能分析中的应用