Preskoči na sadržaj
FORTRONIQ
IzbornikDigitalni sadržajiIndustrijska robotika4. Programski alati u industrijskoj robotici4.13 Osnovne naredbe proceduralnog robotskog programskog jezika

MODUL 4 · PROGRAMSKI ALATI U INDUSTRIJSKOJ ROBOTICI

Nastavna jedinica 4.13

Osnovne naredbe proceduralnog robotskog programskog jezika

Robotski jezici razlikuju se po nazivima i pravopisu, ali ne po sadržaju. U svakom postoje naredbe gibanja, čekanja, rada s ulazima i izlazima, pridruživanja, uvjeta, petlji, poziva potprograma i obrade pogrešaka. Tko ih razumije u jednom jeziku, u drugom traži samo drugo ime.

Moći ću:
  • razvrstati naredbe robotskog jezika u skupine prema zadaći
  • objasniti parametre naredbe gibanja i njihovo djelovanje
  • koristiti naredbe čekanja, rada sa signalima i pridruživanja
  • napisati uvjet, petlju i poziv potprograma u proceduralnom robotskom jeziku
  • objasniti ulogu obrade pogrešaka u programu ćelije
  • prepoznati istovjetne naredbe u RAPID-u, KRL-u i FANUC TP-u

Skupine naredaba

Sve naredbe proceduralnog robotskog jezika mogu se svrstati u sedam skupina. Podjela je korisna jer olakšava snalaženje u nepoznatom jeziku: pita se koja skupina je potrebna, pa se u priručniku traži njezin naziv.

SkupinaZadaćaPrimjeri uporabe
Gibanjevodi alat od točke do točkeprilaz, zahvat, odlaganje, praćenje ruba
Čekanjezaustavlja izvođenje do uvjeta ili isteka vremenačekanje stroja, čekanje prihvatnice
Ulazi i izlazičita i postavlja signalezatvaranje prihvatnice, zahtjev stroju
Pridruživanjeupisuje vrijednost u varijablubrojač pozicija, izračunata točka
Uvjetiodabire granu prema stanjuima li predmeta, je li paleta puna
Petljeponavlja dio programaslaganje sloja, ponovni pokušaj
Potprogrami i pogreškedijeli program i hvata neočekivanoizmjena komada, obrada isteka vremena

Uz njih idu i naredbe za rad s privjeskom — ispis poruke i upit operateru — koje se rijetko spominju, a bez kojih se ćelija ne može voditi. Poruka koja kaže zašto robot stoji vrijedi više od svakog dijagnostičkog alata.

Gibanje i njegovi parametri

Naredba gibanja u svakom jeziku ima četiri podatka: odredište, brzinu, točnost odnosno zaobljenje i alat. Uz njih se često navodi i korisnički sustav u kojem je odredište izraženo. Razlike među jezicima svode se na redoslijed i na način zapisa, ne na sadržaj.

! RAPID (ABB)
MoveL pUzmi, v200, fine, tPrihvat \WObj := wobjNaprava;

; KRL (KUKA)
LIN pUzmi C_DIS

/ TP (FANUC)
L P[1] 200mm/sec FINE

U sva tri slučaja radi se o pravocrtnom gibanju do naučene točke uz zadanu brzinu i zaustavljanje u točki. Isto vrijedi i za gibanje po zglobovima i za kružno gibanje. Tko zna zašto se bira jedno ili drugo, jezik uči u jedno poslijepodne.

Koliko naredaba ima program zadanog opsega?Računski prikaz

Procjena duljine programa iz broja točaka, udjela naredaba koje nisu gibanja i broja potprograma. Pomaže procijeniti hoće li program stati u kontroler i koliko će ga biti lako održavati.

Naredaba ukupno—
Redaka s komentarima—
Prosječno po potprogramu—redaka

Signali, čekanje i pridruživanje

Rad sa signalima ima tri osnovne radnje: postavljanje izlaza, čitanje ulaza i čekanje na stanje ulaza. Čekanje uvijek dobiva najdulje dopušteno vrijeme i zastavicu koja kaže je li se ono isteklo, jer je to jedini način da program razlikuje ispravan tijek od zastoja.

Pridruživanje upisuje vrijednost u varijablu. U robotskim jezicima ono obuhvaća i složene tipove: cijela se točka može pridružiti drugoj, a zatim joj se promijeniti samo jedno polje. Upravo se na tome temelji izračun pozicija paletizacije iz jedinice 4.9.

Zapamtite

Naredba čekanja bez vremenske granice jedina je naredba koja može zaustaviti ćeliju zauvijek, a da pritom ne prijavi nikakvu pogrešku. U programu koji ide u pogon ne smije je biti.

Usporedna tablica naziva

