Keithley 2000/E Digital-Multimeter, DMM, 2000/E Datenbogen

Produktcode
2000/E
Seite von 256
When your program must wait until the Model 2000 has completed an operation, it is more 
efficient to program the 2000 to assert the IEEE-488 SRQ line when it is finished, rather than 
repeatedly serial polling the instrument. An IEEE-488 controller will typically address the in-
strument to talk, then unaddress it, each time it performs a serial poll. Repeated polling of 
the Model 2000 will generally reduce its overall reading throughput. Therefore, use the 
srq%()
 function call.
The Model 2000 provides a status bit for nearly every operation it performs. It can be pro-
grammed to assert the IEEE-488 SRQ line whenever a status bit becomes true or false. The 
IEEE-488 controller (your computer) can examine the state of the the SRQ line without per-
forming a serial poll, thereby detecting when the 2000 has completed its task without inter-
rupting it in the process.
The following example program segment sets up the Model 2000 to assert SRQ when the 
reading buffer has completely filled, then arms the reading buffer, initiates readings, and 
waits for the Model 2000 to indicate that the buffer is full. 
This is not a complete program. Not shown are the commands to configure the trigger 
model and the reading buffer (see the next example). The example shown here can be mod-
ified for any event in the Model 2000 status reporting system.
'Reset STATus subsystem (not affected by *RST)
CALL SEND(16, "stat:pres;*cls", status%)
CALL SEND(16, "stat:meas:enab 512", status%)'enable BFL
CALL SEND(16, "*sre 1"' status%)'enable MSB
CALL SEND(16, "trac:feed:cont next", status%)
' Start everything
CALL SEND(16, "init", status%)
WaitSRQ:
IF (NOT(srq%)) THEN GOTO WaitSRQ
CALL SPOLL(16, poll%, status%)
IF (poll% AND 64)=0 THEN GOTO WaitSRQ
Notice that after the program has detected an asserted SRQ line, it serial polls the Model 
2000 to determine if it is the device requesting service. This is necessary for two reasons:
Serial polling the Model 2000 causes it to quit asserting the SRQ line.
In test systems that have more than one IEEE-488 instrument programmed to assert 
SRQ, your program must determine which instrument is actually requesting service.
Once an event register has caused a service request, it cannot cause another service re-
quest until you clear it by reading it (in this case using STATus:MEASurement[:EVENt]?) or 
by sending the *CLS command.
2000-900 (J - Aug 2010) BOOK.fm  Page 5  Wednesday, October 12, 2011  12:29 PM