內(nèi)蒙古工業(yè)大學(xué)能源與動(dòng)力工程學(xué)院 ■ 包道日娜 王歡 張曉陽 李恒 霍亞楠
中小型風(fēng)力發(fā)電機(jī)的測(cè)試系統(tǒng)可對(duì)環(huán)境溫度、大氣壓力、電壓、電流、功率等參數(shù)進(jìn)行測(cè)試[1]。根據(jù)IEC 61400-2標(biāo)準(zhǔn),在中小型風(fēng)力發(fā)電機(jī)的耐久性測(cè)試中測(cè)試時(shí)間長、測(cè)試數(shù)據(jù)大,因此需用數(shù)據(jù)庫來存儲(chǔ)大量數(shù)據(jù)以便后期進(jìn)行風(fēng)力發(fā)電機(jī)性能分析。本文選用Access數(shù)據(jù)庫作為數(shù)據(jù)存儲(chǔ)平臺(tái),其支持ODBC(開發(fā)數(shù)據(jù)庫互連),利用Access強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的連接和嵌入)特性,可建立動(dòng)態(tài)的數(shù)據(jù)庫報(bào)表和窗體等。
在風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)中,傳感器檢測(cè)到風(fēng)力機(jī)各個(gè)參數(shù)信號(hào),采集到的信號(hào)經(jīng)變送器、數(shù)據(jù)采集卡的A/D轉(zhuǎn)換等處理后進(jìn)入計(jì)算機(jī)[2]。LabVIEW本身并不具備直接訪問數(shù)據(jù)庫功能,不能像VB、VC那樣非常方便地進(jìn)行數(shù)據(jù)庫程序的開發(fā)與訪問。對(duì)此本文利用NI公司附加工具包中的數(shù)據(jù)庫接口工具包LabVIEW SQL Toolkit對(duì)數(shù)據(jù)庫進(jìn)行訪問[3]。
中小型風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)可對(duì)0~20 kW范圍的中小型風(fēng)力發(fā)電機(jī)性能進(jìn)行測(cè)試。中小型風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)包括軟件和硬件系統(tǒng),其中,硬件包括傳感器、變送器、測(cè)試箱、數(shù)據(jù)采集卡等,圖1為測(cè)試系統(tǒng)的硬件結(jié)構(gòu)圖。
圖1 測(cè)試系統(tǒng)的硬件結(jié)構(gòu)
傳感器把采集到的信號(hào),經(jīng)測(cè)試機(jī)箱將其轉(zhuǎn)變成電壓信號(hào)傳輸?shù)綌?shù)據(jù)采集卡,再通過數(shù)據(jù)采集卡傳輸?shù)诫娔X中的LabVIEW軟件上,將采集到的數(shù)據(jù)顯示在運(yùn)行界面并儲(chǔ)存到Access數(shù)據(jù)庫中。其中,測(cè)試機(jī)箱包括電壓傳感器、電流傳感器、大氣壓力傳感器、扭矩傳感器等。
首先應(yīng)對(duì)LabVIEW軟件平臺(tái)上的DAQ助手進(jìn)行設(shè)定,分別對(duì)其量程、信號(hào)連接方式進(jìn)行選擇通道數(shù)設(shè)置和最大采樣率的設(shè)定。在完成DAQ助手設(shè)定后,可對(duì)LabVIEW的模塊化設(shè)計(jì)思想進(jìn)行前面板控件和框圖程序數(shù)據(jù)流編程。其設(shè)計(jì)包括試驗(yàn)數(shù)據(jù)輸入及數(shù)據(jù)控制、數(shù)據(jù)管理(數(shù)據(jù)及時(shí)儲(chǔ)存、數(shù)據(jù)在線顯示、歷史數(shù)據(jù)查詢)、報(bào)表的生成并繪制曲線。圖2為測(cè)試系統(tǒng)總體框架。
圖2 測(cè)試系統(tǒng)總體框架
系統(tǒng)具有的主要功能為:1)控制DAQ卡的參數(shù)設(shè)置實(shí)現(xiàn)每秒一組數(shù)據(jù)連續(xù)采樣;2)試驗(yàn)項(xiàng)目運(yùn)行參數(shù)的輸入,軟件還設(shè)計(jì)了消除零點(diǎn)誤差,確保數(shù)據(jù)的準(zhǔn)確性;3)將測(cè)試數(shù)據(jù)按照IEC標(biāo)準(zhǔn)進(jìn)行修正,記錄各種重要的運(yùn)行參數(shù),生成數(shù)據(jù)報(bào)表;4)軟件與數(shù)據(jù)庫連接,并自動(dòng)把數(shù)據(jù)保存到Access數(shù)據(jù)庫中;5)在Access數(shù)據(jù)庫中隨時(shí)可查看和調(diào)用歷史數(shù)據(jù)。
1.2.1 風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)運(yùn)行界面設(shè)計(jì)
試驗(yàn)運(yùn)行界面如圖3所示。在試驗(yàn)前應(yīng)對(duì)試驗(yàn)運(yùn)行界面進(jìn)行現(xiàn)場(chǎng)設(shè)定,輸入風(fēng)機(jī)相應(yīng)的參數(shù)值,運(yùn)行試驗(yàn)臺(tái)可及時(shí)觀察風(fēng)機(jī)的各性能參數(shù)。運(yùn)行界面的各參數(shù)零點(diǎn)校正值,可對(duì)各參數(shù)進(jìn)行零點(diǎn)校正,確保測(cè)試數(shù)據(jù)的準(zhǔn)確性。
1.2.2 風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)程序設(shè)計(jì)
圖4為LabVIEW 測(cè)試程序與Access數(shù)據(jù)庫連接的示意框圖。
圖3 試驗(yàn)運(yùn)行界面
圖4 測(cè)試系統(tǒng)LabVIEW程序的示意框圖與Access數(shù)據(jù)庫連接圖
1)在信號(hào)采集區(qū)域,各傳感器把采集到的信號(hào)轉(zhuǎn)變成0~5 V或0~10 V的電壓信號(hào),傳輸?shù)紻AQ卡中。
2)在信號(hào)處理區(qū)域,把DAQ卡中信號(hào)每分鐘的平均值經(jīng)線性變換后將其輸出,或通過修正各個(gè)參數(shù)后再將信號(hào)輸出,輸出的各參數(shù)信號(hào)可直接顯示在運(yùn)行界面。
3)同時(shí)再通過數(shù)組值的捆綁,利用LabVIEW附加工具包中的數(shù)據(jù)庫接口工具包LabVIEW SQL Toolkit進(jìn)行編程,把捆綁好的參數(shù)傳輸?shù)揭呀ê玫腁ccess數(shù)據(jù)庫表名中,完成對(duì)數(shù)據(jù)的儲(chǔ)存。
中小型風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)中,采用數(shù)據(jù)庫技術(shù)可使數(shù)據(jù)保存得更加完整、安全,且操作簡易、便于存儲(chǔ),更符合實(shí)際運(yùn)用。
使用NI所提供的數(shù)據(jù)庫工具包Database Connectivity 只能操作數(shù)據(jù)庫,無法創(chuàng)建數(shù)據(jù)庫,因此需借助第三方數(shù)據(jù)庫管理系統(tǒng),如Access等來創(chuàng)建數(shù)據(jù)庫。
在LabVIEW中進(jìn)行創(chuàng)建表、添加、刪除試驗(yàn)數(shù)據(jù)的程序設(shè)計(jì)都是基于所建立的數(shù)據(jù)庫,若要LabVIEW程序運(yùn)行時(shí)能訪問Access數(shù)據(jù)庫,還需建立一個(gè)數(shù)據(jù)源。建立數(shù)據(jù)源主要有兩種方法。
首先LabVIEW數(shù)據(jù)庫工具包基于ODBC(Open Database Connectivity)技術(shù),在使用ODBC前,需提供數(shù)據(jù)源名DSN(Data Source Name)才能連接到數(shù)據(jù)庫。圖5為Database Connectivity工具包與ODBC的關(guān)系圖。
圖5 數(shù)據(jù)庫連接工具包與數(shù)據(jù)源管理器的關(guān)系
進(jìn)入ODBC數(shù)據(jù)源管理器,如圖6 “ODBC數(shù)據(jù)源管理器”對(duì)話框,在“系統(tǒng)DSN”頁面下創(chuàng)建數(shù)據(jù)源;完成創(chuàng)建后,在“用戶DSN”添加中的“創(chuàng)建新數(shù)據(jù)源”對(duì)話框選擇“Driver do Microsoft Access(*mdb)”, 如圖7所示;在“ODBC Microsoft Access安裝”對(duì)話框,輸入“數(shù)據(jù)源名”如LS,選擇建立好的Data.mdb數(shù)據(jù)庫文件,則完成了DSN連接數(shù)據(jù)庫。
圖6 “ODBC數(shù)據(jù)源管理器”對(duì)話框
圖7 “創(chuàng)建新數(shù)據(jù)源”對(duì)話框
Microsoft提供的ADO(Active Data Objects)技術(shù),使用通用數(shù)據(jù)連接UDL(Universal Data Link)來連接數(shù)據(jù)庫。在Data.mdb文件夾下,新建數(shù)據(jù)連接,命名新建數(shù)據(jù)庫為LS.udl,打開LS.udl切換到“提供程序”頁面,選擇“Microsoft Jet 4.0 OLE DB Provider”,再切換到“連接”頁面輸入數(shù)據(jù)庫名稱,完成UDL連接數(shù)據(jù)庫[4,5]。
在完成數(shù)據(jù)源連接后就可對(duì)數(shù)據(jù)庫進(jìn)行操作。
在數(shù)據(jù)庫與數(shù)據(jù)源完成建立后就可運(yùn)用LabVIEW SQL Toolkit 工具包Database Connectivity中的DB Tools Open Connection打開數(shù)據(jù)庫連接;運(yùn)用DB Tools Create Table創(chuàng)建一個(gè)新表格;最后利用DB Tools Close Connection關(guān)閉數(shù)據(jù)庫連接。完成了數(shù)據(jù)庫表格的創(chuàng)建[6],如圖8所示,Table名為測(cè)試數(shù)據(jù)表,UDL路徑為data.udl,圖8為各列名稱、數(shù)據(jù)類型及字符寬度。
圖8 創(chuàng)建新表圖
添加一條記錄是通過Database Connectivity中的DB Tools Insert Data.vi函數(shù)來完成。如圖9所示,Table名為測(cè)試數(shù)據(jù)表,路徑為data.udl,插入電壓與電流兩條數(shù)據(jù)。
圖9 添加記錄
相應(yīng)的也有刪除數(shù)據(jù)庫表格的函數(shù),DB Tools Drop Table.vi,如圖10所示,Table名為測(cè)試數(shù)據(jù)表,路徑為data.udl。
圖10 刪除表
綜上所述,本文介紹了中小型風(fēng)力發(fā)電機(jī)測(cè)試系統(tǒng)利用LabVIEW中Microsoft SQL Toolkit工具包完成了對(duì)Access數(shù)據(jù)庫的連接與操作,可為中小型風(fēng)力發(fā)電機(jī)性能測(cè)試的大量數(shù)據(jù)提供足夠的存儲(chǔ)空間。LabVIEW SQL Toolkit支持ADO所支持的所有數(shù)據(jù)庫驅(qū)動(dòng),無需使用復(fù)雜難懂的SQL語句,就能實(shí)現(xiàn)數(shù)據(jù)庫的建立、添加、修改及刪除等操作。此方法易于理解,操作簡便。
[1] 王濤. 離網(wǎng)型戶用風(fēng)力發(fā)電機(jī)性能測(cè)試系統(tǒng)的開發(fā)[D]. 內(nèi)蒙古呼和浩特: 內(nèi)蒙古工業(yè)大學(xué), 2005.
[2] 姚興佳. 風(fēng)力發(fā)電測(cè)試技術(shù)[M]. 北京: 電子工業(yè)出版社,2011.
[3] 楊樂平, 李海濤, 趙勇, 等. LabVIEW高級(jí)程序設(shè)計(jì)[M].北京: 清華大學(xué)出版社, 2003.
[4] 林靜, 林振宇, 鄭福仁. LabVIEW虛擬儀器程序設(shè)計(jì)[M].北京: 人民郵電出版社, 2010.
[5] 王洪波 , 王楓 , 張彥斌 , 等 . LabVIEW 與 Access數(shù)據(jù)庫訪問接口研究 [J]. 微計(jì)算機(jī)信息 , 2004, 20 (6) : 56 - 57.
[6] 徐紅安, 費(fèi)仁元. 用ADO構(gòu)建LabVIEW中的數(shù)據(jù)庫訪問接口 [J]. 北京工業(yè)大學(xué)學(xué)報(bào) , 2003, (3): 10 - 13.