16 block transfer (gpib only) – B&K Precision 4079 - Manual User Manual

Page 92

Advertising
background image

86

4.16 Block Transfer (GPIB only)

Arbitrary waveform data sent in IEEE488.2 arbitrary block format may take two forms: the definite form and the indefinite

form. The essential difference between these forms is that the definite form contains a byte count, while the indefinite form

does not. In both cases, the format of the command is

:ARB:DATA<ws><preamble><data><terminator>.

The <data> represents the arbitrary waveform data. This field consists of 8 bit bytes sent in hexadecimal form. Each arbitrary

data point consists of two bytes with the high byte being sent first. When sending data in this way, the value of a data point

may range from -8191, corresponding to the negative peak, to 8191, corresponding to the positive peak. The value 0

corresponds to zero baseline. Compare the ASCII, or front panel representation, which defines data in the range - 8191to +

8191.

Example: to set a data value to zero, send the Hex bytes

0000

The definite form <preamble> consists of two fields. The first is a single byte representing the number of digits in the byte

count. The byte count is the second field in the preamble, and consists of decimal bytes (0-9), which, when taken together,

give the byte count.

Example of definite form (sending values 0,1,2 decimal):

:ARB:DATA #16\x0\x0\x0\x1\x0\x2

means that the byte count consists of 1 byte only, and the number of bytes is 6. (Note: ‘\x’ refers to Hexadecimal)

The indefinite form preamble consists of a 0 character alone.

Example of indefinite form (same data as above):

:ARB:DATA #0\x0\x0\x0\x1\x0\x2\x0A

Since it does not contain a byte count, the indefinite form command must be terminated with EOI if using GPIB or CR and/or

LF when using RS232 interface. (Note: ‘\x0A’ is the hexadecimal value for LF)

Since each arbitrary data point consists of two bytes, an even number of bytes must be sent. In the following examples, the

data is specified in Hex format with each byte being preceded by ' \x', in order to show this.

Example of definite form:

:ARB:DATA #16\x8\x0\x8\x1\x8\x2

Here, the byte count consists of one byte only, and the value is 6.

Example to definite form:

:ARB:DATA #0\x8\x0\x8\x1\x8\x2\x0A

The '\x0A' represents the Linefeed character. EOI must be sent with this character. Arbitrary data read from the instrument in

binary form, as opposed to ASCII, are returned in indefinite form. Before sending your data enable all errors to be reported,

using

:STAT:QUEUE:ENABLE ALL.

Then, if the arb data command causes an error, the error message may be read from the queue using the query.

:SYST:ERR?

Advertising
This manual is related to the following products: