EasyManua.ls Logo

R&S ESR Series

R&S ESR Series
1126 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Remote Control
R&S
®
ESR
603User Manual 1175.7068.02 ─ 12
Dim Rd as String
Rd = Space$(100)
Creating Wrapper Procedures for Writing and Reading
Since the "VISA" functions require command and response strings and their corre-
sponding length in two separate parameters, the main program code is easier to
read and maintain if the read and write functions are encapsulated. Here, the pro-
cedure InstrWrite() encapsulates the function viWrite() and InstrRead()
encapsulates viRead(). In addition, these wrappers include status checking:
Public Sub InstrWrite(ByVal vi As Long, ByVal Cmd As String)
Dim status As Long
Dim retCount As Long
'Send command to instrument and check for status
status = viWrite(vi, Cmd, Len(Cmd), retCount)
'Check for errors - this will raise an error if status is not VI_SUCCESS
CALL CheckError(vi, status)
End Sub
Public Sub InstrRead(ByVal vi As Long, Response As String, _
ByVal count As Long, retCount As Long)
Dim status As Long
'Initialize response string
Response = Space(count)
'...and read
status = viRead(vi, Response, count, retCount)
'Check for errors - this will raise an error if status is not VI_SUCCESS
CALL CheckError(vi, status)
'adjust string length
Response = Left(Response, retCount)
End Sub
The following function illustrates status/error checking. The procedure raises an excep-
tion when a VISA error occurs:
Public Sub CheckError(ByVal vi As Long, status As Long)
Dim ErrorMessage As String * 1024
'Initialize error message string
ErrorMessage = ""
If (status < 0) Then
'Query the error message from VISA
If (viStatusDesc(vi, status, ErrorMessage) = VI_SUCCESS) Then
Err.Description = ErrorMessage
End If
Err.Raise (status)
End If
End Sub
Controlling the R&S
ESR Remotely

Table of Contents

Related product manuals