De klant stuurt een screenshot van de SIMATIC Diagnostics-buffer: "PROFINET IO: communication error 16#80B1, slot 3 module 2". De PLC herstelt na 200 ms, de cyclus haalt het net, maar de prediction-time-getallen verslechteren en de OEE is met 4 % gedaald ten opzichte van de vorige maand. Wat is er mis?
Het antwoord dat hij van de meeste integratoren krijgt: "PLC-firmware checken, eventueel IO-module vervangen." Dit is een strategie om 3 weken en € 4 000 aan servicedeklaring te verliezen zonder de oorzaak te vinden. Echte Profinet-diagnostiek doe je niet in TIA Portal — die doe je in Wireshark, in de topology view (LLDP) en in switch-management. Dit artikel is een playbook om in 2–4 uur de oorzaak te vinden in plaats van 2–3 weken.
Vier lagen waar de fout zich kan verstoppen
Bij Profinet RT-problemen zit 95 % van de fouten in een van deze lagen:
1. **Fysieke laag** — kabel, connector, shield, EMC-interferentie, segmentlengte 2. **Switch / topology layer** — QoS, prioriteit, poortconfiguratie, conformance class 3. **Device layer** — IO-module, firmware-versie, device name, IP-configuratie 4. **Protocol layer** — RT class (1 / 2 / 3), update time, watchdog, GSDML-mismatch
De klant kijkt alleen naar 3 en 4 — TIA Portal vertelt wat de PLC ziet. Echte diagnostiek begint bij 1 en 2.
Stap 1 — Wireshark-capture op het Profinet-segment
Zonder Wireshark-capture is gokken zinloos. Setup:
- **TAP (Test Access Point)** tussen PLC en switch (Profitap ProfiShark 1G, Allegro Network NA10G, Garland Tech P1GMS) — passieve tap, gebruik nooit een mirror port op een productie-switch; de jitter wordt vertekend
- **Tweede keuze:** geen TAP? Dan port mirror op een managed switch (Cisco IE-4000, Hirschmann RSP, Siemens SCALANCE XR-528) — werkt voor packet content-analyse, **werkt niet** voor nauwkeurige jitter-analyse
- Wireshark 4.4+ met **Profinet-dissector** (ingebouwd vanaf versie 3.0)
- Capture filter: `vlan and eth.type == 0x8892` (Profinet EtherType) of een volledige capture met dissect achteraf
Wat te meten in Wireshark:
A) Cycle time consistency
Profinet IO RT heeft typisch een update time van 4 ms (default), 8 ms of 16 ms. Vang 60 seconden communicatie tussen PLC en problematische device op. In Wireshark: `Statistics → I/O Graphs`, filter `pn_rt && ip.src == <PLC IP> && ip.dst == <device IP>`. Verwacht interval tussen pakketten = update time ± 100 μs jitter.
Reëel voorbeeld van een lijn uit 2026-03 (klant in SK — automotive Tier 1): - Update time geconfigureerd: 4 ms - Gemeten: 4 ms ± 200 μs basis, maar **elke 12-18 seconden een spike van 18-32 ms** die 1 pakket duurt - Watchdog: 3 × 4 ms = 12 ms → spike overschrijdt watchdog → IO error 16#80B1
B) Frame loss
Profinet RT is UDP-like (geen acknowledgement). Een verloren frame = onmiddellijke sprong in de cycle counter. De Wireshark-dissector toont `cycle_counter` in elk RT-frame. Een sprong in de counter van meer dan 1 = verloren frame.
Acceptabele rate: < 1 lost frame per miljoen (1e-6). Reëel probleem: > 1/100 000 (1e-5) — dat zien we als "soms valt de communicatie weg" voor de operator.
C) Alarm frames
Profinet heeft een separate alarm-channel (acyclic, low-priority). In Wireshark toont het filter `pn_io.alarm_type` device-generated alarms: temperature warnings, module diagnostics, diagnostic alarms. Veel klanten negeren dit, omdat "de PLC nog niet heeft geklaagd" — maar er zitten waarschuwingen in die uren vóór een uitval ontstaan.
Stap 2 — SIEMENS PRONETA Basic (gratis tool die niemand gebruikt)
PRONETA Basic is gratis te downloaden (Siemens Support Portal, ID 67460624) en doet 80 % van wat het betaalde SINEC NMS doet — gratis. Drie sleutelfuncties:
- **Topology scan** via LLDP — bouwt de werkelijke topology graph van het huidige netwerk en vergelijkt deze met de geplande topology uit het TIA Portal-project. Verkeerd kabeltal, foutieve poortassignatie, unknown device (bv. een vergeten laptop van een technicus of een ongeautoriseerde switch) wordt onmiddellijk gevonden.
- **IO Test** — sluit aan als Profinet IO-controller (emuleert de PLC) en doet een read/write-test rechtstreeks op de IO-module zonder de PLC in het pad. Werkt IO-test wel en de PLC niet, dan zit het probleem in de PLC-config of in het PLC → device-pad. Werkt IO-test niet, dan zit het in het device of de kabel naar het device.
- **Diagnostic readout** — leest firmware-versies, IP-configuratie, device-name en alarm history van alle bereikbare devices in één keer. 30 % van "niet-deterministische" Profinet-problemen zijn duplicate device names — scan en u ziet twee modules met dezelfde naam in het netwerk.
Stap 3 — Jitter measurement (LLDP en TSN-ready check)
Voor Profinet IRT (motion, sub-ms) is jitter < 1 μs vereist. Voor Profinet RT (1–8 ms cyclus) is jitter < 100 μs acceptabel. Meting:
- **PROFITap ProfiShark 1G** met precise timestamp (sub-microsecond)
- **Synesis InterMatch** of **Allegro Network Multimeter** (dedicated industrial NTM)
- **Lightweight:** een Linux-box met een PTP-aware NIC (Intel I210, I225) en `tcpdump -i eth0 -j adapter_unsynced` — timestamps van de HW NIC-clock
De meest voorkomende oorzaak van hoge jitter (> 500 μs): een unmanaged switch in het Profinet-pad. Een gangbare D-Link / TP-Link / Netgear-switch heeft geen QoS voor de Profinet EtherType 0x8892 — RT-frames staan in de wachtrij achter bulk traffic (firmware-download, configuratie-upload, video-feed van een camera).
Verhaal dat echt is gebeurd — 50 ms cyclus → 200 ms cyclus
Klant (levensmiddelenbedrijf, Bratislava, vullijn voor drukbussen, setup met 5 lijnen). Klacht: één lijn van de vijf heeft een cycle time van 200 ms in plaats van designed 50 ms. PLC: Siemens S7-1517F. IO: ET 200SP met 6 IO-modules + 2 servoaxes via Profinet IRT.
**Eerste 3 dagen — valse paden:** - TIA Portal-diagnostics: geen ERROR, maar wel `IO update time exceeded`-warnings - Firmware-update PLC + IO-modules: geen verschuiving - Vervanging van een vermoedelijk "trage" IO-module: geen verschuiving
**Dag 4 — Wireshark + PRONETA:**
PRONETA-topology-scan toonde: - 4 lijnen hebben line topology: PLC → IO1 → IO2 → IO3 → IO4 (via built-in 2-port switches in de IO-modules) - **De vijfde lijn heeft een STAR-topologie via een externe switch** SCALANCE X-208 — een historisch artefact uit een tijd dat de lijn een extra workstation had
Wireshark-capture op de vijfde lijn: - Update time 50 ms ± 80 ms (!) — massieve jitter - Frame loss: 4/10 000 (1e-3.4) — onbruikbaar voor IRT-motion - Bulk traffic: 200 Mbps RTSP-videostream van een HMI-camera via dezelfde switch
**Oorzaak:** de SCALANCE X-208 had de **default QoS-config** (FIFO, no priority for Profinet EtherType). Bij videostream-load stond Profinet RT in de wachtrij. De operator had eerder videomonitoring "alleen voor test" aangezet — 6 maanden geleden.
**Oplossing:** 30 minuten Web Based Management op de switch: 1. Enable Profinet QoS preset (`Configuration → QoS → Profinet`) 2. Set EtherType 0x8892 priority class 6 (best effort = 0, voice = 5, Profinet = 6, network control = 7) 3. Apply, commit, save startup config
**Resultaat:** cycle time terug op 50 ms ± 2 ms. Jitter < 80 μs. OEE van de lijn steeg van 71 % naar 88 % in de week na de fix.
Dit specifieke probleem zou een PLC firmware-update **nooit hebben opgelost** — de fout zat in een switch-configuratie 3 hops verwijderd van de PLC. Zonder Wireshark-capture + PRONETA-topology zou het zoeken naar de oorzaak nog 2–4 weken hebben geduurd en € 40–60 k aan gederfde productie kosten.
Vijf plekken die niemand checkt
1. **Kabel buiten PROFINET Type A/B/C** (ISO/IEC 11801). Gewone office CAT-6 in een hal met frequentie-omvormers degradeert sneller dan papier. Industrial Type C met dubbele shield kost € 40–80 extra per lijn — een investering die zich terugverdient bij de eerste drop. 2. **Shield aan beide zijden afgemonteerd** in punten met verschillend grondpotentiaal → ground loop → induced voltage 5–50 V → corrupted frames. De Profinet-shield gaat slechts aan één zijde. 3. **Switch QoS-misconfiguratie** — de default-QoS op een managed switch is vaak NIET correct voor Profinet EtherType 0x8892. Schakel expliciet de Profinet QoS-preset in, of configureer handmatig VLAN + 802.1p priority class 6. 4. **Wrong Conformance Class.** Profinet heeft drie klassen (CC-A basic, CC-B device replacement + diagnostics, CC-C isochronous IRT). Voor IRT-motion moet **elke** switch in het pad CC-C zijn. Een goedkopere CC-B-switch in een IRT-pad = inconsistente cycle time. 5. **Duplicaten van device names.** Profinet identificeert een device via `device_name` (DNS-like), niet via MAC. Een reserve-IO-module zonder geüploade naam = duplicate in het netwerk = willekeurige frame-routing = random failures.
Praktisch playbook — 4 uur diagnostiek
Bij Profinet-problemen:
1. **(30 min)** PRONETA Basic topology scan. Vergelijk met het TIA Portal-project. Identificeer verschillen. 2. **(45 min)** Wireshark-capture 5 minuten op het problematische segment via TAP of mirror port. Filter `pn_rt`. Analyseer cycle time consistency, frame loss, alarm frames. 3. **(30 min)** PRONETA IO Test op het problematische device. Werkt? Probleem zit in de PLC-config. Werkt niet? Probleem zit in het device of pad ernaartoe. 4. **(60 min)** Switch-management — check QoS, prioriteit, conformance class van alle switches in het pad. Check bekabeling (Type A/B/C), shield termination, EMC-omgeving. 5. **(45 min)** Reproduce + verify. Na identificatie van de vermoedelijke oorzaak — wijzig, opnieuw meten, vergelijk voor/na.
Dit brengt u bij 90 % van de Profinet-problemen. Voor de overige 10 % (TSN, advanced motion-sync, multi-vendor inter-op) hebt u SIEMENS SINEC NMS (betaald, € 4 000–8 000 per jaar) of vendor-support nodig — maar voor die 10 % is het de moeite waard om een externe expert in te schakelen in plaats van het eigen team.
---
*Wij doen Profinet-diagnostiek, netwerkaudits en TSN-migratie voor productielijnen in NL/BE/DE/SK/CZ. Het eerste consult (90 min) op uw concrete probleem onthult waarschijnlijk 1–2 van de genoemde vijf plekken — of geeft op zijn minst aan welke van de drie lagen (kabel / switch / device) verder onderzoek verdient.*