已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
目錄1 簡介LabVIEW和G語言11.1 LabVIEW是什么11.2 G語言是什么11.3 LabVIEW的特點(diǎn)21.4 LabVIEW的應(yīng)用領(lǐng)域22 LABVIEW編程環(huán)境32.1 啟動界面42.2 前面板52.3 程序框圖63 G語言的簡介83.1 G語言和C語言的對比83.2 G語言的特色數(shù)據(jù)流93.3 G語言數(shù)據(jù)類型113.4 G語言基本程序結(jié)構(gòu)124 LABVIEW界面設(shè)計(jì)165噪聲信號濾波和數(shù)據(jù)保存實(shí)驗(yàn)175.1 噪聲信號產(chǎn)生175.2 進(jìn)行濾波175.3 峰峰值測量185.4 數(shù)據(jù)保存185.5 整體設(shè)計(jì)程序19總結(jié)201 簡介LabVIEW和G語言1.1 LabVIEW是什么LabVIEW是Laboratory Virtual Instrument Engineering Workbench的英文縮寫,它是一種圖形化的編程環(huán)境,使用圖形化的符號來創(chuàng)建程序(通過連線把函數(shù)節(jié)點(diǎn)連接起來,數(shù)據(jù)就是在這些連線上流動的);傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而LabVIEW 則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序。它用圖標(biāo)表示函數(shù),用連線表示數(shù)據(jù)流向。1.2 G語言是什么LabVIEW的用戶稱圖形化編程語言之為“G”語言(取自graphical),使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖。它盡可能利用了技術(shù)人員、科學(xué)家、工程師所熟悉的術(shù)語、圖標(biāo)和概念,因此,LabVIEW是一個面向最終用戶的工具。1.3 LabVIEW的特點(diǎn)(l)直觀、易學(xué)易用。與Visual C、Visual Basic等計(jì)算機(jī)編程語言相比,圖形化編程工具LABVIEW有一個重要的不同點(diǎn):不采用基于文本的語言產(chǎn)生代碼行,而使用圖形化編程語言G編寫程序;產(chǎn)生的程序是框圖的形式,用框圖代替了傳統(tǒng)的程序代碼。(2)通用編程系統(tǒng)。LABVIEW的功能并沒有因圖形化編程而受到限制,依然具有通用編程系統(tǒng)的特點(diǎn)。LABVIEW有一個可完成任何編程任務(wù)的龐大的函數(shù)庫。該函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲等。LABVIEW也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點(diǎn)、以動畫方式顯示數(shù)據(jù)及其通過程序的結(jié)果、單步執(zhí)行等,便于程序的調(diào)試。LABVIEW的動態(tài)連續(xù)跟蹤方式,可以連續(xù)、動態(tài)地觀察程序中的數(shù)據(jù)及其變化情況,比其他語言的開發(fā)環(huán)境更方便、更有效。(3)模塊化。LABVIEW中使用的基本節(jié)點(diǎn)和函數(shù)等就是一個個小的模塊,可以直接使用;另外,由LABVIEW編寫的程序即虛擬儀器模塊(Virtrual INSTRUMENT,VI),除了作為獨(dú)立程序運(yùn)行外,還可作為另一個虛擬儀器模塊的子模塊(即子VI)供其他模塊程序使用。1.4 LabVIEW的應(yīng)用領(lǐng)域測試測量:LABVIEW最初就是為測試測量而設(shè)計(jì)的,至今大多數(shù)主流的測試儀器、數(shù)據(jù)采集設(shè)備都擁有專門的LabVIEW驅(qū)動程序,使用LabVIEW可以十分方便地找到各種適用于測試測量領(lǐng)域的LabVIEW工具包。有時甚至于只需簡單地調(diào)用幾個工具包中的函數(shù),就可以組成一個完整的測試測量應(yīng)用程序。控制:LabVIEW擁有專門用于控制領(lǐng)域的模塊LabVIEW DSC。除此之外,工業(yè)控制領(lǐng)域常用的設(shè)備、數(shù)據(jù)線等通常也有相應(yīng)的LabVIEW驅(qū)動程序。使用LabVIEW可以非常方便地編調(diào)各種控制程序。仿真:LabVIEW包含了多種多樣的數(shù)學(xué)運(yùn)算函數(shù),特別適合進(jìn)行模擬、仿真、原型設(shè)計(jì)等工作。快速開發(fā):完成一個功能類似的大型應(yīng)用軟件,熟練的LabVIEW程序員所需的開發(fā)時間,大概只是熟練的C程序員所需時間的1/5左右。所以,如果項(xiàng)目開發(fā)時間緊張,應(yīng)該優(yōu)先考慮使用LabVIEW,以縮短開發(fā)時間??缙脚_:LABVEWI具有良好的平臺一致性。Lab VIEW的代碼不需任何修改就可以運(yùn)行在常見的三大臺式機(jī)操作系統(tǒng)上:Windows、Mac OS及Linux。除此之外,LabVIEW還支持各種實(shí)時操作系統(tǒng)和嵌入式設(shè)備,比如常見的PDA、FPGA以及運(yùn)行VxWorks和PharLap系統(tǒng)的RT設(shè)備。2 LABVIEW編程環(huán)境所有的LabVIEW應(yīng)用程序,即虛擬儀器(VI),它包括前面板(front panel)、流程圖(block diagram)以及圖標(biāo)/連結(jié)器(icon/connector)三部分。典型的LabVIEW程序結(jié)構(gòu)如圖1所示,與大多數(shù)界面設(shè)計(jì)軟件一樣,要構(gòu)建一個LabVIEW程序首先需根據(jù)用戶需求制定合適的界面,這個界面主要是在前面板中設(shè)計(jì),包括放置各種輸入輸出控件、說明文字和圖片等,然后就是在程序框圖中進(jìn)行編程以實(shí)現(xiàn)具體的功能。在實(shí)際的設(shè)計(jì)中,通常是以上兩步驟的交叉執(zhí)行。圖1 LabVIEW程序結(jié)構(gòu)2.1 啟動界面以Lab VIEW8.6中文版為例,啟動LabVIEW,首先顯示出來的是LabVIEW的啟動界面,如圖2所示。在這個界面中可創(chuàng)建新VI、選擇最近打開的LabVIEW文件、查找范例以及打開LabVIEW幫助。同時還可查看各種信息和資源,如用戶手冊、幫助主題以及National Instruments網(wǎng)站上的各種資源等。圖2 LabVIEW的啟動界面2.2 前面板前面板是VI的人機(jī)界面。創(chuàng)建VI時,通常應(yīng)先設(shè)計(jì)前面板,然后設(shè)計(jì)程序框圖執(zhí)行在前面板上創(chuàng)建的輸入輸出任務(wù)。新建或打開一個原有VI,便出現(xiàn)如圖3所示前面板界面:圖3 VI前面板界面菜單:菜單用于操作和修改前面板和程序框圖上的對象。VI窗口頂部的菜單為通用菜單,同樣適用于其它程序,如打開、保存、復(fù)制和粘貼,以及其它LabVIEW的特殊操作。工具欄:工具欄按鈕用于運(yùn)行、中斷、終止、調(diào)試VI、修改字體、對齊、組合、分布對象。即時幫助窗口:選擇“幫助顯示即時幫助”顯示即時幫助窗口。將光標(biāo)移至一個對象上,即時幫助窗口將顯示該LabVIEW對象的基本信息。VI、函數(shù)、常數(shù)、結(jié)構(gòu)、選板、屬性、方式、事件、對話框和項(xiàng)目瀏覽器中的項(xiàng)均有即時幫助信息。即時幫助窗口還可幫助確定VI或函數(shù)的連線位置。圖標(biāo):圖標(biāo)是VI的圖形化表示,可包含文字、圖形或圖文組合。如將VI當(dāng)作子VI調(diào)用,程序框圖上將顯示該子VI的圖標(biāo)??丶x板:控件選板提供了創(chuàng)建虛似儀器等程序面板所需的輸入控件和顯示控件,僅能在前面板窗口中打開。工具選板:在前面板和程序框圖中都可看到工具選板。工具選板上的每一個工具都對應(yīng)于鼠標(biāo)的一個操作模式。光標(biāo)對應(yīng)于選板上所選擇的工具圖標(biāo)。可選擇合適的工具對前面板和程序框圖上的對象進(jìn)行操作和修改。2.3 程序框圖創(chuàng)建前面板后,可通過圖形化的函數(shù)添加源代碼,從而對前面板對象進(jìn)行控制。程序框圖中包括前面板上的控件的連線端子,還有一些編程必須的東西,例如函數(shù)、結(jié)構(gòu)和連線等。圖4 VI程序框圖界面函數(shù)選板:函數(shù)選板僅位于程序框圖。函數(shù)選板中包含創(chuàng)建程序框圖所需的VI和函數(shù),既包含了大量專用的信號處理、信號運(yùn)算等VI圖標(biāo),也包含了各種數(shù)值運(yùn)算、邏輯運(yùn)算的基本VI圖標(biāo)。按照VI和函數(shù)的類型,將VI和函數(shù)歸入不同子選板中。程序框圖對象包括接線端和節(jié)點(diǎn)。將各個對象用連線連接便創(chuàng)建了程序框圖。(1)接線端:前面板對象在程序框圖中顯示為接線端。它是前面板和程序框圖之間交換信息的輸入輸出端口。輸入到前面板輸入控件的數(shù)據(jù)值經(jīng)由輸入控件接線端進(jìn)入程序框圖。運(yùn)行時,輸出數(shù)據(jù)值經(jīng)由顯示控件接線端流出程序框圖而重新進(jìn)入前面板,最終在前面板顯示控件中顯示。(2)節(jié)點(diǎn):節(jié)點(diǎn)是程序框圖上的對象,帶有輸入輸出端,在VI運(yùn)行時進(jìn)行運(yùn)算。節(jié)點(diǎn)類似于文本編程語言中的語句、運(yùn)算符、函數(shù)和子程序。LabVIEW有以下類型的節(jié)點(diǎn):函數(shù)內(nèi)置的執(zhí)行元素,相當(dāng)于操作符、函數(shù)或語句,它是Lab VIEW中最基本的操作元素。子VI用于另一個VI 程序框圖上的VI,相當(dāng)于子程序。Express VILab VIEW中自帶的協(xié)助常規(guī)測量任務(wù)的子VI,其功能強(qiáng)大、使用便捷,但付出的代價是效率較低。所以,對于效率要求較高的程序不適合使用。結(jié)構(gòu)執(zhí)行控制元素,如For循環(huán)、While循環(huán)、條件結(jié)構(gòu)、平鋪式和層疊式順序結(jié)構(gòu)、定時結(jié)構(gòu)和事件結(jié)構(gòu)。(3)多態(tài)VI和函數(shù):多態(tài)VI和函數(shù)會根據(jù)輸入數(shù)據(jù)類型的不同而自動調(diào)整數(shù)據(jù)類型。比如讀/寫配置文件的VI,他們既可以讀/寫數(shù)值型數(shù)據(jù),也可以讀/寫字符串、布爾等數(shù)據(jù)類型。3 簡介G語言3.1 淺談G語言和C語言的對比G語言是當(dāng)今最完善、影響力最大的一種圖形化編程語言,把 G語言與C語言進(jìn)行比較,以便更好的學(xué)習(xí)G語言。首先看一個例子,幾乎每個人在初學(xué)C的時候試編的第一個程序都是在屏幕上顯示“HELLO WORLD!”。我們就先看看這個最簡單的程序分別在C和G中的實(shí)現(xiàn)有何不同。(1)用C編寫程序“HELLO WORLD!”以下是C實(shí)現(xiàn)的代碼:#include Void main()printf(Hello World!n); 然后編譯執(zhí)行即可。(2) 用LABVIEW編寫程序“HELLO WORLD!”首先在新建的前面板中添加一個字符串顯示控件,這個控件位于控件選板Express文本輸入控件字符串輸入控件,添加后別忘了將此輸入控件轉(zhuǎn)換為輸出控件(注:LabVIEW中每個控件都可以進(jìn)行同樣的轉(zhuǎn)換,方法是鼠標(biāo)右鍵單擊控件,在彈出的快捷菜單中選擇“轉(zhuǎn)換為顯示/控制控件”選項(xiàng))。如圖5所示:圖5 程序前面板然后雙擊剛創(chuàng)建好的控件,轉(zhuǎn)換到流程圖界面,可以看到流程圖中增加了一個與之對應(yīng)的接線端。接下來在流程圖中添加一個字符串常量(位于函數(shù)選板編程字符串字符串常量)來存放“HELLO WORLD!”,再用連線將字符串常量和字符串顯示控件連接起來,如圖6所示。至此,整個程序就編寫完成了。圖6 程序框圖單擊工具條上第一個箭頭圖案的按鈕,運(yùn)行VI,在前面板中就能看到如下結(jié)果:圖7 運(yùn)行結(jié)果以上分別用C和LAB VIEW實(shí)現(xiàn)一個最簡單的程序,從中可以看到兩者最大的區(qū)別是:C語言是使用文字代碼來編程,LABVIEW使用的是圖形化的操作方式。C語言中的語句、函數(shù)在G語言中變成了一種種圖形,如上例中C語言的printf()函數(shù)對應(yīng)的是G語言中的字符串顯示控件。所以,就像要熟悉C語言的各種語句和函數(shù)的功能和使用方法一樣,要學(xué)好G語言,必須要熟悉LABVIEW中數(shù)量眾多的控件、VI。3.2 G語言的特色數(shù)據(jù)流在C語言中,程序的基本執(zhí)行順序就是語句的書寫順序(如果沒有跳轉(zhuǎn)語句出現(xiàn),程序?qū)凑諒纳系较碌捻樞?,?zhí)行每一行語句)。在LABVIEW中,程序的執(zhí)行順序是由連線來控制的:一個數(shù)據(jù)從程序框圖上的某個起始節(jié)點(diǎn)出發(fā),沿著與它相連的數(shù)據(jù)線流動到下一個節(jié)點(diǎn)的某個輸入端,數(shù)據(jù)在這個節(jié)點(diǎn)被加工處理后,再從這個節(jié)點(diǎn)的輸出端點(diǎn)沿著連線流出,流向下一個節(jié)點(diǎn),如此反復(fù)直到流入某個終止節(jié)點(diǎn)為止。從下面這個小程序可以更直觀的看到這種數(shù)據(jù)的流動。編寫一個程序,完成從華氏溫度到攝氏溫度的轉(zhuǎn)換:華氏溫度到攝氏溫度的轉(zhuǎn)換公式為:1=5(- 32)/9(-華氏溫度,-攝氏溫度),實(shí)現(xiàn)的功能兩種程序如下:(1)用C編寫程序的代碼:#include void main() flaot x,y;printf(“請輸入華氏溫度:n”);scanf(“%f”,&x);y=(x-32)*5/9;printf(攝氏溫度為%f!n,y);(2) 用LAB VIEW編寫程序,在程序框圖的程序如下:圖8程序中的節(jié)點(diǎn)及連線在前面版中標(biāo)簽為華氏溫度的輸入控件中輸入一個數(shù)值(代表要轉(zhuǎn)換的華氏溫度值),然后點(diǎn)擊運(yùn)行,在標(biāo)簽為攝氏溫度的輸出控件中就出現(xiàn)轉(zhuǎn)后的攝氏溫度的數(shù)值,如圖9所示:圖9 運(yùn)行結(jié)果在這個程序中,數(shù)據(jù)從輸入控件中輸入,沿著連線先后經(jīng)過了減法器(-32=X)、乘法器(X*5=Y)、除法器(Y/9=),最后從輸出控件中輸出,完成了整個程序執(zhí)行的流程。3.3 G語言數(shù)據(jù)類型LabVIEW數(shù)據(jù)類型多種多樣的,控件與數(shù)據(jù)類型的對應(yīng)關(guān)系比較復(fù)雜。大多數(shù)情況下,一種數(shù)據(jù)類型可以使用多種控件;反之,也有少數(shù)控件可以用于表達(dá)幾種不同類型的數(shù)據(jù)。(1)數(shù)值控件:在Lab VIEW的控件欄中有一欄是數(shù)值控件,如圖10所示。雖然這一欄中的控件外觀各不相同,但所表示的數(shù)據(jù)類型都屬于數(shù)值類型。還有一些控件,盡管位于其他選板,但它們的數(shù)據(jù)類型也是數(shù)值型的,比如下拉列表控件、列表控件等。圖10 數(shù)值控件有時,為了程序顯示的需要,還要進(jìn)一步設(shè)置數(shù)值型控件的表示法、數(shù)值范圍和顯示格式等屬性。表示法、數(shù)值范圍不影響數(shù)據(jù)的顯示,主要用于對數(shù)據(jù)的范圍加以限制,避免程序運(yùn)行時出現(xiàn)數(shù)值越界錯誤;顯示格式則對程序運(yùn)行無影響,但可以方便用戶觀察數(shù)據(jù)。(2)枚舉型:枚舉控件的數(shù)據(jù)類型屬于枚舉型。在程序中,表示有限的幾種物件、幾個狀態(tài)等含義時,應(yīng)盡量使用枚舉控件,因?yàn)槊杜e控件的數(shù)據(jù)類型較嚴(yán)格,可以防止程序中的某些錯誤。(3)布爾型:布爾型數(shù)據(jù)只有兩個值:“真”和“假”。在理論上,只要一位(bit)就可以表示這兩個值。但實(shí)際上,計(jì)算機(jī)處理數(shù)據(jù)的最小單位是字節(jié),這兩個值分別是用一個字節(jié)來表示的。當(dāng)一個字節(jié)上每一位數(shù)據(jù)都為0時,表示“假”;否則,表示“真”。(4)數(shù)組型:數(shù)組用于管理一組相同類型的數(shù)據(jù)。Lab VIEW中幾乎任何其他數(shù)據(jù)類型都可以作為數(shù)組元素的數(shù)據(jù)類型,但數(shù)組本身不能作為另一個數(shù)組的元素。實(shí)際上,多位數(shù)組就有些類似于把數(shù)組作為另一個數(shù)組的元素了。若一定要把數(shù)組作為其他數(shù)組元素時,可以考慮先把作為元素的數(shù)組構(gòu)成一個簇,再把這個簇作為另一數(shù)組的元素,如圖11。圖11 數(shù)組作為元素(5)簇:簇用于把多個不同類型的數(shù)據(jù)歸為一組,和C語言中的結(jié)構(gòu)(struct)比較相似。(6)字符串:LabVIEW中字符串的存儲方式與C語言類似,都是使用表示法為U8的數(shù)值數(shù)組。二者的區(qū)別在于,C語言中的字符串以字符“0”作為字符串結(jié)束標(biāo)志,而Lab VIEW的字符串含有長度信息,不需要特殊的結(jié)束符。(7)路徑:在文本編程語言中,一般直接使用字符串來表示路徑。這種看似簡單的做法給跨平臺帶來了麻煩:因?yàn)槊糠N操作系統(tǒng)使用的路徑分隔符都不盡相同。為了解決這個問題,Lab VIEW使用專門的數(shù)據(jù)類型來表示路徑。在Lab VIEW中,路徑數(shù)據(jù)類型所記錄的信息包含兩部分:一是路徑的種類,是相對路徑還是絕對路徑;二是以字符串?dāng)?shù)組的形式來記錄路徑數(shù)據(jù)。數(shù)組的元素按順序記錄下路徑從跟到分支每一級的名字。至于分隔符,是在顯示路徑時,根據(jù)不同系統(tǒng)添加上去的。這樣一來,路徑數(shù)據(jù)在各個平臺下都是有效的。3.4 G語言基本程序結(jié)構(gòu)與文本編程語言相同,LabVIEW中也使用結(jié)構(gòu)來控制程序的執(zhí)行順序和流程。較常用的結(jié)構(gòu)有:順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、事件結(jié)構(gòu)以及定時結(jié)構(gòu)等。順序結(jié)構(gòu)LabVIEW是數(shù)據(jù)流驅(qū)動的編程語言。程序在執(zhí)行時按照數(shù)據(jù)在連線上的流動方向執(zhí)行。同時,LabVIEW是自動多線程的編程語言。如果在程序中有兩個并行放置、它們之間沒有任何連線的模塊,則LabVIEW會把它們放置到不同的線程中,并行執(zhí)行。如果需要讓幾個沒有互相連線的VI,按照一定的順序執(zhí)行,可以使用順序結(jié)構(gòu)來完成。圖12 順序結(jié)構(gòu)當(dāng)程序運(yùn)行到順序結(jié)構(gòu)時,會按照一個框架接著一個框架的順序依次執(zhí)行。每個框架中的代碼全部執(zhí)行結(jié)束,才會再開始執(zhí)行下一個框架。把代碼放置在不同的框架中就可以保證它們的執(zhí)行順序。條件結(jié)構(gòu)LabVIEW中的條件結(jié)構(gòu)由多個分支組成,每個分支中有不同的程序代碼。條件結(jié)構(gòu)根據(jù)輸入數(shù)據(jù)的不同,每次只執(zhí)行其中一個分支中的代碼。這與C語言中的if else和switch語句的功能類似。連接至選擇器接線端的值可以是布爾、字符串、整數(shù),或枚舉類型,用于確定要執(zhí)行的分支。圖13 條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)LabVIEW中的循環(huán)結(jié)構(gòu)有for循環(huán)和while循環(huán)。其功能與文本語言的循環(huán)結(jié)構(gòu)的功能類似,可以控制循環(huán)體內(nèi)的代碼執(zhí)行多次。(1)For 循環(huán)For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。For循環(huán)的迭代器只能從0開始,并且每次只能增加 1。For循環(huán)不能中途中斷退出。C語言里有break語句,但在LabVIEW中不要試圖中間停止for循環(huán)。圖14 for循環(huán)(2)While循環(huán)While循環(huán)可以反復(fù)執(zhí)行循環(huán)體的程序,直至到達(dá)某個邊界條件。它類似于普通編程語言中的Do循環(huán)和Repeat-Until循環(huán)。圖15 while循環(huán)外部數(shù)據(jù)進(jìn)入循環(huán)體是通過隧道進(jìn)入的,有幾種方式:索引隧道、移位寄存器(shift register)、一般隧道。一般隧道,就是把數(shù)據(jù)傳入傳出循環(huán)結(jié)構(gòu)。數(shù)據(jù)的類型和值在傳入傳出循環(huán)結(jié)構(gòu)前后不發(fā)生變化。索引隧道是LabVIEW的一種獨(dú)特功能。一個循環(huán)外的數(shù)組通過索引隧道連接到循環(huán)結(jié)構(gòu)上,隧道在循環(huán)內(nèi)一側(cè)會自動取出數(shù)組的元素,依順序每次循環(huán)取出一個元素。用索引隧道傳出數(shù)據(jù),可以自動把循環(huán)內(nèi)的數(shù)據(jù)組織成數(shù)組。移位寄存器可以將數(shù)據(jù)從一個循環(huán)周期傳遞到另外一個周期。通過移位寄存器傳入傳出數(shù)據(jù),也是數(shù)據(jù)的類型和值都不會發(fā)生變化。移位寄存器的特殊之處在于在循環(huán)結(jié)構(gòu)兩端的接線端是強(qiáng)制使用同一內(nèi)存的。因此,上一次迭代執(zhí)行產(chǎn)生的某一值,傳給移位寄存器右側(cè)的接線端,如果下一次迭代運(yùn)行需要用到這個數(shù)據(jù),從移位寄存器左側(cè)的接線端引出就可以了。事件結(jié)構(gòu)事件結(jié)構(gòu)是與條件結(jié)構(gòu)類似的一種結(jié)構(gòu),它們的區(qū)別在于:事件結(jié)構(gòu)式根據(jù)發(fā)生的事件決定執(zhí)行哪一個分支中的代碼的。當(dāng)有事件發(fā)生時,事件機(jī)構(gòu)會自動感知,并不需要用數(shù)據(jù)線把事件傳遞至事件結(jié)構(gòu)。事件結(jié)構(gòu)上方的事件標(biāo)簽顯示當(dāng)前分支所對應(yīng)的事件。當(dāng)有事件發(fā)生時,事件結(jié)構(gòu)除了會得知是何事件發(fā)生,還能得到一些相關(guān)數(shù)據(jù),比如事件發(fā)生的時間、發(fā)生在哪一個控件上等。這些數(shù)據(jù)可以從事件結(jié)構(gòu)左邊內(nèi)側(cè)的事件數(shù)據(jù)節(jié)點(diǎn)得到。圖16 事件結(jié)構(gòu)定時結(jié)構(gòu)LabVIEW程序中常常會遇到需要定時執(zhí)行某一段代碼的情況。LabVIEW 中原本有一些用于延時或定時的函數(shù),比如Wait,Delay Time等,他們都位于Time&Dialog面板中。利用這些函數(shù),基本可以實(shí)現(xiàn)與使用時間結(jié)構(gòu)相同的功能。定時結(jié)構(gòu)的最大改進(jìn)在于,它可以選擇使用哪個時間源(硬件)來定時。圖17 定時結(jié)構(gòu)函數(shù)4 LABVIEW界面設(shè)計(jì)使用LabVIEW開發(fā)一個項(xiàng)目,或編寫一個軟件,比較理想情況下是按照下面五個步驟順序進(jìn)行:收集需求、設(shè)計(jì)、編碼、測試、發(fā)布及維護(hù)。細(xì)分設(shè)計(jì)階段,一個項(xiàng)目所需的設(shè)計(jì)可能有用戶界面設(shè)計(jì),程序結(jié)構(gòu)設(shè)計(jì),接口設(shè)計(jì),模塊設(shè)計(jì)等等。對于編寫LabVIEW程序,通常首先做用戶界面設(shè)計(jì)。圖18 項(xiàng)目開發(fā)步驟使用比較老的文本語言編程,設(shè)計(jì)用戶界面時通?,F(xiàn)在草稿紙上畫出原型。LabVIEW 在這方面有獨(dú)特的優(yōu)勢,它的可視化編程做的非常方便。有大量現(xiàn)成的控件,控件屬性更改非常方便。因此,用戶可以以拖拽的方式,直接用LabVIEW來設(shè)計(jì)界面原型。有些軟件,一打開來就讓人眼前一亮,可能是它的界面設(shè)計(jì)的非常新穎、華麗。但漂亮視覺感只能是作為錦上添花,評判一個界面好壞的最基本指標(biāo)首先還是要看這個界面是否完成了它的交互功能:用戶可以通過界面為程序提供必要的信息;用戶可以通過界面接受到需要的信息。其次的指標(biāo)是通過這個界面用戶是否可以簡單直觀的輸入或獲取信息。最后才是界面的美觀程度。好的用戶界面都有一些共同的特點(diǎn):一致性、使用恰當(dāng)?shù)臄?shù)據(jù)類型和控件類型、控件的分類排布合理、簡潔。5噪聲信號濾波和數(shù)據(jù)保存實(shí)驗(yàn)5.1 噪聲信號產(chǎn)生默認(rèn)狀態(tài)下,“仿真信號”Express VI仿真的是一個正弦波。修改配置仿真信號對話框的選項(xiàng),根據(jù)需求對信號進(jìn)行自定義。按照下列步驟,創(chuàng)建另一個仿真信號,并在正弦波中加入均勻白噪聲。在程序框圖上,用定位工具選中“仿真信號” Express VI。 按住鍵的同時拖曳“仿真信號”Express VI,可在程序框圖中創(chuàng)建另一個“仿真信號”Express VI。.釋放鼠標(biāo),將復(fù)制的“仿真信號” Express VI放置在原先的Express VI下方,LabVIEW自動將該 Express VI副本命名為 “仿真信號2”,雙擊“仿真信號 2” Express VI,顯示配置仿真信號對話框。 從信號類型下拉菜單中選擇正弦。 在頻率(Hz)文本框中輸入 60, 在幅值文本框中輸入 0.1,勾選添加噪聲復(fù)選框,為正弦信號添加噪聲,從噪聲類型下列菜單中選擇均勻白噪聲,在噪聲幅值文本框中輸入 0.1,在種子值文本框中輸入 -1,在定時區(qū)域,選擇以可達(dá)到的最快速度運(yùn)行選項(xiàng)。 圖19 產(chǎn)生噪聲信號5.2 進(jìn)行濾波 按照下列步驟,配置“濾波器” Express VI,從而通過一個無限長沖激響應(yīng)(IIR)濾波器過濾信號。刪除“公式” Express VI的結(jié)果輸出端與 “幅值和電平測量”xpress VI的信號輸入端之間的連線。刪除所有由此造成的斷線。搜索“濾波器” Express VI并將其放置在程序框圖中“仿真信號2”,Express VI和 “幅值和電平測量” Express VI之間。 出現(xiàn)配置濾波器對話框。在濾波器規(guī)范區(qū)域,將截止
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年粵教新版八年級數(shù)學(xué)下冊月考試卷
- 二零二五年度物流倉儲設(shè)施合作開發(fā)與租賃合同2篇
- 二零二五年度鋼結(jié)構(gòu)建筑節(jié)能評估與認(rèn)證合同2篇
- 2025年華師大新版九年級科學(xué)下冊月考試卷
- 2025年上教版選修1歷史下冊月考試卷
- 2025年蘇教版七年級地理上冊月考試卷
- 2025年度退休教師繼續(xù)教育勞動合同范本2篇
- 二零二五年度航次租船合同金康版(新增船舶噪音控制要求)3篇
- 二零二五年度水利工程施工與維護(hù)服務(wù)合同2篇
- 2025年學(xué)生實(shí)習(xí)實(shí)訓(xùn)基地消防協(xié)議3篇
- 對話的力量:焦點(diǎn)解決取向在青少年輔導(dǎo)中的應(yīng)用
- 我的家鄉(xiāng)湖北荊門介紹
- (銀川市直部門之間交流)2022事業(yè)單位工作人員調(diào)動表
- 廣州市小學(xué)生學(xué)籍表
- 法律與社會學(xué)習(xí)通章節(jié)答案期末考試題庫2023年
- 瓷磚采購?fù)稑?biāo)方案
- 塑料花(2019江蘇鎮(zhèn)江中考記敘文閱讀試題含答案)
- 大學(xué)生職業(yè)生涯規(guī)劃-自我認(rèn)知-課件
- 化工設(shè)備安裝預(yù)算定額庫
- 2022年三級反射療法師考試題庫
- 新防偽標(biāo)簽識別方法
評論
0/150
提交評論