Frage
Wie kann ich eine Arbiträrsignalform-Datei für den HMF2550 über Fernsteuerung erzeugen, übertragen und verarbeiten?
Ich finde keinen Befehl, um eine Signalform-Datei vom USB-Stick zu laden.
Wie kann ich eine Arbiträrsignalform-Datei für den HMF2550 über Fernsteuerung erzeugen, übertragen und verarbeiten?
Ich finde keinen Befehl, um eine Signalform-Datei vom USB-Stick zu laden.
Man kann auf eine Signalform-Datei, die sich auf einem USB-Stick befindet, nur von der Frontplatte aus zugreifen. Für diesen Schritt gibt es keinen Fernsteuerbefehl. Allerdings ist es möglich, einzelne ARB-Dateien mit Hilfe der Fernsteuerschnittstelle zu erzeugen und auszuführen.
Wir starten mit der Generierung der ARB-Signalformdatei, da dies die Grundlage für diese Betriebsart ist. Die Datei muss zwingend im Binärformat vorliegen. Im SCPI-Programmierhandbuch können wir folgende Beschreibung finden:
In unserem Fall verwenden wir LabVIEW, um die Aufbereitung der Daten zu zeigen. Im Anhang finden Sie das VI-Beispiel zusammen mit der Binärdatei:
Dabei werden die erforderlichen ARB-Informationen erzeugt, indem verschiedene Signalformen zu einer dedizierten Binärdatei kombiniert werden.
Diese Signalform repräsentiert eine Periode, sodass beispielsweise bei einer Frequenz von 3 kHz diese Datei 3000 Mal in einer Sekunde durchlaufen wird.
Nachdem die Datei aufbereitet wurde, können wir direkt mit der Programmierung starten. Unser Beispiel ist in R&S Forum geschrieben, ein freier Python-basierter Interpreter, der auf der Rohde & Schwarz-Homepage zur Verfügung steht. Es werden sämtliche Schritte von der Dateiübertragung bis zur finalen Erzeugung des Signals gezeigt.
Da SCPI-Befehle verwendet werden, kann ein Programmierer dieses Beispiel leicht in eine beliebige andere Sprache übertragen.
***
# Die Import-Dateien müssen sich im selben Verzeichnis befinden wie das aktuelle Skript
import VisaDeviceExtended
reload (VisaDeviceExtended)
# Anklopfen, ob das Gerät antwortet
idnResponse = HMF2550.query ('*IDN?')
print 'Hello, I am ' + idnResponse
# Gerät zurücksetzen, warten bis fertig, Status-Byte zurücksetzen,
# Fehlerabfrage (sollte leer sein)
HMF2550.write ("*RST")
time.sleep(1)
HMF2550.write ("*CLS")
HMF2550.ask ("SYST:ERR?")
# ARB-Datei von PC an Gerät senden und Fehler abfragen
# In Python immer auf Steuerzeichen achten, sodass Pfadnamen nicht falsch
# aufgelöst werden (siehe "r"); "True" muss am Ende speziell für diese
# HMx-Geräte gesetzt werden (Standard ist "False")
HMF2550.ext_send_pc_file_data_to_instrument (r"DATA ", r"c:\temp\_lv_arb_file.bin", True)
HMF2550.ask ("SYST:ERR?")
# Alle wichtigen Parameter für ARB setzen
HMF2550.write ('FREQ 3000') # Frequenz auf 3 kHz
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('VOLT:UNIT VOLT') # Einheit für Amplitude einstellen (kann auch dBm sein)
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('VOLT 2') # Amplitude auf 2 V setzen
HMF2550.ask ("SYST:ERR?")
HMF2550.write ('FUNC:ARB RAM') # ARB-Modus festlegen
HMF2550.ask ("SYST:ERR?")
HMF2550.write ("FUNC ARB") # ARB-Modus aktivieren
HMF2550.ask ("SYST:ERR?")
HMF2550.write ("OUTP ON") # Ausgabe aktivieren - das Signal sollte jetzt anliegen
HMF2550.ask ("SYST:ERR?")
print "ready"
***
Zum Schluss erscheint folgende Anzeige auf Ihrem HMF2550:
Auf dem Oszilloskop wird folgende Signalform dargestellt: