TIA Portal - blok FB a instanční datový blok

  • středa, 27 září 2017 08:25

Tentokrát si ukážeme, jak funguje instanční datový blok u FB bloku PLC programu a vytvoříme si jednodušší funkci, která nám posouvá bity zprava doleva, tedy od nejnižšího k nejvyššímu.


PLC Simatic S7-1200, programování TIA Portal Step7 V13.

tia bitshift 09


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.

tia bitshift 01


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í

tia bitshift 02b


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í

tia bitshift 03b


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ě.

tia bitshift 04


Vytvořený datový blok DB10 funkce FB10 je přesně podle interface uvnitř funkce.

tia bitshift 05


A jedem online, my jsme jako pulsy použili interní z PLC, je možné ale využít jakýkoliv bitový signál.

tia bitshift 06


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ů.

tia bitshift 07


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í

tia bitshift 08b


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.

Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209