Let's get philosophical: Which PLC to use?

MikeW

Member
Join Date
Feb 2004
Location
WI
Posts
265
I just got a new job assignment: Global Laboratory Facilities Engineer. With this, I will need to get back into the automation arena a lot deeper than the sporatic projects I have had in the last twenty-five years. I have been lurking on this list for the last week or so and it looks like you are a great bunch of knowledgeable, helpful guys (and gals if any are out there) that might help point me in a direction as I reaquaint myself in machine controls.

I have an immediate application that is begging for a PLC but it's a little over my comfort level at this time. It's a fairly small system: 8 AI, 4 AO, 16 DI and 32 DO with 3 very fast PI gas flow loops and one slightly slower PI water flow loop. In the past I have used stand alone PID controllers linked to a PC that supervises the loop control and a PLC that cycle valves and other output based on the desired sequencing. The main need now for not using standalone controllers is that the PVs on one of the loops needs to change between three input sensors depending on which portion of the operating sequence it's current running.

Previous experience with "PLCs" includes Fluke 2400 and HP 3852 in the '80s and then various TI's PLC 305,545, and a lot of 315s before Seimens bought them out. Currently have mainly been using about 20 S7-214 to run various test cycles in our main lab. These are set up with hard coded setting for the timers, counters, etc. so that I have no experience assigning variables either from being downloaded or changed programatically with Seimens. Also have experience in 2000 where I installed a DeltaV to a similar type facility but was never completely happy on how well it controlled the gas loops in addition to having a fairly high initial hardware cost. The control was not that tight as I was use to with single loop controllers and was turned off when Fisher/ Emererson said they could correct it for only an additional $4000 consultation visit. Initial sticker shock gets worse when the additional costs keep arising.

So now I'm considering the following options: Siemens 313, another DeltaV system, or AutomationDirect 400 series. From reading previous posts, it sounds like Siemens is not as intuitive to program as some other system, DeltaV is probably a lot of overkill in terms of capability (and expensive to boot), and AutomationDirect appears to not have too many "warts" for being a cheap hardware system.

Realizing these questions may illicit some spirited responses, how would you rate these in terms of:

1) Speed of execution of PID loops - are they all capable?

2) PID autotuning capabilities of each as this system will have a large operating range depending on the testing required. How easy will this be able to apply and monitor?

3) Ease of learning a new system for an experienced engineer/ programmer that has had to learned 15 programming languages in the last twenty-five years. I can learn anything but don't need to learn another dialect just for the sake of being more polylingual. Very familiar with Siemens Ladder and like the SFC I was exposed to on the DeltaV project.

4) Expandability in the future to link this facility to other similar facilities and view/ control/ change programs from anywhere on the globe. This job will be a stepping stone for additional projects that are on the horizon.
 
MikeW-
When you say 'very fast PI loop', how fast are you talking? What is the update rate of the process controllers you used in the past? This may determine which way you go with the PI control.
Some plcs have what amounts to an artificial limit on the PID loop update rate. This is only somewhat artificial in that, in an effort to be everything to everybody, most built-in PID implementations have functions you don't need. This all takes processing time and must be accounted for in how often you call the loop. If you need faster updates, worst case you can roll your own PI loop using discrete plc instructions. I do that quite a bit.
I tend to agree with Mike (elevmike) that Automation Direct is a good way to go. I like the development environment, the initial cost is pretty low and they have quite a few specialty modules in the DL405 series if you need something to get you out of a jam. I have never used AD in a job that required any connectivity so I don't know how easy it is to get outside the plant with the info.

Keith
 
elevmike,

Been through the AD website already and have selected components up and costed them. The question is "philosopical": how easy is it to pick up the AD language? Also, is the hardware robust? I've have good results with many of their independent control items, i.e. relays, switches, lights, etc., in the past but have no experience with their brand named PLC.

kamenges,

The facility can go from 0 to 100% load in about 2 seconds when the test unit starts. It can drop load to 50% or less in about 1 second when the test unit unloads itself. Pneumatic valves are required to handle these load swing without testing the setting pressure level of the relief valves :D. In the 80's when I was first exposed to digital controllers, 0.5 second sampling rates were not fast enough. I eventually had to roll my own PI loops to get it to work acceptably. I also have programmed in assembler but surely do not want to do that again as times are much better with the speed increases in processors over the years.

It looks like I have two votes now for AD, thanks for the input.
 
MikeW-
So if we assume your application has a 1st order response you are looking at a system time constant of about 0.4 seconds. So, yes, a 0.5 second update would be pretty course.
Using the rule of thumb for control loops being 5 - 10 times faster that the system time constant you have an update time of 40 - 80 milliseconds.
You will definitely be able to do this in a plc unless you have ALOT of extra stuff going on. I don't remember if the AD PID loops let you enter an update rate that fast but you have experience writing your own PI loops so you could go either way.
Keep in mind that not all the processors in th DL405 family support floating point math. If this is important to you choose carefully.

Keith
 
Mike,

In my experience the software and support is the best that can be found. Others will clamor to disagree, and your about to hear that soon, (alot of AB guys here).

You can purchases a "starter kit" (PLC Software & Cable) for less than $250.00. This is a cheap way to find out. Take it for a test drive.

The most important aspect of choosing PLC brands for me (others may have different prioraties) is the support, and documentation. ADCs support is strickly by phone, but they are setup with PLCs etc in their office and can go through your issues step by step. And these guys are good. If time is your issue, and not a face at your plant, than I would reccomend ADC.

I have used variaty of programming software packages for PLCs, and have found DirectSoft has required the shortest "learning curve" for me. If your totally new and want to get a quick start it is my opinion that AutomationDirect will provide you with the quickest startup.

To be fair: I cut my teeth on other brands so this may have been a factor in my getting up to speed quickly with DirectSoft. But I would still swear by it.

ohh ooo..here come the Allen Bradley guys..I've got to run...

Best of luck,

Mike.
 
Re: Let's get philosophical: Which PID to use?

MikeW said:
1) Speed of execution of PID loops - are they all capable?

2) PID autotuning capabilities of each as this system will have a large operating range depending on the testing required. How easy will this be able to apply and monitor?

The best PID plc would have 6 types of PID. 3 types where the gains were expressed as a gain, a integrator time constant and differentiator time constant. The other group of 3 would express the gains as just gains such as protional gain, differentor gain and integrator gain. The former type is used in process applications and the latter type is used in motion applications or others with quick responses. Within each group there would be 3 more types. One where Kp, Ki and Kd all use the error between the target and actual. A second where Kp and Ki depend on the error and Kd acts only on the difference in the actual. The third type has only the Ki act on the error, Kp and Kd act on changes in the actual or process variable.

6 PIDs, now which PLC has that. None that I know of. So how are you sure you have the PLC with the right form of PID.

Oh yeah, an there are two more general class of PID. The position form and the velocity form. I prefer to call them the absolute form and incremental form. See the AD documentation in chapter 8.

I prefer the velocity or incremental form over the positional form for all applications that require and integrator which is always. The velocity or incremental form does not have a problem with integrator wind up or saturation like the positional or absolute form has.

The AD PLC PIDs support only the form of PID where the all PID gains act on error. This is good for motion control where the setpoint is ramped nicely from on setting to another. If the set point is going to make step jumps then I prefer the I-PD form where the PD terms are in the feedback loop and act only on the changes in the feedback.

There are 12 basic forms of PID.
Which PID is in you PLC?

Lunch break is over.
 
If you are looking for autotune PID, fast processors, connectivity etc, have a good look at the Omron CS1 and/or CJ1.

The high end processors are very fast, have heaps of functions, Omron Controller Link is available for both and a PCI card is available for your computer. The setting up of this system is so easy it is not funny. Just set up a table of digital and word channels to be used by each PLC for comms, download the table into each PLC and then use the adresses from one PLC in all others. Totally seamless, no send and receive commands etc. Fibre optic version is also available.

