import pyvisa from datetime import datetime import os from pathlib import Path # Datei Pfad und Namen festlegen ordner = Path.home() / "Documents" dateiName = "Rigol_DS1054 Screenshot.png" def getSystemTime(): # aktuelles Datum und Uhrzeit zusammenbauen zeitstempel: str = datetime.now().strftime("%y%m%d_%H%M%S") return zeitstempel def modifiziereDateiName(datei): dateiname, dateiendung = os.path.splitext(datei) neuerDateiname = f"{dateiname}_{getSystemTime()}{dateiendung}" # print(f"alter Dateiname: {dateiname}{dateiendung}") # print("neuer Dateiname:", neuerDateiname) return neuerDateiname dateipfad: str = ordner / (modifiziereDateiName(dateiName)) print(dateipfad) # Initialisieren Sie den Resource Manager rm = pyvisa.ResourceManager() # Alle verfügbaren Ressourcen auflisten resources = rm.list_resources() print("Gefundene Geräte:", resources) scope = rm.open_resource('USB0::0x1AB1::0x04CE::DS ... ::INSTR') # Timeouts setzen scope.timeout = 5000 scope.write_termination = None scope.read_termination = None # Screenshot als PNG anfordern scope.write(":DISP:DATA? ON,OFF,PNG") # Binärdaten lesen data = scope.read_raw() # Header entfernen # Format: b'#9XXXXXXXXX' header_length = int(data[1:2]) header_size = 2 + header_length png_picture = data[header_size:] # Datei speichern with open(dateipfad, "wb") as file: file.write(png_picture) # Egal was passiert, auf jeden Fall Datei schließen file.close() print(f"Screenshot gespeichert unter: {dateipfad}")