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

2024-09-23 16:33:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我用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通信)和/或类似“转到本地”命令的方式发送到整个网络或特定仪器,那么,一旦有问题的仪器根据需要进行了配置,前面板就带电了?在

更新:

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

^{pr2}$

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


Tags: rm网络close远程方式visa模式情况
2条回答

大多数仪器都有远程和本地命令。Visa也有自己的set local命令,类似于c语言中的viGpibControlREN( handle, VI_GPIB_REN_ADDRESS_GTL )。你必须阅读设备手册才能确定,但是它们的单独Visa命令通常类似于系统:LOC““

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

GPIBInstrument.control_ren(mode)

Controls the state of the GPIB Remote Enable (REN) interface line, and optionally the remote/local state of the device.

Corresponds to viGpibControlREN function of the VISA library.

Source

相关问题 更多 >