ESPLORIAMO E IMPARIAMO COME FUNZIONA LA MEMORIA DEI PLC SIEMENS

Tecnico che esplora la memoria del PLC

Autore: Luciano Guida, Automation Engineer.
Data aggiornamento: settembre 2026.

Se stai studiando o vuoi imparare a programmare i PLC Siemens, segui questa lezione, che ti permetterà di scoprire il mondo della memoria di questi controllori.

All’interno del PLC possiamo sfruttare moltissimi tipi di dati, e come sanno bene i miei studenti d’automazione industriale, il programmatore deve imparare come questi sono rappresentati all’interno della memoria, come vengono indirizzati, e in quale caso devono essere sfruttati.

Novità automazione e plc
Abbiamo già imparato diverse cose nella lezione dedicata alla memoria dei PLC, oggi ci focalizziamo invece sulla memoria dei controllori Siemens S7, dato che sono tra quelli più utilizzati al mondo, e che offrono molte possibilità riguardo alla gestione della memoria e dei tipi di dati.

Per studiare come funzionano le cose all’interno di questi PLC  utilizziamo il tool da me creato, chiamato “Atlante della memoria PLC Siemens S7”. Questo tool contiene 5 sezioni, in ognuna delle quali si può analizzare un particolare aspetto della gestione dei dati.

1. Descrizione e utilizzo del tool.
Come dicevo, questo “atlante della memoria” è uno strumento didattico progettato per facilitare la comprensione dell'organizzazione della memoria nei controllori Siemens, e delle modalità di indirizzamento utilizzate all'interno del TIA Portal.
L'interfaccia è suddivisa in cinque sezioni indipendenti, eccole di seguito:

1.1. Sezione Atlante aree di memoria.
La prima sezione, denominata "Atlante Aree", rappresenta il cuore del tool. Qui vengono visualizzate tutte le principali aree di memoria utilizzate nei PLC Siemens, raggruppate in tre categorie: memoria di processo, blocchi dati dell'utente, e memoria fisica della CPU.
Possiamo selezionare una qualsiasi area di memoria come ingressi, uscite, merker, global data block, blocchi dati d’istanza, memoria temporanea e di lavoro. Ci sono poi anche la memoria di lavoro e quella ritentiva.

Quando selezioniamo un’area il pannello informativo si aggiorna automaticamente, per descrivere diverse cose: la funzione dell'area scelta, il suo utilizzo pratico, il comportamento durante il ciclo di scansione, la ritentività, le dimensioni disponibili, gli esempi di indirizzamento, e un'applicazione tipica all'interno di un progetto industriale.
Questa sezione permette quindi di comprendere non solo dove vengono memorizzati i dati, ma anche quando vengono aggiornati e quale ruolo svolgono durante l'esecuzione del programma PLC.
Schermata della sezione atlante della memoria plc Siemens

1.2. Sezione tipi di dati primitivi.

La seconda sezione è dedicata ai tipi di dato fondamentali disponibili nei PLC Siemens. Attraverso un menu a tendina è possibile selezionare uno dei tipi di variabile, tra cui BOOL, BYTE, WORD, DWORD, INT, DINT, REAL, LREAL, STRING, ARRAY e STRUCT.

Per ogni elemento vengono mostrate la dimensione di memoria occupata, il campo dei valori gestibili, e gli impieghi più comuni nell'automazione industriale.

Questa sezione costituisce un pratico riferimento per comprendere quale tipo di dato utilizzare nelle diverse situazioni progettuali, e ci aiuta a scegliere la struttura più adatta in funzione della precisione richiesta, dello spazio occupato e del tipo di informazione da gestire.

Schermata sezione dei tipi di dati nella memoria plc Siemens

1.3. Sezione di esplorazione indirizzi di memoria.

In questa sezione possiamo analizzare gli indirizzi assoluti utilizzati nei PLC Siemens. Si sceglie un indirizzo nel formato standard, per esempio M10.3, MW100, oppure DB5.DBW20, per ottenere immediatamente una scomposizione dettagliata della sintassi.

Il sistema identifica automaticamente l'area di memoria coinvolta, il tipo di variabile, il numero di byte occupati, il byte iniziale e quello finale.

Nel caso di indirizzi riferiti a singoli bit, viene inoltre mostrata una rappresentazione grafica del byte con evidenziato il bit selezionato, rendendo immediata la comprensione della posizione occupata all'interno della memoria.

