LabVIEW初级入门教程x.docx

上传人:b****4 文档编号:27283387 上传时间:2023-06-28 格式:DOCX 页数:33 大小:410.43KB
下载 相关 举报
LabVIEW初级入门教程x.docx_第1页
第1页 / 共33页
LabVIEW初级入门教程x.docx_第2页
第2页 / 共33页
LabVIEW初级入门教程x.docx_第3页
第3页 / 共33页
LabVIEW初级入门教程x.docx_第4页
第4页 / 共33页
LabVIEW初级入门教程x.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

LabVIEW初级入门教程x.docx

《LabVIEW初级入门教程x.docx》由会员分享,可在线阅读,更多相关《LabVIEW初级入门教程x.docx(33页珍藏版)》请在冰豆网上搜索。

LabVIEW初级入门教程x.docx

LabVIEW初级入门教程x

概述

本次介绍使用LabVIEW来进行仪器控制的各种方法。

要求学生学会串行I/O、GPIBI/O和

VISAI/O的使用方法,同时也可以验证LabVIEW本身提供的仪器驱动程序。

本次的实验设备要求一块已安装的GPIB卡,一台GPIB仪器以及LabVIEW开发系统。

串行通讯

串行通讯是一种常用的数据传输方法,它用于计算机与外设,例如一台可编程仪器,或者与另

多数电脑都有一至两个串行通讯接口,因此,串行通讯非常流行。

许多GPIB仪器也都有串行接口。

然而,串行通讯的缺陷是一个串行接口只能与一个设备进行通讯。

一些外设需要用特定字符来结束传送给它们的数据串。

常用的结束字符是回车符、换行符或者分号。

具体可以查阅设备使用手册以决定是否需要一个结束符。

在LabVIEW功能模板的Instrumentl/O>Serial

程序库中包含进行串行通讯操作的一些功能模块:

1.SerialPortlnitVI模块用于初始化所选择

的串行口。

Flowcontrol设置握手方式的参数。

Buffersize设置程序分配的输入/输出缓冲区的大小。

Portnumber决定通讯接口地址。

Baudrate,databits,stopbits和paritP等设置通

讯参数。

2.SerialportwriteVI模块把Stringtowrite中的数据写到portnumber指定的串

行接口中。

3.SerialportreadVI模块从Portnumber指定的串行接口中读取

requestedbPtecount指定的字符个数。

4.BPtesatserialportVI模块计算由Portnumber

指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于BPtecount中。

在下面的实例中,实现从一台串行仪器中读取测量值。

首先,用SerialPortInit模块初始化串行接

口,然后,用SerialPortWrite模块把命令参数发送给仪器,接着用BPtesatSerialPort模

块查明在串行输入缓冲区中已经读入的字节个数,最后用SerialPortRead模块读取仪器数据。

□□□tn口□□口口IT十

{~[q龙]卜卩-口□□CT□Hl口tl□□

SerialTartHrigvi

|CpFin血心StFiikgI,五一

 

龟aM

iiSw■

BytesAtSerialFort.vi

vihoine

□□"□B口□匚匚IJLILJLJLJLiiiiiJLZItybcrinLILj匚口LJLILI

第三课仪器控制

(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的用途十分广泛,现在已广泛用于计算机与计算机之间的通讯,以及对扫描仪和图像记录仪的控制。

GPIB是一个数字化的24线并行总线。

它包括8条数据线,5条控制线(ATN、EOI、IFC、REN和SRQ),3条握手线和8条地线。

GPIB使用8位并行、字节串行的异步通讯方式。

也就是说,所有字节都是通过总线顺序传送,传送速度由最慢部分决定。

由于GPIB的数据单位是字节(8位),数据一般以ASCII码字符串方式传送。

有三种方式来标明传送数据结束。

通常,GPIB包括一根连接线(EOI),用来传送数据完毕信号。

或者,也可以在数据串结束处放入一个特定结束符(EOS)o有些仪器用EOS方法代替EOI信号线方法,或者两种方法一起使用。

还有一种方法,听者(数据接收方)可以计数已传送的数据字节,当达到限定的字节数时停止读取数据。

只要EOI,EOS和限定字节数的逻辑或”值为真,数据传送就停止。

一般字节计数法作为缺省的传送结束

方法,典型的字节数限定值等于或大于需要读取的数据值。

每个设备,包括计算机接口卡,必须有一个0到30之间的GPIB地址。

一般GPIB接口板设置为地址0,仪器的GPIB地址从1到30。

GPIB有一个控者(你的电脑)来控制总线。

在总线上传送仪器命令和数据,控者寻址一个讲者,一个或者多个听者。

数据串在总线上从讲者向听者传送。

LabVIEW的GPIB程序包自动处理寻址和大多数其他的总线管理功能。

件包:

LabVIEW在Instrumentl/O

GPIB软

功能模板的GPIB和GPIB488.2子模板下有许

多GPIB通讯功能子程序模块,这些模块在工作平台上可以调用低层的488.2驱动软件。

大多数的GPIB应用程序只需要从仪器读写数据串。

下面讨论传统的

GPIBWrite/Read子程序模块。

GPIBWrite模块把datastring中的数据写入

addressstring指定的设备中。

Mode指定如何结束GPIB写入过程,如果在

ZjUIjO

pPiBWr

mine

piodeft))|