The autotune function is as simple as turning on a bit. When autotune is completed, the bit turns off. The PID function is also of the advanced 2 degree of freedom type.

The software is ladder only at this stage but other languages are not far away. CX-Programmer is user friendly, powerful, configurable (80 od function key combinations can be set up). If used with controller link connection to the network is at 115k baud. All PLCs on the loop can be monitored at once. Different sections of program from different PLCs can be monitored in a split window, up to 4 ata a time. It is also reasonably priced.

Automation Direct is fine but I do not believe it will offer you the power and connectivity of the Omron system. The list of functions is much lower as is processor power and the software, although quite good, is not up to a full powered package, if that is what you are looking for.

By the way, I do not like Ethernet for peer to peer communications. It is not deterministic. It is fine if you wish to extract data from your PLC network to a SCADA system. Ethernet IP is better. Using Controller Link for communications peer to peer and Ethernet to the SCADA system works well but there is no need with a Controller Link card available for the PC. Citect works very well with this device and some awesome read times can be obtained into the SCADA system.

I guess my second choice would probably be either Automation Direct or AB but my first choice is clearly Omron.

By the way, you will probably get as many answers as there are PLCs. Everyone has their favourite and there have been many discussions on this website about favourites. Each time this type of discussion comes up I think the general reaction from most of us is is "OH NO!!! Not again".
beerchug
 
elevmike,
What plcs have you used? How long have you been using AB, Mitsubishi, Omron...etc. plc's and how many of them have you had to program? How long did it take to learn every different plc brand before you came to the conclusion that AD was the best?

You say you have used a,"variety of programming software packages for plc's". I'm just a little confused on just what your background is with plc brands.
I've noticed your fairly new to the forum and have stated over and over on MANY threads your choice for AD. When you state that AD is best in your opinion than all the rest, I would like to know what you base this on. I have never used Automation Direct PLC's and someday if I get a chance, I would like to know FACTS from you what makes them better in your opinion than all the rest?
 
Last edited:
kieth,

First order is a good approximation over small sections of the overall control map for this process and your time constant are what I was estimating. Definitely will get a floating point processor, never been disappointed about having too much horsepower in either a PLC or any machine for that matter. e.g. hard to accelerate a small car up a mountain unless you got the HP to make it happen.

elevmike,
Is there anything but speed to market these days? Phone is probably sufficient as I can usually can sort most of the other things out OK. Your learning curve with AD will probaly be similar to mine, time will tell if I go this route.

Got to run, will respond to Peter and Bob later.
 
Tim,

The answier is Omron (CKXX & C200H), Series One & Three, GE 90-30, Idec, and very little Mitsu. My first MichaelProcessor controller was a Z80 I made myself. It was programmed in assembly. That should date me.

Recently when I updated from LogicMaster to Cimplicity it took 6 phone calls, and a week for delivery to the local GE Supply. Then I had to send a driver to go pick it up. The lady who took the initial order wasnt sure about the cable, that took two more phone calls, (I wanted and extra cable and the adaptor part number was different that what they showed)?? Apparently I hit them between revisions. My latest update with DirectSoft required 10 minutes (on website only), and one day for delivery, and no quotes to get back on etc...

Of all that i have used, I like the AutomationDirect easest to deal with. The website is easy to deal with, (but a little slow), its easy to find documentation, pricing is up front, its usually a little less expensive, and the support (even though its phone, or web only) is very strong. You can download all documents, and even example programs etc..

I usually purchase all my PLC equipment on ADCs website at one time. I can print out a "quote" and have the entire job set up in a matter of minutes. I can even preset a standard "quote" and reuse it over and over. This time is valuable to me. I save a lot of time using ADC.

By no means am I saying that everything else is bad or that I know every thing else. I'm just saying that ADC is best for me. I have now standarized my product on ADC equipment.

It's a very stright fowrard product line presented in a very clear and consise manner. I would reccommend it.

Mike.
 
