Comparing S7 and ControlLogix

P

Thread Starter

PS

I'm looking for feedback from people who have experience with both S7 300/400 and ControlLogix and could tell me which one is better, reliable, connectivity with different network protocol, programming, cost, support...
 
J

James Ingraham

>which one is better

There's no such thing. Both are high-quality parts that serve essentially the same function. I make some comments about performance at the end.


>reliable

I don't have hard data, but I am not aware of any difference in reliability. Both are good.


>connectivity with different network protocol

Here I believe the ControlLogix wins out, but only barely.

Here's a partial list of networks that are supported directly in CLX chasis, some of which are supported only by parts from "Rockwell Encompass Partners":
DeviceNet, ControlNet, EtherNet/IP, Data Highway+, A-B Universal Remote I/O, Profibus-DP, AS-i, Interbus, Modbus, Modbus Plus, Modbus/TCP, HART.

Here's a partial list of what's available for directly for S7:
Profibus-DP/PA/FMS, including ProfiSafe, ProfiDrive, and Profibus-MC, ProfiNet, AS-i, HART.

So CLX looks like the clear winner. However, using bridges from ProLinx, HMS / AnyBus, Woodhead, Hilscher, etc. you can get to just about anything on either platform. Unless you have a specific requirement (WorldFIP, anyone?) I wouldn't worry about it.

As for communicating with PCs, they both have plenty of software to make that seamless.


>programming

This is a personal preference thing. Step 7 has some features that are quite nice, like the ability to download one function at a time, or the fact that user-defined functions can have named and typed parameters. Also, functions can have local-scoped memory that is allocated when a function is called and freed when it ends.

RSLogix 5000, in my opinion, is nonetheless superior. Main reason: tag names vs. symbol names. This is a complicated discussion, but the end result is that I can change a user-defined structure without having to the alter the code. In Step 7, if you want to remove from or insert into a structure or array you have to change references in the code. Not just to what you changed, but also any symbols associated with the same block of memory. They provide a "rewire" function for this, but it can still be quite painful.

One other features of note: indexable arrays. Step 7 lets you have an array and index it like this: MyArray[7]. RSLogix lets you do this: MyArray[index], where index is an integer that can change during program execution.

Both platforms support all 5 IEC 61131-3 languages. Siemens also supports a flowchart language.


>cost

About a wash. S7-300 can be pretty cheap; so can CompactLogix. S7-400 can get more expensive than ControlLogix, I believe, but for roughly equivalent horsepower they are roughly the same price.


>support

I prefer Rockwell because they have a tech support line that I can call, whereas Siemens forces me to go through my distributor. But this, too, is opinion that might be based on the company you work for, how good your distributor is, what your knowledge base is, etc.


You don't mention "performance" any where. I'd be hard pressed to prove it in court, but my experience is that the S7-300/400 processors execute ladder more quickly than ControlLogix, though there is a version of ControlLogix with a floating-point coprocessor and a faster main processor I haven't used. However, I have yet to run into anything I couldn't do with a ControlLogix.

