FAQs from Rohde & Schwarz

Controllo remoto: Come leggere le frequenze di un set di trasduttori.

Domanda

Indipendentemente dal set selezionato - con lo script seguente, mi viene sempre fornita la lettura del set che ho modificato manualmente. TRANSDUCER:SET 1 TRANSDUCER:SET:RANGES:SELECT 1 TRANSDUCER:SET:RANGES:START? Il valore di ritorno dovrebbe essere il valore iniziale del Range 1 del Set 1, ma quando modifico il Set 2 I ricevo il valore iniziale del Range 1 del Set 2.

Risposta

Selezionando un intervallo, si apre la modalità di modifica del trasduttore,

che produce valori sbagliati. È necessario uscire dalla modalità di modifica con un comando di salvataggio.

Sotto viene riportato un programma che mostra come leggere le frequenze di un intervallo:

Private Sub Connect_Click()

Dimensioni Rem

Dim Buffer1 come stringa * 2000

Dim Buffer2 come stringa * 2000

Dim Handle come numero intero

Me.MousePointer = vbHourglass: DoEvents 'modifica il cursore in clessidra

Rem Seleziona il ricevitore

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

Rem Seleziona il set trasduttore 1

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

Rem Seleziona il range 1

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

Rem Selezionando un intervallo, viene selezionata anche la modalità di modifica

Rem Salva il set per uscire dalla modalità di modifica

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

Rem lettura della frequenza di avvio

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

ibrd Handle, Buffer1 '<<<<<

Rem Seleziona il set trasduttori 2

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

Rem Seleziona il range 1

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

Rem Selezionando un intervallo, viene selezionata anche la modalità di modifica

Rem Salva il set per uscire dalla modalità di modifica

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

Rem lettura della frequenza di avvio

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

ibrd Handle, Buffer2 '<<<<<

'XXXXXXXXXXXXXXXXXXXXXX

ibloc Handle '<<<<<

InstAnswer0(0).Caption = Buffer1 'scrive la risposta nel modulo

InstAnswer1(1).Caption = Buffer2 'scrive la risposta nel modulo

Me.MousePointer = vbDefault: DoEvents 'modifica il cursore portandolo allo stato normale

End Sub