Implementation of the *OPC? query is straightforward in devices which implement only
sequential commands. When executing *OPC? the device simply places a “1" in the Output
Queue.
KI005The implementation of overlapped commands in a device complicates the implementation of
*OPC? and places some restrictions on the implementation of the Message Exchange
Protocol (MEP). IEEE 488.2 dictates that devices shall send query responses in the order that
they receive the corresponding queries (IEEE 488.2 6.4.5.4). Although IEEE 488.2
recommends that *OPC? be the last query in a program message, there is nothing to prevent
a controller program from ignoring this suggestion. This is why *OPC? must be sequential.
KI0054.1.3.5 *RST
The “*RST Conditions” chapter of Volume 1 gives pretty a lucid description of the SCPI
requirements of *RST. There are, however, some implications.
KI0054.1.3.5.1 Interaction With the Synchronization Commands
KI005*RST stops the execution of any overlapped commands. The natural outcome of this is that
the No Operation Pending flag will go TRUE. Execution of *RST must place the device in
OCIS before setting the No Operation Pending flag TRUE, so that the effect of any pending
*OPC command is nullified (that is, the OPC bit of the SESR does NOT get set).
KI0054.1.3.5.2 Implications For *SAV and *RCL
KI005In devices which implement the optional *SAV and *RCL common commands, the scope of
instrument settings affected by these commands shall be the same as that affected by *RST.
This means that if *RST has any effect upon a command, then so must *RCL. Conversely, if
the device designer wants *RCL to have an effect upon a command, then *RST must also
have an effect upon that command. Inversely, and more importantly, if the device designer
wants a command to be EXCLUDED from the scope of *SAV and *RCL, then it must also
be excluded from the scope of *RST.
KI005KI0054.1.3.5.3 *RST and *RCL as Overlapped Commands
KI005While *RST stops the execution of running overlapped commands, the instrument designer
may find it useful to make the *RST command, itself, overlapped. For example, if resetting
requires the return to an initial position of a slow-reacting, electro-mechanical device. In this
case, performance may be better served with *RST overlapped as subsequent commands
may be parsed and executed while the resetting is completing. Even while overlapped, the
*RST command shall always complete the resetting of device state variables before
subsequent commands are processed to insure the integrity of *RST exception programming.
For similar reasons, *RCL may be an overlapped command.
KI005If *RST or *RCL is overlapped, its Pending-Operation flag shall be reported in the
No-Operation-Pending flag.
KI005If execution of *RST or *RCL causes a device operation which is equivalent to executing an
overlapped command, the device shall set TRUE the Pending-Operation flag associated with
that command.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1999 SCPI Syntax & Style
4-4 SCPI Compliance Criteria