Wat is IEC 61131?

IEC 61131 is de internationale normenreeks van de International Electrotechnical Commission (IEC) voor programmeerbare besturingen, die de hardware-eisen, programmeertalen, het softwaremodel en de communicatie van PLC’s vastlegt. Het bekendste deel is IEC 61131-3, dat de programmeertalen definieert waarin vrijwel alle PLC-software ter wereld wordt geschreven, van een transportband in een distributiecentrum tot de pompbesturing van een rioolgemaal. De norm vormt daarmee de technische basis van industriële automatisering in productie, energie, water en gebouwautomatisering.

Vóór IEC 61131 had elke leverancier zijn eigen taal en programmeerstijl. De norm introduceerde uniforme talen, gestandaardiseerde datatypes en modulaire bouwstenen, waardoor engineers kennis en code makkelijker kunnen hergebruiken en onderhouden. Dat maakt IEC 61131 ook een sleutelnorm voor de convergentie tussen IT en OT.


🧠 Uit welke delen bestaat IEC 61131?

De reeks telt tien delen. Voor de dagelijkse praktijk van engineers is deel 3 verreweg het belangrijkst; deel 9 is beter bekend als IO-Link.

Deel Onderwerp Toelichting
IEC 61131-1 Algemene informatie Definities en functionele kenmerken van een PLC
IEC 61131-2 Apparatuureisen en testen Elektrische, mechanische en klimatologische eisen aan PLC-hardware en O
IEC 61131-3 Programmeertalen Talen, datatypes, programma-eenheden en softwaremodel
IEC 61131-4 Richtlijnen voor gebruikers Technisch rapport over selectie en toepassing
IEC 61131-5 Communicatie Communicatiefuncties tussen PLC’s en andere systemen
IEC 61131-6 Functionele veiligheid Eisen aan PLC’s als onderdeel van een veiligheidsfunctie
IEC 61131-7 Fuzzy control-programmering Taalelementen voor fuzzy logic
IEC 61131-8 Richtlijnen voor toepassing van de talen Technisch rapport met uitleg bij deel 3
IEC 61131-9 Single-drop digitale communicatie (SDCI) Puntverbinding naar sensoren en actuatoren, bekend als IO-Link
IEC 61131-10 PLCopen XML-uitwisselformaat Uitwisseling van projecten tussen engineeringtools

🕰️ Hoe heeft IEC 61131-3 zich ontwikkeld?

De norm verscheen oorspronkelijk als IEC 1131; bij de omnummering van IEC-normen kreeg hij het voorvoegsel 6. Deel 3 is sindsdien vier keer uitgebracht:

Jaar Gebeurtenis
1992 Oprichting van PLCopen, een onafhankelijke vereniging met hoofdkantoor in Nederland die de norm promoot en uitbreidt
1993 Eerste editie van IEC 61131-3 (december) met vijf talen: LD, FBD, ST, IL en SFC
2003 Tweede editie met verfijningen en extra datatypes
2013 Derde editie: objectgeoriënteerde uitbreidingen (klassen, methoden, interfaces), namespaces en referenties; Instruction List wordt verouderd verklaard
2019 Het PLCopen XML-formaat wordt als IEC 61131-10 een internationale norm
2025 Vierde editie (mei): Instruction List verdwijnt, UTF-8-tekst (USTRING en UCHAR) wordt ondersteund

Een overzicht van wat er per editie is toegevoegd, geschrapt of verouderd verklaard staat in bijlage B van de editie uit 2025.


🔧 Welke programmeertalen kent IEC 61131-3?

Sinds de editie van 2025 kent IEC 61131-3 vier talen: drie grafische en één tekstuele. Engineers combineren ze vaak binnen één project, bijvoorbeeld SFC voor de stappenvolgorde, LD voor de interlocks en ST voor berekeningen.

Taal Vorm Sterk in Typische toepassing
Ladder Diagram (LD) Grafisch, op basis van relaislogica Discrete signalen, herkenbaar voor elektrotechnici Motorbesturing, interlocks, start/stop-logica
Function Block Diagram (FBD) Grafisch, blokken met signaalstromen Continue processen en regeltechniek PID-regelingen, HVAC, waterzuivering
Structured Text (ST) Tekstueel, verwant aan Pascal Berekeningen, lussen, datastructuren, schaalbaarheid Motion control, recepten, data-afhandeling
Sequential Function Chart (SFC) Grafisch, stappen en transities Volgordes en parallelle takken Batchprocessen volgens ISA-88, CIP-reiniging, verpakkingslijnen
Instruction List (IL) Tekstueel, assembler-achtig Compacte code op oude hardware Verouderd sinds 2013, geschrapt in 2025

