Ladislav mejkal
PLC
a automatizace 2. díl
Sekvenèní logické systémy a základy fuzzy logiky
Ladislav mejkal
PLC A AUTOMATIZACE 2. díl Sekvenèní logické systémy a základy fuzzy logiky Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autor a nakladatelství nepøejímají záruku za správnost titìných materiálù. Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vekerá práva vyhrazena. © Ing. Ladislav mejkal, 2005 Nakladatelství BEN technická literatura, Vìínova 5, Praha 10 mejkal Ladislav: PLC a automatizace, 2. díl BEN technická literatura, Praha 2005 1. vydání ISBN 80-7300-087-3
Podrobný obsah
1
Doporuèení ke studiu
2
Systémy, funkce a algoritmy poznámky k terminologii a souvislostem
3
Sekvenèní logické funkce a systémy
4
Smíené systémy logické øadièe s èíslicovými promìnnými
5
Minimum o fuzzy logice
6
Závìr
Obsah 1
DOPORUÈENÍ KE STUDIU ............................................... 9
2
SYSTÉMY, FUNKCE A ALGORITMY POZNÁMKY K TERMINOLOGII A SOUVISLOSTEM ........................... 13
3
SEKVENÈNÍ LOGICKÉ FUNKCE A SYSTÉMY .............. 21
3.1 3.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5
Ke kombinaèním funkcím .................................................................... 22 Význam sekvenèních funkcí ................................................................ 23 Mechanizmy sekvenèního chování programu ..................................... 27 Zpracování historických vzorkù vstupní pamìti ................................ 27 Zpìtné vazby ....................................................................................... 31 Standardní pamìové funkce s sekvenèní funkèní bloky .................... 33 Podmínìné pøíkazy .............................................................................. 38 Smìr bìhu programu a toku mezivýsledkù souslednost a protislednost ................................................................. 38 Intuitivní postupy .................................................................................. 41 Systematické postupy .......................................................................... 60 Kombinaèní automaty .......................................................................... 60 Automaty se vstupní pamìtí ................................................................ 71 Stavové automaty Mealyho a Mooreova typu ..................................... 76
3.4 3.5 3.5.1 3.5.2 3.5.3
4
SMÍENÉ SYSTÉMY LOGICKÉ ØADIÈE S ÈÍSLICOVÝMI PROMÌNNÝMI ..................................... 89
4.2 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.2.10 4.2.11 4.3 4.3.1 4.3.2
Smíený systém s jedním vstupem ..................................................... 96 Nìkolik pøíkladù ................................................................................... 96 Termy a urèení jejich pravdivostí ......................................................... 97 Èísla intervalù ...................................................................................... 98 Aktivita programu ................................................................................. 99 Vícehodnotová logická promìnná ..................................................... 102 Pøekrývající se intervaly, dvojznaèné rozhraní ................................... 104 Pøechody se setrvaènou hysterezí ..................................................... 105 Pøechody s èasovým zpodìním ....................................................... 107 Prodlouení intervalu aktivace ........................................................... 108 Pøechody s dopøednou hysterezí ....................................................... 109 Pøíklady vyhodnocení teploty ............................................................. 111 Jednoduché nespojité regulátory ....................................................... 112 Minimum o teorii a praxi regulace ...................................................... 112 Dvoustavový regulátor, termostat ...................................................... 117
4
mejkal: PLC a automatizace díl II. BEN technická literatura
4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.4 4.4.1 4.4.2 4.4.3
Tøístavové regulátory ......................................................................... 119 Vícestavové regulátory, regulace jednotek fan coil ............................ 123 Pøevodní charakteristika regulátoru ................................................... 126 Regulátory s pøepínáním .................................................................... 128 Aktivace programu regulátorù ............................................................ 131 Impulzní výstupy nespojitých regulátorù ............................................ 133 Smíený systém s dvìma a více vstupy ............................................ 133 Motivace ............................................................................................. 133 Systémy se dvìma vstupy ................................................................. 133 Úplnost souboru pravidel a logické díry .......................................... 144
5
MINIMUM O FUZZY LOGICE ......................................... 147
5.1 5.2 5.2.1 5.2.2 5.2.3 5.2.4 5.3 5.3.1 5.3.2 5.4 5.5 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.6.5 5.7 5.8 5.9
Dùvody pro pouití fuzzy logiky ......................................................... 148 Shrnutí a souvislosti ........................................................................... 151 Dvouhodnotová logika ....................................................................... 151 Booleova a jiné algebry ...................................................................... 152 Binární logika a mnoiny .................................................................... 153 Vícehodnotová a fuzzy logika, fuzzy mnoiny ................................... 153 Dva motivaèní pøíklady ....................................................................... 157 Fuzzy zobecnìní logických výrazù .................................................... 157 Fuzzy zobecnìní smíeného systému ............................................... 159 Typický postup a struktura fuzzy systému ......................................... 161 Fuzzifikace ......................................................................................... 164 Fuzzy zobecnìní AND, OR, NOT ...................................................... 165 Nekoneènì mnoho moností ............................................................. 165 Fuzzy negace ..................................................................................... 165 Fuzzy AND a OR ................................................................................ 166 Zobecnìné funkce a úpravy výrazù ................................................... 171 Pøíklady zápisu programu .................................................................. 172 Defuzzifikace ...................................................................................... 175 Pøevodní charakteristiky, charakteristické plochy, ladìní ................... 177 Sekvenèní a systémy ve fuzzy logice ................................................ 192
6
ZÁVÌR ............................................................................ 199 LITERATURA ................................................................. 200 REJSTØÍK ...................................................................... 202 INZERCE ........................................................................ 205 KONTAKTY NA PRODEJNY TECHNICKÉ LITERATURY ............................................ 208 mejkal: PLC a automatizace díl II. BEN technická literatura
5
Pøedmluva Váení ètenáøi,
po dlouhé prodlevì (za kterou se omlouvám) vychází druhý díl uèebnice PLC a automatizace, s podtitulem sekvenèní logické systémy a základy fuzzy logiky. První díl seznamoval se základy techniky programovatelných automatù (PLC Programmable Logic Controllers) v irím kontextu soudobé automatizace. Vysvìtloval základy jejich programování a algoritmizace úloh logického typu. Pøeváná èást výkladu pojednávala o kombinaèních logických funkcích, jejich výstup jednoznaènì závisí na okamité kombinaci jejich vstupních promìnných. Závìreèná kapitola velmi struènì pojednávala o realizaci pamìových èlenù a jednoduchých sekvenèních funkcí a popisovala instrukce èítaèù a èasovaèù. V technických aplikacích se ale sekvenèní funkce vyskytují velmi èasto, nìkdy výhradnì. Proto je jim vìnováno první z témat této publikace, popsané v kapitole 3. Po vysvìtlení základních pojmù a pøíèin sekvenèního chování programem realizovaných funkcí jsou shrnuty nejèastìji pouívané pøístupy k realizaci logických funkcí. Výklad je zamìøen pøedevím na systematické postupy jejich realizace s vyuitím grafického aparátu koneèných automatù a jazyka SFC (Seguential Function Chart) pro názorný popis zadání i detailního algoritmu programové realizace. Na rozdíl od tradièních uèebnic navrhování logických systémù zde ji není uvedena tradièní metodika dekompozice koneèného automatu na sí logických èlenù kombinaèního typu pro budicí funkce pamìových èlenù. Tento postup byl pro svou komplikovanost témìø nepouitelný i pøi navrhování systémù s pevnou logikou a pro programování je zcela zbyteèný. Nyní staèí komplexnì popsat zadání celého logického systému (sekvenèního øadièe) ve formì uceleného algoritmu koneèného automatu. K jeho realizaci pak mùe programátor vyuít postup, který mu nejvíce vyhovuje nebo je nejsnáze dostupný, napø. naprogramovat jej jako graf v jazyce SFC, pøevést na posloupnost podmínìných pøíkazù nebo realizovat s vyuitím strukturovaných datových blokù. Lze najít urèité podobnosti mezi rùznými typy algoritmù sekvenèních systémù (koneèných automatù) a èíslicovými systémy (v praxi pøevánì lineárními èíslicovými regulátory, filtry, modely). Uvádíme je zde bez podrobnìjího výkladu, pouze pro ilustraci a k pochopení souvislostí. Podrobnìji se jimi bude zabývat pøipravovaný dalí díl publikace. Fuzzy logika je známa ji nìkolik desetiletí, bylo o ní napsáno mnoho publikací, monografií a uèebnic, ale v irí programátorské obci je stále témìø neznámá a málo aplikována ke kodì tvùrcù, dodavatelù i uivatelù automatizovaných systémù. Dùvod vidím v nedostateèné osvìtì a neexistenci pøístupné metodiky aplikací. Cílem páté kapitoly této publikace (moná nerealisticky smìlým) je zpøístupnit fuzzy logiku irokému okruhu programátorù PLC i programátorùm jiných systémù (PC, prùmyslových poèítaèù a mikroøadièù), aby se stala základním prostøedkem jejich práce a zpùsobem jejich tvùrèího mylení. Fuzzy logika je zde chápána jako pøirozené zobecnìní principù dvouhodnotové (booleovské) logiky, která je v praxi rutinnì vyívána a bez problémù vyuèována na støedních kolách. Vìøím, e podobnì lze uèit a pouívat i základní principy fuzzy logiky. Uvìdomuji si, e se zde dopoutím brutálního zjednoduení a tematického zúení. Èiním tak v dobré víøe, e tím usnadním prùnik fuzzy logiky do rutinní programátorské praxe a do prùmyslových aplika-
6
mejkal: PLC a automatizace díl II. BEN technická literatura
cí. Ostatnì tradiènì vyuèovaná metodika navrhování logických systémù je také hrubým zjednoduením nároèného oboru matematické logiky a teorie koneèných automatù. Ve vìtinì pøíkladù aplikací fuzzy systémù jsou v uèebnicích popisovány situace, kdy jsou logickým systémem ve fuzzy logice (inferenèním jádrem) zpracovávány spojité vstupní velièiny (èasto regulaèní odchylka a její zmìna u fuzzy regulátoru PI, teplota a intenzita vibrací loiska apod.). Zpracování spojitých velièin v logickém systému ale není výsadou fuzzy logiky. Bìnì a dávno se pouívá i u binárních logických systémù jen se o nìm mlèí. Systémùm tohoto typu je proto vìnována ètvrtá kapitola. Zde je pro tuto tøídu systémù zavedeno pojmenování smíený logický systém. V aplikacích jsou stále èastìjí. Souvisí to upøednostòováním snímaèù analogových velièin (polohy, teploty, hladiny, tlaku), namísto dosavadního pouívání snímaèù jednotlivých hodnot sledované velièiny (napø. koncových snímaèù nebo snímaèù pøiblíení nebo snímaèù prahových hodnot jiných velièin (hladiny, tlaku apod.). Ve ètvrté kapitole je popsána podstata smíeného systému, která je pøi popisu fuzzy systémù jen nenásilnì zobecnìna. Souèasnì je zde zavedena èeská terminologie, shodná i pro fuzzy systémy. Jsou uvedeny pøíklady rùzných pøíkladù øeení programu pro smíené systémy ve dvouhodnotové logice. Zde je øeen problém oetøení pøechodù na ostrých hranicích intervalù hodnot vyhodnocované velièiny a omezení neklidu (náhodného kmitání) v chování systémù (obvykle hysterezí, pásmem necitlivosti, èasovou filtrací apod.). Smíené systémy s binární logikou lze interpretovat i jako vícehodnotové logické systémy, tj. logické systémy, které vyuívají vícehodnotovou logiku. Ta je opìt zobecnìním dvouhodnotové logiky a zvlátním pøípadem fuzzy logiky. Tato interpretace dovoluje i obecnìjí pohled na fuzzy systémy. Vícehodnotové logické systémy jsou v literatuøe opomíjeny, ale v praxi se jeví jako velmi pøínosné. Druhá kapitola má charakter úvodních poznámek k terminologii a k pouitelnosti jednotlivých typù systémù. Pøi psaní uèebnice jsem naráel na problém, jak najít rovnováhu mezi suchým teoretickým výkladem a ilustrativními pøíklady, pøípadnì pouitelnými prefabrikáty programù. Dalím problémem je zajistit urèitou nadfiremnost nezávislost na firmì autora a jí vyrábìných systémech. Øeením je pouití programovacích jazykù podle normy IEC/EN 61131-3, kterou ji akceptuje vìtina významných výrobcù PLC. Problém je ale v tom, e samotný výklad zásad této normy, popis syntaxe a sémantiky jejich jazykù by si vyádal samostatnou a pomìrnì rozsáhlou publikaci a zpùsobil by dalí zdrení. Proto jsme zvolili kompromisní øeení. Programování podle normy IEC/EN 61131 (její èásti 3 pro základní jazyky a èásti 7 pro jazyk fuzzy systémù) bude vìnován dalí díl této uèebnice. V tomto druhém dílu jsou algoritmy popisovány bez detailního popisu normy spíe abstraktnì, na úrovni logických výrazù, obvykle v syntaxi pøíkazù vyích programovacích jazykù, shodné se syntaxí jazyka strukturovaného textu (ST) podle normy IEC/EN 6113-3. Tam, kde bylo potøebné uvést pøíklady postupù v jazyku mnemokódù, byl pouit tradièní jazyk systémù Tecomat, který byl popsán a pouíván ji v prvním dílu uèebnice. Nadstandardním øeením je monost vyuití domovské internetové stránky této knihy (viz tirá) nebo na stránce mého zamìstnavatele Teco a. s.: www.tecomat.cz. Zde lze najít dalí øeené pøíklady programù rùzné sloitosti a z rùzných aplikaèních oborù. Pøíklady zde budou postupnì doplòovány. Titìný mejkal: PLC a automatizace díl II. BEN technická literatura
7
text uèebnice tak není zatíen pøemírou pøíkladù zájemce si je mùe snadno stáhnout. Pro usnadnìní práce pøi procvièování pøíkladù z uèebnice, jsou jejich zdrojové texty rovnì umístìny na uvedené adrese. Postupnì zde budou doplòovány i zadání cvièných úloh a jejich úspìná øeení. Ke zpìtné vazbì nabízím svou adresu pro e-maily
[email protected] a vìøím, e budu schopen vèas reagovat na dotazy a námìty ètenáøù. Rád bych podìkoval Ing. Luboovi Urbanovi za vygenerování a vytitìní grafù pravdivostí základních funkcí fuzzy logiky v systému Matlab a Ing. Filipu ibravovi za naprogramování a zdokumentování ilustrativních pøíkladù fuzzy systémù ve stejném systému. Ètenáøùm pøeji pohodu pøi studiu knihy a tvoøivou hravost pøi ovìøování pøíkladù a pøi øeení úloh. Vìøím, e v knize naleznou inspiraci pro výuku nebo pro svou programátorskou praxi. Ladislav mejkal,
[email protected]
V Praze 26. 11. 2005
8
mejkal: PLC a automatizace díl II. BEN technická literatura