5.1  Teoretický základ logického řízení

Obsah kapitoly:

5.1.1  Logické proměnné a logické funkce

5.1.2  Zákony formální logiky

 

Řada základních pojmů a vztahů matematické (tzv. formální) logiky je analogických s pojmy a vztahy známými algebry. Proto se také formální logika často nazývá podle jejího zakladatele Booleova algebra. Základní rozdíl je v tom, že Booleova algebra pracuje pouze se dvěma hodnotami: „pravda“ a „nepravda“, nebo také „logická jednička“ a „logická nula“.

5.2.1  Logické proměnné a logické funkce

Logická proměnná je analogií číselné proměnné, ale zatímco číselná proměnná může nabývat libovolné hodnoty z nějaké množiny (např. reálných čísel), logická proměnná může nabývat pouze zmíněných dvou hodnot. Z hlediska řízení to odpovídá určitým mezním stavům reálných zařízení, např. „otevřeno“ / „zavřeno“, „zapnuto“ / „vypnuto“, „chod“ / „klid“, ale třeba také „teplota<20oC“ / „teplota³20oC“. Tyto stavy můžeme snadno popsat pomocí logických proměnných, např. takto:

čerpadlo

log.proměnná C

  

teplota

log.proměnná T

zapnuto

1

  

<20oC

0

vypnuto

0

  

³20oC

1

Logická funkce je opět obdobou číselné matematické funkce s tím rozdílem, že jejími argumenty jsou logické proměnné a jejím výsledkem je buď (logická) 1 nebo (logická) 0.

Matematická funkce je vždy nějak definována, obvykle matematickou formulí. Pro definici logické funkce se používá dvou způsobů:

·         pravdivostní tabulkou, která udává hodnotu logické funkce pro každou možnou kombinaci hodnot jejích argumentů,

·         logickým výrazem, který se skládá z logických proměnných spojených operátory elementárních logických funkcí.

Oba způsoby mají své výhody a nevýhody, oba se běžně používají.

Stejně jako v matematice jsou definovány základní početní operace, tak i zde jsou definovány základní operace s logickými proměnnými jako tzv. elementární logické funkce. Jsou tři:

· negace (NOT) funkce jedné proměnné
značení:

pravdivostní tabulka: x f(x)
0 1
1 0
zápis logickým výrazem:

· logický součet  
(OR , „nebo“ , disjunkce)
funkce dvou proměnných
značení:

pravdivostní tabulka: x y f(x)
0 0 0
0 1 1
1 0 1
1 1 1
zápis logickým výrazem:

· logický součin  
(AND , „a“ , konjunkce)
funkce dvou proměnných
značení:

pravdivostní tabulka: x y f(x)
0 0 0
0 1 0
1 0 0
1 1 1
zápis logickým výrazem:

Tyto funkce představují vlastně logické operace obdobné operacím algebraickým a tedy analogicky při vyhodnocování logických výrazů platí priority operací postupně od nejvyšší:

1.   negace,

2.   logický součin,

3.   logický součet.

Pokud chceme priority operací změnit, použijeme závorek.

Mezi elementární logické funkce se často zařazují ještě další funkce dvou proměnných, které jsou však definovány na základě výše uvedených tří, takže vlastně již elementární nejsou. Pro úplnost je uvádíme také, ale pouze v zápisu logickým výrazem:

·

Shefferova funkce  ( NAND , negace log.součinu )

(5.1)

·

Pierceova funkce  (NOR , negace log.součtu)

(5.2)

·

exclusive OR (XOR, neekvivalence)

(5.3)

·

implikace

(5.4)

·

ekvivalence

(5.5)

Při vytváření logických funkcí např. právě pro účely řízení je velmi přehledné používat pravdivostní tabulky, ovšem při realizaci takto definovaných funkcí počítačovým programem je třeba mít zápis ve tvaru logického výrazu. Uvádíme proto dva víceméně mechanické postupy umožňující vytvořit z pravdivostní tabulky logický výraz:

A)    Pomocí úplné disjunktní normální formy (ÚDNF):

1.  z pravdivostní tabulky vybereme řádky s hodnotou funkce rovnou 1,

2.  každý takový řádek zapíšeme jako logický součin argumentů funkce, přičemž je-li hodnota argumentu = 1, zapíšeme jeho symbol v přímém tvaru a je-li hodnota argumentu = 0, zapíšeme jeho symbol negovaný,

3.  výsledný logický výraz (zápis funkce) je logickým součtem všech takto vytvořených logických součinů.

B)    Pomocí úplné konjunktní normální formy (ÚKNF):

1.  z pravdivostní tabulky vybereme řádky s hodnotou funkce rovnou 0,

2.  každý takový řádek zapíšeme jako logický součet argumentů funkce, přičemž je-li hodnota argumentu = 0, zapíšeme jeho symbol v přímém tvaru a je-li hodnota argumentu = 1, zapíšeme jeho symbol negovaný,

3.  výsledný logický výraz (zápis funkce) je logickým součinem všech takto vytvořených logických součtů.

na začátek kapitoly

5.1.2  Zákony formální logiky

Pro operace s logickými proměnnými a výrazy platí podobně jako při aritmetických operacích určité zákony. Hovoříme o zákonech formální logiky, nebo také o zákonech Booleovy algebry. Jsou to tyto zákony (x, y, z ... logické proměnné):

·

zákon agresivity 0 v součinu a 1 v součtu (zákon dominance) :

x.0 = 0

x+1 = 1

(5.6)

·

zákon neutrality 0 v součtu a 1 v součinu  (axiom):

x+0 = x

x.1 = x

(5.7)

·

zákon o vyloučeném třetím  (axiom):

(5.8)

·

zákon komutativní v součtu a součinu  (axiom):

x+y = y+x

x.y = y.x

(5.9)

·

  zákon asociativní v součtu a součinu (axiom):

x+(y+z) = (x+y)+z

x.(y.z) = (x.y).z

(5.10)

·

zákon distributivní  (axiom):

x.(y+z) = x.y + x.z

x+(y.z) = (x+y).(x+z)

(5.11)

·

zákon opakování :

x+x = x

x.x = x

(5.12)

·

 zákon dvojí negace :

 

(5.13)

·

de Morganovy zákony :

(5.14)

Těchto zákonů používáme při úpravách a zjednodušování logických výrazů. Kromě nich existuje ještě jeden užitečný vztah, který se při zjednodušování výrazů může hodit:

 

 

     ( V ... libovolný logický výraz )

(5.15)

Pro informaci ještě uvádíme čtyři základní grafické symboly odpovídající logickým funkcím dvou proměnných. Používá se jich při kreslení funkčních blokových schémat logických obvodů:

AND
logický součin

NAND
negovaný logický součin

OR
logický součet

NOR
negovaný logický součet

 

na začátek kapitoly