Wat is RS485?
RS485 is een norm voor elektrische overdracht, geen protocol. De data gaat als spanningsverschil tussen twee aders, meestal A en B genoemd, soms ook D+ en D−. Omdat de ontvanger alleen het verschil beoordeelt, heffen storingen die beide aders gelijk treffen elkaar grotendeels op. Daarom werkt RS485 ook in schakelkasten met frequentieregelaars en over lange afstanden.
Klassiek verdraagt een segment 32 deelnemers (unit loads); moderne drivers belasten de bus maar met een fractie daarvan. De leiding mag ongeveer 1200 m lang zijn, bij hoge baudrates minder.
Over RS485 lopen verschillende protocollen, naast Modbus RTU bijvoorbeeld BACnet MS/TP. Bij een RS485 kWh-meter is dus pas samen met het protocol duidelijk hoe hij wordt uitgelezen.
Hoe wordt een RS485-bus juist bekabeld?
- Als lijn leggen: van apparaat naar apparaat, zonder ster en zonder lange aftakkingen.
- Aan beide uiteinden van de leiding één afsluitweerstand van 120 Ω plaatsen, niet bij elk apparaat.
- Getwiste, afgeschermde datakabel gebruiken, idealiter met een karakteristieke impedantie van ongeveer 120 Ω.
- De referentiemassa (GND) meevoeren als de apparaten ver uit elkaar liggen of verschillend worden gevoed.
- Bij alle apparaten dezelfde baudrate, pariteit en stopbits instellen.
De meest voorkomende valkuilen bij de busopbouw staan in het artikel Modbus RTU via RS-485: de vijf meest voorkomende valkuilen.
Wat is Modbus RTU?
Modbus is een open protocol dat Modicon in 1979 voor besturingen heeft ontwikkeld. RTU staat voor Remote Terminal Unit en duidt de binaire variant voor seriële leidingen aan. Een master, zoals een PLC, een datalogger of een energiemanagementsysteem, stuurt een verzoek naar een slave-adres, en alleen dat apparaat antwoordt. Uit zichzelf zendt een slave nooit.
Een telegram bestaat uit adres, functiecode, data en een CRC16-controlesom. Tussen twee telegrammen ligt een pauze van minstens 3,5 tekenlengtes; daaraan herkennen de apparaten begin en einde.
| Functiecode | Betekenis | Typische toepassing |
|---|---|---|
| 03 | Holding registers lezen | Meetwaarden en instellingen |
| 04 | Input registers lezen | Meetwaarden |
| 06 | Eén register schrijven | Een instelling wijzigen |
| 16 | Meerdere registers schrijven | Meerdere waarden in één blok schrijven |
Hoe leest u Modbus-registers juist uit?
Modbus kent alleen 16-bitregisters. Een meterstand van 32 of 64 bit wordt verdeeld over twee of vier opeenvolgende registers. Of het hoogste woord eerst komt, bepaalt elke fabrikant zelf. Levert een systeem onzinnige waarden, dan is meestal de byte- of woordvolgorde verwisseld.
Ook de telling van de adressen verschilt: sommige handleidingen tellen vanaf 0, andere vanaf 1. Is een waarde precies één register verschoven, dan ligt het bijna altijd daaraan.
Wanneer past Modbus RTU via RS485?
Modbus RTU past wanneer een besturing of datalogger meters in dezelfde schakelkast of hetzelfde gebouw direct uitleest en er geen netwerk naar de meters loopt. Met veel meters in meerdere gebouwen of meerdere doelsystemen loont een gateway. De vergelijking met de netwerkvariant vindt u in het artikel Modbus TCP of Modbus RTU? en op de pagina Wat is Modbus TCP?.
RS485 en Modbus RTU met apparaten van EMU
De RS485 kWh-meter EMU Professional II spreekt Modbus RTU, als EMU Professional II 3/100 voor directe aansluiting tot 100 A of als 3/5 voor aansluiting via stroomtransformatoren.
De EMU M-Center heeft twee RS485-aansluitingen, leest tot 64 Modbus RTU-apparaten uit en geeft de waarden door via BACnet IP of MQTT.