Visual Basic This function can be called in a Visual Basic program. It sends the *IDN? query to the instrument and returns the byte count and ASCII response string. Rem This example is based on Example 2-1 from the NI-VISA User Manual. Public Sub IdnMain(ByVal address As String, ByRef byteCount As String, ByRef returnBytes As String) Const BUFFER_SIZE = 200 Dim stat As ViStatus Dim dfltRM As ViSession Dim sesn As ViSession Dim retCount As Long Dim buffer As String * BUFFER_SIZE Rem ***Include visa32.dll as a reference in your project.*** Rem Begin by initializing the system stat = viOpenDefaultRM(dfltRM) If (stat < VI_SUCCESS) Then Rem Error initializing VISA...exiting MsgBox "Can't initialize VISA" Exit Sub End If Rem Open communication with Device Rem NOTE: For simplicity, we will not show error checking Rem TODO: Add error handling. stat = viOpen(dfltRM, address, VI_NULL, VI_NULL, sesn) Rem Set the timeout for message-based communication Rem TODO: Add error handling. stat = viSetAttribute(sesn, VI_ATTR_TMO_VALUE, 5000) Rem Ask the device for identification Rem TODO: Add error handling. stat = viWrite(sesn, "*IDN?", 5, retCount) stat = viRead(sesn, buffer, BUFFER_SIZE, retCount) Rem TODO: Add code to process the data. byteCount = retCount returnBytes = Left(buffer, retCount) Rem Close down the system Rem TODO: Add error handling. stat = viClose(sesn) stat = viClose(dfltRM) End Sub