微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 事件结构--- 利用UserEvent

事件结构--- 利用UserEvent

时间:01-09 来源:互联网 点击:
LV6.1中LABVIEW引入了事件结构,事件驱动是VB,VC等流行编程语言的基本设计思想,lV+EVENT STRUCTURE的引入是对labview是个非常大的进步.可能是在7.1中又加入的用户事件和动态注册事件,这是过去经常用VC语言编程的工程师热切盼望的.

熟悉VC的人都知道,WM_USER是Mircrosoft专门为用户预留的消息,通过它就可以向主窗口发送各种命令和数据.

现在,LABVIEW也具有了这种能力了,不知道大家用过了没有.

假如一个项目,控制了几台设备,同时并行工作,各个并行的控制循环如何和主循环交换数据那?可以通过全局变量,共享变量,通过控件参考,利用队列...

今天介绍一个新的方法,充分利用USER EVENT.

首先,利用Custom Control制作一个strict type def 的簇,我举的例子是模拟WINDOWS消息,实际可以是任何类型,用变体数据可能更为合适一些.

这里我定义了50种消息

每个事件需要传递的信息是:

1.消息号(50种,可以理解成50种命令)

2.字符串,用来传递信息

3.4是两个数据,模拟WINDOWS的 wParam 和lParam

下一步要利用Action Engine方法,把所有的操作都封装在一个SUBVI中

首先在First call=TRUE 中生成用户事件,并返回参考,存储在SHIFT REGISTER中.



这里共定义了三个命令: GetRef(取得参考) Fire(产生事件) Release(释放)

这样一个完整的AE就形成了,具体调用方法如下图:

具体效果演示:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top