---
title: 'Podporované komunikační protokoly'
section: 'Reference'
weight: 1
description: Přehled průmyslových a IoT komunikačních protokolů, které platforma podporuje — Modbus, OPC UA, MQTT a DLMS/COSEM.
related:
  - architecture/data-collection-layer
  - integration
  - equipment
  - rest-api
---

import Alert from '@/components/docs/Alert.astro';

## Modbus (RTU / TCP)

### Účel a popis

Jednoduchý a široce používaný průmyslový protokol pro výměnu procesních dat mezi řídicími jednotkami, senzory a akčními členy. Byl vyvinut v roce 1979 firmou Modicon (dnes Schneider Electric) a stal se de facto standardem pro průmyslovou automatizaci. Používá se v systémech SCADA, v PLC, frekvenčních měničích, měřicích přístrojích a senzorech. Díky jednoduchosti implementace a minimálním nárokům na výpočetní prostředky je protokol ideálně vhodný pro vestavěné systémy a zařízení s omezenou pamětí.

### Architektura a datový model

Datový model založený na registrech je postaven na čtyřech typech adresního prostoru:

- **Coils (0x)** — diskrétní výstupy (bitové hodnoty pro čtení i zápis)
- **Discrete Inputs (1x)** — diskrétní vstupy (pouze pro čtení)
- **Input Registers (3x)** — 16bitové vstupní registry (pouze pro čtení)
- **Holding Registers (4x)** — 16bitové uchovávací registry (pro čtení i zápis)

Architektura klient-server (master-slave): master zařízení iniciuje požadavky, slave zařízení odpovídají. Každé slave zařízení má jedinečnou adresu (1–247). Protokol neobsahuje žádnou vestavěnou sémantiku dat — interpretace hodnot registrů je definována na aplikační úrovni a v dokumentaci zařízení. Podporuje operace čtení a zápisu jednotlivých i více registrů.

### Přenos

**Modbus RTU:**

- Sériové linky RS-485 (až 32 zařízení na sběrnici, vzdálenost až 1200 m) nebo RS-232 (point-to-point)
- Binární reprezentace dat
- Kontrola integrity pomocí CRC-16
- Přenosová rychlost: od 1200 do 115200 baud
- Poloduplexní přenos

**Modbus TCP:**

- Zapouzdření rámců Modbus do TCP/IP (port 502)
- Hlavička MBAP (Modbus Application Protocol) pro identifikaci transakce
- Plně duplexní přenos
- Možnost současné práce s více zařízeními
- Bez nutnosti kontrolního součtu (spolehlivost zajišťuje TCP)

### Klíčové možnosti

- Čtení a zápis diskrétních signálů (Coils) a registrů
- Podpora standardních funkčních kódů (FC 01–06, 15–16, 23)
- Diagnostické funkce (FC 08)
- Čtení identifikačních údajů zařízení (FC 17, 43)
- Minimální nároky na výpočetní prostředky zařízení
- Jednoduchá implementace a ladění
- Nízké náklady na implementaci
- Zpracování výjimek a chybových kódů
- Podpora všesměrových zpráv (adresa 0) v režimu RTU
- Škálovatelnost až do 247 zařízení na lince (RTU) nebo neomezeně prostřednictvím TCP

<Alert type="note">**Plná podpora**</Alert>

## OPC UA

### Účel a popis

Univerzální multiplatformní standard (OPC Unified Architecture, IEC 62541) pro bezpečnou a strukturovanou výměnu průmyslových dat, metadat a sémantických informací. Byl vyvinut nadací OPC Foundation jako nástupce klasických specifikací OPC DA/AE/HDA a odstraňuje závislost na technologiích Microsoft DCOM. Umožňuje vertikální i horizontální integraci v průmyslových systémech — od polní úrovně až po podnikové informační systémy (ERP, MES). Díky bohatým možnostem informačního modelování podporuje koncepty Industrie 4.0 a digitálních dvojčat.

### Architektura a datový model

Objektově orientovaný datový model reprezentující informace jako adresovatelný prostor uzlů (Address Space):

- **Uzly** různých typů: Variable, Object, Method, View, DataType, ReferenceType
- **Atributy uzlů**: Value, DataType, AccessLevel, Timestamp, Quality, DisplayName apod.
- **Reference** mezi uzly: hierarchické, asociativní, komponentové
- **Datové typy**: primitivní typy, struktury, pole, výčtové typy

Podporované služby:

