pyVISA:以编程方式将仪器返回到本地模式

时间:2017-04-24 15:37:40

标签: python python-3.x visa gpib pyvisa

我正在使用pyVISA来控制GPIB网络中的某些仪器。当我创建资源管理器时,我的GPIB网络中的所有仪器都进入远程模式,因此前面板显示屏已锁定且不会更新。当我关闭资源管理器时,仪器仍处于远程模式。

import visa

rm = visa.ResourceManager()

#Connect to a specific instrument
MyInstrument = rm.open_resource('GPIB0::10::INSTR')

#Do stuff
print(MyInstrument.query("*IDN?"))

#close resource manager
rm.close()

在这种特殊情况下,我只想控制网络中的一台仪器,但需要打开其他仪器,前面板显示器正常显示。

有没有办法排除"额外"资源管理器中的仪器以编程方式(不想断开GPIB电缆或手动关闭GPIB通信,如果我可以帮助它)和/或类似的东西,请转到本地"命令我可以发送到整个网络或特定仪器,因此一旦根据需要配置了相关仪器,前面板是否有效?

更新:

经过一些实验和进一步阅读后,我发现以下内容将我的仪器返回到本地模式:

#Return single instrument to local with 
#GTL command (VI_GPIB_REN_ADDRESS_GTL = 6)
MyInstrument.control_ren(6)

#Return all instruments in network to local by 
#deasserting remote enable line (VI_GPIB_REN_DEASSERT = 0)
MyInstrument.control_ren(0)

值0和6是在pyVISA中设置的常量(http://pyvisa.readthedocs.io/en/stable/_modules/pyvisa/constants.html) 似乎我应该能够在这里指定一个变量名而不是常量,所以显然我不理解其他东西,但至少我现在有一个有效的解决方案。

2 个答案:

答案 0 :(得分:2)

大多数乐器都有远程和本地命令。 Visa也有自己的set local命令,在c中看起来像viGpibControlREN( handle, VI_GPIB_REN_ADDRESS_GTL )。您必须阅读设备手册才能确定,但​​他们各自的签证命令通常类似于" SYST:LOC"

答案 1 :(得分:2)

有一个可用于控制设备的远程/本地状态的呼叫。

GPIBInstrument.control_ren(mode)
  

控制GPIB Remote Enable(REN)接口线的状态,以及可选的设备远程/本地状态。

     

对应于VISA库的viGpibControlREN功能。

Source