我试图通过Python中的pyVisa通过以太网连接连接到温度室.设备只允许通过端口2049连接.我通过PuTTY或HyperTerminal连接到它没有问题,但是当我在Python中尝试此命令时
import visa
chamber = visa.instrument("TCPIP::10.2.17.130::2049")
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
VI_ERROR_RSRC_NFOUND:系统中不存在位置信息不足或请求的设备或资源
我知道设备在那里是因为我可以在PuTTY中通过它进行讨论,但我似乎无法使Python代码工作.任何提示?pyvisa 默认使用SSH吗?
小智 5
访问VISA资源的最简单方法(恕我直言)仍然是使用VISA设备检测,它将通过:
visa.ResourceManager().list_resources(),如果你正在使用 pyVisaviFindRsrc()和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+),否则会出现以下错误:
VI_ERROR_RSRC_NFOUND:系统中不存在位置信息不足或请求的设备或资源
也可以通过0xBFFF0011或者返回值来识别-1073807343.
您确定恒温箱支持 LAN 仪器协议吗?
如果不确定,请尝试使用原始套接字,即
chamber = visa.instrument("TCPIP::10.2.17.130::2049::SOCKET")
Run Code Online (Sandbox Code Playgroud)
(pyvisa默认不使用SSH)
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           10361 次  |  
        
|   最近记录:  |