摘要:
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控件簡單實用、運行穩定,對延長機組的壽命起到了一定的作用,對開發其他的電子商務、工業監控系統也具有一定的參考價值。