PyVISA SCPI命令和查询(值更新问题)

2024-09-10 11:52:40 发布

您现在位置:Python中文网/ 问答频道 /正文

更新:它似乎正在工作“好”今天上午。。。虽然我不知道为什么某些回复最后有/r/n,为什么肯定没有。我已经明确地关闭了握手。。。在

下面是命令、查询和答复的示例。在

PyVISA SCPI command output

**我正在使用PyVISA前端与传感器通信。在

我必须发送一个命令或查询三次,然后才有一个输出的改变。。。在

在继续之前是否必须添加wait命令?我以为SCPI命令被阻塞了(可以说是同步的)。如果我做错事,请告诉我。以下是我的一些命令:**

    >>> import visa
    >>> ins = visa.ResourceManager()
    >>> print(ins.list_resources())
    ('ASRL1::INSTR', 'ASRL3::INSTR', 'ASRL6::INSTR', 'ASRL10::INSTR')
    >>> Energy_sense = ins.open_resource('ASRL6::INSTR')
    >>> print(Energy_sense.query('*IDN?'))
     Coherent, Inc - EnergyMax USB - V1.2 - Jan 27 2011


    >>> Energy_sense.write(":CONF:WAVE 780")
     (16, <StatusCode.success: 0>)
    >>> print(Energy_sense.query(':CONF:WAVE?'))
    780


     >>> Energy_sense.write(":SYST:COMM:HAND OFF")
     (21, <StatusCode.success: 0>)
     >>>
     >>> Energy_sense.write(":CONF:MEAS:STAT ON")
     (20, <StatusCode.success: 0>)
     >>> Energy_sense.write(":CONF:STAT:BSIZ 1000")
     (22, <StatusCode.success: 0>)
      >>> Energy_sense.query(":CONF:STAT:BSIZ?")
      '1000\r\n'
      >>> Energy_sense.write(":CONF:STAT:STAR")
      (17, <StatusCode.success: 0>)
      >>> Energy_sense.query(":READ?")
       '3.728E-5,3.150E-5,4.358E-5,2.597E-6\r\n'
      >>>
      >>> Energy_sense.query(":CONF:STAT:BSIZ?")
      '1000\r\n'
      >>>
      >>> print(Energy_sense.query(':CONF:WAVE?'))
      780

      >>>

您可以在图像中找到其余的命令。在


Tags: 命令confvisawavequerystatwriteenergy
1条回答
网友
1楼 · 发布于 2024-09-10 11:52:40

你是对的。VISA命令被阻塞,因此您不需要等待VISA命令。你设定好超时时间了吗?是不是太短了?有些设备对命令的响应时间可能比其他设备长。在

import visa
self._rm = visa.ResourceManager()
self._visa_conn = self._rm.open_resource('GPIB0::%s::INSTR' % instr_addr)
self._visa_conn.timeout = 1000 # In milliseconds

\n'可以删除:

^{pr2}$

相关问题 更多 >