基于LabVIEW的萬用表設(shè)計_第1頁
基于LabVIEW的萬用表設(shè)計_第2頁
基于LabVIEW的萬用表設(shè)計_第3頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于 LabVIEW 的萬用表設(shè)計LabVIEW實例來介紹LabVIEW 在數(shù)據(jù)采集與儀器控制領(lǐng)域的編程方法。 10.1萬用表是一種電子測量工具,它能對電壓、電流、電阻等進行度量。它在現(xiàn)實中應(yīng)用相當廣LabVIEW多地被人們應(yīng)用。本節(jié)將以板卡作數(shù)據(jù)采集硬件進行編程,實現(xiàn)虛擬數(shù)字萬用表。10.1.1板卡在工業(yè)中應(yīng)用相當廣泛,尤其近年來在數(shù)據(jù)采集行業(yè)中被人們認可。它最大的好處是安PCI8335DT9205DT9205LabVIEWDT9205計算機上存儲數(shù)據(jù)等功能。1PCI833532bit PCI單,使用時只需將接口PCI接接入。它的詳細功能參數(shù)如下:32 bit PCI 總線,即插即用 輸入范

2、圍:010V,-5+5V分辨率:12 bit32/1612 bit A/D412 bit D/A2101008TTL(4)、8TTLA/D100 KHz,N100/NKHz38 bit124 bitA/DFIFO8 KB FIFO100 KHz 超壓范圍:-12+12V輸入阻抗:10 MA/D8DLL10-1圖 10-1 PCI8335 板卡功能圖 2DT9205DT9205顯示出來,并按要求保存。它的具體參數(shù)如下: 直流電壓:200mV1000V 交流電壓:200mV750V直流電流:2mA10A交流電流:2mA20A 電阻:200200M電容:2nF200F二極管測試導通蜂鳴數(shù)據(jù)保存精度調(diào)

3、節(jié) 工作指示燈 10.1.2LabVIEWPCI8335PCI闡述信號在計算機中的分析、運算、顯示等的編程。10.1.3PCI8335LabVIEW是本例的重點,也是本例的難點,尤其是整個程序的組合編程,涉及許多數(shù)據(jù)的融合和控件的配合。下面分步進行介紹。1板卡的安裝是整個工作的第一步,PCI8335安裝,軟件安裝是非常重要的一個環(huán)節(jié),它關(guān)系到采集板能否正常使用。具體安裝步驟如下: (1)檢查硬件安裝是否正確,然后通電正常啟動計算機,在系統(tǒng)啟動完成后,會自動檢測新安裝的硬件,如圖 10-2 所示。圖 10-2 發(fā)現(xiàn) PCI 硬件(2)等到檢測完畢后,彈出“找到新的硬件向?qū)А睂υ捒?,如圖 10-3

4、 所示。10-410-310-4 PCI(4)單擊“下一步”按鈕,進入10-5(5)10-610-510-6 選擇驅(qū)動程序 (6)10-7圖 10-7 選擇驅(qū)動程序地址(7)單擊“瀏覽”按鈕,選擇“PCI8335.inf”所在的目錄(光盤:ZTPCI8KA),單擊“確定”按鈕。系統(tǒng)將會按要求自動安裝驅(qū)動。安裝完成后重啟計算機即可使用。你也可以繼續(xù)安裝第二塊 PCI 卡。PCI8335的索引值不同。PCIISAPCIPCI83350,PCI83351。調(diào)用動態(tài)鏈接庫(ZTPCI8KA.dll)OpenDevicePCIPCI2在板卡安裝好后,必須進行測試,這樣才能保證以后的正常使用。測試是利用P

5、CI8335 數(shù)據(jù)采集卡驅(qū)動光盤自帶的測試程序進行的。它一般位于光盤:ZTPCI8KA8335測試程序8335test_vb8335test.exe來方便,也給后面的工作提供保障。下面將對測試程序的使用方法進行講解,測試程序的整體界面如圖 10-8 所示。圖 10-8 測試界面運行“PCI8335彈出“選擇板卡”10-9面中對選中的PCI8335PCI8335作(本程序默認對索引值為 0 的板卡進行測試)。PCI8335分為以下幾個部分:開關(guān)量測試10-10可進行開關(guān)量的輸出測試。818,8某個燈,其狀通斷狀態(tài)的切換。818,關(guān)量輸入通道的通斷狀態(tài)。該功能是自動的,無須手動操作。模擬量輸出測試

