PCI-1711數(shù)據(jù)采集卡及其應(yīng)用
出處:lanyun 發(fā)布于:2007-04-16 19:05:57
在數(shù)據(jù)采集和處理過程中,有些模擬信號的幅值和頻率變化的速度是非常快的,如何將這些高速變化的模擬信號采集到計算機里進行處理便是一個需要解決的實際問題。由于數(shù)字數(shù)據(jù)傳輸速率等系統(tǒng)瓶頸的影響,使用常規(guī)的技術(shù)方法往往不能理想地解決上述實際問題。以PCI總線為代表的高性能局部總線的推出,為計算機的模擬輸入通道采樣頻率的大幅度提高提供了堅實的技術(shù)基礎(chǔ)。
PCI-1711數(shù)據(jù)采集卡
PCI-1711是12位的低損耗多功能采集卡卡,具有獨特的電路設(shè)計和完善的數(shù)據(jù)采集與控制功能,支持即插即用,具有FIFO的高速緩存,可靈活設(shè)定輸入類型和范圍,具有16通道單端模/數(shù)輸入、16通道數(shù)字I/O和2通道數(shù)模輸出,采集速率可達100kHz,可編程的計數(shù)/計時器可作為A/D轉(zhuǎn)換的速度觸發(fā),同時具有通道自動搜索功能。內(nèi)部結(jié)構(gòu)主要有單端模擬輸入通道、模擬輸出通道和觸發(fā)源連接三部分。
庫函數(shù)及其應(yīng)用
廠家為用戶提供了PCI-1711采集卡的庫函數(shù)和不同語言的例程,使用戶具有良好的Windows開發(fā)環(huán)境。廠家主要為可編程的DAS卡提供DDL、ActiveDAQ和GeniDAQ等驅(qū)動文件,同時還提供了在Visual Basic、Visual C++、C++ Builder和Delphi等開發(fā)環(huán)境下的例程,這些都方便了用戶根據(jù)自己的實際情況完成數(shù)據(jù)采集的編程工作。在Visual C++開發(fā)環(huán)境下,其原文件要包含庫函數(shù)“driver.h”。
結(jié)合Visual C++ 軟件開發(fā)環(huán)境,PCI-1711采集卡的軟件編程需要以下幾個步驟。
(1)采集卡的注冊。可以放在.cpp文件的開始位置,或者直接包含注冊的庫函數(shù)。
(2)采集卡的配置。在配置文件里,可以設(shè)置通道號和通道增益模式。
(3)采集卡的數(shù)據(jù)采集。這里要根據(jù)設(shè)置的通道號和采集模式來采集數(shù)據(jù),同時選擇觸發(fā)模式和電壓補償。觸發(fā)模式中,0為內(nèi)觸發(fā)模式,1為外觸發(fā)模式。
(4)數(shù)據(jù)處理。用戶可根據(jù)自己的需要將采集來的電壓值進行處理,同時可在Visual C++的環(huán)境下,將采集處理后的數(shù)據(jù)通過友好的人機界面顯示出來。
(5)釋放采集卡。在Visual C++開發(fā)環(huán)境下,可用庫函數(shù)提供的DRV_DeviceClose()函數(shù)將采集卡關(guān)閉。
應(yīng)用中的注意事項
PCI-1711采集卡的信號線要盡可能遠離電源線、發(fā)電機和具有電磁干擾的場所,也要遠離視頻監(jiān)視系統(tǒng),因為它會對數(shù)據(jù)采集系統(tǒng)產(chǎn)生很大的影響。在現(xiàn)場試驗中,如果信號線和電源線必須并行(比如在同一個電纜溝里),則兩者之間必須保持適當(dāng)?shù)陌踩嚯x,同時用屏蔽電纜,以確保信號安全準(zhǔn)確地傳輸。
采集卡的每個通道的模擬量采集都有一個輸入電壓范圍,超過了這一范圍會造成采集卡A/D轉(zhuǎn)換部分的燒毀,所以在采集模擬信號時,要保證被采集的信號在設(shè)定的量程范圍內(nèi)。
應(yīng)用實例
下面是在Visual C++的環(huán)境下實現(xiàn)PCI-1711數(shù)據(jù)采集的一段程序。采樣頻率可以通過SetTimer()函數(shù)設(shè)定,采用內(nèi)部觸發(fā)方式。采集卡使用的五個步驟中,步在OnCtrStart()函數(shù)中實現(xiàn),第五步在OnCtrStop(),第二步和第三步在Adinput()函數(shù)中實現(xiàn),第四步為數(shù)據(jù)處理,根據(jù)用戶不同的需要進行相應(yīng)的處理,這里從略。
void CStable2View::OnCtrStart()
{
// TODO: 添加命令句柄代碼
// Step 1:注冊設(shè)備
if(ErrCde =DRV_DeviceOpen(DeviceList[gwDevice].dwDeviceNum,
(LONG far *)&DriverHandle)!=0)
return ;
else
timeId=SetTimer(nIDE, 100, NULL);
}
ADinput(unsigned char chan) /* chan是通道號*/
{
float fVoltage;
//Step 2:配置設(shè)備
ptAIConfig.DasChan = chan;
ptAIConfig.DasGain = 1;
if(ErrCde = DRV_AIConfig(DriverHandle,(LPT_AIConfig)&ptAIConfig)!=0)
return 0;
// Step 3:采集數(shù)據(jù)
ptAIVoltageIn.chan = chan; // 輸入通道
ptAIVoltageIn.gain = 1; // 增益代碼,可參考手冊的電壓范圍
ptAIVoltageIn.TrigMode = 0; // 0: 內(nèi)觸發(fā)器,1: 外觸發(fā)器
ptAIVoltageIn.voltage = &fVoltage; // 返回的電壓
if(ErrCde = DRV_AIVoltageIn(DriverHandle, &ptAIVoltageIn)!=0)
return 0;
return (fVoltage);
}
//step 4:處理數(shù)據(jù)(發(fā)送)
void CStable2View::OnCtrStop()
{
// TODO:添加命令句柄代碼
timeId=0;
KillTimer(timeId);
// Step 5:釋放設(shè)備
DRV_DeviceClose(&DriverHandle);
}
結(jié)語
PCI-1711是一種非常經(jīng)濟實用的數(shù)據(jù)采集卡,可以應(yīng)用在很多領(lǐng)域。在現(xiàn)場試驗中,用PCI-1711采集卡采集重力加速度計和陀螺輸出的電壓信號,經(jīng)過采集卡的A/D采集,并對數(shù)據(jù)進行處理,將所得數(shù)據(jù)通過一個良好的人機界面顯示出來。
參考文獻
1 劉英,梁捷紅.在PCI總線上實現(xiàn)的A/D數(shù)據(jù)采集.測控技術(shù).1998.2.
2 江秀漢,周建輝,湯楠.計算機控制原理及其應(yīng)用.西安電子 科技大學(xué)出版社.1995.8
3 張旭東,付強,何宋華等.基于PCI接口的多通道高速數(shù)據(jù)采集 系統(tǒng).數(shù)據(jù)采集與處理.2000.2
4 Advantech Co.,Ltd 《PCI-1711/1731 100KS/s,12-bit,16ch S.E.Inputs Low- Cost Multifunction Card,User's Manual》
5 PCI datasheet http://www.hbjingang.com/datasheet/PCI_1201469.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52









