12-8
IM 2560A-01EN
12.5 Synchronization with the Controller
• Using the Extended Event Register
The changes in the condition register can be
reflected in the extended event register (see section
14.4).
Example
:STATus:FILTer4 FALL;:STATus:EESE 8;
EESR?;*SRE 8;:SOURce:LEVel 10V<PMT>
(Read the response to
:STATus:EESR?
)
(Wait for a service request)
Next command
The
STATus:FILTer4 FALL
command sets the
transition filter so that bit 3 in the extended event
is set to “
1
” when bit 3 in the condition register
changes from “
1
” to “
0
”.
The
:STATus:EESE 4
command is used to
only change the status byte based on bit 3 in the
extended event register.
The
:STATus:EESR?
command is used to clear the
extended event register.
The
*SRE 8
command is used to generate service
requests based only on the changes in the extended
event register bits.
The next command is not executed until a service
request is generated.
• Using the
COMMunicate:WAIT
Command
The
COMMunicate:WAIT
command is used to wait
for a specific event to occur.
Example
:STATus:FILTer4 FALL;:STATus:EESR?;:
:SOURce:LEVel 10V<PMT>
(Read the response to
:STATus:EESR?
)
:COMMunicate:WAIT #H0008<PMT>
Next command
For a description of
:STATus:FILTer4 FALL
and
:STATus: EESR?
, see the previous section about
the extended event register.
The
:COMMunicate:WAIT #H0008
command
specifies that the program will wait for bit 3 in the
extended event register to be set to “1”.
The next command is not executed until bit 3 in the
extended event register becomes “
1
”.
Overlap Commands and Sequential
Commands
There are two types of commands: overlap and
sequential.
With overlap commands, the execution of the next
command may start before the execution of the
previous command is finished.
With sequential commands, the execution of the next
command is held until the execution of the previous
command is finished (even if multiple commands are
sent consecutively).
All 2560A commands are sequential commands.
However, even sequential commands sometimes
require synchronization. For example, if the output
value is changed and then measured immediately with
a measuring instrument, the measured value may have
not yet reached the final value. If this happens, you
must use the following method to synchronize to the
point in time when the new output value is reached.
Achieving Synchronization without Using
Overlap Commands
• Using the
STATus:CONDition?
Query
STATus:CONDition?
is used to query the
contents of the condition register (see section 14.4).
You can determine whether approximately 500 ms
(response time of the 2560A) has elapsed after
the output value is changed by reading bit 3 of the
condition register. If bit 3 of the condition register is
1, this indicates that approximately 500 ms has not
elapsed since the output value was changed or the
output was turned on. If the bit is 0, this indicates
that approximately 500 ms has elapsed.
Example
:SOURce:LEVel 10V<PMT>
:STATus:CONDition?<PMT>
(Read the response. If the bit 3 is “
1
”, return to
the previous line.)
Next command
The next command is not executed until bit 3 in the
condition register becomes “
0
”.