- **Subscription** — sledování změn dat s konfigurovatelnými intervaly vzorkování a filtry
- **Events & Alarms** — asynchronní oznámení o událostech, alarmech a stavech
- **Historical Access** — přístup k archivovaným datům a událostem
- **Methods** — vzdálené volání procedur na zařízeních

Oborové informační modely (Companion Specifications): strojírenství, energetika, ropa a plyn, farmacie.

### Přenos

**Binární protokol UA přes TCP/IP:**

- Binární protokol s optimalizovanou serializací (port 4840)
- Vysoký výkon a minimální režie

**HTTPS / SOAP:**

- Profil webových služeb pro integraci s podnikovými systémy
- Kódování JSON pro cloudové aplikace

**OPC UA PubSub:**

- Model vydavatel-odběratel (publisher-subscriber) pro distribuované systémy
- Přenos: UDP Multicast, MQTT, AMQP, Ethernet TSN
- Deterministický přenos pro časově kritické aplikace

**Zabezpečení:**

- Víceúrovňové bezpečnostní režimy (None, Sign, SignAndEncrypt)
- Certifikáty X.509 pro autentizaci
- Šifrování AES, RSA

### Klíčové možnosti

- **Informační modelování**: přenos nejen „surových“ hodnot, ale i složitých strukturovaných dat se sémantikou, typováním a metadaty
- **Odběry** s konfigurovatelnými intervaly dotazování, deadband filtry a vyrovnávací pamětí
- **Události** a systém alarmů s podmíněným filtrováním
- **Volání metod** pro řízení zařízení a provádění operací
- **Přístup k historickým datům** s agregací
- **Vyhledávání služeb** v lokálních sítích
- **Vestavěné zabezpečení**: šifrování kanálu, autentizace pomocí certifikátů nebo uživatelského jména a hesla, řízení přístupu na úrovni uzlů
- **Redundance serveru a odolnost proti chybám**
- **Multiplatformnost**: Windows, Linux, VxWorks, QNX a další operační systémy
- **Škálovatelnost**: od mikrokontrolérů až po distribuované systémy

<Alert type="note">**Plná podpora**</Alert>

## MQTT

### Účel a popis

Odlehčený protokol pro výměnu zpráv (Message Queuing Telemetry Transport) určený pro telemetrii, vzdálené monitorování a správu IoT zařízení, optimalizovaný pro nespolehlivé sítě, omezenou šířku pásma a vysokou latenci. Byl vyvinut v roce 1999 firmou IBM pro monitorování ropovodů a standardizován organizacemi OASIS a ISO/IEC (20922:2016). Široce se používá v průmyslovém IoT, chytrých domácnostech, telematice vozidel a mobilních aplikacích. Protokol se zaměřuje na minimalizaci síťového provozu a spotřeby energie zařízení.

### Architektura a datový model

Asynchronní model **Publish/Subscribe** s centralizovaným brokerem:

- **Publisher** — zařízení nebo aplikace publikující zprávy do témat
- **Subscriber** — zařízení nebo aplikace odebírající zprávy z témat
- **Broker** — centrální server pro směrování zpráv (Mosquitto, HiveMQ, EMQ X apod.)

**Témata (topics)** — hierarchická struktura cest pro kategorizaci zpráv:

- Oddělovače úrovní: `/` (např. `factory/building1/temperature`)
- Zástupné znaky: `+` (jedna úroveň), `#` (více úrovní)
- Příklad odběru: `sensors/+/temperature` nebo `factory/#`

**Formát dat** je určen aplikací: JSON, Protocol Buffers, XML, binární data, text.  
**Uchovávané zprávy (retained messages)**: broker uchovává poslední zprávu pro téma a doručuje ji novým odběratelům.  
**Trvalé relace (persistent sessions)**: broker zachovává odběry klienta i po odpojení.

### Přenos

- Transportní vrstva: TCP/IP (port 1883 pro nezabezpečená spojení)
- TLS/SSL (port 8883) pro šifrování a autentizaci
- WebSockets pro integraci s prohlížeči a webovými aplikacemi
- Verze protokolu: MQTT 3.1.1 (nejrozšířenější), MQTT 5.0 (rozšířené funkce)
- Velikost hlavičky: minimálně 2 bajty (pevná hlavička)
- Mechanismus keep-alive: periodické PINGREQ/PINGRESP pro sledování spojení
- Provoz založený na brokeru zajišťuje oddělení publishera a subscribera, horizontální škálování a centralizovanou správu

### Klíčové možnosti

- **QoS (Quality of Service)** — tři úrovně záruky doručení:
  - QoS 0: nejvýše jednou (bez potvrzení)
  - QoS 1: alespoň jednou (s potvrzením)
  - QoS 2: právě jednou (čtyřkrokový handshake)