Strikt genomen beschrijft de norm SFC als een set elementen om programma’s en function blocks te structureren; de acties en transities in een SFC worden zelf in een van de andere talen geschreven. Een eenvoudig voorbeeld in Structured Text:

IF Temperatuur > 80.0 THEN
    Alarm := TRUE;
END_IF;

Veel leveranciers ondersteunen IL nog voor bestaande projecten, maar voor nieuwe code is ST de logische vervanger.


🏭 Hoe is het softwaremodel van IEC 61131-3 opgebouwd?

Naast de talen legt IEC 61131-3 de architectuur van de software vast: hoe programma’s op een besturing worden georganiseerd en uitgevoerd.

Element Functie
Configuration Het complete systeem: resources, globale variabelen en toegangspaden
Resource Een verwerkingseenheid, vergelijkbaar met een CPU
Task Bepaalt wanneer code draait: cyclisch, op een tijdinterval of bij een gebeurtenis
Program De applicatielogica die aan een task wordt gekoppeld
Function Block Herbruikbare bouwsteen met eigen geheugen (instantie), zoals timer TON of teller CTU
Function Bouwsteen zonder geheugen, zoals ADD of SQRT: dezelfde invoer geeft altijd dezelfde uitvoer

Programs, function blocks en functions heten samen program organisation units (POU’s). De norm definieert ook sterk getypeerde datatypes, van BOOL en INT tot REAL, TIME, STRING en zelfgedefinieerde structuren en arrays.

Een PLC voert zijn programma uit in een cyclische scan: ingangen inlezen, logica uitvoeren, uitgangen schrijven en communicatie en diagnose afhandelen. Dat geeft deterministisch gedrag binnen realtime grenzen. Indicatieve cyclustijden:

Toepassing Typische cyclustijd
Motion control Onder 1 ms tot enkele ms
Machinebesturing 1 tot 20 ms
Procesautomatisering 50 tot 500 ms
Toezichtlogica richting SCADA 100 tot 1.000 ms

Bij een Soft PLC of een runtime op basis van virtualisatie onder Linux of een hypervisor worden latency en jitter belangrijker, omdat het besturingssysteem de timing mede bepaalt.


🔄 Waarom verschilt IEC 61131 per leverancier?

IEC 61131-3 laat bewust ruimte voor implementatiekeuzes. Leveranciers kiezen welke talen en functies ze ondersteunen en voegen eigen uitbreidingen toe:

Leverancier Engineeringomgeving
Siemens TIA Portal
Rockwell Automation Studio 5000
Beckhoff TwinCAT 3 (gebaseerd op CODESYS)
Schneider Electric EcoStruxure Control Expert
Omron Sysmac Studio
Phoenix Contact PLCnext Engineer
CODESYS Group CODESYS, gebruikt door honderden hardwarefabrikanten

Verschillen zitten in datatype-uitbreidingen, task scheduling, bibliotheken, debugfuncties en de integratie van motion en safety. Een programma overzetten tussen platformen vraagt daarom vrijwel altijd handwerk. PLCopen verkleint die kloof met het XML-uitwisselformaat (IEC 61131-10), gestandaardiseerde motion-functieblokken en certificering van tools.


🌐 Hoe communiceert een IEC 61131-besturing met IT en netwerken?

De PLC staat midden in het communicatienetwerk van een installatie. Veelgebruikte protocollen zijn ProfiNET, IP, EtherCAT en Modbus TCP op industrial ethernet, en Profibus als oudere veldbus. Voor koppeling met hogere lagen zoals historians, MES en ERP wordt steeds vaker OPC UA gebruikt; PLCopen en de OPC Foundation hebben samen het softwaremodel van IEC 61131-3 op het OPC UA-informatiemodel afgebeeld. Voor Industrie 4.0-toepassingen publiceren PLC’s data ook via MQTT naar edge- en cloudplatformen. Elke extra koppeling vergroot de afhankelijkheid tussen IT en OT, en daarmee het aanvalsoppervlak.


