數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿_第1頁
數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿_第2頁
數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿_第3頁
數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿_第4頁
數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)采集與儀器驅(qū)動(dòng)演示文稿現(xiàn)在是1頁\一共有105頁\編輯于星期五數(shù)據(jù)采集與儀器驅(qū)動(dòng)現(xiàn)在是2頁\一共有105頁\編輯于星期五第五章數(shù)據(jù)采集與儀器驅(qū)動(dòng)*5.1數(shù)據(jù)采集與控制系統(tǒng)構(gòu)成5.2數(shù)據(jù)采集VI的組織結(jié)構(gòu)5.3基于NI的DAQ系統(tǒng)的實(shí)現(xiàn)5.4非NI的DAQ系統(tǒng)的實(shí)現(xiàn)本章小結(jié)

現(xiàn)在是3頁\一共有105頁\編輯于星期五*5.1數(shù)據(jù)采集、控制系統(tǒng)的構(gòu)成

采用基于PC的數(shù)據(jù)采集(dataacquisition,DAQ)、控制系統(tǒng)來完成實(shí)驗(yàn)室研究和工業(yè)控制中的測控任務(wù)的方案配置是:

工控機(jī)+數(shù)據(jù)采集/控制卡+VB/VC/LabView編程,即:數(shù)據(jù)采集/控制卡:完成一般測試儀器的數(shù)據(jù)采集和控制功能,工控機(jī)系統(tǒng):完成一般測試儀器的數(shù)據(jù)分析、計(jì)算、顯示、輸出等功能。現(xiàn)在是4頁\一共有105頁\編輯于星期五數(shù)據(jù)采集控制系統(tǒng)的組成*現(xiàn)在是5頁\一共有105頁\編輯于星期五模擬信號的數(shù)字化處理*數(shù)據(jù)采集的核心過程就是將連續(xù)的模擬信號轉(zhuǎn)換成離散的數(shù)字信號采樣點(diǎn)太多,會占用大量內(nèi)存單元;采樣點(diǎn)太少,會使模擬信號的某些信息被丟失,出現(xiàn)失真現(xiàn)象現(xiàn)在是6頁\一共有105頁\編輯于星期五數(shù)據(jù)采集卡

數(shù)據(jù)采集卡的組成:①多路開關(guān):將各路信號輪流切換到放大器的輸入端,實(shí)現(xiàn)多參數(shù)多路信號的分時(shí)采集。②放大器:將前一級多路開關(guān)切換進(jìn)入待采集信號放大(或衰減)至采樣環(huán)節(jié)的量程范圍內(nèi)。通常實(shí)際系統(tǒng)中放大器為增益可調(diào)的放大器,設(shè)計(jì)者可根據(jù)輸入信號不同的幅值選擇不同的增益倍數(shù)。

③采樣/保持器:取出待測信號在某一瞬時(shí)的值(即實(shí)現(xiàn)信號的時(shí)間離散化),并在A/D轉(zhuǎn)換過程中保持信號不變。如被測信號變化很緩慢可不用采樣/保持器。*現(xiàn)在是7頁\一共有105頁\編輯于星期五④A/D轉(zhuǎn)換器:輸入的模擬量轉(zhuǎn)化為數(shù)字量輸出,并完成信號幅值的量化。隨著電子技術(shù)的發(fā)展,目前通常將采樣/保持器同A/D轉(zhuǎn)換器集成在一塊芯片上。以上四個(gè)部分都處在PC計(jì)算機(jī)的前向通道,完成對信號數(shù)據(jù)的采集、放大及模/數(shù)轉(zhuǎn)換任務(wù)。*現(xiàn)在是8頁\一共有105頁\編輯于星期五*需要注意的兩個(gè)問題1、是否使用Buffer?2、是否使用外觸發(fā)啟動(dòng)、停止或同步操作?緩沖(Buffers):

緩沖指的是PC內(nèi)存的一個(gè)區(qū)域(不是數(shù)據(jù)采集卡上的FIFO緩沖),它用來臨時(shí)存放數(shù)據(jù)。使用BufferI/O的情況:需要采集或產(chǎn)生許多樣本,其速率超過了實(shí)際顯示、存儲到硬件,或?qū)崟r(shí)分析的速度。需要連續(xù)采集或產(chǎn)生AC數(shù)據(jù)(>10樣本/秒),并且要同時(shí)分析或顯示某些數(shù)據(jù)。采樣周期必須準(zhǔn)確、均勻地通過數(shù)據(jù)樣本?,F(xiàn)在是9頁\一共有105頁\編輯于星期五*不使用BufferI/O的情況:數(shù)據(jù)組小,如每秒只從兩個(gè)通道之一采集一個(gè)數(shù)據(jù)點(diǎn)。需要縮減存儲器的開支。觸發(fā)(Triggering):觸發(fā)涉及初始化、終止或同步采集事件的任何方法。軟件觸發(fā):可以直接用軟件,例如使用布爾面板控制去啟動(dòng)/停止數(shù)據(jù)采集。硬件觸發(fā):讓板卡上的電路管理觸發(fā)器,控制采集事件的時(shí)間分配,有很高的精確度。現(xiàn)在是10頁\一共有105頁\編輯于星期五*下列情況使用軟件觸發(fā):

用戶需要對所有采集操作有明確的控制。事件定時(shí)不需要非常準(zhǔn)確。下列情況使用硬件觸發(fā):采集事件定時(shí)需要非常準(zhǔn)確。用戶需要削減軟件開支。采集事件需要與外部裝置同步?,F(xiàn)在是11頁\一共有105頁\編輯于星期五*輸入信號類型

不同信號的測量對采集系統(tǒng)的要求是不同的。輸入信號的種類:信號所運(yùn)載信息很廣泛的,比如:狀態(tài)(state)、速率(rate)、電平(level)、形狀(shape)、頻率成分(frequencycontent)。根據(jù)信號運(yùn)載信息方式的不同,可以將信號分為模擬或數(shù)字信號。數(shù)字(二進(jìn)制)信號:開關(guān)信號、脈沖信號。模擬信號:直流、時(shí)域、頻域信號。現(xiàn)在是12頁\一共有105頁\編輯于星期五*現(xiàn)在是13頁\一共有105頁\編輯于星期五*1、數(shù)字信號開關(guān)信:信號運(yùn)載的信息與信號的瞬間狀態(tài)有關(guān)。脈沖信號:信號包括一系列的狀態(tài)轉(zhuǎn)換,信息就包含在狀態(tài)轉(zhuǎn)化發(fā)生的數(shù)目、轉(zhuǎn)換速率、脈沖寬度。2、模擬信號模擬直流信號:靜止的或變化非常緩慢的模擬信號。直流信號最重要的信息是幅度.常見的直流信號有溫度、流速、壓力、應(yīng)變等采集系統(tǒng)在采集模擬直流信號時(shí),需要有足夠的精度以正確測量信號電平,由于直流信號變化緩慢,用軟件計(jì)時(shí)就夠了,不需要使用硬件計(jì)時(shí)?,F(xiàn)在是14頁\一共有105頁\編輯于星期五*模擬時(shí)域信號

