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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

LabVIEW初级入门教程.docx

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

2、个串行接口只能与一个设备进行通讯。 一些外设需要用特定字符来结束传送给它们的数据串。常用的结束字符是回车符、换行符或者分号。具体可以查阅设备使用手册以决定是否需要一个结束符。 在LabVIEW功能模板的Instrument I/OSerial程序库中包含进行串行通讯操作的一些功能模块:1. Serial Port Init VI模块用于初始化所选择的串行口。Flow control设置握手方式的参数。Buffer size设置程序分配的输入/输出缓冲区的大小。Port number决定通讯接口地址。Baud rate, data bits,stop bits和parity等设置通讯参数。2.

3、Serial port write VI模块把String to write中的数据写到port number指定的串行接口中。3. Serial port read VI模块从Port number指定的串行接口中读取requested byte count指定的字符个数。4. Bytes at serial port VI模块计算由Port number指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于Byte count中。 在下面的实例中,实现从一台串行仪器中读取测量值。首先,用Serial Port Init模块初始化串行接口,然后,用Serial Port Write模块

4、把命令参数发送给仪器,接着用Bytes at Serial Port模块查明在串行输入缓冲区中已经读入的字节个数,最后用Serial Port Read模块读取仪器数据。第三课 仪器控制(2)之GPIB仪器 GPIB程序库中包括IEEE 488.2应用程序和传统的GPIB应用程序。GPIB 488.2应用程序中增加了IEEE 488.2兼容性,具有IEEE 488.2的功能。然而,在本课程中,我们只讨论传统的GPIB应用程序。惠普公司在60年代末和70年代初开发了GPIB通用仪器控制接口总线标准。IEEE国际组织在1975年对GPIB进行了标准化,由此GPIB变成了IEEE 488标准。术语G

5、PIB,HP-IB和IEEE 488都是同义词。GPIB的原始目的是对测试仪器进行计算机控制。然而,GPIB的用途十分广泛,现在已广泛用于计算机与计算机之间的通讯,以及对扫描仪和图像记录仪的控制。 GPIB是一个数字化的24线并行总线。它包括8条数据线,5条控制线(ATN、EOI、IFC、REN和SRQ),3条握手线和8条地线。GPIB使用8位并行、字节串行的异步通讯方式。也就是说,所有字节都是通过总线顺序传送,传送速度由最慢部分决定。由于GPIB的数据单位是字节(8位),数据一般以ASCII码字符串方式传送。 有三种方式来标明传送数据结束。通常,GPIB包括一根连接线(EOI),用来传送数据

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

7、个听者。数据串在总线上从讲者向听者传送。LabVIEW的GPIB程序包自动处理寻址和大多数其他的总线管理功能。GPIB软件包: LabVIEW在Instrument I/O功能模板的GPIB和GPIB 488.2子模板下有许多GPIB通讯功能子程序模块,这些模块在工作平台上可以调用低层的488.2驱动软件。大多数的GPIB应用程序只需要从仪器读写数据串。下面讨论传统的GPIB Write/Read子程序模块。 GPIB Write模块把data string中的数据写入address string指定的设备中。Mode指定如何结束GPIB写入过程,如果在timeout ms指定的时间内操作未能

8、完成,则放弃此次操作。Error In和Error Out字符串与出错处理程序配合使用,检测可能的出错情况。Status是16位的布尔逻辑数组,每个元素代表GPIB控者的一种状态,详见本课程的稍后部分。 在上图程序中,GPIB WRITE模块把“VDC;MEAS1?;”字符串写入地址=2的GPIB设备中,本实例采用缺省值MODE=0,timeout ms=25000。 GPIB READ模块从address string指定地址的GPIB设备中读取由byte count指定的字节数,用户可以使用Mode参数指定结束读取的条件,与byte count一起使用。读取的数据由data string返

9、回。 用户必须把读取的字符串转换成数值数据,才能进行数据处理,例如进行曲线显示。Error In和Error Out是出错指示数簇。GPIB READ模块遇到下列情况之一则中止读取数据:(1)程序已经读取了所要求的字节数。(2)程序检测到一个错误。(3)程序操作超出时限。(4)程序检测到结束信息(由EOI发出)。(5)程序检测到结束字符EOS。 如上图所示的程序中,GPIB Read从地址=2的设备中读取20个字节的数据。该程序使用了缺省值MODE=0,TIMEOUT MS=25000。在本例中,如果读够了20个字节,或者检测到EOI,或者超出25000ms时间,读取过程将结束。应用练习目的:

10、使用GPIB子程序模块与GPIB设备通讯。 建立一个与任何GPIB仪器通讯的程序。本例采用传统的GPIB子程序与指定仪器进行GPIB读写操作。命令行参数“*idn?”适用于大多数IEEE 488.2兼容仪器,它要求仪器返回其标识符。前面板:1、从FILE菜单中选择NEW打开一个新面板。2、 建立上图所示的控制和显示(请记住,从程序框图中,选择相应的功能模块,再选择Create Control或者Create Indicator,可以产生所有的控制和显示)。3、 从“写入数据”控制栏中输入“*idn?”,在“字节计数”中输入数值100。程序框图:1、 打开框图编程窗口。 2、 创建如上图所示的框

11、图子程序模块。GPIB Write功能模块(在Instrument I/O:GPIB子模板)。该模块把字符串写入GPIB仪器。GPIB Read功能模块(在Instrument I/O:GPIB子模板)。该模块从GPIB仪器中读取数据字符串。General Error Handler功能模块(在TIME & DIALOG子模板)。该模块检查出错报告字符串,如果发现错误,则显示一个对话框。3、 返回到前面板,并运行该程序。在“读出数据”显示栏中将显示仪器的标识字符串,如果无数据返回,而接收到一个GPIB出错信息,EABO,或者error=6,这就表示你的仪器不能读命令参数“*idn?”.请查阅仪

12、器的使用手册以找出合适的相应命令。4、 把上述程序以GPIB.vi的名字保存,然后关闭。第三课 仪器控制(3)之VISA编程 VISA是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称。VISA是在所有LabVIEW工作平台上控制VXI、GPIB、RS-232以及其他种类仪器的单接口程序库。VISA是由组成VXI plug&play系统联盟的35家最大的仪器仪表公司所统一采用的标准。采用了VISA标准,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互相容使用。VISA包含的功能模块在Instrument I/OVISA子模板中。

13、大多数的VISA功能模块使用了VISA session参数,该参数在Control模板的Path and Refnum子模板中。 VISA session是每次程序操作过程的唯一逻辑标识符。它标识了与之通讯的设备名称以及进行I/O操作必需的配置信息。它由VISA Open功能模块产生,提供给VISA主功能模块使用。VISA Open功能模块产生标识信息,然后把它传送给下一个VISA功能模块。这样简化了数据流编程。它相似于文件I/O模块的参考名功能。 VISA session的缺省值是Instr。如果需要,可以打开VISA session选择如下值:Instr、 GPIB Instr、 Seri

14、al Instr和VISA/GPIB-VXI RBD Instr。下面介绍常用的VISA功能模块:VISA Open、VISA Write、VISA Read和VISA Close。 VISA Open根据Resource Name和VISA session与指定的设备建立通讯。模块返回VISA session标识值,使用该标识值就可以调用此设备的任何其他的操作功能。Error in和Error out字符串包含出错信息。 Resource Name包含I/O接口类型以及设备地址等信息。其编程语法如下表所示:接口程序语句SERIALASRLboard:INSTRGPIBGPIBboard:pr

15、imary address :secondary address:INSTRVXIVXI board:VXI logical address :INSTRGPIB-VXIGPIB-VXI board:GPIB-VXI primary address:VXI logical address :INSTR 关键词GPIB用于同GPIB设备建立通讯,关健词VXI通过嵌入式或MXI总线控制器同VXI仪器建立通讯,关键词GPIB-VXI用于GPIB-VXI控制器,关键词SERIAL用于异步串行设备通讯。 在上例中,VISA open模块通过仪器描述字符串“GPIB:2:0:INSTR”与主地址=2的GP

16、IB设备建立通讯。 VISA Write模块把write buffer中的字符串写入VISA session指定的设备。dup VISA session向下传送相同的session值。在UNIX工作平台上,数据同步写入;在其他工作平台上,数据异步写入。return count返回实际传送的字节数。error in和error out字串包含出错状况。 VISA Read读取由VISA session指定设备中的数据。byte count指明读入read buffer中的字节数。磅VISA session向下传送相同的session值。在UNIX工作平台上,数据同步读入;在其他工作平台上的数据异

17、步读入。return count返回实际传送的字节数。error in和error out字串包含出错状况。VISA Close关闭由VISA session指定设备的通讯过程,释放系统资源,error in和error out字串包含出错状况。应用练习目的:用VISA模块与GPIB设备或者串行设备通讯。 本练习使用VISA功能模块向指定设备(GPIB或者串行设备)读写数据。命令参数“*idn?”适用于大多数仪器,无论是GPIB通讯或者串行通讯。它返回仪器的标识字串。本课中所有VISA练习都是根据Fluke 45万用表编程。前面板:1.打开一个新的前面板,并且照上图建立控制和指示件。VISA

18、session控制件可以在CONTROLS模板中的Path&Refnum子模板中找到。也可以通过VISA Open功能模块创建。2.Resource Name控制件应包含下列值:*对于地址=2的GPIB仪器:“GPIB:2:0:INSTR”*对于COM1上的串行仪器:“ASRL 1:INSTR”3.在Write Buffer字串控制栏中输入“*idn?”,在Byte Count控制栏中输入100。程序框图:1.打开框图窗口。2.按照上图选择创建框图对象并连接线。调用了下面的模块: VISA Open功能模块(在Instrument I/O:VISA子模板)。此模块打开通讯过程,并产生VISA

19、session参数。VISA Write功能模块(在Instrument I/O:VISA子模板)。此模块把数据串写入指定设备。VISA Read功能模块(在Instrument I/O:VISA子模板)。此模块从指定设备中读入数据。VISA Close功能模块(在Instrument I/O:VISA子模板)。此模块关闭VISA Session。3.返回前面板并运行该程序。VISA session控制件保持为设置值INSTR。如果要修改此参数,可以打开VISA session控制件,选择VISA Class值。根据Resource name的设置值,可以选择与GPIB或者串行设备进行通讯。4

20、.以VISA.vi文件名保存该程序,并关闭程序第四课 分析处理(3)之数字滤波器数字滤波器用于改变或消除不需要的波形。它是应用最广泛的信号处理工具之一。两种数字滤波器分别是:FIR(有限脉冲响应)和IIR(无限脉冲响应)滤波器。FIR滤波器可以看成一般移动平均值,它也可以被设计成线性相位滤波器。IIR滤波器有很好的幅值响应,但是无线性相位响应。带通、带阻与过渡带宽带通指的是滤波器的某一设定的频率范围,在这个频率范围的波形可以以最小的失真通过滤波器。通常,这个带通范围内的波形幅度既不增大也不缩小,我们称它为单位增益(0dB)。带阻指的是滤波器使某一频率范围的波形不能通过。理想情况下,数字滤波器有

21、单位增益的带通,完全不能通过的带阻,并且从带通到带阻的过滤带宽为零。在实际情况下,则不能满足上述条件。特别是从带通到带阻总有一个过渡过程,在一些情况下,使用者应精确说明过渡带宽。带通纹波和带阻衰减 在有些应用场合,在带通范围内放大系数不等于单位增益是允许的。这种带通范围内的增益变化叫作带通纹波。另一方面,带阻衰减也不可能是无穷大,我们必须定义一个满意值。带通纹波和带阻衰减都是以分贝(dB)为单位,定义如下:dB=20log(Ao(f)/Ai(f))其中,Ao(f)和Ai(f)是某个频率等于f的信号进出滤波器的幅度值。例如,假设带通纹波为-0.02dB,则有:-0.02=20log(Ao(f)/

22、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. 打开Low Pass Filter.vi程序。这个程序设计了一个低通巴特沃斯滤波器,从输入信号中滤除10Hz分量。2. 转换到框图程序。框图程序:1. 验证主框图程序,它使用了下面的子程序: Butterworth

23、Filter VI子程序(在AnalysisFilters子目录)。在本例中,采用巴特沃斯滤波器,指定滤波器阶数与截止频率,滤除输入正弦波中的高频分量,把输出波形在屏幕上显示。2. 运行该程序,改变滤波器阶数,观察滤波器的效果。 虽然在LabVIEW中使用数字滤波器很简便,但还是需要你对数字信号处理的理论有一个基本了解。为此,VI公司提供了一个附加的工具软件,叫作数字滤波器设计工具箱(Digital Filter Design Toolkit)。该软件用LabVIEW开发,有很好的交互式图形用户界面。可以把所设计的滤波器集成到LabVIEW、LabWindows/CVI或者其他的编程环境。第四

24、课 分析处理(4)之曲线拟合作者:佚名教程来源:不详点击数:1653更新时间:2007-8-15曲线拟合的目的是找出一系列的参数a0, a1, ,通过这些参数最好地模拟实验结果。下列是LabVIEW的各种曲线拟合类型:* 线性拟合 把实验数据拟合为一条直线yi=a0+a1*Xi* 指数拟合 把数据拟合为指数曲线yi=a0*exp(al*Xi)* 多项式拟合 把数据拟合为多项式函数: yi=a0+a1*Xi+a2*Xi2*通用多项式拟合 与多项式拟合相同,但可以选择不同的算法,以获得更好的精度和准确性。*通用线性拟合 公式为yi=a0+a1*f1(Xi)+a2*f2(Xi),这里yi是参数a0,

25、 a1, a2等的线性组合。通用线性拟合也可以选择不同的算法来提高精度和准确度。例如:y=a0+a1*sin(X)是一个线性拟合。因为y与参数a0, a1有着线性关系。同样道理,多项式拟合也总是属于线性拟合,但是它可以采用一些特殊算法以提高拟合处理的速度和精度。*General Levenberg-Marquardt拟合 把数据拟合为公式yi=f(Xi, a0, a1, a2)。其中a0, a1, a2是参数。这种方法是最通用的方法,它不需要y与a0, a1, a2有线性关系。它可用于线性或非线性拟合,但一般用于非线性拟合,因为对于线性曲线的处理采用通用线性拟合方法更加快捷。这种方法不能保证结

26、果一定正确,所以,有必要验证拟合结果。应用练习目的:对指数关系数据进行线性拟合前面板:1. 打开Linear Curve Fit.vi程序。这个例子假设我们收集了10对实验数据t和y,我们有理由相信它们之间有线性关系。2. 切换到框图程序。框图程序:1.验证框图程序,它使用了如下的子程序:Linear Fit子程序(在AnalysisCurve Fitting子模板)。在本例中,它把实验数据拟合为一条直线,求出系数a和b,以满足yi=a+b*ti;以及实验结果和拟合结果之间的误差的均方根值。2.输入数据是一个两维数组,是采用DAQ卡采集数据时的通用格式。我们用Index Array子程序可以分

27、解得到两个一维数组yi与ti。3.“MSE”表示误差均方根值,误差越小,拟合结果越好。4.运行该程序。曲线将显示实验数据和拟合结果。应用练习2目的:对指数数据执行多项式拟合前面板:1.打开Polynomial Fit.vi程序。这个例子假设实验数据之间为多项式关系: yi=a0+a1*ti+a2*ti22.当多项式为一阶时,有两个参数,结果是一个线性拟合,与前一个例子相同。当阶数为二阶时,结果是一个二阶多项式带三个参数,多项式参数存放于数组ai。3. 切转到框图程序。框图程序:1.验证框图程序,它使用了如下的子程序:General Polynomial Fit.vi子程序(在AnalysisC

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

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

30、EW编写通信模块: 1. 主要节点:Functions-Instrument I/O-VISA Resource Name Constant, Functions-Instrument I/O-Serial-VISA Config Serail Port, VISA Read, VISA Write, VISA Close 2. 串口设置:根据仪器说明设置如波特率等等串口参数。超时设置根据上述RI。 3. 写串口指令:根据上述“命令模式”的格式包装命令数据,和校验由“和校验范围”中数位相加而得,所以之前应该写一子VI用来计算和校验。建议使用以下变量来包装数据: l prefix:前缀,这里是: l devID:设备号 l type:通讯类型(这里是?),可以与RI合并 l cmdNum:命令号 l cmdValue:命令号对应的命令值 l sumVerify:和校验码 l end:结束字符 注意:一般协议要求“命令内容”满足一定的位数,所以应该做一个子VI,专门在那些数位不够的命令前补足空

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

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