6、10-1144拉框的值一般是固定的??梢酝ㄟ^旁邊的下拉按鈕選擇,也可以輸入任意值。圖 10-9 選擇板卡 圖 10-10 開關(guān)量測試 圖 10-11 模擬量輸出測試模擬量輸入測試10-12,3232過相應(yīng)的文本框顯示出來。在“采集方式”單選框中,可選擇模擬信號采集方式。單路:用來對模擬量進行實時采集。單路濾波:用來對采集到的模擬量進行濾波處理,這也是程序默認方32快,多用于快速變化量的測量過程測試中。在“顯示設(shè)置”單選框中,可進行輸入模擬量的顯示設(shè)置。原碼值(十六進制):文本框中顯示模擬量的十六進制原碼值(000FFF)。 0-10000mV010000mV值。 -5000+5000mV:顯示

7、-5000mV+5000mV過程中對參數(shù)進行設(shè)置。計數(shù)器測試10-13的第一個文本框顯示計數(shù)器寄存器中的當前值,第二個文本框顯示計數(shù)累加值。單擊“累加清零”按鈕,將清空第二列文本框中的值,重新進行累加計數(shù)。測試程序運行后,軟件就自動讀取計數(shù)器寄存器中的當前值,并進行累加,無須手動操作。圖 10-12 模擬量輸入測試 圖 10-13 計數(shù)器測試采集卡上的三種中斷進行測PCI8335“FIFOFIFOFIFOA/DFIFOFIFO據(jù)個數(shù)?!坝嫈?shù)器中斷”區(qū)域:對計數(shù)器產(chǎn)生的中斷進行測試。單擊“計數(shù)器中斷次數(shù)?!伴_關(guān)量中斷”區(qū)域:可對開關(guān)量中斷進行測試。單擊“開關(guān)量中斷測試”按鈕,打開開關(guān)量中斷允許。

8、“中斷次數(shù)”文本框中顯示開關(guān)量中斷的累計次數(shù)。單擊“關(guān)閉所有中斷”按鈕,將關(guān)閉所有中斷,禁止中斷進入。圖 10-14 中斷測試3PCI8335(PCI8KA.dll)乎所有的函數(shù)的參數(shù)均通過一個結(jié)構(gòu)體(ZT_PCIBOARD)來傳遞。該結(jié)構(gòu)體及PCI8000struct ZT_PCIBOARDlong lIndex; /* PCI*/ HANDLE hHandle; /* PCI(只有涉及中斷時才用short nCh; /* 通道號*/long lData; /*輸入輸出數(shù)據(jù)變量*/ long* plData; /*輸入輸出數(shù)據(jù)指針*/long lCode; /*設(shè)備控制字,具體含義見函數(shù)說明

9、*/;下面對各函數(shù)功能進行說明。long APIENTRY OpenDeviceAmcc(ZT_PCIBOARD* bs)PCI8335入口有效參數(shù):卡索引值 lIndexPCI出口返回參數(shù):卡的操作句柄(只有涉及中斷時,返回才有意義)hHandlePCI:打開設(shè)備成功 0 返回值 :打開設(shè)備失敗 1關(guān)閉設(shè)備long APIENTRY CloseDeviceAmcc(ZT_PCIBOARD* bs)PCI8335lIndexPCI 出口返回參數(shù)無:關(guān)閉設(shè)備成功 0 返回值 :關(guān)閉設(shè)備失敗 1開關(guān)量輸入long APIENTRY ZT8335DI (ZT_PCIBOARD* bs)PCI8335

10、:卡索引值 lIndexPCI入口有效參數(shù):設(shè)備控制碼。表示單通道操作;表示多通道操作 lCode01:通道號,(單通道模式使用)nCh18:某一通道讀取值?;颍▎瓮ǖ啦僮鳎﹍Data01 出口返回參數(shù) 該卡所有開關(guān)量輸入狀態(tài)值(多通道操作):采集成功 0 返回值 :采集失敗 1開關(guān)量輸出long APIENTRY ZT8335DO (ZT_PCIBOARD* bs)關(guān)量數(shù)據(jù)輸出操作lIndexPCIlCode01:通道號,(單通道模式使用)nCh18:某一通道輸出設(shè)定值?;颍▎瓮ǖ啦僮鳎辉摽ㄋ虚_關(guān)量輸入設(shè)定值(通道操作)lData01出口返回參數(shù)無:開關(guān)量數(shù)據(jù)輸出成功 0 返回值 :開關(guān)

