在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > labview控制程序流程——labview事件結(jié)構(gòu)

            labview控制程序流程——labview事件結(jié)構(gòu)

            作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
            1 事件結(jié)構(gòu)及它的圖形化表示法
            事件被用來通知用戶有異步活動發(fā)生。圖形化語言的事件響應(yīng)包括:用戶界面事件、外部I/O事件和程序其它部分的事件。
            對事件的處理程序也被稱為:事件驅(qū)動程序。事件驅(qū)動程序可以分為若干個分支,每個分支處理不同的事件響應(yīng)。所以對事件的響應(yīng)結(jié)果也可以控制程序的流程。

            事件驅(qū)動機(jī)制來自于可視化的操系統(tǒng),可視化操作系統(tǒng)對用戶事件提供了簡潔、有效的響應(yīng)方式,最常見的事件來自于鼠標(biāo)和鍵盤。
            虛擬儀器借助于操作系統(tǒng)的事件處理機(jī)制實現(xiàn)了圖形化語言的事件響應(yīng)能力。在沒有引入事件結(jié)構(gòu)之前,LabVIEW是借助于輪詢的方式來查詢用戶操作,由于輪詢的方式會占用一定的CPU資源,甚至可能遺漏事件,所以這種處理方式并非理想。事件結(jié)構(gòu)的出現(xiàn)避免了對CPU資源的占用,同時也避免了事件的遺漏。

            事件結(jié)構(gòu)在函數(shù)選板》編程》結(jié)構(gòu)子選板中可以找到,并可以將其直接拖拽到程序框圖中,圖形化表示的事件結(jié)構(gòu),參見下圖。

            圖 1 圖形化的事件結(jié)構(gòu)


            與Case結(jié)構(gòu)和循環(huán)結(jié)構(gòu)類似,事件結(jié)構(gòu)也包含了一個主框架,這個框架內(nèi)將用來放置事件處理的事件驅(qū)動程序代碼。如果事件處理任務(wù)眾多,會有眾多事件分支存在,在結(jié)構(gòu)上類似Case的多幀結(jié)構(gòu)(選擇器標(biāo)簽)。

            當(dāng)在程序框圖上拖放一個事件結(jié)構(gòu)時,我們只能看到上圖所示的一幀已經(jīng)預(yù)先注冊的超時事件(Timeout),超時事件分支。它具有定時延遲的基本功能(不包括While循環(huán)),參見下圖。

            圖 2具有定時延遲的基本功能


            當(dāng)然也可以采用另一種表示方法,參見下圖。

            圖 3利用事件結(jié)構(gòu)內(nèi)部節(jié)點獲得中止時間


            通過這個例子也好理解內(nèi)部節(jié)點中“時間”的含義(是事件響應(yīng)的停止時間)。

            超時事件
            超時事件是一種特殊的事件,當(dāng)然也可以看成是默認(rèn)的事件分支。如果存在其它事件源時,超時事件完全可以被忽略或取消??聪旅嬉粋€例子。

            圖 4僅有的兩個事件之一——超時事件


            圖 5僅有的兩個事件之一——“停止”鼠標(biāo)按下


            這個例子運(yùn)行狀況是這樣的:程序運(yùn)行后進(jìn)入超時事件,等待5秒鐘后,在字符串顯示器中顯示:“嗨。。。5秒鐘內(nèi),用戶沒有操作!”(標(biāo)志超時事件已經(jīng)結(jié)束)。然后一直等待用戶操作,當(dāng)用戶點擊停止按鍵后,程序停下來,同時顯示:“哈哈,終于響應(yīng)了。”

            為了響應(yīng)多個事件的請求,所以要求在事件結(jié)構(gòu)外面套加一個While循環(huán)。以便能夠及時準(zhǔn)確的響應(yīng)每個事件。




            5.6.2 事件結(jié)構(gòu)的數(shù)據(jù)流運(yùn)行機(jī)制
            從數(shù)據(jù)流的運(yùn)行機(jī)制來看,事件可以理解為多個無定序的數(shù)據(jù)源。事件的響應(yīng)處理過程是根據(jù)事件發(fā)生的先后順序,依次進(jìn)行處理。而事件的處理過程仍然是依據(jù)數(shù)據(jù)流運(yùn)行機(jī)制的。
            所謂多個無定序的數(shù)據(jù)源是指:事件發(fā)生是隨機(jī)的,它們之間沒有固定的時間或先后順序關(guān)系。
            事件結(jié)構(gòu)的運(yùn)行機(jī)制是一個一個的處理事件,這樣就要求在事件處理程序上要求:簡單快速執(zhí)行,避免事件處理過程中產(chǎn)生不必要的堆積。

            下面通過一個例子來進(jìn)一步理解事件結(jié)構(gòu)中需要注意的一些問題。

            例 5-14 事件處理的演示
            在例子程序的前面版中,我們放置了四個控件。門——布爾控件表示一個門(鼠標(biāo)點擊相當(dāng)于敲門);敲門次數(shù)——控件用來紀(jì)錄事件的次數(shù);停止——布爾控件用來停止演示程序的運(yùn)行;其中還有一個門把手裝飾用控件。
            下面我們在具體看看它的程序框圖。

            圖 6 例5-14的程序框圖(僅包含兩個事件源)

            上一頁 1 2 下一頁

            評論


            技術(shù)專區(qū)

            關(guān)閉