我尝试将我的功率分析仪 Rohde&Schwarz、HMC8015 ('ASRL3::INSTR') 连接到我的计算机,并读取我的设备可以使用 python VISA 显示的任何数据。我的代码行有很多问题,它允许读取我的设备数据。
我的代码是:
import visa
rm = visa.ResourceManager()
name = rm.list_resources()
#using with allows to close explicitly the resource at the end of the script
with rm.open_resource('ASRL3::INSTR') as Power_Analyser:
Power_Analyser.values_format.is_binary = True
Power_Analyser.values_format.datatype = 'B'
Power_Analyser.values_format.is_big_endian = False
Power_Analyser.values_format.container = bytearray
Power_Analyser.timeout = 25000 #2,5 seconds
Power_Analyser.write_termination = '\n'
Data = Power_Analyser.query_ascii_values('P?',datatype='s')[0]
print(Data)
#write the Data to a file on my PC
PCfilePath = 'C:\\Users\\ApCha\\Documents\\Python Scripts\\a.txt'
newFile = open(PCfilePath, "wb")
newFile.write(Data)
newFile.close()
它向我展示了:VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.
不管超时设置有多大。我猜问题出在语法上,
Power_Analyser.query_ascii_values('P?',datatype='s')[0]
但我不知道什么是正确的语法。
但似乎没有任何效果,python VISA 没有任何明确的解释,我对此没有任何经验。有谁知道如何解决这个问题?