S7 vs RSLogix5000 PID Block

donoengineer

Member
Join Date
Apr 2011
Location
WI
Posts
4
I am attempting to convert some logic from S7 to RSLogix5000 and I need to know how I would convert the PID block. I have the parameter list for "CONT_C" in S7 and "PID_ENHANCED" for RSLogix5000 but am having trouble matching up the like parameters. That and I don't even know any of the units or if they are the same, for example does S7 use cycles/second or seconds/cycle in calculation?

Any other differences/similarities I should watch out for?

Just want to say thanks in advance, any help is appreciated.
 
Greetings donoengineer ...

and welcome to the forum ...

quick question: do you already have an existing Siemens program which is (or has been) successfully controlling the system? ... if so, you should probably begin your project by nailing down the units and the settings for that program – and THEN convert them to the Allen-Bradley system ...

I don't even know any of the units or if they are the same, for example does S7 use cycles/second or seconds/cycle in calculation?

note that I personally have ZERO experience with Siemens – but I'm fair to middling on Allen-Bradley ... so ... once you nail down how the Siemens is already working (assuming that it IS working) then I'm sure that I, or some of the other forum members, will be able to help you with the conversion ...

please note that the Allen-Bradley system offers TWO types of equations – so we need to know which one you'll be using before we can answer your primary question ... note that the Dependent Gains equation is generally easier if your primary experience is in tuning "standard" types of PID controllers ... for most people, the Independent is generally easier – if you don't have any previous experience – or if you aren't relying on "standard" tuning methods (Ziegler-Nichols for one specific example) ...

also ... do you have some specific reason for selecting the PIDE instruction – over the much simpler PID instruction? ... no offense intended – but your original post seems to be a little ambiguous on which instruction you're really planning to use ...

consider that the PIDE instruction offers at least 165 separate parameters ... merely running through a quick recital of the names and the basic functions for these – and allowing just 30-seconds for each parameter – would take about one and a half hours of non-stop dialog just to list them all ...

also ... you should realize that the PIDE instruction requires the Function Block Diagram programming software "add-on" – and can NOT be done in the much simpler "standard" Ladder Logic programming software ... (well, "simpler" to most people) ... if you already have that software, that's fine ... just be aware that you WILL need it to use the PIDE instruction ...

I know it sounds like I'm beating around the bush here – but I really recommend that you tell us more about the system/application that you're working with ... the more details we have at hand – the more detailed answers we can offer ...

also ... you'll probably find the "white paper" publication at the following link helpful ... there is much more to the PIDE than shown here – but this is a document that definitely bears reading ...

http://literature.rockwellautomation.com/idc/groups/literature/documents/wp/logix-wp008_-en-p.pdf

I hope this helps ... good luck with your project ...
 
Last edited:
First off thanks, I have been a lurker for some time but with this question it put me over the edge for signing up :)

I also have no expirence with the S7 Siemens PID control. And no I do not have the actual code for the S7. It is buried under some third party software that I cannot access. But currently the loop is working. All I know are the values of the S7 PID "CONST_C" parameters.

Does anyone know if the S7, as with Rockwell, CONST_C equation works off error or change in error? For that matter does anyone even know the S7 PID equation? The whitepaper you attached for Rockwell has theres but I cannot find the S7 equation anywhere.

As for what AB/Rockwell equation(dependent vs independent) I have not decided. What will make my decision is picking whatever one matches how S7 PID equations are handled.

Also, I have all the Rockwell software to use the PID_ENHANCED function block programming.

As for what the loop is/will being doing is just temperature control.
 
Last edited:
based on what you've posted so far, personally I would start from scratch using a PID instruction (not PIDE) and program it in Ladder Logic ... later IF a need for the PIDE's bells and whistles arose, THEN I'd switch to the PIDE format ... (the tuning for the PID should be suitable for the PIDE too) ...

if you can, post your ENTIRE project file as you go - and we'll help you through the rough spots ... you'll need to ZIP the ACD file before you post it ...

All I know are the values of the S7 PID "CONST_C" parameters.

what are those values? ...

good luck with your project ...
 
Last edited:
The first question I have is what is the format of the PID equations. For temperature control it makes sense to use the ISA equation. The ISA PID equation has a gain and two time constants that are usually expressed in minutes. The gain seems to be more implementation depended. Some gains are done in engineering units as in %control outputer per degree of error. Other gain implementations are unitless and the gain is expressed as counts of control output per count of error. These are the questions that must be answered.

I do my calculations in engineering units where gains are %control output per degree of error. I then must multiply by the counts per %control output and degrees of error per count of error to get the unitless gain.

I have no idea what Siemens does for gains. It does appear like they use the ISA PID though.
 
Well thats the real big thing, I really don't know what the current PID equation is. All I have are these parameters. And with doing more research today(since I have no expirence with anything Siemens) they do not appear to be for the standard Siemens S7 "CONT_C" PID block. Though I know the PLC's using this are Siemens.

But here are the parameters I have.
KO/P Gain:
I StartingValue:
K/TD DiffCoeff:
K/TI IntegralCoeff:
ReverseDirection:
ManipulatedVar Low:
ManipulatedVar High:
AcutalValue Low:
AcutalValue High:
T1 AttenutCoeff:
SetPoint:

I also found an answer to a previous question of mine. The Rockwell PID_ENHANCED uses a Velocity based(change in error value) PID equation, where as Siemens "CONT_C" uses a Positional based(actual error value) PID equation.
 
if you can, post your ENTIRE project file as you go - and we'll help you through the rough spots ... you'll need to ZIP the ACD file before you post it ...

can you do that? ... make sure that your boss doesn't consider the program to be "trade secret" or "proprietary" information ... if it's not, then post what you've got and we'll start nailing this thing down ...
 
Hmm, sorry to take this post into a totally different direction. But after speaking with colleauges of mine and presenting what I have found over the past few days, we have decided that it is basically useless to try and convert these non-standard parameters of a pid loop running on an S7 to Rockwell PID or PID_ENHANCED. Instead it looks like we will be doing our own Loop tuning.

So any suggestions on some best practices/methods for tuning 45 PID loops that you are converting from one system where you can't use any of the current information, to Rockwell/AB? Is there any auto tuning software that you would recommend?
 

Similar Topics

Hi ! Here is my first post :) I want to implement three (3) independent PID controlers (block) in a Controllogix controller. They will be used...
Replies
1
Views
2,046
Hello, I have a program that monitors pressure in a manifold discharge pipe. Pressure in the pipe should be less then 7.5 PSI. If the pressure is...
Replies
17
Views
12,744
Hello all, I cant figure out why my PID is oscillating between 0 and 100 percent. My set point is steady and whenever I take my PID out of...
Replies
4
Views
3,469
Hello, Question: (Temp is whats being controlled here by 3 fans) Using a PID; can I set my output (CV) to be 100% at a specific input (PV)? In...
Replies
9
Views
2,230
Hello, I have already searched for that in the forum but did not get any satisfying answer, so here it goes: I have a 1769-L36ERM that controls...
Replies
4
Views
3,111
Back
Top Bottom