Tareas

Solo disponible en BuenasTareas
  • Páginas : 2 (392 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de junio de 2011
Leer documento completo
Vista previa del texto
Direccionamiento Indirecto. Registro de una pila de datos mediante un puntero
Introducción:
En este ejemplo se muestra como realizar un direccionamiento indirecto para registrar datos en una pila.En este caso simularemos que registramos el peso de unos paquetes que van pasando por una cinta.

Funcionamiento
Este es el diagrama de funcionamiento:
- Pila de registro: 50 Canales D1 ... D50- Puntero: D0
- Bit de reset: W0.0 - Canal fuente del peso a registrar: W200
- Bit de registro (Fotocélula Ft1): 0.0

Los paquetes vienen de uno en uno por unas cintas, la cinta intermedia tieneun sistema de pesaje dinámico, cada vez que una paquete pasa por encima es detectado por la fotocélula Ft1 y es pesad0. En este ejemplo no se profundiza en cómo funciona el sistema de pesaje ni comose comunica con el PLC, damos por hecho que el valor del peso de cada paquete que pasa lo tenemos en el área de memoria W200 del PLC.

Cada paquete que pasa se irá registrando su peso eintroduciéndolo en nuestra tabla de registro. Supongamos que nuestra tabla de registro es para 50 paquetes, entonces elregistro será de D0001 a D0050.

Programación:
Para realizar el direccionamiento indirectoutilizaremos la instrucción MOV (Mover) pero con el indicador *. Es decir cada vez que detectemos una botella con la fotocélula Ft1 movemos el valor de W0200 (peso de paquete) a la posición que nosdiga el puntero D0 dentro de nuestro registro e incrementaremos el puntero.
Si en el punero tenemos el valor D0=2 al ejecutar la instrucción MOV moveremos el valor de W200 a D2 e incrementamos elpuntero a D0=3 por lo que al volver a ejecutar la instrucción MOV moveremos el valor de W200 a D3.


Además se introduce en el programa un bit de reset que hace las siguientes funciones:
- Pone elvalor de puntero a 1 listo para que el primer registro lo haga en D1
- Borra los valores registrados en nuestro registro poniendo a cero el valor de los canales de D1 a D50 utilizando la instrucción...
tracking img