Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

CODESYS Control Win SL Soft PLC

F: | Au:FANS | DA:2026-05-15 | 342 Br: | 🔊 点击朗读正文 ❚❚ | Share:

CODESYS Control Win SL Soft PLC Deployment and Troubleshooting

Introduction: When Industrial PC Meets Soft PLC

In the field of automation, traditional hardware PLCs such as Siemens S7-1500 and Rockwell ControlLogix have long dominated. However, with the soaring performance of PCs and the maturity of the industrial software ecosystem, PC based soft PLCs (SoftPLCs) are gradually penetrating into scenarios such as process control, discrete manufacturing, and building automation. CODESYS Control Win SL is a representative product of this trend - it transforms an industrial PC running Windows into a high-performance controller that complies with the IEC 61131-3 standard, with performance almost linearly expanding with PC hardware.

But soft PLC is not omnipotent. Its "soft real-time" feature determines that it cannot replace hard real-time systems (such as VxWorks with RTX extensions or Windows with INtime). This article aims to provide engineers with a comprehensive guide from deployment to troubleshooting, covering installation, fieldbus configuration, license management, redundancy options, and in-depth analysis of common faults.


System architecture and real-time performance: understanding the boundaries of 'soft real-time'

2.1 Working principle

CODESYS Control Win SL runs as a Windows user mode process, using CODESYS Development System (V3.5.17.20 or higher) to write, compile, and download applications. The runtime system is responsible for:

Load and execute application code in binary format

Manage I/O systems and fieldbus stacks

Support retention data (battery backup SRAM, flash memory, CF card)

Provide debugging interfaces (breakpoints, single steps, variable monitoring)

2.2 Soft Real Time vs Hard Real Time

Unlike controllers based on dedicated RTOS, Windows itself is a non real time operating system (thread scheduling latency can reach several milliseconds). CODESYS Control Win SL does not provide a "hard real-time" guarantee, but has soft real-time features:

In most cases, the IEC task cycle can be maintained within the expected range

But occasionally there may be significant delays, and the frequency of delay exceeding the limit may be high

Suitable for control circuits that are insensitive to time jitter (such as HVAC, material handling, non safety level process control)

Typical latency data: On a regular industrial computer (Intel Core i5, 8GB RAM, Windows 10 LTSC), the typical jitter of a 1ms cycle task is ± 200 μ s, but a long delay of 10ms may occur every 10 minutes (caused by Windows backend services). For applications that require sub millisecond level certainty, such as servo interpolation and high-speed injection molding machines, please choose CODESYS Control RTE (with real-time extension) or hardware PLC.

2.3 System Requirements and Limitations

Project requirements

Operating system Windows 10/11/Embedded (32 or 64 bit), requires official Microsoft support version

CODESYS Development System V3.5.17.20 and above

Hardware arbitrary industrial PC, it is recommended to disable CPU power-saving mode

Explicitly prohibit running in containers (Docker) or virtual machines (VMware/Hyper-V)

Real time level soft real-time, does not meet the requirements of hard real-time

Why ban virtual machines? The hypervisor can introduce unpredictable scheduling delays and timer drift, causing IEC task cycles to deviate significantly from set values and even trigger watchdog resets.


Installation and Basic Configuration: Step by Step Towards Stable Operation

3.1 Installation steps

Download the installation package (zip file containing 32/64 bits of Setup. exe) from the CODESYS Store.

Run Setup. exe as an administrator and select the target folder (it is recommended to default to C: Program Files CODESYS).

During the installation process, check the required additional components (such as OPC UA Server, Npcap driver - the latter is required for EtherCAT/PROFINET, etc.).

Restart the PC (some network drivers require a restart to take effect).

3.2 First Startup and Demonstration Mode

After installation, launch "CODESYS Control Win SL" from the start menu. The system defaults to demonstration mode:

Can run continuously for 2 hours without a license

After 2 hours of operation, the system will stop and the service or PC needs to be manually restarted

Demo mode supports all functions, limited to continuous running time only

Verify the running status: In the CODESYS development system, click "Online" ->"Login", and select the "CODESYS Control Win SL" target. If the connection is successful and the task cycle is normal, it indicates that the installation is correct.

The Importance of Npcap Driver 3.3

Many fieldbuses (see table below) rely on Npcap (a network packet capture library based on WinCcap) to transmit and receive raw Ethernet frames. If it is not installed or the version is incompatible, it will cause the bus to fail to initialize. Suggestion:

Download the latest official version (≥ 1.10) from the Npcap official website

Check 'Install in WinCcap API compatible mode' during installation

If using Wireshark at the same time, ensure that the Npcap driver is not overwritten


Fieldbus Integration: From Configuration to Troubleshooting

CODESYS Control Win SL supports multiple mainstream fieldbuses from the factory at no additional cost (some protocols require installation of Npcap). The following is the complete support list and configuration points:

The protocol role requires Npcap. Typical application common faults

CANopen manager/device is not distributed I/O, drive control baud rate is inconsistent, terminal resistance is missing

EtherCAT main station is motion control, high-speed IO network card is not compatible (requires Intel PRO/1000 series)

EtherNet/IP scanner/adapter communication with Rockwell PLC package timeout set improperly

J1939 device has no vehicle/engine data address conflict

Modbus TCP master/slave is a universal SCADA connection port 502 intercepted by a firewall

Modbus serial master/slave, old instrument level conversion error (RS232/485)

PROFIBUS DP master station, Siemens system integration, GSD file missing, terminal resistance error

PROFINET controller/device does not match Siemens I/O exchange data device name

Sercos III main station is a high-end motion control ring network disconnection

4.1 EtherCAT Configuration Troubleshooting Example

Phenomenon: After the EtherCAT master station scans, some slave stations display abnormal "Op" status or experience periodic communication interruptions.

Steps:

Confirm that the Npcap driver has been installed correctly and that the network adapter is not occupied by other applications (such as Wireshark).

In the CODESYS device tree, right-click on the EtherCAT master → "Append Device" → select the correct slave XML description file (provided by the slave vendor).

Check physical wiring: Use a cross test wire to connect the PC to the first slave station and observe the slave station indicator light. If the LED "L/A" does not flash, try replacing the network card.

Network card compatibility: CODESYS Control Win SL has poor support for Realtek network cards (prone to frame loss), and it is recommended to use Intel PRO/1000 or PCIe network cards based on Intel chips.

Set task cycle: EtherCAT data refresh should run in a separate high priority task, typically with a cycle of 1-4ms. If the task cycle jitter exceeds ± 20%, the Windows timer resolution needs to be increased (using timeBeginPeriod call or automatically optimized through CODESYS).

4.2 PROFINET device name malfunction

PROFINET IO devices are identified by device names rather than IP addresses. If CI871 or third-party slave cannot connect:

Use PST (Primary Setup Tool) or CODESYS's built-in "PROFINET Device Scan" function to read the current device name.

In the CODESYS configuration, set the "Device Name" to be exactly the same as the slave entity (case sensitive).

If the factory settings are restored from the site, the name needs to be reassigned.

4.3 Modbus TCP connection rejected

In most cases, it is due to the Windows Firewall blocking port 502. Solution:

Add an inbound rule in the control panel for 'CODESYS Control Win SL.exe' to allow TCP port 502.

Or temporarily shut down the firewall for testing (non production environments only).

License management: Avoid two-hour interruptions

5.1 License Types

CODESYS Control Win SL adopts a single device license and can be bound to:

Software container: Bind with the hardware fingerprint (network card MAC, hard disk serial number, motherboard UUID) of the target PC, permanently valid. After replacing the hard drive or network card, reactivation is required.

CODESYS Key (USB hardware dongle): Simply plug it into any PC for easy mobility and temporary replacement.

Order information: Product number 2302000003, purchased through CODESYS Store.

5.2 Activation Process

Install the runtime system on the target PC and obtain the 'Container ID' (displayed in the CODESYS Control Win SL control panel).

Log in to the CODESYS Store, enter the activation code obtained at the time of purchase, and submit the container ID.

Download the license file (. crypto) and import it into the runtime system (via web interface or local file).

Restart the runtime service and confirm that the 'License Info' display is valid.

5.3 Common License Malfunctions

Possible causes and solutions for the fault phenomenon

Still showing that the demo mode license file has not been loaded. Check if the file path contains Chinese or spaces; Re import using the 'Manage License' tool

After activation, it prompts "mismatched" hardware fingerprint change (such as replacing network card). Contact CODESYS support to regenerate container ID

USB dongle not recognized, missing driver installation CODESYS Key driver (located in installation directory Drivers)

The license validity period is shorter than expected. If you purchase a subscription version (annual fee), renew it annually, or purchase a permanent version

Tip: When deploying redundant systems, it is necessary to purchase independent licenses for each PC (redundancy options require additional fees, see the next section).


Product option: Expand the boundaries of soft PLC

CODESYS Control Win SL offers multiple charging options, significantly expanding its application scope. Here are the four most commonly used:

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


