Skip to main content

Comando: controlla la memoria per l'applicazione attiva

Funzione: Il comando avvia il controllo della memoria per l'applicazione attiva.

Chiamata: Debug menù

Requisiti: Il CODESYS Memory Tools pacchetto è installato. L'applicazione è in modalità online.

L'area di memoria dell'applicazione attiva viene controllata per quanto segue:

I risultati del controllo vengono visualizzati nella visualizzazione dei messaggi. Le violazioni rispetto ai criteri del test sono elencate come avvertenze.

Tabella 1.

ID di avviso (se il criterio di controllo non è soddisfatto)

Criterio di controllo

MC0001

BOOL variabili devono essere entrambe 0 o 1 nella memoria.

MC0002

Le variabili di enumerazione possono assumere solo valori definiti nell'enumerazione.

MC0003

Le variabili di un tipo di sottointervallo possono assumere solo valori all'interno del sottointervallo.

MC0004

Tutte le stringhe devono terminare con zero.

MC0005

I puntatori devono sempre puntare agli indirizzi con l'allineamento corretto.

I puntatori devono puntare a posizioni di memoria il cui indirizzo è allineato alla granularità del tipo o è 0 o -1.

MC0006

I puntatori devono puntare alla memoria all'interno dell'applicazione.

I puntatori a funzione nel progetto devono puntare alla memoria gestita da CODESYS Memory Tools.

I puntatori di funzione alle POU della libreria o alle POU esterne sono esclusi perché potrebbero trovarsi nella memoria esterna.

MC0007

I puntatori devono fare riferimento a variabili del tipo corretto (ad esempio, quando un POINTER TO STRING punta a a REAL).

MC0008

Coerenza interna delle strutture del compilatore

Gli indirizzi dei puntatori a funzione devono essere coerenti internamente.

MC0009

Coerenza interna delle strutture del compilatore

Le variabili di interfaccia e i puntatori delle tabelle delle funzioni devono essere coerenti internamente.

MC0010

Coerenza interna delle strutture del compilatore

MC0011

Il codice scaricato non deve essere cambiato dopo il download.

Il codice delle POU compilate deve rimanere invariato.

Nota: le POU compilate con punti di interruzione sono escluse dal controllo perché il codice viene manipolato per queste in fase di esecuzione.

MC0012

I valori di una costante non devono essere cambiati dopo il download.

Variabile di tipo di blocco costante (STRUCT, ARRAY, ecc.) devono essere invariati rispetto ai valori di inizializzazione.

MC0013

Coerenza interna delle strutture del compilatore

MC0014

Coerenza interna delle strutture del compilatore



Facendo doppio clic su un messaggio si apre il file Memoria visualizzare dove la posizione corrispondente è evidenziata in arancione.

IL Memoria la vista può essere aperta anche tramite il file Visualizza → Memoria comando.

Il controllo può essere limitato mediante il 'memory check' attributo.