CORSO DI PLC
DIFFERENZA TRA VARIABILI TEMPORANEE E VARIABILI D'ISTANZA

Programmatore PLC

Data aggiornamento: febbraio 2026.

Che cos’è una variabile temporanea e come si differenzia da una variabile d’istanza? Quali tipi di blocchi di programma contengono variabili dedicate?

Benvenuto in questa lezione del corso di programmazione PLC, oggi parliamo di variabili, in particolare impareremo le differenze tra variabili temporanee e d’istanza.

Questa lezione è proposta per il PLC Siemens Simatic S7-1200 (o S7-1500), tuttavia ciò di cui parliamo è valido in pratica per tutti i controllori logici programmabili, anche di altre marche.

Novità automazione e plc

Chi comincia a programmare i PLC, spesso fatica a comprendere chiaramente la differenza tra diversi tipi di variabili, questo avviene anche perché i diversi ambienti di programmazione a volte chiamano questi tipi in modo diverso.

Ecco che si si trova a lavorare con variabili globali, locali, temporanee, statiche, persistenti; insomma ce n’è abbastanza per confondersi anche per chi sa già programmare ma passa a un sistema differente.

Oggi impariamo la differenza tra variabili temporanee e di istanza, e lo facciamo con degli esempi di programma.

Nella prossima immagine troviamo una semplice istruzione ladder, che incrementa il valore di una variabile, definita tra quelle temporanee del blocco; queste variabili si chiamano variabili “temp”, e si definiscono nella parte alta dell’editor del programma stesso.

Nell’esempio di oggi abbiamo definito una variabile di tipo intero, chiamata “appoggio”.

Corso di plc: dichiarazione variabile temporanea (temp)

Se eseguiamo questo programma ci accorgiamo che non funziona come previsto, infatti la variabile non viene incrementata, come mai? Semplice, le variabili temporanee non mantengono il loro ultimo valore quando la scansione del programma esce dal blocco che le calcola.

Le variabili temporanee sono “viste” solo all’interno del blocco dove sono state definite, e prima di utilizzarle devono essere valorizzate.

Nella figura quì sotto vediamo che il valore di #appoggio è sempre 1, infatti essa viene azzerata ogni volta che si esce dal blocco di programma.

Corso di plc: variabili temp azzerate

Nell’immagine che segue invece vediamo che abbiamo utilizzato la variabile temporanea come appoggio intermedio tra due operazioni, in questo caso le istruzioni funzionano perfettamente, dato che a ogni ingresso della scansione in quel punto la variabile “appoggio” viene ricalcolata prima di essere letta.

Notiamo che per utilizzare le variabili interne nei blocchi di programma si deve porre un cancelletto davanti al nome nelle istruzioni.

Corso di plc: utilizzo delle variabili temporanee

Variabili di istanza (static).

Se vogliamo utilizzare delle variabili che mantengano i valori in qualsiasi punto del programma, allora dobbiamo affidarci alle variabili globali come quelle merker, oppure dichiarate nei blocchi DB, o ancora dichiarare delle variabili di tipo “static” all’interno di blocchi di programma FB. La particolarità degli FB è che hanno una DB d’istanza dedicata.

Ecco nella prossima immagine la dichiarazione della variabile appoggio nel gruppo delle statiche in un blocco FB.

Corso di plc: dichiarazione variabili static nella FB

Utilizzando i blocchi funzione FB con le DB di istanza, l’istruzione funziona correttamente, dato che la variabile è contenuta nella DB.

Come vediamo nella prossima immagine, l’incremento di “appoggio” sta funzionando.

Corso di plc: runtime del programma

A questo punto possiamo visualizzare la stessa variabile aprendo direttamente la finestra di monitoraggio della DB d’istanza, eccola nella figura che segue.

Corso di plc: monitoraggio delle variabili nel DB d'istanza

Copyright(C) automazione-plc.it
P. IVA: 11676200964
Sito di informazione e didattica sull'automazione industriale, il mondo dei PLC e dei sistemi di supervisione.
Programmazione PLC.
Programmazione SCADA e HMI.
Apparecchiature e hardware industriale.
Strumentazione da campo.
Policy sulla Privacy e utilizzo dei Cookies
- Modifica le preferenze sui Cookies -
- Termini e condizioni -