色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LabVIEW中的動態(tài)事件

華穗科技 ? 來源:華穗科技 ? 2023-05-04 11:53 ? 次閱讀

眾所周知:LabVIEW中的事件結(jié)構(gòu)可以響應(yīng)用戶操作,并且它會根據(jù)發(fā)生的事件來決定執(zhí)行不同事件分支。當發(fā)生某個事件時,事件結(jié)構(gòu)會自動捕獲,并自動執(zhí)行對應(yīng)代碼。

使用事件結(jié)構(gòu)克服了以前輪詢方式結(jié)構(gòu)的缺點,可以讓我們的代碼更加高效,極大提升了界面處理的運行效率,同時也降低了CPU占用,提高了用戶使用體驗。但有時候事件結(jié)構(gòu)中已有的事件種類并不能完全滿足我們的需求,這時候應(yīng)該怎么辦呢?其實動態(tài)事件就是為此而生,開發(fā)人員可以通過自定義注冊和使用動態(tài)事件,滿足各種特殊情況下的事件響應(yīng)需求。

接下來請大家跟隨小編一起學(xué)習(xí)LabVIEW事件結(jié)構(gòu)以及動態(tài)事件的使用!

本文分享:

LabVIEW動態(tài)事件

一、 事件結(jié)構(gòu)介紹

事件結(jié)構(gòu)和條件結(jié)構(gòu)比較類似,它們都是通過滿足某個條件來選擇執(zhí)行其對應(yīng)分支代碼的一種結(jié)構(gòu);區(qū)別在于條件結(jié)構(gòu)是根據(jù)條件接線端的選擇來決定執(zhí)行對應(yīng)的分支,而事件結(jié)構(gòu)則是根據(jù)發(fā)生的事件來決定執(zhí)行對應(yīng)的分支。

事件結(jié)構(gòu)可以自動捕獲所發(fā)生的事件,并根據(jù)事件選擇執(zhí)行不同的事件分支。事件結(jié)構(gòu)正上方內(nèi)側(cè)的事件標簽可以顯示當前分支所對應(yīng)的事件,除此之外,事件結(jié)構(gòu)還可以捕獲有關(guān)該事件的一些相關(guān)數(shù)據(jù),比如事件發(fā)生的時間、事件源、類型等。

cfb8803e-e700-11ed-ab56-dac502259ad0.png

二、 事件分類

事件可以根據(jù)事件產(chǎn)生的源來區(qū)分,LabVIEW中的事件可以分為六大類,它們分別是:<應(yīng)用程序>、<本VI>、<窗格>、<分隔欄>、<控件>以及<動態(tài)>。這六類事件可以在“編輯事件”對話框的“事件源”這一欄中看到,而每一個事件源中對應(yīng)的具體事件可以在“事件”欄中看到,如下圖所示:

cfcaaf16-e700-11ed-ab56-dac502259ad0.png

<應(yīng)用程序>

這類事件主要反映整個應(yīng)用程序狀態(tài)的變化,例如程序是否關(guān)閉,書簽信息是否有改動,是否超時等。事件結(jié)構(gòu)中默認的超時分支就是該類事件。

cfe73e6a-e700-11ed-ab56-dac502259ad0.png

<本VI>

這類事件主要反映當前VI狀態(tài)的改變,例如前面板大小以及狀態(tài)、鼠標、鍵盤對本VI的操作狀態(tài)、是否選擇了本VI菜單項中的某一個等。

d00a48e2-e700-11ed-ab56-dac502259ad0.png

<窗格>

這類事件包括與前面板中某一窗格有關(guān)的事件,比如鼠標進入/離開某一個窗格。一般情況下一個VI的前面板都是默認只有一個窗格,但是如果前面板上使用了“分隔欄”那就可以將一個VI的前面板分隔為多個窗格。每個窗格都可以理解為新的且互相獨立的前面板,可以用來放置不同類型的控件。

d02bc06c-e700-11ed-ab56-dac502259ad0.png

<分隔欄>

這類事件主要包括與分隔欄有關(guān)的事件,比如鼠標在分隔欄上點擊/釋放等。分隔欄可以用來劃分VI前面板的不同功能區(qū)域,讓我們的界面設(shè)計和布局更加美觀且條理分明。

d04d6b04-e700-11ed-ab56-dac502259ad0.png

<動態(tài)>

這類事件用于處理在程序中臨時注冊的事件或者用戶自定義的事件,在未注冊動態(tài)事件之前,該事件源為灰色不可選狀態(tài),下面本文將詳細介紹動態(tài)事件。

d06964d0-e700-11ed-ab56-dac502259ad0.png

二、 動態(tài)事件

概述:

動態(tài)事件可以分為兩種,一種是由LabVIEW本身可以產(chǎn)生的動態(tài)事件,比如前面介紹的除了動態(tài)事件以外的其他五種分類的事件(也就是說這五種事件可以被注冊成為動態(tài)事件),還有一種是由用戶自己定義的動態(tài)事件。

動態(tài)事件相關(guān)的函數(shù)在程序框圖面板>>編程>>對話框與用戶界面>>事件中。接下來我們先了解一下事件子程序框圖中的這些節(jié)點。

d081f9c8-e700-11ed-ab56-dac502259ad0.png

所有動態(tài)事件在使用之前都需要先注冊事件,它的含義其實是將動態(tài)事件注冊到事件結(jié)構(gòu)中,即聲明該動態(tài)事件將在這個事件結(jié)構(gòu)中響應(yīng)。兩種動態(tài)事件都可以使用“注冊事件”節(jié)點來注冊,注意在程序結(jié)束后需要使用“取消注冊事件”來關(guān)閉注冊事件引用句柄。

在使用用戶自定義的動態(tài)事件時需要先使用“創(chuàng)建用戶事件”創(chuàng)建該動態(tài)事件,然后再使用“注冊事件”將該動態(tài)事件注冊到一個事件結(jié)構(gòu)中,在需要觸發(fā)事件的地方使用“產(chǎn)生用戶事件”來讓事件結(jié)構(gòu)響應(yīng)該事件,在程序不需要再次響應(yīng)用戶事件時使用“銷毀用戶事件”來銷毀用戶事件引用句柄,釋放用戶事件引用。所有注冊為該用戶事件的事件結(jié)構(gòu)不再接收該事件。

LabVIEW自產(chǎn)生動態(tài)事件:

事件分類中提到的除了“動態(tài)”事件之外的那五類靜態(tài)事件都可以被注冊為LabVIEW自產(chǎn)生的動態(tài)事件,區(qū)別就是靜態(tài)事件只能是本VI中對象產(chǎn)生的,而動態(tài)事件卻可以在一個VI中使用其他VI中的對象產(chǎn)生的事件。

設(shè)想一個場景:在一個大型項目中,往往會使用大量的子VI,一般情況下我們會有一個VI專門用來響應(yīng)事件操作,而這個VI經(jīng)常必須要處理其他VI的控件產(chǎn)生的事件,但是這個控件很明顯并不在這個VI中,所以在這個VI的事件結(jié)構(gòu)編輯事件的對話框中是沒辦法找到這個控件的,LabVIEW中為了應(yīng)對這種狀況專門設(shè)計了動態(tài)事件。

在注冊動態(tài)事件時,需要先為產(chǎn)生這個事件的對象(控件、窗格、分隔欄等)創(chuàng)建一個引用,然后將該引用連線至“注冊事件”的事件源輸入接線端,隨后將“注冊事件”生成的“注冊事件引用句柄”連線至事件結(jié)構(gòu)的“動態(tài)事件接線端”完成事件的注冊,如下圖所示:

d09904f6-e700-11ed-ab56-dac502259ad0.png

d0b48852-e700-11ed-ab56-dac502259ad0.png

上圖中的程序框圖是子VI的程序框圖,一共注冊了兩個動態(tài)事件,一個是主VI窗格的鼠標移動事件,另一個是主VI中“停止”按鈕的值改變事件。 這兩個事件注冊完成后可以在這個事件結(jié)構(gòu)的編輯事件對話框<動態(tài)>一欄找到并編輯使用。 上圖中前面板為主VI的前面板,功能是在“鼠標坐標”中實時跟隨并刷新鼠標在前面板中的位置坐標,按下停止按鈕后響應(yīng)并停止程序運行(示例代碼會在后面給出)。

spacer.gif?t=B8DJ5M3用戶事件:

假設(shè)需要在程序中,在滿足其它某種條件時也產(chǎn)生一個事件,而這個條件不是LabVIEW自產(chǎn)生的(如用戶按了某個按鈕、改變某個控件值等),這時就可以考慮用戶自定義事件了。

