在循環(huán)結(jié)構(gòu)中經(jīng)常用到一種數(shù)據(jù)處理方式,即把第i次循環(huán)執(zhí)行的結(jié)果作為第i+1次循環(huán)的輸入,LabVIEW循環(huán)結(jié)構(gòu)中的移位寄存器可以實(shí)現(xiàn)這種功能。在循環(huán)結(jié)構(gòu)框左側(cè)或右側(cè)邊框單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“添加
反饋節(jié)點(diǎn)位于函數(shù)選板的“編程→結(jié)構(gòu)→反饋節(jié)點(diǎn)”,如圖1所示。 反饋節(jié)點(diǎn)用來(lái)在循環(huán)結(jié)構(gòu)之間傳遞數(shù)據(jù),相當(dāng)于只有一個(gè)左側(cè)端子的移位寄存器。圖2所示的程序,實(shí)現(xiàn)的功能和圖2中反饋節(jié)點(diǎn)的功能相同。 圖1 函數(shù)選板中
條件結(jié)構(gòu)類(lèi)似于文本編程語(yǔ)言中的switch語(yǔ)句或if else結(jié)構(gòu)或case結(jié)構(gòu),位于函數(shù)選板的“編程-結(jié)構(gòu)一條件結(jié)構(gòu)”,如圖1所示。 條件結(jié)構(gòu)包含多個(gè)子程序框圖,根據(jù)傳遞給該結(jié)構(gòu)的輸入值執(zhí)行相應(yīng)的子程序框圖。條件結(jié)構(gòu)每
根據(jù)分支標(biāo)簽的不同,分支選擇端子可以連接的數(shù)據(jù)類(lèi)型有整型、布爾值型、字符串型和枚舉型。當(dāng)分支結(jié)構(gòu)中有兩個(gè)分支時(shí)使用布爾型,包括“真”和“假”分支;當(dāng)分支結(jié)構(gòu)中有多個(gè)分支時(shí)使用整型、字符串型和枚舉型。選
分支子程序框用來(lái)放置不同分支對(duì)應(yīng)的程序,不同的分支子程序框內(nèi)的程序和變量是相互獨(dú)立的。如圖1所示條件結(jié)構(gòu)程序,在“真”和“假”兩個(gè)分支下分別添加不同的程序和變量,并設(shè)置兩個(gè)分支下的顯示控x和y默認(rèn)值都0。
層疊式順序結(jié)構(gòu)位于函數(shù)選板的“編程→結(jié)構(gòu)→層疊式順序結(jié)構(gòu)”,如圖1所示。 圖1 函數(shù)選板中的層疊式順序結(jié)構(gòu)來(lái)源:ks990次
層疊式順序結(jié)構(gòu)和平鋪式順序結(jié)構(gòu)功能相同,相互之間可以方便地進(jìn)行轉(zhuǎn)換。通過(guò)層疊順序結(jié)構(gòu)的右鍵快捷菜單選項(xiàng)“替換→替換為平鋪式順序”,可以將層疊式順序結(jié)構(gòu)轉(zhuǎn)換為平鋪式順序結(jié)構(gòu)。如果層疊順序結(jié)構(gòu)有局部變量,
在程序設(shè)計(jì)中,如果只用圖形和線條來(lái)描述計(jì)算和算法過(guò)程,有時(shí)候會(huì)顯得比較繁瑣。公式節(jié)點(diǎn)工具彌補(bǔ)了這個(gè)不足。公式節(jié)點(diǎn)是一種便于在程序框圖上執(zhí)行數(shù)學(xué)運(yùn)算的節(jié)點(diǎn)。在公式節(jié)點(diǎn)中可以使用算術(shù)表達(dá)式來(lái)實(shí)現(xiàn)算法過(guò)程,
事件結(jié)構(gòu)用來(lái)響應(yīng)用戶界面操作,如點(diǎn)擊鼠標(biāo),按下鍵盤(pán),退出等程序等操作。事件結(jié)構(gòu)的工作原理和內(nèi)置的條件結(jié)構(gòu)相似。 事件結(jié)構(gòu)可包含多個(gè)分支,一個(gè)分支對(duì)應(yīng)一個(gè)獨(dú)立的事件處理程序。一個(gè)分支配置可處理一個(gè)或多個(gè)
LabVIEW可以產(chǎn)生多種不同的事件,為避免產(chǎn)生不需要的事件,可用事件注冊(cè)來(lái)指定希望LabVIEW產(chǎn)生的事件。 LabVIEW支持靜態(tài)事件注冊(cè)和動(dòng)態(tài)事件注冊(cè)兩種模式。 靜態(tài)事件注冊(cè)可以指定VI在程序框圖上的事件結(jié)構(gòu)的每個(gè)分支具
用戶界面事件可以進(jìn)行用戶靜態(tài)事件注冊(cè),使用“編輯事件”對(duì)話框配置事件結(jié)構(gòu)來(lái)處理靜態(tài)注冊(cè)的事件。選擇事件源,事件源可以是程序、VI或某個(gè)控件;再選擇一個(gè)事件源可產(chǎn)生的特定事件,如前面板大小調(diào)整,值改變等,
動(dòng)態(tài)事件注冊(cè)可完全控制LabVIEW產(chǎn)生的事件的類(lèi)型和時(shí)間。動(dòng)態(tài)事件可使事件僅在應(yīng)用程序的某個(gè)部分發(fā)生,也可在應(yīng)用程序運(yùn)行時(shí)改變產(chǎn)生事件的VI或控件。使用動(dòng)態(tài)注冊(cè),可在子VI中處理事件而不是僅在產(chǎn)生事件的VI中處理
如果動(dòng)態(tài)地注冊(cè)事件,可于運(yùn)行時(shí)修改注冊(cè)信息以改變LabVIEW產(chǎn)生事件的對(duì)象。若要修改與引用句柄相關(guān)的已有注冊(cè)而不是創(chuàng)建一個(gè)新注冊(cè),可連接“注冊(cè)事件”函數(shù)左上角的“事件注冊(cè)引用句柄”輸入端。 當(dāng)連接事件注冊(cè)引
循環(huán)結(jié)構(gòu)包括For循環(huán)結(jié)構(gòu)和While循環(huán)結(jié)構(gòu),兩者都可以用來(lái)重復(fù)執(zhí)行程序。For循環(huán)結(jié)構(gòu)的循環(huán)次數(shù)相對(duì)比較固定,循環(huán)過(guò)程不能中斷,對(duì)確定數(shù)值循環(huán)的程序比較適合;While循環(huán)可以添加條件進(jìn)行控制。 條件結(jié)構(gòu)根據(jù)輸入
一維數(shù)組是最基本的數(shù)組,多維數(shù)組是在一維數(shù)組的基礎(chǔ)上創(chuàng)建的。一維數(shù)組的創(chuàng)建過(guò)程如下。 (1)創(chuàng)建數(shù)組框架。在前面板窗口控件選板中選擇控件“新式→數(shù)組、矩陣與簇→數(shù)組,置于前面板窗口的空白處,如圖1所示。
創(chuàng)建多維數(shù)組首先要在一維數(shù)組基礎(chǔ)上修改維數(shù)。修改數(shù)組維數(shù)通常有以下幾種方法。 (1)改變索引框大小來(lái)增減維數(shù)。將光標(biāo)移至索引號(hào)四周,出現(xiàn)改變大小的箭頭,單擊鼠標(biāo)拖動(dòng)箭頭改變索引號(hào)框的大小和索引號(hào)的個(gè)數(shù)。
創(chuàng)建數(shù)組過(guò)程中可能會(huì)包含很多重復(fù)的內(nèi)容,所以,有時(shí)可以利用循環(huán)結(jié)構(gòu)來(lái)創(chuàng)建數(shù)組。例如,創(chuàng)建上例中規(guī)律的二維數(shù)值數(shù)組,可按照以下步驟進(jìn)行。 第1步:創(chuàng)建一個(gè)For循環(huán),設(shè)置循環(huán)次數(shù)為3,用來(lái)創(chuàng)建數(shù)組行,如圖1所示
與數(shù)組類(lèi)型類(lèi)似,簇也是復(fù)合型數(shù)據(jù)類(lèi)型。不同的是,同一數(shù)組中只能包含一種簡(jiǎn)單數(shù)據(jù)類(lèi)型,而同一簇中則可以包含多種數(shù)據(jù)類(lèi)型的元素,包括簡(jiǎn)單數(shù)據(jù)類(lèi)型和復(fù)合數(shù)據(jù)類(lèi)型。圖1所示的簇包含了一個(gè)數(shù)值型數(shù)據(jù)、一個(gè)布爾型數(shù)
1.創(chuàng)建簇框架在前面板控件選板中選擇“新式→數(shù)組、矩陣與簇→簇”控件,如圖1所示,置于前面板窗口中。 將光標(biāo)移至框架四周,光標(biāo)變成調(diào)整大小的斜箭頭,單擊并拖動(dòng)箭頭可以改變簇框架的大小,如圖2所示。 2.向簇
簇中的元素是有次序的。簇中元素的次序按照元素放入簇中的先后順序排列。如果兩個(gè)簇中的元素都相同,但排列順序不同,那么這兩個(gè)簇是不同類(lèi)型的簇。 圖1中的輸入控件“簇”和顯示控件“簇2”中包含的元素完全相同,“