Documente Academic
Documente Profesional
Documente Cultură
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.
Variabile de
comanda
Variabile
de Variabile
initializare a R de pozitie
Figura 7.1
2 S2 3
L2y
S1 4 S4 5
1
LY
1 S5
Start
Figura 7.2
S i 1 f ( s i , x )
(7.6)
iar succesiunea ordonată de stări,
Si s0 , s1 ,..., sn 1
(7.7)
determină o evoluţie a automatului între o stare iniţială s0 şi o stare finală s n1 .
Realizarea la nivel de circuit a unui automat constă în principiu în
determinarea unui set de variabile de stare sau secundare y j (t ), j 1,2,..., s care
să acopere mulţimea stărilor automatului. Deci unei stări si i se asociază un vector
de stare
Y i y1 , y 2 ,..., y s T (7.8)
unde indicele i desemnează o relaţie temporală
Si : Y i y (t1 ) (7.9)
x1 z1
Logica
combinationala zm
xn
y2 y3 ys
Stare
Suport de stare
Control
stare
Figura 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
comutarea acestora când condiţiile de tranziţie sunt realizate. Aceste condiţii sunt
sintetizate prin vectorul mărimilor de intrare
x x1 , x2 ,..., xnT (7.10)
Această comutare de variabile crespunde evoluţiei (7.6) şi la nivel de circuit
este dată de o relaţie de forma,
y ti 1 f y ti , x (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
z z1 , z 2 ,..., z n T (7.12)
în conformitate cu o relaţie de tipul (7.5),
z ti g y ti , x (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ă Si iniţiată de vectorul P1 . Automatul
primeşte mărimea de intrare x P1 ceea ce determină trecerea din starea iniţială,
de repaus, s 0 , în starea s1 .
s1 f s0 , P1
sau la nivel de circuit aceasta înseamnă generarea vectorului de stare
y t1 f y t0 , P1
211 Roboţi industriali
Start
x1
x n 1 LC SA
xn Limitatoare
de poziţie
SS
control
Figura 7.4
generând ieşirile
z t5 g y t5 , P5
z t 6 g y t 6 , P4
unde
z t5 z t6
mişcarea robotului realizându-se în acelaşi sens în cadrul celor două stări s5 , s6
ale autoamtului. Altfel spus, o secvenţă funcţionlă nu se relizează neapărat în
cadrul unei singure stări, în cazul acesta S 5 este echivalentă cu s5 , s6 .
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
t1 , t 2 ,..., t i , t i 1 ,... 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ă.
x1 z1
Logica zm
combinaţionala
xn
y1 y2 y3 ys
Registru
de deplasare Q Q Q Q
Y(Functie
de excitatie)
Figura 7.5
X L1 y L2 x y 2
Y L1 x L2 y y1
Y L2 x L1 y y1
Implementarea logică a acestor funcţii, asociată unui registru de deplasare de
două varabile y1 , y 2 , reprezintă circuitul în configuraţie Girard ce relizează
controlul robotului pe traiectoria specificată (fig.7.6,f).
216 Capitolul 7. Sisteme de conducere cu logică cablată
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).
L1L 2 3
Lx
x x L 1 2 3
LxL x
x L1xL2xL3x
L2y 2 33 L2y 2 3 y
L1y 1 4 5 L2yy2 2 3
1 1 6 5 1
L1y 4 5 y1 1 4 5
1 6 5 L1y
y2 1 6 5
a b
c
L1xL2xL3x
y - - - y2 - - -
L2yy2 0 L2yy -
1 0 - 1
(1,0,0,0) (0,0,0,1)
d e
217 Roboţi industriali
2
L
2 y
Lx
3 1 x
L1xLxL y
L1y
x
1
Lx
1
L L
2 x
y
y
2
L
1 x
Ly y
1
L
3 y
Lx
L1y
1
Lx
y1 y2
Q Q
y
Registru
f
Figura 7.6
C C C6
C1 C2 C3 4 5
s C1 C2 C3 C4 C5 C6
s
j
j
Figura 7.7
Variabile
de intrare C1 C2 C3 C4 C5
38
38 37 36 35 34 33
27
26 27
22
21 22
17
16 17
12
11 3
12
7
6 7
1 2 3 4 5
5
9 8
10
15 14 13
15
19 18
20
25 24 23
25 12
28 29 30 31 32
32
Figura 7.8
220 Capitolul 7. Sisteme de conducere cu logică cablată
Variabile de intrare
C1 C2 C3 C4 C5 C6
Variabile secundare
y7 38 37 36 35 34 33
y6 27 33
y5 26 27 22
y4 21 22 17
y3 16 17 12
y2 11 12 7
y1 38 6 7
y1 1 2 3 4 5
y2 10 9 8
y3 15 14 13
y4 20 19 18
y5 25 24 23
y6 28 29 30 31 32
y7
Figura 7.9
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.
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ă y1 va codifica linia de stări 1 – 5 pentru j=1 şi 38, 6,7 pentru
s=1 variabila y 2 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
y 2 , pentru a asigura tranziţia directă în starea stabilă 8, când j=1 pe aceeaşi
variabilă secundară y 2 , 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 y 6 , în starea stabilă 33 la s=1, de pe linia y 7 ,
se va efectua prin intermediul unei stări instabile 33 introdusă suplimentar în linia
y6 .
Î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,
Y s c6 y1 c5 y 2 c4 y3 c3 y 4 c2 y5 c6 y 6 c1 y7
Î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ă S1 , mersul la dreapta este iniţiat în starea 1 şi anulat în 5 este
reiniţiat în starea 6 (secvenţa S 2 ), anulat în 7 şi este interzis în 38 etc.
D j y1 c5 y 6 c6 s y1 c1 c6 y 2 c5 c6 y3 c4 c4 y 4 c3 c4 y5 c2 c3 y 4 c 3 c 4 y5 c 2 c 3
Analog se obţine:
S j y 2 c4 y3 c3 y 4 c2 y5 c1 sy7 c1
222 Capitolul 7. Sisteme de conducere cu logică cablată
Variabile de intrare
Variabile secundare x1 x2 x3 x4 x5 x6 x7 x8
y1 1 2 3 4
y2 5 4
y3 5 6 7 8
y4 10 9 8 11
y5 14 13 12 11
y6 14 15
y7 16 15 18 17
y8 20 18 19
Figura 7.10
y
j
yc1 _
_6
6y
sc
y_121c_ D
c6 5
_y3_c
c5 4 _yj
_y _ c4
c44c3 _ 2y
_ y_ c3
c2 c5 _ 3y
3 c2
_ S
sc _ 4y
c
y 5 1
c y_5 s
y1 4 c1
7
c
y2 3 R
3y 2
c c6
y
c
4y 1 c5 2
y
c c43
y5 6 y C
6s c c3 4
y 6 y
c c2
y1 5 y5
c c16
2y 1 y
j Y
y7 c4 1
c3
y3
c
y 2
4
c
5y
1
6
y7 y3 y2 y1
Q Q Q Q
D … D D D
…
Figura 7.11
224 Capitolul 7. Sisteme de conducere cu logică cablată
poz
.1 b1
b2
A
b2
S braţ D
poz
1c .2 b1
B B
1
2
braţ 2
1
p
p
c poz b1
.3
2
b2
B
poz b1
.4
b2
b1
Figura 7.12
y
1
S4
S1
S3
3 4 x
S2
2
Figura 7.13
intrare pentru toate poziţiile posibile ale manipulatorului în cursul unui ciclu. Acest
vector este definit prin
x c1 , c2 , pp, G T
unde c1 , c2 , pp, G sunt mărimile furnizate de limitatoarele de poziţie sau
traductoarele sistemului. Considerăm poziţia 1 a secvenţei S1 ca stare de pornire a
manipulatorului (griperul deschis), aceasta este controlată prin vectorul de poziţie
x 1,0,1,0 T
desemnat convenţional prin w1 . În continuare, evacuarea piesei de pe banda B2
înseamnă modificarea vectorului de intrare x la valoarea
x 1,0,0,0 T w2
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,
w1 , w2 ,..., w8 , 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
z ( A, B, S , D, IGR, DGR, AB2 ) t
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 AB 2 avansul controlat al benzii B2 .
227 Roboţi industriali
Variabila
de intrare Secvenţa
c1 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 w
Figura 7.148
0 0 0 1 w6
1 0 0 1 w8
1 0 0 0 w2
1 0 1 0 w1
228 Capitolul 7. Sisteme de conducere cu logică cablată
s 4
1 51
y7 1
1
e y 1 6 2 5 8
1 7
1
c 8
0 Figura 7.16 8 9
u
Configuraţia ngenerală a circuitului ce implementează automatul este
reprezentată în figura
d 7.18.
a
r Variabile de intrare
xe1 x2 x3 x4 x5 x6 x7 x8
y1 0,1,0,01,1,1,01,1,1,01,1,1,0
Variabile secundare
y2 1,1,1,01,1,1,0
y3 1,1,1,01,0,0,01,0,0,11,0,0,11,0,0,0
y4 1,0,0,01,0,0,01,0,0,11,0,0,0
y5 1,1,0,11,1,0,11,1,0,1 1,0,0,0
y6 1,1,0,11,1,0,1
y7 0,1,0,01,1,0,1 0,1,1,0 0,1,1,0
y8 0,1,0,00,1,1,0 0,1,1,0 0,1,1,0
Figura 7.17
230 Capitolul 7. Sisteme de conducere cu logică cablată
x1 x2 x3 x4 x5
x6 x7 x8
IC
L
DC
L
A
B
S
D
y y y
y
8 7 6 y
5 y
Q Q 4
3
y Q y Q
D D 2 D 1 D
Figura 7.18
231 Roboţi industriali
x1 z1
x2 .. LOGICĂ COMBINAŢIONALĂ .. z2
. .
xn .. .. zn
. yp,s yp,1 wp y1,s y1,1 w...1
... p 1
.
Q … Q Q … Q
CR CR
p 1
registrul p registrul 1
GT
Figura 7.19
z z
G3+
d3 P0(φ10,d20,d30)
P2
P3 P1(φ10,d21,d30)
P1 P9 P8 P7 P P2(φ10,d21,d31)
φ1 4
P3(φ11,d21,d31)
G2+ G1+ P4(φ11,d21,d32)
d2 P10 P6 P5(φ11,d22,d32)
P5
P0 1 2 3
y P6(φ1 ,d2 ,d3 )
y x P7(φ11,d23,d33)
φ1
P8(φ10,d23,d33)
x P9(φ10,d23,d34)
P10(φ10,d20,d34)
Figura 7.20
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
1 GRI x 1 GRI x 2
IGR 1
Această formulare trebuie interpretată în sensul următor: “dacă griperul nu
este închis (GRI 1) se rămâne în secvenţa 1, iar dacă griperul este închis
(GRI 1) se trece la secvenţa 2”. În cadrul secvenţei 1 se generează comanda
IGR ( IGR 1) caracteristică acestei secvenţe.
Când condiţia de comutare este realizată se obţine secvenţa 2, definită prin
2 COORD d 21 x 2 COORD d 21 x 3
G2 1
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 d 21 , dacă ea nu este realizată se rămâne în secvenţa 2 asigurând deci
continuitatea mişcării, iar la atingerea cotei d 21 se produce comutarea în secvenţa
următoare 3.
În mod similar se obţin celelalte secvenţe funcţionale
3 COORD d 31 x 3 COORD d 31 x 4
G3 1
4 COORD 11 x 4 COORD 11 x 5
G1 1
5 COORD d 32 x 5 COORD d 32 x 6
G3 1
6 COORD d 22 x 6 COORD d 22 x 7
G2 1
7 GRD x 7 GRD x 8
DGR 1
8 COORD d 33 x 8 COORD d 33 x 9
G3 1
235 Roboţi industriali
9 COORD d 23 x 9 COORD d 23 x 10
G2 1
10 COORD 10 x 10 COORD 10 x 11
G1 1
11 COORD d 34 x 11 COORD d 34 x 12
G3 1
12 COORD d 20 x 12 COORD d 20 x 13
G2 1
13 COORD d 30 x 13 COORD d 30 x 1
G3 1
Din ultima secvenţă, la atingerea cordonatei d 30 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 xi unde
xi este una din cordonatele 1 , d1 , d 2 . 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.
236 Capitolul 7. Sisteme de conducere cu logică cablată
G 2 G3 G1
COORD COORD
G3
IGR GRI COORD COORD
Q Q Q
Q Q a
c D D D D D
1 2 3 4 5
Q Q Q Q Q
a D D D D D b
6 7 8 9 10
G3 COORD
G 2 COORD
G3 COORD
Q Q Q
b D D c
D
11 12 13
Figura 7.21
CLD CLI
B
R
L6 L5 L4 L3 L2 L1
M6 M5 M4 M3 M2 M1
B6 B5 B4 B4 B2 B1
m6 m5 m4 m3 m2 m1
Figura 7.22
s3 m3 x s4 m3 x q3
s4 m1 x s5 m1 x q1
s5 m4 x s6 m4 x q4
s6 m6 x s1 m6 x q6
Dacă nici un buncăr nu a solicitat încărcare, din ultima secvenţă s 6 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 B1 .
Instrucţiunile corespunzătoare sunt
q5 L1 x p1 L1 x q1
q1 L2 L3 L6 x q1 L1 x p1
D 1
Prima instrucţiune descrie secvenţa q1 . Dacă robotul este poziţionat pe
buncărul B1 L1 1 atunci se trece la prima secvenţă de încîrcare p1 , dacă nu,
se trece la secvenţa q1 prin care se relizează deplasarea la dreapta ( D 1) a
robotului din orice altă poziţie până se atinge limitatorul L1 când comută pe
secvenţa de încărcare p1 .
În mod similar, poyiţianrea la celelalte buncăre va fi descrisă prin
q2 L2 x p1 L1 x q2 L3 L4 L5 L6 x q2
q2 L2 x p1 L 2 x q1
s 1
q2 L2 x p1 L 2 x q2
D 1
Poziţionarea la buncărul B2 cere trei secvenţe q 2 , q2' , q 2'' ultimele două
identificând sensul la stânga S şi respectiv la dreapta D.
q3 L3 x p1 L1 L2 x q3 L4 L5 L6 x q3
q3 L3 x p1 L 3 x q3
s 1
239 Roboţi industriali
q3 L3 x p1 L 3 x q3
D 1
q4 L4 x p1 L1 L2 L3 x q4 L5 L6 q4
q4 L4 x p1 L 4 x q4
s 1
q4 L4 x p1 L 4 x q4
D 1
q5 L5 x p1 L1 L2 L3 L4 L6 x q5
q5 L5 x p1 L 5 x q5
s 1
q5 L5 x p1 L 4 x q5
D 1
q6 L6 x p1 L6 x q6
q6 L6 x p1 L 6 x q6
s 1
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ă.
p1 CLD x p1 CLD x p 2
DCL 1
p2 M 1 M 2 M 6 x p2 M 1 M 2 M 6 x p3
B 1
p3 CLI x p3 CLI x s1
ICL 1
240 Capitolul 7. Sisteme de conducere cu logică cablată
m2 m5 m3 m1
(s1) (s2) (s3) (s4)
Q a1 Q a2 Q a3 Q a4
c D D D D
L1 D L1
(q1) (q1')
Q b1 Q b2
a4 D D
L6
a4
L2 S L2 D L2
(q2) b1 b1 b1
Q Q Q
a4 D D D
L1
L3
L6 M1 M
6
DCL CLD B ICL CLI
(p1) (p2) (p3)
c
Q Q Q
D D D
Figura 7.23