---
title: 'Podržani komunikacijski protokoli'
section: 'Reference'
weight: 1
description: Pregled industrijskih i IoT komunikacijskih protokola koje platforma podržava – Modbus, OPC UA, MQTT i DLMS/COSEM.
related:
  - architecture/data-collection-layer
  - integration
  - equipment
  - rest-api
---

import Alert from '@/components/docs/Alert.astro';

## Modbus (RTU / TCP)

### Namjena i opis

Jednostavan i široko rasprostranjen industrijski protokol za razmjenu procesnih podataka između upravljačkih jedinica, senzora i izvršnih uređaja. Razvijen je 1979. godine u tvrtki Modicon (danas Schneider Electric) i postao je de facto standard u industrijskoj automatizaciji. Koristi se u SCADA sustavima, programirljivim logičkim kontrolerima (PLC), frekvencijskim pretvaračima, mjernim instrumentima i senzorima. Zahvaljujući jednostavnoj implementaciji i minimalnim zahtjevima u pogledu računalnih resursa, protokol je idealan za ugradbene računalne sustave i uređaje s ograničenom memorijom.

### Arhitektura i podatkovni model

Podatkovni model temeljen na registrima počiva na četiri tipa adresnog prostora:

- **Coils (0x)** – diskretni izlazi (jednobitne vrijednosti za čitanje i upis)
- **Discrete Inputs (1x)** – diskretni ulazi (samo za čitanje)
- **Input Registers (3x)** – 16-bitni ulazni registri (samo za čitanje)
- **Holding Registers (4x)** – 16-bitni registri za čuvanje vrijednosti (za čitanje i upis)

Arhitektura klijent–poslužitelj (master-slave): nadređeni uređaj inicira zahtjeve, a podređeni uređaji odgovaraju na njih. Svaki podređeni uređaj ima jedinstvenu adresu (1–247). Protokol nema ugrađenu semantiku podataka – tumačenje vrijednosti registara definira se na aplikacijskoj razini i u dokumentaciji uređaja. Podržava čitanje i upis jednog ili više registara.

### Prijenos

**Modbus RTU:**

- Serijske linije RS-485 (do 32 uređaja na sabirnici, udaljenost do 1.200 m) ili RS-232 (veza točka–točka)
- Binarno predstavljanje podataka
- Provjera cjelovitosti pomoću CRC-16
- Brzina prijenosa: od 1200 do 115200 bauda
- Prijenos u poludupleksu

**Modbus TCP:**

- Enkapsulacija Modbus okvira u TCP/IP (port 502)
- Zaglavlje MBAP (Modbus Application Protocol) za identifikaciju transakcija
- Prijenos u punom dupleksu
- Mogućnost istodobnog rada s više uređaja
- Kontrolni zbroj nije potreban (pouzdanost osigurava TCP)

### Ključne mogućnosti

- Čitanje i upis diskretnih signala (Coils) i registara
- Podrška za standardne kodove funkcija (FC 01–06, 15–16, 23)
- Dijagnostičke funkcije (FC 08)
- Čitanje identifikacijskih podataka uređaja (FC 17, 43)
- Minimalni zahtjevi u pogledu računalnih resursa uređaja
- Jednostavnost implementacije i otklanjanja pogrešaka
- Niski troškovi implementacije
- Obrada iznimaka i kodovi pogrešaka
- Podrška za poruke upućene svim uređajima (broadcast, adresa 0) u režimu RTU
- Skalabilnost do 247 uređaja na liniji (RTU) ili bez ograničenja preko protokola TCP

<Alert type="note">**Potpuna podrška**</Alert>

## OPC UA

### Namjena i opis

Univerzalan višeplatformski standard (OPC Unified Architecture, IEC 62541) za sigurnu i strukturiranu razmjenu industrijskih podataka, metapodataka i semantičkih informacija. Razvila ga je organizacija OPC Foundation kao nasljednika klasičnih specifikacija OPC DA/AE/HDA, čime je otklonjena ovisnost o tehnologijama Microsoft DCOM. Omogućuje vertikalnu i horizontalnu integraciju u industrijskim sustavima – od razine polja do korporativnih informacijskih sustava (ERP, MES). Zahvaljujući bogatim mogućnostima informacijskog modeliranja, podržava koncepte Industrije 4.0 i digitalnih blizanaca.

### Arhitektura i podatkovni model

Objektno orijentiran podatkovni model koji informacije predstavlja kao adresni prostor sastavljen od čvorova (Address Space):

- **Čvorovi** različitih tipova: Variable, Object, Method, View, DataType, ReferenceType
- **Atributi čvorova**: Value, DataType, AccessLevel, Timestamp, Quality, DisplayName itd.
- **Reference** između čvorova: hijerarhijske, asocijativne, komponentne
- **Tipovi podataka**: primitivni tipovi, strukture, nizovi, pobrojani tipovi

Podržane usluge:

