摘要:本文介紹了應用Excel來實現對MW風力發電機組運行數據處理的自動化和數據管理的計算機化,輔助完成MW風力發電機組數據處理工作,來克服用傳統方式處理風機運行數據時,計算繁瑣、重復性工作多、精度低等缺點。
關鍵詞:MW風力發電機組;數據處理;DELPHI;EXCEL;ADO
中圖分類號:TP274文獻標識碼:A文章編號:1009-3044(2008)17-21526-03
1 前言
在對風機每周運行數據的處理中,各種數據繁多,而且報表數量多。風機運行所得的大量數據一般先要經過計算,然后填寫相應的報表或運行報告,對于某些運行數據還需要根據實時檢測數據作圖或繪制曲線。用傳統的手工方式處理數據不僅計算繁瑣、重復性工作多,而且作圖誤差大、精度低。而借助計算機編制相應的程序則可以方便地實現對試驗數據處理的自動化和數據管理的智能化。
2 MW小計算器的工作流程和主要功能
通過對MW機每周運行數據手工處理方式的模擬與分析,確定了本系統的數據處理流程。MW機運行數據處理系統的主要功能是根據風機數據采集軟件采集的數據,實現對每周風機運行的相關數據的自動計算、自動繪制曲線、自動生成報表以及數據管理。具體功能如下:
1)計算功能。根據風機數據采集軟件采集的以文本文檔存儲的數據按照便于分析風機運行情況、分析風機故障情況、統計風機產能情況、統計風場的風速等要求自動計算出相應的結果,如周平均風速、天平均功率、每天風機運行時間等。
2)圖形功能。根據風機數據采集軟件采集的數據和本小計算器計算的一些結果繪制相應的圖形圖表,給分析風機運行情況和風機產能等提供直觀的基礎資料。
3)報表功能。將界面上的風機運行數據等以報表形式顯示,用戶對該報表可進行預覽、調整或打印等,這個功能在現在MW機的每周報表匯報中還沒有具體的硬性要求。但是能為我們對風機運行情況的分析是很有幫組的。
4)數據管理功能。保存各個風機運行數據和計算所得結果,對眾多報表及故障信息進行匯總、統計、查詢等,這個功能在現在MW機的每周報表匯報中還沒有具體的硬性要求。
3 MW小計算器的開發
MW小計算器開發包括:應用程序界面層開發、數據庫的創建和風機運行數據的具體運算處理。系統采用Delphi7.0作為應用程序界面層開發工具,Excel作為報表輸出環境,MicrosoftAccess2000作為數據庫管理系統。
3.1 開發語言
Delphi作為一種快捷應用程序開發工具,采用面向對象的編程語言Object Pascal和基于構件的開發結構框架,具有高度的模塊化和可視化等特點。Delphi還具有強大的數據存取功能,它的數據處理工具BDE既可以用來處理當前流行的數據格式,如x Base、Paradox等,又可以通過BDE、ADO等的SQL Link直接與SQL Server、Oracle等大型數據庫鏈接。Excel作為一種常用的辦公自動化軟件,具有功能強大、操作方便、易學易用等特點,一般人可以很快掌握基本的操作,而無須經過培訓。Excel本身具有腳本支持、模板支持、格式、版式設計等諸多功能,而這些功能特別便于進行報表的生成和編輯等操作。
由于Delphi支持Windows的0LE技術,從而為用戶提供了能夠充分利用現有資源的集成環境。利用Delphi靈活強大的編程能力和Excel強大的排版功能,將二者結合起來,實現優勢互補,就極大地提高了編程效率,減小了編程工作量。
3.2 MW小計算器圖表的設計
MW風機運行數據報表中要用到的一些報表,并且同一格式的圖表反復使用。因此,系統采用模板的方式在Excel中生成報表。首先根據報表的規定格式,利用Excel自身具有的宏、VBA等技術對每一個試驗編寫一個規范的報表模板,并以文件的形式保存到系統的特定文件夾中。然后在Delphi應用程序中啟動Excel,在生成報表之前復制報表模板文件,形成報表模板附件。系統在完成試驗數據具體運算后,用Delphi編寫相應的程序將數據庫中的數據導入模板附件相應的表格中。用戶可以在Excel中調整、打印報表。表頭格式設計采用獨立的模板形式。通用報表一般都具有固定的形式,表頭大都是不變的。系統具有智能記憶功能,表頭信息首次輸入后自動保存,在使用過程中可直接調用,減少輸入工作量。這樣既保證了輸入的效率,又不失其通用性。
3.3 數據庫的建立
系統采用Microsoft Access2000作為數據庫管理系統,數據保存采用表文件的形式,其中每一張表文件對應MW風機每周的運行數據和相應的數據處理圖表等結果。通過對MW風機MW每周運行數據和數據處理的要求的分析,利用Access2000表設計器建立了如下幾種不同功能的數據表:
1)風機運行數據存儲表。用來存儲用每周風機運行數據。
2)根據數據生成的各種報表。包括MW機運行操作記錄表,MW機葉輪轉速和加速度曲線報表,平均功率和風機各個部件的溫度曲線報表,MW風機功率曲線。
MW風機運行故障信息數據報表。
3.4 MW機運行數據的具體計算處理
風機運行數據報表的處理涉及一些數學計算過程,重復性計算多。因此利用函數的形式可以加大代碼的重用性。風機運行數據處理所用到的函數過程可以分為三種:
①為報表需要,根據一些公式直接編寫的函數或過程。
②對于數據處理中需要查找的一些經驗數值和校正系數,如聯合分析法中比重計校正值,這些數據存儲在數據庫中,可以編寫一個通用的過程和一個插值函數來實現。
③對于數據處理中要對計算出的數據繪制圖表的時候采用excel的宏,并且編寫成函數或過程。
將風機運行數據處理中需要用到計算方法等編寫成函數或過程,以便在其它程序中直接申明即可調用,而無需重寫代碼,完成對試驗數據的處理。這樣可以加大代碼的重用性,并且當風機運行數據或者報表需求改變時,只需對函數或者過程中的數學算法做出修改。
4 MW小計算器軟件的介紹
系統開發運用面向對象編程(OOP)的設計方法,具有模塊化,易于擴充和維護。主要的模塊包括:運行數據的導入、編輯、計算、生成圖表、幫助。 本MW小計算器,操作簡單方便。圖1為作者所開發的小計算器的計算模塊工作界面,用戶在界面中點擊“打開”按鈕,導入要分析分析處理的風機運行數據。然后點擊“計算平均風速、產能、發電時間”按鈕,系統自動計算平均風速、風機的產能、風機的發電時間并顯示結果,如圖2所示。點擊“計算風段平均功率”按鈕,系統自動計算每個出風段的平均功率,如圖3所示。
計算器的計算模塊主要利用DELPHI控件ADO的強大功能來直接調用Excel,從而可以把Excel中的數據像數據庫中的數據一樣進行操作,方便計算出風機每周數據報表中需要的數據。ADO連接Excel的程序為:
ADOConnection1.Connected:=1;
ADOConnection1.Provider:='Microsoft.Jet.OLEDB.4.0;DataSource='+edit1.text+';
Extended Properties=EXCEL 8.0;Persist Security Info=False';
ADOQuery1.ConnectionString:=ADOConnection1.ConnectionString;//連接Excel
ADOConnection1.Connected:=true;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from [10 min data$]');//風機每周報表的10分鐘檢測數據表
ADOQuery1.Open;
當圖表模塊根據連接的數據表繪圖時,采用類似Excel宏的語句來完成圖表的的繪制,具體做法是在Excel中新建一個宏錄制出繪制圖表的一般過程,然后打開宏,將相應的宏語句按照我們處理風機運行數據的要求轉化為DELPHI函數,然后在DELPHI中調用,就能完成我們預定的圖表處理功能。圖4為DELPHI函數在Excel中繪制的風機的功率曲線。
5 結束語
MW機運行數據處理小計算器的開發立足于風機每周數據報表實際工作的需要,方便地實現了對風機運行數據的自動處理、管理、統計等功能,有效地提高了報表處理人員的工作效率。作者開發的該計算器操作方便,計算結果可靠,具有一定的實用性。
參考文獻:
[1] 李奘.DELPHI入門與提高[M].中國鐵道出版社,2004.
[2] 東方人華.Excel范例入門與提高[M].清華大學出版社,2004.
[3] 馬振萍.巧學巧用Excel 2007統計分析范例[M].電子工業出版社,2007.
[4] 杜茂康.Excel與數據處理[M].電子工業出版社,2006.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文