精通LabVIEW 8.x
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 认识LabVIEW 8.0

本章主要介绍安装和启动LabVIEW 8.0的方法,LabVIEW 8.0的菜单和操作模板,以及 LabVIEW 8.0 的新功能、新特性,并在最后指导读者编写第一个LabVIEW应用程序,讲解如何使用LabVIEW 8.0的帮助系统。

本章主要内容包括:

安装和启动LabVIEW 8.0

➢ LabVIEW 8.0的菜单简介

➢ LabVIEW 8.0的操作模板

➢ LabVIEW 8.0的新功能与新特性

LabVIEW编写第一个应用程序

使用LabVIEW 8.0的帮助系统

2.1 安装和启动LabVIEW 8.0

本节将介绍安装和启动LabVIEW 8.0的过程,并借此熟悉安装LabVIEW对计算机软、硬件的要求,以及启动LabVIEW的方法与技巧。

2.1.1 安装LabVIEW 8.0

在安装LabVIEW 8.0之前,用户首先需要了解它对个人计算机软、硬件的基本配置要求。

安装LabVIEW 8.0的最低配置要求如下:

● CPU:Pentium III/Celeron 600 MHz或相同性能的处理器。

● 内存:128MB。

● 显示器支持的分辨率:800×600像素。

● 磁盘空间:130MB。

● 操作系统:Windows NT/Windows 2000/Windows XP(其中Windows NT需要集成Service Pack 6的第四版或以上)。

安装LabVIEW 8.0推荐的软、硬件配置如下:

● CPU:Pentium 4或相同性能的处理器。

● 内存:256MB。

● 显示器支持的分辨率:1024×768像素。

● 磁盘空间:550MB。

● 操作系统:Windows 2000/Windows XP。

由LabVIEW 8.0对计算机软、硬件配置的要求来看,目前的主流计算机都可以比较顺利地运行这套软件。

安装LabVIEW 8.0的过程也相对比较简单。

首先,插入LabVIEW 8.0的安装光盘,光盘会自动运行安装程序,安装程序的启动界面如图2.1所示。

图2.1 LabVIEW 8.0的安装程序启动界面

在安装程序的启动界面上依次包括以下四个内容:

● 安装LabVIEW 8.0。

● 浏览LabVIEW 8.0的说明文档。

● 浏览LabVIEW 8.0的安装光盘。

● 退出安装界面。

单击第一项Install LabVIEW 8.0(安装LabVIEW 8.0),安装程序开始初始化,并将安装文件复制到硬盘中的临时文件夹,开始安装LabVIEW 8.0,如图2.2所示。

图2.2 初始化LabVIEW 8.0的安装程序

提示:在启动LabVIEW 8.0的安装程序前,建议用户关闭其他所有正在运行的应用程序。如果计算机的后台还有其他应用程序正在运行,例如一些杀毒软件,那么可能会导致安装时间变长或失败

安装程序初始化完毕后会提示用户输入用户信息和LabVIEW 8.0的产品序列号,如图2.3所示;如果只是安装LabVIEW 8.0的评估版本则不需要输入序列号,输入完毕后将会显示如图2.4 所示的安装界面。这里,安装程序要求用户选择一个安装目录,用来安装LabVIEW 8.0。用户可以单击Browse(浏览)来选择一个安装目录,并继续安装。

图2.3 输入用户信息和LabVIEW 8.0的产品序列号

图2.4 选择LabVIEW 8.0的安装目录

单击Next按钮,将出现LabVIEW 8.0的【安装选项】对话框,如图2.5所示。在这里,用户可以选择安装LabVIEW 8.0的几个选项,建议初学者和大多数用户按照默认情况进行安装。单击Next,将打开LabVIEW 8.0的National Instruments Software License Agrentment(NI的软件使用许可)安装许可窗口,如图2.6所示。

图2.5 LabVIEW 8.0的【安装选项】对话框

图2.6 NI软件使用许可窗口

分别选择I accept the License Agrement(s),并单击Next将弹出安装明细窗口,如图2.7所示。这里显示用户选择过的所有安装项目,当用户检查无误后,单击Next,安装程序将开始复制LabVIEW 8.0的文件到本地硬盘。在如图2.8所示的窗口中将显示复制文件的进度。

图2.7 LabVIEW 8.0的安装项目明细窗口

图2.8 LabVIEW 8.0的安装进度

在前面的几个步骤中,如果用户想要回到上一个【设置】对话框,可以单击Back按钮返回,并重新进行设置。

文件复制结束后,安装程序会弹出如图2.9所示的窗口,提示用户是否重新启动计算机以便完成LabVIEW 8.0的安装。

图2.9 重新启动计算机以便完成LabVIEW 8.0的安装

这里用户有三种选择,分别是Restart(重新启动计算机)、Shut Down(关闭计算机)和Exit(退出安装程序)。

重新启动计算机后,用户就可以启动LabVIEW 8.0进行程序设计了。

提示:LabVIEW 8.0的安装程序启动界面中,单击View Readme可以查看LabVIEW 8.0的自述文档,其中有关于LabVIEW 8.0的详细介绍;单击Explore the CD可以打开LabVIEW 8.0的安装光盘,并查看光盘中的内容;单击Exit将退出LabVIEW 8.0的安装程序启动界面。

技巧:打开LabVIEW 8.0的安装光盘,在光盘的盘符上单击鼠标右键,从弹出的快捷菜单中选择“自动播放”,便可以调用光盘的自动运行程序,打开LabVIEW 8.0的安装程序启动界面,从启动界面用户可以选择安装LabVIEW 8.0、查看自述文档或者浏览LabVIEW 8.0安装光盘的内容。

2.1.2 启动LabVIEW 8.0

在安装LabVIEW 8.0后,在开始菜单中便会自动生成启动LabVIEW 8.0的快捷方式——National Instruments LabVIEW 8.0。单击这个快捷方式启动LabVIEW,启动后的程序界面如图2.10所示。

图2.10 LabVIEW 8.0的启动界面

启动界面主要分为左右两个部分,分别是Files(文件)和Resources(资源)。在这个界面上用户可以选择新建空白VI,新建空白工程,从模板新建VI等,并且可以打开已有的程序。同时,用户可以从这个界面获得帮助支持,例如可以查找LabVIEW的帮助文件,互联网上的资源以及LabVIEW的程序实例。

在LabVIEW 8.0的启动界面上有File(文件)、Tools(工具)以及Help(帮助)三个菜单,在下一节中将详细介绍LabVIEW 8.0的菜单功能。

单击启动界面上的New按钮将打开如图2.11所示的【新建文件】对话框,在这里,我们可以选择多种方式来创建文件。

图2.11 LabVIEW 8.0的【新建文件】对话框

利用【新建文件】对话框,用户可以创建三种类型的文件,分别是VI(LabVIEW程序文件)、Project(工程文件)以及Other Files(其他文件)。

其中,新建VI是被经常使用的功能,包括新建Blank VI(空白VI),From Template(从模板创建)以及Polymorphic VI(多态VI)。如果选择Blank VI,将建立一个空的VI,VI中的所有控件都需要用户自行添加。如果选择VI from Template,可以选择六种类型的VI,分别是Tutorial(向导、指南程序)、Simulated(模拟程序)、Instrument I/O(仪器的输入与输出)、Frameworks(框架程序)、DAQ(数据获取)以及User(用户自定义)。

新建Project包括Empty Project(空白工程文件)和Project from Wizard(从向导创建工程文件)。

Other Files则包括Global Variable(全局变量)、Custom Control(定制控件)、Run-time Menu(菜单程序)等。

用户根据需要可以选择相应的模板进行程序设计。在各种模板中,LabVIEW已经预先设置了一些组件构成了应用程序的框架,用户只需要对程序进行一定程度的修改和功能上的增减就可以在模板的基础上构建出自己的应用程序。

用LabVIEW 8.0构建应用程序的具体方法将在后面的章节中详细介绍。

试一试 LabVIEW 8.0的模板新建一个VI:

LabVIEW 8.0的模板可以创建LabVIEW的应用程序——VI,在LabVIEW 8.0的启动主界面上单击新建按钮,将弹出如图2.12所示的【新建文件】对话框,从中选择From Template,选择Frameworks中的DialogBase Package),如图2.13所示。在对话框的右边将显示模板的前面板、后面板以及简要说明。单击“Ok”按钮,新建一个VI,VI的前面板和后面板分别如图2.14和图2.15所示。运行程序,将弹出如图2.16所示的对话框,按照对话框提示的内容添加代码就可以根据模板创建自己的VI程序了。

图2.13 使用模板创建VI

图2.14 LabVIEW模板程序的前面板

图2.15 LabVIEW模板程序的后面板

图2.16 LabVIEW模板程序的运行结果

2.2 LabVIEW 8.0的菜单简介

要想熟练地使用LabVIEW编写程序,了解其编程环境是非常必要的。在LabVIEW 8.0中,菜单是其编程环境的重要组成部分,这一节将主要介绍LabVIEW 8.0的菜单。

2.2.1 文件菜单

LabVIEW 8.0的File(文件)菜单囊括了对其程序(即VI)操作的几乎所有命令,如图2.17所示。

图2.17 LabVIEW 8.0的文件菜单

下面依次介绍其功能。

● New VI:新建VI菜单,用于新建一个空白的VI程序。

● New:新建菜单,打开如图2.12所示的【新建VI】对话框,新建空白VI、根据模板创建VI或者创建其他类型的VI。

图2.12 【新建文件】对话框

● Open:打开菜单,用来打开一个VI。

● Close:关闭菜单,用于关闭当前VI。

● Close All:关闭所有VI菜单,关闭打开的所有VI。

● Save:保存菜单,保存当前编辑过的VI。

● Save As:另存为菜单,另存为其他VI。

● New Project:新建工程文件。

● Open Project:打开工程文件。

● Save Project:保存工程文件。

● Close Project:关闭工程文件。

● Page Setup:页面设置菜单,用于设置打印当前VI的一些参数。

● Print:打印菜单,打印当前VI。

● VI Properties:VI属性菜单,用来查看和设置当前VI的一些属性。

● Recent Projects:最近曾经打开过的工程,用来快速打开曾经打开过的工程。

● Recent Files:最近曾经打开过的文件菜单,用来快速打开曾经打开过的VI。

● Exit:退出菜单,用于退出LabVIEW 8.0。

2.2.2 编辑菜单

Edit(编辑)菜单中列出了几乎所有对VI及其组件进行编辑的命令,如图2.18所示。

图2.18 LabVIEW 8.0的编辑菜单

下面详细介绍Edit菜单。

● Undo:撤销菜单,用于撤销上一步操作,回复到上一次编辑之前的状态。

● Redo:重做菜单,执行和撤销相反的操作,再次执行上一次“撤销”所做的修改。

● Cut:剪切菜单,删除选定的文本、控件或者其他对象,并将其放到剪贴板中。

● Copy:复制菜单,用于将选定的文本、控件或者其他对象复制到剪贴板中。

● Paste:粘贴菜单,用于将剪贴板中的文本、控件或者其他对象从剪贴板中放到当前光标位置。

● Delete:清除菜单,用于清除当前选定的文本、控件或者其他对象,和Cut不同的是,Delete不把这些对象放入剪贴板中。

● Select all:选择全部对象。

● Make Current Values Default:将当前值设为默认值,将当前前面板上对象的取值设为该对象的默认值。这样当下一次打开该VI时,该对象将被赋予该默认值。

● Reinitialize All to Default:将前面板上对象的取值初始化为原来的默认值。

● Customize Control:定制控制量菜单,用于定制前面板中的控制量。

● Import Picture from File:从文件中导入图片菜单,用来从文件中导入图片。

● Set Tabbing Order:设定Tab键切换顺序菜单,可以设定用Tab键切换前面板上对象时的顺序。

● Remove Broken Wires:移除断线菜单,用来除去VI后面板中由于连线不当造成的断线。

● Create SubVI:创建子VI菜单,用于创建一个子VI。

● Disable/Enable Panel Grid Alignment:面板栅格对齐功能失效或者使能,禁用面板上面的对齐网格,单击该菜单项,该项变成Enable Alignment Grid on Panel,再次单击该菜单项将显示面板上面的对齐网格。

● Align Items:将对象对齐。

● VI Revision History:VI修订历史记录菜单,用于记录VI的修订历史。

● Run-Time Menu:运行菜单,用于设置程序运行时的菜单项。

● Find and Replace:搜索和替换对象。

● Show Search Results:显示搜索结果。

2.2.3 视图菜单

LabVIEW 8.0的View(视图)菜单包括了程序中所有与显示操作有关的命令,如图2.19所示。

图2.19 LabVIEW 8.0的视图菜单

● Controls Palette:显示控件模板菜单,用来显示LabVIEW的控件模板。

● Functions Palette:显示函数模板,用来显示LabVIEW的函数模板。

● Tools Palette:显示工具模板菜单,用来显示LabVIEW的工具模板。

● Error List:显示错误列表菜单,用于显示VI程序的错误。

● VI Hierarchy:显示VI的层次结构菜单,用于显示该VI与其调用的子VI之间的层次结构。例如,图2.20中显示了一个VI的层次结构图,从图中可以很清晰地看出程序调用VI的组织方式和程序结构。

图2.20 LabVIEW 8.0中的VI层次结构图

● Browse Relationships:浏览VI之间的关系,用来浏览程序中所使用的所有VI之间的相对关系。

● Class Browser:类浏览器,用来浏览程序中使用的类。

● Getting Started Window…:启动如图2.11所示的LabVIEW 8.0启动窗口。

● Navigation Window:显示导航窗口菜单,用于显示VI程序的导航窗口。

● Toolbars:工具栏。

2.2.4 工程菜单

LabVIEW 8.0的Project(工程)菜单中包含了LabVIEW中所有与工程操作相关的命令,如图2.21所示。

图2.21 LabVIEW 8.0的工程菜单

● New Project:新建工程,用于新建一个工程文件。

● Open Project:打开工程,用来打开一个已有的工程文件。

● Save Project:保存工程,用来保存一个工程文件。

● Close Project:关闭工程,用来关闭工程文件。

● Add to Project:添加到工程文件中,将VI或者其他文件添加到现有的工程文件中。

● File Information:文件信息。

● Properties:属性,显示当前工程属性。

2.2.5 操作菜单

LabVIEW 8.0的Operate(操作)菜单中包括了对VI操作的基本命令,如图2.22所示。

图2.22 LabVIEW 8.0的操作菜单

下面介绍操作菜单的使用方法。

● Run:运行菜单,用于运行VI程序。

● Stop:停止菜单,用来中止VI程序的运行。

● Step Into:单步执行进入程序单元。

● Step Over:单步执行完成程序单元。

● Breakpoints:断点查找菜单,单击这个菜单将打开【寻找断点】对话框,用于搜索程序中设置的断点。

● Suspend when Called:当VI被调用时,挂起程序。

● Print at Completion:在VI运行结束后打印该VI。

● Log at Completion:在VI运行结束后记录运行结果到记录文件。

● Data Logging:数据记录子菜单。单击数据记录菜单可以打开它的下级菜单,设置记录文件的路径等。

● Change to Run Mode:切换到运行模式,当用户单击该菜单项时,LabVIEW将切换为运行模式,同时该菜单项变为Change to Edit Mode,再次单击该菜单项,则切换为编辑模式。

● Connect to Remote Panel:与远程面板连接,单击该菜单项将弹出如图2.23所示的连接远程面板对话框,可以设置与远程的VI连接、通信。

图2.23 LabVIEW 8.0与远程面板连接对话框

● Debug Application or Shared Library:调试程序或者共享库。

2.2.6 工具菜单

在LabVIEW 8.0的Tools(工具)菜单中有用其编写程序的几乎所有工具,包括一些主要工具和辅助工具,如图2.24所示。

图2.24 LabVIEW 8.0的工具菜单

下面介绍工具菜单的使用。

● Measurement & Automation Explorer…:打开MAX程序。

● Instrumentation:使用仪器子菜单,单击该菜单可以打开它的下级菜单,在这里可以选择连接NI的仪器驱动网络或者导入CVI仪器驱动程序。

● MathScript Window…:执行LabVIEW MathScript程序。

● Compare:比较子菜单,用于比较两个VI的不同之处。假如两个VI非常相似,却又比较复杂,用户想要找出两个VI中的不同之处时,可以使用这项功能。

● Source Control:源代码控制子菜单,单击这个菜单可以打开它的下级菜单,设置和进行源代码的高级控制。

● User Name:用户姓名菜单,可以设置用户的姓名。

● Build Executable:创建应用程序或者动态链接库(DLL)菜单,用来将VI编译成可执行文件或者动态链接库文件。

● VI Library Manager:VI库文件管理器菜单,单击这个菜单可以打开库文件管理器,并对库文件进行新建、复制、重命名、删除,以及转换等操作。

● Edit VI Library:编辑VI库文件菜单,可以编辑VI的库文件。

● Find VIs on Disk:搜索VI菜单,用来搜索磁盘上指定路径下的VI程序。

● Prepare Example VIs for NI Example Finder:准备VI例程菜单,为NI(National Instrument)例程查找器准备例程VI。

● Remote Panel Connection Manager:远程面板连接管理器菜单,用于管理远程VI程序的远程连接。

● Web Publishing Tool:网络发行工具菜单,单击这个菜单可以打开网络发行工具管理器窗口,设置通过网络访问用户的VI程序。

● Advanced:高级子菜单,单击这个菜单可以打开它的下级菜单,里面是一些对VI操作的高级使用工具。

● Options:选项菜单,用于设置LabVIEW以及VI的一些属性和参数。

2.2.7 窗口菜单

利用Window(窗口)菜单可以打开LabVIEW 8.0程序的各种窗口,例如前面板窗口、后面板窗口以及导航窗口。LabVIEW 8.0的窗口菜单如图2.25所示。

图2.25 LabVIEW 8.0的窗口菜单

下面详细介绍窗口菜单。

● Show Block/Front Diagram/Panel:显示后面板/前面板菜单,用来切换后面板和前面板。

