Sunteți pe pagina 1din 12

SCRI REFERAT DE LABORATOR. NR.

3 Prezentarea programului robotului IRB 1400


1. Programul robotului IRB 1400 Robotul IRB 1400, component integrat a celulei de fabricaie, are de rezolvat urmtoarele dou sarcini: 1. Preluarea unei piese brute de la magazia de semifabricate i plasarea ei spre prelucrare la maina unealt PC Mill 55. 2. Depunerea piesei prelucrate pe conveiorul aflat n micare. Construcia programului ce permite rezolvarea celor dou sarcini i integrarea lor n scopul final al celulei de fabricaie este una modular, procedurile componente ale fiecrui modul fiind prezentate n fig. 1.
A1_CalcPal1Semif A1_Pal1_FetchSf A1_ResetPrg Main A1_PalNotEmpty

A1_CNV

A1_DropPalCNV A1_FeedCNV CLOSE_GRIPP OPEN_GRIPP

A1_1400

A1_CalcPal2Semif A1_Pal2_FetchSf A1_CalcNrPiese A1_FeedPCMILL

A1_PCMILL

CLOSE_VICE OPEN_VICE CLOSE_DOOR OPEN_DOOR

Fig. 1 Schema nlnuirii procedurilor programului pentru robotul IRB 1400 Ca date globale sunt definite n modulul A1_1400 anumite poziii din spaiul de lucru, efectorul, sarcina pe care o va transporta efectorul, variabile numerice ce definesc anumii parametri cum ar fi tipul piesei, numrul paletului de pe care se preiau piese brute, numrul de piese din stoc, starea mainii unelte. Poziiile pieselor brute ce trebuie preluate de pe stocator sunt transmise de ctre calculatorul PC-Master, rutinele A1_CalcPal1Semif i A1_CalcPal2Semif urmnd a calcula coordonatele de amplasare a pieselor pe

paleii stocatorului i a stabili programul care va rula pe maina unealt. Avnd n vedere dispunerea matricial a pieselor pe palei, calculul poziiilor se va face pornind de la un reper, lund n considerare dimensiunea piesei i elementele de ghidare amplasate pe palei. Poziia piesei brute ce se dorete a fi prelucrat se transmite de la PC-Master prin intermediul unei date numerice nPal_in{nrP, col, pozcol} ce conine informaii privind paletul pe care se afl piesa, coloana din palet i poziia n cadrul coloanei. Exist 2 palei pentru piese brute, care, conform fig. 2, conin 3 coloane. Pe fiecare coloan pot fi amplasate 9 piese, de unde rezult nrP = 2, col = 3, pozcol = 9.

Fig. 2. Structura paletului pentru piese brute n concluzie se vor citi i testa 54 de valori urmnd a se determina coordonatele locaiilor pe stocator unde se afl piesele brute ce vor fi prelucrate. Pentru explicaii mai n detaliu s-a considerat a fi util urmtorul exemplu, n care pe prima poziie a coloanei nti din primul palet apare o pies de tip D, apoi una de tip A, B, poziie goal sau pies care nu trebuie prelucrat, pies de tip A, piesa de tip A care a fost deja preluat pentru prelucrare, .a.m.d. PERS num nPal_in{2,3,9} := [[[4,1,2,0,1,-1,-1,-1,0], [3,-1,-1,0,0,0,0,0,0], [0,0,-1,-1,1,-1,-1,-1,-1]], [[-1,-1,-1,-1,-1,-1,-1,-1,-1], [-1,-2,-1,-3,-1,-1,-1,0,0], [0,0,0,0,-4,-4,-1,-1,-1]]]; Din punct de vedere al execuiei programului, valorile cmpurilor datei nPal_in pot fi grupate n trei categorii: 1. -1, -2, -3, -4, -5 sunt piese brute de tip A, B, C, D, E, care au fost preluate de pe stocator de ctre robot. n momentul cnd robotul preia o piesa din magazia de piese brute, semnalizeaz acest lucru suprascriind cu semnul codul piesei care a preluat-o; astfel programul de pe PC-Master este informat i actualizeaz acest eveniment. 2. 0 reprezint locaie goal pe stocator sau locaie pe care exist o pies brut de orice tip, care nu este utilizat n procesul fabricaiei. 3. 1, 2, 3, 4, 5 sunt piese brute de tip A, B, C, D i respectiv E ce vor fi utilizate n procesul fabricaiei. Din punct de vedere al robotului IRB 1400 importante sunt poziiile marcate cu 1, 2, 3, 4 sau 5, n exemplul anterior acestea fiind poziiile 1, 2, 3, 5 i 10 de pe stocatorul 1. 2

Programul ce se va executa pe maina unealt se transmite prin intermediul variabilei nPal_prg. Aceast variabil are exact aceeai configuraie ca i nPal_in i va conine, pe poziia corespunztoare unei piese brute ce va fi prelucrat, numrul programului, adic o valoare ntreag cuprins ntre 1 i 9. Pe consola robotului vor fi afiate poziiile pieselor ce vor fi prelucrate i programele care vor fi executate pentru aceste piese. Preluarea efectiv a pieselor de pe stocator se face prin intermediul rutinelor A1_Pal1_FetchSf i A1_Pal2_FetchSf. Aceste rutine conin instruciunile de micare pentru deplasarea piesei i apelul rutinelor de nchidere i deschidere a efectorului pentru apucarea i eliberarea ei (OPEN_GRIP i CLOSE_GRIP). Rutina A1_Reset_Prg are rolul de a reseta programele de prelucrare pe maina unealt ce corespund unor piese ce nu au fost comandate spre prelucrare. Dei aceast situaie nu ar trebui s apar n funcionarea normal, procedura se dorete a fi o msur de precauie. Testarea se face pe fiecare component a datei nPal_prg conform exemplului de mai jos. WHILE ... IF nPal_prg{nr_pal,col,1}>0 THEN nPal_prg{nr_pal,col,1}:= nPal_prg{nr_pal,col,1}; ENDIF ENDWHILE Resetarea unui program ce reprezint un numr pozitiv ntreg n domeniul 1 - 9 se face prin trecerea acelui numr n domeniul negativ, caz n care el nu mai semnific un numr de program. Calculul numrului de piese brute ce trebuie prelucrate se realizeaz prin intermediul procedurii A1_CalcNrPiese. n cadrul acesteia se citesc cmpurile variabilei nPal_in, n funcie de valoarea acestora fiind incrementat unul din cmpurile variabilei Piese_STOC. TEST nPal_in {numar_paleta, coloana, poz_piesa_pe_pal} CASE 1: Piese_STOC {1} := piese_STOC {1} + 1; CASE 5: Piese_STOC {5} := piese_STOC {5} +1; ENDTEST

Data piese_STOC conine 5 cmpuri iniial de valoare 0 ce vor stoca numrul de piese brute de fiecare categorie n parte: A, B, C, D i E. Dup efectuarea calculului, pe consol va fi afiat numrul de piese brute ce urmeaz a fi prelucrate pe maina unealt, pe fiecare categorie n parte. Dup determinarea poziiei piesei ce a fost comandat spre prelucrare i preluarea ei n apuctorul robotului, urmeaz fazele de introducere a piesei n maina unealt spre prelucrare i de preluare a piesei prelucrate spre a fi plasat pe conveior. Cele dou operaii precum i comanda mainii unelte (deschiderea/nchiderea uii, deschiderea/nchiderea menghinei) sunt realizate n cadrul procedurii: A1_FeedPCMILL. Testarea strii n care se afl diversele elemente se face prin verificarea valorii unor semnale. Spre exemplu, se verific dac menghina mainii unelte nu este deja deschis nainte de a comanda deschiderea ei, prin verificarea strii canalului digital DI10_6 (IF DI10_6 <> 1 OPEN_VICE). Operaiile de executat sunt ordonate dup cum urmeaz: deplasarea robotului avnd n apuctor piesa brut n faa uii mainii unelte, deschiderea uii mainii, deplasarea piesei n apropierea menghinei, deschiderea menghinei, plasarea piesei n menghin, retragerea braului robotului n afara mainii, nchiderea uii, ateptarea finalizrii prelucrrii piesei, deschiderea uii, ptrunderea braului robotului n incinta mainii unelte, deschiderea menghinei, scoaterea piesei din interiorul mainii i nchiderea uii. Toate aceste operaii sunt executate sau comandate de robot i secvenierea lor se realizeaz prin intermediul semnalelor digitale de intrare/ieire. Un exemplu n acest sens este dat de finalizarea strii de ateptare a robotului n timpul prelucrrii piesei, finalizare care are loc la setarea pe 1 a semnalului DI10_1. Maina unealt este cea care determin schimbarea strii acestui semnal la terminarea unui program de procesare. Numai dup trecerea semnalului DI10_1 n 1 se comand deschiderea uii i urmeaz celelalte operaii pentru preluarea piesei prelucrate. Rutina Main va apela rutinele anterior expuse precum i rutinele din modulele A1_CNV i A1_PCMILL conform scopului dat de utilizator. Pentru nceput se conecteaz ntreruperile iPalNotEmpty i iDropPalCNV cu procedurile trap A1_PalNotEmpty i A1_DropPalCNV. Prin intermediul celor dou proceduri se evit plasarea unei piese pe o palet ocupat de pe conveior, informaiile fiind transmise prin intermediul senzorului optic i a celui inductiv. Primul pas n atingerea scopului este acela de a calcula numrul total pentru fiecare categorie de piese brute ce trebuie prelucrate, prin apelarea rutinei A1_CalcNrPiese. Dac nu s-au comandat piese brute spre prelucrare, robotul IRB 1400 intr ntr-o stare de ateptare, el neavnd practic nimic de executat. Acesta este cazul n care toate piesele ce se doresc pe paleii finali vor fi deja prelucrate i depuse la sistemul de vedere artificial. Dac 4

sunt piese ce trebuie prelucrate atunci se determin coordonatele lor prin intermediul rutinelor A1_CalcPal1Semif i A1_CalcPal2Semif. Urmeaz n ordine apelarea procedurilor A1_Pal1_FetchSf i/sau A1Pal2_FetchSf, A1_FeedPCMILL i A1_FeedCNV piesele fiind prelucrate i plasate pe conveior. Apelarea se face n mod repetat pn n momentul finalizrii tuturor pieselor comandate. Activitatea robotului IRB 1400 este determinist, el avnd de executat o singur sarcin, spre deosebire de IRB 2400 ce este un robot partajat, ce poate fi solicitat pentru execuia a dou sarcini: preluarea de pe conveior i transportul pe paleii finali a pieselor. Modulul A1_CNV integreaz procedurile trap anterior menionate i procedura de plasare a unei piese pe conveior numit A1_FeedCNV. Plasarea unei piese pe conveior se face cu micorarea vitezei acestuia i respectnd condiia de palet goal a conveiorului. Informaia privind starea paletei este furnizat de senzorul optic, n timp ce nceperea fazei de urmrire a paletei goale i plasarea efectiv pe palet este realizat n urma semnalului primit de la senzorul inductiv. Controlul conveiorului de ctre IRB 1400 se face prin intermediul instruciunii: ActUnit, ncetarea monitorizrii i controlului fcndu-se prin instruciunea complementar: DeactUnit. ntre cele dou instruciuni se desfoar faza de plasare a piesei pe o palet liber, sincronizarea cu aceasta fcndu-se prin intermediul comenzii WaitWobj. Deplasarea robotului se face n raport cu sistemul de coordonate ataat conveiorului i fr a exista o urmrire a configuraiei axelor robotului n timpul deplasrilor, ceea ce ofer o mai mare libertate n micare. Sintetiznd cele expuse anterior, rutina A1_FeedCNV poate fi prezentat schematic sub forma: PROC A1_FeedCNV ( ) !Faza de reducere a vitezei ActUnit CNV1; ConfL \Off; WaitWObj wobjcnv1; !plasare piesa pe paleta libera DropWObj wobjcnv1; DeactUnit CNV1; ConfL \On; 5

ENDPROC Micorarea vitezei conveiorului se face de ctre robotul IRB 2400 printr-o cerere adresat de IRB 1400 pe canalul DO13_1. Confirmarea executrii operaiei se face prin citirea canalului digital de intrare DI13_9. Dac nu s-a obinut micorarea vitezei, IRB 1400 reia cererea. Dup depunerea piesei pe conveior se renun la monitorizarea poziiei paletei pe care s-a depus piesa, prin instruciunea DropWObj wobjcnv1;. Coninutul modulului A1_PCMILL se refer la cele 6 rutine ce pot determina starea uii i menghinei mainii unelte i respectiv starea efectorului robotului. Pentru a fi mai explicii, acestea se refer la nchiderea i deschiderea dispozitivelor anterior menionate. Structura celor ase rutine este similar, operaia dorit fiind obinut prin setarea sau resetarea unui canal digital de ieire n cazul comenzii efectorului sau prin transmiterea unui impuls ctre maina unealt la comanda uii i a menghinei acesteia. Dou proceduri sunt exemplificate n continuare. PROC CLOSE_GRIP ( ) !nchiderea efectorului SetDO DO10_9, 0; WaitTime 0.7; ENDPROC PROC CLOSE_DOOR() ! transmiterea comenzii se face pe canalul DO10_1 PulseDO\High\PLength:=1.2,DO10_1; ! confirmarea execuiei comenzii se face prin citirea canalului DI10_5 WaitDI DI10_5,1; TPWrite "Door closed"; WaitTime 0.7; ENDPROC n cadrul instruciunilor de deplasare a robotului s-au folosit urmtoarele sisteme de coordonate ale obiectelor din spaiul de lucru: (vizibile n fig. 4) -WobjSTOC1 sistem de coordonate al paletului 1 al stocatorului de piese brute, definit n modulul A1_CNV; 6