模擬時(shí)域信號的運(yùn)載信息:電平隨時(shí)間的變化(波形形狀的特性,如斜度、峰值等),比如心臟跳動(dòng)信號、視頻信號。測量時(shí)域信號的采集系統(tǒng)包括:一個(gè)A/D轉(zhuǎn)換器:A/D的分辨率要足夠高,保證采集數(shù)據(jù)的精度,帶寬要足夠高,用于高速率采樣;一個(gè)采樣時(shí)鐘電路:精確的采樣時(shí)鐘,用于以精確的時(shí)間間隔采樣;一個(gè)觸發(fā)器:觸發(fā)器使測量在恰當(dāng)?shù)臅r(shí)間開始?,F(xiàn)在是15頁\一共有105頁\編輯于星期五*模擬頻域信號

模擬頻域信號與時(shí)域信號類似,然而,從頻域信號中提取的信息是基于信號的頻域內(nèi)容,而不是波形隨時(shí)間變化的特性。比如聲音信號、地球物理信號、傳輸信號等。用于測量一個(gè)頻域信號的系統(tǒng)必須有一個(gè)A/D、一個(gè)簡單時(shí)鐘和一個(gè)用于精確捕捉波形的觸發(fā)器。系統(tǒng)必須有必要的分析功能,用于從信號中提取頻域信息。為了實(shí)現(xiàn)這樣的數(shù)字信號處理,可以使用應(yīng)用軟件或特殊的DSP硬件來迅速而有效地分析信號?,F(xiàn)在是16頁\一共有105頁\編輯于星期五*信號連接方式

1、輸入信號的參考點(diǎn):接地信號、浮動(dòng)信號接地信號:輸入信號的一端直接接地,它的參考點(diǎn)是系統(tǒng)地(如建筑物的地或大地);最常見的接地信號是通過電源插座接入的設(shè)備。浮動(dòng)信號:輸入信號是不連接到建筑物地等絕對參考點(diǎn)的電壓信號,浮動(dòng)信號源常見的有:電池及其供電設(shè)備、熱電偶、變壓器等設(shè)備?,F(xiàn)在是17頁\一共有105頁\編輯于星期五*2、差分測量系統(tǒng)輸入信號的正負(fù)極分別接入兩個(gè)通道,所有輸入信號各自有自己的參考點(diǎn)?,F(xiàn)在是18頁\一共有105頁\編輯于星期五*3、參考地單端測量系統(tǒng)(RSE)用于測試浮動(dòng)輸入信號。被測信號一端接模擬輸入通道,另一端(信號參考點(diǎn))與系統(tǒng)地AIGND連接?,F(xiàn)在是19頁\一共有105頁\編輯于星期五*4、無參考地單端測量系統(tǒng)(NRSE)

它的一端接模擬輸入通道,另一端接一個(gè)公用參考端AISENSE,這個(gè)參考端電壓不一定于測量系統(tǒng)地AIGND相等?,F(xiàn)在是20頁\一共有105頁\編輯于星期五*數(shù)據(jù)采集卡的基本性能指標(biāo)

數(shù)據(jù)采集卡的主要性能指標(biāo):1、模擬信號輸入部分

模擬輸入通道數(shù)。該參數(shù)表明數(shù)據(jù)采集卡所能夠采集的最多的信號路數(shù)。

信號的輸入方式。一般待采集信號的輸入方式有:l

單端輸入:即信號的其中一個(gè)端子接地。l

差動(dòng)輸入:即信號兩端均浮地。l

單極性:信號幅值范圍為[0,A],A為信號最大幅值。l

雙極性:信號幅值范圍為[–A,A]?,F(xiàn)在是21頁\一共有105頁\編輯于星期五*③

模擬信號的輸入范圍(量程):

一般根據(jù)信號輸入特性的不同(單極性輸入還是雙極性輸入)有不同的輸入范圍。如對單極性輸入,典型值為0~10V,對雙極性輸入,典型值為–5V~5V。④

放大器增益:⑤

模擬輸入阻抗:采集卡固有參數(shù),一般不由用戶設(shè)置?,F(xiàn)在是22頁\一共有105頁\編輯于星期五混疊干擾*圖中采樣頻率500Hz,5個(gè)正弦波的頻率分別為100Hz,200Hz,300Hz,375Hz和400Hz。因?yàn)?00Hz,200Hz的信號頻率小于fs/2,可以由離散信號還原出原始的正弦波連續(xù)信號。而300Hz,375Hz和400Hz的信號頻率都大于fs/2,故離散信號重構(gòu)原信號時(shí)形成了頻率不同于原信號頻率的信號,即混疊干擾

采樣速率:式中N為多通道數(shù)據(jù)采集系統(tǒng)的通道數(shù)?,F(xiàn)在是23頁\一共有105頁\編輯于星期五*位數(shù)b:

A/D轉(zhuǎn)換器輸出二進(jìn)制數(shù)的位數(shù)。當(dāng)輸入電壓由U=0增至滿量程值U=UH時(shí),一個(gè)八位(b=8)A/D的數(shù)字輸出由八個(gè)“0”變?yōu)榘藗€(gè)“1”,共計(jì)變化2b個(gè)狀態(tài),故A/D轉(zhuǎn)換器產(chǎn)生一個(gè)最低有效位數(shù)字量的輸出改變量,相應(yīng)的輸入量Umin=1LSB=q(量化值)可由下式計(jì)算:分辨率:指數(shù)據(jù)采集卡可分辨的輸入信號最小變化量。

現(xiàn)在是24頁\一共有105頁\編輯于星期五采集卡基本參數(shù)以NI公司的PCI-6071E多功能采集卡為例,介紹采集卡的一般參數(shù):模擬輸入:64路單端/32路雙端,輸入范圍:±10V分辨率:12位采樣頻率:最高1.25M模擬輸出:2路,12位,1M,輸出范圍:±10V數(shù)字I/O:8路計(jì)數(shù)器:2路,24位,基準(zhǔn)時(shí)鐘20MHz或100KHz*現(xiàn)在是25頁\一共有105頁\編輯于星期五*數(shù)據(jù)采集卡的參數(shù)設(shè)置

