2016-02-20 61 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')