Tehnički sažetak
Ključne stavke:

Najviše problema obično ne proizlazi iz samog protokola, nego iz pogrešnog određivanja uloge komunikacije u arhitekturi stroja ili postrojenja. Odluku je vrijedno donijeti već u fazi definiranja pretpostavki, uz određivanje vlasnika podataka, posljedica prekida komunikacije i granica odgovornosti sustava.

  • Odabir između MQTT-a, OPC UA i komunikacije s PLC-om utječe na arhitekturu, troškove implementacije, odgovornost dobavljača i tempo primopredaje.
  • Ne radi se o „boljem” protokolu, nego o prilagodbi modela njegovoj funkciji: nadzoru, integraciji, upravljanju ili razvoju sustava.
  • Izravna komunikacija s PLC-om ubrzava puštanje u rad, ali aplikaciju veže uz određeni upravljač, memoriju i implementaciju proizvođača.
  • MQTT podržava laganu distribuciju podataka, a OPC UA interoperabilnost i strukturu, no oba zahtijevaju dobar model podataka.
  • Ako komunikacija utječe na gibanje, slijed rada ili blokade stroja, odabir treba povezati s analizom rizika i posljedicama gubitka veze.

Izbor između MQTT-a, OPC UA i izravne komunikacije s PLC-om prestao je biti isključivo tehnička odluka. Danas taj izbor istodobno utječe na arhitekturu sustava, trošak puštanja u rad, opseg odgovornosti dobavljača i dinamiku preuzimanja sustava. U praksi nije riječ o tome koji je protokol „bolji”, nego koji model razmjene podataka odgovara stvarnoj funkciji projekta: je li potrebna jednostavna integracija signala s jednog stroja, nadzor nad linijom, razmjena podataka s nadređenim sustavima ili možda distribuirano upravljanje koje će se razvijati tijekom sljedećih godina. Pogreška u ovoj fazi obično se ne otkriva odmah u laboratoriju, nego kasnije: pri puštanju u rad, tijekom validacije, pri promjeni dobavljača PLC-a ili onda kada služba održavanja pokušava utvrditi uzrok poremećaja pa se pokaže da su podaci nedosljedni, zakašnjeli ili lišeni konteksta.

Sa stajališta projekta najrizičnije je prihvatiti model komunikacije „po navici”. Izravna komunikacija s PLC-om može biti primamljiva jer omogućuje brz pristup registrima i često skraćuje prvu fazu implementacije. Međutim, takav izbor lako veže nadređenu aplikaciju uz konkretni upravljač, adresiranje memorije i način implementacije proizvođača. Pri promjeni verzije programa, migraciji hardvera ili proširenju linije trošak se vraća u obliku dorada, regresijskih ispitivanja i sporova oko odgovornosti za procesne podatke. S druge strane, MQTT se dobro pokazuje ondje gdje su važni lagana distribucija informacija i odvajanje pošiljatelja od primatelja, ali zahtijeva svjesno definiranje semantike podataka, kvalitete isporuke i pravila održavanja brokera. OPC UA se često bira kao kompromis između interoperabilnosti i strukture informacija, no ni on sam po sebi ne rješava probleme: ako je model podataka loš, tada i formalno ispravna komunikacija i dalje dovodi do pogrešnih operativnih odluka.

Praktičan kriterij za odluku jednostavan je, iako se često zanemaruje: najprije treba utvrditi odnosi li se određena razmjena na informacije, upravljanje ili na funkciju koja utječe na sigurnost rada stroja. Ako kanal služi isključivo za nadzor, izvještavanje ili prijenos recepata u kontroliranom načinu rada, rješenja se mogu uspoređivati s obzirom na održavanje, skalabilnost i integraciju. Ako pak istim putem trebaju prolaziti naredbe koje utječu na gibanje, radni slijed, blokade ili stanje spremnosti uređaja, tema odmah prestaje biti isključivo informatička. Tada treba ocijeniti ne samo kašnjenje i pouzdanost prijenosa, nego i predvidljivost ponašanja nakon gubitka veze, nakon ponovnog pokretanja sustava, nakon promjene verzije softvera i nakon pogrešnog tumačenja stanja od strane vanjskog sustava. To je trenutak u kojem pitanje prirodno prelazi u praktičnu analizu rizika za projektne odluke, a ponekad i u područje zaštite od neočekivanog pokretanja.

