Komunikace mezi stroji se stala páteří moderní automatizace., od drobných senzorů až po řídicí jednotky a systémy SCADA, které monitorují celé závody. V rámci tohoto ekosystému funguje Modbus jako společný jazyk, který umožňuje bezproblémovou a nákladově efektivní komunikaci velmi různých zařízení.
Modbus, zrozený v roce 1979 pro PLC Modicon, je stále plně platný. v továrnách, energetických sítích, chytrých budovách a průmyslových aplikacích IoT. Jeho úspěch je založen na jeho jednoduchosti, otevřenosti a široké kompatibilitě, což jsou vlastnosti, které usnadňují jeho integraci a údržbu i v náročných prostředích.
Co je Modbus a jak funguje?
Modbus je otevřený komunikační protokol určený pro přenos dat mezi elektronickými zařízeními. přes sériové linky nebo IP sítě. Jeho filozofie je jednoduchá: centrální zařízení (hlavní nebo klientské) zadává požadavky a polní zařízení (slave nebo servery) odpovídají daty nebo potvrzeními.
Klasická architektura je v sériovém prostředí typu master-slave a v prostředí TCP/IP typu klient-server.V tradiční sériové síti Modbus může být jeden master a až 247 slave, každý s vlastní adresou. Master se dotazuje uspořádaně; slave odpovídají pouze tehdy, když jsou osloveni svou adresou.
Všechny zprávy Modbus sdílejí logickou strukturuObsahují funkční kód, který určuje operaci (např. čtení diskrétních vstupů, čtení/zápis registrů) a související datový blok. Tento jednotný přístup zjednodušuje analýzu a diagnostiku u různých výrobců.
Klíčovou výhodou je, že formát zprávy nezávisí na fyzickém rozhraní.Migrovat z RS-485 na Ethernet můžete bez přepisování logiky protokolu: změní se zapouzdření, nikoli sémantika. Toto oddělení snižuje náklady při upgradu hardwaru.

