Lake Shore Model 647 Magnet Power Supply User’s Manual
Remote Operation
4-6
Table 4-1 Sample BASIC IEEE-488 Interface Program
'
IEEEEXAM.BAS EXAMPLE PROGRAM FOR IEEE-488 INTERFACE
'
'
This program works with QuickBasic 4.0/4.5 on an IBM PC or compatible.
'
'
The example requires a properly configured National Instruments GPIB-PC2 card. The REM
'
$INCLUDE statement is necessary along with a correct path to the file QBDECL.BAS. CONFIG.SYS
'
must call GPIB.COM created by IBCONF.EXE prior to running Basic. There must be QBIB.QBL
'
library in the QuickBasic Directory and QuickBasic '
must start with a link to it. All
'
instrument settings are assumed to be defaults: Address 12, Terminators <CR> <LF> and EOI
' active.
'
'
To use, type an instrument command or query at the prompt. The command transmits to the
'
instrument and the MPS receives and displays the response. If no query is sent, the
'
instrument responds to the last query received. Type "EXIT" to exit the program. NOTE: The
'
INPUT instruction accepts no commas as part of an input string. If a comma appears in an
'
instrument command, replace it with a space.
'
REM $INCLUDE: 'c:\gpib-pc\qbasic\qbdecl.bas'
'Link to IEEE calls
CLS
'Clear
screen
PRINT "IEEE-488 COMMUNICATION PROGRAM"
PRINT
CALL IBFIND("dev12", DEV12%)
'Open communication at address 12
TERM$ = CHR$(13) + CHR$(10)
'Terminators are <CR><LF>
LOOP2: IN$ = SPACE$(2000)
'Clear for return string
INPUT "ENTER COMMAND (or EXIT):"; CMD$
'Get command from keyboard
CMD$ = UCASE$(CMD$)
'Change input to upper case
IF CMD$ = "EXIT" THEN END
'Get out on Exit
CMD$ = CMD$ + TERM$
CALL IBWRT(DEV12%, CMD$)
'Send command to instrument
CALL IBRD(DEV12%, IN$)
'Get data back each time
ENDTEST = INSTR(IN$, CHR$(13))
'Test for returned string
IF ENDTEST > 0 THEN
'String is present if <CR> is seen
IN$ = MID$(IN$, 1, ENDTEST - 1)
'Strip off terminators
PRINT "RESPONSE:", IN$
'Print return string
ELSE
PRINT "NO RESPONSE"
'No string present if timeout
END
IF
GOTO LOOP2
'Get next command