-WobjSTOC2 sistem de coordonate al paletului 2 al stocatorului de piese brute, definit n modulul A1_CNV; -WobjMILL sistem de coordonate al mainii unelte, definit n modulul A1_1400; -wobjcnv1 sistem de coordonate ataat conveiorului, definit n modulul A1_CNV. Execuia programului are loc n paralel cu informarea utilizatorului privind parametrii produciei i operaiile care se execut sau tocmai s-au finalizat. Urmrind fig. 3 se poate observa felul n care pe consola robotului IRB 1400 apar: numrul de piese brute de fiecare categorie n parte, poziia de unde s-a preluat piesa ce se prelucreaz la momentul curent, numrul programului executat pe maina unealt i lista operaiilor efectuate: deschiderea uii mainii unelte, nchiderea menghinei i nchiderea uii. Fig. 3. Mesaje n timpul execuiei programului robotului IRB 1400

PIESA A = 2 PIESA B = 1 PIESA C = 0 PIESA D = 2 PIESA E = 0 Pozitia pe paleta = 9 Program PCMILL55 A B Door opened Vice closed Door closed

Fig. 4 Sistemele de coordonate definite 2. Adrese, variabile i canale de comunicaie utilizate n cadrul programului pentru schimbul de informaii cu componentele CFF cu care robotul interacioneaz Comunicatie: - COM RS232 - LAN ETHERNET MC Interfata proces: - DSQC 354 - DSQC 328 - DSQC 327 DSQC 354 Intrari digitale +24V izolate galvanic X20 1 - +24V pentru alimentare encoder si detector sincronizare piesa 2 - GND pentru alimentare encoder si detector sincronizare piesa 3 - +24V pentru alimentare encoder 4 - GND pentru alimentare encoder 5 - A (iesire faza A) 6 - B (iesire faza B) 7 - +24V pentru alimentare detector sincronizare piesa 8 - GND pentru alimentare detector sincronizare piesa 9 - DetSync (iesire detector sincronizare piesa) 10 - NU 11 - NU 12 - NU 8

TCP/IP

192.168.1.4 CAN BUS CAN BUS CAN BUS adr.11 adr.10 adr.13

Encoder Interface Unit Digital I/O ADCOMBI I/O

13 - NU 14 - NU 15 - NU 16 - NU DSQC 328 Iesiri digitale +24V izolate galvanic X1 1 - DO10_1 OPEN Door 2 - DO10_2 CLOSE Door 3 - DO10_3 OPEN Vice 4 - DO10_4 CLOSE Vice 5 - DO10_5 NC 6 - DO10_6 NC 7 - DO10_7 Program START 8 - DO10_8 Feed HOLD 9 - GND pentru Out 18 10 - +24V pentru Out 18 X2 1 - DO10_9: OPEN/CLOSE Gripper 2 - DO10_10: Flash celula IRB1400 (Avertizare optica, robot activ) 3 - DO10_11: NC 4 - DO10_12: NC 5 - DO10_13: NC 6 - DO10_14: NC 7 - DO10_15: NC 8 - DO10_16: NC 9 - GND pentru Out 18 10 - +24V pentru Out 18 Intrari digitale +24V izolate galvanic X3 1 - DI10_1: Program STOP (M0, M1, M2, M30) 2 - DI10_2: NC 3 - DI10_3: NC 4 - DI10_4: Door OPEN 5 - DI10_5: Door CLOSED 6 - DI10_6: Vice DECLAMPED 7 - DI10_7: Vice CLAMPED 8 - DI10_8: ALARM Status (- se introduce pe pagina de monitorizare) 9 - GND pentru Out 18 10 - NC X4 1 - DI10_9: 2 - DI10_10: 3 - DI10_11: 4 - DI10_12: 5 - DI10_13:

