曹德平
(湖南華電長沙發電有限公司,湖南 長沙 410203)
入爐煤化驗數據的準確性不僅關系到火力發電企業的節能增效以及機組的安全、穩定運行,更是入爐煤摻配摻燒工作和入廠煤監督工作的重要參考依據。入爐煤化驗專業每天需定期上報的紙質報表和網上報表多達幾十份,繁雜的數據極易造成報出錯誤。入爐煤化驗數據統計量大,有值內數據的加權平均、日內數據的加權平均,甚至為了對標管理、小指標競賽和與入廠煤熱值差計算,需要月內數據分值加權平均或更長時間段的加權平均。DL/T 904—2004《火力發電廠技術經濟指標計算方法》中關于入廠煤與入爐煤熱量差、入廠煤與入爐煤水分差等的計算,都明確規定必須用加權平均值,而各個電廠往往因某些原因無法進行加權平均統計,很多相關工作無法按國標開展。當然也有利用Excel對入爐煤數據進行處理的優秀經驗[1],但統計過于局限,而且數據修約根本無法完成。為保證化驗記錄健全、工作任務簡化以及統計數據精確、可靠、安全、完整,湖南華電長沙發電有限公司基于Visual Basic開發了一套實用的入爐煤數據管理系統。
根據需要建立Data_base.mdb數據庫,數據庫中建立4個數據表,分別為UserInfo、值內單樣表、值內加權平均表和日綜合分析表,各數據表結構見表1、表2。

表1 UserInfo數據表結構

表2 值內單樣表、值內加權平均表和日綜合分析表結構
系統采用MDI窗體形式,設計母窗體1個、子窗體11個,見表3。主窗體及錄入界面截圖如圖1所示。

表3 入爐煤數據管理系統窗體
系統中需要多次與數據庫交互,建立統一的數據庫訪問函數是最切實際的方法[2]。為此,筆者建立了如下數據庫訪問函數,放在公共模塊中。



圖1 入爐煤數據管理系統主窗體及數據錄入子窗體
另外,數據修改界面用到Data Grid表格,選用ADODC控件更為方便。
因為每個煤樣的上煤量不同,因此,多個煤樣各個指標的加權平均不能以簡單的指標平均值進行計算[3]
多個煤樣某項指標加權平均=∑(煤樣指標大小×煤樣數量)/∑煤樣數量。
先從數據庫中查詢到相關的煤樣,經用戶確認煤樣正確后,找到指標和煤樣數量相關字段進行相關處理即可。
定義rs為查詢到的相關記錄,rs1為加權平均記錄,定義a(15,rs.RecordCount)存儲中間變量,其中a(6,rs.RecordCount)存儲上煤總量,以計算收到基低位發熱量(Qnet.ar)為例,計算如下

其中,FormatXY為自定義格式函數,實現“四舍六入五成雙”數字修約規則,中間變量采用二維數組,是為了和相關報告單煤樣數據一一對應,生成報表時更加方便。
湖南華電長沙發電有限公司每個入爐煤樣都有統一規定的密碼,例如L101205A:L代表入爐煤樣;101205代表2010年12月5日;A(或B,C)代表早班(或中班、晚班)。密碼是數據查詢的依據,從密碼可以分析出煤樣的日期及煤樣的值別、班別等重要信息,也是實現按值加權平均統計的基礎,因此,錄入數據庫系統時絕不能出錯。系統會根據當前時間自動生成相應的密碼,不需要人工輸入,以減小錯誤幾率;同時,設計密碼判斷函數,對密碼的全角/半角、大寫/小寫、各位字母、各位數字范圍等加以判斷,當數據錄入數據庫時提前判斷,函數聲明如下:
Public Function isrightpassword(ByVal txtmima As String)As Boolean
為了使軟件更具人性化,在調出數據錄入界面時,除密碼以外,報告日期、制樣時間,煤樣代表日期、采樣方式等均會自動填入符合本值的相關信息。同時增加了數據修改界面,不僅能對自己錄入的數據進行修改,而且只要修改1個數據,與計算公式相關聯或數據表相關聯的所有數據均會一次全部修改。所有數據錄入系統前均會進行初步格式判斷,自動提示錯誤。為了方便操作及保證安全,還增加了托盤功能、目錄樹功能以及非管理員的權限限制。
月度數據按值加權平均,需要將錄入系統的所有煤樣按值分類,然后分別進行加權平均統計。按值分類比較困難,實現的方法有3種:一種是根據用戶分值,但化驗員換班會導致出錯;另一種方法是在錄入數據界面增加值別一欄,但由于每次煤樣代表值不固定,很容易出錯;第3種方法是從密碼分離出值別,根據倒班的規律完全可以做到。函數聲明如下:
Public Function meiyangzhi(myzmima As String)As Integer
參數:煤樣值密碼;返回煤樣值值別。用這種高度集成的函數,不僅減少了工作量,減少了出錯幾率,后期維護也十分方便,編程調用十分簡單。例如,要獲取每值當月的煤樣數,定義numMSH(1 To 5)存儲(下標為值別),代碼非常簡潔:

從統計學與分析化學的角度來說,數字修約都要求遵循“四舍六入五成雙”(也稱“四舍六入五湊偶”)的規則[4-5],而不是傳統的“四舍五入”。在大量運算時,“四舍六入五成雙”使測量結果受到舍入誤差的影響降到最低,舍入后的結果誤差的均值趨于零,而不是像四舍五入那樣逢五就入,導致結果偏向大數,使得誤差積累進而產生系統誤差。為此,在系統中根據需要設計了如下函數:
Public Function FormatXY(ByVal a As Double,b As String)As String
函數功能:a為要修約的原數據;b為格式要求,取“0.0”,“0.00”,“0.000”等數,以同標準 Format函數格式相呼應。
系統能自動產生3種報表:入爐煤質值報告單、入爐煤質日報告單、入爐煤質_年_月分值加權平均統計報告單,均采用Excel實現。值報告單按月存放,每值1個工作簿,日報告單每月1個工作簿,每日建立1個工作表,均可建立標準Excel模板,再使用復制、粘貼、修改等方法編程,或建立生成Excel文件的Public過程,再調用。
基于VB的入爐煤數據管理系統在湖南華電長沙發電有限公司已成功應用,繁瑣的入爐煤數據加權統計鼠標一“點”即成,復雜的數據報表鼠標一“擊”即可,數據管理更加科學、快捷、規范。
[1]楊斌.Excel在電廠入爐煤報表中的應用[J].中國科技博覽,2009(31):91.
[2]斯琴巴圖,楊利潤.零基礎學 Visual Basic[M].北京:機械工業出版社,2008.
[3]曾慶云.統計指標中加權平均數的權數的認識[J].時代經貿,2010(8):243.
[4]鄒翔.淺談分析化學中的有效數字[J].科技信息,2008(5):171.
[5]邱貞生.基于VB實現房產測量的數據管理[J].吉林地質,2010(1):153-155.