Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




ET200SP


Messaggi consigliati

Inserito:

Buongiorno,

al caricamento dopo la compilazione mi da il seguente allarme "L'area a ritenzione necessaria supera la massima disponibile" ed effettivamente prima del trasferimento avevo lo 0,01% di disponibilità.

In realtà ho inserito solo una DB ritentiva di 660 byte ma lo sforamento è di 1582 byte.

Ho inserito anche una DB di istanza per la verità,e leggendo su vari manuali pare che anch'essa rientri in quella porzione di memoria.

Detto questo,

come posso risolvere il problema?Ho solo come possibilità la sostituzione della ET200SP? E con cosa?


Inserita:

Aggiungo che:

è un problema di sole DB che comunque occupano lo spazio che mi ritrovo n eccesso.

la domanda è quindi: Non esiste alcun escamotage per risolvere il problema?

dina_supertramp
Inserita:

La memoria di lavoro non può essere espansa, si deve passare ad una CPU maggiore.
Puoi fare una cosa, dichiarare alcune DB solo nella memoria di caricamento e poi scriverle sulla SD con l'istruzione WRIT_DBL e leggerle dalla SD con l'istruzione READ_DBL.

Nota:
La sd ha una vita deifinita dai cicli di lettura/scrittura, che trovi qui (dovrebbe essere l'ultima versione, non ne sono certo)
Struttura e utilizzo della memoria della CPU

Qui invece trovi un esempio per fare quanto detto sopra, leggere e scrivere db dalla/sulla SD.
Using an SD Card for Retentive Memory - Siemens PLC | DMC, Inc.

dina_supertramp
Inserita:

Potresti anche pensare di fare delle istantanee periodiche dei blocchi dati e poi scrivere i valori come valori di avvio, senza bisogno di dichiarare la ritenzione...chiaramente se la tua applicazione permette una gestione del genere...

dina_supertramp
Inserita:

Puoi fare un altra cosa...se non li usi puoi diminuire all'osso il numero di merker e timer e contatori ritentivi.
Trovi come fare sul manuale che ti ho allegato al capitolo 3.3
 

pic.png

Inserita:

Innanzitutto grazie mille.

41 minuti fa, dina_supertramp ha scritto:

Potresti anche pensare di fare delle istantanee periodiche dei blocchi dati e poi scrivere i valori come valori di avvio, senza bisogno di dichiarare la ritenzione...chiaramente se la tua applicazione permette una gestione del genere...

No,la mia applicazione non permette una cosa del genere.

37 minuti fa, dina_supertramp ha scritto:

Puoi fare un altra cosa...se non li usi puoi diminuire all'osso il numero di merker e timer e contatori ritentivi.
Trovi come fare sul manuale che ti ho allegato al capitolo 3.3
 

pic.png

 

 

Purtroppo ho già questo

 

image.thumb.png.932683f1afcba37a6fd20af1b0acf909.png

dina_supertramp
Inserita:
10 minuti fa, anarchico ha scritto:

Innanzitutto grazie mille.

Welcome
 

10 minuti fa, anarchico ha scritto:

No,la mia applicazione non permette una cosa del genere.

Immaginavo...
 

11 minuti fa, anarchico ha scritto:

Purtroppo ho già questo

Azz...hai già tolto tutto, non c'è null'altro "da grattare".

Non ti resta che pensare di passare alla CPU maggiore oppure vedere se il READ/WRIT_DBL possono aiutare.

Inserita:
8 ore fa, anarchico ha scritto:

"L'area a ritenzione necessaria supera la massima disponibile"

Non riguarda solo i DB, riguarda tutte le variabili che hai reso ritentive, merker compresi.
Se, come sembra, hai già eliminato merker, timer ed altro, significa che hai altri DB con variabili ritentive.
Non specifichi quale CPU stai utilizzando ma, anche per la più piccola 1510, impossibile che tu abbia esaurito la memoria ritentiva con quel poco che dici.

Se fai tasto destro sulla CPU --> Tabella di occupazione  epoi selezioni la scheda "Memoria utilizzata", ti fa vedere anche quanta memoria ritentiva hai disponibile, e quanta ne stai usando.

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...