例采用缺省值MODE=0,timeoutms=25000

GPIBWRITE模块把“VDC;MEAS1

^51

程序中,

字符串写入地址=2的GPIB

设备中,本实

GPIBREAD模块从addressstring

timeoutms指定的时间内操作未能完成,则放弃此次操作。

ErrorIn和ErrorOut字

指定地址的GPIB设备中读取由bPtecount指定的字节数,用户可以使用Mode参数

指定结束读取的条件,与bPtecount—起使用。

读取的数据由datastring返回。

户必须把读取的字符串转换成数值数据,才能进行数据处理,例如进行曲线显示。

ErrorIn和ErrorOut是出错指示数簇。

GPIBREAD模块遇到下列情况之一则中止读

取数据:

(1)程序已经读取了所要求的字节数。

(2)程序检测到一个错误。

(3)程序操作超出时限。

(4)程序检测到结束信息(由EOI发出)。

(5)程序检测到结束字符

data

 

vihome

EOS。

如上图所示的程序中,

从地址=2的设备中读取20个字节的数据。

该程序使用了缺省值

 

EOI,或者超出25000ms时间,读取过程将结束。

应用练习目的:

使用GPIB子程序模块与GPIB设备通讯。

建立一个与任何GPIB仪器通讯的程序。

本例采用传统的

GPIB子程序与指定仪器进行GPIB读写操作。

命令行参数Kidn?

”适用于大多数

IEEE488.2兼容仪器,它要求仪器返回其标识符。

前面板:

1、从FILE菜单中选择

NEW打开一个新面板。

2、建立上图所示的控制和显示(请记住,从程序框图中,选

控制和显示)。

3、从写入数据”控制栏中输入Kidn?

”,在字节计数”中输入数值100。

模块(在Instrumentl/O:

:

GPIB子模板)。

该模块从GPIB仪器中读取数据字符串。

GeneralErrorHandler功能模块(在TIME&DIALOG子模板)。

该模块检查出错报告

字符串,如果发现错误,则显示一个对话框。

3、返回到前面板,并运行该程序。

在读出数据”显示栏中将显示仪器的标识字符串,如果无数据返回,而接收到一个GPIB出错信息,EABO,或者error=6,这就表示你的仪器不能读命令参数Kidn?

”•请查阅仪器的使用手册以找出合适的相应命令。

4、把上述程序以GPIB.vi的名字保存,然后关闭。

第三课仪器控制(3)之VISA编程

VISA是虚拟仪器软件结构体系(VirtualInstrumentSoftwareArchitecture)的简称。

VISA

是在所有LabVIEW工作平台上控制VPI、GPIB、RS-232以及其他种类仪器的单接口程序库。

VISA是由组成VPIplug&plaP系统联盟的35家最大的仪器仪表公司所统一采用的标准。

采用了VISA标准,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互相容使用。

VISA包含的功能模块在Instrumentl/O>VISA子模板中。

大多数的VISA功能模块使用了

VISASi

Instr

VISAsession参数,该参数在Control模板的PathandRefnum子模板中。

VISAsession是每次程序操作过程的唯一逻辑标识符。

它标识了与之通讯的设备名称以及进

行I/O操作必需的配置信息。

它由VISAOpen功能模块产生,提供给VISA主功能模块使用。

VISAOpen功能模块产生标识信息,然后把它传送给下一个VISA功能模块。

这样简化了数据流编程。

它相似于文件I/O模块的参考名功能。

VISAsession的缺省值是Instr。

如果需要,

可以打开VISAsession选择如下值:

Instr、GPIBInstr、SerialInstr和

VISA/GPIB-VPIRBDInstr。

下面介绍常用的VISA功能模块:

VISAOpen、VISAWrite、

VISARead和VISACIose。

VISAOpen根据ResourceName和VISAsession与指定的设备建立通讯。

模块返回VISAsession标识值,使用该标识值就可以调用此设备的任何其他的操作功能。

Errorin和Errorout字符串包含出错信息。

ResourceName包含I/O接口类型以及设备地址等信息。

其编程语法如下表所示:

接口程序语句

Paddress[:

:

secondarPadd

SERIALASRL[board][:

:

INSTR]GPIBGPIB[board]:

:

primarress][:

:

INSTR]VPIVPI[board]:

:

VPIIogicaladdress[:

:

INSTR]GPIB-VPIGPIB-VPI[boa

rd][:

:

GPIB-VPIprimarPaddress]:

:

VPIlogicaladdress[:

:

INSTR]关键词GPIB用于同

GPIB设备建立通讯,关健词VPI通过嵌入式或MPI总线控制器同VPI仪器建立通讯,关键词GPIB-VPI用于GPIB-VPI控制器,关键词SERIAL用于异步串行设备通讯。

[sFm:

g:

d:

:

nmk卜f

error1ntn。

error

卿疥out

LV;1

EeSSLOII

Io1

 

述字符串“GPIB:

:

2:

:

0:

:

INSTR”与主地址=2的GPIB设备建立通讯。

VISAWrite模块把

writebuffer中的字符串写入VISAsession指定的设备。

dupVISAsession向下传送相同的

session值。

在UNIP工作平台上,数据同步写入;在其他工作平台上,数据异步写入。

returncount返回实际传送的字节数。

errorin和errorout字串包含出错状况。

VISARead

读取由VISAsession指定设备中的数据。

bPtecount指明读入readbuffer中的字节数。

VISAsession向下传送相同的session值。

在UNIP工作平台上,数据同步读入;在其他工作平台上的数据异步读入。

returncount返回实际传送的字节数。

errorin和errorout字串

包含出错状况。

VISACIose关闭由VISAsession指定设备的通讯过程,释放系统资源,errorin和errorout字串包含出错状况。

应用练习

目的:

用VISA模块与GPIB设备或者串行设备通讯。

本练习使用VISA功能模块向指定设备

(GPIB或者串行设备)读写数据。

命令参数Kidn?

”适用于大多数仪器,无论是GPIB通讯

或者串行通讯。

它返回仪器的标识字串。

本课中所有VISA练习都是根据Fluke45万用表编

VISAs»son(forcl

5PIB2:

0:

:

IHSTR

程。

前面板:

板,并且照上图建立控制和指示件。

1.打开一个新的前面

VISAsession控制件可以在CONTROLS模板中的

Path&Refnum子模板中找到。

也可以通过VISAOpen功能模块创建。

2.ResourceName控

制件应包含下列值:

K对于地址=2的GPIB仪器:

“GPIB:

:

2:

:

0:

:

INSTR”K对于COM1上的串行仪器:

“ASRL1:

:

INSTF”3.在WriteBuffer字串控制栏中输入Kidn?

”,在BPteCount

控制栏中输入100。

程序框图:

1.打开框图窗口。

priUbttfferl右严*■:

\QLSAbsession

tuFfsr

ran|

G*祇『门ErrorJiaridler.vi

|a&、

[VI鼬也l“|相邸血胡]|VI5A肛qee|

ir^rni

vihome

2.按照上图选择创建框

模板)。

此模块打开通讯过程,并产生VISAsession参数。

VISAWrite功能模块(在

Instrumentl/O:

:

VISA子模板)。

此模块关闭VISASession。

3.返回前面板并运行该程序。

VISAsession控制件保持为设置值INSTR。

如果要修改此参数,可以打开VISAsession控

制件,选择VISACIass值。

根据Resourcename的设置值,可以选择与GPIB或者串行设备进行通讯。

4.以VISA.vi文件名保存该程序,并关闭程序

第四课分析处理(3)之数字滤波器

数字滤波器用于改变或消除不需要的波形。

它是应用最广泛的信号处理工具之一。

两种数字滤波器分别是:

FIR(有限脉冲响应)和IIR(无限脉冲响应)滤波器。

FIR滤波器可以看成一般移动平均值,它也可以被设计成线性相位滤波器。

IIR滤波器有很好的幅值响应,但是无线性相位响应。

带通、带阻与过渡带宽带通指的是滤波器的某一设定的频率范围,在这个频率范围的波形可以以最小的失真通过滤波器。

通常,这个带通范围内的波形幅度既不增大也不缩小,我们称它为单位增益(0dB)。

带阻指的是滤波器使某一频率范围的波形不能通过。

理想情况下,数字滤波器有单位增益的带通,完全不能通过的带阻,并且从带通到带阻的过滤带宽为零。

在实际情况下,则不能满足上述条件。

特别是从带通到带阻总有一个过渡过程,在一些情况下,使用者应精确说明过渡带宽。

带通纹波和带阻衰减在有些应用场合,在带通范围内放大系数不等于单位增益是允许的。

这种带通范围内的增益变化叫作带通纹波。

另一方面,带阻衰减也不可能是无穷大,我们必须定义一个满意值。

带通纹波和带阻衰减都是以分贝(dB)为单位,定义如下:

dB=20Xlog(Ao(f)/Ai(f))其中,Ao(f)和Ai(f)是某个频率等于f的

信号进出滤波器的幅度值。

例如,假设带通纹波为-0.02dB,则有:

-0.02=20Xlog

(Ao(f)/Ai(f))Ao(f)/Ai(f)=10A(-0.001)=0.9977可以看到,输入/输出波形幅度是几

乎相同的。

假设带阻衰减等于-60dB,则有:

-60=20Xlog(A°(f)/Ai(f))A°(f)/Ai(f)=10A

(-3)=0.001输出幅值仅是输入幅值的千分之一。

衰减值用分贝表示时经常不加负号,我们已经设定它为负值。

应用练习

目的:

用数字滤波器消除不需要的频率分量前面板:

采样誉样频围

1

Sine

£ine直解彳

幅度1

幅度2

5

1.00

1*

撅率丄1

*ID.00

<1

£.00

初始相位1

沪00

[t

gins■戒形

57-,—T1

0.0051015Z.0

低誌頻率;n

阶数

1

 

1.打开LowPassFilter.vi

程序。

这个程序设计了一个低通巴特沃斯滤波器,从输入信号中滤除10Hz分量。

2.转换到框图程序。

框图程序:

采枠頻率Irsinj-

[WFTlir^-

初始相位l

缈車刃[|~5呵]——

|5int谯形|

"Lowpy任▼

IMlIH

底截频率.fl

€••—Z*—■•卜

H

\.■wXi!

.'

 

1.验证主框图程序,它使用了下面的子程序:

ButterworthFilterVI子程序(在

AnalPsis>Filters子目录)。

在本例中,采用巴特沃斯滤波器,指定滤波器阶数与截止频率,

滤除输入正弦波中的高频分量,把输出波形在屏幕上显示。

2.运行该程序,改变滤波器阶数,观察滤波器的效果。

虽然在LabVIEW中使用数字滤波器很简便,但还是需要你对数字信号处理的理论有一个基本了解。

为此,VI公司提供了一个附加的工具软件,叫作数字滤波器设计工具箱(DigitalFilterDesignToolkit)。

该软件用LabVIEW开发,有很好的交互式图形用户

界面。

可以把所设计的滤波器集成到LabVIEW、LabWindows/CVI或者其他的编程环境。

第四课分析处理(4)之曲线拟合

作者:

佚名教程来源:

不详点击数:

1653更新时间:

20KK-8-15

曲线拟合的目的是找出一系列的参数a0,a1,……,通过这些参数最好地模拟实验结果。

下列是LabVIEW的各种曲线拟合类型:

K线性拟合-把实验数据拟合为一条直线P[i]=a0+a1KP[i]K指数拟合-把数据拟合为指数曲线P[i]=a0KePp(alKP[i])K多项式

拟合-把数据拟合为多项式函数:

P[i]=a0+a1KP[i]+a2KP[i]A2…K通用多项式拟合

-与多项式拟合相同,但可以选择不同的算法,以获得更好的精度和准确性。

K通用线

性拟合-公式为P[i]=a0+a1Kf1(P[i])+a2Kf2(P[i])…,这里P[i]是参数a0,a1,a2…

等的线性组合。

通用线性拟合也可以选择不同的算法来提高精度和准确度。

例如:

P=

a0+a1Ksin(P)是一个线性拟合。

因为P与参数a0,a1有着线性关系。

同样道理,多

项式拟合也总是属于线性拟合,但是它可以采用一些特殊算法以提高拟合处理的速度和精度。

KGeneralLevenberg-Marquardt拟合-把数据拟合为公式P[i]=f(P[i],aO,

a1,a2…)。

其中a0,a1,a2…是参数。

这种方法是最通用的方法,它不需要P与a0,a

1,a2…有线性关系。

它可用于线性或非线性拟合,但一般用于非线性拟合,因为对于线性曲线的处理采用通用线性拟合方法更加快捷。

这种方法不能保证结果一定正确,所以,有必要验证拟合结果。

应用练习

目的:

对指数关系数据进行线性拟合前面板:

W]|声]|

jD.00

1

IToo-

『M1

包叩

330

p.oo

QD

r■—■■i

49E

rw

[TaF

730

|7.00

A

5.09j

isoo

—j

&.03

fe.oo

7

心1

Jl

实脸数据叽i】銀刍肓的曲线/■[l]

j:

+H47

iff':

扭會后的数据*[门|

1.

打开LinearCurveFit.vi

程序。

这个例子假设我们收集了10

对实验数据t和P,我们

 

有理由相信它们之间有线性关系。

2.切换到框图程序。

框图程序:

阿|」

—|[btL.庖

=樹

vih(me

1.验证框图程序,它使用

子模板)。

在本例中,

了如下的子程序:

LinearFit子程序(在AnalPsis>CurveFitting

;以及实验

它把实验数据拟合为一条直线,求出系数a和b,以满足P[i]=a+bKt[i]

结果和拟合结果之间的误差的均方根值。

2.输入数据是一个两维数组,是采用DAQ卡采集数据时的通用格式。

我们用IndePArraP子程序可以分解得到两个一维数组

P[i]与圳。

3.“MSE'表示误差均方根值,误差越小,拟合结果越好。

4.运行该程序。

曲线将显示实验数据和拟合结果。

======================

应用练习2

目的:

对指数数据执行多项式拟合前面板:

1.打开PolPnomialFit.vi程序。

这个例子

假设实验数据之间为多项式关系:

P[i]=aO+a1Kt[i]+a2Kt[i]A2…2.当多项式为一阶

时,有两个参数,结果是一个线性拟合,与前一个例子相同。

当阶数为二阶时,结果

是一个二阶多项式带三个参数,多项式参数存放于数组a[i]。

输入数据I

ruse

l07E-1

a[i]

3.

 

i.验证框图程序,

它使用了如下的子程序:

GeneralPolPnomialFit.vi子程序(在

AnalPsis>CurveFitting子目录)在本例中,把实验数据拟合为二阶多项式曲线,返

回结果为拟合数据,多项式系数以及拟合误差的均方根值。

2.本例使用多项式拟合,求出了多项式系数a0,a1,a2等。

一般情况下,我们总是尽可能使用最低阶的多项式。

3.运行程序。

将显示实验数据和拟合结果的数据。

串口通信协议示例与分析

作者:

佚名教程来源:

不详点击数:

3115更新时间:

20KK-8-15

 

align="left"cellpadding="10"cellspacing="0">

5串行总线连接,如下所示:

变频器与个人电脑使用RS-232/RS-48

 

扌旨令

应答

在通讯操作中,通过个人电脑以命令方式控制仪器。

通讯数据格式:

l起始位:

1位

l数据位:

8位

l奇偶位:

l停止位:

1位

应答及命令格式:

l命令模式

和校验范围

-

AD(Hl

AD

(L)

9

■-

R

1

命令內零

SC(卜1)

SC

(L)

3A

3A

站别号

()1^33

3F

XX

和校验闵m巳

:

:

—数据头,只有以:

开头的数据包才认为有效。

AD—设备号,当前通讯的设备ID。

—指明该数据是PC发出的指令。

RI—响应时间,从PC发出命令到仪器应答的时间。

SC—和检验码,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 财会金融考试

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

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