---
title: 'Podržani komunikacioni protokoli'
section: 'Reference'
weight: 1
description: Pregled industrijskih i IoT komunikacionih 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)

### Namena i opis

Jednostavan i široko rasprostranjen industrijski protokol za razmenu procesnih podataka između kontrolera, senzora i aktuatora. Razvijen je 1979. godine u kompaniji Modicon (danas Schneider Electric) i postao je de facto standard u industrijskoj automatizaciji. Koristi se u SCADA sistemima, programabilnim logičkim kontrolerima (PLC), frekventnim regulatorima, mernim instrumentima i senzorima. Zahvaljujući jednostavnoj implementaciji i minimalnim zahtevima u pogledu računarskih resursa, protokol je idealan za ugrađene računarske sisteme i uređaje sa ograničenom memorijom.

### Arhitektura i model podataka

Model podataka zasnovan na registrima počiva na četiri tipa adresnog prostora:

- **Coils (0x)** – diskretni izlazi (jednobitne vrednosti 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 vrednosti (za čitanje i upis)

Arhitektura klijent–server (master-slave): nadređeni uređaj inicira zahteve, 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 vrednosti registara definiše se na aplikacionom nivou i u dokumentaciji uređaja. Podržava čitanje i upis jednog ili više registara.

### Prenos

**Modbus RTU:**

- Serijske linije RS-485 (do 32 uređaja na magistrali, rastojanje do 1.200 m) ili RS-232 (veza tačka–tačka)
- Binarno predstavljanje podataka
- Provera integriteta pomoću CRC-16
- Brzina prenosa: od 1200 do 115200 boda
- Prenos u poludupleksu

**Modbus TCP:**

- Enkapsulacija Modbus okvira u TCP/IP (port 502)
- Zaglavlje MBAP (Modbus Application Protocol) za identifikaciju transakcija
- Prenos u punom dupleksu
- Mogućnost istovremenog rada sa više uređaja
- Kontrolni zbir nije potreban (pouzdanost obezbeđuje 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 identifikacionih podataka uređaja (FC 17, 43)
- Minimalni zahtevi u pogledu računarskih resursa uređaja
- Jednostavnost implementacije i otklanjanja grešaka
- Niski troškovi implementacije
- Obrada izuzetaka i kodovi greš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

### Namena i opis

Univerzalan višeplatformski standard (OPC Unified Architecture, IEC 62541) za bezbednu i strukturisanu razmenu industrijskih podataka, metapodataka i semantičkih informacija. Razvila ga je organizacija OPC Foundation kao naslednika klasičnih specifikacija OPC DA/AE/HDA, čime je otklonjena zavisnost od tehnologija Microsoft DCOM. Omogućava vertikalnu i horizontalnu integraciju u industrijskim sistemima – od nivoa polja do korporativnih informacionih sistema (ERP, MES). Zahvaljujući bogatim mogućnostima informacionog modelovanja, podržava koncepte Industrije 4.0 i digitalnih blizanaca.

### Arhitektura i model podataka

Objektno orijentisan model podataka koji informacije predstavlja kao adresni prostor sačinjen 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, nabrojivi tipovi

Podržani servisi:

- **Subscription** – praćenje promena podataka uz podesive intervale uzorkovanja i filtere
- **Events & Alarms** – asinhrona obaveštenja o događajima, alarmima i stanjima
- **Historical Access** – pristup arhiviranim podacima i događajima
- **Methods** – daljinsko pozivanje procedura na uređajima

Granski informacioni modeli (Companion Specifications): mašinogradnja, energetika, naftna i gasna industrija, farmaceutska industrija.

### Prenos

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

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

**HTTPS / SOAP:**

- Profil veb-servisa za integraciju sa korporativnim sistemima
- Kodiranje u formatu JSON za aplikacije u oblaku

**OPC UA PubSub:**

- Model izdavač–pretplatnik za distribuirane sisteme
- Prenos: UDP Multicast, MQTT, AMQP, Ethernet TSN
- Deterministički prenos za vremenski kritične aplikacije

**Bezbednost:**

- Bezbednosni režimi na više nivoa (None, Sign, SignAndEncrypt)
- Sertifikati X.509 za autentifikaciju
- Šifrovanje algoritmima AES i RSA

### Ključne mogućnosti

- **Informaciono modelovanje**: prenos ne samo „sirovih” vrednosti nego i složenih strukturisanih podataka sa semantikom, tipizacijom i metapodacima
- **Pretplate** sa podesivim intervalima očitavanja, filterima mrtve zone (deadband) i baferovanjem
- **Događaji** i sistem alarma sa uslovnim filtriranjem
- **Pozivanje metoda** za upravljanje uređajima i izvršavanje operacija
- **Pristup istorijskim podacima** sa agregacijom
- **Otkrivanje servisa** u lokalnim mrežama
- **Ugrađena bezbednost**: šifrovanje kanala, autentifikacija pomoću sertifikata ili korisničkog imena i lozinke, kontrola pristupa na nivou čvorova
- **Redundantnost servera i otpornost na otkaze**
- **Višeplatformska podrška**: Windows, Linux, VxWorks, QNX i drugi operativni sistemi
- **Skalabilnost**: od mikrokontrolera do distribuiranih sistema

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

## MQTT

### Namena i opis

Lagan protokol za razmenu poruka (Message Queuing Telemetry Transport) namenjen telemetriji, daljinskom praćenju i upravljanju IoT uređajima, optimizovan za rad u nepouzdanim mrežama, sa ograničenim propusnim opsegom i velikim kašnjenjem. Razvijen je 1999. godine u kompaniji IBM za praćenje naftovoda, a standardizovale 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 protokola je da mrežni saobraćaj i potrošnju energije uređaja svede na minimum.

### Arhitektura i model podataka

Asinhroni model objavljivanja i pretplate (**Publish/Subscribe**) sa centralizovanim brokerom:

- **Izdavač (publisher)** – uređaj ili aplikacija koja objavljuje poruke u teme
- **Pretplatnik (subscriber)** – uređaj ili aplikacija koja je pretplaćena na prijem poruka iz tema
- **Broker** – centralni server za usmeravanje poruka (Mosquitto, HiveMQ, EMQ X itd.)

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

- Separatori nivoa: `/` (npr. `factory/building1/temperature`)
- Džoker znaci: `+` (jedan nivo), `#` (više nivoa)
- Primer pretplate: `sensors/+/temperature` ili `factory/#`

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

### Prenos

- Transportni sloj: TCP/IP (port 1883 za nezaštićene veze)
- TLS/SSL (port 8883) za šifrovanje i autentifikaciju
- WebSockets za integraciju sa pregledačima i veb-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 razmena PINGREQ/PINGRESP za praćenje veze
- Rad preko brokera obezbeđuje razdvajanje izdavača i pretplatnika, horizontalno skaliranje i centralizovano upravljanje

### Ključne mogućnosti

- **QoS (Quality of Service)** – tri nivoa garancije isporuke:
  - QoS 0: najviše jednom (bez potvrde)
  - QoS 1: najmanje jednom (sa potvrdom)
  - QoS 2: tačno jednom (rukovanje u četiri koraka)
- **Minimalno dodatno opterećenje mreže**: fiksno zaglavlje od 2 bajta, efikasno binarno kodiranje
- **LWT (Last Will and Testament)**: mehanizam automatskog obaveštavanja o neočekivanom prekidu veze sa uređajem – broker objavljuje unapred definisanu poruku ako klijent nepravilno završi sesiju
- **Clean Session / Persistent Session**: mogućnost obnavljanja pretplata i poruka posle ponovnog povezivanja
- **Zadržane poruke**: dostupnost poslednje vrednosti novim pretplatnicima
- **Mala potrošnja energije**: idealna za uređaje sa baterijskim napajanjem
- **Skalabilnost**: podrška za milione istovremenih veza na klasterima brokera
- **Pretplate sa džoker znacima** za fleksibilno filtriranje tema

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

## DLMS / COSEM (IEC 62056)

### Namena i opis

Međunarodni standard za razmenu podataka sa merilima potrošnje električne energije, gasa, vode i toplotne energije (Device Language Message Specification / Companion Specification for Energy Metering). Razvilo ga je udruženje DLMS User Association zajedno sa organizacijom IEC kako bi se obezbedila interoperabilnost pametnih merila u automatizovanim sistemima merenja i obračuna (AMBS). Omogućava daljinsko očitavanje merila, praćenje kvaliteta električne energije, upravljanje tarifama i otkrivanje neovlašćenog pristupa. Široko ga koriste operatori elektroenergetskih sistema, komunalna i energetska preduzeća, kao i sistem integratori za pametne elektroenergetske mreže (Smart Grid).

### Arhitektura i model podataka

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

- Podaci merila predstavljeni su kao **logički objekti (objekti COSEM)** sa interfejsnim klasama
- **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=toplotna energija, 7=gas, 8=voda)
  - B – merni kanal
  - C – fizička veličina (npr. 1=aktivna energija)
  - D – vrsta merenja (8=vreme integracije)
  - E – tarifna zona
  - F – dubina istorije

**Protokol DLMS:**

- Aplikacioni sloj prema modelu OSI
- **Asocijacije** sa različitim pravima pristupa: Public, Reader, Manager
- **Autentifikacija**: Low Level Security (LLS), High Level Security (HLS) sa mehanizmom izazov–odgovor
- **Šifrovanje**: podrška za DLMS Security Suite sa algoritmima AES-GCM-128
- **Profili opterećenja**: baferski objekti za čuvanje vremenskih serija
- **Sistem skripti**: izvršavanje nizova radnji na merilu

### Prenos

Fizički sloj i sloj veze podataka:

- **Optički port (IEC 62056-21, flag)** – direktno povezivanje preko infracrvene glave za lokalno očitavanje
- **RS-485 / RS-232** sa protokolom HDLC (High-Level Data Link Control) za mreže sa 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** – prenos podataka preko mobilnih mreža uz omotačke protokole (wrapper)
- **PLC (Power Line Communication)** – prenos preko elektroenergetskih vodova (PRIME, G3-PLC)
- **M-Bus** – za integraciju sa sistemima merenja potrošnje vode i toplotne energije

Profili prenosa u zavisnosti od implementacije merila:

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

### Ključne mogućnosti

- **Očitavanje merila** – trenutne vrednosti potrošnje energije, snage, napona, struje i faktora snage
- **Profili opterećenja** – detaljni podaci sa vremenskim oznakama (15-minutni, satni i dnevni intervali)
- **Dnevnici događaja** – beleženje neovlašćenog otvaranja poklopca, nestanaka napajanja, prenapona i izmena parametara
- **Autentifikacija i autorizacija na više nivoa**: kontrola pristupa zasnovana na ulogama (javni pristup, čitanje, konfiguracija)
- **Upravljanje tarifama** – daljinska izmena tarifnih rasporeda i tarifnih stavova
- **Sinhronizacija vremena** radi tačnosti vremenskih oznaka
- **Upravljanje relejem** (uključivanje i isključivanje opterećenja)
- **Praćenje kvaliteta električne energije** (propadi i skokovi napona, viši harmonici)
- **Podrška za grupne operacije** nad više merila
- **Kriptografska zaštita podataka** i integritet poruka

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