GPIB程序库中包括IEEE 488.2应用程序和传统的GPIB应用程序。GPIB 488.2应用程序中增加了IEEE 488.2兼容性,具有IEEE 488.2的功能。然而,在本课程中,我们只讨论传统的GPIB应用程序。惠普公司在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软件包: 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控者的一种状态,详见本课程的稍后部分。
在上图程序中,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。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /> 如上图所示的程序中,GPIB Read从地址=2的设备中读取20个字节的数据。该程序使用了缺省值MODE=0,TIMEOUT MS="25000"。在本例中,如果读够了20个字节,或者检测到EOI,或者超出25000ms时间,读取过程将结束。 应用练习目的:使用GPIB子程序模块与GPIB设备通讯。 建立一个与任何GPIB仪器通讯的程序。本例采用传统的GPIB子程序与指定仪器进行GPIB读写操作。命令行参数“*idn?”适用于大多数IEEE 488.2兼容仪器,它要求仪器返回其标识符。 前面板: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的名字保存,然后关闭。
文章评论(0条评论)
登录后参与讨论