LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Variable PID gain inputs w/o aborting execution

Solved!
Go to solution

Hello all,

 

Attempting to modify my block diagram for a PID controller so that I can change the gain input (prop, int, or der) without aborting the execution of the program; basically want it to act as variable instead of a constant that requires aborting for changes to take effect.

 

I understand what is being discussed here in theory:

https://forums.ni.com/t5/LabVIEW/continuously-changing-PID-gains/m-p/3112827#M892768

 

however I am stuck when it comes to figuring out what needs to be physically changed in the block diagram due to my inexperience with LabView. Any assistance would be great.

 

Thanks.

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

PID controllers are designed to have their coefficients determined (a process sometimes known as "tuning") and then left alone to run the system in a stable manner (varying the settings can actually induce instability).  Hence digital implementations (such as LabVIEW's PID code) don't include "variable coefficients".  This is a feature, not a bug.

 

Bob Schor

0 Kudos
Message 2 of 4
(2,201 Views)

@Bob_Schor wrote:

PID controllers are designed to have their coefficients determined (a process sometimes known as "tuning") and then left alone to run the system in a stable manner (varying the settings can actually induce instability).  Hence digital implementations (such as LabVIEW's PID code) don't include "variable coefficients".  This is a feature, not a bug.

 

Bob Schor


For non-linear systems, there is sometimes a need to apply gain scheduling.

There is a VI for this, not sure if there are any examples though.

 

0xDEAD

0 Kudos
Message 3 of 4
(2,185 Views)
Solution
Accepted by topic author rtalbert

Hi,

 

yes, there is GainScheduling within the PID toolkit available. There used to be example VIs too.

 

Suggestion/idea/hint:

I made my own copy of NI's PID(Advanced) function where I disabled the internal reset due to PID gain changes.

We often have to control non-linear systems and do a lot of "continuous gain scheduling"…

Best regards,
GerdW


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