Data aggiornamento: aprile 2026
Benvenuto (o bentornato) tra le pagine di questo sito dedicate ai PLC Siemens. Ci troviamo all’interno del corso gratuito, e in questa lezione parliamo dei blocchi di programma che Tia Portal ci permette di creare e utilizzare, per organizzare meglio il programma del controllore logico programmabile, come il Simatic S7-1200, oppure il Simatic S7-1500.
Organizzare il programma in maniera corretta permette una scrittura più semplice, un collaudo facilitato, e una eventuale rilettura dopo molto tempo più agevole.
Chi non ha mai programmato un plc Siemens di nuova generazione, oppure chi conosce la programmazione di altri modelli di controllori, all’inizio può trovarsi in difficoltà nel capire come effettivamente il software in Tia Portal viene organizzato.
DB, OB, FB, FC, cosa sono davvero, e come si utilizzano (o meglio quando)?
In questo tutorial scopriamo le differenze tra questi tipi di blocchi di programma Siemens, e cominciamo col dire che tra questi quattro blocchi, quello che più si distingue è il blocco dati, ovvero il blocco DB (Data Block).
I blocchi dati DB in Tia Portal.
Il DB non si programma con i linguaggi per plc (KOP, FUP, SCL, che poi corrispondono a linguaggio ladder, a blocchi di funzione e di testo strutturato) ma contiene invece solamente dati.
Quando abbiamo un programma PLC, abbiamo per forza anche dei dati per memorizzare i risultati delle operazioni, configurazioni, e tutto ciò che serve per il funzionamento delle istruzioni.
Utilizziamo quindi un DB quando dobbiamo dichiarare delle variabili di diverso tipo, per meglio rappresentare il nostro sistema da automatizzare.
Nella figura che segue vediamo la creazione di un blocco DB di tipo globale (visibile in tutto il progetto), a cui assegniamo un nome e anche un numero; il numero può essere assegnato in modo automatico dal sistema, oppure manuale scegliendolo noi. Se scegliamo di utilizzare un numero manuale, dobbiamo assicurarci di non creare doppioni.
Tutti i blocchi che inseriamo in Tia Portal, indipendentemente dalla loro natura, hanno un numero univoco per tipo.
I blocchi funzioni FC in Tia Portal.
Il blocco FC invece è un blocco funzione che serve a creare programmi nei diversi linguaggi disponibili.
La particolarità del blocco FC è che non possiede una sua memoria, per cui nel programmare istruzioni al suo interno, utilizziamo la memoria con le variabili dichiarate nei vari DB, oppure la memoria merker del PLC, che può anche essere configurata come ritentiva.
Per scrivere programmi più facili da gestire possiamo per esempio creare un DB e dedicarlo a un FC in maniera logica, tuttavia dal punto di vista del controllore questi rimangono due entità separate.
Nella figura che segue vediamo la generazione di un blocco FC, notiamo che possiamo scegliere in alto il linguaggio di programmazione da utilizzare (nell’esempio il KOP, ovvero ladder).
Le funzioni FB in Tia Portal.
A differenza del blocco FC, la funzione FB possiede una sua area di memoria dedicata, chiamata memoria di istanza. Quando creiamo una FB, se vogliamo possiamo dichiarare al suo interno delle variabili chiamate “static”, il cui valore viene memorizzato proprio all’interno di questa DB di istanza.
Ogni volta che inseriamo il richiamo di un blocco FB nel programma, il sistema ci chiede di generare una DB di istanza per quel richiamo; in questo modo possiamo eseguire la funzione diverse volte nel software e ogni richiamo funzionerà in modo indipendente.
Ecco nell’immagine quì sotto la creazione di una funzione FB, anche in questo caso scegliamo il linguaggio per programmarla.
I blocchi OB in Tia Portal.
Il blocco organizzativo OB serve generalmente per richiamare altri blocchi FC o FB.
Nessuno vieta di scrivere pezzi di programma negli OB, se il progetto è piccolo si può tranquillamente editare tutto all’interno dell’OB 1, quello di default; per progetti più articolati è consigliabile creare FC e FB, da richiamare poi in uno o più OB.
Di blocchi OB ce ne sono di diverso tipo, e tra questi troviamo anche blocchi particolari, come quelli che vengono eseguiti al passaggio del plc da stop a run, al verificarsi di errori, o ancora a intervalli di tempo prestabiliti.
Nella figura sotto vediamo il menu dove possiamo scegliere tra i diversi tipi di blocco OB, dato che in questi blocchi possiamo introdurre istruzioni di programma, anche in questo caso abbiamo la scelta del linguaggio (in alto a destra).
Ricapitolando, in Tia Portal possiamo creare blocchi DB per contenere dati utilizzati poi nel programma, le funzioni FB che hanno una loro memoria, le funzioni FC che non hanno una loro memoria, e i blocchi OB per organizzare meglio il software, o intercettare eventi particolari.
Nell’immagine che segue troviamo il richiamo due volte di una FB, ognuna ha la sua DB di istanza.