FAQs from Rohde & Schwarz

Дистанционное управление: как считывать частоты набора преобразования.

Вопрос

Независимо от того, какой набор я выбираю, я всегда с помощью соответствующего сценария в результате считывания получаю набор, который я отредактировал вручную. TRANSDUCER:SET 1 TRANSDUCER:SET:RANGES:SELECT 1 TRANSDUCER:SET:RANGES:START? Возвращаемое значение должно быть начальным значением диапазона 1 набора 1, но когда я редактирую набор 2, я получаю начальное значение диапазона 1 набора 2.

Ответ

Выбор определенного диапазона приводит к переходу в режим редактирования преобразователя, который формирует

неправильные значения. Необходимо выйти из режима редактирования с помощью команды сохранения.

Ниже находится программа, которая демонстрирует, как считывать частоты определенного диапазона:

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