Hello,
I am using a Keithley 6517B electrometer to provide a bias voltage and to read current in a circuit. I am using SCPI commands to operate the device remotely. I would like to use auto-range, but have found that the instrument does not up-range from the 200 pA range to the 2 nA range when I use "READ?" to trigger a measurement. However, the instrument completes the correct transitions for other ranges when using "READ?".
I can get the 6517B to up-range from 200 pA range to the 2 nA range by re-issuing "CONF:CURR" (or "MEAS?", but "meas" works because it includes "conf"). This is after the instrument has been configured for a current measurement (i.e., querying "conf?" would return "curr:dc"), and it needs to be done every time I want to get out of the 200 pA range. I know that using "conf" performs a number of actions, and ideally I do not want to re-do all of these every single time I take a reading - there must be a more efficient way.
How can I configure my instrument to properly use auto-ranging for the current measurement? I've checked that auto-range is enabled, and that the upper range limit for auto-range is 20 mA.
Steps to repeat issue
---
I am using the GPIB interface with a GPIB-Ethernet adapter, and the readings I obtain are the same as those shown on the device's front panel.
1. Setup
netcat -v 192.168.0.98 1234
Connection to 192.168.0.98 1234 port [tcp/*] succeeded!
*IDN?
KEITHLEY INSTRUMENTS INC.,MODEL 6517B,4584330,A14/700x
*rst
conf:curr
form:elem read,unit,vso,stat
syst:zch off
sour:volt 25
outp on
2. Checking configuration, auto-range, and range limits:
conf?
"CURR:DC"
sens:curr:rang:auto?
1
sens:curr:rang:auto:llim?
2.0000000E-11
sens:curr:rang:auto:ulim?
2.0000000E-02
sens:curr:rang:upp?
2.0000000E-02
3. Measuring using "read?" in the 200 pA range works as expected:
read?
+143.0885E-12NADC,+0025.000Vsrc
read?
+141.1126E-12NADC,+0025.000Vsrc
sens:curr:rang:upp?
2.0000000E-10
4. This is where the problem is: increasing the voltage in the system for an expected current of roughly 250 pA. Now, measuring using "read?" does not give me the expected current, but instead gives me ~209 pA (the maximum allowed in the 200pA range). Auto-range is still enabled, but the measurement range did not increase. The voltage I physically measure across the source is 35V as expected. The status flag is still 'N' for normal, and shows no indication of overflow.
sour:volt 35
read?
+208.8394E-12NADC,+0035.000Vsrc
read?
+208.4471E-12NADC,+0035.000Vsrc
sens:curr:rang:upp?
2.0000000E-10
sens:curr:rang:auto?
1
sens:curr:rang:auto:ulim?
2.0000000E-02
5. After I send a "meas?", I get readings of around 250 pA as expected. I can see that the measurement range has been increased, and "read?" will now continue to give me 250 pA as expected.
meas?
+0.241637E-09NADC,+0035.000Vsrc
read?
+0.249885E-09NADC,+0035.000Vsrc
sens:curr:rang:upp?
2.0000000E-09
5. When increasing the current further, up-ranges occur as expected.
sour:volt 52
read?
+021.0036E-09NADC,+0052.000Vsrc
sens:curr:rang:upp?
2.0000000E-07
6. If I bring the current back down to the 200 pA range, and then back up to the 2 nA range again, the instrument does not up-range until I issue a "meas?" command, as before. I tried using 35 V (expected 250 pA) and 40 V (expected 330 pA) - neither caused the 6517B to uprange.
sour:volt 25
read?
+143.4189E-12NADC,+0025.000Vsrc
sens:curr:rang:upp?
2.0000000E-10
sour:volt 35
read?
+208.3761E-12NADC,+0035.000Vsrc
sour:volt 40
read?
+208.2913E-12NADC,+0040.000Vsrc
read?
+208.3752E-12NADC,+0040.000Vsrc
sens:curr:rang:upp?
2.0000000E-10
meas?
+0.333612E-09NADC,+0040.000Vsrc
sens:curr:rang:upp?
2.0000000E-09
7. The difference between "read?" and "meas?" is that "meas" issues "abor", "conf:curr", and then "read?". So, which of the two extra commands helped? conf:curr is the one that makes it work:
sour:volt 35
read?
+209.2242E-12NADC,+0035.000Vsrc
read?
+209.3727E-12NADC,+0035.000Vsrc
ABOR
read?
+209.8183E-12NADC,+0035.000Vsrc
read?
+209.7916E-12NADC,+0035.000Vsrc
CONF:CURR
read?
+0.255592E-09NADC,+0035.000Vsrc
I had this same issue two weeks ago, and it went away without any conscious change on my part. However, today it is back again and is consistently repeatable with these steps. I always use *rst so that my instrument settings are consistent - I'm not sure why this issue went away in the past, why it is back, or why it is occurring at all.
Thanks in advance.