4-8
IM 701310-17E
4.5 Synchronization with the Controller
• Using the COMMunicate:OVERlap command
The
COMMunicate:OVERlap
command enables (or
disables) overlap operation.
Example
:COMMunicate:OVERlap #HFFBF;:
FILE:LOAD:SETup:
EXECute "CASE1";:CHANnel1:
VDIV?<PMT>
“
COMMunicate:OVERlap #HFFBF
” enables
overlap operation on commands other than media
access. Because the overlap operation of file
loading is disabled, “
FILE:LOAD:SETup:EXECute
"CASE1"
” operates in the same way as a sequential
command. Therefore,
CHANnel1:
VDIV?
is not executed until the file loading is
complete.
• Using the *OPC Command
The
*OPC
command sets the OPC bit, bit 0 of the
standard event register (see page 6-3), to 1 when
the overlap operation is completed.
Example
:COMMunicate:OPSE #H0040;
*ESE 1;
*ESR?;*SRE 32;:FILE:LOAD:SETup:
EXECute "CASE1";*OPC<PMT>
(Read the response to
*ESR?
)
(Wait for a service request)
:CHANnel1:VDIV?<PMT>
“
COMMunicate:OPSE
” is a command used to select
the “
*OPC
” target. Here, media access is specified.
“
*ESE 1
” and “
*SRE 32
” indicate that a service
request is generated only when the OPC bit is 1.
“
*ESR?
” clears the standard event register.
In the example above, “
CHANnel1:VDIV?
” is not
executed until a service request is generated.
Overlap Commands and Sequential Commands
There are two types of commands, overlap commands
and sequential commands. In the case of overlap
commands, the execution of the next command may
start before the execution of the previous command is
completed.
For example, if the next program message is
transmitted when specifying the V/div value and
querying the result, the response always returns the
most recent setting (5 V in this case).
:CHANnel1:VDIV 5V;VDIV?<PMT>
This is because the next command is forced to wait
until the processing of “
CHANnel1:VDIV
” itself
is completed. This type of command is called a
sequential command.
On the contrary, let us assume that you send the next
program message when you wish to load a file and
query the V/div value of the result.
:FILE:LOAD:SETup:EXECute "CASE1";:
CHANnel1:VDIV?
In this case, “
CHANnel1:VDIV?
” is executed before
the loading of the file is completed, and the V/div value
that is returned is the value before the file is loaded.
The act of executing the next command before the
processing of itself is completed such as with “
FILE:
LOAD:SETup:EXECute "CASE1"
” is called an
overlap operation. A command that operates in this
way is called an overlap command.
In such case, the overlap operation can be prevented
by using the methods below.
Synchronizing with Overlap Commands
• Using the *WAI Command
The
*WAI
command holds the subsequent
commands until the overlap command is completed.
Example
:COMMunicate:OPSE #H0040;:
FILE:LOAD:SETup:
EXECute "CASE1";*WAI;:
CHANnel1:VDIV?<PMT>
“
COMMunicate:OPSE
” is a command used to select
the “
*WAI
” target. Here, media access is specified.
Because “
*WAI
” is executed immediately before
“
CHANnel1:VDIV?
,” “
CHANnel1:VDIV?
” is not
executed until the file loading is complete.