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:
- Bouw een bibliotheek - standaard function blocks per objecttype (pomp, klep, motor, analoge meting) met vaste interfaces voor bediening, alarmering en diagnose
- Kies per probleem de taal - SFC voor volgordes, ST voor algoritmes, LD of FBD voor logica die monteurs moeten kunnen lezen
- Leg naamgeving en structuur vast - een coding guideline, bijvoorbeeld afgeleid van de PLCopen-richtlijnen, met afspraken over tags, commentaar en taakindeling
- Beheer versies - projecten in versiebeheer, met vergelijking van online en offline code vóór elke download
- Test vóór inbedrijfname - simulatie of een soft-PLC voor unittests en een FAT met procesmodel
- 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.
