Lake Shore Model 331 Temperature Controller User’s Manual
6.2.7.2 Quick
Basic
Serial Interface Program Setup
The serial interface program listed in Table 6-7 works with QuickBasic 4.0/4.5 or Qbasic on an IBM
PC (or compatible) running DOS or in a DOS window with a serial interface. It uses the COM1
communication port at 9600 Baud. Use the following procedure to develop the Serial Interface
Program in Quick Basic.
1. Start the Basic program.
2. Enter the program exactly as presented in Table 6-7.
3. Adjust the Com port and Baud rate in the program as necessary.
4. Lengthen the "TIMEOUT" count if necessary.
5. Save the program.
6. Run the program.
7. Type a command query as described in Paragraph 6.2.7.3.
8. Type "EXIT" to quit the program.
Table 6-7. Quick Basic Serial Interface Program
CLS
'Clear
screen
PRINT " SERIAL COMMUNICATION PROGRAM"
PRINT
TIMEOUT = 2000
'Read timeout (may need more)
BAUD$ = "9600"
TERM$ = CHR$(13) + CHR$(10)
'Terminators are <CR><LF>
OPEN "COM1:" + BAUD$ + ",O,7,1,RS" FOR RANDOM AS #1 LEN = 256
LOOP1: LINE INPUT "ENTER COMMAND (or EXIT):"; CMD$
'Get command from keyboard
CMD$ = UCASE$(CMD$)
'Change input to upper case
IF CMD$ = "EXIT" THEN CLOSE #1: END
'Get out on Exit
CMD$ = CMD$ + TERM$
PRINT #1, CMD$;
'Send command to instrument
IF INSTR(CMD$, "?") <> 0 THEN
'Test for query
RS$ = ""
'If query, read response
N = 0
'Clr return string and count
WHILE (N < TIMEOUT) AND (INSTR(RS$, TERM$) = 0)
'Wait for response
IN$ = INPUT$(LOC(1), #1)
'Get one character at a time
IF IN$ = "" THEN N = N + 1 ELSE N = 0
'Add 1 to timeout if no chr
RS$ = RS$ + IN$
'Add next chr to string
WEND
'Get chrs until terminators
IF RS$ <> "" THEN
'See if return string is empty
RS$ = MID$(RS$, 1, (INSTR(RS$, TERM$) – 1))
'Strip off terminators
PRINT "RESPONSE:"; RS$
'Print response to query
ELSE
PRINT "NO RESPONSE"
'No response to query
END
IF
END IF
'Get next command
GOTO
LOOP1
6-20
Remote Operation