第9章-labview的高級(jí)應(yīng)用(事件結(jié)構(gòu)編程技巧)_第1頁(yè)
第9章-labview的高級(jí)應(yīng)用(事件結(jié)構(gòu)編程技巧)_第2頁(yè)
第9章-labview的高級(jí)應(yīng)用(事件結(jié)構(gòu)編程技巧)_第3頁(yè)
第9章-labview的高級(jí)應(yīng)用(事件結(jié)構(gòu)編程技巧)_第4頁(yè)
第9章-labview的高級(jí)應(yīng)用(事件結(jié)構(gòu)編程技巧)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Labview Labview 的高級(jí)應(yīng)用的高級(jí)應(yīng)用事件結(jié)構(gòu)之謎事件結(jié)構(gòu)之謎第九章第九章事件 用戶界面用戶界面 外部外部I/O程序的其它部分程序的其它部分事件結(jié)構(gòu)事件結(jié)構(gòu)事件選擇器事件數(shù)據(jù)節(jié)點(diǎn)超時(shí)節(jié)點(diǎn)動(dòng)態(tài)事件注冊(cè)程序代碼Step1:值第一次被改變值第一次被改變Step2:處理事件分支程序處理事件分支程序Step3:值再次被改變值再次被改變事件結(jié)構(gòu)在循環(huán)體外,事件結(jié)構(gòu)在循環(huán)體外,因此不再執(zhí)行因此不再執(zhí)行事件結(jié)構(gòu)編寫(xiě)黃金法則事件結(jié)構(gòu)編寫(xiě)黃金法則1將事件結(jié)構(gòu)放入將事件結(jié)構(gòu)放入While循環(huán)中!循環(huán)中!事件結(jié)構(gòu)在循環(huán)體內(nèi),循環(huán)的次數(shù)由事件發(fā)生的次數(shù)決定。事件結(jié)構(gòu)在循環(huán)體內(nèi),循環(huán)的次數(shù)由事件發(fā)生的次數(shù)決

2、定。循環(huán)結(jié)構(gòu)工作原理,若事件循環(huán)結(jié)構(gòu)工作原理,若事件并不發(fā)生,循環(huán)也不再繼續(xù),并不發(fā)生,循環(huán)也不再繼續(xù),無(wú)法檢測(cè)循環(huán)條件,只有當(dāng)無(wú)法檢測(cè)循環(huán)條件,只有當(dāng)事件發(fā)生后,循環(huán)繼續(xù)時(shí),事件發(fā)生后,循環(huán)繼續(xù)時(shí),才會(huì)檢測(cè)到循環(huán)條件端子,才會(huì)檢測(cè)到循環(huán)條件端子,停止程序。停止程序。事件結(jié)構(gòu)編寫(xiě)黃金法則事件結(jié)構(gòu)編寫(xiě)黃金法則2在事件結(jié)構(gòu)中添加在事件結(jié)構(gòu)中添加“停止停止”按鈕按鈕的的處理分支!處理分支!事件結(jié)構(gòu)編寫(xiě)黃金法則事件結(jié)構(gòu)編寫(xiě)黃金法則3不要在事件結(jié)構(gòu)中直接使用循環(huán)不要在事件結(jié)構(gòu)中直接使用循環(huán)處理事件!處理事件!生產(chǎn)者消費(fèi)者循環(huán)事件結(jié)構(gòu)事件結(jié)構(gòu) 通知事件:通知事件: 如如“鼠標(biāo)移動(dòng)鼠標(biāo)移動(dòng)”、“鍵按下鍵按下

3、”等等 過(guò)濾事件:過(guò)濾事件: 如如“鼠標(biāo)移動(dòng)?鼠標(biāo)移動(dòng)?”、“鍵按下?鍵按下?”等等數(shù)字?jǐn)?shù)字”0-9”“-“ ”Backspace“事件過(guò)濾節(jié)點(diǎn)事件結(jié)構(gòu)注冊(cè)模式事件結(jié)構(gòu)注冊(cè)模式 靜態(tài)注冊(cè):靜態(tài)注冊(cè):事件結(jié)構(gòu)的每個(gè)分支具體處理哪些事件,一旦VI開(kāi)始運(yùn)行,LabVIEW將自動(dòng)注冊(cè)這些事件,并且在VI運(yùn)行的整個(gè)過(guò)程中無(wú)法改變事件結(jié)構(gòu)所處理的事件。 動(dòng)態(tài)注冊(cè)動(dòng)態(tài)注冊(cè):動(dòng)態(tài)事件注冊(cè)與VI服務(wù)器相結(jié)合,允許在程序運(yùn)行時(shí)使用控件、VI或應(yīng)用程序的引用來(lái)動(dòng)態(tài)地指定和改變產(chǎn)生事件。動(dòng)態(tài)注冊(cè)在控制LabVIEW產(chǎn)生何種事件和何時(shí)產(chǎn)生事件等方面更為靈活。 用布爾控件制作的自定義控件為這個(gè)自定義控件動(dòng)態(tài)注冊(cè)了“鼠標(biāo)按

