Are you an experienced controls engineer working in manufacturing or integration with an in depth knowledge of Allen-Bradley and have recently been introduced to Siemens?

Image by Chris Wright

For eleven years I’ve predominately with Allen-Bradley Programmable Controllers, which is not very surprising as they are the most common brand used in North America.

But recently I started working with a manufacturing company who’s equipment is all Siemens, and for the past year I’ve been exclusively working with the Siemens line.

So in today’s article I want to share with you a comparison of these two product lines, including both the programmable controller hardware, as well as programming software.


Let’s start by looking at the Controllers or CPUs of each manufacturer.

From an Allen-Bradley programmer’s perspective, at first glance a Siemens S7-1200 might look like a MicroLogix, with its small form factor and on-board I/O.

Siemens S7-1200 (click for source)

But the S7-1200 is actually more comparable to the CompactLogix in terms of processing power and memory.

That said, the S7-1200 is more limited in add-on modules. It supports a max of 1 signal expansion board (aka plug-in), 8 signal modules, and 3 communications modules, while the latest CompactLogix line, the 5380 series, can support up to 31 I/O modules (with the largest Controllers – Ed.)

Image by Shawn Tierney

On the larger scale Siemens offers the S7-1500, which is comparable to the ControlLogix family of controllers.

The main difference between these two is the S7-1500 does not require a backplane, as it is a din rail mount system.

Siemens S7-1500 Family (click for source)

The S7-1500 also comes standard with two PROFINET ports, which allows the user to separate networks and makes connecting to other devices simpler.

The S7-1500 also comes with a small graphical display which allows for troubleshooting right from the front of the PLC.

Image by Shawn Tierney

One area that I feel Siemens has Allen-Bradley beat in is the remote I/O field.

Siemens offers the ET200 line of remote I/O which can be used as remote I/O or a standalone PLC system as the ET200 can be purchased with a CPU and can be programmed just like the S7-1500; a failsafe CPU can also be purchased.

I use this option quite a bit in smaller machine applications as it is cost-effective.


Now let’s take a look at the Siemens TIA Portal software; v16 of TIA Portal was just recently launched.

The first thing Siemens has going for it is the HMI and PLC can be programmed from the same software package; yes, I know Connected Components Workbench allows for the same but it is not even close to TIA Portal. (TIA Portal comes with WinCC Basic to program Siemens Basic Panels, and can be upgraded to support higher end HMIs. Rockwell’s Studio 5000 Logix Designer comes with View Designer for the PanelView 5000 HMIs – Ed.)

TIA Portal software allows the user to connect to PLC where the IP address is unknown, allowing you to connect to the PLC through the accessible devices option simplifying configuring of a new PLC, and eliminating the need to use a utility like BOOTP.

Image by Chris Wright

Siemens also does not require other software such as RSLinx and FactoryTalk View Studio in order to program and setup the PLC and HMI.

One issue I do have with this is if I make an HMI change, someone cannot come behind and upload the HMI changes I made. I would instead have to give them a copy of my PLC program.

Programming Environment

Now to everyone’s favorite topic: What is the difference between Siemens and Allen-Bradley in the programming environment?

Short answer: a lot, but to cover that in detail would be another article. Here we will look at a few of the most noticeable differences.

One of the positives for Siemens is that it allows the user to add an “Unspecified CPU,” and then add the I/O modules to it.

This allows the programmer to start writing code right away even before the exact CPU has been chosen.

In the project tree of an TIA Portal project we see several folders and icons, and most of these serve the same purpose as the project tree functions in RSLogix 5000.

Devices and networks can be compared to RSLinx, but in my opinion better.

This shows the devices that are connected to your PLC network; HMIs, robot, torque boxes, etc.

Program blocks is where you can add Functions, Function Blocks, and Data Blocks, or in Allen-Bradley terms, Routines.

PLC Tags is comparable to Controller Tags in RSLogix/Studio 5000, and is where your I/O will be located with and other tags you might want to add.

PLC Data Types is (as you probably guessed) for User Defined Data Types.


Siemens has come a long way since the days of STEP 7 Classic and it shows.

While in North America Allen-Bradley is the more popular PLC brand, Siemens is starting to make some headway.

Allen-Bradley PLCs allow the user to expand the system more, but this comes at a higher price point compared to Siemens.