Peter-
This is a bit off topic but it might be a good place for it as it affects what MikeW will be looking at.
I don't use the PID loops that come in the controllers so I'm a bit spoiled as to form. I write my own so I have the freedom to have different terms act on different items as I see fit. So I tend to miss the limitations that the internal PID functions may have.
I do have a couple of questions, though. I always write my PID using independent terms and gain values as opposed to time values. It's just the way I've always done it. However, I thought that one could convert back and forth between gains and times by using the PID loop rate. So this might decrease the number of needd choices. Also, if the PID function supports setpoint ramping or there is a separate or integerated ramp/soak function then the integral overshoot and the first-scan derivative response related to step changes go away to some degree, further reducing the needed number of forms. I don't know if there is a good way to switch back and forth between the dependent and independent form, though.
My last question related to the PID form you refer to that has the P & D terms acting on the change in feedback. I might be reading that too literally, but this seems to say that the P term is actually a process variable derivative term and the D term is a process variable 'double derivative' term. Is this correct or am I mis-interpretting this?

Keith
 
First of all don't let all these A/B boys run you over.

You might want to look at a GEFanuc 90-30 or even Micro. They run on plain old LM90 (DOS based lader logic) or Versa Pro (Windows based ladder logic), they are relatively cheap and the programming software is also a decent price.
The only thing you may want to think about is that the 90-30's do not do floating point, however, it's big brother the 90-70 does.

I have used them for years and they are very reliable and robust (had some out in a tin shack in the middle east, no problem)
 
kamenges said:
Peter-
This is a bit off topic but it might be a good place for it as it affects what MikeW will be looking at.
I don't use the PID loops that come in the controllers so I'm a bit spoiled as to form. I write my own so I have the freedom to have different terms act on different items as I see fit. So I tend to miss the limitations that the internal PID functions may have.
I do have a couple of questions, though. I always write my PID using independent terms and gain values as opposed to time values. It's just the way I've always done it. However, I thought that one could convert back and forth between gains and times by using the PID loop rate.

You are right. You can and I can. That is a start but it would make it easier for those that can't if the PLC or PLC programming software would do it for them.


kamenges said:

So this might decrease the number of needd choices. Also, if the PID function supports setpoint ramping or there is a separate or integerated ramp/soak function then the integral overshoot and the first-scan derivative response related to step changes go away to some degree, further reducing the needed number of forms.

Yes, but I have found that linear ramps can cause big jumps because of the differentiator. I like smoother sine or cosine ramps or polynomials when using the standard PID form with all gains in the forward path. No step changes are allowed. Everything is smooth.


kamenges said:

I don't know if there is a good way to switch back and forth between the dependent and independent form, though.

I do it all the time. It is easy and you should find it easy too if you write your PIDs. All you need is the error history or history of PV depend on which form of PID you are switching to.

kamenges said:
Peter-
My last question related to the PID form you refer to that has the P & D terms acting on the change in feedback. I might be reading that too literally, but this seems to say that the P term is actually a process variable derivative term and the D term is a process variable 'double derivative' term. Is this correct or am I mis-interpretting this?
Keith

Not quite. The velocity form or incremental form uses differences in error and/or feedback. The proportional gain still acts like a proportional gain and the differentiator is still a differentiator NOT a double differentiator.

I-PD in the velocity or incmental form using gains instead of time constants.

Code:
Out(n) = Out(n-1) + (Ki*T) * e(n)
                  -  Kp * ( pv(n) - pv(n-1))
                  - (Kd/T) * (pv(n)-2*pv(n-1)+pv(n-2))

dpv(n) = pv(n) = pv(n-1)  // Difference in PV or feedback

Out(n) = Out(n-1) + (Ki*T) * e(n)
                  -  Kp * dpv(n)
                  - (Kd/T) * (dpv(n)-dpv(n-1))

This works well as shown in my example:
Temperature Control Using the I-PD form of PID

Things to note:
The incremental or velocity form handles the integrator windup problems better that the positional or absolute form

The terms velocity or position form are used by industry but they are really incorrect terms. These terms have nothing to do with position control or velocity control.

Gains in the forward path adds zeros to the system. Zeros can increase bandwith and reduce lag as each zero will add uptp 90 degrees of phase lead. The down side is that the output will jump in reaction to a step change in the set point. In some cause like in motion, this is not good.

The two degrees of freedom or I-PD form of PID is not modern. It just lacks zeros.

A PID is often inadequate because it only had three gains. The controller should have as many gains as the plant has poles. The integrator gain does not count as comes with its own pole at 0. This allows one to place all the poles where desired to get the desired response. Keith mentioned double derivative. The double derivative term should be used on systems with 3 poles. An example would be a temperature system with the following poles
1. The heater. Turning on and off that gas does add energy to the system but gas does not burn instantly or turn off instantly in response to the valve. Electrical heaters apply energy instantly.
2. The mass. The mass heats up or cools down exponentially because the heat lost or added is dependent of temperature.
3. The sensor. Unless the sensor can respond instantly then there is time constant or involved here. Over last summer Ron Beauforts 'hot rod' system had a sensore time constant of about 1 minute.

A PI controller is only optimal for a first order velocity system.
 
First, don't post from another PC unless the cookies know who you are. I tried posting to this thread this AM from home and my response (and the actual thread) went to an unknown location on the bulletin board. Will save my post separately until I know it's received correctly. Thanks for all the prompt replies and spirited discussion.

Peter,
Whew! It's been a while since I've got into a "PID is just PID control" discussion. Not exactly what I was looking for in this thread but it's a well appreciated addition. It appears to be a great tangent to go on that can really flesh out the real differences in the PLCs. It looks like you probably have forgotten more about this topic than I ever learned. Seem to remember that from the mid 80s when I rolled my own PID loops for one application. Definitely need to do more reading on this subject to refresh the aging gray matter. Was hoping now that technology has progressed so that the basic controller would no require additional code to handle "simple PID control".

The setpoint does not change in the current application very often but the loading does: one test calls for cycling the test unit on and off every 20 seconds. One of the gas pressures changes from 200 psi to 400 psi in about 2 seconds if the control is correct with minimal overshoot. Sounds like you would be suggesting a I-PD form if I read Post #7 correctly. When setpoints are changed, I'll probably ramp them at a slow, safe rate.

BobB,
Never used Omron, though I think a collegue did years ago for a basic sequential application. My application is now so the vaporware promises of something better is on the way does not apply that much for me. Yes, I expect that this type of discussion can be a little spirited as everyone has their own favorites. Sorta like motorheads argueing that Fords are better than Chevys. If you can make it objective and well defined, you can bring a little truth out of the discussion.


Kirkamorey,
No, the AB guys won't run me over unless Big Brother states "This is an AB shop" and I have no choice. Did a SLC500 installation in 1995 with a Win3.11 PC. It's still running 16 hours a day but was not a completely satisfying experience from the engineer who had to make it work vantage point.

Peter,
Yes, I remember the anti-windup effect well when I rolled my own years ago, definitely try to avoid that problem whenever possible by using an incremental form. Deadtime and lag are always a bane that need to be considered and minimized on the front end of the mechanical design in order to minimize the control problems once it's installed.
 

Similar Topics

Hello everyone! So basically I have this PF 525 that no matter what I do won’t let me speed down. It always shows 66.66 Hz and the parameters to...
Replies
11
Views
1,194
35 years ago - 167 Souls were lost on Pipe Alpha (Oil Platform in the North Sea) all due to a failed management system See more information here...
Replies
3
Views
806
I have begun using 480VAC power supplies in my panels to keep heat from a transformer out of the panel. This works great if the panel is mounted...
Replies
17
Views
4,147
I am deciding on components for a bayed modular enclosure containing multiple VFDs (480V/350A/321Hp each) for a dynamometer. I am concerned given...
Replies
7
Views
1,717
Hi, I am having trouble with the comms within FT view SE v11 (premanent license). I created an HMI program a while back which was working just...
Replies
0
Views
930
Back
Top Bottom