• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于LabVIEW的數(shù)據(jù)采集卡控制和溫度采集方法研究

    2013-09-19 09:12:30丁宗玲
    大學物理實驗 2013年1期
    關(guān)鍵詞:采集卡虛擬儀器控件

    丁宗玲

    (安徽大學,安徽 合肥 230601)

    虛擬儀器(Virtual Instrument,簡稱VI)是現(xiàn)代計算機技術(shù)和儀器技術(shù)深層次結(jié)合的產(chǎn)物,是計算機、儀器和測控系統(tǒng)硬件資源與虛擬儀器軟件資源三者的有效結(jié)合[1]。LabVIEW(Laboratory Virtual Instrument Engineering Workbench,實驗室虛擬儀器工程平臺)是美國國家儀器公司(National Instruments Company,NI)推出的一種基于G語言的實驗室虛擬儀器集成軟件開發(fā)工具,LabVIEW使用圖形化語言,界面操作簡單友好直觀,并且采用LabVIEW設(shè)計的虛擬儀器可脫離LabVIEW開發(fā)環(huán)境,最終使用者看見的是和實際硬件儀器相似的操作面板[2-9]。

    數(shù)據(jù)采集系統(tǒng)是基于計算機或者其他專用測試平臺從傳感器或其它待測設(shè)備等的被測單元中采集非電量或者電量信號,送到上位機中進行分析、處理等后續(xù)操作來實現(xiàn)方便、直觀的測量系統(tǒng)。我們采用的是北京雙諾測控技術(shù)有限公司(wwlab)生產(chǎn)的PCI類型的AC6621采集卡為例結(jié)合LabVIEW語言實現(xiàn)某溫度信號的采集,同時為了增加測量的穩(wěn)定性,使用LabVIEW數(shù)據(jù)處理功能進行數(shù)據(jù)的平均處理,最終將所測量的溫度信號進行直觀的圖像顯示和保存。

    1 數(shù)據(jù)采集卡驅(qū)動與采集編寫

    為了便于說明LabVIEW語言在數(shù)據(jù)采集卡應(yīng)用中的普遍性,采用了北京雙諾測控技術(shù)有限公司(wwlab)生產(chǎn)的非NI公司的AC6621采集卡為例進行說明。

    1.1 AC6621簡介

    AC6621是雙諾公司生產(chǎn)的一款PCI總線12位中速采集模塊,具有16路模擬輸入、開關(guān)量16路輸入/16路輸出。采用的是PCI總線,支持即插即用、實時采集等功能。其內(nèi)置4KB FIFO,支持全速實時不間斷采集[10]。其主要功能和特點如表1所示:

    表1 AC6621采集卡主要參數(shù)

    其外觀如圖1所示:

    圖1 AC6621采集卡外觀圖

    1.2 AC6621動態(tài)鏈接庫驅(qū)動編寫

    為了能夠使采集卡正常工作,首先我們要調(diào)用廠家提供的動態(tài).dll函數(shù)庫編寫驅(qū)動。動態(tài)鏈接庫(DLL,是Dynamic Link Library的縮寫形式),是一個包含可由多個程序同時使用的代碼和數(shù)據(jù)的庫,它不是可執(zhí)行文件,但有助于共享數(shù)據(jù)和資源,可以由多個應(yīng)用程序同時訪問內(nèi)存中單個DLL內(nèi)容,從而可以避免多程序調(diào)用時內(nèi)存資源的浪費。LabVIEW 在調(diào)用DLL中的函數(shù)時要知道函數(shù)的參數(shù)、類型、返回值、DLL庫文件的位置等信息。

    圖2 調(diào)用庫函數(shù)設(shè)置對話框

    實驗涉及的數(shù)據(jù)采集卡為上述的AC6621板卡,其自帶了 Windows下的驅(qū)動程序庫AC6621.dll,庫內(nèi)包含了所有數(shù)據(jù)采集應(yīng)用的函數(shù),如:打開設(shè)備函數(shù)(HANDLE AC6621_OpenDevice),查詢并回讀采樣數(shù)據(jù)函數(shù)(AC6621_ReadAD)等,在這里不一一詳細說明,可以參看其說明書內(nèi)容。在這里我們使用的是LabVIEW 8.2中文版本。根據(jù)上述調(diào)用“庫函數(shù)節(jié)點”來調(diào)用.dll文件根據(jù)所需要的內(nèi)容進行配置。“庫名和路徑”為所要調(diào)用的AC6621.dll文件的路徑和名稱?!昂瘮?shù)名”選項為要調(diào)用的函數(shù)名稱,在這里我們以打開設(shè)備為例即:AC6621_OpenDevice函數(shù);“調(diào)用規(guī)范”為對庫函數(shù)的調(diào)用規(guī)則在這里選擇“stdcall”標準調(diào)用方式。當調(diào)用自己用C語言編寫的.dll文件時選擇“C”選項,具體的C語言編寫例程可以參看相關(guān)書籍[11]。

    接下來是對參數(shù)選項的設(shè)置,選擇圖1中的“參數(shù)”項。根據(jù)調(diào)用的函數(shù),在此項設(shè)置下添加和設(shè)置相應(yīng)的參數(shù),參數(shù)名稱、類型和數(shù)據(jù)類型都要與被調(diào)用函數(shù)中的參數(shù)名相同。在這里打開設(shè)備只包含一個參數(shù)即設(shè)備號可以設(shè)置為:dev_num,類型為:數(shù)值型,數(shù)據(jù)類型為:有符號32位整型。設(shè)置完成后該打開設(shè)備的函數(shù)原型為:unsigned long AC6621_OpenDevice(long dev_num)。最終配置完成的打開設(shè)備子Vi如下圖所示:

    其它函數(shù)依照此方法進行編譯,最終編譯完成5個類似子Vi,其順序結(jié)構(gòu)依次分別是:AC6621_OpenDevice.vi(打開設(shè)備)→AC6621_AD.vi(采樣參數(shù)并啟動AD采用)→AC6621_ReadAD.vi(查詢并回讀采樣數(shù)據(jù))→AC6621_StopAD.vi(停止采樣)→AC6621_CloseDevice.vi(關(guān)閉設(shè)備)。

    圖3 配置完成的打開設(shè)備子Vi圖

    1.3 采集程序編寫

    根據(jù)上面編寫完成的函數(shù)驅(qū)動子Vi,接下來就是外部的編程和連線。根據(jù)采樣原理和所需要設(shè)置的采集卡變量事先預留變量輸入控件,如:采樣頻率、量程選擇、內(nèi)外觸發(fā)等輸入控件。因為數(shù)據(jù)采集是按順序進行的,因此我們采用“平鋪式順序結(jié)構(gòu)”控件進行采集的順序進行?!捌戒伿巾樞蚪Y(jié)構(gòu)”控件分為三部分,第一步是打開AC6621采集卡設(shè)備(圖4A);第二部是進行采集卡的設(shè)置、采樣和讀取,讀取完畢以后要暫停采集卡讀?。▓D4 B);第三部是采樣完畢關(guān)閉采集卡設(shè)備(圖4C)。

    圖4 平鋪式順序結(jié)構(gòu)控件三步走

    數(shù)據(jù)采集到以后要進行數(shù)據(jù)轉(zhuǎn)換為真實值,假設(shè)采集到的數(shù)組為變量:data為12位轉(zhuǎn)換結(jié)果=16位讀入數(shù)據(jù)/16。同時要根據(jù)所設(shè)置的輸入電壓關(guān)系進行轉(zhuǎn)換,在這里選擇的是±5V檔位,因此其變換關(guān)系為:

    實際電壓值

    RealData= (data-2048)*5000.0/2048.0(mV)

    并且為了采樣數(shù)據(jù)的準確性,采用了簡單的50組數(shù)字平均方式進行信號的處理和信號數(shù)據(jù)的存儲。以上數(shù)據(jù)轉(zhuǎn)換、信號平均和數(shù)據(jù)存儲框圖如圖5所示:

    圖5 數(shù)據(jù)轉(zhuǎn)換,信號50次平均和數(shù)據(jù)存儲

    2 溫度采集系統(tǒng)

    為了驗證系統(tǒng)設(shè)計的實用性,我們采用了以熱電偶為基礎(chǔ)信號的溫度采集系統(tǒng),使該溫度測量設(shè)備置于實驗室空調(diào)房間內(nèi),因為測試情況是夏季朝陽房間,剛進入房間時從溫度計上顯示溫度為32℃,然后打開空調(diào)溫度設(shè)置為26℃,在此過程中LabVIEW溫度采集系統(tǒng)始終保持測量狀態(tài),經(jīng)過近20分鐘時間溫度降低為27℃,并且采集到的數(shù)據(jù)保存在文件中。通過與置于室內(nèi)的溫度計相比較,溫度測試量完全吻合,證明我們設(shè)計的LabVIEW溫度采集程序是符合實際的。

    編寫的LabVIEW軟件前面板如圖6所示,主要顯示包括了數(shù)據(jù)采集卡的基本量控制溫度報警設(shè)置與紅燈報警和聲音報警,溫度實時顯示,日期顯示和開始、退出程序按鈕等。

    圖6 環(huán)境溫度實時測試LabVIEW前面板

    3 結(jié) 論

    LabVIEW作為虛擬儀器開發(fā)過程中最具代表性的圖形化編程語言,是目前國際上應(yīng)用最廣的數(shù)據(jù)采集和控制開發(fā)環(huán)境之一[11],它用圖標、連線和框圖代替?zhèn)鹘y(tǒng)的程序代碼,形象地觀察數(shù)據(jù)的傳輸過程。同時,它具有十分強大的功能,如數(shù)值運算、信號處理、數(shù)據(jù)分析、數(shù)據(jù)采集以及圖形獲取和傳輸?shù)纫呀?jīng)在大學實驗室、科研院所得到了廣泛應(yīng)用。本文中所述基于LabVIEW編寫了國產(chǎn)AC6621采集卡程序并進行了溫度實時測量的實驗驗證。通過儀器軟件的運行可以方便的對室溫進行觀測和數(shù)據(jù)的保存,對大學物理教學過程中的實驗操作有一定的輔助指導作用,并且可以對軟件少量改進就可以對某些燃燒爐、晶體制備、燒蝕溫度等需要測溫環(huán)境的大學物理實驗進行測量和數(shù)據(jù)的記錄。

    [1]胡嘉坤,陸綺榮.基于LabView的礦井瓦斯遠程監(jiān)控系統(tǒng)[J].工礦自動化,2007(2):64-66.

    [2]BISHOPRH.LabVIEW 7實用教程[M].北京:電子工業(yè)出版社,2005.

    [3]王建中,黃林,王伶俐,王應(yīng)輝.基于LabVIEW的“馬呂斯定律驗證”實驗[J].大學物理實驗,2011(4):66-69.

    [4]劉科,周曉林,萬德志,李玲.基于LabVIEW的大學物理虛擬實驗設(shè)計[J].大學物理實驗,2011(6):81-85.

    [5]盛二妮,張志剛.基于LabVIEW的便攜式旋轉(zhuǎn)機械故障診斷系統(tǒng)的研究[J].煤礦機械,2012337251-253.

    [6]馮振元,張震權(quán),徐艷紅,劉祥軍.基于LabVIEW實現(xiàn)的衛(wèi)星射頻部件智能檢測系統(tǒng)[J].現(xiàn)代電子技術(shù),2012(13):128-137.

    [7]周紅仙,周有平,王毅.用自相關(guān)法測量橫向流速[J].物理實驗,2012(5):6-8.

    [8]劉允峰.基于LabVIEW軟件的李薩如圖形的實現(xiàn)[J].大學物理實驗,2009,22(1):97-99.

    [9]張志榮,余嶸華,張帥,束小文,王煜,董鳳忠,劉文清.基于LabVIEW的氧氣濃度實時在線監(jiān)測系統(tǒng)軟件設(shè)計[J].大氣與環(huán)境光學學報,2008(6):454-460.

    [10]http://www.wwlab.com.cn/product/detail.aspx?d=49.

    [11]楊樂平,李海濤,趙勇,等.LabVIEW高級程序設(shè)計[M].北京:清華大學出版社,2003.

    猜你喜歡
    采集卡虛擬儀器控件
    高精度AD采集卡性能測試及評價方法研究
    中國測試(2022年2期)2022-03-19 09:57:30
    關(guān)于.net控件數(shù)組的探討
    軟件(2018年7期)2018-08-13 09:44:42
    PCB 刻制機功能開發(fā)及在虛擬儀器實驗室建設(shè)中的應(yīng)用
    電子制作(2017年13期)2017-12-15 09:00:26
    面向數(shù)控機床的多通道傳感數(shù)據(jù)采集卡設(shè)計
    虛擬儀器及其在電工電子實驗中的應(yīng)用
    電子制作(2017年1期)2017-05-17 03:54:33
    并行高速采樣在地震物理模擬采集中的應(yīng)用
    虛擬儀器技術(shù)在農(nóng)業(yè)裝備測控中的應(yīng)用
    基于虛擬儀器的DMFC實時監(jiān)控系統(tǒng)
    PCI-e高速數(shù)據(jù)采集卡的驅(qū)動與上位機軟件設(shè)計
    電子器件(2015年5期)2015-12-29 08:43:12
    就這樣玩會VBA中常見的自定義控件
    電腦迷(2012年24期)2012-04-29 00:44:03
    恩施市| 珠海市| 西藏| 栖霞市| 汉阴县| 花莲县| 双辽市| 章丘市| 察隅县| 正宁县| 区。| 宁城县| 左云县| 咸丰县| 原平市| 平凉市| 贡觉县| 通江县| 微山县| 正蓝旗| 桃园市| 纳雍县| 德安县| 芷江| 沅陵县| 仁布县| 通许县| 久治县| 赣州市| 广西| 闸北区| 阳春市| 九寨沟县| 平罗县| 理塘县| 射洪县| 昭苏县| 灵宝市| 康保县| 濉溪县| 龙陵县|