FFL (carga FIFO)

La instrucción FFL carga datos de 8, 16, 32 o 64 bits en una matriz unidimensional creada por el usuario denominada pila de FIFO.
Detalles de la operación: La instrucción FFL cambia 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.
    • El contenido de Src se carga en la pila FIFO en la posición disponible y Posición se incrementa en uno si Posición es menor o igual que cero y menor que Longitud.
    • Completo se define como CIERTO si Longitud es igual a Posición. Completo es FALSO si Posición es menor o igual que cero y menor que Longitud.
    • 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 es FALSO si Posición es menor o igual que cero y menor que Longitud.
    • Las condiciones de error de FFL no se han verificado.
  • Cuando Execute cambia de CIERTO a CIERTO.
    • No se realiza ninguna operación de carga.
    • Vacío se establece como CIERTO si Posición es igual a cero.
    • Completo se define como FALSO si Posición es menor o igual que cero y menor que Longitud. Completo se define como CIERTO si Longitud es igual a Posición.
    • Las condiciones de error de FFL no se han verificado.
  • Cuando Execute cambia de FALSO a FALSO.
    • Los bits Error, Listo y ErrorID se establecen como FALSO.
    • Los bits Completo y Vacío conservan los valores del estado de ejecución anterior.
  • 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 es FALSO si Posición es menor o igual que cero y menor que Longitud.
    • Las condiciones de error de FFL no se han verificado.
    • Instrucción FFL - 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:
    • Sin matriz:
      • 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.
FFL
FFL
Parámetros de FFL
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 FFL.
  • FALSO: No se ha detectado un flanco ascendente.
Src
Entrada
ANY_ELEMENTARY
El operando Src es la dirección del valor utilizado para rellenar la posición actual disponible en la pila FIFO.
Tipos de datos elementales compatibles con Src: 
  • DWORD, REAL, TIME, DATE, LWORD, ULINT, LINT, LREAL, BOOL, SINT, USINT, BYTE, INT, UINT, WORD, DINT, UDINT.
  • La cadena no es compatible.
  • Se admiten variables y matrices unidimensionales como Array[1] o Array[Index].
FIFO
Entrada
ANY_ELEMENTARY
La dirección inicial de la pila. FIFO debe configurarse del mismo modo para 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.
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.
Full
Salida
BOOL
Indica si la pila FIFO está llena.
  • CIERTO: Si longitud es igual a posición.
  • FALSO: Si la posición es mayor o igual que cero y menor que la longitud.
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 FFL.
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 unidimensional 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 FFL
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 FFL

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