La memoria dati in cui vengono allocate le variabili globali e le variabili locali delle FB, è massimo 8192 bytes. Non c’è un limite per ogni singola POU o FB ma il limite è dettato da quanto occupano tutte insieme. Quando si compila, il report evidenzia quanto si sta occupando e quanto c’e’ ancora libero.
Per le function invece non e’ possibile sapere quante variabili si possono avere in quanto per la loro allocazione viene usato lo stack del micro che chiaramente ha una dimensione dipendente da ciò che sta facendo il micro stesso.
Per ciò che riguarda le variabili rititentive, nelle POU e nelle FB non si possono usare dichiarandole RETAIN. Invece si possono dichiarare come “Global Variables” con attribute RETAIN usandole poi come VAR_EXTERNAL all’interno delle FB o delle POU.
Il numero di bytes riservati alle variabili dichiarabili RETAIN è 1000. Oltre a quest’area, si possono anche usare i 2048 bytes presenti nella DB100 a partire da MB100.2048 anch’essi sono ritentivi.