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

下載本文檔

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

文檔簡介

1、基于 LabVIEW 的萬用表設(shè)計(jì)LabVIEW實(shí)例來介紹LabVIEW 在數(shù)據(jù)采集與儀器控制領(lǐng)域的編程方法。 10.1萬用表是一種電子測(cè)量工具,它能對(duì)電壓、電流、電阻等進(jìn)行度量。它在現(xiàn)實(shí)中應(yīng)用相當(dāng)廣LabVIEW多地被人們應(yīng)用。本節(jié)將以板卡作數(shù)據(jù)采集硬件進(jìn)行編程,實(shí)現(xiàn)虛擬數(shù)字萬用表。10.1.1板卡在工業(yè)中應(yīng)用相當(dāng)廣泛,尤其近年來在數(shù)據(jù)采集行業(yè)中被人們認(rèn)可。它最大的好處是安PCI8335DT9205DT9205LabVIEWDT9205計(jì)算機(jī)上存儲(chǔ)數(shù)據(jù)等功能。1PCI833532bit PCI單,使用時(shí)只需將接口PCI接接入。它的詳細(xì)功能參數(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二極管測(cè)試導(dǎo)通蜂鳴數(shù)據(jù)保存精度調(diào)

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

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

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

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

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

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

9、*/;下面對(duì)各函數(shù)功能進(jìn)行說明。long APIENTRY OpenDeviceAmcc(ZT_PCIBOARD* bs)PCI8335入口有效參數(shù):卡索引值 lIndexPCI出口返回參數(shù):卡的操作句柄(只有涉及中斷時(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:通道號(hào),(單通道模式使用)nCh18:某一通道讀取值。或(單通道操作)lData01 出口返回參數(shù) 該卡所有開關(guān)量輸入狀態(tài)值(多通道操作):采集成功 0 返回值 :采集失敗 1開關(guān)量輸出long APIENTRY ZT8335DO (ZT_PCIBOARD* bs)關(guān)量數(shù)據(jù)輸出操作lIndexPCIlCode01:通道號(hào),(單通道模式使用)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ù):通道號(hào),(單通道模式使用)nCh14:某一通道輸出原碼值()lData0 4095 出口返回參數(shù)無01初始化模擬量采集函數(shù) long APIENTRY ZT8335AIInt(ZT_PCIBOARD* bs)功能初始化模擬量數(shù)據(jù)采集:卡索引值 lIndexPCI:通道號(hào) nCh單路采集通道號(hào):132多路循環(huán)采集終止通道號(hào):132:設(shè)備控制字。lCode 入口有效參數(shù)停止:0 啟動(dòng):1多路循環(huán):(默認(rèn)單路采集)2 單端:(默認(rèn)差分方式

12、)4單極性():(默認(rèn)原碼值)010V256雙極性():(默認(rèn)原碼值)-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ù),并進(jìn)行濾波處理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(不支持指針的計(jì)算機(jī)語言設(shè)置的,比如:Visual Basic)。3使用支持指針的計(jì)算機(jī)語言,可不用 GetAddress 函數(shù),直接將存放 FIFO數(shù)據(jù)的地址賦給 plData 即可。脈沖輸入long APIENTRY ZT8335CT (ZT_PCIBOARD* bs)存器值lIndexPCI(計(jì)數(shù)器編號(hào)),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)當(dāng)調(diào)用后,產(chǎn)生中斷時(shí),系統(tǒng)會(huì)喚醒此函數(shù),用戶自己編寫函數(shù)進(jìn)行中斷處理,系統(tǒng)會(huì)提供以下參數(shù),供用戶使用:OpenIRQPCI8335IrqCallBack(起中斷的索引值)。用戶可調(diào)用板卡操作函數(shù),對(duì)板卡進(jìn)行相應(yīng)的操作。nIndex關(guān)閉中斷函數(shù) long APIENTRY CloseIRQ()功能禁止本機(jī)上所有已開的

16、卡的中斷總允許 PCI8335:禁止中斷成功 0 返回值 :禁止中斷失敗 1設(shè)置中斷允許寄存器函數(shù) long APIENTRY SetIE(ZT_PCIBOARD* bs) 功能設(shè)置中斷允許寄存器值lIndexPCI 入口有效參數(shù) :設(shè)備控制字(計(jì)數(shù)器半滿中斷、開關(guān)量中斷)lCodeFIFO:設(shè)置成功 0 返回值 :設(shè)置失敗 1讀中斷狀態(tài)寄存器long APIENTRY ReadIS (ZT_PCIBOARD* bs)lIndexPCI出口返回參數(shù):設(shè)備控制字(產(chǎn)生中斷的類型:半滿中斷、計(jì)數(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);/*以下用兩種方法實(shí)現(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幾個(gè)數(shù)值輸入控件,并依次按要求為其命名,如圖 10-15 所示。圖 10-15 采集設(shè)置界面BS,10-1510-16圖 10-16 “簇”的創(chuàng)建簇控件可以通過“控件”|“新式”|“數(shù)組、矩陣、簇”|“簇”命令調(diào)用。設(shè)置簇時(shí),只要把想設(shè)置為簇的元素全選中,拖動(dòng)到簇框中就可以了。在后面板中放置一個(gè)“層疊式順序結(jié)構(gòu)”圖標(biāo),可通過“函數(shù)”|“程”|“結(jié)構(gòu)”|“10-17在“層疊式順

19、序結(jié)構(gòu)”的邊框上右鍵單擊,選擇“在后面添加幀”就會(huì)0要把簇和索引號(hào)捆綁到一起,這樣才便于后面的采集過程處理。捆綁函數(shù)可用“函數(shù)”|“編程”|“簇、變體、類”|“按名稱捆綁”命令來調(diào)用。圖 10-17 層疊式順序結(jié)構(gòu)將捆綁后的數(shù)據(jù)通過調(diào)用庫函數(shù)來處理。調(diào)用庫函數(shù)可通過“函數(shù)”|“互連接口”|“庫與可執(zhí)行文件”命令來調(diào)用。處理完后要對(duì)捆綁的數(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)實(shí)中的 DT9205 模式進(jìn)行設(shè)計(jì)的,下面將分步進(jìn)行介紹。 (1)通過“控件”|“新式”|“數(shù)值”|“轉(zhuǎn)盤”命令,在前面板放置一個(gè)轉(zhuǎn)盤控件。對(duì)其選中后,在邊角處拖動(dòng),放大控件,并在右鍵菜單中選擇“文本標(biāo)簽”命令,再進(jìn)行設(shè)置屬性,其界面如10-20次,寫入每一個(gè)項(xiàng)的名稱。注意這些名稱的先后順序不能亂。旋鈕標(biāo)簽設(shè)置完以后前面板界面如圖 10-21 所示。圖 10-20 旋鈕標(biāo)簽設(shè)置 圖 10-21 旋鈕界面話,可以用數(shù)和單位等一些信息,因此選擇了字符串控件。前面板界面如圖 10-22 所示。圖 10-22 結(jié)果顯示屏燈,用于指示儀器工作狀態(tài)。這些操作比較簡單,這

21、里不再詳細(xì)說明。 3在后面板中,先要放置一個(gè)條件結(jié)構(gòu),用于指示萬用表對(duì)旋鈕不同刻度執(zhí)行不同動(dòng)作。條件結(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í)行不同動(dòng)作,所以每一個(gè)分支的程序要根據(jù)情況來寫。分支 0 負(fù)責(zé)顯示系統(tǒng)的開閉狀態(tài),默認(rèn)為關(guān)機(jī),指示燈滅,顯示屏顯示“關(guān)”。這里通過“函數(shù)”|“編程”|“字符串”|“字符串常量”命令寫入一個(gè)字符串常量“關(guān),而程序中指示燈的狀態(tài)是由一”個(gè)布爾控件控制的。此時(shí)要燈滅,就通過“函數(shù)”|“編程”|“布爾”|“假常量”命令放置一個(gè)假常量布爾控件。分支 1 負(fù)責(zé)檢測(cè)二極管。當(dāng)二極管紅表筆接正極時(shí),系統(tǒng)中電路接通,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論