Chapter 6
GPIB Programming Techniques
© National Instruments Corp.
6-5
NI-488.2M UM for Windows NT
EVENT bit is enabled, the DCAS and DTAS bits are no longer activated. Instead, all
DCAS and DTAS messages are stored in a queue, in the order that they are received.
The event queue also stores interface clear (IFC) messages. When the queue contains
some information, the NI-488.2 software sets the EVENT bit in
ibsta
. When the
application program detects EVENT, it can call the function
ibevent
to retrieve the
first event that occurred. Retrieving events from the queue ensures that the application
can respond to device clear, device trigger, and interface clear messages in the correct
order.
Requesting Service
Another type of event that might be important in a Talker/Listener application is the
serial poll. A Talker/Listener application can call
ibrsv
with a serial poll response byte
when it needs to request service from the Controller. If the application needs to know
when the Controller has read the serial poll response byte, it can enable the SPOLL bit in
ibsta
using
ibconfig
, option
IbcSPollBit
. The NI-488.2 software sets the
SPOLL bit when the Controller serial polls the board.
Serial Polling
You can use serial polling to obtain specific information from GPIB devices when they
request service. When the GPIB SRQ line is asserted, it signals the Controller that a
service request is pending. The Controller must then determine which device asserted the
SRQ line and respond accordingly. The most common method for SRQ detection and
servicing is the serial poll. This section describes how you can set up your application to
detect and respond to service requests from GPIB devices.
Service Requests from IEEE 488 Devices
IEEE 488 devices request service from the GPIB Controller by asserting the GPIB SRQ
line. When the Controller acknowledges the SRQ, it serial polls each open device on the
bus to determine which device requested service. Any device requesting service returns a
status byte with bit 6 set and then unasserts the SRQ line. Devices not requesting service
return a status byte with bit 6 cleared. Manufacturers of IEEE 488 devices use lower
order bits to communicate the reason for the service request or to summarize the state of
the device.
Service Requests from IEEE 488.2 Devices
The IEEE 488.2 standard refined the bit assignments in the status byte. In addition to
setting bit 6 when requesting service, IEEE 488.2 devices also use two other bits to
specify their status. Bit 4, the Message Available bit (MAV), is set when the device is
ready to send previously queried data. Bit 5, the Event Status bit (ESB), is set if one or
more of the enabled IEEE 488.2 events occurs. These events include power-on, user