16 block transfer (gpib only) – B&K Precision 4078 - Manual User Manual
Page 89
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
The 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
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?