- Domov
- Slovník pojmů
- Modbus (automatizace budov)
Modbus (automatizace budov)
Modbus je otevřený protokol typu klient a server, který umožňuje řídicím jednotkám číst a zapisovat data zařízení přes sériovou linku RS-485 nebo Ethernet.
Modbus je otevřený komunikační protokol, který řídicímu zařízení umožňuje číst a zapisovat data uložená uvnitř koncových zařízení. Běží po sériové sběrnici RS-485, které se říká Modbus RTU, nebo po Ethernetu, kterému se říká Modbus TCP. Některé fotovoltaické (PV) střídače a energetické měřiče ho podporují. Například střídač Fronius GEN24 podporuje obě varianty a předává data z chytrého měřiče Fronius Smart Meter.
Co je Modbus a odkud pochází?
Modbus je protokol aplikační vrstvy, který se nachází na úrovni 7 modelu OSI. Zajišťuje komunikaci typu klient a server mezi zařízeními na různých typech sběrnic a sítí. Specifikace Modbusu ho označuje za průmyslový sériový de facto standard od roku 1979. Klient odešle požadavek a server na něj odpoví. Protokol definuje formát zprávy a sadu funkčních kódů. Neurčuje však, co jednotlivé registry znamenají, a proto každý výrobce zařízení tento význam popisuje ve vlastním seznamu registrů.
Starší dokumenty používají označení master a slave. Příručka Modbus over Serial Line je stále používá, zatímco specifikace aplikačního protokolu hovoří o klientovi a serveru.
Jak funguje Modbus RTU na sériové sběrnici?
Modbus RTU je sériová varianta. Příručka k sériové lince označuje za nejrozšířenější dvouvodičové rozhraní RS-485. Režim RTU je pro každé zařízení povinný, zatímco režim ASCII je volitelný. Přenosový režim a nastavení sériového portu musí být u všech zařízení na jedné lince stejné.
Každou transakci zahajuje jeden master. Na lince může být připojeno až 247 slave zařízení a každé z nich má jedinečnou adresu v rozsahu 1 až 247. Slave zařízení nikdy neodešle data, dokud o ně master nepožádá. Každý rámec končí kontrolním součtem CRC, takže příjemce může poškozenou zprávu odmítnout. Master, který na jednom kabelu dotazuje střídač a měřič, odešle požadavek, počká na odpověď a poté se zeptá na další zařízení.
Jak Modbus TCP přidává ethernetovou hlavičku?
Modbus TCP přenáší stejná data požadavku a odpovědi uvnitř spojení TCP/IP na registrovaném portu 502. Každá zpráva začíná hlavičkou MBAP o délce 7 bajtů. Obsahuje identifikátor transakce, který páruje požadavky s odpověďmi, protokolový identifikátor, který je u Modbusu nulový, pole délky a identifikátor jednotky. Brána využívá identifikátor jednotky k oslovení zařízení připojeného za ní na sériové lince. Tabulka porovnává obě varianty.
| Vlastnost | Modbus RTU | Modbus TCP |
|---|---|---|
| Přenosové médium | Sériová linka, nejčastěji dvouvodičová RS-485 | TCP/IP přes Ethernet |
| Adresování zařízení | Adresa slave v rozsahu 1 až 247 na jedné sběrnici | IP adresa a identifikátor jednotky za bránou |
| Kontrola chyb | CRC na konci každého rámce | Hlavička MBAP neobsahuje pole CRC. Ethernetový rámec nese vlastní CRC-32 |
| Registrovaný port | Neuplatňuje se | TCP port 502 |
| Maximální velikost zprávy | 256 bajtů na sériové lince | 260 bajtů přes TCP |
Jaká data může zařízení s Modbusem zpřístupnit?
Specifikace definuje čtyři datové tabulky. Diskrétní vstupy a cívky (coils) obsahují jednotlivé bity. Vstupní registry a držicí registry obsahují 16bitová slova. Diskrétní vstupy a vstupní registry jsou pouze pro čtení. Klient může zapisovat do cívek a držicích registrů. Protokol čísluje cívky, diskrétní vstupy i registry od nuly. Cívky očíslované v manuálu 1 až 16 mají na lince adresy 0 až 15. Datová jednotka protokolu obsahuje nejvýše 253 bajtů, takže jeden požadavek na čtení vrátí omezený blok hodnot.
| Datová tabulka | Velikost | Přístup |
|---|---|---|
| Diskrétní vstupy | Jeden bit | Pouze pro čtení |
| Cívky | Jeden bit | Čtení i zápis |
| Vstupní registry | 16bitové slovo | Pouze pro čtení |
| Držicí registry | 16bitové slovo | Čtení i zápis |
Jak PV střídače, měřiče a tepelná čerpadla využívají Modbus?
Manuál k střídači Fronius GEN24 ukazuje, jak to vypadá u střídače. Střídač nabízí Modbus TCP přes Ethernet a Modbus RTU přes RS-485. Uvádí bloky registrů pro data střídače a data měřiče. Připojený energetický měřič lze číst pomocí nastavitelného identifikátoru Modbus zařízení. Domácí řídicí jednotka může tyto hodnoty číst a využít je ve své řídicí logice.
To, zda tepelné čerpadlo nabízí Modbus, závisí na modelu a jeho regulátoru. Před koupí si u výrobce vyžádejte seznam registrů konkrétního modelu. Protokol Modbus neurčuje, který registr obsahuje kterou hodnotu, a proto je skutečnou referencí seznam registrů v manuálu výrobce.
Čím se Modbus liší od BACnetu a KNX?
Modbus a BACnet jsou odlišné protokoly. Modbus definuje funkční kódy a datové tabulky a význam každé hodnoty určuje výrobce zařízení. BACnet definuje objekty se standardními vlastnostmi, které popisují každý objekt ostatním zařízením. Záznam o BACnetu vysvětluje objektový model.
| Otázka | Modbus | BACnet |
|---|---|---|
| Co protokol definuje? | Formát zprávy, funkční kódy a datové tabulky | Objekty se standardními vlastnostmi |
| Kdo dává hodnotě význam? | Výrobce zařízení, v seznamu registrů | Typ objektu a jeho vlastnosti |
| Jak zařízení popisuje samo sebe? | Nepopisuje. Popisuje to seznam registrů v manuálu | Jeho objekt zařízení uvádí objekty a služby, které podporuje |
KNX je třetí protokol. Sdružení KNX ho popisuje jako otevřený standard a mezi kategorie svých projektů řadí rodinné domy. Systém řízení budovy může kombinovat více protokolů a brána je propojuje. Modbus je jedním ze způsobů, jak přivést údaje z PV střídače nebo chytrého měřiče do takového systému.
Co zkontrolovat před připojením zařízení s Modbusem?
Začněte u manuálů zařízení, nikoli u specifikace protokolu. Zjistěte, zda zařízení nabízí RTU, TCP nebo obojí, a který seznam registrů platí pro jeho verzi firmwaru. Každému sériovému zařízení přiřaďte jedinečnou adresu a na celé sběrnici používejte stejné nastavení. Seznam registrů zapište do projektové dokumentace, protože číslování v manuálech se může lišit od číslování na lince.
Pozornost je třeba věnovat také zabezpečení. Organizace Modbus Organization zveřejňuje samostatný protokol Modbus Security Protocol, který kombinuje Transport Layer Security (TLS) s tradičním protokolem Modbus. K ověřování používá certifikáty X.509v3. Organizace Modbus Organization označuje dokument o sériové lince z roku 1996 za zastaralý, takže pro každou novou instalaci RS-485 použijte příručku Serial Line Guide V1.02.
Často kladené otázky
- Je Modbus totéž co BACnet?
- Ne. Modbus přenáší funkční kódy a datové tabulky a to, co každý registr znamená, určuje výrobce zařízení. BACnet definuje objekty se standardizovanými vlastnostmi, takže zařízení popisuje svá data v síti samo.
- Proč mi adresa registru v mapě Modbus vychází o jednu nižší?
- Protokol počítá registry a cívky od nuly, kdežto návody je často číslují od jedničky. Registry očíslované v návodu 1 až 16 mají na lince adresy 0 až 15. Než adresu zapíšete do řídicí jednotky, přečtěte si v dokumentaci poznámku k číslování.
- Je Modbus dostatečně bezpečný pro domácí energetický systém?
- Sám o sobě ne. Tradiční protokol Modbus nemá ochranu TLS. Organizace Modbus Organization zveřejňuje bezpečnostní protokol Modbus Security Protocol, který kombinuje TLS s protokolem a používá certifikáty X.509v3, proto se zeptejte, zda vaše zařízení tuto variantu podporují.
- Potřebuji bránu, abych připojil zařízení Modbus RTU k Ethernetu?
- Ano, pokud řídicí jednotka má pouze Ethernet a zařízení jsou připojena na sběrnici RS-485. Brána překládá mezi Modbus TCP a Modbus RTU. Identifikátor jednotky v hlavičce TCP určuje, které sériové zařízení přijme požadavek.
- Mohou střídač fotovoltaiky a energoměr sdílet jedno připojení Modbus?
- Mohou sdílet sběrnici RS-485, pokud oba podporují Modbus RTU a každé má jedinečnou adresu. Některé střídače, například Fronius GEN24, také čtou připojený měřič a jeho data předávají dál přes vlastní rozhraní Modbus. Seznamy registrů a nastavení najdete v návodech.
- Podporuje mé tepelné čerpadlo protokol Modbus?
- Záleží na modelu a jeho řídicí jednotce. Požádejte výrobce o seznam registrů přesného modelu. Pokud výrobce žádný seznam registrů nezveřejňuje, naplánujte jiný způsob čtení jeho dat.
Zdroje
- MODBUS Application Protocol Specification V1.1b3 · Modbus Organization · Introduction (de facto standard since 1979), 1.1 Scope (OSI level 7), data model table, 4.1 PDU and ADU sizes, coils addressed from zero
- MODBUS over Serial Line Specification and Implementation Guide V1.02 · Modbus.org · 2.1 Master/slave principle, 2.5 Transmission modes, RS-485 interface
- MODBUS Messaging on TCP/IP Implementation Guide V1.0b · Modbus Organization · 3.1.3 MBAP Header description, port 502, section on error detection
- Specifications and Implementation Guides · Modbus Organization · Specification list
- Fronius GEN24: Modbus TCP and RTU · Fronius International GmbH · Modbus TCP and RTU operating instructions
- The Language of BACnet: Objects, Properties and Services · BACnet Committee website, article by Bill Swan (Alerton Technologies) · Objects, Device object
- KNX: One standard. Every brand. Every system. · KNX Association · Home page