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.

  6. I’ve done a modest amount of work with both.

    TIA looks like it was designed by a “committee or committees” – numerous small windows. Need a big screen! Or two!
    I prefer AB’s cleaner Studio5000/Factory Talk View Studio ME layout.

    Both seem a little bloated (file size, start up) at times. Keep the laptop upgraded!

    I think Siemens WINCC Flex HMI is more powerful than FTVME. Particularly trending, can scale on X-axis at runtime. (Not sure how FTV SE compares).

    FTV was missing some editing tools (like alignment) that the other guys had for quite a while. Was added in V12 I thinks.

    WINCC has a weird price by the “power tag” thing. Prefer AB price per page.

    Alarm message editing in FTVME is a bit small, can’t zoom.
    WINCC has layers, which can help with complicated overlays.

    I think Siemens might have better tag cut/paste to Excel at this point.

    Alarms in Siemens HMI are based on either Word or DINT, so their is some kind of weird “big endian/little endian” issue lining the bits up with the Byte based PLC. Frustrating.

    I have occasionally edited AB’s XML files to automate big changes. Not sure if Siemens has the same or similar.

    I like Omron’s one-shots in the CJ better than either AB or Siemens. The datastore bit gets allocated more or less automatically. So simple!

    I like AB’s routine “import” feature. Can edit tags during the import. Great cloning tool.

    10 years ago I would have said FTV ME had better tag integration with the PLC editor.
    Today I think Siemens has caught up or surpassed, I believe they have drag-and-drop from PLC to HMI. AB needs to catch up, I think the change from RSLogix to Studio was an attempt, but mostly marketing at this point.

    I started on 16 bit machines (Omron), went to byte machine (Siemens) then to DINT machines (AB). Going back to Siemens now, I struggle to remember the basic data size is a byte. Seems quaint.

    I was used to “fixed format” or “fixed column size” editors (Hello, Melsec MEDOC. Omron CX-Programmer). At first I found the free form RSLogix approach “weird”, but have come to appreciate it. Ditto for multiple coils on a rung.

    Studio5000 has a nice filter in the tag editor. Wish FTV had the same.

    Yes, Siemen’s having a CPU in remote IO is a nice solution. Maybe if 1734 gets a refresh?.

    I like AB’s servo commands in the PLC. (It’s too bad you can’t use them to position ‘any’ drive, but hey, you gotta flog product). Siemens I think has similar commands if you look.

    Siemens networking is a bit funky, using MAC address rather than IP address. Been a bit frustrated with devices than are PINGable but not connecting. My anti-virus blocks some of the ethernet frames Siemens tries to use.

    Siemens PLC can download one function block at a time, which can be a time saver. On the other hand, I’ve gotten mixed up becomes some blocks were downloaded while others were not.

    I like Logix’s “one file” (.ACD) approach. Siemens “one folder” thing seems messier, but FTV has the same approach. TIA seems to “fight” me when I want to store in a non-standard location.

    The drive setup in TIA differs from their old standalone product, but is not as powerful.

    ABs drive interface was stunningly slow, but is much improved.

    ABs software installs are pretty good now, pretty much just start them, and they run without waiting for prompts. Siemens not so sure.

    Siemens licenses can be moved, but maybe takes a USB stick? Also don’t think have “grace” period. AB tech support on licensing is pretty efficient. I used to fear losing my license through stupidity, but now I figure AB has my back on this.

    AB: I am pretty confused with the various ownership variants, “permanent” versus whatever the other choice is. Just adds anxiety/confusion where I don’t need it. I have enough on-machine problems to fix without plodding thru this.

    Firmware – it used to seem to me that Siemens rarely updated firmware. So AB had a fancy firmware handler, which you really needed, because always seemed to be an update. (I view frequent updates as a feature not a bug) Lately siemens seems to be pushing a lot more firmware updates, perhaps without a good handler. Particularly with drives, now get a lot of wanky issues with drive firmware not aligned with the programming tool.

    Documentation – oddly for a German company I find Siemens documents a bit disorganized. All too easy to pull an old version off the web. English is a little creaky, odd venacular sometimes. (“Realize” a solution means “implement”). Most Rockwell docs have a sensible revision code.

    There’s been a push to “selection tools” which I don’t find a good substitute for a decent catalog. Hint: some electrical distributors like Newark have really nice filters on their website for parts selction, I wish more Mfgs took this approach.

    AOIs – I hate trying to find the latest AOI on AB website. Been stung several times with an out-of-date AOI. That said, nice idea generally.

    AB AOIs and tag building – unfortunately few third party vendors make really good EDS files that build nice tags in the PLC. Most using “generic” which wastes some of the power of the interface.

    Omron CX-Programmer came with all the IEC languages, plus simulator, with HMI simulator integrated. And an easy to use “compare” tool. And easy cut/paste to Excel. Miss those days!

    Anybody like ABs “uncuttable” one-cable servo solution? Or you can try Siemens DriveCliq. Not sure which is dorkier.

    Siemens has a plethora of drives now, G120,G150, G110, S120. Hard to keep track of. Not sure what the logic of all these models is.

    Siemens had a nice series of line reactors and DB resistors that mounted under the drive footprint. Was great to save panel space. Sadly they went away from this. In “block size” PM240 drives, Siemens no longer allows common busing, have to switch to “book size” / rack style drives. AB, ABB and I think Parker allow common busing, so you don’t paint yourself in a corner.

    I have literally no idea what the vast array of Factory Talk products do.

    Also I don’t see where AB is going with ViewDesigner, ME, SE, and the web based thing. Doesn’t seem easy migration path back and forth. Incompatible hardware and software.

    Tech support: both have good case-numbering systems and follow up. I might give the edge to ABs knowledge base.

    • As for me, I’ve been using Rockwell for 34 years now, but recently began learning and teaching WinCC Unified and the S7, so my opinions below come from that angle.

      First, I do agree that Studio Project Tree is cleaner. I often wonder why the TIA Portal S7 project tree has what is has in it – it doesn’t seem logical to me.

      I can say that TIA Portal seems to require lots more horsepower than Studio 5000 – I’m always upping the ram and CPUs in my VMs for Siemens. But on the flip side PLCsim is FREE and Included.

      I don’t agree that Siemens Unified HMI is more powerful than FTVME, however being a much newer product it does has some new features ViewME doesn’t BUT it still doesn’t have features ViewME had in v1.0. And you can can scale the X and Y axis at Runtime in ViewME – not sure what limitation you ran into here?

      I can say that WinCC Unified Layers are pretty awesome, and they double as an Object Explorer, but as I’m limited to a single display for my courses, I do prefer the slimmer Object Explorer of ViewME.

      Also, ViewME has always had alignment tools – got them from RSView32. evenly space, align, etc.

      As far as Tag Integration, ViewME is far better. Importing SLC and PLC tags from a file couldn’t be easier, and browsing an offline tags from an ACD is easy. On the Siemens side there is no way to access tags directly that are part of an Optimized Data Block, so most will likely have to edit the PLC project to add proxy info – not hard but extra work.

      Siemens also has no direct referencing – in WinCC unified every plc tag you communicate to becomes an HMI Tag.

      I do miss FlexLogix, but it didn’t sell well enough to keep it going – I don’t see them doing a 5094 CPU, but they could?

      I think the Siemens networking is easier honestly. You can find your PLC even on different subnets, and then assign it an IP Address. And yes, Siemens uses IP Addresses and not Mac Addresses. I do dislike that multiport models can’t have all the ports on the same subnet.

      I do still prefer Rockwell’s Online Edit methodology over the partial download between CPU scans of the S7, but at the end of the day the result is similar.

      I do like that you can grab a Siemens 21 day trial from their website without calling anyone, AND the trial doesn’t start until you use it. With the new Rockwell TA’s, the trial starts when the email shows up, and you still have to call someone to get them (in most cases.)

      I do miss that Rockwell no longer has PLC Catalogs – thankfully Siemens still does.

      On AOIs, Rockwell made such a big deal about this being a new feature, but with Siemens Function Blocks are just like a different type of subroutine, so simple and easy and no big deal.

      While I do get why Rockwell is going all in on FTOptix, I’m kind of sad that it will likely mean an end to the PanelView line, which I’ve been using since it first came out. The fact that RSView was such a game changer, and then Rockwell brought most of that to the PanelView Plus was so awesome, and I wish they would have kept going with that line by creating a next gen PanelView Plus that could be edited in Studio 5000 but with the same great features.

      Instead, they spent a TON of money on the PanelView 5K which what now seems fated to be end of life soon. But if Optix is as good as they think it is, and ASEM has all the developers still on board, then that makes more sense but who knows – I’ll be meeting with the ViewSE guys today and they are pretty excited about all their new features.

      Well those are my opinions 😉 Have a great weekend!



Please enter your comment!
Please enter your name here