🏗️ Waar wordt IEC 61131 toegepast?

IEC 61131-besturingen zitten in vrijwel elke sector:

  • Productie - transportbanden, verpakkingsmachines, aandrijvingen, robotcellen en vision-inspectie, met data die steeds vaker naar AI-toepassingen gaat
  • Water - pompen, kleppen, niveauregeling en chloordosering in zuiveringen en gemalen
  • Energie - schakelinstallaties, turbine- en generatorbesturing en koeling in datacenters
  • Gebouwen - klimaatinstallaties en energiebeheer, gekoppeld aan BACnet of KNX

🔐 Hoe beveiligt u IEC 61131-programma’s?

IEC 61131 zelf bevat vrijwel geen cybersecurity-mechanismen: de norm stamt uit een tijd waarin besturingsnetwerken geïsoleerd waren. Stuxnet liet in 2010 zien wat dat betekent: de worm verving op het engineeringstation een communicatiebibliotheek van Siemens Step 7, plaatste eigen code in de organisatieblokken OB1 en OB35 van S7-315-besturingen en verborg die voor de engineer die het programma uitlas.

Typische risico’s zijn ongeautoriseerde programmawijzigingen, malware op engineeringstations, gemanipuleerde bibliotheken en oudere PLC’s zonder authenticatie, encryptie of secure boot. Effectieve maatregelen:

  • Netwerksegmentatie - PLC’s en engineeringstations in eigen zones volgens IEC 62443
  • Toegangsbeheer - RBAC, wachtwoordbeveiliging van projecten en CPU, en beveiligde remote access
  • Integriteit van code - code signing, versiebeheer en whitelisting op engineeringstations
  • Bedrijfsmodus - de sleutelschakelaar of software-instelling in RUN of read-only laten staan buiten onderhoud
  • Secure coding - de Top 20 Secure PLC Coding Practices uit 2021 beschrijven hoe u in de PLC-code zelf plausibiliteitscontroles, bewaking van cyclustijd en validatie van HMI-invoer inbouwt
  • Wijzigingsbeheer - elke download vastleggen in een audit trail, met offline back-ups

🛡️ Hoe verhoudt IEC 61131 zich tot functionele veiligheid?

IEC 61131-6 beschrijft de eisen aan een PLC die onderdeel is van een veiligheidsfunctie en verwijst daarvoor naar IEC 61508. In de praktijk wordt een safety-PLC geprogrammeerd met een beperkte, gecertificeerde subset van de talen, meestal FBD of LD met gecertificeerde safety-functieblokken. Sectornormen zoals IEC 61511 voor de procesindustrie en ISO 13849 en IEC 62061 voor machines stellen aanvullende eisen aan verificatie, validatie, redundantie, fail-safe gedrag en lifecycle management. Lees voor de samenhang ook Functional Safety en Safety.


🧭 Hoe pakt u een IEC 61131-project gestructureerd aan?

Grote installaties met honderden pompen en kleppen blijven alleen onderhoudbaar met een vaste werkwijze:

  1. Bouw een bibliotheek - standaard function blocks per objecttype (pomp, klep, motor, analoge meting) met vaste interfaces voor bediening, alarmering en diagnose
  2. Kies per probleem de taal - SFC voor volgordes, ST voor algoritmes, LD of FBD voor logica die monteurs moeten kunnen lezen
  3. Leg naamgeving en structuur vast - een coding guideline, bijvoorbeeld afgeleid van de PLCopen-richtlijnen, met afspraken over tags, commentaar en taakindeling
  4. Beheer versies - projecten in versiebeheer, met vergelijking van online en offline code vóór elke download
  5. Test vóór inbedrijfname - simulatie of een soft-PLC voor unittests en een FAT met procesmodel
  6. Borg beveiliging - segmentatie, hardening en wijzigingsbeheer zoals hierboven, passend bij de eisen uit IEC 62443

Voor Nederlandse organisaties is dit extra relevant: veel installaties in kritieke infrastructuur draaien op IEC 61131-besturingen, en aantoonbaar beheer van PLC-software hoort bij de zorgplicht van essentiële en belangrijke entiteiten onder de Cyberbeveiligingswet, die op 15 augustus 2026 in werking trad.


