81 lines
2.3 KiB
VB.net
Raw Normal View History

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