From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

how to read from keithley 2000 multimeter buffer using scpi ?

Hi,

The keithley 2000 multimeter datasheets states that it can measure 2000 measurements per second. i know that the GPIB has a limitation of transfering 50 measurements per second.Therefore, what i wish to do is have the device read volt meaurements , store the measurements in the buffer (maximum 1024 measurments can be stored) and then transfer these 1024 measurements to the computer. (i dont actually need it to be 2000 measurements per second, 1000 will do but all i got so far is about 150 and i dont know what i have done wrong).

i tried using the trace command subset but no luck. 

anyone tried to do this ? anyone has a relevant code perhaps ?  

0 Kudos
Message 1 of 9
(15,265 Views)

Are you saying that the Keithley has a limitation of 50 measurements per second because the GPIB bus certainly does not have that.

 

You ask for code but do not mention what programming language you are using. That's a pretty important detail to provide.

Message 2 of 9
(15,264 Views)

Here's a sample of SCPI commands we once used to digitize a pulse with a Keithley 2000.

 

*RST                                  // Suspends triggering
:FORM:DATA ASCII               // ASCII formatted results
:SENS:FUNC 'VOLT:DC           // Read DC volts
:SENS:VOLT:DC:NPLC 1         // Set the sample rate to 1/60 seconds
:SENS:VOLT:DC:RANGE 10     // Set the voltage range to 10 volts
:DISP:ENABLE 0                   // Disable the front panel display
:TRAC:POIN 1024                // Set to 1024 points in buffer
:TRIG:COUNT 1                   // Set one trigger
:TRIG:DELAY 0.000              // No (additional) delay between samples
:TRIG:SOURCE EXT              // Set trigger source to external
:SAMPLE:COUNT 1024          // Collect 1024 samples
:INIT                                 // Start collecting samples now

Wait for acquisition to happen

:DISP:ENABLE 1                  // Reenable the front panel display
:TRAC:DATA?                     // Get the data

 

 


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 3 of 9
(15,259 Views)

1. thanks! this looks like just what i needed! 

2. you have a line saying "wait for acquisition to happen" - can i control this somehow? i mean, is there a way to know when the buffer is full ? (or is that exactly the trigger). 

3. ill try this first thing tomorrow and let you know how it went. 

 

0 Kudos
Message 4 of 9
(15,255 Views)

and dennis - its gpib to usb. whats the limit on that? 

and as the title sais, im using scpi commands with labview. 

0 Kudos
Message 5 of 9
(15,254 Views)

The "wait for acquisition to happen" is simply meant as a break in commands as your program allows the DMM to acquire the data before requesting it.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 6 of 9
(15,251 Views)

The limit is the instrument. There is no place in the IEEE-488.2 specs that say what a 'measurement' is or how many can be transfered. If you are going to quote some spec, please provide the reference. The NI USB-GPIB has specs of 1.8MB/s and 7.7MB/s in HS mode.

 

Your title does not mention LabVIEW at all and it is irrelevant that the instrument implements SCPI. For LabVIEW, you should at least try using the available driver instead of starting from scratch. Haven't you seen the Help menu item called 'Find Instrument Drivers'?

0 Kudos
Message 7 of 9
(15,245 Views)
So i tried the code and it didnt do it. the waiting time to equire 500 measurements is 3 seconds. Each measurement is 16 bytes. I even reduced the digits to 3.5 ( using: sens:volt:dc:digits 4) and turned off the filter (...:avarge:stat 0), any ideas how can i improve this?
0 Kudos
Message 8 of 9
(15,235 Views)

What is your plc setting? How does the VI's settings compare to the instructions in the manual for the faster sample rate possible? Have you contacted Keithley tech support for help in getting what the settings should be?

0 Kudos
Message 9 of 9
(15,224 Views)