Which is right for you?
In this series, I’ve been talking about the strengths of CODESYS for control programming on the groov EPIC platform, but it’s not your only option. You can use CODESYS, Opto 22’s flowchart-based PAC Control, or custom applications built using secure shell access (SSH). Whether you’re a CODESYS developer building projects on groov EPIC or still deciding which programming approach to take, it’s worth understanding how and when each tool might be right for you. This post compares CODESYS and PAC Control head to head to help you decide which approach to take for your project.
Common ground
First, let’s understand what these tools have in common, because both are great for similar reasons:
- Capable: Both CODESYS and PAC Control are used across industries and applications.
- Mature: Both platforms have been in active use for over twenty years.
- Active communities: CODESYS and PAC Control users are professional engineers and system integrators who are active online, sharing tips, training, and reusable components.
- Free: The base programming environments are available without a licensing fee.
So either way, you’re in good hands.
Head-to-head
Now let’s look at the differences. Here’s a high-level comparison across several key categories.
CODESYS | PAC Control | |
Device compatibility | Device-independent | Opto 22 devices only |
Programming components | Multiple, industry-standard languages: LD, SFC, FBD Plentiful function libraries for all kinds of applications Custom functions and libraries Support for object-oriented programming User-defined data types Network variables (produced/consumed tags) Complex data types |
Intuitive flowchart programming and scripting Advanced instructions for complex math, string and array manipulation, network communication, and more. Straightforward but comprehensive PID control with graphical tuner Exportable subroutines Complex data types |
Communication options | Individually priced driver libraries for many field devices and network services OPC UA server |
Native TCP/IP, HTTP instructions Free software integration kits for various protocols |
Development tools | Comprehensive network and device management Online editing Interactive debugger Alarm management Recipe management Tracing/Trending Optional tools like CODESYS Automation Server *Static code analysis, modeling, profiling, test management |
Online editing Interactive debugger Native integration with SNAP PAC |
Source control | *Subversion plugin *Git plugin |
None |
Extensibility | Plugin system Python scripting |
None |
Application security | User management for project, function, and controller access Source code and executable encryption Encrypted controller and OPC UA communication |
None |
* Requires CODESYS Professional Edition ($600/yr)
Scope and capability
As the table above reflects, CODESYS not only provides deeper functionality in key areas but because it’s an open platform, it has the potential to address a much broader array of automation tasks, allowing you to solve bigger problems with less effort. In addition to highly structured, reusable programming components, CODESYS addresses the needs of large-scale automation projects with tools for network management, recipe management, user access control, testing, and more. The CODESYS store (US; Intl.) includes hundreds of libraries and plugins that expand the platform’s capabilities, and it integrates with tools like Automation Server, which provides cloud-based controller management and versioning.
PAC Control has a much smaller feature set than CODESYS, relying on the other tools in the groov EPIC platform to provide functions that can be found natively in CODESYS: SSH access for high-level language development like Python; Ignition Edge and Node-RED for field device protocol, OPC UA, and network service integration; groov View and PAC Display for alarming and trending; and all of it operating on the secure EPIC platform.
As the EPIC ecosystem grows, PAC Control programs will also become more powerful. However, managing large, multi-controller projects under CODESYS will probably be more effective and efficient.
Learning curve
That said, although Opto 22 does provide technical support and basic training for CODESYS, the learning curve is going to be as high as the platform is broad. We definitely recommend that interested users do their homework before jumping into a project. Tech support from CODESYS is going to have a cost associated with it and the reference documentation can be a little hard to follow.
PAC Control, on the other hand, is designed to be intuitive even for non-programmers. Opto 22 is known for its excellent reference material, training, and free technical support. You can jump in and get to work with a comprehensive instruction set that has proven itself in thousands of projects worldwide.
The right tool for the job
At the end of the day, CODESYS is the only option for portability and IEC language development, so if you plan to reuse your code on other types of controllers or absolutely need to write in ladder logic, CODESYS is the obvious choice. And if you’re focused on large-scale projects, the investment in overcoming the learning curve and in developing function libraries for common tasks and control models is probably going to be worth it.
On the other hand, if you want to get to work fast, especially if you don’t see yourself as a programmer already or aren’t concerned about managing multiple controllers, versions, or users, PAC Control is going to work nicely for you.
But whether you're in Camp CODESYS for life or a registered PAC Control Party member, with groov EPIC, you have access to the right tools, no matter the job. One controller. Lots of choices.
Keep watching for improvements to both of these platforms in future firmware releases.
Go make it happen!