1 引言
由于近年來電廠引入市場競爭機制,發(fā)電企業(yè)之間的競爭越來越激烈,因而降低成本,提高效能成為電力企業(yè)發(fā)展的第一要素。通過采用計算機監(jiān)測系統(tǒng),對機組進行實時性能計算和能耗分析,可以了解運行指標的煤耗差的大小和分布情況,指導(dǎo)運行人員實時調(diào)整運行參數(shù),提高熱經(jīng)濟性,從而降低機組的發(fā)電成本,增強電廠的競爭力。
目前中國大多數(shù)電力企業(yè)采用的是C/S(Client/Server)模式的經(jīng)濟指標在線監(jiān)測系統(tǒng),但是隨著企業(yè)規(guī)模的擴大,C/S模式暴露出許多問題,諸如,移植性差,維護復(fù)雜,模塊性差等一系列的問題。而采用B/S(Browser/Server)模式則可以很好的克服C/S模式下的缺點,因而逐漸成為電力企業(yè)經(jīng)濟指標在線監(jiān)測系統(tǒng)的發(fā)展方向。
2 系統(tǒng)功能
(1) 信息顯示和查詢模塊
實時和歷史信息瀏覽是B/S結(jié)構(gòu)的電廠在線監(jiān)測系統(tǒng)最主要的功能。該功能保證用戶在客戶機上通過瀏覽器直接獲得有關(guān)系統(tǒng)的實時和歷史信息。具體的信息表現(xiàn)方式是讓實時趨勢圖和歷史趨勢圖以曲線的形式直觀的在客戶端顯示,同時可以查詢?nèi)我粫r間的各種經(jīng)濟指標數(shù)據(jù)。
(2) 在線熱力系統(tǒng)經(jīng)濟性分析模塊
在線熱力系統(tǒng)經(jīng)濟性分析是B/S結(jié)構(gòu)下的電廠在線監(jiān)測系統(tǒng)的增強功能。該功能由在線熱力系統(tǒng)經(jīng)濟指標計算和熱耗偏差分析組成。其實現(xiàn)是在獲得了系統(tǒng)的實時數(shù)據(jù)后,通過建立針對具體熱力系統(tǒng)的狀態(tài)計算、分析模型和優(yōu)化參數(shù)搜索模型,進行在線的系統(tǒng)熱耗計算和偏差分析,從而實現(xiàn)經(jīng)濟運行的在線指導(dǎo)。
(3) 競價上網(wǎng)模塊
計算單元機組的標準發(fā)電成本、供電成本,分析成本變化規(guī)律,為管理部門分析成本構(gòu)成提供有效依據(jù),使管理者能夠開源節(jié)流,去除不必要的成本開支,增加經(jīng)濟效益。
(4) 設(shè)備運行狀態(tài)監(jiān)測模塊
該功能主要反映設(shè)備的當前狀態(tài),為檢修提供必備的信息。
(5) 報表生成及打印模塊
基于每天和每月各種數(shù)據(jù),由在線實時參數(shù)計算出經(jīng)濟指標如鍋爐效率、汽輪機效率、管道效率、發(fā)電煤耗率、廠用電率、端差、磨煤機、給水泵單耗等,并人工輸入煤質(zhì)分析結(jié)果,形成全廠日報表、月報表和煤質(zhì)分析單。按照電廠規(guī)定格式打印上報有關(guān)部門,同時供領(lǐng)導(dǎo)查詢和考核。
(6) 值間經(jīng)濟指標競賽模塊
按照電廠制定的“值際安全經(jīng)濟指標競賽辦法”,統(tǒng)計各值每月完成的生產(chǎn)技術(shù)指標,并計算與規(guī)定額定值或者月度平均值的偏差。打出每個值的分數(shù),供考核評比。
3 系統(tǒng)結(jié)構(gòu)
圖1 B/S模式的在線監(jiān)測系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)采用B/S三層體系結(jié)構(gòu)進行設(shè)計。B/S三層體系結(jié)構(gòu)分成表示邏輯層、應(yīng)用邏輯層和數(shù)據(jù)服務(wù)層,其中表示邏輯層(客戶端)為用戶提供應(yīng)用界面,完成數(shù)據(jù)輸入、輸出和一般的數(shù)據(jù)處理任務(wù);應(yīng)用邏輯層(中間層)為客戶端提供程序調(diào)用的應(yīng)用邏輯規(guī)則,以完成其應(yīng)用操作并提供服務(wù),同時負責連接數(shù)據(jù)服務(wù)層的數(shù)據(jù)庫;數(shù)據(jù)服務(wù)層負責儲存、管理數(shù)據(jù),可用一些存儲過程、觸發(fā)器保證數(shù)據(jù)的完整性和一致性。該系統(tǒng)的具體組成及原理如圖1所示。
數(shù)據(jù)采集系統(tǒng)完成現(xiàn)場各種信號的數(shù)據(jù)采集、信號調(diào)理、特征運算與顯示等功能。
數(shù)據(jù)倉庫系統(tǒng)主要實現(xiàn)B/S模式的電廠在線監(jiān)測系統(tǒng)所需的實時信息的采集。數(shù)據(jù)倉庫系統(tǒng)的功能就是從數(shù)據(jù)采集系統(tǒng)中獲取實時數(shù)據(jù);并為Web服務(wù)提供相關(guān)的數(shù)據(jù)記錄。
客戶端和Web服務(wù)器通過局域網(wǎng)實現(xiàn)了Internet/Intranet服務(wù),網(wǎng)絡(luò)上客戶端的發(fā)出請求時,Web服務(wù)器從數(shù)據(jù)倉庫獲得信息,并根據(jù)客戶端的瀏覽請求和查詢請求,對信息進行加工后返回給客戶端。
這種B/S結(jié)構(gòu)主要有以下優(yōu)勢:
(1) 簡化了客戶端。無需不同的客戶機上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件;
(2) 簡化了系統(tǒng)的開發(fā)和維護。系統(tǒng)的開發(fā)者無需再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序,所有的功能都在Web服務(wù)器上實現(xiàn),就不同的功能為各級別的用戶設(shè)置權(quán)限就可以了;
(3) 使用戶操作變得更簡單。客戶端只是一個簡單易用的瀏覽器,使用者不需要接受專門的培訓(xùn),就可直接使用。
4 系統(tǒng)實現(xiàn)
4.1 客戶端開發(fā)
客戶端界面設(shè)計基于簡單、實用、大方的原則,讓用戶使用起來方便、易用。本系統(tǒng)采用HTML與Javascript語言相結(jié)合。由于要頻繁的切換顯示各種數(shù)據(jù),因而使用HTML語言中的Frame語言進行界面的框架設(shè)計,這樣可以提高頁面的速度。而由Javascrit語言編寫樹狀菜單,可以方便的進行各種數(shù)據(jù)的查詢。具體開發(fā)工具是Dreamweaver2004與編寫語言代碼相結(jié)合。
4.2 服務(wù)器端開發(fā)
(1) 服務(wù)器端開發(fā)工具
服務(wù)器端采用的是JSP語言。JSP是Sun公司推出的新一代站點開發(fā)語言,它完全解決了目前ASP、PHP的一個通病―腳本級運行,實現(xiàn)了編譯運行。JSP將網(wǎng)頁的表現(xiàn)形式和服務(wù)器端的代碼邏輯分開。服務(wù)器在接收到客戶端的JSP頁面請求后,首先由JSP引擎將頁面代碼轉(zhuǎn)換為Servlet代碼,然后由服務(wù)器上的Java編譯器對轉(zhuǎn)換的Servlet代碼進行編譯,再由Java虛擬機執(zhí)行編譯后得到的字節(jié)碼,并把結(jié)果傳給客戶端,這樣就完成了一次連接。由于JSP頁面的內(nèi)置腳本語言是基于Java語言的,而且所有的JSP頁面都被編譯成為JavaServlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲管理和安全性,“一次編寫,各處運行”等特點。
在本系統(tǒng)中,采用的是JSP+JavaBean技術(shù)。JSP頁面獨自響應(yīng)請求并將處理結(jié)果返回客戶。所有的數(shù)據(jù)通過JavaBean來處理,JSP實現(xiàn)頁面的表現(xiàn)。這樣就實現(xiàn)了頁面的顯示與頁面的內(nèi)容的分離,也為JSP應(yīng)用帶來了更多的可伸縮性。
(2) 數(shù)據(jù)庫連接技術(shù)
數(shù)據(jù)庫是該系統(tǒng)的核心內(nèi)容,JSP對數(shù)據(jù)庫的訪問主要是通過JDBC來實現(xiàn)的。很多數(shù)據(jù)庫都帶有JDBC驅(qū)動程序,Java程序就是通過JDBC驅(qū)動程序與數(shù)據(jù)庫連接,進行數(shù)據(jù)的查詢、提取等操作。在本系統(tǒng)中,數(shù)據(jù)庫采用的是Oracle9i,該數(shù)據(jù)庫自帶JDBC驅(qū)動程序,因此可以方便的連接上數(shù)據(jù)庫。下面是連接數(shù)據(jù)庫的主要程序:
…………
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:oci8:@jingyuan";
String uid="sea";
String pwd="sea";
Connection con = DriverManager.getConnection(url,uid,pwd);
Statement stmt=con.createStatement();
ResultSet rst=stmt.executeQuery("select * from baobiao");
while(rst.next())
{
out.println("<tr>");
out.println("<td>"+rst.getString("……")+"</td>");
………..
out.println("</tr>");
}
rst.close();
stmt.close();
con.close();
…………
由于數(shù)據(jù)庫連接的建立和關(guān)閉對系統(tǒng)而言是耗費系統(tǒng)資源的操作,在多層結(jié)構(gòu)的應(yīng)用程序環(huán)境中,這種耗費資源的動作會造成系統(tǒng)的性能低下。因此,在本系統(tǒng)中運用了連接池技術(shù),即在應(yīng)用程序啟動時建立足夠的數(shù)據(jù)庫連接,并將這些連接組成一個連接池,由應(yīng)用程序動態(tài)地對池中的連接進行申請、使用和釋放。這樣就盡可能地重用了消耗內(nèi)存的資源,大大節(jié)省了內(nèi)存,提高了服務(wù)器的服務(wù)效率,能夠支持更多的客戶服務(wù)。
使用數(shù)據(jù)源:
…
try
{
Context context = new InitialContext();
DataSource dataSource=(DataSource)context.lookup(“jdbc/jingyuan”);
}
catch(NamingException)
{
// 處理程序
}
…
建立連接:
Connection con=ds.getConnection(”user”,”pwd”);
…
(3) 數(shù)據(jù)的曲線顯示技術(shù)
本系統(tǒng)要實現(xiàn)數(shù)據(jù)的實時的曲線顯示,這樣可以直觀、快捷的顯示各種數(shù)據(jù)之間的關(guān)系。由于網(wǎng)絡(luò)傳輸?shù)南拗疲诜?wù)器端生成圖片傳輸?shù)娇蛻舳藢崿F(xiàn)起來比較困難。因此采用從JSP頁面提取數(shù)據(jù)到客戶端,客戶端通過Java Applet生成實時的數(shù)據(jù)曲線。
Java Applet是由面向?qū)ο笳Z言Java開發(fā)的小應(yīng)用程序。與Web瀏覽器緊密結(jié)合,以擴展Web瀏覽器的功能,完成數(shù)據(jù)操作和處理。在Applet中可以使用getParameter()方法從指定的變量處獲值。數(shù)據(jù)從JSP頁面?zhèn)鬟f給Java Applet可以用如下方法:
< Applet code= *.class width= w height=h codebase=? Name=? Align=? >
< para name=size value=? >
< /Applet>
其中code為Applet的類名,para name為傳入Applet的參數(shù)。
由于系統(tǒng)要動態(tài)顯示實時的曲線,因而系統(tǒng)需要定時刷新界面,本系統(tǒng)采用線程來實現(xiàn)動態(tài)功能。使用線程系統(tǒng)在提高實時信息系統(tǒng)的輸入/輸出速度、有效利用系統(tǒng)資源、改善計算機通信功能方面顯示出很大優(yōu)勢。
(4) 數(shù)據(jù)庫的設(shè)計
本系統(tǒng)采用與電廠的MIS(管理信息系統(tǒng))共用Intranet網(wǎng)絡(luò)和數(shù)據(jù)庫,充分利用該電廠MIS系統(tǒng)資源,省去了有關(guān)硬件的開發(fā)部分,直接通過MIS來實現(xiàn)對實時參數(shù)的快速、準確獲取。由于電廠MIS的數(shù)據(jù)庫類型為Oracle,因此本系統(tǒng)在開發(fā)階段也采用同樣的關(guān)系數(shù)據(jù)庫管理系統(tǒng),并且在數(shù)據(jù)庫服務(wù)器中建立自定義的4個庫表,分別為“指標值表”、“額定值表”、“實測值表”和“歷史值表”,與從電廠備份來的MIS數(shù)據(jù)庫表構(gòu)成開發(fā)時的數(shù)據(jù)庫平臺。程序在現(xiàn)場調(diào)試和最終投入實際運行時,這4個表仍然包含于MIS系統(tǒng)的Oracle數(shù)據(jù)庫中。
從MIS系統(tǒng)數(shù)據(jù)庫中各個不同的庫表中的實時數(shù)據(jù)讀出后送入“實測值表”,“額定值表”中存有系統(tǒng)運行時相對不變的參數(shù),由實時計算程序計算出的結(jié)果將存放在“指標值表”,而“歷史值表”將實時采集的數(shù)據(jù)保存。
5 結(jié)語
經(jīng)過系統(tǒng)分析、結(jié)構(gòu)設(shè)計以及技術(shù)選擇等各方面的工作,完成了B/S模式的經(jīng)濟指標在線監(jiān)測系統(tǒng)的開發(fā),其功能基本滿足了電廠在線監(jiān)測經(jīng)濟指標的要求。該系統(tǒng)能夠克服了C/S模式的不足,給電廠的經(jīng)濟指標的監(jiān)測帶來了極大的方便。同時也體現(xiàn)在JSP技術(shù)在開發(fā)B/S模式的信息管理系統(tǒng)的巨大的優(yōu)勢和潛力。