Professional Documents
Culture Documents
cc
c
Unitate de
comandă
Memorie
interfaţă intrare
Variabile
circuite de
interfaţă ieşire
circuite de
Bloc de Variabile
de intrare control
de ieşire
Bloc de
oper logic
Unitate
centrală
Unitate de
programare
Figura 9.1
Magistrală de date
Magistrală de adrese
Magistrală de control
INTERFAŢĂ INTERFAŢĂ
INTRARE IEŞIRE
1
2
unde
1 şi
2 realizează adresarea pe cele două nivele de adresa, respectiv.
Activarea celor două linii de multiplexoare este controlataă prin semnalele de
validare 1 şi 2 .
Magistrală de date
Magistrală de adrese
Magistrală de control
1
21
2
1
2
cI cI cI cI cI cI
11
1 12
2 1
Figura 9.3
+
D DZ R1 R2 TS
uo
ui c1 Oc
Figura 9.4
!"# $%(
relee intermediare, contractoare, etc., fie de tip numeric pentru controlul unor bucle
de reglare din sistemul de conducere al robotului.
În fig. 9.5 este prezentat un sistem de interfaţă cu decodificarea paralel a
vectorului de adresă. cei
biţi de adresă fiind segmentati în două grupe cu
1 şi
respectiv
2 biţi. Fiecare segment serveşte pentru adresarea demultiplexoarelor
DMUX1, DMUX2, funcţionarea în paralel a acestora permiţând selecţia simultană
a căilor de activare pentru circuitele ieşirilor secvenţiale şi numerice. Propriu-zis,
informaţia de ieşire veehiculată pe magistrala de date este înscrisă în circuite de
memorie de tipul bistabilelor D (componentele secvenţiale cuplate la linia 0 ) şi
în registre de ieşire (commponentele numerice). Activarea funcţiei de scriere în
aceste componente se obţine prin controlul semnalului de tact cu circuitele
demultiplexoare menţionate şi prin semnalele de validare VM emise de magistrala
de control.
Magistrală de control
Magistrală de adrese
Magistrală de date
D0 kA
DMUX1 DMUX2
VM k2 VM
k1
D D D D D D D
Q Q Q Q Q Q Q
McE McE McE
1 1
E0 E1 Ep-1 à 0
à 7 à 0 à 7
Oc Rsarcină
ui
Figura 9.6
NA
PROGRAM
GT cc DI RI MP cONSOLĂ
GS
MI
UL
Magistrală de adrese
Magistrală control
I1 Ik E1 Ek
Figura 9.7
Primii patru biţi 15
12 desemnează codul operaţiei ce urmează a fi
efectuată, urmatorii biţi 11
10 identifică câmpul operandului, variabila
respectivă putând fi o variabilă de intrare I, o variabilă de ieşire E, o variabilă
internă, din memorie, M, sau o variabilă obţinută prin operaţii de numărare ±
temporizare T. (tabelul 9.1). Ultimii 10 biţi definesc adresa efectivă a operanzilor,
deci aceste sisteme pot opera cu cel mult 1024 mărimi de intrare, ieşire şi interne.
cei patru biţi de cod permit selectarea a 16 operaţii logice, interpretarea
acestora şi execuţia lor fiind realizate în blocuri RI, DI şi unitatea logică UL.
Unitatea logică este realizată în sistemul cu acumulator astfel incât rezultatul
fiecărei prelucrări logice este memorat într-un registru specializat, un acumulator.
Ţinând cont de variabilele de tip scalar implicate în aceste operaţii, rolul de
303 u ?
?
var
V
11 10 V
0 0 V
V
0 1 V
1 0 V
V
1 1 V
V ? ?
?
semnale de intrare sau ieşire (memorate temporar) sau din memorie iar, pe de altă
parte, acestea permit salvarea unui rezultat al unei operaţii logice anterioare.
Aceste modalităţi de transfer sunt realizate prin instrucţiunile:
1) LD Adr X
LDc Adr X
2) STO Adr X
STOc Adr X
§
X O
§
X O
Instrucţiunile logice ale automatului permit executarea unui număr minim de
operaţii logice ce asigură acoperirea complectă a oricărei funcţii booleene. Aceste
instrucţiuni definesc o operaţie logică în care un operand este intotdeauna bistabilul
A, al doilea operand X este o variabilă de intrare, memorie, numărare-temporizare
sau imaginea în memorie a canalelor de ieşire , iar rezultatul final este memorat în
A.
3) AND adr X
ANDc adr X
Instrucţiunea realizează funcţia ŞI între conţinutul bistabilului A şi operandul
X (sau complementul acestuia).
305 u ?
?
O O. §adr X
O O. §adr X
4)? OR adr X
ORc adr X
unde se realizează funcţiile
O O §
X
O O
§ X
5) XOR adr X
Ú § X
6) cMA
ZA
sau aducerea sa la valoarea logică 0.
O0
Implementarea printr-un automat a unor funcţii de tip secvenţial impune
condiţionarea explorării instrucţiunilor din program de anumite rezultate ale unor
operaţii anterioare. Acestea implică introducerea unor instrucţiuni speciale de salt.
7)? Adr
c Adr
capitolul 9. Sisteme de conducere cu automate rogramabile? 306
8) S Adr X
R Adr X
§O 1
O 1
§O 0
O 1
Dacă conţinutul bistabilului este 0 funcţiile respective devin inoperante.
))
!! !""
Stări Variabile M
1 M 001
2 M 002
3 M 003
3 Z1 4 M 004
0 1 Intrări Variabile I
X1 x1 I 001
x2 I 002
x3 I 003
1 Z2 3 Z3 x4 I 004
0 1 1 0 Ieşiri Variabile E
X2 X3
Z1 E 001
Z2 E 002
4 Z4 Z3 E 003
Z4 E 004
a b
Figura 9.8
1 S M002
2 LD M001
3 AND I001 Traseul logic 1 3
4 S M003
5 LD M002
6 R M001 Starea 2
7 R E001
8 S E002 Traseu logic 2 1
9 ANDc I002
0020 S M001
1 LD M002
2 AND I002
3 S M001
4 LD M003
5 R M001 Starea 3
6 R E001
7 S E003
8 AND I003 Traseul logic 3 2
9 S M002
0030 LD M004
1 R M002 Starea 4
2 R E002
3 S E004
4 S M003 Traseul logic 4 3
0025 0006
RÂND 1
RÂND 3
RÂND 2
Rc
EVAcUARE
Încărcare BT
Oc
cLI
cLD
L1 M
L2
L3 AM
L4
L5
RM
Figura 9.9
piesa
L1 I 003 AM E003 Avans
Limitatoare manipulator
L2 I 004 de pozitie RM E004 Retragere
brat manipulator
L3 05 manipulator IGR E005 Închidere griper
L4 I 006 DGR E006 Deschidere
griper
I 009 Griper Validare
deschi numarator
s
GRI I 008 Griper inchis IN E008 Incrementare
numarator
GRD
1 AB
PP 0
1
2 AM
0
L4
1
3 IGR
0
GRI
1
4 VN
1 0
NUM1
1 0
NUM2
5 AM 7 AM 6 AM
0 0
L1 L3 0
L2
1 1 1
8 DGR
0
GRD
1
9 RM
L5 0
1
10
0 1
NUM3
11 Rc,VN
1 Oc 0
315 u ?
?
Figura 9.10
0001 ZA
2 STOc M001
2 STOc M002 Initializare
0012 STO M011
3 LD M001
4 R M011
5 R M010 Starea 1
6 R E001
7 S E002
8 AND I002 Transfer în starea 2
9 S M002
0020 LD M002
1 R M001
2 R E002 Starea 2
3 S E003
4 AND I006 Transfer în starea 3
5 S M003
6 LD M003
7 R M002 Starea 3
8 R E003
9 S E005
0030 AND I008 Transfer în starea 4
1 S M004
2 LD M004
3 R M003 Starea 3
4 R E005
5 S E007
6 ANDc T001 Transfer în starea 5
7 S M005
8 LD M004
9 AND T001 Transfer în starea 6
capitolul 9. Sisteme de conducere cu automate rogramabile? 316
8 LD M010
9 R M009 Starea 10
0080 R E004
1 ANDGc T003 Transfer 10 1
2 S M001
3 LD M010
4 AND T003 Transfer 10 11
5 S M011
6 LD M011
7 R M010 Starea 11
8 R E007
9 S E001
0090 AND I001 Transfer în starea 1
1 S M001
2 0013
Uc NA consolă
MP
program
16
instrucţiune
12 4
controler UL
RAM ROM
Magistrală
Linie date de date
§0 (D0 ± D7)
IM Magistrală
de contrtol
Magistrală
de adrese
MI MIS MES MEN MIN
1 1 1 1
Figura 9.11a
Adresă operand p
319 u ?
?
Figura 9.11b
O 1
§O 3 §O 2 §O 1
O 0
3
4 6
5 Linie sudură
1 2
Figura 9.12
O 3 §
1
!
2
§
2
Linie de
1 §
8
§
5 , §
4
sudură
2 1
5 §
3 5
§
3
1
§
3
5
§
3 1
5
z 3
§
7 2
1 Puncte de
sudură
0 y 5 §
3 5
§
3
x
Figura 9.13
capitolul 9. Sisteme de conducere cu automate rogramabile? 322
7 1
1 Ac
Ac
0 k4 0
Pc
Pc
1 1
2 3 8 3
0 k5 0
k1
1
9 INc
3
2
R
10
k2 0
1 0 m
4 1
5
11 2
k3 0
k6 0
1
5 SUDURA 1
12 3
0
T1
0
1 k7
6
5
1
13 1
k3 0
0
1 k8
a
1
b
capitolul 9. Sisteme de conducere cu automate rogramabile? 324
Figura 9.14
Stări Variabile în AP
1 M001
2 M002
3 M0003 Intrări Variabile
. . Scalare În AP
325 u ?
?
. . įq2 I 001
. . įq3 I 002
Pc I 003
E 011 I 004
13 M013
Intrări Variabile
numerice În AP
įq1 ÎN 0001
įq5 ÎN 0002
conectate la intrările scalare I001 şi I002. Traductoarele de tip absolut 1 , 5
sunt cuplate pe doua intrări numerice IN0001 şi IN0002.
Iesirile automatului sunt numai de tip scalar (E001-E011), miscările pe
traiectorie neimplicând un algoritm de reglare numeric. Pentru atingerea
parametrilor traiectoriei, în memoria numerică a automatului sunt introduse date ce
definesc cotele miscărilor MN001-MN0008.
În cotinuare, se va expune detaliat structura programului utilizator şi a celui
de iniţializare(notaţiile şi simbolurile sunt prezentate în Anexa 1).
0000 ! M001
1 R M013
2 R E001
3 S E009
Aceste instrucţiuni realizează apelul variabilei din memorie asociat stării 1,
stergerea stării precedente M013 şi iesirea corespunzătoare E001 precum şi
generarea iesiri de comandă, avansul caroseriei E009.
4 . I003
5 S M002
6 ! M002
7 R M001
8 R E009
9 S E005
0010 cSc M002, I002, MN 0001, MN 0101, M003
0011 ! M003
2 R M002
3 R E005
327 u ?
?
4 S E004
5 cSc M003, I001, MN0002, MN0102, M004
6 ! M004
7 R M003
8 R E004
9 cID M004, MN0003, IN0002, E008, M005
0020 ! M005
1 R M004
2 S E010
3 TMP2 M005, MN0009, MN0103, M006
0024 ! M006
5 R M005
6 R E010
7 cID M006, MN0003, IN0002, E007, M007
8 ! M007
9 R M006
30 cID M007, MN0004, IN0001, E002, M008
1 ! M008
2 R M007
3 S E005
4 cSc M008, I002, MN0005,MN0103, M009
capitolul 9. Sisteme de conducere cu automate rogramabile? 328
0035 ! M009
6 R M008
7 R E005
8 S E011
9 S M010
40 R M009
1 R E011
2 cSc M010, I004, MN0010, MN0104, M101
3 ! M010
4 ./ M101
5 S M004
6 ! M010
7 . M101
8 S M011
9 TRAD M010, MN0011, MN0101
50 TRAD M010, MN0011, MN0102
1 TRAD M010, MN0011, MN0103
2 TRAD M010, MN011, MN0104
0053 ! M011
4 R M 010
329 u ?
?
5 R M101
6 S E003
7 cSc M011, I001, MN0006, MN0105, M012,
8 ! M012
9 R M011
60 R E003
1 S E006
2 cSc M012, I002, MN0007, MN0106, M013
3 ! M013
4 R M012
5 R E006
6 cID M013, MN0008, IN0001, E001
7 TRAD M013, MN0011, MN0105
8 TRAD M013, MN0011, MN0106
9 END
0100 Z
1 /
2 = M001
3 ATV MN0001,0011,´K1´,«´Kg´,´T1´,´m´,´0´
4 END
Ultima instrucţiune, în ambele părti ale programului,este END ceea ce
determină revenirea automată la adresa 0000.
§
O 1 , " 4 ,
z
y
x y
§
O 1 , " 4 1 , 4
zonă de stocare
x
Figura 9.16
1 cTD
0
TD
2 AD
3 DSD
Final 0
cotă
1
6 â
0
â4
Stări Variabile în AP
1 M 001
2 M 002
capitolul 9. Sisteme de conducere cu automate rogramabile? 332
. .
. .
. .
6 M 006
Intrări Variabile în AP
scalare
I 001
I 002
â I 003
â4 I 004
I 005
Intrări Variabile în AP
numerice
cota 1 IN 0001
cota " 4 1 IN 0002
Intrări Variabile în AP
scalare
cTD E 001
Avans ù E 002
Avans ù
E 003
Avans
E 004
Avans
E 005
Avans â E 006
Avans â
E 007
Adrese Variabile în AP
numerice
cTD MN 0001
MN 0002
333 u ?
?
"4 MN 0003
1 MN 0004
" 4 1 E 005
b
Figura 9.17
0000 ! M001
1 R M005
2 R E007
3 S E001
4 . I005
5 S M002
6 ! M002
7 R M001
8 R E001
9 TRAD M002, IN0001, MN0003
10 TRAD M002, IN0002, MN0004
capitolul 9. Sisteme de conducere cu automate rogramabile? 334
0011 S M003
2 ! M003
3 R M002
4 cOM M003, MN0001, MN0003, M101, M102
5 cOM M003, MN0002, MN0004, M103, M104
§ 0001 § 0003
101 1, 102 1, 1
0017 ! M101
8 S E003
9 cSc M101, I001, MN0005, MN0101, M004
20 ! M102
1 S E002
2 cSc M102, I001, MN0005, MN0102, M004
3 ! M103
4 S E005
335 u ?
?
0039 ! M006
40 R M004
1 R M005
2 S E007
3 . I004
4 S M001
5 TRAD M006, MN0003, MN0001
6 TRAD M006, MN0002, MN0004
7 END
1
" 4 " 4 1
ceea ce permite trecerea la o nouă stare.
capitolul 9. Sisteme de conducere cu automate rogramabile? 336
0100 Z
1 /
2 = M001
3 ATV MN0001, 0002, ³0´, ³0´
4 END
1 !
1?
În capitolul 2 al lucrării s-a specificat că una din cele mai eficiente metode
de determinare a legii de control cinematice a unui robot este programarea prin
instruire. Această metodă repezintă o procedură realistă de tratare a problemelor de
conducere în condiţiile existenţei, fie a unei informaţii incomplete asupra spaţiului
de operare, fie a unei structuri funcţionare cu un grad de complexitate deosebit. În
astfel de cazuri, determinarea legii de conducere prin procedurile curente este, dacă
nu imposibilă, în orice caz extrem de dificilă.
I
PROGRAM
a R
a R
Figura 9.18
1 %!,"
à §à1 , à 2 ,...à
În cele mai dese cazuri, dimensiunile vectorului de instruire I şi de ieşire E
coincid ( ). De asemenea, există o corespondenţă strânsă între componentele
celor doi vectori, fiecărei variabile de instruire 4 asociidu-se o variabilă de ieşire
à4.
Secvenţa de instruire reprezintă o fază de miscare în intervalul căreia
vectorul variabilelor de instruire este constant. Acest lucru impune păstrarea
constantă a parametrilor ce definesc segmentul de traiectorie corespunzător, ceea
ce în cele mai dese cazuri, revine la menţinerea nemodificată a vectorului
variabilelor de ieşire E.
Secvenţele de instruire sunt identificate de automat în faza de instruire şi
servesc pentru regenerarea traiectoriei în faza de execuţie. Deci, secvenţele de
instruire realizează legatura între cele doua faze ale instruirii.
O secvenţa de instruire este identificată prin două mărimi: vectorul de
instruire şi parametrii ce definesc segmentul de traiectorie.
§ § 4 , § 4
unde § 4 reprezintă vectorul de instruire al secvenţei j, iar § 4 desemnează
vectorul parametrilor segmentului de traiectorie asociat. Aceştia din urma pot fi
parametri de pozitie (distanţă, mărime unghiulară) sau viteză şi chiar acceleraţie.
O traiectorie ³instruită´ nu va putea fi reprezentată ca o mulţime ordonată
de secvenţe,
1 , 2 ,.......11 , 12 ,....
unde 2 1 1 desemnează relaţia strictă de ordine a mulţimii.
Regenerarea traiectoriei în faza de execuţie presupune utilizarea unei proceduri
care, pe de o parte să reconstituie secvenţa şi, pe de alta parte, să păstreze relaţia de
ordine stabilită. Pentru facilitarea acestor operaţii se introduc două mărimi:
matricea de instruire şi matricea de date.
?? este un tablou de dimensiune (m x p) ce redă sintetic
variabilele de instruire asociate fiecărei secvenţe. Numarul de linii m corespunde
numerului de secvenţe al procesului iar numărul de coloane p este egal cu
dimensiunea vectorului de instruire.
339 u ?
?
4 4 §
Figura 9.19
11 12 ...... 1
...... ........ ........ ........ V
V
....... ......... 4 ........ V
V
....... ........ ........ .........V
1 2 ........ V
0000: EXEcUŢIA
INSTRUIRII
END
END
END
Figura 9.20
START
INSTRUIRE
p, m
i = 1, j = 1
Secvenţa Si
citeşte Ij(i)
Se calculează
uij, dij j=j+1 i=i+1
4
STOP
INSTRUIRE
343 u ?
?
START
EXEcUŢIE INSTRUIRE
i = 1, j = 1
Secvenţa Si
citeşte uij
citeşte dij
i=i+1
NU
Final Ej(i)
DA
4
DA
DA
STOP
Figura 9.21
3 G
F
T H
A B
1 2 c E
z
D
x 0 y
Figura 9.22
l 1 , 2 .... 6
l1 , 2 ... 6
>1 , 2 .... 6
0 101
0 102VV
?
... ... ... V
V
0 108
?
?
Variabile de Variabile Variabile de Variabile
intrare calare în AP Iseire scalare în AP
I1 I 101 E1 E 101
I2 I 201 E2 E 201
. . . .
. . . .
. . . .
I6 I 601 E6 E 601
įq1 I 001
įq2 I 002
įq3 I 003
STEP I 020
! I001
+ I002
+ I003
= M011
cSc M011, M301,FFFF, MN0001, M012
TRAD I020, MN0001, MN0101
0000: !S M101
! E101
S M201
. E201
.
.
! M601
S E601
! I001
+ I002
+ I003
= M013
cSc M001, M013, MN0101, MN010, M014
! M014
R E101
R E201
capitolul 9. Sisteme de conducere cu automate rogramabile? 348
.
.
.
R E601
SNS M014, M002
RPT M014, 0000, 0001, 0008
END