EasyManua.ls Logo

Lakeshore 620 - Notes on Using the Serial Interface

Lakeshore 620
90 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Lake Shore Model 620/622/623/647 Magnet Power Supply User’s Manual
Remote Operation
4-9
4.2.4 Notes On Using The Serial Interface
To chain commands together, insert a semi-colon (;) between them. Multiple queries cannot be chained.
Queries use the same syntax as the associated setting command followed by a question mark (?). They
usually return the same information that is sent.
Add a query to the end of a command string if the controller must return information. For example, RMP
0;RMP? commands the MPS to pause the ramp then return the ramp status to confirm the change.
The MPS returns nothing queries without a “?" and ignores misspelled commands and queries.
The term "free field" indicates a floating decimal point that can be placed at any appropriate place in the
string of digits.
Leading zeros and zeros following a decimal point are unneeded in a command string, but they are sent in
response to a query. A leading “+” is not required, but a leading “
is required.
[term] indicates where the user places terminating characters or where they appear on a returning character
string from the MPS.
Table 4-3. Sample BASIC Serial Interface Program
' SEREXAM.BAS EXAMPLE PROGRAM FOR SERIAL INTERFACE
' This program works with QuickBasic 4.0/4.5 or Qbasic on an IBM PC or compatible
' with a serial interface. It uses the COM1 communication port at 9600 BAUD. Enter
' an instrument command or query at the prompt. The command transmits to the
' instrument which displays any query response. Type "EXIT" to exit the program.
' NOTE: The INPUT instruction in this example accepts no commas as part of an input
' string. If a comma appears in an instrument command, replace it with a space.
'
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$ + ",N,8,1,RS" FOR RANDOM AS #1 LEN = 256
LOOP1: 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
IFIN$=""THENN=N+1ELSEN=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

Table of Contents

Related product manuals