LabVIEW实践之路第九章231-232
- 格式:doc
- 大小:221.00 KB
- 文档页数:2
labview教程未来教育实验一虚拟仪器及LabVIEW入门实验一要求:运行National Instruments LabVIEW 6.1,完成下列实验讲义中的所给出的练习题1-1和1-2。
并完成实验报告。
1.1虚拟仪器概述虚拟仪器(virtual instrumention)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
下面的框图反映了常见的虚拟仪器方案。
虚拟仪器的主要特点有:尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
基于虚拟仪器及LabVIEW入门第一章(虚拟仪器技术)本章学习目标1.学习和了解虚拟仪器技术的基本概念及系统组成。
2.了解G图形化编程语言环境与特点。
3.初步了解虚拟仪器的软件开发平台的组件及作用。
4.了解LabVIEW虚拟仪器程序前面板、流程框图、图标/连接器三个基本组件的基本概念主要内容这一章介绍LabVIEW的基本概念,主要有如下一些内容。
1.1虚拟仪器的概述1.2虚拟仪器的基本概念及组成1.3虚拟仪器系统的集成和总线技术1.4虚拟仪器的软件开发平台---LabVIEW1.1虚拟仪器的概述虚拟仪器是随着微电子技术、计算机技术、软件技术、现代测量技术、电子仪器技术的发展而产生的一种新型仪器,它经历了电磁指针式仪器、分立元件式仪器、数字式仪器、智能式仪器发展的一步步进程,特别是上个世纪80年代末以来,新的测试理论,新的测试方法以及新的仪器结构不断出现,在许多方面已经冲破了传统仪器的概念,电子测量仪器的功能和作用发生了质的变化,一种全新的虚拟仪器观念出现在人类面前,它从根本上更新了测量仪器的概念,虚拟仪器的出现是测量仪器领域的一个突破,它彻底改变了传统的仪器观,代表着测量仪器发展的最新方向和潮流,开辟了测量测试技术的新纪元。
虚拟仪器技术的发展使现代测量技术和计算机技术真正地融合在一起,是计算机技术和现代测量技术的高速发展共同孕育出的一项革命性新技术。
虚拟仪器广泛的应用于工业自动化和控制系统、图像的采集和分析处理、系统仿真、运动控制、远程监控、物矿勘探、医疗、振动分析、声学分析、故障诊断、电子工程、电力工程及教学科研等诸多领域。
它的出现对科学技术的发展和工业生产将产生不可估量的影响。
本章将围绕虚拟仪器的基本概念,虚拟仪器仪器的软件硬件组成与特点,基于图形化编程语言LabVIEW的基本用途进行讲述。
使学习者对基于图形化虚拟仪器技术有一个概略的了解。
1.2虚拟仪器的基本概念及组成虚拟仪器(Virtual Instrument)又称VI,是以特定的软件支持取代相应功能的电子线路,它充分利用计算机的软硬件资源,用计算机完成传统仪器硬件的部分乃至全部功能,以具备控制、处理分析能力的软件为核心的软仪器。
提纲第一章 虚拟仪器及LabVIEW入门1.1 虚拟仪器概述1.2 LabVIEW是什么?1.3 LabVIEW的运行机制1.3.1 LabVIEW应用程序的构成1.3.2 LabVIEW的操作模板1.4 LabVIEW的初步操作1.4.1 创建VI和调用子VI1.4.2 程序调试技术1.4.3 子VI的建立1.5 图表(Chart)入门第二章 程序结构2.1 循环结构2.1.1 While 循环2.1.2 移位寄存器2.1.3 For循环2.2 分支结构:Case2.3 顺序结构和公式节点2.3.1 顺序结构2.3.2 公式节点第三章 数据类型:数组、簇和波形(Waveform)3.1 数组和簇3.2数组的创建及自动索引3.2.1 创建数组3.2.2 数组控制对象、常数对象和显示对象3.2.3 自动索引3.3 数组功能函数3.4 什么是多态化(Polymorphism)? 3.5 簇3.5.1 创建簇控制和显示3.5.2 使用簇与子VI传递数据3.5.3 用名称捆绑与分解簇3.5.4 数组和簇的互换3.6 波形(Waveform)类型第四章 图形显示4.1 概述4.2 Graph控件4.3 Chart的独有控件4.4 XY图形控件(XY Graph)4.5 强度图形控件(Intensity Graph)4.6 数字波形图控件(Digital Waveform Graph)4.7 3D图形显示控件(3D Graph)第五章 字符串和文件I/O5.1 字符串5.2 文件的输入/输出(I/O)5.2.1 文件 I/O 功能函数5.2.2 将数据写入电子表格文件5.3 数据记录文件(datalog file)第六章 数据采集6.1 概述6.1.1 采样定理与抗混叠滤波器6.1.2 数据采集系统的构成6.1.3 模入信号类型与连接方式6.1.4 信号调理6.1.5 数据采集问题的复杂程度评估6.2 缓冲与触发6.2.1 缓冲(Buffers)6.2.2 触发(Triggering)6.3 模拟I/O(Analog I/O)6.3.1 基本概念6.3.2 简单 Analog I/O6.3.3 中级Analog I/O6.4 数字I/O(Digital I/O)6.5 采样注意事项6.5.1 采样频率的选择6.5.26.5.3 多任务环境6.6 附:PCI-MIO-16E-4数据采集卡简介第七章 信号分析与处理7.1 概述7.2 信号的产生7.3 标准频率7.4 数字信号处理7.4.1 FFT变换7.4.2 窗函数7.4.3 频谱分析7.4.4 数字滤波7.4.5 曲线拟合第八章 LabVIEW程序设计技巧8.1局部变量和全局变量8.2 属性节点8.3 VI选项设置第九章 测量专题9.1 概述9.1.1 模入信号类型与连接方式 9.1.2 信号调理9.2 电压测量9.3频率测量9.4 相位测量9.5 功率测量9.6 阻抗测量9.7 示波器9.8 波形记录与回放9.9 元件伏安特性的自动测试9.10 扫频仪9.11 函数发生器9.12 实验数据处理9.13 频域分析9.14 时域分析第十章 网络与通讯第十一章 仪器控制第一章 虚拟仪器及LabVIEW入门1.1虚拟仪器概述虚拟仪器(virtual instrumention)是基于计算机的仪器。
LabVIEW实践之路成状态字符串的更新。
以上的例子很简单,事件结构的每一个事件分支均响应一个事件,并且这些事件都是预定义的系统或UI事件。
是不是觉得不够过瘾?毕竟有些事件,特别是非UI 事件,是必须由用户自己定义的,这种情况怎么办呢?很简单,看图2.17中的事例---当仿真数据大于0.97时显示该数值并点亮红灯半秒钟(当然,该例中实际上我们可以不用事件结构就能实现该功能,但许多情况下事件结构是不错的选择)。
图2.17 注册用户事件首先告诉大家,注册用户事件的子VI在函数选板>>对话框与用户界面>>事件选板下,如右图所示。
对于用户自己定义的事件,可以用这些VI来实现,其流程是这样的:首先需要“创建用户事件”,这时需要连接你在事件中所要传输数据的类型给此VI,并且要给其一个唯一的标签,就像图2.17中的;然后注册该事件,因为注册时间后才有了事件句柄(嘿嘿,从VC里面借用该词,不一定准确)可以给处理程序使用;接下来在事件发生的框图内使用“创建用户事件”并将值付给该VI;最后需要在事件结构中处理该事件,创建分支的步骤同前一个例子一样,不过注意的是,事件结构默认样式下边框上没有连接动态事件接线端的位置,那怎么办?答对了!点击右键选中就可以了。
各位小朋友一定注意到了,上面例子用到了不少局部变量,对于结束程序的布尔第二章强筋健骨:由程序流程的控制展开按钮用到了两个,而对于报警灯也用到了两个,这是不需要连线的共享方法(不过我更喜欢用属性节点,嘿嘿,后面会有例子)。
我们拿停止按钮来解释一下这种用法。
注意,本例中有两个while循环,我们准备用一个按钮来停止。
前面已经知道了,由于LabVIEW连线的数据流本质,导致了没有退出循环前,数据流连线无法直接送出去,因此就用按钮的局部变量来实现。
这儿必须注意按钮等布尔控件对点击事件的响应方式有多种(右键能查看、修改),后面我们会细说。
要保证点击按钮后,两个循环都能退出,我们必须做到按钮为“真”的状态保持到两个循环都退出以后,当然推出以后按钮要置回“假”。
测控工程实践LabVIEW教学教程黑龙江科技学院电气与信息工程学院测控技术与仪器教研室第一讲LabVIEW概述第一节虚拟仪器(VI)的概念使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW 集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位编译器。
像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。
所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(front panel)、程序框图(block diagram)以及图标/连结器(icon/connector)三部分。
前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制(control)和显示对象(indicator)。
LabVIEW实践之路了。
“数组插入”函数的输入同“替换数组子集”一模一样,分别是输入数组、起始位置和插入/替换的元素。
如右图所示,这是一个在一维数组中插入两个元素的例子。
“删除数组元素”通过两个(如果是多维数组那就会超过两个)输入来确定到底哪些元素被从数组中删除掉:长度和索引(即初始位置),多维数组的初始位置的确定有可能使用多个索引值。
而该函数的输出比较贴心:“已删除元素的数组子集”和实际“已删除的部分”。
“初始化数组”用于通过某一给定初始值来快速构造数组常量。
“创建数组”很有用,你可以通过连接输入(即串接)或并接数组来构造新的数组,有时候我也使用该函数对增加已有数组的维数以适应程序需要。
“数组子集”用来取部分元素,如何确定取哪一部分呢?呵呵,和“删除数组元素”函数相同。
剩下的函数就不再详述了,相信很容易掌握。
像搜索、插值、二维数组转置等都是很有用的。
要是还不知道怎么用,那看帮助或者动手试一下吧!(别忘了,我们常说的优秀的软件都会带有非常好的帮助文献和示例库,LabVIEW也是如此!)我们来看一个综合实例,如图3.3所示,我们需要显示数组的大小,在原数组中找到最小值和最大值,并将最小值置为0,最大值所在列删除掉。
其中用到了五个不同的数组函数,当然你可以继续添加功能,比如将输出的二维数组转置,然后再转成一维数组,然后再……与数组作斗争,其乐无穷哦。
第三章我的类型我做主:从数组与簇说开图3.3 数组函数实例数组能够与其他数据类型直接进行运算或相互转换,由于簇、字符串等还没有详细介绍过,我们只简单说一下数组运算时几个应注意的地方。
数组可以同数字进行加减乘除等运算,运算的结果是每一个元素分别同该数字进行运算后的数组输出,如图3.4实例所示。
图3.4 数组与数字相乘数组同数组进行运算时,如果两数组长度不一,那么以较小的数组长度为基准,超出的被舍弃。
图3.5 两数组相加运算。
计算机虚拟仪器图形编程LabVIEW实验教材北京中科泛华测控技术有限公司目录第一课LABVIEW概述 (4)第一节虚拟仪器(VI)的概念 (4)第二节L AB VIEW的操作模板 (6)工具模板(Tools Palette) (6)控制模板(Controls Palette) (7)功能模板(Functions Palette) (8)第三节创建一个VI程序 (10)1. 前面板 (10)框图程序 (10)从框图程序窗口创建前面板对象 (12)4. 数据流编程 (12)第四节程序调试技术 (13)1. 找出语法错误 (13)2. 设置执行程序高亮 (13)3. 断点与单步执行 (13)4. 探针 (14)第五节练习1-1 (14)第六节把一个VI程序作为子VI程序调用 (17)第七节练习1-2 (18)第八节练习1-3 (21)第九节练习1-4 (22)第十节练习1-5 (24)第二课数据采集 (27)第一节概述 (27)第二节数据采集VI程序的调用方法 (29)第三节模拟输入与输出 (30)练习2-1 (31)第四节波形的采集与产生 (34)练习2-2 (35)第五节扫描多个模拟输入通道 (36)练习2-3 (36)第六节连续数据采集 (37)练习2-4 (38)第三课仪器控制 (40)第一节概述 (40)第二节串行通讯 (40)第三节IEEE488(GPIB)概述 (41)练习3-1 (43)第四节VISA编程 (44)练习3-2 (46)第五节用L AB VIEW编写仪器驱动程序 (47)第六节验证仪器驱动软件 (48)练习3-3 (50)第四课分析软件 (52)第一节概述 (52)第二节、高级分析功能程序 (52)第三节信号产生 (53)练习4-1 (53)第四节信号处理 (55)练习4-2 (55)第五节数字滤波器 (56)练习4-3 (57)第六节曲线拟合 (59)练习4-4 (60)练习4-5 (61)第五课实用工具软件包 (63)第一节概述 (63)第二节常用软件工具箱 (63)第三节分析工具软件 (65)第一课LabVIEW概述第一节虚拟仪器(VI)的概念使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。
LabVIEW实践之路
231
Δt时间采集一个采样点,将模拟信号离散化。于是当采样间隔比较短(采样频率比
较高)时,各采样点连接起来就更精细的反映信号的原貌,当然对采样速率的要求
就会高一些。如图9.3所示,当采样间隔Δt过长或较短,即采样频率f过小或较大
的时候,同一个正弦波经采样后效果是不同的。另外,如果有的童鞋学过测试技术,
就会知道采样频率过低可能会产生频率混叠现象,导致出现错误的信号形貌(后面
会详细描述)。
图9.3 不同采样频率效果对比
耳听为虚,眼见为实。我们就实际看一个DAQ系统的照片,包括加速度传感器、
电荷放大器、A/D接口板、数据采集卡等,这些东西连同电脑一块儿组成了我们的
DAQ系统。
(此处待插入图片)
图9.4 典型DAQ系统
图9.4所示为典型的DAQ系统,包括加速度传感器、电荷放大器(用于放大微
弱电信号)、低通滤波器、USB接口DAQ采集卡、笔记本电脑(安装有硬件驱动和
采集程序)。当前,科技的发展让我们的采集装置越来越小型化、精密化,图9.5就
是带ICP的加速度传感器和USB数据采集卡,免去了携带沉甸甸的电荷放大器之苦。
(此处待插入图片)
图9.5 带ICP的传感器和采集卡
9.2 典型采集程序
第九章 LabVIEW的王牌之DAQ
232
常规的采集程序流程很明确:硬件参数设置—采集参数设置—开始采集—循环读
取—退出释放资源。即使拟采用快速VI实际上也是这个流程,所以为了能够理解这
个过程,我们直接看一个典型例子而不是从自动生成快速VI入手。
图9.6 典型的DAQ采集程序(Analog Input)
前面板比较清爽,包括左侧的采集通道参数配置、采样参数配置,右侧的波形图
显示以及下侧的退出按钮。
框图程序中,第一个VI即为采集通道配置(当然,该VI还有多个可配置参数,
这儿取了默认值,以后不再解释,看帮助,呵呵),第二个VI设置采样方式(有限
采样还是连续采样,采样频率),第三个VI为开始采集任务,然后进入循环不断读
取采集的端口电压,程序退出后释放掉所占用资源,有错误就弹出对话框。
循环内部只有一个采样VI,注意,你可以选择多种读取数据的方式(单/多通道、
单/多采样)。