2016-02-20 343 views
0

更新:似乎工作“OK”这是我...虽然我不知道为什么某些答复在最后有/ r/n,为什么某些不。我已经明确地转身握手OFF ...PyVISA SCPI命令和查询(问题与值更新)

的命令/查询的例子/回复如下贴..

Pyvisa SCPI command output

**我使用PyVisa前端的传感器进行通信。

我有有发送命令或进行查询前三次出现在输出的变化..

我必须继续之前加入等待命令,我以为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 


     >>> 

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

+0

无图像,并且不应该。改为添加您的代码。 –

回答

3

你是对的,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' 有:

string.rstrip('\n')