AT
Para enlazar una variable de proyecto con una dirección definida puede asignar variables a una dirección en la vista de
de un dispositivo en la configuración del controlador(editor de dispositivo). También puede introducir esta dirección directamente en la declaración de la variable.<variable name> AT <address> : <data type>;
<address> : %<memory area prefix> ( <size prefix> )? <memory position
Una dirección válida debe seguir a la palabra clave AT
. Para obtener más información, consulte la descripción de la dirección. Tenga en cuenta la posibilidad de solapamientos en caso de modalidad de direccionamiento de bytes
Esta declaración permite asignar un nombre significativo a una dirección. Cualquier modificación relativa a una señal entrante o saliente solamente podrá realizarse en un único sitio (por ejemplo, en la declaración).
Tenga en cuenta los siguientes puntos al escoger una variable y asignarla a una dirección:
No se puede escribir en las variables que requieren introducción de datos. El compilador lo intercepta detectando un error.
Las declaraciones AT
solamente pueden utilizarse con variables locales o globales. No pueden utilizarse con variables de entrada y salida de POU.
Las declaraciones AT
no están permitidas en las listas de variables persistentes.
Si se utilizan declaraciones AT
con miembros de un bloque de funciones o de una estructura, todas las instancias accederán a la misma ubicación de memoria de dicha estructura o bloque de funciones. Esto corresponde a las variables estáticas en los lenguajes de programación clásicos como C.
La disposición de memoria de las estructuras está también determinada por el destino.
xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;
Si se asignan variables booleanas a una dirección de BYTE, WORD o DWORD, ocuparán un byte con TRUE o FALSE, no solo el primer bit tras el offset.
El tamaño de memoria para la entrada, la salida y los datos de la memoria (declaraciones con AT %I
, %Q
y %M
) está predefinido por el dispositivo de destino y podrá sobrescribirse en las propiedades de un objeto de aplicación para controladores PacDrive (PacDrive LMC Eco, PacDrive LMC Pro/Pro2).