81 lines
2.3 KiB
VB.net
81 lines
2.3 KiB
VB.net
Module SpectrumModule
|
|
Private myMgr As Ivi.Visa.Interop.ResourceManager
|
|
Private mySpec As Ivi.Visa.Interop.FormattedIO488
|
|
|
|
Private strQueryRes As String
|
|
|
|
Public Function SpecOpen(SpecID As String, ToCount As Integer) As String
|
|
Try
|
|
myMgr = New Ivi.Visa.Interop.ResourceManager
|
|
mySpec = New Ivi.Visa.Interop.FormattedIO488
|
|
|
|
mySpec.IO = myMgr.Open(SpecID)
|
|
'mySpec.IO.Clear()
|
|
mySpec.IO.Timeout = ToCount
|
|
|
|
strQueryRes = SpecQueryStr("*IDN?")
|
|
|
|
Return strQueryRes
|
|
|
|
Catch ex As Exception
|
|
Return "FAIL"
|
|
End Try
|
|
End Function
|
|
|
|
Public Function RunCommand(command As String) As String
|
|
Dim errStr As String
|
|
Try
|
|
mySpec.WriteString(command)
|
|
errStr = CheckError()
|
|
If errStr.Replace(" ", "") <> "" Then
|
|
Return errStr
|
|
End If
|
|
|
|
Return "PASS"
|
|
Catch ex As Exception
|
|
Return "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + Err.Source + "," + Err.Description
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function SpecQueryStr(query As String) As String
|
|
Dim errStr As String
|
|
Try
|
|
mySpec.WriteString(query)
|
|
SpecQueryStr = mySpec.ReadString
|
|
errStr = CheckError()
|
|
If errStr.Replace(" ", "") <> "" Then
|
|
Return SpecQueryStr & " / " & errStr
|
|
End If
|
|
Return SpecQueryStr
|
|
|
|
Catch ex As Exception
|
|
Return "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + Err.Source + "," + Err.Description
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Private Function CheckError() As String
|
|
Dim strerrval As String
|
|
Dim strout As String = ""
|
|
|
|
mySpec.WriteString(":SYSTem:ERRor?")
|
|
strerrval = mySpec.ReadString
|
|
While Val(strerrval) <> 0
|
|
strout = "INST Error: " + strerrval
|
|
mySpec.WriteString(":SYSTem:ERRor?")
|
|
strerrval = mySpec.ReadString
|
|
End While
|
|
|
|
If Not strout = "" Then
|
|
'MsgBox(strout, vbExclamation, "INST Error Messages")
|
|
mySpec.FlushWrite(False)
|
|
mySpec.FlushRead()
|
|
Return strout
|
|
End If
|
|
|
|
Return ""
|
|
End Function
|
|
|
|
End Module
|