724 Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Guide
12 Programming Examples
* formatted when sent from the oscilloscope and can be set
* to WORD or BYTE format.
*/
// Set waveform format to BYTE.
oscp.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.
*/
oscp.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 = oscp.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];
Console.WriteLine("Preamble POINts: {0:e}", fPoints);
double fCount = fResultsArray[3];
Console.WriteLine("Preamble COUNt: {0:e}", fCount);
double fXincrement = fResultsArray[4];
Console.WriteLine("Preamble XINCrement: {0:e}", fXincrement);
double fXorigin = fResultsArray[5];
Console.WriteLine("Preamble XORigin: {0:e}", fXorigin);
double fXreference = fResultsArray[6];