background image

 

STEROWANIE BINARNE I DYSKRETNE 

(AUTOMATYKA PROCESÓW DYSKRETNYCH) 

 

Literatura 

1.  Zieliński C.: Podstawy projektowania układów cyfrowych. PWN, Warszawa, 2003 
2.  Traczyk W.: Układy cyfrowe automatyki. WNT, Warszawa 1974 
3.  Misiurewicz P.: Podstawy techniki cyfrowej. WNT, Warszawa 1982 
4.  Majewski W.: Układy logiczne. WNT, Warszawa 1999 
5.  Piecha J.: Elementy i układy cyfrowe. PWN, Warszawa 1990 
6.  Kościelny W.: Podstawy automatyki, cz. 2. WPW, Warszawa 1984 
7.  Kowalowski H. i inni: Automatyzacja dyskretnych procesów przemysłowych. WNT, 

Warszawa 1984 

8.  Barczyk J.: Automatyzacja procesów dyskretnych. Oficyna Wydawnicza PW, Warszawa 

2003 

9.  Mikulczyński T., Samsonowicz Z.: Automatyzacja dyskretnych procesów produkcyjnych. 

WNT, Warszawa 1997 

10. Puff T., Sołtys W.: Podstawy technologii montażu maszyn I urządzeń. WNT, Warszawa 

1980 

11. Łunarski J., Szabajkowicz W.: Automatyzacja procesów technologicznych montażu 

maszyn. WNT, Warszawa 1993 

12. Łunarski J., Szabajkowicz W., Szenajch W.: Automatyczne orientowanie w procesach 

montażu. Wyd. Politechniki Rzeszowskiej, Rzeszów 1994 

13. Tymowski J.: Automatyzacja procesów technologicznych w przemyśle maszynowym. 

WNT, Warszawa 1975 

14. Golatowski T.: Mechanizacja i automatyzacja w tłocznictwie. WNT, Warszawa 1978 
15. Krajowa Konferencja Automatyzacji Dyskretnych Procesów Przemysłowych 
16. Sterowanie i automatyzacja procesów technologicznych i układów mechatronicznych. 

Układy pneumatyczne i elektropneumatyczne ze sterowaniem logicznym. Praca pod red. 
Jerzego Świdra. Wydawnictwo Politechniki Śląskiej, Gliwice 2002 

17. Świder J., Wszołek G.: Metodyczny zbiór zadań laboratoryjnych i projektowych ze 

sterowania procesami technologicznymi. Układy pneumatyczne i elektropneumatyczne ze 
sterowaniem logicznym. Wydawnictwo Politechniki Śląskiej, Gliwice 2003 

 

1. Wprowadzenie 

Przedmiot „Sterowanie binarne i dyskretne” obejmuje zagadnienia związane z automatyzacją 
elementarnych procesów dyskretnych. Zagadnienia te są podstawową częścią zakresu wiedzy 
nazywanego automatyką procesów dyskretnych (APD). 
Przykładowe obszary zastosowań sterowania logicznego: 

-  procesy technologiczne związane z produkcją elementów, obiektów 
-  montaż maszyn 
-  montaż elementów elektronicznych 
-  pakowanie, dozowanie 
-  układy orientowania i podawania 
-  układy manipulacyjne, robotyka 
-  urządzenia transportu międzyoperacyjnego 
-  sygnalizacja, zabezpieczenia, blokady 
-  elastyczne systemy produkcyjne 
-  automatyka budynków 
-  serwis 

background image

 

 
Przykład 1 - sterowanie wentylacją hali  
Binarny sygnał wyjściowy 

y

 układu włączający wentylację jest wytwarzany na podstawie 

binarnych sygnałów wejściowych (zewnętrznych) 

1

2

 i 

3

 z przekaźników temperatury. 

Przykładowe możliwe założenia dotyczące sposobu działania układu sterującego. 
 
Nr stanu 
argumentów 

 

1

 

 

2

 

 

3

 

 

1

 

 

2

 

 

3

 

 

4

 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

0 albo 1 

 
W układach realizujących zależności 

)

