LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧

上传人:玩*** 文档编号:199445958 上传时间:2021-10-01 格式:PPTX 页数:44 大小:1.06MB
返回 下载 相关 举报
LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧_第1页
第1页 / 共44页
LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧_第2页
第2页 / 共44页
LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧_第3页
第3页 / 共44页
LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧_第4页
第4页 / 共44页
LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧》由会员分享,可在线阅读,更多相关《LabVIEW程序设计与虚拟仪器之第8章LabVIEW程序设计技巧(44页珍藏版)》请在金锄头文库上搜索。

1、第8章 LabVIEW 程序设计技巧,8.1 8.2 属性节点 8.3 VI属性设置 8,本章将介绍LabVIEW编程中的一些技巧,包括局部变量、全局变量、属性节点和VI属性设置。,8.1 局部变量和全局变量 局部变量和全局变量是LabVIEW为改善图形化编程灵活性局限而专门设计的两个特殊节点,主要解决数据和对象在同一VI程序中的复用和在不同的VI程序中的共享问题。 8.1.1 局部变量 局部变量只是在同一个程序内部使用,每个局部变量都对应前面板上的一个控件,一个控件可以创建多个局部变量。局部变量位于FunctionsStructures子模板中,如图8-1所示。,图8-1 局部变量节点,1局

2、部变量的创建 局部变量的创建有两种方法。第一种方法是选中Local Variable节点,将其添加到程序框图中,这时由于局部变量还没有和相应的输入或显示控件相关联,故图标上显示一个问号。用操作工具单击图标,会出现一个下拉选单,选单列出了前面板上所有控制或指示的名称,选择所需要的名称,就完成了前面板对象的一个局部变量的创建,如图8-2(a)所示。也可以在图标的右键弹出选单中选择Select Item,会出现一个与图8-1(a)同样的下拉选单,功能完全相同,如图8-2(b)所示。 第二种方式是在前面板或程序框图中右击需要创建局部变量的控件,选择CreatLocal Variable选项创建该控件的

3、局部变量,如图8-3所示。,图8-2 第一种创建局部变量的方法,(a) (b),图8-3 第二种创建局部变量的方法,在默认情况下,新创建的局部变量都是只能写入的端子,在局部变量上弹出快捷菜单,选择Change To Read即可把局部变量变为读端子。与控件的框图端子相似,局部变量为读端子时的边框要比为写端子时的边框粗一些。再次弹出快捷菜单,选择Change To Write,将把局部变量变回写端子。 2局部变量的特点 (1) 局部变量只能在同一个VI中使用,其生存期与它所在的VI模块密切相关,VI停止运行,在此VI内定义的局部变量自动消失。 (2) 局部变量必须依附在一个面板对象上。一个面板对

4、象可以建立多个局部变量,但一个局部变量只能有一个端点与其对应。,(3) 局部变量就是其相应前面板对象的一个数据拷贝,要占一定的内存。在程序中要控制局部变量的数量,特别是对于那些包含大量数据的数组,若在程序中使用多个这种数组的局部变量,将会占用大量的内存,从而降低程序运行的效率。 (4) LabVIEW是一种并行处理语言,只要节点的输入有效,节点就会执行。当程序中有多个局部变量时,要特别注意这一点。因为这种并行执行可能造成意想不到的错误,例如,在程序的某一处,用户从一个控制的局部变量中读出数据,在另一处,根据需要又为这个控制的另一个局部变量赋值。如果这两个过程是并行发生的,就有可能使读出的数据不

5、是前面板对象原来的数据,而是赋值后的数据。这种错误不是明显的逻辑错误,很难发现,因此在编程中要特别注意,尽量避免这种情况发生。,3局部变量的使用 下面是一个利用局部变量在顺序结构不同帧之间传递数据的例子。 顺序结构局部变量是用于堆叠顺序结构不同帧之间传递数据的变量。2.3.1小节已经提到,在结构边框上弹出快捷菜单选择Add Sequence Local为当前帧添加局部变量。添加的局部变量最初是一个小的浅黄色方框,并且可以拖拽到边框上任意未被占用的位置。若将数据连接到局部变量上,该帧端子中出现一个桔黄色的向外指的箭头,表示该帧是向外输出数据的数据源,称为数据源帧。在以后的各帧中,局部变量端子包含

