Dichiarazione AT

Panoramica

Per associare una variabile di progetto con un indirizzo definito, è possibile assegnare delle variabili a un indirizzo nella vista Mapping I/O di un dispositivo nella configurazione del controller (editor dispositivi). In alternativa, è possibile immettere questo indirizzo direttamente nella dichiarazione della variabile.

Sintassi

<variable name> AT <address> : <data type>;
<address> : %<memory area prefix> ( <size prefix> )? <memory position

Un indirizzo valido deve seguire la parola chiave AT. Per maggiori informazioni, vedere la descrizione Indirizzo. Tenere presente che possono verificarsi delle sovrapposizioni nel caso di modalità di indirizzamento byte.

Questa dichiarazione consente di assegnare un nome significativo a un indirizzo. Qualsiasi modifica relativa a un segnale in ingresso o in uscita può essere eseguita soltanto in un punto specifico (ad esempio, nella dichiarazione).

Tenere presente quanto segue quando si seleziona una variabile da assegnare a un indirizzo:

  • Le variabili che richiedono un ingresso non sono accessibili in scrittura. Il compilatore rileva questo problema segnalando un errore.

  • Le dichiarazioni AT possono essere utilizzate soltanto con le variabili locali o globali. Non possono essere utilizzate con le variabili di ingresso e uscita delle POU.

  • Le dichiarazioni AT non sono ammesse negli elenchi di variabili persistenti.

  • Se le dichiarazioni AT vengono utilizzate con elementi struttura o blocco funzione, tutte le istanze accederanno alla stessa posizione di memoria di tale struttura o blocco funzione. Ciò corrisponde alle variabili statiche nei linguaggi di programmazione classici, ad esempio C.

  • Il layout di memoria delle strutture è determinato anche dalla destinazione.

Esempi

xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;

Nota

Se le variabili booleane sono assegnate a un indirizzo BYTE, WORD o DWORD occupano 1 byte con TRUE o FALSE, non solo il primo bit dopo l'offset.

La dimensione della memoria per ingresso, uscita e dati di memoria (dichiarazioni con AT %I, %Q e %M) è predefinita dal dispositivo di destinazione e può essere sovrascritta nelle proprietà di un oggetto applicazione per i controller PacDrive (PacDrive LMC Eco, PacDrive LMC Pro/Pro2).