Reading registers
Any register in the status structure can be read either by sending the common command query
(where applicable), or by including the script command for that register in either the print() or
print(tostring()) command. The print() command outputs a numeric value; the
print(tostring()) command outputs the string equivalent. For example, any of the following
commands requests the Service Request Enable Register value:
*SRE?
print(tostring(status.request_enable))
print(status.request_enable)
The response message is a decimal value that indicates which bits in the register are set. That value
can be converted to its binary equivalent using the information in Programming enable and transition
registers (on page 12-14). For example, for a decimal value of 37 (binary value of 100101), bits B5,
B2, and B0 are set.
Status byte and service request (SRQ)
Service requests (SRQs) allow an instrument to indicate that it needs attention or that some event
has occurred. When the controller receives an SRQ, it allows the controller to interrupt tasks to
perform other tasks in order to address the request for service.
For example, you might program your instrument to send an SRQ when:
• All instrument operations are complete
• An instrument error occurs
• A specific operation has occurred
Two 8-bit registers control service requests: The Status Byte Register and the Service Request
Enable Register. See Status Byte Register (on page 12-16) for a description of the structure of these
registers.
Service requests affect GPIB, USB, and VXI-11 connections. On a GPIB connection, the SRQ line is
asserted. On a VXI-11 or USB connection, an SRQ event is generated.