PLCS.net - Interactive Q & A

PLCS.net - Interactive Q & A (http://www.plctalk.net/qanda/index.php)
-   LIVE PLC Questions And Answers (http://www.plctalk.net/qanda/forumdisplay.php?f=2)
-   -   Heater Gain Calculation Units (http://www.plctalk.net/qanda/showthread.php?t=131713)

Taylor Turner January 12th, 2022 08:52 AM

Heater Gain Calculation Units
 
I input error into PID as a percent and limit the control variable +/- 100.

i.e. rError[0] := (rTarget-rPV)/(rSP-rPVInit)*100


When calculating the gain of my heaters, is Kc going to be in units that are acceptable for this PID structure?


I'm not so much concerned about the method accuracy, but if Kc needs a unit conversion for a percent PID structure.



Identification Method:
https://controlguru.com/analyzing-pu...grating-model/


Recipe Method:
https://controlguru.com/a-design-and...ing-processes/

drbitboy January 12th, 2022 10:17 AM

Oi weh! DrBitboy DMD is going on vacation.

Taylor Turner January 12th, 2022 10:46 AM

10-4

Taylor Turner January 13th, 2022 03:51 PM

Here is some info on my system.
I tried the calcs myself... I most certainly did something wrong.


https://github.com/TTControls/Heater...rResponse.xlsx

Peter Nachtwey January 13th, 2022 08:26 PM

OK, you finally got my attention. I am assuming that the zones are close enough together so that one zone's heater affects the other zones. So the zone's temperature response needs to be a weighted sum of two sets of heaters. Fun! Something new. I don't know why you are computing the the proportional rate Kp' Why are the controller gains negative? Where did you get the formula for Kc?
The data on the columns is temperatures or PV. What is PVa and PVb?


The data looks good and there isn't much if any noise. That helps.


I really wish this site had LaTeX

drbitboy January 13th, 2022 08:56 PM

Cell O42 (Zone 1 t2b) - shouldn't that be =A8002/60 i.e. time, not =C8002/60 i.e. PV per time?

drbitboy January 13th, 2022 09:04 PM

These are step changes of +100% on the CO (Controlled Output?) from 0% (off), then -100%, and the process did not reach steady state in either case, so I don't think we can say very much about the process from these data.

Run the COs to some intermediate value e.g. 25% or 50% or 75%, then wait for the process to reach steady state, then do a +/- 10% step change, then wait for the process to reach steady state again after each CO change

Can you express the rationale for the formulae? E.g. start with Kp (row 45) for a start.

It seems like you are trying to plug the data into formulae from some tuning method; if yes, can you post the method or provide a link to it?

Peter Nachtwey January 13th, 2022 09:46 PM

Quote:

Originally Posted by drbitboy (Post 904902)
These are step changes of +100% on the CO (Controlled Output?) from 0% (off), then -100%, and the process did not reach steady state in either case, so I don't think we can say very much about the process from these data.

It isn't necessary. Executing steps when a 50 ton coil of steel attached is a good way to get kicked out of the mill.

Quote:

Run the COs to some intermediate value e.g. 25% or 50% or 75%, then wait for the process to reach steady state, then do a +/- 10% step change, then wait for the process to reach steady state again after each CO change
Changing the CO like you suggest is a good idea.

Quote:

Can you express the rationale for the formulae? E.g. start with Kp (row 45) for a start.
The formula looks likes what the OP of the python PID person used.


Quote:


It seems like you are trying to plug the data into formulae from some tuning method; if yes, can you post the method or provide a link to it?
i want to know too. It isn't like what I derived but it is similar.

drbitboy January 13th, 2022 09:54 PM

Maybe we could almost say something about first-order time constants with those data plotted like this

Peter Nachtwey January 13th, 2022 10:08 PM

Quote:

Originally Posted by drbitboy (Post 904904)
Maybe we could almost say something about first-order time constants with those data plotted like this

I normally would use SOPDT but in this case FOPDT will do because of the complexity of the problem.


I can imagine 6 differential equations. One for each zone. Each equation would have several parameters since there would a dead time time from each heater to each zone. There would two other coefficients for the relation ship between how each heater heats each zone. It could be good if the zones didn't affect each other. It would simply things if the heaters for zones 1,2&3 were clumped together. The same goes for heaters 4,5&6. There would be many parameters to identify. It can be done.


Doing anything less ignores the effect a heater has on each zone.

Taylor Turner January 14th, 2022 09:27 AM

Yes 123 and 456 are clumped together. 12, 600W heaters in each platen, 4 heaters each zone.


The source of the equations used for Kp* are linked in my first post on this thread.



I thought about that last night, 0-100 isn't going to tell me much and that data isn't great. I had to know if it was going to be capable of whats quoted. 450F @ 5/min. And running this way was to do so. Unfortunately this will be very output saturated to meet that, but I plan on a target of 3F/min to get the thing tuned.


Each Zone is on an SSR. I have the duty cycle (.PRE) for one second. To do this right am I needing to pulse the SSR at (.ACC < .PRE*0.4) and then step to (.ACC < .PRE*0.6)?



Thank you for catching that error in the excel sheet. It did need to be a component of time.

Peter Nachtwey January 14th, 2022 10:47 AM

Taylor, I/we always use +/- 100% as the output. At the last we scale that to volts or current. That way our output calculations is always done in percent.


The proportional gain is %control output/unit of error or in your case %control output per degree.


Rockwell seem to use counts. Counts of output per counts of error. The user must call the input and output counts.


The oven also has an open loop gain of degrees per % control output. A gain of 5 degrees per % control output would mean an output of 50% would cause the temperature to go to 250 degrees above ambient which I would assume to be 70 degree so the temperature would rise to 250+70 degrees.
Each zone could have a different open loop gain. From the data you provided, it looks like that.


You didn't answer the question about the negative open loop gains and where you got the formulas. Also hopefully the temperature in zone 3 is only affected by the heater in zone 3 but it could be affected by the heater in zone 2 and zone 4. Hopefully the other heaters have negligible effect. You make no mention of product going through the oven.








The data look usable to me but aga

Taylor Turner January 14th, 2022 11:37 AM

https://controlguru.com/analyzing-pu...grating-model/
At "Subtracting and solving for Kp* yields:"
I think it's negative because the cool down slope is more significant than the heating up slope.


and



https://controlguru.com/a-design-and...ing-processes/
(PI,Kc) in the chart.


I am running to a steady state of 40% output now. Then bump it up to 50% now. This way should be self regulating. I see that now, and I won't need a cool down slope, back to 40%.


I'll use this for Kp.
http://https://controlguru.com/valid...r-fopdt-model/


This will take some hours for me to post my findings.

Peter Nachtwey January 14th, 2022 12:20 PM

heaters should have positive gains. The temperature increases with more heat. Cooler have negative gains as in the heat exchanger example at the control guru site.
You need to remove the / behind your links. Also, the controlguru example is for a cooling heat exchanger.

Taylor Turner January 14th, 2022 12:25 PM

That makes sense.
For some reason I was using the Integrating (Non-Self Regulating) Processesmethod. My mistake.


All times are GMT -4. The time now is 02:31 PM.

.