Bekijk alle lessen
Deel 1
Basis
Deel 2
Modbus RTU
- Les 5RS485 uitgelegd: A, B, common en terminatie20 min
- Les 6Baudrate en pariteit: waarom 8E1 de default is16 min
- Les 7Het Modbus RTU frame byte voor byte, plus CRC18 min
- Les 8Meerdere Modbus apparaten op een bus zetten16 min
- Les 9Je eerste Modbus apparaat uitlezen met mbpoll22 min
- Les 10Modbus RTU storing zoeken: symptoom en oorzaak20 min
Deel 3
Modbus TCP
Deel 4
Gevorderd
- Les 16Veilig naar een Modbus apparaat schrijven18 min
- Les 17Word order en float: dezelfde bytes, andere waarde22 min
- Les 18Pollinterval en busbelasting zelf berekenen18 min
- Les 19Modbus beveiligen: het protocol doet het niet16 min
- Les 20Modbus integreren: PLC, Home Assistant of cloud20 min
- Les 21Modbus checklist voor oplevering en overdracht18 min
Modbus checklist voor oplevering en overdracht
Een Modbus installatie draag je over met vastgelegde adressen, seriele parameters, registerkaart en pollinterval. Deze checklist en spiekbrief dekken dat af.
Wat deze les behandelt
- Drie afvinklijsten voor de oplevering: fysieke laag, protocol, netwerk
- De spiekbrief met de kerngetallen: 125 registers, 247 adressen, poort 502
- Van een symptoom terug naar de les die dat gat dicht
Lees eerst: Modbus RTU storing zoeken: symptoom en oorzaak, Modbus TCP foutzoeken met Wireshark, Modbus integreren: PLC, Home Assistant of cloud
Een Modbus checklist voor oplevering is de lijst die je afloopt voordat je de installatie uit handen geeft: eerst de fysieke laag, dan het protocol, dan het netwerk. Een bus die werkt is nog geen opgeleverde installatie, want wat draait zonder dat iemand weet waarom, is over een half jaar onaanraakbaar. Na deze les heb je drie afvinklijsten, een spiekbrief voor je gereedschapskist en een eindtoets die je bij elke fout terugwijst naar de les met het gat.
Wat je oplevert als de installatie werkt
Je levert niet alleen een werkende bus op, je levert de gegevens op waarmee iemand anders hem kan overnemen. Concreet horen deze acht dingen in het dossier:
- Het adresplan: welk serveradres bij welk apparaat hoort, uniek gekozen binnen 1 tot 247.
- De busparameters: baudrate, pariteit en stopbits, en de bevestiging dat elk apparaat op dezelfde staat.
- Een registerkaart per apparaat: nummer, telling, function code, datatype, word order, schaalfactor en sentinel.
- De netwerkgegevens: IP-adres, poort, unit id en het VLAN waar de gateway in hangt.
- De pollintervallen, met de gemeten cyclustijd waaruit je ze hebt afgeleid.
- De alarmregels, met de datum waarop je ze een keer echt hebt laten afgaan.
- Een topologietekening: waar de lijn loopt en waar de twee afsluitweerstanden zitten.
- De reden van elke keuze die afwijkt van de standaardinstelling.
Punt 5 en 6 zijn makkelijker aan te tonen dan te beweren. Een logsessie uit ModbusCloud Diagnostics exporteert naar CSV of JSON, en dat bestand voeg je onveranderd bij het dossier als de meting waarop je intervallen en drempels berusten.
De checklist voor de fysieke laag
De fysieke laag is af als je met de tekening in je hand kunt aanwijzen waar de lijn begint, waar hij eindigt en waar de twee afsluitweerstanden zitten. Loop dit langs:
- Een doorlopende lijn, geen ster. Aftakkingen blijven onder 20 m, en bij een tap met meerdere aftakkingen geldt 40 gedeeld door het aantal.
- Precies twee terminaties, aan de twee fysieke uiteinden. De spec staat er maximaal twee toe op een paar en nooit een op een aftakking, en een derde is een klassieke bron van CRC-fouten.
- De common is doorgelust. Een two-wire Modbus-bus heeft drie geleiders, niet twee.
- Maximaal 32 apparaten zonder repeater, en met biasing (line polarization) lever je er vier in.
- Trunklengte binnen 1000 m bij 9600 baud met AWG26 of dikker, en binnen 600 m als je Cat5 hebt gebruikt.
- Een label op elke klemmenstrook met serveradres, baudrate en pariteit.
- In rust staat D1 (B, D+) positiever dan D0 (A, D-). Noteer welk fabrikantlabel bij welke draad hoort, want A en B zijn geen betrouwbaar houvast.
Ligt er nog een keuze open over kabel of aansluiting, dan hoort die thuis in de gids voor RS485-bekabeling bij Modbus, niet in het opleverdossier.
De checklist voor het protocol
Het protocol is af als voor elke waarde in je dashboard vastligt uit welk register hij komt, in welke telling dat nummer staat en met welke factor hij geschaald wordt.
- Telling expliciet genoteerd. Datasheetnummer 40108 is 1-gebaseerd en wijst naar PDU-adres 107 (
0x006B). PDU-adres is het nummer min 1, en dat verschil is de nummer 1 oorzaak van onzin op je scherm. - De juiste function code per blok: FC03 voor holding registers, FC04 voor input registers. Wie ze verwisselt, krijgt exception 02 of een heel ander getal.
- Aantallen binnen de limiet: 125 registers lezen met FC03 of FC04, 123 schrijven met FC16, 2000 coils lezen, 1968 schrijven.
- Datatype en word order per waarde vastgelegd. Binnen een register is Modbus big-endian, maar de volgorde van twee registers legt de standaard niet vast, dus dat is per apparaat een afspraak.
- Schaalfactor en eenheid erbij, ook als de factor 1 is. Dan weet de volgende dat je het hebt gecontroleerd.
- Sentinelwaarden gefilterd voordat je schaalt. Een Daikin die 32767 teruggeeft meldt geen 327,67 graden maar "dit register ken ik niet", en
0x8000in een int16 is een SunSpec not-implemented, geen negatief vermogen.
De volgorde van registers en de valkuilen eromheen staan uitgewerkt in de les over datatypes en word order.
De checklist voor het netwerk
Het netwerk is af als een collega zonder jouw laptop kan vaststellen wie met wie praat, over welke poort, en met welke unit id.
- Een vast IP-adres buiten de DHCP-pool, genoteerd in het dossier.
- Poort 502 bereikbaar vanaf de plek waar de client draait. Ook als een apparaat op een andere poort luistert, moet 502 volgens de standaard beschikbaar blijven.
- Unit id gecontroleerd:
0xFF(of0x00) bij een native Modbus TCP-apparaat, en het echte serveradres 1 tot 247 achter een gateway. Dat is de meest verwarrende byte in het hele protocol. - Het aantal gelijktijdige verbindingen dat de gateway aankan, opgezocht in de datasheet en afgezet tegen het aantal clients dat je aansluit.
- De firewallregel opgeschreven: welke bron mag naar poort 502, en wie heeft dat goedgekeurd. Kaal Modbus TCP kent geen authenticatie en geen encryptie, dus de beveiliging zit volledig in de zone eromheen. Modbus/TCP Security op poort 802 met TLS bestaat, maar je treft het zelden aan.
- De verbindingsvorm: de client opent de verbinding, houdt hem open en sluit hem ook weer. Een client die per verzoek opnieuw verbindt, vult de verbindingspool van je gateway, en dan sluit die de oudste ongebruikte verbinding. Verwar dat niet met de transactiepool: dat zijn de gelijktijdig openstaande verzoeken binnen een verbinding, 1 tot 16, en die vol trekken levert exception 06 op.
De spiekbrief die je meeneemt
Dit is de kaart die je print en in je gereedschapskist legt. De function codes, hun limieten en de exception codes komen letterlijk uit de twee officiele specificaties. Twee regels rechtsonder niet: 120 ohm is de gangbare RS485-praktijk (de spec noemt 150 ohm, of 120 ohm met 1 nF zodra je ook biast), en de 50 procent busbelasting is een vuistregel van deze cursus.
Twee getallen die er niet op passen maar die je toch onthoudt: de maximale PDU is 253 bytes, en de maximale TCP-ADU is 260 bytes omdat de MBAP-header er 7 bij optelt.
Wat je nu kunt, en wat er nog is
Terugkijkend staat of valt alles met vijf inzichten. Modbus is een request-response protocol zonder ingebouwde betekenis, dus de fabrikant bepaalt wat een register betekent. Een register is 16 bits, en alles wat groter is, is een afspraak over hoe je registers aan elkaar plakt. RTU en TCP dragen dezelfde PDU in een andere envelop. De meeste storingen zijn geen protocolfouten maar fysieke laag en adressering. En adressering kent twee tellingen, wat de nummer 1 oorzaak blijft van waardes die nergens op slaan.
Wat bewust buiten deze cursus is gebleven: Modbus ASCII, Modbus Plus en Modbus over UDP, en de protocollen ernaast zoals BACnet, M-Bus, KNX en OPC UA. Kom je die tegen, dan heb je nu genoeg basis om de vergelijking zelf te maken.
Waar je verder kunt
De canonieke bron blijft modbus.org: de Application Protocol Specification V1.1b3 en Modbus over Serial Line V1.02 zijn gratis en beslissen elke discussie. Voor merkspecifieke registerkaarten is de kennisbank sneller dan een handleiding doorzoeken.
Daarna komt de echte keuze: zelf bouwen of iets kant-en-klaars nemen. Zelf bouwen (een client op een industriele pc, een script met pymodbus, een eigen database) geeft je volledige controle en kost je onderhoud, updates en beschikbaarheid. Een kant-en-klaar platform met een voorgeprogrammeerde gateway neemt dat over, en dat is waar de ModbusCloud Gateway naast andere aanbieders staat. Wat je ook kiest, de koopcriteria voor een Modbus gateway helpen je vergelijken op poorten, protocollen en beheer in plaats van op prijs alleen. Het instellen van meldingen bij afwijkende waarden is de stap die het vaakst blijft liggen.
Veelgemaakte fouten
Opleveren zonder dossier. De installatie werkt, dus het lijkt af. Zes maanden later kan niemand meer achterhalen waarom die ene temperatuur met een factor 10 wordt geschaald, en gaat er iemand gokken. Een half A4 per apparaat voorkomt dat.
Geen labels op de klemmenstrook. Serveradres, baudrate en pariteit op een label besparen de volgende monteur een uur sweepen over 9600 en 19200 baud met drie pariteitsvarianten.
Alarmregels ongetest opleveren. Een alarm dat nooit is uitgeprobeerd, gaat af op het verkeerde moment of helemaal niet. Trek een keer een klem los en kijk of de melding komt, en noteer de datum.
De pollintervallen niet onderbouwen. Wie er later een apparaat bij hangt, moet kunnen zien hoeveel ruimte er nog is. Noteer de gemeten cyclustijd naast het gekozen interval, dan is de rekensom navolgbaar.
Aan de slag
Lever een installatie op. Een echte als je er een hebt, anders een verzonnen opstelling met drie apparaten.
- 1
Kies de installatie
Neem een bus waar je aan werkt, of bedenk er een met drie apparaten: een energiemeter, een omvormer en een warmtepomp.
- 2
Loop de drie checklists langs
Fysiek, protocol, netwerk. Vink af wat klopt en laat openstaan wat je niet kunt aantonen.
- 3
Noteer per openstaand punt de les
Schrijf achter elk kruisje welke les je erop terugbrengt. Dat lijstje is je persoonlijke herhaalplan.
- 4
Print de spiekbrief
Leg hem in je gereedschapskist of tas. Hij is losgeknipt van deze pagina nog steeds bruikbaar.
- 5
Schrijf het overdrachtsdossier
Adresplan, busparameters, registerkaart per apparaat, pollintervallen, alarmregels en de reden van elke afwijkende keuze.
- 6
Maak de eindtoets hieronder
Vier vragen over de hele cursus. Elke fout wijst je terug naar een specifieke les.
Zonder installatie. Gebruik de opstelling uit de les over oefenen met de simulator met twee zelfgebouwde apparaten, en lever die op alsof het een klantopstelling is. Het dossier is dan korter, de discipline is dezelfde.
Verwacht resultaat: drie ingevulde checklists, een geprinte spiekbrief en een overdrachtsdossier dat iemand anders kan lezen zonder jou te bellen.
Samenvatting
- Een Modbus-installatie is pas opgeleverd als het dossier compleet is: adresplan, busparameters, registerkaart per apparaat, pollintervallen en geteste alarmregels.
- De fysieke laag is af bij een doorlopende lijn, aftakkingen onder 20 m, twee afsluitweerstanden en maximaal 32 apparaten zonder repeater.
- Het protocol is af als telling (PDU-adres is het datasheetnummer min 1), datatype, word order, schaalfactor en sentinel per waarde vastliggen.
- Het netwerk is af bij een vast IP-adres, poort 502 en de juiste unit id:
0xFFnative, 1 tot 247 achter een gateway. - Bij een storing bepaal je eerst of je stilte, een exception of een verkeerde waarde ziet, want die drie wijzen elk naar een ander zoekdomein.
Controleer jezelf
Vier vragen over deze les. Je krijgt bij elk antwoord uitleg.
Vraag 1 van 4
Zelf zien hoe het werkt?
De ModbusCloud Gateway leest de apparaten uit deze cursus uit zonder dat je registers hoeft te programmeren.