*OPC command/query
Sets or queries completion of all pending overlapped commands.
Command Syntax: *OPC
Example Statements: OUTPUT 711;"*Opc"
OUTPUT 711;"*OPC"
Query Syntax: *OPC?
Return Format: Integer
Attribute Summary: Option: not applicable
Synchronization Required: no
Preset State: not applicable
SCPI Compliance: confirmed
Description:
Some commands are processed sequentially by the analyzer. A sequential command holds off the
processing of subsequent commands until it has been completely processed. However, some commands
do not hold off the processing of subsequent commands. These commands are called overlapped
commands. At times, overlapped commands require synchronization. The Attribute Summary for each
command indicates whether it requires synchronization.
The analyzer uses the No Pending Operation (NPO) flag to keep track of overlapped commands that are
still pending (that is, not completed). The NPO flag is reset to 0 when an overlapped command is
pending. It is set to 1 when no overlapped commands are pending. You cannot read the NPO flag
directly, but you can use *OPC and *OPC? to tell when the flag is set to 1.
If you use *OPC, bit 0 of the Event Status event register is set to 1 when the NPO flag is set to 1. This
allows the analyzer to generate a service request when all pending overlapped commands are completed
(assuming you have enabled bit 0 of the Event Status register and bit 5 of the Status Byte register).
If you use *OPC?, +1 is placed in the output queue when the NPO flag is set to 1. This allows you to
effectively pause the controller until all pending overlapped commands are completed. It must wait until
the response is placed in the queue before it can continue.
Common Commands
3-7