Status and Events
TDS Family Oscilloscope Programmer Manual 3–11
*ESE 1
*SRE 32
/* Acquire waveform data */
ACQUIRE:STATE ON
/* Set up the measurement parameters */
MEASUREMENT:IMMED:TYPE AMPLITUDE
MEASUREMENT:IMMED:SOURCE CH1
/* Wait until the acquisition is complete before taking the measurement */
*OPC
Program can now do different tasks such as talk to other
devices. The SRQ, when it comes, interrupts those tasks and
returns control to this task.
/* Take amplitude measurement on acquired data */
MEASUREMENT:IMMED:VALUE?
This technique is more efficient but requires more sophisticated programming.
The *OPC? query places a 1 in the Output Queue once an operation is complete.
A timeout could occur if you try to read the output queue before there is any data
in it.
The same command sequence using the *OPC? query for synchronization looks
like this:
/* Set up single-sequence acquisition */
SELECT:CH1 ON
HORIZONTAL:RECORDLENGTH 500
ACQUIRE:MODE SAMPLE
ACQUIRE:STOPAFTER SEQUENCE
/* Acquire waveform data */
ACQUIRE:STATE ON
/* Set up the measurement parameters */
MEASUREMENT:IMMED:TYPE AMPLITUDE
MEASUREMENT:IMMED:SOURCE CH1
/* Wait until the acquisition is complete before taking the measurement */
*OPC?
Wait for read from Output Queue.
/* Take amplitude measurement on acquired data */
MEASUREMENT:IMMED:VALUE?
This is the simplest approach. It requires no status handling or loops. However,
you must set the controller time-out for longer than the acquisition operation.
Using the *OPC? Query