Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI
1 rating:
 1 out of 5     Rate this Document

为什么不能和我的GPIB仪器通讯?

硬件: GPIB, GPIB

问题: 为什么不能和我的GPIB仪器通讯?

解答:
这个问题的解决方法取决于您所观察到的现象。这篇文档着重介绍了几种最常见的问题和解决方法。您可以通过Measurement and Automation Explorer (MAX),Interactive Control (IBIC),LabVIEW,LabWindows/CVI或者其他应用程序来和您的仪器通讯。通常来说,为了建立基本的通讯,您需要向您的仪器写入命令,然后从这个仪器读取一些有用的数据。

通过"Scan For Instruments"找不到您的仪器
Measurement and Automation Explorer的"Scan for Instruments"的功能对快速测试您的GPIB系统来说是十分有用的。通过点击Measurement and Automation Explorer中的这个按钮可以对0-31的GPIB地址进行FindLstn()的测试,以此来寻找总线上活动的收听者,随后向这些收听者发送“*IDN?”来确认这些仪器,接着再进行一个读的操作。尽管并不是所有的仪器都会回应"*IDN?”这条语句,但是大多数仪器将会被初始的FindLstn()测试发现。
如果您在这个环节中找不到您的仪器:
  • 检查您的电缆线。GPIB有严格的距离要求(不超过15个设备,任意两个仪器间的电缆长度不超过4米,总线上所有仪器之间的电缆平均长度不超过2米)。确认您的电缆正确连接了您的仪器和控制卡。如果可能的话试一下另外的电缆,尤其可以试一下更短的电缆。
  • 如果您连接了若干台仪器,请保留一个仪器并把其他仪器的连接都断开,因为一个配有损坏的GPIB接口的仪器会导致不能和总线上的其他正常的仪器进行通讯,
  • 请注意GPIB的0地址通常是为控制器保留的(通常是您电脑中的National Instruments GPIB卡),所以如果您的控制器的地址是0,请确认您仪器的地址不为0。您可以通过仪器的前面板或者通过仪器上的开关来设置仪器的地址。
写操作发生错误
您可能有在使用NI-488.2进行写操作时发生错误的经验。这些问题最常见的现象是写操作(IBWRT回调函数)之后会返回一个EABO(中止)的状态。 GPIB总线通过一个握手协议来保证仪器在控制卡将数据放到总线上的同时接收到了这些数据。EABO的错误通常是由于TIMO(超时)所造成的,这个超时是指控制卡等待总线上的仪器来完成一次握手的时间超过了限制。默认的超时值是10秒,所以通常来说您写操作会等待10秒然后返回错误。
您需检查的是:
  • 对于EABO和其他的写错误,您需确认您正在对正确的GPIB地址进行写操作。大多数的仪器可以用0-31的GPIB地址来配置。如果您使用的是Windows,Measurement and Automation Explorer的“Scan for Instruments”功能可以返回您的仪器的有效地址。如果您不是很确定仪器的当前设定,这项功能是尤其有用的。
  • EBUS的状态表示没有GPIB电缆的连接或者电缆上没有活动的设备,所以请检查确认电缆已经正确连接并且所有的设备都已经上电。
  • 请注意GPIB的0地址通常是为控制器保留的(通常是您电脑中的National Instruments GPIB卡),所以如果您的控制器的地址是0,请确认您仪器的地址不为0。您可以通过仪器的前面板或者通过仪器上的开关来设置仪器的地址。
读操作错误,没有数据返回
如果您在对仪器进行写操作时没有错误返回,您可以合理地认为您写的信息已经通过GPIB的3线握手协议正确地发送到仪器端。然后您需要进行一个读操作(IBRD回调函数)来获取仪器的响应。如果您读操作时接收到一个错误,很有可能是因为TIMO条件造成的EABO(中止)状态。这个说明GPIB控制器正在等待仪器的响应,但是却一直接收不到响应。
您需检查的是:
  • 您之前向您的仪器发送的命令。如果您写了一条无效的命令,这个仪器不会有任何的响应。您可以参见您仪器的用户手册或者联系它的制造商来向它发送一条简单的命令。很多仪器会对"*IDN?"或者“ID"(不需要引号)作出响应,但是还是有很大一部分不会对这些基本的确认命令做出响应。
  • 您写的字符串的中止方式。有两种方式来中止您向仪器发送的数据信息:在传输数据的最后一个字节后把GPIB的EOI(End of Identify)置为有效,或者在最后发送一个EOS(End of String)的字符(通常这是一个回车符或者一个换行符,两者都是非打印字符。您可以分别通过"\r"和"\n"来表示它们,但是这个会随着应用程序改变而改变)。National Instruments GPIB驱动软件默认的中止方式是在写操作发送最后一个字符后把EOI置为有效。如果您的设备需要一个中止字符,把它加在您向仪器写的字符串的最后。您可以通过调用驱动函数(参见 IBCONFIG)或者在GPIB Configuration utility(Windows中的MAX,其他操作系统上的GPIB Explorer)来改变EOI设置。
可以从知识库中标题为"GPIB Error Codes and Common Solutions"一文中获得关于GPIB错误码和常见原因的完整列表。下面的其他的知识库的链接提供了关于GPIB通讯问题的更多的信息。关于GPIB通讯问题的排错帮助也可以从主要的GPIB支持网页(下面的链接)中获得。如果您还是在和您的仪器通讯的时候遇到问题,请通过Request Support网页(下面的链接)来联系National Instruments的技术支持

相关链接:
KnowledgeBase 1DREQIQA: GPIB Error Codes and Common Solutions
KnowledgeBase 20H8G27Z: Why Can I Communicate with My GPIB Instrument in MAX, but Not in LabVIEW
Product Manuals Library
Product Manuals: NI-488.2 User Manual
Product Manuals: NI-488.2 Function Reference Manual for Windows
GPIB Support Main

附件:





报告日期: 03/23/2006
最近更新: 04/21/2006
文档编号: 0I593DEO

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit