timeoutlabviewvisagpib

LabVIEW and Keithley 2635A - Unable to read data


I'm using LabVIEW and its VISA capabilities to control a Keithley 2635A source meter. Whenever I try to identify the device, it works just fine, both in reading and writing.

viWRITE(*IDN?) /* VISA subVI to send the command to the machine */
viREAD /* VISA subVI to read output */

However, as soon as I set the voltage (or current), it does so. Then I send the command to perform a measurement, but I'm not able to read that data, with the error

VISA:  (Hex 0xBFFF0015) Timeout expired before operation completed.

After that, I can not read the *IDN? output either anymore.

The source meter is connected to the PC via a National Instrument GPIB-USB-HS adaptor.

EDIT: I forgot to add, this happens in the VISA Interactive Control program as well.


Solution

  • Ok, apparently the documentation is not very clear. What the smua.measure.X() (where X is the needed parameter) command does is, of course, writing the measurement outcome on a buffer. In order to read that buffer, however, the simple viREAD[] is not sufficient.

    So basically the answer was to simply add a print command: this way I have

    viWRITE[print(smua.measure.X())];
    viREAD[]
    

    And I don't have the error anymore. Not sure why such a command is needed, but that's that. Thank you all for your time answering me.