MODUL 1 · OSNOVE INDUSTRIJSKE ROBOTIKE
Nastavna jedinica 1.3
Programska podrška za upravljanje robotom
Program koji programer napiše samo je vrh onoga što se u kontroleru izvodi. Ispod njega radi sustavska podrška koja planira putanju i regulira osi, a iznad njega stoje knjižnice, sučelja prema nadređenom sustavu i sigurnosni dio upravljanja. Ova jedinica te slojeve razdvaja i pokazuje tko koji od njih dira.
- razlikovati slojeve programske podrške robotskog sustava
- objasniti zadaću sustavske podrške kontrolera i regulacije osi
- opisati ustroj korisničkog programa i odvajanje podataka od logike
- navesti tipične tehnološke dodatke i knjižnice te njihovu svrhu
- objasniti načine povezivanja robota s nadređenim upravljanjem
- obrazložiti postupak vođenja inačica i izrade sigurnosnih kopija
Slojevi programske podrške
Programska podrška robotskog sustava nije jedan program nego niz slojeva koji se oslanjaju jedan na drugi. Najniži sloj isporučuje proizvođač i korisnik ga ne mijenja; srednji sloj piše programer primjene; najviši sloj povezuje robota s ostatkom pogona. Razdvajanje tih slojeva nije akademsko pitanje: o njemu ovisi tko smije što promijeniti, što se gubi pri nadogradnji i gdje se traži uzrok kada nešto ne radi.
| Sloj | Zadaća | Tko ga mijenja |
|---|---|---|
| Sustavska podrška kontrolera | operativni sustav stvarnog vremena, interpolacija, regulacija osi | proizvođač, kroz inačice |
| Konfiguracija sustava | postavke osi, alata, sigurnosnih zona i ulaza i izlaza | ovlašteni serviser ili integrator |
| Korisnički program | redoslijed posla, točke, logika, obrada grešaka | programer primjene |
| Knjižnice i tehnološki dodaci | gotove funkcije za paletizaciju, vid, zavarivanje | programer, uz licencu proizvođača |
| Sučelja prema nadređenom sustavu | razmjena naloga i stanja s PLC-om i informacijskim sustavom | integrator i programer PLC-a |
Sloj ispod uvijek ograničava sloj iznad. Korisnički program ne može premašiti brzine i momente koje dopušta konfiguracija, a konfiguracija ne može premašiti ono što sustavska podrška uopće podržava. Zbog toga se pri traženju uzroka kvara ide odozdo prema gore: najprije se provjeravaju poruke sustava, zatim postavke, pa tek onda korisnički program.
Sustavska podrška kontrolera
U srcu kontrolera radi operativni sustav stvarnog vremena. Njegova je osobitost da zadaće izvodi u unaprijed poznatim vremenskim razmacima, bez odgode koju bi donio obični operativni sustav. Ciklus u kojem se računa gibanje kod većine je izvedbi reda jedne do dvanaest milisekundi; u svakom takvom ciklusu upravljanje mora znati gdje osi trebaju biti u sljedećem trenutku.
Prvi zadatak sustavske podrške je planiranje putanje. Iz naredbe gibanja i zadanih točaka računa se vremenski tijek položaja, uz poštovanje najvećih dopuštenih brzina, ubrzanja i trzaja. Drugi je zadatak interpolacija: razlaganje tako isplanirane putanje na niz međupoložaja u svakom ciklusu. Treći je transformacija između koordinata alata i kutova zglobova, koja pretvara traženi položaj u prostoru u vrijednosti za svaku os.
Zadnji korak je regulacija osi, izvedena kaskadno u tri petlje. Vanjska petlja regulira položaj, srednja brzinu, a unutarnja struju motora. Svaka petlja radi brže od one iznad nje, a njihovo usklađivanje određuje koliko robot vjerno slijedi zadanu putanju pri velikim brzinama i teretima.
Pažnja
Parametri regulacije i dinamički model robota dio su sustavske podrške i ne mijenjaju se pri programiranju primjene. Ako robot vibrira ili odstupa od putanje, uzrok je gotovo uvijek u krivo zadanoj masi i težištu alata, u previsoko postavljenoj brzini ili u mehaničkom stanju prijenosnika, a ne u regulatoru.
Korisnički program
Korisnički program opisuje što robot radi i kojim redoslijedom. Kod većine proizvođača program se dijeli na module: glavni program vodi tijek ciklusa, a potprogrami obavljaju zaokružene cjeline kao što su uzimanje s palete, ulaganje u stroj ili čišćenje naprave. Takva podjela nije samo stvar urednosti; ona omogućuje da se dio programa mijenja bez diranja ostatka i da se isti potprogram pozove iz više mjesta.
Dobra praksa nalaže da se podaci odvoje od logike. Točke, podaci o alatu, koordinatni sustavi i brojevi pozicija drže se u zasebnim datotekama ili modulima, dok logika ostaje nepromijenjena. Kada se ćelija preseli ili se zamijeni naprava, dovoljno je ponovno naučiti točke; program se ne prepravlja. Isto vrijedi i za prijelaz na drugu izvedbu obratka: mijenja se skup podataka, a ne tijek.
MODULE glavni
PROC main()
inicijaliziraj;
WHILE pogon_radi DO
IF paleta_prazna THEN
zatrazi_novu_paletu;
ELSE
uzmi_s_palete pozicija;
ulozi_u_stroj;
cekaj_obradu;
odlozi_na_paletu pozicija;
pozicija := pozicija + 1;
ENDIF
ENDWHILE
ENDPROC
ENDMODULEUz glavni tijek program mora sadržavati i obradu odstupanja: što se događa ako obradak nije u napravi, ako stroj ne javi kraj obrade u očekivanom vremenu ili ako prihvatnica ne potvrdi hvat. Program koji predviđa samo ispravan slijed radi dok sve ide dobro, a u pogonu to nije dovoljno.
Knjižnice i tehnološki dodaci
Poslovi koji se ponavljaju u mnogim primjenama ne pišu se svaki put iznova. Proizvođači isporučuju knjižnice i tehnološke dodatke — gotove funkcije s vlastitim korisničkim sučeljem, koje se u program pozivaju kao naredbe. Dodatak za paletizaciju iz opisa palete i rasporeda računa sve pozicije, redoslijed slaganja i međupoložaje, pa programer ne uči svaku poziciju ručno.
Dodatak za strojni vid povezuje kameru s robotom: kamera predaje položaj predmeta, a dodatak ga preračunava u koordinatni sustav robota i pomiče naučenu točku. Dodaci za zavarivanje vode parametre postupka, njihanje elektrode i pretraživanje spoja. Dodatak za praćenje transportera omogućuje uzimanje predmeta s trake u pokretu, a dodatak za upravljanje silom koristi senzor na prirubnici za umetanje s malom zračnosti i za brušenje po površini.
Dodaci gotovo uvijek traže licencu i vezani su uz inačicu sustavske podrške. Zato se pri planiranju ćelije popis potrebnih dodataka sastavlja zajedno s narudžbom robota; naknadno dodavanje moguće je, ali može tražiti nadogradnju kontrolera i ponovno ispitivanje.
Sučelja prema nadređenom sustavu i dijagnostika
Robot u ćeliji rijetko odlučuje sam. Nalog za rad, broj izvedbe obratka i dopuštenje za ulazak u stroj dobiva od nadređenog upravljanja, najčešće od PLC-a. Razmjena se izvodi na dva načina. Izravno ožičeni signali vode se na ulazno-izlazne sklopove kontrolera i koriste se za jednostavna, jasna stanja i za sve što je sigurnosno. Mrežna razmjena preko industrijskih protokola prenosi veće skupine podataka, brojeve programa, brojače i mjerne vrijednosti.
Iznad razine ćelije robot se povezuje s informacijskim sustavom pogona radi praćenja proizvodnje, prikupljanja podataka o ciklusima i zastojima te zapisa o kvaliteti. Za to se koriste standardizirana sučelja koja podatke opisuju na način neovisan o proizvođaču. Takav pristup omogućuje da se ista izvješća prikupljaju s robota različitih proizvođača.
Uz to svaki kontroler ima alate za dijagnostiku i praćenje: dnevnik poruka s vremenskim oznakama, prikaz stanja ulaza i izlaza, praćenje vrijednosti varijabli tijekom izvođenja, zapis opterećenja osi i temperature te snimanje tijeka signala. Ti alati skraćuju traženje uzroka zastoja s nekoliko sati na nekoliko minuta, ali samo ako se dnevnik čita prije nego što se poruke izbrišu.
Procjena prostora za pohranu kopija i vremena potrebnog da se jedan robot vrati u radno stanje. Vrijeme ručnih radnji obuhvaća pripremu, prijenos na kontroler i provjeru.
Sigurnosni dio, inačice i sigurnosne kopije
Sigurnosni dio upravljanja odvojen je od ostatka programa. On se izvodi na vlastitim, redundantnim sklopovima i nadzire zaustavljanje u nuždi, vrata ograde, prekidač dopuštenja, ograničenje brzine u ručnom radu te, kod novijih izvedbi, nadzirane prostorne zone i ograničenja položaja. Sigurnosne postavke mijenjaju se posebnim postupkom, uz lozinku i uz obvezno ponovno ispitivanje svake funkcije nakon promjene.
Inačica sustavske podrške određuje koje su funkcije dostupne i koji dodaci rade. Nadogradnja se ne izvodi bez razloga: donosi ispravke i nove mogućnosti, ali traži provjeru da postojeći programi i dalje rade jednako. Prije svake nadogradnje obvezno se izrađuje potpuna sigurnosna kopija, a nakon nje ćelija se ispituje kao da se pušta u rad.
| Što se čuva | Sadržaj | Kada se osvježava |
|---|---|---|
| Puna slika sustava | sustavska podrška, postavke, svi programi i podaci | prije nadogradnje i nakon puštanja u rad |
| Korisnički programi i točke | moduli, točke, podaci o alatu i koordinatnim sustavima | nakon svake potvrđene izmjene |
| Sigurnosna konfiguracija | zone, ograničenja brzine, raspored sigurnosnih signala | nakon svake promjene, uz zapis o ispitivanju |
| Podaci o kalibraciji | vrijednosti nultih položaja osi | nakon kalibracije i zamjene motora ili prijenosnika |
Primjer
Za ćeliju ZR-1 sigurnosna se kopija robota izrađuje svakog petka i sprema pod imenom koje sadrži oznaku ćelije, datum i inačicu, primjerice ZR-1_2026-03-13_v6.08. Uz kopiju se u dnevnik upisuje što je mijenjano. Kada je nakon zamjene prihvatnice trebalo vratiti prethodno stanje, obnova je trajala manje od sat vremena jer je kopija postojala i jer je bilo zapisano koja je zadnja ispravna.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Operativni sustav stvarnog vremena | Sustav koji zadaće izvodi u unaprijed poznatim vremenskim razmacima, bez nepredvidive odgode. |
| Interpolacija | Razlaganje planirane putanje na niz međupoložaja koji se zadaju osima u svakom ciklusu upravljanja. |
| Kaskadna regulacija | Regulacija u tri ugniježđene petlje: položaja, brzine i struje motora. |
| Tehnološki dodatak | Gotova programska cjelina za određenu primjenu, primjerice paletizaciju, vid ili zavarivanje. |
| Sigurnosna konfiguracija | Skup postavki sigurnosnog dijela upravljanja koji se mijenja posebnim postupkom i uz ponovno ispitivanje. |
| Sigurnosna kopija | Cjelovit zapis sadržaja kontrolera iz kojega se sustav može vratiti u prethodno stanje. |
| Dnevnik poruka | Kronološki zapis događaja i grešaka u kontroleru, s vremenskim oznakama. |
Provjeri se
Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.
Pitanje 1 od 3
Koja je zadaća interpolacije u kontroleru robota?
Interpolacija pretvara planiranu putanju u niz međupoložaja koji se osima zadaju u svakom ciklusu upravljanja.
Pitanje 2 od 3
Zašto se točke i podaci o alatu drže odvojeno od logike programa?
Odvajanjem podataka od logike izmjena ćelije ili izvedbe obratka traži samo novi skup podataka, bez diranja tijeka programa.
Pitanje 3 od 3
Sigurnosni dio upravljanja robotom izvodi se:
Sigurnosne funkcije rade na vlastitim dvokanalnim sklopovima, neovisno o korisničkom programu.
Odgovoreno 0 od 3.