The best way to control 48 PID temperature control

tarekrslan

Member
Join Date
Nov 2013
Location
UAE
Posts
7
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM.
Please I need the best, most efficient way to write the program and make the heaters not work all at the same time (divide it into groups and even make it start in sequence inside each group)
the normal way is to include the 48 pid compact technology object in fast cycle interrupt.
I need the best way, I need expert ideas.
thank you all
 
Divide the loop update time by 48 (e.g. 4.8s ÷ 48 = 100ms), make that result the cycle time of a cyclic interrupt.

On each execute of that cyclic interrupt, increment an integer by 1, from 0 to 48, and if the incremented value is 48, reset it to 0.

Based on the value of that integer, execute one of the 48 PIDs; it would be nice if this could be done with an array or FBs, but I don't know if that is possible.

I am pretty sure this is what @tarik1978 is suggesting.
 
With that 4.8 second cycle time running time proportional (PWM) where each sequential loop's start is offset 100mS from the previous loop, then the 'early' controllers will have their cycle ON times overlapping with the 'later' controller'c cycle OFF time.

Can't do too much to limit heating from a cold start though, they'll all be calling for 100% output until the temp gets up into proportional band.
 
Trying to limit the number of heaters that can be on at any particular time sort of defeats the purpose of using PID control, don't you think?
Not at all. In hydraulics there is often a need to operated similar machines out of phase to avoid peak hydraulic fluid demand. The same can be said in this case trying to avoid peak current draw. It is possible that al 48 heaters need to be on at once but that occurrence can be minimized by running all 48 heater PIDs slightly out of phase. For instance, since there are 48 PIDs, each PID can be offset 20 ms from each other and still be able to run all 48 within 1 second. Much depends on how close the heaters need to run to maximum all the time. The OP hasn't told us what the time constant of the system is. If the time constant is long the PIDs can be separated over much longer time.

Another thing that can be done is to use a feedforward baes on the amount of widgets that are running through the ovens. The widgets absorb enery so the heating requirement go up as product flow goes up.
 
With that 4.8 second cycle time running time proportional (PWM) where each sequential loop's start is offset 100mS from the previous loop, then the 'early' controllers will have their cycle ON times overlapping with the 'later' controller'c cycle OFF time.

Can't do too much to limit heating from a cold start though, they'll all be calling for 100% output until the temp gets up into proportional band.
Good idea to do the program.
And no problem because we have to do very slow cold start, because of the oven needs.
 
Actually, this document is related to controlling multizone that effect each other.
My concern is the the program efficiency so i will do it in best way, and the power efficiency so the 500kw heaters will not star together and stop together and make power peaks, the ideal setuation is to have less fluctuations by trying to start the pid loops outputs in some system or some sequence.
And thank you again
 
i have experience with glass tempering ovens, and those heaters were setup on banks. Each bank was its own zone, and was sized differently. some zones had like 8 elements where others had 4. when the oven would start from cold, it would only fire the 4 element zones until it reached a certain temperature, and then it would fire the larger elements when the oven was ready to process. all of the zones never fired at the same time. i work with solder reflow ovens and they too operate almost in the same fashion.

if every heater you have is wired on its own output then you should have no problem selectively firing groups at a time. you could easily set certain zones in their own subroutines or, use a drum instruction to step through the heaters
 
Exsac
i have experience with glass tempering ovens, and those heaters were setup on banks. Each bank was its own zone, and was sized differently. some zones had like 8 elements where others had 4. when the oven would start from cold, it would only fire the 4 element zones until it reached a certain temperature, and then it would fire the larger elements when the oven was ready to process. all of the zones never fired at the same time. i work with solder reflow ovens and they too operate almost in the same fashion.

if every heater you have is wired on its own output then you should have no problem selectively firing groups at a time. you could easily set certain zones in their own subroutines or, use a drum instruction to step through the heaters
Exactly, I have an old tempering glass oven, each heater has separate control, and the heaters divided into groups, the difference is in my case all heaters have to start to work together and rise slowly together.
 
I wonder if any study has been done about the how the thermal "load" affects the temperature in the oven. Does increasing the rate of widgets entering the oven cause the temperature to drop? If so, a feed forward may be handy to account for the fact the widgets absorb heat.
I have no idea, maybe we have to do this study by ourselves, this will make the patch time also faster.
But we have to be careful, it is not safe to do experiments in a tempering glass oven.
 

Similar Topics

I am doing a system where I have to control a heater on a mold. I will use a PID lood with a PWM output to a SSR to control the heater. The...
Replies
15
Views
4,418
I just installed 3 PowerFlex 755 VFDs for a customer's fresh water booster pumps, and converted the three PowerFlex 400 well pump VFDs over to...
Replies
14
Views
5,502
I'm starting on a project that will soon involve controlling two large water pumps (4160 VAC, not sure the HP). I'm curious: what generic "best...
Replies
14
Views
4,529
Could experienced PLC programmer take a look at these lines of code? It is for controlling a stepper servo motor, as you will see some familiar...
Replies
5
Views
2,564
I spent quite a bit of time researching LinMot Linear Motors, after it was suggested, on this forum, that they would be the best actuator for my...
Replies
3
Views
3,000
Back
Top Bottom