FAQs from Rohde & Schwarz

Fernsteuerung: Frequenzen eines Messwandler-Sets auslesen

Frage

Egal welches Set ich auswähle, erhalte ich mit folgendem Script immer die Ausgabe des Sets, das ich manuell bearbeitet habe. TRANSDUCER:SET 1 TRANSDUCER:SET:RANGES:SELECT 1 TRANSDUCER:SET:RANGES:START? Der Rückgabewert sollte der Startwert von Bereich 1 von Set 1 sein, aber wenn ich Set 2 bearbeite, erhalte ich den Startwert von Bereich 1 von Set 2.

Antwort

Bei der Auswahl eines Bereichs wird der Bearbeitungsmodus des Messwandlers geöffnet, was

zu falschen Werten führt. Sie müssen den Bearbeitungsmodus mit einem Speicherbefehl verlassen.

Es folgt ein Programm, das zeigt, wie die Frequenzen eines Bereichs ausgelesen werden:

Private Sub Connect_Click()

Rem Dimensions

Dim Buffer1 As String * 2000

Dim Buffer2 As String * 2000

Dim Handle As Integer

Me.MousePointer = vbHourglass: DoEvents 'change cursor to hourglass

Rem Select the receiver

ibdev 0, 18, 0, 12, 1, 0, Handle '<<<<<

Rem Select the transducer set 1

ibwrt Handle, "TRANSDUCER:SET 1" '<<<<<

Rem Select the range 1

ibwrt Handle, "TRANSDUCER:SET:RANGES:SELECT 1" '<<<<<

Rem By selecting a range you also select the edit mode,

Rem save the set to leave the edit mode

ibwrt Handle, "TRANSDUCER:SET:SAVE" '<<<<<

Rem read out the start frequency

ibwrt Handle, "TRANSDUCER:SET:RANGES:START?" '<<<<<

ibrd Handle, Buffer1 '<<<<<

Rem Select the transducer set 2

ibwrt Handle, "TRANSDUCER:SET 2" '<<<<<

Rem Select the range 1

ibwrt Handle, "TRANSDUCER:SET:RANGES:SELECT 1" '<<<<<

Rem By selecting a range you also select the edit mode,

Rem save the set to leave the edit mode

ibwrt Handle, "TRANSDUCER:SET:SAVE" '<<<<<

Rem read out the start frequency

ibwrt Handle, "TRANSDUCER:SET:RANGES:START?" '<<<<<

ibrd Handle, Buffer2 '<<<<<

'XXXXXXXXXXXXXXXXXXXXXX

ibloc Handle '<<<<<

InstAnswer0(0).Caption = Buffer1 'write the answer to the form

InstAnswer1(1).Caption = Buffer2 'write the answer to the form

Me.MousePointer = vbDefault: DoEvents 'change cursor to normal status

End Sub