Tipičan primjer iz proizvodnih pogona izgleda slično: na početku je cilj samo očitanje podataka sa stroja za vizualizaciju ili izvještajni sustav, pa se tim odlučuje za brzo povezivanje izravno s PLC-om. Nakon nekoliko mjeseci isti kanal počinje služiti za upis postavki, potvrđivanje alarma, a kasnije i za udaljene servisne naredbe. Formalno sustav i dalje „radi”, ali arhitektura više ne odgovara stvarnoj raspodjeli odgovornosti. Više nije jasno koji je sloj izvor istine za stanje stroja, tko je odgovoran za autorizaciju promjena i kako dokazati da vanjska komunikacija ne stvara put do nenamjernog pokretanja. U toj se točki pojavljuju pitanja ne samo o protokolu, nego i o podjeli funkcija između sloja upravljanja, nadzora i sigurnosti te, u scenarijima izravne komunikacije s PLC-om, o posljedicama za električni sloj i spojeve u stroju.

Normativna i usklađenosna važnost ovog izbora pojavljuje se onda kada model razmjene podataka utječe na ponašanje stroja u normalnim i poremećenim stanjima. Ne ulazi svaka integracija odmah u područje zahtjeva koji se odnose na sigurnosne funkcije, ali svaku treba ocijeniti s obzirom na posljedice pogreške, gubitak komunikacije i pogrešan slijed radnji. Ako se preko vanjskog sučelja može promijeniti stanje stroja, otpustiti blokada, ponovno pokrenuti ciklus ili zaobići lokalno predviđena logika, tada komunikacijska odluka mora biti povezana s analizom rizika, a u odgovarajućim slučajevima i sa zahtjevima koji se odnose na sprječavanje neočekivanog pokretanja. Zato ova tema zahtijeva odluku sada, u fazi pretpostavki i arhitekture, a ne tek pri puštanju u rad. Upravo tada još je moguće utvrditi mjerljive kriterije: tko je vlasnik modela podataka, koja je dopuštena posljedica gubitka veze, koliko će integracijskih točaka trebati održavati nakon promjene PLC-a i kako će se dokazati da komunikacija ne prenosi odgovornost izvan planiranog opsega sustava.

Gdje najčešće rastu trošak ili rizik

Najviše problema ne proizlazi iz samog izbora između MQTT-a, OPC UA i izravne komunikacije s PLC-om, nego iz pogrešno dodijeljene uloge te komunikacije u arhitekturi stroja ili postrojenja. Projekt počinje poskupljivati onda kada kanal predviđen za razmjenu pomoćnih podataka počne prenositi operativne odluke o kojima ovise kontinuitet procesa, stanje uređaja ili ponašanje operatera. U praksi to znači da tim uvodi rješenje koje naizgled djeluje jeftinije i brže, a zatim naknadno dodaje zaobilazna rješenja: dodatne hardverske signale, lokalne blokade, iznimke u logici upravljača, zasebne mehanizme potvrde i obnove stanja nakon prekida veze. Upravo te kasne korekcije stvaraju trošak, kašnjenje i spor oko odgovornosti između integratora, dobavljača softvera i krajnjeg korisnika. Praktičan kriterij procjene je jednostavan: treba utvrditi treba li se sustav nakon gubitka komunikacije samo „prestati javljati” ili može prijeći u opasno stanje, tehnološki pogrešno stanje ili stanje koje stvara proizvodne gubitke.

