Vývojové prostředí a jazyky PLC Flashcards
Popsat normu normy IEC EN 61131-3 s typy jazyků (LD, IL, ST, SFC, FBD )pro PLC.
Programové organizační jednotky
Funkce, funkční bloky a programy jsou v rámci normy IEC 61 131-3 nazývány společně
programové organizační jednotky (Program Organization Units, někdy se pro tento důležitý a často
používaný pojem používá zkratka POUs).
Funkce
IEC 61 131-3 definuje standardní funkce a uživatelem definované funkce. Standardní funkce jsou např. ADD pro sčítání, ABS pro absolutní hodnotu, SQRT pro odmocninu, SIN pro sinus a
COS pro cosinus. Jakmile jsou jednou definovány nové uživatelské funkce, mohou být používány
opakovaně.
Funkční bloky
Na funkční bloky se můžeme dívat jako na integrované obvody, které reprezentují hardwarové řešení specializované řídicí funkce. Obsahují algoritmy i data, takže mohu zachovávat informaci o minulosti, (tím se liší od funkcí). Mají jasně definované rozhraní a skryté vnitřní proměnné,
podobně jako integrovaný obvod nebo černá skříňka. Umožňují tím jednoznačně oddělit různé
úrovně programátorů nebo obslužného personálu. Klasickými příklady funkčního bloku jsou např.
regulační smyčka pro teplotu nebo PID regulátor.
Jakmile je jednou funkční blok definován, může být používán opakovaně v daném programu, nebo v jiném programu, nebo dokonce i v jiném projektu. Je tedy univerzální a mnohonásobně
použitelný. Funkční bloky mohou být zapsány v libovolném z jazyků definovaném v normě. Mohou
být tedy plně definovány uživatelem. Odvozené funkční bloky jsou založeny na standardních
funkčních blocích, ale v rámci pravidel normy je možno vytvářet i zcela nové zákaznické funkční
bloky.
Interface funkcí a funkčních bloků je popsán stejným způsobem: Mezi deklarací označující
název bloku a deklarací pro konec bloku je uveden soupis deklarací vstupních proměnných, výstupních proměnných a vlastní kód v tzv. těle bloku.
Programy
Na základě výše uvedených definic lze říci, že program je vlastně sítí funkcí a funkčních
bloků. Program může být zapsán v libovolném z jazyků definovaných v normě.
Programovací jazyky
Textové jazyky
IL - Instruction List - jazyk seznamu instrukcí
ST - Structured Text - jazyk strukturovaného textu
Grafické jazyky
LD - Ladder Diagram - jazyk příčkového diagramu (jazyk kontaktních schémat)
FBD - Function Block Diagram - jazyk funkčního blokového schématu
LD - Ladder Diagram (liniové nebo reléové schéma)
Historicky LD zápis programu vychází z dob reléové logiky, kdy místo procesorů či mikrokontrolérů nebo integrovaných logických obvodů typu NAND, NOR či XOR, se využívala soustava vzájemně propojených relátek. S jejich pomocí lze snadno realizovat logické funkce AND (sériové zapojení kontaktů) a OR (paralelní zapojení kontaktů).
Výhody, Nevýhody (LD)
Výhody:
Jasně definovaná posloupnost zápisu, kterou nelze porušit
Přehlednost zápisu (zvláště u menších programů)
Velmi rychlé programování logických operací s funkcemi čítání a časování
Ideální pro zpracování velkého počtu logických signálů (vstupů a výstupů)
Nevýhody:
Méně vhodný pro aritmetické operace a práce s daty (ASCII znaky / řetězci)
S rostoucí složitostí programu rychle narůstá jeho délka
Hůře pochopitelný pro „klasické programátory“
CFC - Continuous Function Chart (Volně propojované bloky)
Zápis programu v programovacím režimu CFC je něco jako kreslení schématu tvořeného vzájemně propojenými logickými obvody (hradly).
Výhody, Nevýhody (CFC)
Výhody:
Volné uspořádání programu dle potřeby programátora
Zápis připomíná hardwarové schéma zapojení součástek
Snadná realizace jednoduchého zpracování digitálních signálů
Přehledný průchod signálu strukturou programu při zpracování
Přehledná realizace zpětných vazeb
Nevýhody:
Pro složitější programy se zápis stává nepřehledný
Méně vhodný pro zpracování velkého množství logických signálů (vstupů / výstupů)
Nevhodný pro realizaci manipulace s většími bloky dat a ASCII řetězci
Nevhodný pro realizaci datové komunikaci
FBD - Function Block Diagram (Schéma funkčních bloků)
Zápis programu PLC v tzv. funkčních blocích (FBD), je v případě programovacího prostředí CoDeSys takovou kombinací jazyka LD s jazykem CFC. Stejně jako v CFC se i v FBD posloupnost programu vyjadřuje soustavou za sebou propojených bloků, které realizují různé funkce, a však zde již není volná programovací plocha, ale vše je organizováno do řádků (linií) podobně jako v LD režimu.
Výhody, Nevýhody (FBD)
Výhody:
Definované grafické členění programu do řádků
Logické operace v podobě hradel
Přehledný zápis programu
Ideální pro zpracování velkého počtu logických signálů (vstupů / výstupů)
Nevýhody:
Méně vhodný pro složitější zpracování analogových signálů
Nevhodný pro hromadnou manipulaci s velkým množstvím dat a ASCII znaky (řetězci)
Nevhodný pro programování složitých algoritmů (vzorců)
SFC - Sequential Function Chart (Vývojový diagram)
Programovací režim SFC je graficky orientovaný zápis pro snadné definování chování programu, tedy jeho běh a reakce na různé rozhodovací situace. Umožňuje definovat chování programu prostřednictvím vývojového schéma, tedy větvení programu na základě splnění rozhodovacích podmínek.
Výhody, Nevýhody (SFC)
Výhody:
Velmi přehledný zápis chování programu
Přehledné definování a ošetření různých stavů programu
Ideální pro realizaci sekvenční logiky
Vhodný pro jednoduchou práci s ASCII řetězci
Nevýhody:
Nevhodný pro přímou realizaci zpracování analogových signálů
Nevhodný pro zpracování velkého počtu logických signálů
Nevhodný pro programování složitých algoritmů
IL - Instruction List (Posloupnost instrukcí)
Zápis programu označovaný jako „Instruction List“ je nejzákladnější možný popis programu a více méně se podobá programování mikrokontrolérů v asembleru (ASM). Program se zde skládá z posloupnosti jednoduchých operací tvořených základními instrukcemi a operandy reprezentujícími jednotlivé registry a paměťová místa. Tento způsob programování se vyznačuje dokonalým přehledem a nadvládou programátora nad konstrukcí a strukturou programu. Umožňuje tak co nejvíce optimalizovat program jak na jeho velikost, i rychlost vykonávání, protože lze jej vytvořit bez všech zbytečných přesunů dat, odskoků a volání.
Výhody, Nevýhody (IL)
Výhody:
Přesná definice chování programu
Paměťově i na rychlost zpracování úsporný program
Nevýhody:
Nutnost znát nebo se alespoň dobře orientovat v příkazech a registrech
Mnoho psaní
Horší přehlednost programu a orientace v něm
ST - Structured Text (Strukturovaný text)
Programovací režim ST je ideální pro klasické programátory mikroprocesorů, protože jeho zápis je tvořený posloupností klasických instrukcí. Jde tedy o programovací jazyk vyšší úrovně, podobně jako například Pascal či C. Svojí strukturou (syntaxí) se také Pascalu velice podobá.
Výhody, Nevýhody (ST)
Výhody:
Snadné programování složitých aritmetických operací a vzorců
Ideální pro složité zpracování analogových signálů
Ideální pro práci s velkými bloky dat a databázemi
Vhodný pro práci z textovými řetězci
Vhodný pro realizaci / zpracování datové komunikace
Nevýhody:
Je nutné znát příkazy a přesnou syntaxi zápisu
Horší přehlednost zápisu logických operací
Méně vhodný pro přehledné zpracování velkého množství logických signálů (vstupů / výstupů)