Co je RS485?
RS485 je norma pro elektrický přenos, nikoli protokol. Data putují jako rozdíl napětí mezi dvěma vodiči, obvykle označenými A a B, někdy D+ a D−. Protože přijímač vyhodnocuje jen rozdíl, rušení působící stejně na oba vodiče se z velké části vyruší. Proto RS485 funguje i v rozvaděčích s frekvenčními měniči a na dlouhé vzdálenosti.
Klasicky zvládne jeden segment 32 účastníků (unit loads); moderní budiče zatěžují sběrnici jen zlomkem této hodnoty. Vedení může být dlouhé asi 1200 m, při vysokých rychlostech méně.
Po RS485 běží různé protokoly, kromě Modbus RTU například BACnet MS/TP. U elektroměru RS485 je proto teprve spolu s protokolem jasné, jak se odečítá.
Jak správně zapojit sběrnici RS485?
- Vést jako linii: od zařízení k zařízení, bez hvězdy a bez dlouhých odboček.
- Na každý ze dvou konců vedení dát jeden zakončovací odpor 120 Ω, ne ke každému zařízení.
- Použít kroucený stíněný datový kabel, ideálně s vlnovou impedancí kolem 120 Ω.
- Vést i referenční zem (GND), pokud jsou zařízení daleko od sebe nebo jsou napájena různě.
- Na všech zařízeních nastavit stejnou přenosovou rychlost, paritu a stop bity.
Nejčastější úskalí při stavbě sběrnice popisuje článek Modbus RTU po RS-485: pět nejčastějších úskalí.
Co je Modbus RTU?
Modbus je otevřený protokol, který společnost Modicon vyvinula v roce 1979 pro řídicí systémy. RTU znamená Remote Terminal Unit a označuje binární variantu pro sériová vedení. Master, například PLC, datalogger nebo systém energetického managementu, pošle dotaz na adresu slave a odpoví jen toto zařízení. Slave nikdy nevysílá sám od sebe.
Telegram se skládá z adresy, funkčního kódu, dat a kontrolního součtu CRC16. Mezi dvěma telegramy je pauza nejméně 3,5 znaku, podle níž zařízení rozpoznají začátek a konec.
| Funkční kód | Význam | Typické použití |
|---|---|---|
| 03 | Čtení holding registrů | Naměřené hodnoty a nastavení |
| 04 | Čtení input registrů | Naměřené hodnoty |
| 06 | Zápis jednoho registru | Změna nastavení |
| 16 | Zápis více registrů | Zápis více hodnot v jednom bloku |
Jak správně číst registry Modbus?
Modbus zná jen 16bitové registry. Stav měřiče s 32 nebo 64 bity se rozloží do dvou nebo čtyř po sobě jdoucích registrů. Zda je vyšší slovo první, určuje každý výrobce sám. Pokud systém vrací nesmyslné hodnoty, bývá obvykle prohozené pořadí bajtů nebo slov.
Liší se i číslování adres: některé návody počítají od 0, jiné od 1. Pokud je hodnota posunutá přesně o jeden registr, je to téměř vždy příčina.
Kdy se hodí Modbus RTU po RS485?
Modbus RTU se hodí, když řídicí systém nebo datalogger dotazuje měřiče přímo ve stejném rozvaděči nebo budově a k měřičům nevede žádná síť. Při mnoha měřičích v několika budovách nebo několika cílových systémech se vyplatí brána. Srovnání se síťovou variantou najdete v článku Modbus TCP, nebo Modbus RTU? a na stránce Co je Modbus TCP?.
RS485 a Modbus RTU se zařízeními EMU
Elektroměr RS485 EMU Professional II komunikuje přes Modbus RTU, jako EMU Professional II 3/100 pro přímé připojení do 100 A nebo jako 3/5 pro připojení přes měřicí transformátory proudu.
EMU M-Center má dvě připojení RS485, čte až 64 zařízení Modbus RTU a předává hodnoty dál přes BACnet IP nebo MQTT.