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

4

我正在使用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个回答

4

有一个可用的调用可以控制设备的远程/本地状态。

GPIBInstrument.control_ren(mode)

控制 GPIB 远程启用 (REN) 接口线的状态,并可选地控制设备的远程/本地状态。

对应于 VISA 库的 viGpibControlREN 函数。

(来源)


2

大多数仪器都有远程和本地命令。Visa还有自己的一组本地命令,看起来像c语言中的viGpibControlREN( handle, VI_GPIB_REN_ADDRESS_GTL )。您需要阅读设备手册以确保,但它们各自的visa命令通常是类似于"SYST:LOC"的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接