,

,

(

3

2

1

1

x

x

x

f

y

 i 

)

,

,

(

3

2

1

2

x

x

x

f

y

 stan sygnału 

wyjściowego zależy tylko od aktualnego stanu sygnałów wejściowych – takie układy 
nazywają się układami kombinacyjnymi
W układzie z wyjściem 

3

 wentylacja włącza się dopiero kiedy wszystkie przekaźniki 

wykażą przekroczenie nastawionej wartości temperatury; wyłącza – gdy wszystkie 
przekaźniki wytwarzają sygnał zerowy. W stanach argumentów 1 – 6 wartość sygnału 
wyjściowego może być 0, jeżeli stany te poprzedzało zdarzenie 

0

3

2

1

x

x

x

 lub w stanach 

tych może być 

1

3

y

, jeżeli stany te poprzedzało zdarzenie 

1

3

2

1

x

x

x

.  

Układ z sygnałem wyjściowym 

3

 (także układ z sygnałem wyjściowym 

4

) musi mieć 

możliwość pamiętania pewnych zdarzeń; układy takie nazywają się układami z pamięcią 
albo układami sekwencyjnymi
Przebieg o sygnału wyjściowego 

3

 zależy od przebiegu zmian sygnałów wejściowych, 

informujących o stanie realizowanego procesu (podobnie w przypadku układu z sygnałem 
wyjściowym 

4

); układy takie nazywają się układami sekwencyjnymi procesowo 

zależnymi
Innym rozwiązaniem układu włączania wentylacji byłoby wykorzystanie programatora 
zegarowego, który włączałby wentylację, np. w określonych godzinach południowych.  
Taki układ działałby bez sygnałów wejściowych; byłby to układ sekwencyjny czasowo 
zależny

Układy sekwencyjne czasowo zależne są układami bez sygnałów wejściowych; działają bez 
kontroli przebiegu realizowanego procesu. 

 

 

Przykład 2 
W przyrządzie z napędem pneumatycznym odbywa się zaginanie blachy. Siłownik A mocuje 
blachę, która wstępnie jest zginana przez siłownik B i ostatecznie doginana przez siłownik C. 
Chwilowe naciśnięcie przycisku Start wywołuje cykl ruchów siłowników wg diagramu 
krokowego. 

background image

 

 

Zagadnienia APD: 

-  metodyka realizacji procesów, oprzyrządowanie technologiczne,  
-  elementy wykonawcze, napędy, sensoryka, 
-  projektowanie układów sterowania procesami elementarnymi (układy logiczne, 

układy o średniej skali integracji – bloki funkcjonalne, sterowanie 
komputerowe – sterowniki programowalne), 

-  sterowanie złożonymi systemami produkcyjnymi (sterowanie współbieżne, 

sieci komunikacyjne), 

-  planowanie, zarządzanie (np. produkcją). 

 

2. Kody binarne liczb całkowitych nieujemnych 

 
Kody  analityczne  wyrażają  liczby  jako  uporządkowany  wg  malejącej  wartości  wag  ciąg 
zmiennych kodowych. 
Liczba  

0

1

1

10

.... a

a

a

a

L

n

n

 w kodzie dziesiętnym jest umownym zapisem sumy 

0

0

0

1

1

1

1

10

10

10

.....

10

10

10

n

i

n

n

n

n

i

i

a

a

a

a

a

L

gdzie: 

-  i – numer pozycji, 

i

 - zmienne kodowe (mogą przyjmować wartości od 0 do 9), 

-  10 – podstawa kodu, 

background image

 

i

10

 - waga pozycji. 

Liczba  

0

1

1

2

.... a

a

a

a

L

n

n

 w naturalnym kodzie dwójkowym (binarnym) jest umownym 

zapisem sumy 

0

0

0

1

1

1

1

2

2

2

.....

2

2

2

n

i

n

n

n

n

i

i

a

a

a

a

a

L

 

W tym przypadku podstawą kodu jest liczba 2; zmienne kodowe mogą przyjmować tylko 
dwie wartości 0 albo 1. 
Naturalny kod dwójkowy jest kodem analitycznym – znany jest wzór, wg którego wyznacza 
się zakodowaną liczbę na podstawie wartości zmiennych kodowych. 
Wadą naturalnego kodu dwójkowego jest występowanie zmian kilku zmiennych kodowych 
(mówi się: kilku bitów) przy przechodzeniu do sąsiedniej wartości liczbowej. Ponieważ nie 
jest możliwa jednoczesna zmiana wartości kilku sygnałów  binarnych; przy zmianach 
wartości liczbowych pojawiać mogą się przejściowo błędne informacje (zjawisko to nazywa 
się niejednoznacznością odczytu), co ilustruje rys.  

 

Przykładowe błędy odczytu przy przejściu od wartości 7 do 8 

Niejednoznaczność odczytu nie występuje w przypadku tzw. kodów ze stałym odstępem, w 
których zawsze zmiana wartości liczbowej o 1 jest związana ze zmiana wartości jednego 
tylko bitu. 
 
Kody ze stałym odstępem: 

Kod Graya, kod Graya +3 
 

Liczba 

dziesiętna 

Kod Graya 

Wartość w kodzie 

Graya + 3 

a

3

  a

2

  a

1

  a

0

 

0  0  0  0 

 

0  0  0  1 

 

0  0  1  1 

 

0  0  1  0 

0  1  1  0 

0  1  1  1 

0  1  0  1 

0  1  0  0 

1  1  0  0 

1  1  0  1 

 

10 

1  1  1  1 

background image

 

11 

1  1  1  0 

12 

1  0  1  0 

13 

1  0  1  1 

 

14 

1  0  0  1 

 

15 

1  0  0  0 

 

 
 
 
 

Kod Graya 

a

1

, a

a

3

, a

2

 

00  01  11  10 

00 

0  1  2  3 

01 

7  6  5  4 

11 

8  9  10  11 

10 

15  14  13  12 

 

 
 

 

 
Kody ze stałym odstępem nie są kodami analitycznymi tylko kodami symbolicznymi – nie 
mają ustalonych wag poszczególnych pozycji. Nie można za pomocą jednego wzoru 
wyznaczyć zakodowanej liczby. 
W przypadku kodu Graya do wyznaczania zakodowanej liczby można posłużyć się wzorem 
określającym wartość bezwzględną wagi 

k

 k-tej pozycji: 

k

i

k

i

k

W

0

1

1

2

2

 

Dla jedynek nieparzystych, licząc od lewej strony, wagi są dodatnie, dla parzystych – ujemne. 
Przykład: (1101)

 = (2

4

 – 1) – (2

3

 – 1) +(2

1

 – 1) = 15 – 7 – 1 = 9. 

 
 
Naturalny  kod  dwójkowy  i  kod  Graya  są  kodami  minimlnymi  –  nie  można  zakodować 
jakiejkolwiek liczby z wykorzystaniem mniejszej liczby bitów niż w przypadku tych kodów. 
 
Kody pseudopierścieniowe (Johnsona) 
Kody pseudopierścieniowe umożliwiają kodowanie parzystych zbiorów liczbowych. 
Do zakodowania zbioru zawierającego n liczb potrzeba n/2 bitów. 

Liczba 

dziesiętna  a

2

  a

1

  a

0

 

0  0  0 

0  0  1 

0  1  1 

1  1  1 

1  1  0 

1  0  0 

 

Liczba 

dziesiętna 

 

a

3

  a

2

  a

1

  a

0

 

0  0  0  0 

0  0  0  1 

0  0  1  1 

0  1  1  1 

1  1  1  1 

1  1  1  0 

1  1  0  0 

1  0  0  0 

 

Liczba 

dziesiętna 

 

a

a

3

  a

2

  a

1

  a

0

 

0  0  0  0  0 

0  0  0  0  1 

0  0  0  1  1 

0  0  1  1  1 

0  1  1  1  1 

1  1  1  1  0 

1  1  1  0  0 

1  1  0  0  0 

1  1  0  0  0 

1  0  0  0  0 

 

background image

 

 
Kody typu „1 z n” (kody ze stałym indeksem) 
 

Liczba 

dziesiętna 

Kod „1 z 4” 

a

3

  a

2

  a

1

  a

0

 

0  0  0  1 

0  0  1  0 

0  1  0  0 

1  0  0  0 

 
 

3. Funkcje logiczne 

 
Funkcje logiczne jednoargumentowe 

)

