RL1 User Manual
31
M-RL1-001-01
Public Overrides Function GetAllAddresses() As String()
Try
Dim nameList As New List(Of String)
nameList = GlobalResourceManager.Find(“USB?*INSTR”)
Return nameList.ToArray()
Catch ex As Exception
Return Nothing
End Try
End Function
5. Open an IMessageBasedSession to the desired device using an address from the nameList in the
previous step:
Private visa As IMessageBasedSession
visa = GlobalResourceManager.Open(addr)
6. Use the Write method to send SCPI commands and the Read method to retrieve results:
Public Overrides Function Read(ByVal readableOnly As Boolean) As String
Dim response As String = String.Empty
response = visa.RawIO.ReadString()
If response = String.Empty Then
Throw New Exception("Read from device failed")
End If
Return response
End Function
Public Overrides Sub Write(ByVal strCommand As String)
visa.RawIO.Write(strCommand)
End Sub
Write commands require termination with the linefeed character \n.
Notes
1. Some commands (ex: READ:RL? in Standard mode) can take several seconds to return. The Read
timeout should be increased to at least 5000ms using visa.TimeoutMilliseconds
2. The RL1 runs SCPI commands synchronously. An *OPC? command can be sent and a 1 will be
returned when all operations have been completed:
Query("LAS:ENAB " + iWavelength.ToString() + ";OPC?" + vbLf)
Commands Lists
See Table 11 and Table 12 for SCPI required and RL1 commands respectively.