● Tile Left and Right:左右排布菜单,用来将VI的前、后面板左右(即横向)排布。

● Tile Up and Down:上下排布菜单,用来将VI的前、后面板上下(即纵向)排布。

另外,在Window菜单的最下方显示了当前打开的所有VI的前面板和后面板,因而,可以从Window菜单的最下方直接进入那些VI的前面板或后面板。

2.2.8 帮助菜单

LabVIEW 8.0提供了功能强大的帮助功能,集中体现在它的Help(帮助)菜单上。LabVIEW 8.0的帮助菜单如图2.26所示。

图2.26 LabVIEW 8.0的帮助菜单

下面介绍帮助菜单的使用。

● Show Context Help:显示上下文帮助菜单,选择是否显示LabVIEW 8.0的上下文帮助窗口以获得上下文帮助。

● Lock Context Help:锁定上下文帮助菜单,用于锁定上下文帮助窗口。

● Search the LabVIEW Help:VI、函数以及如何获取帮助菜单,打开LabVIEW 8.0的帮助文档,搜索帮助信息。

● Find Examples:查找例程菜单,用于查找LabVIEW中带有的所有例程。

● Web Resources:网络资源菜单,打开NI公司的官方网站,在网络上查找LabVIEW程序的帮助信息。

● Patents:专利菜单,显示NI公司的所有相关专利。

● About LabVIEW:关于LabVIEW菜单,显示关于LabVIEW 8.0的信息。

技巧:为了让菜单的显示更加简洁,在LabVIEW 8.0中,有些不常用的菜单项被隐藏起来,并显示为,单击 则会显示出隐藏的菜单项。

2.3 LabVIEW 8.0的操作模板

LabVIEW中的操作模板分为工具模板、控件模板和函数模板,LabVIEW程序的创建主要依靠这三个模板完成。工具模板提供了用于创建、修改和调试程序的基本工具;控件模板中涵盖了各种Controls(控制量)和Indicators(显示量),主要用来创建前面板中的对象,构建程序的界面;函数面板包含了编写程序的过程中用到的函数和VI程序,主要用于构建后面板中的对象。控件模板和函数模板中的对象被分门别类地安排在不同的子模板中。

一般在启动LabVIEW的时候,三个模板会出现在屏幕上,由于控件模板只对前面板有效,所以只有在激活前面板的时候才会显示;同样,只有在激活后面板的时候才会显示函数模板。如果模板没有被显示出来,可以通过菜单Window/Show Tools Palette来显示工具模板,通过Window /Show Control Palette显示控件模板,通过Window/ Show Function Palette显示函数模板。

2.3.1 编辑工具——工具模板

LabVIEW 8.0的工具模板如图2.27所示,利用工具模板可以创建、修改LabVIEW中的对象,并对程序进行调试。工具模板是LabVIEW中对对象进行编辑的工具。

图2.27 LabVIEW 8.0的工具模板

工具模板中各种不同工具的图标及其相应的功能如下:

:自动/手动选择切换,当按下自动选择按钮,鼠标经过前、后面板上的对象时,系统会自动选择工具模板中相应的工具,方便用户操作。当用户选择手动时,需要手动选择工具模板中的相应工具。

:操纵工具,用来操纵前面板中的控制量和指示器。当用它指向数值或者字符量时,它会自动变成标签工具。

:位置、尺寸、选择工具,用来选取对象,改变对象的位置和大小。

:标签工具,用于输入标签文本或者创建标签。

:连线工具,用于在后面板中连接两个对象的数据端口,当用连线工具接近对象时,会显示出其数据端口以供连线之用。如果打开了帮助窗口时,那么当用连线工具置于某连线上时,会在帮助窗口显示其数据类型。

:对象弹出菜单工具,当用该工具单击某对象时,会弹出该对象的快捷菜单。

:滚动窗口工具,使用该工具,无须滚动条就可以自由滚动整个图形。

:断点工具,在调试程序过程中设置断点。

:探针工具,在代码中加入探针,用于调试程序过程中监视数据的变化。

:取色工具,从当前窗口中提取颜色。

:颜色设置工具,用来设置窗口中对象的前景色和背景色。

2.3.2 前面板设计工具——控件模板

控件模板中包括了用来创建前面板对象的各种控制量和显示量,是用户设计前面板的工具,LabVIEW 8.0中的控件模板如图2.28所示。

图2.28 LabVIEW 8.0的控件模板

在控件模板中,按照所属类别,各种控制量和显示量被分门别类地安排在不同的子模板中,各种子模板的图标、功能以及其中的代表控件如下。

:数值控件Express VI,用来设计具有数值属性的控件,如Slides(滑杆)、Knobs(旋钮)、Dials(拨码盘)、Framed color box(调色板)等。

:按钮和开关Express VI,用来设计前面板上的按钮和开关,如Buttons(按钮)、Switches(开关)等。

:文本和路径Express VI,用来设计等待用户输入的字符串和路径类型等对象,如String(字符串)、Text(文本)、Menu(菜单)、File Path(路径)等。

:用户自定义库Express VI,显示user.lib目录下的控件。

:数值量指示器Express VI,用来设计用于显示数值量的指示器,如Meter(指针表)、Tank(容器)等。

:发光二极管Express VI,用来设计一些具有布尔数据类型属性的对象,如Square LEDs(方形LEDs)、Round LEDs(圆形LEDs)。

:字符串和文本Express VI,用来显示字符串和文本,如String(字符串)、Table(表格)、File Path(文件路径)等。

:图形显示Express VI,用来显示波形数据和将数据以图形方式显示,如Waveform Graph(波形图)等。

:控件模板中所有控件。

:数值量子模板,用来设计具有数值数据类型属性控件和显示量,如Slides(滑杆)、Knobs(旋钮)、Dials(拨码盘)、Framed color box(调色板)等。

:布尔量子模板,用来设计具有布尔数据类型属性的控制量和显示量,如Buttons(按钮)、Switches(开关)、LEDs(发光二极管)等。

:字符串和路径子模板,用来设计控制和显示字符串及路径的对象,如String(字符串)、Text(文本)、Menu(菜单)、File Path(路径)等。

