Hva er RS485?
RS485 er en standard for elektrisk overføring, ikke en protokoll. Dataene går som spenningsforskjell mellom to ledere, som regel kalt A og B, noen ganger D+ og D−. Fordi mottakeren bare vurderer forskjellen, opphever støy som treffer begge lederne likt, i stor grad hverandre. Derfor fungerer RS485 også i tavler med frekvensomformere og over lange avstander.
Klassisk tåler et segment 32 deltakere (unit loads); moderne drivere belaster bussen bare med en brøkdel av det. Ledningen kan være ca. 1200 m lang, mindre ved høye baudrater.
Over RS485 går ulike protokoller, i tillegg til Modbus RTU for eksempel BACnet MS/TP. Ved en RS485-strømmåler er det derfor først sammen med protokollen klart hvordan den leses av.
Hvordan kables en RS485-buss riktig?
- Legg den som linje: fra enhet til enhet, uten stjerne og uten lange avgreninger.
- Sett én termineringsmotstand på 120 Ω i hver av ledningens to ender, ikke ved hver enhet.
- Bruk tvunnet, skjermet datakabel, helst med en karakteristisk impedans rundt 120 Ω.
- Før referansejorden (GND) med hvis enhetene står langt fra hverandre eller forsynes ulikt.
- Still inn samme baudrate, paritet og stoppbit på alle enheter.
De vanligste fallgruvene ved oppbygging av bussen er beskrevet i artikkelen Modbus RTU over RS-485: de fem vanligste fallgruvene.
Hva er Modbus RTU?
Modbus er en åpen protokoll som Modicon utviklet for styringer i 1979. RTU står for Remote Terminal Unit og betegner den binære varianten for serielle ledninger. En master, for eksempel en PLS, en datalogger eller et energistyringssystem, sender en forespørsel til en slaveadresse, og bare den enheten svarer. En slave sender aldri av seg selv.
Et telegram består av adresse, funksjonskode, data og en CRC16-sjekksum. Mellom to telegrammer ligger en pause på minst 3,5 tegnlengder, og ut fra den gjenkjenner enhetene start og slutt.
| Funksjonskode | Betydning | Typisk bruk |
|---|---|---|
| 03 | Les holding-registre | Måleverdier og innstillinger |
| 04 | Les input-registre | Måleverdier |
| 06 | Skriv ett register | Endre en innstilling |
| 16 | Skriv flere registre | Skriv flere verdier i én blokk |
Hvordan leser man Modbus-registre riktig?
Modbus kjenner bare 16-bits registre. En målerstand på 32 eller 64 bit fordeles på to eller fire etterfølgende registre. Om det mest signifikante ordet kommer først, bestemmer hver produsent selv. Leverer et system meningsløse verdier, er byte- eller ordrekkefølgen som regel byttet om.
Også tellemåten for adressene varierer: Noen håndbøker teller fra 0, andre fra 1. Er en verdi forskjøvet nøyaktig ett register, er det nesten alltid årsaken.
Når passer Modbus RTU over RS485?
Modbus RTU passer når en styring eller datalogger leser av målere direkte i samme tavle eller bygning, og det ikke går noe nettverk ut til målerne. Med mange målere i flere bygninger eller flere målsystemer lønner en gateway seg. Sammenligningen med nettverksvarianten finner du i artikkelen Modbus TCP eller Modbus RTU? og på siden Hva er Modbus TCP?.
RS485 og Modbus RTU med enheter fra EMU
RS485-strømmåleren EMU Professional II snakker Modbus RTU, som EMU Professional II 3/100 for direkte tilkobling opptil 100 A eller som 3/5 for tilkobling via strømtransformatorer.
EMU M-Center har to RS485-tilkoblinger, leser opptil 64 Modbus RTU-enheter og sender verdiene videre via BACnet IP eller MQTT.