U modelima koji se temelje na izravnoj komunikaciji s PLC-om rizik obično raste ondje gdje sučelje postaje ovisno o konkretnom proizvođaču, verziji softvera i memorijskoj strukturi upravljača. U fazi puštanja u rad to često funkcionira dobro, ali trošak postaje vidljiv pri promjeni upravljača, modernizaciji linije ili priključenju dodatnog nadređenog sustava. Svaka takva promjena zahtijeva ponovno mapiranje podataka, provjeru tipova, adresa, ovlasti i ponašanja u slučaju pogreške prijenosa. Iz perspektive vlasnika proizvoda to je važno jer održavanje prestaje biti predvidljivo: dokumentacija brzo zastarijeva, znanje ostaje kod izvođača, a odgovornost za ispravnost podataka postaje raspršena. Ako tim ne može jasno odrediti vlasnika modela podataka i postupak njegove izmjene nakon ažuriranja PLC-a, tada je trošak buduće integracije već ugrađen u projekt, čak i ako se danas još ne vidi. U kontekstu industrijske automatizacije to je jedan od najčešćih izvora kasnijih problema.

Kod MQTT-a i OPC UA najčešća je druga pogreška: pretpostavlja se da će komunikacijski sloj sam po sebi riješiti problem semantike podataka i pouzdanosti odluka. MQTT dobro prenosi događaje i telemetriju, ali bez pažljivo definiranih tema, kvalitete isporuke, retencije i identifikacije izvora lako dolazi do situacije u kojoj primatelj dobiva podatke koji su formalno ispravni, ali beskorisni ili zakašnjeli u odnosu na proces. OPC UA, s druge strane, uređuje informacijski model i olakšava interoperabilnost, ali njegova se implementacija često podcijeni ako uređaji nemaju dosljedno pripremljenu strukturu objekata, stanja i metoda. Praktičan primjer pojavljuje se kod receptura, potvrđivanja serije ili daljinskog nastavka ciklusa: ako nije jednoznačno definirano koja strana potvrđuje prihvat naredbe, koja izvršenje, a koja samo upis u registar, tada je nakon prvog incidenta teško dokazati je li pogreška nastala u aplikacijskom sloju, komunikacijskom sloju ili u logici stroja. Dobar kriterij za donošenje odluke ovdje nije „modernost” protokola, nego može li se jednoznačno opisati stanje, izvor naredbe, uvjeti valjanosti i način obnove rada nakon poremećaja.

Zaseban izvor troška predstavlja miješanje eksploatacijskih zahtjeva sa zahtjevima sigurnosti i usklađenosti. Ako se putem MQTT-a, OPC UA ili izravnog pristupa PLC-u može utjecati na gibanje stroja, otpuštanje blokada, slijed pokretanja ili parametre koji imaju zaštitnu funkciju, tada to više nije isključivo informatička tema. U tom trenutku tema prirodno prelazi u praktičnu analizu rizika za projektne odluke: ne treba procjenjivati sam protokol, nego posljedice pogrešne naredbe, gubitka ažurnosti podataka, neovlaštene promjene postavki i neusklađenosti između lokalnog i vanjskog stanja. U izvršnim sustavima, uključujući i hidrauličke, komunikacijska odluka može utjecati na način provedbe funkcije zaustavljanja, rasterećenja, blokiranja gibanja i sigurnog povratka u rad, pa je ponekad povezana s projektnim zahtjevima koji se primjenjuju pri ocjeni sukladnosti. Ako vanjsko sučelje počne utjecati na zaštitne funkcije ili na ponašanja koja operater doživljava kao dio zaštite, to treba tretirati kao element arhitekture sigurnosti, a ne kao praktičan dodatak za integraciju. U takvim situacijama opravdano je provesti reviziju sigurnosti strojeva i proizvodnih linija.

Iz perspektive upravljanja projektom najsigurnija je ona odluka koju je moguće obraniti ne samo tehnički nego i organizacijski. Zato je prije odabira modela razmjene podataka vrijedno utvrditi nekoliko mjerljivih kriterija: vrijeme potrebno za uspostavu ispravnog rada nakon prekida veze, broj mjesta na kojima treba održavati mapiranje podataka, način verzioniranja informacijskog modela, opseg regresijskih ispitivanja nakon promjene PLC-a te dokaz da vanjska komunikacija ne zaobilazi lokalne zaštitne mehanizme. Kada su odgovori na ta pitanja nejasni, projekt obično već ulazi u područje u kojem sama komunikacijska odluka treba biti obuhvaćena formalnijom procjenom rizika, a u dijelu primjena i usklađena s projektnim zahtjevima koji se odnose na izvršne elemente i sredstva blokiranja. To je trenutak u kojem izbor između MQTT-a, OPC UA i izravne komunikacije prestaje biti pitanje tehničke preferencije, a postaje odluka o troškovima održavanja, granici odgovornosti i otpornosti cijelog rješenja na pogreške.

