C3 Gpib User Interface Program - Ametek 7280 Instruction Manual

Wide bandwidth 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 GWBASIC 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
amplifier). 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...................
Appendix C, DEMONSTRATION PROGRAMS
' assign access code
' test: write <CR> to bus
C-3

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents