Waterschap Brabantse Delta · R&D-lab · research-artifact
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.
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.
OAuth2-token → historian-query per tag (5-min gemiddelde)
parse laatste waarde, converteer eenheden, bouw measurement-command
niveau / debiet / druk / pomptoerental naar hun nodes gevoed
pumpingStation + MGC + pompen rekenen & loggen naar InfluxDB
| Twin-input | z-info tag (ZRG00033) | Grootheid | Conversie |
|---|---|---|---|
| LT1 niveau | …-C251-01-LT001.Value_Act | niveau natte put | mNAP → m boven bodem (+5.05) |
| FT1 debiet | …-C357-01-FT001.Value_Act | stationsdebiet | m³/h (direct) |
| PT1 druk | …-C357-01-PT001.Value_Act | druk persheader | bar → mbar (×1000) |
| SPD1 toerental | …-C186-01-P100…Toerental_Act | astoerental pomp 1 | rpm → rad/s |
| SPD2 toerental | …-C186-02-P200…Toerental_Act | astoerental pomp 2 | rpm → 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.
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:
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.
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.
| Draaiende pompen | klopt |
| Welke pomp leidt | klopt |
| Standby gedetecteerd | klopt |
Echt: P100 draait, P200 gestopt (2 rpm). Twin: lead PU1 draait, PU2 = 0 debiet.
Zelfde populatie (één pomp). +7.5% — een echte match, niet de eerdere 2×-overtelling.
| Grootheid | Echt (z-info) | Twin | Overeenkomst |
|---|---|---|---|
| Draaiende pompen | 1 | 1 | klopt |
| Niveau natte put | 1.39 m | 1.43 m | live gevoed |
| Headerdruk | 1.39 bar | 1390 mbar | live gevoed |
| Debiet (regeling%-gedreven) | 264 m³/h | 284 m³/h | +7.5% |
| Pompvermogen | 16.6–19.2 kW | 5.8–14.3 kW | zie noot |
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.
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:
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:
| Toerental (rpm) | Opvoerhoogte (bar) | Debiet (m³/h) | Vermogen (kW) |
|---|---|---|---|
| 1053 | 1.77 | ≈365 | 28.6 |
| 920 | 1.39 | 264 | 19.2 |
| 867 | 1.39 | 237 | 16.6 |
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.
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.