LabVIEW的靜態(tài)事件注冊(cè)
用戶(hù)界面事件可以進(jìn)行用戶(hù)靜態(tài)事件注冊(cè),使用“編輯事件”對(duì)話(huà)框配置事件結(jié)構(gòu)來(lái)處理靜態(tài)注冊(cè)的事件。選擇事件源,事件源可以是程序、VI或某個(gè)控件;再選擇一個(gè)事件源可產(chǎn)生的特定事件,如前面板大小調(diào)整,值改變等,再根據(jù)應(yīng)用程序的需求,編輯該分支來(lái)處理事件數(shù)據(jù)。
運(yùn)行一個(gè)含有事件結(jié)構(gòu)的VI時(shí),LabVIEW會(huì)自動(dòng)進(jìn)行靜態(tài)事件注冊(cè)。只有在VI處于運(yùn)行狀態(tài)或另一個(gè)處于運(yùn)行狀態(tài)的VI以子VI的形式調(diào)用該VI時(shí),LabVIEW才產(chǎn)生該VI的事件。運(yùn)行一個(gè)VI時(shí),LabVIEW將頂層VI及其在程序框圖上所調(diào)用的子VI的層次結(jié)構(gòu)設(shè)置一個(gè)稱(chēng)為保留的執(zhí)行狀態(tài)。由于Ⅵ的父VI在運(yùn)行時(shí)會(huì)隨時(shí)將其作為子VI調(diào)用,所以當(dāng)VI處于保留狀態(tài)時(shí),不能編輯VI或單擊運(yùn)行按鈕。
當(dāng)LabVIEW將一個(gè)Ⅵ設(shè)置為保留狀態(tài)時(shí),它將自動(dòng)注冊(cè)該VI的程序框圖上所有事件結(jié)構(gòu)中被靜態(tài)配置的事件。當(dāng)頂層Ⅵ結(jié)束運(yùn)行時(shí),LabVIEW會(huì)將該VI及其所有子VI層次結(jié)構(gòu)設(shè)置為空閑執(zhí)行狀態(tài)并自動(dòng)將該事件的注冊(cè)取消。
來(lái)源:ks990次