用戶自定義事件靈活性較高,可以讓用戶自己設(shè)計什么時候發(fā)生并執(zhí)行什么事件代碼,使用用戶事件時需要先定義一個用戶事件數(shù)據(jù)類型,就像建立消息隊列時需要定義隊列元素的數(shù)據(jù)類型一樣,用戶事件數(shù)據(jù)類型可以是LabVIEW支持的任意數(shù)據(jù)類型。

和LabVIEW自產(chǎn)生動態(tài)事件相同的是創(chuàng)建用戶事件之后同樣需要在一個事件結(jié)構(gòu)中注冊該事件,不同的是事件什么時候發(fā)生、在哪個VI中發(fā)生我們都是可以自定義的,只需要拿到創(chuàng)建用戶事件后的輸出句柄使用“產(chǎn)生用戶事件”產(chǎn)生一次該事件。

下面這個示例是模擬一個溫度采集VI和顯示界面VI之間的交互,溫度采集VI采集到溫度信息后使用用戶事件的方式傳遞給顯示界面VI去做對應(yīng)的處理,顯示當前報警信息并且當溫度太高時LED燈報警(示例代碼會在后面給出)。

d11a5934-e700-11ed-ab56-dac502259ad0.png

示例中注冊了兩個用戶事件,一個是“溫度報警”事件,一個是“停止程序”事件。 注冊用戶事件時有個小技巧就是可以將你要注冊的所有用戶事件輸出句柄捆綁到一個簇中,然后使用“注冊事件”節(jié)點直接注冊這個簇,這樣可以方便同時注冊多個事件。

spacer.gif?t=B8DJ5M3以上就是關(guān)于LabVIEW動態(tài)事件的知識分享啦。 本文的演示代碼及安裝包已存入百度網(wǎng)盤,有需要的小伙伴可以自行取用,演示代碼請使用LabVIEW 2020及以后版本打開。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10870

    瀏覽量

    211874
  • LabVIEW
    +關(guān)注

    關(guān)注

    1971

    文章

    3654

    瀏覽量

    323832
  • 面板
    +關(guān)注

    關(guān)注

    13

    文章

    1677

    瀏覽量

    53881
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4790

    瀏覽量

    68649
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3271

    瀏覽量

    57724