:数组和簇子模板,用来作为数组和簇类型数据的控制和显示,如Array(数组)、Cluster(簇)及Variant(可变数据类型数据)等。

:列表框和表格子模板,用于表格形式数据的控制和显示,如Listbox(列表框)、Multicolumn Listbox(多列列表框)、Table(表格)等。

:图形显示子模板,用来显示波形数据和将数据以图形方式显示,如波形图、曲线图、密度图以及各种三维曲面及曲线等显示对象。

:枚举子模板,用于单选框和枚举类型数据的控制和显示,如文本、菜单、图形单选框和枚举变量的显示量和控制量等。

:容器子模板,用来盛放其他对象的容器Tab容器,ActiveX容器等。

:输入/输出子模板,与硬件有关的VISA、IVI数据源和DAQ数据通道名等。

:对话框子模板,用于对话框的设计 数值、文本、单选框、标签、路径等与对话框有关的控件。

:经典控制子模板,LabVIEW6.0以前版本中的2D显示控件模板控件的功能和其他控件相似,只是显示效果是2D的,是LabVIEW6.0前版本用的一些经典控件。

:参考数子模板,作为对文件、目录设备等的唯一标志。

:装饰子模板,用于前面板界面的设计和装饰,如用于装饰界面的框和线条等。

:用户定制的子模板,用于调用用户定制的控件。

经过对控件模板中所有子模板的详细介绍,读者对其中控件的功能应该有了一个比较全面的认识。应用控件模板中的这些子模板,用户可以创建出界面美观且功能强大的VI前面板。

2.3.3 框图程序设计工具——函数模板

与控件模板相对应的函数模板主要用于对VI后面板的设计,在函数模板中,按照功能分门别类地存放着一些函数、VIs和Express VIs。

LabVIEW 8.0的函数模板如图2.29所示。

图2.29 LabVIEW 8.0的函数模板

如同控件模板一样,函数模板中的所有函数、VIs、Express VIs被分门别类地存放在一系列子模板中,这些子模板的图标、功能以及代表对象如下:

:输入信号Express VI,主要用于数据采集及信号仿真,如Instrument I/O Assistant(仪器输入/输出助手)、Simulate Signal(信号仿真)、Simulate Arbitrary Signal(仿真用户定义的信号)、Read LabVIEW Measurement File(读取LabVIEW测量数据文件)、Prompt User For Input(提示用户输入信息)等。

:信号分析Express VI,主要用于对信号的测试、分析和处理,如Spectral Measurement(信号频谱分析)、Distortion Measurement(失真分析)、Filter(滤波器)、Statistics(统计学分析)等。

:输出信号Express VI,主要用于输出信号,如Instrument I/O Assistant(仪器输入/输出助手)、Write LabVIEW Measurement File(写LabVIEW测量数据文件)、Instrument Drivers(仪器驱动)等。

:用户自定义库Express VI,显示user.lib目录下的控件。

:程序执行控制Express VI,用于对程序流程的控制,如While Loop(While循环)、Flat Sequence Structure(平面顺序结构)、Case Structure(Case结构)等。

:算术和比较Express VI,用于算术、逻辑等运算和比较,如Formula(公式)、Express Numeric(快速数值量)、Express Boolean(快速布尔量)、Express Comparison(快速比较)等。

:信号操作Express VI,对信号进行操作和对数据作类型转换,如Merge Signal(合并信号)、Split Signal(拆分信号)、Select Signal(选择信号)、Convert from Dynamic Data Type(从动态数据转换)、Convert to Dynamic Data Type(转换成动态数据)等。

:所有函数,包括函数模板中所有函数。

:结构子模板,用来设计程序的顺序、分支和循环等结构,如Stacked Sequence Structure(堆栈式顺序结构)、Case Structure(Case结构)、While Loop(While循环)、For Loop(For循环)等。

:布尔运算子模板,用来进行布尔型数据的运算,如And(与)、Or(或)、Not(非)、Compound Arithmetic(混合运算)等。

:字符串子模板,用于对字符串运算和处理,如String Length(字符串长度)、String Subset(字符串子串)、Search and Replace String(搜索和替换字符串)等。

:矩阵子模板,用于对创建矩阵和对矩阵进行操作,如Array Size(矩阵大小)、Insert Into Array(将元素插入矩阵)、Delete From Array(从矩阵中删除元素)、Initialize Array(初始化矩阵)等。

:“簇”子模板,用于创建“簇”和对“簇”进行操作,如Bundle(捆绑)、Build Cluster Array(创建簇矩阵)、Cluster To Array(簇转换为矩阵)、Cluster Constant(簇常量)等。

:比较子模板,用来比较布尔型、数值型、字符串型以及“簇”和矩阵型数据,如Equal(等于)、Not Equal(不等于)、Greater(大于)、Less(小于)等。

:时间和对话框子模板,用来控制程序执行的速度,从系统时间得到数据以及创建对话框,如Wait(等待)、Format Date /Time String(格式化日期/时间字符)、Get Date/Time String(获得日期/时间字符)、One Button Dialog(单按钮对话框)、Generate Front Panel Activity(激活前面板)等。

:文件输入/输出子模板,用来创建、打开、读取及写入等对文件的操作,如Write Characters To File(写入字符串到文件)、Read Characters From File(从文件读取字符串)、Read Lines From File(从文件中读取行)、Binary File VIs(二进制文件VIs)、Open/Create/Replace File(打开/创建/替换文件)等。

:NI数据采集子模板,用来驱动数据采集卡进行数据采集,如视野(Vision)和动作(Motion)。

:波形子模板,用来进行和波形有关的操作,如Get Waveform Component(获取波形成分)、Build Waveform(创建波形)、Set Waveform Attribute(设置波形属性)、Get Waveform Attribute(获取波形属性)等。

:信号分析子模板,用来对各种信号进行分析的操作,如Waveform Measurements(波形测量)、Waveform Conditioning(波形调制)、Waveform Monitoring(波形监测)、Waveform Generate(波形产生)、Signal Processing(信号处理)等。

