Visual Basic Serial Interface Program - Lakeshore 642 User Manual

Electromagnet power supply
Table of Contents

Advertisement

Public gSend As Boolean
Private Sub cmdSend_Click()
gSend = True
End Sub
Private Sub Form_Load()
Dim strReturn As String
Dim strHold As String
Dim Term As String
Dim ZeroCount As Integer
Dim strCommand As String
frmSerial.Show
Term = Chr(13) & Chr(10)
ZeroCount = 0
strReturn = ""
strHold = ""
If frmSerial.MSComm1.PortOpen = True Then
frmSerial.MSComm1.PortOpen = False
End If
frmSerial.MSComm1.CommPort = 1
frmSerial.MSComm1.Settings = "9600,o,7,1"
frmSerial.MSComm1.InputLen = 1
frmSerial.MSComm1.PortOpen = True
Do
Do
DoEvents
Loop Until gSend = True
gSend = False
strCommand = frmSerial.txtCommand.Text
strReturn = ""
strCommand = UCase(strCommand)
If strCommand = "EXIT" Then
End
End If
frmSerial.MSComm1.Output = strCommand & Term
If InStr(strCommand, "?") <> 0 Then
While (ZeroCount < 20) And (strHold <> Chr$(10))
If frmSerial.MSComm1.InBufferCount = 0 Then
frmSerial.Timer1.Enabled = True
Do
DoEvents
Loop Until frmSerial.Timer1.Enabled = False
ZeroCount = ZeroCount + 1
Else
ZeroCount = 0
strHold = frmSerial.MSComm1.Input
strReturn = strReturn + strHold
End If
Wend
If strReturn <> "" Then
strReturn = Mid(strReturn, 1, InStr(strReturn, Term) – 1)
Else
strReturn = "No Response"
End If
frmSerial.txtResponse.Text = strReturn
strHold = ""
ZeroCount = 0
End If
Loop
End Sub
Private Sub Timer1_Timer()
frmSerial.Timer1.Enabled = False
End Sub
5-26
Lake Shore Model 642 Electromagnet Power Supply User's Manual
Table 5-8. Visual Basic Serial Interface Program
'Global used for Send button state
'Routine to handle Send button press
'Set Flag to True
'Main code section
'Used to return response
'Temporary character space
'Terminators
'Counter used for Timing out
'Data string sent to instrument
'Show main window
'Terminators are <CR><LF>
'Initialize counter
'Clear return string
'Clear holding string
'Close serial port to change settings
'Example of Comm 1
'Example of 9600 Baud,Parity,Data,Stop
'Read one character at a time
'Open port
'Wait loop
'Give up processor to other events
'Loop until Send button pressed
'Set Flag as false
'Get Command
'Clear response display
'Set all characters to upper case
'Get out on EXIT
'Send command to instrument
'Check to see if query
'Wait for response
'Add 1 to timeout if no character
'Wait for 10 millisecond timer
'Timeout at 2 seconds
'Reset timeout for each character
'Read in one character
'Add next character to string
'Get characters until terminators
'Check if string empty
'Strip terminators
'Send No Response
'Put response in textbox on main form
'Reset holding string
'Reset timeout counter
'Routine to handle Timer interrupt
'Turn off timer
Computer Interface Operation

Advertisement

Table of Contents
loading

Table of Contents