新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LabVIEW——關(guān)于事件結(jié)構(gòu)的使用

LabVIEW——關(guān)于事件結(jié)構(gòu)的使用

作者: 時間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
剛開始接觸事件結(jié)構(gòu)時覺得它很好用,所以很喜歡用,但也引起了一些問題,就是前面板很容易就被掛起來了,就是所前面板沒有響應(yīng)了,很郁悶。

之后就不敢用了,很多可以用事件結(jié)構(gòu)的地方都只用CASE結(jié)構(gòu)麻煩的代替了~~

本文引用地址:http://m.butianyuan.cn/article/201701/337072.htm

今天被師兄那么一指點,覺得完全是委屈了事件結(jié)構(gòu)啊,之前事件結(jié)構(gòu)引起的問題可以很容易的解決。

方法就是設(shè)置“超時”(之前一直覺得這個東西沒用的):

一般情況下,事件結(jié)構(gòu)是會和while循環(huán)套用的,通過不斷的循環(huán)來執(zhí)行不同事件源激發(fā)的事件,但如果不設(shè)置超時,也沒有事件源發(fā)生,那么while循環(huán)將一直等待事件的發(fā)生而不進行循環(huán),這樣就會使得事件結(jié)構(gòu)外的其他程序也不能執(zhí)行,可能造成的結(jié)果就是前面板本該有反應(yīng)的地方(比如變量值的變化)沒有了反應(yīng)。

而如果設(shè)置了超時,比如設(shè)置為100(ms),意思就是每隔100ms如果沒有事件發(fā)生就超時,進行一次循環(huán),那么事件結(jié)構(gòu)外的其他程序也就得到了執(zhí)行。

總結(jié)一下:

如果事件結(jié)構(gòu)在while循環(huán)中,而事件結(jié)構(gòu)之外又有其他的程序需要執(zhí)行(可能不依賴于事件的發(fā)生),那么就應(yīng)該設(shè)置超時。(可能還是很抽象哈,等你遇到了你就會明白一些的~~)



關(guān)鍵詞: labview事件結(jié)

評論


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

關(guān)閉