- **Minimální síťová režie**: pevná hlavička o velikosti 2 bajty, efektivní binární kódování
- **LWT (Last Will and Testament)**: mechanismus automatického oznámení o neočekávaném odpojení zařízení — broker publikuje předem definovanou zprávu, pokud klient ukončí relaci nestandardně
- **Clean Session / Persistent Session**: možnost obnovit odběry a zprávy po opětovném připojení
- **Retained Messages**: dostupnost nejnovější hodnoty pro nové odběratele
- **Nízká spotřeba energie**: ideální pro zařízení napájená z baterie
- **Škálovatelnost**: podpora milionů souběžných spojení na clusterech brokerů
- **Odběry se zástupnými znaky** pro flexibilní filtrování témat

<Alert type="note">**Plná podpora**</Alert>

## DLMS / COSEM (IEC 62056)

### Účel a popis

Mezinárodní standard pro výměnu dat s měřidly spotřeby médií: elektřiny, plynu, vody a tepla (Device Language Message Specification / Companion Specification for Energy Metering). Byl vyvinut sdružením DLMS User Association společně s IEC za účelem zajištění interoperability chytrých měřidel v automatizovaných systémech měření a fakturace (AMBS). Umožňuje dálkový odečet měřidel, monitorování kvality elektrické energie, správu tarifů a detekci neoprávněného přístupu. Široce jej využívají provozovatelé distribučních sítí, dodavatelé energií a integrátoři systémů Smart Grid.

### Architektura a datový model

**Objektový model COSEM (Companion Specification for Energy Metering):**

- Data měřidla jsou reprezentována jako **logické objekty (objekty COSEM)** s rozhraními tříd
- **Kódy OBIS (Object Identification System)** — šestibajtový identifikátor pro univerzální adresaci parametrů: `A-B:C.D.E*F`
  - A — druh energie (1=elektřina, 6=teplo, 7=plyn, 8=voda)
  - B — měřicí kanál
  - C — fyzikální veličina (např. 1=činná energie)
  - D — typ měření (8=integrační doba)
  - E — tarifní zóna
  - F — historická hloubka

**Protokol DLMS:**

- Aplikační vrstva podle modelu OSI
- **Asociace** s různými přístupovými právy: Public, Reader, Manager
- **Autentizace**: Low Level Security (LLS), High Level Security (HLS) s mechanismem výzva-odpověď
- **Šifrování**: podpora DLMS Security Suite s algoritmy AES-GCM-128
- **Load Profiles**: vyrovnávací objekty pro ukládání časových řad
- **Skriptovací systém**: provádění sekvencí akcí na měřidle

### Přenos

Fyzická a linková vrstva:

- **Optický port (IEC 62056-21, flag)** — přímé připojení pomocí infračervené hlavy pro lokální odečet
- **RS-485 / RS-232** s protokolem HDLC (High-Level Data Link Control) pro sítě typu multi-drop
- **TCP/IP** (port 4059) — DLMS přes TCP nebo zapouzdření do IP pro vzdálený přístup
- **GSM/GPRS/LTE** — přenos dat prostřednictvím mobilních sítí (wrapper protokoly)
- **PLC (Power Line Communication)** — přenos po silových vedeních (PRIME, G3-PLC)
- **M-Bus** — pro integraci se systémy měření spotřeby vody a tepla

Přenosové profily v závislosti na implementaci měřidla:

- IEC 62056-46: COSEM přes HDLC
- IEC 62056-47: přenos COSEM přes TCP-UDP/IP

### Klíčové možnosti

- **Odečet měřidla** — aktuální hodnoty spotřeby energie, výkonu, napětí, proudu, účiníku
- **Load Profiles** — podrobná data s časovými značkami (15minutové, hodinové, denní intervaly)
- **Protokoly událostí** — záznam manipulace s krytem, výpadků napájení, přepětí, změn parametrů
- **Víceúrovňová autentizace a autorizace**: řízení přístupu na základě rolí (veřejný přístup, čtení, konfigurace)
- **Správa tarifů** — vzdálená úprava tarifních plánů a sazeb
- **Synchronizace času** pro přesnost časových značek
- **Ovládání relé** (připojení/odpojení zátěže)
- **Monitorování kvality elektrické energie** (poklesy, špičky, harmonické)
- **Podpora skupinových operací** napříč více měřidly
- **Kryptografická ochrana dat** a integrita zpráv

<Alert type="note">**Podpora se připravuje**</Alert>
