LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID loop outputs min and max with small gain

I forgot, yes I have ran it in open loop and it seems to be smooth once I get out the the deadband.

0 Kudos
Message 11 of 12
(627 Views)

There's nothing obviously wrong with your code; I think the system response is a lot of the problem and you may want to characterize it further (I don't know anything about your system but the graph suggests to me that your valve might be a bit "sticky" and needs a relatively large change in setpoint before it moves).  If the deadband is as simple as you describe it - very little response around the neutral point - you could put in some code that checks if the absolute value of the PID output is above some threshhold, and if so, add or subtract the amount necessary to get the valve to start to respond.

 

A few minor style comments: when I'm debugging, I find it very confusing when the graph doesn't show me the actual values being used.  Consider graphing the values the PID VI sees.  Also, this one is personal preference, but I like to use actual engineering values as the PID inputs and outputs.  However, if you prefer to use percentages, consider using the "% to EGU" and "EGU to %" VIs found in the PID palette, they're somewhat clearer than multiplying by random factors.  Finally, you should not need the "In Range and Coerce" since there isbe no way for the output to go outside that range.

0 Kudos
Message 12 of 12
(619 Views)