FIFO

Top 

En un FIFO (First In First Out, o primero en entrar y primero en salir) el valor del acumulador es puesto en un registro de desplazamiento al mismo tiempo que el acumulador recibe el dato más antiguo  del mismo:

 

    FIFO ini, fin

 

o también
 
     FIFO ini, cnt

   

ini: 1º variable del registro de desplazamiento.

fin: Última variable (más antigua) o constante (cnt) con la cantidad de variables del registro de desplazamiento.

fifo_simple.png

Al ejecutar el Acc es introducido al registro de desplazamiento empujando todo su contenido. Entonces, el mas antiguo (fin) sale del registro y entra en Acc.

   

Solo para variables tipo entero (16bit).

 

    Ejemplo de uso aquí.

 

Con tres argumentos

  

A partir del CP121 2.70, CP122 2.20, CP123 2.30, CP125 1.10, CP127 1.00, CP128 1.00, CP220 1.00 varias instrucciones de dos argumentos son reemplazadas por tres argumentos. El comportamiento de cada uno resulta en la siguiente forma:

 

FIFO arg1, arg2, arg3               equivale a                 arg1 = dato a arg2 y dato de arg3

 

Los argumentos (arg 1, 2 y 3) pueden ser de 16bit o 32bit (Ver tipo de dato), sin mezclarse.
arg1: variable con el dato a ingresar al FIFO y que recibe la salida de éste.

arg2: primer variable del registro de desplazamiento

arg3: última variable del registro de desplazamiento o cantidad de variables contiguas que conformas el registro de desplazamiento.
Si arg3 es una variable debe ser posterior a arg2.
La ejecución es condicional.

   

 fifo_desc.png 

  Al ejecutar el arg1 es introducido al registro de desplazamiento empujando todo su contenido. Entonces, el mas antiguo (arg3) sale del registro y entra en arg1.

En Ladder, por causa de la representación gráfica, el arg1 al final en vez de al principio. Esto ocurre con ADD, DIV, FAVG, FIFO, FILL, MOD, MUL, SCALE, STDVT y SUB.

STDVT
FAVG
FILL

Lista de instrucciones
Índice