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

Parámetro | Tipo de parámetro | Tipo de datos | Descripción |
|---|---|---|---|
Execute | Entrada | BOOL | Habilitar bloque de instrucción.
|
Dest | Entrada | ANY_ELEMENTARY | Mantiene el valor ya existente en la pila FIFO. Tipos de datos elementales compatibles con Dest:
|
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.
|
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.
|
Full | Salida | BOOL | Indica si la pila FIFO está llena.
|
Empty | Salida | BOOL | Indica si la pila de FIFO está vacía.
|
Error | Salida | BOOL | Indica la existencia de una condición de error.
|
ErrorID | Salida | USINT | Un número único que identifica el error. Los errores se establecen en los códigos de estado FFU. |
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.
|
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 lógica de escalera FFU

Ejemplo de texto estructurado FFU

Resultados

Entregue su opinión