要使數(shù)據(jù)采集卡正確地實(shí)現(xiàn)數(shù)據(jù)采集的功能,必須根據(jù)實(shí)際測量的需要對一些參數(shù)進(jìn)行正確設(shè)置。待設(shè)置的參數(shù)主要有數(shù)據(jù)采集卡的設(shè)備號、地址碼,此外,還有如下設(shè)置。1、模擬信號輸入部分①設(shè)置信號的輸入方式。單端輸入還是雙端輸入,單極性信號還是雙極性信號等。②選擇增益。根據(jù)輸入信號幅值范圍和分辨率的要求進(jìn)行增益選擇。③選擇量程。根據(jù)輸入信號是單極性還是雙極性,相應(yīng)選擇合適的量程?,F(xiàn)在是26頁\一共有105頁\編輯于星期五*2、A/D轉(zhuǎn)換部分①設(shè)定信號輸入通道號。②設(shè)定采樣點(diǎn)數(shù)。③設(shè)定采樣速率。④采樣結(jié)果的輸出方式。采樣結(jié)果可放在一個(gè)數(shù)組中,也可放在某一緩沖區(qū)中。⑤采樣觸發(fā)方式。一般分外觸發(fā)、定時(shí)觸發(fā)、軟件觸發(fā)等3、D/A轉(zhuǎn)換部分①模擬信號的輸出通道號。②模擬信號的輸出幅值。此參數(shù)應(yīng)設(shè)置在標(biāo)稱滿量程范圍內(nèi)。③刷新速率。該參數(shù)決定所產(chǎn)生的模擬信號波形的“光滑度”。最快刷新速率的倒數(shù)即為響應(yīng)時(shí)間?,F(xiàn)在是27頁\一共有105頁\編輯于星期五*5.2DataAcquisitionVI的組織結(jié)構(gòu)

在LabVIEW平臺,用軟件驅(qū)動(dòng)I/O接口數(shù)據(jù)采集卡,實(shí)現(xiàn)數(shù)據(jù)采集分以下兩種情況:

LabVIEW支持的數(shù)據(jù)采集卡:如NI公司自行生產(chǎn)的各類數(shù)據(jù)采集卡,可利用LabVIEW自帶的驅(qū)動(dòng)函數(shù)驅(qū)動(dòng)。設(shè)計(jì)者只需正確設(shè)置輸入?yún)?shù)就可實(shí)現(xiàn)數(shù)據(jù)采集的任務(wù),而不需編寫代碼程序。LabVIEW不支持的數(shù)據(jù)采集卡:可利用LabVIEW的代碼嵌入功能(CIN模塊)等來實(shí)現(xiàn)采集卡的軟件驅(qū)動(dòng)?,F(xiàn)在是28頁\一共有105頁\編輯于星期五*

LabVIEW數(shù)據(jù)采集模塊的分類

LabVIEW的功能模板(FunctionsPalette)提供了DataAcquisition驅(qū)動(dòng)數(shù)據(jù)采集卡DAQ子模板,該子模板提供了六個(gè)子模塊,如圖所示?,F(xiàn)在是29頁\一共有105頁\編輯于星期五*DataAcquisition子模板上的圖標(biāo)及名稱現(xiàn)在是30頁\一共有105頁\編輯于星期五*A/D部分易用函數(shù)中級函數(shù)高級函數(shù)實(shí)用函數(shù)現(xiàn)在是31頁\一共有105頁\編輯于星期五(1)易用函數(shù)

1.波形輸入AIAcquireWaveform.vi圖標(biāo)及端口參數(shù)(單通道單點(diǎn)采樣)*現(xiàn)在是32頁\一共有105頁\編輯于星期五2多波形圖標(biāo)及其輸入、輸出端口參數(shù)

*現(xiàn)在是33頁\一共有105頁\編輯于星期五(2)中級函數(shù)

1.AIConfig.vi圖標(biāo)及其輸入、輸出端口參數(shù)

*現(xiàn)在是34頁\一共有105頁\編輯于星期五2.AIStart.vi圖標(biāo)及其輸入、輸出端口參數(shù)

*現(xiàn)在是35頁\一共有105頁\編輯于星期五3.AIRead.vi圖標(biāo)及其輸入、輸出端口參數(shù)

*現(xiàn)在是36頁\一共有105頁\編輯于星期五4.AIClear.vi圖標(biāo)及其輸入、輸出端口參數(shù)

*現(xiàn)在是37頁\一共有105頁\編輯于星期五LabVIEW中的模擬輸入*現(xiàn)在是38頁\一共有105頁\編輯于星期五連續(xù)模擬輸入*現(xiàn)在是39頁\一共有105頁\編輯于星期五連續(xù)模擬輸入需要注意,程序讀取數(shù)據(jù)的速度要不慢于設(shè)備往緩沖區(qū)中存放數(shù)據(jù)的速度,這樣才能保證連續(xù)運(yùn)行時(shí),緩沖區(qū)中的數(shù)據(jù)不會溢出??梢酝ㄟ^調(diào)節(jié)以下3個(gè)參數(shù)來達(dá)到上述要求:buffersize(緩存的大小)scanrate(采樣速率)numberofscanstoreadatatime(每次讀取的樣本數(shù))連續(xù)采集的程序模型為:*現(xiàn)在是40頁\一共有105頁\編輯于星期五連續(xù)模擬輸入程序?qū)嵗?現(xiàn)在是41頁\一共有105頁\編輯于星期五LabVIEW中的模擬輸出*現(xiàn)在是42頁\一共有105頁\編輯于星期五連續(xù)模擬輸出有兩種形式的連續(xù)模擬輸出:第一種就是在模擬輸出之前,將數(shù)字信號寫入緩沖區(qū)中,然后設(shè)備連續(xù)不斷地將緩沖區(qū)中的數(shù)據(jù)通過DAC重復(fù)輸出。這種連續(xù)模出執(zhí)行效率很高,但是需要寫入的數(shù)字信號必須是整周期的,不然輸出模擬信號將會不連續(xù),在使用上不夠靈活。*現(xiàn)在是43頁\一共有105頁\編輯于星期五第二種方式:

在設(shè)備將緩沖區(qū)中數(shù)據(jù)輸出的同時(shí),不斷地將數(shù)字信號寫入緩沖區(qū)中,這種方式在編程上比較復(fù)雜,但是靈活性比較高,只要保證這一次寫入緩沖區(qū)的數(shù)字信號和上次是連續(xù)的就行,不需要每次寫入的信號是整周期的。*現(xiàn)在是44頁\一共有105頁\編輯于星期五LabVIEW中的數(shù)字I/O一般情況下,數(shù)字I/O按照TTL邏輯電平設(shè)計(jì),其邏輯低電平在0到0.7V之間,高電平在3.4到5.0V之間;在硬件設(shè)備上,多路(Line)數(shù)字I/O組成一組后被稱為端口(Port)。一個(gè)端口由多少個(gè)數(shù)字通路組成是依據(jù)其設(shè)備而定的,在多數(shù)情況下8個(gè)數(shù)字通路組成一個(gè)端口;在LabVIEW中對數(shù)字I/O的操作非常簡單,可以對整個(gè)端口進(jìn)行操作,也可以對端口中的一路或多路同時(shí)進(jìn)行操作。*現(xiàn)在是45頁\一共有105頁\編輯于星期五*5.3基于的NIDAQ系統(tǒng)的實(shí)現(xiàn)

I/O接口設(shè)備Lab–PC–1200型數(shù)據(jù)采集卡的軟件驅(qū)動(dòng)

連續(xù)信號的采集與顯示演示儀。

1.功能描述該信號的采集演示儀可以采集和顯示一路信號,參數(shù)為:頻率范圍:0~10kHz。幅值范圍:0.1~6V。采用Lab–PC–1200型卡,信號由第0通道輸入?,F(xiàn)在是46頁\一共有105頁\編輯于星期五*2.設(shè)計(jì)步驟在編寫VI之前,需在Measurement&Automation驅(qū)動(dòng)軟件下,進(jìn)行相關(guān)參數(shù)的設(shè)置。設(shè)置完畢后,進(jìn)入LabVIEW進(jìn)行前面板和流程圖的設(shè)計(jì)。

1)參數(shù)設(shè)置AI設(shè)置項(xiàng):因?yàn)檩斎胄盘柗翟?.1~6V,故選模擬信號輸入方式為有參考地單端輸入;量程為0~10V?,F(xiàn)在是47頁\一共有105頁\編輯于星期五*(a)前面板連續(xù)信號的采集與顯示演示儀現(xiàn)在是48頁\一共有105頁\編輯于星期五*連續(xù)信號的采集與顯示演示儀(b)流程圖現(xiàn)在是49頁\一共有105頁\編輯于星期五幾種簡單的測試程序流程模型程序邏輯簡單,容易設(shè)計(jì)和理解1、順序測試程序的模型現(xiàn)在是50頁\一共有105頁\編輯于星期五2、數(shù)據(jù)采集和后續(xù)工作并行執(zhí)行的模型數(shù)據(jù)采集的速度一般來說高于處理和存儲的速度。當(dāng)新數(shù)據(jù)被采集來,上次的數(shù)據(jù)可能還沒處理完呢。所以可以先把每次采集到的來不及處理的數(shù)據(jù)放在緩存里。現(xiàn)在是51頁\一共有105頁\編輯于星期五3、并行執(zhí)行每一任務(wù)的模型所有的任務(wù)同時(shí)運(yùn)行:采集新的數(shù)據(jù)、處理上一次采到的數(shù)據(jù),顯示保存上一次處理好的數(shù)據(jù)。在這個(gè)模型下,要注意第一次循環(huán)運(yùn)行時(shí)處理的數(shù)據(jù),和循環(huán)頭兩次運(yùn)行顯示存儲的數(shù)據(jù)是無效的,實(shí)際循環(huán)終止條件式也要考慮到,采集的數(shù)據(jù)再兩次循環(huán)后才被保存下來。現(xiàn)在是52頁\一共有105頁\編輯于星期五*5.4使用NIDAQ設(shè)備和LabVIEW構(gòu)造PID控制系統(tǒng)

PID是根據(jù)系統(tǒng)誤差利用比例/微分/積分計(jì)算出控制量進(jìn)行控制。

1.PID控制系統(tǒng)結(jié)構(gòu)圖

現(xiàn)在是53頁\一共有105頁\編輯于星期五*

2.PID控制算法P比例控制器:輸出僅與誤差成正比,即u(t)=Kpε(t),對誤差的反應(yīng)很快,但總是存在一個(gè)穩(wěn)態(tài)誤差。提高Kp值使穩(wěn)態(tài)誤差減小,還能夠增加系統(tǒng)的快速性;但使系統(tǒng)的穩(wěn)定程度變差。

I積分控制器:輸出與誤差信號的積分成正比,只要誤差還存在,就會不斷輸出,直到等于零,以達(dá)到消除穩(wěn)態(tài)誤差的目的。但積分必將影響系統(tǒng)的快速動(dòng)態(tài)性能,對于一些系統(tǒng)會出現(xiàn)超調(diào)過大的現(xiàn)象。D微分控制器:輸出與誤差信號的變化率成正比,能預(yù)見誤差的變化趨勢,產(chǎn)生超前的控制作用。它僅對動(dòng)態(tài)過程作用,通常不單獨(dú)使用。而且微分控制對噪聲干擾有放大作用,過強(qiáng)地調(diào)節(jié)微分項(xiàng)對系統(tǒng)抗干擾能力不利。

現(xiàn)在是54頁\一共有105頁\編輯于星期五*3.LabVIEW中使用的PID控制工具包

安裝LabVIEWPIDControlTookit,即可在FunctionsPalette上選擇ControlDesign&Simulation,該工具包由10個(gè)VI組成?,F(xiàn)在是55頁\一共有105頁\編輯于星期五*PID.vi

利用PID.vi即可搭建一個(gè)簡單的PID控制器,在該vi的輸入端給入PID的3個(gè)參數(shù)值(PIDgains),系統(tǒng)反饋值(processvariable),實(shí)際期望值(setpoint)以及微分時(shí)間(dt),便能得到需要的輸出值(output)。該vi還能控制輸出值的范圍。現(xiàn)在是56頁\一共有105頁\編輯于星期五*PIDAdvanced.vi:為專家PID設(shè)計(jì)的vi,增加了一些高級的功能,如可以設(shè)定期望值的范圍(setpointrange),手動(dòng)控制(manualcontrol),線性化(linearity)等功能。PIDAutotuning.vi:為需要自整定的PID系統(tǒng)設(shè)計(jì)的,在給出一些基本要求后,具有自整定的功能PIDLead/Lag.vi:可以對PID控制器前端由系統(tǒng)反饋來的輸入信號做動(dòng)態(tài)補(bǔ)償。PIDSetpointProfile.vi:可以在期望值間斷性變化時(shí)使其變得平滑?,F(xiàn)在是57頁\一共有105頁\編輯于星期五*PIDControlInputFilter.vi:一個(gè)五階的低通濾波器,放在PID控制器的processvariable前端,可以濾去小于采樣率十分之一的輸入值。PIDGainSchedule.vi:寫入幾組增益參數(shù),并給出條件,執(zhí)行時(shí)當(dāng)輸入信號達(dá)到條件,便使用對應(yīng)的一組參數(shù)給入到PID控制器的PIDGains上。PIDOutputLimiter.vi:對PID控制器輸出信號的變化速率進(jìn)行控制,以保證外部接受控制信號部件的安全。PIDEGUto%.vi和PID%toEGU.vi:對實(shí)際數(shù)值和其在設(shè)定工程單元范圍內(nèi)占的百分比進(jìn)行轉(zhuǎn)換?,F(xiàn)在是58頁\一共有105頁\編輯于星期五*現(xiàn)在是59頁\一共有105頁\編輯于星期五*5.5非NI公司的DAQ系統(tǒng)的實(shí)現(xiàn)1、直接調(diào)用LabVIEW驅(qū)動(dòng)操作圖標(biāo)

2、直接調(diào)用LabVIEW的端口操作圖標(biāo);

3、調(diào)用動(dòng)態(tài)連接庫;

4、利用CIN圖標(biāo)調(diào)用C語言驅(qū)動(dòng)程序;現(xiàn)在是60頁\一共有105頁\編輯于星期五*直接調(diào)用LabVIEW驅(qū)動(dòng)操作圖標(biāo)(研華)

現(xiàn)在是61頁\一共有105頁\編輯于星期五*現(xiàn)在是62頁\一共有105頁\編輯于星期五*直接調(diào)用LabVIEW的端口InPort/OutPort.Vi

LabVIEW中有兩個(gè)可直接訪問底層設(shè)備的圖標(biāo),即InPort.vi和OutPort.vi。分別完成從設(shè)備的物理地址直接讀取和輸出數(shù)據(jù)的功能。現(xiàn)在是63頁\一共有105頁\編輯于星期五*InPort.vi、OutPort.vi圖標(biāo)端口參數(shù)設(shè)置

1.InPort.vi圖標(biāo)及其端口參數(shù)設(shè)置現(xiàn)在是64頁\一共有105頁\編輯于星期五*該函數(shù)完成從指定地址讀取一個(gè)字節(jié)或一個(gè)字的操作,其輸入、輸出口參數(shù)及其含義為:輸入端口:

registeraddress:U32型。數(shù)據(jù)讀入端口的物理地址。readabyteoraword:Boolean型。當(dāng)該值為True時(shí),讀取一個(gè)字;當(dāng)該值為False時(shí),讀取一個(gè)字節(jié)。默認(rèn)值為False。

輸出端口:value:U16型。該值是從指定端口讀取的字(或字節(jié))?,F(xiàn)在是65頁\一共有105頁\編輯于星期五*OutPort.vi圖標(biāo)及其端口參數(shù)設(shè)置

該函數(shù)完成向指定地址寫入一個(gè)字或字節(jié)的操作。其輸入端口參數(shù)及其含義為:現(xiàn)在是66頁\一共有105頁\編輯于星期五

CLF(CallLibraryFunctionNode)

調(diào)用庫函數(shù)節(jié)點(diǎn)

Labview可以與多種類的編程語言進(jìn)行混合開發(fā),通過Labview中兩類外部接口節(jié)點(diǎn)調(diào)用外部代碼.調(diào)用庫函數(shù)節(jié)點(diǎn):調(diào)用外部動(dòng)態(tài)鏈接庫DLL文件中的函數(shù);代碼接口節(jié)點(diǎn):調(diào)用外部c語言代碼,*CLF節(jié)點(diǎn)最為常用,配合其他C語言編譯器基本上可以取代CIN節(jié)點(diǎn)現(xiàn)在是67頁\一共有105頁\編輯于星期五動(dòng)態(tài)鏈接庫DLL可以理解為一種存儲函數(shù)、變量或類的倉庫,供調(diào)用者使用。它具有這樣的特點(diǎn):動(dòng)態(tài)鏈接庫不用被包含在調(diào)用程序體內(nèi),而是在執(zhí)行時(shí)根據(jù)需要?jiǎng)討B(tài)地加載或卸載,這樣不僅可以減少調(diào)用程序文件的體積,還可以增強(qiáng)調(diào)用的靈活性,并節(jié)省內(nèi)存占用量。DLL文件的創(chuàng)建與具體編程語言和編譯器無關(guān),可以便用VC、VB也可以使用Labview編寫DLL文件,只要遵守統(tǒng)一的DLL接口和調(diào)用規(guī)范,就可正常使用。*動(dòng)態(tài)鏈接庫DLL的特點(diǎn)現(xiàn)在是68頁\一共有105頁\編輯于星期五使用CLF節(jié)點(diǎn)調(diào)用windowsAPI函數(shù)實(shí)例

設(shè)計(jì)步驟:(1)新建一個(gè)空.vi并保存為“CLPAPI函數(shù).vi”,向框圖內(nèi)拖入一個(gè)CLF節(jié)點(diǎn),在其右鍵菜單中選擇“配置.”項(xiàng),彈出配置對話框;*現(xiàn)在是69頁\一共有105頁\編輯于星期五(2)單擊對話框“函數(shù)”頁面中“庫名或路徑”框右側(cè)的打開文件按鈕,選揮“C:\WINDOWS\system32\user32d11”文件,LabVIEW會自動(dòng)搜出該DLL中所包含的所有函數(shù),只需在“函數(shù)名”下拉列表今選擇即可。本例中選擇名為“MessageBoxA,的函數(shù),用于彈出一個(gè)標(biāo)標(biāo)準(zhǔn)的Windows消息框。右側(cè)的“線程”單選框選為“在UI線程中運(yùn)行’,“調(diào)用規(guī)范”單選框選為”stdcall(WINAPI)”。*現(xiàn)在是70頁\一共有105頁\編輯于星期五*(3)對話框“參數(shù)”頁面用于配置函數(shù)參數(shù),需根據(jù)所調(diào)用函數(shù)的原型來進(jìn)行配置,由MSDN可知:MessageBoxA函數(shù)的原型:

IntMessageBoxA(HWNDhwnd,LpcTSTRlptext,LpcTsTRlpcaption,Uintwtype)其各個(gè)參數(shù)具體含義為