⚠️ Wat zijn de beperkingen van IEC 61131?

  • Beperkte portabiliteit - leveranciersextensies maken overzetten tussen platformen moeizaam
  • Achterstand in software engineering - unittests, package management en versiebeheer zijn geen onderdeel van de norm en hangen af van de tooling
  • Geen security-by-design - beveiliging moet van buitenaf worden toegevoegd
  • Centraal en cyclisch model - gedistribueerde, gebeurtenisgestuurde besturing past minder goed; daarvoor is IEC 61499 ontworpen

📚 Hoe verhoudt IEC 61131 zich tot andere standaarden?

Norm Relatie met IEC 61131
IEC 61499 Gedistribueerde, gebeurtenisgestuurde functieblokken; hergebruikt datatypes en ST uit 61131-3
ISA-88 Batchmodel dat vaak met SFC en function blocks wordt geïmplementeerd
ISA-95 Integratie van besturing met MES en ERP
IEC 62443 Beveiliging van de besturing en de engineeringomgeving
IEC 61508 Functionele veiligheid van programmeerbare systemen
OPC UA Gestandaardiseerde informatie-uitwisseling met PLC-programma’s

Samen met DCS- en SCADA-systemen vormen deze normen de bouwstenen van een moderne OT-architectuur.


❓ Veelgestelde vragen

Wat is het verschil tussen IEC 61131 en IEC 61131-3?

IEC 61131 is de volledige normenreeks voor programmeerbare besturingen, met tien delen over onder meer hardware, communicatie en veiligheid. IEC 61131-3 is het deel dat de programmeertalen en het softwaremodel vastlegt. Als engineers over “de norm” praten, bedoelen ze meestal IEC 61131-3.

Hoeveel programmeertalen kent IEC 61131-3?

IEC 61131-3 kent sinds de vierde editie uit mei 2025 vier talen: Ladder Diagram, Function Block Diagram, Sequential Function Chart en Structured Text. Instruction List was in 2013 al verouderd verklaard en is in 2025 geschrapt. Leveranciers ondersteunen IL vaak nog voor bestaande projecten.

Is IEC 61131-code uitwisselbaar tussen PLC-merken?

IEC 61131-code is slechts beperkt uitwisselbaar, omdat leveranciers eigen extensies, bibliotheken en task-modellen gebruiken. Het PLCopen XML-formaat uit IEC 61131-10 maakt uitwisseling van projectstructuren eenvoudiger, maar handwerk blijft vrijwel altijd nodig. Platformen op basis van CODESYS zijn onderling het best uitwisselbaar.

Welke IEC 61131-taal kunt u het beste leren?

Voor nieuwe projecten is Structured Text de meest veelzijdige IEC 61131-3-taal, omdat die geschikt is voor berekeningen, datastructuren en objectgeoriënteerd programmeren. Ladder Diagram blijft belangrijk voor storingszoekers en discrete machinebesturing. In de praktijk combineren de meeste projecten twee of drie talen.

Wat is het verschil tussen IEC 61131 en IEC 61499?

IEC 61131-3 beschrijft cyclisch uitgevoerde programma’s op één besturing, terwijl IEC 61499 gebeurtenisgestuurde functieblokken beschrijft die over meerdere apparaten verdeeld kunnen worden. IEC 61499 bouwt voort op de datatypes en Structured Text van IEC 61131-3. De twee normen bestaan naast elkaar en vervangen elkaar niet.

Bevat IEC 61131 eisen voor cybersecurity?

IEC 61131 bevat vrijwel geen cybersecurity-eisen; die staan in IEC 62443. Beveiliging van PLC-software komt daarom uit netwerksegmentatie, toegangsbeheer, versiebeheer en secure coding. Stuxnet toonde in 2010 aan dat manipulatie van PLC-logica via het engineeringstation een reëel risico is.


📌 Samengevat

IEC 61131 is de internationale normenreeks voor programmeerbare besturingen, en deel 3 legt de programmeertalen en het softwaremodel vast waarmee vrijwel alle PLC’s worden geprogrammeerd. Met de vierde editie uit 2025 telt IEC 61131-3 vier talen; omdat de norm geen beveiliging bevat, vraagt PLC-software aanvullende maatregelen volgens IEC 62443.