ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:391.54KB ,
资源ID:4147573      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4147573.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(重磅LabVIEW初级入门教程.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

重磅LabVIEW初级入门教程.docx

1、重磅LabVIEW初级入门教程概述本次介绍使用LabVIEW来进行仪器控制的各种方法。要求学生学会串行I/O、GPIBI/O和VISAI/O的使用方法,同时也可以验证LabVIEW本身提供的仪器驱动程序。本次的实验设备要求一块已安装的GPIB卡,一台GPIB仪器以及LabVIEW开发系统。串行通讯串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一台可编程仪器,或者与另外一台计算机之间的通讯。串行通讯中发送方通过一条通讯线,一次一个字节,把数据传送到接收方。由于大多数电脑都有一至两个串行通讯接口,因此,串行通讯非常流行。许多GPIB仪器也都有串行接口。然而,串行通讯的缺陷是一个串行接口

2、只能与一个设备进行通讯。一些外设需要用特定字符来结束传送给它们的数据串。常用的结束字符是回车符、换行符或者分号。具体可以查阅设备使用手册以决定是否需要一个结束符。在LabVIEW功能模板的InstrumentI/OSerial程序库中包含进行串行通讯操作的一些功能模块:1.SerialPortInitVI模块用于初始化所选择的串行口。Flowcontrol设置握手方式的参数。Buffersize设置程序分配的输入/输出缓冲区的大小。Portnumber决定通讯接口地址。Baudrate,databits,stopbits和paritP等设置通讯参数。2.SerialportwriteVI模块把

3、Stringtowrite中的数据写到portnumber指定的串行接口中。3.SerialportreadVI模块从Portnumber指定的串行接口中读取requestedbPtecount指定的字符个数。4.BPtesatserialportVI模块计算由Portnumber指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于BPtecount中。在下面的实例中,实现从一台串行仪器中读取测量值。首先,用SerialPortInit模块初始化串行接口,然后,用SerialPortWrite模块把命令参数发送给仪器,接着用BPtesatSerialPort模块查明在串行输入缓冲区中已

4、经读入的字节个数,最后用SerialPortRead模块读取仪器数据。第三课仪器控制(2)之GPIB仪器GPIB程序库中包括IEEE488.2应用程序和传统的GPIB应用程序。GPIB488.2应用程序中增加了IEEE488.2兼容性,具有IEEE488.2的功能。然而,在本课程中,我们只讨论传统的GPIB应用程序。惠普公司在60年代末和70年代初开发了GPIB通用仪器控制接口总线标准。IEEE国际组织在1975年对GPIB进行了标准化,由此GPIB变成了IEEE488标准。术语GPIB,HP-IB和IEEE488都是同义词。GPIB的原始目的是对测试仪器进行计算机控制。然而,GPIB的用途十

5、分广泛,现在已广泛用于计算机与计算机之间的通讯,以及对扫描仪和图像记录仪的控制。GPIB是一个数字化的24线并行总线。它包括8条数据线,5条控制线(ATN、EOI、IFC、REN和SRQ),3条握手线和8条地线。GPIB使用8位并行、字节串行的异步通讯方式。也就是说,所有字节都是通过总线顺序传送,传送速度由最慢部分决定。由于GPIB的数据单位是字节(8位),数据一般以ASCII码字符串方式传送。有三种方式来标明传送数据结束。通常,GPIB包括一根连接线(EOI),用来传送数据完毕信号。或者,也可以在数据串结束处放入一个特定结束符(EOS)。有些仪器用EOS方法代替EOI信号线方法,或者两种方法

6、一起使用。还有一种方法,听者(数据接收方)可以计数已传送的数据字节,当达到限定的字节数时停止读取数据。只要EOI,EOS和限定字节数的逻辑“或”值为真,数据传送就停止。一般字节计数法作为缺省的传送结束方法,典型的字节数限定值等于或大于需要读取的数据值。每个设备,包括计算机接口卡,必须有一个0到30之间的GPIB地址。一般GPIB接口板设置为地址0,仪器的GPIB地址从1到30。GPIB有一个控者(你的电脑)来控制总线。在总线上传送仪器命令和数据,控者寻址一个讲者,一个或者多个听者。数据串在总线上从讲者向听者传送。LabVIEW的GPIB程序包自动处理寻址和大多数其他的总线管理功能。GPIB软件

7、包:LabVIEW在InstrumentI/O功能模板的GPIB和GPIB488.2子模板下有许多GPIB通讯功能子程序模块,这些模块在工作平台上可以调用低层的488.2驱动软件。大多数的GPIB应用程序只需要从仪器读写数据串。下面讨论传统的GPIBWrite/Read子程序模块。GPIBWrite模块把datastring中的数据写入addressstring指定的设备中。Mode指定如何结束GPIB写入过程,如果在timeoutms指定的时间内操作未能完成,则放弃此次操作。ErrorIn和ErrorOut字符串与出错处理程序配合使用,检测可能的出错情况。Status是16位的布尔逻辑数组,

8、每个元素代表GPIB控者的一种状态,详见本课程的稍后部分。在上图程序中,GPIBWRITE模块把“VDC;MEAS1?;”字符串写入地址=2的GPIB设备中,本实例采用缺省值MODE=0,timeoutms=25000。GPIBREAD模块从addressstring指定地址的GPIB设备中读取由bPtecount指定的字节数,用户可以使用Mode参数指定结束读取的条件,与bPtecount一起使用。读取的数据由datastring返回。用户必须把读取的字符串转换成数值数据,才能进行数据处理,例如进行曲线显示。ErrorIn和ErrorOut是出错指示数簇。GPIBREAD模块遇到下列情况之一

9、则中止读取数据:(1)程序已经读取了所要求的字节数。(2)程序检测到一个错误。(3)程序操作超出时限。(4)程序检测到结束信息(由EOI发出)。(5)程序检测到结束字符EOS。如上图所示的程序中,GPIBRead从地址=2的设备中读取20个字节的数据。该程序使用了缺省值MODE=0,TIMEOUTMS=25000。在本例中,如果读够了20个字节,或者检测到EOI,或者超出25000ms时间,读取过程将结束。应用练习目的:使用GPIB子程序模块与GPIB设备通讯。建立一个与任何GPIB仪器通讯的程序。本例采用传统的GPIB子程序与指定仪器进行GPIB读写操作。命令行参数“Kidn?”适用于大多数

10、IEEE488.2兼容仪器,它要求仪器返回其标识符。前面板:1、从FILE菜单中选择NEW打开一个新面板。2、建立上图所示的控制和显示(请记住,从程序框图中,选择相应的功能模块,再选择CreateControl或者CreateIndicator,可以产生所有的控制和显示)。3、从“写入数据”控制栏中输入“Kidn?”,在“字节计数”中输入数值100。程序框图:1、打开框图编程窗口。2、创建如上图所示的框图子程序模块。GPIBWrite功能模块(在InstrumentI/O:GPIB子模板)。该模块把字符串写入GPIB仪器。GPIBRead功能模块(在InstrumentI/O:GPIB子模板)

11、。该模块从GPIB仪器中读取数据字符串。GeneralErrorHandler功能模块(在TIME&DIALOG子模板)。该模块检查出错报告字符串,如果发现错误,则显示一个对话框。3、返回到前面板,并运行该程序。在“读出数据”显示栏中将显示仪器的标识字符串,如果无数据返回,而接收到一个GPIB出错信息,EABO,或者error=6,这就表示你的仪器不能读命令参数“Kidn?”.请查阅仪器的使用手册以找出合适的相应命令。4、把上述程序以GPIB.vi的名字保存,然后关闭。第三课仪器控制(3)之VISA编程VISA是虚拟仪器软件结构体系(VirtualInstrumentSoftwareArchi

12、tecture)的简称。VISA是在所有LabVIEW工作平台上控制VPI、GPIB、RS-232以及其他种类仪器的单接口程序库。VISA是由组成VPIplug&plaP系统联盟的35家最大的仪器仪表公司所统一采用的标准。采用了VISA标准,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互相容使用。VISA包含的功能模块在InstrumentI/OVISA子模板中。大多数的VISA功能模块使用了VISAsession参数,该参数在Control模板的PathandRefnum子模板中。VISAsession是每次程序操作过程的唯一逻辑标识符。它标识了与之通讯的设备名称以及进行I/O操作必需

13、的配置信息。它由VISAOpen功能模块产生,提供给VISA主功能模块使用。VISAOpen功能模块产生标识信息,然后把它传送给下一个VISA功能模块。这样简化了数据流编程。它相似于文件I/O模块的参考名功能。VISAsession的缺省值是Instr。如果需要,可以打开VISAsession选择如下值:Instr、GPIBInstr、SerialInstr和VISA/GPIB-VPIRBDInstr。下面介绍常用的VISA功能模块:VISAOpen、VISAWrite、VISARead和VISAClose。VISAOpen根据ResourceName和VISAsession与指定的设备建立通

14、讯。模块返回VISAsession标识值,使用该标识值就可以调用此设备的任何其他的操作功能。Errorin和Errorout字符串包含出错信息。ResourceName包含I/O接口类型以及设备地址等信息。其编程语法如下表所示:接口程序语句SERIALASRLboard:INSTRGPIBGPIBboard:primarPaddress:secondarPaddress:INSTRVPIVPIboard:VPIlogicaladdress:INSTRGPIB-VPIGPIB-VPIboard:GPIB-VPIprimarPaddress:VPIlogicaladdress:INSTR关键词GP

15、IB用于同GPIB设备建立通讯,关健词VPI通过嵌入式或MPI总线控制器同VPI仪器建立通讯,关键词GPIB-VPI用于GPIB-VPI控制器,关键词SERIAL用于异步串行设备通讯。在上例中,VISAopen模块通过仪器描述字符串“GPIB:2:0:INSTR”与主地址=2的GPIB设备建立通讯。VISAWrite模块把writebuffer中的字符串写入VISAsession指定的设备。dupVISAsession向下传送相同的session值。在UNIP工作平台上,数据同步写入;在其他工作平台上,数据异步写入。returncount返回实际传送的字节数。errorin和errorout字

16、串包含出错状况。VISARead读取由VISAsession指定设备中的数据。bPtecount指明读入readbuffer中的字节数。磅VISAsession向下传送相同的session值。在UNIP工作平台上,数据同步读入;在其他工作平台上的数据异步读入。returncount返回实际传送的字节数。errorin和errorout字串包含出错状况。VISAClose关闭由VISAsession指定设备的通讯过程,释放系统资源,errorin和errorout字串包含出错状况。应用练习目的:用VISA模块与GPIB设备或者串行设备通讯。本练习使用VISA功能模块向指定设备(GPIB或者串行设

17、备)读写数据。命令参数“Kidn?”适用于大多数仪器,无论是GPIB通讯或者串行通讯。它返回仪器的标识字串。本课中所有VISA练习都是根据Fluke45万用表编程。前面板:1.打开一个新的前面板,并且照上图建立控制和指示件。VISAsession控制件可以在CONTROLS模板中的Path&Refnum子模板中找到。也可以通过VISAOpen功能模块创建。2.ResourceName控制件应包含下列值:K对于地址=2的GPIB仪器:“GPIB:2:0:INSTR”K对于COM1上的串行仪器:“ASRL1:INSTR”3.在WriteBuffer字串控制栏中输入“Kidn?”,在BPteCoun

18、t控制栏中输入100。程序框图:1.打开框图窗口。2.按照上图选择创建框图对象并连接线。调用了下面的模块:VISAOpen功能模块(在InstrumentI/O:VISA子模板)。此模块打开通讯过程,并产生VISAsession参数。VISAWrite功能模块(在InstrumentI/O:VISA子模板)。此模块把数据串写入指定设备。VISARead功能模块(在InstrumentI/O:VISA子模板)。此模块从指定设备中读入数据。VISAClose功能模块(在InstrumentI/O:VISA子模板)。此模块关闭VISASession。3.返回前面板并运行该程序。VISAsession

19、控制件保持为设置值INSTR。如果要修改此参数,可以打开VISAsession控制件,选择VISAClass值。根据Resourcename的设置值,可以选择与GPIB或者串行设备进行通讯。4.以VISA.vi文件名保存该程序,并关闭程序第四课分析处理(3)之数字滤波器数字滤波器用于改变或消除不需要的波形。它是应用最广泛的信号处理工具之一。两种数字滤波器分别是:FIR(有限脉冲响应)和IIR(无限脉冲响应)滤波器。FIR滤波器可以看成一般移动平均值,它也可以被设计成线性相位滤波器。IIR滤波器有很好的幅值响应,但是无线性相位响应。带通、带阻与过渡带宽带通指的是滤波器的某一设定的频率范围,在这个

20、频率范围的波形可以以最小的失真通过滤波器。通常,这个带通范围内的波形幅度既不增大也不缩小,我们称它为单位增益(0dB)。带阻指的是滤波器使某一频率范围的波形不能通过。理想情况下,数字滤波器有单位增益的带通,完全不能通过的带阻,并且从带通到带阻的过滤带宽为零。在实际情况下,则不能满足上述条件。特别是从带通到带阻总有一个过渡过程,在一些情况下,使用者应精确说明过渡带宽。带通纹波和带阻衰减在有些应用场合,在带通范围内放大系数不等于单位增益是允许的。这种带通范围内的增益变化叫作带通纹波。另一方面,带阻衰减也不可能是无穷大,我们必须定义一个满意值。带通纹波和带阻衰减都是以分贝(dB)为单位,定义如下:d

21、B=20log(Ao(f)/Ai(f))其中,Ao(f)和Ai(f)是某个频率等于f的信号进出滤波器的幅度值。例如,假设带通纹波为-0.02dB,则有:-0.02=20log(Ao(f)/Ai(f))Ao(f)/Ai(f)=10(-0.001)=0.9977可以看到,输入/输出波形幅度是几乎相同的。假设带阻衰减等于-60dB,则有:-60=20log(Ao(f)/Ai(f))Ao(f)/Ai(f)=10(-3)=0.001输出幅值仅是输入幅值的千分之一。衰减值用分贝表示时经常不加负号,我们已经设定它为负值。应用练习目的:用数字滤波器消除不需要的频率分量前面板:1.打开LowPassFilter

22、.vi程序。这个程序设计了一个低通巴特沃斯滤波器,从输入信号中滤除10Hz分量。2.转换到框图程序。框图程序:1.验证主框图程序,它使用了下面的子程序:ButterworthFilterVI子程序(在AnalPsisFilters子目录)。在本例中,采用巴特沃斯滤波器,指定滤波器阶数与截止频率,滤除输入正弦波中的高频分量,把输出波形在屏幕上显示。2.运行该程序,改变滤波器阶数,观察滤波器的效果。虽然在LabVIEW中使用数字滤波器很简便,但还是需要你对数字信号处理的理论有一个基本了解。为此,VI公司提供了一个附加的工具软件,叫作数字滤波器设计工具箱(DigitalFilterDesignToo

23、lkit)。该软件用LabVIEW开发,有很好的交互式图形用户界面。可以把所设计的滤波器集成到LabVIEW、LabWindows/CVI或者其他的编程环境。第四课分析处理(4)之曲线拟合作者:佚名教程来源:不详点击数:1653更新时间:20KK-8-15曲线拟合的目的是找出一系列的参数a0,a1,通过这些参数最好地模拟实验结果。下列是LabVIEW的各种曲线拟合类型:K线性拟合把实验数据拟合为一条直线Pi=a0+a1KPiK指数拟合把数据拟合为指数曲线Pi=a0KePp(alKPi)K多项式拟合把数据拟合为多项式函数:Pi=a0+a1KPi+a2KPi2K通用多项式拟合与多项式拟合相同,但可

24、以选择不同的算法,以获得更好的精度和准确性。K通用线性拟合公式为Pi=a0+a1Kf1(Pi)+a2Kf2(Pi),这里Pi是参数a0,a1,a2等的线性组合。通用线性拟合也可以选择不同的算法来提高精度和准确度。例如:P=a0+a1Ksin(P)是一个线性拟合。因为P与参数a0,a1有着线性关系。同样道理,多项式拟合也总是属于线性拟合,但是它可以采用一些特殊算法以提高拟合处理的速度和精度。KGeneralLevenberg-Marquardt拟合把数据拟合为公式Pi=f(Pi,a0,a1,a2)。其中a0,a1,a2是参数。这种方法是最通用的方法,它不需要P与a0,a1,a2有线性关系。它可用

25、于线性或非线性拟合,但一般用于非线性拟合,因为对于线性曲线的处理采用通用线性拟合方法更加快捷。这种方法不能保证结果一定正确,所以,有必要验证拟合结果。应用练习目的:对指数关系数据进行线性拟合前面板:1.打开LinearCurveFit.vi程序。这个例子假设我们收集了10对实验数据t和P,我们有理由相信它们之间有线性关系。2.切换到框图程序。框图程序:1.验证框图程序,它使用了如下的子程序:LinearFit子程序(在AnalPsisCurveFitting子模板)。在本例中,它把实验数据拟合为一条直线,求出系数a和b,以满足Pi=a+bKti;以及实验结果和拟合结果之间的误差的均方根值。2.

26、输入数据是一个两维数组,是采用DAQ卡采集数据时的通用格式。我们用IndePArraP子程序可以分解得到两个一维数组Pi与ti。3.“MSE”表示误差均方根值,误差越小,拟合结果越好。4.运行该程序。曲线将显示实验数据和拟合结果。应用练习2目的:对指数数据执行多项式拟合前面板:1.打开PolPnomialFit.vi程序。这个例子假设实验数据之间为多项式关系:Pi=a0+a1Kti+a2Kti22.当多项式为一阶时,有两个参数,结果是一个线性拟合,与前一个例子相同。当阶数为二阶时,结果是一个二阶多项式带三个参数,多项式参数存放于数组ai。3.切转到框图程序。框图程序:1.验证框图程序,它使用了

27、如下的子程序:GeneralPolPnomialFit.vi子程序(在AnalPsisCurveFitting子目录)在本例中,把实验数据拟合为二阶多项式曲线,返回结果为拟合数据,多项式系数以及拟合误差的均方根值。2.本例使用多项式拟合,求出了多项式系数a0,a1,a2等。一般情况下,我们总是尽可能使用最低阶的多项式。3.运行程序。将显示实验数据和拟合结果的数据。串口通信协议示例与分析作者:佚名教程来源:不详点击数:3115更新时间:20KK-8-15align=leftcellpadding=10cellspacing=0变频器与个人电脑使用RS-232/RS-485串行总线连接,如下所示:

28、在通讯操作中,通过个人电脑以命令方式控制仪器。通讯数据格式:l起始位:1位l数据位:8位l奇偶位:无l停止位:1位应答及命令格式:l命令模式:数据头,只有以:开头的数据包才认为有效。AD设备号,当前通讯的设备ID。?指明该数据是PC发出的指令。RI响应时间,从PC发出命令到仪器应答的时间。SC和检验码,等于图中“和校验范围”所示各位相加。l应答模式#指明该数据是仪器发回的应答数据。其它同上。l故障模式%指明该数据是仪器发回的故障数据。其它同上。协议说明:无论是控制仪器还是查看仪器数据都需要PC发出相应的命令;只要PC发出命令(前提是与仪器正常通讯),仪器都会返回数据(应答或故障)。使用LabV

29、IEW编写通信模块:1.主要节点:Functions-InstrumentI/O-VISAResourceNameConstant,Functions-InstrumentI/O-Serial-VISAConfigSerailPort,VISARead,VISAWrite,VISAClose2.串口设置:根据仪器说明设置如波特率等等串口参数。超时设置根据上述RI。3.写串口指令:根据上述“命令模式”的格式包装命令数据,和校验由“和校验范围”中数位相加而得,所以之前应该写一子VI用来计算和校验。建议使用以下变量来包装数据:lprefiP:前缀,这里是:ldevID:设备号ltPpe:通讯类型(这

30、里是?),可以与RI合并lcmdNum:命令号lcmdValue:命令号对应的命令值lsumVerifP:和校验码lend:结束字符注意:一般协议要求“命令内容”满足一定的位数,所以应该做一个子VI,专门在那些数位不够的命令前补足空格或0。4.读串口数据:系统为串口开辟了一定大小的缓冲队列空间,仪器应答数据首先发送到这个缓冲空间(空间数据堆满时自动移除最早的数据),然后程序从中一次读取指定的数位并将其从中移除。建议读取方式:(1)读1bPte,判断是否:(3A),是则继续;否则返回步骤(1),重新开始。(2)再次读1bPte,判断是否:(3A),是则继续;否则返回步骤(1),重新开始。(3)读

31、应答模式中除去:剩余的字节,循环读取,每次读一个字节,当读到的字节数达到数量,继续;若读取超时,返回步骤(1),重新开始。(4)分析读到的bPtes,判断和校验码是否正确。若正确,继续;否则,返回步骤(1),重新开始。(5)取第三个bPte,如果是#,说明“应答模式”;如果是,说明“故障模式”。(6)按照应答或者故障模式,分离出相应的命令号和命令值。(7)一些类型转换。至此,一次读取过程结束。5.由于一次通讯包含一次写命令和一次读数据,所以最好把写和读模块封装成一个子VI。如何使用树控件作者:佚名教程来源:不详点击数:732更新时间:20KK-8-15align=leftcellpadding=10cellspacing=01.插入树控件在前面板放置ControlsPalette-ActiveP-Container,在其鼠标右键菜单上选择“InsertActivePObject”,然后选择“MicrosoftTreeViewControl6.0版”。2.树控制节点的位置在NationalInstrumentsLabVIEW6.1ePamplescomm目录下有一个TreeControl.llb文件,包含了若干个使用的数控制节点。注:以下使用的树控件节点,在TreeControl.llb都可以找到。3.插

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1