Remote Control
R&S
®
FPC
201User Manual 1178.4130.02 ─ 07
As a general rule, send commands and queries in different program messages.
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.
19.1.5.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 19-4: 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:
Remote Control Basics