我正在尝试使用Python中的pyVisa通过以太网连接到温度室。设备只允许通过端口2049进行连接。我可以通过PuTTY或HyperTerminal连接到它,但是当我在Python中尝试这个命令时
import visa
chamber = visa.instrument("TCPIP::10.2.17.130::2049")
我得到这个错误:
VI_ERROR_RSRC_NFOUND: Insufficient location information or the requested device or resource is not present in the system
我知道这个设备在那里,因为我可以用PuTTY语言通过它,但是我似乎无法让Python代码工作。有什么线索吗?pyvisa默认使用SSH吗?
试试这个:
你确定温度箱支持局域网仪器协议吗?
如果不确定,请尝试使用原始套接字,即
(pyvisa默认不使用SSH)
访问VISA资源的最简单方法(IMHO)仍然是使用VISA设备检测功能,该功能将通过:
visa.ResourceManager().list_resources()
,如果您使用pyVisa
viFindRsrc()
和viFindNext()
如果您使用visa32.dll
库。现在默认情况下,使用这两种方法都不会检测到LAN连接。这让您有两个选择:
list_resources()
和viFindRsrc()
/viFindNext()
列出实际上,它并不总是INSTR,这取决于资源类(请参见http://zone.ni.com/reference/en-XX/help/371361J-01/lvinstio/visa_resource_name_generic/)。
请确保将字节字符串发送到仪器(特别是使用Python 3+时),否则将出现以下错误:
也可以通过
0xBFFF0011
或返回值-1073807343
来标识。相关问题 更多 >
编程相关推荐