And Siemens all-in-one programming software cuts down on software packages and licensing costs; you still have to buy a license for Siemens programming software.

I also feel Siemens makes it easier to setup new devices, and I really like not having to use RSLinx or BOOTP.

However, coming from 11 years of AB programming, I still feel it’s easier to program A-B from scratch vs. Siemens from scratch.

Written by Chris Wright
Process/Controls Engineer and Freelance Writer

Have a question? Join our community of pros to take part in the discussion! You'll also find all of our automation courses at

Sponsor and Advertise: Get your product or service in front of our 75K followers while also supporting independent automation journalism by sponsoring or advertising with us! Learn more in our Media Guide here, or contact us using this form.

Chris Wright



  1. Motion control with an AB system has for more high end capability than siemens. Coordinate systems, multi-axis control/failure mode, and integrated safety options in particular feels more seamless and powerful with AB. Siemens has better auto tuning features however.

    AB has gigabit DLR support in their modern remote IO systems. Their drives don’t unfortunately.

    Siemens typically performs better for small/medium systems (shorter cycle time). AB came a long way with the 5380 series, but is still lagging. Larger systems are a wash between AB/Siemens.

    AB controlflashplus makes it really easy to upgrade firmware across all devices in a system. This is a big win for AB, as firmware upgrades are tedious. A lot of people don’t update firmware as a result.

    License sharing among multiple engineers is another area where AB wins out. You can share and borrow licenses, the grace period resets and gives you 7 days. Siemens licensing is much more painful to share. Hence you need more licenses for the same quantity of engineers.

    Siemens WinCC doesn’t have the template features that Studio View 5000 has. When you do repeat work, AB wins out.

    I find siemens as a preferred platform for blow/injection molding applications. I find AB preferred for systems with advanced motion control. Both are about the same for robotic systems.

    When I use siemens, I tend to use more localized PLCs on a multi-cell system. With AB, I tend to be more comfortable using a single PLC and remote IO panels. This is partially cost, but also tends to be a result of IO speed/program organization/encapsulation/failure modes.

    If a system is IO heavy, siemens has a cost advantage and is faster to set up IO and see things move. If a system has complex logic, then I find AB reduces my logic development time.

    • I agree with your observations; I am still fairly new with Siemens. I can’t remember how AB is, but if PLC tags were changed on a safety PLC can’t upload the changes because it won’t allow F-blocks to be uploaded unless that option was checked in the safety settings. I am running into this issue as we got some equipment that changes were made and it will not let upload.

      As far as WINCC isn’t there a screen template folder were you can import commonly used screens? I know there is the library folder, I have used this for FBs.

    • Thanks for sharing your thoughts and insights @VoteCoffee!

      BTW – I love the name

      @Chris, I’d love to hear more about Turck – never used them myself

      • TurckIO has been my go-to for a long time. They make configurable IO blocks that are robust and cheap (TBEN and FXEN for digital, BLCEN for analog). They also have some really neat din-rail blocks (Turck FEN20) that are phenomenal for adding dry contacts to an external system. I’ve also found that for multiple RFID readers, their gateways and blocks are more cost effective than many alternatives (TBEN-L-RFID/TBEN-S-RFID even have codesys capabilities for advanced filtering).

      • IOLink is winning out in the distributed IO world right now. Balluff has the best IOLink blocks for IO in my opinion. But IFM’s IOLink platform is more capable for IoT implementations than competitors. IFM’s blocks more readily integrate with high level systems for status and lifecycle monitoring, whereas most other block manufacturers have been developing it as a field wiring solution. IFM has been working on getting their costs down to match, but their blocks are not mixed IO (you need separate input/output blocks), which makes it clumsy to deploy unfortunately.

        • I have not heard from Turck, but talked to IFM and I’m hoping to get some of their IO Link products next month!


  2. I found the hardest challenge was there is no auto save feature in Siemens so you have to always remember to save your work. It can make it worse that screen and PLC development are in the same project because you can lose work in both instead of just either PLC or HMI. AB has good recovery

  3. Hi Chris!
    In your fine comparison you write about changes to HMI in SIEMENS and how to download the changes, have you seen the feature in the TIA16 Online – HMI Device maintenance – Pack & Go?

    kind regards
    Jens Chr. Pedersen

  4. On the contrary, I’ve used Siemens for 25 years but AB for these 6 years. The biggest difference for me is AB doesn’t have data type “pointer” nor physical variables address. This is very useful when dealing with batch operation. Siemens SCL is better than the Structure Text in AB. I am still not used to AB doesn’t have varible type convertion, but I don’t know which one is better.
    Can’t compare them with size. They can both biuld plant level system.
    I used S7-1200 to log data once, but I don’t know how to do it in CompactLogix.

    • I’m very new to Siemens myself (been using A-B for ~32 years,) and while I do like having access to the underlying “absolute address” in Siemens, I’ve never had an issue using arrays for the same thing in A-B.

      If I need to step through one hundred DINTs, I’d just create an array like MyDINTArray[0..99] and then use indirect addressing, something even the older MicroLogix does but I can’t figure out how to do the same thing in Ladder Logic in the S7-1200 (haven’t tried it in the S7-1500 yet) 🙁

      I also can’t find a Sequencer Output instruction in ladder in TIA Portal either – lots to learn I ghess!

      Thanks for sharing your thoughts,

      Shawn Tierney

      Join my free community to follow along! You can also become a member and support our work at:

  5. Well written article here! Keep those great reviews coming.

    In terms of uploading HMIs, I have had a lot of individuals say that they don’t have to worry about the proprietary HMI code anymore because it can’t be uploaded by the customers. Security risk here also because then you could just upload change passwords for the system and download to do whatever you want.

    Any good program tracking system keeps up with software changes anyway. Maybe the company doesn’t have thos. If you are working in large groups, try the Multiuser engineering software called Project Server? Keeps backups of your downloads and let’s you roll backwards just in case. Also you can grab the software in standalone from here too. Flag system to let users know to refresh locally or lock others out of a block while you are working online.

    The one thing not discussed here is system diagnostics and the tools all over TIA Portal that provides the engineer with easy integration at no extra effort. Like the webserver, the HMI diagnostics viewer. I found that the profinet diagnostics really do drive maintenance or operators directly to the problem way quicker. No code for system alarm generation. TIA Portal also has diag and alarm viewers built in for active use no extra HMI work.

    To the other comments:
    The Drum instruction block for sequencing is an older option. I always just do this myself with case or comparative logic. You can use a shift register to sequence. I also use the library of General Functions for advanced functions not found in the local library. LGF is SIOS ID 109479728.

    Use SCL by inserting an SCL into ladder rung. Or use ladder to index an array. I put For Loops into SCl rungs.

    Use the array tag and put the index tag in there. Array[indextag].properties for example, or even use a constant tag to define the length of the array, Array of DINT [ 1..MAXRobots] as the tag in the table. Then you can use MaxRobots tag in your code to define your maximum index in a For loops.

    CompactFlashPlus looks earily similar to Simatic Automation tool which has been around for a lot longer. Siemens parts that require firmware is not software dependant like AB, so flashing things is not required to keep moving up in software, especially on the modern S7-1500 PLC. Also if you choose to upgrade firmware you can do this from the TIA Portal Engineering software no extra software required like compact flash.

    New subscription structure for Rockwell is making everyone love the licensing? RIGHT!

    The program and hmi auto generation provided by TIA Openness and Simatic Visual Architect is something I haven’t seen “others” do well. VBA is fun for sure, but even that has limits on repetitive functionality for HMI generation. In Rockwell, everything you make seems to be an external tool to import/export files on your own to it, nothing driving the process inside software for you.

    I could disagree on a few points made in comments above. You can make templates in WinCC, see the Runtime setting for example here you pick the template, or right click in the library and add a template to design your own. Works like this for both Comfort HMI or Professional SCADA.

    I can say Software controllers by Siemens are at least safety rated and motion rated too. No doubling up of software controllers just to try and get SIL3 diagnostic coverage like I’ve seen others have to do. SIL3 safety and motion control with 1 software controller is what Siemens has.

    Here are some others I’ve came across:
    Safety code and standard code can both be Simulated together with PLCsim (free with portal). Safety uploads. Sd card support for backup or transfers in both PLC and HMI. Function block changes in run. Proneta with the IO tester. PLCSim advanced for TCP based simulations. High speed Datalog to CSV in the PLC, recipe management in standalone PLC. IEC standard without having to buy extra license. I can keep going, but Sorry for the thesis.


Please enter your comment!
Please enter your name here