PLC Simatic S7-1200, programování TIA Portal Step7 V13.
Takovou funkci FB10 si pro náš příklad vytvoříme. Vstupy, RUN funkci uvolní, PULSY vždy na náběžnou hranu posunou bit o jednu pozici. Výstup OUT je 16-ti bitová proměnná, ve které se patřičný bit posunuje, bitové signály RDY funkce je připravena k zapnutí, RUNNING funkce běží tedy bit se posunuje a FULL signalizuje že je nastaven nejvyšší bit, tedy posuv je na konci. Tohle je zrovna funkce, která se dá programovat mnoha způsoby, od jednoduchých řešení až po složité, takže jistě mnohé čtenáře napadne "proč zrovna takto, já bych to vyřešil jinak" a tak podobně. No, můžete nám klidně Vaše řešení poslat, ale my jsme ji vytvořili hlavně pro ukázku FB bloku a jeho instančního datového bloku.
V FB bloku deklarujeme interface, tedy vstupy a výstupy funkce a taky statické proměnné, kde si můžeme ukládat data a pracovat s nimi uvnitř funkce. FB si podle tohoto interface při vložení do PLC programu vytvoří. Do statických proměnných si dáme, co budeme potřebovat, například paměť pro hranu, abychom nemuseli využívat další paměťovou oblast a různé pomocné proměnné.
Klikněte na obrázek pro zvětšení
Tak nějak s použitím interní Siemens funkce SHL vytvoříme požadované. Za zmínku stojí Network 3, kde je syntaxe pro jeden bit naší statické proměnné. To jsme si ale již ukazovali v jednom z minulých článků. Jak nás upozornil v této souvislosti jeden z kolegů, za což moc děkujeme, neboť nestačíme všechno sledovat, na využití funkce "Overlaying tags" s AT, tak její použití si ukážeme někdy příště.
Klikněte na obrázek pro zvětšení
A je to. Na vstupy a výstupy funkce FB10 pověsíme buď proměnné z DB10, nebo třeba fyzické vstupy, merkry a podobně.
Vytvořený datový blok DB10 funkce FB10 je přesně podle interface uvnitř funkce.
A jedem online, my jsme jako pulsy použili interní z PLC, je možné ale využít jakýkoliv bitový signál.
Ideálně celá funkce vypadá online ve VAT tabulce proměnných. Tady, na řádku devět, není možné použít adresaci jen bitu z INT proměnné, ale v PLC programu bez problémů.
Takto. Pro ukázku jsme využili všechny bity a sledujeme, jak se aktuální bit posouvá.
Klikněte na obrázek pro zvětšení
Celý princip FB10 je vidět na krátkém videu.
https://www.youtube.com/watch?v=BoJm5Pn39z4&feature=youtube
Závěr:
Předpokládáme, že jsme pro začátečníky a méně zkušené programátory PLC Simatic objasnili funkční blok typu FB a hlavní rozdíl proti bloku FC. Pro FC blok nelze vygenerovat instanční datový blok a proto, v případě použití místo našeho FB, bychom museli všechny paměti a pomocné proměnné řešit mimo funkci, jako například paměťový bit pro hranu.
Jaroslav Blažek
Doplňující odkazy k článku:
TIA Portal pro Simatic S7-1200/1500, více tady.