Programovatelné logické automaty jsou široce používány v průmyslových automatizačních a řídicích systémech. Slouží jako mozek systému, provádějící naprogramované instrukce pro řízení různých procesů a strojů.
Jak se oblast automatizace neustále vyvíjí, výběr programovacího jazyka pro PLC se stává stále důležitějším. Tento článek si klade za cíl poskytnout porovnání programovacích jazyků pro PLC a zkoumá jejich vlastnosti, možnosti, výhody a nevýhody.
Nejprve je však nutné získat přehled o PLC. Programovatelný logický automat je specializovaný počítač používaný pro řízení a monitorování strojů a procesů v průmyslových odvětvích. Na rozdíl od běžných počítačů jsou PLC navrženy tak, aby vydržely drsná prostředí a měly vysokou spolehlivost. Skládají se z různých komponent, včetně vstupních a výstupních modulů, centrální procesorové jednotky a paměti. Pochopení komponent a funkcí PLC poskytne základ pro pochopení rozdílů mezi PLC a běžnými počítači.
Programovací jazyky hrají klíčovou roli při definování funkčnosti a chování PLC. K programování PLC se používají různé programovací jazyky, z nichž každý má svou vlastní sadu funkcí a schopností. Zabývat se budeme běžnými programovacími jazyky definovanými normou ČSN EN 61131-3 ed. 2 Programovatelné řídicí jednotky - Část 3: Programovací jazyky, jako je jazyk strukturovaného textu (ST), jazyk funkčního blokového schématu (FBD), sekvenční funkční diagram (SFC), jazyk seznamu instrukcí (IL) a jazyk příčkového diagramu (LD). Porovnáním těchto jazyků můžeme lépe porozumět jejich silným a slabým stránkám a tomu, jak je lze efektivně využít v různých průmyslových aplikacích.
Přehled PLC
Co je programovatelný logický automat?
Programovatelný logický automat (PLC) je počítačový systém používaný pro řízení průmyslových procesů. Tato zařízení byla původně navržena pro nahrazení elektromechanických reléových systémů v automobilovém průmyslu, ale dnes jsou široce používány v mnoha dalších oblastech průmyslu. PLC jsou vysoce přizpůsobitelné a mohou být programovány pro řízení téměř jakéhokoli průmyslového procesu. Můžou například řídit činnost strojů v továrně, monitorovat a regulovat teplotu v budově nebo řídit procesy v chemických nebo farmaceutických laboratořích. Jednou z hlavních výhod PLC je jejich schopnost komunikovat s jinými systémy. Můžou například sdílet data s počítačovými systémy pro řízení výroby (MES) nebo systémy pro plánování podnikových zdrojů (ERP). To umožňuje rychlejší a efektivnější rozhodování a lepší kontrolu nad průmyslovými procesy. PLC jsou také velmi odolné a mohou fungovat v náročných průmyslových prostředích.
Důležitou součástí PLC je jeho program. Jedná se o velmi důležitou součást průmyslové automatizace, jelikož umožňuje operátorům a inženýrům programovat a ovládat stroje a zařízení na vysoké úrovni automatizace. Tento software je navržen pro práci s PLC hardware, který je schopen provádět komplexní sekvence operací, jako jsou logické, sekvenční, časové a aritmetické operace. Tyto operace jsou pak použity k ovládání průmyslových procesů, jako je výroba, montáž nebo balení. Software pro PLC se liší od jiných typů softwaru. Jedná se o velmi specializovaný typ softwaru, který vyžaduje znalosti průmyslových procesů, strojů a zařízení. Tento software je také navržen tak, aby byl odolný vůči těžkým průmyslovým podmínkám a aby byl schopen pracovat bez přerušení po dlouhé období. Software pro PLC je také velmi flexibilní. Umožňuje uživatelům vytvářet a upravovat programy pro různé typy strojů
Jaké jsou součásti PLC?
Komponentům PLC je důležité porozumět, abyste si vybrali ten správný pro průmyslové použití. Mezi základní součásti PLC patří řídicí CPU jednotka, komunikační rozhraní, vstupy a výstupy. Vstupy zachycují data z výrobní úrovně pomocí monitorování strojů nebo zařízení připojených k PLC. Řídicí CPU jednotka, která provádí samotné vykonávání uloženého programu. Kontroluje vstupy a podle toho mění výstupy. Výstupy odesílají data z PLC do připojených strojů nebo zařízení. Stroje nebo zařízení lze připojit ke vstupům i výstupům na stejném PLC. Kromě toho lze PLC přizpůsobit pomocí dalších rozšiřujících modulů, jako jsou analogové I/O, komunikační a zobrazovací moduly. To umožňuje PLC přizpůsobit se různým typům průmyslových aplikací. PLC se dodávají v různých velikostech a provedeních, od dostatečně malých, aby se vešly do kapsy, až po dostatečně velké pro řízení náročných procesů.
Jak se PLC liší od běžných počítačů?
Nejvýraznějším rysem mezi programovatelnými logickými automaty a běžnými počítači je jejich schopnost číst digitální a analogové I/O. Digitální I/O v PLC mohou mít pouze dva stavy – zapnuto nebo vypnuto, podobně jako vypínač světla. To je v příkrém rozporu s analogovými I/O v PLC, které mohou mít stavy mezi zapnutým a vypnutým, podobně jako přepínač stmívače. PLC jsou tedy schopny reagovat na postupné změny prostředí, zatímco běžné počítače nikoli. Kromě toho jsou PLC vysoce adaptabilní na změny v procesech nebo na požadavky monitorovacích aplikací. Mezi výhody PLC oproti drátovým relé patří spolehlivost, flexibilita, nákladová efektivita, rychlost, lepší komunikace a pokročilé funkce zpracování dat. Navíc nejunikátnější výhodou PLC je jejich schopnost přeprogramování. Systém PLC vyžaduje základní modul s CPU, vstupy a napájecím zdrojem. Poté jej lze přizpůsobit přidáním více modulů v závislosti na jeho kapacitě a lze také přidat další I/O moduly, které nabízejí větší flexibilitu ve srovnání s běžnými počítači. Kromě toho mohou PLC obsahovat i převodník analogového na digitální signál. Proto jsou PLC univerzálnější a vhodné pro průmyslové aplikace.
Programovací jazyky pro PLC
Jaké jsou běžné programovací jazyky používané pro PLC?
Programovatelné logické automaty se používají v aplikacích průmyslové automatizace a vyžadují specializované programovací jazyky. Podle normy ČSN EN 61131-3 ed. 2 existuje 5 schválených programovacích jazyků pro PLC. Každý z těchto jazyků má své jedinečné výhody a nevýhody, pokud jde o programování PLC.
- Jazyk strukturovaného textu (ST - Structured Text);
- jazyk seznamu instrukcí (IL - Instruction List);
- jazyk sekvenčního funkčního diagramu (SFC - "Sequential Function Chart");
- jazyk funkčního blokového schématu (FBD - Function Block Diagram);
- jazyk příčkového diagramu (LD - Ladder Diagram).
Programátoři mnohem častěji volí jazyk IL (podobný na assembler) nebo ST, podobný vysoceúrovňovému jazyku Pascal. Odborníci se zkušenostmi v reléové logice volí jazyk LD, a specialisti v systémech automatického řízení (ASŘ) a inženýři obvodů si vybírají svůj obvyklý jazyk FBD.
Programovací jazyky se dělí do textových a grafických jazyků. Grafické jazyky jsou SFC, FBD, LD. Jazyky IL a ST jsou textové.
Programovací jazyky PLC byly vyvinuty přirozeně v reakci na potřeby průmyslových procesů a evoluce automatizace. Například vývoj nových požadavků na automatizaci představoval výzvu pro starší jazyky PLC, což vedlo k potřebě nových programovacích jazyků. Jako osvědčený postup při programování PLC se jeví použití více jazyků, protože tak lze využít sílu každého jazyka. Nakonec výběr programovacího jazyka závisí na konkrétní automatizační aplikaci a neexistuje jediný nejlepší programovací jazyk PLC.
Jak se tyto jazyky liší z hlediska funkcí a možností?
Je známo, že každý z těchto jazyků má jiné vlastnosti a možnosti.
Jazyk příčkového diagramu (LD).
První PLC se začaly používat ve Spojených státech pro automatizovanou výrobu v automobilovém průmyslu. Ideální variantou pro jejich programování byl automatický překlad koncepce reléového automatu do PLC programu, a tak vznikl jazyk příčkového diagramu. Procesní inženýr může „překreslit“ řídicí obvod na obrazovce programovací stanice PLC. Program samozřejmě není znázorněn graficky, ale pomocí podmíněných symbolů. Pro někoho, kdo je trochu obeznámen s elektrotechnikou, je jazyk příčkového diagramu intuitivní, a proto se ukazuje jako nejběžnější jazyk používaný v průmyslové automatizaci. Uživatelé mohou snadno detekovat poruchy
v zařízení a sledovat signálovou cestu v příčkovém diagramu.
Jazyk LD má však problémy s implementací složitých algoritmů, zejména numerických algoritmů, protože nepodporuje podprogramy, funkce a další metody strukturování programů pro zlepšení kvality programování. Tyto nedostatky ztěžují opětovné použití softwarových komponent, což vede k programům, které jsou zdlouhavé a obtížně se udržují.
Pro provádění složitých aritmetických funkcí byly do jazyka LD přidány funkční bloky, které provádějí sčítání, násobení a výpočty průměru. Obtížné výpočty v tomto jazyce nejsou přínosné. Další nevýhodou je, že na obrazovku monitoru nebo ovládací panel se při programování vejde jen malá část programu.
I přes tyto nedostatky je jazyk LD stále jedním z nejrozšířenějších jazyků na světě, i když ve většině případů se používá pro jednoduché úkoly.
Jazyk funkčního blokového schématu (FBD)
Je to grafický jazyk, který se nejlépe hodí pro programování procesů, které předávají signály přes funkční bloky. Jazyk FBD je vhodný pro techniky, kteří mohou snadno vytvářet logická řídicí schémata s integrovanými obvody, ale nemají žádné zkušenosti s programováním.
V FBD se program skládá ze specifického seznamu obvodů, které se provádějí jeden po druhém shora dolů. Program napsaný v grafickém jazyce FBD je sada vzájemně propojených funkčních bloků, jejichž vstupy a výstupy jsou propojeny spoji. Spojení odrážejí určité proměnné programu a data se mezi bloky vyměňují prostřednictvím spojovacích linek.
Funkční blok je fragment programu napsaný v IL, SFC nebo jiných jazycích, který lze znovu použít v různých částech programu a odpovídá grafickému obrazu přijatému při vývoji funkčního diagramu elektronického zařízení.
Blok má specifickou funkci (logický součin, negace, čítač atd.) a může mít více vstupů a výstupů. Zpočátku jsou hodnoty proměnných nastaveny konstantami nebo speciálními vstupy a jejich výstupy jsou dále propojeny s dalšími proměnnými programu nebo výstupy PLC.
Jazyk FBD lze použít k programování funkcí, funkčních bloků a programů. Je také možné popsat kroky a přechody v jazyce SFC. Funkční bloky zapouzdřují data a metody podobné objektově orientovaným programovacím jazykům, ale nepodporují dědičnost a polymorfismus.
Typickým použitím jazyka FBD je popis pevných logických systémů, řízení a dalších výpočetních algoritmů. Jazyk funkčních bloků je také vhodný pro vytváření a přidávání knihoven typických funkčních bloků, které lze znovu použít pro programovací úlohy v průmyslové automatizaci.
Jazyk sekvenčního funkčního diagramu (SFC)
SFC se nazývá programovací jazyk, i když to není skutečný plnohodnotný programovací jazyk, je to jen pomocný nástroj pro strukturované programy. Je speciálně navržen tak, aby naprogramoval posloupnost operací prováděných řídicím systémem, když tyto operace musí být provedeny ve specifikovaných časech nebo když nastanou určité události. Je založen na znázornění řídicího systému pomocí konceptu stavů a přechodů mezi nimi.
Jazyk SFC je navržen tak, aby popisoval řídicí systémy na nejvyšší úrovni abstrakce. Jazyk SFC lze také použít k programování jednotlivých funkčních bloků, pokud je algoritmus činnosti funkčních bloků popsán přirozeným způsobem pomocí pojmů stavů a přechodů.
Jazyk strukturovaného textu (ST)
Jazyk ST je textový jazyk na vysoké úrovni, velmi podobný Pascalu. Mezi jazykem ST a jazykem Pascal, který je speciálně navržen pro programování PLC, je mnoho rozdílů. Obsahuje mnoho konstrukcí pro přiřazování hodnot proměnným, volání funkcí a funkčních bloků, psaní výrazů podmíněných větví, výběr operátorů a vytváření iteračních procedur. Jazyk se primárně používá k provádění složitých matematických výpočtů popisujících složité funkce, funkční bloky a programy.
Jazyk seznamu instrukcí (IL)
Jazyk IL je podobný jazyku Assembler a používá se k implementaci funkcí, funkčních bloků a programů a kroků a přechodů v jazyce SFC. Hlavní výhodou tohoto jazyka je, že se snadno učí, ale je obtížné ho programovat kvůli jeho blízkosti ke strojovému jazyku. Jazyky IL se nejčastěji používají, když je potřeba získat optimalizovaný kód pro implementaci kritických částí programu a řešení malých problémů s malým počtem algoritmických větví.