首页 > 解决方案 > pyvisa 中的查询时间更快?

问题描述

有什么方法可以减少pyvisa查询仪器中的值并将所述值传输到程序所需的时间?

在我的情况下,我同时使用三个示波器。他们不断地测量数据,我的 python 程序正在将值写入文本文件。一小时后,我总共获得了 9000 次测量值(仅 0.83 次测量值/秒/示波器)。

我在文档中搜索,发现该query函数有一个时间参数,但该参数只是为了增加延迟时间。

有什么我可能会丢失的吗?

相关代码如下:

t_start = time.time()
while ((time.time()-time_run)<=3600.0):#measures for an hour
    meas_x_1 = float(oscilloscope_1.query('meas:vav? chan1'))
    meas_y_1 = float(oscilloscope_1.query('meas:vav? chan2'))
    meas_z_1 = float(oscilloscope_2.query('meas:vav? chan1'))
    
    meas_x_2 = float(oscilloscope_2.query('meas:vav? chan2'))
    meas_y_2 = float(oscilloscope_3.query('meas:vav? chan1'))
    meas_z_2 = float(oscilloscope_3.query('meas:vav? chan2'))
    
    total_meas += 1;
    #print(total_meas)
    file1.write(str(total_meas) + '\t' +str(meas_x_1) + '\t' + str(meas_y_1) + '\t' + str(meas_z_1) + '\t' + str(meas_x_2) + '\t'+ str(meas_y_2) + '\t' + str(meas_z_2) + '\n')
    if(total_meas %  100 == 0):
        print(int(time.time()-time_run)/60)
    #print(total_meas)
            

有关设置的其他一些信息:

标签: pyvisa

解决方案


推荐阅读