From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

keithley 236 SMU and lab view

Hi,

 

  I'm using the program that Labview made to measure I-V curves with a Keithley 236 SMU. I want to tweek this program to allow me to measure 1 IV curve per minute for a continuous amount of time. I want to be able to change the overall time period for measurements too. For example, I want to input 100 minutes of continuous data measurements, so i would expect to have 100 IV curves. How do I tweek the program to allow this to happen?

 

 

Omed

0 Kudos
Message 1 of 6
(3,950 Views)

Hi Omed,

 

which program do you refer to? You can include links in messages too.

 

Generally:

If a vi is doing a task once and you need this task several times, you use the vi as subvi in a loop...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 6
(3,934 Views)
Right, but how would I incorporate a timer on the loop? For example, I would like one loop to take about 1min to finish graphing the V-I curve, and i want that loop to repeat for a total of 30 minutes, giving me a total of 30 V-I curves.
0 Kudos
Message 3 of 6
(3,900 Views)

Hi Tenn,

 

"take about 1min to finish"

- When your DAQ needs about 1sec to read a datapoint then you can read about 60 points per iteration. (I made some words bold to show that a clear and to-the-point question would be better here.)  

Or you could also measure time and decide when it's time to end that iteration (ie. use a while loop here!).

 

"want that loop to repeat for a total of 30"

- Put another for loop around the first one and wire a "30" to the loop count... (You would do so in any programming environment, this is not LV specific.)

 

Message Edited by GerdW on 11-12-2009 08:16 AM
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 6
(3,898 Views)

Thank you,

 

 

   ok.... I have another question.... I'm running a temperature control unit along with an SMU. For my temperature control unit, will reach a certain temperature and then dwell for a certain amount of time. I want my SMU to initiate taking I-V curves within and only with in this time frame. So basically, I want I-V curves being taken only during the dwell time. Can you explain to me how to sync these two different programs together to allow this?

0 Kudos
Message 5 of 6
(3,871 Views)

Hi Tenn,

 

well, there is more than one approach...

 

Easiest would be to have two seperate loops, one for the temp control and the other for the SMU. The first loop (temp control) is setting a boolean to true, when it is in dwell state. The second loop is reading the boolean and and initiates the IV-measurement when on TRUE condition. When both loops are within one vi you could use a local variable.

 

This can be extended to make this more versatile and robust: look into FGV (aka LV2-style globals) to store the boolean. Use a typedef'ed enum to store the program state (instead of the boolean). Use a state machine for both loops. Use notifiers/queues to send commands from one loop to the other. So much possibilities...

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 6 of 6
(3,844 Views)