Network and Remote Operation
R&S
®
FSPN
262
User Manual 1179.4363.02 ─ 01
Example: Overlapping command with *OPC
The instrument implements
INITiate[:IMMediate]
as an overlapped command.
Assuming that
INITiate[:IMMediate]
takes longer to execute than
*OPC
, sending
the following command sequence results in initiating a sweep and, after some time,
setting the
OPC
bit in the
ESR
:
INIT; *OPC.
Sending the following commands still initiates a sweep:
INIT; *OPC; *CLS
However, since the operation is still pending when the instrument executes
*CLS
, forc-
ing it into the "Operation Complete Command Idle" State (OCIS),
*OPC
is effectively
skipped. The
OPC
bit is not set until the instrument executes another
*OPC
command.
10.1.6.1
Preventing Overlapping Execution
To prevent an overlapping execution of commands, one of the commands
*OPC
,
*OPC?
or
*WAI
can be used. All three commands cause a certain action only to be
carried out after the hardware has been set. The controller can be forced to wait for the
corresponding action to occur.
Table 10-5: Synchronization using *OPC, *OPC? and *WAI
Com-
mand
Action
Programming the controller
*OPC
Sets the Operation Complete bit in the Stan-
dard Event Status Register (ESR) after all
previous commands have been executed.
●
Setting bit 0 in the ESE
●
Setting bit 5 in the SRE
●
Waiting for service request (SRQ)
*OPC?
Stops command processing until 1 is
returned. This occurs when all pending opera-
tions are completed.
Send *OPC? directly after the command
whose processing must be terminated before
other commands can be executed.
*WAI
Stops further command processing until all
commands sent before Wait-to-Continue
Command (WAI) have been executed.
Send *WAI directly after the command whose
processing must be terminated before other
commands are executed.
Command synchronization using
*WAI
or
*OPC?
is a good choice if the overlapped
command takes only little time to process. The two synchronization commands simply
block overlapping execution of the command. Append the synchronization command to
the overlapped command, for example:
SINGle; *OPC?
For time consuming overlapped commands, you can allow the controller or the instru-
ment to do other useful work while waiting for command execution. Use one of the fol-
lowing methods:
*OPC with a service request
1. Execute
*ESE 1
Sets the OPC mask bit (bit No. 0) of the Standard Event Status Register (ESR) to 1
2. Execute
*SRE 32
Remote Control Basics