When it comes to memory, ControlLogix beats the pants off of S7. CLX can have up to 8MB of memory. Siemens lets you but a flash memory card in to get that kind of storage, but on the CLX I'm talking about MAIN MEMORY. All battery backed. AND the flash, if you need it. This let's you do all kinds of fun things that you cannot do if you only have the 48K on the base S7-400. Even the base CLX has 0.75MB. The S7-400 can have at most 2MB available for data, and S7-300 tops out at 512K. CompactLogix goes from 64K to 1.5MB. (Note: Siemens divides the memory area up, so that "data memory" is seperate from "code memory", which is why an S7-400 with 4MB of total memory only has 2MB for availabe for data. CLX doesn't do this; if you have no program at all you get 8MB for data, or you could write 8MB of programs with no data, which would be something to see.)


My thoughts here are way overvalued at $0.02

-James Ingraham
Sage Automation, Inc
 
D

Dobrowolski, Jacek

Hi,

Step 7 lets you have an array and index it like this: MyArray[index]. But you need SCL.

Regards,

Jacek Dobrowolski
 
Step7 SCL compiler cannot do anything that cannot be done in STL as it compiles the SCL code to PLC intelligent STL code.

Processing of pointers in STL is not as pristine as the array process described in SCL but is certainly easy enough to do.

Donald P
 
<clip>
>RSLogix 5000, in my opinion, is nonetheless superior. Main reason: tag
>names vs. symbol names. This is a complicated discussion, but the end
>result is that I can change a user-defined structure without having to the
>alter the code. In Step 7, if you want to remove from or insert into a
>structure or array you have to change references in the code. Not just to
>what you changed, but also any symbols associated with the same block of
>memory. They provide a "rewire" function for this, but it can still be
>quite painful. <

not at all if you convert the program to its source (text) code and make all the modifications you need (even extensive program restyling). Then recompile the source code and you'll have a painless, brand-new, perfectly
rewired program. Provided you do not change the variables symbolic name, you can even automatically realign the tags address of integrated Protool projects.

>One other features of note: indexable arrays. Step 7 lets you have an
>array and index it like this: MyArray[7]. RSLogix lets you do this:
>MyArray[index], where index is an integer that can change during program
>execution. <

indeed a very useful instruction let absurdly aside by Siemens developers. SCL language does the job, but I never understood why dynamic indexing was not implemented within the STL instruction set.

>When it comes to memory, ControlLogix beats the pants off of S7. CLX can
>have up to 8MB of memory. Siemens lets you but a flash memory card in to
>get that kind of storage, but on the CLX I'm talking about MAIN
>MEMORY. All battery backed. AND the flash, if you need it. This let's
>you do all kinds of fun things that you cannot do if you only have the 48K
>on the base S7-400. <

that's another argumentative Siemens feature I bet more due to commercial choices than technical restraints.

best regards
Luca Gallina
 
S
Yes, but it doesn't do MyArray[YourArray[index]]. This would have allowed me to write a cleaner application a couple years ago.
--
Steve Myres, PE
Automation Solutions
(480) 813-1145
 
M

marc sinclair

Hi,

I was shocked to read in another thread,

http://www.control.com/1026200568/index_html

that you can only re-activate your software token when it goes wrong (and believe me, it WILL go wrong) IF you have a current service contract, if this is true, this is a BIG point against RSLOGIX as Siemens will reactivate tokens for no charge. Don't get me wrong, I deplore the whole software protection stupidity, But if I'm forced to use an unstable OS and a flaky protection scheme, why should I pay for the service to maintain it?

Marc
 
D

Dobrowolski, Jacek

My post was to point that Step 7 allows you to have variable index as well (have look at what I cited). Not to disscus how it can be done in different way.

Regards,

Jacek Dobrowolski
 
Jacek

Your point was appropriate however puts on record in a public forum an implied half truth, namely that SCL is required for the processing of indexed arrays, I doubt you intended do that and so I have taken the liberty of recording on this thread, what I consider to be more appropriate facts surrounding the use of SCL in S7.

Do you have a problem with that?

Regards
Donald P
 
S

Steve Myres, PE

I wasn't responding to your post but to the same James Ingraham post to which you replied, so my post referenced AB, not Siemens. I sure miss the old thread indenting convention, so you could see who was responding to whom (plus it gave you an intuitive feel for depth vs. breadth).

My other beef with CLX is that while it is marketed toward motion, you can't put an axis inside a user defined data type (UDT), nor in an array, IIRC, quite an inconvenience for a machine with multiple axes on the same set of ways.
 
D

Dobrowolski, Jacek

Donald,

If someone had learnt from "Step 7 lets you have an array and index it like this: MyArray[index]. But you need SCL." that "SCL is required for the processing of indexed arrays". Then it's her/his own way of perception of things and not my intention. And I can live with that.

Regards,

Jacek Dobrowolski
 
Yeah, but can either do this!!!

MyArray[MyOtherArray[MyStruct.SomeGuyIUsedToKnowsArray[RandomConfusionGenerator(0,ARRAY_MAX)]]]

I can do this in C, so therefore I wouldn't use either
Step7 or RsLogix.

Sorry, some geek humor escaped me...

> From what I've seen, RSLogic and Siemens are about the same, except
> that Siemens is more "IEC" about function blocks. In
> RSLogix you have
> to declare a data structure and pass it to a subroutine in order to get
> multiple instances of re-useable function block that have internally
> stored data. Having said that, really, you have to declare a function
> block in your program, so its really just terminology difference
> between rockwell and siemens. <

Also, from what I've seen and read, using Chart on either RSLogix or Step7 consumes a whole lot of memory. I don't know why they define so much data for each step and transition pair, but they do. I think it has something to do with trying to implement the full IEC action types (Stored, pulsed, time delayed, and all that.) So, depending on how you use the controller, you could be better off with one versus the other. If you are doing ladder its probably debateable as to which suits you better. I'd go with whoever supports your IO and
communications needs better, or if its a cost issue. I actually think the S7-300 has the coolest looking and densely packed IO modules out there (32 screw terminals on a small little card!), but thats an emotional thing, and
isn't going to make the machine run better.

Just my $0.02 worth, I haven't actually used either except in evaluating software and cross examining vendors on features (I am also choosing PLC vendor at the moment for my company...I am also looking at B&R Automation and Mitsubishi as well).

Good luck.

~Ken
 
Top