LabVIEW For Everyone
Virtual instrumentation is the foundation for the modern laboratory. Its also what we call a LabVIEW program. Because their functionality is software-defined by the user, virtual instruments are extremely flexible, powerful, and cost-effective. A virtual instrument consists of a computer, software, and modular hardware; all combined and configured to emulate the function of traditional hardware instrumentation.
Although LabVIEW is a very powerful simulation tool, it is most often used to gather data from an external source, and it contains many VIs built especially for this purpose. For example, LabVIEW can command plug-in data acquisition, or DAQ, devices to acquire or generate analog and digital signals. You might use DAQ devices and LabVIEW to monitor a temperature, send signals to an external system, or determine the frequency of an unknown signal. LabVIEW also facilitates data transfer over the General Purpose Interface Bus (GPIB), or through your computers built-in USB, Ethernet, Firewire (also known as IEEE 1394), or serial port. GPIB is frequently used to communicate with oscilloscopes, scanners, and multimeters, and to drive instruments from remote locations. LabVIEW software can also control sophisticated VXI hardware instrumentation systems, Ethernet, or USB-based instruments. Once you have acquired or received your data, you can use LabVIEWs many analysis VIs to process and manipulate it.
Often you will find it useful to share data with other applications or computers in addition to an instrument. LabVIEW has built-in functions that simplify this process, supporting several networking protocols, external calls to existing code or dynamic link libraries (DLLs), and ActiveX automation.
Well spend the rest of this chapter talking about some of the tasks LabVIEW was designed to accomplish. But, before we start talking about exactly what LabVIEW can do, lets take a moment to reflect on how LabVIEW got to be the powerful tool that it is today. This next section gives a brief history lesson, showing the LabVIEW timeline and the introduction of its many features and capabilities.
In 1983, National Instruments began to search for a way to minimize the time needed to program instrumentation systems. Through this effort, the LabVIEW virtual instrument concept evolvedintuitive front panel user interfaces combined with an innovative block diagram programming methodology to produce an efficient, software-based graphical instrumentation system.
LabVIEW version 1 was released in 1986 on the Macintosh only. Although the Mac was not widely used for measurement and instrumentation applications, its graphical nature best accommodated the LabVIEW technology until the more common operating systems could support it.
By 1990, National Instruments had completely rewritten LabVIEW, combining new software technology with years of customer feedback. More importantly, LabVIEW 2 featured a compiler that made execution speeds of VIs comparable with programs created in the C programming language. The United States Patent Office issued several patents recognizing the innovative LabVIEW technology.
As other graphical operating systems appeared, National Instruments ported the now mature LabVIEW technology to the other platforms: PCs and workstations. In 1992, they introduced LabVIEW for Windows and LabVIEW for Sun based on the new portable architecture.
LabVIEW 3 arrived in 1993 for Macintosh, Windows, and Sun operating systems. LabVIEW 3 programs written on one platform could run on another. This multiplatform compatibility gave users the opportunity to choose the development platform while ensuring that they could run their VIs on other platforms (consider that this was a couple of years before Java was introduced). In 1994, the list of LabVIEW-supported platforms grew to include Windows NT, Power Macs, and HP workstations. 1995 brought about an adaptation to Windows 95.
LabVIEW 4, released in 1996, featured a more customizable development environment so users could create their own workspace to match their industry, experience level, and development habits. In addition, LabVIEW 4 added high-powered editing and debugging tools for advanced instrumentation systems, as well as OLE-based connectivity and distributed execution tools.
LabVIEW 5 and 5.1 (in 1999) continued to improve on the development tool by introducing a built-in web server, a dynamic programming and control framework (VI Server), integration with ActiveX, and easy sharing of data over the Internet with a protocol called DataSocket.[1] The undo feature taken for granted in most programs finally was implemented.
In 2000, LabVIEW 6 (sometimes called 6i) introduced support for the Linux open source operating system. It also introduced a new suite of 3-D controls; appropriately at a time when the computing industry was discovering that style did matter (spearheaded by the introduction of Apples iMac and G4 cubes). LabVIEW 6 does a very impressive job of providing both an easy and intuitive programming interface (especially for non-programmers), as well as supporting a slew of advanced programming techniques, such as object-oriented development, multithreading, distributed computing, and much more. Dont let the graphical nature of LabVIEW fool you: LabVIEW is a tool that can easily rival C or Visual Basic as a development toolwith the benefit, as thousands have discovered, that its much more fun!
In 2001, LabVIEW 6.1 introduced event-oriented programming, remote web control of LabVIEW, Remote Front Panels, VISA support for communication with infrared devices (IrDA), and other improvements.Also in 2001, LabVIEW Real-Time (LabVIEW RT) was introduced, allowing VIs developed in LabVIEW to be downloaded to the RT Engine of National Instruments RT Series devices and run in real time. (We will discuss LabVIEW RT more, later in this chapter.) 剩余内容已隐藏,支付完成后下载完整资料
我的LabVIEW
虚拟仪器技术是现代实验室的基础,也就是我们常说的LabVIEW程序。它是用户通过软件自定义的,因而功能强大且非常灵活,成本效益也很高。一个虚拟仪器包括了电脑,软件及模块化的硬件,将这些元素进行组合配置就可以仿效传统的硬件仪器的功能了。
LabVIEW包含了许多为了从外部源收集数据而创建的子程序(VIs),是一款强大的仿真工具。例如,LabVIEW可以命令插入式的数据采集(DAQ)设备来获得或产生模拟和数字信号。你可以用数据采集设备以及Labview来检测温度、向外部系统发送信号,或者测定一个未知信号的频率等。LabVIEW软件能够控制VXI硬件仪控系统, 以太网, 或基于USB接口的仪器.Labview还可以用来传输数据,通过使用通用目的总线接口,或通过计算机的嵌入式USB接口、以太网, Firewire (或 IEEE 1394)等串行总线接口就可以做到。GPIB总线经常用于与示波器,扫描仪及万用表的通信,或者远程驱动某些仪器等。只要你获得或者接收到这些数据,你就能够使用许多Labview的分析功能子程序来加工和处理它们了。
通常你会发现,除了某些仪器外,Labview与其他应用程序或者计算机的数据共享也是十分有用的。Labview的内置功能可以简化这个过程,它支持部分网络协议,能够从外部调用现存代码或动态链接库,以及进行AcitveX的自动操作。
我们将在本章的其余部分讨论一些LabVIEW设计任务完成。但是,在我们开始谈论LabVIEW可以做什么之前,今天让我们先花点时间反思 LabVIEW 怎么会变成功能强大的工具的。这一部分给出了一个简短的历史课,展现LabVIEW的时间和它的许多特性的介绍。
1983年,国家仪器公司着手研究开发出一种途径来缩短编制仪控系统所需时间,通过努力,LabVIEW虚拟仪器概念研究发展出了直观的前面板用户界面, 并结合一种开创性的框图编程方法, 生产了一种高效率的, 基于软件的图形仪控系统。
1986年,Labview版本1发布了,但是只能在Mac机器上使用,尽管Mac的机子并未广泛应用于测量及仪控系统上,但它的图形特征能更好地适应Labview技术直到有更多的通用操作系统可以支持它。
到1990年,国家仪器公司结合新的软件技术和多年以来用户的反馈情况完全改写了labview,更重要的是,Labview2有了可以使VIS的运行速度和用C语言编写的程序相媲美的编译器。美国专利局也认可了革命性的Labview技术并为它颁发了几个专利。
而当其他的图形操作系统出现后,国家仪器公司立即将日趋成熟的Labview技术对接到个人计算机及工作站等其他平台上。在1992年,他们又发布了基于Windows和Sun的新的便携式操作系统的labview。
1993年,Labview3出现了,分别有Macintosh, Windows, 和 Sun 等不同的操作系统版本。Labview3的程序能够在一个平台上编写而在另一个平台上运行,这种多平台兼容性给了用户更多的机会来选择开发平台,以确保用户能够在不同的平台上运行自己的VIS,(要考虑到那比java开发早了好几年),1994年,Labview所支持的平台已经增长到包括Windows NT, Power Macs, 以及HP工作站在内的不同平台。到了1995年,又带来了兼容windows 95的版本。
1996年,Labview4发布了,且增加了更多自定义开发环境,从而能够让用户根据自己的行业,经验水平及开发习惯来创建自己的工作空间。另外,labview4还增加了高性能的编辑与调试工具来配合高级的仪控系统以及基于OLE的互通性和分布式执行工具。
Labview5和labview 5.1(1999年)通过引入内置的网络服务器,动态编辑和控制框架持续改进了开发工具,集成了ActiveX并在互联网上通过Datasocket的协议实现了数据共享。在其他大多语言程序中的“undo”特征最终也得以实现。
2000年,Labview6(有时也可成为labview 6.1)得以支持Linux开原操作系统,并引入了一种新的套件 3-D控件。恰逢当时计算机行业发现这种风格非常流行(充当先锋的是Apples iMac 和 G4 cubes的引进)Labview6提供了既简单又直观的编程界面,(尤其对非专业的编程人员),同时也支持大量的高级编程技术,诸如面向对象的开发,多线程及分布式计算等等,令人印象非常深刻。不要让Labview的图形特征愚弄了你:Labview作为一种开发工具,它自身的益处可以让它轻易与C 或visual basic相匹敌。正如成千上万的用户发现的那样,它还将更加有趣。
2001年,Labview6.1引入了面向事件编程,LabVIEW远程网络控制, 远程前面板, VISA支持红外设备通信, 和其它改进的功能。同年,Labview实时模块被引入,这将允许National Instruments RT系列设备的实时引擎下载在Labview上开发出来的VIS并实时运行。
2003年, LabVIEW 7.0 (有时被称为LabVIEW 7 Express)为新用户和高级用户引入了几个新的特性. 最显著的就是Express技术: 通过提供简单的设置、即时使用的子程序和函数,设计出一种可以使Labview用户很快上手并运行的工具框架。对高级用户来说,Labview7.0延伸了事件结构的功能性,使其包括了用户定义事件及动态事件注册框架。这样事件结构就不再局限于它所包含的VI的前面板事件上。其他新附加的特性还包括为了创建更灵活而强大的用户界面而使用的树形控件和子面板。而且一些编辑器还增加了对齐网络及握柄的功能,这和许多其他的特性一样都让labview的使用变得更加有趣。
同在2003年,LabVIEW PDA和LabVIEW FPGA模块被引进,Labview PDA模块允许在PalmOS 和PocketPC等便携式数据助手(掌上电脑)上运行Labview程序,Labview FPGA模块则允许在NI的现场可编程门阵列设备上运行Labview程序。
2004年,Labview7.1增加了对蓝牙设备,本地无线电按钮控件,导航窗口及许多其他特性的支持,包括发展了的Express技术,比如提供实时精确定时的定时循环, FPGA目标,以及同步能力等。
2005年, LabVIEW 8引入了项目浏览器,一个允许开发者管理虚拟仪控系统开发的集成开发环境风格的工作区。一个Labview项目包括了VIS,硬件资源和配置以及构造和部署规则。Labview也增加了对项目库的支持,,LabVIEW 8也增加了对项目库的支持, 诸如右击菜单和拖放, 和自定义控件及其编辑行为。
数据采集,或者简称DAQ,是处理现实世界信号的一个过程,比如采集电压,我们将电压信号转化为可以被计算机处理,分析,储存的数据或者其他可操作的数据。图2.1展示了DAQ系统的组成部分。
图1.1 DAQ系统的组成部分
物理现象(没有显示在图2.1中 )代表了你正试图测量的现实世界的信号,如速度,温度,湿度,压力,流量, pH值,起动,停止,放射性,光照强度等等。您使用传感器(有时也被称为变换器)来感应并且分析物理现象,并产生相应成比例的电信号。举例来说,热电偶作为一种传感器,将温度转换成便于A / D (模拟到数字)转换器可以接受并且处理的电压信号。其他的一些关于传感器的例子包括应变计,流量计,压力变换器,是用来测量材料由于压力、流率、压强的作用而形成的位移。在每种情况下,传感器所产生的电信号是和它监测的现象直接相关的。
LabVIEW可以控制DAQ设备读取模拟输入信号( A / D转换),产生模拟输出信号( D / A转换),读取和写入数字信号,并操纵on-board 计数器进行频率测量,脉冲产生,正交编码测量等动作来配合传感器工作(并与传感器互相联结)。在模拟输入的情况下,传感器将接收到电压信号传入到电脑中的DAQ插件,由这个插件将数据送入电脑内存来储存、处理或做一些其他操纵。信号支配模块“支配”着传感器产生的电子信号,使得DAQ设备可以接受这些信号。举个例子,您想使好比120 VAC的高电压输入处于绝缘的状态,以此来避免酿成毁坏电脑和板子这样代价昂贵的错误。信号支配模块同样适用于许多不同的情况:如功放,线性化,滤波,绝缘等等。并非所有应用都要求信号调理,但是很多应用还是是需要的,所以你要特别留心这些应用的不同规格和要求,这样才能避免潜在的灾难。此外,信息丢失甚至可以比设备损坏更严重!噪声,非线性,超载,混叠等,可以使你的数据彻底崩溃,LabVIEW也挽救不了那些数据。信号支配往往不是一个可选项,你最好在开始前就检查一下。
在实验室采用虚拟仪器的方式来采集数据,你需要一块DAQ板卡,一台配置有LabVIEW和DAQ驱动软件的电脑,还有一些将传感器与DAQ板卡连接起来的方法,比如使用一个连接器插头,面板,缆线或者电线。你可能还需要根据应用的不同规格使用一台信号支配设备。
举个例子,如果你想要测量温度,你需要将温度传感器连接到电脑内DAQ设备上的一个模拟输入通道上(通常还要使用到信号支配设备,这个取决于传感器)。然后用LabVIEW软件建立的DAQ虚拟仪器来读取板卡上通道中的数据,将温度显示在屏上,同时把它记录在数据文件中,当然你也可以根据你的需要来分析这些数据。
嵌入式LabVIEW数据采集VI只能配合美国国家仪器的DAQ设备工作,如果你想使用其他供应商提供的板卡,你必须向他们索要相应的驱动程序(如果他们有的话),或者你将不得不自己写驱动程序代码,并称它为LabVIEW编码接口节点或者动态链接库(DLL)
1. USB与 VISA 的背景知识
VISA (Virtual Instrument Software Architecture) 是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。它不受平台、总线和环境的限制。换言之,与 GPIB设备进行通讯的程序,无论是在运行 Windows 2000的机器上用 LabVIEW 开发出来的,还是在运行 Mac OS X 的机器上用 C 语言编写的,都可以使用同一个 API。
通用串行总线(USB)是一个基于信息的通讯总线。这表示 PC 机与 USB 设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。每个 USB 设备都有各自的指令集。您可以使用 NI-VISA 的读写功能向仪器发送这些指令,并读取仪器的反馈。可向仪器制造商索要仪器的有效指令清单。
NI-VISA 从 3.0 版开始支持 USB 通讯,它有两种 VISA 类函数 (Resource Class),可以控制两类 USB 设备:USB INSTR 设备与 USB RAW 设备。符合 USB 测试和测量类 (USBTMC)协议的 USB 设备可以通过使用 USB INSTR 类函数控制。USBTMC 设备符合 VISA USB INSTR 类函数能够理解的协议。与 USBTMC 设备进行通讯不需要进行配置。与 USBTMC 仪器的通讯,请参看第 3 节。如果要了解更多有关 USBTMC规格的信息,请参看下面链接的 USB 应用者论坛(USB Imlementers Forum)网页。
USB RAW仪器是指除了明确符合 USBTMC 规格的仪器之外的任何 USB 仪器。如果您正在使用 USB RAW 设备,请按照第 2 节的说明来配置 NI-VISA 以控制您的设备。请与仪器制造商联系,以获取通讯协议与仪器所用指令集的详细资料。如果要了解有关 NI-VISA API 的具体信息,请参考《NI-VISA 用户手册》与《NI-VISA 程序员参考手册》。NI-VISA中附有这两个文件,通过本指南最后的链接也可以获得这两个文件。
2. 配置 NI-VISA 来控制 USB 设备
本节将逐步介绍如何在基于Windows的计算机上用 NI-VISA 3.0 来控制USB RAW设备。如果您使用的是USBTMC 兼容设备,就请连接设备,然后跳到 2.3 节。此时,NI-VISA 应该已经安装在您的计算机上,而您的 USB 设备还没有接上。此外,您也不要安装该 USB 设备的驱动程序。我们分三个步骤来配置您的 USB 设备以便用 NI-VISA 来对其进行控制:
(1). 使用 Driver Development Wizard (驱动程序开发向导) 创建 INF 文档。
(2). 安装 INF 文档,并安装使用 INF 文档的 USB 设备。
(3). 使用 NI-VISA Interactive Control (NI-VISA 互动控制工具)对设备进行测试。
本指南将以安装在 Windows XP 操作系统中的 NI DAQPad-6020E 型 USB 设备为例。由于本指南旨在说明一般 USB 设备的配置,因此将不会就 DAQPad-6020E 的具体细节进行探讨。请记住,对于 DAQPad-6020E 来说,NI-DAQ 是唯一受支持的驱动程序。
3.用 NI-VISA 与 USB 设备进行通讯。
本节将说明如何使用 NI-VISA 3.0 及以上版本与您的 USB 设备进行通讯。前面讲过,USB 设备有两类。而通讯方式就取决于设备的种类。
3.1 USB INSTR 型(USBTMC)
符合“USB 测试与测量类(USBTMC)”的设备使用 NI-VISA USB INSTR类函数。它们使用 488.2标准通讯。对于这些设备,您只需以与 GPIB 仪器通讯同样的方式,使用“VISA 打开”、“VISA 关闭”、“VISA 读取”和“VI
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[499393],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。