11-02-2017 02:50 PM
The first issue was to isolate the failure. It showed that your error occurred in the first sub-vi. This could have meant a number of things like a connection or addressing issue.
If you are able to perform basic communication with the instrument using this simple VISA vi, then it would point to an issue with the specific driver - primarily that first sub-vi. Make sure that you use the same resource as in the simple VISA vi for the driver when connecting.
11-02-2017 03:52 PM
Turns out the 2450 speaks 3 instrument languages; SCPI, SCPI2400 and TSP.
Can you use the instrument menu, NI-MAX of a VI like below to check which your instrument is set to?
For using the 2450 driver I imagine its SCPI
SCPI2400 is for compatibility with the older 2400 models.
TSP is its internal language like the 2600 models
That's about all I can think that would trip it up if you can use the VISA vi that Minions supplied.
(Though it would still be good to know if you have NI-VISA, Agilent/Keysight VISA or Keithley VISA installed and running. It might be as simple as one of those doesn't play well with LabVIEW 2011 😉
11-02-2017 09:37 PM - edited 11-02-2017 09:39 PM
Kudos cstory
Keithley VISA does in fact have some issues with LabVIEW. Which is why almost every Keithley installation manual has a section on Using <ThisDevice> with NI Software.
When using these devices with NI software it is advisable to Read that section in the user manual.
It helps to actually follow the directions too! (Why do I feel like I need to point out obvious stuff like that when RTM is part of the advice?)
11-08-2017 11:46 PM
i have same problem. the vi has wrong code about sweep. the sweep action doesnot happen. there is only one data in buffer. enven i use the TSP program in the User’s Manual, the sweep action doesnot happen. i dont know why.
11-09-2017 12:01 AM
--Reset the instrument
reset()
defbuffer1.clear()
--Measure Settings
smu.measure.func = smu.FUNC_DC_VOLTAGE
smu.measure.autorange = smu.ON
smu.measure.nplc = 1
smu.measure.sense=smu.SENSE_2WIRE
--Source Settings
smu.source.func = smu.FUNC_DC_CURRENT
smu.source.vlimit.level = 1
smu.source.delay = 0.1
smu.source.sweeplinear('LowR', -10e-6, 10e-6, 101)
--Run trigger model and wait for it to complete
trigger.model.initiate()
waitcomplete()
--Print Resultsif defbuffer1.n == 0 then if debuffer1.n== 1 then( (program is right, but when 0 donot sweep, when 1, sweep. try it. it is a bug about buffer when you use sweep, so i think labview sweep vi is right,but it cannot work.) use TSP ! good luck.)
print("Buffer is empty\n")
else
print("Current\tVoltage")
for i=1,defbuffer1.n do
print(string.format("%g\t%g", defbuffer1.sourcevalues[i], defbuffer1.readings[i]))
end
end
11-09-2017 12:19 AM
upgrading the firmware to Version v1.6.4c is a simple solution.
Version v1.6.4c Release Overview Version 1.6.4c is an audited minor release which fixes a
number of different bugs all listed below. RELEASED 23-JUN-2017 Critical Fixes Problem with Abort on Limit. When sweeping voltage, the unit stops prematurely and never reaches the current limit. Models affected: All 2450 models, 2460 models, 2461 models Symptom: This bug was introduced with firmware revision v1.6.1a and is fixed with firmware revision v1.6.4c. Resolution: This issue has been corrected. Problem with Abort on Limit. Fail warning message 2733 “TM path #1 block #12 ended due to source limit exceeded” is displayed even though the true source limit was not reached. Models affected: All 2450 models, 2460 models, 2461 models Symptom: This bug was introduced with firmware revision v1.6.3d and is fixed with firmware revision v1.6.4c. Resolution: This issue has been corrected.