Funkčné bloky a ich inštancia
Funkčné bloky obsahujú podprogramy, ktoré sa vykonávajú vždy, keď je blok FB vyvolaný.
Na rozdiel od funkcií si však uchovávajú hodnoty premenných v inštančných dátových blokoch (Instance DB),
vďaka čomu sú tieto hodnoty dostupné aj po skončení vykonávania bloku.
Vstupy, výstupy a parametre typu IN/OUT sa ukladajú trvalo do inštančných DB, takže ostávajú uložené aj po ukončení cyklu.
Preto sa funkčné bloky nazývajú aj bloky s pamäťou.
Funkčné bloky používame vtedy, keď:
Potrebujeme časovače (timery) alebo čítače (counters).
Chceme uchovať informáciu v programe – napríklad stav tlačidla alebo zvolený režim práce.
Funkčné bloky môžeme vyvolať viackrát z rôznych častí programu,
čo zjednodušuje programovanie zložitých alebo opakujúcich sa funkcií.
Inštancia funkčného bloku
Volanie funkčného bloku sa nazýva inštancia.
Pre každú inštanciu FB je pridelená pamäťová oblasť (DB), ktorá obsahuje údaje FB počas spracovania.
Pamäť je automaticky pridelená systémom.
Je tiež možné vytvoriť viacero inštancií v jednom DB – tzv. multiinštanciu,
čo umožňuje efektívnejšie využitie pamäte.