hwnd:創(chuàng)建消息框的父窗口的句柄,若為NuLL則沒有父窗口1pText:消息框牛的字符串.1pcaPtton:消息框標(biāo)題Mtype:用于指定消息框所顯示圖標(biāo)和按鈕的控制參數(shù)。(現(xiàn)在是71頁\一共有105頁\編輯于星期五*使用該頁面中的右側(cè)下拉列表和左側(cè)的各個(gè)按鈕,將返回值和各個(gè)參數(shù)類型設(shè)置為:

Returetype:類型=數(shù)值,數(shù)據(jù)類型=無符號32位整型

hwnd:類型=數(shù)值,數(shù)據(jù)類型=無符號32拉整型,傳遞=值

1PText:類型=字符串,數(shù)據(jù)類型=C字符串指針

1pcaption:類型=字符串,數(shù)據(jù)類型=字符串指針

uType:類型=數(shù)值,數(shù)據(jù)類型=無符號32位整型,傳遞=值其他選項(xiàng)均使用默認(rèn)值。(4)對話框“回調(diào)”頁面用于指定調(diào)用方式,在此使用默認(rèn)配置即可。全部配置好之后單擊‘確定”按鈕進(jìn)行確認(rèn),可以看到CLF節(jié)點(diǎn)增添了一些連接端子表示新添的參數(shù),添加適當(dāng)?shù)某A炕蜃兞窟B接至各個(gè)參數(shù)。現(xiàn)在是72頁\一共有105頁\編輯于星期五*5.5.4CIN(CodeInterfaceNode)CIN的設(shè)計(jì)步驟:(1)確定CIN圖標(biāo)的輸入、輸出參數(shù)個(gè)數(shù)和數(shù)據(jù)類型。(2)生成C源代碼編輯格式文件。(3)在編輯格式文件中的規(guī)定位置(/*EnterYourCodeHere*/)填寫實(shí)現(xiàn)某種測量功能的C源代碼,生成最終的C源代碼文件。(4)在LabVIEW指定的環(huán)境下編譯步驟(3)中生成的C源代碼文件,并生成可執(zhí)行文件。(5)調(diào)用CIN的功能菜單將生成的可執(zhí)行文件載入CIN圖標(biāo)。這樣就基本形成了一個(gè)具備某種功能的CIN圖標(biāo)?,F(xiàn)在是73頁\一共有105頁\編輯于星期五*CIN圖標(biāo)的調(diào)用及參數(shù)設(shè)置初始化時(shí)的CIN圖標(biāo)如圖所示。CIN圖標(biāo)中表格狀圖案的每一行代表一個(gè)參數(shù),左側(cè)為參數(shù)的輸入值,右側(cè)為CIN運(yùn)行后該參數(shù)的返回值。參數(shù)1輸入口參數(shù)1返回值的輸出口有些情況下,有的參數(shù)只能作為輸出值,而沒有對應(yīng)的輸入。如實(shí)現(xiàn)c=a+b運(yùn)算時(shí),c是CIN的運(yùn)行結(jié)果,它只能是輸出值,沒有對應(yīng)的輸入值,這時(shí)應(yīng)當(dāng)將其對應(yīng)的輸入口置為無效。方法是,把鼠標(biāo)放在相應(yīng)的輸入口,用鼠標(biāo)右擊CIN圖標(biāo),彈出快捷菜單,從中選擇OnlyOutput項(xiàng),則該輸入口變暗,表明其無效無效a返回值b返回值CIN輸出b輸入值a輸入值現(xiàn)在是74頁\一共有105頁\編輯于星期五*生成C源代碼編輯格式文件(*.C文件)代碼框架

CIN圖標(biāo)的快捷菜單中選擇Create.CFile…項(xiàng),會彈出一個(gè)文件存儲對話框,鍵入文件名

則生成LabVIEW的C語言代碼框架;然后用任意一種文本編輯器將它打開。該C文件的代碼框架為*CINsourcefile*/注釋#include"extcode.h"CINMgErrCINRun(float64*a,float64*b,float64*c);函數(shù)聲明CINMgErrCINRun(float64*a,float64*b,float64*c) 函數(shù)體{

/*ENTERYOURCODEHERE*/填入C語言源代碼

returnnoErr; }現(xiàn)在是75頁\一共有105頁\編輯于星期五**.C文件源代碼的編譯

下面介紹在VC++集成環(huán)境下編譯*.C源代碼的具體步驟。(1)新建一個(gè)DLL工程文件,命名為Add。打開VC++開發(fā)平臺,執(zhí)行File>>New操作。①進(jìn)行選項(xiàng):win32DynamicLinkLibrary。②添加工程文件名:Add。③location:填寫工程文件的存放路徑。也可以采用其默認(rèn)路徑D:\MicrosoftVisualStudio\MyProjects\。最后形成工程文件add.cpp?,F(xiàn)在是76頁\一共有105頁\編輯于星期五*(2)向工程文件中添加cin.obj、labview.lib、lvsb.lib、lvsbmain.def四個(gè)文件。執(zhí)行Project>>AddtoProject>>Files…操作,向工程文件添加上述四個(gè)文件。這四個(gè)文件在LabVIEW安裝路徑下的cintools文件夾下的win32子文件夾中。(3)向工程文件中添加上面的*.C源代碼文件add.c。添加方法同(2)。(4)*.C源代碼文件編譯前的設(shè)置。由菜單項(xiàng)Project>>Setting…打開設(shè)置對話框,逐項(xiàng)設(shè)置。①

Settingfor選項(xiàng)設(shè)置。AllConfiguration。②

C/C++標(biāo)簽頁設(shè)置。用鼠標(biāo)左擊C/C++標(biāo)簽頁按鈕,逐項(xiàng)設(shè)置?,F(xiàn)在是77頁\一共有105頁\編輯于星期五*l

Category:由下拉菜單選擇為Preprocessor。Additionalincludedirectories:添加LabVIEW的cintools文件夾的路徑。假設(shè)LabVIEW安裝路徑為d:\LabVIEW,則在Additionalincludedirectories處添加路徑d:\LabVIEW\cintools\。l

Category:由下拉菜單另選為CodeGeneration。Strictmemberalignment:設(shè)置為1Byte。Userun-timelibrary:設(shè)置為MultithreadedDLL?,F(xiàn)在是78頁\一共有105頁\編輯于星期五*③CustomBuild標(biāo)簽頁設(shè)置。用鼠標(biāo)左擊CustomBuild標(biāo)簽頁,逐項(xiàng)設(shè)置。l

Commands:輸入命令行如下:d:\labview\cintools\win32\lvsbutil$(TargetName)–d“$(WkspDir)\$(OurDir)”(假設(shè)LabVIEW的安裝路徑為:d:\labview。)l

Outputs:輸入命令行如下:$(OutDir)$(TargetName).lsb現(xiàn)在是79頁\一共有105頁\編輯于星期五*(5)添加C源代碼程序??稍赪orkspacewizard窗口中雙擊add.c,打開源文件添加C源代碼。如果已經(jīng)添加過,則繼續(xù)下一步。(6)編譯*.C源代碼文件。在主菜單Build下選擇Compileadd.c選項(xiàng),則進(jìn)行add.c程序的編譯,如有語法等錯(cuò)誤,則給出錯(cuò)誤提示,按提示修改程序,重新編譯。重復(fù)這一過程,直至沒有錯(cuò)誤。(7)生成可執(zhí)行文件。在主菜單Build下選擇BuildAdd.dll選項(xiàng),即生成可執(zhí)行文件Add.lsb,同時(shí)生成如Add.dll等所需的全部文件現(xiàn)在是80頁\一共有105頁\編輯于星期五*1.裝載可執(zhí)行文件到CIN圖標(biāo)回到LabVIEW流程圖窗口,窗口中CIN圖標(biāo)的快捷菜單如左圖所示。從中選擇LoadCodeResource…項(xiàng),即彈出一個(gè)Chooseacoderesourcefile對話框,如右圖所示。按照Add.工程文件存入的路徑尋找Debug目錄下的Add.lsb文件,然后點(diǎn)擊“打開”按鈕,于是Add.lsb文件就裝入CIN圖標(biāo)中。至此,就完成了CIN的全部設(shè)計(jì)過程,可運(yùn)行程序?,F(xiàn)在是81頁\一共有105頁\編輯于星期五*5.5.3應(yīng)用舉例

