Hvad er RS485?
RS485 er en standard for elektrisk overførsel, ikke en protokol. Dataene går som spændingsforskel mellem to ledere, som regel kaldet A og B, nogle gange D+ og D−. Fordi modtageren kun vurderer forskellen, ophæver støj, der rammer begge ledere ens, i vid udstrækning hinanden. Derfor fungerer RS485 også i tavler med frekvensomformere og over lange afstande.
Klassisk kan et segment klare 32 deltagere (unit loads); moderne drivere belaster kun bussen med en brøkdel af det. Ledningen må være ca. 1200 m lang, mindre ved høje baudrater.
Der kører forskellige protokoller over RS485, ud over Modbus RTU for eksempel BACnet MS/TP. Ved en RS485-strømmåler er det derfor først sammen med protokollen klart, hvordan den aflæses.
Hvordan kables en RS485-bus korrekt?
- Læg den som linje: fra enhed til enhed, uden stjerne og uden lange afgreninger.
- Sæt én termineringsmodstand på 120 Ω i hver af ledningens to ender, ikke ved hver enhed.
- Brug snoet, skærmet datakabel, helst med en karakteristisk impedans omkring 120 Ω.
- Før referencestellet (GND) med, hvis enhederne står langt fra hinanden eller forsynes forskelligt.
- Indstil samme baudrate, paritet og stopbit på alle enheder.
De hyppigste faldgruber ved opbygningen af bussen er beskrevet i artiklen Modbus RTU over RS-485: de fem hyppigste faldgruber.
Hvad er Modbus RTU?
Modbus er en åben protokol, som Modicon udviklede til styringer i 1979. RTU står for Remote Terminal Unit og betegner den binære variant til serielle ledninger. En master, for eksempel en PLC, en datalogger eller et energistyringssystem, sender en forespørgsel til en slaveadresse, og kun den enhed svarer. En slave sender aldrig af sig selv.
Et telegram består af adresse, funktionskode, data og en CRC16-kontrolsum. Mellem to telegrammer ligger en pause på mindst 3,5 tegnlængder, og ud fra den genkender enhederne start og slut.
| Funktionskode | Betydning | Typisk anvendelse |
|---|---|---|
| 03 | Læs holding-registre | Måleværdier og indstillinger |
| 04 | Læs input-registre | Måleværdier |
| 06 | Skriv ét register | Ændre en indstilling |
| 16 | Skriv flere registre | Skriv flere værdier i én blok |
Hvordan læser man Modbus-registre korrekt?
Modbus kender kun 16-bit-registre. En målerstand på 32 eller 64 bit fordeles på to eller fire på hinanden følgende registre. Om det mest betydende ord kommer først, bestemmer hver producent selv. Leverer et system meningsløse værdier, er byte- eller ordrækkefølgen som regel byttet om.
Også tællemåden for adresserne er forskellig: Nogle manualer tæller fra 0, andre fra 1. Er en værdi forskudt præcis ét register, er det næsten altid årsagen.
Hvornår passer Modbus RTU over RS485?
Modbus RTU passer, når en styring eller datalogger aflæser målere direkte i samme tavle eller bygning, og der ikke går et netværk ud til målerne. Med mange målere i flere bygninger eller flere målsystemer betaler en gateway sig. Sammenligningen med netværksvarianten finder du i artiklen Modbus TCP eller Modbus RTU? og på siden Hvad er Modbus TCP?.
RS485 og Modbus RTU med enheder fra EMU
RS485-strømmåleren EMU Professional II taler Modbus RTU, som EMU Professional II 3/100 til direkte tilslutning op til 100 A eller som 3/5 til tilslutning via strømtransformere.
EMU M-Center har to RS485-tilslutninger, læser op til 64 Modbus RTU-enheder og sender værdierne videre via BACnet IP eller MQTT.