Kako temi pristupiti u praksi

U praksi izbor između MQTT-a, OPC UA i izravne komunikacije s PLC-om vrijedi započeti ne od tehnologije, nego od pitanja kakav operativni učinak razmjena podataka treba proizvesti i tko preuzima odgovornost za njezin rezultat. Ako podaci služe isključivo za nadzor, izvještavanje ili napajanje nadređenih sustava, prioritet će biti otpornost integracije na promjene i jasan informacijski model. Ako se, međutim, s druge strane pojavljuju naredbe koje utječu na tijek ciklusa, recepte, radna stanja ili uvjete pokretanja, odluka prestaje biti isključivo informatička. Tada način komunikacije već utječe na granicu odgovornosti između integratora, proizvođača stroja, održavanja i vlasnika procesa. To ima izravne posljedice za projekt: drukčiji opseg prihvatnih ispitivanja, drukčija dokumentacija promjena, drukčiji opseg regresije nakon izmjene programa upravljača i drukčiji trošak održavanja nakon puštanja u rad.

Dobar kriterij za donošenje odluke jest gdje se treba nalaziti izvor istine o stanju stroja i logici dopuštenja rada. Izravna komunikacija s PLC-om može biti opravdana ondje gdje su važni jednostavnost izvršnog puta, mali broj posrednika i potpuna predvidljivost ponašanja na strani upravljača. Cijena toga obično je snažna vezanost rješenja uz konkretan PLC program, adresu podataka i praksu jednog dobavljača. OPC UA je razuman izbor kada projekt zahtijeva stabilniji model podataka, bolje odvajanje aplikacijskog sloja od programa upravljača i veću jasnoću semantike signala. MQTT se ponajprije pokazuje korisnim kada podatke treba distribuirati većem broju primatelja, izvan pojedinačnog odnosa sustav–upravljač, i kada je prihvatljiv model posredne komunikacije. No to nije neutralan izbor: što je više posrednih slojeva, brokera, prevoditelja i mapiranja, to je veća površina pogreške te je teže dokazati da promjena na integracijskoj strani ne narušava pretpostavke usvojene za lokalno upravljanje.

Tipična projektna pogreška sastoji se u tome da tim odabere model koji je praktičan za integraciju u fazi puštanja u rad, a tek kasnije otkrije trošak održavanja. Praktičan primjer: nadređeni sustav treba upisivati recepte i prebacivati načine rada nekoliko stanica. Ako se to izvede izravnim upisom u memorijska područja PLC-a, rješenje će u početku biti brzo, ali svaka promjena strukture podataka u upravljaču pokrenut će ispitivanja na obje strane sučelja, a odgovornost za dosljednost recepata počet će se razvodnjavati. Ako se isti slučaj osloni na jednoznačno definirane objekte i stanja na strani OPC UA, lakše je odvojiti promjenu programa stroja od promjene u sustavu više razine, ali treba održavati informacijski model i njegovo verzioniranje. S druge strane, uporaba MQTT-a za takav scenarij ima smisla tek kada je doista potrebna distribucija podataka prema više sustava i kada su upravljanje kašnjenjima, potvrda isporuke te obnova stanja nakon gubitka veze opisani i provjereni u ispitivanjima. U suprotnom si tim kupuje fleksibilnost koju neće iskoristiti, a ostaje s dodatnim točkama otkaza.

