Direccionamiento Indirecto Rslogix500
El direccionamiento indirecto es muy utilizado para registrar uno o varios datos de forma sencilla; también lo podemos utilizar para las recetas, o lo que se nos ocurra.
Para ello vamos a utilizar la instrucción COP Pag.226 FLL Pag.228, Y Indirect Addressing Pag.70: http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1766-rm001_-en-p.pdf
En este ejemplo acumulamos un valor cada vez que pulsemos un botón.
Cada vez que pulsemos acumular se copiara el valor que esté en N7:5 al canal de acumulación que será N113[N7:6].
Con los corchetes se consigue el [Indirect Addressing] así que el valor que tenga el puntero N7:6 será el canal donde se copiará el acumulado. Por ello cada vez que pulsamos acumular sumamos un uno para que vaya saltando de canal en canal.
Si en vez de un solo valor queremos copiar más (Máximo 128) nos lo copiara cambiando la longitud a la deseada, se nos copiara desde N7:5 hasta la longitud que hayamos puesto, en la suma hay que sumar el valor que le pongamos a la longitud.
Para borrar los valores ponemos un botón que se llame Reset y movemos un 0 a N7:6 que es el puntero, por seguridad movemos un 0 a N7:7 que es el canal que yo he utilizado para poder borrar los valores de N113 ya que en la instrucción FLL no admite constantes, como la instrucción solo admite 128 canales lo hacemos en dos veces.