• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > Labview 虚拟仪器 > labview编程技巧-----xcontrol如何发送用户事件

labview编程技巧-----xcontrol如何发送用户事件

录入:edatop.com    点击:
我在XCONTROL一文中详细说明了如何利用属性和方法,通过XCONTROL的事件结构,建立XCONTROL的方法.


通过属性可以控制XCONTROL的显示状态,通过方法,可以要求XCONTROL执行动作(命令),有的时候,XCONTROL需要想调用VI发送数据或者命令,要求调用VI执行动作,如何实现这个目的,有几种方法,全局变量,队列,用户事件,使用全局变量显然是不合适的,我们用XCONTROL的目的是实现组件封装,XCONTROL的运行不应该依赖于外部变量,使用队列也有它的问题,是我们不得不专门用一个循环来处理队列,这对一个不太经常发生的数据传送 ,显然是不经济的.

今天推荐一个方法,使用用户事件.

关于用户事件,我专门有一篇文章介绍.现在的LV编程,采用事件结构越来越多,我们只需要简单地

在事件结构中增加用户接口事件就可以了.

先看看程序实现的功能




按下SnapShot(捕捉)按钮后,XCONTROL自动通过用户事件把捕捉到的图象传送到调用VI




要想调用VI响应用户事件,必须得到用户事件参考,最好的办法是通过XCONTROL的只读属性得到,这样就需要在xcontrol的STATE中定义这个属性,看一下它的状态定义:



这个用户事件的数据是一个图片框,得到这个参考是需要技巧的,我演示一下方法:



另外一种常用的方法:



首先在XCONTROL的INIT中生成用户事件 [p]


在UNINTI.VI中销毁用户事件





在FACADE.VI中发送用户事件



这样只要XCONTROL的捕捉按钮按下,XCONTROL响应这个按钮同时把图片通过用户事件发送出去.


看看调用VI是如何响应用户事件的.

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:labview深入探索------类型转换、数组字符串与内存管理
下一篇:labview编程技巧-----labview与INI文件

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图