局域变量、全局变量和功能型全局变量

2015-08-04 10:21:05   来源:vihome   

关键字: 局域变量  全局变量  功能型

变量是用来存放数据的,可以用于程序内部甚至是不同程序之间的数据共享和交换。在LabVIEW中,每当新建一个局域变量或全局变量实例都是对原有数据的一次拷贝。也就是说当程序中使用了过多的局域变量或全局变量时,即使没有对这些变量进行写操作,LabVIEW仍然会占用足够的内存来为这些变量创建副本。
事实上,在变量的实际使用过程中,程序员只是用来对某一部分的内存空间进行读写,并且同一时刻也只会由一段程序代码对变量所表示的空间进行访问(这个过程是非常迅速的)。因此,如果程序中需要大量和反复地使用某一变量,就完全没有必要使用局域变量和全局变量。但是如果只是进行少量的数据交换或者对Control控件进行赋值时,还是需要使用局域变量的。

1.1局域变量

LabVIEW中的局域变量(Local Variable)是不能够单独存在于程序中的,它必须依附于某一个控件(Control或者Indicator)。如图 1所示,在LabVIEW的函数选板中选择Functions>>Programming>>Structures>>Local Variable。

局域变量、全局变量和功能型全局变量 - statemice - Change
1 局域变量在函数选板中的位置
将局域变量拖入到VI的背面板中,此时将显示为一个问号,并且VI无法运行(运行箭头断开),如图 2所示。这是由于此时该新建的局域变量还没有与VI界面上的任何控件建立关联。

局域变量、全局变量和功能型全局变量 - statemice - Change
2 未链接的局域变量
在前面板上依次放入一个Numeric控件、Boolean控件和String控件,如图 3所示。

局域变量、全局变量和功能型全局变量 - statemice - Change
3 VI前面板
使用Ctrl+E键切换到背面板,并将鼠标切换到“手型工具”放在局域变量上或者直接使用Automatic工具模式。此时会出现当前VI前面板上所有控件的列表,选择某一个控件就实现了局域变量与控件的链接,如图 4所示。LabVIEW不允许局域变量没有被使用,无论是读还是写均可以,因此局域变量上没有任何连线则VI将无法运行。

局域变量、全局变量和功能型全局变量 - statemice - Change
4 VI背面板
可以在一个VI中建立足够的局域变量进行数据交换,也可以使用局域变量为Control型控件赋值,如图 5所示。

局域变量、全局变量和功能型全局变量 - statemice - Change
5 局域变量的使用
局域变量为同一个VI的数据共享和传输提供了很大的方便,但是由于它必须依附于当前VI中的某一个控件,因此无法在两个不同的VI之间传递数据。

1.2全局变量

全局变量的使用与局域变量相似,但是它并不依附与某一个控件,可以在同一个VI内部或者不同的VI之间进行数据传递(无法在两个独立的exe应用程序之间传递数据)。
全局变量实际上存在于一个vi文件,该文件中没有背面板,里面包含了很多的全局性控件。打开LabVIEW菜单的File>>New…选项,选择Global Variable项可以新建一个全局变量文件。在其中可以加入若干个控件,如图 6所示。
[1] [2]
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

推荐阅读

编辑:什么鱼
本文引用地址: http://www.eeworld.com.cn/Test_and_measurement/2015/0804/article_12595.html
[发表评论]
[加入收藏]
[打印本页]
[关闭窗口]
[返回顶部]
[RSS订阅]
小广播
每日新闻
最热点击
本周热门资源推荐
EEWORLD独家
论坛精华
精选博文