To je ujedno i trenutak u kojem tema prirodno prelazi u praktičnu analizu rizika za projektne odluke. Ako komunikacijski kanal može promijeniti stanje stroja, deblokirati sekvencu, nastaviti rad nakon prekida veze ili neizravno utjecati na izvršne elemente, treba procijeniti ne samo pouzdanost prijenosa, nego i posljedice pogrešne ili zakašnjele naredbe. U dijelu primjena ova se tema već dotiče zahtjeva koji se odnose na zaštitu od neočekivanog pokretanja, jer čak ni tehnički ispravna integracija ne smije stvarati put zaobilaženja lokalnih mjera blokade ili postupaka isključenja energije. U takvom opsegu izbor komunikacije treba uskladiti s arhitekturom upravljanja, električnim slojem i pravilima promjena u softveru, a ne ga donositi kao samostalnu integracijsku odluku. Iz perspektive menadžera to znači jednostavno pravilo: model razmjene podataka ispravan je samo ako se može dokazati tko odobrava promjenu, kako se nakon kvara uspostavlja sigurno stanje i koji će se KPI-jevi mjeriti nakon puštanja u rad, primjerice vrijeme povrata u rad, broj incidenata nakon promjena te broj mjesta na kojima se održava mapiranje podataka.

Na što paziti pri implementaciji

Pri implementaciji najveći rizik ne proizlazi iz samog izbora između MQTT-a, OPC UA i izravne komunikacije s PLC-om, nego iz skrivenih pretpostavki koje tim prihvaća bez formalne potvrde. U projektnoj praksi najskuplje su situacije u kojima se model razmjene podataka odabere prema demonstraciji funkcije, a ne prema stvarnom načinu eksploatacije, održavanja i odgovornosti za promjene. MQTT se ponekad uvodi s pretpostavkom jednostavnog prijenosa podataka prema nadređenim sustavima, a nakon nekoliko mjeseci počinje prenositi operativne naredbe. OPC UA se bira kao „univerzalno” rješenje, ali bez utvrđivanja koje će se usluge, modeli podataka i mehanizmi ovlasti stvarno koristiti. Izravna komunikacija s PLC-om čini se najkraćim putem sve dok se ne pokaže da svaki sljedeći primatelj podataka zahtijeva zasebno mapiranje, regresijska ispitivanja i usuglašavanje s dobavljačem upravljača. Za menadžera to ima jednostavnu posljedicu: trošak implementacije ne završava uspostavom veze, nego se proteže na cijeli ciklus promjena, kvarova i tehničkih prihvata.

Ključno pitanje za donošenje odluke ne bi, dakle, trebalo glasiti „što možemo najbrže pustiti u rad”, nego „gdje završava odgovornost za značenje podataka i posljedice njihove uporabe”. Ako komunikacija služi isključivo za nadzor procesa, kriteriji ocjene bit će drukčiji nego kada ista putanja treba utjecati na recepture, radne parametre, blokade ili upravljačke sekvence. U tom trenutku tema prirodno prelazi u praktičnu analizu rizika za projektne odluke: treba procijeniti ne samo vjerojatnost gubitka veze, nego i to može li pogrešna vrijednost, zakašnjelo ažuriranje ili nejednoznačno mapiranje varijable izazvati neispravan rad stroja ili linije. Ako je odgovor potvrdan, arhitektura komunikacije prestaje biti isključivo pitanje integracije. Ona postaje element koji utječe na upravljačku funkciju, preuzimanje sustava i odgovornost integratora pri povezivanju podsustava.

U praksi se to jasno vidi na jednostavnom scenariju: nadređeni sustav treba očitavati stanja s nekoliko upravljača, a nakon pokretanja projekta korisnik dodatno zatraži daljinsku promjenu postavki. Kod izravne komunikacije s PLC-om to često završi dopisivanjem novih registara, iznimaka i zaobilaznih rješenja ovisnih o konkretnom proizvođaču. Kod MQTT-a problem zna biti gubitak jednoznačnosti: poruka će stići, ali bez jasno definiranog konteksta primatelj ne zna je li vrijednost aktualna, potvrđena i iz kojeg načina rada potječe. Kod OPC UA zamka nije sam protokol, nego previše optimistična pretpostavka da model informacija na strani uređaja odgovara onome što zahtijeva nadređena aplikacija. Zato bi praktični kriterij ocjene trebao obuhvatiti tri stvari: tko je vlasnik semantike podataka, kako se potvrđuje valjanost i aktualnost vrijednosti te kako izgleda postupak izmjene nakon puštanja u rad. Ako tim na bilo koje od tih pitanja odgovara općenito ili ovisno o dobavljaču, to znači da je trošak budućih izmjena upravo prebačen u fazu održavanja.

