Technical guide · CODESYS

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.

Call