Documente Academic
Documente Profesional
Documente Cultură
z1=g1(x1,x2,...,xn,y1,y2,...,yk)
z2=g2(x1,x2,...,xn,y1,y2,...,yk)
.........................
zm=gm(x1,x2,...,xn,y1,y2,...,yk)
Y1=f1(x1,x2,...,xn,y1,y2,...,yk)
Y2=f2(x1,x2,...,xn,y1,y2,...,yk)
.........................
Yk=fk(x1,x2,...,xn,y1,y2,...,yk)
pentru semnalele secundare care definesc starea următoare a circuitului, unde g1, g2,...,gm
şi f1, f2,...,fk sunt funcţii booleene cu argumentele x1,x2,...,xn,y1,y2,...,yk. Materializarea
funcţiilor fi si gi formează un circuit logic combinaţional reprezentat prin blocul CLC.
Blocul M conţine elementele de memorare care pot fi circuite basculante bistabile de tip
R-S, J-K, D sau T sau, simple elemente de întârziere.
x1 z1
: :
xn CLC zm
y1 Y1
: :
yk Yk
Fig. 1
1
Automate programabile Laborator 7
Exemplul 1.
Fig. 2.
2
Automate programabile Laborator 7
z=y1y2
Y1=y1y2+xy1+x’y2
Y2=xy1’+x’y2+y1’y2
Prin dezvoltare se obţin formele canonice ale funcţiilor:
z=xy1y2+x’y1y2
Y1=xy1y2+ x’y1y2+xy1y2’+x’y1’y2
Y2=xy1’y2+ xy1’y2’+x’y1y2+x’y1’y2
Y1-Y2 z
y1y2 y1 y1y2 y1
x 00 01 11 10 x 00 01 11 10
0 00 11 11 00 0 0 0 1 0
1 01 01 10 10 x 1 0 0 1 0 x
y2 y2
Fig. 3
3. Circuitul studiat are două variabile de stare. Ca urmare, cele 4 combinaţii
posibile ale valorilor acestora definesc stările circuitului. Putem scrie următoarea
codificare:
y1 y2 sk
0 0 -> s0
0 1 -> s1
1 0 -> s2
1 1 -> s3
x 0 1 z
sk
s0 s0 s1 0
s1 s3 s1 0
s2 s0 s2 0
s3 s3 s2 1
3
Automate programabile Laborator 7
Pe baza acestui tabel se poate stabili imediat graful de tranziţie al circuitului care
este dat în Fig. 4. Starea iniţială este reprezentată printr-un cerc cu linie dublă.
x’ x
x
s0/0 s1/0
x’
x’
x
s2/0 s3/1
x x’
Fig.4
4
Automate programabile Laborator 7
de starea curentă. În acest fel este posibil să se introducă stări suplimentare care însă pot
fi eliminate mai târziu în etapa de minimizare a stărilor.
Exemplul 2
Se cere să se realizeze circuitul secvenţial care primeşte semnale de intrare de la 2
senzori de proximitate, a şi b, şi controlează un braţ manipulator care iniţial este în
poziţia retras, prin intermediul ieşirii z. Senzorii detectează trecerea unor piese pe banda
transportoare. În cazul în care o piesă este mai mare decât trebuie, secvenţa semnalelor de
senzori va fi 10, 11, 01 ceea ce va face ca ieşirea z să devină 1, braţul manipulatorului să
fie acţionat şi piesa necorespunzătoare să fie scoasă din fluxul de producţie prin
schimbarea traiectoriei acesteia. Următoarea modificare a semnalelor de intrare duce la
trecerea ieşirii în 0 şi deci revenirea braţului în poziţia iniţială. Nici o altă secvenţă a
semnalelor de intrare nu mai produce 1 la ieşire.
0
a b
0
a 1 b 0
a) b)
0 0 0 1
a b a b
c) d)
z
a 0 b
0
e)
5
Automate programabile Laborator 7
0
a b
0
a 1 b
0
a) b)
1 1 0 1
a b a b
c) d)
0 1 z
a b
e)
Fig. Secvenţa semnalelor de la senzori pentru o piesă prea lungă care trebuie eliminată
din fluxul de prelucrare.
Etapa 1.
Se realizează tabelul de tranziţii primar. Acesta are următorul cap de tabel:
6
Automate programabile Laborator 7
stării 00 01 11 10
Starea iniţială SInit SInit SInit SInit Detect1 0
Noua stare Detect1 se adaugă tabelului primar prin adăugarea unei linii
suplimentare şi procesul prezentat mai sus se reia.
Următoarea combinaţie din secvenţa care duce la activarea ieşirii z este 11. Asta
înseamnă că dacă, aflându-ne în starea Detect1, la intrare se aplică combinaţiile 00 sau
01, secvenţa rezultată va fi una din (10, 00) sau (10, 01) care conform specificaţiilor nu
vor putea duce la validarea ieşirii z. Ca urmare, în aceste două cazuri circuitul va trebui să
se întoarcă în starea iniţială pentru a relua procesul de detecţie a secvenţei corecte. În
cazul în care combinaţia la intrare este 10, rezultă că aceasta a rămas neschimbată aşa
încât circuitul va rămâne în continuare în starea Detect1 aşteptând modificarea secvenţei
de intrare. Circuitul va trece într-o stare nouă doar dacă la intrare se aplică combinaţia 11.
Această nouă stare corespunde detecţiei celei de a doua combinaţie din secvenţa care
activează ieşirea z aşa încât o vom numi Detect2. Ieşirea circuitului rămâne în continuare
0. Tabelul primar va arăta astfel:
7
Automate programabile Laborator 7
Etapa 2.
În această etapă se urmăreşte eliminarea stărilor suplimentare introduse în procesul
de determinare a tabelului de tranziţie a circuitului. Diverse metode de reducere a stărilor
suplimentare pot fi găsite în manulalele de specialitate.
Etapa 3.
Stările automatului sunt realizate prin itermediul variabilelor de stare. Cum aceste
variabile pot lua doar două valori rezultă că pentru n stări vom avea nevoie de cel puţin m
variabile binare, unde 2mn. În cazul nostru n=4 aşa încât vom utiliza 2 variabile de stare
pe care le vom nota cu y1 şi y2. Vom alege următoarea codificare a stărilor:
SInit -> y1=0 y2=0
Detect1 -> y1=0 y2=1
Detect2 -> y1=1 y2=1
Detect3 -> y1=1 y2=0
Etapa 4.
Înlocuind codurile de mai sus în tabelul de tranziţie obţinem:
ab 00 01 11 10 z
y1y2
00 00 00 00 01 0
01 00 00 11 01 0
11 00 10 11 00 0
10 00 10 00 00 1
8
Automate programabile Laborator 7
Y1=a’by1+aby2
Y2=ab’y1’+aby2
z=y1y2’
Etapa 5.
În această etapă se alege tipul de celule de memorie folosite (tip R-S, J-K, D, T).
Etapa 6.
Pentru tipul de memorie aleasă se construieşte tabelul de excitaţie care indică
valorile excitaţiilor ce trebuiesc aplicate intrărilor memoriilor pentru a obţine starea
următoare dorită pentru fiecare combinaţie stare actuală-intrare. Aplicând regulile din
Anexa 1 se obţin următoarele tabele de excitaţii:
9
Automate programabile Laborator 7
10
Automate programabile Laborator 7
Etapa 7.
Pe baza diagramei V-K şi a tabelelor de excitaţie celulelor de memorie folosite se
obţin expresiile funcţiilor de excitaţie.
D1=a’.b.Q1+a.b.Q2
D2=a.b’.Q1’+a.b.Q2
R1=b’+a.Q2’
S1=a.b.Q2
R2=a’+b’.Q1
S2=a.b’.Q1’
J1=a.b.Q2
K1=b’.Q1+a.Q2’
J2=a.b’.Q1’
K2=a’.b’+b’.Q1
T1=b’.Q1+a.Q1.Q2’+a.b.Q1’.Q2
T2=a’.Q2+b’.Q1.Q2+a.b’.Q1’.Q2’
Etapa 8.
Pe baza tabelului de tranziţie se obţine expresia funcţiei de ieşire. Pentru toate
cazurile, funcţia de ieşire depinde numai de starea circuitului şi conform diagramei V-K
de mai jos va avea expresia:
11
Automate programabile Laborator 7
z= Q1.Q2’
Etapa 9.
Pe baza ecuaţiilor determinate în etapele 8 şi 9 se trasează schema logică a
circuitului care materializează funcţiile de excitaţie şi cele de ieşire la care se adaugă şi
celulele de memorie corespunzătoare. Schemele logice sunt date mai jos pentru fiecare
tip de celulă de memorie.
Celule tip D
a b
z
D1 Q 1
Q1
D2 Q 2
Q2
Celule tip RS
a b
R1 Q1
z
S1 Q1
R2 Q2
S2 Q 2
Celule tip JK
12
Automate programabile Laborator 7
a b
J 1 Q1
z
K 1 Q1
J2 Q2
K2 Q2
Celule tip T
a b
T1 Q1
z
Q1
T2 Q2
Q2
Procedeu experimental
13
Automate programabile Laborator 7
Anexa 1
Observaţii
1. * semnifică valori indiferente
2. Întotdeauna se copie mai întâi valorile indiferente din diagrama stărilor
următoare în diagrama intrărilor
3. Pentru diagrama lui S, rândul de căsuţe pentru care Qn=1 şi pentru diagrama R,
rândul de căsuţe pentru care Qn=0 se completează căsuţele rămase libere cu valori de 0.
Qn*1
14
Automate programabile Laborator 7
xy x
Qn 00 01 11 10
0 0 1 0 1
1 1 0 0 * Qn
D T
xy x xy x
Qn 00 01 11 10 Qn 00 01 11 10
0 0 1 0 1 0 0 1 0 1
1 1 0 0 * Qn 1 0 1 1 * Qn
y y
R S
xy x xy x
Qn 00 01 11 10 Qn 00 01 11 10
0 * 0 * 0 0 0 1 0 1
1 0 1 1 * Qn 1 * 0 0 * Qn
y y
J K
xy x xy x
Qn 00 01 11 10 Qn 00 01 11 10
0 0 1 0 1 0 * * * *
1 * * * * Qn 1 0 1 1 * Qn
y y
15