Programming Examples
9
Agilent 6000 Series Oscilloscopes Programmer's Reference
601
void get_waveform (void)
{
int waveform_size;
/* WAVEFORM_DATA - To obtain waveform data, you must specify the
* WAVEFORM parameters for the waveform data prior to sending the
* ":WAVEFORM:DATA?" query.
*
* Once these parameters have been sent, the ":WAVEFORM:PREAMBLE?"
* query provides information concerning the vertical and horizontal
* scaling of the waveform data.
*
* With the preamble information you can then use the
* ":WAVEFORM:DATA?" query and read the data block in the
* correct format.
*/
/* WAVE_FORMAT - Sets the data transmission mode for waveform data
* output.
This command controls how the data is formatted when
* sent from the oscilloscope and can be set to WORD or BYTE format.
*/
/* Set waveform format to BYTE. */
viPrintf(vi, ":WAVEFORM:FORMAT BYTE\n");
/* WAVE_POINTS - Sets the number of points to be transferred.
* The number of time points available is returned by the
* "ACQUIRE:POINTS?" query.
This can be set to any binary
* fraction of the total time points available.
*/
viPrintf(vi, ":WAVEFORM:POINTS 1000\n");
/* GET_PREAMBLE - The preamble contains all of the current WAVEFORM
* settings returned in the form <preamble block><NL> where the
* <preamble block> is:
*
FORMAT
: int16 - 0 = BYTE, 1 = WORD, 2 = ASCII.
*
TYPE
: int16 - 0 = NORMAL, 1 = PEAK DETECT, 2 = AVERAGE.
*
POINTS
: int32 - number of data points transferred.
*
COUNT
: int32 - 1 and is always 1.
*
XINCREMENT : float64 - time difference between data points.
*
XORIGIN
: float64 - always the first data point in memory.
*
XREFERENCE : int32 - specifies the data point associated
*
with the x-origin.
*
YINCREMENT : float32 - voltage difference between data points.
*
YORIGIN
: float32 - value of the voltage at center screen.
*
YREFERENCE : int32 - data point where y-origin occurs.
*/
printf("Reading preamble\n");
viQueryf(vi, ":WAVEFORM:PREAMBLE?\n", "%,10lf\n", preamble);
/*
printf("Preamble FORMAT: %e\n", preamble[0]);
printf("Preamble TYPE: %e\n", preamble[1]);
printf("Preamble POINTS: %e\n", preamble[2]);
printf("Preamble COUNT: %e\n", preamble[3]);
printf("Preamble XINCREMENT: %e\n", preamble[4]);
printf("Preamble XORIGIN: %e\n", preamble[5]);
printf("Preamble XREFERENCE: %e\n", preamble[6]);
Summary of Contents for DSO6014A/L
Page 1: ...A Agilent 6000 Series Oscilloscopes Programmer s Reference...
Page 16: ...16 Agilent 6000 Series Oscilloscopes Programmer s Reference...
Page 30: ...30 Agilent 6000 Series Oscilloscopes Programmer s Reference 1 What s New...
Page 540: ...540 Agilent 6000 Series Oscilloscopes Programmer s Reference 6 Error Messages...
Page 562: ...562 Agilent 6000 Series Oscilloscopes Programmer s Reference 7 Status Reporting...
Page 624: ...624 Agilent 6000 Series Oscilloscopes Programmer s Reference 9 Programming Examples...