Ответ
Выбор определенного диапазона приводит к переходу в режим редактирования преобразователя, который формирует
неправильные значения. Необходимо выйти из режима редактирования с помощью команды сохранения.
Ниже находится программа, которая демонстрирует, как считывать частоты определенного диапазона:
Private Sub Connect_Click()
Rem Размеры
Dim Buffer1 As String * 2000
Dim Buffer2 As String * 2000
Dim Handle As Integer
Me.MousePointer = vbHourglass: DoEvents 'изменение курсора на песочные часы
Rem Выбор приемника
ibdev 0, 18, 0, 12, 1, 0, Handle '<<<<<
Rem Выбор набора преобразования 1
ibwrt Handle, "TRANSDUCER:SET 1" '<<<<<
Rem Выбор диапазона 1
ibwrt Handle, "TRANSDUCER:SET:RANGES:SELECT 1" '<<<<<
Rem При выборе диапазона также выбирается режим редактирования и
Rem сохраняется набор для выхода из режима редактирования
ibwrt Handle, "TRANSDUCER:SET:SAVE" '<<<<<
Rem Считывание начальной частоты
ibwrt Handle, "TRANSDUCER:SET:RANGES:START?" '<<<<<
ibrd Handle, Buffer1 '<<<<<
Rem Выбор набора преобразования 2
ibwrt Handle, "TRANSDUCER:SET 2" '<<<<<
Rem Выбор диапазона 1
ibwrt Handle, "TRANSDUCER:SET:RANGES:SELECT 1" '<<<<<
Rem При выборе диапазона также выбирается режим редактирования и
Rem сохраняется набор для выхода из режима редактирования
ibwrt Handle, "TRANSDUCER:SET:SAVE" '<<<<<
Rem Считывание начальной частоты
ibwrt Handle, "TRANSDUCER:SET:RANGES:START?" '<<<<<
ibrd Handle, Buffer2 '<<<<<
'XXXXXXXXXXXXXXXXXXXXXX
ibloc Handle '<<<<<
InstAnswer0(0).Caption = Buffer1 'запись ответа в форму
InstAnswer1(1).Caption = Buffer2 'запись ответа в форму
Me.MousePointer = vbDefault: DoEvents 'восстановление нормального состояния курсора
End Sub