Come si vede dall’immagine precedente, durante l’esecuzione del programma le routine interagiscono sia con i dati utente memorizzati che con l’immagine di elaborazione ingressi e uscite. Tra le aree di memoria notiamo quella dove vengono memorizzate le istruzioni del programma, i dati di sistema, e poi c’è una porzione di memoria che funge da “buffer di caricamento” per il programma stesso e i set di dati.
La gestione delle aree di memoria varia da plc a plc ma i concetti sono sempre gli stessi, soprattutto per ciò che concerne la ritenzione delle informazioni.
Memoria non ritentiva e memoria ritentiva.
Cosa succede ai dati quando spegniamo il plc o quando viene interrotta l’alimentazione accidentalmente? I dati memorizzati nella memoria volatile vengono persi, lo stesso accade quando il plc passa dallo stato di stop a run (marcia).
Questo è ciò che avviene in linea di principio, e per questo motivo i plc ci permettono di configurare alcune aree di memoria come “ritentive”, ovvero che non perdono le informazioni al verificarsi delle situazioni di cui sopra.
La memoria ritentiva è importantissima in quanto per esempio permette di mantenere tutte le informazioni sullo stato di un processo nel momento in cui esso viene arrestato volutamente o accidentalmente. Immaginiamo cosa può accadere se tutto venisse azzerato e non si sapesse più “dove si era arrivati”, in pratica il processo andrebbe resettato e ricominciato daccapo.
Come avviene la ritenzione delle informazioni.
Quando definiamo una base dati di tipo ritentivo, le informazioni che essa contiene vengono scritte in apposite memorie come per esempio sulle schede SD che rimangono alimentate dalle batterie tampone solitamente installate nelle unità centrali. In questo caso, a seconda dei sistemi i dati possono rimanere in memoria anche se estraiamo le schede dalle CPU, oppure andare persi comunque; dipende dal tipo di scheda impiegata.
Al verificarsi degli eventi che farebbero perdere i dati, questi sono disponibili per essere acquisiti dai siti dove erano stati costantemente memorizzati e aggiornati.
Normalmente quando abbiamo un plc con batteria tampone siamo sicuri che i dati che ci interessa mantenere nelle memorie siano sempre al loro posto. Questo garantisce il funzionamento dei processi che automatizziamo anche in caso di interruzione della corrente (nelle fabbriche accade spesso), oppure al verificarsi di situazioni sugli impianti che mandano il PLC in stop.