Curso SIMATIC S7 Nivel II - Instrumentacion y Control NET

Transcripción

Curso SIMATIC S7 Nivel II - Instrumentacion y Control NET
Curso SIMATIC S7 Nivel II
Direccionamiento indirecto
Abril 2003
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
1
Direccionamiento directo (I)
Zona de
memoria:
E
0
•E -> Entrada
•A -> Salida
•T -> Temporizador
•M -> Marca
•DB -> Módulo de datos
•P -> Acceso directo (PA, PE)
.0
Número de
bit (0 - 7)
Número de
byte (cada zona
tendrá su rango)
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
2
Direccionamiento directo (II)
Área Ejemplo Tipo de Acceso
Descripción
E
E 0.0
Bit, Byte, Palabra, Doble Palabra Imagen de Proceso Entradas
A
AB 4
Bit, Byte, Palabra, Doble Palabra Imagen de Proceso Salidas
PE
PEW 10
Byte, Palabra, Doble Palabra
Entradas de Periferia
PA
PAD 24
Byte, Palabra, Doble Palabra
Salidas de Periferia
M
M 100.0
Bit, Byte, Palabra, Doble Palabra Marcas
T
T15
-
Temporizadores
C
Z80
-
Contadores
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
3
Direccionamiento directo (III)
Dentro de cada byte, palabra o doble palabra, los bits se
numeran de derecha a izquierda, de 0 al 7.
Dir. byte: área de memoria + B + nº de byte
E 124.0
EB124
Dir. palabra: área de memoria + W + nº de su 1er byte
EW124 => EB124 EB125
Dir. doble palabra: área de memoria + D + nº de su 1er byte
MD0 => MB0 MB1 MB2 MB3
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
4
Direccionamiento directo (IV)
Direccionamiento directo
Es necesario especificar:
⌧Zona de memoria
⌧Tipo de acceso
⌧Posición de byte
⌧Posición de bit
U E 125.3
L E B 124
T M B 12
U T0
U Z3
UC FC1
CALL FC3
L DB2.DBW3
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
5
Direccionamiento indirecto
Se puede acceder de forma indirecta a las posiciones de memoria.
L
T
L
E
P#124.0
MD 50
W
L P#124.0 carga la dirección byte 124, bit 0 en formato de puntero.
OJO: es la dirección, no el contenido. No se ha indicado la zona de
memoria, que se especificará al utilizar la dirección.
[MD50]
Zona Tipo de Dirección
acceso
L 11
T MW 60
AUF DB[MW 60]
L E W 124
En el puntero se almacena la dirección de bit.
El tipo de acceso (bit, byte, palabra y doble
palabra) y a que zona de memoria se refiere, se
especifican en la instrucción.
AUF DB 11
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
6
Direccionamiento Indirecto
Direccionamiento indirecto con marcas
MW o palabra de DB
⌧Se pueden utilizar con llamadas a módulos o para direccionar
contadores, temporizadores, FC’s, FB’s y DBs. En la marca
almacenamos el número del contador, temporizador o DB.
L8
T MW10
U Z [MW10]
// Carga un 8 en ACU1
// Lo transfiere a la palabra de marcas 10
// Equivale a U Z 8: comprueba el contador 8
MD o doble palabra de DB
⌧Se pueden utilizar para el resto de direccionamientos. El valor del
puntero deberá de ser introducido como constante de puntero en
una doble palabra.
L P#124.0
T MD50
L EW[MD50]
---
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
L EW124
7
Direccionamiento indirecto
Registros de direcciones (AR1 y AR2)
Registros de 32 bits utilizados para direccionamiento indirecto
Contiene la dirección interna de memoria para realizar los direccionamientos.
Cuando hacemos p#E124.0, se genera un puntero, que tiene la siguiente forma:
Configuración:
31
10000 RRR
Código:
23
00000 BBB
15
BBBBBBBB
7
0
BBBBBXXX
Bit 31=1 El registro contiene una dirección y la zona de memoria .
Bit 31=0 El registro contiene una dirección y no la zona de memoria .
Zonas de memoria (si está disponible):
RRR
Identificador:
000
Periferia
001
Entradas (PAE)
010
Salidas (PAA)
011
Marcas
100
Datos en DB 1 (DB)
101
Datos en DB 2 (DI)
110
Datos locales del módulo (variables de un FC)
Rango de direcciones:
B...B
Dirección Byte
XXX
Dirección Bit
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
8
Direccionamiento indirecto
• La carga del registro se realiza con las instrucciones LAR1 y LAR2.
• Las instrucciones TAR1 y TAR2 se utilizan para ver el contenido de
los registros de direcciones.
• El formato puntero P# hace posible el introducir la dirección de
memoria en el registro de direcciones (byte/bit).
Ejemplo:
LAR1 P# E 100.0
El registro 1 contiene la dirección de la entrada 100.0 .
Carga del registro de direcciones
L P#125.0 - 0000 0000 0000 0011 1110 1000
LAR1
L P#E125.0 - 1000 0001 0000 0011 1110 1000
LAR1
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
}
}
LAR1 P#125.0
LAR1 P#E125.0
9
Direccionamiento Indirecto
•Una vez almacenado el puntero con LAR1, podemos
utilizarlo con una instrucción indirecta.
•En la instrucción indirecta hay que especificar una zona
de acceso (E, A, M, T, C, etc..), un tipo de acceso (byte,
palabra, etc.) y un desfase.
LAR1 P#10.0
// Preselección
L M
[AR1,
W
10
+ 200
P#200.0]
L MW 210
Tipo
Dato
Tipo
Registro Constante de
Acceso Dirección Desfase
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
Instrucción
Ejecutada
10
Direccionamiento Indirecto
También es posible utilizar el direccionamiento indirecto
para direccionar bits.
Ejemplo:
LAR1 P#E 100.0
U [AR1, P#110.5] // Se quiere acceder no a la entrada 100.0
:
// si no a la 100.0+110.5 =210.5
:
:
“U E 210.5”
// Equivale a esta instrucción
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
11
Direccionamiento Indirecto
Otras funciones
LAR1
LAR1 P#valor
LAR2
LAR2 P#valor
LAR1 AR2
TAR1
TAR1 MD20
TAR
+AR1
+AR2
+AR1 P#valor
AR2 --> AR1
AR1 --> ACU1
AR1 --> MD20
Intercambia AR1 y AR2
AR1 + ACU1 --> AR1
AR1 + valor --> AR1
En estas funciones, cuando se utiliza una marca, ésta debe ser de
32 bits, porque el AR1 y AR2 lo son.
Los valores que se introducen o suman a AR1 y AR2 deben ser
punteros.
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
12
Ejercicio 1
Realice un programa que active el bit de
la palabra de salida AW124 que indique
el valor que haya en el EB124. Para
valores no válidos se apagarán todos los
bits de salida. (Realice el ejercicio
primero con saltos y posteriormente
utilizando direccionamiento indirecto)
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
13
Ejercicio 2
Realice un programa que lea de un DB su
contenido a través de dir. Indirecto. Para ello
suponga que en dicho DB se registra el
contenido de una tabla y que se desea
acceder a cualquier posición de esa tabla
mediante EB124, y que en AB124 se
representa el contenido de dicha tabla.
SIMATIC S7 NIVEL II
Dir_indirecto.ppt
14

Documentos relacionados