《labview入门总结学习.pptx》由会员分享,可在线阅读,更多相关《labview入门总结学习.pptx(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目目目目 录录录录010203虚拟仪器简介 LabVIEWLabVIEW编程基础编程基础数据采集数据采集 2023/2/131第1页/共78页第一页,编辑于星期六:四点 十七分。01虚拟仪器简介 2023/2/132第2页/共78页第二页,编辑于星期六:四点 十七分。什么是LabVIEW?2023/2/133 LabVIEW(Laboratory Virtual Instrument Engineering Workbench,实验室虚拟仪器工程平台)是美国 NI 公司推出的一种基于图形化编程语言的虚拟仪器软件开发工具。第3页/共78页第三页,编辑于星期六:四点 十七分。图形化编程第4页/共7
2、8页第四页,编辑于星期六:四点 十七分。什么是虚拟仪器?2023/2/135 所谓虚拟仪器所谓虚拟仪器,即是即是以计算以计算机为基础机为基础 ,配以相应测试功能的配以相应测试功能的硬件作为信号输入输出的接口硬件作为信号输入输出的接口,完成信号的采集、测量与调理完成信号的采集、测量与调理,从从而完成各种测试功能的一种计算而完成各种测试功能的一种计算机机化化仪器系统。仪器系统。第5页/共78页第五页,编辑于星期六:四点 十七分。第6页/共78页第六页,编辑于星期六:四点 十七分。第7页/共78页第七页,编辑于星期六:四点 十七分。02LabVIEWLabVIEW编程基础编程基础2023/2/138
3、第8页/共78页第八页,编辑于星期六:四点 十七分。LabVIEW编程环境编程环境 LabVIEW 2012启动画面(演示)前面板和框图窗口 主菜单栏简介 快捷工具栏简介 LabVIEW的操作模板工具模板(Tools Palette)控制模板(Controls Palette)功能模板(Functions Palette)第9页/共78页第九页,编辑于星期六:四点 十七分。习题创建一个 VI VI 程序,比较两个数,如果其中一个数大于或等于另一个数,则 LED LED 点亮。用两种方法求出N!(for和while循环)求一个二维数组的各元素之和。求0 09999之间所有偶数之和第10页/共78
4、页第十页,编辑于星期六:四点 十七分。程序结构循环结构:While循环第11页/共78页第十一页,编辑于星期六:四点 十七分。For循环程序结构第12页/共78页第十二页,编辑于星期六:四点 十七分。移位寄存器程序结构第13页/共78页第十三页,编辑于星期六:四点 十七分。顺序结构程序结构第14页/共78页第十四页,编辑于星期六:四点 十七分。反馈节点程序结构第15页/共78页第十五页,编辑于星期六:四点 十七分。Case结构程序结构第16页/共78页第十六页,编辑于星期六:四点 十七分。通知事件 通知(Notify)描述了发生用户动作,例如按下按钮,且LabVIEW已经处理的一类事件Sour
5、ce=LabVIEW UIType=Value ChangeCtlRef(Control Reference)这里是按钮的ReferenceOldVal和NewVal指示了事件发生前后的控件值程序结构第17页/共78页第十七页,编辑于星期六:四点 十七分。过滤事件过滤(Filter)事件描述了发生的用户动作,并在LabVIEW处理之前反馈给应用程序,程序可以干涉用户动作在Selector Label中以“?”结尾区分Notify;左右边框均有事件数据节点Char返回字符的ASCII码VKey返回按键类型:ASCII或Fn、Up/Down、Ctrl、Shift等ScanCode返回按键在键盘上的
6、代码可以修改或者放弃(Discard?)用户动作程序结构第18页/共78页第十八页,编辑于星期六:四点 十七分。公式节点公式节点(Formula Node)允许用户使用类似于多数文本编程语言的语法,编写数学表达式每个语句须以分号结束,类似C语言输入输出变量大小写敏感程序结构第19页/共78页第十九页,编辑于星期六:四点 十七分。数组、簇和波形程序结构第20页/共78页第二十页,编辑于星期六:四点 十七分。初始化数组(Initialize Array)程序结构第21页/共78页第二十一页,编辑于星期六:四点 十七分。数组大小Array Size 程序结构第22页/共78页第二十二页,编辑于星期六
7、:四点 十七分。数组子集(Array Subset)程序结构第23页/共78页第二十三页,编辑于星期六:四点 十七分。索引数组(Index Array)程序结构第24页/共78页第二十四页,编辑于星期六:四点 十七分。多态化程序结构第25页/共78页第二十五页,编辑于星期六:四点 十七分。簇程序结构第26页/共78页第二十六页,编辑于星期六:四点 十七分。Waveform类型程序结构第27页/共78页第二十七页,编辑于星期六:四点 十七分。图形显示Chart是将数据源(例如采集得到的数据)在某一坐标系中,实时、逐点地显示出来,它可以反映被测物理量的变化趋势 Graph则是对已采集数据进行事后处
8、理的结果。它先将被采集数据存放在一个数组之中,然后根据需要组织成所需的图形显示出来。ChartGraphWaveform(波形)*XY*Intensity(强度图)*Digital(数字图)*3D Surface(三维曲面)*3D Parametric(三维参变量)*3D Curve(三维曲线)*程序结构第28页/共78页第二十八页,编辑于星期六:四点 十七分。Graph控件 程序结构第29页/共78页第二十九页,编辑于星期六:四点 十七分。Chart的独有控件 滚动条(Scrollbar)它直接对应于显示缓冲器,通过它可以前后观察缓冲器内任何位置的数据。刷新模式(Update Mode)Ch
9、art提供了三种画面的刷新模式,分别是 Strip Chart Mode(条壮图):它与纸带式图表记录仪类似。曲线从左到右连续绘制,当新的数据点到达右部边界时,先前的数据点逐次左移。Scope Chart Mode(示波器模式):它与示波器类似。曲线从左到右连续绘制,当新的数据点到达右部边界时,清屏刷新,从左边开始新的绘制。它的速度较快。Sweep Chart Mode(扫描模式):与示波器模式的不同在于当新的数据点到达右部边界时,不清屏,而是在最左边出现一条垂直扫描线,以它为分界线,将原有曲线逐点向右推,同时在左边画出新的数据点。如此循环下去。堆叠式图区(Stack Plots)在相同的纵坐
10、标下,由于各种测量信号的差异,将几条曲线显示在同一个图区有困难时,可以组织出一种纵坐标相同,而有各自横坐标的堆叠式图区。程序结构第30页/共78页第三十页,编辑于星期六:四点 十七分。Chart和Graph的比较 程序结构第31页/共78页第三十一页,编辑于星期六:四点 十七分。XY图形控件(XY Graph)程序结构第32页/共78页第三十二页,编辑于星期六:四点 十七分。强度图形控件(Intensity Graph)程序结构第33页/共78页第三十三页,编辑于星期六:四点 十七分。数字波形图控件(Digital Waveform Graph)程序结构第34页/共78页第三十四页,编辑于星期
11、六:四点 十七分。字符串和文件I/O 组合字符串组合字符串 程序结构第35页/共78页第三十五页,编辑于星期六:四点 十七分。字符串提取程序结构第36页/共78页第三十六页,编辑于星期六:四点 十七分。文件I/O文件输入输出(I/O):存储数据到磁盘文件中,或从磁盘文件中读取数据三个步骤:打开或创建、写入或读取、关闭支持文本字节流、二进制字节流、数据日志(Datalog)、TDM(Test Data Exchange Format)、LVM(LabVIEW Measurement)等格式的数据文件可操作目录读写配置文件(*.ini)程序结构第37页/共78页第三十七页,编辑于星期六:四点 十七
12、分。读写普通文件Open/Create/Replace+Read/Write+CloseASCII文件(*.txt)、二进制文件(*.dat)程序结构第38页/共78页第三十八页,编辑于星期六:四点 十七分。写文件的例子程序结构第39页/共78页第三十九页,编辑于星期六:四点 十七分。读出数据程序结构第40页/共78页第四十页,编辑于星期六:四点 十七分。读写配置文件配置(Configuration)文件:*.iniSection(节)、Key(关键词)、Value(值)程序结构第41页/共78页第四十一页,编辑于星期六:四点 十七分。测试报告LabVIEW支持生成标准文本格式(Standar
13、d Report)和网页格式(HTML)的测试报告使用LabVIEW Report Generation Toolkit可以生成Word、Excel等格式更为复杂的测试报告程序结构第42页/共78页第四十二页,编辑于星期六:四点 十七分。数据采集AC:Alternating Current,交流电流,泛指交流信号。DC:Direct Current,直流电流,泛指直流信号。ADC:Analog-to-Digital Conversion,模数变换,有时也表示为A/D。DAQ:Data Acquisition,数据采集。DMA:Direct Memory Access,直接内存访问。它允许将采集
14、的数据直接送给计算机的内存,数据传输速率较高。GPIB:General Purpose Interface Bus,也称为IEEE 488.2总线。它是一种应用最广泛的仪器总线。SCXI:Signal Conditioning extensions for Instrumention,信号调理器。VISA:Virtual Instrument Standard Architecture,虚拟仪器软件体系结构。它是控制GPIB、VXI、RS-232和其他类型仪器的接口库。程序结构第43页/共78页第四十三页,编辑于星期六:四点 十七分。数据采集结构程序结构第44页/共78页第四十四页,编辑于星期
15、六:四点 十七分。数据采集过程程序结构第45页/共78页第四十五页,编辑于星期六:四点 十七分。驱动程序NI硬件与LabVIEW无缝结合,可以通过NI DAQmx、NI Scope、NI Switch等API控制硬件设备,LabVIEW提供了丰富完备的函数支持第三方产商的硬件设备一般通过调用动态链接库(DLL)来访问,LabVIEW提供了Call Library Function Node调用动态链接库程序结构第46页/共78页第四十六页,编辑于星期六:四点 十七分。调用DLL程序结构第47页/共78页第四十七页,编辑于星期六:四点 十七分。03数据采集数据采集 2023/2/1348第48页
16、/共78页第四十八页,编辑于星期六:四点 十七分。数据采集的结构触发触发涉及初始化、终止或同步数据采集事件的任何方法。触发可分为软件触发和硬件触发,硬件触发又可分为内部触发和外部触发第49页/共78页第四十九页,编辑于星期六:四点 十七分。采样率的选择采样率决定了模数转换(A/D)的频率 奈奎斯特定理 为了防止发生混频,最低采样频率必须是信号频率的两倍。对于某个给定的采样率,能够正确显示信号而不发生畸变的最大频率叫做奈奎斯特频率,它是采样频率的一半。第50页/共78页第五十页,编辑于星期六:四点 十七分。USB2002的技术指标模拟通道输入数:32路单端/16路双端模拟信号输入 模拟电压输入范
17、围:5V,10V 模拟输入共模电压范围:2V 放大器建立时间:2uS A/D分辨率:14Bit(16384)非线性误差:1LSB(最大)转换时间:2.5S 系统测量精度(满量程):0.1%第51页/共78页第五十一页,编辑于星期六:四点 十七分。采样速率:400K 系统测量精度(满量程):0.1%16路数字量输入、16路数字量输出 数字端口满足标准TTL电气特性:输入TTL电平,吸入电流小于0.5毫安。输出TTL电平,最大下拉电流20mA,上拉电流2.6毫安。USB2002的技术指标数字量输入高电平(即“1”)的最低电压:2V数字量输入低电平(即“0”)的最高电压:0.8V 数字量输出高电平(
18、即“1”)的最低电压:3.4V数字量输出低电平(即“0”)的最高电压:0.5V第52页/共78页第五十二页,编辑于星期六:四点 十七分。板卡的信号插座、跳线和数据定义 RP1:程控仪表放大器零点调整电位器RP2:程控仪表放大器满度调整电位器XF2、XF3:模拟电压输入单端、双端选择XF1:模拟电压输入量程选择XS1:模拟信号输入连接插座XS2:开关量输入插座XS3:开关量输出插座XS5:计数器输入输出插座第一个POWER LED:USB2002卡电源指示灯,USB2002与计算机通过USB带缆连接后,此指示灯应亮第二个POWER LED:与POWER LED并联联接,当将USB2002放置于机
19、箱内时,可将其电源指示灯移到机箱上第一个OVERFLOW LED:当USB2002卡上FIFO存储器“全满”指示灯亮时,说明USB2002卡的A/D数据已经溢出第二个OVERFLOW LED:与第一个并联联结,通过它可以将FIFO存储器“全满”指示灯移到上 第53页/共78页第五十三页,编辑于星期六:四点 十七分。XS1的管脚定义 第54页/共78页第五十四页,编辑于星期六:四点 十七分。XS2开关量输入的管脚定义 第55页/共78页第五十五页,编辑于星期六:四点 十七分。XS3开关量输出的管脚定义 第56页/共78页第五十六页,编辑于星期六:四点 十七分。XS5计数器管脚定义 第57页/共7
20、8页第五十七页,编辑于星期六:四点 十七分。模拟信号输入方式选择 第58页/共78页第五十八页,编辑于星期六:四点 十七分。模拟信号输入量程选择 第59页/共78页第五十九页,编辑于星期六:四点 十七分。数据格式数据转换第60页/共78页第六十页,编辑于星期六:四点 十七分。模拟输入信号的连接方式 第61页/共78页第六十一页,编辑于星期六:四点 十七分。采样模式 伪同步采集模式伪同步采集模式:当由定时器脉冲或外部时钟有效边沿启动后,在板上逻辑的控制下以400KHz的速度,从第首通道FirstChannel开始顺序转换到末通道FirstChannel结束(FirstChannel=LastCh
21、annel)。同时转换数据顺序写入FIFO存储器中,转换完后重新进入等待比较长的时间(时间长短由用户设定),等待下一个启动信号,再开始从FirstChannel到LastChannel通道的转换,如此循环下去。分频器采集模式:也叫连续采集模式当由定时器脉冲或外部时钟有效边沿启动后,AD开始转换当前通道,并且AD在转换时板上逻辑电路自动设置为下一个转换通道,等待下一个有效启动脉冲到来。通道转换顺序为:从首通道FirstChannel开始顺序转换到第末通道LastChannel结束,然后由重新从FirstChannel到LastChannel通道,如此循环直到用户结束转换,(FirstChanne
22、l=LastChannel)。AD转换数据顺序写入FIFO寄存器中。第62页/共78页第六十二页,编辑于星期六:四点 十七分。FIFO数据存储FIFO中的数据按从首通道FirstChannel到末通道LastChannel的采样数据依次循环存放,如下FirstChannel,FirstChannel+1,.,LastChannel.FirstChannel,.,LastChannel,结束 第63页/共78页第六十三页,编辑于星期六:四点 十七分。计数器8254第64页/共78页第六十四页,编辑于星期六:四点 十七分。工作方式 方式1可编程单次脉冲方式 方式2频率发生器方式 方式3方波频率发生
23、器方式 方式4软件触发选通方式 方式5硬件触发选通方式 第65页/共78页第六十五页,编辑于星期六:四点 十七分。方式1可编程单次脉冲方式 该方式要在门控信号GATE作用下工作。当装入计数初值N之后,要等GATE由低变高,并保持高时开始计数,此时输出OUT变成低电平,当计数结束时,输出变成高电平,即输出单次脉冲的宽度由装入的计数初值N来决定。当计数器减量计数未到零时,又装入一个新的计数值N1,则这个新值,不会影响当前的操作,只有原计数值减到零且有一个GATE上升沿时,计数器才从N1开始计数。如当前操作还未完,又有一次GATE上升沿时,则停止当前计数,又重新从N1开始计数,这时输出单次脉冲就被加
24、宽。第66页/共78页第六十六页,编辑于星期六:四点 十七分。方式2频率发生器方式在该方式下,计数器装入初始值,开始工作后,输出端将不断输出负脉冲,其宽度等于一个时钟周期,两负脉冲间的时钟个数等于计数器装入的初始值。在方式2中门控信号相当于复位信号,当GATE0时,立即强迫输出为高电平,当GATE1时,便启动一次新的计数周期,这样可以用一个外部控制逻辑来控制GATE,从而达到同步计数的作用。当然计数器也可以用软件控制GATE而达到同步控制目的。第67页/共78页第六十七页,编辑于星期六:四点 十七分。方式3方波频率发生器方式与方式2类似,当装入一个计数器初值N后,在GATE信号上升沿启动计数,
25、定时/计数器此时作减2计数,在完成前一半计数时,输出一直保持高电平,而在进行后一半计数时,输出又变成低电平。若装入的数N为奇数,则在(N1)/2个计数期间,输出保持高电平。在(N1)/2个计数期间,输出保持低电平。若在一次计数期间,将一个新的初值装入计数器,那么在当前的计数发生跳变时,计数器马上又按新的计数开始计数。第68页/共78页第六十八页,编辑于星期六:四点 十七分。方式4软件触发选通方式用控制字设置该方式后,输出即变为高电平,在GATE1时,计数器一旦装入初值,便马上开始计数,每当计数结束,便立即在输出端送出一个宽度等于一个时钟周期的负脉冲。如果在一次计数期间,装入了一个新的计数值。则
26、在当前的计数结束,送出负脉冲后,马上以这个新的计数开始计数。在GATE0时,禁止计数,这些均与方式2同,但这不是用GATE的上升沿来启动计数的。第69页/共78页第六十九页,编辑于星期六:四点 十七分。方式5硬件触发选通方式当采用该方式工作时,在GATE信号的上升沿启动计数器开始计数,输出一直保持高电平,当计数结束时,输出一个宽度等于时钟周期的负脉冲。在此种方式下,GATE是高电平或低电平都不再影响计数器工作。但计数操作可用GATE信号的上升沿重新触发,便又从原来的初值开始计数,计数期间,输出又一直保持高电平。第70页/共78页第七十页,编辑于星期六:四点 十七分。主要采集函数long USB
27、2002_CreateDevice(long DeviceID)创建设备对象,并返回其设备对象句柄 long USB2002_ReleaseDevice(long hDevice)释放设备对象所占用的系统资源及设备对象自身 若成功,则返回TRUE,否则返回FALSE,用户可以用GetLastError捕获错误码。第71页/共78页第七十一页,编辑于星期六:四点 十七分。long USB2002_InitDeviceAD(long hDevice,unsigned long*pADPara)初始化设备对象中的AD部件,为设备操作就绪有关工作,如预置AD采集通道,采样频率等,然后启动AD设备开始A
28、D采集。pADPara:采集方式:0-连续采集 1-分组采集 首通道 末通道 采样频率 组间间隔 程控增益:0-1倍 1-2倍 2-4倍 3-8倍 触发方式:0-内触发 1-外触发 接地方式:0-单端方式 1-双端方式第72页/共78页第七十二页,编辑于星期六:四点 十七分。long USB2002_ReleaseDeviceAD(long hDevice)释放设备对象中的AD部件所占用的系统资源。第73页/共78页第七十三页,编辑于星期六:四点 十七分。long USB2002_ReadDeviceAD(long hDevice,unsigned short int*pADBuffer,un
29、signed long ReadSizeWords)读取USB设备AD部件上的批量数据 pADBuffer pADBuffer 用户数据缓冲区地址 nReadSizeWords nReadSizeWords读取数据的长度(以字为单位),为了提高读取速率,根据特定要求,其长度必须指定为32字的整数倍长,如32、64、128 8192等字长 第74页/共78页第七十四页,编辑于星期六:四点 十七分。数字输入输出基本函数long USB2002_SetDeviceDO(long hDevice,unsigned char*pDOPara)将USB设备上的输出开关量置成相应的状态 long USB20
30、02_GetDeviceDI(long hDevice,unsigned char*pDIPara)将USB设备上的输入开关量状态读入内存 第75页/共78页第七十五页,编辑于星期六:四点 十七分。定时器基本函数long USB2002_InitDevCounter(long hDevice,long*pCntrCtrlPara)定时器写long USB2002_GetDevCounter(long hDevice,long*pCntrValPara)定时器读 第76页/共78页第七十六页,编辑于星期六:四点 十七分。2023/2/1377第77页/共78页第七十七页,编辑于星期六:四点 十七分。感谢您的观看!第78页/共78页第七十八页,编辑于星期六:四点 十七分。