H - Řízení technologického procesu logickými obvody (Logické řízení)
Teoretický úvod Součástí řízení technologických procesů je i zajištění správné posloupnosti úkonů a technologických operací a rozhodování o dalším postupu na základě dosaženého stavu. Logické řízení se zabývá návrhem automatů, jejich funkcí je blokování určitých operací, signalizace určitých stavů a také diagnostika chybné činnosti. Logické řízení se realizuje součástkově pomocí běžných integrovaných obvodů. Složitější logické řízení se zabezpečuje sekvenčními automaty nebo počítači, kde se logické funkce programují. Základním teoretickým aparátem je matematická logika a Booleova algebra. Tímto aparátem lze problémy řešit na obecné úrovni formálních operací. Konkrétní realizace se pak děje pomocí prvků určité stavebnice, která svými signály zobrazuje logické proměnné a svými jednotkami realizuje příslušné logické operace a relace Logická proměnná může nabývat pouze dvou hodnot. Tyto hodnoty se nazývají „pravda“, „nepravda“ („logická jednička“, „logická nula“ nebo „1“, „0“ nebo „H“, „L“ nebo „true“, „false“). Zavedení logické proměnné je základní abstrakcí při návrhu logického řízení. Výrok „ventil je otevřen“ je buď pravdivý nebo nepravdivý, lze ho proto nahradit logickou proměnnou g, jejíž hodnota pak odpovídá stavu ventilu Stav ventilu
Hodnota logické proměnné g
otevřen
1
uzavřen
0
Pracuje-li ventil dvoupolohově, je přiřazení snadné. Přiřazení logických hodnot se provádí i u spojitých veličin, kdy proměnná změní svou logickou hodnotu (např. z 0 na 1) při dosažení a překročení určité hodnoty, např. teploty 60 °C. Logická funkce je funkce, jejíž argumenty jsou logické proměnné a funkce nabývá také hodnot logických proměnných. Logické funkce se definují buď pomocí pravdivostní tabulky, která udává funkční hodnotu pro všechny možné kombinace argumentů, nebo se funkce zadává pomocí logického výrazu s použitím operátorů pro elementární logické funkce. Elementárních logických funkcí je konečný počet. Nejpoužívanější funkce jsou uvedeny v následující tabulce. Vlevo je název a označení funkce, algebraický výraz, uprostřed je její pravdivostní tabulka a napravo je její schématická značka. Napadne vás význam kroužku na výstupní straně obvodu?
1
Negace : NOT f =a
a 0 1
f 1 0
Logický součin: AND f = a·b
a 0 0 1 1
b 0 1 0 1
f 0 0 0 1
Logický součet : OR f = a+b
a 0 0 1 1
b 0 1 0 1
f 0 1 1 1
Funkce NAND :
a 0 0 1 1
b 0 1 0 1
f 1 1 1 0
a 0 0 1 1
b 0 1 0 1
f 1 0 0 0
f = a⋅b
Funkce NOR :
f = a+b
1
a
a
f=a
&
b
a
1
b
a
&
b
a b
1
f = a⋅b
f=a+b
f = a ⋅b
f=a+b
Úplným souborem logických funkcí nazýváme takovou množinu funkcí, s jejíž pomocí můžeme vyjádřit libovolnou logickou funkci. Jsou to např. [NOT a AND], [NOT a OR], [NAND], [NOR]. To má význam pro technickou realizaci. Stačí mít pouze takové konstrukční prvky, které tvoří úplný soubor. Libovolnou funkci lze vytvořit např. jen z prvků NAND. Z hlediska řízení rozlišujeme řízený objekt (technologické zařízení) a řídící objekt (logický obvod). Mezi těmito objekty se přenáší informace tvořená často souborem logických proměnných. Protože se jedná o uspořádaný soubor proměnných, nazýváme tento uspořádaný soubor vektorem (slovem). Schéma logického řízení je na obrázku:
2
Obr.1 Schéma logického řízení
O stavu řízeného objektu nás informuje informační vektor. Příkazový vektor nás informuje např. o stavu ovládacích tlačítek, kterými může operátor zasahovat do činnosti logického obvodu. Technologické zařízení lze ovládat ovládacím vektorem. Logický obvod informuje operátora o skutečném stavu procesu pomocí oznamovacího vektoru. Logické řízení může být buď zcela automatické bez nutnosti zásahu obsluhy, nebo s určitými automatickými funkcemi, vyžadující v určitých situacích zásah obsluhy, např. rozhodnutí o dalším postupu podle situace. Návrh logického řízení je vlastně nalezení takových logických funkcí, které převedou technologické zařízení z daného stavu do požadovaného stavu pomocí posloupnosti hodnot ovládacího vektoru logických proměnných. Prvním krokem návrhu logického řízení je rozbor požadavků na řízení. Je nutno stanovit vstupní a výstupní logické proměnné a jejich fyzikálně-technickou interpretaci. Chování logického obvodu se stanoví podle pravdivostní tabulky chování a z ní odvozené logické funkce. Je nutno uvažovat všechny možnosti. Pokud jsou některé kombinace vstupních proměnných fyzikálně nemožné, pak je funkce neúplně zadaná, volíme její hodnoty tak, aby se výsledná realizace zjednodušila. Při odvozování a úpravě logické funkce využíváme zákonů Booleovy algebry. Je to matematická disciplína, která je definována pro dvouhodnotovou množinu proměnných (0 a 1), na nichž jsou definovány dvě binární operace (součtu a součinu) a jedna unární operace (negace). Booleova algebra je odvozena z určitých axiómů, z nichž se odvozují další zákony a pravidla.
zákon dvojí negace
:
a=a
ale pozor, a ⋅ b ≠ a ⋅ b
zákon agresivnosti
:
a·0=0
a+1=1
zákon neutrálnosti
:
a·1=a
a+0=a
zákon absorpce
:
a·a=a
a+a=a
zákon vyloučení třetího :
a⋅a = 0
a +a =1
Jak je vidět, většina pravidel se vyskytuje ve dvojicích. Změnou součinu za součet a současně nul na jedničky nebo proměnnou za její negaci a také opačně se vytvářejí duální dvojice.
3
Pravidla priority : • nejprve se vyčíslují výrazy v závorkách; negace má charakter závorky, • operace logického součinu má přednost před logickým součtem
zákon komutativní
:
a·b=b·a
a+b=b+a
zákon asociativní
:
(a · b) · c = a · (b · c)
(a + b) + c = a + (b + c)
zákon distributivní
:
a · (b + c) = a · b + a · c
a + (b· c) = (a + b) · (a + c)
a⋅b = a + b
a + b = a ⋅b
zákon de Morganův :
Zákony a pravidla se používají při zjednodušení a úpravách logických funkcí. Postupným zjednodušováním se logická funkce minimalizuje. Logické obvody se rozdělují na kombinační a sekvenční. Kombinační obvody jsou takové, kde hodnota logické funkce závisí jen na hodnotách vstupních proměnných. U sekvenčních obvodů závisí hodnota logické funkce nejen na hodnotách vstupních proměnných, ale také na jejich minulých stavech. Sekvenční obvody tedy mají určitou paměť.
Popis stavebnice Logická stavebnice DOMINOPUTER obsahuje jednotky pro realizaci logických funkcí, invertory (NOT, negace) a členy NAND se dvěma i více vstupy. Logické úrovně jsou dány určitými úrovněmi napětí. Logické jednotky (moduly) se vkládají do panelu a napájejí se napájecím napětím z rozvodu panelu. Napájecí zdířky jednotky jsou umístěny nahoře, zdířka GND se připojí krátkým bílým vodičem se zeleným označením na odpovídající svorku panelu. Podobně se připojí svorka +5 na odpovídající svorku panelu bílým vodičem s červeným označením. Panel pak musí být napájen napětím +5 V ze zdroje BK 125. Modul pod napětím signalizuje malá zelená LED dioda vlevo dole. Volbu hodnot logických proměnných a jejich signalizaci provádíme na voliči logických stavů (označeném LOG SELECTOR). Volba se provádí opakovaným stiskem tlačítka. Zvolená hodnota logické proměnné je signalizována světlem. Logická „1“ je signalizována červenou barvou, logická „0“ je signalizována zelenou barvou. Z jednotky je možno odebírat hodnotu logické proměnné ze zdířky vpravo, i její negaci ze zdířky vlevo. Takto je možno volit až osm hodnot logických proměnných A0 až A7. Signalizaci hodnot logických funkcí umožňuje statická logická sonda (označená STATIC LOG PROBE). Přivedením funkční hodnoty logické proměnné na zdířku signalizují barevné diody její hodnotu. Takto je možno signalizovat hodnoty osmi proměnných A0 až A7. Pokud je v některých zapojeních potřeba trvale přivést na vstupy hodnotu „1“, napojují se tyto vstupy přímo na zdířku +5, je-li potřeba trvale přivést hodnotu „0“, připojují se vstupy ke zdířce GND.
Průpravné cvičení :
Ověření elementárních logických funkcí
Do panelu vložte jednotky LOG SELECTOR a STATIC LOG PROBE a jednotku ověřovanou. Zapojení proveďte podle obrázku.
4
1
OUTPUT 0
A0
a
A1
b
f 0
1 INPUT A0
A2
ZELENÉ DIODY
A3 A4
ČERVENÉ DIODY
A5
TLAČÍTKA
A6
A1 A2 A3 A4 A5
ZDÍŘKY
A6
A7 TRI
A7
MEM
GATE
LOG SELECTOR
STATIC LOG PROBE
Obr. 2 Panely zdrojů a signalizací
1. Zapojujte postupně jednotlivé logické funkce, ověřte jejich chování podle příslušné pravdivostní tabulky pro všechny kombinace vstupních signálů. Ověřte takto funkci NOT a NAND. 2. Vytvořte funkci NOT s použitím jen funkce NAND. Druhý vstup zajistěte buď pomocí zákona absorpce nebo neutrality. Ověřte funkci podle pravdivostní tabulky. Nakreslete zapojení. 3. Vytvořte funkci logického součinu (AND) s použitím prvku NAND. Ověřte funkci podle pravdivostní tabulky. Nakreslete zapojení. 4. Vytvořte funkci logického součtu (OR) s použitím prvku NAND, aplikací zákona de Morganova. Ověřte funkci podle pravdivostní tabulky. Nakreslete zapojení. 5. Vytvořte funkci NOR s použitím prvku NAND. Ověřte funkci podle pravdivostní tabulky. Nakreslete zapojení. 6. Vytvořte sekvenční RS obvod s použitím prvků NAND a NOT podle schématu : 1
S S R
S R
T
Q
S
&
Q
Q Q 1
R
&
R
Ověřte funkci paměťového RS obvodu podle časových průběhů :
5
Q
Stav (S = 1) a (R = 1) není definován !!!
Řízení technologického procesu Technologické zařízení se skládá ze dvou nádrží. V nádrži A se odměřuje určité množství kapaliny a pak se ohřívá na určitou teplotu. Pak se kapalina přepouští do nádrže B. Přítok a přepouštění se řídí dvoupolohovými ventily. Do ventilu přichází ovládací proměnná, která jej otevírá. Z mechanické polohy ventilu se odvozuje informační proměnná, která informuje o jeho skutečném stavu.
1. úkol : Navrhněte a realizujte řízení pro napouštění nádrže A. • Nádrž A se může napouštět po povelu obsluhy, jsou-li splněny tyto požadavky : nádrž je prázdná, ventil na odtoku je uzavřený. • Začne-li se nádrž A napouštět, napouští se i když už nejsou splněny podmínky pro spuštění jejího napouštění. Tuto funkci zajistí sekvenční obvod, který má funkci paměti. • Napuštění nádrže se ukončí jejím naplněním nebo také nouzově při otevření ventilu na výtoku.
styk s technologickým zařízením ruční povel
a e c v
LOGICKÝ OBVOD Obr. 3 Blokové schéma řízení 1. úkolu
6
m
signalizace
r
styk s technologickým zařízením
r
g
c
LA 2
d
b
TA
FA 1
a
LA 1
A
t
e
f pára
s h
LA 3
k
LA 4
u
i
j
FA 2
B
Obr. 4 Model technologického zařízení
Tabulka logických proměnných pro napouštění nádrže A. hodnota ↓
logická proměnná L
0
1
a
hladina v nádrži A je pod dolní hladina v nádrži A je nad dolní úrovní úrovní
e
ventil na výtoku z nádrže A je uzavřen
ventil na výtoku z nádrže A je otevřen
c
hladina v nádrži A nedosáhla horní úroveň
hladina v nádrži A dosáhla horní úroveň
příkazový vektor ruční povel
v
nenapouštět nádrž, tlačítko uvolněno
napustit nádrž, tlačítko sepnuto
oznamovací vektor signalizace
m nádrž A není možno napustit
ovládací vektor
r
informační vektor L
přívod kapaliny do nádrže A uzavřen
7
nádrž A je možno napustit přívod kapaliny do nádrže A otevřen
a)
b)
Nejprve je třeba řešit požadavky umožňující napouštění nádrže. Možnost napouštění nádrže A signalizuje oznamovací proměnná m. Vytvoříme pravdivostní tabulku pro všechny možnosti proměnných a a e, jejichž hodnoty umožní napouštění. Jestliže nádrž není prázdná (a = 1), pak nelze nádrž napouštět. Pro obě hodnoty pravdivostní tabulky a = 1 bude m = 0. Jestliže ventil na výtoku je otevřen (e = 1) nelze napouštět nádrž (m = 0). Nádrž lze napouštět (m = 1) tehdy, je-li prázdná (a = 0) a současně je vypouštěcí ventil uzavřen (e = 0). Podle uvedených úvah zapíšeme pravdivostní tabulku :
a
e
m
0
0
1
0
1
0
1
0
0
1
1
0
Pro signalizaci musí být splněny obě logické podmínky (a = 0) a (e = 0). Logická funkce tedy je m = a ⋅ e
Napustit nádrž otevřením napouštěcího ventilu (r = 1) je možno tehdy, když to oznamuje signalizace (m = 1) a obsluha dá pokyn (v = 1). Avšak ovládací proměnná r bude vystupovat až z paměťového RS obvodu (viz bod 6 průpravného cvičení). Proto zavedeme dvě vnitřní proměnné : rs bude spínat paměťový obvod (odpovídá vstupu S) rR bude rozpínat paměťový obvod (odpovídá veličině R). Výstup z paměťového obvodu pak bude ovládací proměnná r (odpovídá veličině Q). Vytvoříme pravdivostní tabulku a z ní pak funkci.
m
v
rs
0
0
0
0
1
0
1
0
0
1
1
1
Logická funkce je rs = m · v,
Kombinační logický obvod spouštějící napouštění realizujte pomocí prvků NAND a NOT. a
1
a &
e
1
a⋅e
1 &
m⋅v
1
rs =m⋅v
e
v
Vyzkoušejte funkci tohoto obvodu. Co se děje, když se příkazová proměnná vrátí na původní hodnotu (v = 0) nebo hladina při napouštění překročí svou dolní úroveň (a = 1) ? c) Chceme však, aby se nádrž po spuštění dále napouštěla bez ohledu na to, že podmínky pro spuštění napouštění již nejsou splněny. Tuto funkci zajistí paměťový obvod
8
(klopný obvod RS), kde do vstupu S bude napojena funkce rs a výstup z RS obvodu s označením Q bude připojen jako ovládací proměnná r, která otevírá ventil. d) Ukončení napouštění nádrže se zajišťuje vstupem R do klopného obvodu jednak signálem c, tzn. při naplnění nádrže A, jednak signálem e, tzn. při nežádoucím otevření ventilu na výtoku z nádrže např. poruchou. Pro vytvoření logické proměnné o hodnotě „1“ do vstupu R si vytvoříme logický obvod. Je nutno si uvědomit, že změna signálu R z hodnoty „0“ na hodnotu „1“ způsobí změnu signálu Q z „1“ na „0“ a tím uzavře napouštěcí ventil. Nejprve však sestavíme pravdivostní tabulku podle zadání :
c
e
rR
0
0
0
0
1
1
1
0
1
1
1
1
Logická funkce je rR = c + e . Abychom mohli tuto funkci realizovat pomocí bloků NAND, musíme použít zákon de Morganův : rR = c + e = c ⋅ e
Tuto logickou kombinační funkci můžeme realizovat pomocí prvků NAND a NOT: c
1
c &
e
1
rR = c⋅ e = c + e
e
Nyní je možné sestavit celý obvod pro řízení napouštění nádrže A. Řídicí obvod realizujte z elementárních prvků NAND a NOT s využitím panelu technologie (obr.4). Panel je třeba připojit krátkou dvoulinkou napájení na panel logických obvodů. Ruční povel v realizujte stejně označeným tlačítkem na panelu technologie. Toto tlačítko realizuje signál v = 1 jen při stlačení, při uvolnění tlačítka bude signál v = 0. Pro realizaci správného zapojení a jeho prezentaci je třeba dodržet několik zásad, které je třeba uplatnit i v dalších úkolech: • Všechny vstupy do elementárního logického obvodu musí být definovány, tzn. že žádný ze vstupů nesmí zůstat nezapojený. • Vstupy do logických obvodů mohou být vzájemně propojovány a zapojeny jen na jeden výstup nebo zdroj signálu. • Výstupy z logických obvodů nelze vzájemně propojit, výsledkem je vždy chybná funkce. • Do protokolu uveďte blokové schéma vašeho regulačního obvodu skládajícího se z technologického zařízení a logického obvodu podle obr.1. Místo obecných vektorů veličin uveďte symboly konkrétních veličin v obvodu použitých. • Konkrétní zapojené celého logického obvodu uveďte do protokolu pomocí schématických značek elementárních funkcí spolu s jejich propojením s uvedením svorek konkrétního propojení podle přílohy 1.
9
•
Pro signalizaci dalších nebo pomocných veličin můžete použít i modul STATIC LOG PROBE a jako zdroj dalších nebo pomocných logických signálů pak také modul LOG SELECTOR.
2. úkol : Navrhněte a realizujte řízení ohřívání kapaliny v nádrži A pomocí kombinačního logického obvodu. • Kapalina v nádrži se může ohřívat automaticky, jsou-li splněny tyto požadavky: nádrž je plná kapaliny, teplota má hodnotu nižší než žádanou, ventil na výtoku je zavřený. • Kapalina se ohřívá přívodem páry. Konec ohřívání nastává po dosažení teploty. • Vytvořte blokové schéma řízení. • Vytvořte pravdivostní tabulku a logickou funkci. • Realizujte obvod pomocí prvků NAND. Ověřte jeho funkci. Pro jednoznačnost řešení dodržujte následující přiřazení logických proměnných:
c=0 c=1 b=0 b=1 e=0 e=1 s=0 s=1
nádrž A není plná kapaliny nádrž A je plná kapaliny teplota má hodnotu nižší než žádanou teplota má hodnotu vyšší než žádanou ventil na výtoku je zavřený ventil na výtoku je otevřený parní ventil uzavřít parní ventil otevřít
Toto přiřazení je třeba uvést do protokolu jako součást vašeho řešení. 3. úkol : Navrhněte a realizujte řízení vypouštění kapaliny z nádrže A pomocí sekvenčního obvodu. Úlohu rozdělte na tři části : • Vytvořte kombinační logický obvod umožňující spuštění vypouštění kapaliny za podmínek : nádrž A je plná, kapalina je ohřátá, v nádrži B je volný objem. • Vytvořte paměťový RS obvod, který po spuštění vypouštění udržuje otevřený vypouštěcí ventil, pokud nedojde signál k jeho uzavření. • Vytvořte kombinační logický obvod umožňující ukončit vypouštění kapaliny za podmínky : hladina v nádrži A klesla pod dolní úroveň. • Vytvořte blokové schéma řízení, vytvořte pravdivostní tabulky a logické funkce, realizujte obvod pomocí prvků NAND a NOT, sestavte obvod a ověřte jeho funkci. • Pro jednoznačnost řešení dodržujte následující přiřazení logických proměnných:
c=0 c=1 b=0 b=1 h=0
nádrž A není plná kapaliny nádrž A je plná kapaliny teplota má hodnotu nižší než žádanou teplota má hodnotu vyšší než žádanou nádrž B má volný objem
10
h=1 a=0 a=1 t=0 t=1
nádrž B nemá volný objem hladina v nádrži A je pod dolní úrovní hladina v nádrži A je nad dolní úrovní vypouštěcí ventil uzavřít vypouštěcí ventil otevřít
Toto přiřazení je třeba uvést do protokolu jako součást vašeho řešení. 4. úkol : Navrhněte a realizujte řízení vypouštění kapaliny z nádrže B pomocí sekvenčního obvodu. • Vypouštění kapaliny bude řízené obsluhou pomocí dvou tlačítek. Prvním tlačítkem (impulsem) se vypouštění spustí, druhým tlačítkem se vypouštění zastaví. Celý proces musí probíhat za těchto podmínek : vypouštění může být spuštěno a probíhat jen tehdy, je-li ventil na přívodu do nádrže B uzavřen, vypouštění může být ukončeno také samočinně, klesne-li výtok z nádrže pod minimální hodnotu. • Vypouštění řiďte paměťovým obvodem RS a kombinačními obvody ovládejte jeho činnost. • Vytvořte blokové schéma řízení, vytvořte pravdivostní tabulky a logické funkce, realizujte obvod pomocí prvků NAND a NOT, sestavte obvod a ověřte jeho funkci. Pro jednoznačnost řešení dodržujte následující přiřazení logických proměnných:
v=0 v=1 w=0 w=1 e=0 e=1 k=0 k=1 u=0 u=1
tlačítko pro spuštění vypouštění je uvolněné tlačítko pro spuštění vypouštění je zmáčknuté tlačítko pro ukončení vypouštění je uvolněné tlačítko pro ukončení vypouštění je zmáčknuté ventil na výtoku je zavřený ventil na výtoku je otevřený hladina v nádrži B je pod minimální hodnotou hladina v nádrži B je nad minimální hodnotou ventil na výtoku z nádrže B uzavřít ventil na výtoku z nádrže B otevřít
Toto přiřazení je třeba uvést do protokolu jako součást vašeho řešení. 5. úkol : Navrhněte logický obvod podle zadání asistenta.
11
Příloha 1: Pomůcka pro číslování vývodů
1
1
1
2
3
1
4
2
4 5
1
6
5
7
1
8
7 8
9
1
10
11
1
12
10 11
&
3
&
6
&
9
&
12
7400
7404
Číselným označením vývodu je desetinné číslo, ve kterém číslice před desetinnou tečkou je určeno pořadím příslušného modulu na panelu (počítáno zleva), číslice za desetinnou tečkou vyjadřují číslo zdířky příslušného modulu (viz obr. nahoře).Očíslování navrženého logického obvodu proveďte před každým propojením. Příklad:
c
e
2.1
1
2.2 c 3.1
3.2 e
1 2.3
2.4
12
&
3.3
a⋅e