第四章結(jié)構(gòu)與屬性控制_第1頁
第四章結(jié)構(gòu)與屬性控制_第2頁
第四章結(jié)構(gòu)與屬性控制_第3頁
第四章結(jié)構(gòu)與屬性控制_第4頁
第四章結(jié)構(gòu)與屬性控制_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章結(jié)構(gòu)與屬性控制第一頁,共五十二頁,編輯于2023年,星期一6.1For循環(huán)

For循環(huán)是LabVIEW最基本的結(jié)構(gòu)之一,它執(zhí)行指定次數(shù)的循環(huán)。相當(dāng)于C語言的For循環(huán):

for(inti=0;i<N;i++)

{

}

LabVIEW中For循環(huán)可從框圖功能模板Function→Structure子模板中創(chuàng)建。第二頁,共五十二頁,編輯于2023年,星期一→第三頁,共五十二頁,編輯于2023年,星期一6.1.1For循環(huán)的組成

最基本的For循環(huán)由:循環(huán)框架、迭代端口i和總計數(shù)端口構(gòu)成。

任務(wù)1:判斷該程序運行后的結(jié)果,設(shè)計該循環(huán)結(jié)構(gòu)程序,驗證結(jié)果。第四頁,共五十二頁,編輯于2023年,星期一

此外,LabVIEW在For循環(huán)中引入移位寄存器(ShiftRegister)和框架通道(Channel)兩個獨具特色的新概念?!谖屙?,共五十二頁,編輯于2023年,星期一數(shù)據(jù)在移位寄存器中的流動過程:第六頁,共五十二頁,編輯于2023年,星期一移位寄存器的特點:

(1)移位寄存器(左右)是For循環(huán)的數(shù)據(jù)緩沖區(qū)。

(2)可以增加和減少移位寄存器的個數(shù)。

(3)左右兩側(cè)移位寄存器的數(shù)據(jù)類型必須一致。

任務(wù)2:計算1+2+3+…100的和。第七頁,共五十二頁,編輯于2023年,星期一6.1.2For循環(huán)的使用任務(wù)4:求0到99之間所有偶數(shù)的和.任務(wù)3:求N!.第八頁,共五十二頁,編輯于2023年,星期一6.1.3For循環(huán)的特點

1.一旦For循環(huán)開始執(zhí)行,就必須執(zhí)行完相應(yīng)次數(shù)循環(huán)后才能終止,不可中途跳轉(zhuǎn)出來。

2.具有自動索引功能

例:求一維數(shù)組所有元素的和。第九頁,共五十二頁,編輯于2023年,星期一

當(dāng)For循環(huán)計數(shù)端口給定值與兩數(shù)組長度不等時,F(xiàn)or循環(huán)自動按最小循環(huán)次數(shù)執(zhí)行。第十頁,共五十二頁,編輯于2023年,星期一6.2While循環(huán)

當(dāng)循環(huán)次數(shù)不能預(yù)先確定時,就需要用到While循環(huán)。它也是LabVIEW最基本的結(jié)構(gòu)之一。相當(dāng)于C語言的While循環(huán)和do循環(huán):

While(條件)

{

}

Do

{

}

LabVIEW中While循環(huán)可從框圖功能模板Function→Structure子模板中創(chuàng)建。第十一頁,共五十二頁,編輯于2023年,星期一→第十二頁,共五十二頁,編輯于2023年,星期一6.2.1While循環(huán)的組成

最基本的While循環(huán)由:循環(huán)框架、迭代端口i和條件端口構(gòu)成。

條件端口控制循環(huán)是否執(zhí)行,每次循環(huán)結(jié)束后,判斷條件端口的值,若為False,停止執(zhí)行循環(huán);若為True,則繼續(xù)執(zhí)行下一次循環(huán)。不給條件端口賦值,則While循環(huán)只執(zhí)行一次。

此外,LabVIEW在While循環(huán)中也可引入移位寄存器(ShiftRegister)和框架通道(Channel),與For循環(huán)中用法完全相同。第十三頁,共五十二頁,編輯于2023年,星期一6.2.2While循環(huán)的使用

任務(wù)5攝氏溫度與華氏溫度的動態(tài)轉(zhuǎn)化任務(wù)6求N!.第十四頁,共五十二頁,編輯于2023年,星期一6.2.3While循環(huán)的特點

1.具有自動索引功能

例:顯示一維數(shù)組所有元素。2.停止條件可修改,避免死循環(huán)。第十五頁,共五十二頁,編輯于2023年,星期一6.3順序結(jié)構(gòu)

在代碼式的傳統(tǒng)編程語言中,默認(rèn)的情況是,程序語句按照排列順序執(zhí)行,稱為控制流程;但LabVIEW中不同,它是一種圖形化的數(shù)據(jù)流式編程語言,具有并發(fā)、多任務(wù)的特點。第十六頁,共五十二頁,編輯于2023年,星期一6.3.1順序結(jié)構(gòu)的組成

最基本的順序結(jié)構(gòu)由:順序框架、框圖標(biāo)識符和遞增/遞減按鈕構(gòu)成。

