06-15-2021 07:27 AM
Yeah, the thing is that, as of now, the provided example vi's use a pulsed sweep (my voltmeter reveals this, although the labview program doesn't hint at it). I haven't found out where this pulse is specified. Once I find it, I will modify that part using your snipet. The hard part is to find where the pulse is defined, to me (I am working on it).
06-15-2021 09:54 AM - edited 06-15-2021 09:55 AM
It becomes a nightmare. The command used in the labview code is supposed to be a current sweep step function (according to the documentation), yet when I use a voltmeter I see huge spikes and the voltage goes to 0 between measurements, while it shouldn't behave this way at all. So... it looks like there is no pulse in the LabView code, yet the circuit behaves this way.
I have fell back onto my simple code where I simply want to set up the current (as in the first post). Out of memory, I modified the command and removed the "lev" part, which should set the current to a particular value. However, despite no error returned and a thus apparently working LabView code, my voltmeter shows that no voltage is established across a resistor, which means no current is passing through it. I.e. my Labview code doesn't work and I am unable to set the current I wish to set.
I don't mind not to use the in-build sweep functions. I will replicate them with Labview, my own way. But first, I need to be able to set a current...
06-15-2021 11:47 AM
Are you using the "Current Sweep Script.vi" from the LabVIEW driver examples?
It looks like this uses the built-in "SweepILinMeasureV" command. What you see during the measurement will not depend on whether you send this with LabVIEW or any other program, that's just how the function works.
The pulse measurement you mention is done with "PulseIMeasureV", so please double check it is sending the command you expect.
Are you getting close to the limit voltage? If you hit the limit it may cause the current to drop back to 0 between measurements (just a guess).
There is also an AutoZero function which periodically checks to make sure some offsets are correct. If it's on Auto, it will periodically perform an AutoZero measurement, so you can try to turn this off to ensure it doesn't happen during your sweep.
smuX.measure.autozero = smuX.AUTOZERO_OFF
06-17-2021 02:45 AM
It turns out that the apparatus behaved correctly and that my voltmeter was faulty. I've monitored the voltage with another apparatus, in function of time, and I can see it behaves as in the manual.
Sometimes I do get errors when I run the code, I tried to debug to no avail. Closing Labview and restarting the apparatus has fixed (temporarily) the problem, so far. Very strange.
So I can consider the thread as solved I guess, even though I am unable to pass custom commands from scratch. I had to modify the preexisting files and adapt them to my needs.