2 LabVIEW大学实用教程(第三版) 与标准的试验室仪器相比,LabVIEW提供了更大的灵活性,因为它是基于软件的。我们虽然 不是仪器的生产者,却可以定义仪器的功能。使用计算机、插人式硬件和LabVIEW共同组成一个 可完全配置的虚拟仪器以完成用户的任务。使用LabVIEW,我们可以根据需要创建所需的任何类 型的虚拟仪器,而其成本仅仅是传统仪器的一小部分。当需求变化后,我们可以在瞬间修改虚拟 仪器 LabVIEW试图使我们的生活更加轻松。它拥有庞大的函数和子程序库,这些库可以帮助我们 完成编程中的大部分任务,使我们免于被传统编程语言中指针、内存分配以及其他莫名其妙的编程 向题所困扰。LabVIEW也包含特定的应用程序库代码,如:数据采集(DAQ)、通用功能接口总线 (GPIB)、串行口仪器控制、数据分析、数据显示、数据存储、Intemet通信。分析库包含了大量实 用的函数,包括信号产生、信号处理、滤波器、窗口、统计、回归、线性代数、矩阵运算。 图l.IThe Space Industries Sheet Float Zone Furnace系统用于NASA KC-135抛物线飞行航空器 失重环境下的高温超导体材料处理研究,LabVIEW控制该基于Mac OS X的工业化系统 LabVIEW图形化的本质使得它理所当然地可以作为一个数据显示软件包,可以任何我们想要 的方式显示输出结果。图表、图形和用户自定义图形仅是可选输出方式的一部分。本书将展示如何 使用所有这些方式武来显示数据。 LabVIEW程序是可以跨平台移植的,所以在Macintosh.上编写的大多数程序无须任何更改就可 以在基于Windows的机器上加载并运行。LabVIEW应用程序改进了许多工业上的操作,从任何 类的工程和过程控制到生物学、农业、心理学、化学、物理学、教学活动等。 1.1.1数据流与图形编程语言 LabVIEW编程开发环境不同于标谁C或Java开发系统的一个重要区别就是:标准语言编程系 统采用基于文本的代码行编程:而LabVIEW使用图形编程语言,通常称之为G语言,在称为框图 的图形框架内编程。 图形编程消除了文本编程中涉及的许多语法细节,例如在哪儿放置分号(:)和花括号()(如 果你不知道在文本语言中如何使用这些符号也不必担心,因为在LabVIEW中你不需要知道)。 图形编程允许我们关注应用程序中的数据流,因为其简单的语法并没有使程序变得晦涩。 图12和图1.3显示了一个简单的LabVIEW用户界面及其图形代码
第1幸走进LabVIEW的世界 3 LabVIEW使用科学家和工程师们熟悉的术语、图标和概念,依靠图形符号而不是文本语 吉来定义程序的功能、LabVIEW的云行其干数据流的原理,一个函数只有收到必要的数据后 才可以运行。由于这些特点,即使读者仅有一点甚至在没有编程经验的前提下也可以学会 LabVIEW。然而,拥有编程基础还是很有用的。 图1.2用户界面 图13图形代码 1.1.2 LabVIEW的工作原理 一个LabVIEW程序由一个或多个虚拟仪器(VT)组成。之所以称之为虚拟仪器是因为它们的 外观和操作通常是模拟了实际的物理仪器。然而,在这些面板之后,它们有着类似于流行的编程语 言如C或BASIC中的主程序、函数、子程序。从现在起,我们将把LabVIEW程序称为“VT”。另 外,注意无论其外观和功能是否和实际的仪器相关联,我们,总是将LabVIEW的程序称为VI。 每一个VⅥ都由三个主要部分组成:前面板、框图和图标。 ●前面板是VI的交互式用户界面,之所以这样命名是因为它模拟了物理仪器的前面板(见 图1.4)。前面板可包含旋钮、按钮、图形及其他控件(用于用户输入)和指示器(用于程序 输出)。用户可以使用鼠标和健盘进行输入,然后在屏幕上观察程序产生的结果。 图1.4Ⅵ前面板
LabVIEW大学实用教程(第三版) ●框图是VT的源代码,由LabVIEW的图形化编程语言即G语言构成(见图1,5)。框图是实际 可执行的程序。框图的构成有低级V1、内置函数、常量和程序执行控制结构。用连线将合 活的对象车接起来定义它们之间的数据流前面板上的对象对应于框图上的终端,这样数闻 可从用户传送到程序及再回传给用户。 图1.5V1的框图 ●为了使一个V能作为子程序用于另外一个V的框图中,该V必须有连接器图标(见图 1.6)。被另外一个1所使用的1的称为子VL,类似于子程序。图标是1的图形表示,会 在另外的VⅥ框图中作为一个对象使用。当VI作为子VⅥ使用时,其连接器用于从其他框图 中连线数据到当前V。连接器定义了VⅥ的输入和输出,类似于子程序的参数。 图1.61的图标(左)和连接器(右) 虚拟仪器是分层和模块化的程序,可以将其作为上层程序或子程序。使用这种体系结构, LabVIEW进一步提升了模块化编程的概念。首先,把一个应用程序分成一系列简单的子任务。然 后,逐个建立1完成每一个子任务。最后在一个上层框图中将这些Ⅵ连接起来完成更大的任务 模块化编程就是叠加过程,因为每一个子VⅥ都可以单独执行,以便于调试。此外,一些低层 子VⅥ所执行的任务是很多应用程序所共用的,在每个应用程序中都可以独立地使用。 为了直观理解上述概念,表1,1中列出了一些LabVIEW术语及其等效的常规语言术语。 表1,1 LabVIEW术语及其等效的常规语言术语 LabVIEW 常规语宫 程序 数 函数或方法 子程序、对象 用户接 程序代 C.C++,Java,Pascal,BASIC
第1章走进LabVIEW的世界 注意:如果读者之前曹用过面向对象的编程语言如C+或Jva,就会发现由于LabVIEW和G的筒单性 它们并不是真正的面向对象的语言。然而,面向对象编租有很多优点,所以G语言中提供了很多 的工具色可以用来编写面向对象的代马,如大家熟知的GOOP(G Object.Oriented Progra 更多关于GOOP的信息可参见附录D,“LabVIEW面向对象编程 1.2演示示例 阅读了上面的内容后,为了了解一下工abVIEW是怎样工作的,打开并运行一些现有的Lab VIEW程序。 1.2.1 NI Example Finde LabVIEW提供了很多可执行示例,这有助于学习一般的编程技术并了解完成通用硬件输入输 出和数据处理任务的应用程序。NI Example Finder是一个非常有用的示例查找辅助工具。启动 LabVIEW然后单击Help莱单,选择Find Examples打开NI Example Finder,如图l.7所示。 LabVIEW Zone 气 图l.7 NI Example Finder 启动LabVIEW时,可设置Browse according to:选项到Task并在Industry Applications子 目录中开始搜素。该子目录包含许多示例和仿真应用程序,是开始学习LabVIEW时非常好的敲门 砖。如果想要查找的某一主题示例没有出现在子目录树列表中,可以转到Example Finder的Search 栏进行关键字查找 注意:上述步骤是LabVIEW快速我入示例的过程,也可以直接访问LabVIEW的安装日录中的示例司录 以获得全邮的LabVIEW示例。例如,在Windows中,LabVIEW一救安装在c:\Program esNationa1 Instrumenta\LabVIEN,国此示例日录在c:\Program Fi1eg\Nationa Instruments\LabVIEWexamples Tempe Files\National instruments\ System Demo vi b Tenperature 然而,使用前面提到的NI Example Finder通常很客易找到示例
6 LabVIEW大学实用教程(第三版) 1.2.2光盘上的示例 不管使用的是LabVIEW专业版、完整版还是评估版,都要先启动。如前言所述,确保能访问 CD或硬盘上的EVERYONE目录,这里包含本书的练习。启动LabVIEW之后,将会出现一个对话 框。选择Open VI并选择想要打开的一个示例。 注意:本书始终使用烹标左健(如果有多于1个按健),除非特别指定使用氯标右键(一般会说“右键单击 某物)。在Mac OS X计算机中只有一个赢标按,当需要使用氯标右健功能时使用<C心+泉标 练习1.1:温度系统示例 按照以下步骤打开并运行名为Temperature System Demo.n的VI, L,依照本章NI Example Finder部分所述方法启动NI Example Finder,。 2.选定Browse栏的Browse according to:选项到Task,从目录树中选择“Industry Applica- tions”",然后选择“Analysis'”。双击“Temperature System Demo.vi”打开。也可以使用File>> Open菜单选项并浏览如下位置查找该VL,LabVIEW安装日录: examples/apps/tempsys.11b/Temperature System Demo.vi. 3.将会看到如图1.8所示的V1。 图l.8 Temperature System Demo..vi前面板 4单击运行按钮运行V,运行按钮位于V的工具条上(工具条是菜单条下面的图标行。运 运行按 行按钮会改变外观以显示VI正在运行。工具条中的其他按钮也会改变外观(或消失),因 钮禁 为某些按钮只有VⅥ运行时才是可用的(如中断按钮),有些按钮则只有VI不运行时才是 可用的(如用于编辑的按钮)。工具条中的中断按钮变为激活状态时,可以单击它中断程 序的执行。 运行 钮藏活 Temperature System Demo.vi模拟一个温度监控应用程序。该VT测量温度并将其显示在 温度计和图表中。虽然此例中的读数是模拟的,但是可以很容易地修改程序使之测量真实 值。Update Period滑动条控制VI获取新的温度读数的速度。LabVIEW在图表中设置了 中 按钮 温度上下限,可以使用Temperature Range旋钮改变上下限。如果当前的温度读数超出了 设置的范围,温度计旁边的LED灯会点亮