Greetings Geared,
and welcome to the forum ...
if you’re new to this process control stuff, here’s a common sense approach that might help ...
forget about the inlet TC to begin with ... use the outlet TC as the PV ... have the PID’s output (the CV) control the temperature ... tune the loop and see how good a response you can get ...
then ... and only then ... start thinking along these lines:
if the inlet air temperature suddenly decreases a LARGE amount, then I know I’ll need more output from the PID ... I COULD wait for the outlet TC to tell me that the temperature is too low ... but ... if I wait for that, then the process is bound to suffer ... specifically, the PID won’t start to compensate for the lower inlet air temperature until the outlet TC notices and reports the “too low temperature” problem ...
from the other end of the lever ...
if the inlet air temperature suddenly increases a LARGE amount, then I know I’ll need less output from the PID ... I COULD wait for the outlet TC to tell me that the temperature is too high ... but ... if I wait for that, then the process is bound to suffer ... specifically, the PID won’t start to compensate for the higher inlet air temperature until the outlet TC notices and reports the “too high temperature” problem ...
so ... let’s use the inlet TC too ... this will tell me what the air inlet temperature is ... once I experiment and find a “baseline” or “normal” inlet air temperature, I’ll have the FF go to zero ... the PID will take care of the normal day-to-day temperature control ...
but ... if the inlet TC reports a sudden “too cold” condition, I’ll have the FF crank in a value of (let’s say) 15% ... this will instantly compensate for the abnormally “too cold” inlet air temperature ... AND ... I won’t have to wait for the process to see a “too low” temperature before the PID starts to respond ...
also ... if the inlet TC reports a sudden “too hot” condition, I’ll have the FF crank in a value of (let’s say) minus 15% ... this will instantly compensate for the abnormally “too hot” inlet air temperature ... AND ... I won’t have to wait for the process to see a “too high” temperature before the PID starts to respond ...
well ... that’s the basic idea of FF (Feed Forward - also called “bias”) control ... secret handshake: the PID’s output (CV) is made up of the sum of FOUR components ... (1) the Proportional action ... (2) the Integral action ... (3) the Derivative action ... and last (and frequently forgotten) number (4) the Feed Forward action ...
the FF is YOUR (the programmer’s) opportunity to instantly affect the final output of the PID ... you can program in an addition to - or a subtraction from - the PID’s normal CV calculated value ...
big question: so how do you know how much FF to add or to subtract? ... usually this is done by experimenting ... if the process can be accurately modeled with a mathematical equation, then the values can be calculated ... if you’re launching a space shuttle or something along those lines, that approach is undoubtedly the way to go ... but most people just use a “seat of the pants” approach and keep cranking in various values until things start to improve ... (the term “salt to taste” comes to mind) ... the first big issue is this: in your particular application, how much control do you have over the inlet air temperature? ... if the answer is “very little or none” then your experiments to find the proper FF values are likely to be very tedious and time-consuming ... point: how are you going to “experiment” if you can’t control the variables involved? ... unfortunately there’s usually no good answer to that one ...
but let’s move on ...
suppose that you’ve successfully found the ideal values for the FF action ... you have those values ready and waiting ... but right now, the inlet air temperature is “normal” and so the FF value is currently set at zero ... things have been simmering along for a “very long time” and the system is stabilized ... the birds are singing, the sun is shining, life is lovely ...
suddenly the inlet air temperature drops a large amount ... the inlet TC reports the difference ... and even before the outlet temperature starts to drop, your program instantly cranks in just the right amount of FF to compensate for the decrease in the inlet air temperature ... let’s say that the FF is +15% just to have a number ... good news: the PID doesn’t have to wait for the outlet respond before it calculates a new (increased) value for the CV ...
the additional +15% from the FF does the trick ... the outlet temperature stays right on track ... once again, the birds are singing, the sun is shining, life is lovely ...
BUT ... here’s where you have to watch yourself ... remember that you’re currently adding an “artificial” +15% to the PID’s output ... we’ll come back to that idea in just a minute ...
now suppose that the inlet air temperature slowly - but steadily - increases back to its “normal” value ... and suppose that your program doesn’t do anything at all with that +15% FF value ... suppose that we just let the normal action of the PID compensate for the slow - but steady - increase in outlet temperature that would result from these conditions ... the outlet temperature might stay very close to the required setpoint ... and no one would notice a problem ...
BUT ... here’s the rub ... what’s going to happen the NEXT TIME that the inlet air temperature takes a sudden nose dive? ... the TOO simple answer: the FF will just crank in another 15% addition ... do you see the trap? ... if this same pattern keeps repeating, eventually you’re going to have a FF which “maxes out” - and then the party’s over ...
and so ... in most cases, once the FF has been cranked in, it must be gradually cranked back out again ... usually this is done by programming a repetitive cycle to slowly - but steadily - bring the FF value back to zero ... while this is happening, the PID (bless its little heart) is taking care of the day-to-day business of controlling the outlet temperature - by adjusting the CV ...
next big question: so how fast can you “bleed off” the FF value? ... of course that depends on the application ... usually a substantial amount of experimenting is necessary to answer that one ...
so ... that’s the best I can do for an “off-the-cuff” discussion of FF ...
(continued in next post)