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