760 Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Guide
12 Programming Examples
*
* 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.
myScope.DoCommand(":WAVeform:FORMat BYTE");
/* 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.
*/
myScope.DoCommand(":WAVeform:POINts 1000");
/* 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-1andisalways 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.
*/
Console.WriteLine("Reading preamble.");
double[] fResultsArray;
fResultsArray = myScope.DoQueryValues(":WAVeform:PREamble?");
double fFormat = fResultsArray[0];
Console.WriteLine("Preamble FORMat: {0:e}", fFormat);
double fType = fResultsArray[1];
Console.WriteLine("Preamble TYPE: {0:e}", fType);
double fPoints = fResultsArray[2];