LabVIEW在順序框架中引入了本地結(jié)果(SequenceLocal)的概念,通過本地結(jié)果就可以在順序框架中向后傳遞數(shù)據(jù)

順序框架中也存在框架通道,但通道沒有EnableIndexing和DisenableIndexing屬性第十七頁,共五十二頁,編輯于2023年,星期一6.3.2順序結(jié)構(gòu)的使用

任務(wù)7用For循環(huán)產(chǎn)生一個2000點的隨機波形,并計算所用時間.第十八頁,共五十二頁,編輯于2023年,星期一前面板輸出:第十九頁,共五十二頁,編輯于2023年,星期一6.3.3順序結(jié)構(gòu)的特點

1.LabVIEW在順序框架中引入了局部變量(SequenceLocal)的概念,通過本地結(jié)果就可以在順序框架中向后傳遞數(shù)據(jù)。

2.順序結(jié)構(gòu)可以提高某類程序的運行效率,但不可濫用,有些情況下數(shù)據(jù)流機制的程序效率會更高。第二十頁,共五十二頁,編輯于2023年,星期一6.4Case循環(huán)(條件循環(huán))

Case結(jié)構(gòu)也是LabVIEW最基本的結(jié)構(gòu)之一。相當(dāng)于C語言的switch語句:

switch(表達(dá)式)

{

case1:語句1;

case2:語句2;

casen:語句n;

default:語句n+1;

}

第二十一頁,共五十二頁,編輯于2023年,星期一→LabVIEW中Case循環(huán)可從框圖功能模板Function→Structure子模板中創(chuàng)建。第二十二頁,共五十二頁,編輯于2023年,星期一6.4.1Case結(jié)構(gòu)的組成

最基本的Case結(jié)構(gòu)由:Case框架、選擇端口(分支選擇器)、選擇器標(biāo)簽和遞增/遞減按鈕構(gòu)成。

選擇端口相當(dāng)于C語言的Switch語句中的“表達(dá)式”,框圖標(biāo)識符相當(dāng)于“表達(dá)式n”。

選擇端口的外部控制條件的數(shù)據(jù)類型有3種:布爾型、數(shù)字型和字符串型。

控制條件的數(shù)據(jù)類型必須與框圖標(biāo)識符中數(shù)據(jù)類型一致。

1.控制條件為布爾類型,框圖標(biāo)識符取值True和False;

2.控制條件為數(shù)字類型,框圖標(biāo)識符取值0,1,2,…;

3.控制條件為字符串類型,框圖標(biāo)識符取值“條件n”;第二十三頁,共五十二頁,編輯于2023年,星期一6.4.2Case結(jié)構(gòu)的使用任務(wù)8求一個數(shù)的平方根,若該數(shù)>=0,輸出開方結(jié)果;否則彈出對話框,報告錯誤,同時輸出-99999.00.第二十四頁,共五十二頁,編輯于2023年,星期一6.4.3Case結(jié)構(gòu)的特點

1.LabVIEW的Case結(jié)構(gòu)簡潔明了,不但相當(dāng)于Switch語句,還可以實現(xiàn)ifelse語句功能。

2.Case框架中也存在框架通道,但通道沒有EnableIndexing和DisenableIndexing屬性。

3.每個子框架必須連接一個數(shù)據(jù),否則程序出錯。第二十五頁,共五十二頁,編輯于2023年,星期一6.5事件結(jié)構(gòu)

6.5.1事件驅(qū)動的概念

LabVIEW是一種數(shù)據(jù)流的編程環(huán)境,由數(shù)據(jù)流決定程序中節(jié)點的執(zhí)行順序。但在編程中可以設(shè)置事件,對數(shù)據(jù)流進行干預(yù)。這些事件是用戶在前面板的互動操作,如:點擊鼠標(biāo)事件、鍵盤事件等。

在事件驅(qū)動程序中,首先是等待事件,當(dāng)事件發(fā)生時執(zhí)行指定事件的程序代碼,對事件進行響應(yīng),然后再回到等待狀態(tài)。

使用事件設(shè)置,當(dāng)用戶改變一個前面板的值、關(guān)閉前面板、退出程序等,都可以被程序及時捕捉到。第二十六頁,共五十二頁,編輯于2023年,星期一6.5.2事件結(jié)構(gòu)的建立

LabVIEW中Event結(jié)構(gòu)可從框圖功能模板Function→Structure子模板中創(chuàng)建,如下。

超時端口Timeout連接一個數(shù)值指定等待事件的毫秒數(shù)。默認(rèn)值為-1,即無限等待。

通過事件端口可以訪問事件的數(shù)據(jù)值。

事件選擇標(biāo)簽顯示當(dāng)前響應(yīng)事件的子圖形代碼框。第二十七頁,共五十二頁,編輯于2023年,星期一6.5.3事件結(jié)構(gòu)的設(shè)置

在事件結(jié)構(gòu)邊框右鍵彈出菜單上選擇CaseEventCase添加子圖形代碼框。

