09-30-2021 03:04 AM
Hello,
I am using LabVIEW 2014. I have designed a program to measure voltage and current with Keithley 2635. When I run continuously the program, it will continuously measure the voltage change, but the value of current keep unchanged, and I have checked the current is changing in Keithley 2635. Take image.png as an example, I will always get -4.40873e-03A current value, and a changing voltage value.
From my program (test.vi), I have used similar way to measure voltage and current, but why I got different results.
Any help or info is appreciated.
09-30-2021 07:08 AM
10-01-2021 09:01 AM
Hello Albert,
Thanks for your response. It is in current control mode (Voltmeter mode, and source function is I). But I have checked at 2635 display the current is slightly fluctuating. If I run the program continuously, the current will be updated in the first loop only.
I have also found another problem. In the current control mode, if I press the "MEAS" to measure current, the values in S_I_Output and S_V_Ouptut are interchanged (in LabVIEW), that means I get voltage in my current output. Why it will happen? Will it be hardware problem?
10-01-2021 12:43 PM
10-01-2021 12:47 PM
You probably get different results because the SMU is in a different state every time you run the code. Your code should handle the instruments settings the same way every time, rather than relying on front panel button pushes which can change more than just the setting for that button. Ex. switching modes from I-source to V-source probably reset the auto-range, auto-zero and measurement aperture features and would thus result in slightly different values measured.
Make your code handle all settings required and then is should give you the same values everytime.
Craig
10-04-2021 02:37 AM
Hello Albert and cstorey,
Thanks for your response. I have modified my code with adding the instrument settings. The settings include V,I autorange, reset(), errorqueue.clear(), voltage level and selecting voltage source function. However, I still got an unchanged current with a changing voltage. I guess the first data of the current always occupied the first index of the current buffer, so I set "smua.nvbuffer1.clear()" in each loop to clear the buffer before the measurement. Finally, it works, and I can measure the change of current and voltage.
But, in the first loop of my program, when the program run to the 1nd VISA Write in the While loop, "smua.nvbffer1.clear", I will get an Error Code: -285, TSP syntax error. I will not get this error in the later loop, and still can measure voltage and current.
The following are my questions:
1. why can I measure the voltage without clear the voltage buffer in each loop, but the current measurement are needed?
2. Are the data not accurate, if I get an Error Code: -285, TSP Syntax error?
3. I have search a solution for the error from other topic, https://forums.ni.com/t5/Instrument-Control-GPIB-Serial/TSP-Syntax-error/td-p/4135855. But where is the setting menu to change the command set to SCPI?