Waterschap Brabantse Delta · R&D-lab · research-artifact

Klundert digital twin — live z-info-feed & realiteitstoets

R&D-lab datum 2026-06-28 versie 1.1 gereviewd
De EVOLV digital twin van rioolgemaal Klundert (ZRG00033) is voor het eerst gevoed met een live 5-minuten z-info-historianfeed en zij-aan-zij gevalideerd tegen de echte installatie — de generale repetitie voordat de edge-node erin gaat met een read-only OPC-UA-koppeling naar de PLC. Structureel gedrag (welke pomp draait, wie leidt, standby-detectie) komt overeen; de grootste winst kwam uit een nieuwe duty-rotatieregeling die een 2×-overtelling van het debiet corrigeerde. De test legde ook één concreet modelgat bloot in de pompcurve bij deeltoerental.

Aanleiding & vraag

Doel van deze stap: aantonen dat de twin gevoed kan worden met echte installatiemetingen en dat zijn assetmodellen zich gedragen zoals het echte station — voordat we hem op de edge vertrouwen. Dit artifact legt vast wat is aangesloten, hoe goed de twin nu overeenkomt met de realiteit, en het ene modelgat dat de test blootlegde.

Gemaal Klundert · pilot · edge-twin-voorbereiding
De EVOLV digital twin van rioolgemaal Klundert (ZRG00033, RWZI Bath), gevoed door een live 5-minuten z-info historian-poll op flow.wbd-rd.nl,[1] en gevalideerd tegen de echte installatie.

Data & methode

Hoe de data binnenkomt

Een nieuwe Z-info Klundert flow pollt elke 5 minuten de z-info-webservice (WSR, OAuth2) en duwt elke meting als measurement-command naar het bijbehorende twin-asset.[1] Credentials staan in de container-omgeving — nooit in de flow.

z-info WSR

OAuth2-token → historian-query per tag (5-min gemiddelde)

Node-RED poll

parse laatste waarde, converteer eenheden, bouw measurement-command

Twin-assets

niveau / debiet / druk / pomptoerental naar hun nodes gevoed

Voorspel

pumpingStation + MGC + pompen rekenen & loggen naar InfluxDB

Koppeling tussen twin-inputs en de onderliggende z-info-tags van ZRG00033, met de toegepaste eenheidsconversie.
Twin-inputz-info tag (ZRG00033)GrootheidConversie
LT1 niveau…-C251-01-LT001.Value_Actniveau natte putmNAP → m boven bodem (+5.05)
FT1 debiet…-C357-01-FT001.Value_Actstationsdebietm³/h (direct)
PT1 druk…-C357-01-PT001.Value_Actdruk persheaderbar → mbar (×1000)
SPD1 toerental…-C186-01-P100…Toerental_Actastoerental pomp 1rpm → rad/s
SPD2 toerental…-C186-02-P200…Toerental_Actastoerental pomp 2rpm → rad/s

De headerdruk-transmitter (PT001) zat niet in het register van gekoppelde metingen van z-info — hij is gevonden in de volledige historian-taginventaris, op hetzelfde device als de debietmeter. Een rioolgemaal publiceert verder alleen niveau, debiet en energie.

Nieuwe regeloptie: duty-rotatie

De machine-group controller (MGC) had alleen optimalControl, priorityControl en maintenance — geen daarvan wisselt pompen af. Echte natte-putstations draaien één pomp per cyclus en wisselen af om slijtage te verdelen. Daarom is een nieuwe modus toegevoegd aan de EVOLV node-library:

rotationControl

Pompen draaien in een prioriteitsvolgorde waarvan de lead telkens één opschuift wanneer de stationsvraag terugkeert naar nul (round-robin). Pompen schalen nog steeds op om aan de vraag te voldoen, lead-first — dus wanneer één pomp het debiet dekt, draait alleen de roterende lead. De MGC publiceert rotationIndex, leadMachine en rotationsCompleted voor slijtage-tracking.

Uitgerold via de beveiligde repos met volledige CI (lint + tests + secret-scan) en gemerged: generalFunctions #18, machineGroupControl #14, EVOLV #87.[2] De Klundert-twin draait nu in deze modus.

aanname Alle cijfers in dit artifact zijn live uitlezingen waargenomen tijdens één validatiesessie (28 juni 2026); het zijn geen langjarige gemiddelden en de spreiding over andere bedrijfscondities is niet los gemeten.

Resultaten

Komt de twin overeen met de realiteit?

Live snapshot, beide kanten op hetzelfde moment uitgelezen.[1] De grootste winst: onder het oude optimalControl draaide de twin beide pompen (≈668 m³/h) tegen een echte ≈270; rotatieregeling corrigeerde dat naar een match met één pomp.

Structureel gedrag
Draaiende pompenklopt
Welke pomp leidtklopt
Standby gedetecteerdklopt

Echt: P100 draait, P200 gestopt (2 rpm). Twin: lead PU1 draait, PU2 = 0 debiet.

Debiet — lead-pomp vs gemeten
Echt FT001
264
Twin (regeling%)
284

Zelfde populatie (één pomp). +7.5% — een echte match, niet de eerdere 2×-overtelling.

Overeenkomst tussen live z-info-metingen en de twin-voorspelling, per grootheid, tijdens dezelfde validatiesessie.
GrootheidEcht (z-info)TwinOvereenkomst
Draaiende pompen11klopt
Niveau natte put1.39 m1.43 mlive gevoed
Headerdruk1.39 bar1390 mbarlive gevoed
Debiet (regeling%-gedreven)264 m³/h284 m³/h+7.5%
Pompvermogen16.6–19.2 kW5.8–14.3 kWzie noot

Vermogen is geen één-op-één getal

De twin rapporteert curve- / asvermogen; z-info rapporteert het elektrische ingangsvermogen van de motor. 14.3 kW as ÷ ~0.74 motor+VFD-rendement ≈ 19 kW elektrisch — dus de twee zijn consistent; de twin modelleert de aandrijfverliezen alleen nog niet. Geen modelfout.

Wat het voeden van het echte pomptoerental blootlegde

De pompen zijn VFD-aangedreven (echt toerental schommelt 867–1053 rpm met de vraag mee). Elke pomp zijn echte astoerental voeden laat zijn affiniteitscurve het debiet op het werkelijke werkpunt voorspellen — dezelfde vorm waarin de edge-twin zal draaien. Dat onthulde een gat dat het nu waard is om te vangen:

Debiet uit echt toerental (P100 @ 867 rpm, 1.39 bar)
Echt FT001
237
Twin (toerental)
111

Kernbevinding — de Hidrostal-curve moet tegen echte data gekalibreerd worden

Aangedreven door het echte gereduceerde toerental en de headerdruk voorspelt het catalogus-affiniteitsmodel Hidrostal H05K ≈111 m³/h waar de installatie ≈237 levert. (Geverifieerd dat dit geen eenheidsfout is — het gemeten rad/s-pad klopt.) Ofwel de referentie van de curve, ofwel de referentie van de differentiële opvoerhoogte (persmeter vs pomp-ΔP over de natte put), zit ernaast bij deeltoerental. De pompcurve moet tegen echte (toerental, opvoerhoogte, debiet, vermogen) data worden gekarakteriseerd voordat de debietvoorspelling van de edge-twin vertrouwd kan worden — precies zoals de KSB Calio eerder is doorgemeten. ✓ Nu gedaan & uitgerold: een gemeten curve per asset is gefit (out-of-sample MAPE ≈2.5%) en weggeschreven naar de FROST Thing van de pomp; de node voorspelt erop terwijl de datasheet-curve behouden blijft voor gap-vs-theory. Volledige analyse → karakterisering echt-vs-catalogus-curve[3].

Het goede nieuws: de live feed levert ons al de kalibratie-ankerpunten. Een paar echte werkpunten van vandaag geoogst:

Echte werkpunten (toerental, opvoerhoogte, debiet, vermogen) geoogst uit de live z-info-feed tijdens de validatiesessie — de kalibratie-ankerpunten voor de pompcurve.
Toerental (rpm)Opvoerhoogte (bar)Debiet (m³/h)Vermogen (kW)
10531.77≈36528.6
9201.3926419.2
8671.3923716.6

Discussie & beperkingen

De weg naar de edge

Deze pilot draait in de cloud tegen z-info. De edge-uitrol vervangt de databron door een read-only OPC-UA-koppeling rechtstreeks naar de PLC — de twin blijft een spiegel (hij leest metingen en voorspelt; hij regelt niet). De feed-and-predict-architectuur die hier is gevalideerd is dezelfde die de edge zal gebruiken.

  1. Kalibreer de Hidrostal H05K-curve uit de echte toerental-/opvoerhoogte-/debiet-/vermogensdata die de feed nu verzamelt, zodat de debietvoorspelling bij deeltoerental overeenkomt met de installatie.
  2. Voer de draaistatus per pomp (P100/P200 in-bedrijf) zodat de actieve set en rotatie van de twin de echte afwisseling exact volgen in plaats van die alleen af te leiden.
  3. Voeg motor-/aandrijfrendement toe aan het vermogensmodel zodat het voorspelde vermogen direct vergelijkbaar is met de gemeten elektrische kW.
  4. Wissel z-info → read-only OPC-UA op de OnLogic edge-node, dezelfde measurement-mapping, zodra de bovenstaande controles slagen.

Waar het staat

Deze validatie beperkt zich tot één moment-opname per bedrijfstoestand; de volgende stap is de kalibratie en het vermogensmodel ijken over een langere periode en meerdere belastingpunten, in lijn met de stappen hierboven.

Bronnen

  1. Z-info historian (WSR), live 5-minuten poll van rioolgemaal Klundert (ZRG00033, RWZI Bath) via flow.wbd-rd.nl. gemeten 2026-06-28
  2. EVOLV-stack repo's, rotationControl-implementatie: generalFunctions #18, machineGroupControl #14, EVOLV #87 (build edc1b8e). gemerged 2026-06-28
  3. WBD R&D, karakterisering echt-vs-catalogus-pompcurve Hidrostal H05K. link ↗ geraadpleegd 2026-06-28
Data-vintage Live z-info-uitlezing 2026-06-28, momentopname tijdens validatiesessie
Methode zij-aan-zij vergelijking live z-info-meting vs twin-voorspelling, per grootheid en werkpunt
Code & reproduceerbaarheid in dit bestand (view-source); twin-host flow.wbd-rd.nl, stack EVOLV edc1b8e
Contact R&D-lab · lab.wbd-rd.nl