【问题标题】:pyVISA: Return instrument to local mode programmaticallypyVISA:以编程方式将仪器返回到本地模式
【发布时间】:2017-04-24 15:37:40
【问题描述】:

我正在使用 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 通信)和/或类似“ go to local" 命令我可以发送到整个网络或特定仪器,因此一旦根据需要配置了相关仪器,前面板就会生效?

更新:

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

#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) 似乎我应该能够在这里指定一个变量名而不是常量,所以显然还有一些我不理解的东西,但至少我现在有一个可行的解决方案。

【问题讨论】:

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


    【解决方案1】:

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

    GPIBInstrument.control_ren(mode)
    

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

    对应VISA库的viGpibControlREN函数。

    (Source)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-05
        • 2015-08-06
        • 1970-01-01
        • 1970-01-01
        • 2011-11-19
        相关资源
        最近更新 更多