LabVIEW可以產(chǎn)生多種不同的事件,為避免產(chǎn)生不需要的事件,可用事件注冊(cè)來(lái)指定希望LabVIEW產(chǎn)生的事件。
LabVIEW支持靜態(tài)事件注冊(cè)和動(dòng)態(tài)事件注冊(cè)兩種模式。
靜態(tài)事件注冊(cè)可以指定VI在程序框圖上的事件結(jié)構(gòu)的每個(gè)分支具體處理該VI在前面板上的哪些事件。LabVIEW將在VI運(yùn)行時(shí)自動(dòng)注冊(cè)這些事件,如果VI開(kāi)始運(yùn)行,事件結(jié)構(gòu)便開(kāi)始等待事件。
每個(gè)事件與該VI前面板上的一個(gè)控件、整個(gè)VI前面板窗口或某個(gè)LabVIEW應(yīng)用程序相關(guān)聯(lián)。靜態(tài)注冊(cè)的特點(diǎn)是在程序運(yùn)行時(shí)無(wú)法改變事件結(jié)構(gòu)所處理的事件,不能配置一個(gè)事件結(jié)構(gòu)來(lái)處理前面板上不同VI的事件。
動(dòng)態(tài)事件注冊(cè)通過(guò)將事件注冊(cè)與VI服務(wù)器相結(jié)合,允許程序在運(yùn)行過(guò)程中使用應(yīng)用程序、VI和控件引用來(lái)指定希望產(chǎn)生事件的對(duì)象。與靜態(tài)注冊(cè)相比,動(dòng)態(tài)注冊(cè)在控制LabVIEW產(chǎn)生何種事件和何時(shí)產(chǎn)生事件方面更加靈活;但是動(dòng)態(tài)注冊(cè)比靜態(tài)注冊(cè)更復(fù)雜。動(dòng)態(tài)注冊(cè)需要將VI服務(wù)器引用同程序框圖函數(shù)一起使用以明確地注冊(cè)和取消注冊(cè)事件,而無(wú)法通過(guò)事件結(jié)構(gòu)配置信息來(lái)進(jìn)行事件的自動(dòng)處理注冊(cè)。
來(lái)源:ks994次