11、量數(shù)據(jù)輸出失敗 1模擬量輸出long APIENTRY ZT8335AO(ZT_PCIBOARD* bs)量數(shù)據(jù)輸出操作:卡索引值 lIndexPCI入口有效參數(shù):通道號,(單通道模式使用)nCh14:某一通道輸出原碼值()lData0 4095 出口返回參數(shù)無01初始化模擬量采集函數(shù) long APIENTRY ZT8335AIInt(ZT_PCIBOARD* bs)功能初始化模擬量數(shù)據(jù)采集:卡索引值 lIndexPCI:通道號 nCh單路采集通道號:132多路循環(huán)采集終止通道號:132:設(shè)備控制字。lCode 入口有效參數(shù)停止:0 啟動:1多路循環(huán):(默認單路采集)2 單端:(默認差分方式

12、)4單極性():(默認原碼值)010V256雙極性():(默認原碼值)-5 +5V512 出口返回參數(shù)無:初始化成功 0 返回值 :初始化失敗 1單通道采集long APIENTRY ZT8335AI (ZT_PCIBOARD* bs)數(shù)據(jù)lIndexPCI,nCh132 lData:采集成功 0 返回值 :采集失敗 1注:該函數(shù)無須調(diào)用 ZT8335AIInit 初始化。 (8)單通道采集(濾波)long APIENTRY ZT8335AIA (ZT_PCIBOARD* bs)擬量數(shù)據(jù)數(shù)據(jù),并進行濾波處理lIndexPCI,nCh132 lData:采集成功 0 返回值 :采集失敗 1注:該

13、函數(shù)無須調(diào)用 ZT8335AIInit 初始化。 (9)設(shè)置 FIFO 數(shù)據(jù)地址long APIENTRY GetAddress(short nIndex,long* lAdd)FIFOnIndexPCI 參數(shù) :存放數(shù)據(jù)的地址(據(jù)緩沖區(qū),接收中的數(shù)據(jù))lAddFIFO819232FIFO:設(shè)置成功 0 返回值 :設(shè)置失敗 1FIFOlong APIENTRY ZT8335AIFifo (ZT_PCIBOARD* bs)多路循環(huán)通道的一批模擬量數(shù)據(jù)lIndexPCIplDataFIFO lDataFIFO:采集成功 0 返回值 :采集失敗 1注:1使用前,需調(diào)用 ZT8335AIInit 初始

14、化。2GetAddress(不支持指針的計算機語言設(shè)置的,比如:Visual Basic)。3使用支持指針的計算機語言,可不用 GetAddress 函數(shù),直接將存放 FIFO數(shù)據(jù)的地址賦給 plData 即可。脈沖輸入long APIENTRY ZT8335CT (ZT_PCIBOARD* bs)存器值lIndexPCI(計數(shù)器編號),nCh13 lData返回值:讀取成功 0:讀取失敗 1打開中斷l(xiāng)ong APIENTRY OpenIRQ(HANDLE* hList,ULONG CALLBACK IrqCallBack (ZT_PCIBOARD* bs)功能開一組卡的中斷總允許,等待中斷到

15、來 PCI:開中斷允許列表 hList入口有效參數(shù):開中斷允許數(shù)量 hDeviceNumIrqCallBack 出口返回參數(shù)無:打開中斷成功 0返回值:打開中斷失敗 1:沒有要打開的中斷 2回調(diào)函數(shù) void CALLBACK IrqCallBack(ZT_PCIBOARD* bs)當調(diào)用后,產(chǎn)生中斷時,系統(tǒng)會喚醒此函數(shù),用戶自己編寫函數(shù)進行中斷處理,系統(tǒng)會提供以下參數(shù),供用戶使用:OpenIRQPCI8335IrqCallBack(起中斷的索引值)。用戶可調(diào)用板卡操作函數(shù),對板卡進行相應(yīng)的操作。nIndex關(guān)閉中斷函數(shù) long APIENTRY CloseIRQ()功能禁止本機上所有已開的

16、卡的中斷總允許 PCI8335:禁止中斷成功 0 返回值 :禁止中斷失敗 1設(shè)置中斷允許寄存器函數(shù) long APIENTRY SetIE(ZT_PCIBOARD* bs) 功能設(shè)置中斷允許寄存器值lIndexPCI 入口有效參數(shù) :設(shè)備控制字(計數(shù)器半滿中斷、開關(guān)量中斷)lCodeFIFO:設(shè)置成功 0 返回值 :設(shè)置失敗 1讀中斷狀態(tài)寄存器long APIENTRY ReadIS (ZT_PCIBOARD* bs)lIndexPCI出口返回參數(shù):設(shè)備控制字(產(chǎn)生中斷的類型:半滿中斷、計數(shù)器半滿中斷、開關(guān)量中斷)lCodeFIFO:讀取成功 0 返回值 :讀取失敗 1DLLLabVIEWPC

17、I8335DLL數(shù)據(jù)采集DLLVC+DLL可。C程序如下:#include stdafx.h #include #include #include PCI8KA.h ZT_PCIBOARD* bs;ZT_PCIBOARD ztbs; void main()long i;ULONG sData4096*16;ULONG mOutput=0; bs=&ztbs;/PCI8335/多路循環(huán)ztbs.nCh=4; /4,4ZT8335AIInit(bs);/*以下用兩種方法實現(xiàn) FIFo 的讀取!*/* 函 數(shù) ReadFifo 示 例 * ReadFifo(short)bs-lIndex, sDat

18、a, &mOutput); for (i=0;i25;i+)printf(%xn,sDatai);printf(%un,mOutput/4); / mOutput/4FIFO*10.1.4LabVIEW體講解此部分內(nèi)容。1幾個數(shù)值輸入控件,并依次按要求為其命名,如圖 10-15 所示。圖 10-15 采集設(shè)置界面BS,10-1510-16圖 10-16 “簇”的創(chuàng)建簇控件可以通過“控件”|“新式”|“數(shù)組、矩陣、簇”|“簇”命令調(diào)用。設(shè)置簇時,只要把想設(shè)置為簇的元素全選中,拖動到簇框中就可以了。在后面板中放置一個“層疊式順序結(jié)構(gòu)”圖標,可通過“函數(shù)”|“程”|“結(jié)構(gòu)”|“10-17在“層疊式順

