anarchico Inserito: lunedì alle 12:39 Segnala Share Inserito: lunedì alle 12:39 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? Link al commento Condividi su altri siti More sharing options...
anarchico Inserita: lunedì alle 13:06 Autore Segnala Share Inserita: lunedì alle 13:06 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? Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: lunedì alle 13:28 Segnala Share Inserita: lunedì alle 13:28 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. Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: lunedì alle 13:30 Segnala Share Inserita: lunedì alle 13:30 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... Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: lunedì alle 13:35 Segnala Share Inserita: lunedì alle 13:35 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 Link al commento Condividi su altri siti More sharing options...
anarchico Inserita: lunedì alle 14:14 Autore Segnala Share Inserita: lunedì alle 14:14 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 Purtroppo ho già questo Link al commento Condividi su altri siti More sharing options...
dina_supertramp Inserita: lunedì alle 14:27 Segnala Share Inserita: lunedì alle 14:27 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. Link al commento Condividi su altri siti More sharing options...
batta Inserita: lunedì alle 21:13 Segnala Share Inserita: lunedì alle 21:13 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. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora