Sign in to follow this  
Followers 0
Noely

Siemens Vs Allen Bradley

28 posts in this topic

Hi, I have a customer that wants me to use a Siemens plc ather than an Allen Bradley. I have done very little with siemens and have mainly stayed with allen badley over the years. Can anyone give me any pros or cons for using siemens instead of allen bradley. I am a bit interested in trying siemens this time round. Its for a very simple pump application where I was going to use a microlgix 1200

Share this post


Link to post
Share on other sites
It depends on which PLC you plan to use. A S7-200 is easy to program. A S7-300 is not. Search at the www.plcs.net forum for indirect address with the S7-300. Their are many threads because Siemens doesn't make it easy to do in LAD. If you are simply doing logic then it will not make much difference which one you use. A lot depends on what you are trying to do. If you use PLCs to get the job done then a S7-300 is not for you. If you like messing with the tools then S7-300 is your PLC.

Share this post


Link to post
Share on other sites
I would compare a Siemens S7-200 to a allen Bradley micrologix controller, a siemens S7-300 to a compactlogix controller, a siemens S7-400 to a ControlLogix processor. Siemens S7-300 and S7-400 use same programming software support IEC 1131 programming languages. Siemens S7-200 has its own software

Share this post


Link to post
Share on other sites
Yep, and it is easier to use.

Share this post


Link to post
Share on other sites
Never used a S7-200 which is more or less a brick type PLC. It has a different programming package to S7-300 and S7-400 due to the fact it was originally developed by Texas Instruments. Unsure of the life of a S7-200 now the S7-1200 has been introduced. S7-300's are very powerful PLC's in their own rights. Newer one's are comparable with S7-400 in speed and power. I would suggest both are more like ControlLogix. You have 3 main programming methods, Ladder, CSF (which is AND and OR gate type programming) and STL (which is more or less close to assembler). Most things can be done in Ladder these days (as opposed to S5), the only thing that you cannot is indirect addressing, as mentioned above. Personally I much prefer Siemens to AB, due to the structure and the ability for re-usable code. For I/O, as well as local racks (S7-300 is more like big DIN rail), you would use MPI, Profibus and ASi. MPI is quite slow, so I would suggest Profibus if needed. ASi is normally accessed via a Profibus/ASi gateway, although you can have ASi cards at the PLC.

Share this post


Link to post
Share on other sites
I see this comment a lot; I've found the CompactLogix/Controllogix family to be equally flexible for re-usable code and it documents better.

Share this post


Link to post
Share on other sites
In my limited Siemens experiece, I'd say you're right on the mark! I once wrote a small S7-200 program and got it running without much trouble, as long as I remembered how the register addressing worked. On the S7-300 side, I know of a system with about 10 separate PLCs. Near the end of the project, one of the "messing with tools" tasks was to bring all of the PLC programs together into a single project, after they had been written by several programmers in separate projects. RSLogix 5000 sticks to a one PLC per program file scheme. Related to that, what's so special about the CP-1613 Ethernet card for PCs? I had to use one for a Wonderware InTouch HMI project and it was a royal pain to configure. Meanwhile, Wonderware has two Siemens drivers, one for the CP card and the other for a standard Ethernet port. Mike

Share this post


Link to post
Share on other sites
With AB you have Routines, with Siemens Functions and Function Blocks. The Siemens method is far better for re-usable, repeatable code. Routines are not made with multiple call functions in mind, more a method to organise code. Passing parameters into routines is cumbersome and scan heavy. So to make a Routine and call it Conveyor and then call that routine 50 times for 50 conveyors just isn't feasable. In Siemens you write the block once and call it 50 times, if a change is required you change it once in one place and all conveyors are modified in one simple action. Don't understand the documents better part either as both can be fully documented. The big difference of course is that Siemens is address based where as AB is Symbolic.

Share this post


Link to post
Share on other sites
This would also happen with a Routine that was called multiple times. The CLX now has Add On Instructions (AOI), which are the equivalent of Function Blocks I guess.

Share this post


Link to post
Share on other sites
you haven't used AOIs then; time to take another look

Share this post


Link to post
Share on other sites
Noely. Some of the others are recommending the S7-200, and it is certainly very close to a ML1200. The S7-200 and the programming software STEP7-MicroWin are fine allright. But the S7-200 is being replaced by a new PLC line called S7-1200. I think it would be tragic if you chose the S7-200, because what you learn will soon be obsolete. Due to that the S7-1200 is very new, I am not certain if I shall recommend that either. All the the kinks havent been ironed out yet. Notice that also S7-300/400 will convert to this new plastform, but I think it will be another 2-3 years before that happens. If you want to learn the new S7 platform, then chose the S7-1200. But expect to encounter problems as it is a new product. I dont think there will be severe problems, only small problems. If you want to learn the current S7 platform, then chose a small S7-300, like the S7-312, or an ET200S CPU, like the IM151-8 CPU. The IM151-8 is probably the best bet, because it is relatively cheap, yet has onboard ethernet for both programming and HMI. The current STEP7 works very well (at least to my opinion), but the learning curve is relatively steep. If you chose this way, then we can give you advice how to proceed.

Share this post


Link to post
Share on other sites
The biggest things to notice are that Siemens variables are address-based (instead of symbol only)and there is strict data typing. This is true in S7-200 or S7-300/400. You can turn symbolic addressing on and off as desired. If you are doing a lot of data crunching with variables of different size, Siemens is a little more work (multiplying a byte by a word is a no-no). If you are comfortable keeping track of registers (assembler style) you can ignore this restriction by using STL, but most of my customers would rather see ladder. A-B's CPT instruction is very handy for this type of thing and Siemens has no equivalent as far as I know. For a simple pump application I wouldn't expect there to be much difference you would notice otherwise. Jesper's recommendations for which PLCs to investigate are spot on (as usual). Though I think tragic might be a little harsh for learning MicroWin as a lot of concepts carry over to Step 7 - similar to Logix500 vs. Logix5000.

