Wat is CODESYS?

CODESYS (Controller Development System) is een fabrikantonafhankelijk softwareplatform waarmee u PLC-programma’s volgens IEC 61131-3 ontwikkelt, test en uitvoert op hardware van honderden verschillende fabrikanten. Het bestaat uit een gratis engineeringomgeving en een runtime (CODESYS Control) die op controllers, industriële pc’s, embedded systemen en als Soft PLC of container draait. Meer dan 400 apparaatfabrikanten bouwen hun besturingen op CODESYS, waardoor het een van de grootste ecosystemen binnen de industriële automatisering is.

CODESYS wordt gebruikt in machinebouw, procesindustrie, gebouwautomatisering, water en energie en in IIoT-omgevingen. Omdat het platform klassieke besturing combineert met motion control, visualisatie, OPC UA, MQTT en edge computing, speelt het een sleutelrol in de verschuiving naar softwaregedefinieerde automatisering en OT-convergentie.


🧠 Wie ontwikkelt CODESYS en hoe is het ontstaan?

CODESYS is ontwikkeld door het Duitse bedrijf 3S-Smart Software Solutions, in juli 1994 opgericht door Dieter Hess en Manfred Werner in Kempten. Versie 1.0 verscheen nog datzelfde jaar. Sinds juni 2020 heet het bedrijf CODESYS GmbH, onderdeel van de CODESYS Group met ruim 250 medewerkers, vooral software-engineers.

Mijlpaal Betekenis
1994 Oprichting 3S en eerste versie CODESYS 1.0
CODESYS V2.3 Lange tijd de standaard in de machinebouw; nog veel in het veld aanwezig
CODESYS V3 / V3.5 Nieuwe architectuur met objectoriëntatie, apparaatbeschrijvingen en de CODESYS Store; niet compatibel met V2
2020 Naamswijziging naar CODESYS GmbH
April 2023 Versie 3.5.19.0 dicht een reeks ernstige kwetsbaarheden die Microsoft vond
Januari 2025 Virtuele safety-PLC (Virtual Safe Control SL) door TÜV SÜD gecertificeerd voor SIL 3 volgens IEC 61508

Het verdienmodel is bijzonder: de fabrikant van een besturing licenseert de CODESYS-runtime en levert zijn hardware met de bijbehorende apparaatbeschrijving. De eindgebruiker programmeert al die merken vervolgens in dezelfde omgeving.


🔧 Uit welke onderdelen bestaat CODESYS?

Onderdeel Functie
CODESYS Development System Gratis IEC 61131-3 engineeringomgeving (IDE) voor Windows
CODESYS Control De runtime: voert de PLC-logica uit op een apparaat, op Windows, Linux of een Raspberry Pi
CODESYS Virtual Control SL Runtime als container voor gevirtualiseerde besturing
CODESYS SoftMotion Motion control, CNC en robotkinematica
CODESYS Visualization Geïntegreerde HMI: TargetVisu op het apparaat, WebVisu in de browser
CODESYS Safety Componenten voor safety-besturingen tot SIL2 of SIL3 volgens IEC 61508
Professional Developer Edition Add-ons voor UML, versiebeheer en statische codeanalyse
CODESYS Automation Server Cloudplatform voor centraal beheer en uitrol van projecten
CODESYS Edge Gateway Veilige verbinding tussen IDE of server en besturingen op afstand

De architectuur is gelaagd. Op het engineeringstation draait de IDE. Die communiceert via de CODESYS Gateway met de runtime. De runtime bevat een task scheduler, geheugenbeheer, IO-afhandeling, protocolstacks, een watchdog en een debug-engine voor online diagnose. Daaronder liggen de veldbussen naar sensoren, actuatoren en drives. Binnen een Soft PLC-architectuur functioneert de runtime zo als softwarematige PLC.


💻 Welke programmeertalen ondersteunt CODESYS?

Taal Typische toepassing
Ladder Diagram (LD), zie Ladder Logic Elektrische en discrete logica
Function Block Diagram (FBD) Regel- en proceslogica
Structured Text (ST) Algoritmes, berekeningen, datahandling
Sequential Function Chart (SFC) Stapprocessen en sequenties
Continuous Function Chart (CFC) Vrij geplaatste blokken, geen IEC-taal maar een CODESYS-uitbreiding
Instruction List (IL) Legacy; in editie 3 van IEC 61131-3 (2013) als verouderd aangemerkt en in editie 4 (2025) geschrapt; CODESYS ondersteunt het nog voor bestaande projecten

