Documente Academic
Documente Profesional
Documente Cultură
SISTEME DE CONDUCERE
CU LOGICA FLEXBILĂ
cuvânt intrare
adresă
x1
PROM D a
x
x 2
n
y
y 21
x' ys cuvânt ieşire comenzi rob.
z
z 21
z Robot
tact RR ym1
y
y2s ...
PROM G ieşiri secv. rob.
ieşiri num. rob.
Figura 8.1
x x1 , x 2 ,..., x n
T
(8.1)
şi variabilele numerice.
xx x1 , x 2 ,.., x n
T
(8.2)
Primele definesc starea unor elemente de măsurare de tipul “tot sau nimic”
(limitatoare de poziţie, întrerupătoare, etc.) iar celelalte reprezintă ieşirile unor
traductoare numerice de poziţie. Tot în prima categorie intră şi anumite mărimi de
comandă externe, variabile de iniţializare, anumite comenzi prioritare, întreblocări
etc.
244 Roboţi industriali
y y1 , y 2 ,..., y s
T
(8.3)
z z1 , z 2 ,..., z m
T
(8.4)
y y1 , y 2 ,..., y s
T
(8.5)
y t T y t
{y1,y2,y3}
IZ
0 X 1
a b
Figura 8.2
Capitolul 8. Sisteme de conducere cu logică flexibilă 245
Q q1 , q 2 ,..., q P
vectorul tuturor traseelor logice astfel realizate. Întotdeauna un singur traseu logic
este active deci o singură componentă q1 este egală cu 1 logic, restul fiind 0.
246 Roboţi industriali
IY IZ
z z1 , z 2 ,..., z m
T
q p
cuvânt
TACT IY IZ
RR ieşire
y1yy2 3 y s
z1zz
23
zm
Figura 8.3
248 Roboţi industriali
(001)
1
q1
start
0 1 q3
q2 0
GI
1
(010) (011)
2 IG 3 x q5
q4 start 0
q61
4 x , y (100)
q7
start 0
q81
5 y (101)
q9
q10 1 start 0
a
y
3
L2y
L1y 2
1
L1x
START 2
Lx x
b
Figura 8.4
Cele cinci stări ale organigramei se pot codifica prin trei variabile secundare
y1 , y2 , y3 y , codificarea fiind arbitrară (pentru comoditate s-a utilizat codul
binar natural).
Capitolul 8. Sisteme de conducere cu logică flexibilă 249
q1 1 START y1 y 2 y 3 START
q2 1 START GI
1 START GI y1 y 2 y3 START GI
q3
2 y1 y 2 y 3 START GI
q4 3 L2x L1y
q5 2 1 y1 y 2 y3
3 Lx L y
q6 y1 y 2 y 3 L2x L1y
4 L1x L2y
q7 2 1
1 2
4 Lx L y y1 y 2 y 3 L X L y
q8
q9 5 L1x L1Y y1 y 2 y 3 L1x L2y
1 1
q10 5 L x LY y1 y 2 y 3 L1x L2y
y1 y 2 y 3 L1x L1y
y1 y 2 y 3 L1x L1Y
Tabelul 8.1
Q q1 , q 2 ,..., q10
primele trei trasee fiind generate din starea iniţială 1 (liniile punctate din fig 8.4b).
De exemplu, traseul q1 este generat de starea 1, este determinat de decizia
START nerealizată şi se închide tot în starea 1. Formal, aceasta poate fii scrisă prin
q1 : 1 START y1 y 2 y 3 START
În tabelul 8.1 sunt prezentate expresiile logice ale celorlalte trasee ale
organigramei.
250 Roboţi industriali
z x , x , y , y .IG
Stabilirea exacta a vectorilor Q,x,y,z permite dimensionarea elementelor
configuraţiei,
PRO
q1 M
START q2
GI q3
L2x L1y q4
q5
D q6
q7
q8
q9
RR q10
cuvânt
IY
ieşire
IZ
Y1 Y2
Y3
X+ X- Y+ Y- IG
a
252 Roboţi industriali
START
L L L
GI
2 1 1
x x x
L L L
1 2 1
y y y
q1
q2
q3
q4
.
.
y1 y2 y3 .
Figura 8.5
1 1 4
0 1 0 x1 1 0 x2 1
x
2 3 3
a b
Figura 8.6
IT IY
IYF IYA
stare si
PROM G
y1
D
yS
cuvant
IT IY F IY A IZ iesire
TACT
RR
z1
x1 z2
DZ
x2 w
MUX1 MUX2
zm
xN y2
y1 yS
Figura 8.7
k1 log 2 n
MUX 2 joacă rolul unui comunicator, transformând la ieşire fie codul stării
false IYF, fie adevărate IYA (s biţi), după cum variabila de control w este 0 şi
respectiv 1.
Ultimul circuit, decodificatorul de ieşire DZ, generează una din cele m
intrări conform codului oferit de cei k 2 biţi din instrucţiunea de ieşire IZ.
Capitolul 8. Sisteme de conducere cu logică flexibilă 255
k 2 log 2 m
Informaţia de stare IY (IYF sau IYA) este stocată într-un registru de reacţie
RR la ieşirea căruia, într-o nouă perioadă de tact, se obţine codul stării
y1 , y 2 ,..., y s .
Algoritmul de implementare a unui sistem de conducere în această
configuraţie cuprinde următoarele etape:
* Se determină, după aceeaşi procedură ca şi în configuraţia precedentă,
organigrama de stări a automatului.
* Se dimensionează formatul cuvântului din memorie stabilind necesarul de
variabile pentru codificarea intrărilor (test), stărilor şi intrărilor. Se alocă coduri
corespunzătoare tuturor mărimilor implicate.
* Se dimensionează toate componentele acestei configuraţiei alegându-se
întotdeauna valori acoperitoare:
PROM G : PROM 2 x k
s
1 2s k 2
MUX 1 : MUX k1 x1
MUX 2 : MUX 1xs
DZ : DECOD k1
RR : R s
2
Figura 8.8
0 1
X1
rang 0
rang 1
0 1 0 1
X2 X2
q1 q2 q3 q4
2 3 4 5
0 1
X1
1* 1**
0 1 0 1
X2 X2
2 3 4 5
b
Figura 8.9
În figura 8.9b stările nou introduse 1’, 1” separă cele doua decizii x1 , x 2
determinând o decuplare a condiţiilor de evoluţie.
Capitolul 8. Sisteme de conducere cu logică flexibilă 257
IY
IZ
IYF IYA
D PROM G
y
cuvant
IYF IYA IZ iesire
TACT
RR X1
X2
MUX1 MUX2 DZ
Xn
y
Z1 Zm
Figura 8.10
258 Roboţi industriali
IT1 IY
IT0 IZ
IYQ1 IYQ 2 IYQ 3 IYQ 4
y
DZ PROM G
W0
TACT decizii 0
RR MUX1 MUX2 DZ
rang 0
W1 Z1 Z2 Zm
decizii 1
MUX1
rang 1
Figura 8.11
IT : K 1 3
IY : 2 s 2 x3
IZ : k 2 3
260 Roboţi industriali
PROM G
001
010
011
y1
100
y2
D 101
y3
110
cuvant
IT IYF IYA IZ iesire
0 IG
0 1 X+
START 1 2 X-,Y+
TACT DZ 3
RR GI 2 Y-
RR
3 4
MUX1 MUX2
L1x L2y 4 5
L1x L1y 5 6
7
6
7
Figura 8.12
Intrare Ieşire
Inexistentă 000 inexistentă 000
GI 010 X 010
Tabelul 8.2
PROM G : PROM 2 3 x 3 2 x3 3 8 x12
MUX1 : MUX 3X 1
MUX2 : MUX 1x3
DZ : DECOD 3
RR : R 3
Decizii Decizii
de rang 0 IT0 de rang 1 IT1
Decizie Decizie
inexistentă 00 inexistentă 00
START 01 GI 01
11
L1X L2Y
Tabelul 8.3
PROM G
001
010
011
y1 100
y2 101
y3 D
0 MUX 0
TACT START 1 1
1 IG
RR L2x L1y 2 0 0 0 1 1
0 1 0 1 2 X+
L1x L2y 3 3 X-
MUX2 DZ 4 Y-
5
0 MUX 6
GI 1 1
7
L1x L1y 2 1
3 Y1 Y2 Y3
Figura 8.13
IF f y
IT IYA IZ
(Format A)
În mod similar, în figura 8.14b, codul stării adevărate 3 este determinat după
264 Roboţi industriali
YA g y
IT IYF IZ
(Format F)
(y) (y)
1* 1*
0 1 1 0
X X
f(y) YA YF g(y)
2 3 2 3
a b
Figura 8.14
YF Y 1
YA y 1
PROM G
y D
cuvânt
IT IYA IZ
ieşire
∑ 1
ci [y+1]
TACT RR x1
x2
MUX
. MUX 2 DZ
. 1
.
xn
z1 z2 … z3
Figura 8.15
YF y 1
Y
PROM G
IT IYA IZ
Z1
Z2
RR incr/load
X1
DZ
X2 W
MUX1 CS Zm
X2
Xn
Figura 8.16
Capitolul 8. Sisteme de conducere cu logică flexibilă 267
0001
1
0 1
Start
0011
1** 1*
0
GI
0100 0101 0111
2 3 X+ 3*
0
Lx2Ly2
q5
1
0111 1000
4 X-,Y+ 4 *
Lx1Ly2 qz
0
1
1001 1010
5 5*
1 0
Lx1Ly1 qg
Figura 8.17
În toate procedurile discutate mai sus, fiecare bit din memorie avea o
semnificaţie unică, formatele de lucru fiind considerate fixe. O posibilitate de
reducere a spaţiului de memorie se poate obţine prin utilizarea formatelor variabile,
fiecare bit din formatul cuvântului având semnificaţii multiple în funcţie de tipul
formatului activ la un moment dat [92,77]. Precizarea formatului activ se obţine
printr-un câmp special INDICATOR DE FORMAT (IF) cu o lungime
corespunzătoare.
0 IZ Format 1
1 IT IYA Format 2
În formatul de mai sus, un bit poate defini fie codul IZ, fie codul intrării IT
sau al stării (IYA), identificarea fiind realizată printr-un singur bit în IF. Sunt
posibile, evident, şi alte structuri de cuvinte, pentru implementarea sistemelor de
conducere ale roboţilor utilizându-se frecvent formatele următoare:
Sistemul de conducere implementat în configuraţia FV este similar celui
utilizat la configuraţia DSCU conţinând în plus circuite de identificare ala
formatelor. În practică această operaţie se realizează uşor prin bituri de format BF
care, pentru valoarea 0 validează decodificatorul de ieşire DZ şi inhibă
multiplexorul MUX 1, iar pentru valoare 1 activează multiplexorul şi blochează
ieşirea.
0 IZ
1 IT IYF
IZ
IT
IF
IYF
IYA
PROM G
0001
0010
0011
Y1 0100
Y2 0101
Y3 D 0110
Y4 0111
1000
1001
1010
IT IYA IZ
Figura 8.18
Capitolul 8. Sisteme de conducere cu logică flexibilă 271
y
D PROM G
BF
VM
X1 DZ VD
RR
X2 MUX1 CS
Incr/load
Xn Z1 Z2 Zm
RR
Figura 8.19
1 IZ IZ
1*
0 1
X 1**
*
0 1
a b
Figura 8.20
PROM G : 2 s p
0001
1
0010
1 Start 0
0011
0100
1000
0 1
0101 0011
1
2k IG 000
a 3x X+
0110
0100
1
Lx2,Ly1
0
4x X-,Y+
11010
1
6 110 Lx1,Ly2
0
x
5 Y-
1
5k
x 1
Lx1,Ly2
Figura 8.21
0001
0010
0011
0100
y1 0101
y2 0110
0111
y3
1000
y4 1001
1010
1011
1100
1101
0 IZ Format 1 cuvânt
TACT incr./load Format 2 ieşire
RR 1 IT IYA
IF
+5V
Start
GI
MUX 1 w CS
a
+5V
DZ VD
01234567
IG X+ Y-
X ,Y+
-
Figura 8.22
aμP
Intrări Adresă Ieşiri
(senzori de poziţie) (cod stare) MEMORIE (comenzi robot)
CONTROLER MICROPRO- ROBOT
GRAMATĂ
Figura 8.23
k1 log 2 N
k 2 log 2 M
Variabile de intrare
N 2 1 0
MUX
Flag
CONTROLER
3 Adresa
OPCOD
MEMORIE
MICROPROGRAM
DZ
0 1 2
M
Variabile de iesire
Figura 8.24
Capitolul 8. Sisteme de conducere cu logică flexibilă 277
Nr OPCOD
. OC2 OC1 OC0 Flag C L
Mnemonic Comentariu
crt
.
0 0 0 0 0 AU AP
0
1 HIC 1 1 AU AP 1
0
0 0 1 0 0 0 AU AP
2 HBC 1 0 1 AU ADR.BRANCH
0 1 0 0 1 0
3 IUC
1 1 0 } AU AP 1
0 1 1 0 0 1
4 BUC
1 0 1 } AU ADR.BRANCH
1 0 0 0 1 0 AU AP 1
5 IBC 1 0 1 AU ADR.BRANCH
Tabelul 8.4
OC1 OC1
OC OC0
2
OC2 OC0
Flag 0 0 1 0 Flag 1 0
Flag - - - Flag - - -
C L
Figura 8.25
Cele două funcţii de bază COUNT (C) şi LOAD (L)din tabelul 8.4 pot fii
redate sintetic în tabelele de sinteza logică (fig. 8.25).
Implementarea controlerului este posibilă printr-una din procedurile curente
de proiectare logică. S-a preferat sinteza prin circuite multiplexoare, câte unul
pentru fiecare funcţie C respectiv L (fig. 8.26), ieşirile acestora controlând funcţiile
de numărare şi respectiv încărcare ale unui numărător NUM. Starea numărătorului
poate fi deci obţinută fie prin incrementarea (C) fie prin încărcarea paralel (L) a
adresei de salt (BRANCH).
Flag
+5V +5V
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
OPCOD 3
C NUM L
Adresa
Spre memoria
microprogramata
Capitolul 8. Sisteme de conducere cu logică flexibilă 279
Figura 8.26
0001
1
0 1
Start
0010
*
1
0 1
GI
0010 0011
+
2 IG 3 X
0
Lx2,Ly1
1
0100
4 X ,Y+
-
0110
6 0
Lx1,Ly2
1
0101
5 Y-
1
1 1 0
Lx1Ly2
a
START 0 0 1 0 IG 0 0 0 1
GI 0 0 1 1 X+ 0 0 1 0
2
Lx Ly
1
0 1 0 0 X ,Y 0 0 1 1
Lx L
1 2 Y
y
0 1 0 1 0 1 0 0
1 1
L x L y
0 1 1 0
c
Figura 8.27
S-a utilizat un format asociat unei arhitecturi pe 4 biţi (nu neapărat necesar)
din considerentele expuse mai sus.
Implementarea organigramei utilizează două tipuri de microinstrucţiunii:
IBC în stările 1, 1’, 3, 4, 5 şi BUC în stările 2 şi 6. Starea este introdusă
suplimentar pentru a permite aplicarea microinstrucţiunii IBC în starea 5 unde
funcţia de salt se realizează pe traseul 5 5 iar incrementarea pe traseul 5 6 .
Întregul sistem de conducere este prezentat în fig. 8.28. Se observă că
mărimile de intrare sunt introduse prin complementare întru-cât codificarea prin
IBC este realizată complementar definirii acestei microinstrucţiunii (tabelul 8.4). În
figură este prezentată detaliat şi informaţia conţinută în memorie. De exemplu,
adresa 0001 (starea 1) identifică un cuvânt în care primul câmp (3 biţi) determină
microinstrucţiunea IBC, următorul câmp (4 biţi) identifică codul mărimii de intrare
START, al treilea câmp determină adresa de salt 0001 (starea 1) iar ultimul câmp,
asociat variabilei de ieşire primeşte cod 0000 întru-cât stării 1 nu i se asociază nici
o ieşire. Toate celelalte cuvinte din memorie sunt construite după aceeaşi
procedură.
282 Roboţi industriali
START
L2XL1Y
L1XL2Y
L1XL1Y
+5V
GI
15 ……….6 5 4 3 2 1
MUX
0
CONTROLER
MEMORIE
0001 100 0010 0001 0000
0010 100 0011 0111 0000
0011 100 0100 0011 0010
0100 100 0101 0100 0011
0101 100 0110 0101 0100
0110 011 0001 0001 0000
0111 011 0001 0001 0001
DZ
0 1 2 3 4 5 …. 15
-
IG X+ Y+ Y
X-
Figura 8.28
s1
s2
s3
s6'
s4 s1"
'
s 2
' s2"
s5 s 3
s6 s4' s3"
Figura 8.29
Stiva (4x4)
B S0 A Functie
Stare
S0 0 0 neschimbata
CONTROL
S1 0 1 PUSH
C 1 0 POP
1 1 *
Figura 8.30
Intrari
+5V
N 2 1 0 Adrese de salt
Adrese de fortaj
MUX
Flag
OPCOD CONTROLER
MEMORIE
DZ
Iesiri
Figura 8.31
286 Roboţi industriali
ci
Flag S0
Adresa Adresa
OC2 S1 STIVA salt de fortaj
OC1 D
A
OC0
3 2 1 0
B
MUX
C
L NUM
Adresa
Figura 8.32
1 0101----
3 IUC 0 1 0 0 10--------
1 10-------
4 BUC 0 1 1 0 0101-----
1 0 1 0 1- - - - - -
5 IBC 1 0 1 0 10------
1 0101---
6 BSR 1 0 1 0 1 0 - - -- - -
1 0101011
7 RSR 1 0 1 0 10------
1 0111100
8 LJA 1 1 1 0 10-------
1 0100011
Tabelul 8.6
T1 T2 T3
J C1 C2 C3 C4 C5 C6 C7
Figura 8.33
0001 (subrutină)
1 D
a
0 1000
C1 R
1’
0010
2 Timp1 0
s
1 1001
FT b 2’ D
001 a
3 1 D 0
C*
0 1010
C3 3’ C
0100
4 Timp2 0
J
101
FT b 4’ 1 TIMP
0101 a
5 D 0
FT
0
C6
0110 b
6 Timp3
1
FT b
0111 a
7 D
Figura 8.34
Valoarea temporizării impuse din motive tehnologice diferă în fiecare ciclu, ceea
ce face necesara introducerea ei, în afara subrutinei, în starea ce precede subrutina.
Capitolul 8. Sisteme de conducere cu logică flexibilă 289
7
C *
Uc
i 1
i
ADR. SALT
OPCOD CONTROLER
MEMORIE
INF. TEMPORIZARE
L TIMP N
DZ GT
0 1 2 3 4 5 6 7 …. 15
FT
TIMP
Figura 8.35