Direcciones
Atención
Si utiliza punteros a las direcciones, el contenido de las direcciones se puede mover durante un cambio en línea. Si utiliza direcciones absolutas, el contenido de las direcciones no cambia durante un cambio en línea
Sintaxis:
%
<número de área de memoria> <prefijo de tamaño> <número de posición> .
<número de posición del bit>
| Necesario Dirección en el área de memoria
|
<prefijo del área de memoria> | Necesario
|
<prefijo de tamaño> | Opcional
|
<posición de memoria> | <número de posición > Ejemplo: |
<número de posición> | Necesario La numeración depende del sistema de destino y comienza en 0. |
| Opcional 0.7 para un byte |
Al definir una dirección, utiliza cadenas específicas para expresar la posición y el tamaño de la memoria. Una dirección está marcada con el signo de porcentaje (%
), seguido del prefijo del rango de memoria, el prefijo de tamaño opcional y la posición del rango de memoria. La numeración que utilice para direccionar la posición de la memoria depende del sistema de destino.
| Dirección de bit único del bit de salida 7.5 |
| Dirección de palabra de la palabra de entrada 215 |
| Dirección de byte del byte de salida 7 |
| Dirección de una palabra doble en la posición de memoria 48 en la memoria de banderas |
| Dirección de palabra de una palabra de entrada; interpretación dependiente de la configuración actual del controlador |
VAR wVar AT %IW0 : WORD; END_VAR | Declaración de variables con información de dirección de una palabra de entrada |
VAR xActuator AT %QW0 : BOOL; END_VAR | Declaración de variable booleana Nota: para las variables booleanas, se asigna un byte internamente si no se especifica una dirección de un solo bit. Un cambio en el valor de |
VAR xSensor AT %IX7.5 : BOOL; END_VAR | Declaración de variable booleana con especificación explícita de una dirección de un solo bit En el acceso, solo se lee el bit de entrada 7.5. |
Posición de la memoria
Asegúrese de que la dirección sea válida de la siguiente manera:
Para mapear una dirección válida en una solicitud, primero debe conocer la posición requerida en la imagen del proceso. Esto significa el área de memoria aplicable: área de memoria de entrada (I
), área de memoria de salida (Q
), o marcar el área de memoria (M
) (ver arriba). Además, debe especificar el prefijo de tamaño requerido: bit BYTE
, WORD
, DWORD
(véase más arriba: X
, B
, W
, D
)
La configuración y los ajustes del dispositivo que se utilizan actualmente (estructura del hardware, descripción del dispositivo, ajustes de E/S) desempeñan un papel decisivo.
Preste especial atención a las diferencias en la interpretación de las direcciones de bits entre los dispositivos con direccionamiento de bytes y los dispositivos con direccionamiento IEC orientado a palabras.
En el caso de la dirección de bits %IX5.5
, el número antes del punto indica el byte 5 en un dispositivo direccionado por bytes y la palabra 5 en un dispositivo direccionado por palabras.
Por el contrario, el direccionamiento con una dirección de palabra o byte es independiente del tipo de dispositivo: con %IW5
, la palabra 5 siempre está direccionada y con una dirección en bytes %IB5
siempre el byte 5. Por lo tanto, según el tamaño y el modo de direccionamiento, puede direccionar diferentes celdas de memoria con la misma información de dirección.
La siguiente tabla muestra la comparación del direccionamiento de bytes y el direccionamiento IEC orientado a palabras para bits, bytes, palabras y palabras dobles. También muestra las áreas de memoria superpuestas para el direccionamiento de bytes. Consulte el ejemplo al final de la tabla.
En cuanto a la sintaxis, tenga en cuenta que el direccionamiento IEC siempre está orientado a palabras. El número de palabra se encuentra antes del punto y el número de bits después del

n = número de bytes
D0
contiene B0
- B3
. W0
contiene B0
y B1
. W1
contiene B2
y B3
. W2
contiene B4
y B5
.
W1
, pero también D1
, D2
, y D3
no debe usarse para direccionar. Esto evita la superposición.