Protokol Modbus RTU je jako „společný jazyk“ mezi průmyslovými zařízeními a umožňuje plynulou „komunikaci“ mezi zařízeními, jako jsou elektroměry a senzory různých značek.
Ukázka aplikace komunikačního protokolu Modbus
Tento článek vás provede aplikací Modbus RTU v elektroměrech tím nejjednodušším a nejsrozumitelnějším způsobem. I když jste úplný nováček bez technických znalostí, můžete snadno pochopit základní body tohoto důležitého průmyslového komunikačního protokolu.

Co je protokol Modbus RTU?
Modbus RTU je sériový komunikační protokol původně vyvinutý společností Modicon (nyní součást Schneider Electric) v roce 1979 pro její PLC (Programmable Logic Controllers).
Dnes se stal jedním z nejpoužívanějších protokolů v průmyslové automatizaci, který podporuje více než 400 výrobců po celém světě.
Proč se tomu říká "RTU"? RTU je zkratka pro „Remote Terminal Unit“, což znamená, že tento protokol se primárně používá pro komunikaci mezi vzdálenými zařízeními. Je to jako „systém textových zpráv“ mezi elektrickými zařízeními, vyměňující si data prostřednictvím jednoduchého mechanismu požadavků a odpovědí.
Jak funguje Modbus RTU?
Modbus RTU používá hlavní-podřízenou komunikační architekturu, jako je učitel a studenti ve třídě.
- Mistr: „Učitel“, obvykle počítač, PLC nebo koncentrátor, je zodpovědný za iniciování otázek a příkazů.
- Slave: „Student“, jako je elektroměr nebo senzor, může pouze odpovídat na otázky učitele a nemůže samostatně mluvit. (V aplikacích elektroměrů...)

Formát zprávy Modbus RTU
"Šablona SMS" mezi zařízeními
Komunikační zprávy Modbus RTU jsou jako pečlivě vytvořené textové zprávy s pevnými požadavky na formát.
Kompletní zpráva Modbus RTU obsahuje následující části:
| Kód adresy | Kód funkce | Datové pole | Kontrolní kód |
|---|---|---|---|
| 8 bitů | 8 bitů | N × 8 bitů | 16 bitů |
- Kód adresy (1 bajt): Ekvivalent k „telefonnímu číslu příjemce“, identifikující adresu cílového elektroměru (1-247), s 0 pro adresu vysílání.
- Kód funkce (1 bajt): Ekvivalent „typu textové zprávy“, který dává elektroměru pokyn k provedení operace (např. čtení dat, zápis dat atd.).
- Datové pole (N bajtů): Specifické informace, které mají být přenášeny, jako je adresa registru, hodnota dat atd.
- Kontrolní součet CRC (2 bajty): Ekvivalent „kódu proti padělání-“, který se používá ke kontrole chyb během přenosu.
Typická zpráva pro čtení celkových kladných dat aktivní energie z elektroměru UBS je následující:
[Adresa 00][Kód funkce 03][Počáteční adresa 00 0C][Délka čtení 00 02][Kontrolní součet CRC 05 D9]
To je ekvivalentní proslovu: "Všechny měřiče, prosím odečtěte data z registru 000C, počínaje registrem 1."
Po obdržení zprávy odpoví měřič #1:
[Adresa 01][Kód funkce 03][Délka dat 04][Data 00 00 00 00][Kontrolní součet CRC FA 33]
To znamená: "Měřič č. 1 odpověděl: Načtená celková kladná hodnota aktivní energie je 00 00 00 00 (hexadecimální)" (Poznámka: Tento měřič č. 1 je nový, nepoužitý měřič). Obrázek níže je ukázkou testu:

"Datová kniha" v elektroměru: Vysvětlení registru
V protokolu Modbus RTU jsou všechna data z elektroměru uložena v „tabulkovém procesoru“-registru. Registry se dělí hlavně na čtyři typy:
| Typ registrace | Oprávnění ke čtení/zápisu | Funkční kódy | Typický uložený obsah |
|---|---|---|---|
| Registr cívek | Čtení/zápis | 01, 05 | Stav relé, ovládání spínače |
| Diskrétní vstupní registr | Pouze pro čtení- | 02 | Digitální vstup (např. poplachové signály) |
| Vstupní registr | Pouze pro čtení- | 04 | Data měření v reálném čase{0} (napětí, proud atd.) |
| Držitelský registr | Čtení/zápis | 03, 06 | Parametry zařízení, akumulovaná energie atd. |
V aplikacích elektroměrů jsou nejběžnější registry:
Vstupní registr
(Kód funkce 04H): Ukládá naměřená data v reálném čase-, jako je napětí, proud a výkon.
Držitelský registr
(Kód funkce 03H): Ukládá akumulovanou spotřebu elektřiny, parametry zařízení atd.
UBS Energy Meter Tabulka informací o adrese registru Modbus
Adresa vysílání protokolu Modbus je 0x00. Podrobné informace o adrese registru protokolu Modbus pro elektroměry UBS naleznete v tabulce níže:
| Registrace (hexadecimální) | Název proměnné | Atribut (jednotka / R/W) | Typ dat | Počítat | Poznámky |
|---|---|---|---|---|---|
| 0x0000 | Stejnosměrné napětí | Jednotka: V, R/W: RO | S16 | 1 | Rozsah: -9999~9999; Čtení=Efektivní hodnota × 10^(desetinná čárka) |
| 0x0001 | Desetinná čárka napětí | Jednotka: Žádná, R/W: RO | U16 | 1 | Pevná hodnota: 0 |
| 0x0002 | Hodnota stejnosměrného proudu | Jednotka: A, R/W: RO | S16 | 1 | Rozsah: -9999~9999 |
| 0x0003 | Aktuální desetinná čárka | Jednotka: Žádná, R/W: RO | U16 | 1 | Pevná hodnota: 1 |
| 0x0008 | Hodnota výkonu | Jednotka: kW, R/W: RO | S16 | 1 | Rozsah: -9999~9999 |
| 0x0009 | Výkon Desetinná čárka | Jednotka: Žádná, R/W: RO | U16 | 1 | Pevná hodnota: 1 |
| 0x000C | Celková dopředná aktivní energie | Jednotka: 0,001kWh, R/W: RO | U32 | 2 | High byte first, low byte last; Příklad: Pokud data čtou=5000, desetinná tečka=2 → Skutečná hodnota=5000 × 10^(2-3)=500.0 |
| 0x203C | Napětí kanálu 1 | Jednotka: 0,0001V, R/W: RO | I32 | 2 | Vysoký bajt první, nízký bajt poslední |
| 0x203E | Napětí kanálu 2 | Jednotka: 0,0001V, R/W: RO | I32 | 2 | Vždy 0 |
| 0x2040 | Kanál 1 Aktuální | Jednotka: 0,0001A, R/W: RO | I32 | 2 | Vysoký bajt první, nízký bajt poslední |
| 0x2042 | Kanál 2 Aktuální | Jednotka: 0,0001A, R/W: RO | I32 | 2 | Vždy 0 |
| 0x2044 | Napájení kanálu 1 | Jednotka: 0,0001kW, R/W: RO | I32 | 2 | Vysoký bajt první, nízký bajt poslední |
| 0x2046 | Napájení kanálu 2 | Jednotka: 0,0001kW, R/W: RO | I32 | 2 | Vždy 0 |
| 0x9A00 | Dopředná aktivní celková energie | Jednotka: kWh, R/W: RO | plovák | 2 | |
| 0xA001/0x8900 | Adresa zařízení | Jednotka: Žádná, R/W: RW | U16 | 1 | Rozsah: 0~247 |
Ukázka čtení zpráv měřiče spotřeby energie UBS
Pomocí softwaru hostitelského počítače elektroměru UBS odečtěte následující data z inteligentního elektroměru DJZ1226 DC: celková kladná činná energie, napětí, proud, výkon a adresa elektroměru.

Jak je znázorněno na obrázku výše, podrobný obsah zpráv odeslaných a přijatých hostitelským počítačem je následující:
13:25:30.229 Celková kladná aktivní energie(000C0002) ...
13:25:30.256 ▼Odeslat:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Přijmout:01 03 04 00 00 00 00 FA 33
13:25:30.359 DC napětí(00000002) ...
13:25:30.424 ▼Odeslat:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Příjem:{3}}A 36
13:25:30.494 DC proud(00020002) ...
13:25:30.522 ▼Odeslat:00 03 00 02 00 02 64 1A
13:25:30.610 ▲Příjem:{3}}B FD
13:25:30.621 Výkon(00080002) ...
13:25:30.682 ▼Odeslat:00 03 00 08 00 02 44 18
13:25:30.690 ▲Příjem:{3}}A 32
13:25:30.702 Komunikační adresa 2(A0010001) ...
13:25:30.779 ▼Odeslat:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Přijmout:01 03 02 00 01 79 84
13:25:30.795 Konec čtení dat.
Běžné problémy a techniky odstraňování problémů
I když je protokol Modbus RTU relativně jednoduchý, v praktických aplikacích mohou stále nastat různé problémy. Následují běžné závady a řešení v komunikaci elektroměrů:
Žádná komunikační odezva
● Zkontrolujte fyzické připojení:
▪ Je správné zapojení RS-485 (linky A/B obrácené)?
▪ Jsou zakončovací odpory přizpůsobeny (obecně připojte 120Ω odpory na každý konec sběrnice)?
▪ Je komunikační vzdálenost překročena limit (RS-485 může teoreticky dosáhnout 1200 metrů, ale skutečné vzdálenosti jsou ovlivněny faktory prostředí).
● Ověřte nastavení parametrů:
▪ Jsou přenosová rychlost, datové bity, stop bity a nastavení parity v souladu s elektroměrem?
▪ Je adresa zařízení nastavena správně (žádné duplicitní adresy)?
Přerušovaná komunikace
● Zkontrolujte rušení linky:
▪ Použijte kroucený{0}}párový stíněný kabel a ujistěte se, že stínění je na jednom konci uzemněné.
▪ Neveďte kabel souběžně s vysokonapěťovými kabely-.
● Testování jednotlivých zařízení:
▪ Připojte každý elektroměr samostatně, abyste mohli odstraňovat závady na vadných zařízeních.
▪ Použijte vyhrazený hostitelský počítačový software UBS Electronics (jako je AMS) ke komunikaci přímo s elektroměrem a určení problému.
Chyby dat
● Ověření kontroly CRC:
▪ Zkontrolujte, zda jsou odeslané a přijaté CRC kódy konzistentní.
▪ Potvrďte pořadí datových bajtů (Modbus RTU je obvykle little{0}}endian).
● Kontrola mapování registrů:
▪ Ujistěte se, že použité adresy registru odpovídají návodu k elektroměru.
▪ Poznamenejte si posun adresy registru.
Pokud potřebujete použít hostitelský počítačový software UBS (protokol Modbus RTU) uvedený v tomto článku, obraťte se na osobu, která má na starosti vaši objednávku elektroměru UBS, a získejte další poprodejní{0}}technickou podporu.




