Ramp PID micrologix 1500

Luke2

Member
Join Date
Nov 2007
Location
Alberta
Posts
12
I have read alot of great info on this website but I have again ran into a problem. I started my PID by inserting the current tempurture into the setpoint in the PID then I wrote logix to have it increase 1 degree every 45 sec. The problem is how do you stop the ramp once you reached the desired tempureture for the device? I would like the PID to stop once it has reached 900F, but when I test it, I can't get it to stop. Any solutions would be a great help.
 
The equation for a ramp is

Starting_setpoint + Ramp_Span * %elapsed_ramp_time.

Ramp_Span is Ending_setpoint - Starting_setpoint.

%elapsed_ramp_time is Ramp_Timer_accumulator/Ramp_Timer_preset

To ramp from 100 to 200 over 1 minute then
MOV 60 T4:0.PRE
CPT SETPOINT 100.0 + ((200.0-100.0)*(T4:0.ACC/T4:0.PRE))

Same equation works for ramp up and ramp down - just make sure you don't divide by 0 if T4:0.PRE is ever 0.

If you need to ramp over longer periods of time than can be represented in a 16 bit integer then I can direct you to some threads where I have shown how to do that.
 
Yeah my ramp time is over 10 hrs. Also what do you do when you don't know your starting setpoint temp. The reason being is if the heater was turned off then cooled for only at short period of time. It may only take 3 hrs to heat instead of 10 hrs. Thats way I insert the current tempureture in to the ramp. Does this formula still work?
 
Any anybody know if CPT function works with Micrologix 1500, RSLogix 500 says this function is not avaliable for Micrologix, only good for SLCs.
 
The CPT instruction is not supported by the ML1500.

I'm right in the middle of a start up so I'm not going to get back to this until this evening, but if you can wait I'll show you how to accurately time for very long duraions.

Yes the formula will still work even if the starting setpoint changes, all you need to do at the beginning of the ramp is is move the current value into the starting setpoint and recalculate your timer preset.

Alternatively, you can use an incremental method to increase the setpoint and a comparrison to stop when your setpoint reaches the required value.

XIC RAMPING XIO T4:0/DN TON T4:1 1 1 0
XIC T4:0/DN LES SETPOINT RAMP_END_SETPT ADD RAMP_RATE SETPOINT SETPOINT
GRT SETPOINT RAMP_END_SETPT MOV RAMP_END_SETPT SETPOINT

If you ramp rate is less than 1degree/second then you'll need to use a floating point value for RAMP_RATE and fSETPOINT and then move fSETPOINT into the PID setpoint integer.
 

Similar Topics

Hi, I'm working on a system that was built and then upgraded, not engineered that I know of. It's a high pressure hot water heat exchanger, the...
Replies
2
Views
2,419
I am new to the SLC 500 platform and am hoping that someone can give me some hints on how to do PID and ramp/soak with the SLC 500 and perhaps...
Replies
11
Views
6,633
I am buidling an incinerator temperature control loop. I have the stack temperature coming in as my Process Variable and the Control Variable is...
Replies
1
Views
1,411
Ok heres my question: I need a PID control for heat, I need to heat the vessel to 100 C once I reach that temp I want the pressure to take over...
Replies
14
Views
5,448
Dear experts We are facing following problem. We are using AB controllogix .PID faceplate which we are providing to client has standard Auto...
Replies
4
Views
8,738
Back
Top Bottom