Skip to main content

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>

% <dirección>

Necesario

Dirección en el área de memoria

% <prefijo del área de memoria> <prefijo de tamaño> <posición de memoria>

<prefijo del área de memoria>

Necesario

  • I: Área de memoria de entrada

    Área de memoria para señales de entrada y entradas

    Para entradas físicas mediante controladores de entrada y sensores

  • Q: Área de memoria de salida

    Memory area for output signals and outputs

    Para salidas físicas mediante accionadores y accionadores de salida

  • M: Marcar el área de memoria

<prefijo de tamaño>

Opcional

  • Sin prefijo de tamaño: bit

    Un solo bit

  • X: Bit

    Un solo bit

  • B: Byte

    Ancho de datos de 8 bits

  • W: Palabra

    Ancho de datos de 16 bits

  • D: Espada

    Ancho de datos de 32 bits

<posición de memoria>

<número de posición > . <número de posición del bit>

Ejemplo: %IB2.4 representa el quinto bit del tercer byte

<número de posición>

Necesario

La numeración depende del sistema de destino y comienza en 0.

. <número de posición del bit>

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.

ejemplo 202. Ejemplos

%QX7.5

%Q7.5

Dirección de bit único del bit de salida 7.5

%IW215

Dirección de palabra de la palabra de entrada 215

%QB7

Dirección de byte del byte de salida 7

%MD48

Dirección de una palabra doble en la posición de memoria 48 en la memoria de banderas

%IW2.5.7.1

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 xActuator afecta el rango de QX0.0 a QX0.7.

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

_cds_img_memorycells.png

n = número de bytes

ejemplo 203. Ejemplo de áreas de memoria superpuestas para el direccionamiento 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.