6、一个向内指的箭头,表示数据源帧向本帧传送数据。注意,在数据,源帧前面的帧中不能使用局部变量。要删除局部变量端子,从端子上弹出快捷菜单选择Remove即可。 图8-4显示了一个4帧的堆叠的顺序结构。帧1中的局部变量传递随机函数加5的值给帧2,该值可以在帧2中使用,将该值与2相乘后使用局部变量将数据传递给帧3,通过波形显示出来。在帧0中不能使用局部变量的数据。,图8-4 顺序结构中局部变量传递数据,8.1.2 全局变量 LabVIEW中的全局变量是以独立的VI文件形式存在的,这个VI文件只有前面板,没有程序框图,不能进行编程。通过全局变量可以在不同的VI之间进行数据传递,一个全局变量的VI文件可以

7、包含多个不同数据类型的全局变量。与全局变量一样,全局变量位于FunctionsStructures子模板中,如图8-5所示。 1全局变量的创建 全局变量的创建较为复杂。首先从Structures子模板中选中Global Variable节点,并将其添加到程序框图中;然后双击全局变量图标,打开其前面板,在Controls模板中选择需要的前面板对象放入全局变量的前面板,添加对象的类型和数量,没有限制;最后在菜单栏中选择FileSave,保存这个全局变量为一个独立的VI,如图8-6所示。这样就完成了一个全局变量的创建。 创建并保存全局变量VI后,将鼠标切换至数据操作工具状态,单击程序框图中创建好的全

8、局变量图标或右键单击该图标,从快捷菜单中选择Select Item,弹出子选单列出了全局变量包含的所有对象名称,根据需要选择相应的对象,如图8-7所示。,图8-5 全局变量节点,图8-6 创建全局变量,图8-7 选择全局变量,2全局变量的使用 全局变量的使用方法如下: (1) 在VI的框图程序中,选择FunctionsSelect a VI,在弹出的Choose the VI to Open对话框中选择所需的全局变量文件(*.gbl),在框图程序放置一个默认的全局变量,该全局变量与第一个放入全局变量文件中的前面板的对象相关。 (2) 右键单击全局变量节点,在Select Item项的弹出选单中

9、选择所需对象。 (3) 若在一个VI中需要使用多个全局变量,可以使用拷贝和粘贴全局变量的方法。,【例8.1】 利用全局变量在VI之间传递数据。 本例创建了一个全局变量和两个VI。全局变量中包含两个对象,即数组和数值指示器。第一个VI利用快速VI产生一个带噪声的三角波,送至全局变量的数组中,并测量该波形的最大值,然后送至全局变量的数值指示器中。第二个VI从全局变量中将波形数据和该波形的最大值读出,并在前面板中显示。全局变量和两个VI的程序框图如图8-8所示。,(a) 全局变量前面板,(b) 第一个VI框图程序,(c) 第二个VI的前面板和框图程序 图8-8 利用全局变量在VI之间传递数据,8.2

10、 属 性 节 点 LabVIEW提供了各式各样的前面板对象,应用这些前面板对象,可以设计出仪表化的人机交互界面。但是,仅仅提供丰富的前面板对象是不够的,在实际运用中,还经常需要实时地改变前面板对象的颜色、大小和是否可见等属性,达到最佳的人机交互功能。LabVIEW引入属性节点(Property Node)概念,通过改变前面板对象属性节点中的属性值,可以在程序运行中动态地改变前面板对象的属性。 8.2.1 属性节点的创建 属性节点的创建方法是在前面板对象或其端口的右键弹出选单中选择CreateProperty Node项,即在控件端子旁边创建一个新的属性节点,如图8-9所示。,图8-9 属性节点

11、的创建,创建的属性节点带有标签,为最初标签,可以对原标签进行修改。用操作工具直接单击属性节点的图标,或在图标的右键弹出选单中选择Properties,会出现一个下拉选单,选单列出了前面板对象的所有属性,可根据需要选择相应的属性。 属性节点最初创建时仅显示一个默认属性。若需要同时改变前面板对象的多个属性,一种方法是创建多个属性节点,另一种方法是在一个属性节点的图标上添加多个端口。添加多个端口的方法是使用位置工具拖动属性节点图标的下边缘或上边缘,也可在属性节点图标右键弹出的选单中选择Add Element,如图8-10所示。添加了新的属性节点后,使用操作工具单击新添项或在新添项单击鼠标右键选择Pr

