Wat is deterministisch gedrag?
Deterministisch gedrag is de eigenschap van een systeem dat bij dezelfde begintoestand en dezelfde invoer altijd dezelfde uitvoer levert, en in tijdkritische toepassingen ook altijd binnen een vooraf bekende, begrensde tijd reageert. In de industriële automatisering gaat het dus om twee dingen tegelijk: het juiste antwoord én het juiste moment. Een PLC die de juiste beslissing neemt maar soms 40 ms te laat schakelt, gedraagt zich voor een machine net zo onvoorspelbaar als een PLC die een rekenfout maakt.
🧠 Welke twee soorten determinisme bestaan er?
In de praktijk worden twee betekenissen door elkaar gebruikt. Het helpt om ze te scheiden:
| Soort | Betekenis | Voorbeeld van een schending |
|---|---|---|
| Functioneel (logisch) determinisme | Gelijke toestand + gelijke invoer geeft altijd dezelfde uitvoer | Twee taken schrijven tegelijk dezelfde variabele (race condition), waardoor de uitkomst van de volgorde afhangt |
| Temporeel determinisme | Het antwoord komt altijd binnen een bekende bovengrens (worst case) | Een netwerkframe wacht soms achter druk verkeer en komt dan milliseconden later aan |
Belangrijk: een deterministisch systeem is niet onafhankelijk van zijn toestand. Een teller, een timer of een PID-regelaar onthoudt wat er eerder gebeurde. Determinisme betekent dat die toestand plus de invoer de uitkomst volledig vastlegt, zonder toeval of onbekende invloeden van buitenaf.
Determinisme is ook iets anders dan snelheid. Een systeem met een constante reactietijd van 10 ms is deterministischer dan een systeem dat gemiddeld 1 ms nodig heeft maar soms 50 ms. Een regeling kan rekening houden met een vaste vertraging, niet met een onvoorspelbare. Daarom kijkt men in OT naar de slechtste latency en naar jitter, de variatie daarin, en niet naar het gemiddelde.
🔄 Hoe verhoudt determinisme zich tot real-time en betrouwbaarheid?
| Begrip | Vraag die het beantwoordt | Relatie met determinisme |
|---|---|---|
| Deterministisch | Is het gedrag voorspelbaar en herhaalbaar? | Het fundament |
| Real-time | Wordt de deadline gegarandeerd gehaald? | Hard real-time vereist temporeel determinisme |
| Snel | Hoe kort is de gemiddelde reactietijd? | Staat er los van; snel is niet per se voorspelbaar |
| Betrouwbaar | Hoe vaak faalt het systeem? | Staat er los van; determinisme voorkomt geen hardwarestoring, maar maakt softwarefouten wel reproduceerbaar |
| Beschikbaar | Hoeveel procent van de tijd werkt het? | Redundantie verhoogt beschikbaarheid, maar alleen deterministische failover voorkomt verstoring van het proces |
Real-time betekent niet “snel”, maar “gegarandeerd op tijd”. Bij hard real-time is een gemiste deadline een systeemfout, bij firm real-time is een te laat resultaat waardeloos en bij soft real-time neemt de waarde ervan geleidelijk af.
🏭 Waarom is deterministisch gedrag belangrijk in OT?
In kantoor-IT vangt een buffer variatie op: een webpagina die 200 ms later laadt, merkt niemand. In OT stuurt software fysieke processen aan, en daar heeft timing directe gevolgen:
| Toepassing | Typische cyclustijd | Gevolg van niet-deterministisch gedrag |
|---|---|---|
| Motion Control en motion controllers | 31,25 µs – 1 ms | Assen lopen uit de pas, trillingen, positiefouten |
| PLC-besturing | 1 – 50 ms | Vertraagde of asynchrone aansturing, verkeerde synchronisatie tussen machines |
| Procesregeling in een DCS | 100 ms – 1 s | Slechtere regelkwaliteit, doorschieten, oscillatie |
| SCADA-visualisatie | 250 – 1.000 ms | Inconsistente of vertraagde operatorinformatie |
| Systemen met Redundantie | Afhankelijk van het proces | Failover verloopt niet synchroon, het proces ervaart een stoot |
| SIS en safety PLC’s | Typisch 10 – 100 ms | Een gevaarlijke situatie wordt te laat afgevangen |
Bij veiligheidsfuncties is de reactietijd letterlijk in millimeters uit te drukken. Volgens ISO 13855 bepaalt de totale stoptijd hoe ver een lichtscherm van het gevaar moet staan. Met een aanloopsnelheid van 2.000 mm/s kost elke 10 ms extra reactietijd 20 mm extra afstand. Daarom hoort bij functionele veiligheid volgens IEC 61508 dat de vereiste reactietijd van een veiligheidsfunctie in de veiligheidseisen wordt vastgelegd en aantoonbaar wordt gehaald.
Niet-deterministisch gedrag leidt verder tot:
- Watchdog-uitval - een PLC gaat in stop als de cyclustijd de ingestelde bewakingstijd overschrijdt.
- Valse alarmen of timeouts - communicatie die af en toe te laat is, wordt als storing gezien.
- Moeilijke storingsanalyse - een fout die alleen onder piekbelasting optreedt, is lastig te reproduceren bij een root cause-analyse.
🔧 Hoe wordt deterministisch gedrag technisch bereikt?
Determinisme ontstaat in elke laag: rekenen, besturingssysteem en netwerk.
- Cyclische uitvoering - een PLC volgens IEC 61131-3 leest aan het begin van elke cyclus alle ingangen in een procesbeeld, voert het programma uit en schrijft daarna alle uitgangen. Zo werkt het programma binnen een cyclus met één consistente momentopname. Een vaste cyclustijd in plaats van een vrijlopende taak houdt de timing constant.
- Real-time besturingssysteem - een RTOS garandeert dat een taak met hoge prioriteit een lopende taak binnen begrensde tijd onderbreekt. Sinds Linux-kernel 6.12 (november 2024) zit de real-time uitbreiding PREEMPT_RT in de standaardkernel, wat soft PLC’s op Linux eenvoudiger maakt.
- Worst-case execution time (WCET) - voor kritieke taken wordt de langst mogelijke uitvoeringstijd bepaald, door meting onder belasting of door statische analyse. Caches, pipelines en gedeelde geheugens in multicore-processors maken die bovengrens moeilijker te bepalen.
- Deterministische netwerken - standaard Ethernet is best effort. Eén frame van maximale lengte bezet een 100 Mbit/s-link al ongeveer 123 µs. Een kritiek frame dat in een switch achter een rij van zulke frames staat, loopt zonder prioritering of tijdplanning vertraging op waarvoor geen vaste bovengrens bestaat.
Industriële protocollen lossen dat elk op hun eigen manier op:
| Technologie | Mechanisme | Typische prestatie |
|---|---|---|
| ProfiNET RT | Prioriteit via VLAN-tag, geen TCP/IP-stack voor cyclische data | Cycli rond 1–10 ms |
| ProfiNET IRT | Gereserveerd tijdvenster per cyclus, gesynchroniseerde klokken | Cyclus vanaf 31,25 µs, jitter onder 1 µs |
| EtherCAT | Eén frame passeert alle slaves on the fly, distributed clocks | Jitter ruim onder 1 µs, cycli van 100 µs of minder |
| TSN | IEEE 802.1AS-klokken, tijdgestuurde wachtrijen (802.1Qbv), frame preemption | Begrensde latency op standaard Ethernet, mits end-to-end geconfigureerd |
| PTP (IEEE 1588) | Gemeenschappelijke tijdbasis voor alle apparaten | Synchronisatie in het sub-microsecondebereik |
🔐 Welke IT/OT-ontwikkelingen bedreigen determinisme?
Juist bij IT/OT-convergentie komt determinisme onder druk, omdat IT-technologie op gemiddelde prestaties is ontworpen:
- Virtualisatie en containers - een hypervisor of container-host verdeelt CPU-tijd over meerdere workloads. Voor een virtuele PLC zijn vastgepinde, geïsoleerde CPU-kernen en een real-time kernel nodig.
- Gedeelde netwerken - kantoorverkeer, back-ups of video op hetzelfde netwerk vergroten wachtrijen. Netwerksegmentatie, VLAN’s en QoS beperken die invloed.
- Beveiligingsmaatregelen - een industriële firewall met diepe pakketinspectie voegt latency toe, en actieve vulnerability scans kunnen een PLC zo belasten dat de cyclus verstoord raakt. Daarom testte de ISASecure EDSA-certificering, die in 2019 opging in het CSA-programma, met communication robustness tests of een apparaat zijn essentiële functies behoudt onder foutief en overvloedig netwerkverkeer.
- Draadloos - Wifi heeft grotere variatie in vertraging dan bekabeling; 5G URLLC belooft 1 ms bij 99,999% betrouwbaarheid als doelwaarde, niet als garantie voor elk netwerk.
- AI-modellen - een AI-model dat bij dezelfde vraag verschillende antwoorden geeft, is functioneel niet-deterministisch. Laat zulke toepassingen adviseren, en houd de deterministische besturing zelf in de PLC.
🧭 Hoe toetst u deterministisch gedrag in de praktijk?
- Leg de eis vast - per functie de maximale reactietijd en toegestane jitter, afgeleid van het proces en de veiligheidsanalyse.
- Kies de juiste laag - motion en synchronisatie in EtherCAT, ProfiNET IRT of TSN; besturing in cyclische PLC-taken; supervisie in SCADA.
- Ontwerp met marge - houd de gemeten uitvoeringstijd ruim onder de ingestelde cyclustijd, zodat uitbreidingen en piekbelasting niet direct tot watchdog-uitval leiden.
- Meet de slechtste waarde - registreer cyclustijd, maximale cyclustijd en jitter onder volle belasting tijdens de FAT, niet alleen in rust.
- Test verstoringen - simuleer netwerkpieken, kabelbreuk en failover van redundante componenten.
- Bewaak in bedrijf - volg cyclustijdstatistieken en netwerkdiagnose zodat sluipende verslechtering, bijvoorbeeld na een softwarewijziging, vroeg zichtbaar wordt.
❓ Veelgestelde vragen
Wat betekent deterministisch in de automatisering?
Deterministisch betekent in de automatisering dat een besturing bij dezelfde toestand en invoer altijd dezelfde actie uitvoert, en dat binnen een gegarandeerde maximale tijd. Het gaat dus om voorspelbare uitkomst én voorspelbare timing. Zonder dat kan een machine niet veilig en reproduceerbaar draaien.
Is standaard Ethernet deterministisch?
Standaard Ethernet is niet deterministisch, omdat frames in switches kunnen wachten achter ander verkeer zonder vaste bovengrens voor die vertraging. Meer bandbreedte verkleint de wachttijd, maar geeft geen garantie. Industriële protocollen als ProfiNET IRT, EtherCAT en TSN voegen daarom tijdsynchronisatie en geplande tijdvensters toe.
Wat is het verschil tussen deterministisch en real-time?
Deterministisch gedrag betekent dat uitkomst en timing voorspelbaar zijn, real-time betekent dat een deadline gegarandeerd wordt gehaald. Hard real-time is alleen mogelijk met temporeel determinisme, maar een deterministisch systeem kan ook een lange, voorspelbare reactietijd hebben. Real-time gaat dus over de deadline, determinisme over de voorspelbaarheid.
Waarom is jitter belangrijk voor deterministisch gedrag?
Jitter is de variatie in vertraging en daarmee een directe maat voor hoe deterministisch een systeem zich in de tijd gedraagt. Een constante vertraging kan een regelaar compenseren, een wisselende niet. Voor motion control is jitter onder 1 µs gebruikelijk, voor procesregeling zijn enkele milliseconden vaak acceptabel.
Kan een virtuele PLC deterministisch zijn?
Een virtuele of soft PLC kan deterministisch werken als de onderliggende computer daarvoor is ingericht, met een real-time kernel, vastgepinde en geïsoleerde CPU-kernen en een deterministisch veldnetwerk. Zonder die maatregelen deelt de PLC rekentijd met andere workloads en wordt de cyclustijd onvoorspelbaar. Voor snelle motion control blijft dedicated hardware daarom gangbaar.
Hoe meet u of een systeem deterministisch is?
Deterministisch gedrag meet u door de maximale cyclustijd, de reactietijd en de jitter te registreren onder realistische piekbelasting en bij storingen, niet alleen het gemiddelde in rust. PLC’s tonen hiervoor cyclustijdstatistieken en netwerken hebben diagnosefuncties. De gemeten slechtste waarde moet ruim binnen de eis van het proces blijven.
📌 Samengevat
Deterministisch gedrag betekent dat een systeem bij dezelfde toestand en invoer altijd hetzelfde doet, en altijd binnen een bekende maximale tijd. Voor OT is het een fundamentele eis, geen luxe. Cyclische PLC-taken, een RTOS, deterministische netwerken zoals EtherCAT, ProfiNET IRT en TSN, gedeelde tijd via PTP en scheiding van IT-verkeer zorgen samen voor voorspelbare, veilige industriële automatisering, ook nu IT-technologie de fabriek binnenkomt.