(x

f

y

 

 

y = 0 

Funkcja stała zerowa 

y = x 

Powtórzenie x 

y = 

x

 

Negacja x 

y = 1 

Funkcja stała jeden 

 
Funkcje logiczne dwuargumentowe 

)

,

(

2

1

x

x

f

y

 

 

x

x

y

y

y

y

y

y

y

y

y

y

y

10 

y

11 

y

12 

y

13 

y

14 

y

15 

 

1

3

2

1

2

2

1

1

0

0

x

y

x

x

y

x

x

y

y

 

2

1

7

2

1

6

2

5

1

2

4

x

x

y

x

x

y

x

y

x

x

y

 

1

2

11

2

10

2

1

9

2

1

2

1

8

x

x

y

x

y

x

x

y

x

x

x

x

y

 

1

/

15

2

1

2

1

14

2

1

13

1

12

y

x

x

x

x

y

x

x

y

x

y

 

 

                                                                                                         Tablica 2.2 

                Zestawienie logicznych funkcji dwuargumentowych 
 

 
    
Lp. 

Wartości funkcji 
  y = f(x

1

, x

2

) dla: 

  x

1

  0  0  1  1 

  x

2

  0  1  0  1 

 

Zapis funkcji 

 

Nazwa funkcji 

0  0  0  0 

y = 0 

stała zerowa 

0  0  0  1 

y = x

1

·x

2  

(czyt. y=x

i x

2

koniunkcja, iloczyn logiczny 

0  0  1  0 

y = x

1

x

2

=

2

1

x

x

=

2

1

x

x

 

zakaz przez x

2

, negacja implikacji 

0  0  1  1 

y = x

powtórzenie x

background image

 

0  1  0  0 

y = x

2

x

1

=

1

2

x

x

=

2

1

x

x

 

zakaz przez x

1

, negacja implikacji 

odwrotnej 

0  1  0  1 

y = x

powtórzenie x

0  1  1  0 

y=x

1

x

2

1

2

1

x

x

x

x

 

alternatywa wyłączająca, dodawanie 

modulo dwa,   nierównoważność 

0  1  1  1 

y = x

1

 + x

2

 (czyt. y=x

lub x

2

alternatywa, dodawanie logiczne, suma 

logiczna 

1  0  0  0 

y = x

1

x

2

1

2

1

x

x

x

x

 

funkcja Peirce’a, nagacja alternatywy, 

funkcja NOR 

10 

1  0  0  1 

y = x

1

x

2

=

2

1

x

x

x

1

+x

równoważność 

11 

1  0  1  0 

y = 

2

x

(czyt. y =nie x

2

negacja x

12 

1  0  1  1 

y = x

2

x

= x

1

 + 

2

x

 

implikacja odwrotna 

13 

1  1  0  0 

y = 

1

x

 

negacja x

14 

1  1  0  1 

y = x

1

x

1

x

+ x

implikacja 

15 

1  1  1  0 

y = x

1

/x

2

 = 

2

1

2

1

x

x

x

x

 

funkcja Sheffera, negacja koniunkcji, 

funkcja NAND 

16 

1  1  1  1 

y = 1 

stała jedynkowa 

 
 

4. Algebra Boole’a 

 
Algebra Boole’a zajmuje się zależnościami zachodzącymi pomiędzy funkcjami: alternatywą, 
koniunkcją i negacją.  
Funkcje alternatywa, koniunkcja i negacja tworzą tzw. podstawowy system funkcjonalnie 
pełny. 
System funkcjonalnie pełny
 jest to zbiór (zestaw) funkcji logicznych umożliwiający 
tworzenie zapisów algebraicznych dowolnie złożonych funkcji logicznych. 
Tworzenie zapisu algebraicznego funkcji logicznej zdefiniowanej np. w postaci opisu 
słownego, w postaci tabelarycznej lub w inny sposób, nazywa się syntezą tej funkcji, do 
czego niezbędna jest znajomość algebry Boole’a. 
 
Zależności zachodzące pomiędzy funkcjami: alternatywą, koniunkcją i negacją wyrażają tzw. 
aksjomaty algebry Boole’a. 
 
Aksjomaty algebry Boole’a 
 

0

1

0

0

1

0

x

x

x

x

x

x

x

x

 

1

1

1

0

0

1

x

x

x

x

x

x

x

x

 

background image

 

2

1

2

1

3

2

3

1

3

2

1

3

2

1

3

2

1

1

2

2

1

)

(

)

(

)

(

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

2

1

2

1

3

2

3

1

3

2

1

3

2

1

3

2

1

1

2

2

1

)

(

)

(

)

(

)

(

)

(

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

 

x

x

 

 

5. Synteza funkcji logicznych  

 
Przykładowa funkcja logiczna 

)

,

,

(

3

2

1

x

x

x

f

y

 

 

x

x

x

y

 

 

Elementarny iloczyn funkcji 

)

,

,

(

3

2

1

x

x

x

f

y

 - dowolny iloczyn 

argumentów prostych lub zanegowanych, np.

3

1

x

x

3

2

1

x

x

x

Składnik jedności – elementarny iloczyn, w którym występują 
wszystkie argumenty funkcji. 

Elementarna suma funkcji 

)

,

,

(

3

2

1

x

x

x

f

y

 - dowolna suma 

argumentów prostych lub zanegowanych, np.

3

1

x

x

3

2

1

x

x

x

Czynnik zera – elementarna suma, w której występują wszystkie 
argumenty funkcji. 

 
 

Nr st. 

argum. 

x

x

x

Składniki jedności funkcji 

)

,

,

(

3

2

1

x

x

x

f

y

 

Czynniki zera funkcji 

)

,

,

(

3

2

1

x

x

x

f

y

 

3

2

1

0

x

x

x

K

 

3

2

1

0

x

x

x

D

 

3

2

1

1

x

x

x

K

 

3

2

1

1

x

x

x

D

 

3

2

1

2

x

x

x

K

 

3

2

1

2

x

x

x

D

 

3

2

1

3

x

x

x

K

 

3

2

1

3

x

x

x

D

 

3

2

1

4

x

x

x

K

 

3

2

1

4

x

x

x

D

 

3

2

1

5

x

x

x

K

 

3

2

1

5

x

x

x

D

 

3

2

1

6

x

x

x

K

 

3

2

1

6

x

x

x

D

 

3

2

1

7

x

x

x

K

 

3

2

1

7

x

x

x

D

 

 
Łatwo zauważyć, że dla przyjętej w powyższej tablicy numeracji składników jedności i 
czynników zera: 

-  składnik jedności 

i

 przyjmuje wartość 1 tylko dla i-tego stanu argumentów; dla 

pozostałych stanów argumentów jest zerem, 

-  czynnik zera 

i

 przyjmuje wartość 0 tylko dla i-tego stanu argumentów; dla 

pozostałych stanów argumentów jest jedynką. 

Przyjętą w powyższej tablicy zasadę numeracji składników jedności i czynników zera można 
wyrazić w postaci reguł: 

background image

 

-  składnik jedności K oznaczamy indeksem i, jeżeli dla i-tego stanu argumentów 

przyjmuje on wartość 1, 

-  czynnik zera D oznaczamy indeksem i, jeżeli dla i-tego stanu argumentów przyjmuje 

on wartość 0. 

Rozwiniętą postać składników jedności lub czynników zera danej funkcji można sformułować 
jeżeli są przyjęte oznaczenia argumentów tej funkcji, np. w przypadku funkcji 

)

,

,

,

(

d

c

b

a

f

y

 

Nr st. 

argum. 

a

 

b

 

d

 

Składniki jedności funkcji 

)

,

,

,

(

d

c

b

a

f

y

 

Czynniki zera funkcji 

)

,

,

,

(

d

c

b

a

f

y

 

d

c

b

a

K

0

 

d

c

b

a

D

0

 

d

c

b

a

K

1

 

d

c

b

a

D

1

 

 

 

 

 

 

 

 

d

c

b

a

K

5

 

d

c

b

a

D

5

 

 

 

 

 

 

 

 

12 

d

c

b

a

K

12

 

d

c

b

a

D

12

 

 

 

 

 

 

 

 

15 

d

c

b

a

K

15

 

d

c

b

a

D

15

 

 
Łatwo zauważyć, że jakąkolwiek funkcję trójargumentową (i analogicznie funkcje o innej 
liczbie argumentów) można zapisać w postaci: 

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

0

3

2

1

)

,

,

(

K

y

K

y

K

y

K

y

K

y

K

y

K

y

K

y

x

x

x

y

zwanej kanoniczną postacią alternatywną danej funkcji, 
gdzie: 

0

 - wartość zmiennej zależnej funkcji przy zerowym stanie argumentów, 

1

 - wartość 

funkcji przy pierwszym stanie argumentów, itd. 
Dla konkretnej funkcji zdefiniowanej w postaci tablicy 
 

Nr stanu 

argum. 

x

x

x

y

 

otrzymuje się kanoniczną postać alternatywną  

7

6

5

4

3

2

1

0

3

2

1

1

1

1

1

0

0

1

1

)

,

,

(

K

K

K

K

K

K

K

K

x

x

x

y

 

Po usunięciu składników o wartości 0 

7

6

5

4

1

0

3

2

1

)

,

,

(

K

K

K

K

K

K

x

x

x

y

 

Funkcję tę można przedstawić w postaci symbolicznej (liczbowej): 

7

,

6

,

5

,

4

,

1

,

0

)

,

,

(

3

2

1

x

x

x

y

 

background image

 

10 

Należy rozumieć, że dana funkcja 

)

,

,

(

3

2

1

x

x

x

y

 jest alternatywą składników jedności 

7

6

5

4

1

0

K

K

K

K

K

K

Właściwym zapisem kanonicznej postaci alternatywnej przykładowej funkcji jest: 

3

2

1

3

2

1

3

2

1

3

2

1

3

2

1

3

2

1

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

y

 

 
Również łatwo zauważyć, że jakąkolwiek funkcję trójargumentową (i analogicznie funkcje o 
innej liczbie argumentów) można zapisać w postaci: 

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

(

)

,

,

(

7

7

6

6

5

5

4

4

3

3

2

2

1

1

0

0

3

2

1

D

y

D

y

D

y

D

y

D

y

D

y

D

y

D

y

x

x

x

y

zwanej kanoniczną postacią koniunkcyjną danej funkcji, 
Dla przykładowej funkcji: 

)

1

(

)

1

(

)

1

(

)

1

(

)

0

(

)

0

(

)

1

(

)

1

(

)

,

,

(

7

6

5

4

3

2

1

0

3

2

1

D

D

D

D

D

D

D

D

x

x

x

y

 

Po usunięciu czynników o wartości 1 otrzymuje się 

3

2

3

2

1

)

,

,

(

D

D

x

x

x

y

 

Stosowany jest zapis symboliczny (liczbowy) 

3

,

2

)

,

,

(

3

2

1

x

x

x

y

 

Należy rozumieć, że dana funkcja 

)

,

,

(

3

2

1

x

x

x

y

 jest koniunkcją czynników zera 

3

2

D

D

Właściwym zapisem kanonicznej postaci koniunkcyjnej przykładowej funkcji jest: 

)

(

)

(

3

2

1

3

2

1

x

x

x

x

x

x

y

 

 
Na ogół, korzystając z praw algebry Boole’a, można przekształcać postacie kanoniczne w 
celu zmniejszenia liczby występujących w nich elementarnych operacji logicznych, co 
nazywamy minimalizacją funkcji logicznych.