第五章虛擬儀器5_第1頁
第五章虛擬儀器5_第2頁
第五章虛擬儀器5_第3頁
第五章虛擬儀器5_第4頁
第五章虛擬儀器5_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五章結(jié)構(gòu)

學(xué)習(xí)目的:學(xué)習(xí)For循環(huán)、While循環(huán)、Case結(jié)構(gòu)和順序結(jié)構(gòu)了解在LabVIEW中如何使用定時函數(shù)了解移位寄存器的應(yīng)用熟悉公式節(jié)點鑒別常見的結(jié)構(gòu)連線錯誤本地變量和全局變量5.1For循環(huán)

For循環(huán)用于將某段程序執(zhí)行指定次數(shù)。和While循環(huán)一樣,它不會立刻出現(xiàn)在框圖中,而是出現(xiàn)一個小的圖標,而后您可以修改它的大小和位置。具體的方法是,先單擊所有端子的左上方,然后按下鼠標,拖曳出一個包含所有端子的矩形。釋放鼠標時就創(chuàng)建了一個指定大小和位置的For循環(huán)。ForLoopFor循環(huán)有兩個端子:計數(shù)端子(輸入端子)和重復(fù)端子(輸出端子)計數(shù)端子N:要執(zhí)行循環(huán)的次數(shù)0將不執(zhí)行重復(fù)端子i:已執(zhí)行循環(huán)的次數(shù)0---N-1次例:5.2While循環(huán)

While循環(huán)可以反復(fù)執(zhí)行循環(huán)體的程序,直至到達某個邊界條件。While循環(huán)的框圖是一個大小可變的方框,用于執(zhí)行框中的程序,直到條件端子接收到的布爾值為FALSE。While循環(huán)有兩個端子:條件端子(輸入端子)和重復(fù)端子(輸出端子)。

該循環(huán)有如下特點:計數(shù)從0開始(i=0)。先執(zhí)行循環(huán)體,而后i+1,如果循環(huán)只執(zhí)行一次,那么循環(huán)輸出值i=0。循環(huán)至少要運行一次。條件端子輸入的是布爾變量,它用于判斷循環(huán)在什么條件下停止執(zhí)行。它有兩種使用狀態(tài):StopifTrue和ContinueifTrue重復(fù)端子i為當前循環(huán)的次數(shù)。輸入端子放在循環(huán)外部,只在循環(huán)運行前讀入一次。例:產(chǎn)生隨機數(shù)For循環(huán)和While循環(huán)的索引注:自動索引:循環(huán)次數(shù)由數(shù)組長度決定,多個數(shù)組輸入由最小的決定。禁止索引:循環(huán)次數(shù)有計數(shù)端子決定。5.3移位寄存器和反饋節(jié)點

移位寄存器可以將數(shù)據(jù)從一個循環(huán)周期傳遞到另外一個周期。在程序設(shè)計中,經(jīng)常要用到它.創(chuàng)建一個移位寄存器的方法是,用鼠標右鍵單擊循環(huán)的左邊或者右邊,在快捷菜單中選擇添加移位寄存器。移位寄存器在框圖上用在循環(huán)邊框上相應(yīng)的一對端子來表示。右邊的端子中存儲了一個周期完成后的數(shù)據(jù),這些數(shù)據(jù)在這個周期完成之后將被轉(zhuǎn)移到左邊的端子,賦給下一個周期。移位寄存器可以轉(zhuǎn)移各種類型的數(shù)據(jù)--數(shù)值、布爾數(shù)、數(shù)組、字符串等等。它會自動適應(yīng)與它連接的第一個對象的數(shù)據(jù)類型。下圖表示了它的工作過程。通過設(shè)置移位寄存器,可以保留前面多次循環(huán)的數(shù)據(jù)值。添加多個移位寄存器的左端子,只能有一個右端子。舉例:

在For循環(huán)或While循環(huán)中,反饋節(jié)點用于將子VI、函數(shù)或一組子VI和函數(shù)的輸出連接到同一個子VI、函數(shù)或組的輸入上—即創(chuàng)建反饋路徑。舉例:反饋節(jié)點的不同實現(xiàn)例求

5.4分支結(jié)構(gòu):Case

Case結(jié)構(gòu)含有兩個或者更多的子程序(Case),執(zhí)行那一個取決于與選擇端子或者選擇對象的外部接口相連接的某個整數(shù)、布爾數(shù)、字符串或者標識的值。必須選擇一個默認的Case以處理超出范圍的數(shù)值,或者直接列出所有可能的輸入數(shù)值。Case結(jié)構(gòu)見下圖,各個子程序占有各自的流程框,在其上沿中央有相應(yīng)的子程序標識:真、假或1、2、3…。按鈕用來改變當前顯示的子程序(各子程序是重疊放在屏幕同一位置上的)。子程序標識按鈕條件端子1添加和刪除分支指定默認分支。2連接輸入和輸出對所有條件分支來說對于輸入通道的數(shù)據(jù)可以使用,也可以不使用。如果任何一個分支提供了輸出數(shù)據(jù),則所有分支也都必須提供。條件結(jié)構(gòu)應(yīng)注意的問題:在使用選擇結(jié)構(gòu)時,控制條件的數(shù)據(jù)類型必須與圖框標識符中的數(shù)據(jù)類型一致。二者若不匹配,LabVIEW會報錯,圖框標識符中字體的顏色將變?yōu)榧t色。在LabVIEW中,對于數(shù)值型條件必須包含處理超出范圍值的默認分支,對于其它類型的條件可設(shè)或不設(shè),但必須明確地列出每一個可能的輸入值。例:利用條件結(jié)構(gòu)編寫溫度采集報警程序,當采集溫度高于設(shè)定值時產(chǎn)生報警。練習(xí):

