虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計_第1頁
虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計_第2頁
虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計_第3頁
虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計_第4頁
虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計演示文稿目前一頁\總數(shù)六十四頁\編于二點(diǎn)(優(yōu)選)虛擬儀器技術(shù)結(jié)構(gòu)程序設(shè)計目前二頁\總數(shù)六十四頁\編于二點(diǎn)3循環(huán)結(jié)構(gòu)—While循環(huán)操作:Functions->ExecCtrl->WhileLoop目前三頁\總數(shù)六十四頁\編于二點(diǎn)4循環(huán)結(jié)構(gòu)—While循環(huán)操作:Functions->AllFunctions->Structures->WhileLoop目前四頁\總數(shù)六十四頁\編于二點(diǎn)5循環(huán)結(jié)構(gòu)—While循環(huán)結(jié)構(gòu)循環(huán)體代碼重復(fù)端子循環(huán)邊框條件端子目前五頁\總數(shù)六十四頁\編于二點(diǎn)6循環(huán)結(jié)構(gòu)—While循環(huán)執(zhí)行流程類似于do…while語句do

循環(huán)體語句while(表達(dá)式)輸出循環(huán)次數(shù)執(zhí)行循環(huán)體函數(shù)結(jié)束是循環(huán)次數(shù)加1否目前六頁\總數(shù)六十四頁\編于二點(diǎn)7演示:用While循環(huán)實(shí)現(xiàn)1~100的累加計算for(i=1;i<=100;i++){sum=sum+i;}目前七頁\總數(shù)六十四頁\編于二點(diǎn)8演示:用While循環(huán)實(shí)現(xiàn)1~100的累加計算初始化目前八頁\總數(shù)六十四頁\編于二點(diǎn)循環(huán)結(jié)構(gòu)—While循環(huán)9注意事項:重復(fù)端子從0開始先執(zhí)行,再判斷,至少執(zhí)行一次結(jié)束條件:stopiftrue還是continueiftrue只有循環(huán)體執(zhí)行結(jié)束后才能停止目前九頁\總數(shù)六十四頁\編于二點(diǎn)10循環(huán)結(jié)構(gòu)—For循環(huán)操作:Functions->AllFunctions->Structures->ForLoop目前十頁\總數(shù)六十四頁\編于二點(diǎn)11循環(huán)結(jié)構(gòu)—For循環(huán)For循環(huán)結(jié)構(gòu)計數(shù)端子重復(fù)端子目前十一頁\總數(shù)六十四頁\編于二點(diǎn)12循環(huán)結(jié)構(gòu)—For循環(huán)執(zhí)行流程類似于For語句For(i=0;i<N;i++){

語句;}輸出當(dāng)前循環(huán)次數(shù)i執(zhí)行循環(huán)體函數(shù)i<N是循環(huán)次數(shù)加1否讀入總循環(huán)次數(shù)N目前十二頁\總數(shù)六十四頁\編于二點(diǎn)13練習(xí):用For循環(huán)實(shí)現(xiàn)1~100的累加計算。目前十三頁\總數(shù)六十四頁\編于二點(diǎn)14循環(huán)結(jié)構(gòu)內(nèi)外的數(shù)據(jù)交換循環(huán)體與外部的數(shù)據(jù)交換通過隧道實(shí)現(xiàn)。隧道目前十四頁\總數(shù)六十四頁\編于二點(diǎn)15循環(huán)結(jié)構(gòu)內(nèi)的自動索引For循環(huán),自動索引默認(rèn)打開[];While循環(huán),自動索引默認(rèn)關(guān)閉■;自動索引(Auto-Indexing):在循環(huán)執(zhí)行過程中輸入或輸出數(shù)據(jù)。目前十五頁\總數(shù)六十四頁\編于二點(diǎn)16循環(huán)結(jié)構(gòu)的自動索引索引隧道:使循環(huán)框外面的數(shù)據(jù)成員逐個進(jìn)入循環(huán)框,或者使循環(huán)框內(nèi)的數(shù)據(jù)累計成為一個數(shù)組后再輸出到循環(huán)框外。一維數(shù)組數(shù)據(jù)進(jìn)入循環(huán)時,被索引成單個元素;二維數(shù)組數(shù)據(jù)進(jìn)入循環(huán)時,被索引成一維數(shù)組;循環(huán)體內(nèi)的數(shù)據(jù)輸出到循環(huán)體外時,單個元素被累積,成為一維數(shù)組;一維數(shù)組累積成為二維數(shù)組。目前十六頁\總數(shù)六十四頁\編于二點(diǎn)17目前十七頁\總數(shù)六十四頁\編于二點(diǎn)18循環(huán)結(jié)構(gòu)—移位寄存器移位寄存器:用于循環(huán)體內(nèi)部的數(shù)據(jù)交換;兩次或多次循環(huán)之間交換數(shù)據(jù)方法:循環(huán)左側(cè)或右側(cè)單擊快捷鍵的“AddShiftRegister”兩次循環(huán)之間傳遞數(shù)據(jù)目前十八頁\總數(shù)六十四頁\編于二點(diǎn)19循環(huán)結(jié)構(gòu)—移位寄存器移位寄存器的流程

帶有向上箭頭的右端子在每一次循環(huán)結(jié)束時,保存?zhèn)魅肫渲械臄?shù)據(jù)。在下一個循環(huán)開始前傳給左端子。目前十九頁\總數(shù)六十四頁\編于二點(diǎn)20循環(huán)結(jié)構(gòu)—移位寄存器移位寄存器可存儲任何數(shù)據(jù)類型:數(shù)字,布爾,字符串和數(shù)組;但連接到同一個寄存器端子上的數(shù)據(jù)必須是同一類型;移位寄存器的類型與第一個連接到其端子之上的對象數(shù)據(jù)類型相同。目前二十頁\總數(shù)六十四頁\編于二點(diǎn)21循環(huán)結(jié)構(gòu)—移位寄存器一個循環(huán)可以建立多個移位寄存器。一個移位寄存器可以有多個左端子,但只能有一個右端子。邊框右鍵“AddShiftRegister”右鍵“AddElement”目前二十一頁\總數(shù)六十四頁\編于二點(diǎn)22循環(huán)結(jié)構(gòu)—反饋端子反饋節(jié)點(diǎn):與移位寄存器的功能完全相同。數(shù)據(jù)在本次循環(huán)結(jié)束前從反饋節(jié)點(diǎn)的箭尾端進(jìn)入,在下一次循環(huán)開始后從箭頭流出。操作方法:左右端子快捷鍵->“ReplacewithFeedbackNode”或者將輸出直接連接到輸入。目前二十二頁\總數(shù)六十四頁\編于二點(diǎn)23分支結(jié)構(gòu)分支結(jié)構(gòu)類似于C語言中的Switch語句。Swich(表達(dá)式){Case常量1:語句1Case常量2:語句2

…Case常量n:語句nDefault:語句n+1}選擇器端子分支選擇器標(biāo)簽?zāi)壳岸揬總數(shù)六十四頁\編于二點(diǎn)24分支結(jié)構(gòu)選擇器端子選擇器端子的輸入值是由與它相連的輸入控件對象決定的。數(shù)據(jù)類型可以是布爾量、整形、字符串型或者枚舉型。當(dāng)選擇器端子的值與選擇器標(biāo)簽值沒有一個匹配時,就執(zhí)行默認(rèn)分支。注意:必須指定默認(rèn)分支!操作:標(biāo)簽處右鍵選擇“RemoveDefault”

或者“MakeThisTheDefaultCase”目前二十四頁\總數(shù)六十四頁\編于二點(diǎn)25分支結(jié)構(gòu)Case結(jié)構(gòu)快捷菜單

AddCaseAfterAddCaseBeforeDuplicateCaseRemoveEmptyCasesShowCase

目前二十五頁\總數(shù)六十四頁\編于二點(diǎn)26分支結(jié)構(gòu)分支結(jié)構(gòu)的數(shù)據(jù)的輸入和輸出是通過隧道來實(shí)現(xiàn)的輸入數(shù)據(jù)時,對所有分支有效。輸出隧道必須從每一個case中得到明確的輸入值,否則程序無法運(yùn)行。可以為沒有連接的分支定義一個默認(rèn)輸出值。目前二十六頁\總數(shù)六十四頁\編于二點(diǎn)27分支結(jié)構(gòu)分支特殊標(biāo)簽說明1,3,4:表示選擇了1或3或4;-1..4:表示選擇了-1到4的整數(shù);..2:表示所有小于等于2的整數(shù);7..:表示所有大于等于7的整數(shù)。目前二十七頁\總數(shù)六十四頁\編于二點(diǎn)28分支結(jié)構(gòu)例子要求:判斷學(xué)生成績的等級小于60,不及格;60~69,及格;70~79,中等80~89,良好;90~100,優(yōu)秀。其它輸入錯誤提示。AllFunctions->Timedialog->onebuttondialogAllFunctions->String->StringConstant數(shù)據(jù)類型為U8目前二十八頁\總數(shù)六十四頁\編于二點(diǎn)29順序結(jié)構(gòu)順序結(jié)構(gòu)依次執(zhí)行程序,它可以包含多個代碼子框圖這些代碼子框圖看起來就像是多幀電影膠片一樣,所以把每個子框圖稱為幀。每個子框圖中的代碼全部執(zhí)行結(jié)束,才會再開始執(zhí)行下一個子框圖。目前二十九頁\總數(shù)六十四頁\編于二點(diǎn)30選擇器標(biāo)簽放置幀代碼放置幀代碼放置幀代碼第0幀第1幀堆疊的順序結(jié)構(gòu)平鋪的順序結(jié)構(gòu)Functions->AllFunctions->Structures目前三十頁\總數(shù)六十四頁\編于二點(diǎn)31順序結(jié)構(gòu)的隧道說明輸入隧道得到輸入值保持不變,每個幀都可以讀取。只能在某個幀中輸入數(shù)據(jù)到輸出隧道,超過一個會引起多個數(shù)據(jù)源錯誤。輸出隧道的值只在整個順序結(jié)構(gòu)完成執(zhí)行后才會得到輸出。目前三十一頁\總數(shù)六十四頁\編于二點(diǎn)32順序結(jié)構(gòu)堆疊的順序結(jié)構(gòu):不同的框架之間數(shù)據(jù)的傳遞,需要使用順序結(jié)構(gòu)局部變量。平鋪的順序結(jié)構(gòu),功能同上,但不用局部變量。返回系統(tǒng)運(yùn)行毫秒數(shù)延時目前三十二頁\總數(shù)六十四頁\編于二點(diǎn)33右鍵,“AddSequenceLocal”輸入隧道堆疊順序例子:在第一幀中加10,在第二幀中加20,在第三幀中加30,顯示計算結(jié)果。輸出隧道目前三十三頁\總數(shù)六十四頁\編于二點(diǎn)34公式節(jié)點(diǎn)以文本編程的形式實(shí)現(xiàn)復(fù)雜的算法代碼文本的語法與C語言相似(運(yùn)算符、代碼結(jié)構(gòu))遇到特殊函數(shù)時查表(幾十個LabVIEW預(yù)定義函數(shù))。放置代碼目前三十四頁\總數(shù)六十四頁\編于二點(diǎn)35公式節(jié)點(diǎn)輸入輸出端子是聯(lián)系節(jié)點(diǎn)內(nèi)文本代碼和節(jié)點(diǎn)外代碼的紐帶可以有無數(shù)個輸入輸出端子各輸入或輸出端子名字不能相同文本代碼中,每一個變量必須有一個輸入或輸出端子與之對應(yīng),即使是臨時使用的變量也是如此。方法:AllFunctions->Structures目前三十五頁\總數(shù)六十四頁\編于二點(diǎn)36公式節(jié)點(diǎn)例子:如果X為非負(fù)數(shù),Y等于X的平方根;如果X為負(fù)數(shù),Y等于-999注意:公式使用的操作符。右鍵“AddInput”右鍵“AddOutput”目前三十六頁\總數(shù)六十四頁\編于二點(diǎn)37應(yīng)用實(shí)例模擬溫度采集監(jiān)測系統(tǒng)要求:

