Modbus scanner: een Modbus netwerk scannen en apparaten vinden (2026)
Met een Modbus scanner vind je slave adressen en seriele instellingen op een onbekende bus. Tools, het bereik 1 tot 247, en de valkuilen van duplicaat adressen.

Een Modbus scanner lost het meest voorkomende probleem op wanneer je bij een bestaande installatie komt: je hebt een bus met apparaten, maar niemand weet welke slave adressen erop zitten of op welke baudrate ze praten. Zonder scan schiet je in het duister, met een scan heb je binnen een paar minuten de adressenlijst compleet.
Dit artikel laat zien hoe je een Modbus scanner inzet op zowel Modbus RTU (RS485) als Modbus TCP, welke gratis en betaalde tools installateurs dagelijks gebruiken, en de drie valkuilen die een scan laten mislukken: duplicaat adressen, een onbekende baudrate, en het broadcast adres 0. Bedoeld voor installateurs in HVAC, koeltechniek, zonnepanelen en laadpalen, niet voor protocol auteurs.
Key takeaways
- Modbus slave adressen lopen van 1 tot 247. Een scanner pollt elk adres één voor één en flagt de adressen die antwoorden.
- Ken je de seriele instellingen niet, dan moet je baudrate, pariteit en stopbits doorlopen. 9600 8N1 en 2400 8N1 dekken de meeste apparaten.
- Twee apparaten met hetzelfde adres op één bus botsen en geven CRC fouten. Los dit op door apparaten één voor één aan te sluiten.
Gratis: RS485 en Modbus RTU installatie checklist (PDF)
De controlelijst voor elke RS485 bus, voor je de installatie oplevert. Print hem en neem hem mee.
- Bedradingsvolgorde: A/B polariteit, GND en afscherming
- Terminatie en biasing, inclusief multimeter controles
- Spiekbriefje communicatie instellingen (baudrate, pariteit, stopbits)
- De 10 meest gemaakte fouten en hoe je ze herkent
Je ontvangt de checklist en af en toe een praktische Modbus tip. Geen spam, altijd uitschrijfbaar.
Wat doet een Modbus scanner precies?
Een Modbus scanner is een tool die systematisch elk mogelijk slave adres op een bus aanroept en registreert welke adressen antwoorden. De scanner stuurt naar elk unit ID een klein leesverzoek, meestal function code 0x03 (read holding registers) voor één register op adres 0x0000, en noteert of er binnen de timeout een geldig antwoord terugkomt.
Het geldige adresbereik ligt vast in de Modbus Application Protocol Specification V1.1b3 van de Modbus Organization. Een individueel apparaat gebruikt een adres tussen 1 en 247. Adres 0 is het broadcast adres (alleen schrijven, geen antwoord) en 248 tot 255 zijn gereserveerd. Een scan doorloopt dus die 247 adressen en zet er een vinkje bij zodra een apparaat reageert.
Belangrijk: een scanner vindt alleen apparaten die op DEZELFDE seriele instellingen praten als de scanner zelf. Zit er een apparaat op 19200 8E1 terwijl jij op 9600 8N1 scant, dan blijft het onzichtbaar. Voor de opbouw van het frame en het slave adres, zie de Modbus RTU uitleg. Voor het bredere protocol, zie onze complete gids over Modbus.
Wat je nodig hebt voordat je scant
Voor een RTU scan heb je een USB naar RS485 converter nodig, de kabel naar de bus (A, B en bij voorkeur GND), en een scan tool op je laptop. Voor een TCP scan heb je alleen netwerktoegang tot het subnet waar de apparaten of de gateway op zitten.
Noteer vooraf wat je wel weet: het aantal apparaten dat er zou moeten zitten, en of de fabrikant een default baudrate noemt. Een Eastron SDM630 energiemeter start bijvoorbeeld op 2400 8N1 (Eastron SDM630 Technical Datasheet), terwijl veel PLC gekoppelde apparaten op 9600 of 19200 staan.
Stap voor stap: een Modbus RTU netwerk scannen
De volgorde is altijd hetzelfde: eerst het adres vinden bij bekende seriele instellingen, en pas als dat niks oplevert de seriele instellingen zelf uitzoeken.
- 1
Sluit de scanner aan en kies startinstellingen
Sluit de USB naar RS485 converter aan op A en B van de bus. Begin met de meest voorkomende instelling: 9600 baud, 8 databits, geen pariteit, 1 stopbit (8N1). Zet de response timeout ruim, bijvoorbeeld 300 milliseconden, zodat trage apparaten mee kunnen komen.
- 2
Scan het volledige adresbereik 1 tot 247
Laat de tool elk adres pollen met function code 0x03 of 0x04 voor één register. In modpoll doe je dat met een lus:
modpoll -m rtu -a <id> -r 1 -c 1 -b 9600 -P none /dev/ttyUSB0. Adressen die een geldig frame terugsturen zijn bezet. Noteer ze. - 3
Vind je niks, doorloop dan de seriele instellingen
Blijft de hele scan stil, dan klopt de baudrate of framing niet. Doorloop de combinatie baudrate maal framing tot je een geldige CRC terugkrijgt. De praktijk: begin bij 9600 8N1, dan 2400 8N1, dan 19200 8N1, dan de even pariteit varianten (8E1).
De Modbus over Serial Line Specification V1.02 noemt 9600 en 19200 baud met even pariteit als de standaard, maar fabrikanten wijken vaak af. Reken dus op zeven gangbare baudrates (1200 tot 115200) en drie framings (8N1, 8E1, 8O1). Function codes zoals 0x03 en 0x04 die je hierbij gebruikt, staan uitgelegd in de Modbus function codes referentie.
De drie valkuilen bij het scannen
Een scan die niks of onzin oplevert komt bijna altijd door één van deze drie oorzaken.
Valkuil 1: twee apparaten met hetzelfde adres. Staan er twee apparaten op adres 3, dan antwoorden ze tegelijk op elke poll naar adres 3. Hun frames overlappen op de bus en dat geeft CRC fouten en onleesbare data. Je kunt dan niet betrouwbaar scannen.
De oplossing is punt naar punt werken: koppel alle apparaten los, sluit er één aan, lees of zet het adres, sluit het volgende aan. Zo geef je elk apparaat een uniek adres tussen 1 en 247 en verdwijnt de botsing.
Valkuil 2: het broadcast adres 0. Adres 0 is gereserveerd voor broadcast schrijfacties naar alle apparaten tegelijk. Apparaten antwoorden hier per definitie niet op, dus je vindt er nooit een apparaat mee. Sla adres 0 over in je scan en begin bij 1.
Valkuil 3: bus fysiek in de war. Een ontbrekende eindweerstand, een omgedraaide A en B, of een te lange aftakking laat apparaten willekeurig wegvallen. Een apparaat dat de ene scan wel en de volgende niet reageert wijst op een bekabelingsprobleem, niet op een adresprobleem. Zie de RS485 bekabeling gids voor termination en polariteit.
Modbus TCP scannen op poort 502
Voor Modbus TCP werkt het scannen in twee lagen. Eerst zoek je op het netwerk welke IP adressen luisteren op TCP poort 502, de standaard Modbus poort. Daarna scan je achter elk gevonden IP de unit IDs, want een TCP naar RTU gateway kan meerdere RTU apparaten achter één IP bruggen.
Voor de eerste laag gebruik je nmap: nmap -p 502 --open 192.168.1.0/24 vindt alle hosts met een open Modbus poort. Nmap heeft ook een dedicated script: nmap --script modbus-discover -p 502 <ip> enumereert de unit IDs en probeert via Read Device Identification (function code 0x2B, MEI type 0x0E) de fabrikant en het product op te vragen (Nmap NSE modbus-discover documentatie). Voor de poort en frame opbouw van TCP, zie de Modbus TCP uitleg.
Welke scanner tools kun je gebruiken?
Er is geen enkele tool die alles doet. Dit zijn de opties die installateurs het vaakst inzetten, van gratis CLI tot betaalde GUI.
| Tool | Type | Platform | Sterk in |
|---|---|---|---|
| modpoll | Gratis CLI | Windows, Linux, macOS | Scriptbare adres scan in een lus |
| CAS Modbus Scanner | Gratis GUI | Windows | Snelle adres en register scan |
| Modbus Poll | Betaald GUI | Windows | Adres range scan plus live monitoring |
| QModMaster | Gratis, open source GUI | Windows, Linux | RTU en TCP in één tool |
| OpenModScan | Gratis, open source GUI | Windows | Lichte RTU en TCP scanner |
| pymodbus | Gratis, Python library | Alle | Eigen scan logica scripten |
| nmap | Gratis CLI | Alle | Modbus TCP op poort 502 vinden |
Voor een eenmalige klus op locatie is een gratis GUI zoals CAS Modbus Scanner het snelst. Wil je scannen automatiseren of in een script gieten, dan zijn modpoll en pymodbus handiger.
Problemen oplossen bij een scan
| Symptoom | Waarschijnlijke oorzaak | Oplossing |
|---|---|---|
| Hele scan blijft stil | Verkeerde baudrate of framing | Doorloop 9600 8N1, 2400 8N1, 19200 8N1, dan 8E1 varianten |
| CRC fouten op één adres | Twee apparaten op hetzelfde adres | Apparaten één voor één aansluiten, uniek adres zetten |
| Apparaat valt willekeurig weg | Bekabeling, ontbrekende eindweerstand | Controleer A/B polariteit, plaats 120 ohm termination |
| Geen enkel apparaat op TCP | Poort 502 geblokkeerd of verkeerd subnet | Check firewall en het juiste IP bereik met nmap |
| Exception 0x02 terug | Adres bestaat, register niet | Apparaat gevonden. Lees een geldig register, bijvoorbeeld 0x0000 |
Een exception response (bijvoorbeeld function code 0x83) is trouwens goed nieuws tijdens een scan: het betekent dat er wél een apparaat op dat adres zit, alleen het gevraagde register bestaat niet. Het adres is dus bezet.
Continu scannen vanuit de cloud
Een eenmalige scan geeft je een momentopname. In de praktijk verandert een fleet: een monteur zet een meter bij, een apparaat valt stil door een defecte voeding, of iemand wijzigt een adres. Handmatig blijven scannen schaalt niet over tientallen locaties.
Hier past de ModbusCloud Gateway. De Gateway doet auto-discovery op de aangesloten bus en blijft continu de bekende adressen pollen. Verdwijnt een apparaat of duikt er een nieuw adres op, dan zie je dat direct in het dashboard in plaats van bij de volgende servicebeurt. Gekoppeld aan automatische Modbus alerts krijg je een melding zodra een apparaat wegvalt, zonder dat je fysiek ter plaatse hoeft te scannen.
Veelgestelde vragen
Wat is het bereik van Modbus slave adressen?
Een individueel Modbus apparaat gebruikt een slave adres tussen 1 en 247. Adres 0 is het broadcast adres voor schrijfacties naar alle apparaten tegelijk en levert geen antwoord op. De adressen 248 tot 255 zijn gereserveerd. Een scanner doorloopt dus het bereik 1 tot 247.
Hoe scan ik een Modbus RTU netwerk als ik de baudrate niet weet?
Doorloop de combinatie van baudrate en framing tot je een geldige CRC terugkrijgt. Begin bij 9600 8N1, dan 2400 8N1 en 19200 8N1, en pas daarna de even pariteit varianten (8E1). Pas als de seriele instellingen kloppen heeft een adresscan zin, want een apparaat op andere instellingen blijft onzichtbaar.
Kunnen twee Modbus apparaten hetzelfde adres hebben?
Nee, niet op dezelfde bus. Twee apparaten op hetzelfde adres antwoorden tegelijk op elke poll, hun frames botsen en de master leest alleen CRC fouten. Sluit de apparaten één voor één aan, geef elk een uniek adres tussen 1 en 247, en sluit ze daarna weer samen aan.
Welk Modbus scanner programma is gratis?
modpoll (CLI), CAS Modbus Scanner (Windows GUI), QModMaster en OpenModScan zijn gratis. pymodbus is een gratis Python library om je eigen scan te scripten. Voor Modbus TCP op poort 502 gebruik je nmap met het modbus-discover script. Modbus Poll van Witte Software is de bekendste betaalde optie.
Hoe vind ik het Modbus adres van een apparaat?
Sluit het apparaat als enige op de bus aan en scan het adresbereik 1 tot 247 met een scan tool. Omdat er maar één apparaat aan hangt, is het adres dat antwoordt meteen het gezochte adres. Deze punt naar punt methode voorkomt ook botsingen met andere apparaten.
Volgende stappen
Een goede scan begint bij de juiste seriele instellingen en eindigt bij een schone adressenlijst zonder duplicaten. Combineer deze aanpak met de Modbus RTU uitleg om te snappen wat er byte voor byte over de bus gaat, en met de Modbus function codes referentie om de leesverzoeken van je scanner te doorgronden.
Wil je niet bij elke wijziging opnieuw ter plaatse scannen? De ModbusCloud Gateway neemt het discovery en polling werk over en houdt je fleet continu in beeld. Boek een korte demo om te zien hoe dat over meerdere locaties uitpakt.
Klaar om te beginnen?
Bestel de ModbusCloud Gateway en monitor je installaties binnen 5 minuten.
Bekijk de gateway