进行连续异步的VISA GPIB操作时,在ComponentWorks中得到名为-30557 (或 -30340)的错误。



主要软件: Measurement Studio
主要软件版本: 3.0
主要软件修正版本: N/A
次要软件: N/A

问题: 在使用多个VISA会话时,为何我无法进行连续异步操作?

解答: ComponentWorks错误-30557 以及 -30340意味着当一个请求被提交时另一个异步操作已经在处理当中。您不能因为在您的程序中有多个GPIB或是VISA控件而进行连续的异步GPIB操作。决定应用程序中最大同时可用I/O操作数的因素是您系统中所存在的GPIB接口数目,而不是您应用程序中的GPIB控件数目。举例来说,如果您在PC中有两块GPIB卡,那么您可以同时在每一块卡上进行一次I/O操作,但是如果您的PC上只有一块GPIB卡,那么无论您的应用程序中包含多少个GPIB或是VISA控件,您在某一时刻只能进行一次GPIB I/O操作。

在有限个接口的情况下,正确实现连续异步I/O效果的方法是执行一个异步操作,然后将下一个异步操作放在第一个操作的事件处理机制中。

举例来说,假设您想要对一台仪器写入"*idn?"并读取其返回字符,但由于您希望在该操作进行时同时处理其他一些任务,您需要使用异步VISA GPIB I/O调用。而不是调用: 以上代码将导致一个错误,您可以只调用第一个操作,CWVisa1.WriteAsync。当该异步操作完成后,一个WriteComplete事件将产生,您可以将您的CWVisa1.ReadAsync操作放在该事件的处理代码中。

相关链接:

附件:





报告日期: 08/25/2000
最近更新: 09/27/2008
文档编号: 20OH29XL