使用事件回调VI的机制处理LabVIEW用户界面事件



主要软件:
主要软件版本: 7.1.1
主要软件修正版本: 7.1.1
次要软件: N/A

问题:

我的LabVIEW应用需要同时处理LabVIEW和ActiveX事件。为了避免混淆事件处理的范例,我想通过事件回调VI机制,而不是事件结构来处理LabVIEW用户界面事件。可以吗?



解答:

当然可以,尽管NI建议使用事件结构来处理LabVIEW用户界面事件。当前面板控件产生一个注册事件时,你可以将一个VI作为回调函数来处理它。该回调函数在事件发生时运行。通过Register Event Callback Node注册一个VI,使之在事件发生时被调用。而Register Event Callback Node在函数选板上的位置如下:Functions»All Functions»Communication »ActiveX 


根据回调机制,完成如下的步骤来注册并处理LabVIEW用户界面事件

1、打开一个新VI,在程序框图上放置Register Event Callback node;

2、为作为事件源的前面板控件创建一个引用;

3、连接该引用至Register Event Callback node 的Event输入端;

4、点击事件输入端旁的下拉箭头,并从快捷菜单中选择一个事件;

5、(可选)将需要传递给回调VI的数据连接至User Parameter输入端;

6、 右击VI Ref输入端,从快捷菜单中选择Create Callback VI。LabVIEW会根据你选择的事件以及连接到User Parameter的数据创建一个VI;

7、打开回调VI并编辑程序框图来处理事件。

 

默认情况下,LabVIEW生成的回调VI是可重入的,否则当事件多次发生时LabVIEW就不能同时调用它。你也可以将一个现存的VI作为回调VI,只要该VI的连线板与事件数据的类型匹配。

请参照附件中的VI实例 (LabVIEW 7.1.1)。该实例处理布尔控件的“值改变”事件。使用的回调VI发送一个随机数到滑动杆输出控件并显示一个对话框。

以下VI是使用注册事件回调函数的范例:



相关链接:

附件:


CallBackModel.zip - CallBackModel.zip


报告日期: 05/31/2005
最近更新: 03/06/2013
文档编号: 3LUHDCK4