用CIN圖標(biāo)實(shí)現(xiàn)對HY–1232數(shù)據(jù)采集卡的驅(qū)動(dòng)5.3.1HY–1232數(shù)據(jù)采集卡簡介

HY–1232是一種IBM–PCXT/AT總線兼容的數(shù)據(jù)采集卡,其主要性能指標(biāo)如下:

32路單端模擬輸入通道;

A/D分辨率為12bit;1路模擬輸出通道;D/A分辨率為12bit;D/A輸出上電清零;模擬輸入電壓范圍:5V;模擬輸出電壓范圍:5V或0~+5V;軟件觸發(fā)方式;數(shù)據(jù)傳輸方式采用軟件查詢方式和中斷方式?,F(xiàn)在是82頁\一共有105頁\編輯于星期五*HY–1232數(shù)據(jù)采集卡工作原理

對于HY–1232數(shù)據(jù)采集卡,在選通某模擬信號輸入通道的同時(shí)即啟動(dòng)了該路的A/D轉(zhuǎn)換。當(dāng)A/D轉(zhuǎn)換完成時(shí),采集卡上的轉(zhuǎn)換完成位寄存器的最高位(D7)被置為“1”。用軟件查詢方式查詢該寄存器的D7位,當(dāng)查詢到該位為“1”時(shí),即表明采樣已結(jié)束,可將12bit的數(shù)據(jù)讀入計(jì)算機(jī)內(nèi)存中。如果采用中斷方式,則在A/D轉(zhuǎn)換完成后,采集卡會自動(dòng)向計(jì)算機(jī)發(fā)出中斷請求信號。在中斷服務(wù)程序內(nèi),將12bit數(shù)據(jù)讀入計(jì)算機(jī)內(nèi)存?,F(xiàn)在是83頁\一共有105頁\編輯于星期五*HY–1232數(shù)據(jù)采集卡中采用的是12位A/D轉(zhuǎn)換器,轉(zhuǎn)換完畢的12位二進(jìn)制數(shù)中的低八位AD7、AD6…AD1、AD0存放在低八位緩沖寄存器中,其高四位AD11、AD10、AD9、AD8存放在高四位緩沖寄存器中。

HY–1232數(shù)據(jù)采集卡有32路單端模擬輸入通道,由八位輸入通道選擇寄存器低六位(C4、C3、C2、C1、C0)的二進(jìn)制狀態(tài)字選擇被測信號的輸入通道。例如,選擇第4通道輸入信號的二進(jìn)制狀態(tài)字為00100。表5-1列入了各寄存器的讀/寫操作功能與占用地址?,F(xiàn)在是84頁\一共有105頁\編輯于星期五*表5–1HY–1232數(shù)據(jù)采集卡板基地址分配與寄存器讀/寫操作功能現(xiàn)在是85頁\一共有105頁\編輯于星期五*采集卡參數(shù)設(shè)置

(1)確定采集卡的板基地址。板基地址是CPU分配給采集卡內(nèi)存空間的首地址。首地址后面的內(nèi)存空間供采集卡內(nèi)部寄存器分配使用。

HY–1232數(shù)據(jù)采集卡板基地址的可選范圍為:200H~3FFH(512~1023)。通常選0x280,即280H(640)。

(2)確定信號的輸入方式。選擇設(shè)置信號是單端輸入還是雙端輸入,單極性信號還是雙極性信號。HY–1232數(shù)據(jù)采集卡只有32路單端輸入一種方式,故不需要用戶來設(shè)置?,F(xiàn)在是86頁\一共有105頁\編輯于星期五*(3)設(shè)置信號的輸入范圍。根據(jù)輸入信號幅值范圍和分辨率的要求進(jìn)行選擇。HY–1232數(shù)據(jù)采集卡信號輸入范圍不可選,只能為–5V~+5V,且內(nèi)部的放大器增益固定為1。

(4)確定采樣觸發(fā)方式。一般分外觸發(fā)、定時(shí)觸發(fā)、軟件觸發(fā)等幾種方式。但對于HY–1232采集卡,只有軟件觸發(fā)一種方式,即在往輸入通道寄存器寫入所選通道號的同時(shí)即觸發(fā)了A/D轉(zhuǎn)換?,F(xiàn)在是87頁\一共有105頁\編輯于星期五*(5)A/D轉(zhuǎn)換結(jié)束的判斷。對于HY–1232采集卡分查詢方式和中斷方式兩種。

(6)采樣速率的設(shè)置。對于有些數(shù)據(jù)采集卡(如Lab–PC–1200卡),用戶可在其最大采樣速率范圍內(nèi)進(jìn)行選擇設(shè)置,以滿足實(shí)際的需要。但HY–1232數(shù)據(jù)采集卡的采樣速率是固定的,用戶不可選。

(7)設(shè)置信號輸入通道。在0~31可選范圍內(nèi)選擇。

(8)設(shè)置一次采集點(diǎn)數(shù)。現(xiàn)在是88頁\一共有105頁\編輯于星期五*圖2HY–1232數(shù)采卡單點(diǎn)數(shù)據(jù)采集程序流程圖采集程序流程圖與編程要點(diǎn)1.流程圖HY–1232數(shù)采卡單點(diǎn)數(shù)據(jù)采集程序流程圖如圖2所示?,F(xiàn)在是89頁\一共有105頁\編輯于星期五*2.數(shù)據(jù)采集程序HY–1232數(shù)據(jù)采集卡采集一個(gè)點(diǎn)的C源程序如下:#include<dos.h>#include<conio.h>#include<stdio.h>voidmain(void){intbasea,channel;floatvalue,IO,hi;現(xiàn)在是90頁\一共有105頁\編輯于星期五*basea=0x280;/*板基地址設(shè)為640*/printf(“Inputchannelnumber:”); /*設(shè)置采集通道號*/scanf(“%d”,&channel);outp(base,channel); /*往輸入通道寄存器寫入所選通道號,并觸發(fā)A/D轉(zhuǎn)換*/do/*查詢A/D轉(zhuǎn)換完成寄存器的最高位,若為1,則表明A/D換結(jié)束,否則繼續(xù)查詢*/while(!(inp(basea+5)&0x80));lo=inp(base+1); /*讀入A/D結(jié)果的低八位*/hi=inp(base+2)/*讀入A/D結(jié)果的高四位value=((lo+hi&0xf)*256)-2047)*10.0/4096;/*合并后,再將A/D轉(zhuǎn)換的二進(jìn)制結(jié)果轉(zhuǎn)換成對應(yīng)的模擬量值*/getch();}現(xiàn)在是91頁\一共有105頁\編輯于星期五*3.編程要點(diǎn)說明