1.用隨機(jī)數(shù)模擬溫度數(shù)據(jù)(20-40攝氏度)

2.采集開始用開關(guān)控制,每次采集10個數(shù)據(jù),并實(shí)時顯示(溫度計和數(shù)值控件),顯示采集進(jìn)度,采樣間隔可調(diào)

3.開關(guān)控制是否轉(zhuǎn)換為華氏溫度顯示

4.可設(shè)溫度上限,超限時報警(LED燈亮)目前三十七頁\總數(shù)六十四頁\編于二點(diǎn)38目前三十八頁\總數(shù)六十四頁\編于二點(diǎn)39目前三十九頁\總數(shù)六十四頁\編于二點(diǎn)40事件結(jié)構(gòu)數(shù)據(jù)流驅(qū)動:將整個程序看作一個數(shù)據(jù)流過的通道。缺點(diǎn):對界面操作的響應(yīng)只能通過輪詢的方法來實(shí)現(xiàn),不夠靈活且占用資源。目前四十頁\總數(shù)六十四頁\編于二點(diǎn)41事件結(jié)構(gòu)事件:發(fā)生了某種事情的通知。事件驅(qū)動:系統(tǒng)等待用戶或其它觸發(fā)事件的對象發(fā)出消息,并對其做出響應(yīng)。事件結(jié)構(gòu)能夠?qū)崿F(xiàn)用戶和程序的互動操作,如單擊某個按鈕、改變窗體大小、退出程序等。目前四十一頁\總數(shù)六十四頁\編于二點(diǎn)42事件結(jié)構(gòu)組成超時端子選擇標(biāo)簽數(shù)據(jù)節(jié)點(diǎn)放置代碼目前四十二頁\總數(shù)六十四頁\編于二點(diǎn)43事件結(jié)構(gòu)組織方式:把多個子框圖堆疊在一起。每次只有一個子框圖得到執(zhí)行,該子框圖執(zhí)行完后,事件結(jié)構(gòu)隨之退出。一般與循環(huán)結(jié)構(gòu)搭配使用。目前四十三頁\總數(shù)六十四頁\編于二點(diǎn)44事件結(jié)構(gòu)分類:按照事件的發(fā)出時間來區(qū)分,LabVIEW的事件可分為通知事件(Notify):在LabVIEW處理完用戶操作之后發(fā)出的。過濾事件(filter):在LabVIEW處理用戶操作之前發(fā)出的,并等待相對應(yīng)的事件框架執(zhí)行完成之后,LabVIEW再處理該用戶操作。目前四十四頁\總數(shù)六十四頁\編于二點(diǎn)45事件注冊提示:避免生成不必要的事件,這樣極易引起錯誤。所以應(yīng)該避免在同一VI上使用多個事件結(jié)構(gòu)生成方法:靜態(tài)注冊:在程序運(yùn)行前,對事件結(jié)構(gòu)進(jìn)行設(shè)置,指定哪個子框圖響應(yīng)前面板上的哪些事件,LabVIEW在程序運(yùn)行時自動對設(shè)置的事件進(jìn)行注冊動態(tài)注冊:在程序運(yùn)行時改變事件的注冊內(nèi)容。目前四十五頁\總數(shù)六十四頁\編于二點(diǎn)46目前四十六頁\總數(shù)六十四頁\編于二點(diǎn)47局部變量局部變量:可以在一個VI的多個位置實(shí)現(xiàn)對前面板控件的訪問,也可以在無法連線的框圖區(qū)域之間傳遞數(shù)據(jù)。局部變量是對前面板控件數(shù)據(jù)的引用;可為一個控制器或指示器建立任意多個局部變量;改變?nèi)我庖粋€局部變量,都會改變包括控件本身和其他局部變量在內(nèi)的所有數(shù)據(jù)。實(shí)現(xiàn)對控制器的寫操作和對指示器的讀操作。目前四十七頁\總數(shù)六十四頁\編于二點(diǎn)48局部變量操作說明Functions->AllFunctions->Structures方式1:局部變量->快捷菜單->SelectItem方式2:控件->快捷菜單->Create->LocalVariable注意:在默認(rèn)情況下,新創(chuàng)建的局部變量都是只能寫入的端子,在局部變量上彈出快捷菜單,選擇“ChangeToRead”,即可把局部變量變?yōu)樽x端子。例子:判斷控件輸入數(shù)據(jù),如果為負(fù)數(shù),則將其改為0,并將原數(shù)據(jù)復(fù)制給另外一個輸入控件;如果為正數(shù),計算平方根給原控件,原始數(shù)據(jù)同樣復(fù)制。目前四十八頁\總數(shù)六十四頁\編于二點(diǎn)49目前四十九頁\總數(shù)六十四頁\編于二點(diǎn)50全局變量全局變量:同時在幾個運(yùn)行的VI之間傳遞數(shù)據(jù)(只有前面板,沒有框圖)。為全局變量文件添加控制器還是指示器無關(guān)緊要,使用全局變量時總是同時擁有讀和寫的權(quán)利。(最好把全局變量放在一個文件中)目前五十頁\總數(shù)六十四頁\編于二點(diǎn)51全局變量的操作創(chuàng)建:New->OtherDocumentTypes->GlobalVariable使用步驟1:Functions->AllFunctions->SelectaVI…->選擇建立的全局變量文件使用步驟2:在全局變量的快捷菜單中選擇“SelectItem”確定變量,選擇“ChangeToRead”改變讀寫狀態(tài)。例子:建立一個含有數(shù)值型和布爾型控件的全局變量文件,再建立兩個VI,一個寫入全局變量、一個讀取全局變量。目前五十一頁\總數(shù)六十四頁\編于二點(diǎn)52右鍵“ChangeToRead”目前五十二頁\總數(shù)六十四頁\編于二點(diǎn)53關(guān)于全局變量和局部變量慎用局部變量和全局變量占用內(nèi)存可能引起競態(tài)條件在程序運(yùn)行之前,必須首先要確定它的初始值是否滿足執(zhí)行要求,如果不滿足的話,就要對它們進(jìn)行初始化。目前五十三頁\總數(shù)六十四頁\編于二點(diǎn)54定時循環(huán)定時結(jié)構(gòu),與時間控制有關(guān)。實(shí)現(xiàn)Wait等時間函數(shù)相同的功能??梢赃x擇使用哪個時間源(硬件)來定時。定時結(jié)構(gòu)的定時效果也要比Wait等函數(shù)精確的多。說明:LabVIEW7.1新推出功能。目前五十四頁\總數(shù)六十四頁\編于二點(diǎn)55菜單菜單編輯器菜單編輯按鈕菜單類型菜單預(yù)覽菜單屬性操作:Edit->Run-TimeMenu…目前五十五頁\總數(shù)六十四頁\編于二點(diǎn)56菜單菜單類型Default:使用LabVIEW提供的默認(rèn)菜單Minimal:在Default菜單的基礎(chǔ)上進(jìn)行簡化Custom:表示完全由程序員生成菜單目前五十六頁\總數(shù)六十四頁\編于二點(diǎn)57菜單菜單屬性ItemType:定義菜單項的類型Application:是一個子菜單,里面包含了所有的系統(tǒng)預(yù)定義的菜單項。Separator:建立菜單里的分隔線目前五十七頁\總數(shù)六十四頁\編于二點(diǎn)58菜單UserItem:表示用戶自定義選項,必須自己編寫代碼,才能響應(yīng)。ItemName:菜單項文本,在其中出現(xiàn)的下劃線+字符,例如File(_F),執(zhí)行菜單為File(F),用于實(shí)現(xiàn)快捷鍵(Alt+F)。ItemTa

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論