cap 7-sisteme de conducere cu logica cablata
TRANSCRIPT
Capitolul 7
SISTEME DE CONDUCERE CU LOGICĂ CABLATĂ
În analiza efectuată în partea introductivă a lucrării s-au specificat principalele caracteristici ale sistemului cu logică cablată. Aceste sisteme se bazează pe implementarea legilor de comandă dorite prin legături, conexiuni fizice între diferite componente de prelucrare logică (şi mai puţin aritmetică), ceea ce conferă întregului sistem caracterul de rigiditate, de neflexibilitate. Din acest motiv, echipamentele de acest tip sunt adecvate pentru conducerea acelor tipuri de manipulatoare sau roboţi a căror traiectorie este foarte bine definită în raport cu restricţiile de operare şi nu se modifică pe tată durata utilizării acestora, de la punerea în funcţiune până la înlocuirea lor definitivă.
Trebuie subliniat, de asemenea , că aceste sisteme pot implementa numai algoritmi de comandă simpli, bazaţi pe operaţii logice combinaţionale sau secvenţiale elementare, ceea ce corespunde unor evoluţii pe traiectorii bine definite, marcate prin variabilele de tipul “tot sau nimic”.
Deşi în momentul actual structurile de comandă cu logică cablată sunt din ce în ce mai puţin utilizate, aceste sisteme îşi mai găsesc în continuare o largă aplicabilitate într-o serie de procese robotizate caracterizate prin rigiditatea evoluţiilor lor tehnologice.
7.1 Principii generale
Structura de bază a unei conduceri în logică cablată este realizată printr-un automat a (fig.7.1) a cărui evoluţie reprezintă o acoperire a secvenţelor funcţionale ale robotului. Un astfel de sistem operează prin asigurarea unui paralelism funcţional între guvernarea automatului şi cea a robotului, primul dictând funcţionarea celuilalt.
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.1
Pentru controlul traiectoriilor robotului, automatul primeşte un set de mărimi de intrare care definesc poziţia robotului. Numai pentru anumite faze de operare specifice, pornirea în primul ciclu, un regim de avarie etc, se iau în considerare şi o serie de variabile externe, de iniţializare. În funcţie de valoarea logică a acestor mărimi şi în conformitate cu traiectoria impusă sunt activate anumite variabile de comandă ce determină evoluţia robotului în sensul dorit.
Figura 7.2
Într-o structură cablată, logica de comandă se bazează pe fragmentarea unei traiectorii în segmente astfel încât în cadrul unui segment mărimile de comandă generate de automat să aibă valoare constantă. Pentru exemplificare, să considerăm un robot ce execută mişcări în palnul X-Y (fig. 7.2).
a R
Variabile de comanda
Variabilede pozitie
Variabile de initializare
y
x
2 S2 3
4 S4 5
L2y
L1Y
Start1
L1x L2
x L3X
S1
S5
207
Roboţi industriali
Traiectoria robotului însemană parcurgerea ciclică a punctelor 1234512... Se poate considerea punctul 1 ca punct de pornire în prima fază de mişcare, iniţiat printr-o comandă START, după care acest punct devine un punct curent în cadrul traiectorie parcurse ciclic. Traiectoria este realizată din segmentele [1,2), [2,3), [3,4), [4,5), [5,1), în cadrul fiecărui segment vectorul comenzilor emise de automat păstrând o valoare constantă.
Definiţia 1. Se numeşte secvenţă funcţională o evoluţie în spaţiul de operare al robotului în intervalul căreia toate valorile de comandă sunt constante. În sensul acestei definiţii, fiecare segment de traiectorie corespunde unei secvenţe
funcţionale. Secvenţele funcţionale se notează cu prin simbolurile , , ... În
cadrul secvenţei , robotul se deplasează în sensul pozitiv al axei Y între cotele
păstrând constantă cota .
Definiţia 2. un vector de poziţie P reprezintă mulţimea tuturor coordnatelor x şi y ce delimitează segmentele de traiectorie.
(7.1)
O secvenţă funcţionlă este pornită printr-un vector de iniţializare şi
anulată printr-un vector final, de stop, . Formal, o astfel de secvenţă se scrie:
(7.2)
Parantezele au semnificaţiile uzuale din algebră, în sensul că vectorul de
iniţializare aparţine secvenţei, în timp ce vectorul final , nu. De exemplu,
secvenţa este
unde
Automatul de control a este un automat finit definit după procedurile obişnuite ale automatelor secvenţiale [54,77],
(7.3)unde X, Zsunt mulţimile variabilelor de intrare şi de ieşire, respectiv, S este mulţimea stărilor automatului iar f şi g sunt funcţiile de tranziţie şi de ieşire corespunzătoare,
(7.4)(7.5)
208
Capitolul 7. Sisteme de conducere cu logică cablată
Ceea ce este specific automatelor cu logică cablată utilizate în conducerea roboţilor este modul de implementare fizică al automatului, în general, şi al variabilelor de stare, în particular.
O stare a automatului la momentul t se va desemna prin , unde .
O tranziţie dintr-o stare în alta va fi
(7.6)
iar succesiunea ordonată de stări,
(7.7)
determină o evoluţie a automatului între o stare iniţială şi o stare finală .
Realizarea la nivel de circuit a unui automat constă în principiu în
determinarea unui set de variabile de stare sau secundare care
să acopere mulţimea stărilor automatului. Deci unei stări i se asociază un vector
de stare
(7.8)
unde indicele i desemnează o relaţie temporală
(7.9)
Figura 7.3
Elementul de bază în implementarea tehnologică a automatului este suportul
de stare ce generează variabilele de stare corespunzătoare (fig.7.3).
La nivel de circuit, acest suport de stare este realizat din circuite de memorie (bistabile sau registre) ce asigură păstrarea mărimilor de stare pe un interval dat şi
Logicacombinationala
Suport de stareControlstare
Stare
x1
xn
z1
zm
y2 y3 ys
209
Roboţi industriali
comutarea acestora când condiţiile de tranziţie sunt realizate. Aceste condiţii sunt sintetizate prin vectorul mărimilor de intrare
(7.10)
Această comutare de variabile crespunde evoluţiei (7.6) şi la nivel de circuit este dată de o relaţie de forma,
(7.11)
Condiţia de comutare dată în fig.7.3 prin mărimea “control stare”. Ea sintetizând toate deciziile prin care se realizează o evoluţie dintr-o stare în alta şi care se implementează fizic în cnformitate cu soluţia tehnlogică adoptată pentru suportul stării.
În fiecare stare, automatul trebuie să formeze un număr de variabile de ieşire, deci circuitul trebuie să genereze un vector
(7.12)
în conformitate cu o relaţie de tipul (7.5),
(7.13)
Aceste ieşiri sunt mărimile ce stabilesc legătura automat-robot, ele determinând în final evoluţia pe traiectorie a robotului. În figura 7.4 este prezentat sistemul complet, circuit de comandă (automat) – robot şi variabilele ce asigură legătura în dublul sens între aceste sisteme. Mărimile de intrare în automat sunt practic furnizate de senzorii de poziţie ai robotului, vectorul P, iar sistemul de acţionare SA al acestuia este conectat direct la ieşirile automatului.
Să analizăm mai detaliat funcţionarea automat – robot. Să considerăm
robotul în prima secvenţă tehnologică iniţiată de vectorul 1P . Automatul
primeşte mărimea de intrare ceea ce determină trecerea din starea iniţială,
de repaus, , în starea .
sau la nivel de circuit aceasta înseamnă generarea vectorului de stare
210
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.4
În această stare automatul formează vectorul de ieşire,
pe care sistemul de acţionare al robotului îl interpretează ca o acţionare pe axa Y în sens pozitiv.
Evoluţia robotului în cadrul secvenţei funcţionale păstrează constantă nu
numai ieşirea ci şi vectorul de poziţie, deci intrarea x a automatului. În consecinţă,
automatul nu-şi va modifica starea , funcţional secvenţei .
Dacă este momentul atingerii coordonatelor , aceasta înseamnă o comutare
imediată a stării automatului,
sau la nivel de circuit
generând ieşirea
ceea ce înseamnă deplasarea robotului pe axa X, în sens pozitiv, deci secvenţa
funcţinală . evoluţia continuă în aceeaşi manieră pe fiecare segment de
traiectorie. Pentru secvenţa iniţiată de vectorul de poziţie automatul trece
succesiv prin stările
sau
LC
Start
SA
control SS
Limitatoare de poziţie
1x1nx
nx
211
Roboţi industriali
generând ieşirile
unde
mişcarea robotului realizându-se în acelaşi sens în cadrul celor două stări ale
autoamtului. Altfel spus, o secvenţă funcţionlă nu se relizează neapărat în cadrul
unei singure stări, în cazul acesta este echivalentă cu .
Analiza de mai sus poate servi ca punct de plecare în jalonarea principalelor faze care se impun în implementarea unui sistem de conducere în logică cablată:
Extragerea, din protocolul de functionare al robotului, a segmentelor de traiectorie şi definirea secvenţelor funcţionale corespunzătoare;
Determinarea unui automat care să acopere funcţional robotul; Implementarea fizică a autoamtului într-un circuit de forma celui
prezentat în figura 7.3.Un element esenţial al acestei ultime etape constă în alegera adecvată a
suportului de stare. cesta trebuie să fie un circuit cu proprietăţi de memorie a variabilelor de stare în intervalul dintre două tranziţii de stare şi care să asigure totodată o comutare adecvată a acestora când condiţiile de coumtare sunt realizate. Circuitele cele mai utilizate, în acest scop, sunt registrele de deplasare sau structuri convenţionale realizate cu bistabile integrate tip D.
O observaţie importantă privind aceste elemente se referă la momentul de comutare a stărilor. În analiza de mai sus, momentele de comutare
se obţin direct de la robot, în funcţie de evoluţia acestuia. O
astfel de modalitate de comutare este numită asincronă. Dacă aceste comutări sunt coordonate printr-un semnal de tact unic, emis de un circuit specializat, sistemul este considerat de tip sincron. Aceste caracteristici sunt extrem de importante pentru obţinerea unor soluţii constructive de implementare.
În cele ce urmează, în cadrul acestui capitol, vor fi analizate atât procedurile de bază privind proiectarea automatului de control cât şi aspectele referitoare laimplementarea fizică a acestuia prin circuite cu lgică canblată.
7.2 Automate Girard
7.2.1 Structura de bază
212
Capitolul 7. Sisteme de conducere cu logică cablată
În prima parte a capitolului a fost pusă în evidenţă rolul important pe care îl joacă circuitele suport de stare în stabilirea legii de conducere a automatului, acestea memorând evoluţia până în acel moment şi dictând comportarea viitoare a acestuia. Anumite particularităţi specifice în evoluţiile pe traiectorie a roboţilor, ordonarea riguroasă a secvenţelor funcţionale şi comutarea lor la momente de timp ce depind de evoluţia reală a robotului fac ca un circuit extrem de eficient pentru memorarea stărilor să fie registrul de deplasare asincron.
Circuitul corespunzător acestui tip de implementare este prezentat în figura 7.5 şi este cunoscut sub numele de circuit Girard [90].
Figura 7.5
Registrul utilizat în mod curent este o structură integrată sincronă MSI la care funcţia asincronă se obţine prin generarea semnalului de tact, sub forma unei funcţii de excitaţie, de către logica proprie a sistemului.
Pentru implementarea unui sistem de conducere în această procedură se utilizează o tehnică de proiectare asincronă ce derivă din metodele clasice de tip Huffman [54, 77, 90]:
Se determină autamtul Girard sub forma unei tabele de stări (matricea primitivă de stări) în conformitate cu secvenţele funcţionale ale traiectorie robotului. Dimensiunile matricei corespund complexităţii traiectroriei, numărul de stări implicite în descrierea acesteia. Coloanele matricei sunt asociate variabilelor de intrare (sau combinaţiilor de intrare specifice), iar pe liniile matricei sunt reprezentate stările automatului. Stările sunt desemnate prin indici numerici, stările stabile fiind separae de cele instabile prin notaţii similare cu cele utilizate în studiul automatelor asincrone. O linie a matricei primitive cuprinde, de obicei, stările stabile ce aparţin unei singure secvenţe funcţionale. De asemenea, se preferă o astfel de organizare a matricei primitive încât eşalonarea stărilor să redea, pe cât
x1
xn
z1
zm Logicacombinaţionala
Registru de deplasare
Y(Functie de excitatie)
y1 y2 y3 ys
Q Q Q Q
213
Roboţi industriali
posibil evoluţia reală a robotului. Matricei primitive i se asociază uneori o matrice
a funcţiilor de ieşire , fiecare linie a matricei indicând variabilele de ieşire ce
devin active în secvenţa rspectivă. Se construieşte automatul minimal sub forma tabelei reduse de
stări. Minimizarea este obţinută prin fuzionarea liniilor matricei primitive după următoarele reguli:
a) pot fuziona două linii dacă locaţiile corespunzătoare fiecărei coloane corespund aceluiaşi index de stare, stabliă sau instabilă;
b) prin fuzionarea unei stări se obţine întotdeauna starea majorantă (ordinea de ierarhizare a stărilor este: stabilă, instabilă, interzisă);
c) prin fuzionare, orice stare de pe o linie poate evolua în cadrul aceleiaşi linii sau pe linia imediat succesoare. Această ultimă condiţie este cerută de codificarea liniilor matricei prin ieşirile registrului de deplasare, deci de necesitatea explorării succesive a liniilor acesteia.
Se determină registrul de deplasare utilizat ca suport de stare. Dimensiuinea registrului corespunde numărului de linii al autoamtului redus.
Fiecare celulă a registrului memorează o variabilă secundară şi fiecare variabilă
este asociată unei linii a autoamtului. Se construieşte tabelul funcţiei de excitaţie y (fig.7.5) ce
asigură comutaţia registrului. Dimensiunea tabelului este aceiaşi cu ceea a matricei reduse de stări, pentru fiecare stare a automatului deteminându-se funcţia de comutaţie necesară. Este evident că acestă funcţie va fi 0 pentru toate stările stabile şi va lua valoarea logică 1 pentru starea instabilă ce implică schimbarea liniei automatului.
Se determină tabelele funcţiilor de ieşire. Ele se realizează prin alocarea valorilor logice corespunzătoare funcţiilor dorite, în fiecare stare a automatului redus, în conformitate cu etapa întâi de proiectare.
Se sintetizează funcţiile logice de excitaţie având în vedere atât minimizarea configuraţiei cât şi restricţiile tehnologice de implementare. Circuitele rezultate reprezintă logica combinaţională necesară pentru generarea mărimilor de comandă către robot şi a funcţiei de control a registrului de deplasare.
Pentru precizarea procedurii se va aborda proiectarea automatului pentru controlul traiectoriei din figura 7.2.
Matricea primitivă de stări este prezentată în fig.7.6,a. Dispunerea variabilelor pe liniile si coloanelor tabelei este similară cu evoluţia reală a
robotului, variabilele pe coloană fiind iar pe linie . Starea iniţială
a automatului se consideră starea de pornire a mişcării, stare 1. Secvenţa
214
Capitolul 7. Sisteme de conducere cu logică cablată
funcţională (fig.7.2) este iniţiată deci în starea 1 şi anulată în starea 2. Secvenţa
următoare începe cu starea 2 şi se anulează la starea instabilă 3. Comutarea
stării instabile 3 în starea stabilă 3 înseamnă trecerea la secvenţa următoare şi
totodată comutarea pe o linie a tabelei de stări. Secvenţa este acoperită de stările
4, 5, iar secvenţa de stările 5, 6, 1, ultima stare instabilă indiând comutarea în
starea iniţială 1. Matricea redusă este prezentată în figura 7.6,b. Fuzionarea este realizată
după regulile stabilite mai sus. Se observă că liniile fuzionate pot fi codificate prin
două variabile secundare, pentru stările asociate variabilei de intrare şi cu o
singură variabilă secundară pentru (fig.7.6,c).
Funcţia de excitaţie a registrului Y este activă (ia valoarea 1 logic) la fiecare
comutaţie a variabilelor secundare , deci în stările instabile 5 şi 1 (fig.7.6,d).
Funcţiile de ieşire asigură comenzile robotului în sensurile pozitiv şi negativ pe cele două axe şi sunt desemnate prin respectiv. Valorile logice corespunzătoare se obţin imediat alocând fiecărei stări ieşirea dorită în funcţie de secvenţa funcţională căreia îi aparţine (fig.7.6,e). Sinteza logică a acestor funcţii se realizează prin codificarea secvenţei funcţionale respective.
131
122 yLLyLLX xyxy
În primul termen al acestei realţii factorii , definesc secvenţa iar
determină condiţia de anularea a acesteia. Analog, în al doilea termen este
factorul caracteristic al secvenţei iar şi definesc condiţiile în care acesta este
interzisă. În mod similar rezultă,
Implementarea logică a acestor funcţii, asociată unui registru de deplasare de
două varabile , reprezintă circuitul în configuraţie Girard ce relizează
controlul robotului pe traiectoria specificată (fig.7.6,f).
7.2.2 Conducerea unui robot în linii de acoperii galvanice
215
Roboţi industriali
Metoda Girard expusă mai sus este o procedură extrem de eficientă în cazul unor traiectorii complexe, cu un număr mare de stări funcţionale. Pentru a pune în evidenţă aceste aspecte se va aborda problema controlului unui robot ce deserveşte o linie de acoperiri galvanice [90].
Procesul tehnologic într-o astfel de linie cuprinde 6 posturi, 5 pentru operaţiile de tratare propriu-zisă şi unul pentru operaţiile de încărcare şi descărcare a pieselor (fig.7.7).
- - -0 0 -0 0
0 01
-
2y1y1y
2y
1xL 2
xL 3xL
2yL
1yL
2yL
1yL
2y1y
2y1y
- - --(0,0,0,1)(1,0,0,0)
(0,0,1,0) (1,0,0,0) (0,0,0,0)
(0,1,0,0)(0,1,0,0)(0,0,0,0)
3
1xL 2
xL 3xL
2yL
1yL 4
321
5
2
561
2
31 4
6 55
11yL
2yL
1xL 3
xL2xL
1yL
2yL
1xL 3
xL2xL
3
41
1 6 5
5
2y1y
1y
2ya b
c
ed
216
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.6
Manipularea este obţinută printr-un robot ce execută următoarele operaţii: deplasarea în două sensuri pe o cale de rulare, ridicarea şi respectiv coborârea braţului de prindere. Sistemul de prindere este astfel realizat încât prin coborârea stativului cu piese într-un post se eliberează autoat stativul din braţul robotului. Aceasta impune o deplasare a robotului cu braţul ridicat când transportă piese şi cu braţul coborât când este descărcat.
x
xy
y
y1y 2y
2yL2
xL1yL3
xL1xL
1yL1
xL2yL1xL2xL1
yL1yL3
xL1yL1
xL
RegistruQ Q
f
217
Roboţi industriali
Figura 7.7
Poziţiile robotului pe calea de rulare sunt delimitate prin limitatoarele de
poziţie iar poziţiile braţului ridicat şi coborât sunt indicate prin
limitatorele de capăt de cursă s şi respectiv j. Specificaţiile tehnologice ale procesului impun un ciclu funcţional complex
ce asigură deplasarea succesivă a pieselor prin dreptul fiecărui post (fig.7.7,b) realizând totodată o încărcare maximă a liniei (număr maxim de posturi ocupate).
Dacă se consideră starea iniţială definită prin poziţia a robotului, acesta se
va deplasa spre dreapta cu braţul coborât până în poziţia , va prelua piesele
tratate aici, le ridică şi se va deplasa la postul unde le depune. Din această
poziţie, cu braţul coborât se va deplasa în poziţia şi va transporta piesele
respective în postul liber de la . În fazele următoare se va asigura transferul de
piese între posturile şi , şi , şi . În ultima parte a ciclului robotul se
deplasează descărcat la , preia piesele şi le transportă la revenind la starea
iniţială. Din analiza protocolului de funcţionare al sistemului rezultă că acesta este
definit prin 8 variabile de intrare . Pentru asigurarea deplsărilor
robotului sunt necesare 4 variabile de ieşire: S – mersul la stânga, D – mersul la dreapta, R – ridicare braţ şi C – coborâre braţ.
Analiza traiectoriei robotului indică existenţa a 24 secvenţe funcţionale. De
exemplu, prima secvenţă este iniţiată la poziţia şi anulată la ,
următoarea începe la şi se încheie la etc. Aceste secvenţe pot fi uşor
identificate în matricea primitivă de stări din fig. 7.8.
C1 s
js
j
C2 C3 C4 C5
C6
C1 C2 C3 C5
C4 C6
218
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.8
Variabile de intrare C1 C2 C3 C4 C5
38
37 36 35 34 33
27
26
22
21
17
16
11
123
6
7
38
27
22
17
12
7
28
12
1 2 3 4 5
5
9 8
10
14 1315
15
19
23
18
20
2425
25
29 30 31 32
32
219
Roboţi industriali
Figura 7.9
Matricea primitivă cuprinde 38 de stări stabile a căror distribuţie pe linii şi coloane corespunde evoluţiei fizice, în cele şase posturi de tratare, a robotului. Pentru a reprezenta cât mai fidel traiectoria robotului, matricea a fost organizată în două părţi definite prin variabilele j şi respectiv s, fiecare parte cuprinzând mulţimea stărilor care determină mersul pe jos (cu braţul coborât) şi respectiv sus.
De exemplu, robotul se deplasează cu braţul coborât de la postul la postul
(secvenţa ). Această mişcare este reprezentată prin cinci stări, stări stabile 1 – 4
şi starea instabilă 5. Aceste stări desemnează o singură funcţie de ieşire, deplasarea
spre dreapta. Când se atinge poziţia (starea 5) se trece în starea stabilă 5 când se
iniţializează o nouă secvenţă în cadrul căreia are loc mişcarea de ridicare a
braţului până se atinge starea 6 (limitatorul este comutat, s=1). În aceeaşi manieră se obţin şi celelalte secvenţe funcţionale.
37
Variabile de intrare
38
C1 C2 C3 C4 C5 C6
36 35 34 33y7
y5
y6V
aria
bile
sec
unda
re
y4
y3
y2
y1
y1
27
y2
y3
y5
y4
y6
y7
26 22
21 17
16 12
11 7
638
33
27
22
17
12
7
1 2 3 4 5
24
1314
20 19 18
15
10 9 8
28 29 30 31 32
2325
220
Capitolul 7. Sisteme de conducere cu logică cablată
Matricea redusă de stări se obţine, după procedura discutată, prin fuzionarea lilniilor matricei primitive (fig.7.9). Se obţine astfel o construcţie matriceală cu câte şase şi respectiv şapte linii, pentru j=1şi respectiv s=1. Codificarea acestor linii impune introducerea unui registru de deplasare în inel cu şapte celule. De exemplu,
variabila secundară va codifica linia de stări 1 – 5 pentru j=1 şi 38, 6,7 pentru
s=1 variabila codifică linia de stări 8 – 10 pemtru j=1 şi linia 11, 12, 7 pentru
s=1 etc. Dacă linia de stări 1 – 5, obţinută prin fuzionarea stărilor 5 – 5 din primele două linii ale matriciei primitive (pentru j=1), se justifică uşor, nefuzionarea liniei întâi de stări 6, 7 cu a doua 7 (pentru s=1) pare mai greu de acceptat. Totuşi, justificarea este simplă. S-a păstrat starea stabilă 7 pe linia a doua, codificată prin
, pentru a asigura tranziţia directă în starea stabilă 8, când j=1 pe aceeaşi
variabilă secundară , fără a impune, deci, comutarea registrului de deplasare. În
aceeaşi manieră s-a procedat la formarea liniilor de stări 11, 12, 7; 16, 17, 12 etc. Întrucât matricea redusă, pentru j=1, cuprinde numai şase linii, tranziţia de la
ultima stare stabilă 32 de pe linia , în starea stabilă 33 la s=1, de pe linia , se
va efectua prin intermediul unei stări instabile 33 introdusă suplimentar în linia .
În figura 7.10 sunt prezentate valorile funcţiei de comutaţie a registrului Y. De exemplu, comutaţia registrului este cerută la stările 7, 12, 17, 22, 27, 33 şi 38. Deci,
În aceeaşi tabelă sunt trecute şi valorile funcţiilor de ieşire pentru două comenzi semnificative, mişcarea la dreapta şi respectiv la stânga. De exemplu, în
secvenţa funcţională , mersul la dreapta este iniţiat în starea 1 şi anulat în 5 este
reiniţiat în starea 6 (secvenţa ), anulat în 7 şi este interzis în 38 etc.
Analog se obţine:
221
Roboţi industriali
Figura 7.10
În mod similar, se pot sintetiza funcţiile de ridicare şi cobrâre R, respectiv C (nefigurate în tabel),
Stuctura generală a circuitului Girard ce implementează controlul robotului este prezentată în figura 7.11. Registrul de deplasare utilizat este obţinut din circuite bistabile D legate în inel şi activate pe intrarea de tact de funcţia de comutaţie Y. La pornire, registrul este iniţializat prin înscrierea unui bit 1 în prima celulă a registrului.
7.2.3 Controlul unui manipulator cu două braţe într-o linie de prelucrări mecanice
În foarte multe operaţii tehnologice, evoluţiile ciclice solicitate de procesele de prelucrare ca şi aumite criterii privind micşorarea timpului de manipulare şi creşterea productivităţii operaţiilor impune utilizarea unor roboţi sau manipulatoare multi-braţ. Un astfel de sistem este cel prezentat schematic în fig.7.12. Cele două braţe ale manipulatorului sunt fixate rigid la pe o masă rotativă, permiţându-se rotaţia la dreapta D şi respectiv la stâmga a acestuia.
2 3
5
4
6
10
7
9
12
8
1
14
11
16 1715
20 18 19
13
y1
y2
y3
y7
y4
y6
y5
y8
Var
iabi
le s
ecun
dare
Variabile de intrarex1 x2 x3 x4 x5 x6 x7 x8
4
5
8
11
14
18
15
222
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.11
_
c2_
Q D
Q D
Q D
Q D…
…
y7 y3 y2 y1
_
y1
y1
y1
y1
y1
j
j
j
y6
y6
y6
y6
c1
_s
c6_
y2c5_
c6_
y3c4_
c5
y4c3c4
_
_
y5
c3 _
s_
c5
c4
c4
c3
c2
c1
c6
y5
y4
y3
y2
sc6
y2
c5y2
c2
c4
c1
c1y7y3
y5
y4
y7
c3
c3
c1
c2
_
_
_
y3
y5
y4
sc1_
D
S
C
R
Y
c1
c2
c3
c4
c5
c6
y5
y4
y3
y2
223
Roboţi industriali
Manipulatorul alimentează ciclic două maşini unelte identice A, B, cu
funcţionare în paralel, transportând piesele neprelucrate aduse de la o bandă
alternativ la cele două maşini. De asemenea, acesta asigură evacuarea pieselor
prelucrate de maşini către banda transportoare .
Figura 7.12
Fazele tehnologice de operare ale manipulatorului sunt următoarele: - manipulatorul se găseşte în potiţia 1, ambele braţe având
griperele deschise, deci se depune pe banda o piesă
prelucrată (braţul 2) şi piesa neprelucrată se depune la maşina A
(braţul 1); se iniţializează avansul benzii asigurând evacuarea
piesei depuse; - se roteşte manipulatorul spre stânga până în poziţia 2. Griperul 1
preia piesa prelucrată de maşina B iar griperul 2 piesa neprelucrată de pe banda ;
pp
B2
D
A
B
B1
braţ 1
braţ 2
c2
Sc1
b1
b2
poz. 1
b2
b1
poz. 2
b1
b2
poz. 3
b1
b2
poz. 4
b1
224
Capitolul 7. Sisteme de conducere cu logică cablată
- se roteşte manipulatorul spre dreapta până în poziţia 3. Se
depune piesa prelucrată pe iar piesa neprelucrată pe maşina
B; iniţiază avansul benzii ;
- se roteşte manipulatorul spre dreapta până în poziţia 4; Griperul
1 preia o piesă de pe banda iar griperul 2 piesa prelucrată de
maşina A;- se roteşte manipulatorul spre stânga până se atinge din nou
poziţia 1. Se deschide griperele şi ciclul se reia începând cu faza întâi.
Poziţiile manipulatorului în cele patru faze sunt identificate prin două
limitatoare montate diametral pe axul maşinilor A, B. Deasemenea,
controlul acestor faze este dat de încă două variabile , pp – desemnând prezenţa
piesei pe banda şi G indicând starea griperelor manipulatorului (pentru G=0
griperele sunt deschise). Trebuie menţionat ca banda se găseşte sub controlul
automatului manipulatorului în timp ce alimentarea pieselor prin banda, nu ,
aceasta fiind pur şi simplu cu avans continuu sau controlată de un alt sistem.Traiectoria unui braţ al manipulatorului în spaţiul de operare este prezentată
în figura 7.13. Se disting 4 secvenţe funcţionale, prina este iniţiată în potziţia 1
ce se menţine până în poziţia 2, urmează secvenţa iniţiată la preluarea pieselor
în poziţia 2 ce se manţine până în poziţia 3 etc.
Figura 7.13
Construirea automatului de conducere a matricei primitive, se face după aceleaşi proceduri ca cele întâlnite la aplicaţiile anterioare dar, în scopul facilitării sintezei, se identifică mai întâi succesiunea secvenţelor de intrare corespunzătoare ciclurilor funcţionale. Aceste secvenţe reprezintă valorile vectorului mărimilor de
S1
1y
S4
4 x
2S2
3
S3
225
Roboţi industriali
intrare pentru toate poziţiile posibile ale manipulatorului în cursul unui ciclu. Acest vector este definit prin
unde , pp, G sunt mărimile furnizate de limitatoarele de poziţie sau
traductoarele sistemului. Considerăm poziţia 1 a secvenţei ca stare de pornire a
manipulatorului (griperul deschis), aceasta este controlată prin vectorul de poziţie
desemnat convenţional prin . În continuare, evacuarea piesei de pe banda
înseamnă modificarea vectorului de intrare x la valoarea
Celelalte valori ale vectorului x, pentru un ciclu funcţional complet, se pot urmări în fig.7.14. Se pot distinge 8 valori distincte ale acestui vector,
, ele reprezentând coloanele matricei primitive de stări din fig.7.15.
În această reprezentare matricea primitivă cuprinde atâtea linii câte stări stabile apar în evoluţia autoamtului, funcţiilor de ieşire fiindu-le alocată o tabelă proprie, alăturată. S-au considerat mărimile de ieşire definite prin vectorul tabelă proprie, alăturată. S-au considerat mărimile de ieşire definite prin vectorul
unde A, B desemnează funcţionarea maşinilor A şi B, respectiv, S, D reprezintă rotaţia spre stânga sau dreapta a manipulatorului, IGR, DGR indică funcţia de
închidere şi deschidere a griperului iar AB2 avansul controlat al benzii .
226
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.14
Variabila de intrare Secvenţac1 c2 pp G 1 0 1 0 w1
1 0 0 0 w2
0 0 0 0 w3
0 1 0 0 w4
0 0 0 0 w3
0 1 0 0 w4
0 1 0 1 w5
0 0 0 1 w6
0 1 0 1 w5
0 1 0 0 w4
0 1 1 0 w7
0 1 0 0 w4
0 0 0 0 w3
1 0 0 0 w2
0 0 0 0 w3
1 0 0 0 w2
1 0 0 1 w8
0 0 0 1 w6
1 0 0 1 w8
1 0 0 0 w2
1 0 1 0 w1
227
Roboţi industriali
Figura 7.15
Din analiza matricei rezultă că ciclul complet al manipulatorului cuprinde 20 stări. Aceste stări pot fuziona după regulile cunoscute obţinându-se matrice redusă din fig.7.16 ce conţine numai 8 linii.
Pentru codificarea liniilor matricei reduse se va utiliza un registru de deplasare în inel cu 8 celule, fiecare celulă codificând prin variabila
corespunzătoare o linie a matricei. Comutarea registrului se impune la stările
instabile ale registrului Y de forma:
Funcţiile de ieşire se obţin din matricea de stări primitivă. Pentru exemplificarea reprezentării în fig.7.17 sunt trecute numai funcţiile celor două
Secvenţe de intrare Secvenţe de ieşire
w1 w3w2 w4 w5 w6 w7 w8 A B S D IGR DGR AB2
1 222 3
4
65
3
4
5
677
899
1010 11
1112122
13
132
14
142
15
152
16162
17
172
18
182
19
192
20
2002
1
1 11
1
1
1
111
11111
1
1
1
1
1
11
1
1
1
1
1
11
1
1
11
1
1
1
1
1
1
11
11
1
1
1
1
228
Capitolul 7. Sisteme de conducere cu logică cablată
maşini de prelucrare A şi B şi funcţiile de rotaţie spre stânga – dreapta a manipulatorului. Utilizând proceduri de sinteză clasice se obţin:
Figura 7.16Configuraţia generală a circuitului ce implementează automatul este
reprezentată în figura 7.18.
Variabile de intrarex1 x2 x3 x4 x5 x6 x7 x8
Var
iab
ile
secu
nda
re
y1 0,1,0,01,1,1,01,1,1,01,1,1,0y2 1,1,1,01,1,1,0y3 1,1,1,01,0,0,01,0,0,11,0,0,11,0,0,0y4 1,0,0,01,0,0,01,0,0,11,0,0,0y5 1,1,0,11,1,0,11,1,0,1 1,0,0,0y6 1,1,0,11,1,0,1y7 0,1,0,01,1,0,1 0,1,1,0 0,1,1,0y8 0,1,0,00,1,1,0 0,1,1,0 0,1,1,0
Figura 7.17
1 2 3
45
5
10
4
6 7 8
9 8 11
1 20
16
14
14
15
1315
12
11
19
171
8
18
x1 x2 x3 x4 x5 x6 x7 x8
y1
y2
y3
y4
y5
y6
y7
y8
Variabile de intrare
Variabile secundare
229
Roboţi industriali
Figura 7.18
Q D
x1 x2 x3 x4 x5 x6 x7 x8
Q D
Q D
Q D
A
B
S
D
y6
y5
y4
y3 y
2
y7
y8
y1
AB
DCL
ICL
Y
230
Capitolul 7. Sisteme de conducere cu logică cablată
7.3 Autoamte implementate prin registre distribuite
7.3.1 Prezentare generală
Automatul Girard analizat în prima parte a capitolului conţine ca suport de stare un registru unic, cu o structură compactă, ce acoperă funcţional evoluţiile ordonate ale stărilor unei traiectorii impuse. O strucutră mai elstică cu posibilităţi de aplicare în sistemele mari, cu criterii funcţionale complexe interconectate, este oferită de automatele implementate prin reţele distribuite de registre de deplasare (fig.7.19).
Figura 7.19
Suportul stărilor este realizat prin p registre de lungime variabilă
, fiecare registru furnizând seturi ordonate de variabile secundare
(i=1, 3, ..., p). Controlul registrelor este realizat prin circuite
proprii ceea ce simplifică atât modul de codificare al stărilor cât şi procedura
generală de sinteză a automatului. Trebuie subliniat caracterul sincron al acestui mod de implementare,
comutaţia tuturor variabilelor de stare realizăndu-se sub controlul unui generator de tact GT asociat automatului.
7.3.2 Formularea metodei de sinteză
În proiectarea Girard, funcţionarea automatului secvenţial este redată prin tabele sau matrici de stări. În cazul unor sisteme complexe de conducere acest mod de reprezentare devine, în cele mai dese cazuri, greu de manipulat, neoperativ. Numărul mare de secvenţe funcţionale implicat într-o traiectorie complexă face ca listarea acestora şi condiţiile lor de comutare să fie asimilabile unui program de
.
.
.
Q
LOGICĂ COMBINAŢIONALĂ...
.
.
.
.
.
.
.
.
.
.
.
.
Q CRp
… Q Q CR1
…
GT
x1x2
xn
z1z2
znyp,sp yp,1 y1,s1 y1,1wp w1
registrul 1registrul p
231
Roboţi industriali
calculator. Apare, deci, posibilă utilizarea facilităţilor pe care le oferă descrierea structurior secvenţiale prin limbaje fomale [77, 83, 91].
Metoda de sinteză bazată pe acestă procedură cuprinde următoarele etape:a) se identifică şi se listează toate secvenţele funcţionale ale traiectoriei robotului precum şi operaţiile auxialiare ce contribuie la realizarea ei. Fiecare secvenţă se va numerota printr-un număr de ordine şi i se va atribui o variabilă de indexare. O condiţie de salt de la o secvenţă la alta este pusă sub forma unei instrucţiuni de tipul:
(7.10)
unde este variabila asociată secvenţei i iar sunt funcţii booleene ce
condiţionează evoluţia. Relaţia (7.10) poate fi interpretată astfel: “dacă autoamtul
se află în secvenţa atunci prin realizarea condiţiei evoluează în secvenţa ,
prin realizarea condiţie evoluează în , etc”. Funcţiile definesc deci
condiţiile de evoluţie de la o secvenţă la alta. Acestea pot fi simple variabile de
intrare sau pot sintetiza condiţii de comutare complexe. Funcţiile trebuie să
respecte în plus condiţiile:
, (7.11)
(7.12)
deci numai o singură condiţie de salt poate fi testată la un moment dat şi întotdeauna o condiţie de acest fel este asociată unei secvenţe. În particular, dacă
, aceasta implică
(7.13)
deci transfer necondiţionat la secvenţa ;
b) se determină funcţiile de ieşire ce trebuiesc realizate în secvenţa respectivă. Notaţia utilizată în mod curent este
(7.14)
unde . Deci mărimea de ieşire generată de secvenţa va fi 0 sau 1
conform specificaţiilor protocolului de funcţionare; c)se construiesc registrele – suport de stare, realizate cu bistabile de tip D, câte unul pentru fiecare secvenţă; d) se determină circuitele de control ale registrelor, circuite ce implementează
funcţiile de comutaţie ;
e) se proiectează circuitele pentru generarea funcţiilor de ieşire
etc.
232
Capitolul 7. Sisteme de conducere cu logică cablată
Etapele d şi e determină practic logica combinaţională a configuraţiei. Structura de circuit reezultată se asociază registrelor obţinute la etapa c, obţinându-se astfel implementarea automatului secvenţial.
Aplicaţiile care vor urma vor jalona toate fazele de sinteza enumerate şi vor pune în evidenţă aspectele de proiectare specifice acestei metode.
7.3.3 Controlul unui robot în cordonate cilindrice
Pentru exemplificarea procedurii se va considera robotul în coordonate cilindrice din fig.7.20 utilizat în operţii de paletizare. Robtul execută un ciclu
funcţional prin punctele , transportul piesei prin punctele
, depunerea piesei şi revenirea în
stare iniţială prin punctele .
Figura 7.20
Un sistem de măsurare permite calculul poziţiilor în coordonate robot (fig.7.20) identificând totodată secvenţele funcţionale ale traiectoriei. De exemplu, secvenţele funcţionale vor fi:
etc.
unde este secvenţa de închidere a griperului robotului. Mişcările robotului la
fiecare secvenţă se obţin prin activarea sistemului de acţionare al fiecărui grad de
libertate iar comanda griperului pentru închidere – deschidere este
G3+
G2+
G1+
d2
φ1
d3
y
x
z
x
y
z
P2
P1
P0
P10
P9P8 P7
P3
P6
P5
P4
φ1
P0(φ10,d2
0,d30)
P1(φ10,d2
1,d30)
P2(φ10,d2
1,d31)
P3(φ11,d2
1,d31)
P4(φ11,d2
1,d32)
P5(φ11,d2
2,d32)
P6(φ11,d2
2,d33)
P7(φ11,d2
3,d33)
P8(φ10,d2
3,d33)
P9(φ10,d2
3,d34)
P10(φ10,d2
0,d34)
233
Roboţi industriali
desemnată prin IGR, DGR, respectiv. Poziţia de închis – deschis a acestuia este indicată printr-un sistem de limitatoare GRI, GRD.
Conform prtocolului de proiectare expus, fiecărei secvenţe funcţionale i se va atribui un index 1, 2, 3, ..., 13 iar instrucţiunea (7.10) devine
Această formulare trebuie interpretată în sensul următor: “dacă griperul nu este închis se rămâne în secvenţa 1, iar dacă griperul este închis
se trece la secvenţa 2”. În cadrul secvenţei 1 se generează comanda IGR
caracteristică acestei secvenţe.Când condiţia de comutare este realizată se obţine secvenţa 2, definită prin
Această secvenţă este prima secvenţă de mişcare pe traiectorie obţinută prin activarea robotului pe gradul doi în sens pozitiv. Mişcarea este controlată prin
cordonata , dacă ea nu este realizată se rămâne în secvenţa 2 asigurând deci
continuitatea mişcării, iar la atingerea cotei se produce comutarea în secvenţa
următoare 3.În mod similar se obţin celelalte secvenţe funcţionale
234
Capitolul 7. Sisteme de conducere cu logică cablată
Din ultima secvenţă, la atingerea cordonatei se revine în prima secvenţă şi
se reia ciclul funcţional.Fiecare secvenţă este memorată într-un bistabil integrat tip D, conectarea
bistabilelor realizându-se prin intermediul unei logice combinaţionale realizate cu porţi SI, SAU, NU ce implementează funcţiile de comutare specificate pentru fiecare instrucţiune.
Strucutura generală a ciclului este prezentată în fig.7.21. Variabilele de
control ale poziţiei robotului sunt simbolizate prin indicativul COORD unde
este una din cordonatele , . Aceste mărimi sunt măsurate prin traductoare
de deplasare liniare şi de rotaţie şi prelucrate logic în circuite specializate, rezultatul fiind sintetizat în decizia logică respectivă.
Variabilele de ieşire ale circuitului sunt obţinute direct din ieşirea bistabilelor ce memorează secvenţa (valaorea logică a ieşirii coincide cu cea a secvenţei) şi controlează nemijlocit variabilele de acţionare ale robotului.
235
Roboţi industriali
Figura 7.21
Trebuie subliniată în această configuraţie de comandă caracterul sincron al comutărilor. Cu toate că în fig.7.21 nu s-a rerpezentat linia de tact comună tuturor bistabilelor D (pentru a nu încărca desenul), comutarea acestora dintr-o stare în alta se realizează numai corelat cu semnalul de tact.
7.3.4 Controlul unui robot de încărcare
În toate plicaţiile discutate, funcţia principală pe care o realizează sistemul de comandă este cea de poziţionare a braţului mecanic, urmată ulterior de funcţiile tehnologice specificate procesului. În exemplul analizat în această parte a capitolului se va studia un robot specific în care operaţia de poziţionare reprezintă una din operaţiile curente realizate de robot. De altfel şi denumirea de robot este mai puţin conformă cu terminologia clasică, ea fiind obţinută printr-o extindere a acestui termen având în vedere facilităţile tehnologice oferite de sistem.
Robotul este utilizat pentru încărcare cu pulbere nemetalică a unui sistem de
şase buncăre . Încărcarea se realizează după un anumit regim de
prioritate. Robotul se deplasează pe o cale de rulare de-a lungul bunărelor, transportând la punctele lor de încărcare o bandă deversoare B (fig.7.22) ce alimentează buncărele cu pulberea depozitată într-un stocator S.
IGR GRI COORD 2G
3G3G
1GCOORD COORD COORD
COORD COORD COORD
COORD COORD COORD
2G
3G2G
1G
3G
2G 3G
DGR GRD COORD
D D D
D D D D D
D D D D D
Q Q Q
Q Q Q Q Q
Q Q QQ Q
a
b c
c a
b
1 2 3 4 5
6 7 8 9 10
11 12 13
236
Capitolul 7. Sisteme de conducere cu logică cablată
Figura 7.22
Pentru măsurarea niuvelului de încărcare, ficare buncăr este prevazut cu un
sistem de traductoare care furnizează nivelele de minim şi maxim . Robotul
este solicitat pentru încărcarea la atingerea nivelului şi aceasta încetează la
relizarea nivelului . Dacă încărcarea este solicitată simultan de câteva buncăre
atunci un regim de priorităţi va identifica buncărul operaţional. De exemplu, o
prioritate de încărcare poate fi următoarea: .
Controlul poziţiei robotului pe linia de încărcare este realizată de şase
limitatoare de poziţie iar stocatorul S poate fi obturat sau deblocat
cu o clapetă cu două poziţii închis, deschis (CLI, CLD).Operaţiile efectuate de robot se pot împărţii în trei grupe: selectarea
buncărului cu prioritate maximă, deplasarea robotului la punctul de încărcare solicitat şi încărcarea efectivă a buncărului. Pentru a urmării mai uşor fazele de priectare a automatului de conducere, secvenţele funcţionale ale robtului vor fi
notate prin , acestea desemnând operaţii de identificarea priorităţii, de
poziţionare şi de încărcare, respectiv.În conformitate cu protocolul stabilit, primul set de instrucţiuni descriu
operaţiile de selecţie a priorităţii maxime. Aceasta se obţine prin testarea
traductorului de minim al buncărului ,
deci dacă condiţia de minim este realizată se trece în secvenţa ce indică
poziţionarea în buncărul iar dacă minimul nu este atins atunci se trece în
secvenţa în care se continuă testarea priorităţii buncărului ,
În mod similar, se testează celelalte buncăre în ordinea
L1L2L3L4L5L6
B1B2B4B4B5B6
M4
m4m5
M5
m6
M6
m3
M3 M2
m2
M1
m1
B
R
CLD CLI
S
237
Roboţi industriali
Dacă nici un buncăr nu a solicitat încărcare, din ultima secvenţă s6 se revine în secvenţa s1 şi operaţia de căutare cntinuă ciclic. O dată cu identificarea unei solicitări secvenţele de căutare se întrerup şi se trece la secvenţele de poziţionare ale robotului.
Pentru exemplificare să considerăm poziţionarea robotului la buncărul .
Instrucţiunile corespunzătoare sunt
Prima instrucţiune descrie secvenţa . Dacă robotul este poziţionat pe
buncărul atunci se trece la prima secvenţă de încîrcare , dacă nu, se
trece la secvenţa prin care se relizează deplasarea la dreapta a
robotului din orice altă poziţie până se atinge limitatorul când comută pe
secvenţa de încărcare .
În mod similar, poyiţianrea la celelalte buncăre va fi descrisă prin
Poziţionarea la buncărul cere trei secvenţe ultimele două
identificând sensul la stânga S şi respectiv la dreapta D.
238
Capitolul 7. Sisteme de conducere cu logică cablată
Instrucţiunile listate mai sus controlează deci poziţionarea robotului şi finalizează prin aducerea acestuia în punctul de încărcare al buncărului cu prioritate maximă. Secvenţele ce urmează asigură fazele de încărcare efectivă.
239
Roboţi industriali
Figura 7.23
În prima secvenţă se produce deschiderea clapetei ce obturează stocatorul
(DCL) funcţie controlată prin limitatorul CLD. În a doua secvenţă se activează
banda transportoare, semnalul de comutare se obţine printr-un operator SAU pe
ieşirile tuturor traductoarelor de maxim .
În ultima secvenţă se închide clapeta şi se revine în secvenţa
iniţială de căutare .
Implementarea acestor instrucţiuni se realizează după procedura discutată. Ţinând cont de complexitatea circuitului, în fig.7.23 s-au prezentat numai fragmente din registrele ce implementează secvenţele respective.
(s4)(s3)(s2)(s1)
L2
(q2)
B
b1
(q1')
c DQ a1
DQ a2
DQ a3
DQ a4
m2 m5 m3 m1
a4 DQ b1
DQ b2
L1 L1
(q1)D
a4 DQ
L1
L3L6
b1
DQ
b1
DQ
S DL2 L2
M1 M6
DQ
CLD
DQ
DQ
c(p1) (p2) (p3)
DCL ICL CLI
L6
a4
240