1)?outp(x,y)和inp(x)函數(shù)

C語言接口函數(shù)①

outp(x,y)函數(shù)的功能是把函數(shù)y送入端口地址為x的寄存器中。

outp(base,channel)是把通道號channel(程序中是由前面板控件設(shè)置)送入地址為base的輸入通道選擇寄存器,并啟動(dòng)該通道的A/D轉(zhuǎn)換。

②inp(x)函數(shù)的功能是從端口地址為x的寄存器中讀取二進(jìn)制數(shù)據(jù)。inp(base+1)從地址為base+1的低八位寄存器讀取A/D轉(zhuǎn)換結(jié)果。inp(base+2)從地址為base+2的高四位寄存器讀取A/D轉(zhuǎn)換結(jié)果二進(jìn)制數(shù)的高四位,并清除A/D完成位寄存器和中斷請求信號。inp(base+5)從地址為base+5的完成位寄存器讀取完成標(biāo)志位I/O顯示值,當(dāng)IO=0時(shí),表示A/D轉(zhuǎn)換未完成;當(dāng)IO=1時(shí),表示A/D轉(zhuǎn)換完畢。

現(xiàn)在是92頁\一共有105頁\編輯于星期五*

3)A/D轉(zhuǎn)換結(jié)果的合并及工程運(yùn)算

hi&oxf是將A/D結(jié)果高四位(二進(jìn)制數(shù))轉(zhuǎn)化為十六進(jìn)制數(shù),(hi&oxf)*256則將十六進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),lo+(hi&0xf)*256將數(shù)據(jù)合并為一個(gè)十進(jìn)制數(shù)。這里,被測信號的輸入范圍設(shè)置為-5V~+5V,HY–1232卡的分辨率為12位,則量化值Q為10.0/4096(V),而十進(jìn)制數(shù)也需減去滿量程的一半:4096/2=2048,由于十進(jìn)制數(shù)從0開始,故滿量程的一半是2047。因此,用value=((lo+hi&oxf)*256)-2047)*10.0/4096就可以將A/D輸出的二進(jìn)制數(shù)轉(zhuǎn)換為與模擬輸入電壓相對應(yīng)的電壓值。

例如,若hi=1011、lo=11010011,那么hi&oxf=0xb,

(hi&oxf)*256=11*266,lo+(hi&oxf)*256=(27+26+24+21+20+11*256=3027,則采集卡的模擬輸入電壓為

value=(3027-2047)*10.0/4096=2.3926V現(xiàn)在是93頁\一共有105頁\編輯于星期五*3具體設(shè)計(jì)方法

1.模擬信號采集系統(tǒng)功能描述使用CIN實(shí)現(xiàn)非LabVIEW支持的HY–1232數(shù)據(jù)采集卡的驅(qū)動(dòng)。要求在LabVIEW下利用HY–1232采集卡實(shí)現(xiàn)一個(gè)模擬信號(200Hz的正弦波)的采集和波形顯示。要求采樣點(diǎn)數(shù)、板基地址和通道號可設(shè)。

2.設(shè)計(jì)提示

1)前面板設(shè)計(jì)數(shù)字控件1:用來設(shè)置HY–1232數(shù)據(jù)采集卡的板基地址?;刂穊asea的數(shù)據(jù)類型選為U16(因?yàn)镠Y–1232的基地址最大為3FFH),默認(rèn)值設(shè)為640(即0x280)。數(shù)字控件2:用來設(shè)置信號的輸入通道。通道號channel的數(shù)據(jù)類型選為U8(因?yàn)镠Y–1232的模擬輸入通道為0~31),默認(rèn)值為0,數(shù)據(jù)范圍為0~31。數(shù)字控件3:用來設(shè)置采樣點(diǎn)數(shù)??偛蓸狱c(diǎn)數(shù)samples的數(shù)據(jù)類型為32,默認(rèn)值設(shè)為100。現(xiàn)在是94頁\一共有105頁\編輯于星期五*模擬信號采集程序前面板現(xiàn)在是95頁\一共有105頁\編輯于星期五*2)流程圖設(shè)計(jì)

(1)放置CIN圖標(biāo),并設(shè)置圖標(biāo)的輸入、輸出參數(shù)個(gè)數(shù)及數(shù)據(jù)類型。①

調(diào)用路徑。由Functions>>Advanced>>CodeInterfaceNode路徑調(diào)入CodeInterfaceNode。②

參數(shù)設(shè)置。本例中,CIN圖標(biāo)有三個(gè)輸入?yún)?shù)——basea、channel、samples和一個(gè)輸出參數(shù)Waveform。Waveform是一個(gè)double型數(shù)組,用于存放采集結(jié)果。參數(shù)數(shù)據(jù)類型的選擇與前面板一致?,F(xiàn)在是96頁\一共有105頁\編輯于星期五*CIN圖標(biāo)屬性對話框(2)?C源代碼文件的生成選擇如圖4所示的CIN圖標(biāo)快捷菜單選項(xiàng)中的Create.cFile選項(xiàng),生成C源代碼格式文件(*.C文件)?,F(xiàn)在是97頁\一共有105頁\編輯于星期五*本例生成的格式文件內(nèi)容如下:/**CINsourcefile*/??#include"extcode.h"/**typedefs*/typedefstruct{ int32dimSize; float64arg1[1];現(xiàn)在是98頁\一共有105頁\編輯于星期五* }TD1;typedefTD1**TD1Hdl;

CINMgErrCINRun(uInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform);

CINMgErrCINRun(uInt16*basea,uInt8*channel,int32*samples,TD1HdlWaveform){

/*ENTERYOURCODEHERE*/

returnnoErr; }現(xiàn)在是99頁\一共有105頁\編輯于星期五*從上面生成的代碼可以看到,因?yàn)槎x的CIN圖標(biāo)輸出參數(shù)是數(shù)組型的,而LabVIEW向CIN傳遞數(shù)組類數(shù)據(jù)時(shí),用的是句柄handle。傳遞數(shù)組的句柄結(jié)構(gòu)是這樣定義的:typedefst

溫馨提示

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

最新文檔

評論

0/150

提交評論