:仪器接口子模板,用于在仪器和VIs间进行数据交换,如Instrument Drivers(仪器驱动)、GPIB(通用接口总线)、Serial(串口)等。

:程序控制子模板,控制LabVIEW程序的运行,如Open Application Reference(打开程序参考)、Open VI Reference(打开VI参考)、Close Reference(关闭参考)、Property Node(属性节点)等。

:图形和声音子模板,用于创建图形,从图形文件获取数据以及对声音信息的处理,如3D Graph Property(3D图形属性)、Picture Plots(画图)、Picture Functions(图像函数)、Graphics Formats(图像格式)、Sound(声音)等。

:通信子模板,用于在应用程序之间交换数据,如.NET(.NET函数)、ActiveX(ActiveX相关函数)等。

:报表生成子模板,用于创建和控制应用程序报表,如Easy Text Report(简单文本报表)、New Report(新建报表)、Print Report(打印报表)等。

:高级子模板,用于动态链接库(DLL)以及第三方编程语言的调用,如Call Library Function Node(调用库函数节点)、Code Interface Node(代码接口节点)、Input Device Control(输入设备控制)等。

:程序选择子模板,用来调用模板以外定义的函数。

:修饰子模板,用线条、标签等进行后面板的修饰操作以增加程序可读性,如自由标签(Free Label)、细线(Thin Line)等。

函数模板是我们编写VI程序的时候使用最为频繁的工具,因而熟悉它的各个子模板的功能对编写程序是十分有利的。在使用LabVIEW编写程序的过程中,读者可以逐步了解它的每个子模板以至于每个函数、VIs以及Express VIs的功能,熟练使用这些工具是编写好的LabVIEW应用程序的保证。

2.4 LabVIEW 8.0的新功能与新特性

LabVIEW 8.0是NI公司推出的LabVIEW软件目前的最新版本,也是目前功能最为强大的LabVIEW系列软件。在LabVIEW 7 Express和LabVIEW 7.1的成功基础上,LabVIEW 8.0使用NI-DAQmx将Express技术进一步扩展到了Real-Time(实时)、TEDS(Transducer Electronic Data Sheet)、模块化仪器、Express VI(快速VI)、用于数字信号分析仪(DSA)的DAQ Assistant(数据采集助手),以及PDA等方面。同时,LabVIEW 8.0还是LabVIEW RT模块的最重要的一次升级,它发布了Execution Trace Toolkit(执行跟踪工具包)和精确的定时循环,以及台式PC上的LabVIEW RT模块。此外,LabVIEW FPGA与PDA模块为用户提供了各种各样的新特性及新功能,帮助用户以前所未有的速度完成应用系统的开发。

相比原来的版本,新版本的LabVIEW有以下一些主要的新功能和新特性。

● 速度更快的新数学函数

基于工业标准LAPACK/BLAS的数学函数,具有比以往快2倍的数学算法,以及更高的稳定性;将Xmath脚本语言节点用于执行Xmath脚本代码;增加了50个新的多项式、有理多项式及线性代数函数。

● 在LabVIEW中增加了导航窗口

使用导航窗口(navigation window)可以操作较大的前面板或程序框图面板。

● 支持蓝牙(Bluetooth)技术

可以与使用蓝牙(Bluetooth)无线通信协议的设备通信。

● 定时循环(Timed Loop)

在设定“Timed Loop”的时间段里反复执行一个循环。在开发VI程序时需要以下一些功能时可使用“Timed Loop”:多采样率(multirate)的定时功能、精确的定时、循环执行的反馈、动态变化的定时特征,或者好几层执行优先级。

● 显示缓存分配情况

使用这一特性可简化用户的VI程序,减少内存占用。程序框图中滞留数据的地方会出现黑色方块显示此处LabVIEW产生了缓存。

● 新的Express VIs(快速VIs)

用于连接两个不同的信号,并自动转换数据类型,用户只需对Express VIs进行一定程度的简单设计就可以使用其强大的功能。

● 存储VI(Storage VI)

读取或存储波形或波形属性到NI Test Data Exchange Format(.tdm)格式的文档。使用. tdm文档在NI开发软件(如LabVIEW和DIAdem)之间交换数据。

● 将控件另存为图形格式的文件

用鼠标右键单击一个图表、表格或数值数据显示量或控制量,并选择在快捷菜单中选择Data Operations/Export Simplified Image,即可将该控制量或显示量以图形格式存到剪贴板上,或另存为.emf或.bmp文件。

● 支持超线程(hyperthreading)

Hyperthreading是Intel Pentium 4或更高版本提供的一个高级功能。LabVIEW可识别VI中能用到Hyperthreading的地方并自动对该功能加以利用以提高处理速度。

● 改进例程查找器(Example Finder)

在NI Example Finder的“Browse”(浏览)标签处选择“Favorites folder”(最喜欢的文件)与“Most Recent folder”(最近浏览过的文件)来管理您最常用的一些VI例程,以方便查找到。

● 新的LabVIEW 8.0 RT(实时)模块

使用DAQmx开发功能更强大的数据采集应用程序,单点I/O应用的运行性能提高了25%;跨多个设备之间的定时与触发(timing and triggering)可利用更好的同步功能;可在标准台式机或工业PC上设计程序原型并运行实时应用程序;可用定时循环(timed loop)创建多采样率(multi-rate)的、对时间要求严格(time-critical)的数据采集应用程序;使用Execution Trace Toolkit(执行跟踪工具包)显示应用程序执行中的特征表现;使用memory allocation visualization(内存配置显示),Embedded Systems Manager(嵌入式系统管理器),以及VI Analyzer(VI分析器)更有效地调试您的应用程序;直接的编辑方式(不需要ctrl-M)、微秒(microsecond)及软件定时,以及remote test panel(远程测试面板),这些显著提高的性能让用户乐在其中;使用可卸载的IEEE 1394火线硬盘支持;带有IrDA无线通信。

● 新的LabVIEW 8.0 FPGA模块

