LabVIEW的变量
扫描二维码
随时随地手机看文章
变量是一种可变的特殊数据类型,包括全局变量和局部变量。
(1)全局变量。
全局变量时,LabVIEW将自动创建一个有前面板但无程序框图的特殊全局VI。向该全局VI的前面板添加输入控件和显示控件可定义其中所含全局变量的数据类型。该前面板实际便成为一个可供多个VI进行数据访问的容器。
在程序框图函数选板中选择“数据通信→全局变量”,将其放置在程序框图中,如图1所示。
图1 全局变量
双击该全局变量节点可显示全局Ⅵ的前面板。该前面板与标准前面板一样,可放置输入控件和显示控件。可创建多个仅含有一个前面板对象的全局VI,也可创建一个含有多个前面板对象的全局Ⅵ从而将相似的变量归为一组。
所有对象在全局VI前面板上放置完毕后,保存该全局VI并返回到原始VI的程序框图。然后必须选择全局VI中想要访问的对象,单击该全局变量节点并从弹出的列表中选中一个前面板对象,该列表列出了全局VI中所有带自有标签的前面板对象;也可右键单击该全局变量节点并从快捷菜单“选择项”中选择一个前面板对象。
(2)局部变量。
局部变量可从一个VI的不同位置访问前面板对象,并将无法用连线连接的数据在程序框图上的节点之间传递。局部变量可对前面板上的输入控件或显示控件进行数据读写,写入一个局部变量相当于将数据传递给其他接线端;局部变量还可向输入控件写入数据和从显示控件读取数据。事实上,通过局部变量,前面板对象既可作为输入访问也可作为输出访问。
在程序框图函数选板中选择“数据通信→局部变量”,并将其放置在程序框图中,如图2所示。
图2局部变量
右键单击一个前面板对象或程序框图接线端并从弹出的快捷菜单中选择“创建→局部变量”,也可创建一个局部变量。该对象的局部变量的图标将出现在程序框图上。如需使局部变量与某个输入控件或显示控件相关联,可右键单击该局部变量节点,从弹出的快捷菜单中选择“选择项”,展开的快捷菜单将列出所有带有自带标签的前面板对象。
创建了一个局部或全局变量后,就可以从变量读写数据了。默认状态下,新变量将接收数据。变量就像一个显示控件,同时又是一个写入局部变量或写入全局变量。
将新数据写入该局部或全局变量时,与之相关联的前面板输入控件或显示控件将由于新数据而被更新。变量可配置为数据源、读取局部变量或读取全局变量。右键单击变量,从弹出的快捷菜单中选择“转换为读取”,便可以将该变量配置为一个输入控件。节点执行时,VI将读取相关前面板输入控件或显示控件中的数据。如果需使变量从程序框图接收数据而不是提供数据,可以右键单击该变量并从快捷菜单中选择“转换为写入”。
在程序框图上,读取局部或全局变量与写入局部或全局变量间的区别相当于输入控件和显示控件间的区别。类似于输入控件,读取局部变量或读取全局变量的边框较粗;而写入局部变量或写入全局变量的边框则较细,类似于显示控件。
在使用全局变量和局部变量时应注意,局部和全局变量是高级的LabVIEW概念,它们不是LabVIEW数据流执行模型中固有的部分。使用局部变量和全局变量时,程序框图可能会变得难以阅读,因此需谨慎使用。错误地使用局部变量和全局变量,如将其取代连线板或用其访问顺序结构中每一帧中的数值,可能在Ⅵ中导致不可预期的行为。滥用局部变量和全局变量,如用来避免程序框图间的过长连线或取代数据流,将会降低执行速度。
来源:ks992次