12、operties项,弹出该对象所有属性的列表,从中选择新的属性节点。,图8-10 属性节点的添加,属性节点有Read和Write两种属性,在属性节点图标某一端口的弹出选单中选择Change to Read或Change to Write可以改变该端口的读、写属性,选择Change All to Read或Change All to Write可以改变属性节点图标中所有端口的读、写属性,如图8-11所示。 注意:在读、写属性节点的图标上,小箭头的位置和方向是有区别的。当属性节点设置为读属性时,小箭头在节点右侧,方向向外;当属性节点设置为写属性时,小箭头在节点左侧,方向向内。,图8-11 两种属性

13、节点,(a) 写属性,(b) 读属性,8.2.2 基本属性 从某种意义上说,属性节点与局部变量是否有效使用,是衡量使用LabVIEW编程好坏的标准,因此在编程应用中会经常使用属性节点。不同类型前面板对象的属性种类繁多,各不相同,比如Wave Gragh显示控件,其节点属性最复杂,可控属性多达33个。有效地使用属性节点可以添加很多实用的功能,使用户设计的图形化人机交互界面更加友好、美观,操作更加方便。下面以字符串控件为例,介绍一些前面板对象共有且常用属性的用法。 1Visible Visible属性用来控制前面板对象在前面板窗口中是否可视,其数据类型为布尔型。当Visible值为True时,前面

14、板对象在前面板上处于可视状态;当Visible值为False时,前面板对象在前面板上处于隐藏状态,如图8-12所示。,图8-12 Visible属性的使用,2Disabled 当VI处于运行状态时,通过Disabled属性的设置,可以控制是否允许用户访问一个前面板对象,其数据类型为整型。 前面板对象处于可视状态(Visible)时,当输入值为0或1时,用户可以访问该前面板对象;当输入值为2时,前面板对象处于Disable状态,此时用户不可以访问该前面板对象。该属性的设置如图8-13所示。 3Key Focus Key Focus属性用于控制前面板对象是否处于键盘焦点状态,其数据类型为布尔型。当

15、输入为True时,前面板对象处于键盘焦点状态;当输入为False时,前面板对象处于失去键盘焦点状态,如图8-14所示。,图8-13 Disabled属性的使用,图8-14 Key Focus属性的使用,5Position Position属性用于设置和读取前面板对象左上角在前面板窗口中的位置(这个位置以像素点为单位,是相对于窗口左上角坐标原点而言的),其数据类型为簇,包含两个不带符号的长整型数。第一个整数(Left)定位前面板对象图标左边缘的位置,第二个整数(Top)定位前面板对象图标上边缘的位置,如图8-17所示。 6Bounds Bounds属性为只读属性,用于获得前面板对象图标的大小,包

16、括高度和宽度。其数据类型为簇,包含两个整型元素,一个为前面板对象的宽度,另一个为高度。Bounds属性的使用如图8-18所示。,图8-17 Position属性的使用,图8-18 Bounds属性的使用,8.2.3 属性节点的使用 属性节点的使用用一例子来进行说明。 【例8.2】 利用容器(tank)的填充颜色(Fill Color)属性,指示一个由随机数发生器仿真的容量是否超过了用户指定的限制。 前面板和程序框图如图8-19所示。运行程序,该VI将容器值与设定容限值进行比较,如果容器值小于设定值,容器由红色填充,否则由黄色填充。该VI用到了Color Box常数,用于将True Case填充为红色,False Case填充为黄色。用操作工具单击这个常数可以选择颜色。,图8-19 例8.2的前面板和程序框图,8.3 VI属性设置 VI在运行时的表现除了在编辑过程中要进行适当的规定外,更多的是在VI属性设置中完成的。VI的属性设置通过VI属性对话框完成。打开VI属性对话框的方法是从选单中选择FileVI Properties,或者用鼠标右键单击前面板窗口右上角的图标,弹出快捷选单,选择V

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号