Está en la página 1de 3

En STEP 7 (TIA Portal)

¿Cómo se puede realizar un direccionamiento indirecto en un programa SCL?

Descripción En SCL se tienen dos maneras de direccionamiento indirecto para trabajar


con un controlador SIMATIC S7-300/400: Direccionamiento indirecto de variables
Direccionamiento indirecto de bloques de datos.

Descripción
En SCL se tienen dos maneras de direccionamiento indirecto para trabajar con un
controlador SIMATIC S7-300/400:

 Direccionamiento indirecto de variables


 Direccionamiento indirecto de bloques de datos

El direccionamiento indirecto de variables es como el direccionamiento absoluto. En


vez de la dirección, se especifica un desfase (offset) en paréntesis. En el
direccionamiento indirecto de bloques de datos se puede usar la función de conversión
"WORD_TO_BLOCK_DB".

En la siguiente figura se muestra un ejemplo de cómo acceder a una zona de memoria


de un bloque de datos en el S7-300/400 usando un direccionamiento indirecto.

Fig. 01

Con el fin de acceder a marcas, entradas y salidas en el S7-300/400 usando el


direccionamiento indirecto se necesitan las instrucciones %MX(), %MB(), %MW(),
%EX(), %EB(), %EW(), %AX(), %AB() y %AW(). En este caso es obligatorio
introducir el prefijo del símbolo de porcentaje. La figura 2 muestra algunos ejemplos.
Fig. 02

En el caso de un controlador SIMATIC S7-1200/1500 se dispone de las instrucciones


dadas en la tabla 1 para realizar un direccionamiento indirecto.

Instrucciones Descripción
POKE Escribir dirección de memoria
POKE_BOOL Escribir bit de memoria
PEEK Leer dirección de memoria
PEEK_BOOL Leer bit de memoria
POKE_BLK Escribir zona de memoria
Tabla 01

En este caso se pueden usar las instruccions PEEK y POKE para acceder a una zona de
memoria en un bloque de datos. Esto se muestra en la figura 3.

Fig. 03

Nota
No se pueden usar las instrucciones PEEK y POKE en el S7-300/400. Se dispone de
más información sobre el direccionamiento indirecto y las instrucciones usadas en la
ayuda en línea de STEP 7 (TIA Portal).
La figura 4 más abajo muestra un ejemplo de direccionamiento indirecto con la
instrucción "POKE_BLK" en un S7-1200/S7-1500. La zona de memoria de un DB
fuente (variable "DB_Number_SRC") se copia en la zona de memoria de un DB de
destino (variable "DB_Number_DES").

Fig. 04

Se dispone de más información sobre las instrucciones en la tabla 1 en la ayuda en línea


de STEP 7 (TIA Portal).

Entorno de creación
Las pantallas contenidas en este FAQ se han creado con STEP 7 (TIA Portal) V13.

También podría gustarte