Share this post


Link to post
Share on other sites
A Logo is an intelligent relay.

Share this post


Link to post
Share on other sites
It has inputs, it has (10A) outputs, it has a (very simple) program. It will control a very simple pump application. It says 'Siemens' on the box. I know what a Logo is. It's a Programmable Logic Controller. I wasn't being that serious.

Share this post


Link to post
Share on other sites
I used AB and GE and then started doing Siemens S7-300 in '99. It was quite a learning curve as the software was more complex. But with complexity comes power! After the first year of programming Siemens I became very comfortable with it - but it took a year. In the past ten years I have come to prefer the Siemens software and hardware over AB and GE. As with any tool, it is about what feels comfortable to you. You should know, already been stated: The S7-200 package is different software than the 300. I will say that if you can use it - do so. It's not going anywhere soon. Yes the S7-1200 is out but the 200 will be around for a while. The S7-200 software is awesome - best micro plc software around if you ask me. Program Edit in Run Mode!!! Another poster in this thread said the Siemens S7-300 was better for reusable code and then the AB guys countered with the Add On Instructions. Well I've used both and the Siemens is better in my opinion. With Siemens I can put all the code for a process in individual blocks, DB's, FC's, FB's, whatever. Then when that process (machine) has to be copied to another program or duplicated it is very simple to move or copy the blocks. The Add-On instructions give you code portability but you still need the tags. With Siemens the tags are in a Data Block that is just as portable as the code. Now Siemens has its shortcomings - every programming package does. For me, the pros outweigh the cons and it is my preferred platform. The last thing I will say is that when you have the opportunity to try something new, it could be a good thing. Your customer spec gives you the chance to try it out for yourself. Particularly on a simple application you know like the back of your hand.

Share this post


Link to post
Share on other sites
I'm working on my first S7-300 Siemens project. First impression of Step 7 is not good. 1) It runs very slow compared to any other software I've used even on a new computer. It just seems unoptimized. 2) No way to atuo address symbols, you are forced to assign a address to everything, this puts them a few years behind AB, Omron or any other modern PLC/PAC. 3) User interface is very clunky. 4) No way to assign hot keys, AB is not much better, Omron lets you assign hot keys for anything. Wulgar

Share this post


Link to post
Share on other sites
I think you are havent discovered the use of FBs with instance DBs, or using UDTs with shared DBs. You then get "auto address symbols".

Share this post


Link to post
Share on other sites
I don't think that is quite the same thing though I've just scratched the surface of Siemens. For example if I'm editing a Omron program online or offline and I want to add a new coil I can just type in the name for the new symbol and it will auto assign a bit to it (this assumes the auto addressing areas were set up). Or in AB right click and creat a new tag. In Siemens I would have to open the symbol table, create the symbol and assign it to an unused bit M-bit, save then go back to the program. Siemens does not support auto addressing on M memory, you are forced to assign memory for a symbol or have it in a DB or UDT as you say. Omron & AB also have all the FBs with DBs and UDTs as Siemens but you are not forced to doing it that way. My point is don't force me to program a certain way but give me options so I can decide what method is best for the project I'm working on. Wulfgar

Share this post


Link to post
Share on other sites
Just type in the address, select it, and hit ALT+ENTER. You can then assign the symbol without having to open up the symbol editor. Besides, I strongly recommend to use "Symbolic address priority". I think you havent discovered this yet. In Simatic Manager, select the "Blocks" folder, and open the "Properties", go to the "Address Priority" tab, and switch to full Symbolic Address priority. No, there isnt a fully automated symbolic address assignment, but it is not a big deal. I am writing my programs fully symbolically, and I use FBs + IDBs, and UDTs + shared DBs. Use Merkers and S5Timers only as a scratchpad for "quick and dirty" programming.

Share this post


Link to post
Share on other sites
I am in much the same position as Noely, recently forced to use a Siemens PLC as opposed to my preferred ControlLogix. One of the things I loved about the Allen-Bradley software is the ability to import and export projects in the L5K format. This was a massive boon to me because I could do clever things like generate quantities of L5K code from models, calculate software metrics like cyclomatic complexity and the Halstead metrics, and could even detect cloned code. Is there a Siemens equivalent to L5K? Some way to export and import PLC code as a text file?

Share this post


Link to post
Share on other sites
Yes. It can be exported as "STL source". I know there are programmers that swear by writing only in STL source, but I find it a bit primitive to my opinion.For sure you could do lots of clever code-generating stuff, but that is what I do by using the software as it is. FBs + IDBs and UDTs + shared DBs is all about creating reusable code.

Share this post


Link to post
Share on other sites
The trouble with the AB auto addressing is the fact that it assigns a 32 bit double word for everything it assigns. Therefore every bit will equal 32 bits. The way around it was to create BOOL memory double words and then alias BOOL bits to these, 32 per word. Sounds more effort to me. In most cases I create the bits, words etc in the STAT area of the FB I'm working in.

Share this post


Link to post
Share on other sites
With ControlLogix you can change the default data type for tag creation; any of the pre-defined data types to User-defined. Also there is default sizes for arrays that can be changed.

Share this post


Link to post
Share on other sites
Don't forget that AB uses DINT's and REAL's internally when running code. I utilise DINT's for HMI comms ie. 1st bit for push button, 2nd bit for FLG (Confirmation). I utilise 6 DINTs for HMI and internal function control. Have only just started on S7 so will see how it goes......

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0