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.

Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

PI Control Error Between Process Variable and Set Point

I've developed a PI program that uses measurements from a pressure transducer as the process variable to control air pressure released from a motorized valve. The program works great at lower pressures, but as the set point pressure increases the error between the process variable and set point increases. I've tried several things....adjusting the P seems to initially increase the overshoot but the process variable always settles down below the set point....tried adjusting the EGU min and max values but no real pattern develops with this. It appears as the process variable get closer to the max EGU value of 70000 pascals the error increases.

 

I've attached three screen shots showing the process variable curve and setpoint value. The graph of interest is the one in the upper right hand corner.

 

Any recommendation or advice would be appreciated.

 

tks, Terry

Download All
0 Kudos
Message 1 of 4
(5,631 Views)

Is there any chance you're representing any value in this system as a U16?  The reason I'm asking is because the maximum value of an unsigned 16 bit number is 65,535.  Since you're getting errors at approximately 70,000, I'm wondering if a numeric overflow is occurring somewhere.

0 Kudos
Message 2 of 4
(5,609 Views)

Kyle,

 

First off....I appreciate your comments. No...there is no value is system represented as U16.

 

Actually errors start to develop quite a bit before the maximum. If you look at the mid pressure.jpg file you'll notice that the set point (~28125 Pascals) and process variable (~25625 Pascals) are roughly off by about 2500 Pascals. Then if you look at the high pressure.jpg file you'll notice that the set point (~53000 Pascals) and process variable (~45500 Pascals) are roughly off by about 7500 Pascals. Therefore it appears as the setpoint pressure increases towards maximum the error tends to increase.

 

I was curious about something....the set point value I'm inputting into the PID.VI , shown in the high pressure.jpg file, is from EGU to percent.VI. It would look exactly like the EGU to percent VI feeding the process variable input of the PID.VI with the set point value feeding the EGU to percent.VI input. Would I be better off feeding the actual set point value to the PID.VI input instead of percentage?

 

Thanks, Terry

0 Kudos
Message 3 of 4
(5,594 Views)

I would say the the PID function is most commonly used with actual values instead of percentages.  I'm not sure how it's behavior would differ if it's performing operations on a percentage instead.  However, the output range should be represented as a percentage.

0 Kudos
Message 4 of 4
(5,577 Views)