摘要:
0引言
寿命管理是指以机组经济地实现其服役全寿命为目标,在对设备状态进行监测和评估的基础上优化设备运行与维修管理的新技术。火电机组的寿命取决于其zui薄弱部分的寿命,因此,研究和改善汽轮机转子和汽缸的寿命管理是加强火电机组寿命管理的重要组成部分。
以往的汽轮机寿命管理系统大多是两层应用程序,即只有数据层和计算层。这就需要将计算程序安装到每一个客户端上,程序的维护和使用不方便,而且需要在客户端占用很大的资源。作者引入microsoft的activex技术,另外加一个表示层,将要显示的程序界面做成activex控件在internet上发布,这样,只需将计算程序放在服务器上,而客户端不用再安装计算程序,使用web浏览器(如internetexplorer)即可查看所要的程序界面,克服了以往汽轮机寿命管理程序的缺点。
1系统的总体内容和结构
1.1系统的主要内容及功能
系统主要包括3个方面的内容:
a.汽轮机主要部件的信息库:包括部件的编码、部件的名称、部件所在的位置、部件的重要程度等部件信息,供用户方便地通过web页浏览、查询;
b.汽轮机转子的寿命状态在线监测系统:对机组在运行过程中(特别是启停、变负荷等过程)转子的温度和热应力进行监测,使机组在合理的水平下运行,zui大限度地提高转子的使用寿命;
c.汽轮机汽缸寿命状态在线监测系统:对机组在运行过程中(特别是启停、变负荷等过程)汽缸的温度和热应力进行监测,使机组在合理的水平下运行,zui大限度地提高汽缸的使用寿命。
整个系统所能实现的功能为:
a.指导运行人员进行合理操作,达到安全的目的;
b.使管理人员能够了解某一段时间内机组的运行情况;
c.定期对机组的启停、运行进行合理性评估,对以后运行及维修起指导作用,对有些确实按照调度要求运行而又不合理的地方,可以根据运行曲线和分析报告向调度人员反映,以便更改调度曲线,使运行更合理、经济。
1.2系统的总体结构设计
系统是一个典型的3层应用程序,包括数据层、逻辑层和表示层。其中:数据层利用sqlserver数据库来实现,主要有实时数据库、历史数据库、异常数据记录数据库、启动和停机过程数据库等;逻辑层是一个计算程序,它从数据库中取得数据,计算机组在启停、变负荷时转子和汽缸的温度场、应力值、寿命损耗和累计寿命损耗等,并将计算结果保存到数据库中;表示层是将要显示的界面做成activex控件,放在web服务器上,这样就可以在客户端使用web浏览器查看机组在启停或变负荷时转子和汽缸的温度场、应力值以及每一次启停或变负荷时转子和汽缸的寿命损耗和累计寿命损耗。系统整体结构如图1所示。
2系统功能的具体实现
2.1数据层的实现
数据层存放在数据库服务器上,可以与计算服务器在同一计算机上,主要存放采集数据的数据表、一些需要显示数据的数据表、关键数据的数据表以及异常数据的数据表,为计算层和表示层提供数据。
2.2逻辑层的实现
现代应力分析技术已经有能力采用三维非定常有限元方法详细分析汽轮机启停和变负荷过程中转子的瞬态温度分布和所承受的应力,然后根据材料和疲劳曲线确定转子的寿命损耗,但这种的分析方法不能适应汽轮机在电厂实际运行过程中实时运算的要求。为此,采用一种适用于现场的寿命损耗监测系统,它由测点传感器、计算机和寿命分析软件组成,事先由离线的汽轮机转子有限元法进行计算,找出热应力zui大的地方和应力集中系数,然后对应力zui大的截面进行在线监测,测取该部位的有关参数,用一维模型进行在线应力计算,再用应力集中系数对热应力进行修正,得到相应该时刻在该截面的热应力,zui后按材料的疲劳曲线估计寿命损耗。
目前,国内进行转子热应力在线计算大致有3种简化公式:一维解析法、一维差分法和控制模型法。本系统采用一维差分法进行转子热应力计算[1]。计算程序存放在计算服务器上,可以完成数据采集、应力计算、寿命管理、启动指导、追忆等功能。
2.3表示层原理与系统实现
activex技术是microsoft提供给广大开发人员把计算机桌面环境与internet及其大量资源集成起来的技术。它使用com使得组件在网络环境中可以进行交互,而与具体的编程环境无关。
activex既包含服务器端技术,也包含客户端技术,其主要内容为:
a.activex控件:用于向web页面和支持activex的容器插入的com对象。
b.activex文档:用于在web浏览器和其他支持activex的容器中浏览复合文档(非html文档),例如word文档、excel文档等。
c.activex服务器框架:提供了一系列针对web服务器应用程序的设计各个方面的函数及其封装类,诸如服务器过滤器、html数据流控制等。
通俗地说,activex技术就是将需要浏览的一些界面程序或程序块按照activex规定的要求编制,这些程序通常是以exe,dll,ocx文件存放在服务器中。与其他类型控件的zui大区别在于,activex控件可以嵌入web页中,当用户访问嵌有activex控件的web页面时,activex控件就被下载到客户端运行[2]。
开发activex控件不受语言的限制,使用vc,vb,delphi,c++builder都可以用来开发activex,而且各有其优缺点。本文推荐使用c++
builder开发activex控件,利用c++builder可以开发一种叫做activeform的控件,它实际上也是一种activex控件,只是activeform本身又是一个activex控件容器,其开发过程与开发普通的c++builder应用程序基本相同。
使用activex控件通常会遇到以下问题:
a.通常所做的activex控件都比较大,这样在打开页面时下载速度会比较慢,为了提高activex控件的下载速度,可以将activex控件压缩成cab格式,这样可以大大减小activex控件的大小,提高下载速度。在c++builder中只需在webdeploymentoptions对话框中选中usecabfilecompression选项即可。
b.由于activex存在一些安全隐患,故在activex第1次下载时,浏览器可能会阻止其下载,需要把客户端浏览器的安全等级设为“无”。
3应用实例
以上海某电厂的汽轮机转子寿命管理系统为例说明该方法的应用。该系统是整个汽轮机寿命管理系统中zui重要、zui典型的一部分。
数据层采用sqlserver7.0,存放了采集来的数据如运行参数等,以及由计算层计算出的需要显示的数据,如内外壁的热应力、转子启停的寿命损耗等。
计算层采用vc编程,通过数据层中的采集数据利用上文提到的一维差分法对转子进行温度场和热应力的计算,从而进一步计算出转子每一次启停的寿命损耗以及累计寿命损耗,并把计算得到的结果保存到数据层的数据库中。
然后运用c++builder将要显示的界面做成一个activex控件,把要显示的数据以数字、曲线、棒图的形式直观地显示出来。由于大多数要显示的数据都是动态的,所以需要不断刷新界面,系统中数据的更新采用一个定时器定时通过ado接口从数据库更新数据,屏幕上则采用背景色填充的方法将以前的内容覆盖后重绘。
使用c++builder完成一个activex控件后,通常还需要对activex控件进行包装,即把它嵌入到html文件中[3]。这里,必须提供该ocx的ciassld和codebase。客户端浏览该页面时,会先在本地的注册表查找该classld,如果存在且版本无更新,则不必下载。否则,会按照codebase的路径搜索本控件并下载。调整activex控件界面大小和位置时可以使用microsoft提供的工具microsoftactivexcontrolpad来进行可视化调整。当需要更新控件时,只需要将做好的新的版本放在该控件以前所在的目录下,客户端便会重新对其下载。
web服务器使用microsoft的lis(internetlnformationservice)服务器,将嵌有activex的html文件放在服务器的相应虚拟目录下即可。
机寿命管理系统的实现方法,克服了以往表示层难以实现或web页下载速度慢的缺点。实践证明,用这种方法开发的activex控件简单实用、运行稳定,对延长机组的寿命起到了一定的作用,对开发其他的电子商务、工业监控系统也具有一定的参考价值。