LabVIEW干货
直播中

茶壶茶茶

11年用户 584经验值
私信 关注
[Labview经验]

一起学LabVIEW——方法节点

labview中与属性节点同时存在的还有一个节点-方法节点(Invoke Node),控件的某些属性值只能通过属性节点来改变,但是还有一些属性是属于方法类,简单的说方法节点就类似一个函数,输入相应参数就可执行一些动作或者返回一些参数。
方法节点创建方法与属性节点的一致,这里就不重复了。下面简单介绍一下方法节点的使用。
      

       例如我们要初始化前面板所有控件为默认值,这个对象就是针对VI了,所以在选择节点类是选择VI,方法还是右键Select Class>>VI Server>>VI>>VI。
      
       选好之后,我们选对应的方法,通过查找我们找到一项叫Default Values的选项二级菜单中有Reinitialize All Default,意思是重新初始化所有为默认值。那我们就选这个了,如下图。我们发现这个没有任何参数及返回值,所以就不用去设置了,直接应用就可以了。
      
       我们在前面板拖一些控件,并编个小程序给这些控件赋值,程序运行时,在某个时间出发这个方法节点,再看一下这些控件值有什么变化?自己尝试练习一下吧。
       这个方法节点时比较常用的,在程序初始化对控件恢复默认值的时候,以往的做法是给控件赋个默认值,用这个节点就省去了很多繁琐的赋值代码。
       下面我们来看一下有参数设置的方法节点,一些时候有些VI是被动态调用的,但是呢这个VI又不想其显示出来即处于被隐藏状态。动态调用时首先要设置VI的前面板的状态然后在运行VI,这就需要用到两个节点Front Panel>>Open、Run VI这两个节点如下:
        
        首先看FP.Open他有2个参数布尔类型Activate-是否激活前面板;枚举类型State-前面板状态,共有6个状态如下:
        
       因为要调用VI所以前面要处于激活状态则Activate=TRUE,VI要处于隐藏状态则State=Hidden。穿插一句如果不知道数据类型记住:鼠标右键创建常量看一下。我们在看下Run VI节点也有2个参数且都是布尔类型,Wait Until Done-直到VI运行结束,什么意思呢?意思就是是否等到被调用的VI运行结束后在继续后面的程序,一般情况下我们动态调用VI这个过程纯属路过,调用完还需要执行其他代码,所以这个参数一般情况下为FALSE;Auto Dispose Ref-自动销毁引用,这个很好理解了,我们调用VI是通过引用传入节点并执行操作的,前面已经讲过了,打开的东西记得要关闭,所以如果这个参数为TRUE就不用你来关闭了,如果不填则为FALSE,就需要你添加关闭操作了。所以动态调用VI的完整代码如下:
      
       我们再看一个有返回值、有输入参数的节点。例如获取VI前面板图像,即前面板我们所能看到的图像。利用方法Front Panel>>Get Image。选择后节点如下:
      
       该节点有3个参数,布尔类型Visible Area Only-仅可见区域,很明了,赋值就可以了;I32类型Image Depth-图像深度,会图像的都知道啥意思啊,不知道的可以设置不同参数来试一下;簇结构Image Data-图像数据,就是前面图像的RGB数据。我们通过一个绘图控件来显示该前面板的图像,程序代码如下:
        
       方法节点就结束了,综上属性节点和方法节点在编写程序时提供了很多功能供我们选择,这些功能的具体使用得需要我们去摸索尝试。全凭自己!


附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回帖(4)

yancclike

2015-2-6 14:49:50
赞一个,总结的挺好的
举报

YH

2017-3-7 10:29:30
可以
举报

朱晓骏

2017-4-3 23:11:07
学习学习
举报

ljl5130

2017-4-5 13:18:47
严重支持一下严重支持一下
举报

更多回帖

发帖
×
20
完善资料,
赚取积分