ssy99 f280a71488 feat: 최초 커밋
기존 프로그램 업로드
2025-04-30 16:11:21 +09:00

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