6.1 CODESYS Redundancy SL
Supports redundant switching between primary and backup soft PLCs, suitable for critical processes such as wastewater treatment and energy management. Working Principle:
The main controller monitors the status of the backup machine through heartbeat monitoring
Maintain data synchronization through Ethernet (supports up to 4 redundant devices)
The fault switching time can be configured (typical 100~500ms)
Attention: Redundant functions are sensitive to network latency and must use independent redundant networks (not shared with the control network).
6.2 CODESYS SoftMotion SL
Upgrade the soft PLC to a motion controller that supports:
Single axis position/speed/torque control
Electronic cam (electronic gear)
Multi axis interpolation (lines, arcs, spirals)
Supports EtherCAT or Sercos III drivers
Hard real-time warning: SoftMotion's high-precision interpolation (e.g. cycle 1ms, requiring jitter<50 μ s) may not be met on Win SL. For CNC or robot applications, please upgrade to CODESYS Control RTE.
6.3 CODESYS WebVisu / TargetVisu
Built in web server or target visualization, allowing monitoring of controller status through a browser or local touchscreen. No additional purchase of SCADA is required.
6.4 CODESYS BACnet SL / KNX SL
A protocol stack specifically designed for building automation, capable of connecting HVAC, lighting, and security systems. These two options do not rely on Npcap and have extremely low real-time requirements, making them very suitable for Win SL.
Typical application scenarios and limitations (mandatory for engineers)
✅ Suitable for scenarios using CODESYS Control Win SL
Factory data collection and edge computing (running SQL database or Node RED at the same time)
Building automation (HVAC, lighting, elevator group control)
Material sorting conveyor line (cycle 10-50ms)
Water treatment process control (PID regulation, second level response)
Education, laboratory prototype verification
❌ Scenarios that are not suitable or require careful use
Safety related systems (not SIL certified)
Stamping machines, injection molding machines, and other equipment that require microsecond level response
Multi axis CNC interpolation (jitter can cause machining errors)
Containerized deployment (officially prohibited virtual machines/containers)
Embedded headless device (without Windows environment)
Alternative Proposal
If hard real-time is necessary, you can choose:
CODESYS Control RTE: Based on Windows+INtime real-time extension, supports deterministic cycles (≤ 50 μ s jitter).
CODESYS Control for Linux: runs on the Linux+PREEMPT_RT kernel and performs better in hard real-time than Windows.
Hardware PLC: such as ABB AC 800M (refer to previous text), suitable for extreme reliability and safety situations.
Performance optimization: making Windows more like a real-time system
Although it cannot completely eradicate the non real time nature of Windows, the following measures can significantly reduce latency spikes:
8.1 Close unrelated services
Windows Update (Automatic updates consume a lot of CPU and I/O)
Disk Defragmentation (Planned Task)
Print backend processing program (if not used)
Windows Defender (Reduce real-time scanning frequency or exclude CODESYS process)
8.2 Setting processor affinity
In the task manager, bind the CODESYS Control Win SL process to a specific CPU core (such as Core 3) and exclude other user processes from using that core.
8.3 High precision timer
When CODESYS is running, the system defaults to calling the Windows multimedia timer (timeBeginPeriod (1)), setting the system clock resolution to 1ms. UseHighResTimer=1 can be forcibly enabled by adding it to the registry in the fields of iPadOS SOFT CODESYS ControlWin.
8.4 Network Isolation
Assign a dedicated network card to EtherCAT/PROFINET and disable the following features of the network card:
Large scale Send Offload (LSO)
Receiver Scaling (RSS)
IPv4 checksum offloading
These uninstallation functions will introduce unstable packet latency.
8.5 Monitoring jitter
Use the built-in 'Task Monitor' in CODESYS to record cycle deviations. If it frequently exceeds 30% of the set value, it is necessary to reduce the CPU load or extend the task cycle.
Common fault codes and solutions (quick reference table)
Troubleshooting steps for error logs or indicator lights
Unable to start event log at runtime: 0x80070005 Running with administrator privileges; Check User Account Control (UAC)
Fieldbus initialization failed with "Adapter not found" installation of Npcap; Disable firewall; Replace the network card
Watchdog reset C016: Task timeout extends the task cycle; Optimize code (avoid long loops)
License expiration demonstration mode countdown, re import license; Check if the system time is correct
There are a large number of CRC errors in the communication intermittent bus statistics to check the grounding of the cable shielding layer; Reduce bus speed
Unable to download program device not ready to restart runtime service (command line: net stop CODESYSControlWin/net start)
High CPU usage (>90%): Windows Task Manager checks if soft PLC is enabled to execute multiple tasks simultaneously; Reduce the number of loop tasks