- Sisteme de conducere a robotilor



 

SISTEME DE CONDUCERE A ROBOTILOR




























Schema aplicatiei propusa spre automatizare:




Text Box: Dispozitiv de filetare PDB x X                   x

Rounded Rectangle: x           x       PB  x x x

Pg1 Pg2 X            x

S P1 P2

X X

Text Box: Sistem vizual de recunoastere tip piesa X X

Parallelogram: X                      X                                            X                      X





X X

X X

Parallelogram: X                      X                                  X                      X


Text Box: Controller
Robot 2

Text Box: Controller
Robot 1
I1


I2




Legenda:


PB - punct pe banda transportoare ce corespunde senzorului P2, si din care va fi preluata piesa

PDB - punct deasupra benzii ; punct in care robotul 1 isi va micsora viteza inainte de a prelua piesa de pe banda

PG1 - pozitie initia a robotului 1

PG2 - pozitie initia a robotului 2

Pln - pozitie lemn neprelucrat pe paleta superioara

Pmn - pozitie metal neprelucrat pe paleta superioara

PDLN - pozitie deasupra Pln , in care robotul isi incetineste viteza

PDMN - pozitie deasupra Pmn , in care robotul isi incetineste viteza

Plp - pozitie lemn prelucrat pe paleta a doua

Pmp - pozitie metal prelucrat pe paleta a doua

PDLP - pozitie deasupra Plp , in care robotul isi incetineste viteza inainte de a depune piesa

PDMP - pozitie deasupra Pmp, in care robotul isi incetineste viteza inainte de a depune piesa

Pfl - pozitie corespunzatoare dispozitivului de filetare pentru piesa de lemn

Pfm - pozitie corespunzatoare dispozitivului de filetare pentru piesa de metal

PIFL - pozitie anterioara Pfl, necesara ca punct de micsorare a vitezei robotului inainte de a introduce piesa in dispozitivul de filetare

PIFM - pozitie anterioara Pfm, necesara ca punct de micsorare a vitezei robotului inainte de a introduce piesa in dispozitivul de filetare




Descrierea aplicatiei de automatizare


Pe o banda transportoare actionata de un motor prin intermediul unui controller vin insiruite piese de patru tipuri : piese din lemn prelucrat, lemn neprelucrat, metal prelucrat, respectiv metal neprelucrat. De- a lungul benzii sunt 3 senzori: senzorul de prezenta S1 ii indica un sistem video pentru identificarea tipului piesei, prezenta unei piese, cu ajutorul semnalelor I1 si I2 se face cunoscut tipul piesei, conform tabelului urmator, senzorii P1 si P2 sunt senzori de prezenta folositi in mecanismul de automatizare a aplicatiei :


Tipul piesei

I1

I2

(1) lemn neprelucrat



(2) lemn prelucrat



(3) metal neprelucrat



(4) metal prelucrat





Sistemul este alcatuit de asemenea din 2 roboti (Robot 1 si Robot 2 ) care sunt initial in pozitiile PG1 si PG2. Daca robotul 1 primeste semnal pe intrarea 1 atunci el testeaza daca exista piesa neprelucrata intre senzorii P1 si P2. Daca exista piesa neprelucrata, robotul 1 opreste banda transportoare in momentul in care prima piesa neprelucrata ajunge in P2 ; apoi preia piesa si o depune pe paleta in pozitia Pln sau Pmn, in funtie de tipul piesei (lemn sau metal), dupa care se retrage in pozitia initiala, reporneste banda si se reia ciclul de asteptare a unui semnal pe intrarea 1.

Robotul 2 preia piesa ce tocmai a fost depusa pe paleta dupa ce robotul ajunge in pozitia initiala PG1 si o duce in pozitia corespunzatoare (Pfl - lemn, Pfm - metal). Daca piesa este din metal o infileteaza pe distanta dist, asteapta 2 secunde, o desurubeaza, o scoate din lacas, si o depune pe paleta a doua in pozitia Pmp; daca piesa este din lemn operatia este identica, numai timpul de mentinere a piesei in lacas este de 1 secunda, dupa care depune piesa in pozitia Plp.

Observatii: - inainte ca robotul 1 sa preia piesa din P2 trebuie sa verifice daca lacasul de pe paleta este liber, abia cand se elibereaza el poate efectua operatia. Paleta cu piese prelucrate se presupune ca este libera tot timpul, iar piesele prelucrate de pe banda transportoare nu intereseaza unde se duc.

- desi PDLN (se aplica pentru toate punctele unde actioneaza cei 2 roboti) este un singur punct in spatiu, in designul aplicatiei de automatizare se considera ca fiind compus ca 2 puncte, unul pentru primul robot, iar celalalt pentru cel de-al doilea robot.



Identificarea liniilor de intrare/iesire :


Pentru robotul 1

Intrari:

IN[1] - intrarea 1

IN[2] - senzorul P1

IN[3] - senzorul P2

IN[4] - I1

IN[5] - I2

IN[6] - senzorul S

IN[7] - specifica daca PLN e liber

IN[8] - specifica daca PMN e liber


Iesiri

OUT[1] - banda transportoare

OUT[2] - transmite robotului 2 ca a terminat operatia cu piesa de lemn

OUT[3] - transmite robotului 2 ca a terminat operatia cu piesa de metal



Pentru robotul 2

Intrari

IN[1] - legat cu OUT[2] de la robotul 1

IN[2] - legat cu OUT[3] de la robotul 1


Iesiri

OUT[1] - dispozitiv de filetare



Definirea variabilelor

Variabilele globale:

GLOBAL vmica vmare

SET vmica=20

SET vmare=40



>EDIT robotul1

DIM SENZP1[100] SENZP2[100]

DEFINE TEMP

DEFINE INP2 DIM_VECT2


SET DIM_VECT2=0

Rounded Rectangular Callout: porneste banda transportoareSET OUT[1]=1


MOVED PG1

LABEL 1

Rounded Rectangular Callout: daca avem piesa in dreptul lui S memoram tipul ei in SENZP1SET INP2=0


IF IN[6]=1

Rounded Rectangular Callout: daca este lemn neprelucrat

IF IN[4]=0

ANDIF IN[5]=0

QPOST 1 TO SENZP1

Rounded Rectangular Callout: daca este lemn prelucrat ENDIF


IF IN[4]=0

ANDIF IN[5]=1

QPOST 2 TO SENZP1

ENDIF


Rounded Rectangular Callout: Daca este metal neprelucrat IF IN[4]=1

ANDIF IN[5]=0

QPOST 3 TO SENZP1

ENDIF

Rounded Rectangular Callout: daca este metal prelucrat

IF IN[4]=1

ANDIF IN[5]=1

QPOST 4 TO SENZP1

Rounded Rectangular Callout: daca avem piesa in dreptul lui P1 o scoatem din SENZP1 si o introducem in SENZP2

ENDIF

ENDIF


IF IN[2]=1

QPEND TEMP FROM SENZP1

QPOST TEMP TO SENZP2

SET DIM_VECT2=DIM_VECT2+1

ENDIF

Rounded Rectangular Callout: daca se primeste semnal pe IN[1] testam daca exista piesa neprelucrata intre P1 si P2

IF IN[1]=1

FOR I=1 TO DIM_VECT2

IF SENZP2[I]=1

ORIF SENZP2[I]=3

SET INP2=1

ENDIF

ENDFOR

Rounded Rectangular Callout: daca avem piesa in dreptul lui P2 o scoatem din SENZP2ENDIF


IF IN[3]=1


QPEND TEMP FROM SENZP2

SET DIM_VECT2=DIM_VECT2-1

Rounded Rectangular Callout: oprim banda IF INP2=1


SET OUT[1]=0

Rounded Rectangular Callout: Daca avem piesa de lemn asteptam pana cand locasul de pe paleta (PLN) este liber

IF TEMP=1

ANDIF IN[7]=0

WAIT IN[7]=1

Rounded Rectangular Callout: daca avem piesa de metal asteptam pana cand locasul de pe paleta (PMN) este liber

ENDIF


IF TEMP=3

ANDIF IN[8]=0

WAIT IN[8]=1

ENDIF

MOVED PDB

SPEED vmica

MOVE PB

CLOSE

MOVE PDB

SPEED vmare


Rounded Rectangular Callout: daca I1=0 piesa lemn
 altfel - piesa metal
IF TEMP=1

MOVED PDLN

SPEED vmica

MOVED Pln

OPEN

MOVED PDLN

ELSE

MOVED PDMN

SPEED vmica

MOVED Pmn

OPEN

MOVED PDMN


ENDIF

Rounded Rectangular Callout: pornim banda



SET OUT[1]=1

Rounded Rectangular Callout: transmitem robotului 2 ca s-a plasat o piesa de lemn in PLN IF TEMP=1


OUT[2]=1

Rounded Rectangular Callout: transmitem robotului 2 ca s-a plasat o piesa de metal in PMN ENDIF

IF AUX=3


OUT[3]=1

ENDIF

ENDIF

ENDIF

GOTO 1



>EDIT robot2

SPEED vmare

MOVED PG2

Rounded Rectangular Callout: daca avem piesa de metal o mutam in Pfm, se face filetarea si se pune piesa in Pmp

LABEL 1


IF IN[2]=1


MOVED PDMN

SPEED vmica

MOVED Pmn

CLOSE

MOVED PDMN

SPEED vmare

MOVED PIFM

SPEED vmica

MOVED Pfm

OPEN

DELAY 200

CLOSE

MOVED PIFM

SPEED vmare

MOVED PDMP

SPEED vmica

MOVE Pmp

OPEN

Rounded Rectangular Callout: daca avem piesa de lemn o mutam in Pfl, se face filetarea si se pune piesa in Plp


IF IN[1]=1

MOVED PDLN

SPEED vmica

MOVED Pln

CLOSE

MOVED PDLN

SPEED vmare

MOVED PIFL

SPEED vmica

MOVED Pfl

OPEN

DELAY 200

CLOSE

MOVED PIFL

SPEED vmare

MOVED PDLP

SPEED vmica

MOVE Plp

OPEN

ENDIF

GOTO 1