Schermata sezione indirizzamento della memoria nel plc Siemens
1.4. Significatività dei bytes e dei bits.

La quarta sezione illustra la significatività dei bit e dei byte nei diversi formati numerici, dato che questa è una delle cose più difficoltose da memorizzare per chi è alle prime armi nella programmazione di questi PLC.

Attraverso schemi grafici vengono spiegati i concetti di MSB (Most Significant Bit) e LSB (Least Significant Bit), mostrando come sono organizzati BYTE, WORD, DWORD, DINT e REAL.
Le rappresentazioni evidenziano la disposizione dei bit, il ruolo del bit di segno, e l'organizzazione dei byte secondo il formato Big Endian utilizzato dai PLC Siemens.

Alcuni esempi numerici permettono di capire concretamente come un valore viene memorizzato nella memoria della CPU, e come i diversi byte contribuiscano alla formazione del dato completo.
Schermata sezione spiegazione significatività dei bits e dei bytes
1.5. Quiz.

L'ultima sezione è costituita dal Quiz di verifica. Il sistema propone una serie di domande a singola risposta, che coprono gli argomenti trattati nelle sezioni precedenti.
Dopo ogni risposta viene fornito un riscontro immediato con l'indicazione della soluzione corretta e una spiegazione dell'errore o della risposta esatta.
Al termine del questionario viene visualizzato il riepilogo con il numero di risposte corrette ed errate.
Schermata del quiz sulla memoria dei plc Siemens

Di seguito troviamo l'applicazione interattiva.

Atlante della memoria PLC Siemens S7

Analisi Didattica delle Aree, Indirizzamenti e Tipi Dati

Memoria di Processo (Ciclica)
I (Ingressi)
Q (Uscite)
M (Merker)
Blocchi Memoria Utente
Global DB
Instance DB
TEMP (Locale)
Architettura Fisica Hardware
Work (RAM)
Load (Flash)
Retain (NVRAM)

Tipi di Dati Primari

Address Explorer Assoluto

Inserisci un indirizzo in sintassi standard Step 7 / TIA Portal per decodificarlo.

Bit: I0.0, Q1.5, M10.3, DB5.DBX2.1 Byte: IB0, QB2, MB10, DB5.DBB0 Word: IW0, QW2, MW10, DB5.DBW0 DWord: ID0, QD2, MD10, DB5.DBD0

Significatività di Bit e Byte

Regola d'Oro Pratica: Tutto ciò che si trova a sinistra ha valore maggiore ed è più significativo (MSB). Tutto ciò che si trova a destra ha valore minore ed è meno significativo (LSB).
1. Variabile tipo BYTE (8 Bit / 1 Byte) Es. Stato Pulsantiera
Bit 7MSB (Sinistra)
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0LSB (Destra)

Esempi:
Valore 1 → 0000 0001
Valore 128 → 1000 0000

2. Variabile tipo WORD / INT (16 Bit / 2 Byte) Es. Conteggio Pezzi Nastro
Byte Più Significativo (MSB) - Indirizzo Minore (es. MB10)
Byte Meno Significativo (LSB) - Indirizzo Maggiore (es. MB11)
Bit 15Segno (in INT)
Bit 14..9
Bit 8
Bit 7
Bit 6..1
Bit 0Unità numeriche

Esempi:
150 → 0000 0000 1001 0110
500 → 0000 0001 1111 0100
Il valore 500 richiede entrambi i byte (il solo LSB arriva a 255).

Big Endian: Indirizzo minore = byte MSB. Es. MW10 → MB10=MSB, MB11=LSB

3. Variabile tipo DWORD / DINT / REAL (32 Bit / 4 Byte) Es. Pressione Idraulica, Grandi Volumi
Byte più significativo (MB20)
Byte (MB21)
Byte (MB22)
Byte meno significativo (MB23)
Bit 31Segno
Bit 30..24
Bit 23..16
Bit 15..8
Bit 7..0Unità

Big Endian: MD20 → MB20=MSB, MB21, MB22, MB23=LSB

Esempi:
DINT 12.500.430 → 0000 0000 1011 1110 1010 0100 0100 1110
REAL 4.52 → Bit31=segno, Bit30..23=esponente, Bit22..0=mantissa (IEEE 754)

Quiz

Copyright(C) automazione-plc.it
Luciano Guida
P.IVA: 11676200964
REA: MI-2791053
PEC: luciano.guida@postecertifica.it

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 -