Network and Remote Operation
R&S
®
FSVA3000/ R&S
®
FSV3000
664
User Manual 1178.8520.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.
13.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 13-6: Synchronization using *OPC, *OPC? and *WAI
Com-
mand
Action
Programming the controller
*OPC
Sets the Operation Complete bit in the ESR
after all previous commands have been exe-
cuted.
●
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 *WAI have been exe-
cuted.
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 overlapped execution of the command. Append the synchronization command to
the overlapping 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. Set the OPC mask bit (bit no. 0) in the ESE: *ESE 1
2. Set bit no. 5 in the SRE:
*SRE 32
to enable ESB service request.
3. Send the overlapped command with
*OPC
.
Remote Control Basics