




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、四、順序結(jié)構(gòu)四、順序結(jié)構(gòu)uLabVIEW_ _數(shù)據(jù)流運行機制數(shù)據(jù)流運行機制 傳統(tǒng)的編程語言,傳統(tǒng)的編程語言,程序運行是基于程序編碼的順序程序運行是基于程序編碼的順序,是指令驅(qū),是指令驅(qū)動的動的代碼流代碼流。LabVIEW 的運行機制的運行機制是基于數(shù)據(jù)流的是基于數(shù)據(jù)流的。也就是說:。也就是說:當(dāng)程序中的可執(zhí)行元素(節(jié)點)在收到所有必須的輸入數(shù)據(jù)時才當(dāng)程序中的可執(zhí)行元素(節(jié)點)在收到所有必須的輸入數(shù)據(jù)時才開始執(zhí)行。當(dāng)該元素內(nèi)的所有代碼執(zhí)行完成后,數(shù)據(jù)才流出該執(zhí)開始執(zhí)行。當(dāng)該元素內(nèi)的所有代碼執(zhí)行完成后,數(shù)據(jù)才流出該執(zhí)行元素并流向其他元素。行元素并流向其他元素。 數(shù)據(jù)流的概念源于電子表格的數(shù)據(jù)處理思
2、路。數(shù)據(jù)流的概念源于電子表格的數(shù)據(jù)處理思路。例如例如,在電子表,在電子表格中你可以指定一個公式與某些單元格建立數(shù)據(jù)關(guān)聯(lián),當(dāng)這些單格中你可以指定一個公式與某些單元格建立數(shù)據(jù)關(guān)聯(lián),當(dāng)這些單元格的所有數(shù)據(jù)都有效時,公式才會給出最終的計算結(jié)果。當(dāng)任元格的所有數(shù)據(jù)都有效時,公式才會給出最終的計算結(jié)果。當(dāng)任一單元的數(shù)據(jù)發(fā)生變化時,將會按公式重新進(jìn)行計算。一單元的數(shù)據(jù)發(fā)生變化時,將會按公式重新進(jìn)行計算。 數(shù)據(jù)流機制數(shù)據(jù)流機制更適合圖形化編程語言,在圖形化編程語言中,它更適合圖形化編程語言,在圖形化編程語言中,它起著起著數(shù)據(jù)傳遞數(shù)據(jù)傳遞和圖形化和圖形化程序運行控制程序運行控制的雙重作用。而且數(shù)據(jù)流機的雙重作用
3、。而且數(shù)據(jù)流機制具有制具有并發(fā)性并發(fā)性,可以使程序并行執(zhí)行,大大提高運行效率。,可以使程序并行執(zhí)行,大大提高運行效率。 必須牢記:必須牢記:LabVIEW 采用的采用的數(shù)據(jù)流運行機制數(shù)據(jù)流運行機制是依賴數(shù)是依賴數(shù)據(jù)來驅(qū)動的。這是初學(xué)者要認(rèn)真注意的問題,忽略這個據(jù)來驅(qū)動的。這是初學(xué)者要認(rèn)真注意的問題,忽略這個問題將會給程序設(shè)計帶來麻煩乃至災(zāi)難。問題將會給程序設(shè)計帶來麻煩乃至災(zāi)難。 數(shù)據(jù)流編程機制數(shù)據(jù)流編程機制為用戶帶來了方便,但同時也在為用戶帶來了方便,但同時也在某些方面存在不足。比如,程序框圖中如果兩個節(jié)某些方面存在不足。比如,程序框圖中如果兩個節(jié)點同時滿足執(zhí)行條件,則會同時執(zhí)行。但在實際問點
4、同時滿足執(zhí)行條件,則會同時執(zhí)行。但在實際問題中往往需要二者按一定先后順序執(zhí)行的話,則數(shù)題中往往需要二者按一定先后順序執(zhí)行的話,則數(shù)據(jù)流編程將不能滿足要求。為此據(jù)流編程將不能滿足要求。為此 LabVIEW 引入了引入了順序結(jié)構(gòu),順序結(jié)構(gòu),強行規(guī)定程序的執(zhí)行順序強行規(guī)定程序的執(zhí)行順序。u為什么要引入順序結(jié)構(gòu)?為什么要引入順序結(jié)構(gòu)? 順序結(jié)構(gòu)將按照既定的順序依次執(zhí)行,它可以包含順序結(jié)構(gòu)將按照既定的順序依次執(zhí)行,它可以包含多個代碼子框圖,這些子框圖看起來就像是多幀電影多個代碼子框圖,這些子框圖看起來就像是多幀電影一樣,所以把每個子框圖稱為一幀。一樣,所以把每個子框圖稱為一幀。 順序結(jié)構(gòu)分為順序結(jié)構(gòu)分為
5、平鋪式平鋪式和和層疊式層疊式兩種,二者表現(xiàn)形式兩種,二者表現(xiàn)形式不同,但其基本功能則完全相同。不同,但其基本功能則完全相同。1.1. 功能和作用功能和作用2.2.所在位置所在位置 函數(shù)函數(shù)編程編程結(jié)構(gòu)結(jié)構(gòu)平鋪式平鋪式 層疊式層疊式順序結(jié)構(gòu)順序結(jié)構(gòu)l 基本特性:基本特性:3.3.基本結(jié)構(gòu)基本結(jié)構(gòu). 平鋪式:平鋪式:按左右順序依次排列按左右順序依次排列 右擊右擊右邊右邊框,框,向后添向后添加一幀加一幀右擊右擊內(nèi)邊框,內(nèi)邊框,可向后插入一可向后插入一幀或合并幀幀或合并幀 右擊右擊左邊左邊框,框,向前插向前插入一幀入一幀順序不變性:順序不變性:平鋪式結(jié)構(gòu)各框架之間的順序不能改變,但平鋪式結(jié)構(gòu)各框架之間
6、的順序不能改變,但可以先變換成層疊式再還原成平鋪式進(jìn)行改變??梢韵茸儞Q成層疊式再還原成平鋪式進(jìn)行改變。傳輸特性:傳輸特性:由于該結(jié)構(gòu)各幀都是平鋪可見的,因此各幀之由于該結(jié)構(gòu)各幀都是平鋪可見的,因此各幀之間的數(shù)據(jù)可以直接傳輸,無須借助局部變量進(jìn)行。間的數(shù)據(jù)可以直接傳輸,無須借助局部變量進(jìn)行。l 基本操作:基本操作:添加空白幀:右擊添加空白幀:右擊相應(yīng)邊框,通過快捷菜單添加、插相應(yīng)邊框,通過快捷菜單添加、插入空白幀或合并幀。入空白幀或合并幀。增量按鈕:增量按鈕:向后翻頁向后翻頁. .層疊式:層疊式:按上下順序?qū)盈B排列按上下順序?qū)盈B排列選擇器標(biāo)簽:選擇器標(biāo)簽:以序號的形式標(biāo)以序號的形式標(biāo)示各子框頁的
7、基示各子框頁的基本信息。本信息。減量按鈕:減量按鈕:向前翻頁向前翻頁 l 基本特性:基本特性:順序可變性:順序可變性:層疊式結(jié)構(gòu)各框圖由各自的序號進(jìn)行區(qū)別,按照層疊式結(jié)構(gòu)各框圖由各自的序號進(jìn)行區(qū)別,按照從小到大的順序執(zhí)行。順序(號)可通過右擊邊框的從小到大的順序執(zhí)行。順序(號)可通過右擊邊框的【本幀設(shè)本幀設(shè)置為置為】進(jìn)行調(diào)整改變。進(jìn)行調(diào)整改變。傳輸特性:傳輸特性:由于該結(jié)構(gòu)各幀是向下層疊不可見的,因此各幀之由于該結(jié)構(gòu)各幀是向下層疊不可見的,因此各幀之間的數(shù)據(jù)必須借助間的數(shù)據(jù)必須借助局部變量局部變量進(jìn)行傳輸。進(jìn)行傳輸。l 基本操作:基本操作:添加空白幀:添加空白幀:右擊邊框,可通過快捷菜單向前、
8、向后添加幀。右擊邊框,可通過快捷菜單向前、向后添加幀。添加局部變量:添加局部變量:右擊邊框,右擊邊框,【添加順序局部變量添加順序局部變量】,所添加的,所添加的變量為藍(lán)色箭頭標(biāo)記變量為藍(lán)色箭頭標(biāo)記 數(shù)據(jù)源、數(shù)據(jù)源、 傳入端。傳入端。u應(yīng)用舉例:應(yīng)用舉例:產(chǎn)生隨機數(shù)直到等于給定數(shù)時顯示所需時間與執(zhí)行次數(shù)產(chǎn)生隨機數(shù)直到等于給定數(shù)時顯示所需時間與執(zhí)行次數(shù)l采用平鋪式順序結(jié)構(gòu)采用平鋪式順序結(jié)構(gòu)通過數(shù)據(jù)通道傳遞數(shù)據(jù)通過數(shù)據(jù)通道傳遞數(shù)據(jù)l采用層疊式:采用層疊式: . .新建新建 VIVI,在前面板上放置數(shù)值輸入控,在前面板上放置數(shù)值輸入控件件“給定數(shù)據(jù)給定數(shù)據(jù)”和兩個數(shù)值顯示控件和兩個數(shù)值顯示控件“執(zhí)行次數(shù)
9、執(zhí)行次數(shù)”,“所需時間所需時間”。 . .在程序框圖上放置一個層疊式順序結(jié)在程序框圖上放置一個層疊式順序結(jié)構(gòu),在右擊結(jié)構(gòu)框圖邊框的快捷菜單中構(gòu),在右擊結(jié)構(gòu)框圖邊框的快捷菜單中執(zhí)行兩次執(zhí)行兩次“在后面添加幀在后面添加幀”,創(chuàng)建,創(chuàng)建 幀幀 1 1和和幀幀2 2。 . .選取第選取第 0 0 幀,記錄程序運行初始時間。幀,記錄程序運行初始時間。 右擊結(jié)構(gòu)框圖邊框右擊結(jié)構(gòu)框圖邊框 “添加順序局部變量添加順序局部變量”,將在下邊框出,將在下邊框出現(xiàn)現(xiàn)黃色小方框黃色小方框,這就是順序局部變量,用來在層疊順序結(jié)構(gòu)中各,這就是順序局部變量,用來在層疊順序結(jié)構(gòu)中各幀之間傳遞數(shù)據(jù)。幀之間傳遞數(shù)據(jù)。 放置放置時間
10、計數(shù)器時間計數(shù)器到順序結(jié)構(gòu)內(nèi)記錄程序運行時的初始時間,并到順序結(jié)構(gòu)內(nèi)記錄程序運行時的初始時間,并與順序局部變量相連,此時黃色框內(nèi)將會出現(xiàn)一個指向順序結(jié)構(gòu)與順序局部變量相連,此時黃色框內(nèi)將會出現(xiàn)一個指向順序結(jié)構(gòu)外部的箭頭用以向外傳遞數(shù)據(jù)。外部的箭頭用以向外傳遞數(shù)據(jù)。時間計數(shù)器時間計數(shù)器位于:位于:函數(shù)函數(shù)編程編程定時定時時間計數(shù)器時間計數(shù)器。 . .選取第選取第 1 1 幀,實現(xiàn)等于給定值的幀,實現(xiàn)等于給定值的匹配運算匹配運算程序如圖:程序如圖: . .選取第選取第 2 2 幀,同樣放置一個時間計幀,同樣放置一個時間計數(shù)器用于返回當(dāng)前時間,將它減去順數(shù)器用于返回當(dāng)前時間,將它減去順序局部變量傳遞
11、過來的第序局部變量傳遞過來的第 0 0 幀初始時幀初始時間即可得到花費的時間,如圖:間即可得到花費的時間,如圖:. .運行結(jié)果:運行結(jié)果:注意:注意:Labview 編程的主要特點是數(shù)據(jù)流形式,這便于編程的主要特點是數(shù)據(jù)流形式,這便于VI大量的按照并行方式運行,優(yōu)化了程序的計算性能。而大量的按照并行方式運行,優(yōu)化了程序的計算性能。而順序結(jié)構(gòu)卻趨向于中斷數(shù)據(jù)流編程,禁止程序的并行操順序結(jié)構(gòu)卻趨向于中斷數(shù)據(jù)流編程,禁止程序的并行操作,順序結(jié)構(gòu)還掩蓋了部分代碼,所以用戶在編程時應(yīng)作,順序結(jié)構(gòu)還掩蓋了部分代碼,所以用戶在編程時應(yīng)盡量不用或少用順序結(jié)構(gòu)。盡量不用或少用順序結(jié)構(gòu)。 在實際應(yīng)用中,經(jīng)常用人為
12、的在實際應(yīng)用中,經(jīng)常用人為的數(shù)據(jù)依從關(guān)系來確定程序先后執(zhí)數(shù)據(jù)依從關(guān)系來確定程序先后執(zhí)行的順序,在前面簇的章節(jié)中,行的順序,在前面簇的章節(jié)中,我們就提到過我們就提到過 ErrorError簇可以控制簇可以控制程序執(zhí)行的先后順序,但并不是程序執(zhí)行的先后順序,但并不是每一個控件都有每一個控件都有 ErrorError簇的輸入簇的輸入和輸出端口,這時還有另一種方和輸出端口,這時還有另一種方法能實現(xiàn)順序執(zhí)行的功能。法能實現(xiàn)順序執(zhí)行的功能。如圖如圖 從第一個從第一個 While 循環(huán)結(jié)構(gòu)中的循環(huán)結(jié)構(gòu)中的布爾開關(guān)上連了一根線到第二個布爾開關(guān)上連了一根線到第二個 While 循環(huán)結(jié)構(gòu)的邊框上,可以循環(huán)結(jié)構(gòu)的邊
13、框上,可以看到,第二個看到,第二個 While 循環(huán)結(jié)構(gòu)中循環(huán)結(jié)構(gòu)中沒有一個對象需要這個數(shù)據(jù),只是沒有一個對象需要這個數(shù)據(jù),只是起到順序執(zhí)行程序的目的。起到順序執(zhí)行程序的目的。 五、局部變量和全局變量五、局部變量和全局變量 局部變量和全局變量是局部變量和全局變量是 LabVIEW用來用來傳遞數(shù)據(jù)傳遞數(shù)據(jù)的工具。的工具。 LabVIEW 編程是一種數(shù)據(jù)流編程,它是通過連線來傳編程是一種數(shù)據(jù)流編程,它是通過連線來傳遞數(shù)據(jù)的。但是如果一個程序太復(fù)雜的話,有時連線會很遞數(shù)據(jù)的。但是如果一個程序太復(fù)雜的話,有時連線會很困難甚至無法連接,這時就需要用變量進(jìn)行數(shù)據(jù)傳遞。困難甚至無法連接,這時就需要用變量進(jìn)行
14、數(shù)據(jù)傳遞。 另外,也會經(jīng)常遇到這樣一種情況,對程序中一個控件另外,也會經(jīng)常遇到這樣一種情況,對程序中一個控件對象,希望對象,希望既能寫入數(shù)據(jù),又能讀出數(shù)據(jù)既能寫入數(shù)據(jù),又能讀出數(shù)據(jù),這在數(shù)據(jù)流編,這在數(shù)據(jù)流編程中是無法實現(xiàn)的,這也需要用局部變量或全局變量代替程中是無法實現(xiàn)的,這也需要用局部變量或全局變量代替該控件來實現(xiàn)。該控件來實現(xiàn)。 局部變量主要用于局部變量主要用于本本VI內(nèi)內(nèi)不同位置之間的數(shù)據(jù)傳遞,而不同位置之間的數(shù)據(jù)傳遞,而全局變量主要是針對全局變量主要是針對不同不同VI程序之間的數(shù)據(jù)通信。程序之間的數(shù)據(jù)通信。 談到局部變量,其實在介紹順序結(jié)構(gòu)時就已經(jīng)接觸過了,當(dāng)時談到局部變量,其實在介
15、紹順序結(jié)構(gòu)時就已經(jīng)接觸過了,當(dāng)時是添加順序局部變量來傳遞程序初始時間,以便計算程序所執(zhí)行是添加順序局部變量來傳遞程序初始時間,以便計算程序所執(zhí)行的時間。目的是在不同選擇分支中都能夠?qū)χ甘酒鬟M(jìn)行賦值。的時間。目的是在不同選擇分支中都能夠?qū)χ甘酒鬟M(jìn)行賦值。 另一種方法是:另一種方法是:在右在右 擊控件對象的快捷菜擊控件對象的快捷菜 單中執(zhí)行單中執(zhí)行 “創(chuàng)建創(chuàng)建局局 部變量部變量”, ,如圖如圖 1.1.局部變量局部變量u建立局部變量:建立局部變量:建立局部變量的方法有兩種。建立局部變量的方法有兩種。 一種一種方法是:方法是:在程序框圖中直接添加,在程序框圖中直接添加,如圖:如圖:如此創(chuàng)建的變量屬于
16、裸變量,必須在如此創(chuàng)建的變量屬于裸變量,必須在右擊圖標(biāo)的快捷菜單中,與前面板相右擊圖標(biāo)的快捷菜單中,與前面板相應(yīng)控件進(jìn)行關(guān)聯(lián)方可有效。應(yīng)控件進(jìn)行關(guān)聯(lián)方可有效。u局部變量的應(yīng)用局部變量的應(yīng)用 該例的目的在于使用局部變量向它聯(lián)系的前面板上的該例的目的在于使用局部變量向它聯(lián)系的前面板上的電流控件寫數(shù)據(jù),也可以從電流控件讀取數(shù)據(jù)。程序框電流控件寫數(shù)據(jù),也可以從電流控件讀取數(shù)據(jù)。程序框圖如圖所示:圖如圖所示: 程序的目的是檢驗電流量,如果電流大于程序的目的是檢驗電流量,如果電流大于5A5A時,則限時,則限定電流量為上限定電流量為上限5A5A,這時電流局部變量為,這時電流局部變量為寫入狀態(tài)寫入狀態(tài),可,可
17、以向它寫入數(shù)據(jù)以向它寫入數(shù)據(jù)5A5A;如果電流小于;如果電流小于5A5A時,則將電流通過時,則將電流通過一個一個 “電流顯示器電流顯示器” 來顯示,這時就需要將電流局部來顯示,這時就需要將電流局部變量改變?yōu)樽兞扛淖優(yōu)樽x取狀態(tài)讀取狀態(tài),方法是在快捷菜單上執(zhí)行,方法是在快捷菜單上執(zhí)行 “轉(zhuǎn)轉(zhuǎn)化為讀取化為讀取” 命令。命令。 全局變量與局部變量不同,它是在不同的程序之間進(jìn)行全局變量與局部變量不同,它是在不同的程序之間進(jìn)行通信。通信。LabVIEW 的全局變量是一個獨立的的全局變量是一個獨立的VI,它是一種,它是一種特殊的程序,沒有程序框圖只有前面板,功能是保存一個特殊的程序,沒有程序框圖只有前面板,
18、功能是保存一個或多個全局變量,所以也把全局變量程序稱為或多個全局變量,所以也把全局變量程序稱為容器。容器。u建立全局變量:建立全局變量: 它的建立和局部變量類似,將它的建立和局部變量類似,將全局變量拖放到程序框圖中,在全局變量拖放到程序框圖中,在它的快捷菜單中執(zhí)行它的快捷菜單中執(zhí)行 “打開前面打開前面板板 ”,或雙擊全局變量圖標(biāo),打或雙擊全局變量圖標(biāo),打開全局變量程序前面板,然后在開全局變量程序前面板,然后在前面板中添加所需要的全局變量前面板中添加所需要的全局變量控件,如圖,添加了控件,如圖,添加了 3 3個全局變個全局變量,并保存量,并保存VI。 2.2.全局變量:全局變量:u全局變量的應(yīng)用
19、:全局變量的應(yīng)用:建立了全局變量以后就可以在其他程建立了全局變量以后就可以在其他程序里調(diào)用它,方法是在程序框圖上選中序里調(diào)用它,方法是在程序框圖上選中“選擇選擇VI.VI.”,如圖:如圖: 在打開的對話框窗體中為程序選擇想要放置的全局變量。在打開的對話框窗體中為程序選擇想要放置的全局變量。如果最先放置的不是想要的全局變量,可以像對局部變量如果最先放置的不是想要的全局變量,可以像對局部變量那樣操作,在快捷菜單上選取那樣操作,在快捷菜單上選取“選擇項選擇項”子選項,在列出子選項,在列出的所有變量對象中進(jìn)行選擇,或者用操作工具來選擇。的所有變量對象中進(jìn)行選擇,或者用操作工具來選擇。 注意:注意:使用
20、全局變量時必須特別小心,因為它對所有的使用全局變量時必須特別小心,因為它對所有的 LabVIEW 程序都是通用的,稍有不慎就可能互相干擾,用戶必須清楚的知道程序都是通用的,稍有不慎就可能互相干擾,用戶必須清楚的知道全局變量的讀寫位置。全局變量的讀寫位置。 LabVIEW LabVIEW 語言編程是一種數(shù)據(jù)流,全局變量和局部變量語言編程是一種數(shù)據(jù)流,全局變量和局部變量提供了一種違反嚴(yán)格數(shù)據(jù)流的程序設(shè)計方式。大家有必要提供了一種違反嚴(yán)格數(shù)據(jù)流的程序設(shè)計方式。大家有必要了解競態(tài)條件的缺陷,當(dāng)兩個或兩個以上的事件可以按任了解競態(tài)條件的缺陷,當(dāng)兩個或兩個以上的事件可以按任何順序發(fā)生時就產(chǎn)生了競態(tài)條件。用
21、戶要想知道再多個并何順序發(fā)生時就產(chǎn)生了競態(tài)條件。用戶要想知道再多個并行的程序中一個全局變量什么時候被訪問是比較困難的。行的程序中一個全局變量什么時候被訪問是比較困難的。特別是再多線程編程中,對這種共享數(shù)據(jù)變量的競態(tài)條件特別是再多線程編程中,對這種共享數(shù)據(jù)變量的競態(tài)條件問題要求更加苛刻,使用全局變量會帶來意想不到的錯誤。問題要求更加苛刻,使用全局變量會帶來意想不到的錯誤。 如果用戶的應(yīng)用程序中有全局變量,那么就存在大量的如果用戶的應(yīng)用程序中有全局變量,那么就存在大量的數(shù)據(jù)復(fù)制的危險,因為用戶要想在不同的地方對數(shù)據(jù)進(jìn)行數(shù)據(jù)復(fù)制的危險,因為用戶要想在不同的地方對數(shù)據(jù)進(jìn)行處理,最終就有許多的數(shù)據(jù)備份,
22、造成內(nèi)存的巨大開銷和處理,最終就有許多的數(shù)據(jù)備份,造成內(nèi)存的巨大開銷和系統(tǒng)資源的浪費,所以建議初學(xué)者盡量不要使用全局變量。系統(tǒng)資源的浪費,所以建議初學(xué)者盡量不要使用全局變量。 如果程序中使用了全局變量或者是局部變量,那么在程如果程序中使用了全局變量或者是局部變量,那么在程序運行之前,必須首先要確定它的初始值是否滿足執(zhí)行要序運行之前,必須首先要確定它的初始值是否滿足執(zhí)行要求,如果不滿足的話,就要對它們進(jìn)行初始化求,如果不滿足的話,就要對它們進(jìn)行初始化u使用全局變量和局部變量的注意事項:使用全局變量和局部變量的注意事項:1.1.問題的提出問題的提出 面對面對 LabVIEW 基于數(shù)據(jù)流驅(qū)動的編程機
23、制,基于數(shù)據(jù)流驅(qū)動的編程機制,在某些情況下,希望改變在某些情況下,希望改變這種運行這種運行方式,賦予人方式,賦予人為控制或程序控制的因素,這就需要借助于為控制或程序控制的因素,這就需要借助于事件事件結(jié)構(gòu)結(jié)構(gòu)來實現(xiàn)。來實現(xiàn)。 所謂所謂事件事件是活動(動作)發(fā)生的異步通知,它是活動(動作)發(fā)生的異步通知,它將打破數(shù)據(jù)流驅(qū)動的模式,引入將打破數(shù)據(jù)流驅(qū)動的模式,引入事件驅(qū)動事件驅(qū)動的編程的編程機制。事件的觸發(fā)來自機制。事件的觸發(fā)來自用戶控制、外部用戶控制、外部 I/O或程或程序控制序控制。事件結(jié)構(gòu)是面。事件結(jié)構(gòu)是面向?qū)ο缶幊滔驅(qū)ο缶幊痰幕A(chǔ)。的基礎(chǔ)。 六、事件結(jié)構(gòu)六、事件結(jié)構(gòu)2. 事件結(jié)構(gòu)的基本組成事
24、件結(jié)構(gòu)的基本組成(程序程序結(jié)構(gòu)結(jié)構(gòu)事件結(jié)構(gòu))事件結(jié)構(gòu))事件選擇標(biāo)簽事件選擇標(biāo)簽超時端子超時端子事件數(shù)據(jù)節(jié)點事件數(shù)據(jù)節(jié)點 超時端子:超時端子:用于設(shè)定用于設(shè)定一個超時時限,以一個超時時限,以毫秒毫秒為單位。為單位。 其值為其值為-1-1時將永遠(yuǎn)處時將永遠(yuǎn)處于等待狀態(tài),直至指定于等待狀態(tài),直至指定事件觸發(fā)為止。事件觸發(fā)為止。 該值該值為為00的整數(shù)的整數(shù)時,時,指定事件在等待期間內(nèi)指定事件在等待期間內(nèi)若觸發(fā)則已,否則若超若觸發(fā)則已,否則若超時,將終止事件觸發(fā),時,將終止事件觸發(fā),并返回一個并返回一個超時事件超時事件。 事件數(shù)據(jù)節(jié)點:事件數(shù)據(jù)節(jié)點:由若干由若干個事件數(shù)據(jù)端子組成,用個事件數(shù)據(jù)端子組成
25、,用來設(shè)計事件過程,完成具來設(shè)計事件過程,完成具體的事件,實現(xiàn)特定功能體的事件,實現(xiàn)特定功能與操作。與操作。 事件選擇標(biāo)簽:事件選擇標(biāo)簽:用于標(biāo)識當(dāng)前用于標(biāo)識當(dāng)前顯示子框圖所處理的事件源,以顯示子框圖所處理的事件源,以折疊方式進(jìn)行切換。折疊方式進(jìn)行切換。說明:說明:如果單獨使用一個事件過程,只能響應(yīng)一次事件,為了能夠持續(xù)響應(yīng)多個事如果單獨使用一個事件過程,只能響應(yīng)一次事件,為了能夠持續(xù)響應(yīng)多個事 件,常將其嵌套在件,常將其嵌套在 While 循環(huán)中。循環(huán)中。 事件結(jié)構(gòu)執(zhí)行時,將事件結(jié)構(gòu)執(zhí)行時,將等待一個事前指定事件等待一個事前指定事件的觸發(fā),一旦該事件觸的觸發(fā),一旦該事件觸發(fā),將執(zhí)行相應(yīng)的條件
26、發(fā),將執(zhí)行相應(yīng)的條件分支。一個事件處理完分支。一個事件處理完畢后,事件結(jié)構(gòu)的執(zhí)行畢后,事件結(jié)構(gòu)的執(zhí)行即告完成。即告完成。 如果在如果在等待等待事件觸發(fā)事件觸發(fā)的過程中超時,將轉(zhuǎn)去的過程中超時,將轉(zhuǎn)去執(zhí)行特定的執(zhí)行特定的超時分支超時分支。事件的執(zhí)行:事件的執(zhí)行:u工作原理:工作原理:事件結(jié)構(gòu)的工作原理猶如具有內(nèi)置事件結(jié)構(gòu)的工作原理猶如具有內(nèi)置等待通知等待通知函數(shù)的函數(shù)的條件結(jié)構(gòu)條件結(jié)構(gòu)。事件結(jié)構(gòu)可包含多個分支,一個分支即一個獨立的事。事件結(jié)構(gòu)可包含多個分支,一個分支即一個獨立的事件處理程序。件處理程序。 一個分支配置可處理一個或多個事件,但每次只能一個分支配置可處理一個或多個事件,但每次只能觸發(fā)
27、觸發(fā)(發(fā)生)(發(fā)生)這些事件中的一個事件。這些事件中的一個事件。 u事件觸發(fā):事件觸發(fā):一般事件只能通過外在用戶的動作來觸發(fā),如單擊一般事件只能通過外在用戶的動作來觸發(fā),如單擊鼠標(biāo)、按鍵等。如果需要內(nèi)部數(shù)據(jù)觸發(fā)事件(如當(dāng)鼠標(biāo)、按鍵等。如果需要內(nèi)部數(shù)據(jù)觸發(fā)事件(如當(dāng) abab 條件滿足條件滿足時觸發(fā)一個事件),就需要用戶自定義事件時觸發(fā)一個事件),就需要用戶自定義事件通過編程通過編程來實現(xiàn)。來實現(xiàn)。u事件驅(qū)動:事件驅(qū)動:事件驅(qū)動程序通常包含在一個條件循環(huán)中,該循環(huán)事件驅(qū)動程序通常包含在一個條件循環(huán)中,該循環(huán)等待事件的等待事件的觸發(fā)觸發(fā)并執(zhí)行代碼來響應(yīng)事件,然后不斷重復(fù)以等待下并執(zhí)行代碼來響應(yīng)事件
28、,然后不斷重復(fù)以等待下一個事件的一個事件的觸發(fā)觸發(fā)。 程序如何響應(yīng)事件取決于為該事件所編寫的代碼。事件驅(qū)動程程序如何響應(yīng)事件取決于為該事件所編寫的代碼。事件驅(qū)動程序的執(zhí)行順序取決于具體所發(fā)生的事件及事件發(fā)生的順序。程序序的執(zhí)行順序取決于具體所發(fā)生的事件及事件發(fā)生的順序。程序中的某些部分可能因其所處理的事件的頻繁發(fā)生而頻繁執(zhí)行,而中的某些部分可能因其所處理的事件的頻繁發(fā)生而頻繁執(zhí)行,而其它部分也可能由于相應(yīng)事件從未發(fā)生而根本不執(zhí)行。其它部分也可能由于相應(yīng)事件從未發(fā)生而根本不執(zhí)行。3、事件結(jié)構(gòu)的建立、事件結(jié)構(gòu)的建立. .擺放框圖擺放框圖(程序(程序結(jié)構(gòu)結(jié)構(gòu)事件結(jié)構(gòu))事件結(jié)構(gòu)). .調(diào)出調(diào)出編輯事件
29、編輯事件對話框:對話框:右擊邊框右擊邊框【編輯本分支所處理事件編輯本分支所處理事件】. .構(gòu)造事件:構(gòu)造事件:一般面對前面板對象構(gòu)造事件一般面對前面板對象構(gòu)造事件事件源:事件源:將列出前將列出前面板所有對象,供面板所有對象,供用戶選擇事件源。用戶選擇事件源。事件:事件:給出事件給出事件列表,供用戶選列表,供用戶選擇事件。擇事件。事件說明符:事件說明符:事件事件編輯,進(jìn)行事件的編輯,進(jìn)行事件的增、刪操作。增、刪操作。事件類型:事件類型: 通知事件和過濾事件通知事件和過濾事件兩種。分別用兩種。分別用綠色綠色與與紅色紅色箭頭進(jìn)行區(qū)別。箭頭進(jìn)行區(qū)別。通知事件通知事件用于通知某個事件的觸發(fā),用于通知某個
30、事件的觸發(fā),過濾事件過濾事件用來控制在執(zhí)行某個動作后,系統(tǒng)尚未響應(yīng)之用來控制在執(zhí)行某個動作后,系統(tǒng)尚未響應(yīng)之前進(jìn)行前進(jìn)行提醒提醒。當(dāng)事件發(fā)生時,用戶可以過濾掉甚至完全放棄事件所觸發(fā)的活動。當(dāng)事件發(fā)生時,用戶可以過濾掉甚至完全放棄事件所觸發(fā)的活動。4、應(yīng)用舉例:、應(yīng)用舉例:n前面板前面板n后面板后面板. . 點擊不同按鈕,顯示不同內(nèi)容點擊不同按鈕,顯示不同內(nèi)容l前面板:前面板: 密碼控制進(jìn)行圖片顯示密碼控制進(jìn)行圖片顯示l后面板:后面板:七、定時結(jié)構(gòu)七、定時結(jié)構(gòu)-定時循環(huán)和定時順序結(jié)構(gòu)定時循環(huán)和定時順序結(jié)構(gòu) 在程序框圖上使用定時循環(huán)或定時順序結(jié)構(gòu),可實在程序框圖上使用定時循環(huán)或定時順序結(jié)構(gòu),可實現(xiàn)
31、需要現(xiàn)需要限時限時和和延時延時的操作。定時循環(huán)將重復(fù)執(zhí)行,直的操作。定時循環(huán)將重復(fù)執(zhí)行,直到停止條件被滿足為止。到停止條件被滿足為止。 定時順序結(jié)構(gòu)以特定結(jié)構(gòu)執(zhí)行代碼一次。多幀定時定時順序結(jié)構(gòu)以特定結(jié)構(gòu)執(zhí)行代碼一次。多幀定時循環(huán)用于在限時及延時條件下按特定順序重復(fù)執(zhí)行代循環(huán)用于在限時及延時條件下按特定順序重復(fù)執(zhí)行代碼。碼。 定時循環(huán)是以指定的時間間隔執(zhí)行一個子程序或幀。定定時循環(huán)是以指定的時間間隔執(zhí)行一個子程序或幀。定時循環(huán)結(jié)構(gòu)可用于開發(fā)重復(fù)執(zhí)行且包括其它功能的時循環(huán)結(jié)構(gòu)可用于開發(fā)重復(fù)執(zhí)行且包括其它功能的VIVI,如,如多速率定時功能、精確定時、循環(huán)執(zhí)行時反饋、動態(tài)改變多速率定時功能、精確定時
32、、循環(huán)執(zhí)行時反饋、動態(tài)改變定時功能或者多種執(zhí)行優(yōu)先級。定時功能或者多種執(zhí)行優(yōu)先級。 與與 While 循環(huán)不同,定時循環(huán)的循環(huán)不同,定時循環(huán)的條件接線端條件接線端不一定不一定 要要連線。但是,如定時循環(huán)的條件接線端未進(jìn)行任何連線。但是,如定時循環(huán)的條件接線端未進(jìn)行任何 連線,連線,循環(huán)將循環(huán)將無限運行無限運行下去。下去。1.1.定時循環(huán)結(jié)構(gòu)定時循環(huán)結(jié)構(gòu) 輸入節(jié)點輸入節(jié)點 左側(cè)數(shù)據(jù)節(jié)點左側(cè)數(shù)據(jù)節(jié)點 右側(cè)數(shù)據(jù)節(jié)點右側(cè)數(shù)據(jù)節(jié)點 輸出節(jié)點輸出節(jié)點 輸入節(jié)點輸入節(jié)點: :期限期限指定定時循環(huán)必須完成指定定時循環(huán)必須完成一次循環(huán)的時間一次循環(huán)的時間。如未給期限賦值,。如未給期限賦值,則期限等于周期。期限的
33、值相對于循環(huán)的開始時間,單位則期限等于周期。期限的值相對于循環(huán)的開始時間,單位由定時源指定。由定時源指定。錯誤錯誤在結(jié)構(gòu)中傳遞錯誤。當(dāng)接收到在結(jié)構(gòu)中傳遞錯誤。當(dāng)接收到錯誤狀態(tài)錯誤狀態(tài)時,定時循環(huán)將不時,定時循環(huán)將不執(zhí)行。執(zhí)行。模式模式指定定時循環(huán)處理執(zhí)行延遲的方式。指定定時循環(huán)處理執(zhí)行延遲的方式。共有五種模式:共有五種模式:無改無改變;根據(jù)初始狀態(tài)處理錯過的周期;忽略初始狀態(tài),處理變;根據(jù)初始狀態(tài)處理錯過的周期;忽略初始狀態(tài),處理錯過的周期;放棄錯過的周期,維持初始狀態(tài);忽略初始錯過的周期;放棄錯過的周期,維持初始狀態(tài);忽略初始狀態(tài),放棄錯過的周期。狀態(tài),放棄錯過的周期。名稱名稱指定定時循環(huán)的
34、名稱。指定定時循環(huán)的名稱。偏移量偏移量指定定時循環(huán)開始執(zhí)行前的等待時間。偏移量的值相對于指定定時循環(huán)開始執(zhí)行前的等待時間。偏移量的值相對于循環(huán)的開始時間,單位是定時源的絕對單位。循環(huán)的開始時間,單位是定時源的絕對單位。周期周期指定定時循環(huán)的周期,單位是定時源的相對單位。指定定時循環(huán)的周期,單位是定時源的相對單位。優(yōu)先級優(yōu)先級指定定時循環(huán)中的執(zhí)行優(yōu)先級。定時結(jié)構(gòu)的優(yōu)先級用于指定定時循環(huán)中的執(zhí)行優(yōu)先級。定時結(jié)構(gòu)的優(yōu)先級用于指定定時結(jié)構(gòu)相對于程序框圖上其它對象的執(zhí)行開始時指定定時結(jié)構(gòu)相對于程序框圖上其它對象的執(zhí)行開始時間。優(yōu)先級的輸入值必須為間。優(yōu)先級的輸入值必須為1 1到到6553565535之間
35、的正整數(shù)。之間的正整數(shù)。處理器處理器指定用于執(zhí)行任務(wù)的處理器。默認(rèn)值為指定用于執(zhí)行任務(wù)的處理器。默認(rèn)值為-2-2,即,即LabVIEWLabVIEW自自動分配處理器。如需手動分配處理器,可輸入介于動分配處理器。如需手動分配處理器,可輸入介于0 0和和255255之間的任意值,之間的任意值,0 0代表當(dāng)前的處理器。輸入值超過可代表當(dāng)前的處理器。輸入值超過可用處理器的數(shù)量時,可導(dǎo)致運行時錯誤,定時結(jié)構(gòu)將停用處理器的數(shù)量時,可導(dǎo)致運行時錯誤,定時結(jié)構(gòu)將停止執(zhí)行。止執(zhí)行。源名稱源名稱指定用于控制結(jié)構(gòu)的定時源的名稱。定時源必須通過指定用于控制結(jié)構(gòu)的定時源的名稱。定時源必須通過創(chuàng)創(chuàng)建定時源建定時源VIVI
36、在程序框圖上創(chuàng)建,或從在程序框圖上創(chuàng)建,或從配置定時循環(huán)配置定時循環(huán)對話對話框中選擇??蛑羞x擇。超時超時指定定時循環(huán)開始執(zhí)行前的最長等待時間。超時的值相指定定時循環(huán)開始執(zhí)行前的最長等待時間。超時的值相對于定時循環(huán)的開始時間或上一次循環(huán)的結(jié)束時間,單對于定時循環(huán)的開始時間或上一次循環(huán)的結(jié)束時間,單位由幀定時源指定。位由幀定時源指定。輸入節(jié)點輸入節(jié)點: :右側(cè)數(shù)據(jù)節(jié)點右側(cè)數(shù)據(jù)節(jié)點:期限期限指定定時循環(huán)必須完成下一次循環(huán)的時間。期限的值相對指定定時循環(huán)必須完成下一次循環(huán)的時間。期限的值相對于下一次循環(huán)的開始時間,單位由定時源指定。默認(rèn)值為于下一次循環(huán)的開始時間,單位由定時源指定。默認(rèn)值為-1-1,表
37、示無改變。,表示無改變。錯誤錯誤將子程序框圖中的錯誤傳出定時循環(huán)。如錯誤接收到錯誤將子程序框圖中的錯誤傳出定時循環(huán)。如錯誤接收到錯誤狀態(tài),定時循環(huán)將結(jié)束當(dāng)前循環(huán),退出定時循環(huán),并在輸狀態(tài),定時循環(huán)將結(jié)束當(dāng)前循環(huán),退出定時循環(huán),并在輸出節(jié)點返回錯誤狀態(tài)。出節(jié)點返回錯誤狀態(tài)。模式模式指定定時循環(huán)下一次循環(huán)的模式。共有五種模式:無改變;指定定時循環(huán)下一次循環(huán)的模式。共有五種模式:無改變;根據(jù)初始狀態(tài)處理錯過的周期;忽略初始狀態(tài),處理錯過根據(jù)初始狀態(tài)處理錯過的周期;忽略初始狀態(tài),處理錯過的周期;放棄錯過的周期,維持初始狀態(tài);忽略初始狀態(tài),的周期;放棄錯過的周期,維持初始狀態(tài);忽略初始狀態(tài),放棄錯過的周
38、期。放棄錯過的周期。偏移量偏移量指定下一次循環(huán)開始執(zhí)行前的等待時間。偏移量的值相對指定下一次循環(huán)開始執(zhí)行前的等待時間。偏移量的值相對于下一次循環(huán)的開始時間,單位由定時源指定。默認(rèn)值為于下一次循環(huán)的開始時間,單位由定時源指定。默認(rèn)值為-1-1,表示無改變。如設(shè)置下一次循環(huán)的偏移量,則必須設(shè),表示無改變。如設(shè)置下一次循環(huán)的偏移量,則必須設(shè)置新的模式值。置新的模式值。周期周期指定定時循環(huán)下一次循環(huán)的周期,單位由定時源指定。指定定時循環(huán)下一次循環(huán)的周期,單位由定時源指定。默認(rèn)值為默認(rèn)值為-1-1,表示無改變。,表示無改變。優(yōu)先優(yōu)先級級指定下一次循環(huán)的執(zhí)行優(yōu)先級。定時結(jié)構(gòu)的優(yōu)先級用于指定下一次循環(huán)的執(zhí)行
39、優(yōu)先級。定時結(jié)構(gòu)的優(yōu)先級用于指定下一次循環(huán)相對于程序框圖上其它對象的執(zhí)行開始指定下一次循環(huán)相對于程序框圖上其它對象的執(zhí)行開始時間。優(yōu)先級的輸入值必須為時間。優(yōu)先級的輸入值必須為1 1到到6553565535之間的正整數(shù)。之間的正整數(shù)。處理處理器器指定用于執(zhí)行任務(wù)的處理器。默認(rèn)值為指定用于執(zhí)行任務(wù)的處理器。默認(rèn)值為-2-2,即,即LabVIEWLabVIEW自自動分配處理器。如需手動分配處理器,可輸入介于動分配處理器。如需手動分配處理器,可輸入介于0 0和和255255之間的任意值,之間的任意值,0 0代表當(dāng)前的處理器。輸入值超過可代表當(dāng)前的處理器。輸入值超過可用處理器的數(shù)量時,可導(dǎo)致運行時錯誤
40、,定時結(jié)構(gòu)將停用處理器的數(shù)量時,可導(dǎo)致運行時錯誤,定時結(jié)構(gòu)將停止執(zhí)行。止執(zhí)行。超時超時指定下一次循環(huán)開始執(zhí)行前的最長等待時間。超時的值指定下一次循環(huán)開始執(zhí)行前的最長等待時間。超時的值相對于上一次循環(huán)的結(jié)束時間,單位由幀定時源指定。相對于上一次循環(huán)的結(jié)束時間,單位由幀定時源指定。右側(cè)數(shù)據(jù)節(jié)點右側(cè)數(shù)據(jù)節(jié)點:實際結(jié)束實際結(jié)束i-1i-1返回上一次循環(huán)返回上一次循環(huán)(i-1)(i-1)的實際結(jié)束時間。實際結(jié)束的值相的實際結(jié)束時間。實際結(jié)束的值相對于定時循環(huán)的開始時間,單位由定時源指定。對于定時循環(huán)的開始時間,單位由定時源指定。錯誤錯誤接收并傳遞定時循環(huán)的錯誤,通過子程序框圖返回錯誤。接收并傳遞定時循環(huán)
41、的錯誤,通過子程序框圖返回錯誤。預(yù)期結(jié)束預(yù)期結(jié)束i-1i-1返回上一次循環(huán)返回上一次循環(huán)(i-1)(i-1)的預(yù)期結(jié)束時間。預(yù)期結(jié)束的值相的預(yù)期結(jié)束時間。預(yù)期結(jié)束的值相對于定時循環(huán)的開始時間,單位由定時源指定。對于定時循環(huán)的開始時間,單位由定時源指定。延遲完成?延遲完成?i-1i-1如定時循環(huán)中的上一次循環(huán)未在指定期限之前完成,該如定時循環(huán)中的上一次循環(huán)未在指定期限之前完成,該接線端將返回接線端將返回TRUETRUE。全局結(jié)束全局結(jié)束時間時間返回上一次循環(huán)結(jié)束時的時間標(biāo)識,以毫微秒為單位。返回上一次循環(huán)結(jié)束時的時間標(biāo)識,以毫微秒為單位。循環(huán)持續(xù)循環(huán)持續(xù)時間時間返回執(zhí)行上一次循環(huán)所需時間的時間標(biāo)
42、識。循環(huán)持續(xù)時返回執(zhí)行上一次循環(huán)所需時間的時間標(biāo)識。循環(huán)持續(xù)時間的值相對于循環(huán)的開始時間,單位由定時源指定。間的值相對于循環(huán)的開始時間,單位由定時源指定。輸出節(jié)點輸出節(jié)點: 向定時循環(huán)添加幀,可順序執(zhí)行多個子程序框圖并指定循向定時循環(huán)添加幀,可順序執(zhí)行多個子程序框圖并指定循環(huán)中每次循環(huán)的周期。多幀定時循環(huán)相當(dāng)一個帶有嵌入順環(huán)中每次循環(huán)的周期。多幀定時循環(huán)相當(dāng)一個帶有嵌入順序結(jié)構(gòu)的定時循環(huán)。如需每幀僅執(zhí)行一次,可右鍵單擊定序結(jié)構(gòu)的定時循環(huán)。如需每幀僅執(zhí)行一次,可右鍵單擊定時循環(huán)結(jié)構(gòu)外框并選擇替換為定時順序。時循環(huán)結(jié)構(gòu)外框并選擇替換為定時順序。右鍵單擊結(jié)構(gòu)邊框可右鍵單擊結(jié)構(gòu)邊框可添加添加、刪除刪除
43、及及合并合并幀。幀。多幀定時循環(huán)的每一幀包括若干節(jié)點,如下圖所示。默認(rèn)狀態(tài)多幀定時循環(huán)的每一幀包括若干節(jié)點,如下圖所示。默認(rèn)狀態(tài)下,定時循環(huán)不顯示所有可用的輸入端和輸出端。如需顯下,定時循環(huán)不顯示所有可用的輸入端和輸出端。如需顯示所有可用接線端,可調(diào)整節(jié)點大小或右鍵單擊節(jié)點并從示所有可用接線端,可調(diào)整節(jié)點大小或右鍵單擊節(jié)點并從快捷菜單中選擇快捷菜單中選擇顯示隱藏的接線端顯示隱藏的接線端。1 1 輸入節(jié)點輸入節(jié)點 2 2左側(cè)數(shù)據(jù)節(jié)點左側(cè)數(shù)據(jù)節(jié)點 3 3右側(cè)數(shù)據(jù)節(jié)點右側(cè)數(shù)據(jù)節(jié)點 4 4輸出節(jié)點輸出節(jié)點關(guān)于使用定時循環(huán)的范例見關(guān)于使用定時循環(huán)的范例見labviewexamplesgeneraltim
44、edloop.llblabviewexamplesgeneraltimedloop.llb。打開范例打開范例 瀏覽相關(guān)范例瀏覽相關(guān)范例 u多幀定時循環(huán)多幀定時循環(huán) 可將值連接到輸入節(jié)點的輸入端以可將值連接到輸入節(jié)點的輸入端以配置多幀定時循環(huán)配置多幀定時循環(huán),或右鍵,或右鍵單擊輸入節(jié)點并從快捷菜單中選擇單擊輸入節(jié)點并從快捷菜單中選擇 配置輸入節(jié)點,在配置輸入節(jié)點,在配置多幀配置多幀定時循環(huán)定時循環(huán)對話框的各選項中輸入需要的值。對話框的各選項中輸入需要的值。 定時循環(huán)幀的左側(cè)數(shù)據(jù)節(jié)點用于返回各配置參數(shù)值并提供上一定時循環(huán)幀的左側(cè)數(shù)據(jù)節(jié)點用于返回各配置參數(shù)值并提供上一次循環(huán)或幀的定時及狀態(tài)信息。右鍵
45、單擊右側(cè)數(shù)據(jù)節(jié)點并從快捷次循環(huán)或幀的定時及狀態(tài)信息。右鍵單擊右側(cè)數(shù)據(jù)節(jié)點并從快捷菜單中選擇菜單中選擇 配置輸入節(jié)點,在配置輸入節(jié)點,在配置下一幀定時配置下一幀定時對話框的各選項對話框的各選項中輸入需要的值。也可將數(shù)據(jù)連接到幀的右側(cè)數(shù)據(jù)節(jié)點以中輸入需要的值。也可將數(shù)據(jù)連接到幀的右側(cè)數(shù)據(jù)節(jié)點以動態(tài)配動態(tài)配置下一幀置下一幀。 輸出節(jié)點返回由輸入節(jié)點錯誤輸入輸入端輸入的錯誤信息、執(zhí)輸出節(jié)點返回由輸入節(jié)點錯誤輸入輸入端輸入的錯誤信息、執(zhí)行中結(jié)構(gòu)產(chǎn)生的錯誤信息,或在定時循環(huán)內(nèi)執(zhí)行的子程序框圖所行中結(jié)構(gòu)產(chǎn)生的錯誤信息,或在定時循環(huán)內(nèi)執(zhí)行的子程序框圖所產(chǎn)生的錯誤信息。輸出節(jié)點還返回最后一幀的定時和狀態(tài)信息。產(chǎn)
46、生的錯誤信息。輸出節(jié)點還返回最后一幀的定時和狀態(tài)信息。定時順序結(jié)構(gòu)由一個或多個子程序框圖(也稱定時順序結(jié)構(gòu)由一個或多個子程序框圖(也稱“幀幀”)組成)組成,在內(nèi)部或外部定時源控制下按順序執(zhí)行。與定時循環(huán)不同,在內(nèi)部或外部定時源控制下按順序執(zhí)行。與定時循環(huán)不同,定時順序結(jié)構(gòu)的每個幀只執(zhí)行一次,不重復(fù)執(zhí)行。如需每幀的定時順序結(jié)構(gòu)的每個幀只執(zhí)行一次,不重復(fù)執(zhí)行。如需每幀的執(zhí)行多于一次,可右鍵單擊定時順序結(jié)構(gòu)外框并選擇替換為定執(zhí)行多于一次,可右鍵單擊定時順序結(jié)構(gòu)外框并選擇替換為定時順序。定時順序結(jié)構(gòu)適于開發(fā)只執(zhí)行一次的精確定時、執(zhí)行時順序。定時順序結(jié)構(gòu)適于開發(fā)只執(zhí)行一次的精確定時、執(zhí)行反饋、定時特征等
47、動態(tài)改變或有多層執(zhí)行優(yōu)先級的反饋、定時特征等動態(tài)改變或有多層執(zhí)行優(yōu)先級的VIVI。在定時順序結(jié)構(gòu)的數(shù)據(jù)流中,定時循環(huán)總在優(yōu)先級未配置為在定時順序結(jié)構(gòu)的數(shù)據(jù)流中,定時循環(huán)總在優(yōu)先級未配置為實時優(yōu)先級的實時優(yōu)先級的VIVI前執(zhí)行。通過前執(zhí)行。通過改變定時順序結(jié)構(gòu)的優(yōu)先級改變定時順序結(jié)構(gòu)的優(yōu)先級可改可改變定時順序相對與程序框圖上其它定時結(jié)構(gòu)的執(zhí)行順序。變定時順序相對與程序框圖上其它定時結(jié)構(gòu)的執(zhí)行順序。注:注:如程序框圖中同時存在優(yōu)先級配置為實時的如程序框圖中同時存在優(yōu)先級配置為實時的VIVI和定時順序和定時順序 結(jié)構(gòu),將導(dǎo)致無法預(yù)計的定時行為。結(jié)構(gòu),將導(dǎo)致無法預(yù)計的定時行為。u 定時順序結(jié)構(gòu)定時順序
48、結(jié)構(gòu)右鍵單擊定時順序結(jié)構(gòu)邊框可右鍵單擊定時順序結(jié)構(gòu)邊框可添加添加、刪除刪除及及合并合并幀。與幀。與平鋪平鋪式順序結(jié)構(gòu)式順序結(jié)構(gòu)不同,定時順序結(jié)構(gòu)執(zhí)行前,結(jié)構(gòu)中的每一幀都必不同,定時順序結(jié)構(gòu)執(zhí)行前,結(jié)構(gòu)中的每一幀都必須具備所有的輸入。一頁幀的輸出不能為另一幀的輸入。須具備所有的輸入。一頁幀的輸出不能為另一幀的輸入。多幀順序結(jié)構(gòu)的每一幀包括若干節(jié)點,如下圖所示。默認(rèn)狀多幀順序結(jié)構(gòu)的每一幀包括若干節(jié)點,如下圖所示。默認(rèn)狀態(tài)下,定時順序結(jié)構(gòu)節(jié)點不顯示所有可用的輸入端和輸出端。態(tài)下,定時順序結(jié)構(gòu)節(jié)點不顯示所有可用的輸入端和輸出端。如需顯示所有可用接線端,可調(diào)整節(jié)點大小或右鍵單擊節(jié)點并如需顯示所有可用接線
49、端,可調(diào)整節(jié)點大小或右鍵單擊節(jié)點并從快捷菜單中選擇從快捷菜單中選擇顯示隱藏的接線端顯示隱藏的接線端。1 輸入節(jié)點輸入節(jié)點 2 左側(cè)數(shù)據(jù)節(jié)點左側(cè)數(shù)據(jù)節(jié)點 3 右側(cè)數(shù)據(jù)節(jié)點右側(cè)數(shù)據(jù)節(jié)點 4 輸出節(jié)點輸出節(jié)點可將值連接到輸入節(jié)點的輸入端以可將值連接到輸入節(jié)點的輸入端以配置一個定時順序結(jié)構(gòu)配置一個定時順序結(jié)構(gòu),或,或右鍵單擊輸入節(jié)點并從快捷菜單中選擇右鍵單擊輸入節(jié)點并從快捷菜單中選擇 配置輸入節(jié)點,在配置輸入節(jié)點,在配置配置定時順序定時順序?qū)υ捒虻母鬟x項中輸入需要的值。對話框的各選項中輸入需要的值。定時順序結(jié)構(gòu)中,每一幀的左側(cè)數(shù)據(jù)節(jié)點用于返回各配置參數(shù)定時順序結(jié)構(gòu)中,每一幀的左側(cè)數(shù)據(jù)節(jié)點用于返回各配置參數(shù)值和提供當(dāng)前及上一幀的定時及狀態(tài)信息,如預(yù)計起始時間、實值和提供當(dāng)前及上一幀的定時及狀態(tài)信息,如預(yù)計起始時間、實際起始時間及上一幀是否延遲完成。右鍵單擊右側(cè)數(shù)據(jù)節(jié)點并從際起始時間及上一幀是否延遲完成。右鍵單擊右側(cè)數(shù)據(jù)節(jié)點并從快捷菜單中選擇快捷菜單中選擇 配置輸入節(jié)點,在配置輸入節(jié)點,在配置下一次循環(huán)配置下一次循環(huán)對話框的各對話框的各選項中輸入需要的值。定時順序幀的右側(cè)數(shù)據(jù)節(jié)點用于選項中輸入需要的值。定時順序幀的右側(cè)數(shù)據(jù)節(jié)點用于動態(tài)配置動態(tài)配置
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砂石料產(chǎn)業(yè)鏈質(zhì)量優(yōu)化措施
- 二年級語文興趣激發(fā)計劃
- 讓青春遠(yuǎn)航600字9篇范文
- 《先秦諸子思想的比較與探究:大學(xué)哲學(xué)教案》
- 小學(xué)生作文我愛你祖國(11篇)
- 部編版小學(xué)一年級教師培訓(xùn)計劃
- 橋梁工程施工進(jìn)度安排策略
- 期末考試作文傳統(tǒng)文化300字12篇
- 城市軌道交通設(shè)備配置策略
- 食品飲料行業(yè)產(chǎn)品創(chuàng)新與質(zhì)量控制方案
- 初中化學(xué)教師招聘考試試題及參考答案
- 山塘租賃合同協(xié)議書
- 2025-2030年中國聚脲涂料行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 地七年級下冊全冊知識要點總復(fù)習(xí)-2024-2025學(xué)年七年級地理教學(xué)課件(人教版2024)
- 【MOOC】大學(xué)體育(二)-華中科技大學(xué) 中國大學(xué)慕課MOOC答案
- 【MOOC】斷層影像解剖學(xué)-山東大學(xué) 中國大學(xué)慕課MOOC答案
- JJG 694-2009 原子吸收分光光度計-(高清現(xiàn)行)
- 車間作業(yè)安全培訓(xùn)資料培訓(xùn)資料
- 教練技術(shù)一階段講義(共59頁)
- 超聲肺功能探測新技術(shù)
- 計算機聯(lián)鎖-K5B
評論
0/150
提交評論