19、序結(jié)構(gòu)”的邊框上右鍵單擊,選擇“在后面添加幀”就會0要把簇和索引號捆綁到一起,這樣才便于后面的采集過程處理。捆綁函數(shù)可用“函數(shù)”|“編程”|“簇、變體、類”|“按名稱捆綁”命令來調(diào)用。圖 10-17 層疊式順序結(jié)構(gòu)將捆綁后的數(shù)據(jù)通過調(diào)用庫函數(shù)來處理。調(diào)用庫函數(shù)可通過“函數(shù)”|“互連接口”|“庫與可執(zhí)行文件”命令來調(diào)用。處理完后要對捆綁的數(shù)據(jù)解除捆綁,以方便下次處理。解除捆綁函數(shù)通過“函數(shù)”|“編程”|“簇、變體、類”|“按名稱解除捆綁”命令來調(diào)用。具體程序如圖 10-18 所示。圖 10-18 第 0 幀程序框圖1讀數(shù)據(jù)采集卡Noutput,序結(jié)構(gòu)的外面用于數(shù)據(jù)輸出,如圖 10-19 所示。1

20、0-1912虛擬萬用表的旋鈕是按照現(xiàn)實中的 DT9205 模式進行設(shè)計的,下面將分步進行介紹。 (1)通過“控件”|“新式”|“數(shù)值”|“轉(zhuǎn)盤”命令,在前面板放置一個轉(zhuǎn)盤控件。對其選中后,在邊角處拖動,放大控件,并在右鍵菜單中選擇“文本標簽”命令,再進行設(shè)置屬性,其界面如10-20次,寫入每一個項的名稱。注意這些名稱的先后順序不能亂。旋鈕標簽設(shè)置完以后前面板界面如圖 10-21 所示。圖 10-20 旋鈕標簽設(shè)置 圖 10-21 旋鈕界面話,可以用數(shù)和單位等一些信息,因此選擇了字符串控件。前面板界面如圖 10-22 所示。圖 10-22 結(jié)果顯示屏燈,用于指示儀器工作狀態(tài)。這些操作比較簡單,這

21、里不再詳細說明。 3在后面板中,先要放置一個條件結(jié)構(gòu),用于指示萬用表對旋鈕不同刻度執(zhí)行不同動作。條件結(jié)構(gòu)通過“函數(shù)”|“編程”|“結(jié)構(gòu)”|“條件結(jié)構(gòu)”命令調(diào)用。在條件結(jié)構(gòu)上,右鍵單擊下拉框,選10-23(1)32作,并把旋鈕和條件結(jié)構(gòu)的“分支選擇器”連接起來。03110-2410-2310-24 條件結(jié)構(gòu)設(shè)置 (2)為不同的分支執(zhí)行不同動作,所以每一個分支的程序要根據(jù)情況來寫。分支 0 負責顯示系統(tǒng)的開閉狀態(tài),默認為關(guān)機,指示燈滅,顯示屏顯示“關(guān)”。這里通過“函數(shù)”|“編程”|“字符串”|“字符串常量”命令寫入一個字符串常量“關(guān),而程序中指示燈的狀態(tài)是由一”個布爾控件控制的。此時要燈滅,就通過“函數(shù)”|“編程”|“布爾”|“假常量”命令放置一個假常量布爾控件。分支 1 負責檢測二極管。當二極管紅表筆接正極時,系統(tǒng)中電路接通,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論