Can't handle this PID loop.

Elcan

Lifetime Supporting Member
Join Date
Apr 2008
Location
NC
Posts
935
Hi all,
I'm having a hard time with a PID loop in RSLogix 5000.
This is not my first PID loop. I've done several before (even with other processors), but this is the first time I use it in RSLogix 5000 since I started using engineering units instead of Raw/Proportional.
The loop is very basic: I'm controlling the temperature in a vessel using a steam valve. Cold material enters the tank and it's cooked inside the vessel, then it comes out.
The problem is this PID loop (most of the time) doesn't react to the temperature changes: the temperature can go over the set point and the steam valve is still set to be 100% open, or the temperature can go down below the set point and the valve will stay at 0% open.
I've tried with several values of gain (Kc) and reset time (Ti), without success.
Low gain values (like 1) leave the valve open at let's say 12%, and it will stay that way regardless the changes in the process value (temperature). I noticed the value of "Error" in the PID window stays the same when the process value changes (it shouldn't, should it?).
I'm attaching some screenshots. I hope someone finds out there's something wrong with my parameters and I can gain control over this crazy PID loop.:unsure:

Thank you!

Tuning.jpg Configuration.jpg Scaling.jpg
 
Hi all,
I'm having a hard time with a PID loop in RSLogix 5000.
This is not my first PID loop. I've done several before (even with other processors), but this is the first time I use it in RSLogix 5000 since I started using engineering units instead of Raw/Proportional.
The loop is very basic: I'm controlling the temperature in a vessel using a steam valve. Cold material enters the tank and it's cooked inside the vessel, then it comes out.
The problem is this PID loop (most of the time) doesn't react to the temperature changes: the temperature can go over the set point and the steam valve is still set to be 100% open, or the temperature can go down below the set point and the valve will stay at 0% open.
I've tried with several values of gain (Kc) and reset time (Ti), without success.
Low gain values (like 1) leave the valve open at let's say 12%, and it will stay that way regardless the changes in the process value (temperature). I noticed the value of "Error" in the PID window stays the same when the process value changes (it shouldn't, should it?).
I'm attaching some screenshots. I hope someone finds out there's something wrong with my parameters and I can gain control over this crazy PID loop.:unsure:

Thank you!

Your PID is in manual mode. Uncheck the software manual button to kick it into auto mode. Also you seem to have a tieback in there.
 
Your PID is in manual mode. Uncheck the software manual button to kick it into auto mode. Also you seem to have a tieback in there.

The PID was in Manual mode when I took the screen shot.
Should I use zero as my tieback?
 
Last edited:
(1) your setpoint seems to be outside the range of your scaling ... I'm GUESSING that your Engineering Units need to be set for something more in line with a "temperature" reading in degrees - rather than "4 to 20 mA" ...
.
I'm reading temperature from 0-300 F, do I have to use those values for "Engineering Unit Min" and "Engineering Unit Max" respectively?
The Control Variable (valve aperture) in my case, goes from 0 to 100%. Do I have to use 0 and 100 as the "Control Variable Min" and "Control Variable Max" respectively?

(2) the Output Bias needs to be set back to 0 - and then keep a close eye on it ... note that using the "manual" modes will usually change the value of the Output Bias (behind your back) whenever your Ti (Integral) setting is set for 0 ...
I noticed that. I use the manual mode frequently, and the TI can be zero in my case. Do I have to set the Output Bias as zero in the PLC code?

(3) also - you're set up for the Dependent equation ... do you normally use that (which is OK) - or do you normally use the Independent equation instead? ... basic idea: once you get a "feel" for one equation, it's pretty confusing to switch back and forth with the other ...
I normally use Dependent, mostly because it's what is recommended in the different documentations I have read, but I'm open to new ideas.
 
If somebody coould provide an example of the scaling values for a 0--300 temp range (process value) and a 0 to 100% open valve (control value), using engineering units, I would really appreciate it!
 
Take a look at attachment. You need your engineering units to be 0-300 to match what your entering as a setpoint. You'll notice in your configuration jpg that the error is 3819 and process variable is 181 (3819+181=4000). This is because it is under lower engineering unit scale. Also- I usually use independent for a PID equation. I think when you change your engineering units , your gain is going to be WAY to large.
Also- you may already know but make sure you have a timer enabling your PID every .5 sec to match your "loop update time".

pid.JPG
 
Last edited:
Take a look at attachment. You need your engineering units to be 0-300 to match what your entering as a setpoint. You'll notice in your configuration jpg that the error is 3819 and process variable is 181 (3819+181=4000). This is because it is under lower engineering unit scale.
Good catch DG!

I'm curious as to why you suggested 0.0 for your tieback min/max settings? I typically set my tieback min/max to match the CV min/max .
 
Good catch DG!

I'm curious as to why you suggested 0.0 for your tieback min/max settings? I typically set my tieback min/max to match the CV min/max .

It's been awhile because we have been using more PIDE's lately, but I recall when using manual mode we would use "software manual" and write directly to .SO or .OUT . I think tieback comes into play in "manual" mode for bumpless transfer.
 
Thank you all for your comments!
Based on your suggestions I set up the Scaling tab like the attached screen shot.
These setting have worked pretty good in the field today. Since the screen shot was taken offline the PLC, some values like the error are not the live values.

New Scaling.jpg
 

Similar Topics

Hi there Can it be said as a rule of a thumb that: No. of AI or AO which a particular PLC can handle = No. of PID's a PLC can handle
Replies
6
Views
3,026
I am working on a project using AB PLCs and PanelView HMIs. There is a desire to allow control loop setpoints to be provided through the HMI or...
Replies
11
Views
3,684
I've used Banner for RTD's, thermocouples and 4-20's but not for discretes. I called the factory to find out whether either PNP or NPN wiring...
Replies
1
Views
1,469
The hole size to mount a through door handle is 65mm to 70mm. I can not find a punch that will work in Stainless Steel. What are you using to...
Replies
1
Views
1,134
Hi; We have below mentioned softwares for PLCs, PVs drives etc. I want to ask what is the best practice to handle these softwares, should we...
Replies
9
Views
2,966
Back
Top Bottom