单周期while循环(Single-cycle while loop)提高了处理速度,并在40 MHz全局时钟的一个周期(25 ns)内可以同时执行多个函数模块,以帮助工程师们与DIO、时钟/触发线及RAM快速连接;HDL接口节点(HDL interface nodes)将现存的VHDL代码与IP核心集成到LabVIEW应用程序中;新的控制与分析函数库提供PID非线性控制,还有新的饱和度算法函数用于整数算法。

● 新的LabVIEW 8.0 PDA模块

对NI-DAQmx Base的支持为用户提供了更高的运行性能,包括200 kS/s的多通道采样率;对DMM的支持帮助您使用PDA建立便携式仪器;对Bluetooth技术的支持提高了无线通信灵活性-802.11与RS-232已经获得支持;Tab控件(Tab control),图形缩放(graph zoom)以及其他的一些控件自定义功能使用户可以更好地开发PDA用的专业应用程序。

● LabVIEW 8.0 DSC(数据记录与监控)模块

LabVIEW 8.0 DSC模块在上一个版本的基础上提高了性能并纠正了一些bug错误,这一模块也可与最新版本的LabVIEW图形化开发软件共用。已经拥有LabVIEW 7 DSC模块的用户可免费升级到LabVIEW 8.0 DSC。

表2.1中列出了各个版本的LabVIEW之间新特性与新功能的对比。

表2.1 各个版本LabVIEW之间新特性与新功能的对比

续表

从上面的表格可以看出LabVIEW 8.0是各个版本的LabVIEW中功能最为丰富,也最为强大的,这为应用LabVIEW 8.0编写出功能强大的应用程序提供了保障。

2.5 用LabVIEW编写第一个应用程序

在介绍了LabVIEW 8.0的相关背景及其开发环境后,相信读者已经按捺不住兴奋的心情,想要亲自编写一个LabVIEW的应用程序了。这一节将会引导读者应用LabVIEW编写第一个应用程序。

首先,在LabVIEW 8.0的主菜单上选择File/New VI,新建一个空白VI,这时,将同时打开LabVIEW的前面板和后面板,如图2.30所示。由于前面板是当前面板,故在前面板上面浮动显示控件模板。

图2.30 新建一个VI

技巧:在如图2.11所示的LabVIEW 8-0的启动界面,用快捷键【Ctrl+N可以快速新建一个VI,并弹出VI的前面板和后面板,如图2.30所示。

在前面板上单击鼠标右键,从弹出的快捷菜单中依次选取Controls/Graph Indicators,并从中选择函数Waveform Graph,单击并选择这个函数的图标,将其拖放到前面板上,如图2.31所示。这时在后面板上会相应地生成图标,如图2.32所示。

图2.31 编辑前面板

图2.32 编辑后的VI前面板

单击菜单Window/Show Block Diagram,或者按快捷键【Ctrl+E】切换到后面板,在后面板上单击鼠标右键,从弹出的快捷菜单中依次选择Programming/Signal Processing,如图2.33所示。实际上用户依次打开了函数模板中的程序设计子模板和信号处理子模板。

图2.33 打开信号处理子模板

从信号处理子模板中选取Waveform Generation(波形发生)子模板中的VI——Basic Function Generator,如图2.34所示。单击选取这个VI,并将其拖放在后面板上。

图2.34 在波形发生子模板中选取Basic Function Generator.vi

这时,将在后面板上显示图标,将鼠标移近这个图标时可以发现图标显示出一些数据端口;将鼠标移近某一个数据端口,端口上将显示出端口名称,例如将鼠标移近Frequency(频率)数据端口,图标将变为

提示:数据端口是LabVIEW中常量、变量、函数、VIs以及Express VIs等对象与其他对象相连接,以交换数据的接口。当我们在多个数据端口之间连线时会将数据从“源数据端口”向“目的数据端口”进行传递,实际上相当于其他语言中的“赋值”操作

分别将鼠标移近signal type(信号类型)、frequency(频率)、amplitude(幅值)以及phase(相位)数据端口,并在相应数据端口上单击鼠标右键,选择Create/Control,建立控制量。在Basic Function Generator.vi的signal out数据端口上单击鼠标左键,然后将鼠标移近后面板上Waveform Graph图标的数据输入端口,单击鼠标左键,这时在Basic Function Generator.vi的signal out数据端口和Waveform Graph的数据输入端口之间将连接一条短线,表明将波形发生器产生的信号数据输入给了Waveform Graph进行显示。

最后在后面板上单击鼠标右键,从弹出的快捷菜单中选取Functions/Execution Control,并选取While Loop函数,如图2.35所示,在后面板上画一个框图,将后面板上所有的对象置于框图之中。这项操作为程序加上了一个While循环,让波形发生器产生的波形数据持续地送给Waveform Graph加以显示。

图2.35 选取While Loop函数

这时程序的前、后面板分别如图2.36和图2.37所示。

图2.36 编辑好的VI前面板

图2.37 编辑好的VI后面板

单击工具栏上的运行按钮,运行这个VI,将生成一个频率、幅值、相位可调的波形发生器,波形包括正弦波、方波、三角波和锯齿波,程序的运行效果如图2.38所示。

图2.38 程序的运行效果

单击菜单View/ VI Hierarchy可以查看这个程序的层次结构图,如图2.39所示。

图2.39 程序的层次结构图

可以使用导航窗口来查看整个VI,单击菜单View/ Navigation Window来显示该VI的导航窗口,前面板和后面板的导航窗口分别如图2.40和图2.41所示,单击导航窗口中的对象可以将光标快速定位在VI上的相应位置。

图2.40 程序的导航窗口 (前面板)

图2.41 程序的导航窗口 (后面板)

2.6 使用LabVIEW 8.0的帮助系统

为了让用户更快地掌握LabVIEW,更好地理解LabVIEW的编程机制并用LabVIEW编写出优秀的应用程序,LabVIEW的各个版本都提供了丰富的帮助和完善的帮助系统,LabVIEW 8.0也不例外。

LabVIEW 8.0提供了上下文帮助、帮助文件以及丰富的实例构成其本地帮助系统,作为其帮助系统的重要组成部分,NI的网络帮助系统也发挥着重要的作用,包括一些在线电子文档和电子书。

这一节将主要介绍如何获取LabVIEW 8.0的帮助,这对于初学者快速掌握LabVIEW是非常重要的,对于一些高级用户也是很有好处的。

