Un'unità di programmazione con 1 o più uscite, che restituisce 1 o più uscite. Gli FBs vengono richiamati tramite un'istanza (copia del blocco funzione con nome e variabili dedicati) e ogni istanza ha uno stato permanente (uscite e variabili interne) da una chiamata all'altra.
Esempi: timer, contatori
Per informazioni più dettagliate, vedere http://www.plcopen.org/.