Welcome to the Industrial Automation website!

NameDescriptionContent
HONG  KANG
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

CODESYS Control Win SL Soft PLC

来源: | 作者:FANS | 发布时间 :2026-05-15 | 13 次浏览: | 🔊 Click to read aloud ❚❚ | 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.

  • ABB 3BUS208720-001 Industrial Power Signal Interconnection Module
  • TMEIC KPAD-3122A LCD Display Keypad
  • Siemens 6SN1145-1BA02-0CA1 PLC
  • LAM 2004365 TURBO BYPASS PLC ASM
  • Omron CJ1W-CORT21 PLC Module
  • Euchner MGB-L2B-PNA-L-121853 Safety Switch
  • XPSMC32ZP Safety Controller
  • Schneider 9070T3000D33 PLC
  • Omron C200H-MAD01 AD DA Module
  • Omron NJ501-1320 CPU Controller
  • Honeywell C36TR1UA1000 Thermostat
  • Honeywell TC-RPDXX1 Power Supply Module
  • Fuji NW0E32-3 PLC Programmable Controller
  • ASM 2004219 Turbo Bypass ASM 107864 Module
  • Future IHDW-BLA4S-IM CNC MPG Handwheel
  • Wieland R1.180.0080.0 SA-OR-S1-4RK-A Safety Module
  • Reliance Electric 57C493 AutoMax Power Supply 376W
  • Siemens 3VT8563-2AA03-2KA2 MCCB 3VT8
  • B&R X20IF1072 CAN Bus Interface Module
  • Mitsubishi OSE253S2 Rotary Encoder
  • Mitsubishi NV630-SW 4P 500A Earth Leakage Breaker
  • Euchner MGB-L1B-PNA-R-121857 Safety Switch
  • Honeywell 900A01-0102 Analog Input Module
  • OMRON C500-ID219 Input Unit
  • Westinghouse EL3030R Current Limiter
  • CLA-2 3L Electric Lubrication Pump
  • Proface GP2501-TC41-24V HMI
  • Omron KM-N1-FLK Small Power Monitor
  • HPM 1D703-0040 Command 9000 Console Card
  • Siemens 3RW5074-6AB14 SIRIUS Soft Starter
  • Genie 75032 Limit Switch
  • OMRON C200H-SP001 Space Module
  • OMRON C200H-PS211 Power Supply Unit
  • OMRON C200H-OC222 Relay Output Unit
  • Keyence KV-8000SO 4221 CPU Module
  • Cincinnati Milacron 3-542-1079A Circuit Board
  • Beckhoff EL3124 Analog Input EtherCAT Terminal
  • KRONES BWU1703 0900853537 ASi PROFIBUS Gateway
  • Radio Energie RE0444 R1S 0.06 CA Tachogenerator
  • Mitsubishi GT1685M-STBA GOT1000 HMI
  • Siemens 6GK7342-5DA03-0XE0 CP 342-5 PROFIBUS
  • Allen Bradley 8520-PX-ASM3-EXEC2-63M Servo Module
  • Delta AH10PM-5A Programmable Controller
  • Siemens 3TK2805-0BB4 Safety Contactor Combination
  • EUCHNER HBA-079827 Pendant Station
  • CLC-2 4L PLC Lubrication Pump
  • KEYENCE GS-51P5 Safety Switch
  • AB 442G-MABH-R Safety Switch
  • GE Fanuc VersaMax PLC Module Set
  • Siemens 6ES7214-1HF40-0XB0 CPU 1214FC
  • Microchip DSPIC30F4011-30I/P DSC
  • FANUC A20B-2102-0081 I/O Link Module
  • Endress Hauser CLS15-B1M2A Conductivity Sensor
  • B&R 3AM050.6 Analog I/O Module
  • Fanuc A16B-2201-0320 MAIN-B CPU Board
  • Pilz 475650 PNOZ 1 Safety Gate Relay
  • Omron NSH5-AL001 Handheld HMI Terminal
  • Allen-Bradley 1756-OF8 Analog Output 8 Ch
  • Siemens 6SL3210-1SE31-0AA0 45kW Power Module
  • PMA TB45-110-00000-000 Temperature Limiter
  • PSR-SCP-24DC-ESD-5x1-1x2-300 Safety Relay
  • Pilz 774140 PZE 9 24V AC Safety Relay
  • Telemecanique TSXRKN82F 8 Slot Rack
  • Mitsubishi R16CPU iQ-R PLC CPU
  • Mitsubishi A2ACPU-R21-S1 PLC CPU
  • Omron NX-AD4208 Analog Input Unit
  • Schneider LMC802CAA10000 PacDrive 3 Controller
  • Reliance Electric 0-51874 Static Sequence Card
  • Pilz 787310 PNOZ X3P C Safety Relay
  • B&R X20CP1684 CPU Module
  • Siemens 6SN1145-1BB00-0FA1 Power Module
  • Beckhoff EL3174 Analog Input EtherCAT Terminal
  • CLC-2P 4L PLC Lubrication Pump System
  • Omron CJ1W-DA08C Analog Output Unit
  • Metso Automation D201776 ACN PO DC PLC Control Server Computer
  • GE AT868 AquaTrans Ultrasonic Flow Transmitter
  • ABB PFSA107-Z42 DTU Stressometer Digital Transmission Unit
  • ABB PFSA240 3BSE073476R1 Roll DC Supply Unit
  • Fanuc A16B-2201-0320 CPU MAIN Board
  • Pilz 475650 PNOZ 1 Safety Gate Relay
  • Omron NSH5-AL001 HMI Interface Unit
  • Allen-Bradley 1756-OF8 Analog Output Module
  • Siemens 6SL3210-1SE31-0AA0 Power Module 45kW
  • PMA TB45-110-00000-000 Temperature Limiter
  • PSR-SCP-24DC-ESD-5x1-1x2-300 Safety Relay
  • Pilz 774140 PZE 9 Safety Relay
  • Telemecanique TSXRKN82F PLC Rack Chassis
  • Mitsubishi R16CPU PLC CPU Module
  • OMRON C500-PS223-E Power Supply Module
  • Siemens 3VL4731-1DC36-0AA0 Circuit Breaker
  • Siemens 7ML5201-0EA0 Ultrasonic Level Transmitter
  • OMRON NQ3 NQ5 Touch Panel HMI
  • OMRON CJ1W-AD081-V1 Analog Input Module
  • OMRON NJ301-1100 Machine Automation Controller
  • B&R X20BC00G3 EtherCAT Bus Controller
  • Schneider ATV212HD22N4S Variable Speed Drive
  • B&R 8B0C0320HW00.002-1 Power Supply Module
  • Mitsubishi OSA105S2A Incremental Rotary Encoder
  • Pilz 777514 PNOZ XV3P Safety Relay
  • Gould AS-884A-111 Modicon 884 Controller
  • Siemens 6SC6130-0FE00 SIMODRIVE Control Card
  • Omron CV500-PS221 PLC Power Supply Module
  • ABB CM577-ETH AC500 PLC Ethernet Module
  • Omron NX-SIH400 Safety Input Unit NX Series
  • Omron NJ501-1300 Machine Automation Controller
  • Siemens 3VT8563-2AA03-2KA2 Molded Case Breaker
  • Pilz PNOZ m1p ETH 773103 Safety Controller
  • Omron CJ1H-CPU66H-R CJ1 Series CPU Module
  • ASI ASI533-S00 PLC Module S1
  • Mitsubishi AJ71C21-S1 Serial Module
  • Keyence IX-1000 Laser Sensor Amplifier
  • Siemens 6SN1145-1AA01-0AA1 Power Module
  • Siemens 3VA2340-5HL32-0AA0 MCCB 400A
  • Mitsubishi OSA104S Absolute Encoder
  • Siemens 6ES7350-1AH03-0AE0 FM 350-1 Counter
  • Siemens 6SE7038-6EK84-1JC2 IGD8 Gate Driver
  • Eaton EASY819-AC-RC Programmable Relay
  • Omron CPM1A-40CDT-D PLC 24V DC
  • Omron NA5-12W101B-V1 12-inch Programmable Terminal
  • Siemens 6ES7331-7KF02-0AB0 Analog Input SM 331
  • Moxa PTC-101-S-SC-HV Photoelectric Converter
  • Fanuc A20B-3300-0031 CNC Control Circuit Board
  • OMRON NA5-7W001B-V1 Programmable Terminal HMI
  • Parker AH385851U002 590C DC Drive Power Board
  • ABB 3BSE040662R1 AI830A Analog Input Module
  • DOLD BF9250.01/001 Solid State Relay
  • Siemens 6ES7331-7KF02-0AB0 SIMATIC S7-300 SM 331
  • ABB 07AC91 I6 GJR5252300R3101 Advant Controller 31