Operation Manual
*OPC? — Operation Complete Query Place a “1” in the output queue after all
pending operations are completed
Description
On power-up or when the *CLS or *RST is executed, the Model 2000 goes into the Op-
eration Complete Command Query Idle State (OQIS). In this state, no pending overlapped
commands exist. The Model 2000 has three overlapped commands:
• :INITiate
• :INITiate:CONTinuous ON
•*TRG
When you send the *OPC? command, the Model 2000 exits from OQIS and enters the
Operation Complete Command Query Active State (OQAS). In OQAS, the instrument con
-
tinuously monitors the No-Operation-Pending flag. After the last pending overlapped com-
mand is completed (No- Operation-Pending flag set to true), an ASCII character “1” is placed
into the Output Queue, the Message Available (MAV) bit in the Status Byte sets, and the in
-
strument goes back into OQIS. Addressing the Model 2000 to talk sends the ASCII “1” to the
computer.
Note that the instrument always goes into OQAS when *OPC? is executed. If no pending
command operations are present (e.g. trigger model in idle state), the Model 2000 immedi-
ately places an ASCII “1” in the Output Queue, sets the MAV bit and returns to OQIS.
When used with the :INITiate or :INITiate:CONTinuous ON command, an ASCII “1” will
not be sent to the Output Queue and the MAV bit will not set until the Model 2000 goes back
into the idle state. The initiate operations are not considered finished until the instrument
goes into the idle state.
When used with the *TRG command, an ASCII “1” will not be placed into the Output
Queue and the MAV bit will not set until the operations associated with the *TRG command
(and the initiate command) are finished. The *TRG command is considered to be finished
when the Device Action completes or when operation stops at a control source to wait for an
event (see the Trigger Model in this section).
To use *OPC? exclusively with the *TRG command, first force the completion of the ini-
tiate command so that only the *TRG command is pending. To do this, send the :ABORt
command to place the instrument in idle, which (by definition) completes the initiate com
-
mand. Since continuous initiation is on, operation continues on into the Trigger Model. After
sending the *TRG command, an ASCII “1” is placed in the Output Queue and the MAV bit
sets when the *TRG command is finished.
After *OPC? is executed, additional commands cannot be sent to the Model 2000 until
the pending overlapped commands are finished. For example, :INITiate:CONTinuous ON
followed by *OPC? locks up the instrument and requires a device clear (DCL or SDC) before
it will accept any more commands.
Note: See *OPC, *TRG and *WAI for more information.
2000-900 (J - Aug 2010) BOOK.fm Page 46 Wednesday, October 12, 2011 12:29 PM