Programovací jazyky
Jedna z největších předností použití PLC spočívá v jejich standardizovaném způsobu programování dle normy IEC 61131-3. Je tak zajištěna jednotnost datových a programových struktur a způsobů ovládání nezávisle na výrobci a typu PLC.
Možnosti programování
PLC automaty je možné programovat různými způsoby. Výběr záleží jak na samotném programátorovi, tak i na konkrétní úloze, pro kterou je daný způsob zápisu programu vhodnější, a to především z hlediska jeho přehlednosti.
Pro tvorbu programu se používají následující způsoby zápisu:
-
instrukční list IL (Instruction List)
-
strukturovaný text ST (Structured Text)
-
funkční bloky FBD (Function Block Diagram)
-
reléová schémata LD (Ladder Diagram)
-
sekvenční programování SFC, GRAFCET (Sequential Function Chart)
Instrukční list IL
Jedná se o nejzákladnější zápis programu. Více méně se podobá programování v Asembleru. Program se skládá z posloupností operací, které představují základní instrukce. Takto vytvořené programy jsou nenáročné na výpočetní výkon řídicího systému, jsou co do velikosti malé, ovšem pro rozsáhlejší aplikace téměř nepoužitelné z hlediska přehlednosti a orientace v nich.
Obr. 1: Zápis programu v instrukčním listu
Strukturovaný text ST
Jedná se o programovací jazyk vyšší úrovně, podobně jako např. Pascal nebo C. Zápis je tvořen posloupností symbolických instrukcí. Jedna instrukce potom reprezentuje celou posloupnost základních instrukcí.
Tento zápis je ideální pro práci s daty, řetězci a databázemi a pro naprogramování složitých výpočetních algoritmů. Je tak vhodný při zpracování analogových signálů. Naopak se stává nepřehledným při větším množství digitálních signálů ze vstupů a výstupů. Nutná je také znalost příkazů a přesné syntaxe zápisu.
Obr. 2: Zápis programu ve strukturovaném textu
Funkční bloky FBD
Jedná se o grafické programování za použití bloků, pomocí nichž je možné realizovat různé funkce. Zápis je poměrně přehledný, logické operace mají podobu hradel. Je vhodný pro realizaci logických řídicích sekcí programu a zpracování vstupních a výstupních signálů.
Obr. 3: Zápis programu pomocí funkčních bloků
Reléová schémata LD
Tento způsob zápisu vychází z reléové logiky, kdy se nepoužívaly polovodičové prvky, ale vzájemně propojená relé. Svojí strukturou je ideální pro rychlé a přehledné zpracování velkého množství logických signálů a jejich čítání a časování. Je také vhodný pro jednoduché vyhodnocení hodnot analogových signálů.
Obr. 4: Struktura programu v reléovém schématu
Sekvenční programování SFC
Jedná se o grafický zápis programu pomocí bloků, které mohou představovat konkrétní (pod)programy zapsané ve výše uvedených jazycích. Na základě splnění podmínek je rozvětvená struktura programu vykonávána. Jedná se o velmi přehledný způsob zápisu, přičemž jsou velice přehledně definovány a ošetřeny různé stavy programu. Největší význam má při realizaci sekvenční logiky.
Obr. 5: Ukázka sekvenčního programování
Zdroje
Obrázky
- Obr. 1: Autor neznámý. Zápis programu v instrukčním listu [online]. [cit. 2014-7-11]. Dostupný na www: http://www.plcmanual.com/images/example_1_end.jpg.
- Obr. 2: Beckhoff. Zápis programu ve strukturovaném textu [online]. [cit. 2014-7-11]. Dostupný na www: http://infosys.beckhoff.com/content/1033/cx8090/Images/CX8000_TcSysMan_FirstSteps08.png.
- Obr. 3: Beckhoff. Zápis programu v instrukčním listu [online]. [cit. 2014-7-11]. Dostupný na www: http://infosys.beckhoff.com/content/1033/tcplccontrol/Images/BILD3_2.gif
- Obrázek 4, 6 a 7: Archiv autora
- Obr. 5: Autor neznámý. Ukázka sekvenčního programování [online]. [cit. 2014-7-11]. Dostupný na www: http://www.plcdev.com/files/plcdev/images/SFC_for_All_007.gif
Videa
- Archiv autora
Kontrolní otázka
Jaké znáte programovací jazyky pro tvorbu programů PLC?
Víte, že ...
Kromě uvedených způsobů programování je v současné době velmi populární grafická forma zápisu. Ta poskytuje všechny datové a programové struktury, jako např. C jazyk, nikoliv však v textové, ale grafické podobě. Hovoříme o tzv. G jazyku (Graphical language).
S tímto způsobem programování se můžeme také setkat např. u stavebnic LEGO Mindstorms.
Obr. 6: Program v G jazyce - prostředí LEGO Mindstorms EV3
Praktická ukázka
Následující videoukázka prezentuje robota sestaveného ze stavebnice LEGO Mindstorms EV3, jehož dominantní úlohou je přenášet objekty z jednoho místa do druhého.
Obr. 7: Robot ze stavebnice LEGO Mindstorms EV3
Naprogramovaný robot ze stavebnice LEGO Mindstorms EV3