Nella dichiarazione delle variabili, il codice AT assegna una variabile del progetto a uno specifico indirizzo di ingresso, di uscita
o di memoria del PLC configurato nell'albero dei dispositivi. È inoltre possibile
definire l'assegnazione delle variabili a un indirizzo nella finestra di dialogo «I/O Mapping» del dispositivo nella configurazione del PLC.
Sintassi
<variable name> AT <address> : <data type>; <address> : %<memory area prefix> ( <size prefix> )? <memory position>
La dichiarazione AT consente di assegnare all'indirizzo un nome significativo. È possibile apportare le modifiche necessarie per i segnali di ingresso o di uscita in un unico punto, ad esempio nella dichiarazione.
Esempi
|
|
Dichiarazione di variabile con informazioni sull'indirizzo di una parola in ingresso |
|
|
Dichiarazione di variabile booleana Nota: Per le variabili booleane, viene allocato internamente un byte se non viene
specificato un indirizzo a singolo bit. Una variazione del valore di |
|
|
Dichiarazione di variabile booleana con indicazione esplicita di un indirizzo a singolo bit All'accesso, viene letto solo il bit di ingresso 7.5. |
|
|
Per la specifica dell'indirizzo, al posto della posizione di memoria viene indicato
il segnaposto Nota: Questo è possibile nei blocchi funzione. |
Se si assegna una variabile a un indirizzo, si noti quanto segue:
-
Non è possibile scrivere su variabili posizionate sugli ingressi. Questo causerà un errore del compilatore.
-
È possibile eseguire dichiarazioni AT solo per le variabili locali e globali, non per le variabili di input/output delle POU.
-
Inoltre, le dichiarazioni AT non possono essere utilizzate negli elenchi di variabili persistenti.
-
Se si utilizzano le dichiarazioni AT per i componenti della struttura o le variabili del blocco funzione, tutte le istanze utilizzano la stessa memoria. Ciò corrisponde all'uso di "variabili statiche" nei linguaggi di programmazione classici come il "C".
-
Anche la disposizione delle strutture in memoria dipende dal sistema di destinazione.




AVVISO

Se non si specifica esplicitamente un indirizzo a singolo bit, le variabili booleane vengono allocate byte per byte.
Esempio
PROGRAM PLC_PRG
VAR
xVar AT %QW0 : BOOL;
END_VAR
xVar := TRUE;
Quando viene scritta la variabile xVar, viene influenzato l'intervallo di memoria di uscita compreso tra QX0.0 e QX0.7.