1. 引言
在電工電子這類工科課程中,實(shí)驗(yàn)是與課程相輔相成的實(shí)踐性教學(xué)環(huán)節(jié),有著至關(guān)重要的作用。它能夠在鞏固基礎(chǔ)理論知識(shí)的基礎(chǔ)上將理論聯(lián)系實(shí)際,培養(yǎng)學(xué)生的實(shí)踐技能、動(dòng)手能力、初步設(shè)計(jì)能力和分析解決實(shí)際問題的基本能力,啟發(fā)創(chuàng)新意識(shí)及創(chuàng)新思維潛力,為今后的進(jìn)一步工作打下基礎(chǔ)。
電工電子實(shí)驗(yàn)系統(tǒng)由最初的單個(gè)儀器儀表發(fā)展到現(xiàn)在的智能網(wǎng)絡(luò)型實(shí)驗(yàn)臺(tái)。而這些實(shí)驗(yàn)臺(tái)大多都只是單純的對(duì)數(shù)據(jù)進(jìn)行采集和管理,沒有融入虛擬儀器技術(shù)。本文所設(shè)計(jì)的電工電子實(shí)驗(yàn)數(shù)據(jù)采集與處理系統(tǒng)是在智能網(wǎng)絡(luò)型實(shí)驗(yàn)臺(tái)的基礎(chǔ)上增加虛擬儀器實(shí)現(xiàn)實(shí)驗(yàn)數(shù)據(jù)的實(shí)時(shí)采集、分析和處理功能。
在設(shè)計(jì)中選用的開發(fā)系統(tǒng)是Windows XP,開發(fā)平臺(tái)是NI公司的LabVIEW。之所以在這里選用LabVIEW進(jìn)行開發(fā)是由于它具有強(qiáng)大的數(shù)據(jù)采集和處理功能,編程效率高。即使有無法完成的功能,也仍就能夠通過外部接口調(diào)用其他語(yǔ)言來完成。近幾年來,LabVIEW廣泛地被工業(yè)界、學(xué)術(shù)界和研究實(shí)驗(yàn)室所接受,被公認(rèn)為是標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。在設(shè)計(jì)中采用的是LabVIEW不支持的普通數(shù)據(jù)采集卡,因此要在現(xiàn)有的情況下進(jìn)行開發(fā)就必須編寫LabVIEW與采集卡之間的驅(qū)動(dòng)程序做為接口。
2. 系統(tǒng)的結(jié)構(gòu)
該系統(tǒng)包含以下幾個(gè)部分:信號(hào)調(diào)理電路、數(shù)據(jù)采集卡、與LabVIEW的接口驅(qū)動(dòng)程序、軟件和計(jì)算機(jī)等。系統(tǒng)結(jié)構(gòu)如圖1所示。
3. 硬件平臺(tái)
設(shè)計(jì)中所采用的數(shù)據(jù)采集卡為AC6010采集卡。這是一種通用A/D板卡,采用PCI總線,具有32路模擬輸入、32路開關(guān)量-16路輸入及16路輸出。模擬電壓輸入范圍采用-5V~+5V。
由于數(shù)據(jù)采集卡只能對(duì)電壓量進(jìn)行轉(zhuǎn)換,在采集非電壓信號(hào)時(shí)就需要先將其轉(zhuǎn)換為電壓信號(hào)。當(dāng)信號(hào)不在采集卡的可接收范圍之內(nèi)或有干擾時(shí)就需要通過調(diào)理電路進(jìn)行放大、衰減、濾波、隔離等使其適合采集卡的需求。圖2為由LM324構(gòu)成的調(diào)理電路。左邊由AR1組成的跟隨器可以增加輸入阻抗,右邊由AR3組成的跟隨器是為了減小輸出阻抗,中間的電路可以進(jìn)行信號(hào)放大或衰減。R3和C1并聯(lián)可以進(jìn)行低通濾波,C2為旁路電容,可以濾除高頻干擾。電阻和電容值根據(jù)實(shí)際情況決定。
4. 驅(qū)動(dòng)程序
為L(zhǎng)abVIEW開發(fā)普通采集卡的驅(qū)動(dòng)程序共有三種方法:采用動(dòng)態(tài)數(shù)據(jù)交換(DDE),利用代碼接口節(jié)點(diǎn)接點(diǎn)(CIN)和調(diào)用動(dòng)態(tài)鏈接庫(kù)(DLL),這里采用的是第三種,驅(qū)動(dòng)程序流程圖如圖3所示。
程序采用Call Library Function Node(CLFN)節(jié)點(diǎn)調(diào)用動(dòng)態(tài)鏈接庫(kù)。打開驅(qū)動(dòng)需要調(diào)用的是AC_OpenDriver函數(shù),CLFN節(jié)點(diǎn)在調(diào)用時(shí)就已經(jīng)指定了具體的動(dòng)態(tài)庫(kù),因此程序在打開驅(qū)動(dòng)前不需要再加載庫(kù)文件。
在初始化、獲得插卡數(shù)和識(shí)別ID這一步需要調(diào)用的是AC_6010_INIT函數(shù)。其輸入?yún)?shù)有兩個(gè),一個(gè)為AC_OpenDriver輸出的句柄,另一個(gè)為數(shù)組指針。在調(diào)試時(shí)可以發(fā)現(xiàn)程序運(yùn)行到這里總會(huì)彈出一個(gè)錯(cuò)誤對(duì)話框,提示LabVIEW的內(nèi)存出現(xiàn)問題,這是由于LabVIEW沒有內(nèi)存指針引起的。為了解決這個(gè)問題,就必須用C++另編一個(gè)動(dòng)態(tài)庫(kù)完成對(duì)這個(gè)調(diào)用后再被LabVIEW調(diào)用。
在采樣或輸出環(huán)節(jié)中,可以調(diào)用int AC_6010_AD、int AC_6010_DI或int AC_6010_DO函數(shù)進(jìn)行模擬、數(shù)字量的采集或數(shù)字量的輸出。由于采集卡沒用D/A功能,不能輸出模擬量。數(shù)據(jù)采集可以采集一次也可以采集多次,如示波器程序就可以做一個(gè)循環(huán)進(jìn)行多次采集。最后在結(jié)束程序之前調(diào)用AC_CloseDriver關(guān)閉驅(qū)動(dòng)。
5. 虛擬儀器設(shè)計(jì)
5.1 信號(hào)發(fā)生
可以在兩個(gè)通道分別產(chǎn)生正弦波、方波、三角波、鋸齒波、白噪聲、隨機(jī)信號(hào)、高斯白噪聲、直流信號(hào)和自定義信號(hào)七種,以及他們之間的合成信號(hào),參數(shù)可以自己定義,但必須滿足采樣定理。產(chǎn)生的信號(hào)可以用線性和對(duì)數(shù)兩種方式現(xiàn)實(shí),也可以對(duì)其進(jìn)行局部放大等操作。
5.2 信號(hào)采集與輸出
能夠?qū)Χ鄠€(gè)通道信號(hào)進(jìn)行采集或輸出,采樣頻率要求滿足采樣定理。對(duì)于AC6010采集卡來說,信號(hào)采集或輸出都必須配合驅(qū)動(dòng)程序而完成,驅(qū)動(dòng)程序是LabVIEW與采集卡之間通信的一個(gè)接口。設(shè)計(jì)采集程序時(shí)可以先由AI Config.vi指定使用的采集卡和通道,AI Start.vi啟動(dòng)掃描,并將得到的數(shù)據(jù)放入緩存,AI Read.vi從計(jì)算機(jī)的緩存中讀取數(shù)據(jù),最后再由AI Clear.vi停止數(shù)據(jù)采集過程,并釋放緩存和板上的資源。在循環(huán)采集或輸出時(shí),將程序置于循環(huán)結(jié)構(gòu)中即可。
5.3 信號(hào)分析與處理
可以對(duì)信號(hào)進(jìn)行時(shí)域、頻域分析,如自相關(guān)分析,傅里葉變換,功率譜分析、聯(lián)合時(shí)頻分析、數(shù)字濾波、波形參數(shù)分析等。在LabVIEW中有不少專門分析處理信號(hào)的vi,如利用FFT.vi可以做單邊和雙邊的傅里葉變換,用AutoCorrelation.vi對(duì)信號(hào)進(jìn)行子相關(guān)分析等等。如圖4為200Hz,幅值2伏正弦波的單邊傅里葉變換,圖5為其程序。
6. 總結(jié)
該系統(tǒng)可以對(duì)學(xué)生實(shí)驗(yàn)數(shù)據(jù)進(jìn)行采集、分析和處理等,使學(xué)生可以看到書本上沒有的各種信號(hào)的分析,以及不同處理的結(jié)果,從而學(xué)到更多的知識(shí),并對(duì)課上的內(nèi)容進(jìn)一步加深理解。此次設(shè)計(jì)是基于虛擬儀器技術(shù)的,系統(tǒng)具有一下優(yōu)勢(shì)和特點(diǎn):
1.界面友好,使用方便。LabVIEW提供了快速的G語(yǔ)言編程方式,使用戶的開發(fā)變得容易且界面的各種控件與實(shí)際儀器面板非常相似。
2.功能強(qiáng)大。系統(tǒng)包括信號(hào)發(fā)生、采集、分析、處理、存儲(chǔ)等多種功能。
3.系統(tǒng)維護(hù)簡(jiǎn)單、擴(kuò)展功能方便。使用軟件替代了傳統(tǒng)儀器設(shè)備,系統(tǒng)安全可靠,且大大降低了系統(tǒng)成本。在為設(shè)備升級(jí)時(shí)也不需要淘汰以前的儀器,只需做簡(jiǎn)單的更新軟件即可。
然而由于條件限制,該系統(tǒng)存在著許多缺點(diǎn)有待改進(jìn)和完善:
1.本次設(shè)計(jì)中,采用的數(shù)據(jù)采集卡的采樣頻率比較低,沒有模擬輸出功能。一方面影響著采集信號(hào)的準(zhǔn)確性。另一方面,由于沒有模擬輸出功能,在實(shí)驗(yàn)的設(shè)計(jì)上也不能采用自動(dòng)模式,而只能一步一步地手動(dòng)操作,然后采樣。
2.本次設(shè)計(jì)中虛擬儀器軟件的控制還可以采用菜單結(jié)構(gòu),使界面更加簡(jiǎn)潔。
參考文獻(xiàn)
[1] 楊樂平,李海濤,趙勇等LabVIEW高級(jí)程序設(shè)計(jì) 清華大學(xué)出版社 2003年4月
[2] 侯國(guó)屏,王