Selection Comparison: CODESYS Control Win SL vs Competitors

Features CODESYS Win SL TwinCAT 3 (Beckhoff) Raspberry PLC (open source)

Operating System Windows 10/11+Real time Kernel Linux RT

Real time level: Soft real-time, Hard real-time (via TcRtAcc), Soft real-time (PREEMPT_RT)

Supports a wide range of buses (>15 types) native to EtherCAT, with limited support for others through gateways

License fee payment (~€ 300) based on performance level (~€ 800 starting) free of charge

Visualization WebVisu/Target Visu TwinCAT HMI requires third-party support

Redundancy support with built-in paid options (requires additional authorization) None

Applicable to virtual machine prohibition (requires dedicated network card direct access) permission

For projects with limited budget and low real-time requirements, CODESYS Control Win SL is a highly competitive choice.

  • BASLER ELECTRIC BE1A1HF1JD1S2F Overcurrent Relay
  • Basler BE1-81O Under/Over Frequency Relay
  • Basler EDM-200 Exciter Diode Monitor
  • Basler DECS125-15-B2C5 Excitation Control
  • Basler 9261402100 PCB Board
  • Basler 9252000107 Overcurrent Relay
  • Basler BE1-87T Solid State Protective Relay
  • Basler Electric Phase Directional Overcurrent Relay BE1-Z2JA0N2F
  • Basler SSR125-12 Static Voltage Regulator
  • Basler Electric KR7F VOLTAGE REGULATOR 9116200100
  • BASLER ELECTRIC BE1-59N-A8E-E1L-N0S1F Ground Overvoltage Relay
  • Basler SR8A2B06B3A Static Voltage Regulator
  • BASLER ELECTRIC BE1-81O/UT3EE1KA7N1F Under/Over Frequency Relay
  • Basler MOC2107 Output Module
  • Basler 9125600102 Control Module
  • BASLER ELECTRIC BE1-81T1EE1EA2N0F
  • Basler BE3-25A Time Overcurrent Relay
  • Basler Electric CBS 212 Current Boost System 9 2650 00 100 120/240 VAC 50/60Hz
  • Basler Electric BE1-27 Under Voltage Relay A3EC1JA0N5F
  • Basler BE1-32R Power Relay B2EE1PA0N1F
  • Basler DECS100-B15 Automatic Voltage Regulator
  • Basler SR8A-2B15B3A Static Voltage Regulator
  • Basler AVC63-4 Analog Voltage Regulator
  • Basler UFOV 260 A Overvoltage Module
  • Basler SR4A-2B16B3A Static Voltage Regulator
  • Basler SR4A-2B16B3E Static Voltage Regulator
  • Basler SCA1300-32GM CCD Camera
  • Basler BE34062001 G18 Transformer
  • Basler BE1-87T Transformer Differential Relay
  • Basler 9 2849 00 101 DECS Power Module
  • Basler RAL6144-16GM Line Scan Camera
  • Basler 9269101107 Voltage Regulator Board
  • Basler BE1-851 Overcurrent Relay
  • Basler SR32A-2B13B3E Static Voltage Regulator
  • Basler 9 2007 00 100 Current Boost System CBS 305
  • Basler DECS-100-B11 Automatic Voltage Regulator
  • Basler BE127 Under Voltage Relay
  • Basler 3300C03B1028-G01 Spike Suppressor
  • Basler SSR 125-12 Static Voltage Regulator
  • Basler SCA1300-32GM CCD Camera Lens Enclosure
  • Basler BE32965001 Transformer Timer Kit
  • Basler D90 96801 100 PCB Card
  • Basler BE1-81-T1E-E1C-A0N1F / 9106400 Underfrequency Relay
  • Pro-Face Basler AGP3600-T1-D24 HMI Touch
  • Basler SR4A2B10B1A Static Voltage Regulator
  • Basler SR8A2B05B3A Static Voltage Regulator
  • Basler BE1-25 Time Overcurrent Relay M1FA6PA4S0F
  • Basler SR4A2B05B3E Static Voltage Regulator
  • Basler DECS-200-2L Digital Excitation Control
  • Basler BE303280001 Control Transformer
  • Basler 9262103004 Voltage Regulator Board For Basler DECS-400
  • Basler ICRM-7 Inrush Current Reduction Module
  • Basler BE1-32R Power Relay
  • BASLER ELECTRIC KR4F VOLTAGE REGULATOR 9042600100 600V 50/60Hz
  • Basler 9222600101 Power Module
  • Basler SR8A-2B15B3A Static Voltage Regulator
  • BASLER BE1-87G G1E A1L A0N1P Generator Differential Relay w/ Reactor 9170818100
  • Basler 9284900101 DECS Power Module
  • Basler PRS250 Veri-Sync Relay
  • Basler BE 12296 001 Transformer
  • Basler 905970-104 Rev.M Voltage Regulator
  • Basler BE1-87T Transformer Differential Relay
  • Basler SR8A-2B15B3A Static Voltage Regulator
  • Basler SR32A2B05B3E Static Voltage Regulator
  • Basler SR4A-2B16B3A Static Voltage Regulator
  • Basler SR32A-2B13B3E Static Voltage Regulator
  • Basler KR4F Voltage Regulator 9042600100
  • Basler SSR 32-12 Static Voltage Regulator 400Hz
  • Basler CBS 212A Current Boost System
  • Basler MVC236 Manual Control Module
  • Basler UFOV Protective Module 9040000100
  • Basler SSR 125-12 Static Voltage Regulator
  • Basler SR4A2B10A3E Static Voltage Regulator
  • Basler BE1-25 Solid State Time Overcurrent Relay
  • Basler MVC 232 Manual Voltage Control Module
  • Basler PRS 250 Veri-Sync Relay
  • Basler UFOV 260A Under Frequency Over Voltage Relay
  • Basler RUL2098-10GC Load Relay
  • Basler 9 1049 04 100 PC Board
  • Basler 125-12 Static Voltage Regulator
  • Basler PRS 250 Veri-Sync Relay
  • Basler 9185900102 SSR 125-12 Regulator
  • Basler BE12819001 Reactor
  • Teradyne 535-100-00 Power Supply
  • Basler BE1-67 Directional OC Relay
  • Basler PRP110 Reverse Power Relay
  • Basler BE30631001 Isolation Transformer
  • Basler DECS-200-2L Digital Excitation Control
  • Basler BE1-47N Voltage Phase Sequence Relay
  • Basler AEC63-7 Analog Excitation Controller 220-277V
  • Basler BE1-50/51B-107 Overcurrent Relay
  • Basler Electric BE1‑32R BE1‑E1P‑BON0F Protective Relay
  • Basler BE1-25 Solid State Time Overcurrent Relay M1EA6PA5S1F
  • Basler MVC 232 Manual Voltage Control Module 90 37000 103 60VAC 55VDC
  • Basler RAL6144-16GM Racer GigE Line Scan Camera
  • Basler SSR 63-12 Static Voltage Regulator
  • Basler BE1-51A Overcurrent Relay
  • Basler BE1-87T Solid State Protective Relay
  • Basler SR4A2B01B3A Static Voltage Regulator
  • Basler SSR 32-12 Static Voltage Regulator
  • Basler TRR00696 Transformer 1KVA 115V
  • Basler DECS-100-B15 AVR Replacement
  • Basler BE1-27 Under-Voltage Relay
  • Basler ACA2000-50GM Interface Module
  • Basler AEC63-7 Analog Excitation Controller
  • Basler PRS 250 Veri-Sync Relay
  • Basler SR4A-2B15B3A Static Voltage Regulator
  • Basler BE1-32R Power Relay
  • Basler SR8A-2B06B3E Static Voltage Regulator
  • Basler BE1-81 O/U Frequency Relay
  • Basler BE1-51A-K2E-W6M-B1N0F Overcurrent Relay
  • Basler BE1-851 Overcurrent Relay G3A1S1 – 48-125V AC/DC
  • Basler BEI-51 Overcurrent Relay – NSN 5945-01-293-2363
  • Basler Electric L301KC Protective Relay – L301KC
  • Basler DECS-100-B15 Automatic Voltage Regulator – Generator AVR
  • Basler SR4A-2B15B3A Static Voltage Regulator – SR4A2B15B3A
  • Basler UF 312 Under Frequency Protective Module – 9094700100
  • Basler Electric MVC 232 Manual Control Module – 60VAC 55VDC 20A
  • Basler PRS 250 Veri-Sync Relay – Generator Synchronizing Relay
  • Basler DECS-100-A05 Digital Regulator Review
  • Basler AEM-2020 Analog Expansion Module Specs
  • Basler DECS-100-B15 Digital Excitation Specs
  • Basler Electric 9125600106 Regulator Component
  • Basler BE1-51A-K1E-W6M-B1N0F Overcurrent Relay
  • Basler MVC-301 MVC 300 Excitation Controller
  • Basler SSR 32-12 Static Voltage Regulator
  • Basler 9-2849-00-101 Control Module
  • Basler BE1-51A Overcurrent Relay