Datový model Modbus: Typy objektů a přístup
Modbus organizuje informace do čtyř tříd objektů, s dobře definovanými velikostmi a oprávněními. Tento vzorec je identický mezi variantami, jako jsou RTU, ASCII, TCP a RTU přes TCP; mění se transportní obálka, nikoli datový model.
| Objekt | Přístup | Velikost |
|---|---|---|
| Diskrétní vstup (digitální vstup) | Pouze ke čtení | 1 bit |
| Cívka (digitální výstup) | Čtení psaní | 1 bit |
| Vstupní registr | Pouze ke čtení | 16 bitů |
| Registr hospodářství | Čtení psaní | 16 bitů |
Pořadí bajtů pro vícebajtové hodnoty v datech Modbus je big-endian., tj. nejvýznamnější bajt (MSB) se vysílá jako první. Tento detail je zásadní při mapování složených typů, jako jsou 32bitová celá čísla nebo čísla s desetinnou čárkou dle standardu IEEE.
ADU a PDU: Jak jsou zprávy zapouzdřeny
Rámec Modbus se skládá z ADU (Application Data Unit), která obaluje PDU (Protocol Data Unit).PDU je společná pro všechny varianty a obsahuje funkční kód a data; ADU přidává adresování a ošetření chyb v závislosti na médiu.
- UDAAdresa/Záhlaví + PDU + Kontrola chyb
- PDUFunkční kód + Data
V závislosti na variantě (RTU, ASCII nebo TCP) se mění tvar ADU., včetně mechanismů vymezování, kontroly chyb a záhlavových polí specifických pro transport.
Formáty rámů podle varianty
Všechny implementace Modbusu používají jeden z těchto formátů rámců, přizpůsobené fyzickému prostředí nebo IP síti, přes kterou se přenášejí.
Rámec Modbus RTU (sériový, typicky RS-485)
RTU používá kompaktní binární kódování a CRC pro kontrolu chybSnímky musí být vysílány nepřetržitě, bez mezer mezi znaky, a musí být odděleny tichými intervaly (≈ 3,5 znaku).
| Pole | Délka | popis |
|---|---|---|
| Zahájení | Čas ticha | Minimální neaktivita (~3,5 znaků) pro oddělení |
| Adresa | 8 bitů | Identifikátor podřízeného zařízení |
| Función | 8 bitů | Požadovaná operace (např. čtení cívek nebo uchovávání registrů) |
| Data | n × 8 bitů | Parametry a/nebo užitečné zatížení |
| CRC | 16 bitů | Cyklická kontrola redundance |
| konec | Čas ticha | Minimální nečinnost (~3,5 znaků) mezi snímky |
CRC-16 (ANSI/IBM) na Modbus RTU: polynom x^16 + x^15 + x^2 + 1 (0x8005, inverzní 0xA001) s počáteční hodnotou 0xFFFF. Příklad odpovědi v hexadecimální soustavě: 01 04 02 FF FF B8 80; výpočet CRC na 01…FF vrátí 0x80B8, který je přenášen v pořadí little-endian (low byte first: B8 80).
Rámec Modbus ASCII (sériové číslo s tisknutelnými znaky)
ASCII reprezentuje každý bajt jako dva hexadecimální znaky čitelné člověkem., odděluje se dvojtečkou na začátku a CR/LF na konci a jako kontrolní součet používá LRC.
LRC2 bajty Podélný ASCII Kontrolní součet (dvojkový doplněk 8bitového sčítání)
| Pole | Délka | popis |
|---|---|---|
| Zahájení | 1 bajtů | Znak ':' (0x3A) |
| Adresa | 2 ASCII bajty | 8bitová hodnota vyjádřená jako dva hexadecimální kódy |
| Función | 2 ASCII bajty | Funkční kód |
| Data | n × 2 ASCII bajty | Obsah v hexadecimálních párech |
| konec | 2 bytů | CR (0x0D) + LF (0x0A) |
Příklad LRCs bajty 247, 3, 19, 137, 0 a 10 je součet 416; jeho dvojkový doplněk zkrácený na 8 bitů je 96 (0x60). Rámec by vypadal: :F7031389000A60 .
Rámec Modbus TCP (Ethernet)
V TCP/IP komunikuje Modbus s hlavičkou MBAP. což usnadňuje multiplexování transakcí a bránu k sériovým sítím. Není přidán žádný samostatný kontrolní součet, protože TCP/IP již zahrnuje kontrolu integrity.
| Pole (MBAP + PDU) | Délka | popis |
|---|---|---|
| ID transakce | 2 bytů | Korelace požadavku a odpovědi |
| ID protokolu | 2 bytů | Vždy 0 pro Modbus/TCP |
| Délka | 2 bytů | Zbývající velikost (ID jednotky + PDU) |
| ID jednotky | 1 bajtů | Adresa zařízení za bránou (nebo 255, pokud se nevztahuje) |
| Funkční kód | 1 bajtů | Požadovaná operace |
| Data | n bajtů | Parametry a užitečné zatížení |
ID jednotky umožňuje adresování zařízení RTU za bránou Modbus TCP–RTU.Na čistě TCP zařízeních se často ignoruje. Služba používá port 502 a je standardizována (IEC 61158, citovaná v IEC 61784-2 jako CPF 15/1).
Varianty Modbusu: Kompletní přehled
Existuje několik variant Modbusu pro různá média a požadavky.Sdílejí datový model a základní funkce; liší se ve způsobu, jakým zapouzdřují a přenášejí PDU.
- Modbus RTUNejběžnější binární implementace přes sériové linky, jako je RS-485. Používá CRC-16 a vyžaduje souvislé přenosy bez mezer.
- Modbus ASCIISériová varianta s tisknutelnými znaky a LRC. Dnes se používá méně často, ale je užitečná tam, kde je prioritou čitelnost a ruční ladění.
- Modbus TCP/IP (Modbus TCP)Funguje přes IP sítě, port 502. Klient-server, žádný další kontrolní součet na úrovni aplikace.
- Modbus přes TCP/RTU-IP: zapouzdřuje RTU přes TCP včetně CRC v datové části, což je užitečné pro přenos RTU rámců tak, jak jsou.
- Modbus přes UDPExistují experimentální implementace pro snížení režie TCP obětováním výkonu připojení.
- Modbus Plus (MB+, proprietární)Vysokorychlostní síť Schneider Electric s peer-to-peer komunikací mezi více mastery, HDLC a rychlostí 1 Mbit/s přes kroucenou dvojlinku; vyžaduje specifický hardware (karty ISA/PCI/PCMCIA).
- Pemex Modbus: rozšíření s podporou historických dat a měření průtoku, určené pro PEMEX; nebylo široce přijato.
- Enron Modbus: rozšíření, které přidává 32bitová celá čísla, čísla s desetinnou čárkou a historická/streamová data, namapovaná na standardní adresy s typovým zarovnáním podle postupů API.
První čtyři varianty (RTU, ASCII, TCP a RTU přes TCP) sdílejí stejný model volání a dat., ale nejsou vzájemně interoperabilní na úrovni rámce: mění se zapouzdření a tím i zapojení/fyzická vrstva nebo síť.
Praktické výhody Modbusu v průmyslu
Popularita Modbusu není náhodaJe otevřený, bezplatný, snadno implementovatelný a vysoce interoperabilní, což snižuje bariéry mezi výrobci a zlevňuje integraci.
- Snadná implementacemálo požadavků (sériový nebo ethernetový port) a jednoduchý stack.
- Vysoká kompatibilita: heterogenní týmy koexistují bez závislosti na jediném dodavateli.
- SpolehlivostRTU standardně zahrnuje CRC; v TCP se spoléhá na IP stack.
- FlexibilitaPodporuje RS-232, RS-485 a Ethernet; různé topologie.
- Nízké nákladyNeexistují žádné licence a vývoj je nenáročný.
V režimu TCP/IP se také využívá stávající infrastruktury LAN. s typickými rychlostmi 10 až 100 Mbit/s, což usnadňuje škálovatelnost a centralizovanou správu.
Běžná omezení a variace
Ne všechno je výhodné, existují i omezení. odvozeno z původního návrhu pro PLC z konce 70. let.
- Omezená diagnostika a hlášeníSchéma master-slave vyžaduje periodické dotazování; neexistuje standardní sériové „hlášení o výjimce“ (existují implementace Ethernetu se specifickými oznámeními).
- Omezené adresování na sériové sběrniciaž 254 zařízení na datový kanál v RTU/ASCII.
- Souvislý přenosRámce nepodporují mezery; ne všechna vzdálená média to tolerují bez ukládání do vyrovnávací paměti.
- Neexistující nativní zabezpečeníNezahrnuje ověřování ani šifrování; musí být posíleno pomocí VPN, firewallů, ACL atd.
- Typy historických datZákladní standard se zaměřuje na 1bitové a 16bitové kódy; velké binární objekty nejsou podporovány.
- Proměnná metadataNeexistuje standardní způsob, jak oznámit význam/měřítko záznamu (např. „teplota 30 až 175 °C“).
Časté implementační variace Patří mezi ně čísla s desetinnou čárkou podle IEEE 754, 32bitová celá čísla, balená 8bitová data, bitová pole v celých číslech, multiplikátory (10, 100, 1000, 256) pro škálování veličin, adresy podřízených jednotek rozšířené na 16 bitů nebo 32bitové odpovědi na adresu u některých zařízení.
Fyzické vrstvy a RS-485: Poznámky z praxe
- Dlouhé vzdálenostiaž do ~1200 m s nastavitelnou rychlostí v závislosti na úseku.
- VícebodovýDesítky uzlů sdílejí stejnou sběrnici s logickým adresováním.
- Dobré postupyzakončení, polarizace a topologie sběrnice (vyhněte se „hvězdám“).
Ve srovnání s RS-232 je RS-485 vhodnější pro dlouhé trasy a sítě s více zařízeními., čímž se udržují nízké náklady a jednoduchá kabeláž.
Reálné případové studie
Migrace zařízení: z RTU na TCP s bránou
Výrobce automobilových součástek potřeboval rozšířit svou výrobu a přešel z čisté sítě Modbus RTU do smíšeného prostředí s Modbus TCP / IP přes Ethernet CAT6. Původní RS-485 byl zachován pro starší zařízení a Brána Modbus TCP–RTU směrovat data mezi oběma světy a dosáhnout škálování bez zastavení provozu.
Elektrorozvodná společnost: SCADA přes Modbus TCP s posílením kybernetické bezpečnosti
Elektroenergetická společnost modernizovala svůj SCADA migrace z tradičních RTU na Modbus TCP/IP přes privátní ethernetovou síťVzhledem k bezpečnostním požadavkům nasadil VPN mezi rozvodnami, spravovanými přepínači, firewally y řízení přístupu na základě rolíVýsledek: Vysoce dostupné monitorování a řízení se sníženým rizikem vzdálených vniknutí.
Nízkoúrovňové Modbus API v LabVIEW: Řízení a redundance
Pokud potřebujete jemně doladit sekvence a časování, je tou správnou volbou nízkoúrovňové API LabVIEW pro Modbus.Nabízí flexibilitu, ale vyžaduje větší zodpovědnost při správě stavů a chyb.
Úvodní příklad (Modbus Library.lvproj)- V typické implementaci je vytvořena hlavní instance (TCP nebo Serial), jsou vydány funkce jako například Čtení vstupních registrů a relace je ukončena uvolněním TCP spojení nebo prostředku NI-VISA. Vzor je klasický: otevřít–číst/zapsat–zavřít, s rozdíly mezi masterem (požadavky přes síť) a slaveem (operuje na svém lokálním úložišti).
Pokročilý příklad s redundantními masteryarchitektura s dva aktivní učitelé dotaz na stejnou podřízenou jednotku; pokud se ztratí spojení s podřízenou jednotkou nebo s HMI, druhý předpokládá nepřerušovaný provoz. Toto je užitečný přístup, když je cílem Odolnost proti chybám před kritickými bránami nebo senzory.
Modbus TCP v praxi
Modbus TCP zavádí schéma klient-server což v lokálních sítích funguje divy; udržování uzlů ve stejné podsíti zjednodušuje vyhledávání a správu. Všechny požadavky jsou směrovány přes port 502/TCP, obvykle v poloduplexní na připojení: stohování požadavků bez čekání na odpověď nemá žádnou výhodu.
Adresa zařízení může být použita k dosažení uzlů RTU přes brány. s odkazem na IP adresu brány a ID jednotky vzdáleného zařízení. Modbus/TCP je standardizován od roku 2007 (IEC 61158 a IEC 61784-2).
RTU vs. TCP vs. ASCII: Kdy použít který z nich
Modbus RTU září v robustních a ekonomických sériových autobusech; ModBus TCP Je ideální, když chcete škálovat, integrovat se s LAN/IT a připojit mnoho zařízení; Modbus ASCII Dnes má zbytkové využití, užitečné v prostředích, kde je čtení grafů „pouhým okem“ stále cenné.
- RTUKompaktní binární obvod, CRC, ideální pro krátké/střední vzdálenosti s RS-485.
- TCPEthernet/IP, vyšší rychlost a dosah, neomezený počet IP adres.
- ASCIIČitelný, s LRC, užitečný pro ladění a historickou kompatibilitu.
Podporovaný software: SCADA a HMI
Modbus je všudypřítomný v Platformy SCADA/HMIMezi řešení, která obvykle poskytují nativní podporu, patří Citect, ICONICS, iFIX, InduSoft, InTouch/Wonderware, Trace Mode, Wizcon, Entivity (Studio/Live/VLC) a další.
Aplikace: energie, BMS a elektromobilita
Díky integraci se SCADA poskytuje Modbus centralizovaný přehled o stavu a provozu energetických aktiv. (rozvodny, transformátorové stanice, automatizace distribuce), což umožňuje prediktivní údržbu a lepší dostupnost.
V systémech řízení budov (BMS)Modbus pomáhá koordinovat klimatizaci, osvětlení, generátorové agregáty nebo úložiště, což má přímý dopad na energetickou účinnost a náklady.
V oblasti nabíjení elektromobilů zajišťuje Modbus interoperabilitu s měniči a inteligentními měřiči.Například nabíjecí bod Trydan Využívá Modbus RTU k dálkovému ovládání a odečtu měřičů a integruje se s fotovoltaickými systémy; nabíječky Pole Pro Pro jemné řízení zátěže je lze připojit přes Modbus TCP.
Specializované společnosti jako Cuerva kladou data do centra pozornosti odhalovat neefektivitu, optimalizovat zařízení a zavádět prediktivní, preventivní a nápravné plány údržby, které zvyšují spolehlivost zařízení.
Jak se připojit k síti Modbus: klíče a parametry
Před zapojením si obstarejte dokumentaci od výrobce porozumět mapování záznamů a parametrům komunikace. Je to GPS projektu.
- FyzickýRTU přes RS-485/RS-232; TCP přes Ethernet (konektory RJ45/IP65 v průmyslovém prostředí).
- ParametryPřenosová rychlost, data/parita/stop bity (v sériovém portu), IP/porty (v TCP), adresa podřízené jednotky/ID jednotky.
- Evidenceznát adresy cívek/vstupů/paměťových/vstupních registrů a stupnic (násobiček, ofsetů).
V TCP používá každé zařízení IP adresu. a komunikace je zapouzdřena v paketech TCP/IP. Na sériové sběrnici se stará o ukončení, délky a derivace, aby signál dorazil čistě.