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
RS485 uitgelegd: A, B, common en terminatie
RS485 uitgelegd voor monteurs: waarom A en B geen betrouwbare labels zijn, waarom de derde draad moet, en wanneer terminatie en biasing echt nodig zijn.
Wat deze les behandelt
- Waarom A en B geen betrouwbare labels zijn, en wat de derde draad doet
- Terminatie en biasing: waar de weerstanden horen en hoeveel het er zijn
- Hoeveel apparaten, hoeveel meter en welke topologie nog mag
Lees eerst: Modbus leren: waarom dit protocol blijft werken
RS485 is geen draad met een spanning erop, maar een paar draden waarvan alleen het verschil telt. Dat principe verklaart bijna alle ellende op een Modbus RTU-bus: omgedraaide A en B, een ontbrekende derde draad, een weerstand te veel, een ster in plaats van een lijn. Na deze les weet je wat je meet voordat je gaat schuiven met draden.
Waarom twee draden en niet een?
Omdat een ontvanger die alleen het verschil tussen twee draden bekijkt, ongevoelig is voor storing die beide draden even hard raakt. Stel: de zender zet 1,5 V verschil op het paar, het minimum dat de standaard onder belasting eist, en een frequentieregelaar langs de kabel induceert op D0 en D1 evenveel ruis. Die ruis staat op beide aders even hoog, dus valt hij weg in de aftrekking en houdt de ontvanger zijn 1,5 V over.
Dat werkt omdat de marges ver uit elkaar liggen: 1,5 V aan zenderkant, terwijl de ontvanger al bij 200 mV beslist welke bit er staat. Alles daartussen is je ruisreserve. Welke kabel die reserve intact houdt, staat in de complete gids voor RS485 bekabeling bij Modbus; deze les blijft bij het waarom.
Modbus RTU legt zijn verkeer hierbovenop: de client vraagt, precies een server antwoordt. Staat dat nog niet scherp, begin dan bij de introductieles over Modbus.
Waarom A en B geen betrouwbare labels zijn
Omdat twee fabrikanten dezelfde letter aan tegengestelde draden kunnen hangen. De Modbus-spec ontwijkt dat probleem door de klemmen D0, D1 en Common te noemen, en schrijft voor dat handleidingen die namen gebruiken. In rust, dus als niemand zendt, staat D1 positiever dan D0. D1 heet in de RS485-standaard B en in de plus-minnotatie D+; D0 heet daar A en D-.
De derde draad, en waarom hij geen aarde is
Een "two-wire" Modbus-bus heeft drie geleiders. De naam slaat op het datapaar, niet op het totaal. Die derde draad is de common: het referentiepunt waartegen beide signaaldraden gemeten worden.
Waarom dat moet: een RS485-ontvanger werkt alleen als de spanning van het paar ten opzichte van zijn eigen massa binnen -7 V tot +12 V blijft, het common-mode bereik. Zonder gemeenschappelijke referentie bepaalt het aardpotentiaal van elk gebouwdeel waar het paar belandt, en schuift het geheel op tot het buiten dat venster valt. De common is dus geen beschermingsaarde en geen scherm, maar een signaalreferentie. Installaties die het jarenlang met twee draden doen, werken omdat de voeding toevallig een referentie levert. Dat is geen ontwerp, dat is geluk.
Wanneer terminatie iets oplost, en wanneer niet
Terminatie lost reflecties op, en reflecties ontstaan aan de uiteinden van de lijn. Daar hoort dus een weerstand, en nergens anders. De spec is er expliciet over: aan elk van de twee uiteinden een, nooit meer dan twee op een paar, en nooit op een aftakking.
Meer weerstanden is niet veiliger, het is schadelijk: drie parallelle weerstanden van 120 ohm brengen de belasting op 40 ohm, en dan haalt de zender zijn 1,5 V niet meer. Dat is meetbaar, en die meting doe je straks zelf.
Wat biasing oplost en wat het kost
Biasing lost een ander probleem op: de bus in rust. Zendt niemand, dan stuurt geen enkele driver de lijn aan en zweeft het paar. Een ontvanger die dan ruis binnenkrijgt, kan die als startbit lezen. Het symptoom is herkenbaar: spookframes, sporadische CRC-fouten en timeouts terwijl je bekabeling aantoonbaar klopt.
De oplossing heet fail-safe biasing (in de spec: line polarization). Je zet een pull-up naar 5 V op D1 en een pull-down naar de common op D0, met weerstanden tussen 450 en 650 ohm, op precies een plek op de hele bus, meestal bij de client. Twee of drie apparaten die allemaal hun interne biasing aan hebben staan, trekken de lijn te hard. Wat het kost: het maximale aantal apparaten daalt met 4.
Andersom geldt hetzelfde. Sommige apparaten hebben interne fail-safe biasing aan boord. Zet je daar terminatieweerstanden bij zonder die biasing te versterken, dan trek je het rustniveau omlaag en krijg je precies de CRC-fouten die je wilde voorkomen. Lees dus de datasheet voordat je termineert.
Hoeveel apparaten en hoeveel meter?
Zonder repeater zijn 32 apparaten altijd toegestaan, en met biasing op de bus zijn dat er 28. Het adresbereik van 1 tot 247 klinkt als 247 apparaten, maar dat is een protocolgrens, geen elektrische. Meer dan 32 kan alleen als elk apparaat een fractionele unit load heeft en de datasheet dat ook zo vermeldt.
Voor lengte geldt hetzelfde onderscheid. De spec noemt 1000 m bij 9600 baud met AWG26 of dikker, en 600 m met Cat5-kabel; de bredere RS485-literatuur houdt 1200 m aan als kabelgrens. Verhoog je de snelheid, dan levert de lengte in:
| Baudrate | Praktische ontwerplengte |
|---|---|
| 9600 | 1000 m |
| 19200 | 500 m |
| 38400 | 250 m |
Welke kabel die lengte haalt, staat in de vergelijking van RS485 kabels voor Modbus.
Welke topologie mag, en welke niet
Een RS485-segment is een doorlopende lijn met precies twee uiteinden, waarlangs apparaten hangen. Aftakkingen (in het Engels stubs) mogen, mits kort: maximaal 20 m, en bij een tap met n aftakkingen maximaal 40 gedeeld door n meter per stuk. Hoe sneller je communiceert, hoe korter ze moeten zijn: boven 19200 baud ga je richting enkele meters. Hoe deze fysieke laag onder het protocol zelf hangt, staat in het naslagartikel over Modbus RTU.
Een ster is dus geen kwestie van smaak. Hij heeft geen twee uiteinden, dus je kunt hem niet termineren, en de reflecties van elke tak komen bij elk apparaat terug.
Veelgemaakte fouten
Terminatie overal plaatsen. Bij elk apparaat een weerstand zetten voelt grondig, maar elke extra weerstand belast de bus. Drie parallelle weerstanden van 120 ohm brengen je op 40 ohm en dan komt de zender niet meer aan zijn 1,5 V. Zet er twee, aan de twee fysieke uiteinden.
De common weglaten omdat het toch werkt. Zonder referentie kan de common-mode spanning buiten -7 V tot +12 V lopen. Je krijgt een installatie die maanden werkt en dan opeens niet meer, meestal precies wanneer er een frequentieregelaar bijkomt. Trek de derde draad mee.
A en B als betrouwbaar label lezen. Twee merken kunnen tegengesteld labelen, en het paar omdraaien geeft geen enkele foutmelding. Reageert een node als enige niet, draai het paar dan om en meet daarna de rustspanning.
Een ster leggen omdat de kabelweg dat handig maakt. Reflecties uit de takken zijn niet weg te termineren. Lus de kabel door van apparaat naar apparaat, ook als dat meer meter kost.
Aan de slag
Deze oefening leert je meten in plaats van proberen. Je hebt een multimeter nodig en een bus die je even mag stilzetten.
- 1
Zet de client stil
Stop het pollen, zodat er geen verkeer meer op de bus staat. Zolang er verkeer is, meet je een gemiddelde en geen rusttoestand.
- 2
Meet tussen D0 en D1
Zet de multimeter op gelijkspanning, zwarte probe op D0, rode op D1. Noteer de waarde en het teken. Bij correcte biasing staat D1 positiever dan D0, in de orde van enkele honderden millivolt.
- 3
Draai het paar om en meet opnieuw
Verwissel op een apparaat de twee draden en meet nog een keer. Het teken draait om. Dat is het beeld dat je in het veld herkent, en het beschadigt niets.
- 4
Meet tegen de common
Meet tussen D0 en de common, en tussen D1 en de common. Zo zie je dat het signaal symmetrisch rond de referentie ligt in plaats van rond de aarde.
- 5
Maak de bus spanningsloos
Pas daarna is een weerstandsmeting zinvol en ongevaarlijk.
- 6
Meet de weerstand tussen D0 en D1
Vergelijk je meting met de tabel hieronder en leid daaruit af hoeveel terminaties er in de bus zitten.
1 x 120 ohm = 120 ohm
2 x 120 ohm parallel = 60 ohm
3 x 120 ohm parallel = ? ohm
Zonder installatie. Leg twee weerstanden en een stukje kabel op tafel en doe alleen de weerstandsmeting, of reken de open regel op papier uit.
Verwacht resultaat: een meting waarvan het teken omdraait als je het paar omdraait, en een weerstandswaarde waaruit je afleidt hoeveel terminaties er in de bus zitten. De open regel komt uit op 40 ohm. Meet je dat op een echte installatie, dan zit er een weerstand te veel in de bus. Welke instellingen daarna op alle apparaten gelijk moeten staan, behandelt de les over baudrate, pariteit en timing.
Samenvatting
- RS485 draagt data als het spanningsverschil tussen D0 en D1, waardoor ruis die beide draden even hard raakt wegvalt.
- A en B zijn per fabrikant onbetrouwbaar: in rust staat D1 positiever dan D0, en dat meet je na.
- Een "two-wire" Modbus-bus heeft drie geleiders, want zonder common loopt de common-mode spanning buiten -7 V tot +12 V.
- Termineer aan de twee fysieke uiteinden: drie weerstanden van 120 ohm brengen de bus op 40 ohm en de zender haalt zijn 1,5 V niet.
- Biasing is iets anders dan terminatie: het houdt de bus in rust op niveau en kost je 4 van je 32 apparaten.
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.