CODESYS Runtime Selection: Control RTE, Linux SL and Virtual Control
By the ONX Control engineering team · Published:
In short
In CODESYS the runtime is the software the PLC application runs on, and the choice is set by the operating system, the real-time requirement and the hardware. Control RTE SL is used for deterministic servo and EtherCAT control on a Windows industrial PC, Control for Linux SL on a Linux PC, Virtual Control SL for many PLCs in containers on the same hardware, and Control Win SL for testing and simulation without real-time needs. All four are licensed with the same application-based tiers (Basic, Standard, Performance). ONX Control mainly uses Control RTE in motion projects: on Intel J1900 PCs the jitter measured on a 1 ms EtherCAT task is below 60 µs.
Result of the example
- Servo and EtherCAT
- Control RTE SL
- Linux industrial PC
- Control for Linux SL
- Containers, many PLCs
- Virtual Control SL
- RTE, J1900, 1 ms EtherCAT
- Jitter < 60 µs (ONX)
The four runtimes at a glance
The table is based on the product pages in the CODESYS Store (November 2026). All are programmed with the same CODESYS Development System; the IEC 61131-3 application is largely portable between runtimes, but device drivers, I/O mapping and timing must be verified on each target.
| Runtime | Operating system | CPU | Real time | Where it runs | Typical use |
|---|---|---|---|---|---|
| Control RTE SL | Windows 10 / 11 / IoT Enterprise, 32 and 64 bit | Multicore x86 | Own real-time kernel, deterministic | Directly on the industrial PC; not released for VMs or containers | Servo, EtherCAT, CNC, fast machines |
| Control for Linux SL | Linux | PC-based (x86); separate Control for Linux ARM SL for ARM | Soft real-time; PREEMPT_RT kernel required for real time | Linux industrial PC | IPCs and edge devices running Linux |
| Virtual Control SL | Debian, Red Hat Enterprise Linux, Yocto | x86-64, ARM, ARM64 | RT-Preempt kernel and hardware optimisation recommended | Docker / Podman container; kernel 6.1 or later | Many PLCs on the same hardware, central management |
| Control Win SL | Windows | x86 | Soft real-time only | Windows PC | Testing, simulation, applications without real-time needs |
Control RTE SL: deterministic control on Windows
Control RTE SL runs alongside Windows with its own real-time kernel and needs no extra hardware or operating system extension. The package includes EtherCAT (with Distributed Clocks), PROFINET Controller and Device, EtherNet/IP Scanner and Adapter, CANopen, Modbus TCP and serial, Sercos III, J1939 and IO-Link Master, with OPC UA and MQTT on top.
ONX Control mainly uses this runtime in servo and EtherCAT motion control projects. The 17-axis cake packaging line and the X CNC Library tests run on this architecture.
| Indicator | Value | Source / condition |
|---|---|---|
| Jitter, 1 ms EtherCAT task | < 60 µs | ONX field measurement: industrial PCs with Intel J1900 CPUs, Windows + CODESYS Control RTE, across many projects. |
| Cake packaging line | 17 servo axes, 1 ms cycle | ONX case study: CODESYS SoftMotion RTE + EtherCAT. |
| X CNC Library | 1 ms 5-axis interpolation | ONX test: Intel J1900, CODESYS Control RTE, virtual axes. |
- Hyperthreading and efficiency cores (E-cores) are not supported and must be disabled in the BIOS.
- Only Windows versions maintained by Microsoft are supported.
- It is not released for virtual machines or containers; if you need a virtual PLC, look at Virtual Control SL.
Control for Linux SL: Linux industrial PCs
Control for Linux SL is the SoftPLC for PC-based controllers running Linux; the CODESYS Store describes it as soft real-time. According to the CODESYS performance guide, applications with real-time demands should use the PREEMPT_RT kernel and disable hyperthreading and Linux RT throttling; the active kernel is shown with the rt-get kernelinfo command in the PLC shell.
There is a separate product for ARM devices: Control for Linux ARM SL (Debian-based Linux, ARMv7 and ARMv8). ONX Control currently uses Linux SL at lab and test level; field motion projects use RTE.
Virtual Control SL: a virtual PLC in a container
Virtual Control SL runs the runtime as a Docker or Podman container; any number of controller instances can be started on the same hardware. It supports x86-64, ARM and ARM64 on Debian, Red Hat Enterprise Linux and Yocto, needs at least kernel 6.1, and for real time an RT-Preempt kernel, BIOS settings and operation without a graphical UI are recommended. Windows Subsystem for Linux is not supported.
Licensing is over the network: the number of licenses on the CODESYS LicenseServer for Linux SL sets how many controllers can run at the same time. ONX Control is trying Virtual Control at lab and test level.
Licensing: application-based tiers
All Control SL runtimes use the same license tiers; the tier is chosen by the size and functions of the IEC application. The license sits in a soft container bound to the device or on a USB CODESYS Key; without a license the runtime runs in demo mode for two hours.
EtherCAT, PROFINET and EtherNet/IP count as "complex fieldbuses"; master and device instances are counted together. Because these fieldbuses are part of the tiers, they cannot be combined with a standalone CODESYS EtherCAT SL license.
| Tier | I/O channels | Fieldbus | Note |
|---|---|---|---|
| Basic S | 64 | — | Smallest applications |
| Basic M | 128 | Up to 2 CANopen, Modbus or J1939 | |
| Basic L | 256 | Up to 2 CANopen, Modbus or J1939 | |
| Standard S | 512 | 1 complex fieldbus (EtherCAT, PROFINET, EtherNet/IP) | Minimum tier for SoftMotion |
| Standard M | 1024 | 1 complex fieldbus | |
| Standard L | 4096 | 2 complex fieldbuses | |
| Performance M | 8192 | 4 complex fieldbuses | Pins task groups to isolated cores to reduce jitter |
| Performance L | 16384 | 8 complex fieldbuses | Same features as Performance M |
Source: CODESYS Store, Licenses and application-based license FAQ pages (November 2026). Visualisation and controller redundancy are also tier-dependent features; check the current table before buying.
- SoftMotion is licensed separately: 4, 8, 16, 32, 48, 64, 96 or 128 real axes (with the same number of virtual axes), and it needs at least Control Standard S.
- For CNC and robot kinematics, an axis group / CNC interpolator license is added on top of SoftMotion; it includes no axes.
- ONX Control's X Motion and X CNC libraries need no SoftMotion axis license; they drive EtherCAT CiA402 axes directly.
Which runtime for which machine?
| Need | Runtime | License starting point | Note |
|---|---|---|---|
| Servo and EtherCAT motion, 1 ms cycle, CNC | Control RTE SL | Standard S + SoftMotion (or X Motion / X CNC) | ONX's main field choice |
| Fast multi-axis machine with low jitter | Control RTE SL | Performance M | Pin the task group to an isolated core |
| IPC that must run Linux, edge data collection | Control for Linux SL | Basic / Standard as required | Verify with PREEMPT_RT and a jitter measurement |
| Several PLCs on one server, container infrastructure | Virtual Control SL | Network license per controller | LicenseServer for Linux SL |
| ARM gateway or small device | Control for Linux ARM SL / Virtual Control SL | As required | Verify device support first |
| Testing, simulation, training | Control Win SL | As required | Work without real-time needs |
What to watch for in the field
- Verify the choice on the target PC, not on paper: run the real project and check cycle time and jitter in the task configuration monitor.
- Disable hyperthreading and efficiency cores in the BIOS; on Linux, disable RT throttling and do not run a graphical UI.
- Dedicate a supported network adapter to EtherCAT; do not share the master's interface with other traffic.
- Choose the license tier by I/O channels and complex fieldbus count; master and device instances are counted together.
- With CODESYS 4 (1.0.0.0), project engineering is released only for Control SL runtimes from V3.5 SP19: Win V3, RTE, Linux SL, Raspberry Pi SL and Virtual Control SL.
Frequently asked questions
What is the difference between CODESYS Control RTE and Control Win SL?
Control RTE SL runs deterministically with its own real-time kernel and is meant for production servo, EtherCAT and CNC applications. Control Win SL has soft real-time properties only; it suits testing, simulation and applications without real-time needs.
Can CODESYS on Linux control servo axes?
Yes, with Control for Linux SL; but the CODESYS Store describes this runtime as soft real-time, and real time needs the PREEMPT_RT kernel. Performance has to be verified by measuring jitter on the target hardware. ONX Control currently uses Control RTE for field motion projects.
When does Virtual Control SL make sense?
When you want to run several controllers on one server, deploy and update PLCs as containers, or manage them on central infrastructure. It needs Docker or Podman, at least kernel 6.1 and a license server on the network.
Which license tier do I need?
Look at the number of I/O channels and complex fieldbus (EtherCAT, PROFINET, EtherNet/IP) instances. For a servo machine with a single EtherCAT master the starting point is Standard S; SoftMotion axis licenses also require at least Standard S. Pinning task groups to isolated cores for low jitter is part of the Performance tier.
Where can I buy CODESYS licenses in Türkiye?
ONX Control is listed on CODESYS's official System Partner list for Türkiye with license reselling, consulting and system integration services. We verify the runtime and license tier together with the target PC and application, then quote.
Let's choose your runtime and license together
Share your machine, axis count, fieldbuses and target PC; we will quote with a runtime, license tier and industrial PC proposal.
Estun Automation
CODESYS
Crevis
Nexcom / Nexcobot
Leroy-Somer
Servo Systems
AC Drive + Motor
DC Drives
Smart PLC
Panel PC / IPC
Remote I/O