MODUL 5 · PROJEKTNI ZADATAK: PALETIZACIJA S CNC STROJA
Nastavna jedinica 5.2
Dokumentacija kod industrijskih robota
Program koji radi, a nije dokumentiran, vrijedi samo dok ga se sjeća onaj tko ga je napisao. Dokumentacija robotske ćelije nije administrativni dodatak nego radni alat: iz nje se uči novi operater, po njoj se traži kvar i na njoj se temelji svaka kasnija izmjena programa.
- navesti dijelove dokumentacije robotske ćelije i svrhu svakoga od njih
- izraditi dijagram toka programa uz pravilnu uporabu simbola
- sastaviti popis točaka s razlikovanjem naučenih i izračunatih točaka
- sastaviti popis ulaza i izlaza s oznakom, imenom i svrhom svakog signala
- dokumentirati programski kod komentarima i zaglavljem datoteke
- voditi zapis izmjena programa s datumom, autorom i razlogom izmjene
Dokumentiranje radnog zadatka
Prvi dokument projekta nastaje iz prethodne jedinice. To je specifikacija radnog zadatka: jedan do dva lista na kojima su ulazni podaci, ograničenja, mjerila uspjeha i pretpostavke. Njezina je vrijednost u tome što je potpisana. Kada se pola godine kasnije pojavi pitanje zašto su slojevi tri, a ne četiri, odgovor je u specifikaciji, a ne u sjećanju.
Specifikacija se piše jezikom koji razumije i onaj tko ne programira. Umjesto zapisa da se koristi naredba pravocrtnog gibanja s brzinom 500 mm/s, piše se da robot u stroj ulazi sporo i ravno. Tehnički detalji pripadaju u ostale dokumente, a ovaj opisuje što se traži, ne kako se to postiže.
| Dokument | Sadržaj | Tko ga koristi |
|---|---|---|
| Specifikacija radnog zadatka | podaci, ograničenja, mjerila, pretpostavke | naručitelj, projektant, ispitivač |
| Dijagram toka programa | redoslijed koraka i odluka | programer, održavanje |
| Popis točaka | ime, opis, sustav, način nastanka | programer, operater |
| Popis ulaza i izlaza | oznaka, ime, smjer, svrha | programer, elektroinstalater |
| Komentirani programski kod | sam program s objašnjenjima | programer |
| Zapis izmjena | datum, autor, razlog, opis izmjene | svi koji mijenjaju program |
| Upute operateru | pokretanje, izmjena palete, postupak pri zastoju | operater |
Dijagram toka programa
Dijagram toka prikazuje redoslijed koraka prije nego što se napiše ijedna naredba. Njegova je korist dvostruka: prisiljava na razmišljanje o rubnim slučajevima i daje sliku koju razumije i onaj tko ne poznaje programski jezik robota. Simboli su ustaljeni i njihova se uporaba ne mijenja po volji.
| Simbol | Značenje | Pravilo uporabe |
|---|---|---|
| Zaobljeni pravokutnik | početak ili kraj | jedan ulaz na početku, barem jedan izlaz na kraju |
| Pravokutnik | radnja | jedan ulaz, jedan izlaz, glagol u opisu |
| Romb | odluka | jedan ulaz, točno dva označena izlaza: da i ne |
| Paralelogram | ulaz ili izlaz podatka | čitanje signala ili ispis poruke |
| Krug | spojnica | veza s drugim dijelom dijagrama, uz oznaku |
| Strelica | smjer toka | bez križanja gdje god je moguće |
Za projektni zadatak tok je sljedeći: postavi brojilo pozicija na nulu, čekaj potvrdu da je obradak gotov, zatraži otvaranje vrata, uđi u stroj, zatvori prihvatnicu, provjeri prisutnost obratka, izađi, izračunaj poziciju iz brojila, odloži obradak, povećaj brojilo, provjeri je li brojilo dosegnulo dvadeset, ako jest odloži karton i prijeđi u novi sloj, ako nije vrati se na čekanje. Kada brojilo dosegne šezdeset, javi da je paleta puna i čekaj potvrdu operatera.
Pažnja
Najčešća pogreška u dijagramu toka jest romb s tri izlaza ili s izlazima bez oznake. Odluka ima točno dva ishoda. Ako ih treba više, nižu se dva ili više rombova jedan za drugim.
Popis točaka i popis ulaza i izlaza
Popis točaka odgovara na pitanje odakle je koja koordinata došla. U ovom programu točke nastaju na dva načina. Naučene se snimaju vođenjem robota na privjesku i ima ih osam. Izračunate nastaju iz referentne točke palete i koraka mreže, a ima ih šezdeset za obratke i tri za kartone. Izračunate se u popis ne upisuju pojedinačno nego se opisuje pravilo po kojem nastaju.
| Ime točke | Opis | Sustav | Nastanak |
|---|---|---|---|
| pHome | sigurnosni položaj iznad ćelije | bazni | naučena |
| pPrilazStroj | ispred otvorenih vrata stroja | bazni | naučena |
| pIzuzimanje | obradak u steznoj glavi | bazni | naučena |
| pOdmak | izvan obrisa stroja, ravno unatrag | bazni | naučena |
| pMedju | prijelazna točka iznad ćelije | bazni | naučena |
| pPalRef | središte pozicije 1 u sloju 1 | korisnički pal | naučena |
| pKartonUzmi | gornji karton u spremniku | bazni | naučena |
| pPalIzlaz | iznad palete, slobodan prolaz | korisnički pal | naučena |
| pPoz[n] | pozicija n na paleti, n od 1 do 60 | korisnički pal | izračunata |
| pKarton[k] | odlaganje kartona ispod sloja k | korisnički pal | izračunata |
Popis ulaza i izlaza povezuje program s ožičenjem. Bez njega se pri kvaru ne zna je li kriv program, senzor ili vodič. Oznaka mora biti ista u programu, u shemi i na stezaljci.
| Oznaka | Smjer | Ime | Svrha |
|---|---|---|---|
| DI1 | ulaz | diVrataOtvorena | vrata stroja potpuno otvorena |
| DI2 | ulaz | diObradakGotov | CNC javlja da je obrada završena |
| DI3 | ulaz | diPrihvatZatvoren | prsti prihvatnice u zatvorenom položaju |
| DI4 | ulaz | diPrihvatOtvoren | prsti prihvatnice u otvorenom položaju |
| DI5 | ulaz | diObradakUPrihvatu | senzor prisutnosti obratka |
| DI6 | ulaz | diPaletaPrisutna | paleta u napravi s graničnicima |
| DI7 | ulaz | diKartonUSpremniku | spremnik kartona nije prazan |
| DI8 | ulaz | diPotvrdaOperatera | operater potvrdio izmjenu palete |
| DO1 | izlaz | doOtvoriVrata | zahtjev CNC stroju za otvaranje vrata |
| DO2 | izlaz | doZatvoriPrihvat | zatvaranje prihvatnice |
| DO3 | izlaz | doOtvoriPrihvat | otvaranje prihvatnice |
| DO4 | izlaz | doPaletaPuna | svjetlosna signalizacija operateru |
Izračunate pozicije ne upisuju se u popis točaka pojedinačno. Usporedite broj točaka u programu s brojem redaka koje popis točaka stvarno mora imati.
Dokumentiranje programskog koda
Kod se dokumentira na tri razine. Zaglavlje datoteke kaže što program radi, tko ga je napisao i koje inačice je. Komentar iznad potprograma objašnjava njegovu svrhu i parametre. Komentar u retku objašnjava samo ono što iz koda nije očito — nikada ono što kod već jasno kaže.
! ---------------------------------------------------------------
! Program : PALETIZACIJA_PRSTEN
! Celija : CNC tokarilica + sestoosni robot, doseg 1400 mm
! Obradak : prsten fi 80 x 25 mm, masa 0,9 kg
! Paleta : 800 x 600 mm, 5 x 4 pozicije, 3 sloja, ukupno 60
! Inacica : 1.3 Datum: 12.09.2026. Autor: T. P.
! ---------------------------------------------------------------
! Vraca poziciju n (1..60) u korisnickom sustavu palete.
! n -> redni broj pozicije; sloj i mjesto racunaju se iz njega.
FUNC robtarget Pozicija(num n)
VAR num sloj;
VAR num ostatak;
VAR num red;
VAR num stupac;
sloj := Trunc((n - 1) / 20);
ostatak := (n - 1) - sloj * 20;
red := Trunc(ostatak / 5);
stupac := ostatak - red * 5;
! parni redovi idu u jednom, neparni u suprotnom smjeru
IF (red MOD 2) = 1 THEN
stupac := 4 - stupac;
ENDIF
RETURN Odmak(pPalRef, stupac * 160, red * 150, sloj * 28);
ENDFUNCBroj 28 u posljednjem retku nije slučajan: visina obratka je 25 mm, a debljina kartona 3 mm, pa je razmak između istovrsnih pozicija dvaju susjednih slojeva 28 mm. Takav se broj uvijek komentira ili zamjenjuje imenovanom konstantom, jer inače nitko kasnije ne zna smije li ga mijenjati.
Zapis izmjena
Svaka izmjena programa bilježi se s datumom, autorom, razlogom i kratkim opisom. Zapis se vodi u zaglavlju programa ili u posebnoj tablici, ali se vodi uvijek. Bez njega se nakon nekoliko izmjena ne zna koja je inačica u stroju, ni zašto je neki broj promijenjen.
| Inačica | Datum | Razlog | Izmjena |
|---|---|---|---|
| 1.0 | 02.09.2026. | prva izvedba | osnovni ciklus, 60 pozicija bez kartona |
| 1.1 | 04.09.2026. | dodan zahtjev ambalaže | odlaganje kartona prije svakog sloja |
| 1.2 | 09.09.2026. | ciklus predugačak | zone zaobljenja na prijelaznim točkama |
| 1.3 | 12.09.2026. | nalaz iz simulacije | visina prilaza snižena s 250 na 150 mm |
Primjer
Ćelija je nakon šest mjeseci počela povremeno odlagati komad uz rub pozicije. Iz zapisa izmjena vidjelo se da je u inačici 1.3 snižena visina prilaza. Provjerom se utvrdilo da je uz novu, nižu visinu prihvatnica pri otvaranju zapinjala za susjedni komad. Bez zapisa izmjena ta bi se veza teško pronašla.
Dokumentacija ima i treću, često prešućenu korist: olakšava preoblikovanje predloška koda za idući zadatak. Kada sljedeći put treba paletizirati drugi obradak u drugom rasporedu, mijenja se referentna točka, korak mreže i broj pozicija, a struktura programa ostaje. To je moguće samo ako je iz dokumentacije jasno gdje su te veličine zapisane.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Specifikacija radnog zadatka | Pisani i potpisani dokument s podacima, ograničenjima, mjerilima i pretpostavkama. |
| Dijagram toka | Grafički prikaz redoslijeda koraka i odluka u programu. |
| Naučena točka | Točka snimljena vođenjem robota na privjesku za učenje. |
| Izračunata točka | Točka koja nastaje iz referentne točke i pravila, bez učenja. |
| Popis ulaza i izlaza | Tablica koja povezuje oznaku signala u programu s njegovim imenom i svrhom. |
| Zapis izmjena | Tablica s datumom, autorom, razlogom i opisom svake promjene programa. |
| Imenovana konstanta | Broj kojem je dano ime, čime se izbjegava neobjašnjena vrijednost u kodu. |
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
Koliko izlaza smije imati simbol odluke u dijagramu toka?
Odluka ima točno dva označena ishoda; za više ishoda nižu se dva ili više rombova.
Pitanje 2 od 3
Izračunate pozicije na paleti u popisu točaka:
Popis ostaje kratak i pri izmjeni rasporeda jer se pravilo mijenja na jednom mjestu.
Pitanje 3 od 3
Zapis izmjena programa mora sadržavati:
Bez razloga i autora kasnije se ne može utvrditi zašto je neka vrijednost promijenjena.
Odgovoreno 0 od 3.