Interested in giving CODESYS a try? Here are a few fantastic reasons why you should...
Looking for a solid ladder logic programming environment that doesn’t lock you into a particular vendor? CODESYS provides that and more. With a familiar but powerful set of tools, not only can you use IEC 61131-3 languages like ladder, but you’ll also enjoy code that is open, structured, customizable, and portable.
In this post, I’ll touch on some of the highlights of using CODESYS if you’re coming from a traditional ladder logic programming background. Look out for even more details in a follow-up post.
IEC 61131-3 programming
CODESYS is a device-independent, IEC-compliant automation development system. Unlike most ladder programming environments, you won’t have to deal with proprietary instructions that only work for one vendor’s hardware. Instead, you’ll work with a standard, familiar instruction set that runs on many different PLC brands.
In addition to ladder logic, CODESYS also supports other IEC programming languages like structured text (ST), sequential function charts (SFC), and function block diagrams (FBD).
CODESYS program units can use one of many IEC programming languages
For Rockwell users familiar with add-on instructions (AOIs), these options are worth noting. CODESYS uses a modular architecture, and Function Blocks are an essential way to build up your own libraries of custom, reusable code. The functions and interfaces of FBDs can even be inherited and extended by other functions for a modern object-oriented programming approach.
Libraries
Fortunately, much of the heavy lifting has already been done for you by CODESYS, the user community, and Opto 22. For example, the open-source OSCAT Basic library provides over 400 common math and engineering functions and data types. It’s included in the Opto 22 library package for CODESYS, so you can use it in your groov EPIC projects or adapt its functions to your needs.
The OSCAT Basic function categories
CODESYS also provides many fieldbus driver libraries, including EtherNet/IP, PROFINET, BACNet, CANOpen, and more. And their IIoT library collection includes functions for MQTT, e-mail, SMS, cloud IoT services, and utilities to manipulate common IT data structures like JSON and XML.
Advanced programming components
But CODESYS doesn’t stop there. The image below gives you a look at some of the many handy components you can add to your CODESYS programs. Two, in particular, will be familiar to Rockwell users.
CODESYS provides many powerful programming objects
Data Unit Types (DUTs) are one essential component you will love. Like the user-defined data types (UDTs) you’re familiar with, they allow you to define your own extensible, reusable data structures and asset models.
And if you make use of produced/consumed tags in RSLogix, Network Variable Lists are comparable. They allow a controller to exchange tags with multiple other controllers without writing communication logic. But unlike Logix controllers, with CODESYS you can exchange tags with any other CODESYS controller regardless of brand.
Gotchas
Now, there are certainly going to be some differences between CODESYS and other programming platforms you may have used. For example, since CODESYS relies on standard interfaces for cross-platform compatibility, we have seen users run into problems with some third-party devices. An EtherNet/IP device that isn’t 100% ODVA compliant may not provide all the data or capabilities you are expecting if you are used to working exclusively with Allen-Bradley components.
Making use of heterogeneous devices and software components also means that you’ll need to be aware of any library updates, bug fixes, and compatibility issues.
Of course, like any new programming environment, CODESYS has some elements like scan classes that may be unique or unfamiliar and require some research ahead of time.
And please, please, please remember to apply your CODESYS license to your EPIC controller, not your workstation.
What’s Next?
If you are ready to give CODESYS a go, it’s highly recommended that you browse the many resources put out by the user community. CODESYS documentation can be found online, and they also provide their own training resources, including a course especially for Rockwell users.
In the final post of this series, I’ll go deeper into the portfolio of tools included with CODESYS as we compare it against our free PAC Control development environment. You’ll see just how rich the CODESYS platform is, but also get clarity on which tool is right for the job you’re doing.