Sljedeća tablica povezuje iste zadaće u trima najraširenijim jezicima. Nazivi se razlikuju, ali se skupine podudaraju u potpunosti. Tablica je korisna pri prelasku s jednog sustava na drugi i pri čitanju tuđeg programa.

ZadaćaRAPID (ABB)KRL (KUKA)TP (FANUC)
Gibanje po zglobovimaMoveJPTPJ P[n]
Pravocrtno gibanjeMoveLLINL P[n]
Kružno gibanjeMoveCCIRCC P[n] P[m]
Postavljanje izlazaSetDO$OUT[n] = TRUEDO[n] = ON
Čitanje ulazaDInput$IN[n]DI[n]
Čekanje na ulazWaitDIWAIT FOR $IN[n]WAIT DI[n] = ON
Čekanje vremenaWaitTimeWAIT SECWAIT sek
Pridruživanje:==R[n] = ...
UvjetIF ... THEN ... ENDIFIF ... THEN ... ENDIFIF ... , JMP LBL[n]
Petlja s brojačemFOR ... ENDFORFOR ... ENDFORLBL i JMP s brojačem
Petlja s uvjetomWHILE ... ENDWHILEWHILE ... ENDWHILELBL i uvjetni JMP
Poziv potprogramaime ili ProcCallime()CALL ime
Ispis porukeTPWriteMsgNotifyMESSAGE
Obrada pogreškeERROR grana u PROCobrada preko prekidapraćenje preko uvjeta i oznaka
RAPID KRL TP MoveJ pA,v800,z50; MoveL pB,v200,fine; SetDO doHvat,1; WaitTime 0.3; MoveL pC,v400,z10; PTP pA VEL=80% LIN pB VEL=0.2 $OUT[5]=TRUE WAIT SEC 0.3 LIN pC VEL=0.4 J P[1] 80% CNT50 L P[2] 200mm/s FINE DO[5]=ON WAIT 0.3sec L P[3] 400mm/s CNT Isti redak, tri zapisa: skupine naredaba se podudaraju.
Slika 4.13 — Isti program u trima jezicima; nazivi se razlikuju, a skupine naredaba su iste.

Obrada pogrešaka i dobra praksa

Obrada pogrešaka je dio programa koji se izvodi kada se dogodi nešto neočekivano: istek čekanja, izgubljen predmet, nedostižna točka. Bez nje program prekida izvođenje na mjestu na kojem se pogreška dogodila, a to je gotovo uvijek loše mjesto — alat u stroju, komad u ruci, vrata otvorena.

Dobro napisana obrada pogreške ima tri koraka: osigurati stanje (zadržati komad ili ga odložiti na sigurno), javiti što se dogodilo porukom koju operater razumije, i vratiti robota u sigurnosni položaj. Tek potom program staje ili se vraća u čekanje.

Primjer

Robot ćelije ZR-1 čeka dozvolu ulaska u stroj. Nakon dvadeset sekundi dozvola ne stiže. Obrada pogreške zadržava komad u prihvatnici, ispisuje poruku o stroju koji ne otvara vrata, vodi robota u sigurnosni položaj i ostaje u čekanju. Ćelija stoji, ali stoji uredno i s poznatim uzrokom.

Na kraju vrijedi i najjednostavnije pravilo cijeloga modula: program se piše tako da ga može pročitati netko drugi, i tako da ćelija u svakom zamislivom trenutku prekida ostane u stanju iz kojega se može nastaviti. Sve ostalo su pojedinosti koje se nauče uz priručnik.

Ključni pojmovi

PojamZnačenje
Naredba gibanjaNaredba koja vodi alat do zadane točke uz zadanu brzinu, točnost i alat.
Naredba čekanjaNaredba koja zaustavlja izvođenje dok se ne ispuni uvjet ili ne istekne vrijeme.
Postavljanje izlazaNaredba kojom program mijenja stanje digitalnog izlaza.
PridruživanjeUpis vrijednosti u varijablu, uključujući složene tipove poput položaja.
Poziv potprogramaNaredba kojom se izvođenje prenosi u imenovani dio programa i vraća natrag.
Obrada pogreškeDio programa koji se izvodi pri neočekivanom događaju i vodi ćeliju u sigurno stanje.

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 se naredba u RAPID-u, KRL-u i TP-u redom koristi za pravocrtno gibanje?

Pravocrtnom gibanju odgovaraju MoveL, LIN i L, svaki u svom jeziku.

Pitanje 2 od 3

Što mora sadržavati dobro napisana obrada pogreške?

Bez osiguranja stanja i povratka robot ostaje na lošem mjestu, najčešće u stroju s komadom u ruci.

Pitanje 3 od 3

Koja je naredba jedina sposobna zaustaviti ćeliju zauvijek bez prijave pogreške?

Čekanje bez zadanog najduljeg vremena traje neograničeno i ne javlja nikakvu pogrešku.

Odgovoreno 0 od 3.