Direccionamiento Indirecto (Simatic) De Las Áreas De Memoria De La Cpu; Crear Un Puntero; Utilizar Un Puntero Para Acceder A Los Datos - Siemens SIMATIC S7-200 Manual De Sistema

Sistemas de automatización
Ocultar thumbs Ver también para SIMATIC S7-200:
Tabla de contenido

Publicidad

5.2
Direccionamiento indirecto (SIMATIC) de las áreas de memoria de la
CPU
El direccionamiento indirecto utiliza un puntero para acceder a los datos de la memoria. La
CPU S7-200 permite utilizar punteros para direccionar indirectamente las siguientes áreas
de memoria: I, Q, V, M, S, T (sólo el valor actual) y C (sólo el valor actual). Los valores ana-
lógicos o de bits individuales no se pueden direccionar de forma indirecta.

Crear un puntero

Para acceder indirectamente a una dirección en la memoria es preciso crear primero un
puntero que señale a esa dirección. Los punteros son valores de palabra doble que señalan
a otra dirección en la memoria. Como punteros sólo se pueden utilizar direcciones de la me-
morias V y L, o bien los acumuladores (AC1, AC2 y AC3). Para crear un puntero se debe
utilizar la operación Transferir palabra doble (MOVD) con objeto de transferir la dirección
indirecta a la del puntero. El operando de entrada de la operación debe ir precedido de un
carácter "&" para determinar que a la dirección indicada por el operando de salida (es decir,
el puntero) se debe transferir la dirección y no su contenido.
Ejemplo:

Utilizar un puntero para acceder a los datos

Introduciendo un asterisco (*) delante de un operando de una operación, se indica que el
operando es un puntero. En el ejemplo que muestra la figura 5-9, *AC1 significa que AC1 es
el puntero del valor de palabra indicado por la operación Transferir palabra (MOVW). En
este ejemplo, los valores almacenados en V200 y V201 se transfieren al acumulador AC0.
V199
1 2
V200
V201
3 4
V202
5 6
V203
7 8
V204
Figura 5-9
Utilizar un puntero para el direccionamiento indirecto
Sistema de automatización S7-200, Manual del sistema
C79000-G7078-C233-01
Memoria de la CPU: tipos de datos y direccionamiento
MOVD
&VB100, VD204
MOVD
&MB4, AC2
MOVD
&C4, L6
AC1
dirección de VW200
AC0
1234
Crea el puntero
MOVD &VW200, AC1
transfiriendo la dirección de
VB200 (dirección del byte
inicial de VW200) a AC1.
MOVW *AC1, AC0
Transfiere a AC0 el
valor de palabra al que
señala el puntero AC1.
5-13

Publicidad

Tabla de contenido
loading

Tabla de contenido