Gpib User Interface Program - IBM 7220 Instruction Manual

Dsp lock-in amplifier
Table of Contents

Advertisement

C.3 GPIB User Interface Program
GPCOM.BAS is a user interface program which illustrates the principles of the use of the serial poll
status byte to coordinate the command and data transfer.
The program runs under Microsoft GW-BASIC or QuickBASIC on a PC-compatible computer fitted
with a National Instruments IEEE-488 interface card and the GPIB.COM software installed in the
CONFIG.SYS file. The program BIB.M, and the first three lines of GPCOM, are supplied by the card
manufacturer and must be the correct version for the particular version of the interface card in use.
The interface card may be set up, using the program IBCONF.EXE, to set EOI with the last byte of
Write in which case no terminator is required. (Read operations are automatically terminated on EOI
which is always sent by the lock-in). Normally, the options called 'high-speed timing', 'interrupt jumper
setting', and 'DMA channel' should all be disabled.
The principles of using the Serial Poll Status Byte to control data transfer, as implemented in the
main loop of GPCOM, are recommended for incorporation in the user's own programs.
10 'GPCOM 9-Feb-96
20 '....the following three lines and BIB.M are supplied by the.......
30 '....manufacturer of the GPIB card, must be correct version........
40 CLEAR,60000!:IBINIT1=60000!:IBINIT2=IBINIT1+3:BLOAD"BIB.M",IBINIT1
50 CALL
IBINIT1(IBFIND,IBTRG,IBCLR,IBPCT,IBSIC,IBLOC,IBPPC,IBBNA,IBONL,IBRSC,IBSRE,IBRSV,IBPAD,
IBSAD,IBIST,IBDMA,IBEOS,IBTMO,IBEOT,IBRDF,IBWRTF,IBTRAP)
60 CALL
IBINIT2(IBGTS,IBCAC,IBWAIT,IBPOKE,IBWRT,IBWRTA,IBCMD,IBCMDA,IBRD,IBRDA,IBSTOP,
IBRPP,IBRSP,IBDIAG,IBXTRC,IBRDI,IBWRTI,IBRDIA,IBWRTIA,IBSTA%,IBERR%,IBCNT%)
70 '.................................................
80 CLS: PRINT"DEVICE MUST BE SET TO CR TERMINATOR"
90 '....assign access code to interface board........
100 BDNAME$="GPIB0"
110 CALL IBFIND(BDNAME$,GPIB0%)
120 IF GPIB0%<0 THEN PRINT "board assignment error":END
130 '....send INTERFACE CLEAR.........................
140 CALL IBSIC(GPIB0%)
150 '....set bus address, assign access code to device..........
160 SUCCESS% = 0
170 WHILE SUCCESS% = 0
180
INPUT "BUS ADDRESS ";A%
190
DEVNAME$ = "DEV"+RIGHT$(STR$(A%),LEN(STR$(A%))-1)
200
CALL IBFIND(DEVNAME$,DEV%)
210
IF DEV%<0 THEN PRINT "device assignment error": END
220
A$ = CHR$(13): GOSUB 480
230
IF IBSTA%>0 THEN SUCCESS% = 1
240
IF (IBSTA%<0 AND IBERR%=2) THEN BEEP: PRINT "NO DEVICE AT THAT ADDRESS"
250 WEND
260 '....send SELECTED DEVICE CLEAR...................
270 CALL IBCLR(DEV%)
280 '....set timeout to 1 second......................
Appendix C, DEMONSTRATION PROGRAMS
' assign access code
' test: write <CR> to bus
C-3

Advertisement

Table of Contents
loading

Table of Contents