基于LabVIEW的通用數(shù)據(jù)采集卡的驅(qū)動(dòng)
基于LabVIEW的通用數(shù)據(jù)采集卡的驅(qū)動(dòng)
介紹一種通過(guò)LabVIEW提供的Call Library Function Node實(shí)現(xiàn)對(duì)動(dòng)態(tài)鏈接庫(kù)(DLL)調(diào)用的方法,完成對(duì)通用數(shù)據(jù)采集卡的驅(qū)動(dòng),實(shí)現(xiàn)LabVIEW與通用數(shù)據(jù)采集卡的結(jié)合。?
關(guān)鍵詞:LabVIEW;驅(qū)動(dòng);數(shù)據(jù)采集
Baoding 071003, China)
LabVIEW驅(qū)動(dòng)通用數(shù)據(jù)采集插卡的方法有三種。
其一,直接用LabVIEW的Function模板內(nèi)Advanced子模板的Port I/O圖標(biāo)編程,通過(guò)手動(dòng)對(duì)基地址的設(shè)置,直接從特定的地址內(nèi)存中讀取數(shù)據(jù)。若采樣速度要求不高,它是很方便直觀的方法;其二,利用LabVIEW的Functions模板內(nèi)Advanced子模板中CIN(Code Interface Node)圖標(biāo),它適用于直接調(diào)用文字編程語(yǔ)言(如VC)所編寫(xiě)的代碼。用CIN結(jié)點(diǎn)生成A/D驅(qū)動(dòng)程序的子VI的方法可充分發(fā)揮A/D的高轉(zhuǎn)換速度,獲得高的采樣速率。但編程較煩雜,不能由LabVIEW直接修改;其三,用LabVIEW的Functions模板內(nèi)Advanced子模板中Call Library Function Node圖標(biāo),動(dòng)態(tài)鏈接數(shù)據(jù)采集卡的DLL庫(kù)函數(shù)。DLL實(shí)際上是一個(gè)函數(shù)庫(kù),只在應(yīng)用程序運(yùn)行時(shí)DLL中的函數(shù)才被隨時(shí)調(diào)用和連接。和靜態(tài)連接庫(kù)相比,DLL可以和其他應(yīng)用程序共享庫(kù)中的函數(shù)和資源。許多數(shù)據(jù)采集插卡生產(chǎn)商提供DLL庫(kù)函數(shù)形式的驅(qū)動(dòng)程序,用戶(hù)可使用某種DLL鏈接庫(kù)的編程工具,如VC、VB編寫(xiě)應(yīng)用程序來(lái)調(diào)用它。同樣,LabVIEW也提供了該功能,就是圖標(biāo)Call Library Function Node,放在Function模板內(nèi)的Advanced子模板中,通過(guò)設(shè)置該節(jié)點(diǎn)來(lái)直接調(diào)用DLL。?
在本研究系統(tǒng)中采用第三種方法,實(shí)現(xiàn)了在線切削力的數(shù)據(jù)采集。采用基于ISA總線的數(shù)據(jù)采集卡ACL-8111,DLL直接由生產(chǎn)廠家提供。?
其一,直接用LabVIEW的Function模板內(nèi)Advanced子模板的Port I/O圖標(biāo)編程,通過(guò)手動(dòng)對(duì)基地址的設(shè)置,直接從特定的地址內(nèi)存中讀取數(shù)據(jù)。若采樣速度要求不高,它是很方便直觀的方法;其二,利用LabVIEW的Functions模板內(nèi)Advanced子模板中CIN(Code Interface Node)圖標(biāo),它適用于直接調(diào)用文字編程語(yǔ)言(如VC)所編寫(xiě)的代碼。用CIN結(jié)點(diǎn)生成A/D驅(qū)動(dòng)程序的子VI的方法可充分發(fā)揮A/D的高轉(zhuǎn)換速度,獲得高的采樣速率。但編程較煩雜,不能由LabVIEW直接修改;其三,用LabVIEW的Functions模板內(nèi)Advanced子模板中Call Library Function Node圖標(biāo),動(dòng)態(tài)鏈接數(shù)據(jù)采集卡的DLL庫(kù)函數(shù)。DLL實(shí)際上是一個(gè)函數(shù)庫(kù),只在應(yīng)用程序運(yùn)行時(shí)DLL中的函數(shù)才被隨時(shí)調(diào)用和連接。和靜態(tài)連接庫(kù)相比,DLL可以和其他應(yīng)用程序共享庫(kù)中的函數(shù)和資源。許多數(shù)據(jù)采集插卡生產(chǎn)商提供DLL庫(kù)函數(shù)形式的驅(qū)動(dòng)程序,用戶(hù)可使用某種DLL鏈接庫(kù)的編程工具,如VC、VB編寫(xiě)應(yīng)用程序來(lái)調(diào)用它。同樣,LabVIEW也提供了該功能,就是圖標(biāo)Call Library Function Node,放在Function模板內(nèi)的Advanced子模板中,通過(guò)設(shè)置該節(jié)點(diǎn)來(lái)直接調(diào)用DLL。?
在本研究系統(tǒng)中采用第三種方法,實(shí)現(xiàn)了在線切削力的數(shù)據(jù)采集。采用基于ISA總線的數(shù)據(jù)采集卡ACL-8111,DLL直接由生產(chǎn)廠家提供。?
輸入信號(hào)范圍:±5V,±2.5V,±1.25V,±0.625V,±0.3125V(軟件編程選擇);最高采樣頻率:30kHz;觸發(fā)模式:軟件、在板可編程定時(shí)器或外觸發(fā);數(shù)據(jù)傳輸:程序控制、中斷控制;IRQ級(jí)別:可編程IRQ2,3,4,5,6,7;通道數(shù):8路單端通道。
本系統(tǒng)輸入信號(hào)范圍±5V,采樣頻率2000Hz,A/D數(shù)據(jù)轉(zhuǎn)換觸發(fā)模式采用在板可編程定時(shí)器觸發(fā),數(shù)據(jù)傳輸采用中斷控制,中斷級(jí)別設(shè)置為5,通道數(shù)為3,三個(gè)通道分別采集和傳輸獲得X,Y、Z三向切削力。?
待采集的模擬信號(hào)通過(guò)電荷放大器放大,根據(jù)預(yù)先設(shè)定選擇不同的增益;輸出的信號(hào)進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,將12位轉(zhuǎn)換結(jié)果自動(dòng)存在數(shù)據(jù)寄存器中,然后通過(guò)中斷控制將數(shù)據(jù)取出,送入計(jì)算機(jī)內(nèi)存進(jìn)行處理。在使用時(shí),將采集卡直接插入計(jì)算機(jī)ISA插槽中,使用其預(yù)先設(shè)定的基地址220H。?
本系統(tǒng)輸入信號(hào)范圍±5V,采樣頻率2000Hz,A/D數(shù)據(jù)轉(zhuǎn)換觸發(fā)模式采用在板可編程定時(shí)器觸發(fā),數(shù)據(jù)傳輸采用中斷控制,中斷級(jí)別設(shè)置為5,通道數(shù)為3,三個(gè)通道分別采集和傳輸獲得X,Y、Z三向切削力。?
待采集的模擬信號(hào)通過(guò)電荷放大器放大,根據(jù)預(yù)先設(shè)定選擇不同的增益;輸出的信號(hào)進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后,將12位轉(zhuǎn)換結(jié)果自動(dòng)存在數(shù)據(jù)寄存器中,然后通過(guò)中斷控制將數(shù)據(jù)取出,送入計(jì)算機(jī)內(nèi)存進(jìn)行處理。在使用時(shí),將采集卡直接插入計(jì)算機(jī)ISA插槽中,使用其預(yù)先設(shè)定的基地址220H。?
評(píng)論