Structured Text wint terrein door betere schaalbaarheid, herbruikbaarheid en de objectgeoriënteerde uitbreidingen (klassen, methoden, interfaces) uit editie 3 van de norm. Vooral bij motion control en IIoT-koppelingen wordt veel in ST geprogrammeerd.


⏱️ Hoe realtime is de CODESYS-runtime?

De runtime voert taken cyclisch of op events uit. Het realtime gedrag hangt af van het host-besturingssysteem, CPU-prioriteiten, hypervisor-configuratie, netwerkbelasting en de gebruikte veldbus. Voor deterministische besturing gebruikt men een Linux-kernel met RT-Preempt of een RTOS, toegewezen CPU-cores, TSN of realtime Ethernet en hardware-timestamping.

Toepassing Typische cyclustijd Aandachtspunt
Servo- en multi-assige motion via EtherCAT 1-4 ms Lage jitter en latency essentieel
Machinebesturing, discrete logica 5-20 ms Taakprioriteiten correct instellen
Procesregelingen, pompen, HVAC 50-200 ms Stabiliteit belangrijker dan snelheid
Visualisatie, MQTT-publicatie 100 ms - enkele seconden In aparte, lage prioriteitstaak

Dit zijn praktijkwaarden; de haalbare cyclustijd hangt af van CPU, programmaomvang en I/O-volume.


🔌 Welke industriële protocollen ondersteunt CODESYS?

Categorie Protocollen
Industrieel Ethernet EtherCAT, ProfiNET, Ethernet IP, Modbus TCP
Klassieke veldbussen Profibus, CANopen, IO-Link
Serieel Modbus RTU over RS-232 of RS-485
IT/IIoT OPC UA server en client, MQTT, HTTPS, cloudbibliotheken voor AWS en Azure
Gebouwen BACnet, KNX (via add-ons of bibliotheken van de hardwarefabrikant)
Energie IEC 61850, DNP3 (alleen via add-ons of specifieke fabrikanten)

Veldbusconfiguratoren zitten in de IDE, maar welke protocollen beschikbaar zijn, bepaalt de fabrikant van de besturing via licenties en hardware. Voor motion worden naast EtherCAT ook SERCOS III en Powerlink gebruikt. Hierdoor kan CODESYS functioneren als integratieplatform tussen uiteenlopende OT-systemen.


⚡ Wat kan CODESYS met motion, visualisatie en edge?

  • Motion control - SoftMotion biedt positioneren, camming, gearing, interpolatie, servo-aansturing en multi-assige synchronisatie conform de PLCopen-motionfunctieblokken. Toepassingen zijn verpakkingsmachines, robotica, CNC-machines, AGV-systemen en transportsystemen.
  • Visualisatie - WebVisu levert HTML5-schermen met alarmen, trending, gebruikersbeheer en bediening op afstand. Dat bespaart externe software, maar verhoogt de runtimebelasting, vergroot het aanvalsoppervlak en schaalt slecht naar grote installaties, waar een volwaardig SCADA beter past.
  • Edge en IIoT - de runtime kan protocollen omzetten, data bufferen en via MQTT of OPC UA publiceren naar een Unified Namespace, historian, MES of cloudplatform. Zo ontstaat een hybride OT/IT-architectuur.

🏭 Welke fabrikanten en sectoren gebruiken CODESYS?

Veel bekende PLC-lijnen draaien op CODESYS of zijn ervan afgeleid: de AC500-besturingen van ABB (Automation Builder), EcoStruxure Machine Expert van Schneider Electric, TwinCAT van Beckhoff (dat historisch op CODESYS-technologie voortbouwt), en besturingen van WAGO, Festo, Eaton en Bosch Rexroth. In totaal gaat het om meer dan 400 fabrikanten en meer dan 100.000 eindgebruikers.

  • Machinebouw - OEM’s kiezen CODESYS vanwege hardware-onafhankelijkheid, snelle engineering en motion control: één codebasis voor machines met besturingen van verschillende merken.
  • Procesindustrie - batch control, pompsturing, doseersystemen en utilities, gekoppeld aan SCADA, Historian en MES.
  • Gebouwautomatisering - HVAC, verlichting, toegangscontrole en energiebeheer via BACnet, KNX of MQTT.
  • Water en energie - telemetrie, gemalen, pompstations en onderstations, vaak met compacte CODESYS-besturingen als RTU of datalogger.

🔄 Wat is het verschil tussen CODESYS, TIA Portal en Studio 5000?

Kenmerk CODESYS TIA Portal (Siemens) Studio 5000 (Rockwell Automation)
Hardware Honderden merken Alleen Siemens Alleen Allen-Bradley
Licentie IDE Gratis; runtime via hardwarefabrikant Betaalde licentie Betaalde licentie
Soft PLC / container Control Win, Linux, Virtual Control SL S7-1500 software controller Beperkt (emulatie)
Talen Alle IEC 61131-3 + CFC + OOP LAD, FBD, SCL, GRAPH, STL Ladder, FBD, ST, SFC
Sterk in Machinebouw, multi-vendor, edge Fabrieksautomatisering in Europa Noord-Amerikaanse industrie

Een CODESYS-project is daarmee draagbaarder dan een merkgebonden project, maar niet volledig: I/O-configuratie en fabrikantbibliotheken blijven apparaatspecifiek.


🧩 Kan CODESYS gevirtualiseerd of in containers draaien?

Ja. CODESYS Virtual Control SL levert de runtime als container-image op basis van een OSADL-image, te draaien met Docker of Podman op Debian, Red Hat Enterprise Linux of Yocto, op x86-64, ARM en ARM64. Voor realtime gedrag zijn een RT-Preempt-kernel (versie 6.1 of hoger), geschikte BIOS-instellingen en een systeem zonder grafische omgeving nodig; licenties lopen via een netwerklicentieserver. CODESYS Control Win kan daarnaast in een klassieke virtuele machine draaien. Dit valt onder virtualisatie van OT.

Voordelen zijn eenvoudige provisioning, snapshots, centrale uitrol, schaalbaarheid en snel herstel. Risico’s zijn realtime-degradatie, extra latency door de hypervisor, gedeelde resources en één hostfout die meerdere besturingen tegelijk raakt. Voor kritieke realtime applicaties blijft dedicated hardware vaak de beste keuze.


🔐 Hoe beveiligt u een CODESYS-systeem?

Omdat besturingen van honderden fabrikanten dezelfde runtime delen, raakt één kwetsbaarheid in CODESYS meteen al die merken tegelijk. In 2023 maakte Microsoft ruim een dozijn ernstige kwetsbaarheden in de CODESYS V3-SDK bekend (CVE-2022-47378 tot en met CVE-2022-47393), gemeld in september 2022 en opgelost in versie 3.5.19.0 (april 2023). Ze maakten denial of service en in sommige gevallen remote code execution mogelijk; de vereiste authenticatie was te omzeilen via het oudere CVE-2019-9013. Andere dreigingen zijn malware, ransomware, diefstal van inloggegevens, supply-chain-aanvallen en ongeautoriseerde wijziging van PLC-logica.

Praktische aanpak in stappen:

  1. Inventariseer alle CODESYS-apparaten en hun runtimeversie; bij merkbesturingen levert de fabrikant van de besturing de patch, alleen voor Soft PLC’s zoals Control Win of Control for Linux komt de update rechtstreeks van CODESYS.
  2. Patch via patchmanagement naar minimaal 3.5.19.0 en volg de security advisories van CODESYS en CERT@VDE.
  3. Segmenteer met netwerksegmentatie volgens IEC 62443 en blokkeer de engineeringpoorten (standaard onder meer TCP 1217 voor de gateway en TCP 11740 voor de runtime) vanaf IT-netwerken en internet.
  4. Activeer gebruikersbeheer op de runtime, versleutelde communicatie (TLS) en een wachtwoord op de WebVisu.
  5. Monitor engineeringverkeer en programmawijzigingen.
Maatregel Doel
Netwerksegmentatie Zonescheiding tussen IT en OT
Industrial Firewall Protocolfiltering op engineeringpoorten
MFA Sterke authenticatie voor remote engineering
RBAC Rechtenbeheer in runtime en IDE
Application Whitelisting Blokkeren ongewenste software op IPC’s
Logging en Security Monitoring Detectie van downloads en online changes
Hardening Ongebruikte diensten zoals WebVisu of FTP uitschakelen

Deze aanpak volgt de lijn van mitigerende maatregelen en past binnen cybersecurity voor OT. Voor fabrikanten van CODESYS-besturingen geldt de Cyber Resilience Act: vanaf 11 september 2026 moeten actief misbruikte kwetsbaarheden worden gemeld, en vanaf 11 december 2027 gelden alle eisen. Gebruikers die onder de Cyberbeveiligingswet vallen (in werking sinds 15 augustus 2026) moeten het patchen en segmenteren van deze besturingen aantoonbaar organiseren.


⚠️ Welke operationele risico’s zijn er?