在EditEventsHandledbyThisCase可以為子圖形代碼框設(shè)置事件。第二十八頁,共五十二頁,編輯于2023年,星期一

在EditEventsHandledbyThisCase設(shè)置代碼框設(shè)置事件。第二十九頁,共五十二頁,編輯于2023年,星期一

在EditEventsHandledbyThisCase設(shè)置代碼框設(shè)置事件。

例:事件結(jié)構(gòu)的使用。第三十頁,共五十二頁,編輯于2023年,星期一第三十一頁,共五十二頁,編輯于2023年,星期一6.6公式節(jié)點

假如程序中有一些復(fù)雜的數(shù)學(xué)計算,編寫圖形代碼是比較麻煩的。如x>0,y=mx3+3nx2-x+1;x<=0,y=-2mx3+x-5。第三十二頁,共五十二頁,編輯于2023年,星期一第三十三頁,共五十二頁,編輯于2023年,星期一→6.6.1公式節(jié)點的創(chuàng)建

在功能模板Function→Structure子模板中選擇FormulaNode。第三十四頁,共五十二頁,編輯于2023年,星期一→

添加輸入輸出端口?!谌屙?,共五十二頁,編輯于2023年,星期一6.6.2公式節(jié)點的使用

任務(wù)9求y=3x+100第三十六頁,共五十二頁,編輯于2023年,星期一任務(wù)10x>0,y=mx3+3nx2-x+1;

x<=0,y=-2mx3+x-5。

應(yīng)用選擇結(jié)構(gòu)<邏輯表達(dá)式>?<表達(dá)式1>:<表達(dá)式2>;第三十七頁,共五十二頁,編輯于2023年,星期一6.6.3公式節(jié)點的特點

1.LabVIEW的公式節(jié)點的使用簡化計算公式的圖形化編程,提高了效率。

2.公式節(jié)點框架中出現(xiàn)的所有變量,必須有一個對應(yīng)的輸入輸出端口,注意輸入輸出端口是可設(shè)置的。

3.公式節(jié)點框架內(nèi)每個公式后以分號”;”結(jié)束。第三十八頁,共五十二頁,編輯于2023年,星期一6.7屬性節(jié)點

前面板對象屬性是指前面板上控件的外觀和功能特征,如顯示的顏色、可見性、閃爍、位置、比例等。

6.7.1屬性節(jié)點的創(chuàng)建

簡便的方法是在前面板對象或其端口的右鍵彈出菜單中選擇Creat→PropertyNode,如下圖:第三十九頁,共五十二頁,編輯于2023年,星期一第四十頁,共五十二頁,編輯于2023年,星期一

屬性類型的選擇,單擊屬性節(jié)點,在彈出菜單中的Property下,列出了對象的所有屬性,如下圖:→

增加多種屬性,方法1:拖動;

方法2:AddElement第四十一頁,共五十二頁,編輯于2023年,星期一6.7.2屬性節(jié)點的使用

VisibleAttribute

控制前面板對象是否可見,數(shù)據(jù)類型為布爾型。當(dāng)為True時,可見;當(dāng)為False時,不可見第四十二頁,共五十二頁,編輯于2023年,星期一②DisableAttribute

控制前面板對象是否可用,數(shù)據(jù)類型為整型。當(dāng)其值為0時,可用;當(dāng)其值為1時,不可用;當(dāng)其值為2時,不可用,且變暗。第四十三頁,共五十二頁,編輯于2023年,星期一③KeyFocusAttribute

控制前面板對象是否處于焦點狀態(tài),數(shù)據(jù)類型為布爾型。當(dāng)為True時,處于焦點狀態(tài);當(dāng)為False時,失去焦點狀態(tài)。第四十四頁,共五十二頁,編輯于2023年,星期一④BlinkingAttribute

控制前面板對象是否閃爍,數(shù)據(jù)類型為布爾型。當(dāng)為True時,處于閃爍狀態(tài);當(dāng)為False時,處于正常狀態(tài)。第四十五頁,共五十二頁,編輯于2023年,星期一⑤PositionAttribute

設(shè)置控制前面板對象在前面板中的位置,數(shù)據(jù)類型為簇,均為整型。第四十六頁,共五十二頁,編輯于2023年,星期一⑥BoundsAttribute(ReadOnly)

獲得控制前面板中對象的大小,包括高和寬,數(shù)據(jù)類型為簇,均為整型。第四十七頁,共五十二頁,編輯于2023年,星期一6.6.3屬性節(jié)點的特點

1.與本地變量類似,屬性節(jié)點也有Read和Write兩種屬性。

2.在編程中會經(jīng)常應(yīng)用到屬性節(jié)點,特別是對于Graph和Chart波形控件,應(yīng)用屬性節(jié)點能添加不少實用功能。第四十八頁,共五十二頁,編輯于2023年,星期一

實驗三

1.產(chǎn)生100個0.0~100.0的隨機數(shù),求其最小值、最大值、平均值,并將數(shù)據(jù)在Graph中顯示。

2.產(chǎn)生0.0~100.0的隨機數(shù)序列

溫馨提示

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

評論

0/150

提交評論