圈上泽文大学 机械与动力工程学院 拟仪器独立实验实验指导书 实验一虚拟仪器及开发平台LabVIEW简介 (一) 实验目的 通过本实验让同学们了解虚拟仪器的主要开发平台Labview的基本操作及其特点,并 能使用Labview进行最简单的虚拟仪器开发。重点理解图形化编程语言特点及数据流驱动的 含义。 (二) 虚拟仪器与开发平台labVIEW简介 1、 虚拟仪器简介 虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测 量和自动化的应用。灵活高效的软件是虚拟仪器的核心,模块化的硬件是虚拟仪器的基础。 虚拟仪器概念是由美国的国家仪器公司在上世纪80年代提出的,它提出了软件就是仪器的 口号。虚拟仪器同时拥有高效的软件、模块化/O硬件和用于集成的软硬件平台这三大组成 部分,充分发挥了虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优 势。 虚拟仪器技术的两大组成部分: 1) 高效的软件 软件是虚拟仪器技术中最重要的部份。使用正确的软件工具并通过调用特定的程 序模块,工程师和科学家们可以高效地创建自己的应用以及友好的人机交互界面。 由NI公司提供的行业标准的图形化编程软件一NI LabVIEW,不仅能轻松方便 地完成与各种软硬件的连接,更能提供强大的数据处理能力,并将分析结果有效 地显示给用户。此外,还有许多其它交互式的测量工具和系统管理软件工具,例 如连接设计与测试的交互式软件SignalExpress、基于ANSI-C语言的 LabWindows/CVI、支持微软Visual Studio的Measurement Studio等等。拥有了功 能强大的软件,我们就可以灵活的设计需要的测试系统或数据采集系统。 2)模块化的/O硬件 面对如今日益复杂的测试测量应用,模块化的硬件设计成为主流。借助于总线技 术的发展,比如PCL,PXL,PCMCIA,USB或者是IEEE1394总线,我们可以将各 类的模块化硬件产品进行互联。产品种类从数据采集及信号调理、模块化仪器、 机器视觉、运动控制、仪器控制、分布式I/O到CAN接口等工业通讯等。高性能 的硬件产品结合灵活的开发软件,可以为使我们创建完全自定义的测量系统,满 足各种灵活独特的应用需求。 虚拟仪器技术的四大优势: 1)性能高 虚拟仪器技术是在PC技术的基础上发展起来的,所以完全“继承”了以现成即 用的PC技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件 /O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,当 前正蓬勃发展的一些新兴技术(如多核、PCI Express等)也成为推动虚拟仪 -1
机械与动力工程学院 虚拟仪器独立实验实验指导书 - 1 - 实验一 虚拟仪器及开发平台 LabVIEW 简介 (一) 实验目的 通过本实验让同学们了解虚拟仪器的主要开发平台 Labview 的基本操作及其特点,并 能使用 Labview 进行最简单的虚拟仪器开发。重点理解图形化编程语言特点及数据流驱动的 含义。 (二) 虚拟仪器与开发平台 labVIEW 简介 1、 虚拟仪器简介 虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测 量和自动化的应用。灵活高效的软件是虚拟仪器的核心,模块化的硬件是虚拟仪器的基础。 虚拟仪器概念是由美国的国家仪器公司在上世纪 80 年代提出的,它提出了软件就是仪器的 口号。虚拟仪器同时拥有高效的软件、模块化 I/O 硬件和用于集成的软硬件平台这三大组成 部分,充分发挥了虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优 势。 虚拟仪器技术的两大组成部分: 1) 高效的软件 软件是虚拟仪器技术中最重要的部份。使用正确的软件工具并通过调用特定的程 序模块,工程师和科学家们可以高效地创建自己的应用以及友好的人机交互界面。 由 NI 公司提供的行业标准的图形化编程软件——NI LabVIEW,不仅能轻松方便 地完成与各种软硬件的连接,更能提供强大的数据处理能力,并将分析结果有效 地显示给用户。此外,还有许多其它交互式的测量工具和系统管理软件工具,例 如 连 接 设 计 与 测 试 的 交 互 式 软 件 SignalExpress 、 基 于 ANSI-C 语 言 的 LabWindows/CVI、支持微软 Visual Studio 的 Measurement Studio 等等。拥有了功 能强大的软件,我们就可以灵活的设计需要的测试系统或数据采集系统。 2) 模块化的 I/O 硬件 面对如今日益复杂的测试测量应用,模块化的硬件设计成为主流。借助于总线技 术的发展,比如 PCI, PXI, PCMCIA, USB 或者是 IEEE 1394 总线,我们可以将各 类的模块化硬件产品进行互联。产品种类从数据采集及信号调理、模块化仪器、 机器视觉、运动控制、仪器控制、分布式 I/O 到 CAN 接口等工业通讯等。高性能 的硬件产品结合灵活的开发软件,可以为使我们创建完全自定义的测量系统,满 足各种灵活独特的应用需求。 虚拟仪器技术的四大优势: 1) 性能高 虚拟仪器技术是在 PC 技术的基础上发展起来的,所以完全“继承”了以现成即 用的 PC 技术为主导的最新商业技术的优点,包括功能超卓的处理器和文件 I/O,使您在数据高速导入磁盘的同时就能实时地进行复杂的分析。此外,当 前正蓬勃发展的一些新兴技术(如多核、PCI Express 等)也成为推动虚拟仪
上濟文通大¥ 机械与动力工程学院 虚拟仪器独立实验实验指号书 器技术发展的新动力,使其展现出更强大的优势。 2)扩展性强 虚拟仪器的软硬件平台使得工程师和科学家们不再局限于固有的、封闭的技术 之中。得益于软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件 投资和极少、甚至无需软件上的升级即可改进的整个测试系统。 3)开发时间少 在驱动和应用两个层面上,虚拟仪器高效的软件构架能与计算机、仪器仪表和 通讯方面的最新技术结合在一起。 4)出色的集成 虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地 趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连 接和集成这些不同设备总是要耗费大量的时间。虚拟仪器软件平台为/O设备 提供了标准的接口,帮助用户轻松地将多个测量设备集成到一个系统之中,减 少了任务的复杂性。 2、 LabVIEW与虚拟仪器 目前广泛应用的虚拟仪器开发工具中按技术类型可分为两类:面向对象的编程技术和图 形编程技术。两者在虚拟仪器开发中都有应用,各有所长。 可视化编程语言环境Visual C+、Visual Basic等属于前者,均可以用来开发虚拟仪器 的配套软件,但与图形编程语言相比,编程难度较大,开发周期较长且不易进行更改、升级 和维护等。 而图形编程语言具有容易入门、编程简单、开发周期短等特点,开发出的应用程序界面 美观,功能强大,正日益成为主流。较为流行的有NI公司的LabVIEW和HP公司的VEE 等软件,此外还有Lookout、BridgeVIEW和LabWINDOWS/CVI等。其中最为常用的就是 LabVIEW,目前其版本己经发展到8.5版。 (I)LabVIEW简介 LabVIEW的发展历史 在80年代初,几乎所有的仪器控制程序都是用BASIC语言开发的,几乎所有使用可编 程仪器的实验室在搭建测试系统时,仪器控制器的主导语言都是BASIC。所有使用仪器的 工程师和技术人员都得做编程工作,与所有的文本编程语言一样,使用BASIC语言进行仪 器编程的过程是单调、繁琐而乏味的。 National Instruments公司的编程团队注意到了这些现象,它们试图开发一种用于开发仪 器控制程序的新工具,减轻工程师和科学家们的负担。National Instruments公司的创始人Jim Truchard和Jeff Kodosky博士,以及Jack MacCrisken顾问便着手开发这种软件工具。 LbVI正W最初的概念来源于一个大型测试系统,该系统用于测试海军的声纳定位仪传 感器,该系统的主要缺点是需要投入极长的编程时间(超过18个工作年),使用者想做任何 改动都得懂得面板上的复杂方法。Kodosky重新定义了该测试系统的概念,提出了虚拟仪器 的仪器软件分层体系的概念,即一个虚拟仪器可由若干较低层的虚拟仪器组成,低层虚拟仪 器代表了最基本的软件结构模块,负责计算和输入输出操作。虚拟仪器的概念是核心概念, 而且这个概念最终包含在这个产品的名称中,该产品最终命名为LabVIEW,即Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器工程工作平台)的首字母缩写组 合。工程师在设计系统时常常要绘制框图,而LabVIEW所体现的一大革新就是将框图转化 -2-
机械与动力工程学院 虚拟仪器独立实验实验指导书 - 2 - 器技术发展的新动力,使其展现出更强大的优势。 2) 扩展性强 虚拟仪器的软硬件平台使得工程师和科学家们不再局限于固有的、封闭的技术 之中。得益于软件的灵活性,只需更新计算机或测量硬件,就能以最少的硬件 投资和极少、甚至无需软件上的升级即可改进的整个测试系统。 3) 开发时间少 在驱动和应用两个层面上,虚拟仪器高效的软件构架能与计算机、仪器仪表和 通讯方面的最新技术结合在一起。 4) 出色的集成 虚拟仪器技术从本质上说是一个集成的软硬件概念。随着产品在功能上不断地 趋于复杂,工程师们通常需要集成多个测量设备来满足完整的测试需求,而连 接和集成这些不同设备总是要耗费大量的时间。虚拟仪器软件平台为 I/O 设备 提供了标准的接口,帮助用户轻松地将多个测量设备集成到一个系统之中,减 少了任务的复杂性。 2、 LabVIEW 与虚拟仪器 目前广泛应用的虚拟仪器开发工具中按技术类型可分为两类:面向对象的编程技术和图 形编程技术 。两者在虚拟仪器开发中都有应用,各有所长。 可视化编程语言环境 Visual C++、Visual Basic 等属于前者,均可以用来开发虚拟仪器 的配套软件,但与图形编程语言相比,编程难度较大,开发周期较长且不易进行更改、升级 和维护等。 而图形编程语言具有容易入门、编程简单、开发周期短等特点,开发出的应用程序界面 美观,功能强大,正日益成为主流。较为流行的有 NI 公司的 LabVIEW 和 HP 公司的 VEE 等软件,此外还有 Lookout、BridgeVIEW 和 LabWINDOWS/CVI 等。其中最为常用的就是 LabVIEW,目前其版本已经发展到 8.5 版。 (1) LabVIEW 简介 LabVIEW 的发展历史 在 80 年代初,几乎所有的仪器控制程序都是用 BASIC 语言开发的,几乎所有使用可编 程仪器的实验室在搭建测试系统时,仪器控制器的主导语言都是 BASIC。所有使用仪器的 工程师和技术人员都得做编程工作,与所有的文本编程语言一样,使用 BASIC 语言进行仪 器编程的过程是单调、繁琐而乏味的。 National Instruments 公司的编程团队注意到了这些现象,它们试图开发一种用于开发仪 器控制程序的新工具,减轻工程师和科学家们的负担。National Instruments 公司的创始人 Jim Truchard 和 Jeff Kodosky 博士,以及 Jack MacCrisken 顾问便着手开发这种软件工具。 LabVIEW 最初的概念来源于一个大型测试系统,该系统用于测试海军的声纳定位仪传 感器,该系统的主要缺点是需要投入极长的编程时间(超过 18 个工作年),使用者想做任何 改动都得懂得面板上的复杂方法。Kodosky 重新定义了该测试系统的概念,提出了虚拟仪器 的仪器软件分层体系的概念,即一个虚拟仪器可由若干较低层的虚拟仪器组成,低层虚拟仪 器代表了最基本的软件结构模块,负责计算和输入输出操作。虚拟仪器的概念是核心概念, 而且这个概念最终包含在这个产品的名称中,该产品最终命名为 LabVIEW,即 Laboratory Virtual Instrument Engineering Workbench(实验室虚拟仪器工程工作平台)的首字母缩写组 合。工程师在设计系统时常常要绘制框图,而 LabVIEW 所体现的一大革新就是将框图转化
)上海文大¥ 机械与动力工程学院 虚拟仪器独立实验实验指号书 为可被计算机识别和编译的程序,使用图形化的工作平台作为一种程序设计语言来开发仪器 软件。这样可以帮助工程师将问题形象化,轻松完成系统设计,减轻编程负担。 在突破了种种技术上的难关后,1986年10月,LabVIEW Version1.0 for Macintosh面世。 作为第一种可行的图形化语言,它引起了全世界的巨大反响。它所带来的全新的虚拟仪器概 念和图形化编程环境为业界带来了一场革命,而且赢得了人们的赞叹。1990年1月,LabVIEW 2.0发售。随后为使LabVIEW具有可移植性,能够在不同平台上运行,开始向Windows和 Sun上移植系统,1992年8月,LabVIEW2.5 for Windows发布,1993年1月,LabVIEW2.5.2 for Sun发布,1993年10月,LabVIEW3.0 for Windows NT发布。直至2004年5月发布的 最新版本7.1,LabVIEW经过不断完善,己经成为一套划时代的图形化编程系统,在数据采 集与控制、数据分析、数据表达方面,有着全新的概念和独特的优势,几乎己成为业界标准。 (2)LabVIEW编程语言的特点 LabVIEW是一个基于G(Graphic)语言的图形编程开发环境,在工业界和学术界中广 泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用 来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地 搭建功能强大的测试系统。LabVIEW编程语言最主要的两个特点是图形化编程和数据流驱 动: ·图形化编程 LabVIEW与Visual C+、Visual Basic、LabWindows/CVI等编程语言不同,后几 种都是基于文本的语言,而LabVIEW则是使用图形化程序设计语言G语言,用 框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程, 源代码不是文本而是框图。一个VI有三个主要部分组成:框图、前面板和图标/ 连接器。框图是程序代码的图形表示,一个典型的VⅥ框图如图4-1所示: Frequency Response.vi Block Diagram 回 Fle Edt Operate Tools Browse Window Help +0I8后守13 pt Appicaton Font a晋w罗 Current Frequency D自 Calculate Frequency Measure Response =F((Fh/FI)*(V Convert from RMS ode Plot Response Graph Low Frequency (N1): Stimulate UUT 20D 20.0 回图 Labview框图的图形化设计 图1-1 LabVIEW的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大 部分图标基本一致,这使得编程过程和思维过程非常的相似。多样化的图标和丰 富的色彩也给用户带来不一样的体验和乐趣。 前面板是VⅥ的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入 -3-
机械与动力工程学院 虚拟仪器独立实验实验指导书 - 3 - 为可被计算机识别和编译的程序,使用图形化的工作平台作为一种程序设计语言来开发仪器 软件。这样可以帮助工程师将问题形象化,轻松完成系统设计,减轻编程负担。 在突破了种种技术上的难关后,1986 年 10 月,LabVIEW Version 1.0 for Macintosh 面世。 作为第一种可行的图形化语言,它引起了全世界的巨大反响。它所带来的全新的虚拟仪器概 念和图形化编程环境为业界带来了一场革命,而且赢得了人们的赞叹。1990年1月,LabVIEW 2.0 发售。随后为使 LabVIEW 具有可移植性,能够在不同平台上运行,开始向 Windows 和 Sun 上移植系统,1992 年 8 月,LabVIEW 2.5 for Windows 发布,1993 年 1 月,LabVIEW 2.5.2 for Sun 发布,1993 年 10 月,LabVIEW 3.0 for Windows NT 发布。直至 2004 年 5 月发布的 最新版本 7.1,LabVIEW 经过不断完善,已经成为一套划时代的图形化编程系统,在数据采 集与控制、数据分析、数据表达方面,有着全新的概念和独特的优势,几乎已成为业界标准。 (2) LabVIEW 编程语言的特点 LabVIEW 是一个基于 G(Graphic)语言的图形编程开发环境,在工业界和学术界中广 泛用作开发数据采集系统、仪器控制软件和分析软件的标准语言,对于科学研究和工程应用 来说是很理想的语言。它含有种类丰富的函数库,科学家和工程师们利用它可以方便灵活地 搭建功能强大的测试系统。LabVIEW 编程语言最主要的两个特点是图形化编程和数据流驱 动: 图形化编程 LabVIEW 与 Visual C++、Visual Basic、LabWindows/CVI 等编程语言不同,后几 种都是基于文本的语言,而 LabVIEW 则是使用图形化程序设计语言 G 语言,用 框图代替了传统的程序代码,编程的过程即是使用图形符号表达程序行为的过程, 源代码不是文本而是框图。一个 VI 有三个主要部分组成:框图、前面板和图标/ 连接器。框图是程序代码的图形表示,一个典型的 VI 框图如图 4-1 所示: Labview 框图的图形化设计 图 1-1 LabVIEW 的框图中使用了丰富的设备和模块图标,与科学家、工程师们习惯的大 部分图标基本一致,这使得编程过程和思维过程非常的相似。多样化的图标和丰 富的色彩也给用户带来不一样的体验和乐趣。 前面板是 VI 的交互式用户界面,外观和功能都类似于传统仪器面板,用户的输入
® 上濟文通大¥ 机械与动力工程学院 虚拟仪器独立实验实验指导书 数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等 各种不同方式显示出来。一个典型的V1前面板如图4-2所示: +a01 p:Applcaon Fonta7 Number of Ste Low Frequenc digh Frequency Current Frequency 100 100.00 5100 100000 200 400600 800 00 Frequency Response 0.0 -10.0 20.0 30.0 40.0 50.0 10 10.0 100.0 1000 labview设计虚拟仪器前面板 图1-2 ● 数据流驱动 宏观上讲,LabVIEW的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的 执行方式了。传统计算机语言(如C语言)中的顺序执行结构在LabVIEW中被并 行机制所代替。本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每 一个函数节点只有在获得它的全部输入数据后才能够被执行。既然LabVIEW程序 是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能 够被执行:而目标的输出只有当它的功能完全时才是有效的。于是LabVIEW中被 连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序那样受到行 顺序执行的约束。我们可以通过相互连接函数节点简洁高效地开发应用程序,还可 以有多个数据通道同步运行,即所谓的多线程。 tr年ae1 oos Erwse Window的 ta entry" T地 esky F 3亚 @闹阳 西 式圈 数据流驱动 图1-3 -4
机械与动力工程学院 虚拟仪器独立实验实验指导书 - 4 - 数据通过前面板传递给框图,计算和分析结果也在前面板上以数字、图形、表格等 各种不同方式显示出来。一个典型的 VI 前面板如图 4-2 所示: labview 设计虚拟仪器前面板 图 1-2 数据流驱动 宏观上讲,LabVIEW 的运行机制已不再是传统上的冯·诺伊曼式计算机体系结构的 执行方式了。传统计算机语言(如 C 语言)中的顺序执行结构在 LabVIEW 中被并 行机制所代替。本质上讲它是一种带有图形控制流结构的数据流模式,程序中的每 一个函数节点只有在获得它的全部输入数据后才能够被执行。既然 LabVIEW 程序 是数据流驱动的,数据流程序设计规定,一个目标只有当它的所有输入有效时才能 够被执行;而目标的输出只有当它的功能完全时才是有效的。于是 LabVIEW 中被 连接的函数节点之间的数据流控制着程序的执行次序,而不像文本程序那样受到行 顺序执行的约束。我们可以通过相互连接函数节点简洁高效地开发应用程序,还可 以有多个数据通道同步运行,即所谓的多线程。 数据流驱动 图 1-3
图上清发1大 机械与动力工程学院 虚拟仪器独立实险实险指号书 (三) 实验内容 1.设计一个以随机信号为信号源的单通道模拟示波器 2.设计一个以正弦波为信号源的单通道模拟示波器 3.设计一个可以同时显示2路波形的多通道模拟示波器 (四) 实验设备 1. 电脑1台 2. LavVIEW8.2中文版1套 (五) 实验步骤 1. 设计一个以随机信号为信号源的单通道模拟示波器 启动 B回☒ 文件)操作Q)工具)帮助D LabVIEW 8.2 专业版许可 文件 资源 新建 LabVIETi新用户 海n冬 Lab江W入门指南 南项目 LabVIEW基础 倒基于模板的肛, Lab江EW文档指南 □更多. Lab江EY帮助 LabVIET升级 打开 MathScript □浏览 三维图片控件 Lab江EW面向对象编程 新功能列表 网络资源 论坛 培训课程 LabVTEY Zone 范例 Q查找范例.… 步骤1:打开LabVIEW8.2,点击VI,建立新虚拟仪器 -5-
机械与动力工程学院 虚拟仪器独立实验实验指导书 - 5 - (三) 实验内容 1. 设计一个以随机信号为信号源的单通道模拟示波器 2. 设计一个以正弦波为信号源的单通道模拟示波器 3. 设计一个可以同时显示 2 路波形的多通道模拟示波器 (四) 实验设备 1. 电脑 1 台 2. LavVIEW 8.2 中文版 1 套 (五) 实验步骤 1. 设计一个以随机信号为信号源的单通道模拟示波器 步骤 1:打开 LabVIEW8.2,点击 VI,建立新虚拟仪器