好文档 - 专业文书写作范文服务资料分享网站

LabVIEW入门教程

天下 分享 时间: 加入收藏 我要投稿 点赞

LabVIEW教程

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模块把命令参数发送给仪器,接着用Bytes at Serial Port模块查明在串行输入缓冲区中已经读入的字节个数,最后用Serial Port Read模块读取仪器数据。

第三节 IEEE 488(GPIB)概述

GPIB程序库中包括IEEE 488.2应用程序和传统的GPIB应用程序。GPIB 488.2应用程序中增加了IEEE 488.2兼容性,具有IEEE 488.2的功能。然而,在本课程中,我们只讨论传统的GPIB应用程序。

北京中科泛华测控技术有限公司

41/41

LabVIEW教程

惠普公司在60年代末和70年代初开发了GPIB通用仪器控制接口总线标准。IEEE国际组织在1975年对GPIB进行了标准化,由此GPIB变成了IEEE 488标准。术语GPIB,HP-IB和IEEE 488都是同义词。GPIB的原始目的是对测试仪器进行计算机控制。然而,GPIB的用途十分广泛,现在已广泛用于计算机与计算机之间的通讯,以及对扫描仪和图像记录仪的控制。

GPIB是一个数字化的24线并行总线。它包括8条数据线,5条控制线(ATN、EOI、IFC、REN和SRQ),3条握手线和8条地线。GPIB使用8位并行、字节串行的异步通讯方式。也就是说,所有字节都是通过总线顺序传送,传送速度由最慢部分决定。由于GPIB的数据单位是字节(8位),数据一般以ASCII码字符串方式传送。

有三种方式来标明传送数据结束。通常,GPIB包括一根连接线(EOI),用来传送数据完毕信号。或者,也可以在数据串结束处放入一个特定结束符(EOS)。有些仪器用EOS方法代替EOI信号线方法,或者两种方法一起使用。还有一种方法,听者(数据接收方)可以计数已传送的数据字节,当达到限定的字节数时停止读取数据。只要EOI,EOS和限定字节数的逻辑“或”值为真,数据传送就停止。一般字节计数法作为缺省的传送结束方法,典型的字节数限定值等于或大于需要读取的数据值。

每个设备,包括计算机接口卡,必须有一个0到30之间的GPIB地址。一般GPIB接口板设置为地址0,仪器的GPIB地址从1到30。GPIB有一个控者(你的电脑)来控制总线。在总线上传送仪器命令和数据,控者寻址一个讲者,一个或者多个听者。数据串在总线上从讲者向听者传送。LabVIEW的GPIB程序包自动处理寻址和大多数其他的总线管理功能。 GPIB Instruments COMPUTER GPIB Interface GPIB Cable 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指定的时间内操作未能完成,则放弃此次操作。Error In和Error Out字符串与出错处理程序配合使用,检测可能的出错情况。Status是16位的布尔逻辑数组,每个元素代表GPIB控者的一种状态,详见本课程的稍后部分。

北京中科泛华测控技术有限公司 42/42

LabVIEW教程

在上图程序中,GPIB WRITE模块把“VDC;MEAS1?;”字符串写入地址=2的GPIB设备中,本实例采用缺省值MODE=0,timeout ms=25000。

GPIB READ模块从address string指定地址的GPIB设备中读取由byte count指定的字节数,用户可以使用Mode参数指定结束读取的条件,与byte count一起使用。读取的数据由data string返回。

用户必须把读取的字符串转换成数值数据,才能进行数据处理,例如进行曲线显示。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时间,读取过程将结束。

练习3-1

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

学员可以建立一个与任何GPIB仪器通讯的程序。本例采用传统的GPIB子程序与指定仪器进行GPIB读写操作。命令行参数“*idn?”适用于大多数IEEE 488.2兼容仪器,它要求仪器返回其标识符。

前面板:

北京中科泛华测控技术有限公司

43/43

LabVIEW教程

1、从FILE菜单中选择NEW打开一个新面板。

2、建立上图所示的控制和显示(请记住,从程序框图中,选择相应的功能模块,再选择Create Control或者Create Indicator,可以产生所有的控制和显示)。 3、从“写入数据”控制栏中输入“*idn?”,在“字节计数”中输入数值100。

程序框图:

1、 打开框图编程窗口。

2、 创建如上图所示的框图子程序模块。

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?”.请查阅仪器的使用手册以找出合适的相应命令。

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

(练习3-1结束)。

第四节 VISA编程

VISA是虚拟仪器软件结构体系(Virtual Instrument Software Architecture)的简称。VISA是在所有LabVIEW工作平台上控制VXI、GPIB、RS-232以及其他种类仪器的单接口程序库。VISA是由组成VXI plug&play系统联盟的35家最大的仪器仪表公司所统一采用的标准。采用了VISA标准,就可以不考虑时间及仪器I/O选择项,驱动软件可以相互相容使用。VISA包含的功能模块在Instrument I/O>VISA子模板中。大多数的VISA功能模块使用了VISA session参数,该参数在Control模板的Path and Refnum子模板中。

北京中科泛华测控技术有限公司 44/44

LabVIEW教程

VISA session是每次程序操作过程的唯一逻辑标识符。它标识了与之通讯的设备名称以及进行I/O操作必需的配置信息。它由VISA Open功能模块产生,提供给VISA主功能模块使用。VISA Open功能模块产生标识信息,然后把它传送给下一个VISA功能模块。这样简化了数据流编程。它相似于文件I/O模块的参考名功能。

VISA session的缺省值是Instr。如果需要,可以打开VISA session选择如下值:Instr、 GPIB Instr、 Serial 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接口类型以及设备地址等信息。其编程语法如下表所示:

接口

程序语句

SERIAL ASRL[board][::INSTR] GPIB VXI GPIB-VXI

GPIB[board]::primary address [::secondary address][::INSTR] VXI [board]::VXI logical address [::INSTR]

GPIB-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的GPIB设备建立通讯。

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工作平台上,数据同步读入;在其他工作平台上的数据异步读入。return count

北京中科泛华测控技术有限公司

45/45

LabVIEW入门教程

LabVIEW教程3.SerialportreadVI模块从Portnumber指定的串行接口中读取requestedbytecount指定的字符个数。4.BytesatserialportVI模块计算由Portnumber指定的串行接口的输入缓冲区中存放的字节个数,并将该数值存放于Bytecount中。
推荐度:
点击下载文档文档为doc格式
349yg02tw881m9s3zgwy
领取福利

微信扫码领取福利

微信扫码分享