Schema aplicatiei propusa spre automatizare:
PDB x X x
x x
Pg1 Pg2 X x
X X
X X
X X
X X
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
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.
Intrari:
IN[1] - intrarea 1
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
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
IN[1] - legat cu OUT[2] de la robotul 1
IN[2] - legat cu OUT[3] de la robotul 1
OUT[1] - dispozitiv de filetare
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
SET OUT[1]=1
MOVED PG1
LABEL 1
SET INP2=0
IF IN[6]=1
IF IN[4]=0
ANDIF IN[5]=0
QPOST 1 TO SENZP1
ENDIF
IF IN[4]=0
ANDIF IN[5]=1
QPOST 2 TO SENZP1
ENDIF
IF IN[4]=1
ANDIF IN[5]=0
QPOST 3 TO SENZP1
ENDIF
IF IN[4]=1
ANDIF IN[5]=1
QPOST 4 TO SENZP1
ENDIF
ENDIF
IF IN[2]=1
QPEND TEMP FROM SENZP1
QPOST TEMP TO SENZP2
SET DIM_VECT2=DIM_VECT2+1
ENDIF
IF IN[1]=1
FOR I=1 TO DIM_VECT2
IF SENZP2[I]=1
ORIF SENZP2[I]=3
SET INP2=1
ENDIF
ENDFOR
ENDIF
IF IN[3]=1
QPEND TEMP FROM SENZP2
SET DIM_VECT2=DIM_VECT2-1
IF INP2=1
SET OUT[1]=0
IF TEMP=1
ANDIF IN[7]=0
WAIT IN[7]=1
ENDIF
IF TEMP=3
ANDIF IN[8]=0
WAIT IN[8]=1
ENDIF
MOVED PDB
SPEED vmica
MOVE PB
CLOSE
MOVE PDB
SPEED vmare
IF TEMP=1
MOVED PDLN
SPEED vmica
MOVED Pln
OPEN
MOVED PDLN
ELSE
MOVED PDMN
SPEED vmica
MOVED Pmn
OPEN
MOVED PDMN
ENDIF
SET OUT[1]=1
IF TEMP=1
OUT[2]=1
ENDIF
IF AUX=3
OUT[3]=1
ENDIF
ENDIF
ENDIF
GOTO 1
>EDIT robot2
MOVED PG2
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
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