Vad är RS485?
RS485 är en standard för elektrisk överföring, inte ett protokoll. Data går som spänningsskillnad mellan två ledare, oftast kallade A och B, ibland D+ och D−. Eftersom mottagaren bara utvärderar skillnaden tar störningar som träffar båda ledarna lika i stort sett ut varandra. Därför fungerar RS485 även i apparatskåp med frekvensomriktare och över långa avstånd.
Klassiskt klarar ett segment 32 deltagare (unit loads); moderna drivkretsar belastar bussen bara med en bråkdel av det. Ledningen får vara cirka 1200 m lång, kortare vid höga baudhastigheter.
Över RS485 går olika protokoll, förutom Modbus RTU till exempel BACnet MS/TP. För en RS485-elmätare är det därför först tillsammans med protokollet klart hur den läses av.
Hur kopplas en RS485-buss rätt?
- Dra den som linje: från enhet till enhet, utan stjärna och utan långa avgreningar.
- Sätt ett termineringsmotstånd på 120 Ω i vardera av ledningens två ändar, inte vid varje enhet.
- Använd partvinnad, skärmad datakabel, helst med en karakteristisk impedans kring 120 Ω.
- Dra med referensjorden (GND) om enheterna står långt från varandra eller matas olika.
- Ställ in samma baudhastighet, paritet och stoppbitar på alla enheter.
De vanligaste fallgroparna vid uppbyggnaden av bussen beskrivs i artikeln Modbus RTU över RS-485: de fem vanligaste fallgroparna.
Vad är Modbus RTU?
Modbus är ett öppet protokoll som Modicon utvecklade för styrsystem 1979. RTU står för Remote Terminal Unit och betecknar den binära varianten för seriella ledningar. En master, till exempel en PLC, en datalogger eller ett energiövervakningssystem, skickar en förfrågan till en slavadress, och bara den enheten svarar. En slav sänder aldrig på eget initiativ.
Ett telegram består av adress, funktionskod, data och en CRC16-kontrollsumma. Mellan två telegram finns en paus på minst 3,5 teckenlängder, och utifrån den känner enheterna igen början och slut.
| Funktionskod | Betydelse | Typisk användning |
|---|---|---|
| 03 | Läs holding-register | Mätvärden och inställningar |
| 04 | Läs input-register | Mätvärden |
| 06 | Skriv ett register | Ändra en inställning |
| 16 | Skriv flera register | Skriv flera värden i ett block |
Hur läser man Modbus-register rätt?
Modbus känner bara till 16-bitars register. En mätarställning på 32 eller 64 bitar fördelas på två eller fyra på varandra följande register. Om det mest signifikanta ordet kommer först bestämmer varje tillverkare själv. Ger ett system orimliga värden är oftast byte- eller ordningsföljden omkastad.
Även räknesättet för adresserna skiljer sig: vissa manualer räknar från 0, andra från 1. Är ett värde förskjutet exakt ett register är det nästan alltid orsaken.
När passar Modbus RTU över RS485?
Modbus RTU passar när ett styrsystem eller en datalogger läser av mätare direkt i samma apparatskåp eller byggnad och det inte finns något nätverk fram till mätarna. Med många mätare i flera byggnader eller flera målsystem lönar sig en gateway. Jämförelsen med nätverksvarianten finns i artikeln Modbus TCP eller Modbus RTU? och på sidan Vad är Modbus TCP?.
RS485 och Modbus RTU med enheter från EMU
RS485-elmätaren EMU Professional II talar Modbus RTU, som EMU Professional II 3/100 för direktanslutning upp till 100 A eller som 3/5 för anslutning via strömtransformatorer.
EMU M-Center har två RS485-anslutningar, läser upp till 64 Modbus RTU-enheter och skickar värdena vidare via BACnet IP eller MQTT.