AT
Per associare una variabile di progetto con un indirizzo definito, è possibile assegnare delle variabili a un indirizzo nella vista
di un dispositivo nella configurazione del controller (editor dispositivi). In alternativa, è possibile immettere questo indirizzo direttamente nella dichiarazione della variabile.<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.
xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;
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).