- **Subscription** – praćenje promjena podataka uz podesive intervale uzorkovanja i filtre
- **Events & Alarms** – asinkrone obavijesti o događajima, alarmima i stanjima
- **Historical Access** – pristup arhiviranim podacima i događajima
- **Methods** – daljinsko pozivanje procedura na uređajima

Granski informacijski modeli (Companion Specifications): strojarstvo, energetika, naftna i plinska industrija, farmaceutska industrija.

### Prijenos

**Binarni protokol UA preko TCP/IP:**

- Binarni protokol s optimiziranom serijalizacijom (port 4840)
- Visoke performanse i minimalno dodatno opterećenje

**HTTPS / SOAP:**

- Profil web-usluga za integraciju s poslovnim sustavima poduzeća
- Kodiranje u formatu JSON za aplikacije u oblaku

**OPC UA PubSub:**

- Model izdavač–pretplatnik za distribuirane sustave
- Prijenos: UDP Multicast, MQTT, AMQP, Ethernet TSN
- Deterministički prijenos za vremenski kritične aplikacije

**Sigurnost:**

- Sigurnosni režimi na više razina (None, Sign, SignAndEncrypt)
- Certifikati X.509 za autentifikaciju
- Šifriranje algoritmima AES i RSA

### Ključne mogućnosti

- **Informacijsko modeliranje**: prijenos ne samo „sirovih” vrijednosti nego i složenih strukturiranih podataka sa semantikom, tipizacijom i metapodacima
- **Pretplate** s podesivim intervalima prozivanja, filtrima mrtve zone (deadband) i međuspremanjem
- **Događaji** i sustav alarma s uvjetnim filtriranjem
- **Pozivanje metoda** za upravljanje uređajima i izvršavanje operacija
- **Pristup povijesnim podacima** s agregacijom
- **Otkrivanje usluga** u lokalnim mrežama
- **Ugrađena sigurnost**: šifriranje kanala, autentifikacija pomoću certifikata ili korisničkog imena i lozinke, kontrola pristupa na razini čvorova
- **Redundancija poslužitelja i otpornost na kvarove**
- **Višeplatformska podrška**: Windows, Linux, VxWorks, QNX i drugi operacijski sustavi
- **Skalabilnost**: od mikrokontrolera do distribuiranih sustava

<Alert type="note">**Potpuna podrška**</Alert>

## MQTT

### Namjena i opis

Lagan protokol za razmjenu poruka (Message Queuing Telemetry Transport) namijenjen telemetriji, daljinskom nadzoru i upravljanju IoT uređajima, optimiziran za rad u nepouzdanim mrežama, s ograničenom propusnošću i velikim kašnjenjem. Razvijen je 1999. godine u tvrtki IBM za nadzor naftovoda, a standardizirale su ga organizacije OASIS i ISO/IEC (20922:2016). Široko se koristi u industrijskom IoT-u, pametnim kućama, telematici vozila i mobilnim aplikacijama. Cilj je protokola svesti mrežni promet i potrošnju energije uređaja na minimum.

### Arhitektura i podatkovni model

Asinkroni model objavljivanja i pretplate (**Publish/Subscribe**) s centraliziranim brokerom:

- **Izdavač (publisher)** – uređaj ili aplikacija koja objavljuje poruke u teme
- **Pretplatnik (subscriber)** – uređaj ili aplikacija koja je pretplaćena na prijam poruka iz tema
- **Broker** – središnji poslužitelj za usmjeravanje poruka (Mosquitto, HiveMQ, EMQ X itd.)

**Teme (topics)** – hijerarhijska struktura putanja za kategorizaciju poruka:

- Razdjelnici razina: `/` (npr. `factory/building1/temperature`)
- Zamjenski znakovi: `+` (jedna razina), `#` (više razina)
- Primjer pretplate: `sensors/+/temperature` ili `factory/#`

**Format podataka** određuje aplikacija: JSON, Protocol Buffers, XML, binarni podaci, tekst.  
**Zadržane poruke (retained messages)**: broker čuva posljednju poruku za temu i isporučuje je novim pretplatnicima.  
**Trajne sesije (persistent sessions)**: broker zadržava pretplate klijenta i nakon prekida veze.

### Prijenos

- Transportni sloj: TCP/IP (port 1883 za nezaštićene veze)
- TLS/SSL (port 8883) za šifriranje i autentifikaciju
- WebSockets za integraciju s preglednicima i web-aplikacijama
- Verzije protokola: MQTT 3.1.1 (najrasprostranjenija), MQTT 5.0 (proširene mogućnosti)
- Veličina zaglavlja: najmanje 2 bajta (fiksno zaglavlje)
- Mehanizam keep-alive: periodična razmjena PINGREQ/PINGRESP za nadzor veze
- Rad preko brokera osigurava razdvajanje izdavača i pretplatnika, horizontalno skaliranje i centralizirano upravljanje

### Ključne mogućnosti

- **QoS (Quality of Service)** – tri razine jamstva isporuke:
  - QoS 0: najviše jednom (bez potvrde)
  - QoS 1: najmanje jednom (s potvrdom)
  - QoS 2: točno jednom (rukovanje u četiri koraka)
