PLC - Programovatelné logické automaty
PLC-AUTOMATIZACE - PROGRAM - ZOBRAZENÍ PROGRAMU - AS / SFC Provoz webu zajišťuje:

www.hapesoft.cz

AS / SFC (GRAPH)

Charakteristika

Sekvenční funkční diagram, nazývaný i GRAPH (AS - Ablaufsprache / SFC - Sequential function chart) je grafický programovací jazyk, podle normy IEC 61131-3 a standardu IEC 60848. Princip funkčních diagramů je odvozen od Petriho sítí (Grafcet).

AS / SFC nalezne použití tam, kde je potřeba vytvořit složitější strukturu sekvence programového algoritmu, kdy řešení pomocí RS členů nebo posuvných registrů může být neadekvátní z hlediska přehlednosti a následných úprav.

Výsledný programový kód pro PLC je ze zápisu AS / SFC kompilováno do zápisu programu ve formě seznamu instrukcí. Tento instrukční zápis je pak reprezentací grafického zápisu. Kompilátor generuje jeden nebo několik podprogramů (FC, FB), které se volají z hlavního programového bloku a potřebné datové bloky pro ukládání proměnných.

Poznámka
Při použití AS / SFC je potřeba brát v úvahu vyšší nároky na paměť (kapacitu) pro uložení programu a dat.

Princip

Obrázek 1
Obecný princip sekvenceru

AS / SFC je koncipován graficky jako příkazové kroky (Step), mezi nimiž se přechází na základě splnění přechodové podmínky (Transice) vyjádřené binárním signálem, viz obrázek 1. Zpracování je zahájeno krokem 1 (Step 01), kdy jsou aktivovány zvolené signály a čeká se na splnění podmínky 1 (Transice 01). Po splnění podmínky pokračuje zpracování krokem 2, podmínkou 2 atd... Po vykonání posledního kroku n a splnění podmínky n se zpracování vrací ke kroku 1.

Sekvencer setrvává v konkrétním kroku tak dlouho, dokud není splněna podmínka pro přechod do dalšího kroku. Krok a přechodová podmínka tvoří základní dvojici sekvenceru.

Vzhledem k tomu, že pro aplikace je pouze obecný sekvencer využitelný jen v omezeném počtu případů, existují možnosti pro vytváření složitější struktury a podmínek zpracování jednotlivých kroků, tak i zahájení a ukončení sekvencí. V takových případech se vazby mezi kroky a podmínkami liší od obecného principu.


 
Poznámka
Přiřazení číslování kroků (STEP n) a podmínek přechodů (T n) nemusí (a ani nemůže) být vždy sousledné.

Krok (Step)

Obecný krok

Obrázek 2
Příklad akcí kroku

Jednotlivý obecný krok (Step), viz obrázek 2, má schopnost (vlastnost) ovládat (nastavovat) zvolené signály (například přímo výstup PLC) různými způsoby: N - aktivní, pokud je aktivní právě prováděný krok, S - provede nastavení, R - provede nulování.

Pro kontrolu zpracování je možno pracovat i s časovými intervaly: D - prodleva (delay), L - časová kontrola (limit).

Podle verze a typu AS / SFC je možno z kroku volat i podprogramy.

Inicializační krok

Obrázek 3
Úvodní (vlevo) a mezilehlý (vpravo)
inicializační krok

AS / SFC vyžaduje, aby byl právě jeden krok označen jako inicializační, tedy výchozí, viz obrázek 3. Do tohoto kroku (bodu) vstupuje řízení při prvním volání (zahájení činnosti) sekvenceru.

Nemusí být podmínkou, aby byl tento krok jako první (nejvyšší) v grafickém zápisu (i když je to časté), může se jednat i o krok mezilehlý, principielně se ale nemůže jednat o krok v paralelním zpracování. Inicializační krok má ostatní vlastnosti stejné jako obecný krok.

Přechodová podmínka (Transice)

Obrázek 4
Příklad přechodové podmínky

Přechodová podmínka (Transice), viz obrázek 4 (podmínka T 02), odděluje zpracování jednotlivých kroků a binární charakter (například přímo vstup PLC) a zpracování pokračuje dále teprve tehdy, pokud je podmínka splněna. Podmínka může být vyjádřena v zobrazení FBS/FBD nebo KOP/LAD včetně porovnávání hodnot, dotazu na stav časovače, čítače.

