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: 

temperature PID does not become zero

hello,

 

when I run the attached vi, plant output reaches setpoint and still the PID output is bigger than 0? Plus if I put dead time in, shouldn't the response of the PID be delayed by that time? This is why I want to use this vi in the first place (temperature autotune)

 

thanks!

Download All
0 Kudos
Message 1 of 7
(2,258 Views)

Hi Steffen,

 

plant output reaches setpoint and still the PID output is bigger than 0?

In general the PID output does not need to be zero when pv and sp are equal.

(Example: when controlling a heater you need a certain amount of heating power to reach and hold the sp temperature…)

Best regards,
GerdW


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

I check again on our test rig. You are right, its mixing hot and cold water So even if both temperatures match, I have to keep adding hot water. Just that output then would be steady.

But what about the dead time? There is a long pipe run and before a change of temperature comes through it takes a while. So that PID vi should account for that? At present I cannot use PID because essentially its oscillating.

 

edit: same person, different logins

0 Kudos
Message 3 of 7
(2,211 Views)

@SMARDT_CHILLER wrote:

I check again on our test rig. You are right, its mixing hot and cold water So even if both temperatures match, I have to keep adding hot water. Just that output then would be steady.

But what about the dead time? There is a long pipe run and before a change of temperature comes through it takes a while. So that PID vi should account for that? At present I cannot use PID because essentially its oscillating.

 

edit: same person, different logins


Lets be honest! If you want to even consider controlling the water temperature at a point after a long run of thermosinks (Metal Pipes) you need to monitor the temperature at the outflow.  Or you need to calculate Theta jC over the intervening piping by knowing the run length width and ambient temp as well as those jC parameters.

 

In short, You cannot "Autotune" that PID for a pipe that contains a thermally dense thing like "Watter" 1.0 that is a hard number for thermal density.  Move that mass through uncontrolled "Pipes" and there is nothing you can do but!!!! Put the probes on the output!.  then the delay will be effective

 

 


"Should be" isn't "Is" -Jay
0 Kudos
Message 4 of 7
(2,199 Views)

say I want 10 degrees at point X but its mixed 30m away from there. The heat loss through the pipes are negligible. But if i have flow rates of 15L per s it takes a while until it reaches my sensor and of course some delay for sensor etc to change its temperature. I dont want to use autotune. And the delay of course changes with the flow rate. It works on our test facility with shorter pipe runs and a normal PId vi. But we have another test facility with a way longer pipe run and it takes more than 30s until temperature starts changing after some change in setpoint

0 Kudos
Message 5 of 7
(2,197 Views)

Hi Smardt,

 

it takes more than 30s until temperature starts changing after some change in setpoint

For such dead times PID controls aren't the best option…

But you can "pimp" them!

 

- Control the water temperature directly at/after the mixing point. Then add a 2nd control loop to compensate the temperature loss/delay of that pipe.

- As has been said before: change your control loop model to include the parameters of the pipe (length, volume, heat loss, thermal inertia, …).

- try to add some feed-forward structures to your PID control

- …

 

In general: any good book on "control loops" will give you ideas and explanations!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 6 of 7
(2,182 Views)

maybe for a start we measure the difference at both points of the pipe run. Flow rate is quite high and temperatures not that different from ambient, so maybe the losses are not that big. So we can control the temperature where the water is mixed and log it at the test specimen. Pump response is pretty quick, so this will get rid of oscillations induced by the time lag.

No idea if the chief wants to spend money on a book. Maybe have to buy myself a xmas present.

0 Kudos
Message 7 of 7
(2,161 Views)