FFU (descarga FIFO)

La instrucción FFU descarga datos de 8, 16, 32 o 64 bits de una matriz unidimensional creada por el usuario denominada pila de FIFO (primero en entrar, primero en salir, first in first out) en el mismo orden en el que se cargaron los datos mediante la instrucción FFL.
Detalles de la operación:
  • Instrucción FFU - De modo de no ejecución a modo de ejecución:
    • Si Execute cambia de FALSO a CIERTO.
      • Se han verificado las condiciones de error FFU.
      • Descarga el contenido de la pila FIFO en la posición cero si Posición es mayor que cero y menor o igual a Longitud.
      • Los elementos restantes se desplazan una posición hacia cero y se establece el elemento superior de la pila FIFO en cero, Posición disminuye en uno.
      • El bit Vacío se define como CIERTO si Posición es igual a cero.
      • Listo se establece si la instrucción se ejecuta correctamente.
    • Cuando Execute cambia de CIERTO a FALSO.
      • Error, Listo y ErrorID se establecen como FALSO.
      • Vacío se establece como CIERTO si Posición es igual a cero.
      • Completo se define como CIERTO si Longitud es igual a Posición. Completo se define como FALSO si Posición es menor o igual que cero y menor que Longitud.
      • Las condiciones de error de FFU no se han verificado.
    • Cuando Execute cambia de CIERTO a CIERTO.
      • No se realiza ninguna operación de descarga.
      • Vacío se establece como CIERTO si Posición es igual a cero.
      • Completo se define como CIERTO si Longitud es igual a Posición.
      • Las condiciones de error de FFU no se han verificado.
    • Cuando Execute cambia de FALSO a FALSO.
      • Error, Listo y ErrorID se establecen como FALSO.
      • Vacío se establece como CIERTO si Posición es igual a cero.
      • Completo se define como CIERTO si Longitud es igual a Posición. Completo se define como FALSO si Posición es menor o igual que cero y menor que Longitud.
      • Las condiciones de error de FLU no se han verificado.
  • Instrucción FFU - De modo de ejecución a modo de no ejecución:
    • Error, ErrorID, Listo, Vacío y Completo conservan el estado de modo de Execute.
  • Para crear un elemento único para el parámetro FIFO:
    • No matricial:
      • La dirección basada en matriz como Fifo1 está permitida para FIFO.
      • La longitud debe configurarse como 1.
    • Matriz unidimensional:
      • La dirección basada en matriz como Fifo1 o Fifo1[0] está permitida para FIFO.
      • La longitud debe configurarse como 1.
Idiomas compatibles: Diagrama de bloque de funciones, diagrama de lógica de escalera y texto estructurado.
Esta instrucción se aplica a los controladores L20E, L50E y L70E.
FFU
FFU
Parámetros de FFU
Parámetro
Tipo de parámetro
Tipo de datos
Descripción
Execute
Entrada
BOOL
Habilitar bloque de instrucción.
  • CIERTO: Si se ha detectado un flanco ascendente inicia la operación FFU.
  • FALSO: No se ha detectado un flanco ascendente.
Dest
Entrada
ANY_ELEMENTARY
Mantiene el valor ya existente en la pila FIFO.
Tipos de datos elementales compatibles con Dest:
  • DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • La cadena no es compatible.
  • Solo admite matrices unidimensionales como Array[1] o Array[Index].
DestOffset
Entrada
UINT
Offset de elemento de destino.
El offset de elemento si el destino es un tipo de datos de matriz unidimensional, de lo contrario el offset debe establecerse en 0.
Para el tipo de datos de matriz, para descargar al primer elemento, el offset debe establecerse como 0.
FIFO
Entrada
ANY_ELEMENTARY
La dirección inicial de la pila. FIFO debe configurarse del mismo modo en las instrucciones FFL y FFU.
  • Tipos de datos elementales compatibles con FIFO:
    DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • La cadena no es compatible.
  • Solo la matriz unidimensional es compatible con FIFO.
FIFOCon
Entrada
FF_LF_CON
Control y configuración de FIFO. Debe configurarse la misma configuración para las instrucciones FFL y FFU.
Utilice el tipo de datos FF_LF_CON para configurar la posición y la longitud.
Done
Salida
BOOL
Indica cuándo se ha completado la operación de FFU.
  • CIERTO: Operación completada correctamente.
  • FALSO: La operación ha detectado una condición de error o la instrucción FFU no se está ejecutando.
Full
Salida
BOOL
Indica si la pila FIFO está llena.
  • CIERTO: Si longitud es igual a posición.
  • FALSO: Cuando posición es mayor que cero y menor que longitud.
Empty
Salida
BOOL
Indica si la pila de FIFO está vacía.
  • CIERTO: Cuando posición es igual a 0.
  • FALSO: Cuando posición no es igual a 0.
Error
Salida
BOOL
Indica la existencia de una condición de error.
  • CIERTO: La operación ha detectado un error.
  • FALSO: La operación se ha realizado correctamente o la instrucción no se ha ejecutado.
ErrorID
Salida
USINT
Un número único que identifica el error. Los errores se establecen en los códigos de estado FFU.
Tipo de datos FF_LF_CON
Parámetro
Tipo de datos
Descripción
Length
UINT
Número de elementos utilizado para la operación FIFO. El límite máximo es 1024.
Position
USINT
Determina la siguiente ubicación disponible en el FIFO para la entrada o eliminación de Src. Posición es el desplazamiento de la matriz.
  • Ejemplo 1:
    Matriz configurada por el usuario, arr [0..5]. La posición inicial se configura como 1. Los datos se insertan en arr [1] y la posición se incrementa por posición + 1.
  • Ejemplo 2:
    Matriz configurada unidimensional por el usuario como arr[1..5]. La posición inicial se configura como 1. Los datos se insertan en arr [2] y la posición se incrementa por posición + 1.
Códigos de error FFU
Código de error
Descripción del error
0
No hay error.
1
El tipo de datos FFL Src no es compatible.
2
El tipo de datos FFU Dest no es compatible.
3
El tipo de datos FIFO no es compatible.
4
Error de coincidencia de tipo de datos Src y Dest con tipo de datos FIFO.
Acción correctiva:
El parámetro FFL Src y el tipo de datos del parámetro de FFU Dest deben coincidir con el tipo de datos de matriz de FIFO.
5
FIFO: Dimensión de la matriz no compatible.
Acción correctiva:
FIFO solo admite matrices unidimensionales.
6
La longitud de control de FIFOCon supera el tamaño de matriz FIFO.
Acción correctiva:
La longitud de control de FIFOCon no puede superar el tamaño de matriz FIFO.
7
La longitud de FIFOCon supera la longitud máxima.
8
La longitud de FIFOCon es cero.
9
La posición de FIFOCon supera la longitud de FIFOCon.
10
La longitud de control de FFL y la posición son iguales.
11
La posición de control de FFU es cero.
12
La dimensión de la matriz FFL o FFU no es compatible.
Acción correctiva:
FFL y FFU solo admiten matrices unidimensionales.
13
DestOffset de FFL o FFU supera el tamaño de matriz Dest.

Ejemplos de FFU

Ejemplo de diagrama de bloque de funciones FFU
Ejemplo de diagrama de bloque de funciones FFU
Ejemplo de diagrama de lógica de escalera FFU
Ejemplo de diagrama de lógica de escalera FFU
Ejemplo de texto estructurado FFU
Ejemplo de texto estructurado FFU
Resultados
Resultados
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal