Anritsu PyVISA 问题

Posted

技术标签:

【中文标题】Anritsu PyVISA 问题【英文标题】:Anritsu PyVISA issues 【发布时间】:2013-12-02 20:54:52 【问题描述】:

我在与 Anritsu MG69377B 微波发生器通信时遇到问题。

我进入远程模式并识别仪器没有问题,但任何其他返回值的命令都已超时,仪器似乎确实响应了任何写入命令。我正在使用PyVISA 与仪器通信。

>>>import visa
>>> x = visa.connect('GPIB::5') #Address the instrument
>>> x.ask('*IDN?')  # Works Fine
>>>'ANRITSU,69377B,010918,2.35'
>>>
>>> x.ask('*STB?')

Traceback (most recent call last):
    File "<pyshell#37>", line 1, in <module>
        x.ask('*STB?')
    File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 502, in ask
        return self.read()
    File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 433, in read
        return self._strip_term_chars(self.read_raw())
    File "C:\Python27\lib\site-packages\pyvisa\visa.py", line 407, in read_raw
        chunk = vpp43.read(self.vi, self.chunk_size)
    File "C:\Python27\lib\site-packages\pyvisa\vpp43.py", line 840, in read
        visa_library().viRead(vi, buffer, count, byref(return_count))
    File "C:\Python27\lib\site-packages\pyvisa\vpp43.py", line 398, in check_status
        raise visa_exceptions.VisaIOError, status
   VisaIOError: VI_ERROR_TMO: Timeout expired before operation completed.

*机顶盒?是一个标准的 IEEE 命令,应该适用于任何遵循该标准的仪器(基本上就是全部)。我查看了手册,似乎也找不到其他代码的语法有任何问题。使用 PyVISA 远程连接时,该仪器似乎无法正常工作。 (不确定这是 PyVISA 问题还是我的仪器问题)。

【问题讨论】:

【参考方案1】:

693xxB 支持两种语言,称为 Native 和 SCPI。在该文书中,SCPI 语言是一个选项(选项 19)。在带有选项 19 的 693xxB 中,语言是仪器设置。

Native 模式仅支持常用命令 *IDN?。 SCPI 模式支持更常用的命令,例如 *STB?例如。

您的语法和 VISA 连接看起来不错。它在仪器设置/支持方面。

【讨论】:

以上是关于Anritsu PyVISA 问题的主要内容,如果未能解决你的问题,请参考以下文章

PyVISA - 无法让 GPIB 仪器以编程方式进入远程模式

Kivy & pyvisa - 如何在 GPIB 连接后将 ObjectProperty 设置为 None?

PyVISA RS232 超时错误(安捷伦电源)

PyVISA介绍

Keithley 2410 和 PyVISA - VI_ERROR_TMO:在操作完成前超时

Python 自动化测试