燃气-蒸汽联合循环性能计算平台界面开发
2018-06-20吕荣阳毛晨旭王晓放吉奎栓孙洪洋
王 巍,吕荣阳,毛晨旭,王晓放,吉奎栓,孙洪洋,李 扬
(1.大连理工大学海洋能源利用与节能教育部重点实验室,大连116024;2.中国航发沈阳发动机研究所,沈阳110015)
0 引言
电站系统热力性能计算是电站设计建造的必要环节,也是设备选型及优化评估的重要依据。燃气-蒸汽联合循环机组作为1种很有发展前景的发电技术[1-2],其结构流程复杂,参数庞大,设计计算过程反复迭代、工作量大。通常采用Fortran等结构化程序语言编写热力计算程序,进行快速计算,但由于此类语言是在DOS环境下运行,需要一定格式的数据文件输入,运算过程相当繁琐,不形象直观,扩展性差[3]。随着现代电站容量的增大,其系统流程及设计计算也越来越复杂,亟需1种图形化、智能化、可扩展的设计计算软件。
国外在该类型软件的研发上起步较早,目前在许多产品技术上已经成熟,如GateCycle、GT_pro等。这些软件在热力系统建模与分析、功能模块和图形用户界面上具有很大优势,但国外公司为保护自身的经济利益,多数软件都不开放源代码,即不提供二次开发的接口,故调整或增加新的功能、满足用户个性化需求十分困难。国内相关科研单位也开展了该领域的研究,开发出一系列软件。具有代表性的中国科学院工程热物理研究所和华北电力大学在系统模块化建模及机组性能分析算法上开展大量研究,并开发出相应的在线性能试验和动态仿真软件[4-6];清华大学研制开发的可视化热力计算设计系统TH-CIDS[7]擅长常规电站热力系统仿真及设计,但在联合循环系统设计方面却不突出,并且使用该软件需要熟悉所要计算热动力系统的系统图,对用户专业知识要求较高。
本文参考以上软件设计及用户实际需求,以精确度、个性化和二次扩展性为目标,通过分析联合循环系统,采用Fortran编译热力性能计算模块,运用C#面向对象编程技术,个性化地增加了便捷的输入输出、灵敏度分析、与自主开发的计算模块直接对接、图形绘制等功能,研制开发了具有图形化、智能化,适合于联合循环机组热力性能计算的软件。
1 系统功能设计
燃气-蒸汽联合循环装置[8-9]是1个涉及到燃气轮机、余热锅炉、汽轮机、凝汽器及相关辅机的复杂的热力系统。
燃气轮机(GT)的排气温度相当高(一般为400~600℃),而且其工质的流量非常大。若利用燃气轮机排气来加热余热锅炉(HRSG)以产生高温高压蒸汽,送到汽轮机(ST)来增加系统作功,形成燃气-蒸汽联合循环,从而提高循环效率。以双压无再热为例,典型流程如图1所示。余热锅炉系统包括省煤器E、蒸发器B及过热器S,在不同的流程中还分高压HP、中压MP、低压LP以及再热器R,这些换热器的数量及组合方式决定着锅炉效率的高低,也影响着整个系统的性能[10]。
图1 双压无再热燃气-蒸汽联合循环系统
本文基于质量守恒及能量守恒定律,依据热力循环的温区思想开发出独立的性能计算模块;同时鉴于联合循环系统的自身特点,如流程结构的多样性以及设计参数需要优化,还需兼顾软件的二次开发和功能扩展。因此,该软件基于面向对象思想,采用混合编程技术充分实现用户所要求的功能及个性化设计。由于用户提供具有自主知识产权的燃气轮机源程序计算接口,该软件只涉及余热锅炉、汽轮机及其辅机的计算和设计,留出相应接口以对接燃气轮机源程序。软件要实现对联合循环的流程选择、性能计算、各点参数输出、灵敏度分析及相关曲线的绘制,程序框架如图2所示。
图2 软件功能模块框架
2 混合编程技术
2.1 开发环境语言
Fortran语言是世界上最早出现的计算机高级程序设计语言,广泛应用于工程计算领域,在60年的科研过程中积累了许多成熟且稳定的Fortran计算源程序。但Fortran也有其缺点,如无法开发出高效、友好的用户交互界面。Fortran95/2003提供了面向对象的思想和实现方法,但在人机交互方面不如其它面向对象语言方便。
相比于传统的基于过程的编程技术,面向对象编程(OOP)已发展成为当今主流的软件开发方法,程序结构更加合理,易于开发。因此,面向对象编程是克服大型电力系统分析程序难维护、发展与更新的1种选择[11]。C#是微软公司发布的1种由C和C++衍生出来、面向对象、运行于.NET Framework之上的高级程序设计语言。在继承C和C++强大功能的同时去掉了一些复杂特性,同时综合了VB简单的可视化操作和便捷的面向组件编程,成为软件开发的优秀语言。
本文开发的燃气-蒸汽联合循环热力性能计算平台软件基于Fortran语言编译核心计算程序,利用C#语言编译软件的人机交互界面,以充分发挥Fortran易于科学计算和C#在界面编写以及文件数据处理的优点。
2.2 混合编程技术
C#与Fortran的混合编程是利用这2种语言编写的源代码构建程序模块的过程。首先通过Fortran程序编写相应的算法计算子程序并生成动态链接库,然后利用C#编写的界面窗体程序调用Fortran生成的DLL文件,从而完成相关参数的传递以及计算处理。其难点是由于各种高级语言调用不一致而导致参数传递失败。
在C#中要实现对Fortran编译的DLL文件的调用,必须协调好调用程序和被调用程序之间的调用约定。这些调用约定主要有以下4方面:堆栈管理约定、命名约定、参数传递约定以及数组和字符串的传递约定[12]。本文使用的Fortran的编译器为Compaq Visual Fortran 6.6,C#的编译器为 Microsoft Visual Studio 2005,操作系统平台为Windows 7。
3 软件功能实现
由以上软件需求分析所要求的功能,运用面向对象思想,将相关功能一一抽象化、模块化并封装,开发出相应的类与接口,每类与接口实现某一功能。面向对象技术使开发人员可以完全按照用户需求的功能在程序中构造与之相关的类[13]。只需明确各类的功能以及它们之间的关系,通过继承和消息通信,软件开发人员即可方便快捷地设计软件。同时,如果用户需要增、删或修改软件的功能时,通常不会引起软件整体结构的变化,往往只需对与该功能相关的类进行操作即可实现。该软件总体基类的设计如图3所示。
图3 基类及其子类的实现
基类FormBase包含了软件功能实现的所有子类,在各子类中进行实现其相应的功能代码编写,绘制所需界面控件并绑定以上相应的类,即可实现程序可视化计算。这些开发好的类在后续程序编写中可以重复使用,而不需要重复编写。具体重复使用的方法有2种:创建该类的实例,直接使用该类;派生出1个子类,且可新增所需数据和行为。
3.1 性能计算模块种类的设计
由于联合循环机组流程中各模块功能的复杂性,且C#不支持多继承,程序将多数类函数提取为接口以满足功能的多重实现。混合编程的实现需要计算编译与界面开发程序的对接,该软件性能计算的接口类IDataCalculation继承关系如图4所示。类的继承性可以让相似的对象共享程序代码和数据结构,从而减少代码的冗余,提高软件的可重用性。5个子类继承来自父类的2个方法函数,而不需重复编写。
图4 热力性能计算模块的实现
计算模块中三压再热系统流程计算子类的封装如图5所示,包括该功能计算实现所需要的字段属性及函数方法。类的封装可以实现对数据访问权限的合理控制,保证对象的独立性,使程序中不同部分之间的相互影响减小到最低,可以增强程序的安全性。
图5 三压再热计算子类成员
3.2 系统热力性能计算方法设计计算的步骤如下:
(1)根据燃气轮机参数,参考各公司给出的流程和参数,预选流程和蒸汽参数;
(2)根据工程项目实际情况,选择合适的节点温差、接近点温差等相关设计参数;
(3)进行性能计算求解,得到各关键参数进行系统分析;
(4)如果得到满意的计算结果,输出相关参数表和流程图;否则重复(1)~(3)进行分析,或者多方案对比优化。
流程软件运行计算算法流程如图6所示。
图6 流程计算算法流程
3.3 计算源程序开发
电厂热力系统热经济性分析[14]是电厂效率计算的理论基础。常规热平衡法是热力学第一定律在电厂热力系统计算中的直接表述,是1种单纯的质量平衡和能量平衡方法,优点是概念清晰、精度很高。
联合循环电站的效率主要取决于燃气轮机效率,燃气轮机的热力参数决定了后续设备的蒸汽参数和运行方式,所以联合循环热力计算必须在燃气轮机型号、参数选定的前提下开展余热锅炉和汽轮机的计算。余热锅炉是由包括省煤器、蒸发器及过热器在内的多种换热器构成的换热系统,在流程结构已定情况下,本程序采用换热模块温区思想[15]进行发电厂原则性热力计算,如各模块节点的温度、锅炉效率、联合循环效率等。
性能计算包括5类流程计算方程组,由Fortran编写具体计算方法求得并生成相应的动态链接库DLL,便于后续计算程序修改及二次开发。Fortran程序编程实现如图7所示。
图7 Fortran程序计算模块
4 软件界面形式
整个程序界面可分为几部分:主界面、燃气轮机参数输入界面、循环计算界面、灵敏度分析曲线绘制界面、方案比较界面和导出保存界面等。每个界面简洁美观、使用方便:如基于软件需求和目前软件设计的发展趋势,软件采用WinFormsUI布局开源控件实现多文档界面,即在同一程序实例中打开多个框架窗口的模式,功能更强大,可扩展性更强,如图8所示;对需要大量录入的循环数据,将其分类加以标签区分,如图9所示;除了数据导出、保存等,软件还添加曲线绘制功能以实现相关变量的数据分析,如图10所示。该功能采用ZedGraph开源的.NET图表类库,全部代码都用C#开发,可以利用任意数据集合创建2D的线性和柱形图表;某一联合循环系统的流程图界面如图11所示,形象直观地反映了该设计工况下的特性。
图8 总体界面及燃气轮机参数读取界面
图9 循环参数输入输出及计算界面
图10 灵敏度曲线绘制界面
图11 单压联合循环系统流程图界面
5 性能计算实例校核
针对本文算法,以双压无再热系统流程为例,与Gatecycle进行参数对比校核,见表1。
表1 Fortran程序与Gatecycle软件计算结果对比
由以上对比参数可得,程序计算的精度基本满足要求,同时程序中也自行添加一些性能参数,直接计算求出,提高了系统计算设计的便捷性。
6 结束语
目前,联合循环热力性能计算平台软件实现的功能较符合项目需求,界面简洁,使用方便,并能满足用户的个性化设计,计算精度也能达到工程要求。该软件能够在电站的设计期和运行期提供设备选型、运行参数选取、后期优化以及变工况的性能分析等工作,完成电站相关经济性分析和性能评估,为燃气-蒸汽联合循环机组的设计和优化提供有益指导。
[1]李孝堂.燃气轮机的发展及中国的困局[J].航空发动机,2011,37(3):1-7.LI Xiaotang.Development of gas turbine and dilemma in China[J].Aeroengine,2011,37(3):1-7.(in Chinese)
[2]施磊,李孝堂.中国航改燃气轮机的现状及发展 [J].航空发动机,2004,30(2):54-58.SHI Lei,LI Xiaotang.Current status and progress of aero derivative gas turbines of China[J].Aeroengine,2004,30(2):54-58.(in Chinese)
[3]霍志红,唐必光,张志学.电站锅炉热力计算软件的改进与完善[J].锅炉技术,2003,34(1):65-67.HUO Zhihong,TANG Biguang,ZHANG Zhixue.Improvement and perfection of power station boiler thermodynamic calculation software[J].Boiler Technology,2003,34(1):65-67.(in Chinese)
[4]胡剑辉,林汝谋.总能系统模块化建模及新算法的探讨[J].燃气轮机技术,1996,9(4):14-20.HU Jianhui,LIN Rumou.Discussion on modular modeling and new algorithm of integrated energy system [J].Gas Turbine Technology,1996,9(4):14-20.(in Chinese)
[5]崔凝,陆海荣,赵文升.燃气-蒸汽联合循环机组性能分析算法的研究[J].汽轮机技术,2010,52(4):288-296.CUI Ning,LU Hairong,ZHAO Wensheng.Study on the performance analysis algorithm of the gas-steam combined cycle power unit[J].Turbine Technology,2010,52(4):288-296.(in Chinese)
[6]高建强,范晓颖.大型联合循环机组在线性能试验软件开发与应用[J].燃气轮机技术,2008,21(2):32-36.GAO Jianqiang,FAN Xiaoying.Development and utilization of on-line performance test software for large gas steam combined cycle unit[J].Gas Turbine Technology,2008,21(2):32-36.(in Chinese.)
[7]苟建兵,倪维斗.电厂热力计算可视化研究 [J].工程热物理学报,1998,19(5):537-540.GOU Jianbing,NI Weidou.Visual calculation of performances of power plant [J].JournalofEngineering Thermophysics,1998,19 (5):537-540.(in Chinese)
[8]焦树建.燃气-蒸汽联合循环 [M].北京:机械工业出版社,2000:56-72,138-203.JIAO Shujian.Gas steam combined cycle[M].Beijing:China Machine Press,2000:56-72,138-203.(in Chinese)
[9]何语平.大型天然气联合循环电厂的设计优化[J].电力设备,2006,7(10):11-16.HE Yuping.Design optimization of large natural gas combined cycle power plant[J].Electrical Equipment,2006,7(10):11-16.(in Chinese)
[10]曲胜,佟轶杰,李杨.某型燃气轮机燃气-蒸汽联合循环方案分析[J].航空发动机,2012,38(2):36-40.QU Sheng,TONG Yijie,LI Yang.Project analysis of gas steam combined cycle for a gas turbine[J].Aeroengine,2012,38(2):36-40.(in Chinese)
[11]顾晓辉,冯林娇,周明,等.面向对象的可视化电力系统分析软件研究[J].电力自动化设备,2001,21(3):20-22.GU Xiaohui,FENG Linjiao,ZHOU Ming,et al.Research on power system analysis software with object-oriented visual programming[J].Electric Power Automation Equipment,2001,21(3):20-22.(in Chinese)
[12]张凯华,郭运金,胡志博,等.Fortran与C#混合编程在卫星测高中的应用[J].计算机技术及发展,2014(5):48-52.ZHANG Kaihua,GUO Yunjin,HU Zhibo,et al.The application of mixed-language programming of Fortran and C#in satellite altimetry[J].Computer Technology and Development,2014(5):48-52.(in Chinese)
[13]王健,王晓放,孙静远.对凝汽器附加流体消能软件的编程和开发[J].电站辅机,2011,32(2):6-10.WANG Jian,WANG Xiaofang,SUN Jingyuan.Software programming&developing for energy removing with high-energy fluid in a condenser[J].Power Station Auxiliary Equipment,2011,32(2):6-10.(in Chinese)
[14]于淑梅,张文宝.电厂热力系统分析方法的研究现状及发展趋势[J].节能技术,2006,24(6):534-537.YYU Shumei,ZHANG Wenbao.The art of state and development on thermo-economic analysis methods for power plants[J].Energy Consenation Techriology,2006,24(6):534-537.(in Chinese)
[15]焦树建.论余热锅炉型联合循环中三压无再热的余热锅炉之特性与汽轮机特性的优化匹配问题 [J].燃气轮机技术,2001,14(3):10-16.JIAO Shujian.On the question of optimal characters matching between triple pressure non-reheat HRSG and ST in CC of HRSG type[J].Gas Turbine Technology,2001,14(3):10-16.(in Chinese)
[16]程瑞罡.面向对象技术在透平机械装置性能评估系统中的应用研究[D].大连:大连理工大学,2010.CHENG Ruigang.Application of object-oriented technology for turbo machinery performance evaluation system research[D].Dalian:Dalian University of Technology,2010.(in Chinese)