With the recent pandemic measures and schools transitioning to remote education, I’ve been contacted by professors looking for ways to get students hands-on experience programming PLCs without a lab. I’ve also been looking for ways to present PLC programming concepts in a way that people can follow along at home without having to buy expensive hardware and software, so I thought I’d share what I’ve found here.
What’s Important?
I’ve got a lot of opinions and preferences when it comes to PLC programming software, but I’ve paired this down to a few main points that I think are relevant to education.
- Free
- Tag-based
- IEC 61131 language support
- User defined type (Struct) support
- Code reuse features like functions and add-on instructions
- Built-in simulation
Software Considered
I looked for all the free programming software I could find and listed it here. I’ve worked with some of these extensively. The rest, I downloaded and tried for the sake of this article. Here’s the software, in no particular order.
- Allen Bradley Connected Components Workbench
- Modicon Machine Expert Basic
- Beckhoff TwinCAT 3
- Automation Direct Productivity
- Automation Direct Do-more
- S3 CoDeSys
- Open PLC
- Honorable mention: Omron Sysmac Studio
Want to learn PLC Programming for free? Check out our PLC Programming Cookbook.
Connected Components Workbench
This is a first for the PLC giant Allen Bradley. Usually, AB software is among the most expensive, so it’s nice to see that they’re catering something to the lower end market. I’ve used this software to program PLCs, HMIs, and configure drives. My impression is always that it’s a little clunky, but that’s from the perspective of trying to maximize work efficiency. From the perspective of trying to learn PLC programming, I think this is a reasonable option.
CCW only supports three of the IEC 61131 languages, but they’re the right three in my opinion (LD, ST, FBD). The latest version (v12) includes simulation in the free version as well. The biggest downside here for education is that more advanced programming features are not available in the free version.
A final thought here: This is made by Allen Bradley, but it’s based on Microsoft Visual Studio. It’s laid out differently than typical AB environments, so experience with CCW isn’t likely to translate into RS5000 or RSLogix500. But this environment is a little closer to some other Visual Studio based applications, so there’s still some transfer to other brands.
Edit (4/3/20): We originally stated that simulation was not available in the free version. This is incorrect for the latest version. Thanks to Lawrence and Peter for pointing that out. 🙂 See Peter’s demo on this feature here.
Machine Expert Basic
Modicon is known as one of the first PLC manufacturers. It’s now owned by Schneider Electric, and continues to make PLCs. Their Machine Expert (formerly known as SoMachine) comes in a free version (“Basic”) that’s at least good enough to service an existing machine. I know that because that’s the extent to which I’ve used it in the real world. One thing I found interesting is that their implementation of the IEC 61131 languages allowed automatic conversion between the languages (with some limitations). A ladder logic routine could be displayed and edited as instruction list, for example. This could be a handy tool for learning languages, although it probably wouldn’t show how a human would write code in the different languages.
My impressions after using the software is that it’s pretty simple to use, but still feels foreign compared to most others. For example, Allen Bradley has a normal layout and way of doing things, then many other manufacturers will have a layout and feel somewhere between that and Beckhoff. Machine Expert feels like it’s outside that continuum, and I think that’s my only complaint from an educational perspective. It’s easy to use, and has the easiest simulation mode I’ve seen. Certainly worth considering for class use.
TwinCAT 3
Beckhoff is a little unusual in industrial automation. All of their PLCs are actually IPCs. The programming environment is based on Microsoft Visual Studio, so it may look a little like CCW, but it’s much more refined and powerful. Beckhoff licenses the runtime (the part that lives on the IPC), not the IDE (the programming environment), so the software is free with the full set of features.
This is the most powerful programming environment I’m aware of for industrial automation, and it’s nice to have access to all that power for free. However, some of that power comes at the cost of being different than what a person is likely to see in the US automation industry. This is a great programming environment for programmers, but may be too complicated for a maintenance technician that will have minimal programming responsibilities. For this reason, I can’t recommend it for general programming education.
Productivity Suite
Automation Direct targets the low-cost market, so free software is often a part of that. The Productivity line of PLCs is their high-end offering in that space. The software doesn’t have advanced functionality, but is fairly polished for what it does. I’ve used this on a real project, and wouldn’t mind using it again. It’s worth consideration as a learning platform. The downsides include few advanced features, ladder logic only programming, and no simulation.
Do-more
This is Automation Direct’s middle line of PLCs. I haven’t used it before, but it appears to be similar to the Productivity line but address based. The big selling point for this application in education is the built in simulation.
It’s a ladder logic only platform. That’s fine for learning the basics, but I think PLC education should include structured text and function block as well.
CoDeSys
Smart Software Solutions (S3) develops CoDeSys for use on other company’s hardware, so that’s where the licensing happens. The benefit is that this software is fairly flexible and matches a lot of use cases. The drawback is that the big players tend to make their own software, so CoDeSys is mostly used on smaller hardware brands, large brands whose primary focus isn’t PLCs, and peripheral devices.
Sometimes the hardware manufacturer will offer customized versions of the CoDeSys environment, and the vanilla version is available free on the CoDeSys website. I haven’t worked with this on real projects, but I have played with it a bit for curiosity’s sake. It appears to be fully featured, easy to use, and it has an easy to use simulator. This is probably a good option for learning PLC programming. As a bonus, this package includes HMI programming as well.
Check out our Codesys Quickstart and PLC Programming Cookbook series on YouTube.
OpenPLC
This is a new player in the PLC space. As the name suggests, it’s open source and free to download. It implements all five languages of IEC 61131 and has a built-in simulator. I’m impressed that such a young open-source project looks as good as this does. That being said, in my tinkering with it, I don’t think it’s ready for prime time yet.
Honorable Mention: Sysmac Studio
I’ve worked with Omron’s Sysmac Studio quite a bit in the field. It’s PLC, HMI, and robot programming all wrapped in one. It’s easy to use, feels familiar when comparing to other big names, and has built in simulation. It doesn’t support instruction list or sequential function chart, which is fine with me.
There isn’t a free version (beyond the 30 day trial), but in my work with them, I’ve found Omron and the local distributor very interested in supporting education. A teacher could probably get the software for deep discount or free, and it would come with the support of local resources.
Edit (4/3/20): Thanks to Peter for pointing out there’s also a free online version of Sysmac Studio. This runs in a virtual machine in the cloud and allows 30 minutes of access at a time. You can upload files to the VM, so this could probably work in a class setting. My feel from trying this, however, is that it’s painfully slow. It might be a better option to use a local VM to reset the clock on the 30 day trial (ask me how in the comments).
Breakdown:
Brand | Software | Free Full/Partial | IEC 61131 | Tag based | Struct | Code reuse | Simulation |
AB | CCW | Partial (Standard edition) | Partial: LD, ST, FBD | Yes. Clumsy with IO | Paid version | Paid version | Paid version |
Modicon | MachineExpert Basic | Partial (Basic edition) | Yes | Yes | Function and Function Block | Yes, not sure if in Basic | |
Beckhoff | TwinCAT 3 | Full | Yes | Yes | Yes | Yes | Complicated |
Automation Direct | Productivity Suite | Full | No. Ladder only | Yes | Limited | Limited | No |
Automation Direct | Do-more | Full | No. Ladder only | No | Limited | Limited | Yes |
3S | CoDeSys | Full | Yes | Yes | Yes | Function and Function Block | Yes |
OpenPLC | Full | Yes | Yes | Yes |
About the Author
Jon is an engineer, entrepreneur, and teacher. His passion is creating and improving the systems that enhance human life, from automating repetitive tasks to empowering people in their careers. In his spare time, Jon enjoys engineering biological systems in his yard (gardening).
Jon, As a Rockwell distributor, I feel the need to correct you slightly. With version 12 of Rockwell’s CCW software, it is possible to run your PLC code in a simulated Micro 850 controller that is built into the standard (free) software. I downloaded it to a home PC directly from the Rockwell download center.
Lawrence
Thanks Lawrence! We’ve corrected the post. 🙂
CCW v12 free Has a setting that allows the text editing of the ladder logic to use the same terms as used in logix 5000. Not all commands are used the same way in logix 5000 but the code can be copied and pasted between CCW free and Logix 5000 and vice versa.
CCW free also allows the creation of user defined function blocks that function similer to logix 5000’s add on instructions.
CCW will program I believe the entire powerflex family of VFDs. The micro800 series of plc are being recommended as replacements for the small Micrologix processors.
That sounds like it could be useful. I’ve tried the “Logix 5000” theme in CCW, but I only noticed that the contact and coil icons changed a little. Maybe I missed something.
Also, I believe the user defined function blocks are only available in the paid version. I’m having trouble finding a good list of what’s paid and what’s free in CCW, though.
It’s hard to come by experienced people about this subject, however, you sound like you know what you’re talking about! Thanks
Marvelous, what a website it is! This web site gives valuable information to us, keep it up.
I think this is a real great article post. Really thank you! Keep writing.
I have learned a lot from the information that you have shared. Thank you very much.
I had a training on RS Logix 500 since 2012 and since then I have not worked with it, so I need help to get to the programming better and work with as well. Any assistance from you will be appreciated. Thank you.
Awesome article post. Really looking forward to read more.
Thanks for your information.
Thanks for your valueable post.
Hi, thank you for this overview and comparison :-). Just a few comments from the CODESYS manufacturer:
* We have renamed the company to CODESYS Group (so no more 3S or S3 🙂 )
* Besides the smaller PLC brands there are as well huge brands which base their IEC 61131-3 IDE on CODESYS, including Beckhoff, Eaton, Bosch Rexroth, ABB, WAGO, Schneider Electric, some of them as brand labelled versions, e.g. SoMachine.
* Besides the PLC brands CODESYS supports the possibility to turn almost any x86/ARM based device into a PLC. There are SoftPLCs offered for the most common platforms – thus even a Raspberry Pi can act as PLC (of course with all known limits).
* Besides the common platforms CODESYS nowadays supports virtual PLCs which can be deployed on edge and cloud computing platforms abstracted with hypervisor or container technology.
I hope this information may be helpful, too 🙂
Regards, Rolad 🙂
Thanks, Roland. Sometimes it’s hard to keep track of private labelled things, so I appreciate the clarification. 🙂
Hello Am a student doing Electrical Engineering, How can I download PLC software for students?
Hello Moses, that depends on which software you’re looking for. The software I recommend for students is Codesys because it’s free and has all the features a student needs. If that’s what you’re looking for, I talk about how to get it in my Codesys Quickstart video: https://youtu.be/OA_j_B8wPhA. If you’re looking for something else (maybe your university has a preferred software), you’ll have to check with the manufacturer or distributor of that software. They usually won’t give it away for free, but you can usually get a discount. Good luck!
https://www.unitronicsplc.com/software-u90-for-programmable-controllers/, https://www.unitronicsplc.com/software-visilogic-for-programmable-controllers/ Free PLC programming softwares from Unitronics.