設(shè)計一個評分程序,輸入不同的分數(shù)會得到不同的評論。分數(shù)小于60,“警告”指示燈會亮起來,同時顯示字符串“你沒有通過考試!”;分數(shù)在60-99之間,“通過”指示燈會亮起來,同時顯示字符串“你考試通過了!”;分數(shù)為100,“恭喜”指示燈會亮起來,同時顯示字符串“你是第一名!”;如果輸入為0-100以外的數(shù)字,會有錯誤提示,同時顯示字符串“錯誤!”。5.5順序結(jié)構(gòu)(SequenceStructure)

在代碼式的傳統(tǒng)編程語言中,默認的情況是,程序語句按照排列順序執(zhí)行,但LabVIEW中不同,它是一種圖形化的數(shù)據(jù)流式編程語言。在圖中,假設(shè)有A、B、C、D4個節(jié)點,其數(shù)據(jù)流向如圖所示。按照數(shù)據(jù)流式語言的約定,任何一個節(jié)點只有在所有的輸入數(shù)據(jù)有效時才會執(zhí)行,所以圖中,當且僅當A、B、C3個節(jié)點執(zhí)行完,使得D節(jié)點的3個輸入數(shù)據(jù)都到達D節(jié)點后,D節(jié)點才執(zhí)行。但是你要注意,這里并沒有規(guī)定A、B、C3個節(jié)點的執(zhí)行順序。在LabVIEW中這種情況下,A、B、C的執(zhí)行順序是不確定的,如果你需要對它們規(guī)定一個確定的順序,那就需要使用本節(jié)介紹的“順序結(jié)構(gòu)”。平鋪式選擇標簽注:順序結(jié)構(gòu)輸出隧道只能有一個數(shù)據(jù)源。要想節(jié)約框圖空間選用疊層順序結(jié)構(gòu),使用單層順序結(jié)構(gòu)可以避免使用局部變量。避免過度使用順序結(jié)構(gòu)。例:計算生成等于某個給定值的隨機數(shù)據(jù)所用時間5.6公式節(jié)點(FormulaNode)

公式節(jié)點是一個大小可變的方框,可以利用它直接在流程圖中輸入公式。從函數(shù)選板?結(jié)構(gòu)中選擇公式節(jié)點就可以把它放到流程圖中。當某個等式有很多變量或者非常復(fù)雜時,這個功能就非常有用。例如等式:y=x2+x+1使用公式節(jié)點可以表示為:公式節(jié)點的創(chuàng)建通常按以下步驟進行第一步創(chuàng)建公式節(jié)點

第二步添加輸入、輸出端口第三步輸入程序代碼

使用文本編輯工具來輸入公式。創(chuàng)建公式節(jié)點的輸入和輸出端子的方法是,從節(jié)點邊框上彈出快捷菜單中,選擇添加輸入(添加輸出)。再在節(jié)點框中輸入變量名稱。變量名對大小寫敏感。然后就可以在框中輸入公式。每個公式語句都必須以分號(;)結(jié)尾。

