Convert Rslogix 500 P,I,D values to 5000 P,I,D

raul_vaze

Member
Join Date
Feb 2008
Location
mumbai
Posts
87
Dear All ,

Is there a way by which i can co-relate the P,I,D values obtain in Rslogix 500 PID instruction into Rslogix 5000 PID instruction.

I have converted a application in Rslogix500 to Rslogix5000 and everything is ok except the PID .

My PID values in Rslogix 500 are as follows

1. Proportional gain Kc == 20

2. Reset Ti = 1.40

3. Rate Td == 0.07

Pls help me o_O
 
The PID instruction for RSLogix 5000 is well-described in the General Instruction Set Reference, 1756-UM003. Take the time to read it thoroughly.

The equations are identical between the SLC PID and the ControlLogix PID, but there are some important differences.

The most important is the instruction execution method. In both controllers, you typically have the PID instruction in an unconditional rung, but the Ladder Logic routine that contains that rung gets executed at the Loop Update rate.

This can be done with a subroutine called by a timer (in both SLC and ControlLogix) or by putting the routine into a scheduled execution mechanism. This is the Selectable Timed Interrupt (STI) in the SLC, and a Periodic Task in the ControlLogix.

I've seen a lot of systems that did not follow this basic rule and were able to tune their loops only by good fortune: the scan time of the SLC or PLC controller was essentially the Update Time.

Because the ControlLogix is so much faster than the PLC or SLC, loops implemented on the new platform wouldn't perform the same.

Post your SLC program and ControlLogix program (or parts of them) if you can, and folks can give you more advice.

PID can be intimidating, but it doesn't have to be mysterious.
 
You are talking PID and not PIDE in 5000, correct? The PIDE is a whole different animal. If you can test both systems, turn off reset and rate and introduce a small error. If the output behaves differently, there is probably a scaling issue with the Min and Max PV in the PID block. If gain works fine, introduce some reset. If there is a difference between them I would look for a timing issue as Ken said.
 
Scaling is another big issue: The SLC-500 PID needs to be given a PV between 0 and 16384, and will generate a CV between 0 and 16384.

The ControlLogix works in Engineering Units, not "counts", and generates a 0-100% output. Both the PV (and therefore Setpoint) range and the output can be scaled within the instruction.

My point is: the execution and scaling is different, the gains are the same.
 
Hi Ken ,

Actually timing factor is taken care by having timer of 1 sec and executing PID at Done bit of it. The PID loop update time is also kept at 1 sec.
Actually our process is temperature control of furnace which is divided into 4 zones. Normally PV takes much time to reach to the Setpoint , since our P(0.5) and I(0.06) values are small and also process takes too much time to respond although output is 100% . When the PV crosses SP, output starts to decrease but due to P&I output decreases very slowly and hence PV goes to very high value before it starts to decrease slowly and then PV goes much below SP(as output has decrease) before it again starts to increase.

Hence i felt that if i could put the same old PID values, may be i could tune it very easily ?? Can i use Derivative in this case ...
 
Hence i felt that if i could put the same old PID values, may be i could tune it very easily ?? Can i use Derivative in this case ...

IF (big IF) the scaling and the time issues are indeed properly "taken care of" then theoretically the previous tuning settings "SHOULD" give you the same response ...

AS LONG AS ...

you've also set the RSLogix5000 Equation Type for "Dependent" instead of the default of "Independent" ...

since the PID in RSLogix500 only supports the "Dependent" type equation, this is often a problem when conversions from one platform to another are involved ...

if you're still having problems, it would be wise to post your program file ...
 
Hi Ken ,

Actually timing factor is taken care by having timer of 1 sec and executing PID at Done bit of it. The PID loop update time is also kept at 1 sec.
Actually our process is temperature control of furnace which is divided into 4 zones. Normally PV takes much time to reach to the Setpoint , since our P(0.5) and I(0.06) values are small and also process takes too much time to respond although output is 100% . When the PV crosses SP, output starts to decrease but due to P&I output decreases very slowly and hence PV goes to very high value before it starts to decrease slowly and then PV goes much below SP(as output has decrease) before it again starts to increase.

Hence i felt that if i could put the same old PID values, may be i could tune it very easily ?? Can i use Derivative in this case ...

If you don't have to exercise any control of heat-up, then I would just give it manual 100% output until you are approaching setpoint, and then switch the PID to auto.

Any attempt to limit overshoot using PID terms in systems with huge lag times is asking for trouble.

If you put any integral gain in at all, you will almost certainly overshoot the SP. You can compensate with derivative, but it will just extend the heat-up time as the PID instruction keeps cutting back the output.
 
Try to run the PID autotune, at least you have the reference. Its a good practice to always put your PID routine in a periodic task whereby you can schedule when the scanning happen.. I had an experience before that I'm doing a PIDE control for a big cylindrical Spray drier where your CV increment has a longer effect on your PV, but once the effect happen it will go very fast and oftentimes will overshot. Base on my experience I did play the Auto Manual, the Gain (P) and time (I).. and add another logic to give me a very stable condition, thereafter I achieve an Auto Spraying system..

Cheers
 
Sorry to ressurect an old thread, but I ended up here looking for an answer and the info here is lacking a key detail I found elsewhere on the forum.


The "time related" functions (Integral and Derivative) are "off" by a factor of 60 ... that's because this configuration of the PID uses SECONDS – and the PIDE uses MINUTES ...
 
Also this:


1. Logix uses a %-to-% scaling on the proportional term, where SLC is %-to-eng.-units (per SP scaling, if used).
2. SLC has a "Reset and Gain Enhancement Bit" which applies different factors of ten to the gain values.
 

Similar Topics

The RMP function is not available in studio 5000 and I am stuck trying to determine a way to convert it to a Studio 5000 compatible function that...
Replies
1
Views
155
I'm working with a customer to copy one of the machines they designed in-house several years ago. The previous PLC programmer had a thing for...
Replies
8
Views
2,187
Hi all, I have a client with a SLC 500 panel and a Compact Logix panel. The Compact Logix panel was exposed to some harmful environmental...
Replies
4
Views
2,773
I am working with RSLogix 500 version 2.57.0.0 Whenever i try to open the attached file i get an "unexpected file format" error. I am assuming...
Replies
11
Views
6,533
Is there any software/application that converts program from RSLogix 500 to RSLogix 5000?
Replies
3
Views
8,601
Back
Top Bottom