質問
どのセットを選択しても、以下のスクリプトを使用すれば、手動で編集したセットの値が常に表示されます。TRANSDUCER:SET 1 TRANSDUCER:SET:RANGES:SELECT 1 TRANSDUCER:SET:RANGES:START? セット1のレンジ1のスタート値が返されるはずですが、セット2を編集した場合は、セット2のレンジ1のスタート値が返されます。
どのセットを選択しても、以下のスクリプトを使用すれば、手動で編集したセットの値が常に表示されます。TRANSDUCER:SET 1 TRANSDUCER:SET:RANGES:SELECT 1 TRANSDUCER:SET:RANGES:START? セット1のレンジ1のスタート値が返されるはずですが、セット2を編集した場合は、セット2のレンジ1のスタート値が返されます。
レンジを選択すると、トランスデューサの編集モードが開始され、
間違った値が表示されます。saveコマンドを使用して、編集モードを終了する必要があります。
以下のプログラムは、レンジの周波数を読み出す方法を示しています。
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