原文標題:知識分享 | LabVIEW中的動態(tài)事件

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    LabVIEW程序運行如何實現(xiàn)控件的動態(tài)移動?

    LabVIEW程序運行如何實現(xiàn)控件的動態(tài)移動呢?求教...
    發(fā)表于 04-26 20:18

    動態(tài)數(shù)據(jù)怎樣轉(zhuǎn)化成數(shù)組進行比較

    labview 動態(tài)數(shù)據(jù) 怎樣 轉(zhuǎn)化成數(shù)組進行 比較
    發(fā)表于 07-13 22:37

    LabVIEW調(diào)用動態(tài)dll

    急急急。。。求助,,,,,,,LabVIEW調(diào)用在vc++建立的動態(tài)dll動態(tài)dll的返回值在vc++上一定要return,返回才行嗎?
    發(fā)表于 10-23 14:50

    labview動態(tài)創(chuàng)建控件的問題

    如題,labview 有沒有動態(tài)創(chuàng)建的控件的辦法,比如說我在 程序設(shè)計之初不知道我運行時候具體有幾個LED燈泡,我想根據(jù)實際運行情況進行動態(tài)創(chuàng)建,類似于C++ 的new
    發(fā)表于 03-17 21:03

    【畢業(yè)設(shè)計求助】大神們求教!

    我的畢業(yè)設(shè)計的題目是用labview做一個系統(tǒng)界面實現(xiàn)虛擬的3D打印,現(xiàn)在界面做好了。我在想如何實現(xiàn)虛擬打印的過程,我想問有什么插件來實現(xiàn)在labview動態(tài)畫圖嗎?如下圖在打印顯示
    發(fā)表于 05-06 12:26

    請問labview動態(tài)調(diào)用子vi的輸入輸出怎么和主程序交互

    labview動態(tài)調(diào)用子vi,子vi的輸入輸出怎么和主程序交互
    發(fā)表于 01-16 20:17

    LabVIEWDLL文件的創(chuàng)建過程和編程結(jié)果

    ,他的許多新功能也是通過DLL來實現(xiàn)的。  LabVIEW動態(tài)鏈接庫的調(diào)用是通過CLF(Call Library Function) 節(jié)點實現(xiàn)的,如圖1所示。CLF可被用來調(diào)用32位的Windows
    發(fā)表于 05-15 07:24

    labview動態(tài)創(chuàng)建右鍵自定義快捷菜單

    attach://885619.docx放在附件里面了,大家有需要的可以下載來看。
    發(fā)表于 03-19 17:06

    LabVIEW在汽車ABS制動管道動態(tài)特性測試的應(yīng)用

    介紹了LabVIEW的背景、結(jié)構(gòu)和特點,并簡要地介紹了其在汽車ABS制動管道動態(tài)特性測試的應(yīng)用。 關(guān)鍵詞:LabVIEW;虛擬儀器;ABS
    發(fā)表于 07-25 09:57 ?16次下載

    動態(tài)鏈接庫在LabVIEW的高級應(yīng)用

    LabVIEW 的提供了調(diào)用共享庫函數(shù)的接口,但是一些現(xiàn)成的函數(shù)庫卻因為接口參數(shù)類型不同而不能在LabVIEW 中使用。利用重新編寫動態(tài)鏈接庫的方法可以建立舊函數(shù)庫與
    發(fā)表于 08-04 10:09 ?57次下載

    Labview動態(tài)窗口樣式之一

    Labview動態(tài)窗口樣式之一,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:56 ?0次下載

    Labview動態(tài)窗口樣式之二

    Labview動態(tài)窗口樣式之二,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:56 ?0次下載

    Labview動態(tài)窗口樣式之三

    Labview動態(tài)窗口樣式之三,很好的Labview資料,快來下載學(xué)習(xí)吧。
    發(fā)表于 04-19 10:56 ?0次下載

    labview的優(yōu)勢與缺點_LabVIEW類的動態(tài)類型處理

    本文主要介紹了labview的優(yōu)勢與缺點及LabVIEW類的動態(tài)類型處理。
    發(fā)表于 05-07 09:10 ?4.3w次閱讀
    <b class='flag-5'>labview</b>的優(yōu)勢與缺點_<b class='flag-5'>LabVIEW</b>類的<b class='flag-5'>動態(tài)</b>類型處理

    LabVIEWXY圖曲線圖免費下載

    本文檔的主要內(nèi)容詳細介紹的是LabVIEWXY圖曲線圖免費下載標簽動態(tài)跟隨,游標動態(tài)跟隨顯示。
    發(fā)表于 10-26 08:00 ?24次下載
    <b class='flag-5'>LabVIEW</b><b class='flag-5'>中</b>XY圖曲線圖免費下載
    主站蜘蛛池模板: 在线观看qvod| 99久久久免费精品免费| 国产SUV精品一区二区69| 我半夜摸妺妺的奶C了她软件| 国产电影一区二区三区| 亚洲精品理论电影在线观看 | 中文字幕在线观看网址| 暖暖视频免费观看社区| 国产成人免费| 夜蒲团之5阳性之教| 欧美人xxxxx| 国产亚洲精品久久久久久白晶晶| 伊人久综合| 日韩精品 中文字幕 有码| 果冻传媒2021精品影视| chinese东北夫妻video| 亚州日韩精品AV片无码中文| 毛片无码免费无码播放| 国产精品人妻无码久久久蜜桃 | 老牛天天晚上夜噜噜噜| 大地影院日本韩国电影免费观看| 亚洲国产精品无码2019| 欧美videosgratis杂交| 国产色婷婷精品人妻蜜桃成熟 | 爽爽窝窝午夜精品一区二区| 久久成人a毛片免费观看网站| 超碰97人人做人人爱亚洲尤物| 亚洲男人天堂2018av| 任你懆视频 这里只有精品| 九九久久精品| 国产精品成久久久久三级四虎| 51成人精品午夜福利AV免费七| 婷婷亚洲五月色综合久久| 美女扒开腿让男生桶免费看动态图| 国产精品久久久久久52AVAV| asian4you裸模| 一二三四在线播放免费观看中文版视频 | 国产精品久久久久久久伊一| 99久久网站| 曰本aaaaa毛片午夜网站| 午夜一区二区三区|