LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

how to sweep the voltage and allow the voltage resource out to next vi

hi all,

 

Currently i am trying to sweep the voltage and allow the sweep resource voltage pass to next vi.

I am using for loop to sweep the voltage source, however i cannot pass the voltage resource for each of iteration out to vi.

Can anyone help to advice ?

 

Below is my code.

 

 

 

0 Kudos
Message 1 of 12
(3,534 Views)
There is really not enough information here. What is this "next vi" doing? Why can't you put it inside the loop? What is the process you are trying to implement?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
0 Kudos
Message 2 of 12
(3,515 Views)

Opening Session and Initial supply settings should be done before "for loop". In each iteration you need to set only voltage level. No need to reset the instrument every time. Closing the session needs to be there after completion of for loop. Instead of Aborting function in for loop, you need to use conditional terminal.

 

Sweeping Voltage and Read.png

What you are trying to do with next vi?

Message 3 of 12
(3,511 Views)

First Try to follow LabVIEW Coding Guidliness.

Hope Opening a Port Once is good enough to communicate with a device.So try to Open and Configure once and you can Read and Write to device at N times and Once the Conversation is over you can close the Com port.

 

If you need to pass the acquired Values after acqusuition to next VI Which you are mentioning, Just Index all the values and then Create as a indicator and Get the value to next VI.

 

If you want to get each value during acqisition use Functional Global Variable to Transfer data.

 

But still more information Needed.

----------------------------------------------------------------------------------------------------------------
Palanivel Thiruvenkadam | பழனிவேல் திருவெங்கடம்
LabVIEW™ Champion |Certified LabVIEW™ Architect |Certified TestStand Developer

Kidlin's Law -If you can write the problem down clearly then the matter is half solved.
-----------------------------------------------------------------------------------------------------------------
0 Kudos
Message 4 of 12
(3,501 Views)

hi mikeporter,

 

basically, i want to do the voltage increment and for each of the voltage value i can use it for next testing block, that why i need able to pass the voltage resource out for each of the iteration with certain delay time.

 

regards,

yeehwa

0 Kudos
Message 5 of 12
(3,471 Views)

hi Nanthakumar,

 

Thanks for the idea, i now can manage to loop the voltage, then read out the sweep voltage value from oscilloscope each of the iteration. 

0 Kudos
Message 6 of 12
(3,467 Views)

hi PalanivelT,

 

actually, i did try to use global variable before. however, i failed to update the latest voltage resource for my next test. example:

 

blockA: sweep voltage from 15V-18V. for each of the voltage 15V, 16V, 17V, 18V need to pass to nect blockB to do measurement by using oscilloscope. 

0 Kudos
Message 7 of 12
(3,466 Views)

could you send the vi with working program

0 Kudos
Message 8 of 12
(2,414 Views)

You should really go through the tutorials at the top of this page. It is still unclear what you are wanting to "pass to next vi", but there are multiple ways to pass data out of a for loop depending on what you need. If you really are doing a "next vi" then you need to wire the data out of the loop. The FOR loop will default to auto-index, but if you just want a last value you can change this.

0 Kudos
Message 9 of 12
(2,406 Views)

Looks like you are using a SMU (make & model?) to sweep voltage and do a measurement by sending SCPI commands.  There are LabVIEW drivers for almost all models of SMU available, and they have examples that would help you get started.  Look on the instrument driver network - http://www.ni.com/downloads/instrument-drivers/

 

If you prefer to continue down the path you are on with your code, then you just need to use the loop indexing (wire the reading to the right side of the FOR loop) and you will get an array of values you can use after the loop has completed.  This array can then be passed to the "Next" VI in the code.

 

Hope that helps.

Craig

 

 

0 Kudos
Message 10 of 12
(2,396 Views)