Zasebna je zamka podcjenjivanje fizičkih i instalacijskih posljedica. U projektima u kojima izbor modela razmjene podataka utječe na lokaciju posredničkih uređaja, dodatno napajanje, trasiranje vodova ili podjelu mreže, tema počinje zadirati u projektiranje električkog sloja i spojeva u stroju. To se osobito odnosi na rješenja s dodatnim komunikacijskim pristupnicima, industrijskim računalima ili preklopnicima, koji u dokumentaciji izgledaju bezazleno, ali u upravljačkom ormaru znače prostor, hlađenje, zaštitu, servis i dodatne točke kvara. Tada se komunikacijska odluka ne može odvojiti od izvedbenog projekta. Tim bi trebao moći pokazati što će se dogoditi nakon nestanka napajanja posredničkog uređaja, kako će se ponovno uspostaviti stanje komunikacije te hoće li kvar prijenosnog sloja stvoriti nejednoznačnu sliku stanja stroja za operatera ili nadređeni sustav.

Pozivanje na zahtjeve usklađenosti pojavljuje se tek kada kanal razmjene podataka utječe na upravljačku funkciju, način uporabe stroja ili granice odgovornosti među dobavljačima. U tom opsegu nije dovoljno ustvrditi da je protokol „industrijski” ili široko primjenjivan. Treba dokazati da je usvojena arhitektura ocijenjena u kontekstu predvidivih stanja kvara, promjena u eksploataciji i sučelja između podsustava, što u praksi vodi do metodičke procjene rizika u skladu s prihvaćenim opsegom projekta. Ako se sustav sastavlja od gotovih modula, upravljača i komunikacijskih slojeva različitih subjekata, raste i važnost formalnog pripisivanja odgovornosti integratoru. To je obično trenutak kada vrijedi zaustaviti projekt i provjeriti ne samo shemu razmjene podataka, nego i granice izmjena nakon preuzimanja, pravila validacije promjena te KPI-jeve održavanja: vrijeme ponovne uspostave komunikacije, broj incidenata nakon ažuriranja i broj sučelja koja zahtijevaju ručno mapiranje.

MQTT, OPC UA ili izravna komunikacija s PLC-om – kako odabrati model razmjene podataka u industrijskom projektu?

Ne. Iz članka proizlazi da odabir treba odgovarati funkciji projekta: jednostavno očitavanje signala služi jednim potrebama, a nadzor linije, integracija s nadređenim sustavima ili distribuirano upravljanje drugima.

Kada brzo povezivanje s registrima počne vezivati aplikaciju uz konkretni kontroler, adresiranje memorije i implementaciju proizvođača. Problem se obično ponovno javlja pri promjeni programa, migraciji hardvera ili proširenju linije.

MQTT je dobro prilagođen laganoj distribuciji informacija i odvajanju pošiljatelja od primatelja, ali zahtijeva promišljeno definiranje semantike podataka i pravila održavanja brokera. OPC UA ponekad predstavlja kompromis između interoperabilnosti i strukture informacija, no neće ispraviti loše osmišljen model podataka.

Tada, kada istim kanalom prolaze naredbe koje utječu na kretanje, radni slijed, blokade ili stanje pripravnosti stroja. U takvoj situaciji treba procijeniti i ponašanje pri gubitku veze, ponovnom pokretanju i pogrešnom tumačenju stanja od strane vanjskog sustava.

Jer tada se još mogu odrediti komunikacijske uloge, vlasnik modela podataka i dopuštene posljedice gubitka veze. U članku se naglašava da kasne izmjene obično povećavaju troškove, kašnjenja i sporove oko odgovornosti.

Podijeli: LinkedIn Facebook