Вуаля, всего пол дня мучений и готово ;) Основные затыки были в том что 24М памяти это много, а вывести можно всего 250к за раз. Для большего количества надо несколько раз вычитывать со смещением.
250000 точек по LXI, скрипт на питоне
# -*- coding: utf-8 -*- """ Digitize data with scope DS1054Z (Rigol) Setup scope: - connect Channel 1 to cal output - set memory 600k pts - set horizontal time 1 ms/div, - set vertical 2.0 V/div Requre: - python module PyVISA-py https://pyvisa-py. …thedocs.io/en/latest/# - qt(for example window) """ # ---------- Config ---------------------- IP_scope = '192.168.88.13' #----------------------------------------- import time import visa import numpy rm = visa.ResourceManager('@py') #scope = rm.open_resource("TCPIP::192.168.1.13::INSTR") scope = rm.open_resource("TCPIP::{0}::INSTR".format(IP_scope)) print scope.query("*IDN?") scope.write(":WAV:FORM BYTE") scope.write(":SINGLE") time.sleep(4) #scope.write(":STOP") scope.write(":WAV:MODE RAW") scope.write(":WAV:SOUR CHAN1") #print scope.query(":ACQuire:MDEPth?") scope.write(":WAV:STAR 1") scope.write(":WAV:STOP 250000") time.sleep(1) #scope.write(":SINGLE") scope.write(":WAV:DATA?") rawdata = scope.read_raw(250000) cutdata = rawdata[11:-1:] #cut preamble data = numpy.frombuffer(cutdata, 'B') print scope.query(":SYSTem:ERRor?") t = range(len(data)) ch1 = data import matplotlib.pyplot as plt # Create plots with pre-defined labels. fig, ax = plt.subplots() ax.plot(t, ch1, 'C1', label='ch1') #ax.plot(t, ch2, 'C2', label='ch2') #ax.plot(t, ch3, 'C3', label='ch3') #ax.plot(t, ch4, 'C4', label='ch4') plt.xlabel('Sample') plt.ylabel('Value') plt.title('Scope DS1054 samples') plt.grid(True) ax.legend() plt.show(block=False) # view in ipython print "press any key" import sys sys.stdin.read(1) #time.sleep(10)