4、下”事件1:放置放置“注冊(cè)事件注冊(cè)事件”函數(shù)函數(shù)2:在在“注冊(cè)事件注冊(cè)事件”函數(shù)輸入端上連接一個(gè)引用函數(shù)輸入端上連接一個(gè)引用3:在在“注冊(cè)事件注冊(cè)事件”函數(shù)事件源,選擇該引用所對(duì)應(yīng)的事件函數(shù)事件源,選擇該引用所對(duì)應(yīng)的事件4:單擊事件結(jié)構(gòu)邊框,選擇單擊事件結(jié)構(gòu)邊框,選擇“顯示動(dòng)態(tài)事件接線端顯示動(dòng)態(tài)事件接線端”5:編寫(xiě)事件分支程序編寫(xiě)事件分支程序6:放置一個(gè)放置一個(gè)“事件注冊(cè)事件注冊(cè)”函數(shù),將其引用句柄與動(dòng)態(tài)事函數(shù),將其引用句柄與動(dòng)態(tài)事件接線端連接起來(lái),并將一個(gè)件接線端連接起來(lái),并將一個(gè)“非法引用句柄常量非法引用句柄常量”送送給事件源接線端。給事件源接線端。7:同樣是放置了一個(gè)同樣是放置了一個(gè)“注

5、冊(cè)事件注冊(cè)事件”函數(shù),將事件注冊(cè)引函數(shù),將事件注冊(cè)引用句柄與動(dòng)態(tài)事件接線端連接起來(lái),將神燈控件的引用用句柄與動(dòng)態(tài)事件接線端連接起來(lái),將神燈控件的引用連接到事件源接線端連接到事件源接線端事件結(jié)構(gòu)注冊(cè)模式事件結(jié)構(gòu)注冊(cè)模式在一個(gè)VI運(yùn)行的過(guò)程中,前面板上控件的位置是靜止的,不能像VI沒(méi)有運(yùn)行時(shí)那樣,可以通過(guò)鼠標(biāo)的拖動(dòng)來(lái)改變控件的位置。而動(dòng)態(tài)注冊(cè)事件,而動(dòng)態(tài)注冊(cè)事件,就能在就能在VI運(yùn)行的過(guò)程中,用鼠標(biāo)拖動(dòng)前面板控件,運(yùn)行的過(guò)程中,用鼠標(biāo)拖動(dòng)前面板控件,讓控件的位置將隨著鼠標(biāo)的位置而移動(dòng)。讓控件的位置將隨著鼠標(biāo)的位置而移動(dòng)。 用布爾控件制作的圖片控件鼠標(biāo)按下鼠標(biāo)按下鼠標(biāo)移動(dòng)鼠標(biāo)移動(dòng)鼠標(biāo)釋放鼠標(biāo)釋放前面板上所有控件前面板上所有控件通用通用VI引用引用獲知那個(gè)控件被按下,并將其傳遞給移位寄存器獲知那個(gè)控件被按下,并將其傳遞給移位寄存器通過(guò)通過(guò)“坐標(biāo)坐標(biāo)”獲取鼠標(biāo)的位置,并把該坐標(biāo)值賦給獲取鼠標(biāo)的位置,并把該坐標(biāo)值賦給“鼠標(biāo)鼠標(biāo)按下按下”的控件,從而達(dá)到控件被鼠標(biāo)拖動(dòng)的視覺(jué)效果。的控件,從而達(dá)到控件被鼠標(biāo)拖動(dòng)的視覺(jué)效果。 在在“鼠標(biāo)釋放鼠標(biāo)釋放”的分支中,通過(guò)的分支中,通過(guò)“非法引用句柄常量非法

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論