6 - DI10_14: 7 - DI10_15: 8 - DI10_16: 9 - GND pentru Out 18 10 - NC DSQC 327 Iesiri digitale +24V izolate galvanic X1 1 - DO13_1: COM In2400 - Catre IRB2400 2 - DO13_2: NC 3 - DO13_3: NC 4 - DO13_4: NC 5 - DO13_5: NC 6 - DO13_6: NC 7 - DO13_7: NC 8 - DO13_8: NC 9 - GND pentru Out 18 10 - +24V pentru Out 18 X2 1 - DO13_9 START Aspirator 2 - DO13_10 3 - DO13_11 4 - DO13_12 5 - DO13_13 6 - DO13_14 7 - DO13_15 8 - DO13_16 9 - GND pentru Out 18 10 - +24V pentru Out 18 Intrari digitale +24V izolate galvanic X3 1 - DI13_1: Out DP - Senzor optic ptr. detectia pieselor pe conveior 2 - DI13_2: Out PA - Prezenta aer comprimat 3 - DI13_3: Out PAG - Prezenta aer comprimat la gripper 4 - DI13_4: Out SS1 - Senzor1 de la Paleta1 al stocatorului de semifabricate 5 - DI13_5: Out SS2 - Senzor2 de la Paleta2 al stocatorului de semifabricate 6 - DI13_6: Out Dpal - Senzor inductiv ptr. detectia paletelor pe conveior 7 - DI13_7: NC 8 - DI13_8: NC 9 - GND pentru Out 18 10 - NC X4 1 - DI13_9: COM Out2400 - De la IRB2400 2 - DI13_10: NC 3 - DI13_11: NC 4 - DI13_12: NC 5 - DI13_13: NC

10

6 - DI13_14: NC 7 - DI13_15: NC 8 - DI13_16: STOP Robot 9 - GND pentru Out 18 10 - NC Iesiri analogice +10V izolate galvanic X6 1 - AO13_1: NC 2 - AO13_2: NC Nota: NC: NU: neconectat neutilizat

Variabile de comunicatie pentru WebWare: poz_1400 Pozitia curenta a robotului: 0-HOME; 1-STOCATOR; 2-PCMILL; 3CONVEIOR pal_in{2,3,9} Configuratie de lucru a paletelor 1 si 2 (se initiaza cu comanda de lucru, si reprezinta restul din comanda neexecutat) pal_prg{2,3,9} Configuratie programe a paletelor 1 si 2 (sunt reprezentate nr. prog de lucru ptr. fiecare piesa care se va executa de pe paleta) piese_CNV{5} Nr. de piese ce vor fi transferate pe conveior din fiecare tip CNC_ready Var bool (TRUE activ) (se vor experimenta variantele: select program + start program din DNC select program din DNC + start program din robot) CNC_finish Var bool (TRUE activ) Robotul semnalizeaza terminarea executiei piesei DNC_mode Var bool (TRUE activ) Robotul este atentionat ca PCMILL este in modul DNC Tout_door Var bool (TRUE activ) Avertizare timeout usa Tout_vice Var bool (TRUE activ) Avertizare timeout menghina Restart1400 Var bool (TRUE activ) Finish_JOB Var bool (TRUE activ) Robotul semnaleaza terminarea sesiunii de lucru PC MILL55 Comunicatie: - COM RS232 RTS/CTS START/STOP DNC Interface Comunicatie DNC (formare mesaje) X301 1 - E5_0: 2 - E5_1: 3 - E5_3: CLOSE Door OPEN Door OPEN Vice

11

4 - E5_4: 5 - E5_5: 6 - E5_6: 7 - E5_7: 8 - E5_8: X502 1 - A5_0: 2 - A5_1: 3 - A5_2: 4 - A5_3: 5 - A5_4: 6 - A5_5: 7 - A5_6: 8 - A5_7:

CLOSE Vice NC NC Program START Feed HOLD Program STOP (M0, M1, M2, M30) NC NC Door OPEN Door CLOSED Vice DECLAMPED Vice CLAMPED ALARM Status

3. Lucrul n laborator 1. Explicai modul n care se transmit informaiile privind locaiile de pe stocatorul de piese brute de pe care se va realiza preluarea pieselor brute. 2. Descriei modalitatea de calcul a poziiilor pieselor brute de pe stocator. 3. Cum se realizeaz comunicaia cu maina unealt PC-Mill 55 ? 4. Comentai poziiile n care s-au definit sistemele de coordonate.

12

S-ar putea să vă placă și