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.
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.
04-02-2014 08:34 AM - edited 04-02-2014 08:37 AM
Ok, so I am working with 2 Agilent E364X Power Supplies. I have a device with a gate and drain that I am applying power to. With the Gate I am applying 1.5V & .3A current limit , the drain I am applying 9.5V & 1A current limit. What I am trying to do is step up the gate voltage while monitoring the Drain current, and need the increments to stop when the Drain Current gets down to .5A +/-50mA. I guess I kind of have two issues. I am using a state machine, the first iteratino sets both of the PS's to the desired settings (works fine), next iteration is supposed to step up the Gate Power Supply's Voltate with small increments, check the Drains Power Supply's Current reading to see if it falls in the given range, if not the continue incrementing, recheck, and so on... I am having an issue with the increment part as well as the checking the for the Current part. I was thinking maybe I need to use a Flat Sequence or something along that line. Any help would be greatly apprecaited
Solved! Go to Solution.
04-02-2014 12:16 PM
It would be extremely helpful if you could describe the symptoms.
04-02-2014 12:33 PM
When I run the VI, its starts fine ... When I press Set Voltage both of the power supplies adjust to the mentioned settings (as wanted), When I press Increase Voltage the Gate Power Supply screen flashes Output Off and then reads 1.51V & 8.00A, the Drain Power Supply reads Current Vari and sets to -0.00V & 0.00A.
What I need to happen is, press Increase Voltage and both of the power supplies stay running, and the Gate Power Supply increase with a 0.01V increment, check the current on the Drain power supply, if it falls within the .500A +/- 50mA, then stop, if it doesnt read withing that window, to increase with another .01V and recheck, continuting this until it falls withing the desired amperage.
04-02-2014 01:26 PM
Is there a reason you are initializing each power supply with every staet change? Normally you do that once, at the begining of thet est. Initializing the power supply would, indeed, turn off the outputs.
04-02-2014 01:28 PM
I have fixed that already
04-02-2014 01:35 PM
So... what does your current VI look like? I have some ideas, but I can't really say until I see it.
04-02-2014 01:58 PM
Ok, sorry I've done some changes since original post ... What I did was remove the Close from Process 1 and the Initialize from Process 2 ... New results are as follows ...
Set Voltage sets both the Gate Power Supply & Drain Power Supply to 1.5V .3 A & 2V 1A, respectively. Press Increase Voltage, Gate Power Supply increases to 1.51V & Drain Power Supply Current reads .198A, and then it stops processing.
04-02-2014 02:46 PM
You have a major issue in Process 2 state. If the read current was less than 0.5, then you will be stuck in an endless While loop. You need to put the reading of the current and the setting of the voltage inside of the While loop if you actually want them to change.
04-02-2014 04:02 PM
Thank yoiu CrossRulz, So I came up with this, I think this is what you were referring to, it properly changes the voltage as desired. Just not sure if I should close the multimeter VI following results. Also I was curious as to if this should be done with Flat Sequence or if its simpler to just leave it as is. I am pretty new to labview and dont necessarily know the best programming techniques yet. Any other advice is always welcome. Thanks again.
04-02-2014 04:55 PM
For supply #1, you should just have the setting of the voltage itself inside of the loop. It probably wouldn't hurt to through an extra checking for errors just in case (you can then abort if there is an error). The rest can probably stay outside of the loop.