我连接了Keithley 2701数字万用表,安装了软件并设置了正确的IP。我可以通过Internet Explorer网页和Keithley通信器访问和控制仪器。当我尝试使用python时,它会检测到仪器
即a=visa.instrument("COM1")
不会出错。
我也可以写信给乐器:
a.write("*RST")
a.write("DISP:ENAB ON/OFF")
a.write("DISP:TEXT:STAT ON/OFF")
等都不会出现任何错误,但仪器屏幕上看不到任何变化。
但是,当我尝试回读时,a.ask("*IDN?")
等给我一个错误
说操作完成前超时已到期。
我尝试重新定义为:
a=visa.instrument("COM1",timeout=None)
a=visa.instrument("TCPIP::<the IP adress>::1354::SOCKET")
和其他一些可能的组合,但我得到了同样的错误。
请帮忙。
答案 0 :(得分:0)
与2701通信的问题可能是无效的终止字符。默认情况下,终止字符的值为CR+LF
,即“\r\n”
。
设置终止字符的python代码是:
theInstrument = visa.instrument(“TCPIP::<IPaddress>::1394::SOCKET”, term_chars = “\n”)
或
theInstrument = visa.instrument(“TCPIP::<IPaddress>::1394::SOCKET”)
theInstrument.term_chars = “\n”
我希望这有帮助,