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: 

Reverse Acting Autotuning PID

I have a vi that is using the PID.vi compatibility version so I can change the option to be reverse acting. I want to replace the PID.vi with either the autotuning temperature PID.vi or autotuning PID.vi. The problem is that neither of those vi's have the option to change the output to reverse acting. Does anyone know how to do this?

 

My output is a 4-20mA signal that is controlling a VFD motor to increase or decrease coolant flow through a cooler based on temperature. The standard logic for the PID.vi's are programmed so when my input(temperature) is below the set point the output is at the high limit. I want the output to be at the low limit when my process variable is below the set point and I have that capability with the compatibility PID.vi.

0 Kudos
Message 1 of 4
(2,475 Views)

Hi Wesley,

 

what about changing the sign of the P gain?

Best regards,
GerdW


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

Hi Gerd,

I attempted that but I get the same output. I was trying to figure this out with the PID.vi and was unable to get the output to work that way until I found the compatibility PID.vi that has all the options, reverse acting being one of them, and that was how I got it to work. I am using LabVIEW 2016 by the way I can attach some images of the gain settings I have and the outputs I am getting if that would be helpful.

 

Thank you.

0 Kudos
Message 3 of 4
(2,426 Views)

Hi Wesley,

 

when you need this "reverse acting" with functions from PID toolkit then you can very easily implement that on your own!

 

After all it's just simple math: to convert values from 4 to 20 to a range of 20 to 4 you just need to calculate out_new:= 24-out. Conversion of 0…100% to 100…0% is also simply "y:=100%-x":

check.png

(This will work for the mentioned output ranges…)

Best regards,
GerdW


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