HP (Hewlett-Packard) B Network Router User Manual


 
Refer to the "Memory Management" section in Chapter 3 for information on
where segmented readings are stored in memory.
Both channels can be fetched interleaved by specifying DIAG:FETC3?. When
both channels are fetched, the channel 1 data is the first data point, and the count
specified is the number of readings to be taken on each channel, and is thus
limited to 1000 per channel.
The start_addr must be divisible by 4. If it is not, then the next lowest memory
location divisible by 4 will be the actual start_addr used, i.e. a start_addr of 511
would be rounded down to be 508.
Data is sent back in binary block format with a header string preceeding the data.
The header is made of the ascii string: #,number_of_digits,number_of_bytes --
where # indicates binary block data, number_of_digits is how many ascii digits
make up the following byte count, and number_of_bytes is the byte count. After
the header, the stream of data bytes occurs. Example 2 below shows how to
accomodate the header string using the HP Rocky Mountain Basic programming
language.
Related Commands: ABORt, FORMat, INITiate:IMMediate,
ARM:STARt:COUNt, TRIGger:STARt:COUNt, SENSe:SWEep:POINts:DELay
*RST Condition: none
Example 1 Examining readings in a portion of memory
DIAG:FETC? 5200,300 Get 300 readings from channel 1, beginning
at address 5200.
Example 2 Reading back PACKed data (HP BASIC program)
DIM Ndig$[1],Count$[9] Dimension parameters for header
ASSIGN @X TO 70905;FORMAT OFF
Turn format off for array data
OUTPUT 70905;"DIAG:FETC1? 5200,300" Query for channel 1 measurement data
ENTER @X USING "#,X,K,K";Ndig$;Count$[1;VAL(Ndig$)]
Strip the header preceeding the data
ALLOCATE INTEGER Meas_data(1:VAL(Count$)/2)
Allocate an array to hold the data
ENTER @X;Meas_data(*) Read in the measurement data
ENTER 70905 USING "B";Junk Need to strip off left over line feed
DIAGnostic:FETCh?
DIAGnostic Subsystem Command Reference 219