Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Device output queue

This may sound very weird, but I have a need to read the last few bytes from the output queue and leave the others intact. Is this possible at all?

To elaborate, if I do a ibwrt "*IDN?; *ESR?", is there a way by which I can get the output of "*ESR?" alone?

Or can it be done in some other indirect way - read everything, but put back a portion of the read buffer? Is there any way to manipulate the output queue of any 488.2 device?

Any help is appreciated.

Thanks,
Raj
0 Kudos
Message 1 of 2
(3,317 Views)
This is not generally possible.

The controller is going to continue reading until the specified termination method is set (EOI, EOS, count). What the message is that it is reading depends on the instrument. Based on the command "*IDN?; *ESR?", I would expect that the instrument fill up its buffers/fifos with the *IDN? response followed by the *ESR? response and then proceed with handshaking/sending the data to the controller. Unless the instrument has a command to specify an offset in its buffer or some other memory management function, you will not be able to read the last byte first. This is definitely not part of the 488.2 standard so any specifics on such an unusual procedure would be documented by the vendor.

Ryan Mosley
0 Kudos
Message 2 of 2
(3,317 Views)