3 proměnné
Transkript
Obsah Vymezení použitých pojmů Základní pravidla pro svazování kvadrantů v Karnaughových mapách Základní pravidla pro tvorbu rovnic Postup při zápisu rovnice z Karnaughovy mapy Příklady řešení Vymezení použitých pojmů Kvadrant - Jeden ze 8 čtverců v Karnaughovy mapy Vazba - Několik kvadrantů Karnaughovy mapy svázaných podle určených pravidel Sektor - Vodorovná nebo svislá část Karnaughovy mapy Člen - Jedna proměnná v rovnici Programovatelné automaty – řešení pro 3 proměnné Základní pravidla pro svazování kvadrantů v Karnaughových mapách 1.1 Svazujeme pouze ty kvadranty, které spolu bezprostředně sousedí, to znamená, že mají spolu shodnou aspoň jednu stranu kvadrantu. Musíme počítat i s tím, že protilehlé krajní kvadranty (v ose x, nikoliv protilehlé křížem) spolu také sousedí, protože Karnaughovu mapu si můžeme představit nejenom jako plochu ale i jako válec stočený kolem osy „x“. Svazujeme spolu vždy pouze takový počet kvadrantů, který se rovná mocnině čísla 2. To znamená, že můžeme svazovat pouze 20 = 1 kvadrant nebo 21 = 2 kvadranty nebo 22 = 4 kvadranty (mocnina 23 a vyšší nás v tomto případě nezajímají neboť 23 = 8 což znamená, že by byly zaplněny všechny kvadranty požadovanou hodnotou „1“) Při svazování kvadrantů se snažíme vždy svázat co největší počet kvadrantů, protože čím větší je počet svázaných kvadrantů tím kratší je výsledná rovnice (viz. kapitola „Základní pravidla pro tvorbu rovnic“). Při svazování kvadrantů můžeme svazovat i kvadranty, které byly již byly použity pro svázání s jinými kvadranty, takže některé kvadranty mohou být svázány i několikrát. 1.2 1.3 1.4 1.5 Příklady možného svazování kvadrantů 4 kvadranty krajní 1 1 1 1 4 kvadranty vodorovné 1 2 kvadranty (protilehlé) 1 1 1 1 1 1 1 1 2 a 2 kvadranty 1 1 1 1 4 a 4 kvadranty 1 2 a 2 a 2 kvadranty 1 1 4 a 2 kvadranty 1 1 1 4 kvadranty 1 1 1 1 1 1 1 2 a 2 a 1 kvadrant 1 1 1 1 1 1 1 1 Základní pravidla pro tvorbu rovnic 2.1 Každý kvadrant Karnaughovy mapy odpovídá jednomu řádku v minimalizační tabulce. c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 2.2 2.3 Kvadranty v jedné vazbě se mezi sebou násobí a jednotlivé vazby se mezi sebou sčítají. Pro ověření správnosti zápisu výsledné rovnice platí následující počty proměnných pro jednotlivé vazby: a) pro vazbu 4 kvadrantů je výsledkem vždy 1 ze 3 proměnných b) pro vazbu 2 kvadrantů je výsledkem vždy součin 2 ze 3 proměnných c) pro vazbu 1 kvadrantů je výsledkem vždy součin všech 3 proměnných a 0 1 0 1 0 1 0 1 y (1) (2) (3) (4) (5) (6) (7) (8) Zobrazení příslušných řádku v Karnaughově mapě 000 (1) 010 (3) 011 (4) 001 (2) 100 (5) 110 (7) 111 (8) 101 (6) Postup při zápisu rovnice z Karnaughovy mapy Pro přehlednější orientaci v Karnaughově mapě je vhodné si nejprve označit jednotlivé řádky a sloupce mapy – jednotlivé sektory, které odpovídají příslušným proměnným „a,b,c,d“. Můžeme použít buď grafické znázornění nebo binární nebo můžeme použít oba způsoby. Grafické znázornění a b Binární znázornění 00 10 11 01 (b a) 0 1 c (c) Grafické i binární znázornění – s barevným odlišením a b 00 10 11 01 0 c 1 Do takto označené mapy můžeme zapsat data z minimalizační tabulky podle výše uvedených pravidel (odstavec 2.1) Příklad 1: „y“ bude 1 pokud „a“ a zároveň „b“ bude vždy 1, nebo jenom „c“ bude vždy 1 c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 y 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 Po zápisu do mapy provedeme nejvýhodnější svázání kvadrantů obsahujících „1“: Vzniknou nám dvě vazby, jedna se 4 kvadranty druhá se 2 kvadranty. 0 0 1 0 1 1 1 1 Podle pravidel (odst. 2.3) můžeme prohlásit, že výsledná rovnice bude mít jeden + dva členy. Červené šipky nám vymezují červenou vazbu, obsahující 4 kvadranty. Modré šipky nám vymezují modrou vazbu, obsahující 2 kvadranty. 00 10 11 01 0 0 0 1 0 1 (c) 0 0 1 0 (b a) Čtení z Karnaughovy mapy provedeme pomocí binárního znázornění sektorů, ve kterých jsou jednotlivé vazby obsaženy. Každému znaku v binárním zobrazení odpovídá jedna proměnná, u sloupcových sektorů zastupuje první znak proměnnou „b“ a druhý proměnnou „a“; u řádkových sektorů zastupuje znak proměnnou „c“. 1. Nejdříve provedeme zápis červené vazby obsahující 4 kvadranty. Postupujeme tak, že si přečteme binární zápis sektorů, ve kterých se nachází tato vazba. Začneme například zápisem binárního znázornění řádku, který je [1], což nám ukazuje, že c = 1. To znamená, že ve výsledném zápisu rovnice této vazby bude proměnná „c“. Pak pokračujeme čtením binárního znázornění řádků. Zde je vazba obsažena ve všech čtyřech sektorech, což znamená, že proměnná „a“ a „b“ se nám navzájem vykrátí, neboť proměnná „a“ je zastoupena stejným počtem 1 i 0 stejně jako proměnná „b“. Důkaz: (přepis binárního znázornění sloupců) 00 ba b=0 a=0 b=0 a=1 01 11 10 (první znak binárního čísla zastupuje „b“ druhý „a“) ba ba ba b=1 ⇒ b není obsaženo a=1 ⇒ a není obsaženo „b“ ani „a“ není obsaženo v žádném sloupcovém sektoru. b=1 ⇒ b není obsaženo a=0 ⇒ a není obsaženo Můžeme tedy konstatovat, že výslednou rovnicí pro červenou vazbu 4 kvadrantů je „ c “. 2. Pokračujeme zápisem modré vazby obsahující 2 kvadranty. Postupujeme stejně jako v bodě 1 a začneme nejprve zápisem binárního znázornění řádků. Zde máme dva údaje, protože vazba je obsažena ve dvou řádkových sektorech. První je [0] a druhý [1], to znamená, že znaky, které zastupují proměnnou „c“, se vzájemně vykrátí, takže výsledná rovnice nebude obsahovat tuto proměnnou. Důkaz: (přepis binárního znázornění řádků) 0 c 1 c c=0 c=1 ⇒ c není obsaženo „c“ není obsaženo v žádném řádkovém sektoru. Pak pokračujeme čtením binárního znázornění sloupce. Zde je vazba obsažena v jednom sektoru [11]. Na obou pozicích binárního čísla, které nám zastupují proměnné „b“ a „a“, je jednička, což znamená, že výsledná rovnice této vazby bude obsahovat součin „ a . b “. Můžeme tedy konstatovat, že výslednou rovnicí pro modrou vazbu 2 kvadrantů je součin „ a . b “. 3. Sloučením obou vazeb (podle pravidel uvedených v odst. 2.2) dostaneme výslednou rovnici celého zadání: y = a.b + c Poznámka: Při tvorbě rovnice vždy zapisujeme součin před součet. Tím dosáhneme kratšího programového kódu. Důkaz: y = c + a.b y = a.b + c LD c LD a AND b OR WR Y LD a AND b OR c WR Y Příklad 2: Podmínky, kdy na výstupu „y“ bude vždy 1 jsou zadány přímo v minimalizační tabulce: c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 y 0 0 1 1 1 1 1 0 0 1 1 0 1 1 0 1 Po zápisu do mapy provedeme nejvýhodnější svázání kvadrantů obsahujících „1“: Vzniknou nám tři vazby se 2 kvadranty. 00 10 11 01 0 0 1 1 0 1 1 1 0 1 ba c 1 Nejdříve provedeme zápis modré vazby obsahující 2 kvadranty. Postupujeme tak, že si přečteme binární zápis sektorů, ve kterých se nachází tato vazba. Začneme nejprve zápisem binárního znázornění sloupců. Zde máme dva údaje, protože vazba je obsažena ve dvou sloupcových sektorech. První je [10] a druhý [11], to znamená, že na první pozici obou binárních čísel je 1 a na druhé pozici je v prvním případě 0 a ve druhém 1. Z toho vyplývá, že znaky na druhé pozici obou binárních čísel, které zastupují proměnnou „a“, se vzájemně vykrátí, takže výsledná rovnice této vazby bude obsahovat proměnnou „b“, která je zastoupena v obou binárních číslech jedničkou na první pozici. Důkaz: (přepis binárního znázornění sloupců) 10 ba 11 ba b=1 b=1 ⇒ b je obsaženo a=0 a=1 ⇒ a není obsaženo Pouze „b“ je obsažena v daných sloupcových sektorech. Pak pokračujeme čtením binárního znázornění řádku. Zde je vazba obsažena v sektoru [0]. Z toho vyplývá, že výsledná rovnice bude obsahovat proměnnou „c“. Pokud nastane takový případ, kdy proměnná je v binármím čísle zastoupena pouze nulami, jedná se o tzv. „negaci výrazu“. V tomto případě zapisujeme proměnnou jako negovanou, což se značí jako proměnná s nadtržítkem „ c“ nebo textovým vyjádřením „(NOT c)“. Výsledná rovnice této vazby bude „b . (NOT c)“ 2. Pokračujeme zápisem červené vazby, která je obsažena v jednom řádkovém a dvou sloupcových sektorech. V řádkovém sektoru je vazba znázorněna pouze binárním zápisem [1], což znamená, že vazba je obsahuje proměnnou „c“. Výsledná rovnice této vazby bude tedy obsahovat proměnnou „c“. Ve sloupcových sektorech je první binární zápis [00] a druhý [10], takže proměnná „b“, která je zastoupena v prvním binárním čísle nulou a ve druhém jedničkou se nám vzájemně vykrátí. Zůstává proměnná „a“, která je v odou binárních číslech zastoupena nulou, proto bude výsledná rovnice obsahovat negaci proměnné „a“. Důkaz: (přepis binárního znázornění sloupců) 00 ba 10 ba b=0 b=1 ⇒ b není obsaženo a=0 a=0 ⇒ a je obsaženo Pouze „a“ je obsaženo v daných sloupcových sektorech v nule. Výsledná rovnice této vazby bude „(NOT a) . c“ 3. Při zápisu hnědé vazby postupujeme stejně jako u předchozí vazby. Opět je vazba obsažena v jednom řádkovém a dvou sloupcových sektorech. U řádkového sektoru je binární zápis [1], což znamená, že vazba bude obsahovat proměnnou „c“. Ve sloupcových sektorech je první binární zápis [00] a druhý [01], takže proměnná „a“, která je zastoupena v prvním binárním čísle nulou a ve druhém jedničkou se nám vzájemně vykrátí. Zůstává proměnná „b“, která je v odou binárních číslech zastoupena nulou, proto bude výsledná rovnice obsahovat negaci proměnné „b“ tedy „(NOT b)“. Důkaz: (přepis binárního znázornění sloupců) 00 ba 01 ba b=0 b=0 ⇒ b je obsaženo a=0 a=1 ⇒ a není obsaženo Pouze „b“ je obsaženo v daných sloupcových sektorech v nule. Výsledná rovnice této vazby bude „(NOT b) . c“ Rovnice celého zadání bude součtem všech tří vazeb a bude mít tento tvar: y = b.(NOT c) + (NOT a).c + (NOT b).c 1. vazba 2 kvadranty 2. vazba 2 kvadranty 3. vazba 2 kvadranty nebo pomocí negační značky (nadtržítka) y = b.c + a.c + b.c Rovnice po algebraické úpravě: y = b.(NOT c) + c.{(NOT a) + (NOT b)} Poznámka: Pro programování PLC používáme takovou úpravu rovnice, aby výsledný program obsahoval co nejmenší počet řádků. Proto je potřeba dodržovat při algebraických úpravých výsledných rovnic tyto zásady: ¾ Vytknutou veličinu dáváme až za závorku a v závorce zapisujeme součin před součet. ¾ Pokud závorka obsahuje dva součiny, zapisujeme v závorce součin s větším počtem proměnných před součin s menším počtem proměnných. ¾ Pokud vytýkáme v rovnici více jak jednou, zapisujeme vždy závorku s větším počtem proměnných před závoku s menším počtem proměnných. Podle uvedených zásad bude mít výsledná rovnice tento tvar: y = {(NOT a) + (NOT b)}.c + b.(NOT c) Pro názornost srovnejme počty řádků základního těla programu pro PLC u stejné rovnice v různých tvarech: y = b.(NOT c) + (NOT a).c + (NOT b).c y = {(NOT a) + (NOT b)}.c + b.(NOT c) 9 řádků programového kódu 7 řádků programového kódu Důkaz: y = b.(NOT c) + (NOT a).c + (NOT b).c y = {(NOT a) + (NOT b)}.c + b.(NOT c) LD b ANC c LDC a AND c OR LDC b AND c OR WR Y LDC a ORC b AND c LD b ANC c OR WR Y
Podobné dokumenty
Rady pro rodice - jak dite pokarat
dítě, má vlastnosti, které dělají radost jemu i nám. A právě na ně je třeba poukázat, aby s námi
chtělo spolupracovat. Pokaždé musíme dítěti připomenout, co umí, ne poukazovat na to, co se
ještě ne...
VZ2010 - Jihomoravská komunitní nadace
zařizování a vybavení kanceláře a energii nutnou k vytvoření základních
nadačních pravidel, víme zcela jistě, že můžeme hrdě mluvit o už druhé výroční
zprávě o působení naší nadace v regionu.
Rok d...
Bc. Martin Hanus, Bc. Petr Prikryl
1.2.2 Způsob součinu součtů.......................................................................................................4
1.3 Karnaughova mapa................................................
Metrologické poznámky napsané pro české vydání brošury
Na str. 52 a pak mnohde dále se objevují konstrukce se znaménkem ×, kdy se udávají dvě
délkové veličiny (zpravidla pro obdélník). V rukopisu jsme takřka důsledně (s výjimkou
tabulky komponent solár...
Diskrétní matematika a logika
Rada čtvrtá: Zkouška nebude jen z početní techniky. Měli byste na jisté úrovni být schopni popsat i teoretické
důvody, které zaručují správnost Vašeho řešení. Proto si zvykněte ke každému příkladu,...
Stáhnout zde
Manipulátor pro podávání polotovarů do lisu může uchopený plech natočit do správné polohy
otočením kolem příčné osy o 180° po řídicím signálu w = 1 a (nebo) otočením kolem podélné osy o
180° po říd...
Zadání 1. úlohy pro cvičen
napíšete nalezené logické rovnice z Karnaughových map. Nic jiného než logické rovnice a definice
signálů se v bloku architektury VHDL u KOM1 nepovolují.
Teprve po odladění KOM1 vytvořte KOM2 jako s...
příklady PLC
Navrhněte 8 kanálový multiplexer, který automaticky přepíná vstupy na jeden výstup. K výstupu je
připojena LED dioda.
27. příklad:
Navrhněte obvod, kde stále dokola bude rotovat jedna dioda (dvě, t...
hgfhgfh
{Belgie, Británie, Dánsko, Lichtenštejnsko, Lucembursko, Monako, Nizozemsko, Norsko,
Španělsko, Švédsko, Vatikán}.
Poznamenejme, že velice často se tento způsob zadávání užívá u jednoprvkových množ...
Neziskový bytový dům v Novém Bělehradě en— Non-Profit
let. Výsledný objekt se snaží na kontext spíše navázat, než jej
potlačovat. Budova se stala prvním objektem nové řadové zástavby
podél ulice Jurije Gagarina, její průčelí je orientováno opačně než
...