1
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
2
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
x ,
2
x i
3
x 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
x
2
x
3
x
1
y
2
y
3
y
4
y
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0 albo 1
0 albo 1
2
0
1
0
0
0
0 albo 1
0 albo 1
3
0
1
1
0
1
0 albo 1
1
4
1
0
0
0
0
0 albo 1
0 albo 1
5
1
0
1
0
1
0 albo 1
1
6
1
1
0
0
1
0 albo 1
1
7
1
1
1
1
1
1
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
y 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
y (także układ z sygnałem wyjściowym
4
y ) 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
y 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
y ); 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.
3
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
a - zmienne kodowe (mogą przyjmować wartości od 0 do 9),
- 10 – podstawa kodu,
4
-
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
1
0 0 0 1
2
0 0 1 1
3
0 0 1 0
0
4
0 1 1 0
1
5
0 1 1 1
2
6
0 1 0 1
3
7
0 1 0 0
4
8
1 1 0 0
5
9
1 1 0 1
6
10
1 1 1 1
7
5
11
1 1 1 0
8
12
1 0 1 0
9
13
1 0 1 1
14
1 0 0 1
15
1 0 0 0
Kod Graya
a
1
, a
0
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
W 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)
g
= (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
1
0 0 1
2
0 1 1
3
1 1 1
4
1 1 0
5
1 0 0
Liczba
dziesiętna
a
3
a
2
a
1
a
0
0
0 0 0 0
1
0 0 0 1
2
0 0 1 1
3
0 1 1 1
4
1 1 1 1
5
1 1 1 0
6
1 1 0 0
7
1 0 0 0
Liczba
dziesiętna
a
4
a
3
a
2
a
1
a
0
0
0 0 0 0 0
1
0 0 0 0 1
2
0 0 0 1 1
3
0 0 1 1 1
4
0 1 1 1 1
5
1 1 1 1 0
6
1 1 1 0 0
7
1 1 0 0 0
8
1 1 0 0 0
9
1 0 0 0 0
6
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 0 1
1
0 0 1 0
2
0 1 0 0
3
1 0 0 0
3. Funkcje logiczne
Funkcje logiczne jednoargumentowe
)
(x
f
y
x
y = 0
0
0
1
0
Funkcja stała zerowa
x
y = x
0
0
1
1
Powtórzenie x
x
y =
x
0
1
1
0
Negacja x
x
y = 1
0
1
1
1
Funkcja stała jeden
Funkcje logiczne dwuargumentowe
)
,
(
2
1
x
x
f
y
x
1
x
2
y
0
y
1
y
2
y
3
y
4
y
5
y
6
y
7
y
8
y
9
y
10
y
11
y
12
y
13
y
14
y
15
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
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
1
0 0 0 0
y = 0
stała zerowa
2
0 0 0 1
y = x
1
·x
2
(czyt. y=x
1
i x
2
)
koniunkcja, iloczyn logiczny
3
0 0 1 0
y = x
1
x
2
=
2
1
x
x
=
2
1
x
x
zakaz przez x
2
, negacja implikacji
4
0 0 1 1
y = x
1
powtórzenie x
1
7
5
0 1 0 0
y = x
2
x
1
=
1
2
x
x
=
2
1
x
x
zakaz przez x
1
, negacja implikacji
odwrotnej
6
0 1 0 1
y = x
2
powtórzenie x
2
7
0 1 1 0
y=x
1
x
2
=
2
1
2
1
x
x
x
x
alternatywa wyłączająca, dodawanie
modulo dwa, nierównoważność
8
0 1 1 1
y = x
1
+ x
2
(czyt. y=x
1
lub x
2
)
alternatywa, dodawanie logiczne, suma
logiczna
9
1 0 0 0
y = x
1
x
2
=
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
2
równoważność
11
1 0 1 0
y =
2
x
(czyt. y =nie x
2
)
negacja x
2
12
1 0 1 1
y = x
2
x
1
= x
1
+
2
x
implikacja odwrotna
13
1 1 0 0
y =
1
x
negacja x
1
14
1 1 0 1
y = x
1
x
2
=
1
x
+ x
2
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
8
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
1
x
2
x
3
y
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
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
1
x
2
x
3
Składniki jedności funkcji
)
,
,
(
3
2
1
x
x
x
f
y
Czynniki zera funkcji
)
,
,
(
3
2
1
x
x
x
f
y
0
0
0
0
3
2
1
0
x
x
x
K
3
2
1
0
x
x
x
D
1
0
0
1
3
2
1
1
x
x
x
K
3
2
1
1
x
x
x
D
2
0
1
0
3
2
1
2
x
x
x
K
3
2
1
2
x
x
x
D
3
0
1
1
3
2
1
3
x
x
x
K
3
2
1
3
x
x
x
D
4
1
0
0
3
2
1
4
x
x
x
K
3
2
1
4
x
x
x
D
5
1
0
1
3
2
1
5
x
x
x
K
3
2
1
5
x
x
x
D
6
1
1
0
3
2
1
6
x
x
x
K
3
2
1
6
x
x
x
D
7
1
1
1
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
K przyjmuje wartość 1 tylko dla i-tego stanu argumentów; dla
pozostałych stanów argumentów jest zerem,
- czynnik zera
i
D 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ł:
9
- 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
c
d
Składniki jedności funkcji
)
,
,
,
(
d
c
b
a
f
y
Czynniki zera funkcji
)
,
,
,
(
d
c
b
a
f
y
0
0
0
0
0
d
c
b
a
K
0
d
c
b
a
D
0
1
0
0
0
1
d
c
b
a
K
1
d
c
b
a
D
1
5
0
1
0
1
d
c
b
a
K
5
d
c
b
a
D
5
12
1
1
0
0
d
c
b
a
K
12
d
c
b
a
D
12
15
1
1
1
1
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
y - wartość zmiennej zależnej funkcji przy zerowym stanie argumentów,
1
y - wartość
funkcji przy pierwszym stanie argumentów, itd.
Dla konkretnej funkcji zdefiniowanej w postaci tablicy
Nr stanu
argum.
x
1
x
2
x
3
y
0
0
0
0
1
1
0
0
1
1
2
0
1
0
0
3
0
1
1
0
4
1
0
0
1
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
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
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.