LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Need Help Implementing Ramp Function for Kikusui Electronic Load PLZ205W in LabVIEW

Hello LV Experts,

 

I am a student, and your guidance is invaluable to my studies. I am working with a Kikusui Electronic Load PLZ205W and have installed the kiplz5w instrument driver in LabVIEW for controlling the device. I have successfully established a connection with the load and can operate it in constant current mode, as well as enable and disable the load.

However, I need to implement a ramp function because the driver does not have a built-in function for this.

Example Requirement:

  • Ramp to 5 A with a ramp rate of 0.1 A/s.
  • Then ramp to 2 A with a ramp rate of 0.2 A/s. (so on)
  • I would like to input the target current and ramp rate from the front panel to make the functionality flexible.

I understand that this involves incrementing the current in small steps over time, but I need advice on the best way to achieve this using LabVIEW's programming structures (e.g., loops, delays, etc.) and the driver commands.

Any guidance, tips, or example implementations would be greatly appreciated. Thank you for contributing to my learning journey!

0 Kudos
Message 1 of 10
(262 Views)

It might be hard to get a true ramp if that is not a built in function of the load. You can step the current by setting it in a loop but again you will be limited by the response time of the load. Perhaps you can empirically determine the step time delta that approximates a ramp. 

______________________________________________________________
Have a pleasant day and be sure to learn Python for success and prosperity.
0 Kudos
Message 2 of 10
(218 Views)

Hi Jay,

 

Thank you for your reply. Can you please elaborate on how to determine the step time delta?. I am confused on how to implement the loop. Thanks in advance :')

0 Kudos
Message 3 of 10
(188 Views)

Here is an example of how to set current values in a timed loop. Replace the VISA VIs with your KIKUSUI driver VIs (I don't have that driver) 

 

snip.png

______________________________________________________________
Have a pleasant day and be sure to learn Python for success and prosperity.
0 Kudos
Message 4 of 10
(170 Views)

Hi Jay,

 

Inserting each ramp value to the array is very time consuming. Is there any other simpler way?. Also I didn't understand the use of that flat sequence. Thanks for helping :')

0 Kudos
Message 5 of 10
(111 Views)

Hi Varghese,

 


@Varghese89 wrote:

Inserting each ramp value to the array is very time consuming. Is there any other simpler way?


LabVIEW has a Ramp function: open QuickDrop, type "ramp"…

 


@Varghese89 wrote:

Also I didn't understand the use of that flat sequence.


The sequence frame enforces DATAFLOW, so it makes sure the wait is executed AFTER VISAWrite and BEFORE VISARead.

You can use the Stall.vim in your recent LabVIEW version instead.

 

Or you can get rid of that wait at all when your driver VIs implement a proper communication scheme with your device! (In this case any "message read" in the driver will wait for correct responses without needing additional waits.)

Best regards,
GerdW


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

Hi GerdW,

 

Thank you for the clarification. I can't find the LabVIEW ramp function. I see a ramp function for IviACPPwr Driver but I am using kiplz5w Driver (when I try to use, it is showing "Wire class conflict" : refnums are different) . 

0 Kudos
Message 7 of 10
(99 Views)

NIquist_0-1738335490769.png

GerdW is probably talking about this signal processing function.  I don't know why it would not show up in your quick-drop, but I think you do need the Advanced Signal Processing toolkit.

LabVIEW Advanced Signal Processing Toolkit Download - NI

NIquist_1-1738335603998.png

 

LabVIEW Pro Dev & Measurement Studio Pro (VS Pro) 2019
0 Kudos
Message 8 of 10
(79 Views)

Don't let the Ramp Pattern.vi stop you though.  Creating a simple loop to build an array of steps with inputs of start, stop and #steps should be a simple task.  Try it and let us know if you get stuck...

LabVIEW Pro Dev & Measurement Studio Pro (VS Pro) 2019
0 Kudos
Message 9 of 10
(78 Views)

I have a VI that does basically what you want. Instead of ramping from a rate of 0.2 A/s. How about: " I need to Ramp from 3A to 5A in 2 seconds". Convert if necessary. My VI rebuilds the ramp if the inputs change. But you could probably write something simpler

In the screenshot below I have a ramp function with feedback nodes for sudo state machine. You VI needs to keep track of.

  • What was the previous current Target? A(t)
  • What is the transition time (Or use transition rate and convert)
  • What is the new Target? A(t)
  • How much time has passed? A faster loop rate will give you a higher resolution
0 Kudos
Message 10 of 10
(65 Views)