Ebben a cikkben bemutatom, mi a különbség a TIA Portal-ban elérhető Function (FC) és Function Block (FB) blokkok között, és megnézzük, mikor érdemes melyiket alkalmazni a hatékony és karbantartható PLC-programozás érdekében. Gyakorlati felhasználásaik vegyes képet mutatnak, erősen a tapasztalat és programozási stílus az ami meghatározza ki, mikor, melyiket és milyen feladatokra alkalmazza.

Mi az FC (Function)?

- Az FC egy stateless (állapotmentes) függvény.
- Minden alkalommal, amikor meghívod, nem emlékszik az előző futtatásokra.
- Olyan, mint egy klasszikus függvény a programozási nyelvekben.
- Bemeneti és kimeneti paramétereket fogad, de nem tárol belső adatokat tartósan.
- Rendelkezhet visszatérési értékkel (RETURN VALUE), segítségével jelezheted például sikeres végrehajtást (
TRUE
), hibát vagy érvénytelen adatot (FALSE
) vagy akár számított értéket (pl. eredményt egy matematikai műveletből).
Mikor használd?
- Segédfüggvényként, ha nincs szükség belső adattárolásra.
- Előre meghatározott memóriaterületeket használsz és nincs szükséged a blokk saját memóriaterületére, például egy manuálisan létrehozott DB adataival szeretnél dolgozni.

Mi az FB (Function Block)?

- Az FB saját, statikus adaterülettel rendelkező blokk.
- Van egy saját Instance Data Block (DB) blokkja, amely tárolja a belső változóit. Input, output, inout és a static memóriaterületek kerülnek a blokkba a generálás során.
- A DB-ben tárolt adatok elérhetőek a többi blokk számára.
- Emlékszik az előző hívások állapotára, például időzítők, számlálók vagy gépállapotok esetén, mert azok adatai a DB-ben tárolódnak.

Mikor használd?
- Ha nem szeretnél külön DB-t létrehozni a tárolt adatoknak.
- Jól példányosítható, saját adatterülettel rendelkező blokkra van szükséged.