《第6章 子VI属性节点和人机界面设计教学课件.pptx》由会员分享,可在线阅读,更多相关《第6章 子VI属性节点和人机界面设计教学课件.pptx(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1LabVIEW虚拟仪器程序设计教程1第6章 子VI属性节点和人机界面设计请输入您的标题CLICK HERE TO ADD TITLE子VI属性节点和人机界面设计 在LabVIEW图形化编程环境中,图形连线会占据较大的屏幕空间,用户不可能把所有的程序都在同一个VI的程序框图中实现。因此很多情况下,用户需要把程序分割为一个个小的模块去实现,这就是子VI。在面向对象的编程中,将类中定义的数据称为属性,而将函数称为方法。实际上,LabVIEW中的控件、VI、甚至应用程序都有自己的属性和方法。例如一个数值控件,它的属性包括它的文字颜色、背景颜色、标题和名称等,它的方法包括设为默认值、与数据源绑定、获取
2、其图像等。通过属性节点和方法节点可以实现软件的很多高级功能,而某些控件必须通过属性节点和方法节点才能使用,如列表框和树形控件等。2子子VI属性节点和人机界面设计属性节点和人机界面设计子子VI创建子VI定义子VI属性请输入您的标题CLICK HERE TO ADD TITLE创建子VI 其实任何VI本身就可以作为子VI被其他VI调用,只是需要在普通VI的基础上多进行两步简单的操作而已:定义连接端子和图标。实例6-1:先以一个简单的子VI创建为例来学习如何一步一步地创建子VI。请输入您的标题CLICK HERE TO ADD TITLE 在默认情况下,如果有两处程序框图都调用同一个子VI,那么这两
3、处程序框图不能并行运行。即如果当该子VI正在被调用执行时,其他调用就必须等待直到当前调用执行完毕,而在很多情况下,用户都希望不同的调用应该是相互独立的,这时候就需要把子VI设为可重入子VI。在子VI的主菜单栏中选择“文件”下的“VI属性”选项,在VI属性对话框类别中选择“执行”选项,即进入“执行”页面,如图6-5所示。选中“共享副本重入执行”单选框后,该子VI便是可重入子VI了。当使用VI的可重入属性后,每处对该子VI的调用都会在内存中产生该子VI的一个副本。副本之间相互独立,因此这样不仅可以保证调用的并行性,还可以让每一处调用都保持自己的状态(在子VI中可以通过移位寄存器来保存上次被调用时的
4、状态)。定义子VI属性请输入您的标题CLICK HERE TO ADD TITLE定义子VI属性实例6-2:理解非重入子VI与重入子VI之间的区别。请输入您的标题CLICK HERE TO ADD TITLE实例6-3:介绍利用显示子VI前面板来实现登录对话框的实例,程序设计步骤如下:定义子VI属性请输入您的标题CLICK HERE TO ADD TITLE定义子VI属性实例6-3:介绍利用显示子VI前面板来实现登录对话框的实例,程序设计步骤如下:2属性节点子VI属性节点和人机界面设计请输入您的标题CLICK HERE TO ADD TITLE属性节点 属性节点可以用来通过编程设置或获取控件的
5、属性,臂如在程序运行过程中,可以通过编程设置数值控件的背景颜色等属性。创建属性节点有两种方法:一种是在程序框图中直接右击控件图标,在弹出的快捷菜单中选择“创建”/“属性节点”选项,在弹出的下一级菜单中就可以看到该控件相关的所有属性,选择想设置或获取的属性,就会在绘制程序框图中创建该属性节点,如图6-12所示;另一种方法是在函数面板中选择“编程”/“应用程序控制”/“属性节点”选项,添加到程序框图中,然后右击该属性节点,选择“链接至”选项就能与当前VI中的任何一个控件关联,关联后就可以选择该控件的任何属性了。拉长属性节点可以同时显示或设置多个属性。右击每个属性,在弹出的快捷菜单中选择“选择属性”
6、选项就可以选择需要设置或读取的具体某一个属性值了,默认情况下是读取该控件的属性。右击属性节点,在弹出的快捷菜单中选择“全部转换为写入”选项,就可以设置该控件的各种属性,如图6-13所示。请输入您的标题CLICK HERE TO ADD TITLE属性节点请输入您的标题CLICK HERE TO ADD TITLE实例6-4:用圆形指示灯的可见属性来控制圆形指示灯是否可见,程序设计步骤如下:属性节点请输入您的标题CLICK HERE TO ADD TITLE实例6-5:实例6-5在事件结构中,若某个控件的相关事件发生时,在事件结构中就会有该控件的引用输出。下面的实例可以实现当鼠标移动到任何一个控
7、件上时,就会在文本框中显示该控件的名称。:属性节点2调节节点和引用句柄子VI属性节点和人机界面设计请输入您的标题CLICK HERE TO ADD TITLE 调用节点又称方法节点。与属性节点非常类似,调用节点就好比控件的一个函数,它会执行一定的动作,有时候还需要输入参数和返回数据。调用节点的创建方法与属性节点-样,也有两种方法。一种是在程序框图中右击控件图标,在弹出的快捷菜单中选择“创建”下的“调用节点选项,如图6-19所示;另一种方法是在函数面板中选择“编程”/“应用程序控制”/“调用节点”选项,添加到程序框图中,其接线端如图6-20所示。调节节点和引用句柄请输入您的标题CLICK HER
8、E TO ADD TITLE 调用节点同属性节点一样,也可以通过调用节点与控件引用连线的方法获得该控件的调用节点。一般情况下,将控件作为子VI的输入端时只能传递控件的值,而不能传递控件的属性,类似于C语言中的传值调用。那么如何才能在子VI中调用上层VI中控件的属性和方法呢?这就需要使用引用句柄控件作为子VI的输入端子,在调用时将控件的引用与引用句柄端子连线即可。此时传递的是控件的引用,因此可以在子VI中调用输入控件的属性和方法节点。 引用句柄参考的创建是在控件面板中选择“新式”/“引用句柄”/“控件引用句柄”函数,将其放置在前面板上即可。此时该参考只是代表一般控件,因此它的属性节点只包含控件的
9、一般属性。需要控制某种控件的特有属性时,与数组的创建类似,若要将其与这种控件相关联,只需要将关联控件类型放置到引用句柄控件中,此时引用句柄控件就自动变成关联控件的特定参考了,如图6-21所示。调节节点和引用句柄请输入您的标题CLICK HERE TO ADD TITLE 创建好控件的参考后,在程序框图中将其与属性节点或调用节点连接就能获得该控件的各种属性和方法。实例6-6 用引用句柄的方式来实现指示灯控件的可见性。程序设计步骤如下:调节节点和引用句柄2人机界面设计下拉列表控件和枚举控件列表框控件表格与树形控件树形控件对话框菜单选项卡多面板光标子VI属性节点和人机界面设计请输入您的标题CLICK
10、 HERE TO ADD TITLE 人机界面是人与机器进行交互的界面。虽然程序的内部逻辑是程序运行的关键所在,但是人机界面的美观性和人性化更是不可忽视的重点。人性化的人机界面可以让用户乐于使用,减少用户的操作时间,甚至在某些情况下能避免故障的发生。因此,一个好的程序应该花足够多的时间和精力用在人机界面的设计上。人机界面设计请输入您的标题CLICK HERE TO ADD TITLE 下拉列表控件(Ring)和枚举控件(Enum)是最常用的人机界面设计控件,一般用来从多个选项中选择其中一个,例如出生日期的选择,居住城市的选择等。这两个控件在每种风格样式面板都有,位于各种风格面板的“下拉列表与枚
11、举”面板中。这里以新式风格为例说明,如图6-24所示。下拉列表控件和枚举控件请输入您的标题CLICK HERE TO ADD TITLE 一般情况下,控件的赋值可以通过两种方式:一是在前面板设计控件时,直接为控件赋值,设计比较固定的界面时使用;二是通过代码运行,动态产生控件的项目内容,一般动态生成界面时使用。实例6-7:现在通过具体的案例操作来实现控件附值功能。直接通过前面板为下列列表控件和枚举控件赋值的步骤如下:下拉列表控件和枚举控件请输入您的标题CLICK HERE TO ADD TITLE 相对于下拉列表控件和枚举控件而言,列表框控件可以使用户选择一个或多个选项,也可以没有选项(选择多个
12、选项时,用户需要按住“Ctrl”键或者“Shift键,根据计算机而定),列表框有单列列表框和多列列表框之分,一般使用较多的是单列列表框。它们在控件各风格面板的“列表、表格和树”面板下,如图6-29所示。列表框控件请输入您的标题CLICK HERE TO ADD TITLE 通常情况下,列表框就是指单列列表框。列表框里面的内容可以直接在前面板的编辑状态下编辑,这里就不详细介绍了。在编辑过程中,如果需要添加项符号,其添加方式有两种,右击列表框,一是选择“显示项”下的“符号”,二是选择“属性”下的“外观”对话框,勾选“显示符号”复选框。如果还想显示列表框里面的水平线,就勾选“显示水平线”复选框即可,
13、如图6-30所示,点击“确定”按钮。然后在需要设置项符号的选项上右击,选择“项符号”,弹出如图6-31所示用户界面,默认为空。用户可以根据需要选择图标,也可以使用自定义图标,这在后面讲解。列表框控件1.单列列表框单列列表框请输入您的标题CLICK HERE TO ADD TITLE实例6-8:介绍如何通过程序设计来实现列表框内容的编辑。列表框控件1.单列列表框单列列表框请输入您的标题CLICK HERE TO ADD TITLE实例6-9:介绍如何通过程序获取列表框中用户所选择的选项内容。列表框控件1.单列列表框单列列表框请输入您的标题CLICK HERE TO ADD TITLE 多列列表框
14、在项目开发中的应用也比较广泛,一般用于显示数据库里面查询出来的数据信息,它的内容既可以在前面板直接编辑,也可以通过程序运行动态生成,其操作过程与单列列表框基本相同。这里就其中动态生成项名和项符号的内容加以叙述。列表框控件2.多列列表框多列列表框实例6-10:多列列表框在项目开发实例,动态生成项名和项符号。请输入您的标题CLICK HERE TO ADD TITLE列表框控件2.多列列表框多列列表框实例6-11:下面就对怎么具体实现自定义图标为项符号进行详细讲解。请输入您的标题CLICK HERE TO ADD TITLE表格与树形控件1.表格表格 表格和树形控件在控件面板的“列表、表格和树”面
15、板下,与前面的列表框在同一个面板中,这里就不再赘述。 表格实际上就是一个字符串组成的二维数组,在前面板添加了表格控件后,直接右击该控件就可以编辑它的各种属性。一种方式是右击控件,在“显示项”菜单里面设置各种属性;另一种方式是选择“属性”下的“外观”对话框,设置相应的可选项,与列表框相同。表格的编辑也非常简单,用鼠标单击对应的空格就能直接编辑内容了。右击该控件,选择“数据操作”菜单,就可以对表格进行插入或删除行列操作了,如图6-39所示。表格数组的大小由输入内容所占范围决定。请输入您的标题CLICK HERE TO ADD TITLE表格与树形控件1.表格表格 此外,在紧靠树形控件旁边还有一个“
16、Express表格”。放置该控件在前面板时,在LabVIEW程序框图中将自动生成相应的程序代码,用来将数据快捷转换为表格。实例6-12:通过生成一个5x5的100以内随机整数并放入Express表格的实例来简单熟悉该控件的应用。请输入您的标题CLICK HERE TO ADD TITLE树形控件 树形控件以树的形式显示多层内容,Windows的资源管理器就是用树形控件来显示文件目录的。默认放置该控件在前面板上时,该控件有多列输入,一般来说只有第一列有用,后面的列只是起到文字说明作用,如图6-42所示。 在前面板编辑树形控件,直接在需要输入内容的地方单击鼠标就可以输入数据了,更多的操作只需要右击
17、该控件,选择相应的快捷菜单就能实现。其中右击控件快捷菜单中的“选择模式”表示树形控件的选择模式,使用方法与前面的列表框-样,这里就不再赘述。请输入您的标题CLICK HERE TO ADD TITLE树形控件实例6-13:通过一个具体例子来演示树形控件前面板操作过程。请输入您的标题CLICK HERE TO ADD TITLE树形控件名称含义ParentTag新添加的项目将作为ParentTag的下一级项目。默认为空字符串,此时将新项目添加到第一级ChildPosition设置新添加的项目相对于ParentTag的位置。默认为0,此时将该项目直接添加到ParentTag的下面;若为1,则添加到
18、该ParentTag的第一个ChildItem下面;若为2,则添加到第二个ChildItem下面;以此类推,若为1,则添加到最后一个ChildItem下面LeftCellString该项目的名称ChildText在该项目右边其他列中显示的说明性文字内容ChildTag该项目的Tag,默认情况下与LeftCellString相同ChildOnly如果为真,该项目下将不能再有ChildItemOutput该项目的Tag请输入您的标题CLICK HERE TO ADD TITLE树形控件请输入您的标题CLICK HERE TO ADD TITLE对话框 在程序设计中,对话框是人机交互界面的一个重要控
19、件。LabviEW有两种方法可以设计对话框:一种是直接使用LabVIEW函数面板中提供的几种简单对话框,另一种是通过子VI实现用户自定义功能较为复杂的对话框。1.普通对话框普通对话框 对话框VI函数在函数面板的“编程”/“对话框与用户界面”面板下。按类型分为两类对话框:一种是“信息显示”对话框,另一种是“提示用户输入”对话框。其中,“信息显示”对话框有四种:(1)单按钮对话框。它有三个连接端子,其中“按钮名称”是对话框按钮的名称,默认值为“确定;“消息”是对话框中显示的文本,消息文本越长,显示的对话框会相应变大,函数会根据对话框的大小自动为消息文本换行;“真”是单击按钮返回True。请输入您的
20、标题CLICK HERE TO ADD TITLE对话框1.普通对话框普通对话框(2)双按钮对话框。与单按钮对话框比较多一个“F按钮名称连接”端子,默认值为“取消”,如单击“F按钮名称”对话框,可返回“False(3)三按钮对话框。如图6-48所示。其中较前面两个对话框多了一个窗口标题端子,该端子输入的字符串信息显示为对话框标题,如图6-49所示。如果连线空字符串至按钮文本输入,则该VI可隐藏该按钮,可使三按钮对话框转换为单按钮或双按钮对话框;如连线空字符串至对话框的每个按钮,则该VI可显示默认的确认按钮。请输入您的标题CLICK HERE TO ADD TITLE对话框1.普通对话框普通对话
21、框(4)显示对话框信息。创建含有警告或用户消息的标准对话框,可以配置对话框内容和按钮个数,其配置界面和运行效果如图6-50所示 “提示用户输入”对话框可以输入简单的字符串、数字和布尔值,其配置界面和运行效果如图6-51所示。请输入您的标题CLICK HERE TO ADD TITLE对话框2.自定义对话框自定义对话框 除了前面提到的LabVIEW系统提供的四种简单对话框以外,用户还能通过子VI的方式实现用户自定义对话框。默认情况下调用子VI时不弹出子VI的运行界面,如果在调用子VI的程序框图中右击子VI图标,选择“子VI节点设置”选项,会弹出如图6-52所示的对话框来设置子VI的调用方式。选择
22、“调用时显示前面板”即表示调用子VI时会弹出子VI的前面板,在编辑子VI时需要对子VI前面板进行相应设置。例如,将VI属性窗口外观设置为对话框形式或者设置不显示菜单栏、工具栏、滚动条、总之最前面等,就可以作为系统载入对话框,运行程序如图6-53所示。请输入您的标题CLICK HERE TO ADD TITLE菜单 对一个良好的人机界面而言,菜单项是必不可少的组成部分,在Windows程序中菜单可以说是无处不在。它的好处是将所有的操作隐藏起来,只有需要用到的时候才被激活,因此相对于把所有的操作都作为按钮放在面板上,它节省了大量控件。菜单有两种,一种是运行主菜单,另一种是右键快捷菜单。LabVIE
23、W提供了两种创造菜单的方法:一种是在菜单编辑器中完成设计,另一种是使用菜单函数选板进行菜单设计。1.菜单函数菜单函数通过LabVIEW中的菜单函数选板可以对自定义的前面板菜单赋予指定操作,实现前面板菜单的功能。同时,用户使用菜单选板上的节点功能也能对前面板菜单进行定义,实现自定义菜单的设计。菜单函数选板位于函数面板下的“对话框与用户界面”/“菜单”面板下。常用的菜单函数如图6-54所示。请输入您的标题CLICK HERE TO ADD TITLE菜单1.菜单函数菜单函数(1)当前VI菜单栏“当前VI菜单栏”的接线端子返回当前VI的菜单引用句柄,用于连接其他菜单操作节点。LabVIEW中使用菜单
24、引用作为某个对象的唯标识符,它是指向某一对象的临时指针,因此仅在对象被打开时生效,且当对象被关闭,LabVIEW就会自动断开连接。(2)获取所选菜单项“获取所选菜单项函数的接线端子如图6-55所示。它通常用于设置等待时间,并获取菜单项标识用于对菜单功能进行编辑。其中“菜单引用”端子连接当前VI菜单栏或其他菜单函数节点的菜单引用输出端子,用于传递同一个菜单的操作函数;“菜单引用输出”端子连接的是下一函数的菜单引用输入;“项标识符”为字符串类型,通常连接条件结构的分支选择器端子,处理被选中菜单项的动作;“项路径”描述了所选菜单项在菜单中的层次位置,形式为用冒号(:)分隔的菜单标识符列表。例如,如选
25、择文件菜单中的打开菜单项,项的路径为“File:Open。请输入您的标题CLICK HERE TO ADD TITLE菜单1.菜单函数菜单函数(3)插入菜单项“插入菜单项”通常用于在指定菜单或子菜单中插入新的菜单项。莫单项标识符输入的是插入位置的上一级菜单名称字符串,如果不指定菜单标识符,则插入菜单项为顶层票单项。项名称确定要插入菜单的项,是在菜单上显示的字符串,可连线项名称或项标识行,名称和标识符必须相同,如只需插入项,可连线字符串至项名称。“项之后”端子可以直接输入要插入菜单项的项标识符字符串,也可以输入要插入菜单项的位置索引,位置索引默认从0开始。“项标识符输出”端子用于返回和输出插入项
26、的项标识,如果“插入菜单项”函数没有找到项标识符或项之后,则返回错误信息。(4)删除菜单项“删除菜单项”函数通常用于删除指定的菜单项,可以输入菜单标识符,也可以输入删除项的字符串或位置。如果没有指定菜单项标识符,则删除所有的菜单项。项输入端子可以是项标识字符串或字符串数组,也可以是位置索引,只有使用位置索引的方法才可以删除分隔符。(5)启用菜单追踪“启用菜单追踪”函数通常与获取所选菜单项配合使用。“启用”端子输入的是布尔型数据,当启用端子输入为真时,则打开追踪,否则关闭追踪,默认为打开追踪。请输入您的标题CLICK HERE TO ADD TITLE菜单1.菜单函数菜单函数(6)获取菜单项信息
27、“获取菜单项信息函数通常用于返回与项标识符一致的菜单项属性。其中常用的返回属性是快捷方式,其他各端子含义与设置菜单项信息函数相同。(7)设置菜单项信息“设置菜单项信息”函数通常用于改变菜单属性,没有重新设置的属性不会改变。项标识符指定用户想要设置属性的菜单项或菜单数组。快捷方式用于设置菜单项的快捷方式,输入的为簇类型的数据,每个菜单在簇中有两个布尔类型和一个字符串,第一个布尔类型定义快捷键中是否包含“Shift”键,第二个布尔类型定义快捷键中是否包含“Ctrl”键,字符串中设置菜单快捷键,以配合“Shift键或“Ctrl”键使用。已启用端子输入布尔型参数,默认为启用状态。(8)获取快捷菜单信息
28、“获取快捷菜单信息”函数通常用于返回与所输入的快捷方式相同的菜单项标识符和项路径。请输入您的标题CLICK HERE TO ADD TITLE菜单2.运行主菜单运行主菜单 运行主菜单是指前面板在运行时菜单栏所显示的主菜单。运行主菜单有三种类型可供选择,分别为:默认,即LabVIEW的默认菜单;最小化,即只显示最常用的一些菜单选项;自定义,用户可以在这里编辑自己喜欢和需要的菜单。这里主要讲解自定义运行主菜单。(1)自定义运行主菜单的编辑自定义运行主菜单在前面板编辑也比较简单。请输入您的标题CLICK HERE TO ADD TITLE菜单2.运行主菜单运行主菜单实例6-14:通过一个自定义运行主
29、菜单实现登录系统的案例来详细解读前面板编辑运行主菜单的过程。请输入您的标题CLICK HERE TO ADD TITLE菜单2.运行主菜单运行主菜单实例6-14:通过一个自定义运行主菜单实现登录系统的案例来详细解读前面板编辑运行主菜单的过程。请输入您的标题CLICK HERE TO ADD TITLE菜单2.运行主菜单运行主菜单(2)事件结构实现菜单响应自定义运行主菜单的响应程序还可以通过事件结构实现,它比通过获得所选菜单项函数实现要更简洁明了。在项目开发中,一般推荐使用事件结构。实例6-15:就用前面完成的登录界面子VI和菜单文件,来完成通过事件结构实现菜单响应功能。请输入您的标题CLICK
30、 HERE TO ADD TITLE菜单2.运行主菜单运行主菜单(3)动态创建莱单除了可以通过菜单编辑器来编辑运行主菜单之外,还可以利用菜单面板上的VI函数通过编程来动态创建菜单。用菜单编辑器编辑菜单的好处是所见即所得,是在程序运行之前菜单项就已经确定了。而通过编程来动态创建菜单,菜单项可以根据程序运行情况改变。实例6-16:编写程序完成动态生成一个可以中英文操作界面互换的主菜单。在程序运行时,用户可以通过选择不同语言实现同一个主菜单操作。请输入您的标题CLICK HERE TO ADD TITLE菜单3右键快捷菜单右键快捷菜单 右键快捷菜单是为某一个具体控件设置的菜单。只有当用户右击该控件时
31、,才会弹出该菜单。它更具有针对性,右击不同的控件可以弹出不同的菜单,因此它更能够满足用户更多的交互需求。 右键快捷菜单的创建方式也有两种:一种是通过菜单编辑器创建菜单,另一种是通过编程动态创建菜单。请输入您的标题CLICK HERE TO ADD TITLE菜单3右键快捷菜单右键快捷菜单(1)利用菜单编辑器创建菜单实例6-17:先介绍采用“菜单编辑器”创建右键快捷菜单的方式,为一个温度计创建一个右键快捷菜单,通过该菜单,用户可以选择温度计显示方式为摄氏度还是华氏度。请输入您的标题CLICK HERE TO ADD TITLE菜单3右键快捷菜单右键快捷菜单请输入您的标题CLICK HERE TO
32、 ADD TITLE选项卡 选项卡控件提供多个页面,每个页面都是一个容器,页面里边可以摆放各种控件来完成不同的功能。用户可以通过点击页面上边的“选项卡标签”来切换不同页面的显示。选项卡控件位于控件面板的“新式”下的“器”子面板内。选项卡控件添加到前面板后,默认有两个选项卡标签,双击选项卡标签可以修改标签内容。右击选项卡边框,在弹出的快捷菜单中可以选择相关选项来对选项卡进行添加、删除、复制、交换和创建属性节点等操作,如图6-71所示。选项卡功能既可以通过条件结构来完成,也可以通过事件结构来完成。在实际项目开发过程中,一般用事件结构较多。请输入您的标题CLICK HERE TO ADD TITLE
33、选项卡实例6-19:用条件结构和事件结构完成个选项卡控件不同的四则运算。程序设计步骤如下:请输入您的标题CLICK HERE TO ADD TITLE多面板 在设计稍具规模的系统时,往往一个前面板很难显示出所有内容,就算勉强显示得出,也会使界面臃肿难看。有些情况下,用户可以通过选项卡控件进行分页显示,但是由于前面板控件过多,程序框图必然会更加繁乱。 其实,类似于常见的Windows程序,用户可以通过按钮或菜单弹出更多的界面。这样,无论多么复杂的系统都可以用简洁的多面板入机界面实现。下面来看如何在LabVIEW中实现多面板的程序设计。1多面板的程序设计多面板的程序设计 这里将多面板程序设计分为两
34、种情况:一种是在弹出子面板时,主程序处于等待状态,直到子面板运行完成;另一种是弹出子面板后,子面板与主程序相互独立运行。请输入您的标题CLICK HERE TO ADD TITLE多面板2.多面板的程序框图多面板的程序框图 程序框图中最主要的是一个事件结构。该事件结构的触发条件来源于用户单击界面上4个按钮中的任何一个按钮。例如,当用户单击“子面板1”按钮时,可以通过“控件引用”的属性节点Label.Text(标签.文本)属性获得按钮的标签名称,通过字符串连接和“创建路径”函数可以得到该按钮对应VI的绝对路径;通过“打开VI引用”函数获得VI引用后,由VI的Execution.State(执行.
35、状态)属性节点获得VI的运行状态,如果VI处于“Idle状态(即不运行状态),则通过RunVI(运行VI)方法运行该VI,设置“WaitUntilDone(结束前等待)参数为False表明该动态加载的VI与主VI相互独立运行;最后通过设置FromtPanelWindow.Open(前面板窗口.打开)属性为True来打开动态加载VI的前面板。请输入您的标题CLICK HERE TO ADD TITLE多面板3.子面板子面板 子面板程序如图6-77所示。为了使用户单击“退出”按钮实现面板的关闭,这里用到了VI的FrontPanel.close方法子面板可以有不同的行为模式,譬如子面板始终在界面最前
36、面,或者是对话框方式,即子面板打开时用户不能操作其他面板。在子面板程序中选择“文件”/“VI属性”1“窗口外观”1“自定义”,在“自定义”对话框中设置子面板的功能。对应于窗口动作栏,它有三种模式:(1)默认:普通模式,即如同普通面板一样没有特殊行为。(2)浮动:面板总是浮在窗口最前面,用户此时仍然可以操作其他面板。(3)模态:对话框模式,即如同对话框-样,当该面板运行时,用户不可以操作其他面板。除了通过按钮实现多面板的调用,也可以通过菜单实现该功能,如图10.61所示,通过选择菜单栏的菜单项来实现菜单项与相应面板VI的对应。请输入您的标题CLICK HERE TO ADD TITLE光标 光标
37、是指示用户输入位置的图标,也是指示鼠标当前位置的图标,还是在使用键盘输入时指示将要输入文字的位置的小动态图标。程序运行过程中,光标图像的变化可以形象地告诉用户程序的运行状态。例如,当程序正在采集或分析数据而不接受用户输入时,可以将光标的外观变为沙漏或钟表状态以表示程序忙,而当VI完成采集或分析数据后,可重新接受用户输入时,再将光标恢复为默认图标。 Windows平台上的光标通常分为两类:种是动画光标,保存为“*.ani文件;另一种是静态光标,保存为“*.cur”文件。光标大小有16*16,32*32,以及自定义大小等多种。在进行程序开发时,不仅可以使用系统提供的光标,还可以从网络上下载各种光标
38、,甚至使用图标设计软件自己创建有个性光标文件供应用程序使用。LabVIEW为光标操作提供了一套函数集,光标函数集位于函数面板的“编程”1“对话框与用户界面”/“光标”子面板中,如图6-78所示。请输入您的标题CLICK HERE TO ADD TITLE光标 如果要为程序设置系统自带的光标,可以使用“设置光标”函数。该函数是个多态性质的VI,它可以根据不同的连接参数实现不同的功能。当输入参数是光标引用时,可以将引用所指向的光标文件设置为当前光标;如果输入参数为数值,则可以将系统光标或LabVIEW光标设置给VI。可以使用数字032作为“设置光标”函数的参数,为VI设置LabVIEW自带的各种光
39、标。各个数字所代表的图标如图6-79所示。在为VI设置这些光标时直接把光标对应的数字连接到“设置光标”函数的“图标”输入端即可。请输入您的标题CLICK HERE TO ADD TITLE光标 将VI前面板中的光标更改为系统繁忙时的光标也比较常用,这可以通过“设置为忙碌快本”和“取消设置忙碌状态”两个函数来实现。如图6-80所示,程序首先调用了“设置为忙碌状态”VI,然后等待进度条运行。在等待过程中,用户可以看到鼠标的光标被更改为忙碌状态。进度条运行结束以后,“取消设置忙碌状态”VI恢复光标至默认状态。2生成.EXE文件和安装文件生成.EXE文件生成安装文件子VI属性节点和人机界面设计请输入您
40、的标题CLICK HERE TO ADD TITLE生成.EXE文件和安装文件 使用LabVIEW编写程序的最后往往需要将程序拿到目标电脑上去运行,如何将程序从开发电脑上移植到目标电脑上呢?这里有两种方法:1.在目标电脑上安装LabVIEW以及相关驱动和工具包,然后将vi或者整个项目拷贝到目标电脑上。然而安装LabVIEW和各种工具包会比较耗费时间,且vi可以被任意修改,容易引起误操作,如果只是运行程序,则不推荐这种方法。2.将LabVIEW编写的程序在开发电脑上编译生成独立可执行程序(exe),然后将可执行程序移植到目标电脑上,这里的移植分为两种方式:(1)将生成的exe拷贝到目标电脑上,然
41、后在目标电脑上单独安装LabVIEW运行引擎(Run-TimeEngine)和需要的驱动以及工具包等,此方法中安装驱动和工具包也需要花费较多时间,不推荐。(2)将生成的exe和一些用到的组件打包生成installer,即安装程序,然后在目标电脑上运行安装程序即可,这样安装完成后,之前生成的exe、LabVIEW运行引擎以及其他用到的工具包会自动安装到目标电脑上,这种方法移植程序比较简单,是最常用的方法。 由以上介绍可知,整个LabVIEW程序完成后,生成.EXE文件和安装文件在目标电脑上运行比较方便,下面分别介绍这两种方法。请输入您的标题CLICK HERE TO ADD TITLE生成.EX
42、E文件 创建一个项目,项目名字为整个程序的名字,如点菜宝。右键我的电脑-添加.-文件.,如图6-81所示,将程序的主VI文件添加进去。 右键-我的电脑-添加.-文件夹(自动更新).,新建一个文件夹并重命名(如子VI),如图6-82所示,将除了主VI以外的所有子VI文件全部放进该文件夹。请输入您的标题CLICK HERE TO ADD TITLE生成.EXE文件 右击程序生产规范新建应用程序(EXE)。弹出应用程序生成器信息的窗口后点击确定按钮。 选择类别框中的信息,右侧“程序生成规范名称”和“目标文件名”为将要生产的exe的文件夹名和文件名。请输入您的标题CLICK HERE TO ADD T
43、ITLE生成.EXE文件 选择类别框中的源文件,将软件打开的默认界面添加到启动VI项,其余添加到始终包括项。一般默认始终包括下的非VI文件会生成到data文件夹下。 选择类别下的图标,可以自己编辑将要生产exe软件的图标,设置好后点击生产即可生产exe文件。请输入您的标题CLICK HERE TO ADD TITLE生成安装文件 生产好.EXE文件后右击程序生产规范新建安装程序,在产品信息中的“产品名称”是指生成的软件名称请输入您的标题CLICK HERE TO ADD TITLE生成安装文件 通过向左、向右符号将生产的exe程序添加到安装包中,一般情况下我们不希望使用者看到数据库文件,因此选择数据库,隐藏。生成的安装包安装后该文件属性为隐藏。即在文件夹不显示隐藏文件的设置下,该文件在文件夹中不显示。请输入您的标题CLICK HERE TO ADD TITLE生成安装文件 通过“快捷方式”中的目录可以设置软件安装时的快捷键生成所在位置,最后点击“生成”即可生成相应的安装包8谢谢关注!Thanks感谢您的聆听!