尝试与作用域通信时出错,VisaIOError:VI_Error_TMO(1073807339):操作完成前超时

2024-09-28 20:16:42 发布

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

我需要与范围,安捷伦Infinium DCA-J 86100C,与Python2.7进行通信。Keysight公司提供了各种python代码,虽然我试图运行其中一个来帮助我学习,但它崩溃了。我用GPIB和pyvisa连接。你知道吗

我已经试着改为终止字符,但它没有改变任何东西。我不确定我可以尝试什么波段频率。你知道吗

SCOPE_VISA_ADDRESS = "GPIB0::7::INSTR"
rm = visa.ResourceManager('C:\\Windows\\System32\\visa32.dll')
KsInfiniiVisionX = rm.open_resource(SCOPE_VISA_ADDRESS)
KsInfiniiVisionX.clear()

KsInfiniiVisionX.query(':SYSTEM:DSP "";*OPC?')
KsInfiniiVisionX.write(":HARDcopy:INKSaver OFF")
KsInfiniiVisionX.write(":DISPlay:DATA? PNG,SCReen,COLor")

my_image = KsInfiniiVisionX.read_raw()
Traceback (most recent call last):
  File "X:\...\Get_screen_image_VISA_Python_modified\InfiniiVision_Save_ScreenShot_to_PC_Python-2.7_modified.py", line 201, in <module>
    my_image = KsInfiniiVisionX.read_raw()
  File "C:\Python27\lib\site-packages\pyvisa\resources\messagebased.py", line 306, in read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Python27\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1582, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python27\lib\site-packages\pyvisa\ctwrapper\highlevel.py", line 188, in _return_handler
    raise errors.VisaIOError(ret_value)
VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.

Tags: inpyimagereadrawlibpackagesline
1条回答
网友
1楼 · 发布于 2024-09-28 20:16:42

我得到了帮助。我们的目标是拍摄示波器上显示的屏幕截图,并将此屏幕截图保存到已连接的PC上。图片在保存前必须进行修改。另外,函数“.read\u raw()”不起作用的原因是我以前必须执行一个*OPC,但只在.write()命令中执行,而不是在.query()中执行。你知道吗

    KsInfiniiVisionX.write('DISK:SIMAGE "D:\User Files\screen images\TEST.jpg",SCR,INV')
    KsInfiniiVisionX.write('*OPC?')
    complete = KsInfiniiVisionX.read()

    KsInfiniiVisionX.write('DISK:BFILE? "D:\User Files\screen images\TEST.jpg"')
    my_image = KsInfiniiVisionX.read_raw()

    dum  = (my_image[0:1].decode())
    length = int(my_image[1:2].decode())
    size = int(my_image[2:2+length].decode())

    search = dum+str(length)+str(size)
    my_file=my_image.partition(search.encode())

    base_directory = "X:\\..."
    target = open(base_directory + '{}.jpg'.format(file_name), 'wb')
    target.write(my_file[2])
    target.close()

不幸的是,我不是一个专家,所以我不能解释为什么它有效。你知道吗

相关问题 更多 >