R&S FSU
asciiResult$ = Space$(25000)
result$ = Space$(100)
startFreq$ = Space$(100)
span$ = Space$(100)
'--------- Grundeinstellung R&S FSU ----------------------------------------
Call SetupInstrument
status = viWrite(analyzer, "INIT:CONT OFF", 13, retCnt) 'Umschalten auf Single Sweep
status = viWrite(analyzer, "INIT;*WAI", 9, retCnt)
'--------- Frequenzbereich für Ausgabe bestimmen ---------------------------
status = viWrite(analyzer, "FREQ:STARt?", 11, retCnt)
status = viRead(analyzer, startFreq$, 100, retCnt)
startFreq = Val(startFreq$)
status = viWrite(analyzer, "FREQ:SPAN?", 10, retCnt)
status = viRead(analyzer, span$, 100, retCnt)
span = Val(span$)
'--------- Auslesen im Binärformat -----------------------------------------
status = viWrite(analyzer, "FORMAT REAL,32", 14, retCnt)
status = viWrite(analyzer, "TRAC1? TRACE1", 13, retCnt)
status = viRead(analyzer, result$, 2, retCnt)
digits = Val(Mid$(result$, 2, 1))'characters
result$ = Space$(100)
status = viRead(analyzer, result$, digits, retCnt)
traceBytes = Val(Left$(result$, digits))
status = viRead32(analyzer, traceData(0), traceBytes, retCnt)
status = viRead(analyzer, result$, 1, retCnt)
'--------- Ausgabe der Binärdaten als Frequenz-/Pegelpaare -----------------
traceValues = traceBytes / 4
stepsize = span / traceValues
For i = 0 To traceValues - 1
Print "Wert["; i; "] = "; startFreq + stepsize * i; ", "; traceData(i)
Next i
'--------- Grundeinstellung Zeitbereich ------------------------------------
status = viWrite(analyzer, "FREQ:SPAN 0Hz", 13, retCnt)'Umschalten in Zeitbereich
status = viWrite(analyzer, "INIT;*WAI", 9, retCnt)
'--------- Auslesen im ASCII-Format ----------------------------------------
status = viWrite(analyzer, "FORMAT ASCII", 12, retCnt)
status = viWrite(analyzer, "TRAC1? TRACE1", 13, retCnt)
status = viRead(analyzer, asciiResult$, 25000, retCnt)
Print "Contents of Trace1: ", asciiResult$ 'trace 1
END SUB
REM ************************************************************************
Kompakthandbuch 1313.9617.11 - 01
Kurzeinführung Fernsteuerung
Komplexere Programmbeispiele
'Puffer für ASCII-Trace-Daten
'Puffer für einfache Ergebnisse
'Puffer für Startfrequenz
'Puffer für Frequenzbereich
'Binärformat einstellen
'Trace 1 auslesen
'Zeichenzahl Längenangabe lesen und abspeichern
'Puffer neu initialisieren
'Längenangabe lesen und abspeichern
'Trace-Daten in Puffer lesen
'Schlusszeichen <NL> einlesen
'Single Precision = 4 Bytes
'Frequenzschrittweite berechnen
'Grundeinstellung
'Sweep durchführen mit Sync
'Startfrequenz auslesen
'Frequenzbereich auslesen
'Sweep durchführen mit Sync
'ASCII-Format einstellen
'Trace 1 auslesen und
'ausgeben
7.19