Author Topic: PID ramp temperature control  (Read 17206 times)

leo9

  • Newbie
  • Posts: 7
  • I love YaBB 1G - SP1!
    • View Profile
PID ramp temperature control
« on: June 11, 2003, 07:30:35 PM »
Hi,
Can anybody help by means of an example on the following using T100md888.
Start cycle: Ambient temperature freeze to -45 C in 15 minutes. Hold at -45 C for 165 minutes. Ramp (increment) heating from -45 C to +40 C in 1080 minutes. Hold at +40 for 120 minutes. Cycle ends.
Thanks. ???
« Last Edit: December 31, 1969, 04:00:00 PM by 1076562000 »

support

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3174
    • View Profile
    • Internet Programmable PLCs
Re: PID ramp temperature control
« Reply #1 on: June 11, 2003, 08:34:47 PM »
Are you able to control the amount of refrigeration and heating to be applied. ie. Are you able to control the power of the refrigeration and heating coils? PID loop can only work if these are variable. If your control is simply "ON/OFF" type, then the control will not be "PID". Instead, you just monitor the temperature say every second and decide when to shut off the power to the refrigeration/heating coil. You can monitor at different time for the target temperature in the ramp curve and if the temperature decrease or increase too fast then shut off the refrigeration/heating power.
« Last Edit: December 31, 1969, 04:00:00 PM by 1076562000 »
Email: support@triplc.com
Tel: 1-877-TRI-PLCS

leo9

  • Newbie
  • Posts: 7
  • I love YaBB 1G - SP1!
    • View Profile
Re: PID ramp temperature control
« Reply #2 on: June 12, 2003, 06:49:44 PM »
Thanks for your advise since this is an upgrade on to an existing machine we do realize that we will have overshoot but the process can live with it. My original question remains as posted. Kindly advise if you have a example and/or direct where I can get it. Thank you. ???
« Last Edit: December 31, 1969, 04:00:00 PM by 1076562000 »

leo9

  • Newbie
  • Posts: 7
  • I love YaBB 1G - SP1!
    • View Profile
Re: PID ramp temperature control
« Reply #3 on: June 30, 2003, 07:03:56 PM »
However, since I am new to PLC?s I am still stuck with my original problem!

Namely; Start cycle. Ambient temperature. Freeze to ?45 C in 15 minutes. Hold at  ?45 C  for 165 minutes. Ramp heat to +40 C  in 1080 minutes. Hold at 40 C for 120 minutes. Cycle ends. ( Heating/Refrigeration output on/off)

Kindly assist me by means of a generic illustration on how to create a 24 hour clock to control my temperature curve?

Although the air-conditioning example gives me a greater understanding I am still unable to grasp ?Time Temperature? increment relationship.

 ???
« Last Edit: December 31, 1969, 04:00:00 PM by 1076562000 »

support

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3174
    • View Profile
    • Internet Programmable PLCs
Re: PID ramp temperature control
« Reply #4 on: July 01, 2003, 09:33:53 PM »
This is really a PLC programming issue and not a technical problem. If you are willing to get paid helps from outside consultant we can ask some of the consultants we know  to help you write the initial part of the program.

Otherwise, we can only offer you a description of how to control your ramp up cycle (ramp up from temperature -45 to temperature B+40 degree C within 1080 minutes). Normally your measured ADC reading is between 0 and 4092. You need to do some scaling to convert them into degree C. Assuming that each digit represent 0.1 degree after scaling, i.e. -45.0 degree means -450, and +40.0 degree is represented as 400:

At the ramp up cycle, the starting temperature is -450.
The end temperature is to be +400
Ramp up time = 1080 minutes

 ==> increment = 400-(-450)/(1080*60) = 0.0131 per second.

You can use a 1 second clock pulse to periodically execute a custom function. Within this custom function, you will increment a variable (say N) to keep track of the elapsed time from the start of the ramp up cycle. You will then compute the desired temperature at this instant and compare it to the measured temperature, then decide if you want to turn ON or OFF the heater:

N = N+1   ' keep track of elapsed seconds from start of cycle.
IF  N > 1080*60    ' times up
    .....            ' do whatever necessary
ENDIF

S = -450 + N*131/10000   ' S is desired set point.

T = ADC(1) * (some scale factor to give readings in 0.1 C)

If T < S       ' Temperature is below set point
     SETIO Heater
ELSE
     CLRIO Heater   ' temperature is above setpoint
ENDIF






« Last Edit: December 31, 1969, 04:00:00 PM by 1076562000 »
Email: support@triplc.com
Tel: 1-877-TRI-PLCS