Přechodová podmínka se umisťuje mezilehle mezi dva kroky pokud nedochází k větvení programu nebo před/za větvení podle typu větvení.

Větvení zpracování

AS / SFC dovoluje větvení toku zpracování ve dvou modifikacích:

Selektivní větvení

Obrázek 5
Selektivní větvení zpracování
 

Pro případy, kdy je nutno zpracovat pouze jednu z několika možných variant sekvencí, nebo-li větví, je možno použít selektivní větvení, viz obrázek 5.

Vykonávání programu (krokování) se zastaví v kroku (STEP 08), za kterým následuje větvení do několika větví. Každá větev má vlastní vstupní podmínku (T 09 / T 10 a T 11 / T 12)) a zpracování dále probíhá pouze tou větví, u které nastane splnění podmínky jako první, ostatní větve sekvence se pak nezpracovávají (jsou ignorovány).

Selektivní větvení je možno použít pro přeskočení nepotřebné sekvence následujících kroků ve větvi (splnění podmínky T 09 ignoruje provedení STEP 09) (dopředný skok) tak i k návratu zpracování k některému z předchozích kroků (splnění T 10 a T 12, vrací zpracování na STEP 08) (zpětný skok).

Poznámka
Pokud dojde k situaci, že je trvale splněna podmínka ke zpětnému skoku v sekvenceru, dojde k zacyklení zpracování sekvence. Vzhledem k tomu, že sekvencer celkově může pracovat stále cyklicky (návrat z posledního kroku na první), není tento stav považován za chybu a nedochází k zacyklení celého programu zpracovávaného v CPU.

Paralelní větvení

Obrázek 6
Paralelní větvení zpracování
 
Obrázek 7
Sloučení paralelních větví

Pro případy, kdy je požadováno současné zpracování několika možných variant sekvencí, nebo-li větví, je možno použít paralelní větvení, viz obrázek 6.

Vykonávání programu pokračuje (pseudo) paralelním zpracování několika větví tehdy, když je splněna podmínka přechodu (T 04) za posledním krokem, za kterým následuje paralelní větvení programu.

Na rozdíl od selektivního větvení, je nutné, aby všechny paralelní větve zpracování končily v jednom bodě, viz obrázek 7, kde zpracování čeká, až budou všechny paralelní větve sekvence dokončeny a dále se pokračuje společnou přechodovou podmínkou (T 07).

 

Ukončení sekvence

Obrázek 8
Ukončení sekvence

Pro ukončení sekvence, viz obrázek 8, tedy zpracování všech kroků (STEP n) podle stavu podmínek (T n) je nutno určit má-li sekvence zpracování pokračovat návratem k některému z předchozích kroků (splnění podmínky T 02) nebo se má zpracování celé sekvence ukončit (splnění podmínky T 03).

V sekvenceru může být i více bodů, ve kterých se provádí návrat k předchozímu kroku nebo více bodů, ve kterých je činnost sekvenceru ukončena.

Časová kontrola

Pro kontrolu činnosti disponuje AS / SFC kontrolními časovými funkcemi, které sledují maximální dobu trvání kroku, tedy doba, po kterou program setrvává v daném kroku je: tSTEP n < tMAX n. Není však nutné tyto kontroly využívat u všech kroků.

Řídící blok sekvenceru

AS / SFC vyžaduje řídící blok, který provádí řízení zpracování sekvenceru. Podle požadavků na řízení bývá možno volit i různé typy řídících boků, poskytovaných dodavatelem PLC. Základní požadavky na řízení jsou: inicializace, přerušení, reset. Další poskytované funkce jsou krokování, vynucený přechod do určeného kroku (vpřed i vzad), sledování kroku a další. Někteří výrobci poskytují i nadstavbu pro vizualizaci, která obsahuje masky pro ovládání, generování chybových hlášení aj.

Obrázek 9
Reálný příklad sekvenceru pro synchronizaci polohy tří ultrazvukových měřících hlav.

 


PLC-AUTOMATIZACE - PROGRAM - ZOBRAZENÍ PROGRAMU - AS / SFC
 
Publikovaný obsah je určen pouze pro individuální studium.
Není povolena distribuce, prodej, přetisk a použití textu a/nebo vyobrazení (úplný, dílčí a/nebo částečný), použití ke školení a/nebo výuce (hromadné, skupinové nebo zadávané), veřejné a/nebo skupinové prezentace a ani jiné formy šíření v hmotné a/nebo nehmotné podobě.