新闻中心

EEPW首页>测试测量>设计应用> LABVIEW的深入探索之已链接控件引用与未链接控件引用

LABVIEW的深入探索之已链接控件引用与未链接控件引用

作者: 时间:2017-01-09 来源:网络 收藏
高老师评论:

是否可以这样说:在控件所属的vi中,使用属性、方法节点不需要创建引用;而在子vi中如果需要向该控件传值,则必须使用该控件的引用

本文引用地址://m.amcfsurvey.com/article/201701/337241.htm

控件的引用与引用控件的确理解起来很困难,用语言描述经常会出现误解。今天我们首先明确控件的引用和引用控件这两个不同的概念。

一、已链接控件的引用、属性节点、方法节点与未链接的控件的引用、属性节点和方法节点

1、已链接控件的引用、属性和方法。

对于前面板中创建的控件,通过控件的快捷菜单创建的控件的引用、属性和方法,我们称他们为已链接控件的引用、属性和方法。对于已连接控件的引用、属性和方法,我们知道它们已经指向一个特定的控件,这样的引用、属性和方法是不能随意更改它们的指向的。


图中,高老师和CSXCS_366数字控件分别各自创建了引用和属性节点。高老师的引用是指向高老师数字控件的。高老师的可见属性也是指向高老师数字控件的。我们称高老师引用和高老师属性已链接到高老师控件。

由于各自指向(链接)到不同的控件,所以对高老师的引用、属性和方法的操作是针对高老师控件的,绝对不会影响到CSXCS_366控件。

是否可以这样说:在控件所属的vi中,使用属性、方法节点不需要创建引用;

从上图看高老师的说法是正确的

2、未链接控件的引用、属性和方法

我过去的文章中称未链接控件的引用、属性和方法为通用引用、属性和方法,这里采用未链接控件的引用、属性和方法,更容易区分已链接控件的引用、属性和方法。

由于LV中文版出现的很晚,即使现在中文帮助文件中,很多翻译方法很难反映原来的意思,这也造成我们沟通理解的困难。所以我们能理解清楚,我特意强调了这两个概念的不同。

在上图中,高老师数字控件和CSXCS_366数字控件,所代表的数值类型是完全一致的,具有很多共同的属性、方法。

-------------------------------------------------------------------------------------------------

二、为什么要用未链接控件的属性节点和方法节点?

假设我们要解决下面的问题,将高老师输入控件和CSXCS_366控件修改为显示控件,这两个控件用来显示随机数,当随机数大于0.7时,控件闪烁。首先我们在一个主VI中解决这个问题。

上图中我们使用两个属性节点,分别是已链接到控件的闪烁属性,假设我们有很多的这样的随机数显示,那么按照上图中的编程方法,将会有大量的重复工作。

首先我们考虑如何能消除多个同样性能的闪烁属性节点,自然我们会考虑,避免大量重复工作最好的办法是FOR循环。我们设想在FOR循环中只放置一个闪烁的属性节点,很显然循环中是不能放置已链接的控件属性节点,因为那样只会多次修改同一个控件。所以循环中要放置一个为链接控件的闪烁属性节点,然后利用高老师和CSXCS_366显示控件的引用来调用这个未链接的属性节点。


假设我们有100个显示随机数的控件,那么之需要创建100个控件的引用,把这些引用创建成数组,FOR循环中不需要任何改动。从上图中我们可以知道,对于已链接控件的属性节点,在运行过程中是无法再次链接到其它同类型的控件中。而未连接(通用)属性节点可以在运行中通过不同的控件引用,动态链接到其它同类型的控件中,这是我们使用未链接控件属性节点关键所在。


上一页 1 2 下一页

评论


技术专区

关闭