automatyzacja i robotyzacja procesów...
TRANSCRIPT
Układy cyfrowe f.1/1
Automatyzacja i robotyzacja procesów produkcyjnych
materiały: www.uz.zgora.pl/~ipajak
Układy cyfrowe f.1/2
Plan wykładu
Układy logiczne: kombinacyjne i sekwencyjne
modele: algebra Boole’a, automaty skończone,
realizacja funkcji logicznych,
wybrane sposoby realizacji elementów logicznych.
Programowalne sterowniki logiczne PLC
architektura sterownika,
programowanie sterowników (norma IEC 61131-3): typy danych, zmiennych,
języki programowania: LD, IL, ST, FBD, metoda SFC.
Układy cyfrowe f.1/3
Literatura
Układy logiczne
J. Siwiński – Układy przełączające w automatyce, WNT, Warszawa 1980
W. Szejach – Automatyka, elementy i układy przełączające, Wydawnictwa Politechniki
Warszawskiej, Warszawa 1981
Sterowniki PLC
B. Broel – Plater – Układy wykorzystujące sterowniki PLC, PWN, Warszawa 2008
J. Kasprzyk – Programowanie sterowników przemysłowych, WNT, Warszawa 2006
T. Mikulczyński – Automatyzacja procesów produkcyjnych, WNT, Warszawa 2006
M. Szafarczyk, D. Śniegulska-Grądzka, R. Wypisiński – Podstawy układów sterowań
cyfrowych i komputerowych, PWN, Warszawa 2007.
Układy cyfrowe f.1/4
Układy cyfrowe
Układy cyfrowe to układy których sygnały są sygnałami cyfrowymi (tzn. są dyskretne w czasie i
mają dyskretne wartości). Układy te są podstawowymi układami sterowania stosowanymi do
automatyzacji procesów produkcyjnych. Wykorzystanie cyfrowych urządzeń sterujących w
przypadku występowania sygnałów analogowych wymaga stosowania przetworników A/C i C/A.
Zalety układów cyfrowych
duża odporność na zakłócenia,
większa niezawodność układów,
łatwość zapamiętywania i przechowywania informacji cyfrowych,
duża dokładność przetwarzania (zależy od dokładności informacji wejściowych),
możliwość realizacji złożonych algorytmów przetwarzania sygnałów,
niski koszt w stosunku do realizowanych funkcji.
Przetwornik A/C – zamienia sygnał analogowy na sygnał cyfrowy, zamiana przebiega w trzech etapach:
próbkowanie, kwantowanie i kodowanie (kodowanie to proces polegający na przyporządkowaniu określonej
informacji ustalonego zestawu symboli, w tym przypadku wartości liczbowej odpowiadającej otrzymanemu
poziomowi kwantowania przypisywany jest jej kod – zwykle naturalny kod dwójkowy czy kod BCD).
Przetwornik C/A – zamienia sygnał cyfrowy na analogowy.
Układy cyfrowe f.1/5
Kody liczbowe
Kod to dowolnie uporządkowany układ symboli przedstawiających słowa, liczby, informacje.
Symbolami wykorzystywanymi przez kody liczbowy są cyfry.
Naturalny kod dwójkowy (binarny) – jest kodem wagowym (pozycyjnym) wykorzystującym do
kodowania cyfry 0 i 1, każda pozycja (bit) kodu ma określoną wagę: waga i-tej pozycji w n
pozycyjnym kodzie wynosi 2i gdzie i = 0, 1, 2, …, n–1.
4610 = 1·25 + 0·24 + 1·23 + 1·22 + 1·21 + 0·20 = 1011102
cyfra
dziesiętna
wagi kodów
8421 7421 2421 5211
0 0000 0000 0000 0000
1 0001 0001 0001 0001
2 0010 0010 0010 0011
3 0011 0011 0011 0101
4 0100 0100 0100 0111
5 0101 0101 1011 1000
6 0110 0110 1100 1001
7 0111 1000 1101 1011
8 1000 1001 1110 1101
9 1001 1010 1111 1111
Kody dwójkowo dziesiętne (BCD, ang. Binary Coded
Decimal) – to kody służące do dwójkowego
zakodowania cyfr dziesiętnych (0, 1, .., 9).
Do kodowania dziesięciu cyfr potrzebny jest co
najmniej 4 bitowy kod dwójkowy. W najprostszych
kodach BCD każda cyfra jest kodowana przy pomocy
dwójkowego kodu wagowego – stosowane są różne
kombinacje wag dla poszczególnych pozycji np. 8421,
7421, 2421, 5211.
Kod BCD 8421 jest nazywany naturalnym kodem
BCD lub po prostu BCD.
4610 = 0100 0110BCD
Układy cyfrowe f.1/6
Kody liczbowe – kod Graya
Kod Graya należy do grupy kodów refleksyjnych (dwie kolejne liczby kodu refleksyjnego różnią
się tylko jedną pozycją).
N–pozycyjny kod Graya można utworzyć z kodu n–1 pozycyjnego zgodnie z następującym
algorytmem:
do układu symboli kodu n–1 pozycyjnego należy dopisać jeszcze raz te same symbole ale w
odwrotnej kolejności,
do pierwotnych symboli z przodu dopisać cyfrę „0” a do symboli dopisanych „1”.
Konstrukcja 3-pozycyjnego kodu Graya
kod
1-poz.
po
odbiciu
kod
2-poz
0 0 00
1 1 01
1 11
0 10
kod
2-poz.
po
odbiciu
kod
3-poz
00 00 000
01 01 001
11 11 011
10 10 010
10 110
11 111
01 101
00 100
Układy cyfrowe f.1/7
Układy cyfrowe – pojęcia pokrewne
Układ przełączający – układ cyfrowy.
Układ zbudowany z tzw. elementów przełączających, elementy te mogą być w stanie włączenia
(przewodzenia) i wyłączenia (blokowania).
Układ logiczny – model matematyczny układu cyfrowego oparty na algebrze Boole’a; często
określenie „układ logiczny” jest stosowane zamiennie z określeniem „układ cyfrowy”.
Teoria układów cyfrowych oparta jest na logice matematycznej, głównie na rachunku zdań.
Podstawowe znaczenie ma dwuelementowa algebra Boole’a, która jest sformalizowanym
uogólnieniem rachunku zdań.
Automat skończony – model matematyczny układu cyfrowego zdefiniowany w teorii
automatów; automat skończony jest układem który może znajdować się w jednym ze
skończonej liczby stanów, każda zmiana wejść automatu powoduje zmianę jego stanu,
działanie automatu można przedstawić np. przy pomocy grafu którego wierzchołki
odpowiadają stanom automatu a gałęzie oznaczają przejście pomiędzy stanami wymuszane
określonymi sygnałami wejściowymi.
Rys. 1. Model automatu realizującego sterowanie drzwiami
czujnik „nie można zamknąć”drzwi
zamkniętedrzwi
otwarte
otwórz
drzwi otwierają się
drzwi zamykają się
czujnik „otwarte”
czujnik „zamknięte” zamknij
Układy cyfrowe f.1/8
Układy cyfrowe – klasyfikacja
Klasyfikacja ze względy na sposób przetwarzania sygnałów
układy kombinacyjne – każda kombinacja wartości sygnałów wejściowych (tzw. stan wejść)
określa jednoznacznie kombinację wartości sygnałów wyjściowych (tzw. stan wyjść), układy te
nazywane są również układami bez pamięci,
układy sekwencyjne – istnieje przynajmniej jeden stan wejść któremu odpowiada kilka stanów
wyjść, układy nazywane są również układami z pamięcią.
Klasyfikacja ze względu na rodzaj elementów konstrukcyjnych użytych do opisu układów
układy konstruowane z bramek i przerzutników,
układy konstruowane z tzw. bloków funkcjonalnych (typowe bloki funkcjonalne to
multipleksery, demultipleksery, dekodery, sumatory, komparatory, rejestry, liczniki i pamięci).
Klasyfikacja ze względu na metodę realizacji
układy stykowe (przekaźnikowe) – elementy przełączające: przyciski, przekaźniki, itp.
układy złożone z półprzewodnikowych elementów elektronicznych – elementy przełączające
budowane z pojedynczych tranzystorów, diod, rezystorów; realizowane jako układy scalone
zawierające od kilku do setek tysięcy bramek: skala integracji SSI, MSI, LSI, VLSI, w różnych
technologiach: TTL, CMOS, ..., produkowane jako układy uniwersalne lub wg projektu
użytkownika (ASIC, PLD), układy procesorowe,
układy złożone z elementów pneumatycznych, układy złożone z elementów hydraulicznych.
Układy cyfrowe f.1/9
Wybrane elementy przełączające
Elementy stykowe – elementy posiadające zestyki lub ich zespoły. Wyróżnia się:
zestyki zwierne (zestyki normalnie otwarte, NO, , ),
zestyki rozwierne (zestyki normalnie zamknięte, NZ, , ).
Zestyki mogą być uruchamiane ręcznie (np. przyciski), mechanicznie (np. łączniki krańcowe) czy
zdalnie (np. przekaźniki – przełączanie odbywa się z wykorzystaniem siły elektromagnetycznej).
a) b)
symbol symbol
Rys. 2. Elementy przełączające stykowe a) przycisk, b) przekaźnik.
a) b) c)
Rys. 3. Stykowa realizacja a) negacji, b) koniunkcji, c) alternatywy
(wej. – stan zestyków NO, wyj. – stan zestyku przekaźnika)
zestyk zwiernyzestyk rozwierny
kotwica
rdzeń
styki obwodu cewki
uzwojeniezestyk zwiernyzestyk rozwierny
Układy cyfrowe f.1/10
Wybrane elementy przełączające
Elementy półprzewodnikowe – budowane z diod, tranzystorów, rezystorów i
kondensatorów mogą realizować w zależności od wzajemnego połączenia różne
funkcje przełączające.
a) b) c)
Rys. 4. Układy przełączające półprzewodnikowe realizujące funkcje logiczne
a) negację, b) koniunkcję i c) alternatywę dla dodatniej konwencji sygnałów logicznych
tzn. napięcie o wartości +U oznacza sygnał 1, napięcie bliskie 0 oznacza sygnał o wartości 0.
R
+U
x1
x2
y= x1 x2R
–U
x1
x2
y= x1+ x2
y= x
R
+
x
–
Układy cyfrowe f.1/11
Wybrane elementy przełączające
Pneumatyczne elementy przełączające – budowane są jako suwakowe czy gniazdowe zawory
rozdzielające. Zawory te określają drogę (tzn. początek, koniec i kierunek) przepływu czynnika
roboczego, którym jest najczęściej powietrze. Sygnałami wejściowymi elementów są sygnały 0 –
najczęściej ciśnienie atmosferyczne i 1 – ciśnienie zasilania. Zależnie od konstrukcji mogą
realizować różne funkcje przełączające.
a) b) symbol zaworu
Rys. 5. Zawór rozdzielający 3/2 (o trzech przyłączach i dwóch położeniach) realizujący funkcję powtórzenia
a) zawór w położeniu początkowym (wej. = 0, wyj. = 0), b) zawór po przełączeniu (wej. = 1, wyj. = 1).
a) b) c)
Rys. 6. Zawór rozdzielający 3/2 realizujący a) negację b) koniunkcję c) alternatywę
(wej. – położenie suwaka, wyj. – ciśnienie przyłącza roboczego)
1 – przyłącze zasilania
2 – przyłącze robocze
3 – odpowietrzenie
1
2
3 1
2
31 3
2
1 3
2
2
1 3
2
1 3
Układy cyfrowe f.1/12
Układy kombinacyjne
Przykład 1. Urządzenie sortujące powinno umieścić badane detale w jednym z dwóch pojemników. Przed
przesunięciem detalu do odpowiedniego pojemnika, badane są przy pomocy odpowiednich czujników trzy
cechy (a, b, c) każdego z nich. Każdy z czujników sygnalizuje zbadaną przez siebie cechę jedną z dwóch
wartości (1 – wartość prawidłowa, 0 – wartość nieprawidłowa). Detal powinien trafić do pojemnika I jeżeli
co najmniej dwie cechy mają prawidłowe wartości i jedną z nich jest cecha a, w przeciwnym razie powinien
być przesunięty do pojemnika II. Należy zaprojektować urządzenie sterujące w taki sposób aby generowało
odpowiedni sygnał sterujący dla zwrotnicy urządzenia sortującego. Zwrotnica w stanie załączonym (z = 1)
powoduje, że detal trafia do pojemnika I, w stanie nie załączonym (z = 0) kieruje detal do pojemnika II.
a) b) c)
Rys. 7. Ilustracja zadania a) schemat urządzenia sortującego,
b) i c) schemat i tablica prawdy urządzenia sterującego zwrotnicą.
z = 0
a b c
z = 1
pojemnik II
pojemnik I
a b c z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
b
c
z
a
urządzenie
sterujące
Układy cyfrowe f.1/13
Dwuelementowa algebra Boole’a
Dwuelementowa algebra Boole’a jest sformalizowanym uogólnieniem rachunku zdań. Jest ona
definiowana jako układ:
B = ({0, 1}, +, ·, ¯ , 0, 1),
gdzie:
{0, 1}– zbiór elementów algebry; 0,1 – stałe algebry; ¯ – jednoargumentowa operacja negacji;
+, · – dwuargumentowe operacje odpowiednio: alternatywy (sumy), koniunkcji (iloczynu)
Operacje alternatywy, koniunkcji, negacji definiowane są w sposób następujący:
Uwaga! Symbol „·” jest często pomijany, tzn. operacja a · b jest zapisywana jako ab.
alternatywa
a b a+b
0 0 0
0 1 1
1 0 1
1 1 1
koniunkcja
a b a · b
0 0 0
0 1 0
1 0 0
1 1 1
negacja
a ā
0 1
1 0
Układy cyfrowe f.1/14
Prawa istnienia elementu identycznościowego Prawa sklejania
a + 0 = 0 + a = a a 1 = 1 a = a
Prawa istnienia dopełnienia
Prawa przemienności Prawo podwójnej negacji
a + b = b + a a b = b a
Prawa łączności Inne własności
a + (b + c) = (a + b) + c a (b c) = (a b) c a 0 = 0
Prawa rozdzielności a + 1 = 1
a (b + c) = a b + a c a + b c = (a + b) (a + c)
Prawa de Morgana Prawa de Morgana dla wielu
argumentów
Prawa idempodentności
a + a = a a a = a
Prawa pochłaniania
a + a b = a a (a + b) = a
Prawa algebry Boole’a
aa
1 aa 0aa
baba baba
dcbadcba
dcbadcba
ababa
ababa
Układy cyfrowe f.1/15
Funkcje boolowskie
Funkcją boolowską (logiczną, przełączającą) nazywane jest odwzorowanie postaci:
f: X → Y,
gdzie:
X {0, 1}n = {0, 1} {0, 1} … {0, 1}; Y {0, 1};
(elementami dziedziny X są więc n-elementowe ciągi będące kombinacjami zerojedynkowymi).
Jeżeli X = {0, 1}n to funkcja jest nazywana funkcją zupełną, w przeciwnym przypadku: funkcją
niezupełną lub funkcją nie w pełni określoną.
Stosowane sposoby reprezentacji funkcji boolowskich
opis słowny (np. funkcja przyjmuje wartość 1 wtedy i tylko wtedy gdy jej obydwa argumenty
są różne),
tablice prawdy,
wyrażenia boolowskie (np. ,
wyrażenie zawierające zmienne boolowskie i operatory +, ·, ¯ ),
tablice Karnaugha (zmodyfikowane tablice prawdy)
…
n
a b f
0 0 0
0 1 1
1 0 1
1 1 0
b
a 0 1
0 0 1
1 1 0
baba
Układy cyfrowe f.1/16
Funkcje boolowskie – postacie kanoniczne
Każdą funkcję boolowską n zmiennych f (x1, x2, …, xn) można zapisać w postaci:
(1)
Dowód
■
Postać (1) jest nazywana rozwinięciem funkcji ze względu na zmienną x1.
Podobnie funkcje f (1, x2, …, xn) i f (0, x2, …, xn) można rozwinąć ze względu na zmienną x2:
(2)
Po podstawieniu (2) do (1) otrzymuje się:
Operację rozwijania można przeprowadzić dla wszystkich zmiennych x1, x2, …, xn, otrzymuje się
wtedy kanoniczną postać dysjunkcyjną funkcji.
121221 ,,,0,,,1,,, xxxfxxxfxxxf nnn
nnnn xxfxxfxxfxxftoxjesli ,,,10,,,01,,,1,,,1:1: 22221
nnnn xxfxxfxxfxxftoxjesli ,,,01,,,00,,,1,,,0:0: 22221
222 ,,0,1,,1,1,,,1 xxfxxfxxf nnn
222 ,,0,0,,1,0,,,0 xxfxxfxxf nnn
2121212121 ,,0,0,,1,0,,0,1,,1,1,,, xxxfxxxfxxxfxxxfxxxf nnnnn
Układy cyfrowe f.1/17
Funkcje boolowskie – postacie kanoniczne
Kanoniczna postać dysjunkcyjna (alternatywna) funkcji
Kanoniczna postać koniunkcyjna funkcji
Podobnie można pokazać, że funkcja n zmiennych f (x1, x2, …, xn) może być zapisana w postaci:
Iloczyn wszystkich argumentów funkcji z negacjami lub bez nazywany jest iloczynem pełnym.
Suma wszystkich argumentów funkcji z negacjami lub bez jest nazywana sumą pełną.
Uwaga! Podczas tworzenia kanonicznej postaci dysjunkcyjnej, można uwzględniać tylko te
iloczyny pełne dla których związana z nimi wartość funkcji wynosi 1. Podczas tworzenia
kanonicznej postaci koniunkcyjnej, można uwzględniać tylko te sumy pełne dla których związana
z nimi wartość funkcji wynosi 0.
nnn xxxfxxxfxxxf 212121 1,,1,01,,1,1,,,
nn xxxfxxxf 2121 0,,1,11,,0,1
nn xxxfxxxf 2121 0,,0,01,,0,0
nnn xxxfxxxfxxxf 212121 0,,0,10,,0,0,,,
nn xxxfxxxf 2121 1,,0,00,,1,0
nn xxxfxxxf 2121 1,,1,10,,1,1
Układy cyfrowe f.1/18
Funkcje boolowskie – postacie kanoniczne
Przykład 2. Podać a następnie uprościć postacie kanoniczne funkcji opisującej działanie
urządzenia z przykładu 1.
Kanoniczna postać dysjunkcyjna
z prawa idempodentności:
więc
z prawa sklejania: oraz
ostatecznie
Kanoniczna postać koniunkcyjna
z prawa sklejania: , ,
więc
z prawa rozdzielności: ostatecznie
a b c z
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 0
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
cbacbacbacbafz ,,
)()()()()(,, cbacbacbacbacbacbafz
bacbacba )()( bacbacba )()( ababa )()(
acbaz )(
bacbacba
cbacbacba
cbacbacbacbacbafz ,,
cacbacba
cabaz
cbacabaz acabaacbaaz )(
Wszystkie postacie
są równoważne
Układy cyfrowe f.1/19
Schematy logiczne
Przyjmując dla operacji logicznych pewne umowne symbole graficzne można dowolne
wyrażenie boolowskie przedstawić w postaci schematu logicznego.
Rys. 8. Symbole stosowane do oznaczenia wybranych operacji logicznych.
Operacja 1. sposób oznaczeń 2. sposób oznaczeń 3. sposób oznaczeń
koniunkcja (AND)
alternatywa (OR)
negacja (NOT)
negacja
koniunkcji (NAND)
negacja
alternatywy (NOR)
&
≥1
&
≥1
≥1
&
Układy cyfrowe f.1/20
Przykład 3. Narysować schemat logiczny urządzenia sterującego z przykładu 1.
W przykładzie 2. zostały wyprowadzone cztery równoważne postacie funkcji logicznej opisujące
pracę urządzenia (oznaczone zostały jako: zI, zII, zIII i zIV).
Rys. 9. Schematy logiczne urządzenia dla wyrażeń boolowskich w postaci zI, zII, zIII i zIV.
Schematy logiczne
cabazIII
cbacbacbazI )()()()()( cbacbacbacbacbazII
cbazIV
a b c
&
&
&
≥1
a b c
≥1
≥1
≥1
≥1
≥1
&
a b c
&
&
≥1
a b c
≥1&
Układy cyfrowe f.1/21
Schematy układów stykowych
Struktura układów cyfrowych realizowanych w technologii stykowo – przekaźnikowej może być
przedstawiana na tzw. schematach obwodowych (drabinkowych).
Na schematach:
każdy element lub urządzenie obwodu elektrycznego ma swoją gałąź lub tzw. tor prądowy,
gałęzie rysowane są jako pionowe i umieszczane jedna obok drugiej,
zestyki przekaźników umieszcza się w gałęziach w zależności od wykonywanego przez nie
zadania, nie jest bezpośrednio uwzględniania konstrukcja przekaźnika – tzn. cewka i zestyki
przekaźnika mogą leżeć w różnych gałęziach, związek cewki z zestykami przekaźnika
wynika z oznaczeń: cewki przekaźników oznaczane są wielkimi literami a ich zestyki tymi
samymi literami ale małymi,
zestyki zwierne oznaczane są małymi literami, zestyki rozwierne małymi literami z kreską
nad literą,
koniunkcja argumentów funkcji logicznej odpowiada szeregowemu połączeniu odpowiednich
zestyków,
alternatywa argumentów funkcji logicznej
odpowiada równoległemu połączeniu
odpowiednich zestyków,y
X
a x
x
Y
b y yxaX
xybY
Układy cyfrowe f.1/22
Schematy układów stykowych
Przykład 4. Narysować schemat obwodowy urządzenia sterującego z przykładu 1. zakładając, żepracę urządzenia opisują cztery równoważne funkcje logiczne: zI, zII, zIII i zIV.
Rys. 10. Schematy obwodowe urządzenia dla wyrażeń boolowskich w postaci zI, zII, zIII i zIV.
cabazIII
cbacbacbazI
)()()()()( cbacbacbacbacbazII
cbazIV
b
c
ZI
c c
b b
a a a
b
ba c
ZII
a c
b
c
a c
a b
a b c
c
ZIV
cb
a
c
ZIII
b
a a
Układy cyfrowe f.1/23
Minimalizacja funkcji logicznych
Celem minimalizacji funkcji logicznej jest doprowadzenie tej funkcji do postaci o możliwie
najmniejszej liczbie argumentów i najmniejszej liczbie operacji logicznych.
Minimalizację można przeprowadzić wykorzystując:
prawa algebry Boole’a,
tablice Karnaugha (inaczej: kraty Veitcha lub cykliczne siatki zależności)
tablice te ułatwiają stosowanie praw sklejania:
sąsiedztwo geometryczne kratek tablicy odpowiada sąsiedztwu logicznemu wyrażeń
reprezentowanych przez te kratki (dwa wyrażenia boolowskie określone dla tych samych
argumentów z negacjami lub bez, są wyrażeniami sąsiednimi logicznie jeśli różnią się
postacią jednego argumentu), wyrażenia sąsiednie logicznie można „skleić” np.:
w praktyce metoda jest stosowana do minimalizacji funkcji o liczbie argumentów ≤ 6,
metodę QMC (Quine’a – McCluskeya)
stosowana do minimalizacji funkcji logicznych o dowolnej liczbie argumentów.
ababa ababa
dcadcbadcba cadcadcadcbadcbadcbadcba
Układy cyfrowe f.1/24
Tablice Karnaugha
Zupełna funkcja boolowska n zmiennych jest określona dla wszystkich możliwych kombinacji
sygnałów wejściowych tzn. dziedzina jest zbudowana z 2n elementów.
Tablica Karnaugha jest kwadratową lub prostokątną siatką zbudowaną z 2n kratek (dla parzystej
liczby sygnałów wejściowych tablica ma kształt kwadratu o wymiarach 20.5n20.5n, dla
nieparzystej – prostokąta o wymiarach 20.5(n–1)20.5(n+1))).
Do opisania adresu (nr wiersza i kolumny) kratek wykorzystywany jest kod Graya. Adres kratki
wyznacza jednoznacznie wartości argumentów funkcji, wartość funkcji (tzn. 0 lub 1)
odpowiadającą tym argumentom jest wpisywana we wnętrzu kratki.
a) b) c)
Rys. 11. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.
b
a 0 1
0
1
bc
a 00 01 11 10
0
1
cd
ab 00 01 11 10
00
01
11
10
Układy cyfrowe f.1/25
Tablice Karnaugha
Przykład 5. Wypełnić tablicę Karnaugha opisującą pracę urządzenia z przykładu 1.
a) c)
b)
d)
Rys. 12. a) Tablica prawdy urządzenia,
b), c), d) tablice Karnaugha dla różnej kolejności oznaczeń wierszy i kolumn
a b c z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
bc
a 00 01 11 10
0 0 0 0 0
1 0 1 1 1
bc
a 10 11 01 00
1 1 1 1 0
0 0 0 0 0
ab
c 00 01 11 10
0 0 0 1 0
1 0 0 1 1
Układy cyfrowe f.1/26
Tablice Karnaugha
Każda kratka tablicy odpowiada jednej kombinacji zmiennych wejściowych (jednemu pełnemu
iloczynowi kanoniczej postaci dysjunkcyjnej lub jednej pełnej sumie kanonicznej postaci
koniunkcyjnej). Podobnie jak w przypadku tablic prawdy:
• iloczyn pełny odpowiadający wybranej kratce budowany jest w postaci iloczynu argumentów
funkcji (argument jest negowany jeżeli odpowiada sygnałowi o wartości 0),
• suma pełna odpowiadająca wybranej kratce budowana jest w postaci sumy argumentów funkcji
(argument jest negowany jeżeli odpowiada sygnałowi o wartości 1).
Sąsiednie kratki odpowiadają wyrażeniom
sąsiednim logicznie, np.:
Sąsiednimi są również kratki skrajne: dla 3
zmiennych należy wyobrazić sobie, że
sklejone są lewy i prawy brzeg tablicy,
sąsiednimi są więc np.:
Sąsiedztwo dla 4 zmiennych wprowadzają sklejone brzegi lewy i prawy oraz górny i dolny, dla 5
i 6 zmiennych wprowadzane są dodatkowe linie, które wyznaczają dodatkowe sąsiedztwa.
bc
a 00 01 11 10
0
1cba
cba
cba
cba
cba
cba
cbaicbacbaicba ,
cbaicbacbaicba ,
Układy cyfrowe f.1/27
Minimalizacja funkcji logicznych: tablice Karnaugha
Tablice Karnaugha ułatwiają stosowanie praw sklejania – wyodrębniając jak najmniejszą liczbę
jak największych grup, które pokrywają wszystkie jedynki lub zera funkcji otrzymuje się postać
funkcji zawierającą minimalną liczbę operatorów logicznych.
Sklejanie iloczynów pełnych prowadzi do normalnej postaci dysjunkcyjnej, a sklejanie sum
pełnych do normalnej postaci koniunkcyjnej.
Normalna postać dysjunkcyjna (koniunkcyjna) jest sumą iloczynów (iloczynem sum) dowolnej
liczby argumentów funkcji z negacjami lub bez.
Metoda Karnaugha prowadząc do wyznaczenia minimalnej normalnej postaci dysjunkcyjnej
(koniunkcyjnej) polega na:
wyszukiwaniu i zaznaczeniu wśród niezaznaczonych jeszcze kratek tablicy samodzielnych
grup jedynek (zer) obejmujących 2n kratek (n = …, 3, 2, 1, 0)
jeżeli po wyodrębnieniu wszystkich samodzielnych grup pozostają jeszcze niezaznaczone
jedynki (zera) to należy je połączyć z kratkami zaznaczonymi tak aby zaznaczona w ten
sposób grupa reprezentowała iloczyn (sumę) o najmniejszej liczbie argumentów.
Układy cyfrowe f.1/28
Minimalizacja funkcji logicznych: tablice Karnaugha
Przykład 6. Przeprowadzić minimalizację funkcji logicznej opisującej pracę urządzenia z
przykładu 1. (tablica Karnaugha funkcji została podana w przykładzie 5.).
Ostatecznie:
z = a b + a c
lub
z = a (b + c)
Minimalna normalna postać dysjunkcyjna
• na dwa sposoby można wyodrębnić dwuelementową grupę zbudowaną z jedynek (załóżmy, że zaznaczona
została grupa oznaczona *),
• pozostała jedynka musi tworzyć grupę z już zaznaczoną jedynką (grupa **),
• ostatecznie: z = a b + a c.
Minimalna normalna postać koniunkcyjna
• można wyodrębnić czteroelementową grupę zbudowaną z zer (grupa ●)
• pozostałe zero musi tworzyć grupę z już zaznaczonym zerem (grupa ●●)
• ostatecznie: z = a (b + c).
bc
a 00 01 11 10
0 0 0 0 0
1 0 1 1 1
*
**
cacbacba
bacbacba
ababacbacbacbacba ●
●● cbcbacba
Układy cyfrowe f.1/29
Hazard w układach logicznych
Hazard – zjawisko polegające na tym, że poprawnie logicznie zaprojektowany układ może w
pewnych warunkach – na skutek niedokładności swoich elementów składowych – działać
nieprawidłowo. Nieprawidłowa praca układów kombinacyjnych polega na krótkotrwałym
pojawieniu się na wyjściu układu błędnego sygnału.
Źródła hazardu
w układach stykowych zakłada się np. że zmiana stanu przekaźnika powoduje równoczesne
przełączenie zestyków zwiernego i rozwiernego – w praktyce przełączenie może nie być
równoczesne,
w układach bezstykowych sygnały wejściowe są przetwarzane równolegle, czas przejścia
sygnału dla każdej ze ścieżek może być różny (czasy działania elementów przełączających oraz
ich ilość mogą być różne) – stąd sygnał na wyjściu nie zawsze musi odpowiadać aktualnym
sygnałom wejściowym.
Eliminacja hazardu
Eliminacja hazardu polega na dołączaniu do układu dodatkowych elementów
uniemożliwiających powstanie hazardu – są to tzw. grupy antyhazardowe.
W tablicy Karnaugha układu w którym występuje hazard znajdują się grupy, które nie są
połączone z innymi grupami. Grupy jedynek (zer) należy wyodrębniać w taki sposób aby każda
para sąsiednich kratek tablicy znajdowała się w tej samej wspólnej grupie.
Układy cyfrowe f.1/30
Hazard w układach logicznych
Przykład 7. Zbudować bezhazardowy układ sterujący zwrotnicą urządzenia z sortującego.
Zwrotnica powinna być załączona (z = 1) jeżeli co najmniej dwie cechy detalu mają prawidłowe
wartości i jedną z nich jest cecha a albo prawidłową wartość ma wyłącznie cecha b, w
przeciwnych przypadkach zwrotnicę należy wyłączać (z = 0).
W tablicy Karnaugha układu można wyodrębnić trzy
dwuelementowe grupy jedynek, przy czym grupy (*) i (***)
pokrywają wszystkie jedynki tablicy.
Funkcję logiczną opisującą działanie urządzenia można zapisać
w postaci:
lub gdyby została uwzględniona grupa (**) , w postaci:
W układzie opisanym funkcją zI występuje hazard. Układ opisany funkcją zII nie ma tej wady.
Grupa ** jest grupą antyhazardową.
bc
a 00 01 11 10
0 0 0 0 1
1 0 1 1 1
*ca
**ba
***cb
,cbcazI
.bacbcaz II
Układy cyfrowe f.1/31
Hazard w układach logicznych
Układ stykowy
Jeżeli zestyk zwierny przekaźnika c zostanie otwarty
na chwilę wcześniej przed zamknięciem zestyku
rozwiernego tzn.
więc na wyjściu układu jest chwilowo sygnał 0.
Układ z dodatkową gałęzią ab ma w tym czasie na
jej wyjściu sygnał równy 1, więc na wyjściu układu
cały czas jest właściwy sygnał 1.
Układ bezstykowy
Przejście sygnału przez linię zawierającą bramkę
NOT trwa dłużej. Przez chwilę gdy sygnał na
wyjściu bramki * będzie już równy 0, sygnał na
wyjściu bramki *** jest jeszcze równy 0, więc na
wyjściu pojawia się chwilowo 0.
Układ z dodatkową bramką ** ma w tym czasie na
jej wyjściu sygnał równy 1, więc na wyjściu układu
cały czas jest właściwy sygnał 1.
Rys. 13. Schemat urządzenia (linią przerywaną zaznaczono antyhazardową grupę **)
c
Z
c
a b
b
a
W układzie opisanym funkcją zI błędna wartość sygnału na wyjściu pojawia się w przypadku gdy po detalu o
cechach a = b = c = 1 pojawi się detal o a = b = 1 i c = 0.
c = 0 a jeszcze c = 0 to:
a c = 0 oraz b c = 0,
→
→
a b c→ →
→
*
***
**
≥1
&
&
&
→
Układy cyfrowe f.1/32
Wielowyjściowe układy kombinacyjne
Przykład 8. Zbudować układ sterujący dwiema zwrotnicami urządzenia sortującego. Zwrotnice kierują detale
do trzech pojemników w zależności od wartości trzech cech sortowanych detali. Detale o conajmniej dwóch
nieprawidłowych cechach powinny trafiać do pojemnika I, detale o wszystkich prawidłowych cechach do
pojemnika II, a pozostałe detale do pojemnika III.
b)
a)
c) d)
Rys. 14. Ilustracja zadania a) schemat urządzenia sortującego, b) tablica prawdy urządzenia sterującego
zwrotnicami, c) i d) tablice Karnaugha odpowiednio dla zwrotnicy pierwszej i drugiej.
a b c p z1 z2
0 0 0 I 1 1
0 0 1 I 1 1
0 1 0 I 1 1
0 1 1 III 0 0
1 0 0 I 1 1
1 0 1 III 0 0
1 1 0 III 0 0
1 1 1 II 0 1
bc
a 00 01 11 10
0 1 1 0 1
1 1 0 0 0
bc
a 00 01 11 10
0 1 1 0 1
1 1 0 1 0
z1 = 0
z1 = 1a b c
pojemnik III
pojemnik I
z2 = 0
pojemnik II
z2 = 1
Układy cyfrowe f.1/33
bc
a 00 01 11 10
0 1 1 0 1
1 1 0 1 0
bc
a 00 01 11 10
0 1 1 0 1
1 1 0 0 0
Wielowyjściowe układy kombinacyjne
Rys. 15. Tablice Karnaugha oraz schemat logiczny układu z przykładu 8.
Wielowyjściowy układ o m wejściach i k wyjściach można zapisać w postaci układu k funkcji boolowskich o
m argumentach (każda z funkcji opisuje jedno z wyjść układu).
Minimalizację takiego układu można przeprowadzić minimalizując każdą z opisujących go funkcji
oddzielnie. Otrzymane w ten sposób funkcje są minimalne ale cały układ najczęściej może być zapisany
jeszcze prościej. Prostszy zapis całego układu można otrzymać wykorzystując wspólne człony występujące w
opisach poszczególnych wyjść. Występowanie takich samych fragmentów opisu można wykryć analizując
tablice Karnaugha lub stosując zmodyfikowaną metodę QMC.
cabacb cba
cabacbz 1
cbazcbacabacbz 12
a b c
&
&
&
&
≥1
≥1z1
z2
Układy cyfrowe f.1/34
Minimalizacja funkcji nie w pełni określonych
Przykład 9. Zbudować układ sterujący pracą zaworów Z1 i Z2. Zawory powinny być otwierane lub zamykane
w zależności od ilości wody w zbiorniku. Poziom cieczy w zbiorniku jest kontrolowany przez czujniki A i B
(a = 0 – poziom wody poniżej A, a = 1 – poziom wody powyżej A; b = 0 – poziom wody poniżej B, itd.).
Obydwa zawory powinny być otwarte gdy zbiornik jest pusty (a=0, b=0), w przypadku gdy zbiornik jest
pełen (a=1, b=1) zawory powinny być zamknięte, jeżeli zbiornik jest „niepełen” (a=1, b=0) należy otworzyć
zawór Z1 a zamknąć Z2.
Dziedzinę funkcji opisujących pracę zaworów Z1 i Z2 tworzą 3 dwuelementowe ciągi odpowiadające stanom
czujników A i B: (a=0, b=0), (a=1, b=0) i (a=1, b=1). Sytuacja (a=0, b=1) nigdy nie może wystąpić – wartość
sygnału wyjściowego dla tej kombinacji sygnałów wejściowych nie ma więc żadnego znaczenia.
Do zaznaczania nieokreślonej wartości sygnału wyjściowego używany jest znak –. Funkcje które nie są
określone dla wszystkich możliwych kombinacji sygnałów wejściowych są funkcjami nie w pełni
określonymi.
a) b)
c) d)
Rys. 16. Ilustracja zadania a) zasilanie zbiornika, b) tablica prawdy urządzenia sterującego zaworami,
c) i d) tablice Karnaugha odpowiednio dla zaworu Z1 i Z2..
a
Z1
b
Z2
b
a 0 1
0 1 –
1 1 0
b
a 0 1
0 1 –
1 0 0
a b z1 z2
0 0 1 1
1 0 1 0
1 1 0 0
0 1 – –
Układy cyfrowe f.1/35
Minimalizacja funkcji nie w pełni określonych
Podczas sklejania stany – można traktować jako 1 lub 0 tak by uzyskiwane grupy były jak
największe. Dla określonej funkcji wybrany stan nieokreślony musi być traktowany w ten sam
sposób.
Rys. 17. Tablice Karnaugha oraz schemat logiczny układu z przykładu 9.
b
a 0 1
0 1 –
1 1 0
b
a 0 1
0 1 –
1 0 0
bz 1
az 2
stan nieokreślony potraktowany jak stan 0
b
a
stan nieokreślony potraktowany jak stan 1