2.6.1 使用上下文实时帮助

在LabVIEW 8.0中,单击菜单Help/Show Context Help,将打开上下文“实时帮助”窗口。之所以称之为“实时帮助”是因为,每当用户将鼠标指向VI程序的前面板或后面板中的任何一个控件、函数、VIs或者Express VIs时,上下文帮助窗口中都会实时显示对于该对象的帮助信息,这对于快速了解一个函数、VIs或者Express VIs的使用方法是非常有帮助的。

试一试 使用上下文帮助查看波形发生VI——Basic Function Generator.vi的使用方法:打开上一节中的例程2.1,使用并切换到后面板,单击菜单Help/Show Context Help显示上下文帮助窗口,并将鼠标指向波形发生VI——Basic Function Generator.vi,这时可以观察到上下文帮助系统中显示了该VI的使用方法,如图2.42所示。这是一个简要的帮助系统,简略地显示了该VI的每个数据端口及其名称,显示了该VI的功能。当单击“Click here for more help”时,可以打开如图2.43所示的该VI的帮助文件,查看关于该VI的详细帮助。

图2.42 查看波形发生器VI的上下文帮助信息

技巧:LabVIEW 8.0VI程序中,用户可以通过快捷键【Ctrl+H】来打开其“上下文帮助”系统,当用户再次按下快捷键【Ctrl+H】时可以关闭“上下文帮助”。

图2.43 查看波形发生器VI的详细帮助信息

技巧:在如图2.43所示的LabVIEW 8-0中波形发生器VI的帮助信息窗口中,单击Place on the block diagram可以自动从函数模板中选取波形发生器VI,并添加到程序的后面板。单击Fine on the Functions palette将会打开函数模板中的Waveform Generation字模板,并高亮显示波形发生器VI

提示:每当用户将鼠标移动到下一个对象上时,上下文帮助窗口将自动刷新为当前对象的帮助信息。如果用户想要锁定某个对象的帮助信息而不希望它被刷新时,可以单击菜单Help/Lock Context Help,这时上下文帮助窗口被锁定。如果想要恢复上下文帮助窗口的自动刷新状态,可以再次单击菜单Help/Lock Context Help

上下文帮助窗口如同浮动于LabVIEW面板上的一个实时显示对象帮助信息的小助手、小精灵,每当我们对该对象有所疑问时都可以向它求助,并获取帮助信息。合理使用上下文帮助系统将会给用户编写程序提供非常大的帮助。

2.6.2 使用目录和索引查找在线帮助

上下文帮助固然方便,并且可以实时显示帮助信息,但是它的帮助不够详细,有些时候不能满足编程的需要,这时就需要使用帮助文件的目录和索引来查找在线帮助。

单击菜单Help/Search the LabVIEW Help可以打开LabVIEW的帮助文件,如图2.44所示,在这里用户可以使用目录和索引来查找在线帮助。

图2.44 查看LabVIEW 8.0的帮助文件

在这里用户可以根据索引查看某个感兴趣的对象的帮助信息,也可以打开搜索页,直接用关键词搜索帮助信息。

在这里用户可以找到最为详尽的关于LabVIEW中每个对象的使用说明及其相关对象说明的链接,可以说LabVIEW的帮助文件是学习LabVIEW的最为有力的工具之一。

技巧:使用快捷键F1或者【Ctrl+?】可以快速打开LabVIEW 8.0的帮助文件,查看详细的帮助信息

2.6.3 查找LabVIEW例程

学习和借鉴LabVIEW中的例程不失为一种快速、深入学习LabVIEW的好方法。通过菜单Help/Find Examples可以查找LabVIEW中的例程,例程按照任务和目录结构分门别类地显示出来,方便用户按照各自的需求查找和借鉴,如图2.45所示。另外,也可以利用搜索功能用关键字来查找例程,甚至在LabVIEW 8.0中可以向NI Developer Zone提交自己编写的程序作为例程。如果想要向NI Developer Zone提交自己编写的程序,可以在NI Example Finder中单击Submit选项页,如图2.46所示,单击Submit an Example按钮便可以连接到NI的官方网站提交例程。

图2.45 利用LabVIEW 8.0的例程查找器查找例程

图2.46 向LabVIEW Zone提交例程

在NI Developer Zone,可以搜索到一些用LabVIEW编写的例程,这也是和众多LabVIEW开发者们一起分享、探讨、研究LabVIEW编程的途径之一。NI Developer Zone的网页如图2.47所示。

图2.47 NI Developer Zone

2.6.4 使用网络资源

LabVIEW 8.0不仅仅为用户提供了丰富的本地帮助资源,在网络上可以找到更加丰富的学习LabVIEW的资源,这些资源成为学习LabVIEW的有力助手和工具。

NI的官方网站无疑成为最权威的学习LabVIEW的网络资源,它为LabVIEW提供了非常全面的帮助支持,如图2.48所示。

图2.48 LabVIEW的官方网站

在NI的LabVIEW官方网站——http://www.ni.com/labview/上有关于LabVIEW 8.0非常详细的介绍,从这里也可以找到关于用LabVIEW编写程序的非常详尽的帮助资料,如图2.46所示。

另外,在NI的网站上还有一个专门讨论LabVIEW相关问题的LabVIEW Zone(LabVIEW社区),如图2.49所示。在这里用户可以找到学习LabVIEW的各种资源,并且可以和来自世界各地的LabVIEW程序员讨论有关LabVIEW的具体问题。

图2.49 LabVIEW Zone

2.7 本章小结

本章主要介绍了安装和启动LabVIEW 8.0的方法,以LabVIEW 8.0的菜单和操作模板为主要内容介绍了LabVIEW 8.0的编程环境;对比从前版本的LabVIEW,介绍了LabVIEW 8.0的新特性和新功能。在熟悉了LabVIEW 8.0的编程环境和特性后,指导读者编写了第一个LabVIEW应用程序。在本章的最后,详细地说明了如何使用LabVIEW的本地和网络帮助系统寻找帮助信息,以便更好地学习和编写LabVIEW程序。