- **Minimalno dodatno opterećenje mreže**: fiksno zaglavlje od 2 bajta, učinkovito binarno kodiranje
- **LWT (Last Will and Testament)**: mehanizam automatske obavijesti o neočekivanom prekidu veze s uređajem – broker objavljuje unaprijed definiranu poruku ako klijent nepravilno završi sesiju
- **Clean Session / Persistent Session**: mogućnost obnavljanja pretplata i poruka nakon ponovnog povezivanja
- **Zadržane poruke**: dostupnost posljednje vrijednosti novim pretplatnicima
- **Mala potrošnja energije**: idealna za uređaje s baterijskim napajanjem
- **Skalabilnost**: podrška za milijune istodobnih veza na klasterima brokera
- **Pretplate sa zamjenskim znakovima** za fleksibilno filtriranje tema

<Alert type="note">**Potpuna podrška**</Alert>

## DLMS / COSEM (IEC 62056)

### Namjena i opis

Međunarodni standard za razmjenu podataka s mjerilima potrošnje električne energije, plina, vode i toplinske energije (Device Language Message Specification / Companion Specification for Energy Metering). Razvilo ga je udruženje DLMS User Association zajedno s organizacijom IEC kako bi se osigurala interoperabilnost pametnih mjerila u automatiziranim sustavima mjerenja i obračuna (AMBS). Omogućuje daljinsko očitavanje mjerila, praćenje kvalitete električne energije, upravljanje tarifama i otkrivanje neovlaštenog pristupa. Široko ga koriste operatori elektroenergetskih sustava, komunalna i energetska poduzeća, kao i integratori sustava za pametne elektroenergetske mreže (Smart Grid).

### Arhitektura i podatkovni model

**Objektni model COSEM (Companion Specification for Energy Metering):**

- Podaci mjerila predstavljeni su kao **logički objekti (objekti COSEM)** s klasama sučelja
- **Kodovi OBIS (Object Identification System)** – šestobajtni identifikator za univerzalno adresiranje parametara: `A-B:C.D.E*F`
  - A – vrsta energije (1=električna energija, 6=toplinska energija, 7=plin, 8=voda)
  - B – mjerni kanal
  - C – fizikalna veličina (npr. 1=djelatna energija)
  - D – vrsta mjerenja (8=vrijeme integracije)
  - E – tarifna zona
  - F – dubina povijesti

**Protokol DLMS:**

- Aplikacijski sloj prema modelu OSI
- **Asocijacije** s različitim pravima pristupa: Public, Reader, Manager
- **Autentifikacija**: Low Level Security (LLS), High Level Security (HLS) s mehanizmom izazov–odgovor
- **Šifriranje**: podrška za DLMS Security Suite s algoritmima AES-GCM-128
- **Profili opterećenja**: objekti međuspremnika za pohranu vremenskih nizova
- **Sustav skripti**: izvršavanje nizova radnji na mjerilu

### Prijenos

Fizički sloj i sloj podatkovne veze:

- **Optički port (IEC 62056-21, flag)** – izravno povezivanje preko infracrvene glave za lokalno očitavanje
- **RS-485 / RS-232** s protokolom HDLC (High-Level Data Link Control) za mreže s više uređaja na jednoj liniji (multi-drop)
- **TCP/IP** (port 4059) – DLMS preko protokola TCP ili enkapsulacija u IP za daljinski pristup
- **GSM/GPRS/LTE** – prijenos podataka preko mobilnih mreža uz omotačke protokole (wrapper)
- **PLC (Power Line Communication)** – prijenos preko elektroenergetskih vodova (PRIME, G3-PLC)
- **M-Bus** – za integraciju sa sustavima mjerenja potrošnje vode i toplinske energije

Profili prijenosa ovisno o implementaciji mjerila:

- IEC 62056-46: COSEM preko protokola HDLC
- IEC 62056-47: prijenos COSEM preko TCP-UDP/IP

### Ključne mogućnosti

- **Očitavanje mjerila** – trenutačne vrijednosti potrošnje energije, snage, napona, struje i faktora snage
- **Profili opterećenja** – detaljni podaci s vremenskim oznakama (15-minutni, satni i dnevni intervali)
- **Dnevnici događaja** – bilježenje neovlaštenog otvaranja poklopca, nestanaka napajanja, prenapona i izmjena parametara
- **Autentifikacija i autorizacija na više razina**: kontrola pristupa temeljena na ulogama (javni pristup, čitanje, konfiguracija)
- **Upravljanje tarifama** – daljinska izmjena tarifnih rasporeda i tarifnih stavki
- **Sinkronizacija vremena** radi točnosti vremenskih oznaka
- **Upravljanje relejem** (uključivanje i isključivanje opterećenja)
- **Praćenje kvalitete električne energije** (propadi i skokovi napona, viši harmonici)
- **Podrška za grupne operacije** nad više mjerila
- **Kriptografska zaštita podataka** i cjelovitost poruka

<Alert type="note">**Podrška u fazi implementacije**</Alert>
