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 | 844 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.

  • Sigmatek MDD111-1 DIAS Drive Axis Module
  • Sigmatek DKL042 05-024-042 Terminal Module
  • Sigmatek DM822 Control Module
  • Sigmatek CDM167 12-008-167-O Module
  • Sigmatek TAE151 Touch Display Unit
  • Sigmatek DCC041 SLIDES Module 05-700-041-D
  • Sigmatek AKM65M-ANC2GBB0 PM Servo Motor
  • Sigmatek ETT221 01-230-221 Operator Terminal
  • Sigmatek SLIDES DAM 124 Analog Module
  • Sigmatek AKM31C-ANCNGBB0 Servo Motor
  • Mannesmann Demag Sigmatek CP626 Central Unit
  • SIGMATEK 0332.554.03 Board 371071000154
  • SIGMATEK 12-250-021 Base Plate Back Panel CM5V020
  • SIGMATEK DM162 S-DIAS Digital Mix Module
  • DEMAG ERGOTECH 061 381 66 Sigmatek 9842.243.02 Circuit Board
  • SIGMATEK CP313-1 PLC Module
  • Sigmatek ETV0551-2 VARAN Touch Terminal
  • Sigmatek SDM 081 FS S-Dias Safety Module
  • DEMAG 05-250-023 Ergotech Motherboard with Sigmatek TMS012
  • Sigmatek CM5V020 12-250-023-K Wiring Base
  • Sigma Tek 5000B-37 Attitude Gyro Indicator
  • Sigmatek SDD120-2 DIAS Drive
  • Sigmatek CME221 Memory Module
  • Sigmatek DCP640 DIAS Central Unit
  • Sigmatek STO040 Safety Output Module
  • Sigmatek CET281 Control Panel
  • Sigmatek CIPC LX800 Demag NC5 CPU
  • Sigmatek DKL093 05-024-093 Terminal Module
  • Sigmatek AI088 20-009-088 Analog Input Module
  • Sigmatek CAI888 Analog Input Module
  • SIGMATEK CCA021 12-025-021 Analog Output Module
  • SIGMATEK 1104.579.05 Control Module
  • SIGMATEK SDI100 Digital Input Module
  • SIGMATEK C-IPC 256MB LX800 Compact Dias
  • SIGMATEK 9423.090.02 Control Module
  • SIGMATEK C-IPC 256 Power Supply 148498
  • SIGMATEK CAI025 Analog Input Module
  • SIGMATEK CTO166 Digital Output Module
  • SIGMATEK CP112 20-004-112 Processor Module
  • SIGMATEK CAI887 12-009-887 Safety Module
  • Sigma-Tek 4000B-31 Directional Gyro 1U262-002-42
  • Sigmatek C-IPC 256MB LX800 IPC Controller
  • Sigmatek C-IPC 01-450-031 Industrial PC LX800
  • Sigmatek C-IPC 256 Industrial PC Controller
  • Sigmatek CCP-531 PLC Processor Module
  • Sigmatek CDI163 Digital Input Module
  • Sigmatek ETV0501 VARAN Terminal 12-230-0501
  • Sigmatek CTMS020 C-DIAS Technology Module
  • Sigmatek CIV512 VARAN Switch Module
  • Sigmatek HU011 20-080-011 Interface Module
  • SIGMATEK SLIDES DAM 124 Module
  • SIGMATEK C-IPC 161 01-450-161L Industrial PC
  • SIGMATEK C-IPC 128MB VIA 733MHz 01-450-024-K
  • SIGMATEK 12-780-012 R8-IPC Geode LX800 Module
  • SIGMATEK CAM124 Analog Module
  • SIGMATEK S1 032-8AF61-R4 EZ Servo Motor
  • SIGMATEK CTO163 Digital Output Module
  • SIGMATEK CCP082 12-004-082 Processor Module
  • SIGMATEK CRCH081 C-DIAS Temperature Module
  • SIGMATEK PC322-K 01-310-322-K Industrial PC
  • SIGMATEK SDD310-2 Servo Drive
  • SIGMATEK AI084 Analog Input Module
  • SIGMATEK CRCH081 12-752-081 Temperature Module
  • Sigma-Tek 5000L-4 Attitude Gyro 1U284-001-3
  • SIGMATEK CM5V020 12-250-023-K Wiring Module
  • Sigma-Tek 4000H-6 Directional Gyro IU262-035-7
  • SIGMATEK Dias DCP160 05-004-160 Processor Module
  • SIGMATEK 0147.395.02 Control Module
  • SIGMATEK A1084 Control Module
  • SIGMATEK DI200 20-006-2000 Digital Input Module
  • Sigmatek DNC115 Encoder Module
  • Sigmatek DAM122 05-017-122 Analog Module
  • Sigmatek 9802.289.01 Control Board TA71 Display
  • Sigmatek TO127 20-007-127 Digital Output Module
  • Sigmatek DNC031 05-011-031 Digital Module
  • Sigmatek VI022 20-003-022 Interface Module
  • Sigmatek CAI085 Analog Input Module
  • Sigmatek CP111 S-DIAS CPU Module
  • Sigmatek CTMS030 Krauss Maffei Module
  • Sigmatek CAM123 Control Module
  • Sigmatek TAE732-P 01-240-732-P Touch Display Unit
  • Sigmatek MDM021 Digital Mixed Module
  • Sigmatek DCP642 DIAS Central Unit
  • Sigmatek CST022 12-014-022 C-DIAS Module
  • Sigmatek SRO021 20-893-021 Safety Relay Output
  • Krauss Maffei MC5 Control System Sigmatek
  • Sigmatek DC061 Module 18-24VDC 300mA
  • Herrmann EVT0855 Ultrasonic Welder Touch Panel
  • Sigmatek CIV521 Control Module 1.4A 2W
  • Sigmatek DDI61 05-006-161 Digital Input Module
  • SIGMATEK ETT312-E Touch Terminal 01-230-312
  • Cessna S3326-1 Sigma Tek 5000B-67 Gyro 1U149-015-9
  • SIGMATEK PS101 Power Supply Module
  • SIGMATEK 0332.554.03 Control Module 371071000154
  • SIGMATEK ETT312-E Touch Terminal 01-230-312
  • SIGMATEK CDM163 Control Module
  • SIGMATEK VSV046 16-023-046 Module
  • SIGMATEK AM221 20-017-221 Analog Module
  • SIGMATEK CTS051 12-053-051 Control Module
  • SIGMATEK AM221 20-017-221 Analog Module
  • Sigmatek CSDI161 12-891-161 Safety Input Module
  • Sigma Tek 4000C-1 Directional Gyro Indicator
  • Sigmatek ETV0501 12-230-0501 VARAN Terminal
  • Sigmatek DDM165 SLIDES Module
  • Sigmatek N100 20-011-100 Control Module
  • Sigmatek AKM54K-ANC2R-B0 PM Servo Motor
  • Sigmatek CTO166 Digital Output Module
  • Sigmatek CP212-K 20-004-212-K CPU Module
  • Sigmatek CDI161 Digital Input Module
  • Sigmatek DCC080 05-700-080-2 Control Module
  • SIGMATEK SCP011 S-DIAS Safety CPU
  • SIGMATEK SCP011 S-DIAS Safety CPU
  • SIGMATEK SRO022 Relay Output Module
  • SIGMATEK MDD 121 Drive Axis Module
  • SIGMATEK DSI021 SLIDES Siemens Interface
  • SIGMATEK DIAS DCP161 Module 05-004-161
  • Sigmatek ETT312 Built-in Touch Terminal
  • SIGMATEK DCP 643 DIAS Controller System
  • SIGMATEK CIO021 Multi I/O Module
  • SIGMATEK CTMS020 Control Module
  • Sigmatek CME 221 Memory Module
  • Sigmatek 0420.615.01 Control Board
  • Sigmatek CP111 20-004-111 CPU Module
  • Sigmatek 9405.065.03 Control Board
  • Sigmatek ETEK 01-450-032-K C-IPC 256MB Industrial PC
  • Sigmatek CTO163 12-007-163 Safety Output Module
  • Sigmatek TO081 20-007-081 Digital Output Module
  • Sigmatek SI021 20-022-021 Safety Input Module