注:公式節(jié)點中使用的每一個變量必須聲明為輸入或輸出之一,兩個輸入或輸出不能具有相同的名字。abs(x)絕對值函數(shù)ln(x)自然對數(shù)函數(shù)exp(x)指數(shù)函數(shù)log(x)對數(shù)函數(shù)sin(x)三角函數(shù)max(x)min(x)返回x,y中的最大和最小值pow(x)返回x的y次方rand(x)產(chǎn)生(0,1)區(qū)間上的隨機數(shù)Int(x)返回距x最近的整數(shù)mod(x)求模運算ceil(x)返回大于x的最小整數(shù)piπsqrt(x)求x的平方根+-*/四則運算!===不等于等于^位異或&&邏輯與**求冪函數(shù)名說明函數(shù)名說明abs(x)絕對值lnp1(x)返回ln(x)+1acos(x)反余弦,x弧度log(x)以10為底對數(shù)acosh(x)反雙曲余弦,x弧度log2(x)以2為底對數(shù)asin(x)反正弦max(x,y)xy中最大值者asinh(x)min(x,y)xy中最小值者atan(x)反正切函數(shù)mod(x,y)求模,x/y的整數(shù)值atanh(x)反雙曲正切pi(x)X*πceil(x)返回大于1的最小整數(shù)pow(x,y)x^yci(x)余弦積分,x為非負實數(shù)rand()(0,1)區(qū)間的隨機數(shù)cos(x)余弦函數(shù)rem(x,y)返回x/y的余數(shù)cosh(x)雙曲余弦sec(x)正割cot(x)余切函數(shù)sign(x)符號csc(x)余割函數(shù)sin(x)正弦,x弧度exp(x)指數(shù)函數(shù)sinc(x)sin(x)/xexpm1(x)exp(x)-1sinh(x)雙曲正弦floor(x)返回小于x的最大整數(shù)sqrt(x)平方根int(x)返回距x最近的整數(shù)tan(x)正切intrz(x)返回0-x間最近的整數(shù)tanh(x)雙曲正切l(wèi)n(x)自然對數(shù)函數(shù)公式節(jié)點的運算符運算符說明運算符說明?:條件賦值>=大于等于&&邏輯與<=小于等于││邏輯或>>算術(shù)移位(右移)!邏輯非<<算術(shù)移位(左移)&位與+加│位或―減^位異或*乘?。讲坏扔冢剑降扔冢?>大于――減1<小于**乘方計算y=x-e*sin(x)(0≤e≤1)練習(xí):創(chuàng)建一個VI,它用公式節(jié)點計算下列等式:

y1=x3–x2+5

y2=m*x+b

x的范圍是從0到10??梢詫@兩個公式使用同一個公式節(jié)點,并在同一個圖表中顯示結(jié)果。5.8結(jié)構(gòu)連線中的一些常見問題

給順序結(jié)構(gòu)局部變量多次復(fù)制對順序結(jié)構(gòu)中的多個幀進行連線未在Case結(jié)構(gòu)的所有分支中連接隧道隧道重疊創(chuàng)建隧道5.9本地變量和全局變量

局部變量和全局變量是LabVIEW用來傳遞數(shù)據(jù)的工具。LabVIEW編程是一種數(shù)據(jù)流編程,它是通過連線來傳遞數(shù)據(jù)的。但是如果一個程序太復(fù)雜的話,有時連線會很困難甚至無法連線,這時就需要用到局部變量。另外,需要在兩個程序之間交換數(shù)據(jù)時,靠連線的方式是無法實現(xiàn)的,在這種情況下,就需要使用全局變量。

本地變量相當于傳統(tǒng)編程語言中的局部變量,可以在同一個程序內(nèi)部使用。創(chuàng)建局部變量的方法有兩種:(1)直接為前面板對象創(chuàng)建局部變量(2)通過函數(shù)選板創(chuàng)建局部變量

注意:局部變量具有讀、寫兩種屬性例:采集產(chǎn)生一個隨機數(shù),大于等于0.5LDE燈亮局部變量的特點:(1)局部變量只能在同一個VI中使用,其生存期與它所在的VI模塊密切相關(guān),VI停止運行,在此VI內(nèi)定義的局部變量自動消失。(2)局部變量必須依附在一個前面板對象上。一個前面板對象可以建立多個局部變量,但一個局部變量只能有一個端點與其對應(yīng)。(3)局部變量就是其相應(yīng)前面板對象的一個數(shù)據(jù)拷貝,要占用一定的內(nèi)存。

全局變量可以在不同的VI之間進行數(shù)據(jù)傳遞。全局變量是內(nèi)置的LabVIEW對象。創(chuàng)建全局變量時,LabVIEW將自動創(chuàng)建一個前面板但無程序框圖的特殊全局VI。向該全局VI的前面板添加輸入控件和顯示控件可定義其中所含全局變量的數(shù)據(jù)類型。1.創(chuàng)建全局變量

(1)新建一個VI,從函數(shù)選板的結(jié)構(gòu)子選板中選擇一個全局變量,將其放置在程序框圖中(2)使用操作工具雙擊全局變量節(jié)點,會自動打開全局變量VI的前面板,然后在前面板上放置所需的控制或顯示對象(3)保存全局變量文件。方法是在主菜單中選擇【文件】→【保存】。然后關(guān)閉全局變量的前面板窗口。(4)使用操作工具單擊第一步所創(chuàng)建的全局變量圖標,或在其右擊彈出快捷菜單中選擇【選擇項】,彈出的子菜單列出了全局變量所包含的所有對象的名稱,根據(jù)需要選擇相應(yīng)的對象。

2.全局變量的調(diào)用(1)在VI的功能模板上選擇【選擇VI…】,在彈出的【選擇需打開的VI】對話框中,選擇所需的全局變量聲明文件,單擊確定按鈕,在程序框圖中放置這個全局變量;(2)右擊全局變量節(jié)點,在彈出的快捷菜單上選取【選擇項】,在列出的所有變量對象中選擇所需對象;(3)若在一個VI中需要使用多個全局變量,可使用拷貝和粘貼全局變量的方法實現(xiàn)全局變量的復(fù)制。例:第一個VI測量溫度,送

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論