-
RE: Test post
test -
RE: How do I get Kickstart for a DAQ6510
Now that is very odd... that's the correct URL. I will send this to our web team. -
RE: How do I get Kickstart for a DAQ6510
Can you share any of those broken links?
From the KickStart product page: https://www.tek.com/en/products/keithley/keithley-control-software-bench-instruments/kickstart
Select the "Software License Options" tab, then you can select the App/Apps you want (I would guess Data Logger for your DAQ6510). Use Add to Quote and you'll be able to get a quote from there. -
RE: Get the current Text of the Display
Hmm, there is not a command to get arbitrary text on the front panel of the 2635B. As you found, display.gettext() is only for the user screen set by display.settext(). Things like measurements, source values, and settings are meant to retrieved with their own commands. That is probably better for a remote display anyway so you can always poll important parameters rather than relying on what the 2-line display shows. -
RE: How to synchronize two 2460 SMUs and a Keysight DMM
Oh good! I had read through your post but hadn't looked at the code yet. Glad you figured it out! Autozero is a very common setting to trip people up when trying to do time dependent measurements.
We do recommend using the Autozero Once command (AZER:ONCE) immediately before your test and periodically or when you have gaps in your test for the best accuracy. -
RE: tsp command to append to list | listv measurement | buffer overrun error
How many voltage points are we talking about?
My first thought is to try sending the list to the SMU separately as new array, breaking it up if needed. In pseudocode:writeline(K2412B, strjoin({'vlist=',VliststrPart1)}); writeline(K2412B, strjoin({'vlist=vlist..',VliststrPart2)}); writeline(K2612B, strjoin({gate_smu,'.trigger.source.listv(vlist)'}));
(".." is the concatenation function in TSP/Lua.) -
RE: Inconsistent sampling rate when NPLC is greater or equal to 5
Autozero measures at the same nplc as the measurement it's taking a reference for, so I would expect it to ~double the reading time of measurement.
There are a number of things that dictate when autozero measurements happen, but larger nplc will generally cause them to happen more often, perhaps even every measurement. Larger nplc reduce external error factors so the DMM attempts to reduce internal error factors by autozero-ing more often. Also, autozero measurements are considered valid for some amount of time independent of the nplc setting, so larger nplc will burn through that valid time after fewer readings. Temperature is another factor and autozero frequency can be impacted by the system uptime.
-
RE: Inconsistent sampling rate when NPLC is greater or equal to 5
Some TSP code and results to check this:
dmm.measure.autozero.enable = dmm.OFF dmm.measure.count = 2 for i = 1, 10, 1 do dmm.measure.nplc = i dmm.measure.read() diff = defbuffer1.relativetimestamps[defbuffer1.n] - defbuffer1.relativetimestamps[defbuffer1.n-1] diff = diff*1000 print("sample period ="..16.67*i.." , actual time = "..diff.."nplc = "..i) end
sample period =16.67 , actual time =16.706666 nplc =1
sample period =33.34 , actual time =33.368485 nplc =2
sample period =50.01 , actual time =50.038273 nplc =3
sample period =66.68 , actual time =66.703666 nplc =4
sample period =83.35 , actual time =83.374394 nplc =5
sample period =100.02 , actual time =100.037848 nplc =6
sample period =116.69 , actual time =116.704788 nplc =7
sample period =133.36 , actual time =133.37103 nplc =8
sample period =150.03 , actual time =150.036636 nplc =9
sample period =166.7 , actual time =166.704273 nplc =10dmm.measure.autozero.enable = dmm.ON dmm.measure.count = 2 for i = 1, 10, 1 do dmm.measure.nplc = i dmm.measure.read() diff = defbuffer1.relativetimestamps[defbuffer1.n] - defbuffer1.relativetimestamps[defbuffer1.n-1] diff = diff*1000 print("sample period ="..16.67*i.." , actual time = "..diff.."nplc = "..i) end
sample period =16.67 , actual time =16.707213 nplc =1
sample period =33.34 , actual time =33.373909 nplc =2
sample period =50.01 , actual time =50.040182 nplc =3
sample period =66.68 , actual time =66.704819 nplc =4
sample period =83.35 , actual time =168.76 nplc =5
sample period =100.02 , actual time =202.091 nplc =6
sample period =116.69 , actual time =235.426 nplc =7
sample period =133.36 , actual time =268.759 nplc =8
sample period =150.03 , actual time =302.093 nplc =9
sample period =166.7 , actual time =335.427 nplc =10 -
RE: Inconsistent sampling rate when NPLC is greater or equal to 5
Hi there, I'm guessing autozero was on?
The reference measurements will insert themselves wherever the unit decides, so you should always turn off autozero for tight timing control (and manually take them with dmm.measure.autozero.once() ). -
RE: DAQ6510 TSP command buffer.getstats() number of max values
Ah glad you found a solution!
I would think it would be faster to do the search on the instrument using the TSP engine, did you try that? Unless you needed all the readings on your PC anyway. Or it sounds like things are running fast enough for you already.
This TSP code searches through defbuffer1 to find all instances of num within a tolerance (since defbuffer1[i] returns more digits than the measurement resolution).
function countInstance(num, tolerance) local count = 0 local high = num + tolerance local low = num - tolerance for i = 1, defbuffer1.n do if high > defbuffer1[i] and defbuffer1[i] > low then count = count+1 end end return count end
After putting this function on your DAQ6510, you simply run print(countInstance(num, tolerance)) to return the count to the terminal.