08-12-2025 11:25 PM
I manage to use "Standard Labview driver" of Keithley 6221 DC&AC source to realize a simple SINE wave.
The error is:
1. When the AC amplitude large than 500nA, everything goes well
2. However, if I set the AC amplitude less than or equal to 500nA, the error occurs " -222: the parameter out of range"
To rule out whether it was due to encapsulation, I attempted to issue commands directly through the SCIP command and found that when the current amplitude was less than 500nA, the program and source meter still reported errors, as shown below
I wrote a simple Labview program to check the error: when AC>500nA, everything goes well; when the AC amplitude less than 500nA, error occurs
Standard Driver reports error when the amplitude less than 500nA
The reply of Keithley technical support
I wrote a simple Labview program to check the error
I can successfully output 2 pA SINE wave by operating the front panel only
The program name is "KE6221 -- Wave Gen Example" ,located at “\Keithley622xLV2009_0\Keithley 622x LV 2009\Examples”
The specific error location is the sub-vi “Set wave amplitude”
08-13-2025 12:12 PM
A few thoughts.
The SCPI commands for sourcing AC are something like..
SOUR:WAVE:FUNC SIN ‘ Select sine wave.
SOUR:WAVE:FREQ 1e3 ‘ Set frequency to 1kHz.
SOUR:WAVE:AMPL 1e-2 ‘ Set amplitude to 10mA.
SOUR:WAVE:OFFS 1e-3 ‘ Set offset to 1mA.
SOUR:WAVE:PMAR:STAT OFF ‘ Turn off phase marker.
SOUR:WAVE:DUR:TIME 5 ‘ 5 second duration.
SOUR:WAVE:RANG BEST
1) You need to use more than the set amplitude VI to properly program the instrument. The instruments previous state might be affecting your attempt to set the amplitude. You probably need to set the right source range, frequency, etc.. before you can access the lowest amplitude. The meter spec sheet says its capable of sourcing 4pA. It would be best to create your own VI to do all the proper setup.
2) Check how the driver handles the '500n' in your VI. Is that a string or a numeric? When sending a string to the instrument is it sending '500n'? I would try 5.0E-7. Some instruments recognize SI prefixes like m,n,u,p and others don't. I see it converts 500n to float. I would change the %f to %0.5e, as you may be sending too many digits to the instrument with '0.0000005'.
3)Make sure you don't have a comma as your decimal separator. So its sending 5.0E-7 and not 5,0E-7.
Hope that helps.
Craig