Probleem Impact
Runtime crash Productiestop
Memory leak Prestatieverlies
Netwerkcongestie Timingproblemen
CPU-overbelasting Jitter en watchdog-fouten
I/O-timeout Verlies van procescontrole
Hypervisorstoring Stilstand van meerdere besturingen

Typische engineeringfouten zijn verkeerde taakprioriteiten, blokkerende code in een snelle taak, te ruime of uitgeschakelde watchdogs, race conditions tussen taken en ontbrekende foutafhandeling.


🛠️ Hoe ondersteunt CODESYS lifecycle en safety?

Voor lifecycle management biedt CODESYS online change (programma wijzigen zonder stop), bibliotheekbeheer met versies, en via de Professional Developer Edition integratie met Git of Subversion. Dat maakt versiebeheer, configuratiebeheer, CI/CD-pijplijnen en een OTAP-straat mogelijk, net als in IT-softwareontwikkeling.

Voor safety levert CODESYS gecertificeerde componenten waarmee fabrikanten een safety-PLC tot SIL 2 of SIL 3 volgens IEC 61508 bouwen, met fail-safe I/O via bijvoorbeeld FSoE of PROFIsafe. Voor de procesindustrie en machinebouw blijven IEC 61511 en ISO 13849 de toepassingsnormen binnen functionele veiligheid. Met de redundantie-add-on draaien twee besturingen als primaire en standby-runtime voor redundantie. Validatie en certificering van de totale applicatie blijven altijd de verantwoordelijkheid van de machinebouwer of eigenaar.

Belangrijke trends zijn virtuele PLC’s, containerized OT, TSN-netwerken, OPC UA PubSub en cloudgebaseerde engineering. CODESYS speelt daarmee een centrale rol in de convergentie van PLC, IPC, SCADA en edge binnen OT.


❓ Veelgestelde vragen

Is CODESYS gratis?

De CODESYS-ontwikkelomgeving is gratis te downloaden en te gebruiken. Voor de runtime betaalt u wel: bij een merkbesturing zit de licentie meestal in de hardwareprijs, bij een Soft PLC op een IPC of Raspberry Pi koopt u een runtimelicentie in de CODESYS Store. Zonder licentie draait de runtime alleen tijdelijk in demomodus.

Is CODESYS een PLC?

CODESYS is geen fysieke PLC, maar software. Het bestaat uit een programmeeromgeving en een runtime die een industriële pc, embedded controller of container laat werken als PLC. Veel hardware-PLC’s van andere merken gebruiken die runtime intern.

Wat is het verschil tussen CODESYS V2 en V3?

CODESYS V3 is een volledig nieuwe architectuur met objectgeoriënteerd programmeren, apparaatbeschrijvingen, een plug-insysteem en de CODESYS Store. V2.3-projecten moeten worden geconverteerd en zijn niet direct uitwisselbaar. Nieuwe projecten gebruiken V3.5; V2-installaties zijn legacy.

Welke PLC’s kunt u met CODESYS programmeren?

Met CODESYS programmeert u besturingen van meer dan 400 fabrikanten, waaronder ABB AC500, Schneider Electric (Machine Expert), WAGO, Festo, Eaton en Bosch Rexroth. Daarnaast draait CODESYS als Soft PLC op Windows, Linux en Raspberry Pi. Siemens S7 en Allen-Bradley-PLC’s zijn niet met CODESYS te programmeren.

Kan CODESYS in een container of virtuele machine draaien?

Ja, CODESYS Virtual Control SL draait als Docker- of Podman-container op Linux met een RT-Preempt-kernel, en CODESYS Control Win kan in een virtuele machine draaien. Voor harde realtime motion blijft dedicated hardware of zorgvuldig getunede virtualisatie nodig.

Is CODESYS veilig?

CODESYS bevat beveiligingsfuncties zoals gebruikersbeheer en versleutelde communicatie (TLS), maar heeft in het verleden ernstige kwetsbaarheden gekend, zoals de reeks V3-SDK-kwetsbaarheden die Microsoft in 2023 publiceerde. De veiligheid van een CODESYS-installatie hangt daarom af van tijdig patchen, netwerksegmentatie en het nooit direct aan internet koppelen van de runtime.


📌 Samengevat

CODESYS is het fabrikantonafhankelijke IEC 61131-3-platform waarmee u PLC’s van honderden merken, Soft PLC’s en containerbesturingen in één omgeving programmeert. Die brede inzet maakt het krachtig voor machinebouw, edge en IT/OT-convergentie, maar vraagt om strak patch- en segmentatiebeleid, omdat één kwetsbaarheid in CODESYS veel merken tegelijk raakt.